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