THINGS TO DO:
WHEN RUNNING THE PATCH COMMAND ON cccp*.c, EXAMINE THE RESULT VERY CAREFULLY!
In some cases, only one section of #if ... #else ... #endif may be patched,
even when both sections need to be patched. Other anomalies may also occur.
At present, cccp*.c is based on the one from gcc 2.6.0, 2.6.1, or 2.6.3, since
it is not trivial to update to the one from gcc 2.7.x or later.
cccp-{mach,pdo}.c should disappear.
cccp-winnt.c should also disappear, but the diffs between it and cccp.c need to
be examined more carefully before getting rid of the former. (Are these diffs
due to FSF's changes, maybe stemming from an old version of cccp.c, or did we
make these changes, or was it Convergent ... ?)
The hack in gcc.c that allows -arch ppc to work should be removed once the
NXGetArchInfoFromName() function is fixed.
All the special code to handle -dynamiclib-related options should be ripped
out, along with processing related to the %J addition to the specs syntax,
since there's no need to special case all this stuff - ordinary switch
handling is sufficient.
This project should not build old-style (static) shlib versions of libgcc.a,
since they now come from the old_libgcc project.
In libgcc2.c, perhaps there is a less kludgy way of making sure __DTOR_LIST__
gets initialized properly in the Windows NT compiler.
We should revisit whether global destructors can be executed from
do_global_dtors, since this would reduce the maintenance burden when moving to
a new version of gcc.
In Makefile.cc, OLDCC should NOT be gcc.
Need to merge Makefile.pdo and Makefile.cc with top-level Makefile.
When the compiler is built, it ought to always be bootstrapped if the build
host, host, and target are all identical. Furthermore, the result ought to be
compared to verify that the compiler is actually bootstrapped.
The differences between objc-act.c and obcp/obcp-act.c need to be understood;
these two files should be merged together.
The machine description file for m68k (config/m68k/m68k.md) in cc-741.2 (and
earlier) has some similarities to the ones from gcc 2.7.0 (or is it gcc
2.5.8?) and earlier. We need to understand why there are significant
differences between our machine description file and the ones in gcc 2.7.1 and
later 2.7.x versions. (Bootstrapping on an m68k machine seems to be
problematic if the differences are reduced.)
-ObjC and -ObjC++ should be synonyms of -x objective-c and -x objective-c++,
respectively.
The names of the flags -fobjc and -Wnoformat should be changed back to their
original FSF names of -lang-objc and -Wno-format, respectively. There does
not appear to be any reason to diverge from FSF in this area. It is not
clear why the divergence occurred (in cc-408 and cc-414, respectively).
Gperf should be invoked to create the hash.h files. (Of course, this cannot
happen until gperf becomes a standard local utility.)
Winnt-pdo.h should not be part of this project.
In cc-711, it shouldn't be necessary to list ld as an extra program or libgcc.a
as an extra part for PDO on Sun (Solaris and SunOS) (cf. cc-709).
In ginclude/stdarg.h, there should be a better way to make sure va_list is
defined correctly for PDO, ditto for va_arg. We may not need to define
ENDIAN'ness for any PDO platform. We need to understand why we can't simply
use FSF's version of these files.
We should change uses of the macro NEXT_SEMANTICS to APPLE_RHAPSODY whenever
the code is target specific, as opposed to host specific.
The macro __GNU_CPP__ should never be predefined - it was never defined in all
cases in which it should have, and now that __NEXT_CPP__ is built in to
cpp-precomp, that macro can be checked instead of __GNU_CPP__.
The compiler crashes when trying to generate trampolines.
NOTES:
cpp should NOT be installed in an architecture independent directory, since it
has built in predefined macros, such as __PTRDIFF_TYPE__, that may be
processor dependent.
cc-792 (submitted on 9/14/99 to Beaker2N and Flask2N):
(gcc.c) Fixed typo introduced in cc-791.6 in the fix for Radar bug 2367569.
(cccp.c) Convert CR's and CR/LF pairs to line feed; this fixes Radar bug
2308137:
Compiler can't read files with mac returns
cc-791.7 (submitted on 9/1/99 to Beaker2L and Flask2L):
(obcp/obcp-act.c) Incorporate the same ugly hack that was introduced in
objc-act.c for cc-791.
(next/nextstep.h) When building for Flask, search the same directories that
would be searched in Mac OS X Server as well as Mac OS X; also, avoid spurious
warnings about unknown options.
(pa/next-pdo.h, sparc/next-pdo-sol2.h) Don't search for libpdo to avoid
requiring this library to always be located in a fixed place.
cc-791.6 (submitted on 8/27/99 to Beaker2L and Flask2L):
(gcc.c, next/nextstep.h) Always invoke libtool with the -arch_only and
-install_name flags; pass the -init switch on to ld; this fixes the following
Radar bugs:
2367569 - Need cc -dynamiclib to pass -init to libtool
2368426 - Small problems with cc -dynamiclib in its use of libtool
cc-791.5 (submitted on 8/22/99 to Beaker and Flask for a side world build):
(gcc.c) Base the default value of __GNUC_MINOR__ on 2.8.1-egcs, which is now
the default gcc version; this fixes Radar bug 2368467:
Preprocessor for C++ reports wrong compiler version
cc-791.4 (submitted to Beaker and Flask on 7/23/99):
(Makefile) Make a symbolic link in /usr/libexec/ pointing to
/usr/local/libexec//2.7.2.1, since this is where Mac OS X Server's mig
expects to find cpp.
cc-791.3.x were submitted to Hydra by the WebObjects team.
cc-791.3 (submitted to Beaker, Flask, Hydra, and Cow on 7/15/99):
(build_gcc) Don't install c++filt, since this is now provided by our egcs-based
compiler.
(Makefile.cc) Build libgcc.a with the -dynamic switch on HP-UX so it can be
incorporated into shared libraries.
cc-791.2.x were submitted to Hydra by the WebObjects team.
cc-791.2 (submitted to Hydra on 7/9/99):
(toplev.c) Ignore the -dynamic switch in our PDO compilers.
(collect2.c) Don't scan libraries on HP-UX, since the Objective C runtime now
takes care of this.
cc-791.1 (submitted to Beaker and Flask on 6/25/99):
(Makefile) Make a symlink pointing to the (old) Objective C++ compiler, so gcc
driver can find it, regardless of what version it defaults to.
(toplev.c, i386/next.h) Add the -foptimize-register-move and
-mschedule-prologue switches so the egcs specs file can be used when invoking
the (old) Objective C++ compiler.
cc-791 (submitted to Beaker, Flask, and Hydra on 6/16/99):
(Makefile) Install the compiler in /usr/local, but copy just the preprocessor
to /usr/libexec.
(Makefile.{cc,pdo}) Replace "mkdirs" with "mkdir -p".
(collect2.c) Incorporated Paul Haddad's fix for a Solaris bug (this fix hasn't
been examined very thoroughly).
(fixincludes) Don't change C++-style comments; also contains a couple tweaks
for HP-UX 11.
(gcc.c) Default to gcc version 2.8.1-egcs, rather than whatever version.c says;
prepend $NEXT_ROOT to the default framework search paths.
(objc-act.c) Incorporated ugly hack to make it possible to build shared
libraries on HP-UX.
(pa/next-pdo.h, sparc/next-pdo-sol2.h) Let the system prepend $NEXT_ROOT to the
default framework search paths, rather than assuming NEXT_ROOT is /opt/Apple.
(pa/next-pdo.h) Tweaks for HP-UX 11 and to allow our compiler to generate
shared libraries.
(winnt/ld.c) Incorporated Kevin Enderby's fix for Radar bug 2179522:
suggestion - ld.exe might be able to deal with spaces in paths
cc-787 through cc-790 were submitted to Zeus by the WebObjects team.
cc-786.6 (submitted to Beaker, Flask, Midas, and Zeus on 3/31/99):
(build_gcc) Treat Beaker builds as cross builds, rather than as native builds.
(cp/{decl2.c,lang-options.h}) Accept (but ignore) the -fsquangle switch.
(rs6000/apple.h) Pass the -fsquangle switch to the C++ compiler by default.
cc-786.5 (submitted to Beaker, Midas, and Zeus on 3/29/99):
(Makefile) Move the i386 and Objective C++ compilers to /usr/local/libexec,
since we don't want to actually ship these to customers.
(rs6000/apple.h) Remove the work around introduced in cc-786.2, since it wasn't
actually effective, and we've found the real fix for this bug.
cc-786.4 (submitted to Beaker, Yum, Midas, and Zeus on 3/17/99):
(cp/lang-options.h) Add -fexceptions and -fno-exceptions to the list of
switches.
cc-786.3 (submitted to Beaker, Yum, Midas, and Zeus on 3/17/99):
(cp/decl2.c) Make -fexceptions a synonym for -fhandle-exceptions, since our
egcs-based compiler complains about the latter.
cc-786.2 (submitted to Beaker, Midas, and Zeus on 3/15/99):
(rs6000/apple.h) Add a work around for a code gen bug in our egcs-based
compiler involving floating-point fields; this bug doesn't show up when
compiling with -O2.
cc-786.1 (submitted to Beaker, Midas, and Zeus on 3/8/99):
(rs6000/apple.h, i386/next.h) Stop predefining the obsolete macros ppc, __ppc,
i386, __i386, and __ARCHITECTURE__.
cc-786 (submitted to Beaker, Midas, and Zeus on 3/5/99):
(Makefile) Don't install the Objective C and C++ compilers for PowerPC; install
libcc*.a in /usr/local/lib instead of /usr/lib; this allows for the egcs-based
compiler to coexist with this compiler.
(next/nextstep.h) Search for C++ header files in directories called c++ instead
of g++.
(next/x-next) Make a symbolic link to the make-support.c in the source root so
the #include'd make.h is the one just generated, and not the one from the
source root (which is for Windows NT/PDO).
cc-785 (not submitted):
NOTE: This is the last version that is designed to function as the only
compiler on the system.
(c-decl.c, c-typeck.c, cccp.c, gcc.c, libgcc2.c, obstack.h, next/nexstep.h)
Eliminate reliance on macros that are no longer predefined.
(next/nextstep.h) Don't search the PrivateHeaders hierarchy on Mac OS X, and
add another directory to search for C++ header files.
cc-784.2 (submitted to Midas and Zeus on 2/8/99):
(winnt/x-winnt, pa/t-nextpdo, sparc/t-sol2-nextpdo) Reverted these files to how
they were in cc-784, since mig is not available on PDO platforms; made the
preprocessor search $(srcdir)/config/next when compiling make-support.c,
since the latter was changed in cc-776.6 to not look in this directory.
(next/{make.h,makeUser.c}) Reinstated these files, which were removed in
cc-776.6, since mig is not available on PDO platforms.
cc-784.1 (submitted to Midas and Zeus on 1/29/99):
(next/x-next) Reinstate the code removed in cc-779, since it's needed when
building OPENSTEP compilers.
(winnt/x-winnt, pa/t-nextpdo, sparc/t-sol2-nextpdo) Make changes analogous to
those in cc-776.6.
cc-784 (submitted to BHX, Midas, and Zeus on 1/5/99):
NOTE: This version incorporates the changes introduced in cc-776.6 through
cc-776.11. It should build everywhere.
cc-783.1 (submitted to Hera1K on 12/17/98):
NOTE: This version incorporates the changes introduced in cc-776.5.
(ginclude/varargs.h) Check whether the macro __APPLE__ is defined if the macro
__NeXT__ is not defined; this fixes Radar bug 2292297:
cctools: Get rid of #if NeXT in public headers
cc-783 (submitted for an experimental world build on 11/3/98, and subsequently
to Burn and Hera):
(rs6000/apple.h, i386/next.h) Put back the predefined macro __ARCHITECTURE__,
since it is still being used.
(next/nextstep.h) Reinstate the code that was removed in cc-780 to search
PrivateHeaders by default, since some projects depend on this.
cc-782 (submitted to Burn on 10/27/98):
NOTE: This is the first version that incorporates the change introduced in
cc-780.1.
(gcc.c) Reenable some code that had been erroneously disabled; this fixes Radar
bug ???:
(toplev.c) Remove support for the -Wnoformat switch, since it's identical to
the -Wno-format switch.
(rs6000/apple.h, i386/next.h) Remove all the obsolete predefined macros that
were put back in cc-781.3, except for ppc and i386; appropriate switches
should be used when necessary.
(nextstep.h) Don't depend on the NeXT macro being defined as a nonzero integer.
cc-781.3 (submitted to Burn on 9/11/98):
(i386/next.h) Put back some obsolete predefined macros to minimize potential
disruption of builds.
cc-781.2 (submitted to Burn on 9/10/98):
(c-typeck.c) Same fix as for cc-781's cp/typeck2.c.
cc-781.1 (submitted to Burn on 9/8/98):
(libgcc2.c) Removed the need to predefine the NS_TARGET_MAJOR macro.
(rs6000/apple.h) Put back some obsolete predefined macros to minimize potential
disruption of builds.
cc-781 (submitted to Burn on 9/2/98):
(c-decl.c) Removed support for the -Wnoformat switch, which is not used
internally, and is equivalent to -Wno-format.
(gcc.c) Removed support for the -bsd switch, which simply turns on the
__STRICT_BSD__ macro.
(cp/typeck2.c) Tweaked fix for Radar bug 2256827:
C++ compiler does not support Pascal strings
cc-780.1 (submitted to Zeus on 9/22/98):
(pa/next-pdo.h) Don't link with -lpdocma, since this file no longer exists.
cc-780 (submitted to Zeus1V on 8/27/98):
(Makefile.cc) Undo the change introduced in cc-779, since symbolic links from
$NEXT_ROOT/usr/[local/]include to /usr/[local/]include would cause problems
if PDO were installed on /.
(c-gperf.h, c-lex.c, c-typeck.c) Minor changes to make them look more like the
official FSF versions.
(c-common.c, cp/{tree.h,decl.c,decl2.c,lex.c}) Incorporated fix for Radar bug
2256827:
C++ compiler does not support Pascal strings
(i386/next.h) Predefine the macro __i386__ instead of the macro i386.
(rs6000/apple.h) Predefine the macro __ppc__ instead of the macro ppc.
(next/nextstep.h) Removed support for the -bsd, -posix, -posixstrict, and
-rel3compat switches, as well as the code that was reinstated in cc-777.1 to
search PrivateHeaders by default.
(next/next-specs.h) Added support for the .cp file extension.
(pa/next-pdo.h, sparc/next-pdo-sol2.h) Prepended /opt/Apple to the default
framework paths.
cc-779 (submitted to Zeus1P on 7/31/98):
NOTE: This version incorporates the changes introduced in cc-776.2 through
cc-776.4.
(Makefile.cc) Make symbolic links from $NEXT_ROOT/usr/[local/]include to
/usr/[local/]include; this fixes Radar bug 2252676:
/usr/include not included?
(sparc/next-pdo-sol2.h, pa/next-pdo.h) Same change as cc-764.7 and cc-763; this
fixes Radar bug 2259589:
C++ compiler mangling problem on PDO/SOLARIS/HPUX
(next/x-next) Stop defining the NEXT_RELEASE_MAJOR and NEXT_RELEASE_MINOR
macros, since they are no longer needed.
cc-778 (submitted for an experimental world build on 6/19/98):
NOTE: This version incorporates the changes introduced in cc-776.1; this
reinstates NATURAL_ALIGNMENT as a predefined macro, which was mistakenly
removed in cc-777.
cc-777.2 (submitted for an experimental world build on 6/16/98):
(next/machopic.c) Incorporated Turlough O'Connor's fix for Radar bug 1680651
in response to some build failures, like libgpp and devkit, instead of the
experimental fix introduced in cc-777.
cc-777.1 (submitted for an experimental world build on 6/4/98):
(next/nextstep.h) Reinstated code to search PrivateHeaders by default; the
corresponding -I switches cannot be put into RC_CFLAGS because some projects
build with the -nostdinc switch, and it's too risky to stop searching
PrivateHeaders by default.
cc-777 (submitted for an experimental world build on 6/3/98):
NOTE: This version is missing the changes introduced in cc-776.x.
(cp/decl2.c) Removed work around introduced in cc-756.1 for Radar bug 1680651.
(next/machopic.c) Incorporated experimental fix for Radar bug 1680651:
Intel: grep -v option Bus errors on Intel Rhapsody
(next/nextstep.h, rs6000/apple.h, i386/next.h) Removed some obsolete predefined
macros; this fixes Radar bug 2208381:
cpp pollutes namespace for #defines
(rs6000/apple.h) Set BRANCH_COST to 1; this improves performance and fixes
Radar bug 2218511:
inlined struct operations can result in code paths being optimized out
(rs6000/{apple.[ch],rs6000.{h,md}}) Incorporated fixes for the following Radar
bugs:
1664992 - compiler should use r13
1662795 - PowerPC compiler crashes when attempting to build libgcc with
-dynamic (fix is to make the PIC base register global, patch the .md file,
and turn on scheduling)
(not in Radar) - Compiler should use r31 as the PIC base register
(not in Radar) - No need to compute the PIC base when invoking Objective C
methods
cc-776.11 (submitted to Beaker on 12/24/98):
(Makefile) Pass TARGET_OS to build_gcc when doing fat builds of the compiler.
(build_gcc) Treat Beaker builds as native, rather than as cross builds; fixed
a few typos.
cc-776.10 (submitted to Beaker on 12/23/98):
(Makefile) Treat Beaker builds the same as Rhapsody (aka teflon) builds.
cc-776.9 (submitted to Beaker on 12/22/98):
(next/make-support.c) Added a missing macro definition related to the new Mach
API.
cc-776.8 (submitted to Beaker on 12/22/98):
(next/x-next) Pass the -DMACOSX switch to /usr/bin/mig when doing Beaker
builds.
(next/{make.defs,make-defs.h}) Reverted these files to how they were for
cc-776.5.
cc-776.7 (submitted to Beaker on 12/22/98):
(next/x-next) Invoke the /usr/bin/mig in $NEXT_ROOT, in case that's different
from the one installed on the system.
cc-776.6 (submitted to Beaker on 12/21/98):
(next/{make.h,makeUser.c}) Removed these files.
(next/x-next) Cause the files above to be generated on the fly in case the
interfaces generated by mig change (as they did for Beaker); set the
NEXT_RELEASE_MAJOR and NEXT_RELEASE_MINOR macros correctly, even when building
on Mac OS X Server.
(next/make-support.c) Reflect the fact that make.h is no longer in the config
directory.
(next/{make.defs,make-defs.h}) Removed the definition of the macro port_t from
the former file and put it in the latter file to ensure this macro will be in
effect in the files mig generates (i.e., make.h and makeUser.c).
cc-776.5 (submitted to Beaker on 12/14/98):
(Makefile) Define the MACOSX macro when doing builds for Mac OS X.
(next/{make-support.c,make.defs,make.h,makeUser.c}) Made changes related to the
new Mach API.
cc-776.4 (submitted to Atlas1O on 7/28/98):
(next/nextstep.h) Pass -F and -L flags to objcunique; this fixes Radar bug
2257931:
objcunique does not use the same libs as ld, libtool do
cc-776.3 (submitted to Midas1M on 7/10/98):
(c-decl.c, cp/decl.c) Account for the possibility of stdcall function having
names that are longer than normal; this completes the fix in cc-776.1 for
Radar bug 2169194, and fixes Radar bug 2252439:
Windows: crash due to memory overrun for function declarations with __stdcall
cc-776.2 (submitted to Atlas1J on 6/20/98):
(rs6000/apple.h) Remove the fix for Radar bug 2244086 introduced in cc-776.1,
since cpp otherwise crashes when invoked from the command line (which the
mig command, among others, tries to do).
(next/nextstep.h) Incorporated a fix that is less clean for above Radar bug.
cc-776.1 (submitted to Atlas1J and Midas1J on 6/19/98):
(c-decl.c, cp/decl.c, configure) Mangle function names in the export list if
they are marked as stdcall; this fixes Radar bug 2169194:
NT: __declspec(dllexport) __stdcall doesn't work
(winnt/ld.c) Increased size of stack for NT executables from 1 MB to 4 MB; this
fixes Radar bug 1684729:
Windows: compiler crashes on NT -- stack overflow
(rs6000/apple.h) Refrain from predefining the NATURAL_ALIGNMENT macro when the
-malign-mac68k or -mno-align-power switch is used; this fixes Radar bug
2244086:
__NATURAL_ALIGNMENT__ macro predefined inappropriately
cc-776 (submitted to Atlas1G on 5/29/98):
(next/next-specs.h, next/nextstep.h) Added code to support passing through the
-precomp-trustfile switch to cpp-precomp; this fixes Radar bug 2239507:
cpp-precomp should not always stat files
cc-775.2 (submitted to Atlas1F on 5/26/98):
(rs6000/apple.h) Yet another minor hack, er tweak to fix for Radar bug 2235683:
Compiler causes PPC read-only reloc errors when compiling regex.c
cc-775.1 (submitted to Atlas1F on 5/25/98):
(rs6000/apple.c) Minor tweak to fix for Radar bug 2235683:
Compiler causes PPC read-only reloc errors when compiling regex.c
cc-775 (submitted to Atlas1F on 5/21/98):
(rs6000/apple.[ch]) Prevent invalid optimizations by uncommenting the
definition of the macro LEGITIMATE_PIC_OPERAND_P and implementing the function
symbolic_operand() to which this macro refers; this fixes Radar bug 2235683:
Compiler causes PPC read-only reloc errors when compiling regex.c
(rs6000/apple.h) Implemented new command line switches to change the default
alignment of structs within fields; this fixes Radar bug 2238411:
Need compiler option to change default alignment to mac68k
(next/machopic.c) Uncommented some code in machopic_operand_p() that determines
whether a given symbol reference has been PIC'ified.
(next/nextstep.c) Fixed erroneous implementation introduced in cc-752 of
pragmas related to alignment of fields within structs.
cc-774 (submitted to Midas and Vapor on 5/19/98):
(objc-act.c, obcp/obcp-act.c) Generalize the code that decides what entry point
to call into the Objective C messenger so it is now based on macros that gcc
already uses, such as STRUCT_VALUE and RETURN_IN_MEMORY; the effect is that
now the NT compiler uses two extra entry points, depending on whether a method
returns a struct, similarly to Rhapsody for PPC. This and the change below
fix Radar bug 2230900:
objc_msgSend crash if receiver is allocated above 0x80000000 (Win95)
(calls.c, function.c) Remove NT-specific code that was setting the high bit of
the first argument when calling the Objective C messenger, and then unsetting
it within the called method.
(c-decl.c) Incorporated fix for Radar bug 2209050:
A duplicate ivar in an Objective-C subclass causes cc1obj to die
cc-773.1 (submitted to Atlas1A on 4/17/98):
(explow.c) Add another special case to the hack (I mean, fix) for Radar bug
2227870:
Array references don't get PIC'ified on Intel
(integrate.c) Incorporated hack (I mean, partial fix) for Radar bug 2231232:
Array references don't get PIC'ified on Intel when inlining functions
(cp/g++.c, next/nextstep.h) Incorporated fix for Radar bug 2231231:
The c++ command tries to link with -lm
(pa/next-pdo.h, sparc/next-pdo-sol2.h) Search gcc-lib/`arch`/include in
addition to the gcc-version-specific include directory.
cc-773 (submitted to Atlas1A on 4/10/98):
NOTE: This version incorporates the changes introduced in cc-771.[345].
(build_gcc) Actually verify that the compiler bootstrapped successfully.
(Makefile) Use __arch__ macros instead of underscoreless macros in limits.h to
make it ISO C compatible. This fixes Radar bug 1682766:
some ansi headers won't compile '-ansi'
(gcc.c) Don't mention NeXT when displaying verbose output in the PDO compiler.
(explow.c) Incorporated fix for Radar bug 2227870:
Array references don't get PIC'ified on Intel
(cp/decl2.c) Correct the work around for Radar bug 1680651 that was introduced
in cc-756.1.
(next/nextstep.h) Incorporated fix for Radar bug 2225190:
Symbols after .zerofill directives get put in the wrong section
(sparc/next-pdo-sol2.h, pa/next-pdo.h) Incorporated fix for Radar bug 2225549
(which was fixed for Rhapsody in cc-768 and for Windows NT in cc-771.5):
C++ compiler on Pluto Creates Unresolved References
cc-772 (submitted to Vapor on 3/17/98):
NOTE: This version is missing the changes introduced in cc-771.3 through
cc-771.5.
(Makefile{,.{pdo,cc}}, PB.project, cccp.c, gcc.c, pa/next-pdo.h,
sparc/next-pdo-sol2.h) Changes related to new PDO directory structure
(/Developer, /Local, etc.) and avoiding dependence on symbolic links in /usr.
(cccp-pdo.c) Try removing this file, since it should no longer be needed.
cc-771.5 (submitted to Pluto1T on 4/3/98):
(i386/next-pdo.h) Incorporated fix for Radar bug 2225549 (which was fixed for
Rhapsody in cc-768):
C++ compiler on Pluto Creates Unresolved References
cc-771.4 (submitted to Titan1R on 3/23/98):
(next/nextstep.h) The command that invokes the compiler is cc, not gcc.
cc-771.3 (submitted to Titan1R on 3/20/98):
(final.c) Don't emit special labels when profiling, since we don't use them
for anything.
(i386/next.h) Add a comment about why we don't use the FUNCTION_PROFILER macro
to generate calls to mcount.
(i386/i386.c, next/machopic.c) Call the mcount stub rather than mcount
directly; this fixes Radar bug 2218745:
mcount references on intel are non-pic
cc-771.2 (submitted to Titan1Q and Pluto1Q on 3/13/98):
(build_gcc) Don't make gcc and g++ synonyms for cc and c++, respectively, since
users can easily create these synonyms on their own (for example by putting
links in /usr/local/bin), and since this reduces the perception that we intend
to support all the features that FSF's version of gcc provides; this is the
second attempt to fix Radar bug 2213219:
No c++
(next/nextstep.h, i386/next-pdo.h) Reinstate the cc-771 versions of these
files, since the build failures will be addressed by fixing the libg++
project.
cc-771.1 (submitted to Titan1P and Pluto1P on 3/9/98):
(next/nextstep.h, i386/next-pdo.h) Temporarily remove the C++-specific paths
in the lists of header file directories searched; these caused build
failures in devkit, WrapIt, et al.
cc-771 (submitted to Titan1P on 3/6/98):
NOTE: This version is missing the experimental changes introduced in cc-770.3.
(build_gcc) Install the g++ binary as c++, and make gcc and g++ synonyms for cc
and c++, respectively; this fixes Radar bug 2213219:
No c++
(next/nextstep.h) Add a C++-specific path in the list of directories searched
automatically for header files; this fixes Radar bug 2004746:
iostream.h path should be in the normal search path for headers
(cp/decl.c) Add a missing Objective C specific check that was causing the
Objective C++ compiler to crash when processing declarations of the form
"NSString foo=..." (no asterisk before foo); this fixes Radar bug 1664868:
ObjC++: type conversion error ==> internal compiler error 109
cc-770.3 (submitted to Titan on 3/4/98 for a test world build):
NOTE: This is the first version that enables instruction scheduling by
default when targetting the PowerPC.
(build_gcc) Don't put the compiler executables in a gcc version subdirectory
(rs6000/{apple,rs6000}.h) Enable instruction scheduling by default.
cc-770.2 (submitted to Titan1O on 3/2/98):
(build_gcc) Really finish fixing Radar bug 2203973:
/lib/`arch` should be /usr/libexec/cc/`arch`
cc-770.1 (submitted to Pluto1O on 2/27/98):
(i386/next-pdo.h) Clean up the list of directories cpp searches for header
files; this fixes Radar bug 2215231:
Windows NT preprocessor searches bogus directories for header files
cc-770 (submitted to Titan1O on 2/27/98):
(i386/next.h, rs6000/apple.h, next/{nextstep.h,x-next}) Add the predefined
macros __APPLE__ and __APPLE_CC__; this fixes Radar bug 2215251:
The Rhapsody compiler should predefine additional macros
cc-769.1 (submitted to Titan1N on 2/22/98):
(gcc.c) Finish fixing Radar bug 2203973:
/lib/`arch` should be /usr/libexec/cc/`arch`
cc-769 (submitted to Titan1N and Pluto1N on 2/20/98):
(i386/next-pdo.h) Search the PrivateHeaders subdirectories before the Headers
subdirectories; this fixes Radar bug 2214212:
header search order wrong on Windows
(build_gcc, gcc.c, next/nextstep.h) Install libcc*.a in /usr/lib, and the
binaries invoked by cc in /usr/libexec; this fixes Radar bug 2203973:
/lib/`arch` should be /usr/libexec/cc/`arch`
(objc-act.c, obcp/obcp-act.c) Put only the basename of the input file name in
the Objective C segment; this fixes Radar bug 2213335:
Full pathname in the Module of the Objective-C segment
cc-768.2 (submitted to Pluto1M on 2/10/98):
(Makefile) Copy compiler and bison sources to $NEXT_ROOT/Developer, rather than
$NEXT_ROOT/NextDeveloper.
cc-768.1 (submitted to Titan1L/M on 2/6/98):
(ginclude/stddef.h) #define _BSD_SIZE_T_DEFINED_ in order to avoid build
failures due to trying to typedef size_t multiple times in different system
header files.
cc-768 (submitted to Titan1K on 1/28/98):
(Makefile) Don't install gcc's stddef.h, since cpp-precomp is otherwise unable
to precompile some header files; this is part of the fix for Radar bug 2208748
Header changes needed for precomps
(cccp.c) Incorporated fix for Radar bug 2000454:
#pragma once generates lots of compiler warnings
(expr.c) Incorporated fix for Radar bug 1673811 (CCC'd months ago):
forward:: is broken with pointer arguments
(cp/{cp-tree.h,decl2.c,lex.c}) Incorporated fix for Radar bug 2200555:
-Wno-four-char-constants doesn't work on objc++
(cp/except.c) Incorporated fix for Radar bug 2200596 (has to do with references
to unresolved symbols in generated code; the symbols are in the System
framework for now):
Problem with C++ exceptions and dynamic frameworks and more...
(cp/typeck2.c) Incorporated fix for Radar bug 1677485:
Incorrect compiler message for bug reports
(i386/next.h, rs6000/apple.h) Incorporated fix for Radar bug 2202124 (note that
in the case of rs6000/apple.h, this fix now enables inlining while processing
C++ code when the -fhandle-exceptions switch is not used):
-arch i386 crashs [sic] C++ compiler
(rs6000/{apple,rs6000}.c) Incorporated fix for Radar bug 2207026:
Establishing the PIC base clobbers return address when profiling
(next/nextstep.h) Search /usr/include instead of the directory it points to;
this helps in the obscure case of having a -I/usr/include switch, and then
running into problems because the header files found through this path are no
longer considered system header files.
(next/float.h) Moved to the top level directory, since it is not used to build
the compiler, nor is it a by-product of building the compiler; also
incorporated Matt Watson's diffs for Radar bug 2208748:
Header changes needed for precomps
cc-767.2 (submitted to Titan1I on 1/14/98):
(Makefile) Modify the flags for the install command, since there is now a
different version of install.
(toplev.c) Removed work around and incorporated fix for Radar bug 1675416:
-Wall complains about unused inline functions
(next/nexstep.h) Incorporated fix for Radar bug 2205926:
Preprocessor should search /usr/local/include instead of /usr/include
(next/next-specs.h) Incorporated fix for Radar bug 1665568:
The __GNU_CPP__ macro is not always defined when it should be
(rs6000/apple.h) Don't do any inlining at all when compiling C++ code to avoid
exposing some compiler bugs.
cc-767.1 (submitted to Titan1H on 1/7/98):
NOTE: This version merges in the changes introduced in cc-764.7.
(build_gcc) Modify the flags for the install command, since there is now a
different version of install.
(rs6000/apple.h) Don't inline functions that are not marked with the inline
keyword when compiling with -O3 to avoid exposing some compiler bugs.
cc-767 (submitted to Titan8F2 on 12/14/97 for a test world build):
NOTE: This version merges the changes introduced in cc-764.3 through cc-764.6.
(next/machopic.c) Same change as for cc-766, but for a case that was missed;
avoid generating a new pseudo reg superfluosly, especially during and after
reload phase; minor formatting and cleaning.
(rs6000/apple.c) Minor formatting and cleaning.
cc-766 (submitted to Orange on 11/26/97 for a test world build):
(next/machopic.c) Add the upper half of a difference between two symbols
directly to the PIC base register, rather than putting this difference in a
register, and then adding it to the PIC base register. This reduces the
number of instructions required to access global data from three to two.
(rs6000/rs6000.md) Add new patterns to support the above, and bring over a
change from gcc 2.8 that performs a similar optimization for large integer
constants, as well as a fix for a bug affecting shifts that was partially
fixed in cc-753.
cc-765.2 (submitted to Orange on 11/22/97 for a test world build):
(rs6000/apple.h) Add one more name to the list of REGISTER_NAMES, since
FIRST_PSEUDO_REGISTER has now increased by one.
cc-765.1 (submitted to Titan on 11/20/97 for a test world build):
(next/nexstep.h) Fix accidental regression by bringing over fix incorporated
in cc-763.
(rs6000/apple.h) Make TRAMPOLINE_SIZE a constant to avoid causing an unresolved
symbol when linking with libgcc.
cc-765 (submitted to Titan on 10/29/97 for a test world build):
NOTE: This is the first version with the MkLinux back end.
(build_gcc) Don't try to extract members of a nonexistent libcc.a archive.
(cccp-pdo.c) Don't predefine the __GNU__ macro. (It's still mistakenly
predefined for other platforms.)
(next/nextstep.h) Replace backslash with double backslash to prevent gcc from
interpreting the succeeding | specially (backslashes are special characters
inside C string literals).
(expr.c, function.c varasm.c, rs6000/{apple.h,rs6000.{[ch],md}}) Merge in the
MkLinux back end.
cc-764.7 (submitted to Pluto 12/17/97)
(config/i386/next-pdo.h) Same as the config/next/nextstep.h fix (for
Radar #1673502) in cc-763. Of the 9 files that use INCLUDE_DEFAULTS,
this is the only other one that has a PrivateHeaders in it. That directory
is, I believe, the only directory around which cpp automatically wraps an
``extern "C"'' but which has C++ sources in it. The actual change here was
to change "...PrivateHeaders", 0 }," to "...PrivateHeaders", 0, 1 },", thus
setting the "cxx_aware" flag for that directory. Hard to see because this
file also had pathname-related changes in the same lines.
(build_gcc,Makefile,PB.project,cccp-winnt.c,cccp.c,gcc.c,
config/{ i386/next-pdo.h,next/nextstep.h,winnt/ld.c } )
Changes for new system directory pathname layout.
(Makefile) A Windows-NT build fix (mkdirs); also incorporated a fix for Radar
bug 2205924:
Compiler project should not copy bison source code
cc-764.6 (submitted to Titan1F on 12/3/97):
(build_gcc) Make the symbols in libcc.a private extern, and revert to putting
it in /lib instead of /usr/local/lib, since third party developers need it in
order to produce device drivers; this fixes the following Radar bugs:
2005909 - libcc.a should be installed in /lib instead of /usr/local/lib
2005913 - Symbols in libcc.a need to be private extern
cc-764.5 (submitted to Titan on 11/26/97):
(cccp.c, gcc.c) Add omitted framework path.
(next/nexstep.h) Fix accidental regression by bringing over fix incorporated
in cc-763.
cc-764.4 (submitted to Titan1E on 11/14/97):
(Makefile, cccp.c, gcc.c, next/nextstep.h, next/x-next) Changes related to new
directory structure (/System, /Local, etc.)
(build_gcc) Don't extract objects from archives that aren't built for Rhapsody
cc-764.3 (submitted to Titan on 10/22/97):
(Makefile, build_gcc, next/nextstep.h) Development tools that were in /bin are
now in /usr/bin; ld++ and cc++ are no longer installed on Rhapsody, since they
are not very useful.
(build_gcc) libcc.a is now installed in /usr/local/lib, since it is not very
useful to customers.
cc-764.2 (submitted to Titan on 10/15/97):
(Makefile, build_gcc) Use gnutar instead of tar, since a bug in tar on Rhapsody
for PPC prevents native builds.
(build_gcc) Don't build the dylib version of libgcc for Rhapsody.
cc-764.1 (submitted to Titan on 10/13/97):
(next/x-next) Fix a glitch that was preventing the build process from figuring
out for what version of the OS the build is being done.
cc-764 (submitted to Titan on 10/9/97):
(Makefile, build_gcc, cccp.c, i386/xm-next.h, next/{nextstep.h,x-next},
rs6000/xm-apple.h) Make the compiler project build natively under Rhapsody.
(cp/decl2.c) Disable optimization only if the host is i386.
cc-763.1 (Submitted under the table -- 9/19/97):
(cp/decl2.c) Extend the CC_OPT_OFF workaround for "the grep bug" (Radar bug
1680651) so that it will work for a Slick (4.2 to Rhapsody), intel to ppc
cross-compiler. Required so that RC could build libg++. Will not ship.
cc-763 (submitted to Slick and Grail on 9/17/97):
(config/next/nextstep.h) A better fix for Radar #1673502 -- comment
NO_IMPLICIT_EXTERN_C back out, since we still do have some header
files which need the extern "C"; and fix the initialization of the
INCLUDE_DEFAULTS flags for the system framework's PrivateHeaders
directory.
cc-762 (submitted to Slick, Grail, and YellowWin32 on 9/12/97):
(config/next/nextstep.h) Fix Radar #1673502 - Define NO_IMPLICIT_EXTERN_C
which had been commented out. It's defined on all other platforms; it
prevents the C++ compiler from assuming ``extern "C"'' for some
system header files.
cc-761 (submitted to Slick, Grail, and YellowWin32 on 9/3/97):
(config/rs6000/apple.c) Fix Radar #1677369 - rename oballoc_str to
permalloc_str, and change the oballoc calls to call permalloc instead.
cc-760.3 (submitted to YellowWin32 on 8/22/97):
(gcc.c) Add default values for the macros PTRDIFF_TYPE, SIZE_TYPE, and
WCHAR_TYPE.
cc-760.2 (submitted to Slick and Grail on 8/19/97):
(Makefile) Make limits.h #include , not ansi.h.
cc-760.1 (submitted to Slick and Grail on 8/18/97):
(Makefile) Make limits.h ISO C compliant.
(cp/except.c, next/machopic.c, rs6000/apple.h, {i386,sparc}/next.h) Invoke a
macro to reestablish the PIC base, rather than call a wrapper function.
This allows cross compilers to be built when the target doesn't have a
corresponding function, as when building a compiler that runs on a SPARC
and produces code for m68k.
cc-760 (submitted to Slick and Grail on 8/13/97):
(objc-act.c, obcp/obcp-act.c) Restore OPENSTEP 4.0's check for null pointer;
this fixes Radar bug 1668737:
ObjC internal error on C-array ref to unimplemented interface
(obcp/obcp-act.c) Move code from objc-act.c related to returning structs by
value on ppc to obcp/obcp-act.c; this fixes Radar bug 1672017:
Objective-C++ ppc struct return crashes
(cp/except.c) Reestablish PIC base at appropriate places during exception
handling; this fixes Radar bug 1667689:
Exception Handling code trashes PIC base register
(next/machopic.c, {i386,sparc}/next.c, rs6000/apple.c) Add wrapper function
reload_pic_register() and corresponding target-specific versions.
(rs6000/rs6000.c) In current_file_function_operand(), make
reload_ppc_pic_register() easier to write by allowing a function call target
to be a local label (LABEL_REF) as well as a SYMBOL_REF.
(rs6000/{rs6000.md,apple.h}) Work around 604e chip bug.
cc-759.1 (submitted to Slick and Grail on 8/6/97):
(next/nextstep.h) Change WCHAR_TYPE from short unsigned int to (32-bit) int,
since BSD 4.4 assumes this; this fixes Radar bug 1670083:
toupper and tolower are broken
cc-759 (submitted to Slick and Grail on 7/23/97):
(varasm.c, next/machopic.c, {pa,sparc}/next.c) Coalesce
machopic_validate_non_lazy_ptr() and machopic_validate_stub() into one
function; this fixes Radar bug 1667662:
Compiler makes reference to undefined symbols when addr. of member func. taken
(i386/next.c) Incorporated fix for Radar bug 1662135:
PIC base is sometimes allocated to a volatile register
(rs6000/{rs6000.md,apple.h}) Attempt to work around 604e chip bug; merge the
two definitions of the macro SUBTARGET_OVERRIDE_OPTIONS.
cc-758.1 (submitted to Slick and Grail on 7/14/97):
(rs6000/rs6000.md) Generate the addic mnemonic instead of ai, since the
assembler no longer accepts the ai mnemonic.
cc-758 (submitted to Slick and Grail on 6/26/97):
(gcc.c) Really fix Radar bug 1661225 by adding a special section called
builtin_predefines in the specs file.
(build_gcc, next/nextstep.h) Don't pass in the *_TYPE__ macro switches, since
these are now in the builtin_predefines section of the specs file; don't
define the __NEXT_CPP__ macro, since this is now built in to cpp-precomp,
and don't define the __GNU_CPP__ macro, since this is now defined in
next/next-specs.h.
(next/next-specs.h) Try to define the __GNU_CPP__ macro in all cases in which
cpp is invoked. (This misses the case where cpp-precomp is not found, and
cpp is invoked instead.)
(next/nextstep.c) Remove the register storage class for variable p, since the
address of p is taken at some point; this avoids a warning while building the
compiler.
(next/machopic.c) Don't look at DECL_NOT_REALLY_EXTERN, since it's not a
reliable indicator of whether code for a function will be emitted. This fixes
Radar bug 1661556.
(rs6000/apple.h) Remove the definition for the macro CC1PLUS_SPEC (introduced
in cc-757), now that Radar bug 1661556 is fixed.
(rs6000/apple.c) Don't return the address of a local automatic variable, and
avoid overrunning the buffer. This fixes Radar bug 1665577.
cc-757.1 (submitted to Slick and Grail on 6/20/97):
(next/rs6000.c) Be sure to save and restore the register that is being used to
hold the PIC base on function entry and exit.
(next/apple.c) Don't use -msoft-float when compiling C++ programs, since DevKit
makes use of the floating-point unit.
cc-757 (submitted to Slick and Grail on 6/18/97):
(next/machopic.c) Incorporated Landauer's fix for Radar bug 1661963, which has
to do with failure to generate code for C++ member functions.
(next/nextstep.h) Rest of fix for Radar bug 1661225, which has to do with the
need for switches used when cpp-precomp is invoked corresponding to cpp's
predefined macros to be consistent with each other.
(rs6000/apple.h) Work around Radar bug 1661556, which affects only C++ code.
(rs6000/{apple.[ch],rs6000.md}) Implement the capability of calling functions
by name in a program compiled with -static and -mlong-branch, regardless of
where those functions are in (virtual) memory.
cc-756.1 (submitted to Grail on 6/16/97):
(build_gcc) Partially fix Radar bug 1661225 by separating words making up the
value for the *_TYPE__ macros with \ ; create the directory where the specs
files go before copying them there.
(cp/decl2.c) Work around a compiler crash when processing certain compiler
switches by not optimizing lang_decode_option() - see Radar bug 1661346.
cc-756 (submitted to Slick and Grail on 6/5/97):
(Makefile) Make limits.h #include the processor-specific version of limits.h;
create a dummy machine/ansi.h since ginclude/stddef.h now #include's it.
(build_gcc) Copy the builder's specs files when building a compiler for an OS
different from the one the builder is running.
(ginclude/stddef.h) Be sure to #include .
(next/nextstep.h) Make ptrdiff_t be int for all our Mach platforms, since this
seems to be what BSD-type systems tend to use; hard code values for the
__SIZE_TYPE__ et al macros for the benefit of cpp-precomp (THESE VALUES NEED
TO DEPEND ON THE CORRESPONDING *_TYPE MACROS! - fixed in cc-758).
(rs6000/apple.c, next/machopic.c) Call mcount instead of _mcount.
cc-755 (submitted to Slick and Grail on 5/27/97):
NOTE: This version merges the changes introduced in cc-753.1 and cc-754.
(Makefile) Export compiler-specific header files.
(build_gcc) Strip the libcc*.a created for the lib_ofiles makefile target.
(rs6000/apple.h) Turn on -fforce-mem whenever optimization is turned to work
around a bug in dynamic code gen.
(rs6000/apple.[ch], rs6000/rs6000.c, next/machopic.c) Implement profiling code
generation.
(next/float.h) New compiler-specific header file to be exported.
(next/x-next) Don't run fixproto.
cc-754 (submitted to Slick and Grail on 5/15/97):
NOTE: This is the first version to incorporate Roland Besserer's changes, which
supports dynamic code gen (using r30 as the PIC base register).
(Makefile) The build procedure for teflon is identical to that for nextstep.
(objc-act.c) Fix modern syntax bugs related to #pragma SELECTOR_ALIAS --
super.aliased_selector() was broken, and the #pragma's were ignored when
preceding any use of the selector.
(toplev.c) Remove the code introduced in cc-747 to disregard the -fpic flag,
since we now claim to support dynamic code gen.
(next/nextstep.h) Enable code related to modern Objective C syntax by default.
(rs6000/apple.h) Added the -fkeep-inline-functions to avoid crashing when
building AppKit.
(rs6000/{apple.h,rs6000.md}) Remove code introduced in cc-747 to flag uses of
r12. (Presumably, undesirable uses of r12, if any, would have been found by
now.)
cc-753.1 (submitted to Slick and Grail on 5/21/97):
NOTE: This version incorporates a few fixes from later versions.
(Makefile) The build procedure for teflon is identical to that for nextstep.
(rs6000/apple.h) Added the -fkeep-inline-functions to avoid crashing when
building AppKit.
(rs6000/rs6000.md) Change remaining occurrences of four operand rlwnm and
rlwinm instructions to the more common five operand version.
cc-753 (submitted to Slick and Grail on 5/7/97):
NOTE: This is the first version that builds in the Teflon environment; it can
be used to produce a native PowerPC compiler.
(Makefile) If the NEXT_ROOT environment variable is set, make gcc build as if
the builder is different from the host that actually has to run the resulting
compiler; never invoke the compiler with -dynamic, since this is the default
anyway, and it can't be overridden with -static.
(build_gcc) Added support for building a compiler that runs on a Rhapsody/
Overture system; put back the code for building a dylib version of libgcc,
since it's still required for building libsys.
(cccp.c) #include before #includ'ing "next/make-support.h"
(configure, config.sub) Make *-rhapsody synonymous with *-nextstep.
({i386,m68k,pa,sparc}/xm-next.h, rs6000/apple.h) #define HAVE_STRERROR, since
it's available in both OPENSTEP for Mach as well as Rhapsody/Overture, and
calling strerror() rather than accessing sys_errlist[] reduces the number of
warning messages when building gcc.
(i386/xm-next.h, rs6000/apple.h) #define bsd4_4 if the host is Rhapsody/
Overture, although this is probably superfluous (though correct).
(next/nextstep.h) Change the name of the macro STRINGIFY to STRINGIFY_THIS in
order to avoid a conflict with a macro with the same name in one of the BSD
header files.
(rs6000/rs6000.[ch]) Change the name of the macro ALIGN to RS6000_ALIGN in
order to avoid a conflict with a macro with the same name in one of the BSD
header files.
(rs6000/rs6000.md) Add a constraint to prevent the rlwimi instruction from
being erroneously used when doing the equivalent of a right shift in
combination with a bit field insertion.
(rs6000/apple.h) As a temporary work around for some bugs, always invoke the
compiler with the -fno-inline and -mno-string switches.
(sparc/next-pdo-sol2.h) Remove the definition of the macro CC1_SPEC, since it
is redundant - it is already defined in sparc/sparc.h.
cc-752 (submitted to Slick, Grail, and Yellow on 4/30/97):
(build_gcc) Build libcc.a in addition to libcc_dynamic.a for makefile target
lib_ofiles.
(configure) Revert to using pa/pa.c, since pa/next-pdo.c simply #includes the
former.
(pa/next-pdo.c) Removed - see above.
(next/nextstep.[ch]) Process pragmas that control whether fields within structs
should be aligned as they would be on a 68k Mac compiler.
(rs6000/apple.h) Put jump tables back in the .const section (cf. cc-747), now
that the assembler supports this.
cc-751 (finalized on 4/22/97):
NOTE: This version merges in the changes from cc-744.13.
(build_gcc) Don't build a dylib version of libgcc, since the old_libgcc project
provides this; don't build libgcc with -static when the target is ppc - the
ppc compiler knows to ignore the -dynamic switch if present.
(cccp{,-mach,-pdo,-winnt}.c) Fix the version that cpp reports on the screen,
but not the value of any predefined macros.
(c-common.c, c-decl.c, c-lex.c, c-tree.h, toplev.c, cp/decl.c, i386/next-pdo.h,
next/nextstep.h, pa/next-pdo.h, sparc/next-pdo-sol2.h) Incorporated Landauer's
changes for Pascal strings and four-character constants.
(c-parse.in, objc-act.[ch], objc-tree.def, toplev.c, cp/decl.c,
next/nextstep.[ch]) Incorporated Naroff's changes for "modern" Objective C
syntax.
(obcp/obcp-act.c) Incorporated fix for Tracker entry 78005:
Objective C++ compiler crashes when processing category implementations
(rs6000/apple.h) If a function returns a struct or union by value, always
return it in memory, regardless of how much storage space is required for the
return value.
(next/nextstep.h) When looking for header files, also search
PrivateHeaders/bsd in System.framework; remove support for linking programs
compiled with -static, since we don't ship the requisite libraries, and almost
no one should be doing this anyway.
cc-750 (submitted to Slick and Grail on 4/4/97):
(Makefile) Fix the mechanism for taking the list of targets from the TARGETS
environment variable; the old mechanism doesn't work with gnumake.
(build_gcc) Use gnumake on Mach.
(c-typeck.c) Incorporated Landauer's fix for Tracker entry 78216:
Compiler doesn't warn about potentially wrong assignments
(objc-act.c) Incorporated Landauer's implementation for dual entry points into
_objc_msgSend.
(rs6000/apple.h) Don't call any functions in order to save and restore
floating-point registers.
cc-749 (submitted to Slick and Grail on 4/1/97):
(Makefile) Allow compiler to build with gnumake; don't erase OBJROOT if the
compiler isn't being built by RC.
(build_gcc) Make the lib_ofiles target create a fat libcc_dynamic.a, and
nothing else.
(next/nextstep.h) Remove extraneous paths for Teflon preprocessor.
(next/x-next) Look for limits.h in two places.
(rs6000/apple.h) Don't use r13 for anything; always define the __STATIC__
macro; don't do anything fancy in the STRIP_NAME_ENCODING macro.
(rs6000/rs6000.md) Don't flag legitimate uses of register r12.
cc-748.1 (submitted to Slick on 3/26/97):
(Makefile) Copy PowerPC_Compiler.rtf to /usr/local/RelNotes.
(build_gcc) First build all cross compilers where the host is the same as the
build host. This gets around the bootstrap problem of needing a cross
compiler for a new target in order to build a C++ compiler for that target.
(cc.info) New file used to create a package containing the ppc compiler.
(rs6000/apple.h) Don't predefine the macro PPC; don't do anything fancy when
dumping labels to the assembly language file.
cc-748 (submitted to Slick on 3/22/97):
We should hopefully now be able to switch over from the old NRW compiler.
(Makefile) Include ppc in the default list of targets when RC is building as
part of the Grail train.
(build_gcc) Install the real cpp in /usr/local/lib for now, since some other
project installs a cpp in /lib.
(PowerPC_Compiler.rtf) New file with information on the ppc compiler.
(gcc.c) Remove a redundant path; replace a second redundant path with a more
useful one.
(cccp.c) Build the merged Mach/NT/PDO preprocessor when RC is building as part
of the Grail train.
(rs6000/apple.h) Put jump tables in the text section, and put relative
addresses in jump table entries.
cc-747 (submitted to Slick on 3/19/97):
This is the first fully functional compiler for the PowerPC.
(Makefile) In order to make the compiler easier to build using ~rc/bin/buildit,
take the list of targets from the TARGET environment variable, if that is
defined, and add OTHER_CFLAGS to CFLAGS.
(build_gcc) Always compile libgcc2.c with -static when the target is ppc, since
we don't yet support -dynamic code gen; only one copy of cc and c++filt are
needed per host (the same goes for cpp).
(toplev.c) Disregard the -fpic flag, since we don't yet support dynamic code
gen.
(rs6000/apple.h) Always eliminate references to the frame pointer; align the
stack on 16-byte boundaries.
(rs6000/{apple.h,rs6000.c}) Prevent the compiler from using r2, r12, and r13,
and have the assembler flag any uses of r2 and r13 for debugging purposes.
(rs6000/rs6000.{h,md}) Enable ELF's non-PIC scheme.
(rs6000/rs6000.md) Copy the link register into r12 before calling through a
pointer.
cc-746.1 (submitted to Bastion5R on 2/4/97):
(libgcc2.c, i386/{next-pdo,win-nt}.h) Split the .dtor section into three parts:
beginning (containing the symbol ___DTOR_LIST__), middle (pointers to actual
global destructors), and end (containing a null pointer); also, use the atexit
function to make sure global destructors get called. This fixes Tracker entry
77405:
C++ destructors not called on OpenStep for NT hosts
cc-746 (submitted to Boil5R on 2/4/97):
This version merges cc-744.12 with cc-745.
(Makefile.cc) Remove the hack introduced in cc-744.6; use the bison that was
just built.
(build_gcc, next/x-next) Correct the fix for Tracker entry 73121:
Predefined macros should be updated for 4.1
(crtstuff.c, libgcc2.c) Incorporated Manavendra Thakur's fix for Tracker entry
77218:
C++ destructors are not being called on PDO hosts on Solaris
(cccp-{mach,pdo}.c) Copy the files from cc-744.12, since only Rhapsody will use
the merged preprocessor.
(cccp-{winnt,pdo}.c,gcc.c) Go ahead and invoke cpp if cpp-precomp is not found,
even if the -precomp flag is specified; issue a warning instead of an error in
this case. This fixes Tracker bug 77069:
gcc -precomp reports "abnormal program termination" on NT
(configure) Add configuration information for our port to the PowerPC.
(rs6000/{apple.[ch],xm-apple.h}) New files.
(rs6000/rs6000.{c,md}) Make the output of the compiler more compatible with our
assembler.
(next/nextstep.h) #define WCHAR_TYPE_SIZE as simply 16, since it should be a
constant instead of depending on how many bits there are in a word.
cc-745 (submitted to Slick on 1/27/97):
(cccp.c) Merge the Mach, NT, and PDO preprocessors, and update to one based on
gcc 2.6.3's cccp.c. (Although this preprocessor should work fine on NT, use
the old NT preprocessor for now until the diffs between that one and this one
are examined more carefully.) On Mach (in addition to NT), change the search
paths for standard header files if the NEXT_ROOT environment variable is
defined.
(cccp-{mach,pdo}.c) Remove these files, since they are no longer needed.
cc-744.13 (submitted to 4.2mach on 4/11/97):
NOTE: The changes in this version have not been merged into later versions
until cc-751.
(cccp-mach.c) Report on the screen that the preprocessor is based on gcc 2.6.0.
(obcp/obcp-act.c) Incorporated fix for Tracker bug 78005:
Objective C++ compiler crashes when processing category implementations
cc-744.12 (submitted to 4.2mach on 2/12/97):
(next/nextstep.h) Define an empty body for do_global_dtors() to avoid
referencing __DTOR_LIST__, since static apps may be linked with -all_load.
cc-744.11 (submitted to 4.2mach and 4.2nt on 2/11/97):
(next/nextstep.h) -read_only_relocs takes one argument.
(i386/next-pdo.h, winnt/ld.c) Incorporated Kevin Enderby's fixes for the
following Tracker bugs:
64213 - New -image_base flag for "dynamiclib" invocations
75847 - Spurious? linker warnings on Windows
(winnt/spawnv.c) Incorporated Grant Baillie's fix for Tracker bug 76664:
gcc doesn't work on Win95
cc-744.10 (submitted to 4.2mach on 2/10/97):
(build_gcc) Make libcc.a and libcc_dynamic.a fat, and install in /lib instead
of in /lib/`arch`.
(next/nextstep.h) Don't spit out a list of default -L paths.
cc-744.9 (submitted to 4.2mach on 2/8/97):
(next/nextstep.h) Don't pass the -arch_only switch to libtool if no -arch or
-arch_only switches appeared on the command line.
cc-744.8 (submitted to 4.2mach on 2/8/97):
(gcc.c, next/nextstep.h) Pass the -image_base switch on to libtool or ld.
cc-744.7 (submitted to 4.2mach on 2/7/97):
(gcc.c) Fixed the following Tracker bugs:
76841 - The compiler does not recognize -arch ppc
76843 - The wrong library paths are passed to the linker when doing multi-arch
compiles
(gcc.c, next/nextstep.h) Fixed the following Tracker bugs:
62638 - -filelist not understood [in the Mach compiler]
76844 - cc crashes when presented with -install_name, -current_version, or
-compatibility_version switches
(next/nextstep.h) Fixed Tracker bug 76845:
The wrong libraries get linked in by default [in the Mach compiler]
(libgcc2.c) Remove the function __set_new_handler(), since this function is now
in the old_libgcc project.
(next/{t-next,libgcc2-258.c}) Remove libgcc2-258.c and any refereces to it,
since the function that was needed from this file is now in the old_libgcc
project.
cc-744.6 (submitted to Boil5K on 1/28/97):
(Makefile.cc) Introduce a hack to allow the compiler to be built twice in a row
and still have it be able to find the header files it needs the second time
around. Also, don't put any header files in a directory whose name depends on
the version of gcc being built, so the PDO installation script can find them.
cc-744.5 (submitted to Boil5K on 1/23/97):
(alpha/t-nextpdo, sparc/t-{sol2,sunos4}-nextpdo, pa/t-pa-nextpdo) Change the
value of the macro TOOL_INCLUDE_DIR that is passed to the compiler when
compiling the preprocessor; change the name of the latter file to t-nextpdo.
cc-744.4 (submitted to Boil5K on 1/22/97):
({alpha,sparc,pa}/next-pdo.h,sparc/next-pdo-sol2.h) Search the TOOL_INCLUDE_DIR
in addition to the GCC_INCLUDE_DIR, since the former is where other PDO
projects should put their header files so they don't have make assumptions
about what version of gcc is installed on the system.
cc-744.3 (submitted to Boil5K on 1/22/97):
(libgcc2.c) Fix integration error when this file was merged with the one from
cc-730.8.
cc-744.2 (submitted to Boil5K on 1/21/97):
(Makefile.cc) Fix the work around bootstrap problem having to do with the
assembler binary being in a different directory from what gcc expects when
changing to a different version of gcc. Now the assembler is assumed to be
in /NextDeveloper/lib/gcc-lib/`arch`, which is a directory that doesn't depend
on what version of gcc is or used to be installed, and that gcc can find
regardless of what the user's path is set to.
Make another correction to Mike Monegan's PDO-specific changes for cpp-precomp.
cc-744.1 (submitted to Boil5K on 1/21/97):
(Makefile.cc) Work around bootstrap problem having to do with the assembler
binary being in a different directory from what gcc expects when changing to a
different version of gcc.
Corrects Mike Monegan's PDO-specific changes for cpp-precomp.
cc-744 (submitted on 1/20/97):
Incorporates Mike Monegan's changes to enable cpp-precomp on NT and PDO.
cc-743.2 (submitted to Boil5K on 1/18/97):
(Makefile.cc) Work around the failure apparently having to do with bad paths
being used as targets.
cc-743.1 (submitted to Boil5K on 1/18/97):
(Makefile.cc) Correct the fix for not hard coding the version of gcc installed
on the machine.
cc-743 (intended for Mach, Windows NT, and PDO submitted on 1/18/97):
From now on, all submissions are intended for Mach, Windows NT, and PDO, unless
otherwise noted.
(Makefile) Make allowance for the fact that NeXT's arch command may not be on
the path.
(Makefile.cc) Don't hard code the version of gcc being built or already
installed on the machine; it should be OK to link gcc with libpdo; don't let
the list of languages default to one including proto, since we're not
interested in distributing protoize and friends.
(Makefile.pdo) Invoke top level Makefile instead of Makefile.bison in order to
make bison. This fixes Tracker bug 69618:
PDO cc project builds bison with hardwired path to bison.simple in binary
cache
(Makefile.{bison,c++filt}) Remove these files, since they are no longer needed.
(Makefile.in) On PDO, don't attempt to install-info since the command makeinfo
may not be available.
(cccp-pdo.c) Hard code the version 2.6.0, since this is the true version of gcc
on which this file is based.
(gcc.c) Merge in cc-730.8's gcc.c.
(libgcc2.c) Initialize the floating-point unit before calling the global
constructors, in case the latter uses the floating-point unit.
(obcp/hash-pdo.h) Generate a new hash file that doesn't make reference to any
NeXT-specific keywords.
cc-742 (intended for Mach and Windows NT submitted on 12/21/96):
(build_gcc) Do not compile the old libgcc2.c when building the dynamic archive
version of libcc.a.
(build_gcc,next/nextstep.h) Change the name of the dynamic archive version of
libgcc to libcc_dynamic.a.
(cccp.c,cccp-pdo.c) When creating a PDO compiler, compile the PDO version of
the preprocessor.
(objc-act.c) Incorporated fix to Tracker bug 75850 (What happened to class
refs?), which makes this file slightly more similar to obcp/obcp-act.c.
(cp/lex.c) Don't emit a warning about using C++ keywords if in an Objective C
context and the -Wmost switch is used.
(cp/{decl,decl2}.c) Fix integration errors from cc-740. (Some Objective C++
specific code was missing.)
(next/nextstep.h) Pass in the -noall_load switch to libtool if -all_load is not
specified.
(m68k/m68k.md) Make this file even more like the one in gcc 2.7.1 and later
2.7.x versions.
cc-741.3 (intended for Mach and Windows NT submitted on 12/18/96):
(build_gcc) Derive directory name for executables from the gcc version number
rather than hard coding it in; don't overwrite the TEMP environment variable
if it's already set.
(m68k/m68k.md) Make this file more similar to the one in gcc 2.7.1 and later
2.7.x versions. This fixes Tracker bug 75402:
Machine losing time drastically, and unable to set clock manually.
(ginclude/va-{pa,sparc}.h) Make these files more like gcc 2.7.2.1's.
cc-741.2 (intended for Mach and Windows NT submitted on 12/16/96):
(build_gcc) Make sure quotes surround PRIVATE_EXTERN_ASM_OP.
cc-741.1 (intended for Mach and Windows NT submitted on 12/15/96):
(build_gcc,libgcc2.c) Fix the way private extern symbols are declared in
assembly language.
(cp/{call,search,spew,tree,typeck}.c) The integrate command didn't notice these
files had been changed in cc-741.
cc-741 (intended for Mach and Windows NT submitted on 12/14/96):
(build_gcc) Build dynamic archive version of libgcc.
(libgcc2.c) Make all functions private extern if the PRIVATE_EXTERN macro is
defined appropriately; remove code for function __lshldi3() from libgcc2.c,
since this function will eventually no longer be needed.
(next/libgcc2-258.c) Copy libgcc2.c from cc-478, which has code for the
function __lshldi3(). This file should eventually be removed!
(next/nextstep.h) #define LIBGCC_SPEC appropriately, depending on whether we're
building the compiler patch or not (in the former case, link with the dynamic
archive version of libgcc); actually use LIBGCC_SPEC.
(next/next-specs.h) Pass -fobjc to the Objective C++ compiler; make -x c work
for NT.
(i386/xm-i386.h) #undef TRUE and FALSE in case they have been defined
previously.
({m68k,i386,sparc,hp}/[xt]-next) Keep just one copy of these files in
config/next.
(configure) Make appropriate changes to reflect the change above.
(function.c) Correct spelling of macro.
cc-740 (intended for Mach and Windows NT submitted to 4.1machTest on 12/12/96):
Updated to gcc 2.7.2.1 and removed hack in toplev.c to prevent higher levels of
optimization for m68k in the hopes that this is now fixed.
Merged in some diffs from the obcp directory that are #ifdef'ed OBJCPLUS.
Replaced several files in the obcp directory with a #include of the
corresponding file in the cp directory to reduce maintenance burden.
(Makefile) Set the SHELL variable to ensure the correct shell is being used.
cc-739.3 (intended for Mach and Windows NT, submitted on 12/10/96):
(sparc/next.h) Remove definition for the macro ASM_GLOBALIZE_LABEL, which seems
to be mistakenly overriding the one in next/nextstep.h.
(winnt/ld.c) Minor code rearrangement.
cc-739.2 (intended for Mach and Windows NT, submitted on 12/9/96):
(build_gcc) Remove the derived sources that were accidentally getting copied
into the dstroot.
(objc-act.c) Made minor formatting changes.
(tree.c) Cache the info as to what language we're compiling to speed up the
extra processing introduced in cc-739.
(winnt/ld.c) Corrected Kevin Enderby's fix for Tracker bug 75480, and
incorporated fix for Tracker bug 72208:
When linker returns nonzero status, gcc should not behave as if it crashed
cc-739.1 (intended for Mach and Windows NT, submitted on 12/6/96):
(obcp/lex.c) Remove hack that allowed processing of C++-unaware headers.
(i386/next-pdo.h) Clean up the list of predefined macros, which includes fix
for Tracker bug 62096:
NEXT_OBJC_RUNTIME should not be pre-defined
(winnt/ld.c) Incorporated Kevin Enderby's fix for Tracker bug 75480:
ld.exe creates .lib files and can crash when used via gcc -bundle
cc-739 (intended for Mach and Windows NT, submitted to 4.1machTest on 12/5/96):
(function.c) Don't emit warnings about unused parameters in C++ and Objective
C++ when only -Wmost is specified.
(toplev.c) When target is m68k, don't optimize beyond -O1, since higher levels
of optimization can be buggy. (This might be fixed in gcc 2.7.2.1.) Also,
don't emit -dll ever in .o files. This is a partial fix for Tracker bug 69087:
tries to build a library
(tree.c) If the compiler is Objective C++, don't switch to the temporary
obstack in function build_parse_node().
(cp/lex.c) Declare doing_objc_thang so it can be referenced in any compiler.
({cp,obcp}/typeck2.c) Incorporated fix for Tracker bug 68122:
Wrong e-mail address given for reporting bugs
(obcp/obcp-act.c) Remove extraneous #ifdef introduced in cc-723.
cc-738 (intended for Mach and Windows NT, submitted on 11/25/96):
(build_gcc) Preserve in the sym root the source files generated as a by-product
of building the compiler.
({cp,obcp}/decl*.c) Added support for destructors that are compatible with the
-dynamic code gen style.
(obcp/obcp-act.c) Output correct data structure for NSConstantString's; made it
more similar to objc-act.c.
(next/next-specs.h) Process the specs for cc1plus when compiling C++ and
Objective C++ source files.
(next/nextstep.h) Instead of aborting when asked to output a "dynamic"
destructor, don't do anything at all.
(winnt/ld.c) Incorporated Kevin Enderby's fix for Tracker bug 73916:
NT: link's 32k cmd line limit sucks!
cc-737.1 (intended for Mach and Windows NT, submitted on 11/8/96):
(fold-const.c) Corrected fix for Tracker bug 74738 by incorporating code from
FSF's latest gcc snapshot.
(obcp/lex.c) Incorporated modification missed in previous fix for Tracker bug
73545.
cc-737 (intended for Mach and Windows NT, submitted on 11/6/96):
(c-parse.in) Incorporated fix for Tracker bug 73916:
the syntax for forward declaring a protocol is not being parsed correctly
(c-typeck.c) Enabled incorrectly disabled code; this fixes Tracker bug 68626:
Casting using protocols doesn't seem to work
(objc-act.c) Incorporated fix for Tracker bug 68626 and for another bug having
to do with casting using protocols
(cccp-winnt.c) Incorporated fixes for the following Tracker bugs:
68025 - NT: #warnings are omitted from errors window
72178 - RTF Source fails to compile
(fold-const.c) Incorporated fix for Tracker bug 74738:
Compiler crashes when function returns a NaN
(gcc.c) Incorporated fixes for the NT compiler for Tracker bug 67431:
gcc should pass -filelist to linkers
(obcp/class.c) Incorporated fix for Tracker bug 73545:
ObjC++ compiler chokes on C++ code after a #import
(i386/next-pdo.h) Incorporated fixes for the following Tracker bugs:
73599 - cpp on NT does not identify C++ system headers
74342 - On NT all system include paths are implict extern 'C' and two of them
shouldn't be
(winnt/ld.c) Incorporated fixes for the following Tracker bugs:
67959 - NT: link's 32k cmd line limit sucks!
69515 - NT: empty ofileLists cause problems
74224 - link flags inconsistency on OPENSTEP 4.1 (Bastion4R)
cc-736.6 (intended for Mach and Windows NT, submitted to 4.1machTest on 10/17/96):
(next/nextstep.h) Corrected fix for Tracker bug 73121; libgcc2.c should now be
compilable.
cc-736.5 (intended for Mach and Windows NT, submitted to 4.1machTest on 10/16/96):
(build_gcc, next/next-specs.h, next/nextstep.h) Incorporated fix for Tracker
bug 73121, needed for the fix to libc's varargs.h to work:
Predefined macros should be updated for 4.1
cc-736.4 (intended for Mach and Windows NT, submitted to 4.1machTest on 10/16/96):
(libgcc2.c) Migrated code for function _lshldi3 in gcc 2.5.8 to satisfy
reference in 3.3 shlib.
cc-736.3 (intended for Mach and Windows NT, submitted to 4.1machTest on 10/14/96):
(libgcc2.c) Add function __set_new_handler to satisfy reference in 3.3 shlib.
cc-736.2 (intended for Mach and Windows NT, submitted to 4.1machTest on 10/10/96):
(libgcc2.c) Avoid referencing target_flags in the macro TRAMPOLINE_SIZE.
cc-736.1 (intended for Mach and Windows NT, submitted to 4.1machTest on 10/4/96):
(varasm.c) Add some missing code to handle private extern objects.
cc-736 (intended for Mach and Windows NT, submitted to 4.1machTest on 9/20/96):
(cccp*.c) Incorporated fix for Tracker bug 40491:
cc -MM (etc) Tax.cxx produces Tax.cxx.o
(gcc.c) Partially merged in diffs from cc-730.7.
(gcc.c, next/next-specs.h, next/nextstep.h) Implement -dynamic as the default
in a cleaner way.
(gcc.c, i386/next-pdo.h) Incorporated fix for Tracker bug 70326:
-static option yields an executable that crashes on NT.
(The Windows NT compiler now ignores the -static switch.)
(objc-act.c) Incorporated fix for Tracker bug 72283:
Fix for bug 51856 should be migrated over to the NT/PDO Objective-C compilers
(has to do with invoking super when posing involving categories)
(toplev.c) Fixed spelling error in comment.
({pa,sparc}/next-pdo.h) Merged in fix for Tracker bug 72851 from cc-730.7:
Constant @string fixup crashes program
(cc-730.7 did not incorporate this fix in the Solaris compiler.)
cc-735.5, cc-736*:
Submissions used to find the cause of Tracker bug 71798:
PDO: cc project has bad permissions on headers.
cc-735.4 (intended for Mach and Windows NT, submitted to Bastion4O on 9/5/96):
(cp/decl.c, obcp/decl.c) Initialize the region of memory malloc returns (and to
which exportNamesForDLL points) to the empty string. This completes the fix
for Tracker bug 72521:
Compiler sometimes puts garbage in list of symbols to be exported
cc-735.3 (intended for Mach and Windows NT, submitted to Bastion4N on 9/3/96):
(c-decl.c, function.c) Initialize the region of memory malloc returns (and to
which exportNamesForDLL points) to the empty string. This is a partial fix
for Tracker bug 72521:
Compiler sometimes puts garbage in list of symbols to be exported
cc-735.2 (intended for Mach and Windows NT):
(next/next-specs.h) Made -ObjC++ and -x work in the PDO compilers.
cc-735.1 (intended for Mach and Windows NT):
(i386/next-pdo.h) Added missing parenthesis.
cc-735 (intended for Mach and Windows NT):
(obcp/call.c) Incorporated fix for Tracker bug 39034:
Can't pass a staticly-typed pointer to Objective C sub-class to a member
function
(obcp/lex.c) Incorporated fixes for the following Tracker bugs:
57918 - name space collisions when mixing C++ and objective-C
69469 - can't pass C++ objects by reference to Objective-C methods
(obcp/obcp-act.c) Incorporated fixes for the following Tracker bugs:
54963 - compiler chokes on improper use of references
72016 - Warnings about type qualifier mismatch
(i386/next-pdo.h) Incorporated fix for Tracker bug 71979:
NT: Objective C constant strings with format specifiers in C++ environment die
at runtime
cc-734 (intended for Mach and Windows NT):
(cccp.c, cccp-mach.c, cccp-winnt.c) cccp.c now #include's the appropriate code
for the preprocessor depending on the platform, pending completion of the
merged preprocessor, at which time cccp-mach.c and cccp-winnt.c will
disappear.
(c-parse.in) Incorporated fix for Tracker bug 71675:
Merge errors in Objective-C grammar (involving square brackets)
(obcp/class.c) Fixed merge error in function pop_lang_context().
(obcp/obcp-act.c, i386/nextpdo.h) Incorporated fix for Tracker bug 70826:
NT: Objective-C const string (NSString *x = @"foo";) cause internal compiler
error in .M files
(i386/c-gperf-winntpdo.h) Removed this file - it is an old version of the file
in the cc directory.
(next/makeUser.c) #include string.h instead of strings.h when building on a
Unix PDO system.
(next/next-specs.h) Add missing characters to Mach specs affecting header
precompilation and processing assembly language source files.
(next/nextstep.h) Link with lib*crt0.o only once.
cc-733 (intended for Mach):
(build_gcc) Add /usr/ucb to the PATH, since this is where wc lives.
(Makefile) Remove hppa from the list of default targets, since we cannot yet
generate code for this architecture; delete $(OBJROOT) as the very last step.
(Makefile.in) Incorporated work around for /bin/sh creating file of fixed size
with null padding at end.
(c-lex.c, c-parse.in) Include support for the Mach-specific keywords.
(cccp.c) Use the Mach version.
(gcc.c) Add support for fat compilations.
(objc-act.c) Handle NXConstantString's as well as NSConstantString's;
initialize flag_selector_table and flag_static_objects as appropriate
depending on the platform.
(obcp/error.c) Add "Objective-C" as one of the possible language strings.
(sparc/next.h) Remove warning about -dynamic being experimental.
(*/x-next) Add -traditional-cpp switch when invoking GCC_FOR_TARGET.
(next/nextstep.h) Don't ever invoke ld++ twice on the same command line.
cc-732.6 (intended for Windows NT, submitted on 8/12/96):
(Makefile) Do not include top level directory in /NextDeveloper/Source; got rid
of extraneous $ near end of tar command
(c-parse.in) Incorporated fix for Tracker bug 71455:
Parameters cannot be named id in Objective-C compiler
cc-732.5 (intended for Windows NT):
(i386/next-pdo.h) Incorporated Josh's fix for Tracker bug 71054:
NT: need -scatter flag in specs file
cc-732.4 (intended for Windows NT):
(i386/next-pdo.h) Incorporated Josh's fix for Tracker bug 70173:
NT compiler should use "penter" instead of "mcount" (for profiling).
cc-732.3 (intended for Windows NT):
(cccp.c) Use the version from 725.3 (which in that version was called
cccp-winnt.c), which is known to work.
cc-732.2 (intended for Windows NT):
(GNUmakefile) Invoke Makefile instead of Makefile.openstep.
cc-732.1 (intended for Windows NT):
Renamed Makefile to GNUmakefile and Makefile.openstep to Makefile so this
project can be processed with Mach's make utility. (Actually, this change was
done in cc-732, but since cc-732 had already been submitted before making this
change, RC's source tree was inconsistent.)
Moved this file to the top level directory.
cc-732 (intended for Windows NT):
Finished merging with cc-725.4 and jca's latest changes.
Upgraded to the latest version of bison (version 1.25), and build it by default
on both Mach and NT.
(build_gcc, Makefile, Makefile.openstep) Numerous changes to make it build
properly on both Mach and NT.
Created separate c-gperf*.h, hash*.h, and gperf files for the various
platforms; modified appropriate makefiles to match.
(cccp.c) Put back the old NT version to allow it to build in RC.
(configure) Removed the macros TARGET_GPERF and objectdir, since they are no
longer needed.
(fixincludes) Parameterize the null device to improve compatibility with NT.
(gcc.c) Do not allow -ObjC or -ObjC++ to override -O*, and vice-versa; fix
processing for -ObjC and -ObjC++.
(Makefile.in) Reduce the number of divergences from FSF's version.
(protoize.c) Revert to FSF's version, since we don't really care about this
program.
({ob,}cp/decl2.c) Make semantics of -Wmost consistent with that of cc1obj.
(varasm.c, obcp/obcp-act.c) Be able to create unique global symbols, even if
only constants are declared in a file.
(i386/next-pdo.h) Change the type of size_t to unsigned int, to match MS header
files; output final stab at end of file for gdb.
Changed the name of the flag -fgen-decls back to -gen-decls, which is the
spelling used by FSF.
Removed sparc/t-nextpdo, since it is no longer needed.
cc-731:
Merged with cc-725.4.
Moved next-specific files to config/next.
Improved support for multiple hash.h and parse.y files in cp and obcp.
cccp-winnt.c doesn't compile due to problems with REPORT_EVENT macro; should be
easy to fix.
cc-730.8 (intended for PDO only, submitted to Boil1L on 9/19/96):
(collect2.c) Incorporated fix for Tracker bug 72990:
PDO: collect2 can't find nm
(sparc/next-pdo-sol2.h) Incorporated fix for Tracker bug 73013:
cc shouldn't specify -lobjc on Solaris
cc-730.7 (intended for PDO only, submitted to Boil1K on 9/17/96):
(pa/next-pdo.h) Incorporated fix for Tracker bug 72851:
Constant @string fixup crashes program
Note that this is the same bug as 70826, which was fixed in the NT compiler in
cc-734.
cc-730.6 (intended for PDO only, submitted on 9/14/96):
(Makefile.pdo) Corrected syntax error.
cc-730.5 (intended for PDO only, submitted on 9/13/96):
(Makefile.pdo) Get rid of top level directory, which contains confidential
information.
(collect2.c) Pass in correct size to realloc.
cc-730.4 (intended for PDO only, submitted on 9/12/96):
(gcc.c, collect2.c) Incorporated fix in HPUX compiler for Tracker bug 67431:
gcc should pass -filelist to linkers
cc-730.3 (intended for PDO only, submitted on 9/6/96):
Incorporated fixes recently approved by CCC that are in cc-735.2.
cc-730.2 (intended for PDO only):
(c-parse.in) Incorporated fix for Tracker bug 71455:
Parameters cannot be named id in Objective-C compiler
cc-726:
Added -lobjc to Sparc specs file for shlibs. Upgraded bison to version 1.24.
cc-725.4 (intended for Windows NT):
Fixed the following tracker bugs:
68692 - Some warnings still get flagged as errors when sent to PB;
67895 - Mysterious crashes occur when dllimport'ed value used as initializer;
67599 - Gcc driver doesn't send messages to PB
(gcc.c, i386/next-pdo.h): Removed support for -fileList and @filename.
(Makefile, build_gcc, */x-next): Allow compiler to be built manually from top
level makefile; don't require bison to be built first.
Brought over relatively recent changes to the Mach compiler.
Verified that all relatively recent changes to the NT compiler have already
been brought over.
cc-725.3 (submitted for Windows NT [Bastion 3U]):
Fixed the following tracker bugs:
67992 - Garbled error messages sent to PB;
67907 - Warnings get flagged as errors when sent to PB; and
67627 - When there are errors in source file, gcc thinks cc1obj has crashed
68034 - libgcc.a should not be built with symbols.
(configure) Avoid invoking fixincludes.
(cp/lex.h) Fix cc-725.2's fix for recognizing NT-specific keywords in the C++
compiler.
cc-725.2 (submitted for Windows NT [Bastion 3T]):
Copied the fix for tracker bug 65700 from cc-474.
Recognize the NT-specific keywords in the C++ and Objective-C++ compilers.
Refrain from dereferencing null pointers in some cases.
(next-specs.h) Process .cpp files with the C++ compiler.
(gcc.c objc-act.c) Minor changes to make the compiler buildable on Mach.
cc-725.1 (submitted for Windows NT):
Fixed the following tracker bugs:
67145 - Pass -pdb:none to the MS linker when -gcodeview is specified;
64259 - Send status messages to ProjectBuilder;
63227 - gcc -framework crashes.
(gcc.c) Removed warning about -arch being ignored if the argument is i386 or
`arch`.
(toplev.c, c-decl.c) Removed warning about unused inline functions when
compiling without -O.
(i386/next-pdo.h) Removed the following predefined macros: FOUNDATION_EXPORT,
unix, #system(unix); passes -nologo to the MS linker when -v is not specified.
(cplus-dem.c, i386/next-pdo.h) Can no longer be compiled with the gcc 2.6.1-
based compiler because of malformed string constants.
Objective C++ support (but not everything else) fully integrated with the PDO
compiler.
cc-725:
Corrected integration errors in cccp-pdo.c and objc-act.c; added execute
permission to the configure script.
cc-724:
First attempt to integrate the submitted versions of gcc for Windows NT and PDO
(cc-711.2 and cc-722 respectively).
cc-712:
(ginclude/stdarg.h) Small hack to avoid having an undefined va_arg.
(cccp-pdo.c) Don't warn about /* in comments.
(pa/next-pdo.h) Added another -lm to the specs file hppa.
cc-711.2 (submitted for Windows NT):
(c-lex.[ch]) Made RID_DIRECT an enumerator only when target is NEXTSTEP;
got rid of RID_THREAD and RID_NAKED, since they weren't being used;
ifdef'ed RID_UNUSED1 to keep the number of enumerators down to less than 34
(this allows an int to be sufficient for representing one bit per enumerator).
(c-decl.c) Reverted specbits to a 32-bit int, since this is now big enough;
made ifdef's more specific (_WIN32 && NEXT_PDO); removed some superfluous
braces, parentheses, and white space.
(winnt/ld.c) Fixed bug in processing of -L switch which was causing an
unexpected heap error; minor text formatting
(i386/i386.c) Fixed i386_return_pops_args to return the correct number of bytes
to pop off the stack for stdcall functions
(i386/next-pdo.h) Added definition for macro CPP_SPEC; added unix to
CPP_PREDEFINES (needed to build AppKit)
Replaced all traces of the sdb->codeview converter (addcv.exe) with support for
the stabs->codeview converter (StabsToCodeview.exe) (see bug #65775).
(objc-act.h) Eliminate two-pass linking (see bug #65773).
(i386/next-pdo.h) Make constant data sharable (see bug #65772).
Moved almost all the NeXT-specific stuff in {winnt,i386}/win-nt.h to
i386/next-pdo.h.
Added support for the -undefined switch
Removed all traces of collect2; renamed ld-winnt to ld (see bug #66505)
Removed all traces of c++filt, except that the c++filt makefile was moved to
the top level directory for easy reference.
cc-711.1:
First Windows NT candidate for submission to RC.
Fixes all known bugs preventing building Robin Hood projects.
cc-711:
(dbxout.c) removed hacks to suppress emission of OBJC meta data, since
compiling with -g would occasionally fail.
(objc-act.c) Modified get_super_receiver() to fix bug in poseAs: when sending
messages to super from a category, per tracker 51846.
(regclass.c and c-parse.in) Updated source to 2.7.2 base.
(calls.c) Added a test in expand_call() to avoid dereferencing a null pointer.
(c-decl.c) Eliminate warnings about unused inline static functions.
cc-710:
Bootstraps on all PDO platforms (alpha excepted).
Fixed the byref keyword.
Added c++ support for PDO/Unix.
Solaris compiler assumes quad float math is done in hardware.
Don't emit stabs for OBJC meta data.
Added the -nopdolib switch to link without libpdo.a for PDO/Unix.
Removed some temporary hacks in the sparc.md file.
Included support for filelists on unix.
cc-709:
Should bootstrap smoothly on NEXTSTEP (except for HP) and on the major PDO
platforms. Should be stable enough to test building major projects.
cc-708:
Integrated my (pre-Christmas) changes to fix a problem with protocol decls
(objc-act.c) Modified gcc.c and next-specs.h to grok Framework directories.
cc-707:
Upgraded all files to gcc 2.7.2 base, except for collect2.c, config/winnt/ld.c,
and cccp-winnt.c (all based on 2.6.1), cccp.c (based on 2.5.8), and
config/m68k/m68k.md (based on 2.7.0 - haven't been successful in bootstrapping
with 2.7.2-based m68k.md file)
List of files that are NOT identical to those in gcc 2.7.2:
Makefile.in c-common.c c-decl.c c-lang.c c-lex.[ch] c-parse.in c-typeck.c
calls.c cccp.c collect2.c config.sub configure cse.c expr.c final.c flags.h
function.c gcc.c integrate.c libgcc2.c objc-act.[ch] optabs.c recog.c
regclass.c reload.c reload1.c toplev.c tree.[ch] varasm.c
cp/Make-lang.in cp/g++.c
config/nextstep.[ch]
config/i386/i386.{[ch],md} config/i386/next.[ch] config/i386/[tx]-next
config/i386/t-winnt config/i386/win-nt.h config/i386/xm-next.h
config/m68k/m68k.{[ch],md} config/m68k/next.[ch] config/m68k/[tx]-next
config/m68k/xm-m68k.h
config/pa/pa.{[ch],md}
config/sparc/sparc.{[ch],md}
config/winnt/ld.c config/winnt/win-nt.h config/winnt/x-winnt
config/winnt/xm-winnt.h
Catenated cc/codeview/codeview.[ch] and put result + addcv.c (aka main.c) into
cc/config/i386; removed cc/codeview directory
Bootstraps on NEXTSTEP (i386, m68k, sparc) and on NT
Still does NOT have jca's latest (pre-Christmas) changes
cc-706:
Bootstraps on NT (as well as NEXTSTEP) and is able to build all the pieces of
the NT compiler (ld, ld-winnt, etc.)
Does NOT have jca's latest (pre-Christmas) changes, which fixed the protocol
problem, but introduced others
cc-700:
Bootstraps on i386 with -dynamic. Requires -mno-move switch and changes to
Makefile (macros GCC_CFLAGS, FIXINCLUDES, GCC_PASSES; and targets libgcc2.a and native). Make command used:
make bootstrap compare srcdir=~/compiler/cc-700/cc HOST_PREFIX="`arch`-" HOST_PREFIX_1="`arch`-" HOST_CC="cc -arch `arch` -traditional-cpp" CFLAGS="-g -traditional-cpp -mno-move" CC="cc -arch `arch` -traditional-cpp -O" LANGUAGES=objc