summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authortv <tv@NetBSD.org>2001-04-23 11:57:48 +0000
committertv <tv@NetBSD.org>2001-04-23 11:57:48 +0000
commitf54fbfcb7509bdf24aaa2b7113d91eb4bfe0fb17 (patch)
treec599acdd7b265e6fe82d2b45a658f0b64a9b2bf2 /gnu
parent1220abdf9e6fa1477d366149d3b1a7df6c184a3a (diff)
Import gcc 2.95.3.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/dist/toolchain/.brik5015
-rw-r--r--gnu/dist/toolchain/ChangeLog8
-rw-r--r--gnu/dist/toolchain/FAQ288
-rw-r--r--gnu/dist/toolchain/contrib/ChangeLog4
-rw-r--r--gnu/dist/toolchain/gcc/ABOUT-GCC-NLS24
-rw-r--r--gnu/dist/toolchain/gcc/Makefile.in31
-rw-r--r--gnu/dist/toolchain/gcc/NEWS2610
-rw-r--r--gnu/dist/toolchain/gcc/ONEWS1071
-rw-r--r--gnu/dist/toolchain/gcc/alias.c11
-rw-r--r--gnu/dist/toolchain/gcc/c-typeck.c10
-rw-r--r--gnu/dist/toolchain/gcc/cccp.c7
-rw-r--r--gnu/dist/toolchain/gcc/ch/ChangeLog4
-rw-r--r--gnu/dist/toolchain/gcc/ch/lang-specs.h4
-rw-r--r--gnu/dist/toolchain/gcc/combine.c91
-rw-r--r--gnu/dist/toolchain/gcc/config/arm/arm.c15
-rw-r--r--gnu/dist/toolchain/gcc/config/arm/arm.h12
-rw-r--r--gnu/dist/toolchain/gcc/config/arm/arm.md40
-rw-r--r--gnu/dist/toolchain/gcc/config/arm/linux-elf.h31
-rw-r--r--gnu/dist/toolchain/gcc/config/arm/linux-elf26.h18
-rw-r--r--gnu/dist/toolchain/gcc/config/arm/linux-oldld.h27
-rw-r--r--gnu/dist/toolchain/gcc/config/h8300/h8300.c10
-rw-r--r--gnu/dist/toolchain/gcc/config/h8300/h8300.md67
-rw-r--r--gnu/dist/toolchain/gcc/config/i386/i386.md12
-rw-r--r--gnu/dist/toolchain/gcc/config/i386/sol2gas.h6
-rw-r--r--gnu/dist/toolchain/gcc/config/m68k/m68k.h5
-rw-r--r--gnu/dist/toolchain/gcc/config/mips/vxworks.h2
-rw-r--r--gnu/dist/toolchain/gcc/config/rs6000/eabi-ctors.c12
-rw-r--r--gnu/dist/toolchain/gcc/config/rs6000/rs6000.c114
-rw-r--r--gnu/dist/toolchain/gcc/config/rs6000/rs6000.h3
-rw-r--r--gnu/dist/toolchain/gcc/config/rs6000/rs6000.md176
-rw-r--r--gnu/dist/toolchain/gcc/config/rs6000/sysv4.h16
-rw-r--r--gnu/dist/toolchain/gcc/config/v850/v850.c8
-rw-r--r--gnu/dist/toolchain/gcc/cp/ChangeLog143
-rw-r--r--gnu/dist/toolchain/gcc/cp/call.c51
-rw-r--r--gnu/dist/toolchain/gcc/cp/class.c354
-rw-r--r--gnu/dist/toolchain/gcc/cp/cp-tree.h72
-rw-r--r--gnu/dist/toolchain/gcc/cp/decl.c622
-rw-r--r--gnu/dist/toolchain/gcc/cp/decl2.c162
-rw-r--r--gnu/dist/toolchain/gcc/cp/exception.cc4
-rw-r--r--gnu/dist/toolchain/gcc/cp/gxxint.texi233
-rw-r--r--gnu/dist/toolchain/gcc/cp/init.c242
-rw-r--r--gnu/dist/toolchain/gcc/cp/lang-specs.h6
-rw-r--r--gnu/dist/toolchain/gcc/cp/method.c231
-rw-r--r--gnu/dist/toolchain/gcc/cp/pt.c38
-rw-r--r--gnu/dist/toolchain/gcc/cp/rtti.c25
-rw-r--r--gnu/dist/toolchain/gcc/cp/search.c120
-rw-r--r--gnu/dist/toolchain/gcc/cp/typeck2.c4
-rw-r--r--gnu/dist/toolchain/gcc/cppinit.c5
-rw-r--r--gnu/dist/toolchain/gcc/cse.c62
-rw-r--r--gnu/dist/toolchain/gcc/dwarf2.h6
-rw-r--r--gnu/dist/toolchain/gcc/dwarf2out.c11
-rw-r--r--gnu/dist/toolchain/gcc/expmed.c7
-rw-r--r--gnu/dist/toolchain/gcc/expr.c109
-rw-r--r--gnu/dist/toolchain/gcc/f/ChangeLog12
-rw-r--r--gnu/dist/toolchain/gcc/f/g77spec.c4
-rw-r--r--gnu/dist/toolchain/gcc/f/lang-specs.h6
-rw-r--r--gnu/dist/toolchain/gcc/f/stw.h2
-rw-r--r--gnu/dist/toolchain/gcc/f/version.c2
-rw-r--r--gnu/dist/toolchain/gcc/final.c2
-rwxr-xr-xgnu/dist/toolchain/gcc/fixinc/fixincl.sh7
-rwxr-xr-xgnu/dist/toolchain/gcc/fixinc/inclhack.sh7
-rw-r--r--gnu/dist/toolchain/gcc/fixinc/inclhack.tpl7
-rw-r--r--gnu/dist/toolchain/gcc/flow.c63
-rw-r--r--gnu/dist/toolchain/gcc/fold-const.c50
-rw-r--r--gnu/dist/toolchain/gcc/frame.c10
-rw-r--r--gnu/dist/toolchain/gcc/function.c95
-rw-r--r--gnu/dist/toolchain/gcc/gcc.c17
-rw-r--r--gnu/dist/toolchain/gcc/gcc.texi6
-rw-r--r--gnu/dist/toolchain/gcc/glimits.h2
-rw-r--r--gnu/dist/toolchain/gcc/intl/ChangeLog4
-rw-r--r--gnu/dist/toolchain/gcc/invoke.texi60
-rw-r--r--gnu/dist/toolchain/gcc/java/ChangeLog4
-rw-r--r--gnu/dist/toolchain/gcc/loop.c139
-rw-r--r--gnu/dist/toolchain/gcc/objc/lang-specs.h6
-rw-r--r--gnu/dist/toolchain/gcc/optabs.c12
-rw-r--r--gnu/dist/toolchain/gcc/po/ChangeLog4
-rw-r--r--gnu/dist/toolchain/gcc/reload.c157
-rw-r--r--gnu/dist/toolchain/gcc/reload.h7
-rw-r--r--gnu/dist/toolchain/gcc/reload1.c227
-rw-r--r--gnu/dist/toolchain/gcc/rtl.h6
-rw-r--r--gnu/dist/toolchain/gcc/rtlanal.c82
-rw-r--r--gnu/dist/toolchain/gcc/stmt.c17
-rw-r--r--gnu/dist/toolchain/gcc/system.h11
-rw-r--r--gnu/dist/toolchain/gcc/toplev.c26
-rw-r--r--gnu/dist/toolchain/gcc/tree.c41
-rw-r--r--gnu/dist/toolchain/gcc/tree.h4
-rw-r--r--gnu/dist/toolchain/gcc/unroll.c13
-rw-r--r--gnu/dist/toolchain/gcc/version.c2
-rw-r--r--gnu/dist/toolchain/install/BINARIES49
-rw-r--r--gnu/dist/toolchain/install/BUILD38
-rw-r--r--gnu/dist/toolchain/install/CONFIGURE112
-rw-r--r--gnu/dist/toolchain/install/DOWNLOAD45
-rw-r--r--gnu/dist/toolchain/install/FINALINSTALL26
-rw-r--r--gnu/dist/toolchain/install/INDEX70
-rw-r--r--gnu/dist/toolchain/install/SPECIFIC611
-rw-r--r--gnu/dist/toolchain/install/TEST115
-rw-r--r--gnu/dist/toolchain/install/binaries.html62
-rw-r--r--gnu/dist/toolchain/install/build.html10
-rw-r--r--gnu/dist/toolchain/install/configure.html94
-rw-r--r--gnu/dist/toolchain/install/download.html36
-rw-r--r--gnu/dist/toolchain/install/finalinstall.html18
-rw-r--r--gnu/dist/toolchain/install/glibc-2.2.patch282
-rw-r--r--gnu/dist/toolchain/install/index.html45
-rw-r--r--gnu/dist/toolchain/install/specific.html329
-rw-r--r--gnu/dist/toolchain/install/test.html130
-rw-r--r--gnu/dist/toolchain/install/x86-sol2-gas.patch70
-rw-r--r--gnu/dist/toolchain/libchill/ChangeLog4
-rw-r--r--gnu/dist/toolchain/libf2c/ChangeLog9
-rw-r--r--gnu/dist/toolchain/libf2c/libF77/Version.c2
-rw-r--r--gnu/dist/toolchain/libf2c/libI77/Version.c2
-rw-r--r--gnu/dist/toolchain/libf2c/libI77/endfile.c1
-rw-r--r--gnu/dist/toolchain/libf2c/libU77/Version.c2
-rw-r--r--gnu/dist/toolchain/libio/ChangeLog50
-rw-r--r--gnu/dist/toolchain/libio/filebuf.cc16
-rw-r--r--gnu/dist/toolchain/libio/fstream.h10
-rw-r--r--gnu/dist/toolchain/libio/iolibio.h8
-rw-r--r--gnu/dist/toolchain/libio/iostream.cc10
-rw-r--r--gnu/dist/toolchain/libio/libio.h11
-rw-r--r--gnu/dist/toolchain/libio/libioP.h52
-rw-r--r--gnu/dist/toolchain/libio/parsestream.h2
-rw-r--r--gnu/dist/toolchain/libio/stdio/ChangeLog4
-rw-r--r--gnu/dist/toolchain/libio/stdstreams.cc2
-rw-r--r--gnu/dist/toolchain/libio/stream.h4
-rw-r--r--gnu/dist/toolchain/libio/streambuf.h4
-rw-r--r--gnu/dist/toolchain/libio/strstream.h6
-rw-r--r--gnu/dist/toolchain/libio/tests/ChangeLog4
-rw-r--r--gnu/dist/toolchain/libio/testsuite/ChangeLog4
-rw-r--r--gnu/dist/toolchain/libobjc/ChangeLog14
-rw-r--r--gnu/dist/toolchain/libobjc/objc/Protocol.h2
-rw-r--r--gnu/dist/toolchain/libobjc/objc/objc-list.h2
-rw-r--r--gnu/dist/toolchain/libobjc/sendmsg.c6
-rw-r--r--gnu/dist/toolchain/libstdc++/ChangeLog56
-rw-r--r--gnu/dist/toolchain/libstdc++/Makefile.in3
-rw-r--r--gnu/dist/toolchain/libstdc++/sstream343
-rw-r--r--gnu/dist/toolchain/libstdc++/std/bastring.cc10
-rw-r--r--gnu/dist/toolchain/libstdc++/std/bastring.h11
-rw-r--r--gnu/dist/toolchain/libstdc++/std/complext.cc2
-rw-r--r--gnu/dist/toolchain/libstdc++/std/valarray_array.h2
-rw-r--r--gnu/dist/toolchain/libstdc++/std/valarray_meta.h7
-rw-r--r--gnu/dist/toolchain/libstdc++/stl/ChangeLog9
-rw-r--r--gnu/dist/toolchain/libstdc++/stl/bitset3
-rw-r--r--gnu/dist/toolchain/libstdc++/stl/stl_deque.h14
-rw-r--r--gnu/dist/toolchain/libstdc++/stl/stl_rope.h28
-rw-r--r--gnu/dist/toolchain/libstdc++/tests/ChangeLog4
-rw-r--r--gnu/dist/toolchain/libstdc++/testsuite/ChangeLog4
-rw-r--r--gnu/dist/toolchain/texinfo/ChangeLog4
-rw-r--r--gnu/dist/toolchain/texinfo/intl/ChangeLog4
-rw-r--r--gnu/dist/toolchain/texinfo/po/ChangeLog4
-rw-r--r--gnu/dist/toolchain/texinfo/testsuite/ChangeLog4
-rw-r--r--gnu/dist/toolchain/texinfo/texinfo.tex2032
150 files changed, 9808 insertions, 8482 deletions
diff --git a/gnu/dist/toolchain/.brik b/gnu/dist/toolchain/.brik
index 9f18d6ad950..eacf3b6e31d 100644
--- a/gnu/dist/toolchain/.brik
+++ b/gnu/dist/toolchain/.brik
@@ -3,20 +3,10 @@
# CRC-32 filename
# ------ --------
-4237809446b ./.cvsignore
- 430871781b ./COPYING
-2637011133b ./COPYING.LIB
-3949589703b ./ChangeLog
-1757741300b ./FAQ
-1329440059b ./INSTALL/README
- 104875702b ./MAINTAINERS
-3026518559b ./Makefile.in
-1935170490b ./README
-3703830219b ./config-ml.in
-2369773211b ./config.guess
+ 40745673b ./ChangeLog
+2773723724b ./config/ChangeLog
+4130389924b ./config.guess
2969147338b ./config.if
- 372693157b ./config.sub
-1643406690b ./config/ChangeLog
3007349820b ./config/mh-a68bsd
1442196770b ./config/mh-aix386
4076175188b ./config/mh-aix43
@@ -56,16 +46,17 @@
2519884023b ./config/mh-sysv5
456622165b ./config/mh-vaxult2
3265825290b ./config/mh-x86pic
- 198559626b ./config/mpw-mh-mpw
-3763825519b ./config/mpw/ChangeLog
-3145098931b ./config/mpw/MoveIfChange
-1476422091b ./config/mpw/README
+3703830219b ./config-ml.in
+2763692045b ./config/mpw/ChangeLog
4005879853b ./config/mpw/forward-include
439409833b ./config/mpw/g-mpw-make.sed
+ 198559626b ./config/mpw-mh-mpw
+3145098931b ./config/mpw/MoveIfChange
2800114792b ./config/mpw/mpw-touch
3832565257b ./config/mpw/mpw-true
792347706b ./config/mpw/null-command
3439853311b ./config/mpw/open-brace
+1476422091b ./config/mpw/README
779160003b ./config/mpw/tr-7to8-src
3832565257b ./config/mpw/true
536974328b ./config/mt-armpic
@@ -79,9 +70,10 @@
828136936b ./config/mt-sparcpic
787786243b ./config/mt-v810
771382916b ./config/mt-x86pic
+ 372693157b ./config.sub
753136214b ./configure
1212521209b ./configure.in
-3687513182b ./contrib/ChangeLog
+2741109168b ./contrib/ChangeLog
550196746b ./contrib/compare_tests
3828788345b ./contrib/egcs_update
1060321676b ./contrib/gperf-2.7-19981006.pat
@@ -89,91 +81,51 @@
3040114942b ./contrib/test_installed
3207566234b ./contrib/test_summary
1176279968b ./contrib/warn_summary
-3839296437b ./etc/ChangeLog
-4027299794b ./etc/Makefile.in
+ 430871781b ./COPYING
+2637011133b ./COPYING.LIB
+4237809446b ./.cvsignore
1599808887b ./etc/aclocal.m4
+1997310358b ./etc/ChangeLog
2024299803b ./etc/configure
597781507b ./etc/configure.in
-3391458645b ./etc/make-stds.texi
-2416267047b ./etc/standards.texi
+4027299794b ./etc/Makefile.in
+1601906984b ./etc/make-stds.texi
+1110151395b ./etc/standards.texi
+2012678829b ./FAQ
3959848447b ./faq.html
-4133825901b ./gcc/.cvsignore
-3926621640b ./gcc/.gdbinit
-3929372985b ./gcc/ABOUT-GCC-NLS
+2163082026b ./gcc/ABOUT-GCC-NLS
1014730298b ./gcc/ABOUT-NLS
-1471330941b ./gcc/BUGS
- 430871781b ./gcc/COPYING
-2637011133b ./gcc/COPYING.LIB
-1932162154b ./gcc/ChangeLog
-1908191848b ./gcc/ChangeLog.0
-1942935930b ./gcc/ChangeLog.lib
-3694162803b ./gcc/FSFChangeLog
- 232745070b ./gcc/FSFChangeLog.10
-2525829644b ./gcc/FSFChangeLog.11
- 551406095b ./gcc/INSTALL
-2771840517b ./gcc/LANGUAGES
-3255766158b ./gcc/Makefile.in
- 406459598b ./gcc/NEWS
-4077477563b ./gcc/PROBLEMS
-4190809404b ./gcc/README
- 722850134b ./gcc/README-bugs
-3310775363b ./gcc/README-fixinc
- 464706846b ./gcc/README.ACORN
- 963966184b ./gcc/README.ALTOS
- 712804111b ./gcc/README.APOLLO
-3041263538b ./gcc/README.C4X
-4254837739b ./gcc/README.DWARF
-3034235340b ./gcc/README.FRESCO
-1941060778b ./gcc/README.NS32K
-2420116021b ./gcc/README.RS6000
-2521272425b ./gcc/README.TRAD
- 775999928b ./gcc/README.X11
- 317578445b ./gcc/README.gnat
-1427751232b ./gcc/SERVICE
-4046804328b ./gcc/TESTS.FLUNK
2199018716b ./gcc/acconfig.h
4190083916b ./gcc/aclocal.m4
- 67062466b ./gcc/alias.c
+3617713225b ./gcc/alias.c
4179046188b ./gcc/assert.h
3227020286b ./gcc/basic-block.h
2897689365b ./gcc/bitmap.c
1092830340b ./gcc/bitmap.h
+1471330941b ./gcc/BUGS
3514329314b ./gcc/build-make
+1297227555b ./gcc/caller-save.c
+1105896127b ./gcc/calls.c
2833192624b ./gcc/c-aux-info.c
+1031499251b ./gcc/cccp.1
+3931978756b ./gcc/cccp.c
1769823897b ./gcc/c-common.c
3351004599b ./gcc/c-convert.c
-1307271585b ./gcc/c-decl.c
-3172609301b ./gcc/c-gperf.h
-3829210531b ./gcc/c-iterate.c
-1221346333b ./gcc/c-lang.c
-4038532167b ./gcc/c-lex.c
-1368444824b ./gcc/c-lex.h
-3899289930b ./gcc/c-parse.c
-2368083768b ./gcc/c-parse.gperf
-1926476024b ./gcc/c-parse.h
- 340564841b ./gcc/c-parse.in
-3783741055b ./gcc/c-parse.y
- 53358206b ./gcc/c-pragma.c
-1262846233b ./gcc/c-pragma.h
-2068306093b ./gcc/c-tree.h
-2809232782b ./gcc/c-typeck.c
-1297227555b ./gcc/caller-save.c
- 676066580b ./gcc/calls.c
-1031499251b ./gcc/cccp.1
-1526067720b ./gcc/cccp.c
+3097530966b ./gcc/c-decl.c
2374568197b ./gcc/cexp.c
1259037984b ./gcc/cexp.y
-4215148276b ./gcc/ch/ChangeLog
-3668056982b ./gcc/ch/Make-lang.in
-3840952328b ./gcc/ch/Makefile.in
- 860743420b ./gcc/ch/README
+3172609301b ./gcc/c-gperf.h
72814584b ./gcc/ch/actions.c
3268996754b ./gcc/ch/actions.h
-1266350782b ./gcc/ch/ch-tree.def
-3431963368b ./gcc/ch/ch-tree.h
+1489002859b ./gcc/ChangeLog
+1908191848b ./gcc/ChangeLog.0
+1942935930b ./gcc/ChangeLog.lib
+3896853117b ./gcc/ch/ChangeLog
2055591891b ./gcc/ch/chill.brochure
262452143b ./gcc/ch/chill.in
1068085425b ./gcc/ch/chill.texi
+1266350782b ./gcc/ch/ch-tree.def
+3431963368b ./gcc/ch/ch-tree.h
666006412b ./gcc/ch/config-lang.in
3382766792b ./gcc/ch/configure
1217043291b ./gcc/ch/convert.c
@@ -184,15 +136,18 @@
1763938881b ./gcc/ch/grant.c
1554207802b ./gcc/ch/hash.h
455841629b ./gcc/ch/inout.c
-2818159896b ./gcc/ch/lang-options.h
-1317150242b ./gcc/ch/lang-specs.h
916936107b ./gcc/ch/lang.c
+2818159896b ./gcc/ch/lang-options.h
+3676798508b ./gcc/ch/lang-specs.h
607676058b ./gcc/ch/lex.c
56655465b ./gcc/ch/lex.h
4068433180b ./gcc/ch/loop.c
+3840952328b ./gcc/ch/Makefile.in
+3668056982b ./gcc/ch/Make-lang.in
1502935023b ./gcc/ch/nloop.c
729034310b ./gcc/ch/parse.c
634606057b ./gcc/ch/parse.h
+ 860743420b ./gcc/ch/README
1720320140b ./gcc/ch/satisfy.c
1539445801b ./gcc/ch/tasking.c
2604102496b ./gcc/ch/tasking.h
@@ -200,18 +155,19 @@
272436253b ./gcc/ch/tree.c
2688980962b ./gcc/ch/typeck.c
4020668406b ./gcc/ch/xtypeck.c
-4182935035b ./gcc/collect2.c
+3829210531b ./gcc/c-iterate.c
+1221346333b ./gcc/c-lang.c
+4038532167b ./gcc/c-lex.c
+1368444824b ./gcc/c-lex.h
+1724648154b ./gcc/collect2.c
1699818163b ./gcc/collect2.h
-1113369632b ./gcc/combine.c
+ 495045693b ./gcc/combine.c
1434596660b ./gcc/conditions.h
-1315260558b ./gcc/config.guess
- 411742057b ./gcc/config.in
4106504689b ./gcc/config/1750a/1750a.c
3234129706b ./gcc/config/1750a/1750a.h
3095377682b ./gcc/config/1750a/1750a.md
2477730384b ./gcc/config/1750a/ms1750.inc
1693851368b ./gcc/config/1750a/xm-1750a.h
-3917072699b ./gcc/config/README
3821624618b ./gcc/config/a29k/a29k.c
4174995942b ./gcc/config/a29k/a29k.h
3852750578b ./gcc/config/a29k/a29k.md
@@ -221,14 +177,14 @@
2502433193b ./gcc/config/a29k/udi.h
2011164678b ./gcc/config/a29k/unix.h
1666542577b ./gcc/config/a29k/vx29k.h
- 144752292b ./gcc/config/a29k/x-unix
2996218177b ./gcc/config/a29k/xm-a29k.h
2472430666b ./gcc/config/a29k/xm-unix.h
-3742075344b ./gcc/config/alpha/alpha-interix.h
+ 144752292b ./gcc/config/a29k/x-unix
+ 193538505b ./gcc/config/alpha/alpha32.h
1514879972b ./gcc/config/alpha/alpha.c
3100261546b ./gcc/config/alpha/alpha.h
+3742075344b ./gcc/config/alpha/alpha-interix.h
754462921b ./gcc/config/alpha/alpha.md
- 193538505b ./gcc/config/alpha/alpha32.h
795597665b ./gcc/config/alpha/config-nt.sed
3567833533b ./gcc/config/alpha/crtbegin.asm
1312076907b ./gcc/config/alpha/crtend.asm
@@ -240,21 +196,21 @@
3777698255b ./gcc/config/alpha/netbsd-elf.h
5367058b ./gcc/config/alpha/netbsd.h
4065475375b ./gcc/config/alpha/openbsd.h
-1470207174b ./gcc/config/alpha/osf.h
1792826440b ./gcc/config/alpha/osf12.h
1928873630b ./gcc/config/alpha/osf2or3.h
+1470207174b ./gcc/config/alpha/osf.h
2118184540b ./gcc/config/alpha/t-crtbe
3128522514b ./gcc/config/alpha/t-ieee
3927015616b ./gcc/config/alpha/t-interix
1500154793b ./gcc/config/alpha/t-vms
3660437230b ./gcc/config/alpha/va_list.h
-1402142372b ./gcc/config/alpha/vms-tramp.asm
4010999121b ./gcc/config/alpha/vms.h
+1402142372b ./gcc/config/alpha/vms-tramp.asm
1904467114b ./gcc/config/alpha/vxworks.h
2487176671b ./gcc/config/alpha/win-nt.h
1758618093b ./gcc/config/alpha/x-alpha
-4139273463b ./gcc/config/alpha/xm-alpha-interix.h
2339893992b ./gcc/config/alpha/xm-alpha.h
+4139273463b ./gcc/config/alpha/xm-alpha-interix.h
2208381303b ./gcc/config/alpha/xm-openbsd.h
2295823330b ./gcc/config/alpha/xm-vms.h
822385833b ./gcc/config/alpha/xm-winnt.h
@@ -266,29 +222,34 @@
3301435163b ./gcc/config/arc/lib1funcs.asm
2984223315b ./gcc/config/arc/t-arc
819474010b ./gcc/config/arc/xm-arc.h
-2885119589b ./gcc/config/arm/README-interworking
1005732185b ./gcc/config/arm/aof.h
2774813096b ./gcc/config/arm/aout.h
-3428460683b ./gcc/config/arm/arm.c
- 230148666b ./gcc/config/arm/arm.h
-4135968481b ./gcc/config/arm/arm.md
+2860349734b ./gcc/config/arm/arm.c
+2608240560b ./gcc/config/arm/arm.h
+4087133611b ./gcc/config/arm/arm.md
2488881798b ./gcc/config/arm/coff.h
1087283327b ./gcc/config/arm/ecos-elf.h
3886798812b ./gcc/config/arm/elf.h
951700778b ./gcc/config/arm/lib1funcs.asm
184992847b ./gcc/config/arm/lib1thumb.asm
1327962964b ./gcc/config/arm/linux-aout.h
-1366979580b ./gcc/config/arm/linux-elf.h
-2589310907b ./gcc/config/arm/linux-elf26.h
+3689484926b ./gcc/config/arm/linux-elf26.h
+1081224307b ./gcc/config/arm/linux-elf.h
1629076541b ./gcc/config/arm/linux-gas.h
+1687883437b ./gcc/config/arm/linux-oldld.h
309925977b ./gcc/config/arm/netbsd.h
-2757393750b ./gcc/config/arm/riscix.h
+2885119589b ./gcc/config/arm/README-interworking
2714546048b ./gcc/config/arm/riscix1-1.h
+2757393750b ./gcc/config/arm/riscix.h
1910088041b ./gcc/config/arm/rix-gas.h
-3032000292b ./gcc/config/arm/semi.h
211210124b ./gcc/config/arm/semiaof.h
+3032000292b ./gcc/config/arm/semi.h
2293704459b ./gcc/config/arm/t-arm-elf
378848060b ./gcc/config/arm/t-bare
+ 63378260b ./gcc/config/arm/tcoff.h
+ 271105747b ./gcc/config/arm/thumb.c
+2006315119b ./gcc/config/arm/thumb.h
+3116482299b ./gcc/config/arm/thumb.md
3774122170b ./gcc/config/arm/t-linux
2612005796b ./gcc/config/arm/t-netbsd
3806050362b ./gcc/config/arm/t-pe
@@ -296,18 +257,14 @@
106908213b ./gcc/config/arm/t-semi
2293966688b ./gcc/config/arm/t-semiaof
252266176b ./gcc/config/arm/t-thumb
- 63378260b ./gcc/config/arm/tcoff.h
- 271105747b ./gcc/config/arm/thumb.c
-2006315119b ./gcc/config/arm/thumb.h
-3116482299b ./gcc/config/arm/thumb.md
-3578020456b ./gcc/config/arm/unknown-elf-oabi.h
3966028695b ./gcc/config/arm/unknown-elf.h
+3578020456b ./gcc/config/arm/unknown-elf-oabi.h
1413665446b ./gcc/config/arm/vxarm.h
-2097180198b ./gcc/config/arm/x-riscix
125476982b ./gcc/config/arm/xm-arm.h
1599844562b ./gcc/config/arm/xm-linux.h
639443881b ./gcc/config/arm/xm-netbsd.h
1103633380b ./gcc/config/arm/xm-thumb.h
+2097180198b ./gcc/config/arm/x-riscix
1681095721b ./gcc/config/c4x/c4x.c
2648849385b ./gcc/config/c4x/c4x.h
814641753b ./gcc/config/c4x/c4x.md
@@ -326,14 +283,14 @@
861253244b ./gcc/config/convex/fixinc.convex
2034360953b ./gcc/config/convex/x-convex
944974965b ./gcc/config/convex/xm-convex.h
- 186717254b ./gcc/config/dbx.h
2118339989b ./gcc/config/dbxcoff.h
719087325b ./gcc/config/dbxelf.h
+ 186717254b ./gcc/config/dbx.h
1049830767b ./gcc/config/dsp16xx/dsp16xx.c
2057916657b ./gcc/config/dsp16xx/dsp16xx.h
2894810547b ./gcc/config/dsp16xx/dsp16xx.md
3197918419b ./gcc/config/dsp16xx/xm-dsp16xx.h
-4184394185b ./gcc/config/elfos.h
+3235410430b ./gcc/config/elfos.h
462661649b ./gcc/config/elxsi/elxsi.c
228348883b ./gcc/config/elxsi/elxsi.h
3851060193b ./gcc/config/elxsi/elxsi.md
@@ -356,9 +313,10 @@
608028190b ./gcc/config/gmicro/gmicro.md
192108986b ./gcc/config/gnu.h
3358057730b ./gcc/config/gofast.h
-1938295589b ./gcc/config/h8300/h8300.c
+1315260558b ./gcc/config.guess
+ 73377905b ./gcc/config/h8300/h8300.c
4067077485b ./gcc/config/h8300/h8300.h
-4278905105b ./gcc/config/h8300/h8300.md
+1910118754b ./gcc/config/h8300/h8300.md
519828525b ./gcc/config/h8300/lib1funcs.asm
3869818599b ./gcc/config/h8300/t-h8300
3636250675b ./gcc/config/h8300/xm-h8300.h
@@ -371,16 +329,16 @@
3277790510b ./gcc/config/i386/aix386.h
3639481346b ./gcc/config/i386/aix386ng.h
2339764147b ./gcc/config/i386/att.h
-2582980211b ./gcc/config/i386/bsd.h
2102389190b ./gcc/config/i386/bsd386.h
+2582980211b ./gcc/config/i386/bsd.h
3010444208b ./gcc/config/i386/config-nt.sed
1755486995b ./gcc/config/i386/crtdll.h
3943560803b ./gcc/config/i386/cygwin.asm
1990906306b ./gcc/config/i386/cygwin.h
72827188b ./gcc/config/i386/dgux.c
2430932709b ./gcc/config/i386/dgux.h
-3567816533b ./gcc/config/i386/djgpp-rtems.h
1357324982b ./gcc/config/i386/djgpp.h
+3567816533b ./gcc/config/i386/djgpp-rtems.h
1265439821b ./gcc/config/i386/freebsd-elf.h
914300508b ./gcc/config/i386/freebsd.h
2875212455b ./gcc/config/i386/gas.h
@@ -388,20 +346,20 @@
2847664881b ./gcc/config/i386/gnu.h
166489147b ./gcc/config/i386/gstabs.h
3985340307b ./gcc/config/i386/i386-aout.h
-4111667020b ./gcc/config/i386/i386-coff.h
-1460528421b ./gcc/config/i386/i386-interix.h
2508343420b ./gcc/config/i386/i386.c
+4111667020b ./gcc/config/i386/i386-coff.h
2250291155b ./gcc/config/i386/i386.h
-1933429844b ./gcc/config/i386/i386.md
+1460528421b ./gcc/config/i386/i386-interix.h
+1750576911b ./gcc/config/i386/i386.md
736772779b ./gcc/config/i386/interix.c
-3245573839b ./gcc/config/i386/isc.h
3165191846b ./gcc/config/i386/isccoff.h
231729323b ./gcc/config/i386/iscdbx.h
+3245573839b ./gcc/config/i386/isc.h
26710255b ./gcc/config/i386/linux-aout.h
-4113338393b ./gcc/config/i386/linux-oldld.h
2953089825b ./gcc/config/i386/linux.h
-3286906750b ./gcc/config/i386/lynx-ng.h
+4113338393b ./gcc/config/i386/linux-oldld.h
3496788786b ./gcc/config/i386/lynx.h
+3286906750b ./gcc/config/i386/lynx-ng.h
346786519b ./gcc/config/i386/mach.h
679000007b ./gcc/config/i386/mingw32.h
700471847b ./gcc/config/i386/moss.h
@@ -411,35 +369,35 @@
407886013b ./gcc/config/i386/os2.h
2999570618b ./gcc/config/i386/osf1-ci.asm
2303041887b ./gcc/config/i386/osf1-cn.asm
-3591132822b ./gcc/config/i386/osf1elf.h
3380650348b ./gcc/config/i386/osf1elfgdb.h
+3591132822b ./gcc/config/i386/osf1elf.h
779598425b ./gcc/config/i386/osfelf.h
719827043b ./gcc/config/i386/osfrose.h
1380319377b ./gcc/config/i386/perform.h
237958676b ./gcc/config/i386/ptx4-i.h
-3828816383b ./gcc/config/i386/rtems.h
1746945386b ./gcc/config/i386/rtemself.h
-2829001020b ./gcc/config/i386/sco.h
- 31982113b ./gcc/config/i386/sco4.h
+3828816383b ./gcc/config/i386/rtems.h
4154426458b ./gcc/config/i386/sco4dbx.h
-1991449500b ./gcc/config/i386/sco5.h
+ 31982113b ./gcc/config/i386/sco4.h
508494106b ./gcc/config/i386/sco5gas.h
+1991449500b ./gcc/config/i386/sco5.h
2105078551b ./gcc/config/i386/scodbx.h
+2829001020b ./gcc/config/i386/sco.h
+1518390266b ./gcc/config/i386/seq2-sysv3.h
2260828739b ./gcc/config/i386/seq-gas.h
31216179b ./gcc/config/i386/seq-sysv3.h
-1518390266b ./gcc/config/i386/seq2-sysv3.h
3863801861b ./gcc/config/i386/sequent.h
892782158b ./gcc/config/i386/sol2-c1.asm
1565106149b ./gcc/config/i386/sol2-ci.asm
4008317666b ./gcc/config/i386/sol2-cn.asm
+3651800257b ./gcc/config/i386/sol2gas.h
1864202258b ./gcc/config/i386/sol2-gc1.asm
4034476801b ./gcc/config/i386/sol2.h
-2366106636b ./gcc/config/i386/sol2gas.h
- 684374459b ./gcc/config/i386/sun.h
1545753253b ./gcc/config/i386/sun386.h
-3846064431b ./gcc/config/i386/svr3.ifile
+ 684374459b ./gcc/config/i386/sun.h
3556123079b ./gcc/config/i386/svr3dbx.h
1910703073b ./gcc/config/i386/svr3gas.h
+3846064431b ./gcc/config/i386/svr3.ifile
1523044645b ./gcc/config/i386/svr3z.ifile
619283818b ./gcc/config/i386/sysv3.h
2388432403b ./gcc/config/i386/sysv4.h
@@ -470,24 +428,15 @@
1243186138b ./gcc/config/i386/v3gas.h
2327961737b ./gcc/config/i386/vsta.h
2176070711b ./gcc/config/i386/vxi386.h
-2860761703b ./gcc/config/i386/win-nt.h
1626352388b ./gcc/config/i386/win32.h
3439334875b ./gcc/config/i386/winnt.c
+2860761703b ./gcc/config/i386/win-nt.h
3474740080b ./gcc/config/i386/x-aix
237037873b ./gcc/config/i386/x-cygwin
745721423b ./gcc/config/i386/x-dgux
231807750b ./gcc/config/i386/x-djgpp
4175788105b ./gcc/config/i386/x-isc
1331677327b ./gcc/config/i386/x-isc3
-1612131512b ./gcc/config/i386/x-ncr3000
-2391387330b ./gcc/config/i386/x-next
-4245915723b ./gcc/config/i386/x-osf1elf
- 42414247b ./gcc/config/i386/x-osfrose
-2268838873b ./gcc/config/i386/x-sco
-2587996311b ./gcc/config/i386/x-sco4
-1611173336b ./gcc/config/i386/x-sco5
-1036967407b ./gcc/config/i386/x-sysv3
-1769627032b ./gcc/config/i386/x-vsta
446547808b ./gcc/config/i386/xm-aix.h
4250296631b ./gcc/config/i386/xm-bsd386.h
2549976913b ./gcc/config/i386/xm-cygwin.h
@@ -496,8 +445,8 @@
3045936467b ./gcc/config/i386/xm-dos.h
2787520086b ./gcc/config/i386/xm-freebsd.h
2990995265b ./gcc/config/i386/xm-gnu.h
- 256026568b ./gcc/config/i386/xm-i386-interix.h
767722837b ./gcc/config/i386/xm-i386.h
+ 256026568b ./gcc/config/i386/xm-i386-interix.h
3899420493b ./gcc/config/i386/xm-isc.h
3801083047b ./gcc/config/i386/xm-linux.h
2830832587b ./gcc/config/i386/xm-lynx.h
@@ -505,16 +454,24 @@
3487707401b ./gcc/config/i386/xm-next.h
1218154368b ./gcc/config/i386/xm-openbsd.h
587932334b ./gcc/config/i386/xm-os2.h
- 446547808b ./gcc/config/i386/xm-osf.h
412013975b ./gcc/config/i386/xm-osf1elf.h
- 262721373b ./gcc/config/i386/xm-sco.h
+ 446547808b ./gcc/config/i386/xm-osf.h
3701039150b ./gcc/config/i386/xm-sco5.h
+ 262721373b ./gcc/config/i386/xm-sco.h
1933101345b ./gcc/config/i386/xm-sun.h
1551498273b ./gcc/config/i386/xm-sysv3.h
3083140420b ./gcc/config/i386/xm-sysv4.h
-1156943457b ./gcc/config/i386/xm-uwin.h
1404515293b ./gcc/config/i386/xm-vsta.h
2531169178b ./gcc/config/i386/xm-winnt.h
+1612131512b ./gcc/config/i386/x-ncr3000
+2391387330b ./gcc/config/i386/x-next
+4245915723b ./gcc/config/i386/x-osf1elf
+ 42414247b ./gcc/config/i386/x-osfrose
+2268838873b ./gcc/config/i386/x-sco
+2587996311b ./gcc/config/i386/x-sco4
+1611173336b ./gcc/config/i386/x-sco5
+1036967407b ./gcc/config/i386/x-sysv3
+1769627032b ./gcc/config/i386/x-vsta
3691699076b ./gcc/config/i860/bsd-gas.h
3097443514b ./gcc/config/i860/bsd.h
1268798206b ./gcc/config/i860/fx2800.h
@@ -527,12 +484,12 @@
2497417089b ./gcc/config/i860/sysv4.h
269024431b ./gcc/config/i860/t-fx2800
3969131493b ./gcc/config/i860/x-fx2800
- 878205655b ./gcc/config/i860/x-sysv3
-3510916973b ./gcc/config/i860/x-sysv4
994204119b ./gcc/config/i860/xm-fx2800.h
2507432460b ./gcc/config/i860/xm-i860.h
-2870836375b ./gcc/config/i960/i960-coff.h
+ 878205655b ./gcc/config/i860/x-sysv3
+3510916973b ./gcc/config/i860/x-sysv4
2802625596b ./gcc/config/i960/i960.c
+2870836375b ./gcc/config/i960/i960-coff.h
2742207675b ./gcc/config/i960/i960.h
2585178812b ./gcc/config/i960/i960.md
4195280424b ./gcc/config/i960/rtems.h
@@ -541,80 +498,81 @@
2626110515b ./gcc/config/i960/vx960-coff.h
1895495318b ./gcc/config/i960/vx960.h
2616292576b ./gcc/config/i960/xm-i960.h
+ 411742057b ./gcc/config.in
1336130822b ./gcc/config/interix.h
3065028535b ./gcc/config/libgloss.h
1240514243b ./gcc/config/linux-aout.h
1742048094b ./gcc/config/linux.h
-1966627403b ./gcc/config/lynx-ng.h
1209329151b ./gcc/config/lynx.h
+1966627403b ./gcc/config/lynx-ng.h
620755617b ./gcc/config/m32r/initfini.c
2225186460b ./gcc/config/m32r/m32r.c
2292829039b ./gcc/config/m32r/m32r.h
4221416263b ./gcc/config/m32r/m32r.md
4179023172b ./gcc/config/m32r/t-m32r
3744202374b ./gcc/config/m32r/xm-m32r.h
- 403759046b ./gcc/config/m68k/3b1.h
2069430788b ./gcc/config/m68k/3b1g.h
-2113609688b ./gcc/config/m68k/a-ux.h
+ 403759046b ./gcc/config/m68k/3b1.h
656990409b ./gcc/config/m68k/altos3068.h
2258908566b ./gcc/config/m68k/amix.h
3696604588b ./gcc/config/m68k/apollo68.h
3575263056b ./gcc/config/m68k/atari.h
+2970953465b ./gcc/config/m68k/auxas.h
303618558b ./gcc/config/m68k/aux-crt1.c
189508427b ./gcc/config/m68k/aux-crt2.asm
118144777b ./gcc/config/m68k/aux-crtn.asm
141176279b ./gcc/config/m68k/aux-exit.c
-2164284366b ./gcc/config/m68k/aux-low.gld
-2715416885b ./gcc/config/m68k/aux-mcount.c
-2970953465b ./gcc/config/m68k/auxas.h
1158552592b ./gcc/config/m68k/auxgas.h
922288695b ./gcc/config/m68k/auxgld.h
+2113609688b ./gcc/config/m68k/a-ux.h
2685530303b ./gcc/config/m68k/auxld.h
+2164284366b ./gcc/config/m68k/aux-low.gld
+2715416885b ./gcc/config/m68k/aux-mcount.c
3169632395b ./gcc/config/m68k/ccur-GAS.h
351312764b ./gcc/config/m68k/coff.h
207482095b ./gcc/config/m68k/crds.h
2722243824b ./gcc/config/m68k/ctix.h
- 603423256b ./gcc/config/m68k/dpx2.h
-2216029984b ./gcc/config/m68k/dpx2.ifile
2770446786b ./gcc/config/m68k/dpx2cdbx.h
1165167071b ./gcc/config/m68k/dpx2g.h
+ 603423256b ./gcc/config/m68k/dpx2.h
+2216029984b ./gcc/config/m68k/dpx2.ifile
2518640661b ./gcc/config/m68k/fpgnulib.c
1510706425b ./gcc/config/m68k/hp2bsd.h
-1601304406b ./gcc/config/m68k/hp310.h
4247760656b ./gcc/config/m68k/hp310g.h
-4114232317b ./gcc/config/m68k/hp320.h
+1601304406b ./gcc/config/m68k/hp310.h
3645108527b ./gcc/config/m68k/hp320g.h
-1601216299b ./gcc/config/m68k/hp3bsd.h
+4114232317b ./gcc/config/m68k/hp320.h
4063375962b ./gcc/config/m68k/hp3bsd44.h
+1601216299b ./gcc/config/m68k/hp3bsd.h
2864047424b ./gcc/config/m68k/hpux7.h
-3484500543b ./gcc/config/m68k/isi-nfp.h
683427592b ./gcc/config/m68k/isi.h
+3484500543b ./gcc/config/m68k/isi-nfp.h
2393398106b ./gcc/config/m68k/lb1sf68.asm
1287467488b ./gcc/config/m68k/linux-aout.h
2513852382b ./gcc/config/m68k/linux.h
-2275885553b ./gcc/config/m68k/lynx-ng.h
1765384748b ./gcc/config/m68k/lynx.h
+2275885553b ./gcc/config/m68k/lynx-ng.h
2810980833b ./gcc/config/m68k/m68020-elf.h
388266224b ./gcc/config/m68k/m68k-aout.h
-1018776699b ./gcc/config/m68k/m68k-coff.h
-3855098247b ./gcc/config/m68k/m68k-none.h
-2991007317b ./gcc/config/m68k/m68k-psos.h
1327340244b ./gcc/config/m68k/m68k.c
-2999475749b ./gcc/config/m68k/m68k.h
- 782535168b ./gcc/config/m68k/m68k.md
+1018776699b ./gcc/config/m68k/m68k-coff.h
3736322150b ./gcc/config/m68k/m68kelf.h
2590349266b ./gcc/config/m68k/m68kemb.h
+ 853341913b ./gcc/config/m68k/m68k.h
+ 782535168b ./gcc/config/m68k/m68k.md
+3855098247b ./gcc/config/m68k/m68k-none.h
+2991007317b ./gcc/config/m68k/m68k-psos.h
2788206253b ./gcc/config/m68k/m68kv4.h
4281215928b ./gcc/config/m68k/mot3300-crt0.S
811675754b ./gcc/config/m68k/mot3300.h
3413791584b ./gcc/config/m68k/mot3300Mcrt0.S
3624312269b ./gcc/config/m68k/netbsd.h
-4208572343b ./gcc/config/m68k/news.h
- 895337217b ./gcc/config/m68k/news3.h
2598124463b ./gcc/config/m68k/news3gas.h
+ 895337217b ./gcc/config/m68k/news3.h
2644657409b ./gcc/config/m68k/newsgas.h
-2862451568b ./gcc/config/m68k/next.h
+4208572343b ./gcc/config/m68k/news.h
1968305925b ./gcc/config/m68k/next21.h
+2862451568b ./gcc/config/m68k/next.h
3770709000b ./gcc/config/m68k/openbsd.h
384160690b ./gcc/config/m68k/pbb.h
3798721722b ./gcc/config/m68k/plexus.h
@@ -624,8 +582,8 @@
34831333b ./gcc/config/m68k/sun2o4.h
2871755703b ./gcc/config/m68k/sun3.h
4094912646b ./gcc/config/m68k/sun3mach.h
- 120628064b ./gcc/config/m68k/sun3n.h
864417723b ./gcc/config/m68k/sun3n3.h
+ 120628064b ./gcc/config/m68k/sun3n.h
2298299278b ./gcc/config/m68k/sun3o3.h
2211291190b ./gcc/config/m68k/t-aux
1601671577b ./gcc/config/m68k/t-linux
@@ -638,9 +596,9 @@
1936444177b ./gcc/config/m68k/t-mot3300-gas
2294965883b ./gcc/config/m68k/t-mot3300-gld
249897538b ./gcc/config/m68k/t-next
-2967405432b ./gcc/config/m68k/t-vxworks68
2026708872b ./gcc/config/m68k/tower-as.h
551679654b ./gcc/config/m68k/tower.h
+2967405432b ./gcc/config/m68k/t-vxworks68
2987165266b ./gcc/config/m68k/vxm68k.h
878205655b ./gcc/config/m68k/x-alloca-c
4096453725b ./gcc/config/m68k/x-amix
@@ -651,10 +609,6 @@
1240963087b ./gcc/config/m68k/x-hp2bsd
4196102339b ./gcc/config/m68k/x-hp320
59330584b ./gcc/config/m68k/x-hp320g
-3404524005b ./gcc/config/m68k/x-mot3300
-3170569156b ./gcc/config/m68k/x-mot3300-gas
- 805482102b ./gcc/config/m68k/x-next
- 263693140b ./gcc/config/m68k/x-tower
2280950471b ./gcc/config/m68k/xm-3b1.h
832557662b ./gcc/config/m68k/xm-altos3068.h
4285982649b ./gcc/config/m68k/xm-amix.h
@@ -669,42 +623,46 @@
2316649618b ./gcc/config/m68k/xm-mot3300.h
3626208384b ./gcc/config/m68k/xm-next.h
2596148490b ./gcc/config/m68k/xm-openbsd.h
+3404524005b ./gcc/config/m68k/x-mot3300
+3170569156b ./gcc/config/m68k/x-mot3300-gas
4033365544b ./gcc/config/m68k/xm-plexus.h
3728255284b ./gcc/config/m68k/xm-sun3.h
1429673665b ./gcc/config/m68k/xm-tower.h
+ 805482102b ./gcc/config/m68k/x-next
+ 263693140b ./gcc/config/m68k/x-tower
+ 559413212b ./gcc/config/m88k/dguxbcs.h
1119083995b ./gcc/config/m88k/dgux.h
3298414170b ./gcc/config/m88k/dgux.ld
- 559413212b ./gcc/config/m88k/dguxbcs.h
2075050065b ./gcc/config/m88k/dolph.h
1558967450b ./gcc/config/m88k/dolphin.ld
3853566566b ./gcc/config/m88k/luna.h
2278453924b ./gcc/config/m88k/m88k-aout.h
- 963743779b ./gcc/config/m88k/m88k-coff.h
-2372325319b ./gcc/config/m88k/m88k-move.sh
2203562636b ./gcc/config/m88k/m88k.c
+ 963743779b ./gcc/config/m88k/m88k-coff.h
766388925b ./gcc/config/m88k/m88k.h
462097294b ./gcc/config/m88k/m88k.md
+2372325319b ./gcc/config/m88k/m88k-move.sh
898184603b ./gcc/config/m88k/sysv3.h
1993010118b ./gcc/config/m88k/sysv4.h
4060219622b ./gcc/config/m88k/t-bug
3683187732b ./gcc/config/m88k/t-dgux
-1298890126b ./gcc/config/m88k/t-dgux-gas
4032605278b ./gcc/config/m88k/t-dguxbcs
+1298890126b ./gcc/config/m88k/t-dgux-gas
+2796441735b ./gcc/config/m88k/tekXD88.h
+ 173867895b ./gcc/config/m88k/tekXD88.ld
3651584303b ./gcc/config/m88k/t-luna
270918189b ./gcc/config/m88k/t-luna-gas
4060219622b ./gcc/config/m88k/t-m88k
2588594092b ./gcc/config/m88k/t-m88k-gas
3886447115b ./gcc/config/m88k/t-sysv4
-2796441735b ./gcc/config/m88k/tekXD88.h
- 173867895b ./gcc/config/m88k/tekXD88.ld
3129976968b ./gcc/config/m88k/x-dgux
487572801b ./gcc/config/m88k/x-dguxbcs
3447263593b ./gcc/config/m88k/x-dolph
+ 581988232b ./gcc/config/m88k/xm-m88k.h
+1950046494b ./gcc/config/m88k/xm-sysv3.h
432446889b ./gcc/config/m88k/x-sysv3
2614770624b ./gcc/config/m88k/x-sysv4
2762110114b ./gcc/config/m88k/x-tekXD88
- 581988232b ./gcc/config/m88k/xm-m88k.h
-1950046494b ./gcc/config/m88k/xm-sysv3.h
962826654b ./gcc/config/mips/abi64.h
2723281235b ./gcc/config/mips/bsd-4.h
616617104b ./gcc/config/mips/bsd-5.h
@@ -713,25 +671,25 @@
3807606487b ./gcc/config/mips/dec-osf1.h
260679193b ./gcc/config/mips/ecoff.h
3551974985b ./gcc/config/mips/ecoffl.h
-3480170287b ./gcc/config/mips/elf.h
4007015481b ./gcc/config/mips/elf64.h
-4118432176b ./gcc/config/mips/elfl.h
+3480170287b ./gcc/config/mips/elf.h
1175169006b ./gcc/config/mips/elfl64.h
+4118432176b ./gcc/config/mips/elfl.h
452497001b ./gcc/config/mips/elflorion.h
4210328521b ./gcc/config/mips/elforion.h
1143331470b ./gcc/config/mips/gnu.h
2568626403b ./gcc/config/mips/iris3.h
63757439b ./gcc/config/mips/iris4.h
2743944992b ./gcc/config/mips/iris4loser.h
-1976320964b ./gcc/config/mips/iris5.h
3875094584b ./gcc/config/mips/iris5gas.h
+1976320964b ./gcc/config/mips/iris5.h
2588991547b ./gcc/config/mips/iris6.h
3852135655b ./gcc/config/mips/linux.h
+3291569396b ./gcc/config/mips/mips16.S
3652751219b ./gcc/config/mips/mips-5.h
3997122313b ./gcc/config/mips/mips.c
828076041b ./gcc/config/mips/mips.h
2095290633b ./gcc/config/mips/mips.md
-3291569396b ./gcc/config/mips/mips16.S
3494806728b ./gcc/config/mips/netbsd.h
1852349798b ./gcc/config/mips/news4.h
2469834027b ./gcc/config/mips/news5.h
@@ -762,19 +720,12 @@
745314483b ./gcc/config/mips/t-svr4-gas
2170716316b ./gcc/config/mips/t-ultrix
210779045b ./gcc/config/mips/ultrix.h
-2492428118b ./gcc/config/mips/vxworks.h
+3227136420b ./gcc/config/mips/vxworks.h
1093662493b ./gcc/config/mips/x-dec-osf1
3056692151b ./gcc/config/mips/x-iris
490324532b ./gcc/config/mips/x-iris3
755414710b ./gcc/config/mips/x-iris6
1433979648b ./gcc/config/mips/x-mips
-2162788729b ./gcc/config/mips/x-netbsd
-3800034921b ./gcc/config/mips/x-nws3250v4
-2621150460b ./gcc/config/mips/x-osfrose
-4105797367b ./gcc/config/mips/x-sni-svr4
-2028727147b ./gcc/config/mips/x-sony
- 823835751b ./gcc/config/mips/x-sysv
-1093662493b ./gcc/config/mips/x-ultrix
2375550941b ./gcc/config/mips/xm-iris3.h
3197006010b ./gcc/config/mips/xm-iris4.h
3440296848b ./gcc/config/mips/xm-iris5.h
@@ -782,8 +733,15 @@
1940209380b ./gcc/config/mips/xm-mips.h
2988484388b ./gcc/config/mips/xm-news.h
1980789011b ./gcc/config/mips/xm-nws3250v4.h
-1007989765b ./gcc/config/mips/xm-sysv.h
220014071b ./gcc/config/mips/xm-sysv4.h
+1007989765b ./gcc/config/mips/xm-sysv.h
+2162788729b ./gcc/config/mips/x-netbsd
+3800034921b ./gcc/config/mips/x-nws3250v4
+2621150460b ./gcc/config/mips/x-osfrose
+4105797367b ./gcc/config/mips/x-sni-svr4
+2028727147b ./gcc/config/mips/x-sony
+ 823835751b ./gcc/config/mips/x-sysv
+1093662493b ./gcc/config/mips/x-ultrix
4083711028b ./gcc/config/mn10200/divmod.c
2305385178b ./gcc/config/mn10200/lib1funcs.asm
2755654897b ./gcc/config/mn10200/mn10200.c
@@ -803,9 +761,9 @@
196042059b ./gcc/config/msdos/mklibgcc.c
3152790587b ./gcc/config/msdos/top.sed
4102769563b ./gcc/config/netbsd.h
+ 669336809b ./gcc/config/nextstep21.h
1550360365b ./gcc/config/nextstep.c
2540764799b ./gcc/config/nextstep.h
- 669336809b ./gcc/config/nextstep21.h
3464103330b ./gcc/config/ns32k/encore.h
3670330882b ./gcc/config/ns32k/genix.h
3696144992b ./gcc/config/ns32k/merlin.h
@@ -813,9 +771,9 @@
3755726328b ./gcc/config/ns32k/ns32k.c
3496268242b ./gcc/config/ns32k/ns32k.h
2181731591b ./gcc/config/ns32k/ns32k.md
+2256914403b ./gcc/config/ns32k/pc532.h
3442532179b ./gcc/config/ns32k/pc532-mach.h
3083546287b ./gcc/config/ns32k/pc532-min.h
-2256914403b ./gcc/config/ns32k/pc532.h
2013512481b ./gcc/config/ns32k/sequent.h
4197473842b ./gcc/config/ns32k/tek6000.h
4027331813b ./gcc/config/ns32k/tek6100.h
@@ -830,29 +788,29 @@
2905526493b ./gcc/config/pa/ee_fp.asm
2928231280b ./gcc/config/pa/lib1funcs.asm
531910520b ./gcc/config/pa/lib2funcs.asm
+1025741261b ./gcc/config/pa/pa1.h
+ 509609341b ./gcc/config/pa/pa.c
3698457987b ./gcc/config/pa/pa-gas.h
+3381529477b ./gcc/config/pa/pa.h
3488257955b ./gcc/config/pa/pa-hiux.h
- 642326892b ./gcc/config/pa/pa-hpux.h
2717205711b ./gcc/config/pa/pa-hpux10.h
3105643464b ./gcc/config/pa/pa-hpux7.h
3124002443b ./gcc/config/pa/pa-hpux9.h
+ 642326892b ./gcc/config/pa/pa-hpux.h
+3791939783b ./gcc/config/pa/pa.md
3618123809b ./gcc/config/pa/pa-oldas.h
14614223b ./gcc/config/pa/pa-osf.h
4033897959b ./gcc/config/pa/pa-pro-end.h
2922201548b ./gcc/config/pa/pa-pro.h
- 509609341b ./gcc/config/pa/pa.c
-3381529477b ./gcc/config/pa/pa.h
-3791939783b ./gcc/config/pa/pa.md
-1025741261b ./gcc/config/pa/pa1.h
3985707980b ./gcc/config/pa/rtems.h
1117935804b ./gcc/config/pa/t-dce-thr
1863456120b ./gcc/config/pa/t-pa
2490743349b ./gcc/config/pa/t-pro
-2143426929b ./gcc/config/pa/x-pa
-4046545344b ./gcc/config/pa/x-pa-hpux
4249254077b ./gcc/config/pa/xm-pa.h
3466885422b ./gcc/config/pa/xm-pahpux.h
2372326382b ./gcc/config/pa/xm-papro.h
+2143426929b ./gcc/config/pa/x-pa
+4046545344b ./gcc/config/pa/x-pa-hpux
743608944b ./gcc/config/pdp11/2bsd.h
2014002809b ./gcc/config/pdp11/pdp11.c
3794653707b ./gcc/config/pdp11/pdp11.h
@@ -864,26 +822,27 @@
3526974131b ./gcc/config/pyr/pyr.c
339012099b ./gcc/config/pyr/pyr.h
2905092864b ./gcc/config/pyr/pyr.md
- 840485037b ./gcc/config/pyr/x-pyr
2986118067b ./gcc/config/pyr/xm-pyr.h
+ 840485037b ./gcc/config/pyr/x-pyr
+3917072699b ./gcc/config/README
2499666444b ./gcc/config/romp/romp.c
1477332049b ./gcc/config/romp/romp.h
713610882b ./gcc/config/romp/romp.md
2880448747b ./gcc/config/romp/x-mach
-2947038505b ./gcc/config/romp/x-romp
3484447782b ./gcc/config/romp/xm-romp.h
+2947038505b ./gcc/config/romp/x-romp
3112884702b ./gcc/config/rs6000/aix31.h
1675087546b ./gcc/config/rs6000/aix3newas.h
1494702623b ./gcc/config/rs6000/aix41.h
2970024935b ./gcc/config/rs6000/aix43.h
3242211636b ./gcc/config/rs6000/beos.h
3794273341b ./gcc/config/rs6000/cygwin.h
+ 112343096b ./gcc/config/rs6000/eabiaix.h
+3043603887b ./gcc/config/rs6000/eabi.asm
3373760176b ./gcc/config/rs6000/eabi-ci.asm
1240044824b ./gcc/config/rs6000/eabi-cn.asm
-2272737814b ./gcc/config/rs6000/eabi-ctors.c
-3043603887b ./gcc/config/rs6000/eabi.asm
+2033395004b ./gcc/config/rs6000/eabi-ctors.c
2983890082b ./gcc/config/rs6000/eabi.h
- 112343096b ./gcc/config/rs6000/eabiaix.h
2310432239b ./gcc/config/rs6000/eabile.h
4040254220b ./gcc/config/rs6000/eabilesim.h
1593983191b ./gcc/config/rs6000/eabisim.h
@@ -895,15 +854,15 @@
1545361972b ./gcc/config/rs6000/nt-ci.asm
2111607652b ./gcc/config/rs6000/nt-cn.asm
3066888831b ./gcc/config/rs6000/ntstack.asm
-2112172190b ./gcc/config/rs6000/rs6000.c
- 584759062b ./gcc/config/rs6000/rs6000.h
-2907826078b ./gcc/config/rs6000/rs6000.md
+1852442917b ./gcc/config/rs6000/rs6000.c
+2374964851b ./gcc/config/rs6000/rs6000.h
+3719637212b ./gcc/config/rs6000/rs6000.md
4257252017b ./gcc/config/rs6000/rtems.h
+3407572927b ./gcc/config/rs6000/sol2.h
1289418179b ./gcc/config/rs6000/sol-c0.c
1695016479b ./gcc/config/rs6000/sol-ci.asm
1927994766b ./gcc/config/rs6000/sol-cn.asm
-3407572927b ./gcc/config/rs6000/sol2.h
- 378894455b ./gcc/config/rs6000/sysv4.h
+2287335055b ./gcc/config/rs6000/sysv4.h
1454776131b ./gcc/config/rs6000/sysv4le.h
1059562469b ./gcc/config/rs6000/t-aix43
3218787192b ./gcc/config/rs6000/t-beos
@@ -912,11 +871,11 @@
4272756841b ./gcc/config/rs6000/t-ppccomm
2868568113b ./gcc/config/rs6000/t-ppcgas
1283581552b ./gcc/config/rs6000/t-ppcos
+1717019755b ./gcc/config/rs6000/tramp.asm
3065325019b ./gcc/config/rs6000/t-rs6000
1874501442b ./gcc/config/rs6000/t-winnt
1415019668b ./gcc/config/rs6000/t-xnewas
3152886293b ./gcc/config/rs6000/t-xrs6000
-1717019755b ./gcc/config/rs6000/tramp.asm
1984878317b ./gcc/config/rs6000/vxppc.h
2069671306b ./gcc/config/rs6000/win-nt.h
489691602b ./gcc/config/rs6000/x-aix31
@@ -927,18 +886,18 @@
4218694447b ./gcc/config/rs6000/x-cygwin
176036232b ./gcc/config/rs6000/x-lynx
1119193055b ./gcc/config/rs6000/x-mach
- 443641603b ./gcc/config/rs6000/x-rs6000
-1861191694b ./gcc/config/rs6000/x-sysv4
4091924904b ./gcc/config/rs6000/xm-beos.h
3277280620b ./gcc/config/rs6000/xm-cygwin.h
1387161565b ./gcc/config/rs6000/xm-lynx.h
2311049093b ./gcc/config/rs6000/xm-mach.h
277319235b ./gcc/config/rs6000/xm-rs6000.h
1198144020b ./gcc/config/rs6000/xm-sysv4.h
+ 443641603b ./gcc/config/rs6000/x-rs6000
+1861191694b ./gcc/config/rs6000/x-sysv4
1070214752b ./gcc/config/sh/elf.h
3820397636b ./gcc/config/sh/lib1funcs.asm
-1030877040b ./gcc/config/sh/rtems.h
859670236b ./gcc/config/sh/rtemself.h
+1030877040b ./gcc/config/sh/rtems.h
828900658b ./gcc/config/sh/sh.c
1962148926b ./gcc/config/sh/sh.h
216149670b ./gcc/config/sh/sh.md
@@ -951,13 +910,13 @@
3746795534b ./gcc/config/sparc/hal.h
671302508b ./gcc/config/sparc/lb1spc.asm
892412538b ./gcc/config/sparc/lb1spl.asm
+3829792761b ./gcc/config/sparc/linux64.h
1432771552b ./gcc/config/sparc/linux-aout.h
928257827b ./gcc/config/sparc/linux.h
-3829792761b ./gcc/config/sparc/linux64.h
- 529818954b ./gcc/config/sparc/lite.h
3340219233b ./gcc/config/sparc/litecoff.h
-2353689337b ./gcc/config/sparc/lynx-ng.h
+ 529818954b ./gcc/config/sparc/lite.h
3270410192b ./gcc/config/sparc/lynx.h
+2353689337b ./gcc/config/sparc/lynx-ng.h
2136616646b ./gcc/config/sparc/netbsd.h
2977280248b ./gcc/config/sparc/openbsd.h
1461652436b ./gcc/config/sparc/pbd.h
@@ -966,14 +925,14 @@
3288323690b ./gcc/config/sparc/sol2-ci.asm
2004370404b ./gcc/config/sparc/sol2-cn.asm
2182182911b ./gcc/config/sparc/sol2-g1.asm
+1699311045b ./gcc/config/sparc/sol2.h
1938337838b ./gcc/config/sparc/sol2-sld-64.h
407406271b ./gcc/config/sparc/sol2-sld.h
-1699311045b ./gcc/config/sparc/sol2.h
2121730699b ./gcc/config/sparc/sp64-aout.h
824364328b ./gcc/config/sparc/sp64-elf.h
-3525812061b ./gcc/config/sparc/sparc.c
+ 8979159b ./gcc/config/sparc/sparc.c
1457594704b ./gcc/config/sparc/sparc.h
-2055160983b ./gcc/config/sparc/sparc.md
+1589963960b ./gcc/config/sparc/sparc.md
703944495b ./gcc/config/sparc/splet.h
2679804272b ./gcc/config/sparc/sun4gas.h
3455486806b ./gcc/config/sparc/sun4o3.h
@@ -993,7 +952,6 @@
2219277944b ./gcc/config/sparc/t-vxsparc
1400348246b ./gcc/config/sparc/vxsim.h
3525766313b ./gcc/config/sparc/vxsparc.h
-1861191694b ./gcc/config/sparc/x-sysv4
2878609946b ./gcc/config/sparc/xm-linux.h
2943271346b ./gcc/config/sparc/xm-lynx.h
1370920631b ./gcc/config/sparc/xm-openbsd.h
@@ -1003,12 +961,18 @@
859610969b ./gcc/config/sparc/xm-sparc.h
623960805b ./gcc/config/sparc/xm-sysv4-64.h
2019316444b ./gcc/config/sparc/xm-sysv4.h
+1861191694b ./gcc/config/sparc/x-sysv4
931170751b ./gcc/config/spur/spur.c
3404301551b ./gcc/config/spur/spur.h
597536974b ./gcc/config/spur/spur.md
1910933143b ./gcc/config/spur/xm-spur.h
3683970223b ./gcc/config/svr3.h
166319006b ./gcc/config/svr4.h
+ 8262563b ./gcc/config/tahoe/harris.h
+3522173108b ./gcc/config/tahoe/tahoe.c
+ 144796843b ./gcc/config/tahoe/tahoe.h
+2208590758b ./gcc/config/tahoe/tahoe.md
+2537862710b ./gcc/config/tahoe/xm-tahoe.h
613804065b ./gcc/config/t-freebsd
1372994999b ./gcc/config/t-gnu
3050012299b ./gcc/config/t-install-cpp
@@ -1016,20 +980,20 @@
1224602530b ./gcc/config/t-linux
144067535b ./gcc/config/t-linux-aout
4111896717b ./gcc/config/t-linux-gnulibc1
+4220164823b ./gcc/config/tm-dwarf2.h
1586139693b ./gcc/config/t-netbsd
2947277325b ./gcc/config/t-openbsd
2917904648b ./gcc/config/t-openbsd-thread
2026867792b ./gcc/config/t-rtems
182724490b ./gcc/config/t-svr4
- 8262563b ./gcc/config/tahoe/harris.h
-3522173108b ./gcc/config/tahoe/tahoe.c
- 144796843b ./gcc/config/tahoe/tahoe.h
-2208590758b ./gcc/config/tahoe/tahoe.md
-2537862710b ./gcc/config/tahoe/xm-tahoe.h
-4220164823b ./gcc/config/tm-dwarf2.h
+ 729030691b ./gcc/configure
+1467935606b ./gcc/configure.bat
+3600082583b ./gcc/configure.frag
+2231754695b ./gcc/configure.in
+4241351077b ./gcc/configure.lang
4096035368b ./gcc/config/v850/lib1funcs.asm
3022592642b ./gcc/config/v850/t-v850
-1619328378b ./gcc/config/v850/v850.c
+1702566744b ./gcc/config/v850/v850.c
1471160936b ./gcc/config/v850/v850.h
1499354909b ./gcc/config/v850/v850.md
2933253285b ./gcc/config/v850/xm-v850.h
@@ -1040,15 +1004,15 @@
2537275953b ./gcc/config/vax/vax.md
1907305315b ./gcc/config/vax/vaxv.h
560554680b ./gcc/config/vax/vms.h
-4031022191b ./gcc/config/vax/x-vax
4187728168b ./gcc/config/vax/xm-vax.h
542222840b ./gcc/config/vax/xm-vaxv.h
3712454462b ./gcc/config/vax/xm-vms.h
+4031022191b ./gcc/config/vax/x-vax
691896710b ./gcc/config/we32k/we32k.c
780806124b ./gcc/config/we32k/we32k.h
1852804001b ./gcc/config/we32k/we32k.md
- 878205655b ./gcc/config/we32k/x-we32k
913664286b ./gcc/config/we32k/xm-we32k.h
+ 878205655b ./gcc/config/we32k/x-we32k
490686036b ./gcc/config/winnt/config-nt.bat
3197194599b ./gcc/config/winnt/config-nt.sed
809816903b ./gcc/config/winnt/dirent.c
@@ -1061,13 +1025,12 @@
567319218b ./gcc/config/winnt/oldnames.c
82504535b ./gcc/config/winnt/spawnv.c
3392973061b ./gcc/config/winnt/win-nt.h
-3270923317b ./gcc/config/winnt/x-winnt
4170164852b ./gcc/config/winnt/xm-winnt.h
+3270923317b ./gcc/config/winnt/x-winnt
1670851102b ./gcc/config/x-interix
4012259237b ./gcc/config/x-linux
1881475236b ./gcc/config/x-linux-aout
462930175b ./gcc/config/x-lynx
-3288074061b ./gcc/config/x-svr4
3779976015b ./gcc/config/xm-alloca.h
2675300859b ./gcc/config/xm-freebsd.h
4234308852b ./gcc/config/xm-gnu.h
@@ -1079,92 +1042,100 @@
802838955b ./gcc/config/xm-std32.h
4091214272b ./gcc/config/xm-svr3.h
1558379184b ./gcc/config/xm-svr4.h
-3276445685b ./gcc/configure
-1467935606b ./gcc/configure.bat
-3600082583b ./gcc/configure.frag
-3846834337b ./gcc/configure.in
-4241351077b ./gcc/configure.lang
+3288074061b ./gcc/config/x-svr4
1334832587b ./gcc/convert.c
1632185071b ./gcc/convert.h
-2147268054b ./gcc/cp/ChangeLog
+ 430871781b ./gcc/COPYING
+2637011133b ./gcc/COPYING.LIB
+3899289930b ./gcc/c-parse.c
+2368083768b ./gcc/c-parse.gperf
+1926476024b ./gcc/c-parse.h
+ 340564841b ./gcc/c-parse.in
+3783741055b ./gcc/c-parse.y
+3190531650b ./gcc/cp/call.c
+1952182420b ./gcc/cp/ChangeLog
1903584b ./gcc/cp/ChangeLog.1
2546444747b ./gcc/cp/ChangeLog.egcs
-3839226273b ./gcc/cp/Make-lang.in
- 158340958b ./gcc/cp/Makefile.in
- 138293205b ./gcc/cp/NEWS
-4096973393b ./gcc/cp/call.c
- 536678279b ./gcc/cp/class.c
+ 941182275b ./gcc/cp/class.c
929318629b ./gcc/cp/config-lang.in
2143071361b ./gcc/cp/cp-tree.def
-3266225036b ./gcc/cp/cp-tree.h
+3069657971b ./gcc/cp/cp-tree.h
3745672818b ./gcc/cp/cvt.c
-2064809982b ./gcc/cp/decl.c
+3019623049b ./gcc/cp/decl2.c
+2086595854b ./gcc/cp/decl.c
1834949211b ./gcc/cp/decl.h
-3817078959b ./gcc/cp/decl2.c
1993063104b ./gcc/cp/errfn.c
2668207772b ./gcc/cp/error.c
754102681b ./gcc/cp/except.c
-3908930877b ./gcc/cp/exception.cc
+2791579071b ./gcc/cp/exception.cc
599886420b ./gcc/cp/expr.c
3912802234b ./gcc/cp/friend.c
330559424b ./gcc/cp/g++.1
906886763b ./gcc/cp/g++spec.c
2485046839b ./gcc/cp/gxx.gperf
-3905715544b ./gcc/cp/gxxint.texi
+3164527837b ./gcc/cp/gxxint.texi
3710853552b ./gcc/cp/hash.h
2019685383b ./gcc/cp/inc/exception
1487179368b ./gcc/cp/inc/new
3630756522b ./gcc/cp/inc/new.h
3294064502b ./gcc/cp/inc/typeinfo
- 262435250b ./gcc/cp/init.c
+ 268408042b ./gcc/cp/init.c
2911540108b ./gcc/cp/input.c
1403991879b ./gcc/cp/lang-options.h
-1591652675b ./gcc/cp/lang-specs.h
+4290678525b ./gcc/cp/lang-specs.h
2935609916b ./gcc/cp/lex.c
2424823976b ./gcc/cp/lex.h
-3717759972b ./gcc/cp/method.c
+ 158340958b ./gcc/cp/Makefile.in
+3839226273b ./gcc/cp/Make-lang.in
+ 269758178b ./gcc/cp/method.c
701335209b ./gcc/cp/mpw-config.in
4041177245b ./gcc/cp/mpw-make.sed
- 119869254b ./gcc/cp/new.cc
1347809285b ./gcc/cp/new1.cc
763929332b ./gcc/cp/new2.cc
+ 119869254b ./gcc/cp/new.cc
+ 138293205b ./gcc/cp/NEWS
+1051873022b ./gcc/cpp.1
+1779232657b ./gcc/cppalloc.c
3338459664b ./gcc/cp/parse.c
3062677783b ./gcc/cp/parse.h
2577897311b ./gcc/cp/parse.y
- 260284860b ./gcc/cp/pt.c
- 967651156b ./gcc/cp/ptree.c
-1480301647b ./gcc/cp/repo.c
-1422993980b ./gcc/cp/rtti.c
-3484682230b ./gcc/cp/search.c
-3374588244b ./gcc/cp/semantics.c
-1746248077b ./gcc/cp/sig.c
- 779245834b ./gcc/cp/spew.c
- 73383706b ./gcc/cp/tinfo.cc
-3171371984b ./gcc/cp/tinfo.h
- 16743387b ./gcc/cp/tinfo2.cc
-1418938862b ./gcc/cp/tree.c
- 589534504b ./gcc/cp/typeck.c
-3603480827b ./gcc/cp/typeck2.c
-2393908139b ./gcc/cp/xref.c
-1051873022b ./gcc/cpp.1
- 123396535b ./gcc/cpp.fns
-4208968267b ./gcc/cpp.texi
-1779232657b ./gcc/cppalloc.c
139709880b ./gcc/cpperror.c
648505131b ./gcc/cppexp.c
4235899301b ./gcc/cppfiles.c
+ 123396535b ./gcc/cpp.fns
1291958784b ./gcc/cpphash.c
1865911541b ./gcc/cpphash.h
- 686921126b ./gcc/cppinit.c
+2347217111b ./gcc/cppinit.c
1768596306b ./gcc/cpplib.c
2418435131b ./gcc/cpplib.h
3024485355b ./gcc/cppmain.c
3072272242b ./gcc/cppspec.c
+2750165306b ./gcc/cp/pt.c
+4208968267b ./gcc/cpp.texi
+ 967651156b ./gcc/cp/ptree.c
2516388891b ./gcc/cppulp.c
+ 53358206b ./gcc/c-pragma.c
+1262846233b ./gcc/c-pragma.h
+1480301647b ./gcc/cp/repo.c
+1645340049b ./gcc/cp/rtti.c
+3565280411b ./gcc/cp/search.c
+3374588244b ./gcc/cp/semantics.c
+1746248077b ./gcc/cp/sig.c
+ 779245834b ./gcc/cp/spew.c
+ 16743387b ./gcc/cp/tinfo2.cc
+ 73383706b ./gcc/cp/tinfo.cc
+3171371984b ./gcc/cp/tinfo.h
+1418938862b ./gcc/cp/tree.c
+2135311010b ./gcc/cp/typeck2.c
+ 589534504b ./gcc/cp/typeck.c
+2393908139b ./gcc/cp/xref.c
3116343499b ./gcc/cross-make
1382500598b ./gcc/crtstuff.c
-2458389092b ./gcc/cse.c
+2173739158b ./gcc/cse.c
216805921b ./gcc/cstamp-h.in
+2068306093b ./gcc/c-tree.h
+1582700145b ./gcc/c-typeck.c
+4133825901b ./gcc/.cvsignore
3702737678b ./gcc/dbxout.c
2366622993b ./gcc/dbxout.h
1104788844b ./gcc/dbxstclass.h
@@ -1173,34 +1144,25 @@
2791449994b ./gcc/doschk.c
3438566628b ./gcc/dostage2
1965038258b ./gcc/dostage3
-2763771626b ./gcc/dwarf.h
-1515521889b ./gcc/dwarf2.h
-3228486169b ./gcc/dwarf2out.c
+1720349471b ./gcc/dwarf2.h
+1447985163b ./gcc/dwarf2out.c
3867635452b ./gcc/dwarf2out.h
+2763771626b ./gcc/dwarf.h
861331011b ./gcc/dwarfout.c
950151195b ./gcc/dwarfout.h
872252559b ./gcc/dyn-string.c
3812644023b ./gcc/dyn-string.h
3381131814b ./gcc/eh-common.h
-4231177383b ./gcc/emit-rtl.c
+2781325359b ./gcc/emit-rtl.c
1440444349b ./gcc/enquire.c
1291816693b ./gcc/except.c
2158248277b ./gcc/except.h
2261541831b ./gcc/exgettext
791151591b ./gcc/explow.c
-4138281934b ./gcc/expmed.c
-3327968177b ./gcc/expr.c
+ 560380472b ./gcc/expmed.c
+4170598620b ./gcc/expr.c
3261810763b ./gcc/expr.h
1075776863b ./gcc/extend.texi
-4256541113b ./gcc/f/BUGS
-4148459731b ./gcc/f/ChangeLog
-4225493150b ./gcc/f/ChangeLog.0
-1052051833b ./gcc/f/INSTALL
-3240533767b ./gcc/f/Make-lang.in
-1081048037b ./gcc/f/Makefile.in
-1381266112b ./gcc/f/NEWS
- 281424983b ./gcc/f/README
-2710292864b ./gcc/f/RELEASE-PREP
217416175b ./gcc/f/ansify.c
2726691361b ./gcc/f/assert.j
473141573b ./gcc/f/bad.c
@@ -1208,16 +1170,19 @@
2944793883b ./gcc/f/bad.h
1691322623b ./gcc/f/bit.c
787197484b ./gcc/f/bit.h
-2128697889b ./gcc/f/bld-op.def
535953754b ./gcc/f/bld.c
806295869b ./gcc/f/bld.h
-1622614290b ./gcc/f/bugs.texi
+2128697889b ./gcc/f/bld-op.def
+4256541113b ./gcc/f/BUGS
235013049b ./gcc/f/bugs0.texi
-1558553523b ./gcc/f/com-rt.def
+1622614290b ./gcc/f/bugs.texi
+ 381563979b ./gcc/f/ChangeLog
+4225493150b ./gcc/f/ChangeLog.0
70432011b ./gcc/f/com.c
1897164499b ./gcc/f/com.h
-1975190636b ./gcc/f/config-lang.in
+1558553523b ./gcc/f/com-rt.def
3702808499b ./gcc/f/config.j
+1975190636b ./gcc/f/config-lang.in
508204516b ./gcc/f/convert.j
618178673b ./gcc/f/data.c
224874956b ./gcc/f/data.h
@@ -1229,21 +1194,23 @@
3980765198b ./gcc/f/fini.c
3358911103b ./gcc/f/flags.j
2954450194b ./gcc/f/g77.1
-2370700560b ./gcc/f/g77.texi
517049530b ./gcc/f/g77install.texi
- 670037941b ./gcc/f/g77spec.c
+ 439964818b ./gcc/f/g77spec.c
+2370700560b ./gcc/f/g77.texi
1124705383b ./gcc/f/glimits.j
1736110997b ./gcc/f/global.c
368896602b ./gcc/f/global.h
1434858771b ./gcc/f/hconfig.j
3914027293b ./gcc/f/implic.c
2480459444b ./gcc/f/implic.h
+2403284330b ./gcc/final.c
2287601317b ./gcc/f/info-b.def
-2157151689b ./gcc/f/info-k.def
-2242176401b ./gcc/f/info-w.def
1125228698b ./gcc/f/info.c
3911039718b ./gcc/f/info.h
+2157151689b ./gcc/f/info-k.def
+2242176401b ./gcc/f/info-w.def
1909977580b ./gcc/f/input.j
+1052051833b ./gcc/f/INSTALL
2706065712b ./gcc/f/install0.texi
1553671025b ./gcc/f/intdoc.c
2865476752b ./gcc/f/intdoc.in
@@ -1251,51 +1218,97 @@
1388558014b ./gcc/f/intrin.c
602300071b ./gcc/f/intrin.def
1323435971b ./gcc/f/intrin.h
+3072760907b ./gcc/fixcpp
+2559193818b ./gcc/fix-header.c
+1149682325b ./gcc/fixinc/fixinc.dgux
+3961460258b ./gcc/fixinc/fixinc.interix
+4036402473b ./gcc/fixinc/fixinc.irix
+ 656477185b ./gcc/fixinc/fixincl.c
+ 895346234b ./gcc/fixinc/fixincl.sh
+1486812617b ./gcc/fixinc/fixincl.tpl
+1991057534b ./gcc/fixinc/fixincl.x
+4278535406b ./gcc/fixinc/fixinc.ptx
+2691944848b ./gcc/fixinc/fixinc.sco
+4088989114b ./gcc/fixinc/fixinc.svr4
+3500071236b ./gcc/fixinc/fixinc.winnt
+2119627668b ./gcc/fixinc/fixinc.wrap
+3531147889b ./gcc/fixinc/fixinc.x86-linux-gnu
+3096339196b ./gcc/fixinc/genfixes
+3678653058b ./gcc/fixinc/gnu-regex.c
+ 916937206b ./gcc/fixinc/gnu-regex.h
+1738055537b ./gcc/fixinc/hackshell.tpl
+1500496790b ./gcc/fixinc/inclhack.def
+2612327374b ./gcc/fixinc/inclhack.sh
+1368845910b ./gcc/fixinc/inclhack.tpl
+3007430561b ./gcc/fixincludes
+ 489448684b ./gcc/fixinc/Makefile.in
+1847384514b ./gcc/fixinc/mkfixinc.sh
+ 851356889b ./gcc/fixinc-nt.sed
+1534809572b ./gcc/fixinc/procopen.c
+1839369333b ./gcc/fixinc/README
+3334153107b ./gcc/fixinc/server.c
+2227780997b ./gcc/fixinc/server.h
+1852958240b ./gcc/fixproto
1861938661b ./gcc/f/lab.c
1912790643b ./gcc/f/lab.h
+1510998759b ./gcc/flags.h
371449608b ./gcc/f/lang-options.h
-2059390152b ./gcc/f/lang-specs.h
+ 480638506b ./gcc/f/lang-specs.h
2754711212b ./gcc/f/lex.c
3648980141b ./gcc/f/lex.h
+ 14144180b ./gcc/floatlib.c
+1901335397b ./gcc/flow.c
+1081048037b ./gcc/f/Makefile.in
+3240533767b ./gcc/f/Make-lang.in
1427501723b ./gcc/f/malloc.c
3829974116b ./gcc/f/malloc.h
2687881356b ./gcc/f/name.c
2439587488b ./gcc/f/name.h
-2527995912b ./gcc/f/news.texi
+1381266112b ./gcc/f/NEWS
3453379674b ./gcc/f/news0.texi
+2527995912b ./gcc/f/news.texi
+4151647125b ./gcc/fold-const.c
2165020172b ./gcc/f/output.j
3852951627b ./gcc/f/parse.c
370126662b ./gcc/f/proj.c
1775989584b ./gcc/f/proj.h
+1074929281b ./gcc/fp-test.c
+1166799302b ./gcc/frame.c
+2039949872b ./gcc/frame.h
+ 281424983b ./gcc/f/README
+2710292864b ./gcc/f/RELEASE-PREP
853676495b ./gcc/f/root.texi
4136399389b ./gcc/f/rtl.j
+3694162803b ./gcc/FSFChangeLog
+ 232745070b ./gcc/FSFChangeLog.10
+2525829644b ./gcc/FSFChangeLog.11
3041074607b ./gcc/f/src.c
95224294b ./gcc/f/src.h
-3466162958b ./gcc/f/st.c
-1121987325b ./gcc/f/st.h
3725562111b ./gcc/f/sta.c
4016204844b ./gcc/f/sta.h
160388911b ./gcc/f/stb.c
2971641335b ./gcc/f/stb.h
+3466162958b ./gcc/f/st.c
931308304b ./gcc/f/stc.c
495996435b ./gcc/f/stc.h
2353122658b ./gcc/f/std.c
1726735653b ./gcc/f/std.h
2696390307b ./gcc/f/ste.c
480358952b ./gcc/f/ste.h
+1121987325b ./gcc/f/st.h
1100581971b ./gcc/f/storag.c
2376153183b ./gcc/f/storag.h
2404416327b ./gcc/f/stp.c
1012274389b ./gcc/f/stp.h
3722860946b ./gcc/f/str-1t.fin
2828127862b ./gcc/f/str-2t.fin
+ 920153914b ./gcc/f/str.c
4215029898b ./gcc/f/str-fo.fin
+2319274141b ./gcc/f/str.h
281471485b ./gcc/f/str-io.fin
3735910053b ./gcc/f/str-nq.fin
3134124633b ./gcc/f/str-op.fin
2608567153b ./gcc/f/str-ot.fin
- 920153914b ./gcc/f/str.c
-2319274141b ./gcc/f/str.h
1385497101b ./gcc/f/sts.c
776207233b ./gcc/f/sts.h
854662715b ./gcc/f/stt.c
@@ -1305,7 +1318,7 @@
857063390b ./gcc/f/stv.c
939390778b ./gcc/f/stv.h
2156320080b ./gcc/f/stw.c
- 613638484b ./gcc/f/stw.h
+1162160075b ./gcc/f/stw.h
589544660b ./gcc/f/symbol.c
1323122026b ./gcc/f/symbol.def
4185634583b ./gcc/f/symbol.h
@@ -1320,64 +1333,25 @@
252823133b ./gcc/f/tree.j
3443401298b ./gcc/f/type.c
1269043734b ./gcc/f/type.h
- 215698564b ./gcc/f/version.c
+ 931660813b ./gcc/function.c
+3875594368b ./gcc/function.h
+1945284764b ./gcc/future.options
+1685579004b ./gcc/f/version.c
1880947867b ./gcc/f/version.h
106965244b ./gcc/f/where.c
2325578298b ./gcc/f/where.h
-2259231538b ./gcc/final.c
-2559193818b ./gcc/fix-header.c
-3072760907b ./gcc/fixcpp
- 851356889b ./gcc/fixinc-nt.sed
- 489448684b ./gcc/fixinc/Makefile.in
-1839369333b ./gcc/fixinc/README
-1149682325b ./gcc/fixinc/fixinc.dgux
-3961460258b ./gcc/fixinc/fixinc.interix
-4036402473b ./gcc/fixinc/fixinc.irix
-4278535406b ./gcc/fixinc/fixinc.ptx
-2691944848b ./gcc/fixinc/fixinc.sco
-4088989114b ./gcc/fixinc/fixinc.svr4
-3500071236b ./gcc/fixinc/fixinc.winnt
-2119627668b ./gcc/fixinc/fixinc.wrap
-3531147889b ./gcc/fixinc/fixinc.x86-linux-gnu
- 656477185b ./gcc/fixinc/fixincl.c
-2904255154b ./gcc/fixinc/fixincl.sh
-1486812617b ./gcc/fixinc/fixincl.tpl
-1991057534b ./gcc/fixinc/fixincl.x
-3096339196b ./gcc/fixinc/genfixes
-3678653058b ./gcc/fixinc/gnu-regex.c
- 916937206b ./gcc/fixinc/gnu-regex.h
-1738055537b ./gcc/fixinc/hackshell.tpl
-1500496790b ./gcc/fixinc/inclhack.def
- 214630425b ./gcc/fixinc/inclhack.sh
-1311338098b ./gcc/fixinc/inclhack.tpl
-1847384514b ./gcc/fixinc/mkfixinc.sh
-1534809572b ./gcc/fixinc/procopen.c
-3334153107b ./gcc/fixinc/server.c
-2227780997b ./gcc/fixinc/server.h
-3007430561b ./gcc/fixincludes
-1852958240b ./gcc/fixproto
-1510998759b ./gcc/flags.h
- 14144180b ./gcc/floatlib.c
- 321868764b ./gcc/flow.c
- 959873716b ./gcc/fold-const.c
-1074929281b ./gcc/fp-test.c
-1103352639b ./gcc/frame.c
-2039949872b ./gcc/frame.h
-2923663167b ./gcc/function.c
-3875594368b ./gcc/function.h
-1945284764b ./gcc/future.options
970542118b ./gcc/gansidecl.h
2917485219b ./gcc/gbl-ctors.h
3430444432b ./gcc/gcc.1
-3487187825b ./gcc/gcc.c
+1943415070b ./gcc/gcc.c
3891935819b ./gcc/gcc.hlp
-1226441681b ./gcc/gcc.texi
3125776691b ./gcc/gccspec.c
-2459769831b ./gcc/gcov-io.h
+3065898977b ./gcc/gcc.texi
664852402b ./gcc/gcov.c
+2459769831b ./gcc/gcov-io.h
3179576637b ./gcc/gcov.texi
294189760b ./gcc/gcse.c
-2750373510b ./gcc/gen-protos.c
+3926621640b ./gcc/.gdbinit
1025000942b ./gcc/genattr.c
169320310b ./gcc/genattrtab.c
842498962b ./gcc/gencheck.c
@@ -1391,6 +1365,7 @@
310947624b ./gcc/genopinit.c
3963015372b ./gcc/genoutput.c
3774435322b ./gcc/genpeep.c
+2750373510b ./gcc/gen-protos.c
3049217266b ./gcc/genrecog.c
793444673b ./gcc/getpwd.c
3231952244b ./gcc/ginclude/iso646.h
@@ -1416,12 +1391,12 @@
1416963815b ./gcc/ginclude/va-pa.h
4212798237b ./gcc/ginclude/va-ppc.h
192835038b ./gcc/ginclude/va-pyr.h
+1142757302b ./gcc/ginclude/varargs.h
2372760626b ./gcc/ginclude/va-sh.h
264710164b ./gcc/ginclude/va-sparc.h
3150115362b ./gcc/ginclude/va-spur.h
1552889664b ./gcc/ginclude/va-v850.h
-1142757302b ./gcc/ginclude/varargs.h
-2243061839b ./gcc/glimits.h
+1634989919b ./gcc/glimits.h
2899801624b ./gcc/global.c
4118591518b ./gcc/gmon.c
1559802185b ./gcc/graph.c
@@ -1429,11 +1404,11 @@
2040904551b ./gcc/gsyms.h
808024354b ./gcc/gsyslimits.h
2263169284b ./gcc/gthr-dce.h
+ 157579409b ./gcc/gthr.h
305150265b ./gcc/gthr-posix.h
4129564918b ./gcc/gthr-single.h
303295415b ./gcc/gthr-solaris.h
387661304b ./gcc/gthr-vxworks.h
- 157579409b ./gcc/gthr.h
3033261248b ./gcc/haifa-sched.c
2043477270b ./gcc/halfpic.c
819272895b ./gcc/halfpic.h
@@ -1442,17 +1417,15 @@
56239559b ./gcc/hash.h
3658640867b ./gcc/hwint.h
3443517934b ./gcc/input.h
-2303893284b ./gcc/install.texi
+ 551406095b ./gcc/INSTALL
462692392b ./gcc/install1.texi
+2303893284b ./gcc/install.texi
171434603b ./gcc/integrate.c
662482660b ./gcc/integrate.h
-1933110400b ./gcc/intl.c
-1326021680b ./gcc/intl.h
- 650388772b ./gcc/intl/ChangeLog
- 834956016b ./gcc/intl/Makefile.in
-1035788439b ./gcc/intl/VERSION
1855120889b ./gcc/intl/bindtextdom.c
+1933110400b ./gcc/intl.c
2763549264b ./gcc/intl/cat-compat.c
+3384575285b ./gcc/intl/ChangeLog
4073502146b ./gcc/intl/dcgettext.c
1792432593b ./gcc/intl/dgettext.c
2307224772b ./gcc/intl/explodename.c
@@ -1460,6 +1433,7 @@
1265937805b ./gcc/intl/gettext.c
789935145b ./gcc/intl/gettext.h
3071290636b ./gcc/intl/gettextP.h
+1326021680b ./gcc/intl.h
2389284831b ./gcc/intl/hash-string.h
1443767269b ./gcc/intl/intl-compat.c
93883941b ./gcc/intl/l10nflist.c
@@ -1468,15 +1442,15 @@
3800232883b ./gcc/intl/loadinfo.h
3035183298b ./gcc/intl/loadmsgcat.c
2553840489b ./gcc/intl/localealias.c
+ 834956016b ./gcc/intl/Makefile.in
223588995b ./gcc/intl/po2tbl.sed.in
4175310706b ./gcc/intl/textdomain.c
+1035788439b ./gcc/intl/VERSION
2960721199b ./gcc/intl/xopen-msg.sed
-1116500065b ./gcc/invoke.texi
-3119362997b ./gcc/java/ChangeLog
-1080111953b ./gcc/java/Make-lang.in
-2987027027b ./gcc/java/Makefile.in
+3254236658b ./gcc/invoke.texi
2541917855b ./gcc/java/buffer.c
4285191557b ./gcc/java/buffer.h
+2798115754b ./gcc/java/ChangeLog
3944613375b ./gcc/java/check-init.c
2172553547b ./gcc/java/class.c
2150049623b ./gcc/java/config-lang.in
@@ -1488,33 +1462,35 @@
2221104313b ./gcc/java/gjavah.c
3168623072b ./gcc/java/java-except.h
1953641142b ./gcc/java/java-opcodes.h
-1839221595b ./gcc/java/java-tree.def
-4020305543b ./gcc/java/java-tree.h
2538410445b ./gcc/java/javaop.def
2319028764b ./gcc/java/javaop.h
+1839221595b ./gcc/java/java-tree.def
+4020305543b ./gcc/java/java-tree.h
2908509252b ./gcc/java/jcf-depend.c
2265467689b ./gcc/java/jcf-dump.c
+3601445887b ./gcc/java/jcf.h
681476223b ./gcc/java/jcf-io.c
3801318363b ./gcc/java/jcf-parse.c
3550312270b ./gcc/java/jcf-path.c
1450387783b ./gcc/java/jcf-reader.c
3501416255b ./gcc/java/jcf-write.c
-3601445887b ./gcc/java/jcf.h
-4180971331b ./gcc/java/jv-scan.c
1032226897b ./gcc/java/jvgenmain.c
+4180971331b ./gcc/java/jv-scan.c
1757675418b ./gcc/java/jvspec.c
2610912080b ./gcc/java/keyword.gperf
566474720b ./gcc/java/keyword.h
+1163192502b ./gcc/java/lang.c
1495202455b ./gcc/java/lang-options.h
2734008933b ./gcc/java/lang-specs.h
-1163192502b ./gcc/java/lang.c
3982191419b ./gcc/java/lex.c
1006043234b ./gcc/java/lex.h
+2987027027b ./gcc/java/Makefile.in
+1080111953b ./gcc/java/Make-lang.in
2197076845b ./gcc/java/mangle.c
-2568809376b ./gcc/java/parse-scan.c
- 753887653b ./gcc/java/parse-scan.y
2978497967b ./gcc/java/parse.c
4054432291b ./gcc/java/parse.h
+2568809376b ./gcc/java/parse-scan.c
+ 753887653b ./gcc/java/parse-scan.y
4132497179b ./gcc/java/parse.y
154882617b ./gcc/java/typeck.c
820833694b ./gcc/java/verify.c
@@ -1524,21 +1500,23 @@
314700945b ./gcc/java/zipfile.h
3936538134b ./gcc/jump.c
1567003496b ./gcc/just-fixinc
+2771840517b ./gcc/LANGUAGES
762307283b ./gcc/lcm.c
- 559083009b ./gcc/libgcc1-test.c
2942334943b ./gcc/libgcc1.c
+ 559083009b ./gcc/libgcc1-test.c
1307299979b ./gcc/libgcc2.c
2497915666b ./gcc/limitx.h
1045880008b ./gcc/limity.h
1454959977b ./gcc/listing
189506952b ./gcc/local-alloc.c
4192241275b ./gcc/longlong.h
- 827556606b ./gcc/loop.c
+ 110068666b ./gcc/loop.c
2355598769b ./gcc/loop.h
3636819710b ./gcc/machmode.def
1353109969b ./gcc/machmode.h
-1146561233b ./gcc/make-l2.com
+3645328946b ./gcc/Makefile.in
1625899928b ./gcc/makefile.vms
+1146561233b ./gcc/make-l2.com
2334538597b ./gcc/mbchar.c
2000151463b ./gcc/mbchar.h
1067305904b ./gcc/md.texi
@@ -1546,3899 +1524,115 @@
3783103045b ./gcc/mips-tfile.c
3743720878b ./gcc/mkinstalldirs
1597314052b ./gcc/move-if-change
- 484837376b ./gcc/objc/Make-lang.in
-3850085860b ./gcc/objc/Makefile.in
-3823063152b ./gcc/objc/README
+2412572471b ./gcc/NEWS
3548094150b ./gcc/objc/config-lang.in
- 148511594b ./gcc/objc/lang-specs.h
+ 371515603b ./gcc/objc/lang-specs.h
+3850085860b ./gcc/objc/Makefile.in
+ 484837376b ./gcc/objc/Make-lang.in
1845627730b ./gcc/objc/objc-act.c
4009484909b ./gcc/objc/objc-act.h
+1567868913b ./gcc/objc/objc.gperf
4217213030b ./gcc/objc/objc-parse.c
2333685510b ./gcc/objc/objc-parse.y
3294870779b ./gcc/objc/objc-tree.def
-1567868913b ./gcc/objc/objc.gperf
-3694604057b ./gcc/optabs.c
+3823063152b ./gcc/objc/README
+ 406459598b ./gcc/ONEWS
+ 877735055b ./gcc/optabs.c
593950303b ./gcc/output.h
1987145824b ./gcc/patch-apollo-includes
520971098b ./gcc/pcp.h
-2633795112b ./gcc/po/ChangeLog
- 439509068b ./gcc/po/Makefile.in.in
-3326298473b ./gcc/po/POTFILES.in
+ 184341727b ./gcc/po/ChangeLog
3044528304b ./gcc/po/en_UK.po
3859505195b ./gcc/po/gcc.pot
+ 439509068b ./gcc/po/Makefile.in.in
+3326298473b ./gcc/po/POTFILES.in
2074713163b ./gcc/prefix.c
3118553823b ./gcc/prefix.h
2711262234b ./gcc/print-rtl.c
2711231846b ./gcc/print-tree.c
+4077477563b ./gcc/PROBLEMS
611568329b ./gcc/profile.c
649092178b ./gcc/protoize.c
-2508419394b ./gcc/pself.c
1892787257b ./gcc/pself1.c
2107847039b ./gcc/pself2.c
3514013187b ./gcc/pself3.c
163393634b ./gcc/pself4.c
2951530756b ./gcc/pself5.c
+2508419394b ./gcc/pself.c
+4190809404b ./gcc/README
+ 464706846b ./gcc/README.ACORN
+ 963966184b ./gcc/README.ALTOS
+ 712804111b ./gcc/README.APOLLO
+ 722850134b ./gcc/README-bugs
+3041263538b ./gcc/README.C4X
+4254837739b ./gcc/README.DWARF
+3310775363b ./gcc/README-fixinc
+3034235340b ./gcc/README.FRESCO
+ 317578445b ./gcc/README.gnat
+1941060778b ./gcc/README.NS32K
+2420116021b ./gcc/README.RS6000
+2521272425b ./gcc/README.TRAD
+ 775999928b ./gcc/README.X11
2075044355b ./gcc/real.c
3281064342b ./gcc/real.h
2135251073b ./gcc/recog.c
1103677539b ./gcc/recog.h
- 614377713b ./gcc/reg-stack.c
2161752073b ./gcc/regclass.c
2098216394b ./gcc/regmove.c
1782287297b ./gcc/regs.h
-1052736769b ./gcc/reload.c
-1174460570b ./gcc/reload.h
-1854924644b ./gcc/reload1.c
+ 614377713b ./gcc/reg-stack.c
+1226896505b ./gcc/reload1.c
+ 211835660b ./gcc/reload.c
+2046817112b ./gcc/reload.h
93997260b ./gcc/reorg.c
3017934975b ./gcc/resource.c
209684395b ./gcc/resource.h
+2790114237b ./gcc/rtlanal.c
719571646b ./gcc/rtl.c
1956957925b ./gcc/rtl.def
-2630634754b ./gcc/rtl.h
+ 100697304b ./gcc/rtl.h
2287271260b ./gcc/rtl.texi
-2704633717b ./gcc/rtlanal.c
3890804476b ./gcc/sbitmap.c
3170034182b ./gcc/sbitmap.h
-1983543926b ./gcc/scan-decls.c
-2610884529b ./gcc/scan-types.sh
4293978266b ./gcc/scan.c
+1983543926b ./gcc/scan-decls.c
375975730b ./gcc/scan.h
+2610884529b ./gcc/scan-types.sh
399300194b ./gcc/sched.c
2531824839b ./gcc/sdbout.c
1547148728b ./gcc/sdbout.h
+1427751232b ./gcc/SERVICE
3345261950b ./gcc/sort-protos
2395322097b ./gcc/stab.def
1870121749b ./gcc/stack.h
- 370809619b ./gcc/stmt.c
+1261167595b ./gcc/stmt.c
173861812b ./gcc/stor-layout.c
430647095b ./gcc/stupid.c
4023966855b ./gcc/sys-protos.h
+1831619866b ./gcc/system.h
482558466b ./gcc/sys-types.h
-1355407898b ./gcc/system.h
-3160398195b ./gcc/testsuite/ChangeLog
-3958673860b ./gcc/testsuite/README
-4258789052b ./gcc/testsuite/README.g++
- 174183124b ./gcc/testsuite/README.gcc
- 112803164b ./gcc/testsuite/config/default.exp
- 196319294b ./gcc/testsuite/g++.dg/special/conpr-1.C
-1246929930b ./gcc/testsuite/g++.dg/special/conpr-2.C
-1217683257b ./gcc/testsuite/g++.dg/special/conpr-2a.C
-1246929930b ./gcc/testsuite/g++.dg/special/conpr-3.C
-3756639268b ./gcc/testsuite/g++.dg/special/conpr-3a.C
-3436726377b ./gcc/testsuite/g++.dg/special/conpr-3b.C
- 131022644b ./gcc/testsuite/g++.dg/special/ecos.exp
-1056372736b ./gcc/testsuite/g++.old-deja/Makefile.in
-4248175162b ./gcc/testsuite/g++.old-deja/configure.in
-3056861018b ./gcc/testsuite/g++.old-deja/g++.benjamin/.cvsignore
- 134862245b ./gcc/testsuite/g++.old-deja/g++.benjamin/13478.C
-1290057507b ./gcc/testsuite/g++.old-deja/g++.benjamin/13523.C
-3226269269b ./gcc/testsuite/g++.old-deja/g++.benjamin/13908.C
-2784092938b ./gcc/testsuite/g++.old-deja/g++.benjamin/14139.C
-3992719725b ./gcc/testsuite/g++.old-deja/g++.benjamin/14664-1.C
-1418438156b ./gcc/testsuite/g++.old-deja/g++.benjamin/14664-2.C
-3188569638b ./gcc/testsuite/g++.old-deja/g++.benjamin/14687.C
-1586319624b ./gcc/testsuite/g++.old-deja/g++.benjamin/15054.C
- 343000151b ./gcc/testsuite/g++.old-deja/g++.benjamin/15071.C
- 896565657b ./gcc/testsuite/g++.old-deja/g++.benjamin/15309-1.C
-4268125007b ./gcc/testsuite/g++.old-deja/g++.benjamin/15309-2.C
-3331129895b ./gcc/testsuite/g++.old-deja/g++.benjamin/15351-1.C
- 474009375b ./gcc/testsuite/g++.old-deja/g++.benjamin/15351-2.C
-2917600664b ./gcc/testsuite/g++.old-deja/g++.benjamin/15756-1.C
-1175670765b ./gcc/testsuite/g++.old-deja/g++.benjamin/15756-2.C
-2662607350b ./gcc/testsuite/g++.old-deja/g++.benjamin/15799.C
-2302070128b ./gcc/testsuite/g++.old-deja/g++.benjamin/15800-1.C
-1420401846b ./gcc/testsuite/g++.old-deja/g++.benjamin/15800-2.C
-3811260428b ./gcc/testsuite/g++.old-deja/g++.benjamin/15822.C
- 515618176b ./gcc/testsuite/g++.old-deja/g++.benjamin/16077.C
-1192292165b ./gcc/testsuite/g++.old-deja/g++.benjamin/16567.C
-3161986254b ./gcc/testsuite/g++.old-deja/g++.benjamin/17922.C
-3967012349b ./gcc/testsuite/g++.old-deja/g++.benjamin/17930.C
-1677939904b ./gcc/testsuite/g++.old-deja/g++.benjamin/18208.C
-2792030801b ./gcc/testsuite/g++.old-deja/g++.benjamin/bool01.C
-3598814632b ./gcc/testsuite/g++.old-deja/g++.benjamin/bool02.C
-1967242900b ./gcc/testsuite/g++.old-deja/g++.benjamin/friend01.C
-2225156638b ./gcc/testsuite/g++.old-deja/g++.benjamin/friend02.C
-3667301284b ./gcc/testsuite/g++.old-deja/g++.benjamin/p12475.C
-2211857544b ./gcc/testsuite/g++.old-deja/g++.benjamin/p13417.C
-1722427082b ./gcc/testsuite/g++.old-deja/g++.benjamin/p13721.C
-2217061296b ./gcc/testsuite/g++.old-deja/g++.benjamin/scope01.C
-2240065974b ./gcc/testsuite/g++.old-deja/g++.benjamin/scope02.C
-2951719986b ./gcc/testsuite/g++.old-deja/g++.benjamin/tem01.C
- 702039111b ./gcc/testsuite/g++.old-deja/g++.benjamin/tem02.C
- 923827380b ./gcc/testsuite/g++.old-deja/g++.benjamin/tem03.C
-3406491154b ./gcc/testsuite/g++.old-deja/g++.benjamin/tem04.C
-2932977397b ./gcc/testsuite/g++.old-deja/g++.benjamin/tem05.C
-3864493283b ./gcc/testsuite/g++.old-deja/g++.benjamin/tem06.C
-2084088837b ./gcc/testsuite/g++.old-deja/g++.benjamin/tem07.C
-1086694463b ./gcc/testsuite/g++.old-deja/g++.benjamin/typedef01.C
-3459483931b ./gcc/testsuite/g++.old-deja/g++.benjamin/typedef03.C
-2369679358b ./gcc/testsuite/g++.old-deja/g++.benjamin/typeid01.C
-3535655349b ./gcc/testsuite/g++.old-deja/g++.benjamin/warn01.C
-2610555481b ./gcc/testsuite/g++.old-deja/g++.benjamin/warn02.C
-2745105879b ./gcc/testsuite/g++.old-deja/g++.benjamin/warn03.C
-1949674339b ./gcc/testsuite/g++.old-deja/g++.benjamin/warn04.C
- 171203016b ./gcc/testsuite/g++.old-deja/g++.bob/array1.C
-2104392657b ./gcc/testsuite/g++.old-deja/g++.bob/array2.C
-3389809483b ./gcc/testsuite/g++.old-deja/g++.bob/case1.C
-2080938439b ./gcc/testsuite/g++.old-deja/g++.bob/cond1.C
-3873529664b ./gcc/testsuite/g++.old-deja/g++.bob/delete1.C
-2731071171b ./gcc/testsuite/g++.old-deja/g++.bob/extern_C.C
-3066265332b ./gcc/testsuite/g++.old-deja/g++.bob/friend1.C
- 128684785b ./gcc/testsuite/g++.old-deja/g++.bob/incomplete-cast1.C
-2721973759b ./gcc/testsuite/g++.old-deja/g++.bob/inherit1.C
-3595198225b ./gcc/testsuite/g++.old-deja/g++.bob/inherit2.C
-3409444340b ./gcc/testsuite/g++.old-deja/g++.bob/nested1.C
-3565275304b ./gcc/testsuite/g++.old-deja/g++.bob/packed1.C
-4197806151b ./gcc/testsuite/g++.old-deja/g++.bob/protected1.C
-4234249418b ./gcc/testsuite/g++.old-deja/g++.bob/static1.C
- 122187457b ./gcc/testsuite/g++.old-deja/g++.bob/template1.C
-1370912247b ./gcc/testsuite/g++.old-deja/g++.bob/template2.C
-2571452914b ./gcc/testsuite/g++.old-deja/g++.bob/template3.C
-2876511802b ./gcc/testsuite/g++.old-deja/g++.bob/template4.C
-3336461445b ./gcc/testsuite/g++.old-deja/g++.brendan/README
- 934227986b ./gcc/testsuite/g++.old-deja/g++.brendan/abstract1.C
-2431794017b ./gcc/testsuite/g++.old-deja/g++.brendan/access1.C
-2157723684b ./gcc/testsuite/g++.old-deja/g++.brendan/alignof.C
- 214451177b ./gcc/testsuite/g++.old-deja/g++.brendan/ambiguity1.C
-3629703719b ./gcc/testsuite/g++.old-deja/g++.brendan/anon-union1.C
-3428758154b ./gcc/testsuite/g++.old-deja/g++.brendan/arm1.C
-2574740314b ./gcc/testsuite/g++.old-deja/g++.brendan/arm2.C
-2227979686b ./gcc/testsuite/g++.old-deja/g++.brendan/arm3.C
-1965428160b ./gcc/testsuite/g++.old-deja/g++.brendan/array-refs.C
- 142495899b ./gcc/testsuite/g++.old-deja/g++.brendan/array1.C
-1940036338b ./gcc/testsuite/g++.old-deja/g++.brendan/asm-extn1.C
- 294912826b ./gcc/testsuite/g++.old-deja/g++.brendan/bit-fields1.C
-3253987007b ./gcc/testsuite/g++.old-deja/g++.brendan/bit-fields2.C
-2295880526b ./gcc/testsuite/g++.old-deja/g++.brendan/bool1.C
- 211968541b ./gcc/testsuite/g++.old-deja/g++.brendan/code-gen1.C
-3611297502b ./gcc/testsuite/g++.old-deja/g++.brendan/code-gen2.C
-1891157042b ./gcc/testsuite/g++.old-deja/g++.brendan/code-gen3.C
-4074974961b ./gcc/testsuite/g++.old-deja/g++.brendan/code-gen4.C
- 703506879b ./gcc/testsuite/g++.old-deja/g++.brendan/code-gen5.C
-4194305042b ./gcc/testsuite/g++.old-deja/g++.brendan/code-gen6.C
- 712611494b ./gcc/testsuite/g++.old-deja/g++.brendan/complex1.C
-2395996685b ./gcc/testsuite/g++.old-deja/g++.brendan/copy1.C
-3306409091b ./gcc/testsuite/g++.old-deja/g++.brendan/copy2.C
-3103655260b ./gcc/testsuite/g++.old-deja/g++.brendan/copy3.C
-4040579410b ./gcc/testsuite/g++.old-deja/g++.brendan/copy4.C
-3797559451b ./gcc/testsuite/g++.old-deja/g++.brendan/copy5.C
-3090911274b ./gcc/testsuite/g++.old-deja/g++.brendan/copy6.C
-1349671714b ./gcc/testsuite/g++.old-deja/g++.brendan/copy7.C
-3240298501b ./gcc/testsuite/g++.old-deja/g++.brendan/copy8.C
-1315756386b ./gcc/testsuite/g++.old-deja/g++.brendan/copy9.C
- 73005642b ./gcc/testsuite/g++.old-deja/g++.brendan/crash1.C
-2509157689b ./gcc/testsuite/g++.old-deja/g++.brendan/crash10.C
-3768524501b ./gcc/testsuite/g++.old-deja/g++.brendan/crash11.C
-1430846464b ./gcc/testsuite/g++.old-deja/g++.brendan/crash12.C
- 607518283b ./gcc/testsuite/g++.old-deja/g++.brendan/crash13.C
-2122478749b ./gcc/testsuite/g++.old-deja/g++.brendan/crash14.C
-3478983294b ./gcc/testsuite/g++.old-deja/g++.brendan/crash15.C
- 102025405b ./gcc/testsuite/g++.old-deja/g++.brendan/crash16.C
-2933446617b ./gcc/testsuite/g++.old-deja/g++.brendan/crash17.C
- 563583842b ./gcc/testsuite/g++.old-deja/g++.brendan/crash18.C
-2936347090b ./gcc/testsuite/g++.old-deja/g++.brendan/crash2.C
- 149412850b ./gcc/testsuite/g++.old-deja/g++.brendan/crash20.C
- 927230476b ./gcc/testsuite/g++.old-deja/g++.brendan/crash22.C
- 547223421b ./gcc/testsuite/g++.old-deja/g++.brendan/crash23.C
-1835086247b ./gcc/testsuite/g++.old-deja/g++.brendan/crash24.C
-1526375664b ./gcc/testsuite/g++.old-deja/g++.brendan/crash25.C
-2644738903b ./gcc/testsuite/g++.old-deja/g++.brendan/crash26.C
-1537159422b ./gcc/testsuite/g++.old-deja/g++.brendan/crash27.C
-1095243311b ./gcc/testsuite/g++.old-deja/g++.brendan/crash28.C
- 118538338b ./gcc/testsuite/g++.old-deja/g++.brendan/crash29.C
-1740428956b ./gcc/testsuite/g++.old-deja/g++.brendan/crash3.C
-1303670527b ./gcc/testsuite/g++.old-deja/g++.brendan/crash30.C
-3144780301b ./gcc/testsuite/g++.old-deja/g++.brendan/crash31.C
- 255295637b ./gcc/testsuite/g++.old-deja/g++.brendan/crash32.C
-1337786658b ./gcc/testsuite/g++.old-deja/g++.brendan/crash33.C
-2946805769b ./gcc/testsuite/g++.old-deja/g++.brendan/crash34.C
-1475644375b ./gcc/testsuite/g++.old-deja/g++.brendan/crash35.C
-1156826769b ./gcc/testsuite/g++.old-deja/g++.brendan/crash36.C
-4095821179b ./gcc/testsuite/g++.old-deja/g++.brendan/crash37.C
-2420813814b ./gcc/testsuite/g++.old-deja/g++.brendan/crash38.C
-1186001658b ./gcc/testsuite/g++.old-deja/g++.brendan/crash39.C
-2075374404b ./gcc/testsuite/g++.old-deja/g++.brendan/crash4.C
-2475994253b ./gcc/testsuite/g++.old-deja/g++.brendan/crash40.C
-4225248580b ./gcc/testsuite/g++.old-deja/g++.brendan/crash41.C
-2430128234b ./gcc/testsuite/g++.old-deja/g++.brendan/crash42.C
-3684978653b ./gcc/testsuite/g++.old-deja/g++.brendan/crash43.C
-4266258254b ./gcc/testsuite/g++.old-deja/g++.brendan/crash44.C
-2678379673b ./gcc/testsuite/g++.old-deja/g++.brendan/crash45.C
-2885801112b ./gcc/testsuite/g++.old-deja/g++.brendan/crash46.C
-3880129363b ./gcc/testsuite/g++.old-deja/g++.brendan/crash47.C
-2210447864b ./gcc/testsuite/g++.old-deja/g++.brendan/crash48.C
-2090925767b ./gcc/testsuite/g++.old-deja/g++.brendan/crash49.C
-2038079939b ./gcc/testsuite/g++.old-deja/g++.brendan/crash5.C
-3106709406b ./gcc/testsuite/g++.old-deja/g++.brendan/crash50.C
-2259885687b ./gcc/testsuite/g++.old-deja/g++.brendan/crash51.C
-2100136429b ./gcc/testsuite/g++.old-deja/g++.brendan/crash52.C
- 353501789b ./gcc/testsuite/g++.old-deja/g++.brendan/crash53.C
- 249063748b ./gcc/testsuite/g++.old-deja/g++.brendan/crash54.C
- 88615881b ./gcc/testsuite/g++.old-deja/g++.brendan/crash55.C
-1818363302b ./gcc/testsuite/g++.old-deja/g++.brendan/crash56.C
-2097488269b ./gcc/testsuite/g++.old-deja/g++.brendan/crash57.C
-1260831404b ./gcc/testsuite/g++.old-deja/g++.brendan/crash58.C
-3392471730b ./gcc/testsuite/g++.old-deja/g++.brendan/crash6.C
-3431262814b ./gcc/testsuite/g++.old-deja/g++.brendan/crash60.C
-3845483878b ./gcc/testsuite/g++.old-deja/g++.brendan/crash61.C
-1161097259b ./gcc/testsuite/g++.old-deja/g++.brendan/crash62.C
- 732891238b ./gcc/testsuite/g++.old-deja/g++.brendan/crash63.C
-1303921124b ./gcc/testsuite/g++.old-deja/g++.brendan/crash64.C
-3191901754b ./gcc/testsuite/g++.old-deja/g++.brendan/crash65.C
-2970533101b ./gcc/testsuite/g++.old-deja/g++.brendan/crash66.C
-1982272158b ./gcc/testsuite/g++.old-deja/g++.brendan/crash67.C
-3682557717b ./gcc/testsuite/g++.old-deja/g++.brendan/crash68.C
- 345174202b ./gcc/testsuite/g++.old-deja/g++.brendan/crash7.C
-2828127571b ./gcc/testsuite/g++.old-deja/g++.brendan/crash8.C
-4002452471b ./gcc/testsuite/g++.old-deja/g++.brendan/crash9.C
-1597403647b ./gcc/testsuite/g++.old-deja/g++.brendan/ctors1.C
- 547864232b ./gcc/testsuite/g++.old-deja/g++.brendan/ctors2.C
- 398361887b ./gcc/testsuite/g++.old-deja/g++.brendan/ctors3.C
-1069752037b ./gcc/testsuite/g++.old-deja/g++.brendan/cvt1.C
- 419606832b ./gcc/testsuite/g++.old-deja/g++.brendan/cvt2.C
- 919133975b ./gcc/testsuite/g++.old-deja/g++.brendan/cvt3.C
-2031200997b ./gcc/testsuite/g++.old-deja/g++.brendan/cvt4.C
-2406274048b ./gcc/testsuite/g++.old-deja/g++.brendan/cvt5.C
- 316645702b ./gcc/testsuite/g++.old-deja/g++.brendan/def-args1.C
-1784724453b ./gcc/testsuite/g++.old-deja/g++.brendan/def-fns1.C
-1567398405b ./gcc/testsuite/g++.old-deja/g++.brendan/delete1.C
-3996141862b ./gcc/testsuite/g++.old-deja/g++.brendan/delete2.C
- 514302766b ./gcc/testsuite/g++.old-deja/g++.brendan/dtors1.C
- 36209567b ./gcc/testsuite/g++.old-deja/g++.brendan/dtors2.C
-2055434447b ./gcc/testsuite/g++.old-deja/g++.brendan/dtors3.C
-3577620331b ./gcc/testsuite/g++.old-deja/g++.brendan/eh1.C
-4113228927b ./gcc/testsuite/g++.old-deja/g++.brendan/enum-clash.C
-2752357079b ./gcc/testsuite/g++.old-deja/g++.brendan/enum1.C
-2154024297b ./gcc/testsuite/g++.old-deja/g++.brendan/enum10.C
-1012457759b ./gcc/testsuite/g++.old-deja/g++.brendan/enum11.C
-3613259052b ./gcc/testsuite/g++.old-deja/g++.brendan/enum12.C
-4062281691b ./gcc/testsuite/g++.old-deja/g++.brendan/enum13.C
-1026608225b ./gcc/testsuite/g++.old-deja/g++.brendan/enum14.C
-2495301458b ./gcc/testsuite/g++.old-deja/g++.brendan/enum2.C
- 857641714b ./gcc/testsuite/g++.old-deja/g++.brendan/enum3.C
-2436566654b ./gcc/testsuite/g++.old-deja/g++.brendan/enum4.C
-2794281986b ./gcc/testsuite/g++.old-deja/g++.brendan/enum5.C
-3224852931b ./gcc/testsuite/g++.old-deja/g++.brendan/enum6.C
-1144354186b ./gcc/testsuite/g++.old-deja/g++.brendan/enum7.C
-3721081721b ./gcc/testsuite/g++.old-deja/g++.brendan/enum8.C
-1284409256b ./gcc/testsuite/g++.old-deja/g++.brendan/enum9.C
-1658458603b ./gcc/testsuite/g++.old-deja/g++.brendan/err-msg1.C
-3510755439b ./gcc/testsuite/g++.old-deja/g++.brendan/err-msg10.C
-3189183114b ./gcc/testsuite/g++.old-deja/g++.brendan/err-msg11.C
-1104107183b ./gcc/testsuite/g++.old-deja/g++.brendan/err-msg12.C
- 781593210b ./gcc/testsuite/g++.old-deja/g++.brendan/err-msg2.C
-1479159722b ./gcc/testsuite/g++.old-deja/g++.brendan/err-msg3.C
-3762408786b ./gcc/testsuite/g++.old-deja/g++.brendan/err-msg4.C
-4113288075b ./gcc/testsuite/g++.old-deja/g++.brendan/err-msg5.C
-1901492381b ./gcc/testsuite/g++.old-deja/g++.brendan/err-msg6.C
- 851805023b ./gcc/testsuite/g++.old-deja/g++.brendan/err-msg7.C
-1934243149b ./gcc/testsuite/g++.old-deja/g++.brendan/err-msg8.C
- 420911498b ./gcc/testsuite/g++.old-deja/g++.brendan/err-msg9.C
-3557744186b ./gcc/testsuite/g++.old-deja/g++.brendan/explicit1.C
-3505755144b ./gcc/testsuite/g++.old-deja/g++.brendan/friend1.C
-1863938790b ./gcc/testsuite/g++.old-deja/g++.brendan/friend2.C
-2483886013b ./gcc/testsuite/g++.old-deja/g++.brendan/friend3.C
-3122834560b ./gcc/testsuite/g++.old-deja/g++.brendan/friend4.C
-2592739711b ./gcc/testsuite/g++.old-deja/g++.brendan/groff1.C
-3909689745b ./gcc/testsuite/g++.old-deja/g++.brendan/init1.C
-2246409428b ./gcc/testsuite/g++.old-deja/g++.brendan/init10.C
-1901230214b ./gcc/testsuite/g++.old-deja/g++.brendan/init11.C
- 851254540b ./gcc/testsuite/g++.old-deja/g++.brendan/init12.C
-2224246807b ./gcc/testsuite/g++.old-deja/g++.brendan/init13.C
-1726022047b ./gcc/testsuite/g++.old-deja/g++.brendan/init2.C
- 111656337b ./gcc/testsuite/g++.old-deja/g++.brendan/init3.C
-1439428404b ./gcc/testsuite/g++.old-deja/g++.brendan/init4.C
-4054847189b ./gcc/testsuite/g++.old-deja/g++.brendan/init5.C
- 248682492b ./gcc/testsuite/g++.old-deja/g++.brendan/init6.C
-3084232903b ./gcc/testsuite/g++.old-deja/g++.brendan/init7.C
-3733555155b ./gcc/testsuite/g++.old-deja/g++.brendan/init8.C
- 743854867b ./gcc/testsuite/g++.old-deja/g++.brendan/init9.C
-2492742855b ./gcc/testsuite/g++.old-deja/g++.brendan/label1.C
-4217659816b ./gcc/testsuite/g++.old-deja/g++.brendan/label2.C
-4243229627b ./gcc/testsuite/g++.old-deja/g++.brendan/line1.C
-3260792263b ./gcc/testsuite/g++.old-deja/g++.brendan/misc1.C
- 840292246b ./gcc/testsuite/g++.old-deja/g++.brendan/misc10.C
-3482838045b ./gcc/testsuite/g++.old-deja/g++.brendan/misc11.C
-1190571420b ./gcc/testsuite/g++.old-deja/g++.brendan/misc12.C
-2462487683b ./gcc/testsuite/g++.old-deja/g++.brendan/misc13.C
-2371682672b ./gcc/testsuite/g++.old-deja/g++.brendan/misc14.C
-3068682850b ./gcc/testsuite/g++.old-deja/g++.brendan/misc15.C
-1840031399b ./gcc/testsuite/g++.old-deja/g++.brendan/misc16.C
-4145144968b ./gcc/testsuite/g++.old-deja/g++.brendan/misc17.C
-1747247058b ./gcc/testsuite/g++.old-deja/g++.brendan/misc2.C
-1984879017b ./gcc/testsuite/g++.old-deja/g++.brendan/misc3.C
-3850320829b ./gcc/testsuite/g++.old-deja/g++.brendan/misc4.C
- 556499795b ./gcc/testsuite/g++.old-deja/g++.brendan/misc5.C
-2119421590b ./gcc/testsuite/g++.old-deja/g++.brendan/misc6.C
- 510660555b ./gcc/testsuite/g++.old-deja/g++.brendan/misc7.C
-4192698961b ./gcc/testsuite/g++.old-deja/g++.brendan/misc8.C
- 464358847b ./gcc/testsuite/g++.old-deja/g++.brendan/misc9.C
-4175086610b ./gcc/testsuite/g++.old-deja/g++.brendan/mutable1.C
-2880395837b ./gcc/testsuite/g++.old-deja/g++.brendan/nest1.C
-4218289945b ./gcc/testsuite/g++.old-deja/g++.brendan/nest10.C
- 202788387b ./gcc/testsuite/g++.old-deja/g++.brendan/nest11.C
-1975302793b ./gcc/testsuite/g++.old-deja/g++.brendan/nest12.C
-1958887360b ./gcc/testsuite/g++.old-deja/g++.brendan/nest13.C
- 29264456b ./gcc/testsuite/g++.old-deja/g++.brendan/nest15.C
-2705266460b ./gcc/testsuite/g++.old-deja/g++.brendan/nest16.C
-1548858648b ./gcc/testsuite/g++.old-deja/g++.brendan/nest17.C
-3262257927b ./gcc/testsuite/g++.old-deja/g++.brendan/nest18.C
-2348257545b ./gcc/testsuite/g++.old-deja/g++.brendan/nest19.C
-4158798113b ./gcc/testsuite/g++.old-deja/g++.brendan/nest2.C
-3266883735b ./gcc/testsuite/g++.old-deja/g++.brendan/nest20.C
-4199114674b ./gcc/testsuite/g++.old-deja/g++.brendan/nest21.C
-3747210741b ./gcc/testsuite/g++.old-deja/g++.brendan/nest22.C
-3359473085b ./gcc/testsuite/g++.old-deja/g++.brendan/nest23.C
- 741780000b ./gcc/testsuite/g++.old-deja/g++.brendan/nest24.C
-3460040540b ./gcc/testsuite/g++.old-deja/g++.brendan/nest3.C
-3092321784b ./gcc/testsuite/g++.old-deja/g++.brendan/nest4.C
- 611468654b ./gcc/testsuite/g++.old-deja/g++.brendan/new-array.C
-3209968741b ./gcc/testsuite/g++.old-deja/g++.brendan/new1.C
-3615221220b ./gcc/testsuite/g++.old-deja/g++.brendan/new2.C
-3650470992b ./gcc/testsuite/g++.old-deja/g++.brendan/new3.C
-2264656223b ./gcc/testsuite/g++.old-deja/g++.brendan/ns1.C
-2649926624b ./gcc/testsuite/g++.old-deja/g++.brendan/operators1.C
-2592721748b ./gcc/testsuite/g++.old-deja/g++.brendan/operators2.C
-2129877497b ./gcc/testsuite/g++.old-deja/g++.brendan/operators3.C
-2179459224b ./gcc/testsuite/g++.old-deja/g++.brendan/operators4.C
- 365188051b ./gcc/testsuite/g++.old-deja/g++.brendan/operators5.C
-1939786411b ./gcc/testsuite/g++.old-deja/g++.brendan/operators6.C
-2774653307b ./gcc/testsuite/g++.old-deja/g++.brendan/operators7.C
-1264143080b ./gcc/testsuite/g++.old-deja/g++.brendan/operators8.C
- 785078285b ./gcc/testsuite/g++.old-deja/g++.brendan/overload1.C
-2183452204b ./gcc/testsuite/g++.old-deja/g++.brendan/overload10.C
-1188978134b ./gcc/testsuite/g++.old-deja/g++.brendan/overload11.C
-1695324282b ./gcc/testsuite/g++.old-deja/g++.brendan/overload2.C
-4234832416b ./gcc/testsuite/g++.old-deja/g++.brendan/overload3.C
-1846706050b ./gcc/testsuite/g++.old-deja/g++.brendan/overload4.C
-4113371844b ./gcc/testsuite/g++.old-deja/g++.brendan/overload5.C
- 401815179b ./gcc/testsuite/g++.old-deja/g++.brendan/overload6.C
-4240295604b ./gcc/testsuite/g++.old-deja/g++.brendan/overload7.C
-2909212839b ./gcc/testsuite/g++.old-deja/g++.brendan/overload8.C
-3089598546b ./gcc/testsuite/g++.old-deja/g++.brendan/overload9.C
-3352057260b ./gcc/testsuite/g++.old-deja/g++.brendan/parse1.C
-3784585361b ./gcc/testsuite/g++.old-deja/g++.brendan/parse2.C
- 376525757b ./gcc/testsuite/g++.old-deja/g++.brendan/parse3.C
-3598002484b ./gcc/testsuite/g++.old-deja/g++.brendan/parse4.C
-3249609747b ./gcc/testsuite/g++.old-deja/g++.brendan/parse5.C
-3147672451b ./gcc/testsuite/g++.old-deja/g++.brendan/parse6.C
-3126677669b ./gcc/testsuite/g++.old-deja/g++.brendan/prepost1.C
-2799625909b ./gcc/testsuite/g++.old-deja/g++.brendan/prepost2.C
- 870942291b ./gcc/testsuite/g++.old-deja/g++.brendan/prepost3.C
-1385259160b ./gcc/testsuite/g++.old-deja/g++.brendan/prepost4.C
-2200714766b ./gcc/testsuite/g++.old-deja/g++.brendan/ptolemy1.C
-4291771713b ./gcc/testsuite/g++.old-deja/g++.brendan/ptolemy2.C
- 38057973b ./gcc/testsuite/g++.old-deja/g++.brendan/ptrmem1.C
-4022822146b ./gcc/testsuite/g++.old-deja/g++.brendan/ptrmem2.C
- 619231948b ./gcc/testsuite/g++.old-deja/g++.brendan/ptrmem3.C
-2919120027b ./gcc/testsuite/g++.old-deja/g++.brendan/ptrmem4.C
-2442841220b ./gcc/testsuite/g++.old-deja/g++.brendan/recurse.C
-3933401437b ./gcc/testsuite/g++.old-deja/g++.brendan/redecl1.C
-3593227342b ./gcc/testsuite/g++.old-deja/g++.brendan/redecl2.C
-4124591660b ./gcc/testsuite/g++.old-deja/g++.brendan/redecl3.C
-2392267363b ./gcc/testsuite/g++.old-deja/g++.brendan/reference1.C
-2740944344b ./gcc/testsuite/g++.old-deja/g++.brendan/rtti1.C
-2832019618b ./gcc/testsuite/g++.old-deja/g++.brendan/scope1.C
-3174533815b ./gcc/testsuite/g++.old-deja/g++.brendan/scope2.C
- 984705374b ./gcc/testsuite/g++.old-deja/g++.brendan/scope3.C
- 530491368b ./gcc/testsuite/g++.old-deja/g++.brendan/scope4.C
-2958119224b ./gcc/testsuite/g++.old-deja/g++.brendan/scope5.C
-3517883150b ./gcc/testsuite/g++.old-deja/g++.brendan/shadow1.C
-1298625279b ./gcc/testsuite/g++.old-deja/g++.brendan/sizeof1.C
-1606736953b ./gcc/testsuite/g++.old-deja/g++.brendan/sizeof2.C
-1309373439b ./gcc/testsuite/g++.old-deja/g++.brendan/sizeof3.C
-2843507191b ./gcc/testsuite/g++.old-deja/g++.brendan/sizeof4.C
-3765723266b ./gcc/testsuite/g++.old-deja/g++.brendan/sizeof5.C
-4271892241b ./gcc/testsuite/g++.old-deja/g++.brendan/sorry1.C
-3244246119b ./gcc/testsuite/g++.old-deja/g++.brendan/static1.C
-3667553213b ./gcc/testsuite/g++.old-deja/g++.brendan/static2.C
-3518242349b ./gcc/testsuite/g++.old-deja/g++.brendan/static3.C
-1578126603b ./gcc/testsuite/g++.old-deja/g++.brendan/synth1.C
-2963427658b ./gcc/testsuite/g++.old-deja/g++.brendan/template1.C
- 486716772b ./gcc/testsuite/g++.old-deja/g++.brendan/template11.C
- 675307124b ./gcc/testsuite/g++.old-deja/g++.brendan/template12.C
-4278394002b ./gcc/testsuite/g++.old-deja/g++.brendan/template13.C
-4135240635b ./gcc/testsuite/g++.old-deja/g++.brendan/template15.C
-3955771564b ./gcc/testsuite/g++.old-deja/g++.brendan/template16.C
-3118430115b ./gcc/testsuite/g++.old-deja/g++.brendan/template17.C
- 378060276b ./gcc/testsuite/g++.old-deja/g++.brendan/template18.C
-3959082203b ./gcc/testsuite/g++.old-deja/g++.brendan/template19.C
-4292737843b ./gcc/testsuite/g++.old-deja/g++.brendan/template2.C
-4030461184b ./gcc/testsuite/g++.old-deja/g++.brendan/template20.C
-1759284086b ./gcc/testsuite/g++.old-deja/g++.brendan/template21.C
-2020058736b ./gcc/testsuite/g++.old-deja/g++.brendan/template22.C
- 880621627b ./gcc/testsuite/g++.old-deja/g++.brendan/template23.C
-3765473150b ./gcc/testsuite/g++.old-deja/g++.brendan/template24.C
-1978252533b ./gcc/testsuite/g++.old-deja/g++.brendan/template25.C
- 730754006b ./gcc/testsuite/g++.old-deja/g++.brendan/template26.C
-1378450506b ./gcc/testsuite/g++.old-deja/g++.brendan/template27.C
-1797214646b ./gcc/testsuite/g++.old-deja/g++.brendan/template28.C
- 290486161b ./gcc/testsuite/g++.old-deja/g++.brendan/template29.C
-3476592365b ./gcc/testsuite/g++.old-deja/g++.brendan/template3.C
-3262101990b ./gcc/testsuite/g++.old-deja/g++.brendan/template30.C
-3508460272b ./gcc/testsuite/g++.old-deja/g++.brendan/template31.C
-2599566194b ./gcc/testsuite/g++.old-deja/g++.brendan/template4.C
- 575580037b ./gcc/testsuite/g++.old-deja/g++.brendan/template5.C
- 534471494b ./gcc/testsuite/g++.old-deja/g++.brendan/template6.C
-1095287366b ./gcc/testsuite/g++.old-deja/g++.brendan/template7.C
- 517567456b ./gcc/testsuite/g++.old-deja/g++.brendan/template8.C
-2763598078b ./gcc/testsuite/g++.old-deja/g++.brendan/template9.C
-1644370694b ./gcc/testsuite/g++.old-deja/g++.brendan/temporary1.C
-2369869850b ./gcc/testsuite/g++.old-deja/g++.brendan/typedef1.C
-2735505257b ./gcc/testsuite/g++.old-deja/g++.brendan/union1.C
- 823018336b ./gcc/testsuite/g++.old-deja/g++.brendan/union2.C
-2620564840b ./gcc/testsuite/g++.old-deja/g++.brendan/union3.C
-2922551156b ./gcc/testsuite/g++.old-deja/g++.brendan/visibility1.C
-1914281947b ./gcc/testsuite/g++.old-deja/g++.brendan/visibility10.C
-3793323471b ./gcc/testsuite/g++.old-deja/g++.brendan/visibility2.C
- 399740001b ./gcc/testsuite/g++.old-deja/g++.brendan/visibility3.C
-2097292018b ./gcc/testsuite/g++.old-deja/g++.brendan/visibility4.C
- 574178981b ./gcc/testsuite/g++.old-deja/g++.brendan/visibility5.C
-1490006646b ./gcc/testsuite/g++.old-deja/g++.brendan/visibility6.C
-2737828036b ./gcc/testsuite/g++.old-deja/g++.brendan/visibility7.C
-1186381819b ./gcc/testsuite/g++.old-deja/g++.brendan/visibility8.C
- 350593631b ./gcc/testsuite/g++.old-deja/g++.brendan/visibility9.C
- 750730101b ./gcc/testsuite/g++.old-deja/g++.brendan/vtables1.C
-1139355022b ./gcc/testsuite/g++.old-deja/g++.brendan/warnings1.C
-2127742392b ./gcc/testsuite/g++.old-deja/g++.brendan/warnings10.C
- 752421094b ./gcc/testsuite/g++.old-deja/g++.brendan/warnings2.C
-2267971773b ./gcc/testsuite/g++.old-deja/g++.brendan/warnings3.C
- 60611814b ./gcc/testsuite/g++.old-deja/g++.brendan/warnings4.C
-1620038153b ./gcc/testsuite/g++.old-deja/g++.brendan/warnings5.C
- 601010719b ./gcc/testsuite/g++.old-deja/g++.brendan/warnings6.C
-1529970043b ./gcc/testsuite/g++.old-deja/g++.brendan/warnings7.C
-2592942829b ./gcc/testsuite/g++.old-deja/g++.brendan/warnings8.C
-2410309597b ./gcc/testsuite/g++.old-deja/g++.brendan/warnings9.C
- 879793477b ./gcc/testsuite/g++.old-deja/g++.bugs/891229_02.C
- 995524953b ./gcc/testsuite/g++.old-deja/g++.bugs/891230_01.C
-3396939769b ./gcc/testsuite/g++.old-deja/g++.bugs/900107_01.C
-3168842964b ./gcc/testsuite/g++.old-deja/g++.bugs/900119_01.C
-3900455611b ./gcc/testsuite/g++.old-deja/g++.bugs/900121_01.C
-2146350614b ./gcc/testsuite/g++.old-deja/g++.bugs/900121_02.C
- 584636864b ./gcc/testsuite/g++.old-deja/g++.bugs/900121_05.C
-1991520903b ./gcc/testsuite/g++.old-deja/g++.bugs/900127_01.C
-2330321470b ./gcc/testsuite/g++.old-deja/g++.bugs/900127_02.C
-3489166192b ./gcc/testsuite/g++.old-deja/g++.bugs/900205_02.C
-3457661037b ./gcc/testsuite/g++.old-deja/g++.bugs/900205_03.C
- 707278245b ./gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C
-2807062312b ./gcc/testsuite/g++.old-deja/g++.bugs/900207_03.C
-1397162767b ./gcc/testsuite/g++.old-deja/g++.bugs/900208_02.C
-2651120681b ./gcc/testsuite/g++.old-deja/g++.bugs/900208_03.C
-2171781580b ./gcc/testsuite/g++.old-deja/g++.bugs/900208_04.C
-3303782315b ./gcc/testsuite/g++.old-deja/g++.bugs/900209_01.C
- 780393726b ./gcc/testsuite/g++.old-deja/g++.bugs/900210_01.C
- 6412645b ./gcc/testsuite/g++.old-deja/g++.bugs/900210_02.C
-4275693472b ./gcc/testsuite/g++.old-deja/g++.bugs/900210_03.C
-1292327254b ./gcc/testsuite/g++.old-deja/g++.bugs/900210_05.C
-4037536992b ./gcc/testsuite/g++.old-deja/g++.bugs/900210_06.C
-2622921904b ./gcc/testsuite/g++.old-deja/g++.bugs/900210_07.C
- 690087876b ./gcc/testsuite/g++.old-deja/g++.bugs/900210_08.C
-2026146424b ./gcc/testsuite/g++.old-deja/g++.bugs/900210_09.C
-3600304327b ./gcc/testsuite/g++.old-deja/g++.bugs/900210_10.C
-1256707550b ./gcc/testsuite/g++.old-deja/g++.bugs/900211_01.C
-1084090140b ./gcc/testsuite/g++.old-deja/g++.bugs/900211_02.C
-3916124462b ./gcc/testsuite/g++.old-deja/g++.bugs/900211_03.C
- 241770712b ./gcc/testsuite/g++.old-deja/g++.bugs/900211_04.C
-1582696199b ./gcc/testsuite/g++.old-deja/g++.bugs/900212_01.C
-1974918899b ./gcc/testsuite/g++.old-deja/g++.bugs/900212_02.C
- 203635920b ./gcc/testsuite/g++.old-deja/g++.bugs/900212_03.C
-4232472999b ./gcc/testsuite/g++.old-deja/g++.bugs/900213_01.C
-1276348303b ./gcc/testsuite/g++.old-deja/g++.bugs/900213_02.C
-2887201610b ./gcc/testsuite/g++.old-deja/g++.bugs/900213_03.C
-1660260745b ./gcc/testsuite/g++.old-deja/g++.bugs/900214_01.C
- 294266245b ./gcc/testsuite/g++.old-deja/g++.bugs/900215_01.C
-1381602623b ./gcc/testsuite/g++.old-deja/g++.bugs/900215_02.C
- 994946835b ./gcc/testsuite/g++.old-deja/g++.bugs/900220_01.C
-3910347278b ./gcc/testsuite/g++.old-deja/g++.bugs/900220_02.C
-4252298896b ./gcc/testsuite/g++.old-deja/g++.bugs/900220_03.C
-1290432832b ./gcc/testsuite/g++.old-deja/g++.bugs/900221_01.C
-2890558545b ./gcc/testsuite/g++.old-deja/g++.bugs/900227_01.C
-1984786856b ./gcc/testsuite/g++.old-deja/g++.bugs/900321_01.C
-3263132139b ./gcc/testsuite/g++.old-deja/g++.bugs/900321_02.C
-3726833614b ./gcc/testsuite/g++.old-deja/g++.bugs/900321_04.C
-3208622461b ./gcc/testsuite/g++.old-deja/g++.bugs/900321_05.C
-2500096956b ./gcc/testsuite/g++.old-deja/g++.bugs/900322_01.C
- 681072542b ./gcc/testsuite/g++.old-deja/g++.bugs/900324_02.C
-2572761897b ./gcc/testsuite/g++.old-deja/g++.bugs/900324_03.C
-2694477972b ./gcc/testsuite/g++.old-deja/g++.bugs/900324_04.C
- 690195427b ./gcc/testsuite/g++.old-deja/g++.bugs/900324_05.C
- 317521719b ./gcc/testsuite/g++.old-deja/g++.bugs/900324_06.C
-3073385107b ./gcc/testsuite/g++.old-deja/g++.bugs/900325_01.C
-3117943928b ./gcc/testsuite/g++.old-deja/g++.bugs/900330_01.C
-3120423847b ./gcc/testsuite/g++.old-deja/g++.bugs/900330_02.C
-4248455686b ./gcc/testsuite/g++.old-deja/g++.bugs/900331_02.C
-3962158950b ./gcc/testsuite/g++.old-deja/g++.bugs/900331_03.C
-3297726587b ./gcc/testsuite/g++.old-deja/g++.bugs/900331_04.C
-1155342042b ./gcc/testsuite/g++.old-deja/g++.bugs/900401_01.C
-2499836717b ./gcc/testsuite/g++.old-deja/g++.bugs/900402_01.C
- 845652229b ./gcc/testsuite/g++.old-deja/g++.bugs/900402_02.C
-1163828267b ./gcc/testsuite/g++.old-deja/g++.bugs/900403_01.C
-4141739844b ./gcc/testsuite/g++.old-deja/g++.bugs/900403_04.C
-1907728591b ./gcc/testsuite/g++.old-deja/g++.bugs/900404_01.C
-2723342095b ./gcc/testsuite/g++.old-deja/g++.bugs/900404_02.C
-1026865843b ./gcc/testsuite/g++.old-deja/g++.bugs/900404_03.C
-1793308826b ./gcc/testsuite/g++.old-deja/g++.bugs/900404_04.C
-3075423771b ./gcc/testsuite/g++.old-deja/g++.bugs/900404_07.C
- 769125852b ./gcc/testsuite/g++.old-deja/g++.bugs/900405_01.C
- 527599451b ./gcc/testsuite/g++.old-deja/g++.bugs/900406_01.C
-1181207035b ./gcc/testsuite/g++.old-deja/g++.bugs/900406_02.C
- 467084117b ./gcc/testsuite/g++.old-deja/g++.bugs/900407_01.C
-3181298090b ./gcc/testsuite/g++.old-deja/g++.bugs/900407_02.C
- 278831200b ./gcc/testsuite/g++.old-deja/g++.bugs/900428_01.C
-3966201362b ./gcc/testsuite/g++.old-deja/g++.bugs/900428_02.C
-2804257500b ./gcc/testsuite/g++.old-deja/g++.bugs/900428_03.C
-2638840723b ./gcc/testsuite/g++.old-deja/g++.bugs/900511_01.C
-1121452894b ./gcc/testsuite/g++.old-deja/g++.bugs/900511_02.C
-2969943864b ./gcc/testsuite/g++.old-deja/g++.bugs/900511_03.C
- 174926040b ./gcc/testsuite/g++.old-deja/g++.bugs/900514_03.C
-2924879685b ./gcc/testsuite/g++.old-deja/g++.bugs/900519_01.C
-1121534730b ./gcc/testsuite/g++.old-deja/g++.bugs/900519_02.C
-4018294577b ./gcc/testsuite/g++.old-deja/g++.bugs/900519_03.C
- 39270680b ./gcc/testsuite/g++.old-deja/g++.bugs/900519_04.C
- 786299821b ./gcc/testsuite/g++.old-deja/g++.bugs/900519_05.C
-1520079302b ./gcc/testsuite/g++.old-deja/g++.bugs/900519_06.C
-3679461455b ./gcc/testsuite/g++.old-deja/g++.bugs/900519_07.C
-1493720581b ./gcc/testsuite/g++.old-deja/g++.bugs/900519_09.C
-1369816343b ./gcc/testsuite/g++.old-deja/g++.bugs/900519_12.C
-3378349206b ./gcc/testsuite/g++.old-deja/g++.bugs/900519_13.C
- 398333614b ./gcc/testsuite/g++.old-deja/g++.bugs/900520_02.C
- 592030193b ./gcc/testsuite/g++.old-deja/g++.bugs/900520_03.C
-3373505469b ./gcc/testsuite/g++.old-deja/g++.bugs/900520_04.C
-1381261051b ./gcc/testsuite/g++.old-deja/g++.bugs/900520_05.C
-3515041132b ./gcc/testsuite/g++.old-deja/g++.bugs/900520_06.C
-3391348266b ./gcc/testsuite/g++.old-deja/g++.eh/cleanup1.C
- 633960827b ./gcc/testsuite/g++.old-deja/g++.eh/ctor1.C
-3927012113b ./gcc/testsuite/g++.old-deja/g++.eh/flow1.C
- 552651214b ./gcc/testsuite/g++.old-deja/g++.eh/new1.C
- 870494276b ./gcc/testsuite/g++.old-deja/g++.eh/new2.C
-3634137795b ./gcc/testsuite/g++.old-deja/g++.eh/pdel1.C
-2137801791b ./gcc/testsuite/g++.old-deja/g++.eh/pdel2.C
-2987769467b ./gcc/testsuite/g++.old-deja/g++.eh/ptr1.C
-1768169036b ./gcc/testsuite/g++.old-deja/g++.eh/rethrow1.C
-2742043120b ./gcc/testsuite/g++.old-deja/g++.eh/rethrow2.C
- 594394532b ./gcc/testsuite/g++.old-deja/g++.eh/rethrow3.C
-1092183660b ./gcc/testsuite/g++.old-deja/g++.eh/rethrow4.C
-1908139767b ./gcc/testsuite/g++.old-deja/g++.eh/rethrow5.C
-3587234868b ./gcc/testsuite/g++.old-deja/g++.eh/spec1.C
- 575869724b ./gcc/testsuite/g++.old-deja/g++.eh/spec2.C
-3512769980b ./gcc/testsuite/g++.old-deja/g++.eh/spec3.C
- 733574694b ./gcc/testsuite/g++.old-deja/g++.eh/spec4.C
-3529701833b ./gcc/testsuite/g++.old-deja/g++.eh/spec5.C
-4217315148b ./gcc/testsuite/g++.old-deja/g++.eh/spec6.C
- 2244717b ./gcc/testsuite/g++.old-deja/g++.eh/throw1.C
- 67637737b ./gcc/testsuite/g++.old-deja/g++.eh/throw2.C
-2714145986b ./gcc/testsuite/g++.old-deja/g++.eh/tmpl1.C
-3174750751b ./gcc/testsuite/g++.old-deja/g++.eh/tmpl2.C
-2148656642b ./gcc/testsuite/g++.old-deja/g++.eh/tmpl3.C
- 718465415b ./gcc/testsuite/g++.old-deja/g++.eh/unwind1.C
- 294063116b ./gcc/testsuite/g++.old-deja/g++.ext/addrfunc1.C
- 667780346b ./gcc/testsuite/g++.old-deja/g++.ext/addrfunc2.C
- 585898936b ./gcc/testsuite/g++.old-deja/g++.ext/addrfunc3.C
-1338417329b ./gcc/testsuite/g++.old-deja/g++.ext/array1.C
-3939449890b ./gcc/testsuite/g++.old-deja/g++.ext/array2.C
- 389663142b ./gcc/testsuite/g++.old-deja/g++.ext/arrnew.C
-2445582885b ./gcc/testsuite/g++.old-deja/g++.ext/arrnew2.C
-4101102615b ./gcc/testsuite/g++.old-deja/g++.ext/attrib1.C
-3350275577b ./gcc/testsuite/g++.old-deja/g++.ext/attrib2.C
-1053733436b ./gcc/testsuite/g++.old-deja/g++.ext/attrib3.C
-1626467181b ./gcc/testsuite/g++.old-deja/g++.ext/attrib4.C
-1383545548b ./gcc/testsuite/g++.old-deja/g++.ext/attrib5.C
-4135686771b ./gcc/testsuite/g++.old-deja/g++.ext/bound1.C
-2395600799b ./gcc/testsuite/g++.old-deja/g++.ext/constructor.C
-2324105514b ./gcc/testsuite/g++.old-deja/g++.ext/default.C
-3924787283b ./gcc/testsuite/g++.old-deja/g++.ext/implicit1.C
-1220140779b ./gcc/testsuite/g++.old-deja/g++.ext/jump1.C
-1326698912b ./gcc/testsuite/g++.old-deja/g++.ext/memconst.C
-1485906792b ./gcc/testsuite/g++.old-deja/g++.ext/null1.C
-2953041955b ./gcc/testsuite/g++.old-deja/g++.ext/pretty.C
-3055500151b ./gcc/testsuite/g++.old-deja/g++.ext/typeof1.C
- 122985883b ./gcc/testsuite/g++.old-deja/g++.gb/README
-3834907847b ./gcc/testsuite/g++.old-deja/g++.gb/scope01.C
-2804649369b ./gcc/testsuite/g++.old-deja/g++.gb/scope02.C
- 435367782b ./gcc/testsuite/g++.old-deja/g++.gb/scope03.C
-4065080798b ./gcc/testsuite/g++.old-deja/g++.gb/scope04.C
-3804153482b ./gcc/testsuite/g++.old-deja/g++.gb/scope05.C
- 810866747b ./gcc/testsuite/g++.old-deja/g++.gb/scope06.C
-2470529748b ./gcc/testsuite/g++.old-deja/g++.gb/scope07.C
-3372453011b ./gcc/testsuite/g++.old-deja/g++.gb/scope08.C
-3802132245b ./gcc/testsuite/g++.old-deja/g++.gb/scope09.C
-1805528465b ./gcc/testsuite/g++.old-deja/g++.gb/scope10.C
-2330909859b ./gcc/testsuite/g++.old-deja/g++.gb/scope11.C
-3275516446b ./gcc/testsuite/g++.old-deja/g++.gb/scope12.C
- 732967750b ./gcc/testsuite/g++.old-deja/g++.gb/scope13.C
-3721052813b ./gcc/testsuite/g++.old-deja/g++.gb/sig01.C
-1512837905b ./gcc/testsuite/g++.old-deja/g++.gb/sig02.C
-3385603237b ./gcc/testsuite/g++.old-deja/g++.gb/sig03.C
-2356664613b ./gcc/testsuite/g++.old-deja/g++.gb/sig04.C
-2617135270b ./gcc/testsuite/g++.old-deja/g++.gb/sig05.C
-1365037498b ./gcc/testsuite/g++.old-deja/g++.gb/sig06.C
-3140073410b ./gcc/testsuite/g++.old-deja/g++.gb/sig07.C
- 801953342b ./gcc/testsuite/g++.old-deja/g++.gb/sig08.C
-3256180394b ./gcc/testsuite/g++.old-deja/g++.gb/sig09.C
- 556205291b ./gcc/testsuite/g++.old-deja/g++.gb/sig10.C
- 958208902b ./gcc/testsuite/g++.old-deja/g++.gb/sig11.C
-3563669169b ./gcc/testsuite/g++.old-deja/g++.gb/sig12.C
-3606731436b ./gcc/testsuite/g++.old-deja/g++.gb/sig13.C
-2776667779b ./gcc/testsuite/g++.old-deja/g++.gb/sig14.C
- 512964711b ./gcc/testsuite/g++.old-deja/g++.gb/sig15.C
-1145871785b ./gcc/testsuite/g++.old-deja/g++.gb/sig16.C
-3227922650b ./gcc/testsuite/g++.old-deja/g++.gb/sig17.C
-1167895256b ./gcc/testsuite/g++.old-deja/g++.gb/sig18.C
-1118519727b ./gcc/testsuite/g++.old-deja/g++.gb/sig19.C
-1031577676b ./gcc/testsuite/g++.old-deja/g++.gb/sig20.C
-3996622860b ./gcc/testsuite/g++.old-deja/g++.gb/sig21.C
-3548466821b ./gcc/testsuite/g++.old-deja/g++.gb/sig22.C
-3675888653b ./gcc/testsuite/g++.old-deja/g++.gb/sig23.C
-1492012534b ./gcc/testsuite/g++.old-deja/g++.gb/sig24.C
-3190778714b ./gcc/testsuite/g++.old-deja/g++.gb/sig25.C
-2055043399b ./gcc/testsuite/g++.old-deja/g++.gb/sig26.C
-1608163135b ./gcc/testsuite/g++.old-deja/g++.gb/sig27.C
-1598835805b ./gcc/testsuite/g++.old-deja/g++.gb/sig28.C
-3884278859b ./gcc/testsuite/g++.old-deja/g++.gb/sig29.C
-2429898819b ./gcc/testsuite/g++.old-deja/g++.gb/sig30.C
-1423122028b ./gcc/testsuite/g++.old-deja/g++.gb/sig31.C
-2068714483b ./gcc/testsuite/g++.old-deja/g++.jason/2371.C
-3968774299b ./gcc/testsuite/g++.old-deja/g++.jason/3523.C
- 906409788b ./gcc/testsuite/g++.old-deja/g++.jason/access1.C
-1546884424b ./gcc/testsuite/g++.old-deja/g++.jason/access10.C
- 739404807b ./gcc/testsuite/g++.old-deja/g++.jason/access11.C
- 512908443b ./gcc/testsuite/g++.old-deja/g++.jason/access12.C
-2380497170b ./gcc/testsuite/g++.old-deja/g++.jason/access13.C
- 955814506b ./gcc/testsuite/g++.old-deja/g++.jason/access14.C
- 733693092b ./gcc/testsuite/g++.old-deja/g++.jason/access15.C
- 667302295b ./gcc/testsuite/g++.old-deja/g++.jason/access16.C
-2572582943b ./gcc/testsuite/g++.old-deja/g++.jason/access17.C
-2772251892b ./gcc/testsuite/g++.old-deja/g++.jason/access18.C
-3689044609b ./gcc/testsuite/g++.old-deja/g++.jason/access2.C
-2659493566b ./gcc/testsuite/g++.old-deja/g++.jason/access20.C
-2929579271b ./gcc/testsuite/g++.old-deja/g++.jason/access21.C
-3020128764b ./gcc/testsuite/g++.old-deja/g++.jason/access22.C
-2730640435b ./gcc/testsuite/g++.old-deja/g++.jason/access23.C
- 338921992b ./gcc/testsuite/g++.old-deja/g++.jason/access24.C
- 642011051b ./gcc/testsuite/g++.old-deja/g++.jason/access3.C
-3641897763b ./gcc/testsuite/g++.old-deja/g++.jason/access4.C
-3768207880b ./gcc/testsuite/g++.old-deja/g++.jason/access5.C
-1482167820b ./gcc/testsuite/g++.old-deja/g++.jason/access6.C
-2788333672b ./gcc/testsuite/g++.old-deja/g++.jason/access7.C
-3806038473b ./gcc/testsuite/g++.old-deja/g++.jason/access8.C
- 570522205b ./gcc/testsuite/g++.old-deja/g++.jason/access9.C
-2808067800b ./gcc/testsuite/g++.old-deja/g++.jason/aggregate.C
-3728379159b ./gcc/testsuite/g++.old-deja/g++.jason/ambig1.C
-2153743197b ./gcc/testsuite/g++.old-deja/g++.jason/ambig2.C
- 970394079b ./gcc/testsuite/g++.old-deja/g++.jason/ambig3.C
-3828622053b ./gcc/testsuite/g++.old-deja/g++.jason/anon.C
-3198278705b ./gcc/testsuite/g++.old-deja/g++.jason/anon2.C
- 312286241b ./gcc/testsuite/g++.old-deja/g++.jason/anon3.C
-1050500875b ./gcc/testsuite/g++.old-deja/g++.jason/anon4.C
-3877580602b ./gcc/testsuite/g++.old-deja/g++.jason/binding.C
-1263298999b ./gcc/testsuite/g++.old-deja/g++.jason/binding2.C
-2916172455b ./gcc/testsuite/g++.old-deja/g++.jason/binding3.C
- 876810594b ./gcc/testsuite/g++.old-deja/g++.jason/bool.C
- 406790293b ./gcc/testsuite/g++.old-deja/g++.jason/bool2.C
-4269822269b ./gcc/testsuite/g++.old-deja/g++.jason/bool3.C
-4291089432b ./gcc/testsuite/g++.old-deja/g++.jason/bool4.C
- 423379068b ./gcc/testsuite/g++.old-deja/g++.jason/bool5.C
-3708944851b ./gcc/testsuite/g++.old-deja/g++.jason/bool6.C
-2188617432b ./gcc/testsuite/g++.old-deja/g++.jason/bool7.C
-1992610065b ./gcc/testsuite/g++.old-deja/g++.jason/builtin.C
-1933632502b ./gcc/testsuite/g++.old-deja/g++.jason/builtin2.C
-2992950563b ./gcc/testsuite/g++.old-deja/g++.jason/byval.C
-1462484324b ./gcc/testsuite/g++.old-deja/g++.jason/byval2.C
-3007011667b ./gcc/testsuite/g++.old-deja/g++.jason/byval3.C
-1840939242b ./gcc/testsuite/g++.old-deja/g++.jason/c-inline.C
- 118607300b ./gcc/testsuite/g++.old-deja/g++.jason/c2.C
-4208843404b ./gcc/testsuite/g++.old-deja/g++.jason/cast1.C
- 864249402b ./gcc/testsuite/g++.old-deja/g++.jason/cast2.C
-3836679543b ./gcc/testsuite/g++.old-deja/g++.jason/cast3.C
- 807930816b ./gcc/testsuite/g++.old-deja/g++.jason/cleanup.C
-3337873852b ./gcc/testsuite/g++.old-deja/g++.jason/cleanup2.C
-4038763735b ./gcc/testsuite/g++.old-deja/g++.jason/complete1.C
-4148991120b ./gcc/testsuite/g++.old-deja/g++.jason/cond.C
-2828665920b ./gcc/testsuite/g++.old-deja/g++.jason/cond2.C
-3479274833b ./gcc/testsuite/g++.old-deja/g++.jason/condexp.C
- 455783151b ./gcc/testsuite/g++.old-deja/g++.jason/const.C
-1286943233b ./gcc/testsuite/g++.old-deja/g++.jason/const2.C
-1359832484b ./gcc/testsuite/g++.old-deja/g++.jason/const3.C
- 217115665b ./gcc/testsuite/g++.old-deja/g++.jason/const4.C
-2571490602b ./gcc/testsuite/g++.old-deja/g++.jason/context.C
- 390853410b ./gcc/testsuite/g++.old-deja/g++.jason/conversion.C
-3177251757b ./gcc/testsuite/g++.old-deja/g++.jason/conversion10.C
- 79208780b ./gcc/testsuite/g++.old-deja/g++.jason/conversion11.C
- 960166000b ./gcc/testsuite/g++.old-deja/g++.jason/conversion2.C
-2252122787b ./gcc/testsuite/g++.old-deja/g++.jason/conversion3.C
-2550379102b ./gcc/testsuite/g++.old-deja/g++.jason/conversion4.C
-2689671676b ./gcc/testsuite/g++.old-deja/g++.jason/conversion5.C
- 495771780b ./gcc/testsuite/g++.old-deja/g++.jason/conversion6.C
- 537258674b ./gcc/testsuite/g++.old-deja/g++.jason/conversion7.C
- 972941297b ./gcc/testsuite/g++.old-deja/g++.jason/conversion8.C
-1301591055b ./gcc/testsuite/g++.old-deja/g++.jason/conversion9.C
-3761548571b ./gcc/testsuite/g++.old-deja/g++.jason/crash1.C
-3868623548b ./gcc/testsuite/g++.old-deja/g++.jason/crash10.C
- 672669842b ./gcc/testsuite/g++.old-deja/g++.jason/crash11.C
-2043944323b ./gcc/testsuite/g++.old-deja/g++.jason/crash12.C
-1293896050b ./gcc/testsuite/g++.old-deja/g++.jason/crash3.C
- 631879164b ./gcc/testsuite/g++.old-deja/g++.jason/crash4.C
-1898220452b ./gcc/testsuite/g++.old-deja/g++.jason/crash5.C
-1438239883b ./gcc/testsuite/g++.old-deja/g++.jason/crash6.C
- 221060352b ./gcc/testsuite/g++.old-deja/g++.jason/crash7.C
-2108184879b ./gcc/testsuite/g++.old-deja/g++.jason/crash8.C
- 332002169b ./gcc/testsuite/g++.old-deja/g++.jason/crash9.C
-1064531424b ./gcc/testsuite/g++.old-deja/g++.jason/ctor1.C
-3353106178b ./gcc/testsuite/g++.old-deja/g++.jason/ctor2.C
- 832809616b ./gcc/testsuite/g++.old-deja/g++.jason/dcast1.C
-4007059639b ./gcc/testsuite/g++.old-deja/g++.jason/dcast2.C
-2038484980b ./gcc/testsuite/g++.old-deja/g++.jason/dcast3.C
-1151204277b ./gcc/testsuite/g++.old-deja/g++.jason/default1.C
- 480787751b ./gcc/testsuite/g++.old-deja/g++.jason/default2.C
-2355609557b ./gcc/testsuite/g++.old-deja/g++.jason/default3.C
-2216109544b ./gcc/testsuite/g++.old-deja/g++.jason/defctor.C
-3740171614b ./gcc/testsuite/g++.old-deja/g++.jason/delete1.C
-3574023328b ./gcc/testsuite/g++.old-deja/g++.jason/delete2.C
-2124825264b ./gcc/testsuite/g++.old-deja/g++.jason/delete3.C
-2111475973b ./gcc/testsuite/g++.old-deja/g++.jason/destruct.C
-2782278746b ./gcc/testsuite/g++.old-deja/g++.jason/destruct2.C
-2184115717b ./gcc/testsuite/g++.old-deja/g++.jason/destruct3.C
-2354427725b ./gcc/testsuite/g++.old-deja/g++.jason/destruct4.C
-1012609499b ./gcc/testsuite/g++.old-deja/g++.jason/dot.C
-2968837117b ./gcc/testsuite/g++.old-deja/g++.jason/dtor.C
-2941621886b ./gcc/testsuite/g++.old-deja/g++.jason/dtor2.C
-2007513193b ./gcc/testsuite/g++.old-deja/g++.jason/dtor3.C
-4216434532b ./gcc/testsuite/g++.old-deja/g++.jason/dtor4.C
-2710770854b ./gcc/testsuite/g++.old-deja/g++.jason/dtor5.C
-1321613329b ./gcc/testsuite/g++.old-deja/g++.jason/enum.C
-3290035079b ./gcc/testsuite/g++.old-deja/g++.jason/enum2.C
-2249058705b ./gcc/testsuite/g++.old-deja/g++.jason/enum3.C
-2986066562b ./gcc/testsuite/g++.old-deja/g++.jason/enum4.C
-3998200564b ./gcc/testsuite/g++.old-deja/g++.jason/enum5.C
-1384011452b ./gcc/testsuite/g++.old-deja/g++.jason/enum6.C
-1992437340b ./gcc/testsuite/g++.old-deja/g++.jason/enum7.C
- 301848339b ./gcc/testsuite/g++.old-deja/g++.jason/enum8.C
-4190940764b ./gcc/testsuite/g++.old-deja/g++.jason/explicit.C
-2873291254b ./gcc/testsuite/g++.old-deja/g++.jason/expr1.C
- 547919805b ./gcc/testsuite/g++.old-deja/g++.jason/friend.C
- 58017093b ./gcc/testsuite/g++.old-deja/g++.jason/friend2.C
-2216580894b ./gcc/testsuite/g++.old-deja/g++.jason/groff1.C
-2374680588b ./gcc/testsuite/g++.old-deja/g++.jason/hmc1.C
-4181972071b ./gcc/testsuite/g++.old-deja/g++.jason/incomplete1.C
-3516752956b ./gcc/testsuite/g++.old-deja/g++.jason/incomplete2.C
-3118714958b ./gcc/testsuite/g++.old-deja/g++.jason/init.C
-1181670562b ./gcc/testsuite/g++.old-deja/g++.jason/init2.C
-3901202805b ./gcc/testsuite/g++.old-deja/g++.jason/init3.C
-1056655196b ./gcc/testsuite/g++.old-deja/g++.jason/init4.C
-3360472142b ./gcc/testsuite/g++.old-deja/g++.jason/inline.C
-1350717964b ./gcc/testsuite/g++.old-deja/g++.jason/inline2.C
-4196814003b ./gcc/testsuite/g++.old-deja/g++.jason/inline3.C
-1197315088b ./gcc/testsuite/g++.old-deja/g++.jason/jump.C
-4143262839b ./gcc/testsuite/g++.old-deja/g++.jason/lex1.C
-4180318534b ./gcc/testsuite/g++.old-deja/g++.jason/lineno.C
-3982979093b ./gcc/testsuite/g++.old-deja/g++.jason/lineno2.C
-1533566087b ./gcc/testsuite/g++.old-deja/g++.jason/lineno3.C
-3991632661b ./gcc/testsuite/g++.old-deja/g++.jason/lineno4.C
-2838970132b ./gcc/testsuite/g++.old-deja/g++.jason/lineno5.C
-3655803253b ./gcc/testsuite/g++.old-deja/g++.jason/local.C
-1599936145b ./gcc/testsuite/g++.old-deja/g++.jason/lookup.C
-1387367938b ./gcc/testsuite/g++.old-deja/g++.jason/lookup2.C
- 999889620b ./gcc/testsuite/g++.old-deja/g++.jason/lookup3.C
-2443057294b ./gcc/testsuite/g++.old-deja/g++.jason/loverload.C
- 568852262b ./gcc/testsuite/g++.old-deja/g++.jason/loverload3.C
-3199076242b ./gcc/testsuite/g++.old-deja/g++.jason/loverload4.C
-3786923619b ./gcc/testsuite/g++.old-deja/g++.jason/lvalue.C
-1478776091b ./gcc/testsuite/g++.old-deja/g++.jason/lvalue2.C
-2486776920b ./gcc/testsuite/g++.old-deja/g++.jason/lvalue3.C
-2798615405b ./gcc/testsuite/g++.old-deja/g++.jason/lvalue4.C
-4250081538b ./gcc/testsuite/g++.old-deja/g++.jason/mangle1.C
-2194458585b ./gcc/testsuite/g++.old-deja/g++.jason/mangle2.C
-2497169136b ./gcc/testsuite/g++.old-deja/g++.jason/mangle3.C
-2894228846b ./gcc/testsuite/g++.old-deja/g++.jason/member.C
-1051601664b ./gcc/testsuite/g++.old-deja/g++.jason/method.C
-4260969442b ./gcc/testsuite/g++.old-deja/g++.jason/mi.C
-1705975415b ./gcc/testsuite/g++.old-deja/g++.jason/mutable1.C
-1037927762b ./gcc/testsuite/g++.old-deja/g++.jason/nested1.C
-2952138325b ./gcc/testsuite/g++.old-deja/g++.jason/nested2.C
-3141195955b ./gcc/testsuite/g++.old-deja/g++.jason/nested4.C
-1483140137b ./gcc/testsuite/g++.old-deja/g++.jason/nested5.C
- 626314633b ./gcc/testsuite/g++.old-deja/g++.jason/nested6.C
-1780563080b ./gcc/testsuite/g++.old-deja/g++.jason/nested7.C
- 496854853b ./gcc/testsuite/g++.old-deja/g++.jason/nested8.C
-2330092476b ./gcc/testsuite/g++.old-deja/g++.jason/net.C
- 814313341b ./gcc/testsuite/g++.old-deja/g++.jason/net2.C
- 761357985b ./gcc/testsuite/g++.old-deja/g++.jason/new.C
-2265817221b ./gcc/testsuite/g++.old-deja/g++.jason/new2.C
-3839072819b ./gcc/testsuite/g++.old-deja/g++.jason/new3.C
-2568972186b ./gcc/testsuite/g++.old-deja/g++.jason/new4.C
-3405685275b ./gcc/testsuite/g++.old-deja/g++.jason/new5.C
- 293878671b ./gcc/testsuite/g++.old-deja/g++.jason/offset1.C
- 173815681b ./gcc/testsuite/g++.old-deja/g++.jason/offset2.C
-3340471795b ./gcc/testsuite/g++.old-deja/g++.jason/offset3.C
- 832296383b ./gcc/testsuite/g++.old-deja/g++.jason/offset4.C
-2710108506b ./gcc/testsuite/g++.old-deja/g++.jason/opeq.C
-1182090566b ./gcc/testsuite/g++.old-deja/g++.jason/opeq2.C
- 454853917b ./gcc/testsuite/g++.old-deja/g++.jason/opeq3.C
-2472414567b ./gcc/testsuite/g++.old-deja/g++.jason/opeq4.C
- 238172458b ./gcc/testsuite/g++.old-deja/g++.jason/opeq5.C
-4059740226b ./gcc/testsuite/g++.old-deja/g++.jason/opeq6.C
- 577328766b ./gcc/testsuite/g++.old-deja/g++.jason/operator.C
- 688207169b ./gcc/testsuite/g++.old-deja/g++.jason/operator2.C
- 754653379b ./gcc/testsuite/g++.old-deja/g++.jason/opover.C
-1303452248b ./gcc/testsuite/g++.old-deja/g++.jason/optimize.C
-2884588132b ./gcc/testsuite/g++.old-deja/g++.jason/optimize2.C
-2991781301b ./gcc/testsuite/g++.old-deja/g++.jason/overload.C
-3391930718b ./gcc/testsuite/g++.old-deja/g++.jason/overload1.C
-1017239036b ./gcc/testsuite/g++.old-deja/g++.jason/overload10.C
- 836020261b ./gcc/testsuite/g++.old-deja/g++.jason/overload11.C
-3916743053b ./gcc/testsuite/g++.old-deja/g++.jason/overload12.C
-2565712491b ./gcc/testsuite/g++.old-deja/g++.jason/overload13.C
- 726365895b ./gcc/testsuite/g++.old-deja/g++.jason/overload14.C
-1696533816b ./gcc/testsuite/g++.old-deja/g++.jason/overload15.C
- 472911773b ./gcc/testsuite/g++.old-deja/g++.jason/overload16.C
- 996751401b ./gcc/testsuite/g++.old-deja/g++.jason/overload17.C
-3773007718b ./gcc/testsuite/g++.old-deja/g++.jason/overload18.C
-2041143457b ./gcc/testsuite/g++.old-deja/g++.jason/overload19.C
-1769317874b ./gcc/testsuite/g++.old-deja/g++.jason/overload2.C
-1992601156b ./gcc/testsuite/g++.old-deja/g++.jason/overload20.C
- 415714207b ./gcc/testsuite/g++.old-deja/g++.jason/overload21.C
- 109216083b ./gcc/testsuite/g++.old-deja/g++.jason/overload22.C
-2153494648b ./gcc/testsuite/g++.old-deja/g++.jason/overload23.C
-3487011657b ./gcc/testsuite/g++.old-deja/g++.jason/overload24.C
- 419380100b ./gcc/testsuite/g++.old-deja/g++.jason/overload26.C
-2193486232b ./gcc/testsuite/g++.old-deja/g++.jason/overload27.C
-2342247690b ./gcc/testsuite/g++.old-deja/g++.jason/overload28.C
-4082490103b ./gcc/testsuite/g++.old-deja/g++.jason/overload29.C
-1344900458b ./gcc/testsuite/g++.old-deja/g++.jason/overload3.C
-1565023156b ./gcc/testsuite/g++.old-deja/g++.jason/overload30.C
-1649077682b ./gcc/testsuite/g++.old-deja/g++.jason/overload31.C
-3667286916b ./gcc/testsuite/g++.old-deja/g++.jason/overload32.C
- 226155295b ./gcc/testsuite/g++.old-deja/g++.jason/overload33.C
-3641493497b ./gcc/testsuite/g++.old-deja/g++.jason/overload34.C
-3176325712b ./gcc/testsuite/g++.old-deja/g++.jason/overload35.C
-3976015069b ./gcc/testsuite/g++.old-deja/g++.jason/overload36.C
-1743964910b ./gcc/testsuite/g++.old-deja/g++.jason/overload4.C
-2748549869b ./gcc/testsuite/g++.old-deja/g++.jason/overload5.C
-2771085460b ./gcc/testsuite/g++.old-deja/g++.jason/overload6.C
-4124673438b ./gcc/testsuite/g++.old-deja/g++.jason/overload7.C
-2918456708b ./gcc/testsuite/g++.old-deja/g++.jason/overload8.C
-2194408276b ./gcc/testsuite/g++.old-deja/g++.jason/overload9.C
-4063544381b ./gcc/testsuite/g++.old-deja/g++.jason/parse1.C
- 947289597b ./gcc/testsuite/g++.old-deja/g++.jason/parse10.C
-3841541211b ./gcc/testsuite/g++.old-deja/g++.jason/parse11.C
-3217450619b ./gcc/testsuite/g++.old-deja/g++.jason/parse12.C
-1215499670b ./gcc/testsuite/g++.old-deja/g++.jason/parse13.C
-3456522595b ./gcc/testsuite/g++.old-deja/g++.jason/parse14.C
-3921597478b ./gcc/testsuite/g++.old-deja/g++.jason/parse2.C
-2265325245b ./gcc/testsuite/g++.old-deja/g++.jason/parse3.C
-1946466186b ./gcc/testsuite/g++.old-deja/g++.jason/parse4.C
-2253877513b ./gcc/testsuite/g++.old-deja/g++.jason/parse5.C
-1310766643b ./gcc/testsuite/g++.old-deja/g++.jason/parse6.C
-1407239852b ./gcc/testsuite/g++.old-deja/g++.jason/parse7.C
-2608587867b ./gcc/testsuite/g++.old-deja/g++.jason/parse8.C
-2097676131b ./gcc/testsuite/g++.old-deja/g++.jason/parse9.C
-3300711445b ./gcc/testsuite/g++.old-deja/g++.jason/pmem.C
-2869094375b ./gcc/testsuite/g++.old-deja/g++.jason/pmem2.C
- 515838035b ./gcc/testsuite/g++.old-deja/g++.jason/pmem3.C
- 882646803b ./gcc/testsuite/g++.old-deja/g++.jason/pmem4.C
-2275329075b ./gcc/testsuite/g++.old-deja/g++.jason/pmf.C
-2099557976b ./gcc/testsuite/g++.old-deja/g++.jason/pmf2.C
-2245415039b ./gcc/testsuite/g++.old-deja/g++.jason/pmf3.C
-2911197085b ./gcc/testsuite/g++.old-deja/g++.jason/pmf4.C
-3829985497b ./gcc/testsuite/g++.old-deja/g++.jason/pmf5.C
-2138251562b ./gcc/testsuite/g++.old-deja/g++.jason/pmf6.C
-2487032279b ./gcc/testsuite/g++.old-deja/g++.jason/pmf7.C
-2987146868b ./gcc/testsuite/g++.old-deja/g++.jason/pmf8.C
- 788166114b ./gcc/testsuite/g++.old-deja/g++.jason/pmf9.C
-1423191415b ./gcc/testsuite/g++.old-deja/g++.jason/pmftemp.C
-2592898175b ./gcc/testsuite/g++.old-deja/g++.jason/precedence.C
-2132972863b ./gcc/testsuite/g++.old-deja/g++.jason/redecl1.C
- 829230497b ./gcc/testsuite/g++.old-deja/g++.jason/ref1.C
-2423430425b ./gcc/testsuite/g++.old-deja/g++.jason/ref10.C
- 252373474b ./gcc/testsuite/g++.old-deja/g++.jason/ref11.C
-4220963029b ./gcc/testsuite/g++.old-deja/g++.jason/ref12.C
-1138343018b ./gcc/testsuite/g++.old-deja/g++.jason/ref2.C
-4198332542b ./gcc/testsuite/g++.old-deja/g++.jason/ref3.C
-3108698233b ./gcc/testsuite/g++.old-deja/g++.jason/ref4.C
- 649579178b ./gcc/testsuite/g++.old-deja/g++.jason/ref5.C
-1504658699b ./gcc/testsuite/g++.old-deja/g++.jason/ref6.C
-3285486142b ./gcc/testsuite/g++.old-deja/g++.jason/ref7.C
-1357591997b ./gcc/testsuite/g++.old-deja/g++.jason/ref8.C
-1262470243b ./gcc/testsuite/g++.old-deja/g++.jason/ref9.C
-3842887747b ./gcc/testsuite/g++.old-deja/g++.jason/report.C
-2084961742b ./gcc/testsuite/g++.old-deja/g++.jason/return.C
-1302488236b ./gcc/testsuite/g++.old-deja/g++.jason/return2.C
-1422012899b ./gcc/testsuite/g++.old-deja/g++.jason/return3.C
-4282982182b ./gcc/testsuite/g++.old-deja/g++.jason/rfg1.C
- 364370005b ./gcc/testsuite/g++.old-deja/g++.jason/rfg10.C
-3958400971b ./gcc/testsuite/g++.old-deja/g++.jason/rfg11.C
- 288348052b ./gcc/testsuite/g++.old-deja/g++.jason/rfg12.C
-1796028566b ./gcc/testsuite/g++.old-deja/g++.jason/rfg13.C
-1386111440b ./gcc/testsuite/g++.old-deja/g++.jason/rfg14.C
-2961300206b ./gcc/testsuite/g++.old-deja/g++.jason/rfg16.C
-3703739742b ./gcc/testsuite/g++.old-deja/g++.jason/rfg17.C
-3495930194b ./gcc/testsuite/g++.old-deja/g++.jason/rfg18.C
-3117732826b ./gcc/testsuite/g++.old-deja/g++.jason/rfg2.C
- 438117679b ./gcc/testsuite/g++.old-deja/g++.jason/rfg20.C
- 258053642b ./gcc/testsuite/g++.old-deja/g++.jason/rfg21.C
-1272258763b ./gcc/testsuite/g++.old-deja/g++.jason/rfg22.C
-4108777186b ./gcc/testsuite/g++.old-deja/g++.jason/rfg23.C
-2848746038b ./gcc/testsuite/g++.old-deja/g++.jason/rfg24.C
- 641797911b ./gcc/testsuite/g++.old-deja/g++.jason/rfg25.C
-4125676781b ./gcc/testsuite/g++.old-deja/g++.jason/rfg26.C
-2899886704b ./gcc/testsuite/g++.old-deja/g++.jason/rfg27.C
- 838463016b ./gcc/testsuite/g++.old-deja/g++.jason/rfg28.C
- 148681664b ./gcc/testsuite/g++.old-deja/g++.jason/rfg3.C
-1593647347b ./gcc/testsuite/g++.old-deja/g++.jason/rfg4.C
-3139400260b ./gcc/testsuite/g++.old-deja/g++.jason/rfg5.C
- 133547703b ./gcc/testsuite/g++.old-deja/g++.jason/rfg6.C
-4261887891b ./gcc/testsuite/g++.old-deja/g++.jason/rfg7.C
-2396445002b ./gcc/testsuite/g++.old-deja/g++.jason/rfg8.C
-1855801091b ./gcc/testsuite/g++.old-deja/g++.jason/rfg9.C
-4260838706b ./gcc/testsuite/g++.old-deja/g++.jason/rvalue1.C
-2113044148b ./gcc/testsuite/g++.old-deja/g++.jason/rvalue2.C
-3051419482b ./gcc/testsuite/g++.old-deja/g++.jason/rvalue3.C
-2200136874b ./gcc/testsuite/g++.old-deja/g++.jason/scoping.C
-3805792750b ./gcc/testsuite/g++.old-deja/g++.jason/scoping10.C
-3393161477b ./gcc/testsuite/g++.old-deja/g++.jason/scoping11.C
- 703500731b ./gcc/testsuite/g++.old-deja/g++.jason/scoping12.C
-1582373194b ./gcc/testsuite/g++.old-deja/g++.jason/scoping13.C
-2742637818b ./gcc/testsuite/g++.old-deja/g++.jason/scoping14.C
-2567200952b ./gcc/testsuite/g++.old-deja/g++.jason/scoping15.C
-3388918749b ./gcc/testsuite/g++.old-deja/g++.jason/scoping16.C
-2179647693b ./gcc/testsuite/g++.old-deja/g++.jason/scoping17.C
-1834126148b ./gcc/testsuite/g++.old-deja/g++.jason/scoping2.C
- 136403461b ./gcc/testsuite/g++.old-deja/g++.jason/scoping3.C
-1602656589b ./gcc/testsuite/g++.old-deja/g++.jason/scoping4.C
-3284836457b ./gcc/testsuite/g++.old-deja/g++.jason/scoping5.C
-1370340055b ./gcc/testsuite/g++.old-deja/g++.jason/scoping6.C
-3067776040b ./gcc/testsuite/g++.old-deja/g++.jason/scoping7.C
-2559597057b ./gcc/testsuite/g++.old-deja/g++.jason/scoping8.C
-3161523697b ./gcc/testsuite/g++.old-deja/g++.jason/scoping9.C
-3886458318b ./gcc/testsuite/g++.old-deja/g++.jason/shadow1.C
-1823439671b ./gcc/testsuite/g++.old-deja/g++.jason/soverload.C
-2071551425b ./gcc/testsuite/g++.old-deja/g++.jason/special.C
-1986795528b ./gcc/testsuite/g++.old-deja/g++.jason/static1.C
-3703096829b ./gcc/testsuite/g++.old-deja/g++.jason/synth.C
- 298249268b ./gcc/testsuite/g++.old-deja/g++.jason/synth10.C
-2450156296b ./gcc/testsuite/g++.old-deja/g++.jason/synth2.C
- 160110469b ./gcc/testsuite/g++.old-deja/g++.jason/synth3.C
-1411162779b ./gcc/testsuite/g++.old-deja/g++.jason/synth4.C
- 79423264b ./gcc/testsuite/g++.old-deja/g++.jason/synth5.C
-2282657951b ./gcc/testsuite/g++.old-deja/g++.jason/synth6.C
- 192973807b ./gcc/testsuite/g++.old-deja/g++.jason/synth7.C
-1655213980b ./gcc/testsuite/g++.old-deja/g++.jason/synth8.C
-1526912645b ./gcc/testsuite/g++.old-deja/g++.jason/synth9.C
-1892722905b ./gcc/testsuite/g++.old-deja/g++.jason/tempargs.C
-2837214502b ./gcc/testsuite/g++.old-deja/g++.jason/tempcons.C
- 869843187b ./gcc/testsuite/g++.old-deja/g++.jason/tempdest.C
- 105640377b ./gcc/testsuite/g++.old-deja/g++.jason/tempinst1.C
-3635346741b ./gcc/testsuite/g++.old-deja/g++.jason/template1.C
-3406530265b ./gcc/testsuite/g++.old-deja/g++.jason/template10.C
-2580181076b ./gcc/testsuite/g++.old-deja/g++.jason/template11.C
-1678941454b ./gcc/testsuite/g++.old-deja/g++.jason/template12.C
-4007171137b ./gcc/testsuite/g++.old-deja/g++.jason/template13.C
-2871221872b ./gcc/testsuite/g++.old-deja/g++.jason/template14.C
-1159298863b ./gcc/testsuite/g++.old-deja/g++.jason/template15.C
-2954276864b ./gcc/testsuite/g++.old-deja/g++.jason/template16.C
-1681885743b ./gcc/testsuite/g++.old-deja/g++.jason/template17.C
- 409512672b ./gcc/testsuite/g++.old-deja/g++.jason/template18.C
-3406115895b ./gcc/testsuite/g++.old-deja/g++.jason/template19.C
- 43030923b ./gcc/testsuite/g++.old-deja/g++.jason/template2.C
-3294085147b ./gcc/testsuite/g++.old-deja/g++.jason/template20.C
-1417003889b ./gcc/testsuite/g++.old-deja/g++.jason/template21.C
-3311958351b ./gcc/testsuite/g++.old-deja/g++.jason/template22.C
-1503356994b ./gcc/testsuite/g++.old-deja/g++.jason/template23.C
-2881398865b ./gcc/testsuite/g++.old-deja/g++.jason/template24.C
- 406184991b ./gcc/testsuite/g++.old-deja/g++.jason/template25.C
-2223219564b ./gcc/testsuite/g++.old-deja/g++.jason/template26.C
- 407308284b ./gcc/testsuite/g++.old-deja/g++.jason/template27.C
-2630100527b ./gcc/testsuite/g++.old-deja/g++.jason/template28.C
-3438625432b ./gcc/testsuite/g++.old-deja/g++.jason/template29.C
-2243617030b ./gcc/testsuite/g++.old-deja/g++.jason/template3.C
-2310025160b ./gcc/testsuite/g++.old-deja/g++.jason/template30.C
- 596601617b ./gcc/testsuite/g++.old-deja/g++.jason/template31.C
- 987062964b ./gcc/testsuite/g++.old-deja/g++.jason/template32.C
-2285089512b ./gcc/testsuite/g++.old-deja/g++.jason/template33.C
-2869807634b ./gcc/testsuite/g++.old-deja/g++.jason/template34.C
-3189860272b ./gcc/testsuite/g++.old-deja/g++.jason/template35.C
- 305472920b ./gcc/testsuite/g++.old-deja/g++.jason/template36.C
-2952351972b ./gcc/testsuite/g++.old-deja/g++.jason/template37.C
-1740810271b ./gcc/testsuite/g++.old-deja/g++.jason/template38.C
-1653595335b ./gcc/testsuite/g++.old-deja/g++.jason/template39.C
-2458850401b ./gcc/testsuite/g++.old-deja/g++.jason/template4.C
- 856312588b ./gcc/testsuite/g++.old-deja/g++.jason/template40.C
-3809808817b ./gcc/testsuite/g++.old-deja/g++.jason/template41.C
-1916885555b ./gcc/testsuite/g++.old-deja/g++.jason/template42.C
-2401225387b ./gcc/testsuite/g++.old-deja/g++.jason/template43.C
- 702715140b ./gcc/testsuite/g++.old-deja/g++.jason/template44.C
-3543005329b ./gcc/testsuite/g++.old-deja/g++.jason/template5.C
- 769854245b ./gcc/testsuite/g++.old-deja/g++.jason/template6.C
-2079411687b ./gcc/testsuite/g++.old-deja/g++.jason/template7.C
- 700019405b ./gcc/testsuite/g++.old-deja/g++.jason/template8.C
-3077908891b ./gcc/testsuite/g++.old-deja/g++.jason/template9.C
-2460644105b ./gcc/testsuite/g++.old-deja/g++.jason/temporary.C
-2081867311b ./gcc/testsuite/g++.old-deja/g++.jason/temporary2.C
-3434711731b ./gcc/testsuite/g++.old-deja/g++.jason/temporary3.C
-2488321595b ./gcc/testsuite/g++.old-deja/g++.jason/temporary4.C
-1042965294b ./gcc/testsuite/g++.old-deja/g++.jason/temporary5.C
-3514956217b ./gcc/testsuite/g++.old-deja/g++.jason/temporary6.C
-2628353068b ./gcc/testsuite/g++.old-deja/g++.jason/temporary7.C
-1522627554b ./gcc/testsuite/g++.old-deja/g++.jason/temporary8.C
-3278590279b ./gcc/testsuite/g++.old-deja/g++.jason/tempover.C
-2151541644b ./gcc/testsuite/g++.old-deja/g++.jason/tempparse.C
-2779254633b ./gcc/testsuite/g++.old-deja/g++.jason/tempsub.C
- 853323087b ./gcc/testsuite/g++.old-deja/g++.jason/this.C
- 438951068b ./gcc/testsuite/g++.old-deja/g++.jason/thunk1.C
-1527336037b ./gcc/testsuite/g++.old-deja/g++.jason/thunk2.C
-2384438472b ./gcc/testsuite/g++.old-deja/g++.jason/thunk3.C
-1814568833b ./gcc/testsuite/g++.old-deja/g++.jason/tpt-1.cc
-3711346877b ./gcc/testsuite/g++.old-deja/g++.jason/tredecl.C
-2448025143b ./gcc/testsuite/g++.old-deja/g++.jason/tredecl2.C
-3072514699b ./gcc/testsuite/g++.old-deja/g++.jason/tredecl3.C
- 979924921b ./gcc/testsuite/g++.old-deja/g++.jason/tredecl4.C
- 569137935b ./gcc/testsuite/g++.old-deja/g++.jason/trivial.C
-2659060194b ./gcc/testsuite/g++.old-deja/g++.jason/typeck.C
-2243420100b ./gcc/testsuite/g++.old-deja/g++.jason/typedef.C
-2723549891b ./gcc/testsuite/g++.old-deja/g++.jason/typedef2.C
-3743711814b ./gcc/testsuite/g++.old-deja/g++.jason/typedef3.C
-4044777406b ./gcc/testsuite/g++.old-deja/g++.jason/typeid1.C
- 999555960b ./gcc/testsuite/g++.old-deja/g++.jason/typeid2.C
- 281221996b ./gcc/testsuite/g++.old-deja/g++.jason/union.C
-4213241018b ./gcc/testsuite/g++.old-deja/g++.jason/vecdel.C
-3907710929b ./gcc/testsuite/g++.old-deja/g++.jason/virtual.C
-1193567888b ./gcc/testsuite/g++.old-deja/g++.jason/virtual2.C
- 230540000b ./gcc/testsuite/g++.old-deja/g++.jason/warning1.C
-2771230251b ./gcc/testsuite/g++.old-deja/g++.jason/warning10.C
-1344686660b ./gcc/testsuite/g++.old-deja/g++.jason/warning2.C
-1528338319b ./gcc/testsuite/g++.old-deja/g++.jason/warning3.C
-4233202460b ./gcc/testsuite/g++.old-deja/g++.jason/warning4.C
-2344004192b ./gcc/testsuite/g++.old-deja/g++.jason/warning5.C
-3616427734b ./gcc/testsuite/g++.old-deja/g++.jason/warning6.C
-1089399134b ./gcc/testsuite/g++.old-deja/g++.jason/warning7.C
-2423657184b ./gcc/testsuite/g++.old-deja/g++.jason/warning8.C
-2936679445b ./gcc/testsuite/g++.old-deja/g++.jason/warning9.C
-2476588872b ./gcc/testsuite/g++.old-deja/g++.law/access1.C
-1417723751b ./gcc/testsuite/g++.old-deja/g++.law/access2.C
-1986081483b ./gcc/testsuite/g++.old-deja/g++.law/access3.C
-2335314782b ./gcc/testsuite/g++.old-deja/g++.law/access4.C
-1424848739b ./gcc/testsuite/g++.old-deja/g++.law/access5.C
- 331378721b ./gcc/testsuite/g++.old-deja/g++.law/arg1.C
-2654444924b ./gcc/testsuite/g++.old-deja/g++.law/arg10.C
-3238389534b ./gcc/testsuite/g++.old-deja/g++.law/arg11.C
- 629763071b ./gcc/testsuite/g++.old-deja/g++.law/arg2.C
-3123919430b ./gcc/testsuite/g++.old-deja/g++.law/arg3.C
-2520473449b ./gcc/testsuite/g++.old-deja/g++.law/arg4.C
-4050839534b ./gcc/testsuite/g++.old-deja/g++.law/arg5.C
- 668182423b ./gcc/testsuite/g++.old-deja/g++.law/arg6.C
-1510719909b ./gcc/testsuite/g++.old-deja/g++.law/arg7.C
- 143084439b ./gcc/testsuite/g++.old-deja/g++.law/arg8.C
-1902710110b ./gcc/testsuite/g++.old-deja/g++.law/arg9.C
-1082355743b ./gcc/testsuite/g++.old-deja/g++.law/arm1.C
-2967336193b ./gcc/testsuite/g++.old-deja/g++.law/arm10.C
- 256975320b ./gcc/testsuite/g++.old-deja/g++.law/arm11.C
- 602909880b ./gcc/testsuite/g++.old-deja/g++.law/arm12.C
-1879426060b ./gcc/testsuite/g++.old-deja/g++.law/arm13.C
-1196756313b ./gcc/testsuite/g++.old-deja/g++.law/arm14.C
- 629602499b ./gcc/testsuite/g++.old-deja/g++.law/arm15.C
-2538202217b ./gcc/testsuite/g++.old-deja/g++.law/arm16.C
- 396475240b ./gcc/testsuite/g++.old-deja/g++.law/arm2.C
- 684470600b ./gcc/testsuite/g++.old-deja/g++.law/arm3.C
-2962106193b ./gcc/testsuite/g++.old-deja/g++.law/arm4.C
-3065375463b ./gcc/testsuite/g++.old-deja/g++.law/arm5.C
-1863539998b ./gcc/testsuite/g++.old-deja/g++.law/arm6.C
-4207519448b ./gcc/testsuite/g++.old-deja/g++.law/arm7.C
- 156062104b ./gcc/testsuite/g++.old-deja/g++.law/arm8.C
- 979453900b ./gcc/testsuite/g++.old-deja/g++.law/arm9.C
-3708671715b ./gcc/testsuite/g++.old-deja/g++.law/array1.C
-3109915032b ./gcc/testsuite/g++.old-deja/g++.law/array2.C
-4092916240b ./gcc/testsuite/g++.old-deja/g++.law/bad-error1.C
-3315748895b ./gcc/testsuite/g++.old-deja/g++.law/bad-error3.C
- 17463055b ./gcc/testsuite/g++.old-deja/g++.law/bad-error4.C
-3420787868b ./gcc/testsuite/g++.old-deja/g++.law/bad-error6.C
-2410993544b ./gcc/testsuite/g++.old-deja/g++.law/bad-error7.C
-3180589913b ./gcc/testsuite/g++.old-deja/g++.law/bit-fields1.C
- 324662443b ./gcc/testsuite/g++.old-deja/g++.law/bit-fields2.C
-2693195990b ./gcc/testsuite/g++.old-deja/g++.law/bit-fields3.C
-1573774350b ./gcc/testsuite/g++.old-deja/g++.law/builtin1.C
- 282097136b ./gcc/testsuite/g++.old-deja/g++.law/casts1.C
- 992091015b ./gcc/testsuite/g++.old-deja/g++.law/casts2.C
-3081944627b ./gcc/testsuite/g++.old-deja/g++.law/casts3.C
- 953305530b ./gcc/testsuite/g++.old-deja/g++.law/code-gen1.C
-3963562220b ./gcc/testsuite/g++.old-deja/g++.law/code-gen2.C
- 642563506b ./gcc/testsuite/g++.old-deja/g++.law/code-gen4.C
- 664477175b ./gcc/testsuite/g++.old-deja/g++.law/code-gen5.C
-1241612442b ./gcc/testsuite/g++.old-deja/g++.law/copy1.C
-1559838734b ./gcc/testsuite/g++.old-deja/g++.law/copy2.C
-1092557618b ./gcc/testsuite/g++.old-deja/g++.law/ctors1.C
-3084341398b ./gcc/testsuite/g++.old-deja/g++.law/ctors10.C
-3120335826b ./gcc/testsuite/g++.old-deja/g++.law/ctors11.C
-1849697054b ./gcc/testsuite/g++.old-deja/g++.law/ctors12.C
-4010995748b ./gcc/testsuite/g++.old-deja/g++.law/ctors13.C
-2981100605b ./gcc/testsuite/g++.old-deja/g++.law/ctors14.C
-2355681221b ./gcc/testsuite/g++.old-deja/g++.law/ctors15.C
-2073229382b ./gcc/testsuite/g++.old-deja/g++.law/ctors16.C
-3144689830b ./gcc/testsuite/g++.old-deja/g++.law/ctors17.C
- 795806665b ./gcc/testsuite/g++.old-deja/g++.law/ctors18.C
- 669077619b ./gcc/testsuite/g++.old-deja/g++.law/ctors19.C
- 717791039b ./gcc/testsuite/g++.old-deja/g++.law/ctors2.C
-1400780598b ./gcc/testsuite/g++.old-deja/g++.law/ctors20.C
- 217884353b ./gcc/testsuite/g++.old-deja/g++.law/ctors21.C
-1618360763b ./gcc/testsuite/g++.old-deja/g++.law/ctors3.C
-2740682745b ./gcc/testsuite/g++.old-deja/g++.law/ctors4.C
-1522657011b ./gcc/testsuite/g++.old-deja/g++.law/ctors5.C
-4181688020b ./gcc/testsuite/g++.old-deja/g++.law/ctors6.C
-1869709463b ./gcc/testsuite/g++.old-deja/g++.law/ctors7.C
-2589271075b ./gcc/testsuite/g++.old-deja/g++.law/ctors8.C
-3865428114b ./gcc/testsuite/g++.old-deja/g++.law/ctors9.C
-2381956011b ./gcc/testsuite/g++.old-deja/g++.law/cvt1.C
-2152841651b ./gcc/testsuite/g++.old-deja/g++.law/cvt10.C
-3565079229b ./gcc/testsuite/g++.old-deja/g++.law/cvt11.C
-2059799646b ./gcc/testsuite/g++.old-deja/g++.law/cvt12.C
-3264317807b ./gcc/testsuite/g++.old-deja/g++.law/cvt13.C
- 421661935b ./gcc/testsuite/g++.old-deja/g++.law/cvt14.C
-2631308961b ./gcc/testsuite/g++.old-deja/g++.law/cvt15.C
- 356635002b ./gcc/testsuite/g++.old-deja/g++.law/cvt16.C
- 394815871b ./gcc/testsuite/g++.old-deja/g++.law/cvt17.C
-3549238781b ./gcc/testsuite/g++.old-deja/g++.law/cvt18.C
-3392944402b ./gcc/testsuite/g++.old-deja/g++.law/cvt19.C
-2607663893b ./gcc/testsuite/g++.old-deja/g++.law/cvt2.C
-2158455043b ./gcc/testsuite/g++.old-deja/g++.law/cvt20.C
- 836977921b ./gcc/testsuite/g++.old-deja/g++.law/cvt21.C
-2819411287b ./gcc/testsuite/g++.old-deja/g++.law/cvt22.C
-3913198799b ./gcc/testsuite/g++.old-deja/g++.law/cvt23.C
-2951649907b ./gcc/testsuite/g++.old-deja/g++.law/cvt3.C
-1937028645b ./gcc/testsuite/g++.old-deja/g++.law/cvt4.C
-2149948272b ./gcc/testsuite/g++.old-deja/g++.law/cvt5.C
-1375863901b ./gcc/testsuite/g++.old-deja/g++.law/cvt6.C
-1739311614b ./gcc/testsuite/g++.old-deja/g++.law/cvt7.C
- 311280172b ./gcc/testsuite/g++.old-deja/g++.law/cvt8.C
-3074219571b ./gcc/testsuite/g++.old-deja/g++.law/cvt9.C
-3892359310b ./gcc/testsuite/g++.old-deja/g++.law/dossier1.C
-1852727691b ./gcc/testsuite/g++.old-deja/g++.law/dtors1.C
- 417330939b ./gcc/testsuite/g++.old-deja/g++.law/dtors2.C
- 995766407b ./gcc/testsuite/g++.old-deja/g++.law/dtors3.C
- 674694281b ./gcc/testsuite/g++.old-deja/g++.law/dtors4.C
-2656536803b ./gcc/testsuite/g++.old-deja/g++.law/dtors5.C
-3496311789b ./gcc/testsuite/g++.old-deja/g++.law/enum1.C
-2839303777b ./gcc/testsuite/g++.old-deja/g++.law/enum2.C
- 606148435b ./gcc/testsuite/g++.old-deja/g++.law/enum3.C
-1232585368b ./gcc/testsuite/g++.old-deja/g++.law/enum4.C
-3791083426b ./gcc/testsuite/g++.old-deja/g++.law/enum6.C
-3394503156b ./gcc/testsuite/g++.old-deja/g++.law/enum7.C
-1026608225b ./gcc/testsuite/g++.old-deja/g++.law/enum8.C
-2187629662b ./gcc/testsuite/g++.old-deja/g++.law/enum9.C
-2196184153b ./gcc/testsuite/g++.old-deja/g++.law/except1.C
-1409867857b ./gcc/testsuite/g++.old-deja/g++.law/except2.C
-4240738373b ./gcc/testsuite/g++.old-deja/g++.law/except3.C
-2625185129b ./gcc/testsuite/g++.old-deja/g++.law/except4.C
-1382303880b ./gcc/testsuite/g++.old-deja/g++.law/except5.C
-1616938742b ./gcc/testsuite/g++.old-deja/g++.law/except6.C
-1596582118b ./gcc/testsuite/g++.old-deja/g++.law/friend1.C
-3071269392b ./gcc/testsuite/g++.old-deja/g++.law/friend4.C
-1837015039b ./gcc/testsuite/g++.old-deja/g++.law/friend5.C
-1549204504b ./gcc/testsuite/g++.old-deja/g++.law/global-init1.C
-2935803087b ./gcc/testsuite/g++.old-deja/g++.law/incdec1.C
-1302059369b ./gcc/testsuite/g++.old-deja/g++.law/init1.C
-3566036893b ./gcc/testsuite/g++.old-deja/g++.law/init10.C
-3206484695b ./gcc/testsuite/g++.old-deja/g++.law/init11.C
-4138152619b ./gcc/testsuite/g++.old-deja/g++.law/init13.C
- 581990824b ./gcc/testsuite/g++.old-deja/g++.law/init14.C
-2233506301b ./gcc/testsuite/g++.old-deja/g++.law/init2.C
-2232979686b ./gcc/testsuite/g++.old-deja/g++.law/init3.C
-1022202873b ./gcc/testsuite/g++.old-deja/g++.law/init4.C
-3023067824b ./gcc/testsuite/g++.old-deja/g++.law/init5.C
-1140061940b ./gcc/testsuite/g++.old-deja/g++.law/init6.C
-2796925503b ./gcc/testsuite/g++.old-deja/g++.law/init7.C
-3753762488b ./gcc/testsuite/g++.old-deja/g++.law/init8.C
-4197832665b ./gcc/testsuite/g++.old-deja/g++.law/init9.C
-1705968800b ./gcc/testsuite/g++.old-deja/g++.law/inline4.C
-2020382912b ./gcc/testsuite/g++.old-deja/g++.law/inline6.C
-1885239478b ./gcc/testsuite/g++.old-deja/g++.law/inline7.C
-1019141845b ./gcc/testsuite/g++.old-deja/g++.law/memoized1.C
-1827735870b ./gcc/testsuite/g++.old-deja/g++.law/mentor1.C
-2244874817b ./gcc/testsuite/g++.old-deja/g++.law/missed-error1.C
-2890024096b ./gcc/testsuite/g++.old-deja/g++.law/missed-error2.C
-4040030816b ./gcc/testsuite/g++.old-deja/g++.law/missed-error3.C
-3651573595b ./gcc/testsuite/g++.old-deja/g++.law/missing1.C
-4134785097b ./gcc/testsuite/g++.old-deja/g++.law/nest1.C
-2835730985b ./gcc/testsuite/g++.old-deja/g++.law/nest2.C
-2967941854b ./gcc/testsuite/g++.old-deja/g++.law/nest3.C
-2512749755b ./gcc/testsuite/g++.old-deja/g++.law/nest4.C
-1532872015b ./gcc/testsuite/g++.old-deja/g++.law/nest5.C
- 724141249b ./gcc/testsuite/g++.old-deja/g++.law/operators10.C
- 953903384b ./gcc/testsuite/g++.old-deja/g++.law/operators11.C
-1531795317b ./gcc/testsuite/g++.old-deja/g++.law/operators12.C
- 381569792b ./gcc/testsuite/g++.old-deja/g++.law/operators13.C
- 723011663b ./gcc/testsuite/g++.old-deja/g++.law/operators14.C
-2826677430b ./gcc/testsuite/g++.old-deja/g++.law/operators15.C
- 456603660b ./gcc/testsuite/g++.old-deja/g++.law/operators16.C
-3215796467b ./gcc/testsuite/g++.old-deja/g++.law/operators17.C
-1796063085b ./gcc/testsuite/g++.old-deja/g++.law/operators18.C
- 909424019b ./gcc/testsuite/g++.old-deja/g++.law/operators19.C
-3492185823b ./gcc/testsuite/g++.old-deja/g++.law/operators2.C
- 799876233b ./gcc/testsuite/g++.old-deja/g++.law/operators21.C
-2652758137b ./gcc/testsuite/g++.old-deja/g++.law/operators22.C
-1066444429b ./gcc/testsuite/g++.old-deja/g++.law/operators23.C
-3984151042b ./gcc/testsuite/g++.old-deja/g++.law/operators24.C
-3486772822b ./gcc/testsuite/g++.old-deja/g++.law/operators25.C
-3522824226b ./gcc/testsuite/g++.old-deja/g++.law/operators27.C
-1472827461b ./gcc/testsuite/g++.old-deja/g++.law/operators28.C
-3543940161b ./gcc/testsuite/g++.old-deja/g++.law/operators29.C
- 578739979b ./gcc/testsuite/g++.old-deja/g++.law/operators3.C
-3448850814b ./gcc/testsuite/g++.old-deja/g++.law/operators30.C
-1540784012b ./gcc/testsuite/g++.old-deja/g++.law/operators31.C
- 75224332b ./gcc/testsuite/g++.old-deja/g++.law/operators32.C
-1564136570b ./gcc/testsuite/g++.old-deja/g++.law/operators33.C
-2258128088b ./gcc/testsuite/g++.old-deja/g++.law/operators34.C
- 43998305b ./gcc/testsuite/g++.old-deja/g++.law/operators4.C
-1329892354b ./gcc/testsuite/g++.old-deja/g++.law/operators6.C
-4018731639b ./gcc/testsuite/g++.old-deja/g++.law/operators8.C
-1673377936b ./gcc/testsuite/g++.old-deja/g++.law/operators9.C
-2567910598b ./gcc/testsuite/g++.old-deja/g++.law/parsing1.C
-3113604261b ./gcc/testsuite/g++.old-deja/g++.law/parsing10.C
-1152481023b ./gcc/testsuite/g++.old-deja/g++.law/parsing2.C
-1999913694b ./gcc/testsuite/g++.old-deja/g++.law/parsing3.C
-2775279224b ./gcc/testsuite/g++.old-deja/g++.law/parsing4.C
- 945709973b ./gcc/testsuite/g++.old-deja/g++.law/parsing5.C
-3261275788b ./gcc/testsuite/g++.old-deja/g++.law/parsing6.C
-3164438769b ./gcc/testsuite/g++.old-deja/g++.law/parsing7.C
-3538222549b ./gcc/testsuite/g++.old-deja/g++.law/parsing8.C
-1385735776b ./gcc/testsuite/g++.old-deja/g++.law/parsing9.C
-1370281283b ./gcc/testsuite/g++.old-deja/g++.law/patches1.C
-1946496748b ./gcc/testsuite/g++.old-deja/g++.law/pic1.C
-3426894706b ./gcc/testsuite/g++.old-deja/g++.law/profile1.C
- 928698754b ./gcc/testsuite/g++.old-deja/g++.law/refs1.C
- 466403547b ./gcc/testsuite/g++.old-deja/g++.law/refs2.C
-2895961411b ./gcc/testsuite/g++.old-deja/g++.law/refs3.C
-2408684277b ./gcc/testsuite/g++.old-deja/g++.law/refs4.C
- 562827880b ./gcc/testsuite/g++.old-deja/g++.law/scope1.C
-3854807675b ./gcc/testsuite/g++.old-deja/g++.law/scope2.C
-1832191731b ./gcc/testsuite/g++.old-deja/g++.law/scope3.C
-3169914322b ./gcc/testsuite/g++.old-deja/g++.law/scope4.C
-4090034442b ./gcc/testsuite/g++.old-deja/g++.law/scope5.C
-4169140490b ./gcc/testsuite/g++.old-deja/g++.law/shadow1.C
- 553385792b ./gcc/testsuite/g++.old-deja/g++.law/shadow2.C
-1398083680b ./gcc/testsuite/g++.old-deja/g++.law/static-mem2.C
-2622216343b ./gcc/testsuite/g++.old-deja/g++.law/static-mem3.C
-2403834071b ./gcc/testsuite/g++.old-deja/g++.law/static-mem4.C
-4200938119b ./gcc/testsuite/g++.old-deja/g++.law/static-mem5.C
- 639091837b ./gcc/testsuite/g++.old-deja/g++.law/template1.C
-2114745607b ./gcc/testsuite/g++.old-deja/g++.law/template2.C
- 375189935b ./gcc/testsuite/g++.old-deja/g++.law/template3.C
- 4284541b ./gcc/testsuite/g++.old-deja/g++.law/temps1.C
-2950508560b ./gcc/testsuite/g++.old-deja/g++.law/temps2.C
-1353434176b ./gcc/testsuite/g++.old-deja/g++.law/temps3.C
-4284771922b ./gcc/testsuite/g++.old-deja/g++.law/temps4.C
-4141599954b ./gcc/testsuite/g++.old-deja/g++.law/temps5.C
-4247881272b ./gcc/testsuite/g++.old-deja/g++.law/temps6.C
- 117460955b ./gcc/testsuite/g++.old-deja/g++.law/temps7.C
-2464264368b ./gcc/testsuite/g++.old-deja/g++.law/typeck1.C
-1916360322b ./gcc/testsuite/g++.old-deja/g++.law/typeck2.C
-3305279025b ./gcc/testsuite/g++.old-deja/g++.law/typeck3.C
-4132228740b ./gcc/testsuite/g++.old-deja/g++.law/typeck4.C
-2802123026b ./gcc/testsuite/g++.old-deja/g++.law/union1.C
-3824263681b ./gcc/testsuite/g++.old-deja/g++.law/union2.C
- 64483607b ./gcc/testsuite/g++.old-deja/g++.law/union3.C
- 865388513b ./gcc/testsuite/g++.old-deja/g++.law/union4.C
- 729275465b ./gcc/testsuite/g++.old-deja/g++.law/unsorted1.C
-1458104982b ./gcc/testsuite/g++.old-deja/g++.law/unsorted2.C
-1549202373b ./gcc/testsuite/g++.old-deja/g++.law/vbase1.C
-3288872398b ./gcc/testsuite/g++.old-deja/g++.law/virtual1.C
- 698640776b ./gcc/testsuite/g++.old-deja/g++.law/virtual2.C
- 15641135b ./gcc/testsuite/g++.old-deja/g++.law/virtual3.C
- 509179215b ./gcc/testsuite/g++.old-deja/g++.law/virtual4.C
-3114163095b ./gcc/testsuite/g++.old-deja/g++.law/visibility1.C
- 583743659b ./gcc/testsuite/g++.old-deja/g++.law/visibility10.C
-3972415808b ./gcc/testsuite/g++.old-deja/g++.law/visibility11.C
-1008837063b ./gcc/testsuite/g++.old-deja/g++.law/visibility12.C
-3437466821b ./gcc/testsuite/g++.old-deja/g++.law/visibility13.C
-2184184428b ./gcc/testsuite/g++.old-deja/g++.law/visibility14.C
-3711813419b ./gcc/testsuite/g++.old-deja/g++.law/visibility15.C
-2324534234b ./gcc/testsuite/g++.old-deja/g++.law/visibility16.C
-1550132427b ./gcc/testsuite/g++.old-deja/g++.law/visibility17.C
-2757911294b ./gcc/testsuite/g++.old-deja/g++.law/visibility18.C
-1759487204b ./gcc/testsuite/g++.old-deja/g++.law/visibility19.C
-1604325327b ./gcc/testsuite/g++.old-deja/g++.law/visibility2.C
-1427247483b ./gcc/testsuite/g++.old-deja/g++.law/visibility20.C
-3793046825b ./gcc/testsuite/g++.old-deja/g++.law/visibility21.C
-1253740230b ./gcc/testsuite/g++.old-deja/g++.law/visibility22.C
- 510677330b ./gcc/testsuite/g++.old-deja/g++.law/visibility24.C
-3083368570b ./gcc/testsuite/g++.old-deja/g++.law/visibility25.C
- 297261798b ./gcc/testsuite/g++.old-deja/g++.law/visibility26.C
-4190347231b ./gcc/testsuite/g++.old-deja/g++.law/visibility27.C
-2911402499b ./gcc/testsuite/g++.old-deja/g++.law/visibility28.C
-4290227694b ./gcc/testsuite/g++.old-deja/g++.law/visibility3.C
-4210487078b ./gcc/testsuite/g++.old-deja/g++.law/visibility4.C
-3907786275b ./gcc/testsuite/g++.old-deja/g++.law/visibility5.C
-1875984515b ./gcc/testsuite/g++.old-deja/g++.law/visibility6.C
-1543309941b ./gcc/testsuite/g++.old-deja/g++.law/visibility7.C
-1869720260b ./gcc/testsuite/g++.old-deja/g++.law/visibility8.C
-1999285628b ./gcc/testsuite/g++.old-deja/g++.law/visibility9.C
-1085746750b ./gcc/testsuite/g++.old-deja/g++.law/vtable1.C
-1329563383b ./gcc/testsuite/g++.old-deja/g++.law/vtable2.C
-3433375705b ./gcc/testsuite/g++.old-deja/g++.law/vtable3.C
-1443371379b ./gcc/testsuite/g++.old-deja/g++.law/weak.C
- 830532494b ./gcc/testsuite/g++.old-deja/g++.martin/access1.C
-1002906292b ./gcc/testsuite/g++.old-deja/g++.martin/ambig1.C
-3416204241b ./gcc/testsuite/g++.old-deja/g++.martin/conv1.C
- 317249347b ./gcc/testsuite/g++.old-deja/g++.martin/lookup1.C
- 699596412b ./gcc/testsuite/g++.old-deja/g++.martin/new1.C
- 405917420b ./gcc/testsuite/g++.old-deja/g++.martin/overload1.C
-2187620834b ./gcc/testsuite/g++.old-deja/g++.martin/sts_conv.C
-2965838669b ./gcc/testsuite/g++.old-deja/g++.martin/sts_iarr.C
-4138113039b ./gcc/testsuite/g++.old-deja/g++.martin/sts_partial.C
- 511837511b ./gcc/testsuite/g++.old-deja/g++.martin/sts_vectini.C
-3722279134b ./gcc/testsuite/g++.old-deja/g++.martin/typedef1.C
-1998658156b ./gcc/testsuite/g++.old-deja/g++.martin/typedef2.C
-3056861018b ./gcc/testsuite/g++.old-deja/g++.mike/.cvsignore
-3366578564b ./gcc/testsuite/g++.old-deja/g++.mike/align1.C
-1357275564b ./gcc/testsuite/g++.old-deja/g++.mike/align2.C
-1711928548b ./gcc/testsuite/g++.old-deja/g++.mike/ambig1.C
-3007848512b ./gcc/testsuite/g++.old-deja/g++.mike/asm1.C
-1368438868b ./gcc/testsuite/g++.old-deja/g++.mike/asm2.C
-3511956480b ./gcc/testsuite/g++.old-deja/g++.mike/bool1.C
-1798037413b ./gcc/testsuite/g++.old-deja/g++.mike/bool2.C
-2574680481b ./gcc/testsuite/g++.old-deja/g++.mike/bool4.C
-2735658565b ./gcc/testsuite/g++.old-deja/g++.mike/conv1.C
-4048777742b ./gcc/testsuite/g++.old-deja/g++.mike/debug1.C
-4019286747b ./gcc/testsuite/g++.old-deja/g++.mike/dyncast1.C
-1502700800b ./gcc/testsuite/g++.old-deja/g++.mike/dyncast2.C
- 870447838b ./gcc/testsuite/g++.old-deja/g++.mike/dyncast3.C
- 161214417b ./gcc/testsuite/g++.old-deja/g++.mike/dyncast4.C
-4283652211b ./gcc/testsuite/g++.old-deja/g++.mike/dyncast5.C
-3480128091b ./gcc/testsuite/g++.old-deja/g++.mike/dyncast6.C
- 549691660b ./gcc/testsuite/g++.old-deja/g++.mike/dyncast7.C
-2943523376b ./gcc/testsuite/g++.old-deja/g++.mike/dyncast8.C
- 715384563b ./gcc/testsuite/g++.old-deja/g++.mike/dyncast9.C
-1697592158b ./gcc/testsuite/g++.old-deja/g++.mike/eh1.C
-2964764566b ./gcc/testsuite/g++.old-deja/g++.mike/eh10.C
-1222256435b ./gcc/testsuite/g++.old-deja/g++.mike/eh11.C
-1019407963b ./gcc/testsuite/g++.old-deja/g++.mike/eh12.C
-1911296911b ./gcc/testsuite/g++.old-deja/g++.mike/eh13.C
- 566900795b ./gcc/testsuite/g++.old-deja/g++.mike/eh14.C
- 20718997b ./gcc/testsuite/g++.old-deja/g++.mike/eh15.C
-4144409442b ./gcc/testsuite/g++.old-deja/g++.mike/eh16.C
-1056284468b ./gcc/testsuite/g++.old-deja/g++.mike/eh17.C
-3380764599b ./gcc/testsuite/g++.old-deja/g++.mike/eh18.C
-1564767830b ./gcc/testsuite/g++.old-deja/g++.mike/eh19.C
- 767119097b ./gcc/testsuite/g++.old-deja/g++.mike/eh2.C
-2941675313b ./gcc/testsuite/g++.old-deja/g++.mike/eh20.C
-1635177053b ./gcc/testsuite/g++.old-deja/g++.mike/eh21.C
-2137238660b ./gcc/testsuite/g++.old-deja/g++.mike/eh23.C
-3492944392b ./gcc/testsuite/g++.old-deja/g++.mike/eh24.C
-1127570801b ./gcc/testsuite/g++.old-deja/g++.mike/eh25.C
-1152517616b ./gcc/testsuite/g++.old-deja/g++.mike/eh26.C
-2363597047b ./gcc/testsuite/g++.old-deja/g++.mike/eh27.C
-2788577409b ./gcc/testsuite/g++.old-deja/g++.mike/eh28.C
-2671586198b ./gcc/testsuite/g++.old-deja/g++.mike/eh29.C
-2619827816b ./gcc/testsuite/g++.old-deja/g++.mike/eh3.C
- 19764474b ./gcc/testsuite/g++.old-deja/g++.mike/eh30.C
-3686291837b ./gcc/testsuite/g++.old-deja/g++.mike/eh31.C
-3196832667b ./gcc/testsuite/g++.old-deja/g++.mike/eh32.C
- 356936889b ./gcc/testsuite/g++.old-deja/g++.mike/eh33.C
-1387592467b ./gcc/testsuite/g++.old-deja/g++.mike/eh34.C
-3114163262b ./gcc/testsuite/g++.old-deja/g++.mike/eh35.C
- 999119272b ./gcc/testsuite/g++.old-deja/g++.mike/eh36.C
-1291944412b ./gcc/testsuite/g++.old-deja/g++.mike/eh37.C
-1184996640b ./gcc/testsuite/g++.old-deja/g++.mike/eh38.C
-3747332597b ./gcc/testsuite/g++.old-deja/g++.mike/eh39.C
- 833195775b ./gcc/testsuite/g++.old-deja/g++.mike/eh4.C
-1018690368b ./gcc/testsuite/g++.old-deja/g++.mike/eh40.C
- 421727870b ./gcc/testsuite/g++.old-deja/g++.mike/eh41.C
- 440519135b ./gcc/testsuite/g++.old-deja/g++.mike/eh42.C
- 424502000b ./gcc/testsuite/g++.old-deja/g++.mike/eh44.C
-3669787943b ./gcc/testsuite/g++.old-deja/g++.mike/eh45.C
-3314170807b ./gcc/testsuite/g++.old-deja/g++.mike/eh46.C
-3529828671b ./gcc/testsuite/g++.old-deja/g++.mike/eh47.C
-3356869980b ./gcc/testsuite/g++.old-deja/g++.mike/eh48.C
-1897879366b ./gcc/testsuite/g++.old-deja/g++.mike/eh49.C
-1660055108b ./gcc/testsuite/g++.old-deja/g++.mike/eh5.C
-3779018636b ./gcc/testsuite/g++.old-deja/g++.mike/eh50.C
- 315381310b ./gcc/testsuite/g++.old-deja/g++.mike/eh51.C
- 359223272b ./gcc/testsuite/g++.old-deja/g++.mike/eh52.C
-4266146141b ./gcc/testsuite/g++.old-deja/g++.mike/eh53.C
-2118473425b ./gcc/testsuite/g++.old-deja/g++.mike/eh54.C
-2507862251b ./gcc/testsuite/g++.old-deja/g++.mike/eh55.C
-3093785743b ./gcc/testsuite/g++.old-deja/g++.mike/eh56.C
-4236094512b ./gcc/testsuite/g++.old-deja/g++.mike/eh57.C
-1057069707b ./gcc/testsuite/g++.old-deja/g++.mike/eh58.C
-1566050545b ./gcc/testsuite/g++.old-deja/g++.mike/eh6.C
- 411346050b ./gcc/testsuite/g++.old-deja/g++.mike/eh7.C
-1110686065b ./gcc/testsuite/g++.old-deja/g++.mike/eh8.C
-1098024472b ./gcc/testsuite/g++.old-deja/g++.mike/eh9.C
-2247541281b ./gcc/testsuite/g++.old-deja/g++.mike/enum1.C
-2068312285b ./gcc/testsuite/g++.old-deja/g++.mike/err1.C
-1927043546b ./gcc/testsuite/g++.old-deja/g++.mike/err2.C
-3135074705b ./gcc/testsuite/g++.old-deja/g++.mike/err3.C
-3586800574b ./gcc/testsuite/g++.old-deja/g++.mike/explicit1.C
-3536764934b ./gcc/testsuite/g++.old-deja/g++.mike/explicit2.C
-1026557390b ./gcc/testsuite/g++.old-deja/g++.mike/for1.C
-2974641653b ./gcc/testsuite/g++.old-deja/g++.mike/for2.C
-2404672898b ./gcc/testsuite/g++.old-deja/g++.mike/fresco1.C
-3102490391b ./gcc/testsuite/g++.old-deja/g++.mike/hog1.C
-2749462033b ./gcc/testsuite/g++.old-deja/g++.mike/init1.C
- 208643595b ./gcc/testsuite/g++.old-deja/g++.mike/init2.C
-4003638268b ./gcc/testsuite/g++.old-deja/g++.mike/leak1.C
- 232475713b ./gcc/testsuite/g++.old-deja/g++.mike/mangle1.C
-2886304989b ./gcc/testsuite/g++.old-deja/g++.mike/mangle2.C
-2130648103b ./gcc/testsuite/g++.old-deja/g++.mike/mangle3.C
-1810563158b ./gcc/testsuite/g++.old-deja/g++.mike/memoize1.C
- 227243000b ./gcc/testsuite/g++.old-deja/g++.mike/mi1.C
-4025070490b ./gcc/testsuite/g++.old-deja/g++.mike/mi2.C
-3165474972b ./gcc/testsuite/g++.old-deja/g++.mike/misc1.C
-4041946331b ./gcc/testsuite/g++.old-deja/g++.mike/misc11.C
-3057947029b ./gcc/testsuite/g++.old-deja/g++.mike/misc12.C
-3415160068b ./gcc/testsuite/g++.old-deja/g++.mike/misc13.C
-1805490348b ./gcc/testsuite/g++.old-deja/g++.mike/misc14.C
-2351659378b ./gcc/testsuite/g++.old-deja/g++.mike/misc2.C
- 48579344b ./gcc/testsuite/g++.old-deja/g++.mike/misc3.C
- 263841150b ./gcc/testsuite/g++.old-deja/g++.mike/misc5.C
-2015338154b ./gcc/testsuite/g++.old-deja/g++.mike/misc6.C
-3029506356b ./gcc/testsuite/g++.old-deja/g++.mike/misc7.C
-3400747232b ./gcc/testsuite/g++.old-deja/g++.mike/misc8.C
-2472705454b ./gcc/testsuite/g++.old-deja/g++.mike/misc9.C
-2700723029b ./gcc/testsuite/g++.old-deja/g++.mike/net1.C
-2347594484b ./gcc/testsuite/g++.old-deja/g++.mike/net10.C
-2264540476b ./gcc/testsuite/g++.old-deja/g++.mike/net11.C
-1619954363b ./gcc/testsuite/g++.old-deja/g++.mike/net12.C
-2744123724b ./gcc/testsuite/g++.old-deja/g++.mike/net13.C
-2330778782b ./gcc/testsuite/g++.old-deja/g++.mike/net14.C
-3750320204b ./gcc/testsuite/g++.old-deja/g++.mike/net15.C
- 324833536b ./gcc/testsuite/g++.old-deja/g++.mike/net16.C
-2790494835b ./gcc/testsuite/g++.old-deja/g++.mike/net17.C
- 128141995b ./gcc/testsuite/g++.old-deja/g++.mike/net18.C
- 948890721b ./gcc/testsuite/g++.old-deja/g++.mike/net19.C
-4151722351b ./gcc/testsuite/g++.old-deja/g++.mike/net2.C
-3570531294b ./gcc/testsuite/g++.old-deja/g++.mike/net20.C
- 226565812b ./gcc/testsuite/g++.old-deja/g++.mike/net21.C
-4068066902b ./gcc/testsuite/g++.old-deja/g++.mike/net22.C
-4024678725b ./gcc/testsuite/g++.old-deja/g++.mike/net23.C
-2009996072b ./gcc/testsuite/g++.old-deja/g++.mike/net24.C
-1310377974b ./gcc/testsuite/g++.old-deja/g++.mike/net25.C
-3550740967b ./gcc/testsuite/g++.old-deja/g++.mike/net26.C
- 94102590b ./gcc/testsuite/g++.old-deja/g++.mike/net27.C
-1622305952b ./gcc/testsuite/g++.old-deja/g++.mike/net28.C
-2635182781b ./gcc/testsuite/g++.old-deja/g++.mike/net29.C
-2896773743b ./gcc/testsuite/g++.old-deja/g++.mike/net3.C
- 623832663b ./gcc/testsuite/g++.old-deja/g++.mike/net30.C
-1863329456b ./gcc/testsuite/g++.old-deja/g++.mike/net31.C
-1380727967b ./gcc/testsuite/g++.old-deja/g++.mike/net32.C
- 598680576b ./gcc/testsuite/g++.old-deja/g++.mike/net34.C
-1703492289b ./gcc/testsuite/g++.old-deja/g++.mike/net35.C
-3718712557b ./gcc/testsuite/g++.old-deja/g++.mike/net36.C
- 404712047b ./gcc/testsuite/g++.old-deja/g++.mike/net37.C
- 373469883b ./gcc/testsuite/g++.old-deja/g++.mike/net38.C
-3771016947b ./gcc/testsuite/g++.old-deja/g++.mike/net39.C
-2596381910b ./gcc/testsuite/g++.old-deja/g++.mike/net4.C
-1728828234b ./gcc/testsuite/g++.old-deja/g++.mike/net40.C
-2329906223b ./gcc/testsuite/g++.old-deja/g++.mike/net41.C
-4111083773b ./gcc/testsuite/g++.old-deja/g++.mike/net42.C
- 273531074b ./gcc/testsuite/g++.old-deja/g++.mike/net43.C
-1013597348b ./gcc/testsuite/g++.old-deja/g++.mike/net44.C
-1580412377b ./gcc/testsuite/g++.old-deja/g++.mike/net45.C
- 915986229b ./gcc/testsuite/g++.old-deja/g++.mike/net46.C
-3377446225b ./gcc/testsuite/g++.old-deja/g++.mike/net47.C
-3175541105b ./gcc/testsuite/g++.old-deja/g++.mike/net48.C
-2752901895b ./gcc/testsuite/g++.old-deja/g++.mike/net5.C
- 557858870b ./gcc/testsuite/g++.old-deja/g++.mike/net6.C
-2207442407b ./gcc/testsuite/g++.old-deja/g++.mike/net7.C
-2718402760b ./gcc/testsuite/g++.old-deja/g++.mike/net8.C
-2353333727b ./gcc/testsuite/g++.old-deja/g++.mike/net9.C
- 452066686b ./gcc/testsuite/g++.old-deja/g++.mike/ns1.C
- 567253957b ./gcc/testsuite/g++.old-deja/g++.mike/ns10.C
-2416554745b ./gcc/testsuite/g++.old-deja/g++.mike/ns11.C
-4136608332b ./gcc/testsuite/g++.old-deja/g++.mike/ns12.C
-1634894638b ./gcc/testsuite/g++.old-deja/g++.mike/ns13.C
- 133757607b ./gcc/testsuite/g++.old-deja/g++.mike/ns14.C
-1366393317b ./gcc/testsuite/g++.old-deja/g++.mike/ns15.C
-3588362593b ./gcc/testsuite/g++.old-deja/g++.mike/ns2.C
-1013122739b ./gcc/testsuite/g++.old-deja/g++.mike/ns3.C
-1600942614b ./gcc/testsuite/g++.old-deja/g++.mike/ns4.C
-2720204670b ./gcc/testsuite/g++.old-deja/g++.mike/ns5.C
-2915175087b ./gcc/testsuite/g++.old-deja/g++.mike/ns6.C
- 411910103b ./gcc/testsuite/g++.old-deja/g++.mike/ns7.C
-2915175087b ./gcc/testsuite/g++.old-deja/g++.mike/ns8.C
-2464609892b ./gcc/testsuite/g++.old-deja/g++.mike/ns9.C
- 42776282b ./gcc/testsuite/g++.old-deja/g++.mike/offset1.C
-4011496147b ./gcc/testsuite/g++.old-deja/g++.mike/opr-as1.C
-1648867065b ./gcc/testsuite/g++.old-deja/g++.mike/opr-dot1.C
-3930590560b ./gcc/testsuite/g++.old-deja/g++.mike/p10148.C
-3568933834b ./gcc/testsuite/g++.old-deja/g++.mike/p10247.C
-2021250284b ./gcc/testsuite/g++.old-deja/g++.mike/p10416.C
-3104407656b ./gcc/testsuite/g++.old-deja/g++.mike/p10511.C
-3179395021b ./gcc/testsuite/g++.old-deja/g++.mike/p10769a.C
-3120977893b ./gcc/testsuite/g++.old-deja/g++.mike/p10769b.C
-2837914956b ./gcc/testsuite/g++.old-deja/g++.mike/p10849a.C
- 288448977b ./gcc/testsuite/g++.old-deja/g++.mike/p10951.C
- 244295624b ./gcc/testsuite/g++.old-deja/g++.mike/p11012.C
- 801420164b ./gcc/testsuite/g++.old-deja/g++.mike/p11110.C
-2157096309b ./gcc/testsuite/g++.old-deja/g++.mike/p11116.C
-1723536064b ./gcc/testsuite/g++.old-deja/g++.mike/p11142.C
-2584300706b ./gcc/testsuite/g++.old-deja/g++.mike/p11144.C
-1612526821b ./gcc/testsuite/g++.old-deja/g++.mike/p11482.C
- 388523022b ./gcc/testsuite/g++.old-deja/g++.mike/p11667.C
-3634094361b ./gcc/testsuite/g++.old-deja/g++.mike/p12306.C
- 783911097b ./gcc/testsuite/g++.old-deja/g++.mike/p12306a.C
-3539674815b ./gcc/testsuite/g++.old-deja/g++.mike/p1248.C
-2006378635b ./gcc/testsuite/g++.old-deja/g++.mike/p1567.C
-3231801438b ./gcc/testsuite/g++.old-deja/g++.mike/p16146.C
-2589988330b ./gcc/testsuite/g++.old-deja/g++.mike/p1862.C
- 925204121b ./gcc/testsuite/g++.old-deja/g++.mike/p1989.C
-1780707146b ./gcc/testsuite/g++.old-deja/g++.mike/p2394.C
-3869537152b ./gcc/testsuite/g++.old-deja/g++.mike/p2431.C
-1198556431b ./gcc/testsuite/g++.old-deja/g++.mike/p2573.C
-2231587236b ./gcc/testsuite/g++.old-deja/g++.mike/p2736.C
-3189296082b ./gcc/testsuite/g++.old-deja/g++.mike/p2746.C
-2655922230b ./gcc/testsuite/g++.old-deja/g++.mike/p2793.C
-2222530613b ./gcc/testsuite/g++.old-deja/g++.mike/p2806.C
- 317527659b ./gcc/testsuite/g++.old-deja/g++.mike/p2846.C
-3941688151b ./gcc/testsuite/g++.old-deja/g++.mike/p2846a.C
- 481437008b ./gcc/testsuite/g++.old-deja/g++.mike/p2846b.C
- 231166541b ./gcc/testsuite/g++.old-deja/g++.mike/p2855.C
-1228637975b ./gcc/testsuite/g++.old-deja/g++.mike/p2960.C
- 172879720b ./gcc/testsuite/g++.old-deja/g++.mike/p3041.C
- 478907680b ./gcc/testsuite/g++.old-deja/g++.mike/p3060c.C
-2112233765b ./gcc/testsuite/g++.old-deja/g++.mike/p3060d.C
-3103033154b ./gcc/testsuite/g++.old-deja/g++.mike/p3068.C
- 598059428b ./gcc/testsuite/g++.old-deja/g++.mike/p3070.C
-2642893029b ./gcc/testsuite/g++.old-deja/g++.mike/p3139.C
- 270639587b ./gcc/testsuite/g++.old-deja/g++.mike/p3524a.C
-2843604235b ./gcc/testsuite/g++.old-deja/g++.mike/p3524b.C
-1750695024b ./gcc/testsuite/g++.old-deja/g++.mike/p3524c.C
-3804566452b ./gcc/testsuite/g++.old-deja/g++.mike/p3538a.C
-2314880186b ./gcc/testsuite/g++.old-deja/g++.mike/p3538b.C
-1918171545b ./gcc/testsuite/g++.old-deja/g++.mike/p3570.C
-2384869664b ./gcc/testsuite/g++.old-deja/g++.mike/p3579.C
- 85421003b ./gcc/testsuite/g++.old-deja/g++.mike/p3708.C
-2610789946b ./gcc/testsuite/g++.old-deja/g++.mike/p3708a.C
-4276309044b ./gcc/testsuite/g++.old-deja/g++.mike/p3708b.C
-3856504451b ./gcc/testsuite/g++.old-deja/g++.mike/p3764.C
-2579187029b ./gcc/testsuite/g++.old-deja/g++.mike/p3836.C
- 717100314b ./gcc/testsuite/g++.old-deja/g++.mike/p4068.C
-2802835745b ./gcc/testsuite/g++.old-deja/g++.mike/p4104.C
-3650578573b ./gcc/testsuite/g++.old-deja/g++.mike/p4173.C
-1273434326b ./gcc/testsuite/g++.old-deja/g++.mike/p418.C
-1819585103b ./gcc/testsuite/g++.old-deja/g++.mike/p4238.C
-4270040916b ./gcc/testsuite/g++.old-deja/g++.mike/p4246.C
-3157074609b ./gcc/testsuite/g++.old-deja/g++.mike/p4263.C
-4046363413b ./gcc/testsuite/g++.old-deja/g++.mike/p438.C
- 74576159b ./gcc/testsuite/g++.old-deja/g++.mike/p4484.C
-3721268143b ./gcc/testsuite/g++.old-deja/g++.mike/p4511.C
-2798533207b ./gcc/testsuite/g++.old-deja/g++.mike/p4619.C
-3090372781b ./gcc/testsuite/g++.old-deja/g++.mike/p4623.C
-3060461666b ./gcc/testsuite/g++.old-deja/g++.mike/p4667.C
-1693168022b ./gcc/testsuite/g++.old-deja/g++.mike/p4671.C
-2307560998b ./gcc/testsuite/g++.old-deja/g++.mike/p4677.C
-1172826827b ./gcc/testsuite/g++.old-deja/g++.mike/p4693.C
-2820686800b ./gcc/testsuite/g++.old-deja/g++.mike/p4736a.C
- 791627116b ./gcc/testsuite/g++.old-deja/g++.mike/p4736b.C
-3037713609b ./gcc/testsuite/g++.old-deja/g++.mike/p4736c.C
-3183066012b ./gcc/testsuite/g++.old-deja/g++.mike/p4750.C
-2783396832b ./gcc/testsuite/g++.old-deja/g++.mike/p5469.C
-1643480270b ./gcc/testsuite/g++.old-deja/g++.mike/p5469a.C
-1694086012b ./gcc/testsuite/g++.old-deja/g++.mike/p5571.C
-2030989669b ./gcc/testsuite/g++.old-deja/g++.mike/p5611.C
-3220562563b ./gcc/testsuite/g++.old-deja/g++.mike/p5673.C
-2367398371b ./gcc/testsuite/g++.old-deja/g++.mike/p5718.C
- 444505388b ./gcc/testsuite/g++.old-deja/g++.mike/p5793.C
-3682663456b ./gcc/testsuite/g++.old-deja/g++.mike/p5840.C
-3663869594b ./gcc/testsuite/g++.old-deja/g++.mike/p5958.C
-2532392225b ./gcc/testsuite/g++.old-deja/g++.mike/p6004.C
-2942988590b ./gcc/testsuite/g++.old-deja/g++.mike/p6058.C
-3283452059b ./gcc/testsuite/g++.old-deja/g++.mike/p6149.C
-2735139304b ./gcc/testsuite/g++.old-deja/g++.mike/p6311.C
-1133072601b ./gcc/testsuite/g++.old-deja/g++.mike/p646.C
-3736773751b ./gcc/testsuite/g++.old-deja/g++.mike/p6578.C
-2157340142b ./gcc/testsuite/g++.old-deja/g++.mike/p658.C
-3832909322b ./gcc/testsuite/g++.old-deja/g++.mike/p6610a.C
-3357719657b ./gcc/testsuite/g++.old-deja/g++.mike/p6610b.C
- 286526845b ./gcc/testsuite/g++.old-deja/g++.mike/p6611.C
-3897286393b ./gcc/testsuite/g++.old-deja/g++.mike/p6746.C
-2010877795b ./gcc/testsuite/g++.old-deja/g++.mike/p6901.C
-1810770013b ./gcc/testsuite/g++.old-deja/g++.mike/p6927.C
-3445230702b ./gcc/testsuite/g++.old-deja/g++.mike/p700.C
- 224810393b ./gcc/testsuite/g++.old-deja/g++.mike/p701.C
-2057788178b ./gcc/testsuite/g++.old-deja/g++.mike/p710.C
-1244723488b ./gcc/testsuite/g++.old-deja/g++.mike/p7180.C
-2709277349b ./gcc/testsuite/g++.old-deja/g++.mike/p7325.C
-3900843491b ./gcc/testsuite/g++.old-deja/g++.mike/p7476.C
- 298183009b ./gcc/testsuite/g++.old-deja/g++.mike/p755.C
-3693865726b ./gcc/testsuite/g++.old-deja/g++.mike/p755a.C
-1365378601b ./gcc/testsuite/g++.old-deja/g++.mike/p7626.C
-2818833306b ./gcc/testsuite/g++.old-deja/g++.mike/p7635.C
-2124571317b ./gcc/testsuite/g++.old-deja/g++.mike/p7651.C
- 927527675b ./gcc/testsuite/g++.old-deja/g++.mike/p783.C
-2805025193b ./gcc/testsuite/g++.old-deja/g++.mike/p783a.C
-1788426520b ./gcc/testsuite/g++.old-deja/g++.mike/p783b.C
-1229821105b ./gcc/testsuite/g++.old-deja/g++.mike/p784.C
-1482868369b ./gcc/testsuite/g++.old-deja/g++.mike/p786.C
-3281865096b ./gcc/testsuite/g++.old-deja/g++.mike/p7865.C
- 341429709b ./gcc/testsuite/g++.old-deja/g++.mike/p7868.C
-3897347525b ./gcc/testsuite/g++.old-deja/g++.mike/p789.C
-2075895912b ./gcc/testsuite/g++.old-deja/g++.mike/p789a.C
- 574399067b ./gcc/testsuite/g++.old-deja/g++.mike/p7912.C
-1656717793b ./gcc/testsuite/g++.old-deja/g++.mike/p8009.C
- 134774070b ./gcc/testsuite/g++.old-deja/g++.mike/p8018.C
-2662329366b ./gcc/testsuite/g++.old-deja/g++.mike/p8039.C
-1398614996b ./gcc/testsuite/g++.old-deja/g++.mike/p807.C
-1574175355b ./gcc/testsuite/g++.old-deja/g++.mike/p807a.C
-3344337430b ./gcc/testsuite/g++.old-deja/g++.mike/p811.C
-2698571232b ./gcc/testsuite/g++.old-deja/g++.mike/p8154.C
-3491611004b ./gcc/testsuite/g++.old-deja/g++.mike/p8155.C
-2633237714b ./gcc/testsuite/g++.old-deja/g++.mike/p8175.C
-2964779539b ./gcc/testsuite/g++.old-deja/g++.mike/p8269.C
-4289506060b ./gcc/testsuite/g++.old-deja/g++.mike/p8460.C
-2097683379b ./gcc/testsuite/g++.old-deja/g++.mike/p8483.C
-1218023303b ./gcc/testsuite/g++.old-deja/g++.mike/p8620.C
-1718821598b ./gcc/testsuite/g++.old-deja/g++.mike/p8785.C
- 249128071b ./gcc/testsuite/g++.old-deja/g++.mike/p8786.C
- 771352385b ./gcc/testsuite/g++.old-deja/g++.mike/p8804.C
- 776812521b ./gcc/testsuite/g++.old-deja/g++.mike/p8825.C
-1371812496b ./gcc/testsuite/g++.old-deja/g++.mike/p9068.C
- 325691543b ./gcc/testsuite/g++.old-deja/g++.mike/p9129.C
-3342831000b ./gcc/testsuite/g++.old-deja/g++.mike/p9206.C
-2518851606b ./gcc/testsuite/g++.old-deja/g++.mike/p9506.C
- 444750446b ./gcc/testsuite/g++.old-deja/g++.mike/p9706.C
-3944011165b ./gcc/testsuite/g++.old-deja/g++.mike/p9732a.C
-3310572125b ./gcc/testsuite/g++.old-deja/g++.mike/p9732b.C
- 443576986b ./gcc/testsuite/g++.old-deja/g++.mike/p9732c.C
- 518416569b ./gcc/testsuite/g++.old-deja/g++.mike/p991.C
-2811267769b ./gcc/testsuite/g++.old-deja/g++.mike/parse1.C
-3910441412b ./gcc/testsuite/g++.old-deja/g++.mike/pmd1.C
-2358019327b ./gcc/testsuite/g++.old-deja/g++.mike/pmf1.C
-3482056735b ./gcc/testsuite/g++.old-deja/g++.mike/pmf2.C
-1703808507b ./gcc/testsuite/g++.old-deja/g++.mike/pmf3.C
- 869105864b ./gcc/testsuite/g++.old-deja/g++.mike/pmf4.C
-2426498298b ./gcc/testsuite/g++.old-deja/g++.mike/pmf5.C
-4282673891b ./gcc/testsuite/g++.old-deja/g++.mike/pmf6.C
- 395491161b ./gcc/testsuite/g++.old-deja/g++.mike/pmf7.C
-4282219054b ./gcc/testsuite/g++.old-deja/g++.mike/pmf8.C
-3714071418b ./gcc/testsuite/g++.old-deja/g++.mike/pmf9.C
-3325973629b ./gcc/testsuite/g++.old-deja/g++.mike/pt1.C
-2598621982b ./gcc/testsuite/g++.old-deja/g++.mike/pt2.C
-2307535900b ./gcc/testsuite/g++.old-deja/g++.mike/pt3.C
-3210931270b ./gcc/testsuite/g++.old-deja/g++.mike/pt4.C
-2439755306b ./gcc/testsuite/g++.old-deja/g++.mike/ref1.C
-1477932772b ./gcc/testsuite/g++.old-deja/g++.mike/rtti1.C
-1881087162b ./gcc/testsuite/g++.old-deja/g++.mike/rtti2.C
-1138172928b ./gcc/testsuite/g++.old-deja/g++.mike/rtti3.C
- 786052027b ./gcc/testsuite/g++.old-deja/g++.mike/s9959.C
-2301275682b ./gcc/testsuite/g++.old-deja/g++.mike/scast1.C
-3863602884b ./gcc/testsuite/g++.old-deja/g++.mike/temp.C
-3521393148b ./gcc/testsuite/g++.old-deja/g++.mike/thunk1.C
- 822430226b ./gcc/testsuite/g++.old-deja/g++.mike/thunk2.C
-3788299837b ./gcc/testsuite/g++.old-deja/g++.mike/thunk3.C
-4259046108b ./gcc/testsuite/g++.old-deja/g++.mike/unroll1.C
-1164439917b ./gcc/testsuite/g++.old-deja/g++.mike/virt1.C
-2927817139b ./gcc/testsuite/g++.old-deja/g++.mike/virt2.C
-3835488056b ./gcc/testsuite/g++.old-deja/g++.mike/virt3.C
-2392194899b ./gcc/testsuite/g++.old-deja/g++.mike/virt4.C
-2478016121b ./gcc/testsuite/g++.old-deja/g++.mike/virt5.C
- 771027053b ./gcc/testsuite/g++.old-deja/g++.mike/virt6.C
-1193160491b ./gcc/testsuite/g++.old-deja/g++.mike/vtable1.C
-2802023397b ./gcc/testsuite/g++.old-deja/g++.mike/warn1.C
-3433176936b ./gcc/testsuite/g++.old-deja/g++.mike/warn2.C
-1152844660b ./gcc/testsuite/g++.old-deja/g++.mike/warn3.C
-3770397490b ./gcc/testsuite/g++.old-deja/g++.mike/warn4.C
-2345927769b ./gcc/testsuite/g++.old-deja/g++.mike/warn5.C
-2855656530b ./gcc/testsuite/g++.old-deja/g++.mike/warn6.C
-1810473850b ./gcc/testsuite/g++.old-deja/g++.mike/warn7.C
-1661238513b ./gcc/testsuite/g++.old-deja/g++.mike/warn8.C
-3056861018b ./gcc/testsuite/g++.old-deja/g++.niklas/.cvsignore
- 17225059b ./gcc/testsuite/g++.old-deja/g++.niklas/Makefile.in
-4133635689b ./gcc/testsuite/g++.old-deja/g++.niklas/README
- 779607897b ./gcc/testsuite/g++.old-deja/g++.niklas/configure.in
-1859900513b ./gcc/testsuite/g++.old-deja/g++.niklas/t113.C
-3921758020b ./gcc/testsuite/g++.old-deja/g++.niklas/t114.C
-1052990327b ./gcc/testsuite/g++.old-deja/g++.niklas/t115.C
-3219478044b ./gcc/testsuite/g++.old-deja/g++.niklas/t118.C
-2028104920b ./gcc/testsuite/g++.old-deja/g++.niklas/t119.C
-1112136284b ./gcc/testsuite/g++.old-deja/g++.niklas/t120.C
- 197310626b ./gcc/testsuite/g++.old-deja/g++.niklas/t121.C
-2209127602b ./gcc/testsuite/g++.old-deja/g++.niklas/t122.C
-1716591189b ./gcc/testsuite/g++.old-deja/g++.niklas/t123.C
- 709937017b ./gcc/testsuite/g++.old-deja/g++.niklas/t124.C
-4167170414b ./gcc/testsuite/g++.old-deja/g++.niklas/t125.C
-2724654772b ./gcc/testsuite/g++.old-deja/g++.niklas/t126.C
-3948659357b ./gcc/testsuite/g++.old-deja/g++.niklas/t127.C
-2127856148b ./gcc/testsuite/g++.old-deja/g++.niklas/t128.C
-1867008357b ./gcc/testsuite/g++.old-deja/g++.niklas/t129.C
-4093189884b ./gcc/testsuite/g++.old-deja/g++.niklas/t130.C
-1806737839b ./gcc/testsuite/g++.old-deja/g++.niklas/t131.C
-3992567271b ./gcc/testsuite/g++.old-deja/g++.niklas/t132.C
-1882324382b ./gcc/testsuite/g++.old-deja/g++.niklas/t133.C
-2007964316b ./gcc/testsuite/g++.old-deja/g++.niklas/t134.C
- 237693360b ./gcc/testsuite/g++.old-deja/g++.niklas/t135.C
-2498734643b ./gcc/testsuite/g++.old-deja/g++.niklas/t136.C
-2536115327b ./gcc/testsuite/g++.old-deja/g++.niklas/t137.C
-3458381060b ./gcc/testsuite/g++.old-deja/g++.niklas/t138.C
-2261506284b ./gcc/testsuite/g++.old-deja/g++.niklas/t139.C
-3432935085b ./gcc/testsuite/g++.old-deja/g++.niklas/t140.C
-3319986880b ./gcc/testsuite/g++.old-deja/g++.niklas/t141.C
-3609938502b ./gcc/testsuite/g++.old-deja/g++.ns/alias1.C
- 592778024b ./gcc/testsuite/g++.old-deja/g++.ns/alias2.C
-3196887127b ./gcc/testsuite/g++.old-deja/g++.ns/alias3.C
-1946359707b ./gcc/testsuite/g++.old-deja/g++.ns/alias4.C
-3609938502b ./gcc/testsuite/g++.old-deja/g++.ns/alias5.C
-3903958846b ./gcc/testsuite/g++.old-deja/g++.ns/alias6.C
-2870125746b ./gcc/testsuite/g++.old-deja/g++.ns/alias7.C
-3962486569b ./gcc/testsuite/g++.old-deja/g++.ns/anon1.C
-1234174045b ./gcc/testsuite/g++.old-deja/g++.ns/bogus1.C
- 887554997b ./gcc/testsuite/g++.old-deja/g++.ns/crash1.C
-2464744464b ./gcc/testsuite/g++.old-deja/g++.ns/crash2.C
-3702812747b ./gcc/testsuite/g++.old-deja/g++.ns/crash3.C
- 291093904b ./gcc/testsuite/g++.old-deja/g++.ns/extern1.C
-1173492084b ./gcc/testsuite/g++.old-deja/g++.ns/friend1.C
-1868773204b ./gcc/testsuite/g++.old-deja/g++.ns/friend2.C
-3202138550b ./gcc/testsuite/g++.old-deja/g++.ns/invalid1.C
- 906902326b ./gcc/testsuite/g++.old-deja/g++.ns/koenig1.C
-1411633778b ./gcc/testsuite/g++.old-deja/g++.ns/koenig2.C
-2631367576b ./gcc/testsuite/g++.old-deja/g++.ns/koenig3.C
-3382825940b ./gcc/testsuite/g++.old-deja/g++.ns/koenig4.C
-1611992557b ./gcc/testsuite/g++.old-deja/g++.ns/koenig5.C
-1887390137b ./gcc/testsuite/g++.old-deja/g++.ns/koenig6.C
-1096451021b ./gcc/testsuite/g++.old-deja/g++.ns/koenig7.C
-3901434139b ./gcc/testsuite/g++.old-deja/g++.ns/lookup1.C
- 386799298b ./gcc/testsuite/g++.old-deja/g++.ns/lookup2.C
- 457208660b ./gcc/testsuite/g++.old-deja/g++.ns/lookup3.C
-1271629498b ./gcc/testsuite/g++.old-deja/g++.ns/lookup4.C
- 99097863b ./gcc/testsuite/g++.old-deja/g++.ns/lookup5.C
-2416418172b ./gcc/testsuite/g++.old-deja/g++.ns/main1.C
- 320140404b ./gcc/testsuite/g++.old-deja/g++.ns/ns1.C
-2286495086b ./gcc/testsuite/g++.old-deja/g++.ns/ns10.C
-2018913859b ./gcc/testsuite/g++.old-deja/g++.ns/ns11.C
-1953910502b ./gcc/testsuite/g++.old-deja/g++.ns/ns12.C
-1783653783b ./gcc/testsuite/g++.old-deja/g++.ns/ns13.C
- 897870685b ./gcc/testsuite/g++.old-deja/g++.ns/ns14.C
-3477570937b ./gcc/testsuite/g++.old-deja/g++.ns/ns15.C
-3961933508b ./gcc/testsuite/g++.old-deja/g++.ns/ns16.C
-2083452456b ./gcc/testsuite/g++.old-deja/g++.ns/ns17.C
-1879177898b ./gcc/testsuite/g++.old-deja/g++.ns/ns2.C
-1465385187b ./gcc/testsuite/g++.old-deja/g++.ns/ns3.C
-4084737299b ./gcc/testsuite/g++.old-deja/g++.ns/ns4.C
-3095284437b ./gcc/testsuite/g++.old-deja/g++.ns/ns5.C
-3082882966b ./gcc/testsuite/g++.old-deja/g++.ns/ns6.C
-1632020321b ./gcc/testsuite/g++.old-deja/g++.ns/ns7.C
- 983347709b ./gcc/testsuite/g++.old-deja/g++.ns/ns8.C
-3680884696b ./gcc/testsuite/g++.old-deja/g++.ns/ns9.C
- 600497628b ./gcc/testsuite/g++.old-deja/g++.ns/overload1.C
- 192977486b ./gcc/testsuite/g++.old-deja/g++.ns/overload2.C
- 299806297b ./gcc/testsuite/g++.old-deja/g++.ns/overload3.C
-3876905928b ./gcc/testsuite/g++.old-deja/g++.ns/overload4.C
-2260598962b ./gcc/testsuite/g++.old-deja/g++.ns/overload5.C
-1497628723b ./gcc/testsuite/g++.old-deja/g++.ns/template1.C
-2875853595b ./gcc/testsuite/g++.old-deja/g++.ns/template2.C
-1112300813b ./gcc/testsuite/g++.old-deja/g++.ns/template3.C
-2350177435b ./gcc/testsuite/g++.old-deja/g++.ns/template4.C
-2979487904b ./gcc/testsuite/g++.old-deja/g++.ns/template5.C
-4046950700b ./gcc/testsuite/g++.old-deja/g++.ns/template6.C
-1696916874b ./gcc/testsuite/g++.old-deja/g++.ns/template7.C
-4106967799b ./gcc/testsuite/g++.old-deja/g++.ns/template8.C
-2144693012b ./gcc/testsuite/g++.old-deja/g++.ns/template9.C
-1028524427b ./gcc/testsuite/g++.old-deja/g++.ns/undef1.C
-1496925944b ./gcc/testsuite/g++.old-deja/g++.ns/using1.C
-3481627695b ./gcc/testsuite/g++.old-deja/g++.ns/using10.C
-3329538563b ./gcc/testsuite/g++.old-deja/g++.ns/using11.C
-1085995099b ./gcc/testsuite/g++.old-deja/g++.ns/using12.C
- 883766752b ./gcc/testsuite/g++.old-deja/g++.ns/using13.C
- 549926689b ./gcc/testsuite/g++.old-deja/g++.ns/using2.C
-2238481400b ./gcc/testsuite/g++.old-deja/g++.ns/using3.C
-3304922930b ./gcc/testsuite/g++.old-deja/g++.ns/using4.C
-3313223306b ./gcc/testsuite/g++.old-deja/g++.ns/using5.C
-3070329898b ./gcc/testsuite/g++.old-deja/g++.ns/using6.C
-3099602163b ./gcc/testsuite/g++.old-deja/g++.ns/using7.C
- 396388537b ./gcc/testsuite/g++.old-deja/g++.ns/using8.C
- 536814910b ./gcc/testsuite/g++.old-deja/g++.ns/using9.C
-3056861018b ./gcc/testsuite/g++.old-deja/g++.other/.cvsignore
-1057884755b ./gcc/testsuite/g++.old-deja/g++.other/900403_04.C
-3988635652b ./gcc/testsuite/g++.old-deja/g++.other/900519_12.C
- 17225059b ./gcc/testsuite/g++.old-deja/g++.other/Makefile.in
-2645069492b ./gcc/testsuite/g++.old-deja/g++.other/access1.C
- 627859229b ./gcc/testsuite/g++.old-deja/g++.other/access2.C
-2495312369b ./gcc/testsuite/g++.old-deja/g++.other/access3.C
-2750828805b ./gcc/testsuite/g++.old-deja/g++.other/access4.C
-2421996265b ./gcc/testsuite/g++.old-deja/g++.other/access5.C
-3545934529b ./gcc/testsuite/g++.old-deja/g++.other/access6.C
-2932234094b ./gcc/testsuite/g++.old-deja/g++.other/addrof1.C
-2784356656b ./gcc/testsuite/g++.old-deja/g++.other/ambig1.C
-1344999649b ./gcc/testsuite/g++.old-deja/g++.other/anon1.C
-2190312352b ./gcc/testsuite/g++.old-deja/g++.other/anon2.C
-3655425788b ./gcc/testsuite/g++.old-deja/g++.other/array1.C
-2041445169b ./gcc/testsuite/g++.old-deja/g++.other/array2.C
-4169192453b ./gcc/testsuite/g++.old-deja/g++.other/badarrow.C
-4098812925b ./gcc/testsuite/g++.old-deja/g++.other/badopt1.C
-2589514111b ./gcc/testsuite/g++.old-deja/g++.other/bitfld1.C
-1948526601b ./gcc/testsuite/g++.old-deja/g++.other/cast1.C
-2969373696b ./gcc/testsuite/g++.old-deja/g++.other/cast2.C
-2304816521b ./gcc/testsuite/g++.old-deja/g++.other/cleanup1.C
-2789894407b ./gcc/testsuite/g++.old-deja/g++.other/cleanup2.C
-1643659693b ./gcc/testsuite/g++.old-deja/g++.other/configure.in
-2177760584b ./gcc/testsuite/g++.old-deja/g++.other/const1.C
- 815940719b ./gcc/testsuite/g++.old-deja/g++.other/const2.C
-3115773883b ./gcc/testsuite/g++.old-deja/g++.other/conv1.C
- 831200322b ./gcc/testsuite/g++.old-deja/g++.other/conv2.C
-1628602313b ./gcc/testsuite/g++.old-deja/g++.other/conv3.C
-4233772671b ./gcc/testsuite/g++.old-deja/g++.other/conv4.C
-2249962323b ./gcc/testsuite/g++.old-deja/g++.other/conv5.C
- 486783979b ./gcc/testsuite/g++.old-deja/g++.other/conv6.C
-3587605986b ./gcc/testsuite/g++.old-deja/g++.other/copy1.C
-1458918645b ./gcc/testsuite/g++.old-deja/g++.other/crash1.C
-2556139745b ./gcc/testsuite/g++.old-deja/g++.other/crash2.C
-1547326034b ./gcc/testsuite/g++.old-deja/g++.other/crash3.C
- 226105322b ./gcc/testsuite/g++.old-deja/g++.other/crash4.C
-1657789856b ./gcc/testsuite/g++.old-deja/g++.other/crash5.C
-2670990770b ./gcc/testsuite/g++.old-deja/g++.other/crash6.C
-3092570108b ./gcc/testsuite/g++.old-deja/g++.other/crash7.C
-1968632283b ./gcc/testsuite/g++.old-deja/g++.other/crash8.C
- 739803606b ./gcc/testsuite/g++.old-deja/g++.other/crash9.C
- 727094743b ./gcc/testsuite/g++.old-deja/g++.other/cvt1.C
-3756464148b ./gcc/testsuite/g++.old-deja/g++.other/dcast1.C
-3517388262b ./gcc/testsuite/g++.old-deja/g++.other/dcast2.C
-3685654707b ./gcc/testsuite/g++.old-deja/g++.other/debug1.C
-2822990897b ./gcc/testsuite/g++.old-deja/g++.other/debug2.C
-3900152738b ./gcc/testsuite/g++.old-deja/g++.other/decl1.C
- 424334940b ./gcc/testsuite/g++.old-deja/g++.other/decl2.C
- 584510285b ./gcc/testsuite/g++.old-deja/g++.other/decl3.C
-2306726678b ./gcc/testsuite/g++.old-deja/g++.other/defarg1.C
-2242070909b ./gcc/testsuite/g++.old-deja/g++.other/defarg2.C
-2802881760b ./gcc/testsuite/g++.old-deja/g++.other/delete1.C
- 276485906b ./gcc/testsuite/g++.old-deja/g++.other/delete2.C
-2702293102b ./gcc/testsuite/g++.old-deja/g++.other/delete3.C
-3432343895b ./gcc/testsuite/g++.old-deja/g++.other/delete4.C
-1951825413b ./gcc/testsuite/g++.old-deja/g++.other/delete5.C
-1585360804b ./gcc/testsuite/g++.old-deja/g++.other/dll-1.C
-1264525517b ./gcc/testsuite/g++.old-deja/g++.other/dll-2.C
-1013566499b ./gcc/testsuite/g++.old-deja/g++.other/dll-3.C
-4096635328b ./gcc/testsuite/g++.old-deja/g++.other/dll-4.C
-4188389053b ./gcc/testsuite/g++.old-deja/g++.other/dll-5.C
-2919979689b ./gcc/testsuite/g++.old-deja/g++.other/dll-6.C
-1284663345b ./gcc/testsuite/g++.old-deja/g++.other/dtor1.C
- 19912911b ./gcc/testsuite/g++.old-deja/g++.other/dtor2.C
-1972124996b ./gcc/testsuite/g++.old-deja/g++.other/dtor3.C
-3858298340b ./gcc/testsuite/g++.old-deja/g++.other/dtor4.C
-3053308594b ./gcc/testsuite/g++.old-deja/g++.other/elab1.C
-4164640636b ./gcc/testsuite/g++.old-deja/g++.other/empty1.C
- 845552508b ./gcc/testsuite/g++.old-deja/g++.other/enum1.C
-1334454026b ./gcc/testsuite/g++.old-deja/g++.other/expr1.C
- 778443229b ./gcc/testsuite/g++.old-deja/g++.other/field1.C
- 250200362b ./gcc/testsuite/g++.old-deja/g++.other/field2.C
-3466875687b ./gcc/testsuite/g++.old-deja/g++.other/for1.C
-2264586745b ./gcc/testsuite/g++.old-deja/g++.other/friend1.C
-1833376578b ./gcc/testsuite/g++.old-deja/g++.other/friend2.C
-1953203540b ./gcc/testsuite/g++.old-deja/g++.other/friend3.C
- 438287814b ./gcc/testsuite/g++.old-deja/g++.other/friend4.C
-1535994258b ./gcc/testsuite/g++.old-deja/g++.other/friend5.C
-1728276302b ./gcc/testsuite/g++.old-deja/g++.other/incomplete.C
- 927757255b ./gcc/testsuite/g++.old-deja/g++.other/init1.C
-1598723950b ./gcc/testsuite/g++.old-deja/g++.other/init10.C
-1393596821b ./gcc/testsuite/g++.old-deja/g++.other/init11.C
-1765497357b ./gcc/testsuite/g++.old-deja/g++.other/init12.C
-2230863646b ./gcc/testsuite/g++.old-deja/g++.other/init13.C
-2603599454b ./gcc/testsuite/g++.old-deja/g++.other/init2.C
- 60242679b ./gcc/testsuite/g++.old-deja/g++.other/init3.C
-1928831477b ./gcc/testsuite/g++.old-deja/g++.other/init4.C
-4128553308b ./gcc/testsuite/g++.old-deja/g++.other/init5.C
- 49415730b ./gcc/testsuite/g++.old-deja/g++.other/init6.C
- 401789060b ./gcc/testsuite/g++.old-deja/g++.other/init7.C
-1098289890b ./gcc/testsuite/g++.old-deja/g++.other/init8.C
-3346027115b ./gcc/testsuite/g++.old-deja/g++.other/init9.C
-3192143530b ./gcc/testsuite/g++.old-deja/g++.other/lineno1.C
- 448802586b ./gcc/testsuite/g++.old-deja/g++.other/lineno2.C
-1356735834b ./gcc/testsuite/g++.old-deja/g++.other/linkage1.C
-2749431766b ./gcc/testsuite/g++.old-deja/g++.other/linkage2.C
- 577632193b ./gcc/testsuite/g++.old-deja/g++.other/local1.C
- 88188461b ./gcc/testsuite/g++.old-deja/g++.other/local2.C
-2269210126b ./gcc/testsuite/g++.old-deja/g++.other/lookup1.C
-1737066412b ./gcc/testsuite/g++.old-deja/g++.other/lookup10.C
-1037102268b ./gcc/testsuite/g++.old-deja/g++.other/lookup11.C
- 245062181b ./gcc/testsuite/g++.old-deja/g++.other/lookup12.C
- 294960660b ./gcc/testsuite/g++.old-deja/g++.other/lookup13.C
-1052787057b ./gcc/testsuite/g++.old-deja/g++.other/lookup14.C
-3620167133b ./gcc/testsuite/g++.old-deja/g++.other/lookup15.C
-3765524406b ./gcc/testsuite/g++.old-deja/g++.other/lookup2.C
-2344878047b ./gcc/testsuite/g++.old-deja/g++.other/lookup3.C
-1023689233b ./gcc/testsuite/g++.old-deja/g++.other/lookup4.C
-2548363938b ./gcc/testsuite/g++.old-deja/g++.other/lookup5.C
-3828630710b ./gcc/testsuite/g++.old-deja/g++.other/lookup6.C
-1518253932b ./gcc/testsuite/g++.old-deja/g++.other/lookup7.C
-2089412856b ./gcc/testsuite/g++.old-deja/g++.other/lookup8.C
-3925524217b ./gcc/testsuite/g++.old-deja/g++.other/lookup9.C
-2763882892b ./gcc/testsuite/g++.old-deja/g++.other/loop1.C
-3124866775b ./gcc/testsuite/g++.old-deja/g++.other/main1.C
-2135309305b ./gcc/testsuite/g++.old-deja/g++.other/mangle1.C
-3127362249b ./gcc/testsuite/g++.old-deja/g++.other/mangle2.C
-1065924618b ./gcc/testsuite/g++.old-deja/g++.other/mutable1.C
- 828612405b ./gcc/testsuite/g++.old-deja/g++.other/nested1.C
-4217851482b ./gcc/testsuite/g++.old-deja/g++.other/nested2.C
-2800890661b ./gcc/testsuite/g++.old-deja/g++.other/nested3.C
-4220638747b ./gcc/testsuite/g++.old-deja/g++.other/new.C
-2899415960b ./gcc/testsuite/g++.old-deja/g++.other/new2.C
- 688596118b ./gcc/testsuite/g++.old-deja/g++.other/new3.C
-2117193309b ./gcc/testsuite/g++.old-deja/g++.other/null1.C
-1708499485b ./gcc/testsuite/g++.old-deja/g++.other/null2.C
-2676296478b ./gcc/testsuite/g++.old-deja/g++.other/null3.C
-3254521143b ./gcc/testsuite/g++.old-deja/g++.other/overcnv1.C
-1051333741b ./gcc/testsuite/g++.old-deja/g++.other/overcnv2.C
-2161968240b ./gcc/testsuite/g++.old-deja/g++.other/overload1.C
-1905644607b ./gcc/testsuite/g++.old-deja/g++.other/overload2.C
-3260262987b ./gcc/testsuite/g++.old-deja/g++.other/overload3.C
-2754535673b ./gcc/testsuite/g++.old-deja/g++.other/overload4.C
-2606215556b ./gcc/testsuite/g++.old-deja/g++.other/overload5.C
-3443457888b ./gcc/testsuite/g++.old-deja/g++.other/overload6.C
-2985034108b ./gcc/testsuite/g++.old-deja/g++.other/overload7.C
- 898570990b ./gcc/testsuite/g++.old-deja/g++.other/overload8.C
-4060052726b ./gcc/testsuite/g++.old-deja/g++.other/overload9.C
-1890760625b ./gcc/testsuite/g++.old-deja/g++.other/parse1.C
-2952431682b ./gcc/testsuite/g++.old-deja/g++.other/pmf1.C
-1231841331b ./gcc/testsuite/g++.old-deja/g++.other/pmf2.C
- 412065014b ./gcc/testsuite/g++.old-deja/g++.other/pmf3.C
-3266716729b ./gcc/testsuite/g++.old-deja/g++.other/printf1.C
-2987181013b ./gcc/testsuite/g++.old-deja/g++.other/ptrmem1.C
-1412545442b ./gcc/testsuite/g++.old-deja/g++.other/ptrmem2.C
- 104810161b ./gcc/testsuite/g++.old-deja/g++.other/ptrmem3.C
- 516033591b ./gcc/testsuite/g++.old-deja/g++.other/ptrmem4.C
- 606859601b ./gcc/testsuite/g++.old-deja/g++.other/realloc.C
-2179956418b ./gcc/testsuite/g++.old-deja/g++.other/redecl1.C
- 245777050b ./gcc/testsuite/g++.old-deja/g++.other/redecl2.C
-3051484272b ./gcc/testsuite/g++.old-deja/g++.other/ref1.C
- 247321106b ./gcc/testsuite/g++.old-deja/g++.other/rtti1.C
-1393937598b ./gcc/testsuite/g++.old-deja/g++.other/rtti2.C
-3229791554b ./gcc/testsuite/g++.old-deja/g++.other/rtti3.C
-1416727844b ./gcc/testsuite/g++.old-deja/g++.other/rtti4.C
- 768461128b ./gcc/testsuite/g++.old-deja/g++.other/rtti5.C
-3024046737b ./gcc/testsuite/g++.old-deja/g++.other/rttid2.C
-2721154097b ./gcc/testsuite/g++.old-deja/g++.other/rttid3.C
-3922125482b ./gcc/testsuite/g++.old-deja/g++.other/rttid4.C
-2236161814b ./gcc/testsuite/g++.old-deja/g++.other/signed.C
-3978933585b ./gcc/testsuite/g++.old-deja/g++.other/singleton.C
-2035612399b ./gcc/testsuite/g++.old-deja/g++.other/sizeof1.C
- 730081105b ./gcc/testsuite/g++.old-deja/g++.other/static1.C
-1208581965b ./gcc/testsuite/g++.old-deja/g++.other/static2.C
-1822341199b ./gcc/testsuite/g++.old-deja/g++.other/static3.C
-3669301779b ./gcc/testsuite/g++.old-deja/g++.other/static4.C
-3308418318b ./gcc/testsuite/g++.old-deja/g++.other/string1.C
- 916976723b ./gcc/testsuite/g++.old-deja/g++.other/temporary1.C
- 216119427b ./gcc/testsuite/g++.old-deja/g++.other/typeck1.C
- 162799867b ./gcc/testsuite/g++.old-deja/g++.other/typedef1.C
-4156864811b ./gcc/testsuite/g++.old-deja/g++.other/typedef2.C
-1676790992b ./gcc/testsuite/g++.old-deja/g++.other/typedef3.C
-4214958782b ./gcc/testsuite/g++.old-deja/g++.other/typedef4.C
-1476338577b ./gcc/testsuite/g++.old-deja/g++.other/typedef5.C
- 453040140b ./gcc/testsuite/g++.old-deja/g++.other/typedef6.C
-2803049665b ./gcc/testsuite/g++.old-deja/g++.other/typeinfo1.C
- 602332707b ./gcc/testsuite/g++.old-deja/g++.other/typename1.C
-2207249090b ./gcc/testsuite/g++.old-deja/g++.other/union1.C
- 158374576b ./gcc/testsuite/g++.old-deja/g++.other/using1.C
- 95509782b ./gcc/testsuite/g++.old-deja/g++.other/using2.C
-2385066250b ./gcc/testsuite/g++.old-deja/g++.other/using3.C
-3504888607b ./gcc/testsuite/g++.old-deja/g++.other/using4.C
- 129150023b ./gcc/testsuite/g++.old-deja/g++.other/using5.C
-1164439917b ./gcc/testsuite/g++.old-deja/g++.other/virtual1.C
-1816448166b ./gcc/testsuite/g++.old-deja/g++.other/virtual2.C
-3809279113b ./gcc/testsuite/g++.old-deja/g++.other/virtual3.C
-2374162758b ./gcc/testsuite/g++.old-deja/g++.other/virtual4.C
-1033683047b ./gcc/testsuite/g++.old-deja/g++.other/vtbl1.C
-1043998333b ./gcc/testsuite/g++.old-deja/g++.other/warn01.C
-1505237835b ./gcc/testsuite/g++.old-deja/g++.other/warn3.C
-2270221256b ./gcc/testsuite/g++.old-deja/g++.pt/alignof.C
- 584428283b ./gcc/testsuite/g++.old-deja/g++.pt/array1.C
-3156510334b ./gcc/testsuite/g++.old-deja/g++.pt/array2.C
-3295805088b ./gcc/testsuite/g++.old-deja/g++.pt/array3.C
- 999256262b ./gcc/testsuite/g++.old-deja/g++.pt/array4.C
-1767746723b ./gcc/testsuite/g++.old-deja/g++.pt/assign1.C
-3361028261b ./gcc/testsuite/g++.old-deja/g++.pt/auto_ptr.C
- 981522879b ./gcc/testsuite/g++.old-deja/g++.pt/bad-type.C
- 388121289b ./gcc/testsuite/g++.old-deja/g++.pt/call1.C
-4181983549b ./gcc/testsuite/g++.old-deja/g++.pt/call2.C
- 308746068b ./gcc/testsuite/g++.old-deja/g++.pt/cast1.C
-1767031896b ./gcc/testsuite/g++.old-deja/g++.pt/const1.C
- 910218975b ./gcc/testsuite/g++.old-deja/g++.pt/conv1.C
- 177622420b ./gcc/testsuite/g++.old-deja/g++.pt/conv2.C
- 971692590b ./gcc/testsuite/g++.old-deja/g++.pt/copy1.C
- 552860807b ./gcc/testsuite/g++.old-deja/g++.pt/crash1.C
-3867481536b ./gcc/testsuite/g++.old-deja/g++.pt/crash10.C
-4238033897b ./gcc/testsuite/g++.old-deja/g++.pt/crash11.C
-1342559330b ./gcc/testsuite/g++.old-deja/g++.pt/crash12.C
-2103079352b ./gcc/testsuite/g++.old-deja/g++.pt/crash13.C
-4259627326b ./gcc/testsuite/g++.old-deja/g++.pt/crash14.C
-3707887949b ./gcc/testsuite/g++.old-deja/g++.pt/crash15.C
-3083242793b ./gcc/testsuite/g++.old-deja/g++.pt/crash16.C
-3806215227b ./gcc/testsuite/g++.old-deja/g++.pt/crash17.C
-2468320011b ./gcc/testsuite/g++.old-deja/g++.pt/crash18.C
-2448971391b ./gcc/testsuite/g++.old-deja/g++.pt/crash19.C
-2796245436b ./gcc/testsuite/g++.old-deja/g++.pt/crash2.C
-3999403848b ./gcc/testsuite/g++.old-deja/g++.pt/crash20.C
-2626609357b ./gcc/testsuite/g++.old-deja/g++.pt/crash21.C
-2675166712b ./gcc/testsuite/g++.old-deja/g++.pt/crash22.C
-1909438119b ./gcc/testsuite/g++.old-deja/g++.pt/crash23.C
- 791202803b ./gcc/testsuite/g++.old-deja/g++.pt/crash24.C
-2555319659b ./gcc/testsuite/g++.old-deja/g++.pt/crash25.C
-1722865703b ./gcc/testsuite/g++.old-deja/g++.pt/crash26.C
-3949680625b ./gcc/testsuite/g++.old-deja/g++.pt/crash27.C
-2291867022b ./gcc/testsuite/g++.old-deja/g++.pt/crash28.C
- 467456086b ./gcc/testsuite/g++.old-deja/g++.pt/crash29.C
-2974624163b ./gcc/testsuite/g++.old-deja/g++.pt/crash3.C
-2162500140b ./gcc/testsuite/g++.old-deja/g++.pt/crash30.C
- 802398069b ./gcc/testsuite/g++.old-deja/g++.pt/crash31.C
-3747058208b ./gcc/testsuite/g++.old-deja/g++.pt/crash32.C
-3806692544b ./gcc/testsuite/g++.old-deja/g++.pt/crash33.C
-3104137488b ./gcc/testsuite/g++.old-deja/g++.pt/crash34.C
-3290437470b ./gcc/testsuite/g++.old-deja/g++.pt/crash35.C
-1007749643b ./gcc/testsuite/g++.old-deja/g++.pt/crash36.C
-3084210338b ./gcc/testsuite/g++.old-deja/g++.pt/crash37.C
- 54189209b ./gcc/testsuite/g++.old-deja/g++.pt/crash38.C
- 322608397b ./gcc/testsuite/g++.old-deja/g++.pt/crash39.C
-2620241700b ./gcc/testsuite/g++.old-deja/g++.pt/crash4.C
-3347789237b ./gcc/testsuite/g++.old-deja/g++.pt/crash40.C
-2357184785b ./gcc/testsuite/g++.old-deja/g++.pt/crash5.C
-2304216659b ./gcc/testsuite/g++.old-deja/g++.pt/crash6.C
-3887562144b ./gcc/testsuite/g++.old-deja/g++.pt/crash7.C
- 423406852b ./gcc/testsuite/g++.old-deja/g++.pt/crash8.C
-3628831843b ./gcc/testsuite/g++.old-deja/g++.pt/crash9.C
-1984841620b ./gcc/testsuite/g++.old-deja/g++.pt/ctor1.C
-1009070264b ./gcc/testsuite/g++.old-deja/g++.pt/ctor2.C
-4104205907b ./gcc/testsuite/g++.old-deja/g++.pt/decl1.C
- 389148473b ./gcc/testsuite/g++.old-deja/g++.pt/decl2.C
-3073530878b ./gcc/testsuite/g++.old-deja/g++.pt/deduct1.C
-2858847781b ./gcc/testsuite/g++.old-deja/g++.pt/defarg.C
- 975389866b ./gcc/testsuite/g++.old-deja/g++.pt/defarg2.C
-1340096939b ./gcc/testsuite/g++.old-deja/g++.pt/defarg3.C
-1845545956b ./gcc/testsuite/g++.old-deja/g++.pt/defarg4.C
-1388872661b ./gcc/testsuite/g++.old-deja/g++.pt/defarg5.C
-3143369839b ./gcc/testsuite/g++.old-deja/g++.pt/defarg6.C
-3989235169b ./gcc/testsuite/g++.old-deja/g++.pt/defarg7.C
-1989729882b ./gcc/testsuite/g++.old-deja/g++.pt/defarg8.C
-1222848640b ./gcc/testsuite/g++.old-deja/g++.pt/derived1.C
-4047438471b ./gcc/testsuite/g++.old-deja/g++.pt/derived2.C
- 104775079b ./gcc/testsuite/g++.old-deja/g++.pt/eichin01.C
-2070134968b ./gcc/testsuite/g++.old-deja/g++.pt/eichin01a.C
-3522936035b ./gcc/testsuite/g++.old-deja/g++.pt/eichin01b.C
-1760960609b ./gcc/testsuite/g++.old-deja/g++.pt/enum.C
-3830592816b ./gcc/testsuite/g++.old-deja/g++.pt/enum10.C
-3760628339b ./gcc/testsuite/g++.old-deja/g++.pt/enum11.C
- 822927832b ./gcc/testsuite/g++.old-deja/g++.pt/enum12.C
-1703000742b ./gcc/testsuite/g++.old-deja/g++.pt/enum2.C
-1069794596b ./gcc/testsuite/g++.old-deja/g++.pt/enum3.C
-3714179200b ./gcc/testsuite/g++.old-deja/g++.pt/enum4.C
- 559765682b ./gcc/testsuite/g++.old-deja/g++.pt/enum5.C
-3886420157b ./gcc/testsuite/g++.old-deja/g++.pt/enum6.C
-1918437107b ./gcc/testsuite/g++.old-deja/g++.pt/enum7.C
-1945876041b ./gcc/testsuite/g++.old-deja/g++.pt/enum8.C
-3328823063b ./gcc/testsuite/g++.old-deja/g++.pt/enum9.C
-2454708693b ./gcc/testsuite/g++.old-deja/g++.pt/explicit1.C
-1159571094b ./gcc/testsuite/g++.old-deja/g++.pt/explicit10.C
-1528071887b ./gcc/testsuite/g++.old-deja/g++.pt/explicit11.C
-3039570828b ./gcc/testsuite/g++.old-deja/g++.pt/explicit12.C
-2245413721b ./gcc/testsuite/g++.old-deja/g++.pt/explicit13.C
-1478766534b ./gcc/testsuite/g++.old-deja/g++.pt/explicit14.C
- 634945390b ./gcc/testsuite/g++.old-deja/g++.pt/explicit15.C
-2415831941b ./gcc/testsuite/g++.old-deja/g++.pt/explicit16.C
-3944905764b ./gcc/testsuite/g++.old-deja/g++.pt/explicit17.C
-3646706990b ./gcc/testsuite/g++.old-deja/g++.pt/explicit18.C
-1912838343b ./gcc/testsuite/g++.old-deja/g++.pt/explicit19.C
-3142420592b ./gcc/testsuite/g++.old-deja/g++.pt/explicit2.C
- 238030727b ./gcc/testsuite/g++.old-deja/g++.pt/explicit20.C
-2757073081b ./gcc/testsuite/g++.old-deja/g++.pt/explicit21.C
-1964200215b ./gcc/testsuite/g++.old-deja/g++.pt/explicit22.C
-1286626744b ./gcc/testsuite/g++.old-deja/g++.pt/explicit23.C
-4221103889b ./gcc/testsuite/g++.old-deja/g++.pt/explicit24.C
-2544081870b ./gcc/testsuite/g++.old-deja/g++.pt/explicit25.C
- 867916531b ./gcc/testsuite/g++.old-deja/g++.pt/explicit26.C
- 460921353b ./gcc/testsuite/g++.old-deja/g++.pt/explicit27.C
- 854667679b ./gcc/testsuite/g++.old-deja/g++.pt/explicit28.C
-4066092212b ./gcc/testsuite/g++.old-deja/g++.pt/explicit29.C
-4211740392b ./gcc/testsuite/g++.old-deja/g++.pt/explicit3.C
- 470577039b ./gcc/testsuite/g++.old-deja/g++.pt/explicit30.C
- 289462209b ./gcc/testsuite/g++.old-deja/g++.pt/explicit31.C
-2552821833b ./gcc/testsuite/g++.old-deja/g++.pt/explicit32.C
-3115682920b ./gcc/testsuite/g++.old-deja/g++.pt/explicit33.C
-2475621970b ./gcc/testsuite/g++.old-deja/g++.pt/explicit34.C
-3972805421b ./gcc/testsuite/g++.old-deja/g++.pt/explicit35.C
-1709333173b ./gcc/testsuite/g++.old-deja/g++.pt/explicit36.C
-4009959133b ./gcc/testsuite/g++.old-deja/g++.pt/explicit37.C
-3750063865b ./gcc/testsuite/g++.old-deja/g++.pt/explicit38.C
- 921580635b ./gcc/testsuite/g++.old-deja/g++.pt/explicit39.C
-4095060524b ./gcc/testsuite/g++.old-deja/g++.pt/explicit4.C
- 492617767b ./gcc/testsuite/g++.old-deja/g++.pt/explicit40.C
-3845938453b ./gcc/testsuite/g++.old-deja/g++.pt/explicit41.C
-1186034051b ./gcc/testsuite/g++.old-deja/g++.pt/explicit42.C
-3636286206b ./gcc/testsuite/g++.old-deja/g++.pt/explicit43.C
-2944430939b ./gcc/testsuite/g++.old-deja/g++.pt/explicit5.C
- 598873974b ./gcc/testsuite/g++.old-deja/g++.pt/explicit50.C
- 442258121b ./gcc/testsuite/g++.old-deja/g++.pt/explicit51.C
-2381854829b ./gcc/testsuite/g++.old-deja/g++.pt/explicit52.C
- 354479270b ./gcc/testsuite/g++.old-deja/g++.pt/explicit53.C
-4090145222b ./gcc/testsuite/g++.old-deja/g++.pt/explicit54.C
-2150096294b ./gcc/testsuite/g++.old-deja/g++.pt/explicit55.C
- 754785630b ./gcc/testsuite/g++.old-deja/g++.pt/explicit56.C
-2105743169b ./gcc/testsuite/g++.old-deja/g++.pt/explicit57.C
- 138392149b ./gcc/testsuite/g++.old-deja/g++.pt/explicit58.C
-3072912940b ./gcc/testsuite/g++.old-deja/g++.pt/explicit59.C
-1981038383b ./gcc/testsuite/g++.old-deja/g++.pt/explicit6.C
-1115714633b ./gcc/testsuite/g++.old-deja/g++.pt/explicit60.C
-3490613258b ./gcc/testsuite/g++.old-deja/g++.pt/explicit61.C
-2630908446b ./gcc/testsuite/g++.old-deja/g++.pt/explicit62.C
-2423833745b ./gcc/testsuite/g++.old-deja/g++.pt/explicit63.C
- 96263826b ./gcc/testsuite/g++.old-deja/g++.pt/explicit64.C
-4264028437b ./gcc/testsuite/g++.old-deja/g++.pt/explicit65.C
-3986519624b ./gcc/testsuite/g++.old-deja/g++.pt/explicit66.C
-2017968194b ./gcc/testsuite/g++.old-deja/g++.pt/explicit67.C
-2468743553b ./gcc/testsuite/g++.old-deja/g++.pt/explicit68.C
- 232590105b ./gcc/testsuite/g++.old-deja/g++.pt/explicit69.C
- 161377969b ./gcc/testsuite/g++.old-deja/g++.pt/explicit70.C
- 734055097b ./gcc/testsuite/g++.old-deja/g++.pt/explicit71.C
-1163976100b ./gcc/testsuite/g++.old-deja/g++.pt/explicit72.C
-2315525758b ./gcc/testsuite/g++.old-deja/g++.pt/explicit73.C
-2355766697b ./gcc/testsuite/g++.old-deja/g++.pt/explicit74.C
-3523359053b ./gcc/testsuite/g++.old-deja/g++.pt/explicit75.C
-1571173014b ./gcc/testsuite/g++.old-deja/g++.pt/explicit76.C
- 2721209b ./gcc/testsuite/g++.old-deja/g++.pt/explicit77.C
-2546202913b ./gcc/testsuite/g++.old-deja/g++.pt/explicit78.C
-2960594790b ./gcc/testsuite/g++.old-deja/g++.pt/explicit79.C
-1495453328b ./gcc/testsuite/g++.old-deja/g++.pt/explicit8.C
-3419948260b ./gcc/testsuite/g++.old-deja/g++.pt/explicit9.C
-1515995682b ./gcc/testsuite/g++.old-deja/g++.pt/expr1.C
- 706426504b ./gcc/testsuite/g++.old-deja/g++.pt/expr2.C
- 36056637b ./gcc/testsuite/g++.old-deja/g++.pt/expr3.C
-3844712713b ./gcc/testsuite/g++.old-deja/g++.pt/expr5.C
-4179856403b ./gcc/testsuite/g++.old-deja/g++.pt/expr6.C
-1425159165b ./gcc/testsuite/g++.old-deja/g++.pt/expr7.C
-4017972632b ./gcc/testsuite/g++.old-deja/g++.pt/friend1.C
-1287620498b ./gcc/testsuite/g++.old-deja/g++.pt/friend10.C
-1165640191b ./gcc/testsuite/g++.old-deja/g++.pt/friend11.C
-3100262252b ./gcc/testsuite/g++.old-deja/g++.pt/friend12.C
- 882221231b ./gcc/testsuite/g++.old-deja/g++.pt/friend13.C
-3966448375b ./gcc/testsuite/g++.old-deja/g++.pt/friend14.C
-1962167149b ./gcc/testsuite/g++.old-deja/g++.pt/friend15.C
- 869822534b ./gcc/testsuite/g++.old-deja/g++.pt/friend16.C
-4066339061b ./gcc/testsuite/g++.old-deja/g++.pt/friend17.C
-3286295955b ./gcc/testsuite/g++.old-deja/g++.pt/friend18.C
-3286295955b ./gcc/testsuite/g++.old-deja/g++.pt/friend19.C
-2120784153b ./gcc/testsuite/g++.old-deja/g++.pt/friend20.C
- 717575958b ./gcc/testsuite/g++.old-deja/g++.pt/friend21.C
- 416829101b ./gcc/testsuite/g++.old-deja/g++.pt/friend22.C
-4030871100b ./gcc/testsuite/g++.old-deja/g++.pt/friend23.C
-1465973595b ./gcc/testsuite/g++.old-deja/g++.pt/friend24.C
- 150282741b ./gcc/testsuite/g++.old-deja/g++.pt/friend25.C
- 680173221b ./gcc/testsuite/g++.old-deja/g++.pt/friend26.C
-3274309194b ./gcc/testsuite/g++.old-deja/g++.pt/friend27.C
-1284470831b ./gcc/testsuite/g++.old-deja/g++.pt/friend28.C
-3161078590b ./gcc/testsuite/g++.old-deja/g++.pt/friend29.C
-2144037049b ./gcc/testsuite/g++.old-deja/g++.pt/friend3.C
-3765298518b ./gcc/testsuite/g++.old-deja/g++.pt/friend30.C
-2264286486b ./gcc/testsuite/g++.old-deja/g++.pt/friend31.C
-2346260162b ./gcc/testsuite/g++.old-deja/g++.pt/friend32.C
-3241993055b ./gcc/testsuite/g++.old-deja/g++.pt/friend33.C
- 981288052b ./gcc/testsuite/g++.old-deja/g++.pt/friend34.C
- 187381459b ./gcc/testsuite/g++.old-deja/g++.pt/friend35.C
-2755639815b ./gcc/testsuite/g++.old-deja/g++.pt/friend36.C
-3754374175b ./gcc/testsuite/g++.old-deja/g++.pt/friend37.C
- 714526515b ./gcc/testsuite/g++.old-deja/g++.pt/friend38.C
- 317013285b ./gcc/testsuite/g++.old-deja/g++.pt/friend39.C
-1839433882b ./gcc/testsuite/g++.old-deja/g++.pt/friend4.C
- 182204021b ./gcc/testsuite/g++.old-deja/g++.pt/friend40.C
- 345702925b ./gcc/testsuite/g++.old-deja/g++.pt/friend41.C
-2157387021b ./gcc/testsuite/g++.old-deja/g++.pt/friend42.C
- 704986118b ./gcc/testsuite/g++.old-deja/g++.pt/friend5.C
-1522663160b ./gcc/testsuite/g++.old-deja/g++.pt/friend6.C
-1156856345b ./gcc/testsuite/g++.old-deja/g++.pt/friend7.C
- 20638590b ./gcc/testsuite/g++.old-deja/g++.pt/friend8.C
-3274600020b ./gcc/testsuite/g++.old-deja/g++.pt/friend9.C
-3949127698b ./gcc/testsuite/g++.old-deja/g++.pt/goto.C
-2141463905b ./gcc/testsuite/g++.old-deja/g++.pt/inherit1.C
-2167918209b ./gcc/testsuite/g++.old-deja/g++.pt/instantiate1.C
-2568581654b ./gcc/testsuite/g++.old-deja/g++.pt/instantiate2.C
-3989382998b ./gcc/testsuite/g++.old-deja/g++.pt/instantiate3.C
-3598960158b ./gcc/testsuite/g++.old-deja/g++.pt/instantiate4.C
-1230172281b ./gcc/testsuite/g++.old-deja/g++.pt/instantiate5-main.cc
-1010945845b ./gcc/testsuite/g++.old-deja/g++.pt/instantiate5.C
-2967623396b ./gcc/testsuite/g++.old-deja/g++.pt/instantiate5.cc
-1946937792b ./gcc/testsuite/g++.old-deja/g++.pt/instantiate6.C
-1578795652b ./gcc/testsuite/g++.old-deja/g++.pt/label1.C
-1296029425b ./gcc/testsuite/g++.old-deja/g++.pt/link1.C
-3463441412b ./gcc/testsuite/g++.old-deja/g++.pt/local1.C
-2821591107b ./gcc/testsuite/g++.old-deja/g++.pt/local2.C
-1599230460b ./gcc/testsuite/g++.old-deja/g++.pt/local3.C
-1561776108b ./gcc/testsuite/g++.old-deja/g++.pt/local4.C
-2354833145b ./gcc/testsuite/g++.old-deja/g++.pt/local5.C
-3330482290b ./gcc/testsuite/g++.old-deja/g++.pt/local6.C
-2198910890b ./gcc/testsuite/g++.old-deja/g++.pt/lookup1.C
-2928431480b ./gcc/testsuite/g++.old-deja/g++.pt/lookup2.C
-2326742548b ./gcc/testsuite/g++.old-deja/g++.pt/lookup3.C
- 58581562b ./gcc/testsuite/g++.old-deja/g++.pt/lookup4.C
- 387721159b ./gcc/testsuite/g++.old-deja/g++.pt/lookup5.C
- 563271996b ./gcc/testsuite/g++.old-deja/g++.pt/lookup6.C
- 592865389b ./gcc/testsuite/g++.old-deja/g++.pt/lookup7.C
-1893966844b ./gcc/testsuite/g++.old-deja/g++.pt/lookup8.C
- 615227368b ./gcc/testsuite/g++.old-deja/g++.pt/lookup9.C
-1535122111b ./gcc/testsuite/g++.old-deja/g++.pt/m1.C
-2943051241b ./gcc/testsuite/g++.old-deja/g++.pt/m2.C
-1702473953b ./gcc/testsuite/g++.old-deja/g++.pt/m3.C
-3549235723b ./gcc/testsuite/g++.old-deja/g++.pt/m4.C
-2705233403b ./gcc/testsuite/g++.old-deja/g++.pt/m5.C
-2792466666b ./gcc/testsuite/g++.old-deja/g++.pt/m6.C
-2010181237b ./gcc/testsuite/g++.old-deja/g++.pt/m7.C
- 181270594b ./gcc/testsuite/g++.old-deja/g++.pt/m8.C
- 860513545b ./gcc/testsuite/g++.old-deja/g++.pt/m9.C
- 454140677b ./gcc/testsuite/g++.old-deja/g++.pt/m9a.C
-2993433239b ./gcc/testsuite/g++.old-deja/g++.pt/memclass1.C
-3280522955b ./gcc/testsuite/g++.old-deja/g++.pt/memclass10.C
-3429032104b ./gcc/testsuite/g++.old-deja/g++.pt/memclass11.C
-2793864882b ./gcc/testsuite/g++.old-deja/g++.pt/memclass12.C
-3266247624b ./gcc/testsuite/g++.old-deja/g++.pt/memclass13.C
-2006537494b ./gcc/testsuite/g++.old-deja/g++.pt/memclass14.C
-1920450770b ./gcc/testsuite/g++.old-deja/g++.pt/memclass15.C
-2290855130b ./gcc/testsuite/g++.old-deja/g++.pt/memclass16.C
-1861858814b ./gcc/testsuite/g++.old-deja/g++.pt/memclass17.C
-2612688561b ./gcc/testsuite/g++.old-deja/g++.pt/memclass18.C
-2502022996b ./gcc/testsuite/g++.old-deja/g++.pt/memclass19.C
-2537802637b ./gcc/testsuite/g++.old-deja/g++.pt/memclass2.C
- 93385345b ./gcc/testsuite/g++.old-deja/g++.pt/memclass20.C
-1014036937b ./gcc/testsuite/g++.old-deja/g++.pt/memclass3.C
-1431379137b ./gcc/testsuite/g++.old-deja/g++.pt/memclass4.C
-1075497415b ./gcc/testsuite/g++.old-deja/g++.pt/memclass5.C
- 780898681b ./gcc/testsuite/g++.old-deja/g++.pt/memclass6.C
-2597805979b ./gcc/testsuite/g++.old-deja/g++.pt/memclass7.C
-1195266757b ./gcc/testsuite/g++.old-deja/g++.pt/memclass8.C
-1810826153b ./gcc/testsuite/g++.old-deja/g++.pt/memclass9.C
-1224975036b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp1.C
-2904180820b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp10.C
-2282254491b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp11.C
-1976328805b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp12.C
-1239088058b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp13.C
-3875953935b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp14.C
-1824536999b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp15.C
-3076640023b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp16.C
-1544280209b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp17.C
-2050660023b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp18.C
-2678511608b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp19.C
-1871764459b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp2.C
-1334964388b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp20.C
- 459239676b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp23.C
-2533288060b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp24.C
-2238876159b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp25.C
-2468624091b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp26.C
-2533288060b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp27.C
-1005751857b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp28.C
- 199305334b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp29.C
-1631129726b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp3.C
-1670170059b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp30.C
-2289485955b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp31.C
- 27098458b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp32.C
-1498388116b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp33.C
-3522955638b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp34.C
-1393717263b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp35.C
-2010910590b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp36.C
- 458681200b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp37.C
- 20442451b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp39.C
-1762838619b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp4.C
-3100522038b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp40.C
- 938647569b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp41.C
-1217004521b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp42.C
-4167810576b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp43.C
-2506084508b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp44.C
-3506472111b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp45.C
- 86095672b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp46.C
- 87150136b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp47.C
-2797911396b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp48.C
-3001846639b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp49.C
-1033026004b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp5.C
- 899239607b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp52.C
-1512186785b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp53.C
- 734020637b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp55.C
-1075898943b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp56.C
-1044391503b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp58.C
-2900869252b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp59.C
-3026038856b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp6.C
-1257470032b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp60.C
- 761783865b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp61.C
-1690671324b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp62.C
-3766969739b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp63.C
-3356487504b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp64.C
-2737484332b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp65.C
- 733179226b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp66.C
-1942260890b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp67.C
-3915762673b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp68.C
-3344118567b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp69.C
-1316217894b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp7.C
-2509660495b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp70.C
- 104374337b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp71.C
-1613408023b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp72.C
-2074863692b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp73.C
-1429396687b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp74.C
-4003812396b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp75.C
-3689181845b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp76.C
-4182063961b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp77.C
-3371462880b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp78.C
-2675331722b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp79.C
-2098916421b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp8.C
-4184361784b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp80.C
-2741487455b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp81.C
- 669240911b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp82.C
-1536069827b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp83.C
-1544636937b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp9.C
-4151922476b ./gcc/testsuite/g++.old-deja/g++.pt/mi1.C
-3159596706b ./gcc/testsuite/g++.old-deja/g++.pt/nested1.C
- 752451121b ./gcc/testsuite/g++.old-deja/g++.pt/nested2.C
- 206427704b ./gcc/testsuite/g++.old-deja/g++.pt/niklas01.C
-3261242986b ./gcc/testsuite/g++.old-deja/g++.pt/niklas01a.C
-3338878252b ./gcc/testsuite/g++.old-deja/g++.pt/niklas01b.C
-3121397720b ./gcc/testsuite/g++.old-deja/g++.pt/niklas02.C
- 18744569b ./gcc/testsuite/g++.old-deja/g++.pt/niklas03.C
-4224711202b ./gcc/testsuite/g++.old-deja/g++.pt/nontype1.C
-2346801762b ./gcc/testsuite/g++.old-deja/g++.pt/nontype2.C
-2564631917b ./gcc/testsuite/g++.old-deja/g++.pt/nontype3.C
-4032766447b ./gcc/testsuite/g++.old-deja/g++.pt/nontype4.C
-2791152240b ./gcc/testsuite/g++.old-deja/g++.pt/nttp1.C
- 247002708b ./gcc/testsuite/g++.old-deja/g++.pt/nttp2.C
-2435336654b ./gcc/testsuite/g++.old-deja/g++.pt/overload1.C
- 700666863b ./gcc/testsuite/g++.old-deja/g++.pt/overload10.C
- 106266692b ./gcc/testsuite/g++.old-deja/g++.pt/overload11.C
-2233076058b ./gcc/testsuite/g++.old-deja/g++.pt/overload12.C
-1331381682b ./gcc/testsuite/g++.old-deja/g++.pt/overload2.C
-2609432689b ./gcc/testsuite/g++.old-deja/g++.pt/overload3.C
- 685890975b ./gcc/testsuite/g++.old-deja/g++.pt/overload4.C
-3432676392b ./gcc/testsuite/g++.old-deja/g++.pt/overload5.C
- 484989603b ./gcc/testsuite/g++.old-deja/g++.pt/overload6.C
- 68571783b ./gcc/testsuite/g++.old-deja/g++.pt/overload7.C
- 394549939b ./gcc/testsuite/g++.old-deja/g++.pt/overload8.C
-3983313304b ./gcc/testsuite/g++.old-deja/g++.pt/overload9.C
-4079323944b ./gcc/testsuite/g++.old-deja/g++.pt/parse2.C
-4264977580b ./gcc/testsuite/g++.old-deja/g++.pt/partial1.C
- 177073069b ./gcc/testsuite/g++.old-deja/g++.pt/partial2.C
- 97690336b ./gcc/testsuite/g++.old-deja/g++.pt/partial3.C
-1609222984b ./gcc/testsuite/g++.old-deja/g++.pt/pointer1.C
- 667276243b ./gcc/testsuite/g++.old-deja/g++.pt/ptrmem1.C
-3012586979b ./gcc/testsuite/g++.old-deja/g++.pt/ptrmem2.C
-3615617559b ./gcc/testsuite/g++.old-deja/g++.pt/ptrmem3.C
- 886281225b ./gcc/testsuite/g++.old-deja/g++.pt/ptrmem4.C
- 716987062b ./gcc/testsuite/g++.old-deja/g++.pt/ptrmem5.C
-3979182749b ./gcc/testsuite/g++.old-deja/g++.pt/ptrmem6.C
-3758586102b ./gcc/testsuite/g++.old-deja/g++.pt/ptrmem7.C
-1176769163b ./gcc/testsuite/g++.old-deja/g++.pt/recursion.C
-2282560315b ./gcc/testsuite/g++.old-deja/g++.pt/recursion2.C
-2783268127b ./gcc/testsuite/g++.old-deja/g++.pt/redecl1.C
- 273604436b ./gcc/testsuite/g++.old-deja/g++.pt/redecl2.C
- 594557972b ./gcc/testsuite/g++.old-deja/g++.pt/ref1.C
- 842128020b ./gcc/testsuite/g++.old-deja/g++.pt/scope1.C
- 696905520b ./gcc/testsuite/g++.old-deja/g++.pt/shadow1.C
-3988722815b ./gcc/testsuite/g++.old-deja/g++.pt/shadow2.C
-4082900584b ./gcc/testsuite/g++.old-deja/g++.pt/sizeof.C
-3116942821b ./gcc/testsuite/g++.old-deja/g++.pt/sizeof2.C
-2876524265b ./gcc/testsuite/g++.old-deja/g++.pt/sizeof3.C
-2028350994b ./gcc/testsuite/g++.old-deja/g++.pt/spec1.C
- 93654703b ./gcc/testsuite/g++.old-deja/g++.pt/spec10.C
-3527506444b ./gcc/testsuite/g++.old-deja/g++.pt/spec11.C
-3538641668b ./gcc/testsuite/g++.old-deja/g++.pt/spec12.C
-2966126822b ./gcc/testsuite/g++.old-deja/g++.pt/spec13.C
-2657149152b ./gcc/testsuite/g++.old-deja/g++.pt/spec14.C
- 395453400b ./gcc/testsuite/g++.old-deja/g++.pt/spec15.C
- 114919889b ./gcc/testsuite/g++.old-deja/g++.pt/spec16.C
- 411261988b ./gcc/testsuite/g++.old-deja/g++.pt/spec17.C
-4048825100b ./gcc/testsuite/g++.old-deja/g++.pt/spec18.C
-3877582914b ./gcc/testsuite/g++.old-deja/g++.pt/spec19.C
-3880560938b ./gcc/testsuite/g++.old-deja/g++.pt/spec2.C
-2791297069b ./gcc/testsuite/g++.old-deja/g++.pt/spec20.C
-3113620134b ./gcc/testsuite/g++.old-deja/g++.pt/spec21.C
-2983405950b ./gcc/testsuite/g++.old-deja/g++.pt/spec22.C
-1730105837b ./gcc/testsuite/g++.old-deja/g++.pt/spec23.C
-2952337617b ./gcc/testsuite/g++.old-deja/g++.pt/spec24.C
- 843333207b ./gcc/testsuite/g++.old-deja/g++.pt/spec25.C
-2342185227b ./gcc/testsuite/g++.old-deja/g++.pt/spec26.C
- 163389509b ./gcc/testsuite/g++.old-deja/g++.pt/spec27.C
-1709855616b ./gcc/testsuite/g++.old-deja/g++.pt/spec28.C
- 288771490b ./gcc/testsuite/g++.old-deja/g++.pt/spec29.C
-2986435997b ./gcc/testsuite/g++.old-deja/g++.pt/spec3.C
-3450541938b ./gcc/testsuite/g++.old-deja/g++.pt/spec30.C
-3771549807b ./gcc/testsuite/g++.old-deja/g++.pt/spec31.C
-1203682774b ./gcc/testsuite/g++.old-deja/g++.pt/spec4.C
- 472020156b ./gcc/testsuite/g++.old-deja/g++.pt/spec5.C
-2997305150b ./gcc/testsuite/g++.old-deja/g++.pt/spec6.C
-4161522669b ./gcc/testsuite/g++.old-deja/g++.pt/spec7.C
-2956825769b ./gcc/testsuite/g++.old-deja/g++.pt/spec8.C
- 689217773b ./gcc/testsuite/g++.old-deja/g++.pt/spec9.C
-2178379561b ./gcc/testsuite/g++.old-deja/g++.pt/static1.C
-3095826275b ./gcc/testsuite/g++.old-deja/g++.pt/static2.C
-1984196321b ./gcc/testsuite/g++.old-deja/g++.pt/static3.C
-4121342217b ./gcc/testsuite/g++.old-deja/g++.pt/static4.C
- 637809399b ./gcc/testsuite/g++.old-deja/g++.pt/static5.C
-3426207995b ./gcc/testsuite/g++.old-deja/g++.pt/static6.C
-1808791646b ./gcc/testsuite/g++.old-deja/g++.pt/static7.C
-3987560353b ./gcc/testsuite/g++.old-deja/g++.pt/static8.C
-1680154606b ./gcc/testsuite/g++.old-deja/g++.pt/static_cast.C
-2053761696b ./gcc/testsuite/g++.old-deja/g++.pt/stmtexpr.C
-3432829463b ./gcc/testsuite/g++.old-deja/g++.pt/stmtexpr2.C
- 388665305b ./gcc/testsuite/g++.old-deja/g++.pt/t00.C
-3036776145b ./gcc/testsuite/g++.old-deja/g++.pt/t01.C
-3769756941b ./gcc/testsuite/g++.old-deja/g++.pt/t03.C
- 68198193b ./gcc/testsuite/g++.old-deja/g++.pt/t04.C
-3012738267b ./gcc/testsuite/g++.old-deja/g++.pt/t05.C
-1025268501b ./gcc/testsuite/g++.old-deja/g++.pt/t06.C
-3864403887b ./gcc/testsuite/g++.old-deja/g++.pt/t07.C
-1220980648b ./gcc/testsuite/g++.old-deja/g++.pt/t08.C
- 54752251b ./gcc/testsuite/g++.old-deja/g++.pt/t09.C
-3939433080b ./gcc/testsuite/g++.old-deja/g++.pt/t10.C
-3632072790b ./gcc/testsuite/g++.old-deja/g++.pt/t11.C
-1989751964b ./gcc/testsuite/g++.old-deja/g++.pt/t11a.C
-2249141950b ./gcc/testsuite/g++.old-deja/g++.pt/t12.C
-2049763895b ./gcc/testsuite/g++.old-deja/g++.pt/t12a.C
-1228232084b ./gcc/testsuite/g++.old-deja/g++.pt/t13.C
-2100897741b ./gcc/testsuite/g++.old-deja/g++.pt/t14.C
-2705379238b ./gcc/testsuite/g++.old-deja/g++.pt/t14a.C
-2327530108b ./gcc/testsuite/g++.old-deja/g++.pt/t16.C
-3606509706b ./gcc/testsuite/g++.old-deja/g++.pt/t18.C
- 141625773b ./gcc/testsuite/g++.old-deja/g++.pt/t20.C
- 72255906b ./gcc/testsuite/g++.old-deja/g++.pt/t21.C
- 645040509b ./gcc/testsuite/g++.old-deja/g++.pt/t22.C
- 703955297b ./gcc/testsuite/g++.old-deja/g++.pt/t23.C
-3664873650b ./gcc/testsuite/g++.old-deja/g++.pt/t24.C
-3167743377b ./gcc/testsuite/g++.old-deja/g++.pt/t25.C
-2171757696b ./gcc/testsuite/g++.old-deja/g++.pt/t26.C
-1551035452b ./gcc/testsuite/g++.old-deja/g++.pt/t27.C
-4184306234b ./gcc/testsuite/g++.old-deja/g++.pt/t28.C
-1147556452b ./gcc/testsuite/g++.old-deja/g++.pt/t29.C
-3402602239b ./gcc/testsuite/g++.old-deja/g++.pt/t30.C
-1087482084b ./gcc/testsuite/g++.old-deja/g++.pt/t31.C
-2623408289b ./gcc/testsuite/g++.old-deja/g++.pt/t32.C
-1551618603b ./gcc/testsuite/g++.old-deja/g++.pt/t32a.C
-4017416236b ./gcc/testsuite/g++.old-deja/g++.pt/t34.C
- 163082280b ./gcc/testsuite/g++.old-deja/g++.pt/t34a.C
-2585097382b ./gcc/testsuite/g++.old-deja/g++.pt/t35.C
-3947322975b ./gcc/testsuite/g++.old-deja/g++.pt/t35a.C
-1516584548b ./gcc/testsuite/g++.old-deja/g++.pt/t36.C
-1477625903b ./gcc/testsuite/g++.old-deja/g++.pt/t37.C
- 420324441b ./gcc/testsuite/g++.old-deja/g++.pt/t37a.C
-2340198171b ./gcc/testsuite/g++.old-deja/g++.pt/t38.C
-3309470860b ./gcc/testsuite/g++.old-deja/g++.pt/t39.C
-1718444525b ./gcc/testsuite/g++.old-deja/g++.pt/t40.C
-3342686909b ./gcc/testsuite/g++.old-deja/g++.pt/t41.C
-3446795170b ./gcc/testsuite/g++.old-deja/g++.pt/t42.C
-2113862178b ./gcc/testsuite/g++.old-deja/g++.pt/test4.C
-2123290709b ./gcc/testsuite/g++.old-deja/g++.pt/test5.C
-1121503772b ./gcc/testsuite/g++.old-deja/g++.pt/tiemann1r.C
-4211552018b ./gcc/testsuite/g++.old-deja/g++.pt/tiemann2.C
-1767149933b ./gcc/testsuite/g++.old-deja/g++.pt/to2.C
-1910189955b ./gcc/testsuite/g++.old-deja/g++.pt/tt.C
- 611975575b ./gcc/testsuite/g++.old-deja/g++.pt/tt2.C
-2278374754b ./gcc/testsuite/g++.old-deja/g++.pt/ttp1.C
-2900382617b ./gcc/testsuite/g++.old-deja/g++.pt/ttp10.C
- 526371793b ./gcc/testsuite/g++.old-deja/g++.pt/ttp11.C
- 862146403b ./gcc/testsuite/g++.old-deja/g++.pt/ttp12.C
-1329933982b ./gcc/testsuite/g++.old-deja/g++.pt/ttp13.C
-3988780551b ./gcc/testsuite/g++.old-deja/g++.pt/ttp14.C
-3077999991b ./gcc/testsuite/g++.old-deja/g++.pt/ttp15.C
-2942251159b ./gcc/testsuite/g++.old-deja/g++.pt/ttp16.C
-2374108737b ./gcc/testsuite/g++.old-deja/g++.pt/ttp17.C
-2213336936b ./gcc/testsuite/g++.old-deja/g++.pt/ttp18.C
-1575203598b ./gcc/testsuite/g++.old-deja/g++.pt/ttp19.C
- 3553743b ./gcc/testsuite/g++.old-deja/g++.pt/ttp2.C
-1859285874b ./gcc/testsuite/g++.old-deja/g++.pt/ttp20.C
-1147993431b ./gcc/testsuite/g++.old-deja/g++.pt/ttp21.C
-1298886248b ./gcc/testsuite/g++.old-deja/g++.pt/ttp22.C
-2010705114b ./gcc/testsuite/g++.old-deja/g++.pt/ttp23.C
-3231810310b ./gcc/testsuite/g++.old-deja/g++.pt/ttp24.C
-2793275371b ./gcc/testsuite/g++.old-deja/g++.pt/ttp25.C
- 890756385b ./gcc/testsuite/g++.old-deja/g++.pt/ttp26.C
-4244916136b ./gcc/testsuite/g++.old-deja/g++.pt/ttp27.C
-3429685547b ./gcc/testsuite/g++.old-deja/g++.pt/ttp28.C
-3829242227b ./gcc/testsuite/g++.old-deja/g++.pt/ttp29.C
-2339659475b ./gcc/testsuite/g++.old-deja/g++.pt/ttp3.C
-2855054105b ./gcc/testsuite/g++.old-deja/g++.pt/ttp30.C
-4010195516b ./gcc/testsuite/g++.old-deja/g++.pt/ttp31.C
-3654116178b ./gcc/testsuite/g++.old-deja/g++.pt/ttp32.C
-2881195148b ./gcc/testsuite/g++.old-deja/g++.pt/ttp33.C
-3462726862b ./gcc/testsuite/g++.old-deja/g++.pt/ttp34.C
-3694220305b ./gcc/testsuite/g++.old-deja/g++.pt/ttp35.C
-1152799669b ./gcc/testsuite/g++.old-deja/g++.pt/ttp36.C
- 361840570b ./gcc/testsuite/g++.old-deja/g++.pt/ttp37.C
- 570115104b ./gcc/testsuite/g++.old-deja/g++.pt/ttp38.C
-2884076986b ./gcc/testsuite/g++.old-deja/g++.pt/ttp39.C
- 883851040b ./gcc/testsuite/g++.old-deja/g++.pt/ttp4.C
-3777404240b ./gcc/testsuite/g++.old-deja/g++.pt/ttp40.C
-1654832327b ./gcc/testsuite/g++.old-deja/g++.pt/ttp41.C
-1252557260b ./gcc/testsuite/g++.old-deja/g++.pt/ttp42.C
-2312035147b ./gcc/testsuite/g++.old-deja/g++.pt/ttp43.C
-2038494248b ./gcc/testsuite/g++.old-deja/g++.pt/ttp44.C
-4254070189b ./gcc/testsuite/g++.old-deja/g++.pt/ttp45.C
-4048264509b ./gcc/testsuite/g++.old-deja/g++.pt/ttp46.C
-1411925217b ./gcc/testsuite/g++.old-deja/g++.pt/ttp47.C
-3294346857b ./gcc/testsuite/g++.old-deja/g++.pt/ttp48.C
- 246280481b ./gcc/testsuite/g++.old-deja/g++.pt/ttp49.C
- 744920614b ./gcc/testsuite/g++.old-deja/g++.pt/ttp5.C
- 148311367b ./gcc/testsuite/g++.old-deja/g++.pt/ttp50.C
-1355737114b ./gcc/testsuite/g++.old-deja/g++.pt/ttp51.C
- 742860133b ./gcc/testsuite/g++.old-deja/g++.pt/ttp52.C
-4014956592b ./gcc/testsuite/g++.old-deja/g++.pt/ttp53.C
- 950933665b ./gcc/testsuite/g++.old-deja/g++.pt/ttp54.C
- 969371039b ./gcc/testsuite/g++.old-deja/g++.pt/ttp55.C
-1041079584b ./gcc/testsuite/g++.old-deja/g++.pt/ttp6.C
-2962993334b ./gcc/testsuite/g++.old-deja/g++.pt/ttp7.C
-1961268006b ./gcc/testsuite/g++.old-deja/g++.pt/ttp8.C
-3708749815b ./gcc/testsuite/g++.old-deja/g++.pt/ttp9.C
- 752890984b ./gcc/testsuite/g++.old-deja/g++.pt/typedef1.C
-2645715863b ./gcc/testsuite/g++.old-deja/g++.pt/typedef2.C
-1128115184b ./gcc/testsuite/g++.old-deja/g++.pt/typedef3.C
- 687887055b ./gcc/testsuite/g++.old-deja/g++.pt/typedef4.C
- 155924010b ./gcc/testsuite/g++.old-deja/g++.pt/typename1.C
-3197185389b ./gcc/testsuite/g++.old-deja/g++.pt/typename10.C
- 247443720b ./gcc/testsuite/g++.old-deja/g++.pt/typename11.C
- 275086081b ./gcc/testsuite/g++.old-deja/g++.pt/typename12.C
-2524443126b ./gcc/testsuite/g++.old-deja/g++.pt/typename13.C
-1850210298b ./gcc/testsuite/g++.old-deja/g++.pt/typename14.C
-1039841774b ./gcc/testsuite/g++.old-deja/g++.pt/typename15.C
-3359087058b ./gcc/testsuite/g++.old-deja/g++.pt/typename16.C
-4165656026b ./gcc/testsuite/g++.old-deja/g++.pt/typename17.C
-2199791863b ./gcc/testsuite/g++.old-deja/g++.pt/typename18.C
-1657062514b ./gcc/testsuite/g++.old-deja/g++.pt/typename19.C
-1202424634b ./gcc/testsuite/g++.old-deja/g++.pt/typename2.C
-3251695233b ./gcc/testsuite/g++.old-deja/g++.pt/typename20.C
-4031896858b ./gcc/testsuite/g++.old-deja/g++.pt/typename21.C
-3346623174b ./gcc/testsuite/g++.old-deja/g++.pt/typename22.C
-1990305097b ./gcc/testsuite/g++.old-deja/g++.pt/typename3.C
- 929522058b ./gcc/testsuite/g++.old-deja/g++.pt/typename4.C
- 836974900b ./gcc/testsuite/g++.old-deja/g++.pt/typename5.C
-1190749888b ./gcc/testsuite/g++.old-deja/g++.pt/typename6.C
- 466462912b ./gcc/testsuite/g++.old-deja/g++.pt/typename7.C
- 406095679b ./gcc/testsuite/g++.old-deja/g++.pt/typename8.C
-1531696057b ./gcc/testsuite/g++.old-deja/g++.pt/typename9.C
-3862449944b ./gcc/testsuite/g++.old-deja/g++.pt/unify1.C
- 291895099b ./gcc/testsuite/g++.old-deja/g++.pt/unify2.C
-4168274893b ./gcc/testsuite/g++.old-deja/g++.pt/unify3.C
- 616339966b ./gcc/testsuite/g++.old-deja/g++.pt/unify4.C
-1740949226b ./gcc/testsuite/g++.old-deja/g++.pt/union1.C
-3325944931b ./gcc/testsuite/g++.old-deja/g++.pt/union2.C
- 886046502b ./gcc/testsuite/g++.old-deja/g++.pt/vaarg.C
- 431003821b ./gcc/testsuite/g++.old-deja/g++.pt/vbase1.C
-3353980626b ./gcc/testsuite/g++.old-deja/g++.pt/virtual1.C
-1462240574b ./gcc/testsuite/g++.old-deja/g++.pt/warn1.C
-1415873556b ./gcc/testsuite/g++.old-deja/g++.rfg/00321_01-.C
-1112275657b ./gcc/testsuite/g++.old-deja/g++.rfg/00324_02-.C
-4001281008b ./gcc/testsuite/g++.old-deja/g++.robertl/980310-1.C
-3593716546b ./gcc/testsuite/g++.old-deja/g++.robertl/README
-3648377352b ./gcc/testsuite/g++.old-deja/g++.robertl/eb10.C
-1177837000b ./gcc/testsuite/g++.old-deja/g++.robertl/eb101.C
-3472844044b ./gcc/testsuite/g++.old-deja/g++.robertl/eb102.C
-2443648446b ./gcc/testsuite/g++.old-deja/g++.robertl/eb103.C
-2507881262b ./gcc/testsuite/g++.old-deja/g++.robertl/eb104.C
- 562781296b ./gcc/testsuite/g++.old-deja/g++.robertl/eb105.C
-2425940184b ./gcc/testsuite/g++.old-deja/g++.robertl/eb106.C
- 816702909b ./gcc/testsuite/g++.old-deja/g++.robertl/eb107.C
-1370397701b ./gcc/testsuite/g++.old-deja/g++.robertl/eb108.C
- 931011542b ./gcc/testsuite/g++.old-deja/g++.robertl/eb109.C
-1227838581b ./gcc/testsuite/g++.old-deja/g++.robertl/eb11.C
-1181050923b ./gcc/testsuite/g++.old-deja/g++.robertl/eb110.C
-3893933499b ./gcc/testsuite/g++.old-deja/g++.robertl/eb111.C
-1958243707b ./gcc/testsuite/g++.old-deja/g++.robertl/eb112.C
-2013748599b ./gcc/testsuite/g++.old-deja/g++.robertl/eb113.C
-3605730706b ./gcc/testsuite/g++.old-deja/g++.robertl/eb114.C
-4101395922b ./gcc/testsuite/g++.old-deja/g++.robertl/eb115.C
- 882322806b ./gcc/testsuite/g++.old-deja/g++.robertl/eb116.C
- 754081410b ./gcc/testsuite/g++.old-deja/g++.robertl/eb118.C
-1321940613b ./gcc/testsuite/g++.old-deja/g++.robertl/eb119.C
- 158711949b ./gcc/testsuite/g++.old-deja/g++.robertl/eb12.C
- 784221952b ./gcc/testsuite/g++.old-deja/g++.robertl/eb120.C
-1281713077b ./gcc/testsuite/g++.old-deja/g++.robertl/eb121.C
-2148357158b ./gcc/testsuite/g++.old-deja/g++.robertl/eb122.C
- 340399175b ./gcc/testsuite/g++.old-deja/g++.robertl/eb123.C
-3877664520b ./gcc/testsuite/g++.old-deja/g++.robertl/eb124.C
-3467340374b ./gcc/testsuite/g++.old-deja/g++.robertl/eb125.C
-1327581862b ./gcc/testsuite/g++.old-deja/g++.robertl/eb126.C
-1761998848b ./gcc/testsuite/g++.old-deja/g++.robertl/eb127.C
-1650763244b ./gcc/testsuite/g++.old-deja/g++.robertl/eb128.C
-1144194692b ./gcc/testsuite/g++.old-deja/g++.robertl/eb129.C
- 630981722b ./gcc/testsuite/g++.old-deja/g++.robertl/eb13.C
-3833568905b ./gcc/testsuite/g++.old-deja/g++.robertl/eb130.C
- 134642861b ./gcc/testsuite/g++.old-deja/g++.robertl/eb131.C
-3562579671b ./gcc/testsuite/g++.old-deja/g++.robertl/eb132.C
-1719866793b ./gcc/testsuite/g++.old-deja/g++.robertl/eb133.C
-1991329538b ./gcc/testsuite/g++.old-deja/g++.robertl/eb14.C
- 599076752b ./gcc/testsuite/g++.old-deja/g++.robertl/eb15.C
-2805277324b ./gcc/testsuite/g++.old-deja/g++.robertl/eb16.C
- 900862765b ./gcc/testsuite/g++.old-deja/g++.robertl/eb17.C
-2664767884b ./gcc/testsuite/g++.old-deja/g++.robertl/eb18.C
- 526517709b ./gcc/testsuite/g++.old-deja/g++.robertl/eb19.C
-3780933159b ./gcc/testsuite/g++.old-deja/g++.robertl/eb2.C
- 461969397b ./gcc/testsuite/g++.old-deja/g++.robertl/eb20.C
-1228812692b ./gcc/testsuite/g++.old-deja/g++.robertl/eb21.C
-3079852497b ./gcc/testsuite/g++.old-deja/g++.robertl/eb22.C
- 430086508b ./gcc/testsuite/g++.old-deja/g++.robertl/eb23.C
-3375106826b ./gcc/testsuite/g++.old-deja/g++.robertl/eb24.C
- 309172009b ./gcc/testsuite/g++.old-deja/g++.robertl/eb26.C
-2646357902b ./gcc/testsuite/g++.old-deja/g++.robertl/eb27.C
-2153876827b ./gcc/testsuite/g++.old-deja/g++.robertl/eb28.C
-2239595432b ./gcc/testsuite/g++.old-deja/g++.robertl/eb29.C
- 409717280b ./gcc/testsuite/g++.old-deja/g++.robertl/eb3.C
-4165211170b ./gcc/testsuite/g++.old-deja/g++.robertl/eb30.C
- 333697406b ./gcc/testsuite/g++.old-deja/g++.robertl/eb31.C
-4187617186b ./gcc/testsuite/g++.old-deja/g++.robertl/eb32.C
-2243900185b ./gcc/testsuite/g++.old-deja/g++.robertl/eb33.C
-2115586068b ./gcc/testsuite/g++.old-deja/g++.robertl/eb34.C
- 563300325b ./gcc/testsuite/g++.old-deja/g++.robertl/eb35.C
- 52206046b ./gcc/testsuite/g++.old-deja/g++.robertl/eb36.C
-2564432607b ./gcc/testsuite/g++.old-deja/g++.robertl/eb37.C
-2426566316b ./gcc/testsuite/g++.old-deja/g++.robertl/eb38.C
-2714525824b ./gcc/testsuite/g++.old-deja/g++.robertl/eb39.C
-2400403184b ./gcc/testsuite/g++.old-deja/g++.robertl/eb4.C
-3404223808b ./gcc/testsuite/g++.old-deja/g++.robertl/eb41.C
- 600248532b ./gcc/testsuite/g++.old-deja/g++.robertl/eb43.C
- 478334271b ./gcc/testsuite/g++.old-deja/g++.robertl/eb44.C
- 687602470b ./gcc/testsuite/g++.old-deja/g++.robertl/eb45.C
-2906516017b ./gcc/testsuite/g++.old-deja/g++.robertl/eb46.C
- 753241876b ./gcc/testsuite/g++.old-deja/g++.robertl/eb48.C
-3504050873b ./gcc/testsuite/g++.old-deja/g++.robertl/eb49.C
-4112455445b ./gcc/testsuite/g++.old-deja/g++.robertl/eb5.C
-4113309347b ./gcc/testsuite/g++.old-deja/g++.robertl/eb50.C
-1918037503b ./gcc/testsuite/g++.old-deja/g++.robertl/eb51.C
-3209054875b ./gcc/testsuite/g++.old-deja/g++.robertl/eb52.C
-3463436293b ./gcc/testsuite/g++.old-deja/g++.robertl/eb54.C
-2324988790b ./gcc/testsuite/g++.old-deja/g++.robertl/eb55.C
-2755526955b ./gcc/testsuite/g++.old-deja/g++.robertl/eb56.C
-1356497150b ./gcc/testsuite/g++.old-deja/g++.robertl/eb57.C
-3407397105b ./gcc/testsuite/g++.old-deja/g++.robertl/eb58.C
-3456565600b ./gcc/testsuite/g++.old-deja/g++.robertl/eb59.C
-1997456294b ./gcc/testsuite/g++.old-deja/g++.robertl/eb6.C
-3866624841b ./gcc/testsuite/g++.old-deja/g++.robertl/eb60.C
-1266761033b ./gcc/testsuite/g++.old-deja/g++.robertl/eb61.C
-1103895954b ./gcc/testsuite/g++.old-deja/g++.robertl/eb62.C
-2380305128b ./gcc/testsuite/g++.old-deja/g++.robertl/eb63.C
-1956073784b ./gcc/testsuite/g++.old-deja/g++.robertl/eb64.C
-3411827926b ./gcc/testsuite/g++.old-deja/g++.robertl/eb65.C
-1308776849b ./gcc/testsuite/g++.old-deja/g++.robertl/eb66.C
-3389307963b ./gcc/testsuite/g++.old-deja/g++.robertl/eb67.C
- 925855294b ./gcc/testsuite/g++.old-deja/g++.robertl/eb69.C
-3042871385b ./gcc/testsuite/g++.old-deja/g++.robertl/eb7.C
-2182473885b ./gcc/testsuite/g++.old-deja/g++.robertl/eb70.C
-1529133628b ./gcc/testsuite/g++.old-deja/g++.robertl/eb71.C
- 198363373b ./gcc/testsuite/g++.old-deja/g++.robertl/eb73.C
-2471271135b ./gcc/testsuite/g++.old-deja/g++.robertl/eb74.C
- 355273621b ./gcc/testsuite/g++.old-deja/g++.robertl/eb75.C
-4162811871b ./gcc/testsuite/g++.old-deja/g++.robertl/eb76.C
-4165065702b ./gcc/testsuite/g++.old-deja/g++.robertl/eb77.C
-4134051807b ./gcc/testsuite/g++.old-deja/g++.robertl/eb79.C
-3708449542b ./gcc/testsuite/g++.old-deja/g++.robertl/eb8.C
-1974141968b ./gcc/testsuite/g++.old-deja/g++.robertl/eb80.C
-3623034003b ./gcc/testsuite/g++.old-deja/g++.robertl/eb81.C
- 303859604b ./gcc/testsuite/g++.old-deja/g++.robertl/eb82.C
-3081151781b ./gcc/testsuite/g++.old-deja/g++.robertl/eb83.C
-1911496354b ./gcc/testsuite/g++.old-deja/g++.robertl/eb84.C
- 83084630b ./gcc/testsuite/g++.old-deja/g++.robertl/eb86.C
- 637629215b ./gcc/testsuite/g++.old-deja/g++.robertl/eb87.C
- 15844958b ./gcc/testsuite/g++.old-deja/g++.robertl/eb88.C
-1559463697b ./gcc/testsuite/g++.old-deja/g++.robertl/eb9.C
-1724324673b ./gcc/testsuite/g++.old-deja/g++.robertl/eb90.C
-4094580810b ./gcc/testsuite/g++.old-deja/g++.robertl/eb91.C
-2107259564b ./gcc/testsuite/g++.old-deja/g++.robertl/eb92.C
-2200177849b ./gcc/testsuite/g++.old-deja/g++.robertl/eb93.C
-2786021364b ./gcc/testsuite/g++.old-deja/g++.robertl/eb94.C
-3847299793b ./gcc/testsuite/g++.old-deja/g++.robertl/eb95.C
-2908163544b ./gcc/testsuite/g++.old-deja/g++.robertl/eb97.C
- 131102227b ./gcc/testsuite/g++.old-deja/g++.robertl/eb98.C
-2054173722b ./gcc/testsuite/g++.old-deja/g++.robertl/eb99.C
-1294688249b ./gcc/testsuite/g++.old-deja/g++.robertl/ebnull-cast.C
-2390910991b ./gcc/testsuite/g++.old-deja/g++.robertl/ebnull-oldcast.C
-3496760893b ./gcc/testsuite/g++.old-deja/g++.robertl/ebnull.C
- 475696176b ./gcc/testsuite/g++.old-deja/old-deja.exp
-2382988813b ./gcc/testsuite/g77.f-torture/compile/19990218-0.f
- 687255164b ./gcc/testsuite/g77.f-torture/compile/19990305-0.f
-4067537756b ./gcc/testsuite/g77.f-torture/compile/19990419-0.f
-3411435248b ./gcc/testsuite/g77.f-torture/compile/19990502-0.f
-1869005611b ./gcc/testsuite/g77.f-torture/compile/19990502-1.f
-1776224360b ./gcc/testsuite/g77.f-torture/compile/960317-1.f
-2528706840b ./gcc/testsuite/g77.f-torture/compile/970125-0.f
-3100920780b ./gcc/testsuite/g77.f-torture/compile/970915-0.f
-3454578083b ./gcc/testsuite/g77.f-torture/compile/980310-1.f
-1063918752b ./gcc/testsuite/g77.f-torture/compile/980310-2.f
-3699662809b ./gcc/testsuite/g77.f-torture/compile/980310-3.f
-3523537961b ./gcc/testsuite/g77.f-torture/compile/980310-4.f
- 581995045b ./gcc/testsuite/g77.f-torture/compile/980310-6.f
- 758602941b ./gcc/testsuite/g77.f-torture/compile/980310-7.f
-3264996889b ./gcc/testsuite/g77.f-torture/compile/980310-8.f
- 55455134b ./gcc/testsuite/g77.f-torture/compile/980419-2.f
-2284181108b ./gcc/testsuite/g77.f-torture/compile/980424-0.f
- 585713859b ./gcc/testsuite/g77.f-torture/compile/980427-0.f
-2138526345b ./gcc/testsuite/g77.f-torture/compile/980729-0.f
-1069123470b ./gcc/testsuite/g77.f-torture/compile/981117-1.f
-2053478041b ./gcc/testsuite/g77.f-torture/compile/990115-1.f
-3973737388b ./gcc/testsuite/g77.f-torture/compile/alpha1.f
-4102920068b ./gcc/testsuite/g77.f-torture/compile/compile.exp
- 407305629b ./gcc/testsuite/g77.f-torture/compile/toon_1.f
-1875205813b ./gcc/testsuite/g77.f-torture/execute/19981119-0.f
- 207133658b ./gcc/testsuite/g77.f-torture/execute/19990313-0.f
-1311165077b ./gcc/testsuite/g77.f-torture/execute/19990313-1.f
-2827041779b ./gcc/testsuite/g77.f-torture/execute/19990313-2.f
-3627217083b ./gcc/testsuite/g77.f-torture/execute/19990313-3.f
- 334442269b ./gcc/testsuite/g77.f-torture/execute/19990325-0.f
-2498790248b ./gcc/testsuite/g77.f-torture/execute/19990325-1.f
-1566943825b ./gcc/testsuite/g77.f-torture/execute/19990419-1.f
-2872624206b ./gcc/testsuite/g77.f-torture/execute/970625-2.f
-2944713164b ./gcc/testsuite/g77.f-torture/execute/970816-3.f
-3043987240b ./gcc/testsuite/g77.f-torture/execute/971102-1.f
-1356010785b ./gcc/testsuite/g77.f-torture/execute/980520-1.f
-2822825054b ./gcc/testsuite/g77.f-torture/execute/980628-0.f
- 731282896b ./gcc/testsuite/g77.f-torture/execute/980628-1.f
-1154425496b ./gcc/testsuite/g77.f-torture/execute/980628-10.f
- 652392894b ./gcc/testsuite/g77.f-torture/execute/980628-2.f
-3891656681b ./gcc/testsuite/g77.f-torture/execute/980628-3.f
-4188896500b ./gcc/testsuite/g77.f-torture/execute/980628-4.f
-3480269714b ./gcc/testsuite/g77.f-torture/execute/980628-5.f
-1467613590b ./gcc/testsuite/g77.f-torture/execute/980628-6.f
-1104933088b ./gcc/testsuite/g77.f-torture/execute/980628-7.f
-1264093278b ./gcc/testsuite/g77.f-torture/execute/980628-8.f
-2969694593b ./gcc/testsuite/g77.f-torture/execute/980628-9.f
-1979661682b ./gcc/testsuite/g77.f-torture/execute/980701-0.f
-2199388550b ./gcc/testsuite/g77.f-torture/execute/980701-1.f
-2519492399b ./gcc/testsuite/g77.f-torture/execute/alpha2.f
-2259027475b ./gcc/testsuite/g77.f-torture/execute/auto0.f
-4202240464b ./gcc/testsuite/g77.f-torture/execute/auto1.f
- 232981110b ./gcc/testsuite/g77.f-torture/execute/cabs.f
- 877306443b ./gcc/testsuite/g77.f-torture/execute/claus.f
-2682388459b ./gcc/testsuite/g77.f-torture/execute/complex_1.f
- 274053025b ./gcc/testsuite/g77.f-torture/execute/cpp.F
-3689042274b ./gcc/testsuite/g77.f-torture/execute/dcomplex.f
-2431087293b ./gcc/testsuite/g77.f-torture/execute/dnrm2.f
-1012852742b ./gcc/testsuite/g77.f-torture/execute/erfc.f
-1878267992b ./gcc/testsuite/g77.f-torture/execute/execute.exp
-2348837361b ./gcc/testsuite/g77.f-torture/execute/exp.f
-3527337523b ./gcc/testsuite/g77.f-torture/execute/io0.f
-1499748556b ./gcc/testsuite/g77.f-torture/execute/io1.f
-3838992103b ./gcc/testsuite/g77.f-torture/execute/labug1.f
- 273345472b ./gcc/testsuite/g77.f-torture/execute/large_vec.f
- 775036014b ./gcc/testsuite/g77.f-torture/execute/le.f
-3780459526b ./gcc/testsuite/g77.f-torture/execute/short.f
-1848114521b ./gcc/testsuite/g77.f-torture/execute/u77-test.f
-2234422141b ./gcc/testsuite/g77.f-torture/noncompile/19981216-0.f
-2509327097b ./gcc/testsuite/g77.f-torture/noncompile/19990218-1.f
-3382416911b ./gcc/testsuite/g77.f-torture/noncompile/980615-0.f
-4269744935b ./gcc/testsuite/g77.f-torture/noncompile/980616-0.f
-2374591598b ./gcc/testsuite/g77.f-torture/noncompile/check0.f
- 508430695b ./gcc/testsuite/g77.f-torture/noncompile/noncompile.exp
-2712295460b ./gcc/testsuite/gcc.c-torture/ChangeLog
- 619512296b ./gcc/testsuite/gcc.c-torture/code_quality/920608-1.c
-1056372736b ./gcc/testsuite/gcc.c-torture/code_quality/Makefile.in
-3888310811b ./gcc/testsuite/gcc.c-torture/code_quality/code_quality.exp
-4098966913b ./gcc/testsuite/gcc.c-torture/code_quality/configure.in
-1056372736b ./gcc/testsuite/gcc.c-torture/compat/Makefile.in
-4208358144b ./gcc/testsuite/gcc.c-torture/compat/configure.in
-1091110310b ./gcc/testsuite/gcc.c-torture/compat/strct-layout.c
- 684784126b ./gcc/testsuite/gcc.c-torture/compat/struct-align.c
- 92980596b ./gcc/testsuite/gcc.c-torture/compat/struct-big.c
-2993970556b ./gcc/testsuite/gcc.c-torture/compat/struct-i.c
-1373131310b ./gcc/testsuite/gcc.c-torture/compat/struct-ic.c
- 367335173b ./gcc/testsuite/gcc.c-torture/compat/struct-ii.c
- 954170066b ./gcc/testsuite/gcc.c-torture/compat/struct-ret-1.c
- 375311401b ./gcc/testsuite/gcc.c-torture/compile/900116-1.c
-4181931788b ./gcc/testsuite/gcc.c-torture/compile/900216-1.c
- 426860692b ./gcc/testsuite/gcc.c-torture/compile/900313-1.c
- 221307575b ./gcc/testsuite/gcc.c-torture/compile/900407-1.c
- 197356982b ./gcc/testsuite/gcc.c-torture/compile/900516-1.c
-1548983744b ./gcc/testsuite/gcc.c-torture/compile/920301-1.c
-4282140702b ./gcc/testsuite/gcc.c-torture/compile/920409-1.c
-1778084656b ./gcc/testsuite/gcc.c-torture/compile/920409-2.c
- 213155575b ./gcc/testsuite/gcc.c-torture/compile/920410-1.c
- 645991439b ./gcc/testsuite/gcc.c-torture/compile/920410-2.c
-3957037518b ./gcc/testsuite/gcc.c-torture/compile/920411-2.c
-2334498932b ./gcc/testsuite/gcc.c-torture/compile/920413-1.c
- 962899604b ./gcc/testsuite/gcc.c-torture/compile/920415-1.c
-2539976202b ./gcc/testsuite/gcc.c-torture/compile/920428-1.c
-1013934609b ./gcc/testsuite/gcc.c-torture/compile/920428-2.c
- 788296187b ./gcc/testsuite/gcc.c-torture/compile/920428-3.c
- 972355256b ./gcc/testsuite/gcc.c-torture/compile/920428-4.c
-2850012644b ./gcc/testsuite/gcc.c-torture/compile/920428-5.c
-3327240012b ./gcc/testsuite/gcc.c-torture/compile/920428-6.c
-1997719687b ./gcc/testsuite/gcc.c-torture/compile/920428-7.c
-2259830613b ./gcc/testsuite/gcc.c-torture/compile/920501-1.c
-2992320179b ./gcc/testsuite/gcc.c-torture/compile/920501-10.c
-2609541759b ./gcc/testsuite/gcc.c-torture/compile/920501-11.c
- 46877596b ./gcc/testsuite/gcc.c-torture/compile/920501-12.c
- 432031083b ./gcc/testsuite/gcc.c-torture/compile/920501-13.c
-3986866565b ./gcc/testsuite/gcc.c-torture/compile/920501-15.c
-2140301132b ./gcc/testsuite/gcc.c-torture/compile/920501-16.c
-2776840158b ./gcc/testsuite/gcc.c-torture/compile/920501-17.c
-2935229477b ./gcc/testsuite/gcc.c-torture/compile/920501-18.c
-2462018157b ./gcc/testsuite/gcc.c-torture/compile/920501-19.c
- 825734676b ./gcc/testsuite/gcc.c-torture/compile/920501-2.c
-3480599006b ./gcc/testsuite/gcc.c-torture/compile/920501-20.c
-1689258794b ./gcc/testsuite/gcc.c-torture/compile/920501-21.c
- 693947540b ./gcc/testsuite/gcc.c-torture/compile/920501-22.c
- 195826579b ./gcc/testsuite/gcc.c-torture/compile/920501-23.c
-2815077449b ./gcc/testsuite/gcc.c-torture/compile/920501-3.c
-3150704176b ./gcc/testsuite/gcc.c-torture/compile/920501-4.c
-3936438856b ./gcc/testsuite/gcc.c-torture/compile/920501-6.c
- 22794031b ./gcc/testsuite/gcc.c-torture/compile/920501-7.c
-3178366367b ./gcc/testsuite/gcc.c-torture/compile/920501-8.c
-3988773566b ./gcc/testsuite/gcc.c-torture/compile/920501-9.c
-4273234272b ./gcc/testsuite/gcc.c-torture/compile/920502-1.c
- 451473472b ./gcc/testsuite/gcc.c-torture/compile/920502-2.c
-1216353647b ./gcc/testsuite/gcc.c-torture/compile/920529-1.c
-2459147095b ./gcc/testsuite/gcc.c-torture/compile/920611-2.c
-2108915266b ./gcc/testsuite/gcc.c-torture/compile/920615-1.c
-1738386639b ./gcc/testsuite/gcc.c-torture/compile/920617-1.c
-1497386838b ./gcc/testsuite/gcc.c-torture/compile/920617-2.c
- 15254500b ./gcc/testsuite/gcc.c-torture/compile/920623-1.c
-1775235688b ./gcc/testsuite/gcc.c-torture/compile/920624-1.c
-3157795265b ./gcc/testsuite/gcc.c-torture/compile/920625-1.c
- 832571494b ./gcc/testsuite/gcc.c-torture/compile/920625-2.c
-1209301541b ./gcc/testsuite/gcc.c-torture/compile/920626-1.c
-1071302436b ./gcc/testsuite/gcc.c-torture/compile/920701-1.c
-2769689708b ./gcc/testsuite/gcc.c-torture/compile/920702-1.c
-2699685766b ./gcc/testsuite/gcc.c-torture/compile/920706-1.c
-2611774952b ./gcc/testsuite/gcc.c-torture/compile/920710-2.c
-3175710753b ./gcc/testsuite/gcc.c-torture/compile/920711-1.c
-1838641399b ./gcc/testsuite/gcc.c-torture/compile/920721-1.c
-3267502021b ./gcc/testsuite/gcc.c-torture/compile/920723-1.c
-1052084961b ./gcc/testsuite/gcc.c-torture/compile/920729-1.c
-3543134222b ./gcc/testsuite/gcc.c-torture/compile/920806-1.c
- 301898459b ./gcc/testsuite/gcc.c-torture/compile/920808-1.c
-4286663396b ./gcc/testsuite/gcc.c-torture/compile/920809-1.c
-1519893227b ./gcc/testsuite/gcc.c-torture/compile/920817-1.c
-1506959740b ./gcc/testsuite/gcc.c-torture/compile/920820-1.c
-2009298978b ./gcc/testsuite/gcc.c-torture/compile/920821-1.c
- 153303695b ./gcc/testsuite/gcc.c-torture/compile/920821-2.c
-1035421587b ./gcc/testsuite/gcc.c-torture/compile/920825-1.c
-1883204896b ./gcc/testsuite/gcc.c-torture/compile/920825-2.c
- 378919939b ./gcc/testsuite/gcc.c-torture/compile/920826-1.c
- 324445241b ./gcc/testsuite/gcc.c-torture/compile/920828-1.c
-2512376601b ./gcc/testsuite/gcc.c-torture/compile/920829-1.c
-1175894768b ./gcc/testsuite/gcc.c-torture/compile/920831-1.c
-3615669663b ./gcc/testsuite/gcc.c-torture/compile/920902-1.c
-3213642392b ./gcc/testsuite/gcc.c-torture/compile/920909-1.c
- 923773306b ./gcc/testsuite/gcc.c-torture/compile/920917-1.c
- 313805874b ./gcc/testsuite/gcc.c-torture/compile/920928-1.c
-3576009210b ./gcc/testsuite/gcc.c-torture/compile/920928-2.c
-2038558878b ./gcc/testsuite/gcc.c-torture/compile/920928-3.c
-2544344324b ./gcc/testsuite/gcc.c-torture/compile/920928-4.c
- 934086546b ./gcc/testsuite/gcc.c-torture/compile/920928-5.c
- 6106016b ./gcc/testsuite/gcc.c-torture/compile/920928-6.c
- 735506239b ./gcc/testsuite/gcc.c-torture/compile/921004-1.c
-3888639831b ./gcc/testsuite/gcc.c-torture/compile/921011-1.c
-3956087084b ./gcc/testsuite/gcc.c-torture/compile/921011-2.c
-1370935236b ./gcc/testsuite/gcc.c-torture/compile/921012-1.c
-2304808730b ./gcc/testsuite/gcc.c-torture/compile/921012-2.c
-3157047871b ./gcc/testsuite/gcc.c-torture/compile/921013-1.c
-3740334758b ./gcc/testsuite/gcc.c-torture/compile/921019-1.c
-2811091388b ./gcc/testsuite/gcc.c-torture/compile/921021-1.c
-3551171868b ./gcc/testsuite/gcc.c-torture/compile/921024-1.c
-3924542394b ./gcc/testsuite/gcc.c-torture/compile/921026-1.c
-1165569278b ./gcc/testsuite/gcc.c-torture/compile/921103-1.c
-1243246144b ./gcc/testsuite/gcc.c-torture/compile/921109-1.c
-2203220429b ./gcc/testsuite/gcc.c-torture/compile/921111-1.c
-1990624597b ./gcc/testsuite/gcc.c-torture/compile/921116-2.c
- 517704894b ./gcc/testsuite/gcc.c-torture/compile/921118-1.c
-3811420781b ./gcc/testsuite/gcc.c-torture/compile/921126-1.c
-3727547715b ./gcc/testsuite/gcc.c-torture/compile/921202-1.c
- 568945264b ./gcc/testsuite/gcc.c-torture/compile/921202-2.c
-2130176572b ./gcc/testsuite/gcc.c-torture/compile/921203-1.c
- 492266852b ./gcc/testsuite/gcc.c-torture/compile/921203-2.c
- 855574805b ./gcc/testsuite/gcc.c-torture/compile/921206-1.c
-2014683974b ./gcc/testsuite/gcc.c-torture/compile/921227-1.c
- 96957459b ./gcc/testsuite/gcc.c-torture/compile/930109-1.c
-1189423329b ./gcc/testsuite/gcc.c-torture/compile/930109-2.c
-1543922161b ./gcc/testsuite/gcc.c-torture/compile/930111-1.c
-1357888911b ./gcc/testsuite/gcc.c-torture/compile/930117-1.c
-2068061905b ./gcc/testsuite/gcc.c-torture/compile/930118-1.c
-2900924058b ./gcc/testsuite/gcc.c-torture/compile/930120-1.c
-4121817111b ./gcc/testsuite/gcc.c-torture/compile/930126-1.c
-1532460815b ./gcc/testsuite/gcc.c-torture/compile/930210-1.c
-3625302497b ./gcc/testsuite/gcc.c-torture/compile/930217-1.c
-3938239975b ./gcc/testsuite/gcc.c-torture/compile/930222-1.c
-1557388855b ./gcc/testsuite/gcc.c-torture/compile/930325-1.c
-3378061921b ./gcc/testsuite/gcc.c-torture/compile/930326-1.c
-3007351406b ./gcc/testsuite/gcc.c-torture/compile/930326-1.x
-2931382100b ./gcc/testsuite/gcc.c-torture/compile/930411-1.c
-3578370973b ./gcc/testsuite/gcc.c-torture/compile/930421-1.c
-3734830625b ./gcc/testsuite/gcc.c-torture/compile/930427-2.c
-3885379756b ./gcc/testsuite/gcc.c-torture/compile/930503-1.c
- 959725141b ./gcc/testsuite/gcc.c-torture/compile/930503-2.c
- 140786434b ./gcc/testsuite/gcc.c-torture/compile/930506-1.c
-3305652641b ./gcc/testsuite/gcc.c-torture/compile/930506-2.c
-1442644232b ./gcc/testsuite/gcc.c-torture/compile/930510-1.c
-3993332569b ./gcc/testsuite/gcc.c-torture/compile/930513-1.c
-2006581046b ./gcc/testsuite/gcc.c-torture/compile/930513-2.c
-2698332239b ./gcc/testsuite/gcc.c-torture/compile/930513-3.c
- 90110464b ./gcc/testsuite/gcc.c-torture/compile/930523-1.c
-2548234910b ./gcc/testsuite/gcc.c-torture/compile/930525-1.c
- 422873186b ./gcc/testsuite/gcc.c-torture/compile/930527-1.c
- 784172570b ./gcc/testsuite/gcc.c-torture/compile/930529-1.c
-3569132715b ./gcc/testsuite/gcc.c-torture/compile/930530-1.c
-3200160962b ./gcc/testsuite/gcc.c-torture/compile/930602-1.c
-3142735794b ./gcc/testsuite/gcc.c-torture/compile/930603-1.c
-1973176638b ./gcc/testsuite/gcc.c-torture/compile/930607-1.c
- 208901999b ./gcc/testsuite/gcc.c-torture/compile/930611-1.c
-3976001091b ./gcc/testsuite/gcc.c-torture/compile/930618-1.c
-3355924714b ./gcc/testsuite/gcc.c-torture/compile/930621-1.c
-3751666180b ./gcc/testsuite/gcc.c-torture/compile/930623-1.c
-3714994986b ./gcc/testsuite/gcc.c-torture/compile/930702-1.c
-3138367793b ./gcc/testsuite/gcc.c-torture/compile/930926-1.c
- 126934282b ./gcc/testsuite/gcc.c-torture/compile/930927-1.c
-2046421038b ./gcc/testsuite/gcc.c-torture/compile/931003-1.c
-2795307593b ./gcc/testsuite/gcc.c-torture/compile/931004-1.c
-2248992767b ./gcc/testsuite/gcc.c-torture/compile/931013-1.c
- 554284027b ./gcc/testsuite/gcc.c-torture/compile/931013-2.c
-1170847752b ./gcc/testsuite/gcc.c-torture/compile/931013-3.c
- 752631056b ./gcc/testsuite/gcc.c-torture/compile/931018-1.c
-4120231716b ./gcc/testsuite/gcc.c-torture/compile/931031-1.c
-2466554678b ./gcc/testsuite/gcc.c-torture/compile/931102-1.c
-4193170992b ./gcc/testsuite/gcc.c-torture/compile/931102-2.c
-3312404691b ./gcc/testsuite/gcc.c-torture/compile/931203-1.c
-2144495581b ./gcc/testsuite/gcc.c-torture/compile/940611-1.c
-2217967256b ./gcc/testsuite/gcc.c-torture/compile/940712-1.c
- 43398345b ./gcc/testsuite/gcc.c-torture/compile/940718-1.c
-2813422857b ./gcc/testsuite/gcc.c-torture/compile/941014-1.c
- 714535983b ./gcc/testsuite/gcc.c-torture/compile/941014-2.c
- 236968493b ./gcc/testsuite/gcc.c-torture/compile/941014-3.c
- 772624016b ./gcc/testsuite/gcc.c-torture/compile/941014-4.c
-2255123649b ./gcc/testsuite/gcc.c-torture/compile/941019-1.c
-3482340577b ./gcc/testsuite/gcc.c-torture/compile/941111-1.c
-4138121525b ./gcc/testsuite/gcc.c-torture/compile/941113-1.c
- 938329066b ./gcc/testsuite/gcc.c-torture/compile/950122-1.c
-4155644724b ./gcc/testsuite/gcc.c-torture/compile/950124-1.c
-3810294661b ./gcc/testsuite/gcc.c-torture/compile/950221-1.c
-3460610209b ./gcc/testsuite/gcc.c-torture/compile/950329-1.c
-3474584992b ./gcc/testsuite/gcc.c-torture/compile/950512-1.c
-3344132126b ./gcc/testsuite/gcc.c-torture/compile/950530-1.c
-1876592424b ./gcc/testsuite/gcc.c-torture/compile/950607-1.c
-1023117358b ./gcc/testsuite/gcc.c-torture/compile/950610-1.c
-2634556580b ./gcc/testsuite/gcc.c-torture/compile/950612-1.c
-1196693335b ./gcc/testsuite/gcc.c-torture/compile/950613-1.c
- 447206228b ./gcc/testsuite/gcc.c-torture/compile/950618-1.c
- 267255638b ./gcc/testsuite/gcc.c-torture/compile/950719-1.c
-3590503950b ./gcc/testsuite/gcc.c-torture/compile/950729-1.c
-3836055170b ./gcc/testsuite/gcc.c-torture/compile/950816-1.c
-2188937099b ./gcc/testsuite/gcc.c-torture/compile/950816-2.c
-2634731147b ./gcc/testsuite/gcc.c-torture/compile/950816-3.c
-2650686602b ./gcc/testsuite/gcc.c-torture/compile/950910-1.c
-2979160187b ./gcc/testsuite/gcc.c-torture/compile/950919-1.c
-3635621359b ./gcc/testsuite/gcc.c-torture/compile/950921-1.c
-3500911374b ./gcc/testsuite/gcc.c-torture/compile/950922-1.c
-2220749535b ./gcc/testsuite/gcc.c-torture/compile/951004-1.c
-1578339532b ./gcc/testsuite/gcc.c-torture/compile/951106-1.c
- 459531698b ./gcc/testsuite/gcc.c-torture/compile/951116-1.c
-2236702069b ./gcc/testsuite/gcc.c-torture/compile/951128-1.c
- 559124320b ./gcc/testsuite/gcc.c-torture/compile/951220-1.c
-2931610069b ./gcc/testsuite/gcc.c-torture/compile/951222-1.c
- 834462352b ./gcc/testsuite/gcc.c-torture/compile/960106-1.c
-2810957446b ./gcc/testsuite/gcc.c-torture/compile/960130-1.c
-3942840130b ./gcc/testsuite/gcc.c-torture/compile/960201-1.c
-1531419420b ./gcc/testsuite/gcc.c-torture/compile/960218-1.c
-1748987127b ./gcc/testsuite/gcc.c-torture/compile/960220-1.c
-4272797008b ./gcc/testsuite/gcc.c-torture/compile/960221-1.c
-2932166589b ./gcc/testsuite/gcc.c-torture/compile/960319-1.c
-1856173622b ./gcc/testsuite/gcc.c-torture/compile/960514-1.c
-3435740171b ./gcc/testsuite/gcc.c-torture/compile/960704-1.c
-2939040127b ./gcc/testsuite/gcc.c-torture/compile/960829-1.c
- 497475088b ./gcc/testsuite/gcc.c-torture/compile/961004-1.c
-1946932829b ./gcc/testsuite/gcc.c-torture/compile/961010-1.c
- 304816181b ./gcc/testsuite/gcc.c-torture/compile/961019-1.c
-2048507537b ./gcc/testsuite/gcc.c-torture/compile/961031-1.c
-3079865887b ./gcc/testsuite/gcc.c-torture/compile/961126-1.c
-1672232168b ./gcc/testsuite/gcc.c-torture/compile/961203-1.c
-3093383899b ./gcc/testsuite/gcc.c-torture/compile/961203-1.x
-3759439975b ./gcc/testsuite/gcc.c-torture/compile/970206-1.c
-1182708149b ./gcc/testsuite/gcc.c-torture/compile/970214-1.c
-3593522245b ./gcc/testsuite/gcc.c-torture/compile/980329-1.c
-3672497829b ./gcc/testsuite/gcc.c-torture/compile/980408-1.c
-2062728359b ./gcc/testsuite/gcc.c-torture/compile/980504-1.c
-4232017618b ./gcc/testsuite/gcc.c-torture/compile/980506-1.c
- 32528983b ./gcc/testsuite/gcc.c-torture/compile/980506-2.c
-4270541716b ./gcc/testsuite/gcc.c-torture/compile/980511-1.c
-3713274322b ./gcc/testsuite/gcc.c-torture/compile/980701-1.c
- 777674549b ./gcc/testsuite/gcc.c-torture/compile/980706-1.c
- 610537079b ./gcc/testsuite/gcc.c-torture/compile/980726-1.c
-3564634914b ./gcc/testsuite/gcc.c-torture/compile/980729-1.c
-1437208592b ./gcc/testsuite/gcc.c-torture/compile/980816-1.c
-4262061714b ./gcc/testsuite/gcc.c-torture/compile/980821-1.c
- 411994094b ./gcc/testsuite/gcc.c-torture/compile/980825-1.c
- 84987168b ./gcc/testsuite/gcc.c-torture/compile/981001-1.c
-3572428069b ./gcc/testsuite/gcc.c-torture/compile/981001-2.c
- 668832071b ./gcc/testsuite/gcc.c-torture/compile/981001-3.c
-2581029790b ./gcc/testsuite/gcc.c-torture/compile/981001-4.c
- 436023456b ./gcc/testsuite/gcc.c-torture/compile/981007-1.c
-3644509388b ./gcc/testsuite/gcc.c-torture/compile/981022-1.c
-2402428546b ./gcc/testsuite/gcc.c-torture/compile/981022-1.x
-2312981402b ./gcc/testsuite/gcc.c-torture/compile/981107-1.c
-2653119051b ./gcc/testsuite/gcc.c-torture/compile/981211-1.c
-1534948383b ./gcc/testsuite/gcc.c-torture/compile/981223-1.c
-4068323857b ./gcc/testsuite/gcc.c-torture/compile/990107-1.c
-2146948130b ./gcc/testsuite/gcc.c-torture/compile/990117-1.c
- 569996007b ./gcc/testsuite/gcc.c-torture/compile/990203-1.c
- 415305492b ./gcc/testsuite/gcc.c-torture/compile/990517-1.c
-3394640266b ./gcc/testsuite/gcc.c-torture/compile/990519-1.c
-1056372736b ./gcc/testsuite/gcc.c-torture/compile/Makefile.in
-1572386559b ./gcc/testsuite/gcc.c-torture/compile/calls.c
-2432910359b ./gcc/testsuite/gcc.c-torture/compile/cmpdi-1.c
- 614750703b ./gcc/testsuite/gcc.c-torture/compile/combine-hang.c
- 899256220b ./gcc/testsuite/gcc.c-torture/compile/compile.exp
-3759852185b ./gcc/testsuite/gcc.c-torture/compile/configure.in
-3452765233b ./gcc/testsuite/gcc.c-torture/compile/funcptr-1.c
-1935315878b ./gcc/testsuite/gcc.c-torture/compile/goto-1.c
-4225667120b ./gcc/testsuite/gcc.c-torture/compile/init-1.c
-2861967846b ./gcc/testsuite/gcc.c-torture/compile/init-2.c
-4126878501b ./gcc/testsuite/gcc.c-torture/compile/labels-1.c
-1060389673b ./gcc/testsuite/gcc.c-torture/compile/packed-1.c
-3723113555b ./gcc/testsuite/gcc.c-torture/compile/widechar-1.c
-2985433108b ./gcc/testsuite/gcc.c-torture/compile/zero-strct-1.c
- 37158978b ./gcc/testsuite/gcc.c-torture/execute/900409-1.c
-1241514475b ./gcc/testsuite/gcc.c-torture/execute/920202-1.c
-1316834301b ./gcc/testsuite/gcc.c-torture/execute/920302-1.c
-2196801137b ./gcc/testsuite/gcc.c-torture/execute/920409-1.c
-1816933206b ./gcc/testsuite/gcc.c-torture/execute/920410-1.c
-1957456510b ./gcc/testsuite/gcc.c-torture/execute/920411-1.c
-2409432960b ./gcc/testsuite/gcc.c-torture/execute/920415-1.c
- 508706990b ./gcc/testsuite/gcc.c-torture/execute/920428-1.c
- 403488708b ./gcc/testsuite/gcc.c-torture/execute/920428-2.c
-4127832878b ./gcc/testsuite/gcc.c-torture/execute/920428-2.x
- 158200597b ./gcc/testsuite/gcc.c-torture/execute/920429-1.c
-1826863267b ./gcc/testsuite/gcc.c-torture/execute/920501-1.c
-4177429300b ./gcc/testsuite/gcc.c-torture/execute/920501-2.c
-1351528020b ./gcc/testsuite/gcc.c-torture/execute/920501-3.c
- 700639089b ./gcc/testsuite/gcc.c-torture/execute/920501-4.c
-2605878168b ./gcc/testsuite/gcc.c-torture/execute/920501-5.c
-4199344202b ./gcc/testsuite/gcc.c-torture/execute/920501-6.c
-2574724540b ./gcc/testsuite/gcc.c-torture/execute/920501-7.c
-4127832878b ./gcc/testsuite/gcc.c-torture/execute/920501-7.x
-1420615555b ./gcc/testsuite/gcc.c-torture/execute/920501-8.c
-2227123057b ./gcc/testsuite/gcc.c-torture/execute/920501-9.c
-3928484317b ./gcc/testsuite/gcc.c-torture/execute/920506-1.c
-3897601778b ./gcc/testsuite/gcc.c-torture/execute/920520-1.c
-4049662034b ./gcc/testsuite/gcc.c-torture/execute/920603-1.c
-2593769598b ./gcc/testsuite/gcc.c-torture/execute/920604-1.c
-2294544032b ./gcc/testsuite/gcc.c-torture/execute/920612-1.c
-3215760341b ./gcc/testsuite/gcc.c-torture/execute/920612-2.c
- 484477154b ./gcc/testsuite/gcc.c-torture/execute/920618-1.c
- 937300795b ./gcc/testsuite/gcc.c-torture/execute/920625-1.c
-3030586241b ./gcc/testsuite/gcc.c-torture/execute/920710-1.c
-3876529175b ./gcc/testsuite/gcc.c-torture/execute/920711-1.c
- 818049019b ./gcc/testsuite/gcc.c-torture/execute/920721-1.c
-3191124720b ./gcc/testsuite/gcc.c-torture/execute/920721-2.c
-3879255001b ./gcc/testsuite/gcc.c-torture/execute/920721-3.c
-2852120360b ./gcc/testsuite/gcc.c-torture/execute/920721-4.c
- 792790044b ./gcc/testsuite/gcc.c-torture/execute/920726-1.c
-2154603996b ./gcc/testsuite/gcc.c-torture/execute/920728-1.c
-3574659813b ./gcc/testsuite/gcc.c-torture/execute/920731-1.c
-1308229799b ./gcc/testsuite/gcc.c-torture/execute/920810-1.c
- 950989321b ./gcc/testsuite/gcc.c-torture/execute/920812-1.c
-4187598456b ./gcc/testsuite/gcc.c-torture/execute/920829-1.c
- 559637020b ./gcc/testsuite/gcc.c-torture/execute/920908-1.c
-2513627586b ./gcc/testsuite/gcc.c-torture/execute/920908-2.c
-2499750871b ./gcc/testsuite/gcc.c-torture/execute/920909-1.c
- 714100171b ./gcc/testsuite/gcc.c-torture/execute/920922-1.c
-2279537940b ./gcc/testsuite/gcc.c-torture/execute/920929-1.c
- 70714742b ./gcc/testsuite/gcc.c-torture/execute/921006-1.c
- 137444921b ./gcc/testsuite/gcc.c-torture/execute/921007-1.c
-2897219149b ./gcc/testsuite/gcc.c-torture/execute/921013-1.c
-1296914634b ./gcc/testsuite/gcc.c-torture/execute/921016-1.c
- 298439993b ./gcc/testsuite/gcc.c-torture/execute/921017-1.c
-4199584647b ./gcc/testsuite/gcc.c-torture/execute/921019-1.c
-2431715965b ./gcc/testsuite/gcc.c-torture/execute/921019-2.c
-3170380362b ./gcc/testsuite/gcc.c-torture/execute/921029-1.c
- 487195362b ./gcc/testsuite/gcc.c-torture/execute/921104-1.c
-2352124020b ./gcc/testsuite/gcc.c-torture/execute/921110-1.c
- 207021478b ./gcc/testsuite/gcc.c-torture/execute/921112-1.c
- 283175496b ./gcc/testsuite/gcc.c-torture/execute/921113-1.c
-2879836698b ./gcc/testsuite/gcc.c-torture/execute/921117-1.c
- 201436377b ./gcc/testsuite/gcc.c-torture/execute/921123-1.c
-4236695419b ./gcc/testsuite/gcc.c-torture/execute/921123-2.c
- 316909011b ./gcc/testsuite/gcc.c-torture/execute/921124-1.c
-1174651166b ./gcc/testsuite/gcc.c-torture/execute/921202-1.c
-2280032251b ./gcc/testsuite/gcc.c-torture/execute/921202-2.c
-1311000952b ./gcc/testsuite/gcc.c-torture/execute/921204-1.c
-2949408934b ./gcc/testsuite/gcc.c-torture/execute/921207-1.c
- 870865911b ./gcc/testsuite/gcc.c-torture/execute/921208-1.c
-2032495193b ./gcc/testsuite/gcc.c-torture/execute/921208-2.c
- 283353483b ./gcc/testsuite/gcc.c-torture/execute/921215-1.c
- 130096086b ./gcc/testsuite/gcc.c-torture/execute/921218-1.c
-2115073235b ./gcc/testsuite/gcc.c-torture/execute/921218-2.c
-3561999462b ./gcc/testsuite/gcc.c-torture/execute/930106-1.c
-3160736499b ./gcc/testsuite/gcc.c-torture/execute/930111-1.c
-4162371994b ./gcc/testsuite/gcc.c-torture/execute/930123-1.c
-3265874780b ./gcc/testsuite/gcc.c-torture/execute/930126-1.c
-2299871172b ./gcc/testsuite/gcc.c-torture/execute/930208-1.c
-1479746588b ./gcc/testsuite/gcc.c-torture/execute/930406-1.c
-3189774734b ./gcc/testsuite/gcc.c-torture/execute/930408-1.c
-3400489427b ./gcc/testsuite/gcc.c-torture/execute/930429-1.c
-2948158283b ./gcc/testsuite/gcc.c-torture/execute/930429-2.c
-3905354169b ./gcc/testsuite/gcc.c-torture/execute/930513-1.c
-2524183853b ./gcc/testsuite/gcc.c-torture/execute/930513-2.c
-2391753101b ./gcc/testsuite/gcc.c-torture/execute/930518-1.c
- 576031745b ./gcc/testsuite/gcc.c-torture/execute/930526-1.c
- 956415563b ./gcc/testsuite/gcc.c-torture/execute/930527-1.c
-4026322841b ./gcc/testsuite/gcc.c-torture/execute/930529-1.c
- 310850888b ./gcc/testsuite/gcc.c-torture/execute/930603-1.c
- 572652809b ./gcc/testsuite/gcc.c-torture/execute/930603-2.c
-3452170691b ./gcc/testsuite/gcc.c-torture/execute/930603-3.c
- 352498879b ./gcc/testsuite/gcc.c-torture/execute/930608-1.c
-2318312710b ./gcc/testsuite/gcc.c-torture/execute/930614-1.c
- 307026414b ./gcc/testsuite/gcc.c-torture/execute/930614-2.c
- 380017129b ./gcc/testsuite/gcc.c-torture/execute/930621-1.c
- 852093434b ./gcc/testsuite/gcc.c-torture/execute/930622-1.c
-1010026580b ./gcc/testsuite/gcc.c-torture/execute/930622-2.c
-2381515578b ./gcc/testsuite/gcc.c-torture/execute/930628-1.c
-3968663339b ./gcc/testsuite/gcc.c-torture/execute/930630-1.c
-1360276333b ./gcc/testsuite/gcc.c-torture/execute/930702-1.c
-2690450552b ./gcc/testsuite/gcc.c-torture/execute/930713-1.c
-3621302381b ./gcc/testsuite/gcc.c-torture/execute/930718-1.c
-1853260970b ./gcc/testsuite/gcc.c-torture/execute/930719-1.c
-2257054643b ./gcc/testsuite/gcc.c-torture/execute/930725-1.c
-1877434408b ./gcc/testsuite/gcc.c-torture/execute/930818-1.c
-1262159860b ./gcc/testsuite/gcc.c-torture/execute/930916-1.c
-2667793229b ./gcc/testsuite/gcc.c-torture/execute/930921-1.c
-2351038398b ./gcc/testsuite/gcc.c-torture/execute/930929-1.c
-2863421839b ./gcc/testsuite/gcc.c-torture/execute/930930-1.c
- 557816592b ./gcc/testsuite/gcc.c-torture/execute/930930-2.c
-2101614510b ./gcc/testsuite/gcc.c-torture/execute/931002-1.c
-2742393702b ./gcc/testsuite/gcc.c-torture/execute/931004-1.c
-1700898376b ./gcc/testsuite/gcc.c-torture/execute/931004-10.c
- 962417771b ./gcc/testsuite/gcc.c-torture/execute/931004-11.c
-2700865821b ./gcc/testsuite/gcc.c-torture/execute/931004-12.c
-3436458492b ./gcc/testsuite/gcc.c-torture/execute/931004-13.c
-4127270352b ./gcc/testsuite/gcc.c-torture/execute/931004-14.c
- 346996272b ./gcc/testsuite/gcc.c-torture/execute/931004-2.c
-1206221721b ./gcc/testsuite/gcc.c-torture/execute/931004-3.c
-3166093368b ./gcc/testsuite/gcc.c-torture/execute/931004-4.c
-1452916171b ./gcc/testsuite/gcc.c-torture/execute/931004-5.c
-2022610295b ./gcc/testsuite/gcc.c-torture/execute/931004-6.c
-2036744892b ./gcc/testsuite/gcc.c-torture/execute/931004-7.c
-1586770276b ./gcc/testsuite/gcc.c-torture/execute/931004-8.c
-3369996669b ./gcc/testsuite/gcc.c-torture/execute/931004-9.c
-3731237663b ./gcc/testsuite/gcc.c-torture/execute/931005-1.c
-3432311031b ./gcc/testsuite/gcc.c-torture/execute/931009-1.c
-1834388885b ./gcc/testsuite/gcc.c-torture/execute/931012-1.c
-2534034619b ./gcc/testsuite/gcc.c-torture/execute/931017-1.c
-1276641076b ./gcc/testsuite/gcc.c-torture/execute/931018-1.c
-3825241545b ./gcc/testsuite/gcc.c-torture/execute/931031-1.c
-1877484625b ./gcc/testsuite/gcc.c-torture/execute/931102-1.c
-3927915289b ./gcc/testsuite/gcc.c-torture/execute/931102-2.c
- 480430370b ./gcc/testsuite/gcc.c-torture/execute/931110-1.c
-3822785940b ./gcc/testsuite/gcc.c-torture/execute/931110-2.c
- 967340546b ./gcc/testsuite/gcc.c-torture/execute/931208-1.c
-2682740818b ./gcc/testsuite/gcc.c-torture/execute/931228-1.c
-2017170797b ./gcc/testsuite/gcc.c-torture/execute/940115-1.c
- 82400069b ./gcc/testsuite/gcc.c-torture/execute/940122-1.c
-4235476365b ./gcc/testsuite/gcc.c-torture/execute/941014-1.c
- 645804174b ./gcc/testsuite/gcc.c-torture/execute/941014-1.x
-1977507646b ./gcc/testsuite/gcc.c-torture/execute/941014-2.c
- 310736147b ./gcc/testsuite/gcc.c-torture/execute/941015-1.c
-1318043175b ./gcc/testsuite/gcc.c-torture/execute/941021-1.c
-3185365004b ./gcc/testsuite/gcc.c-torture/execute/941025-1.c
- 678677907b ./gcc/testsuite/gcc.c-torture/execute/941031-1.c
-3905782643b ./gcc/testsuite/gcc.c-torture/execute/941101-1.c
-1810551831b ./gcc/testsuite/gcc.c-torture/execute/941110-1.c
-3428057334b ./gcc/testsuite/gcc.c-torture/execute/941202-1.c
-3908063718b ./gcc/testsuite/gcc.c-torture/execute/950221-1.c
-1873160895b ./gcc/testsuite/gcc.c-torture/execute/950322-1.c
-1672610716b ./gcc/testsuite/gcc.c-torture/execute/950426-1.c
-3465653006b ./gcc/testsuite/gcc.c-torture/execute/950426-2.c
-3696703975b ./gcc/testsuite/gcc.c-torture/execute/950503-1.c
-1556250294b ./gcc/testsuite/gcc.c-torture/execute/950511-1.c
-2857896870b ./gcc/testsuite/gcc.c-torture/execute/950512-1.c
- 114570668b ./gcc/testsuite/gcc.c-torture/execute/950605-1.c
-2991280268b ./gcc/testsuite/gcc.c-torture/execute/950607-1.c
- 437837801b ./gcc/testsuite/gcc.c-torture/execute/950607-2.c
-3950265298b ./gcc/testsuite/gcc.c-torture/execute/950612-1.c
-1778400537b ./gcc/testsuite/gcc.c-torture/execute/950621-1.c
-2070936302b ./gcc/testsuite/gcc.c-torture/execute/950628-1.c
-3165536281b ./gcc/testsuite/gcc.c-torture/execute/950704-1.c
-2486390814b ./gcc/testsuite/gcc.c-torture/execute/950706-1.c
-1322454782b ./gcc/testsuite/gcc.c-torture/execute/950710-1.c
-4241980915b ./gcc/testsuite/gcc.c-torture/execute/950714-1.c
-3308590304b ./gcc/testsuite/gcc.c-torture/execute/950809-1.c
-4154904713b ./gcc/testsuite/gcc.c-torture/execute/950906-1.c
-1101166652b ./gcc/testsuite/gcc.c-torture/execute/950915-1.c
- 24392721b ./gcc/testsuite/gcc.c-torture/execute/950929-1.c
-1234781098b ./gcc/testsuite/gcc.c-torture/execute/951003-1.c
-3737612481b ./gcc/testsuite/gcc.c-torture/execute/951115-1.c
-2658922424b ./gcc/testsuite/gcc.c-torture/execute/951204-1.c
-3956410619b ./gcc/testsuite/gcc.c-torture/execute/960116-1.c
-2093624467b ./gcc/testsuite/gcc.c-torture/execute/960117-1.c
-1694357534b ./gcc/testsuite/gcc.c-torture/execute/960209-1.c
-1952007331b ./gcc/testsuite/gcc.c-torture/execute/960215-1.c
- 60263952b ./gcc/testsuite/gcc.c-torture/execute/960218-1.c
-1161569283b ./gcc/testsuite/gcc.c-torture/execute/960219-1.c
-3429934900b ./gcc/testsuite/gcc.c-torture/execute/960301-1.c
- 160802950b ./gcc/testsuite/gcc.c-torture/execute/960302-1.c
-2772979130b ./gcc/testsuite/gcc.c-torture/execute/960311-1.c
-1259407124b ./gcc/testsuite/gcc.c-torture/execute/960311-2.c
-3608527152b ./gcc/testsuite/gcc.c-torture/execute/960311-3.c
-2087520542b ./gcc/testsuite/gcc.c-torture/execute/960312-1.c
-1208600766b ./gcc/testsuite/gcc.c-torture/execute/960317-1.c
-1889026562b ./gcc/testsuite/gcc.c-torture/execute/960321-1.c
- 271449701b ./gcc/testsuite/gcc.c-torture/execute/960326-1.c
-3835685337b ./gcc/testsuite/gcc.c-torture/execute/960327-1.c
-2463095434b ./gcc/testsuite/gcc.c-torture/execute/960402-1.c
-3079720318b ./gcc/testsuite/gcc.c-torture/execute/960405-1.c
-4251399269b ./gcc/testsuite/gcc.c-torture/execute/960416-1.c
-2014388579b ./gcc/testsuite/gcc.c-torture/execute/960419-1.c
- 235840907b ./gcc/testsuite/gcc.c-torture/execute/960419-2.c
-4266479970b ./gcc/testsuite/gcc.c-torture/execute/960512-1.c
-3785913788b ./gcc/testsuite/gcc.c-torture/execute/960513-1.c
- 488880971b ./gcc/testsuite/gcc.c-torture/execute/960521-1.c
-2321951599b ./gcc/testsuite/gcc.c-torture/execute/960608-1.c
-4052360482b ./gcc/testsuite/gcc.c-torture/execute/960801-1.c
-2655742085b ./gcc/testsuite/gcc.c-torture/execute/960802-1.c
- 135771086b ./gcc/testsuite/gcc.c-torture/execute/960830-1.c
-2582740546b ./gcc/testsuite/gcc.c-torture/execute/960909-1.c
-1944495033b ./gcc/testsuite/gcc.c-torture/execute/961004-1.c
- 658313774b ./gcc/testsuite/gcc.c-torture/execute/961017-1.c
- 785421501b ./gcc/testsuite/gcc.c-torture/execute/961017-2.c
-2852845535b ./gcc/testsuite/gcc.c-torture/execute/961026-1.c
-2375210094b ./gcc/testsuite/gcc.c-torture/execute/961112-1.c
-2553026408b ./gcc/testsuite/gcc.c-torture/execute/961122-1.c
-2422282222b ./gcc/testsuite/gcc.c-torture/execute/961122-2.c
-3575956796b ./gcc/testsuite/gcc.c-torture/execute/961125-1.c
- 577488172b ./gcc/testsuite/gcc.c-torture/execute/961206-1.c
-1182447544b ./gcc/testsuite/gcc.c-torture/execute/961213-1.c
-2704046666b ./gcc/testsuite/gcc.c-torture/execute/961223-1.c
-1973936950b ./gcc/testsuite/gcc.c-torture/execute/970214-1.c
-1571629264b ./gcc/testsuite/gcc.c-torture/execute/970214-2.c
- 167780433b ./gcc/testsuite/gcc.c-torture/execute/970217-1.c
-4016044726b ./gcc/testsuite/gcc.c-torture/execute/970312-1.c
-2343108590b ./gcc/testsuite/gcc.c-torture/execute/970923-1.c
-2894602056b ./gcc/testsuite/gcc.c-torture/execute/980205.c
-3277310074b ./gcc/testsuite/gcc.c-torture/execute/980223.c
-1143734080b ./gcc/testsuite/gcc.c-torture/execute/980424-1.c
-3704443102b ./gcc/testsuite/gcc.c-torture/execute/980505-1.c
-2419800133b ./gcc/testsuite/gcc.c-torture/execute/980505-2.c
-1955794056b ./gcc/testsuite/gcc.c-torture/execute/980506-1.c
-2173791379b ./gcc/testsuite/gcc.c-torture/execute/980506-2.c
- 492472793b ./gcc/testsuite/gcc.c-torture/execute/980506-3.c
-3939060245b ./gcc/testsuite/gcc.c-torture/execute/980526-1.c
-1183240780b ./gcc/testsuite/gcc.c-torture/execute/980526-2.c
- 798626284b ./gcc/testsuite/gcc.c-torture/execute/980526-3.c
- 686935511b ./gcc/testsuite/gcc.c-torture/execute/980602-1.c
- 148166585b ./gcc/testsuite/gcc.c-torture/execute/980602-2.c
-2555041864b ./gcc/testsuite/gcc.c-torture/execute/980604-1.c
-2921367481b ./gcc/testsuite/gcc.c-torture/execute/980605-1.c
- 327024946b ./gcc/testsuite/gcc.c-torture/execute/980608-1.c
- 636602589b ./gcc/testsuite/gcc.c-torture/execute/980612-1.c
-1796014237b ./gcc/testsuite/gcc.c-torture/execute/980617-1.c
-1416887007b ./gcc/testsuite/gcc.c-torture/execute/980618-1.c
-3252251770b ./gcc/testsuite/gcc.c-torture/execute/980701-1.c
-2524223611b ./gcc/testsuite/gcc.c-torture/execute/980707-1.c
-3327976229b ./gcc/testsuite/gcc.c-torture/execute/980709-1.c
-1464453071b ./gcc/testsuite/gcc.c-torture/execute/980716-1.c
-1144140014b ./gcc/testsuite/gcc.c-torture/execute/980929-1.c
-2567595595b ./gcc/testsuite/gcc.c-torture/execute/981001-1.c
-1496092063b ./gcc/testsuite/gcc.c-torture/execute/981019-1.c
-1493534646b ./gcc/testsuite/gcc.c-torture/execute/981130-1.c
- 296945303b ./gcc/testsuite/gcc.c-torture/execute/981130-1.x
-2098827021b ./gcc/testsuite/gcc.c-torture/execute/981206-1.c
- 785276758b ./gcc/testsuite/gcc.c-torture/execute/990106-1.c
-1458926953b ./gcc/testsuite/gcc.c-torture/execute/990106-2.c
-1443443587b ./gcc/testsuite/gcc.c-torture/execute/990117-1.c
- 98144727b ./gcc/testsuite/gcc.c-torture/execute/990127-1.c
-4206968879b ./gcc/testsuite/gcc.c-torture/execute/990127-2.c
-1805424399b ./gcc/testsuite/gcc.c-torture/execute/990128-1.c
-1406479809b ./gcc/testsuite/gcc.c-torture/execute/990130-1.c
- 740958395b ./gcc/testsuite/gcc.c-torture/execute/990208-1.c
-1910322968b ./gcc/testsuite/gcc.c-torture/execute/990211-1.c
-2520747136b ./gcc/testsuite/gcc.c-torture/execute/990222-1.c
-4167898413b ./gcc/testsuite/gcc.c-torture/execute/990324-1.c
-1316369295b ./gcc/testsuite/gcc.c-torture/execute/990326-1.c
-2237806705b ./gcc/testsuite/gcc.c-torture/execute/990404-1.c
-3506652867b ./gcc/testsuite/gcc.c-torture/execute/990413-2.c
-1028733236b ./gcc/testsuite/gcc.c-torture/execute/990413-2.x
- 533594278b ./gcc/testsuite/gcc.c-torture/execute/990513-1.c
-1056372736b ./gcc/testsuite/gcc.c-torture/execute/Makefile.in
-1605923399b ./gcc/testsuite/gcc.c-torture/execute/arith-1.c
- 343449147b ./gcc/testsuite/gcc.c-torture/execute/arith-rand.c
-1635107108b ./gcc/testsuite/gcc.c-torture/execute/bcp-1.c
-2311291194b ./gcc/testsuite/gcc.c-torture/execute/bf-layout-1.c
-2757361338b ./gcc/testsuite/gcc.c-torture/execute/bf-pack-1.c
-3543906045b ./gcc/testsuite/gcc.c-torture/execute/bf-sign-1.c
-3215260205b ./gcc/testsuite/gcc.c-torture/execute/bf-sign-2.c
- 323354359b ./gcc/testsuite/gcc.c-torture/execute/bf64-1.c
-2177138525b ./gcc/testsuite/gcc.c-torture/execute/cbrt.c
-2994579909b ./gcc/testsuite/gcc.c-torture/execute/cmpdi-1.c
-3257252249b ./gcc/testsuite/gcc.c-torture/execute/cmpsi-1.c
-1843249920b ./gcc/testsuite/gcc.c-torture/execute/comp-goto-1.c
- 760972136b ./gcc/testsuite/gcc.c-torture/execute/complex-1.c
-3034158014b ./gcc/testsuite/gcc.c-torture/execute/complex-2.c
- 478689052b ./gcc/testsuite/gcc.c-torture/execute/complex-3.c
- 662396237b ./gcc/testsuite/gcc.c-torture/execute/complex-4.c
-1022468052b ./gcc/testsuite/gcc.c-torture/execute/complex-5.c
-1079537985b ./gcc/testsuite/gcc.c-torture/execute/compndlit-1.c
-1017021519b ./gcc/testsuite/gcc.c-torture/execute/configure.in
- 372415469b ./gcc/testsuite/gcc.c-torture/execute/conversion.c
-1567261582b ./gcc/testsuite/gcc.c-torture/execute/cvt-1.c
- 732726874b ./gcc/testsuite/gcc.c-torture/execute/cvt-1.x
-1037739064b ./gcc/testsuite/gcc.c-torture/execute/dbra-1.c
-3567725587b ./gcc/testsuite/gcc.c-torture/execute/divconst-1.c
- 823620795b ./gcc/testsuite/gcc.c-torture/execute/divconst-2.c
- 506840532b ./gcc/testsuite/gcc.c-torture/execute/divconst-3.c
-3942801323b ./gcc/testsuite/gcc.c-torture/execute/divmod-1.c
-1886321368b ./gcc/testsuite/gcc.c-torture/execute/enum-1.c
- 236592428b ./gcc/testsuite/gcc.c-torture/execute/execute.exp
- 155906334b ./gcc/testsuite/gcc.c-torture/execute/func-ptr-1.c
-1157816092b ./gcc/testsuite/gcc.c-torture/execute/gofast.c
-2046772610b ./gcc/testsuite/gcc.c-torture/execute/ieee/920518-1.c
-3673851898b ./gcc/testsuite/gcc.c-torture/execute/ieee/920810-1.c
-1813910189b ./gcc/testsuite/gcc.c-torture/execute/ieee/930529-1.c
- 73602629b ./gcc/testsuite/gcc.c-torture/execute/ieee/980619-1.c
-1789604065b ./gcc/testsuite/gcc.c-torture/execute/ieee/980619-1.x
-1056372736b ./gcc/testsuite/gcc.c-torture/execute/ieee/Makefile.in
-1017021519b ./gcc/testsuite/gcc.c-torture/execute/ieee/configure.in
-1371024202b ./gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-1.c
- 833270575b ./gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp
-4017678214b ./gcc/testsuite/gcc.c-torture/execute/ieee/minuszero.c
-3545392440b ./gcc/testsuite/gcc.c-torture/execute/ieee/mzero2.c
-2018523879b ./gcc/testsuite/gcc.c-torture/execute/ieee/rbug.c
-2552703540b ./gcc/testsuite/gcc.c-torture/execute/ieee/rbug.x
- 287394580b ./gcc/testsuite/gcc.c-torture/execute/index-1.c
-3728840213b ./gcc/testsuite/gcc.c-torture/execute/inst-check.c
-2015511278b ./gcc/testsuite/gcc.c-torture/execute/int-compare.c
-2701191371b ./gcc/testsuite/gcc.c-torture/execute/loop-1.c
- 869002341b ./gcc/testsuite/gcc.c-torture/execute/loop-2.c
-3443893179b ./gcc/testsuite/gcc.c-torture/execute/loop-2b.c
- 153943550b ./gcc/testsuite/gcc.c-torture/execute/loop-2c.c
- 720145550b ./gcc/testsuite/gcc.c-torture/execute/loop-2d.c
-2058046897b ./gcc/testsuite/gcc.c-torture/execute/loop-2e.c
-3280299116b ./gcc/testsuite/gcc.c-torture/execute/loop-2e.x
-1291794748b ./gcc/testsuite/gcc.c-torture/execute/loop-2f.c
-3280299116b ./gcc/testsuite/gcc.c-torture/execute/loop-2f.x
- 661111306b ./gcc/testsuite/gcc.c-torture/execute/loop-2g.c
-3280299116b ./gcc/testsuite/gcc.c-torture/execute/loop-2g.x
-3620613760b ./gcc/testsuite/gcc.c-torture/execute/loop-3.c
-4068453712b ./gcc/testsuite/gcc.c-torture/execute/loop-3b.c
-2778041526b ./gcc/testsuite/gcc.c-torture/execute/loop-3c.c
-3316778727b ./gcc/testsuite/gcc.c-torture/execute/loop-4.c
-1791416082b ./gcc/testsuite/gcc.c-torture/execute/loop-4b.c
-4193598129b ./gcc/testsuite/gcc.c-torture/execute/memcheck/blkarg.c
-2993158282b ./gcc/testsuite/gcc.c-torture/execute/memcheck/blkarg.x
- 796602767b ./gcc/testsuite/gcc.c-torture/execute/memcheck/driver.c
-3941746222b ./gcc/testsuite/gcc.c-torture/execute/memcheck/driver.h
-1927715537b ./gcc/testsuite/gcc.c-torture/execute/memcheck/memcheck.exp
- 264725139b ./gcc/testsuite/gcc.c-torture/execute/memcheck/t1.c
-1882816663b ./gcc/testsuite/gcc.c-torture/execute/memcheck/t2.c
-2034083433b ./gcc/testsuite/gcc.c-torture/execute/memcheck/t3.c
-3207311191b ./gcc/testsuite/gcc.c-torture/execute/memcheck/t4.c
-1181409068b ./gcc/testsuite/gcc.c-torture/execute/memcheck/t5.c
-4116250117b ./gcc/testsuite/gcc.c-torture/execute/memcheck/t6.c
-2249979756b ./gcc/testsuite/gcc.c-torture/execute/memcheck/t7.c
-3477620501b ./gcc/testsuite/gcc.c-torture/execute/memcheck/t8.c
-3155991726b ./gcc/testsuite/gcc.c-torture/execute/memcheck/t9.c
-1880832802b ./gcc/testsuite/gcc.c-torture/execute/memcheck/template
-1655048971b ./gcc/testsuite/gcc.c-torture/execute/memcpy-1.c
-1198957866b ./gcc/testsuite/gcc.c-torture/execute/memcpy-bi.c
-1146723390b ./gcc/testsuite/gcc.c-torture/execute/mod-1.c
- 462740811b ./gcc/testsuite/gcc.c-torture/execute/nest-stdar-1.c
- 843122257b ./gcc/testsuite/gcc.c-torture/execute/nestfunc-1.c
-1347988605b ./gcc/testsuite/gcc.c-torture/execute/packed-1.c
- 781350511b ./gcc/testsuite/gcc.c-torture/execute/pending-4.c
-1246182987b ./gcc/testsuite/gcc.c-torture/execute/ptr-arith-1.c
- 146053249b ./gcc/testsuite/gcc.c-torture/execute/regstack-1.c
-1827676873b ./gcc/testsuite/gcc.c-torture/execute/scope-1.c
- 990025742b ./gcc/testsuite/gcc.c-torture/execute/scope-2.c
-4127514660b ./gcc/testsuite/gcc.c-torture/execute/strct-pack-1.c
-2567091361b ./gcc/testsuite/gcc.c-torture/execute/strct-pack-2.c
-3788900866b ./gcc/testsuite/gcc.c-torture/execute/strct-pack-3.c
-3787465303b ./gcc/testsuite/gcc.c-torture/execute/strct-pack-4.c
-2204360040b ./gcc/testsuite/gcc.c-torture/execute/strct-stdarg-1.c
-3638595647b ./gcc/testsuite/gcc.c-torture/execute/strct-varg-1.c
-2424749175b ./gcc/testsuite/gcc.c-torture/execute/strct-varg-1.x
-2234035225b ./gcc/testsuite/gcc.c-torture/execute/struct-ini-1.c
-1176467633b ./gcc/testsuite/gcc.c-torture/execute/struct-ini-2.c
-2162338370b ./gcc/testsuite/gcc.c-torture/execute/struct-ini-3.c
-3372312182b ./gcc/testsuite/gcc.c-torture/execute/struct-ini-4.c
-1924491577b ./gcc/testsuite/gcc.c-torture/execute/struct-ret-1.c
-2222062805b ./gcc/testsuite/gcc.c-torture/execute/struct-ret-2.c
-2658407134b ./gcc/testsuite/gcc.c-torture/execute/tstdi-1.c
-4100317579b ./gcc/testsuite/gcc.c-torture/execute/va-arg-1.c
-3898927180b ./gcc/testsuite/gcc.c-torture/execute/va-arg-2.c
-3316575978b ./gcc/testsuite/gcc.c-torture/execute/va-arg-3.c
-2693536633b ./gcc/testsuite/gcc.c-torture/execute/va-arg-3.x
- 839866355b ./gcc/testsuite/gcc.c-torture/execute/va-arg-4.c
-1210036672b ./gcc/testsuite/gcc.c-torture/execute/va-arg-5.c
- 365894168b ./gcc/testsuite/gcc.c-torture/execute/va-arg-6.c
- 529327846b ./gcc/testsuite/gcc.c-torture/execute/widechar-1.c
-1543279398b ./gcc/testsuite/gcc.c-torture/noncompile/920507-1.c
-3650304263b ./gcc/testsuite/gcc.c-torture/noncompile/920616-2.c
-4044307120b ./gcc/testsuite/gcc.c-torture/noncompile/920721-2.c
-1453811611b ./gcc/testsuite/gcc.c-torture/noncompile/920824-1.c
-4255333443b ./gcc/testsuite/gcc.c-torture/noncompile/920923-1.c
-3077957205b ./gcc/testsuite/gcc.c-torture/noncompile/921102-1.c
-4008916976b ./gcc/testsuite/gcc.c-torture/noncompile/921116-1.c
- 947800998b ./gcc/testsuite/gcc.c-torture/noncompile/930301-1.c
-3822191848b ./gcc/testsuite/gcc.c-torture/noncompile/930622-1.c
- 625873014b ./gcc/testsuite/gcc.c-torture/noncompile/930622-2.c
-3759385305b ./gcc/testsuite/gcc.c-torture/noncompile/930714-1.c
- 356271944b ./gcc/testsuite/gcc.c-torture/noncompile/931203-1.c
- 685464334b ./gcc/testsuite/gcc.c-torture/noncompile/940112-1.c
- 93381158b ./gcc/testsuite/gcc.c-torture/noncompile/940227-1.c
-4153659661b ./gcc/testsuite/gcc.c-torture/noncompile/940510-1.c
-1168295330b ./gcc/testsuite/gcc.c-torture/noncompile/940712-1.c
-3911462043b ./gcc/testsuite/gcc.c-torture/noncompile/940712-1.h
-1310331126b ./gcc/testsuite/gcc.c-torture/noncompile/940712-1a.h
-1255987496b ./gcc/testsuite/gcc.c-torture/noncompile/940712-1b.h
-1085128955b ./gcc/testsuite/gcc.c-torture/noncompile/950825-1.c
-2496960383b ./gcc/testsuite/gcc.c-torture/noncompile/950921-1.c
-4102535979b ./gcc/testsuite/gcc.c-torture/noncompile/951025-1.c
-1400109676b ./gcc/testsuite/gcc.c-torture/noncompile/951123-1.c
-3027807434b ./gcc/testsuite/gcc.c-torture/noncompile/951227-1.c
-2303904728b ./gcc/testsuite/gcc.c-torture/noncompile/971104-1.c
-3820778242b ./gcc/testsuite/gcc.c-torture/noncompile/990416-1.c
-1056372736b ./gcc/testsuite/gcc.c-torture/noncompile/Makefile.in
-1432435957b ./gcc/testsuite/gcc.c-torture/noncompile/configure.in
- 773573222b ./gcc/testsuite/gcc.c-torture/noncompile/init-1.c
-1020839285b ./gcc/testsuite/gcc.c-torture/noncompile/init-2.c
- 268112332b ./gcc/testsuite/gcc.c-torture/noncompile/invalid_asm.c
- 801413324b ./gcc/testsuite/gcc.c-torture/noncompile/noncompile.exp
-1284647040b ./gcc/testsuite/gcc.c-torture/noncompile/va-arg-1.c
-2260536640b ./gcc/testsuite/gcc.c-torture/special/920413-1.c
-1332166500b ./gcc/testsuite/gcc.c-torture/special/920520-1.c
- 901366109b ./gcc/testsuite/gcc.c-torture/special/920521-1.c
-2071381157b ./gcc/testsuite/gcc.c-torture/special/920717-x.c
-3975807378b ./gcc/testsuite/gcc.c-torture/special/920717-y.c
-1933761042b ./gcc/testsuite/gcc.c-torture/special/920730-1.c
-4189760101b ./gcc/testsuite/gcc.c-torture/special/921210-1.c
-4184436334b ./gcc/testsuite/gcc.c-torture/special/930510-1.c
-2431281971b ./gcc/testsuite/gcc.c-torture/special/951130-1.c
-1270324415b ./gcc/testsuite/gcc.c-torture/special/960224-1.c
- 488141683b ./gcc/testsuite/gcc.c-torture/special/960224-2.c
-2455813842b ./gcc/testsuite/gcc.c-torture/special/981006-1.c
-1056372736b ./gcc/testsuite/gcc.c-torture/special/Makefile.in
-2102306516b ./gcc/testsuite/gcc.c-torture/special/configure.in
-1808173474b ./gcc/testsuite/gcc.c-torture/special/eeprof-1.c
-1171750514b ./gcc/testsuite/gcc.c-torture/special/special.exp
- 634421910b ./gcc/testsuite/gcc.c-torture/unsorted/386.c
-2512826658b ./gcc/testsuite/gcc.c-torture/unsorted/86.c
-1577087180b ./gcc/testsuite/gcc.c-torture/unsorted/BUG1.c
-2930337150b ./gcc/testsuite/gcc.c-torture/unsorted/BUG11.c
- 645328736b ./gcc/testsuite/gcc.c-torture/unsorted/BUG12.c
-3447791606b ./gcc/testsuite/gcc.c-torture/unsorted/BUG13.c
-1345083343b ./gcc/testsuite/gcc.c-torture/unsorted/BUG16.c
-2211699544b ./gcc/testsuite/gcc.c-torture/unsorted/BUG17.c
-3824994911b ./gcc/testsuite/gcc.c-torture/unsorted/BUG18.c
-3618943848b ./gcc/testsuite/gcc.c-torture/unsorted/BUG2.c
-2177082003b ./gcc/testsuite/gcc.c-torture/unsorted/BUG21.c
-1740665759b ./gcc/testsuite/gcc.c-torture/unsorted/BUG22.c
-4075155387b ./gcc/testsuite/gcc.c-torture/unsorted/BUG23.c
-3968893634b ./gcc/testsuite/gcc.c-torture/unsorted/BUG24.c
- 459689731b ./gcc/testsuite/gcc.c-torture/unsorted/BUG25.c
- 474328818b ./gcc/testsuite/gcc.c-torture/unsorted/BUG3.c
-1462112702b ./gcc/testsuite/gcc.c-torture/unsorted/BUG4.c
-3140531389b ./gcc/testsuite/gcc.c-torture/unsorted/BUG5.c
- 460917160b ./gcc/testsuite/gcc.c-torture/unsorted/BUG6.c
- 305442480b ./gcc/testsuite/gcc.c-torture/unsorted/DFcmp.c
-4088813022b ./gcc/testsuite/gcc.c-torture/unsorted/HIcmp.c
-2060643608b ./gcc/testsuite/gcc.c-torture/unsorted/HIset.c
-1056372736b ./gcc/testsuite/gcc.c-torture/unsorted/Makefile.in
-2603570420b ./gcc/testsuite/gcc.c-torture/unsorted/PYRBUG.c
- 839150718b ./gcc/testsuite/gcc.c-torture/unsorted/QIcmp.c
-2111121086b ./gcc/testsuite/gcc.c-torture/unsorted/QIset.c
-1791217871b ./gcc/testsuite/gcc.c-torture/unsorted/SFset.c
-3855537843b ./gcc/testsuite/gcc.c-torture/unsorted/SIcmp.c
-2010223878b ./gcc/testsuite/gcc.c-torture/unsorted/SIset.c
- 367886956b ./gcc/testsuite/gcc.c-torture/unsorted/UHIcmp.c
-3380740291b ./gcc/testsuite/gcc.c-torture/unsorted/UQIcmp.c
-3065994513b ./gcc/testsuite/gcc.c-torture/unsorted/USIcmp.c
- 51945996b ./gcc/testsuite/gcc.c-torture/unsorted/a.c
-2687046562b ./gcc/testsuite/gcc.c-torture/unsorted/a1.c
-3122819825b ./gcc/testsuite/gcc.c-torture/unsorted/a3.c
-1430858172b ./gcc/testsuite/gcc.c-torture/unsorted/aa.c
-1905897475b ./gcc/testsuite/gcc.c-torture/unsorted/aaa.c
-2128951928b ./gcc/testsuite/gcc.c-torture/unsorted/abs.c
-4087775597b ./gcc/testsuite/gcc.c-torture/unsorted/ac.c
-4108214922b ./gcc/testsuite/gcc.c-torture/unsorted/acc.c
-1561010997b ./gcc/testsuite/gcc.c-torture/unsorted/add.c
- 178238083b ./gcc/testsuite/gcc.c-torture/unsorted/add386.c
- 425148131b ./gcc/testsuite/gcc.c-torture/unsorted/addcc.c
-1010727230b ./gcc/testsuite/gcc.c-torture/unsorted/andm.c
-1804826393b ./gcc/testsuite/gcc.c-torture/unsorted/andmem.c
-1939054464b ./gcc/testsuite/gcc.c-torture/unsorted/andn.c
- 958534456b ./gcc/testsuite/gcc.c-torture/unsorted/andok.c
-4100679649b ./gcc/testsuite/gcc.c-torture/unsorted/andsi.c
-1812217387b ./gcc/testsuite/gcc.c-torture/unsorted/andsparc.c
-1261488553b ./gcc/testsuite/gcc.c-torture/unsorted/aos.c
-3358660284b ./gcc/testsuite/gcc.c-torture/unsorted/arr.c
- 529589500b ./gcc/testsuite/gcc.c-torture/unsorted/as.c
-2341774096b ./gcc/testsuite/gcc.c-torture/unsorted/ase.c
-3604241750b ./gcc/testsuite/gcc.c-torture/unsorted/b.c
- 278197700b ./gcc/testsuite/gcc.c-torture/unsorted/b1.c
-1838022421b ./gcc/testsuite/gcc.c-torture/unsorted/b2.c
-1297638431b ./gcc/testsuite/gcc.c-torture/unsorted/b3.c
- 98906803b ./gcc/testsuite/gcc.c-torture/unsorted/b88.c
-4166624962b ./gcc/testsuite/gcc.c-torture/unsorted/bad.c
- 909355576b ./gcc/testsuite/gcc.c-torture/unsorted/band.c
- 782217635b ./gcc/testsuite/gcc.c-torture/unsorted/bb0.c
- 104727600b ./gcc/testsuite/gcc.c-torture/unsorted/bb1.c
-2113129899b ./gcc/testsuite/gcc.c-torture/unsorted/bbb.c
-2670310529b ./gcc/testsuite/gcc.c-torture/unsorted/bc.c
-3572510195b ./gcc/testsuite/gcc.c-torture/unsorted/bcopy.c
-2685623920b ./gcc/testsuite/gcc.c-torture/unsorted/bf.c
-1825505370b ./gcc/testsuite/gcc.c-torture/unsorted/bfins.c
-3222678366b ./gcc/testsuite/gcc.c-torture/unsorted/bfx.c
-1818008243b ./gcc/testsuite/gcc.c-torture/unsorted/bge.c
-1169896684b ./gcc/testsuite/gcc.c-torture/unsorted/bit.c
-4267772046b ./gcc/testsuite/gcc.c-torture/unsorted/bitf.c
-1244917866b ./gcc/testsuite/gcc.c-torture/unsorted/bitw.c
-3205164461b ./gcc/testsuite/gcc.c-torture/unsorted/blk.c
-3879987638b ./gcc/testsuite/gcc.c-torture/unsorted/bt.c
-3930520391b ./gcc/testsuite/gcc.c-torture/unsorted/bt386.c
-2778832219b ./gcc/testsuite/gcc.c-torture/unsorted/bug.c
- 909529146b ./gcc/testsuite/gcc.c-torture/unsorted/bugc.c
-3859987766b ./gcc/testsuite/gcc.c-torture/unsorted/buns.c
-2981977682b ./gcc/testsuite/gcc.c-torture/unsorted/bx.c
-3780608001b ./gcc/testsuite/gcc.c-torture/unsorted/c.c
-3824196498b ./gcc/testsuite/gcc.c-torture/unsorted/c1.c
-3656093116b ./gcc/testsuite/gcc.c-torture/unsorted/c2.c
-3818633964b ./gcc/testsuite/gcc.c-torture/unsorted/call.c
-3745915003b ./gcc/testsuite/gcc.c-torture/unsorted/call386.c
-3496796739b ./gcc/testsuite/gcc.c-torture/unsorted/callind.c
- 162598922b ./gcc/testsuite/gcc.c-torture/unsorted/cc.c
-2143288465b ./gcc/testsuite/gcc.c-torture/unsorted/charmtst.c
-1855363258b ./gcc/testsuite/gcc.c-torture/unsorted/cmb.c
-1285046858b ./gcc/testsuite/gcc.c-torture/unsorted/cmp.c
-1423312127b ./gcc/testsuite/gcc.c-torture/unsorted/cmphi.c
-2318993881b ./gcc/testsuite/gcc.c-torture/unsorted/cmpsi386.c
-4235211728b ./gcc/testsuite/gcc.c-torture/unsorted/cmul.c
- 854170788b ./gcc/testsuite/gcc.c-torture/unsorted/cn1.c
- 935857365b ./gcc/testsuite/gcc.c-torture/unsorted/comb.c
-1782814739b ./gcc/testsuite/gcc.c-torture/unsorted/configure.in
-1810135123b ./gcc/testsuite/gcc.c-torture/unsorted/consec.c
- 181790131b ./gcc/testsuite/gcc.c-torture/unsorted/const.c
-2353636753b ./gcc/testsuite/gcc.c-torture/unsorted/conv.c
-3252387675b ./gcc/testsuite/gcc.c-torture/unsorted/conv_tst.c
-2280634062b ./gcc/testsuite/gcc.c-torture/unsorted/cp.c
-1738381851b ./gcc/testsuite/gcc.c-torture/unsorted/csebug.c
-1464956912b ./gcc/testsuite/gcc.c-torture/unsorted/cvt.c
-3440041653b ./gcc/testsuite/gcc.c-torture/unsorted/d.c
-3851183583b ./gcc/testsuite/gcc.c-torture/unsorted/dbl_parm.c
- 606535868b ./gcc/testsuite/gcc.c-torture/unsorted/dblbug.c
-2925438011b ./gcc/testsuite/gcc.c-torture/unsorted/ddd.c
-2791348449b ./gcc/testsuite/gcc.c-torture/unsorted/dead.c
- 609366019b ./gcc/testsuite/gcc.c-torture/unsorted/delay.c
-3029371757b ./gcc/testsuite/gcc.c-torture/unsorted/di.c
- 420255576b ./gcc/testsuite/gcc.c-torture/unsorted/dic.c
- 716977667b ./gcc/testsuite/gcc.c-torture/unsorted/dilayout.c
-1071957355b ./gcc/testsuite/gcc.c-torture/unsorted/dimove.c
- 163894537b ./gcc/testsuite/gcc.c-torture/unsorted/dimul.c
-1962021495b ./gcc/testsuite/gcc.c-torture/unsorted/div.c
-1911882561b ./gcc/testsuite/gcc.c-torture/unsorted/divdf.c
-3643811739b ./gcc/testsuite/gcc.c-torture/unsorted/dm.c
-3366321383b ./gcc/testsuite/gcc.c-torture/unsorted/dshift.c
- 691935419b ./gcc/testsuite/gcc.c-torture/unsorted/e.c
-3422715387b ./gcc/testsuite/gcc.c-torture/unsorted/ex.c
-3295431583b ./gcc/testsuite/gcc.c-torture/unsorted/ext.c
-3418757365b ./gcc/testsuite/gcc.c-torture/unsorted/f1.c
-1799287010b ./gcc/testsuite/gcc.c-torture/unsorted/f2.c
- 742887905b ./gcc/testsuite/gcc.c-torture/unsorted/fdmul.c
-2705424580b ./gcc/testsuite/gcc.c-torture/unsorted/flo.c
-3396096931b ./gcc/testsuite/gcc.c-torture/unsorted/float.c
-1861286853b ./gcc/testsuite/gcc.c-torture/unsorted/flt_const.c
-1778808555b ./gcc/testsuite/gcc.c-torture/unsorted/fnul.c
- 837581993b ./gcc/testsuite/gcc.c-torture/unsorted/foo.c
-2603890884b ./gcc/testsuite/gcc.c-torture/unsorted/forgetcc.c
-1311942689b ./gcc/testsuite/gcc.c-torture/unsorted/fq.c
-2823794598b ./gcc/testsuite/gcc.c-torture/unsorted/g.c
-4182806672b ./gcc/testsuite/gcc.c-torture/unsorted/gen_tst.c
- 440386278b ./gcc/testsuite/gcc.c-torture/unsorted/glob.c
-2712797412b ./gcc/testsuite/gcc.c-torture/unsorted/gronk.c
-2506280517b ./gcc/testsuite/gcc.c-torture/unsorted/hi.c
-2912660272b ./gcc/testsuite/gcc.c-torture/unsorted/hibug.c
-3171392500b ./gcc/testsuite/gcc.c-torture/unsorted/i++.c
-1463391444b ./gcc/testsuite/gcc.c-torture/unsorted/i.c
-1222319492b ./gcc/testsuite/gcc.c-torture/unsorted/ic.c
-2244080969b ./gcc/testsuite/gcc.c-torture/unsorted/icmp.c
-3544970343b ./gcc/testsuite/gcc.c-torture/unsorted/ifreg.c
-1391595029b ./gcc/testsuite/gcc.c-torture/unsorted/imm.c
- 125065552b ./gcc/testsuite/gcc.c-torture/unsorted/isinf.c
-3010843181b ./gcc/testsuite/gcc.c-torture/unsorted/jmp.c
-2660706970b ./gcc/testsuite/gcc.c-torture/unsorted/jumptab.c
-1238043529b ./gcc/testsuite/gcc.c-torture/unsorted/l.c
-2953050089b ./gcc/testsuite/gcc.c-torture/unsorted/layout.c
-3456840745b ./gcc/testsuite/gcc.c-torture/unsorted/lbug.c
-2906412336b ./gcc/testsuite/gcc.c-torture/unsorted/ll1.c
-2085462310b ./gcc/testsuite/gcc.c-torture/unsorted/llbug.c
-1419215241b ./gcc/testsuite/gcc.c-torture/unsorted/lll.c
-3825978026b ./gcc/testsuite/gcc.c-torture/unsorted/load8.c
- 791778479b ./gcc/testsuite/gcc.c-torture/unsorted/loadhicc.c
- 439371726b ./gcc/testsuite/gcc.c-torture/unsorted/log2.c
- 418270073b ./gcc/testsuite/gcc.c-torture/unsorted/logic.c
- 388000712b ./gcc/testsuite/gcc.c-torture/unsorted/loop-1.c
-2317019693b ./gcc/testsuite/gcc.c-torture/unsorted/loop386.c
-3780249238b ./gcc/testsuite/gcc.c-torture/unsorted/lop.c
-3011092171b ./gcc/testsuite/gcc.c-torture/unsorted/m1.c
-1664237855b ./gcc/testsuite/gcc.c-torture/unsorted/m2.c
- 836486950b ./gcc/testsuite/gcc.c-torture/unsorted/m5.c
-1315431234b ./gcc/testsuite/gcc.c-torture/unsorted/m68.c
-1140567438b ./gcc/testsuite/gcc.c-torture/unsorted/mbyte.c
-1343630589b ./gcc/testsuite/gcc.c-torture/unsorted/mchar.c
-1971867771b ./gcc/testsuite/gcc.c-torture/unsorted/mcmp.c
-1050674918b ./gcc/testsuite/gcc.c-torture/unsorted/mdouble.c
-3545288402b ./gcc/testsuite/gcc.c-torture/unsorted/memtst.c
-1607208885b ./gcc/testsuite/gcc.c-torture/unsorted/miscomp.c
- 517599771b ./gcc/testsuite/gcc.c-torture/unsorted/mm.c
-3498200377b ./gcc/testsuite/gcc.c-torture/unsorted/mod.c
- 852673854b ./gcc/testsuite/gcc.c-torture/unsorted/modcc.c
-3290683845b ./gcc/testsuite/gcc.c-torture/unsorted/move.c
-2934241414b ./gcc/testsuite/gcc.c-torture/unsorted/move_qhi.c
-2156076426b ./gcc/testsuite/gcc.c-torture/unsorted/mregtst.c
-1229282324b ./gcc/testsuite/gcc.c-torture/unsorted/msp.c
-3686945259b ./gcc/testsuite/gcc.c-torture/unsorted/mtst.c
- 650788304b ./gcc/testsuite/gcc.c-torture/unsorted/mu.c
-3210222105b ./gcc/testsuite/gcc.c-torture/unsorted/mul.c
-3114106310b ./gcc/testsuite/gcc.c-torture/unsorted/mword.c
- 206884481b ./gcc/testsuite/gcc.c-torture/unsorted/mword1.c
-1942143253b ./gcc/testsuite/gcc.c-torture/unsorted/n.c
-1193753806b ./gcc/testsuite/gcc.c-torture/unsorted/n1.c
-3021632957b ./gcc/testsuite/gcc.c-torture/unsorted/nand.c
-1255157012b ./gcc/testsuite/gcc.c-torture/unsorted/neg.c
-2666891841b ./gcc/testsuite/gcc.c-torture/unsorted/o.c
-1641502386b ./gcc/testsuite/gcc.c-torture/unsorted/omit.c
-2947983429b ./gcc/testsuite/gcc.c-torture/unsorted/opout.c
-4144556375b ./gcc/testsuite/gcc.c-torture/unsorted/opt.c
-1221510857b ./gcc/testsuite/gcc.c-torture/unsorted/or.c
-2570634505b ./gcc/testsuite/gcc.c-torture/unsorted/or386.c
-3299772143b ./gcc/testsuite/gcc.c-torture/unsorted/p.c
-3498239118b ./gcc/testsuite/gcc.c-torture/unsorted/parms.c
-4291861284b ./gcc/testsuite/gcc.c-torture/unsorted/pass.c
-1371923458b ./gcc/testsuite/gcc.c-torture/unsorted/pmt.c
-2511249387b ./gcc/testsuite/gcc.c-torture/unsorted/poor.c
- 745326023b ./gcc/testsuite/gcc.c-torture/unsorted/pp.c
-1391345399b ./gcc/testsuite/gcc.c-torture/unsorted/pret-arg.c
- 697484600b ./gcc/testsuite/gcc.c-torture/unsorted/pyr.c
-3407302768b ./gcc/testsuite/gcc.c-torture/unsorted/pyr2.c
-1835488344b ./gcc/testsuite/gcc.c-torture/unsorted/q.c
-1427595492b ./gcc/testsuite/gcc.c-torture/unsorted/r.c
-4283361995b ./gcc/testsuite/gcc.c-torture/unsorted/r1.c
-4078624014b ./gcc/testsuite/gcc.c-torture/unsorted/rel.c
-3414105414b ./gcc/testsuite/gcc.c-torture/unsorted/rmsc.c
-1012332947b ./gcc/testsuite/gcc.c-torture/unsorted/round.c
-3178090569b ./gcc/testsuite/gcc.c-torture/unsorted/run.c
-1744325584b ./gcc/testsuite/gcc.c-torture/unsorted/s.c
-3862968210b ./gcc/testsuite/gcc.c-torture/unsorted/sar.c
-4292026279b ./gcc/testsuite/gcc.c-torture/unsorted/sc.c
-2416335748b ./gcc/testsuite/gcc.c-torture/unsorted/scal.c
-1669731371b ./gcc/testsuite/gcc.c-torture/unsorted/scc.c
-3073011184b ./gcc/testsuite/gcc.c-torture/unsorted/scond.c
-4127283390b ./gcc/testsuite/gcc.c-torture/unsorted/selfrec.c
- 772856379b ./gcc/testsuite/gcc.c-torture/unsorted/seq.c
-3595435741b ./gcc/testsuite/gcc.c-torture/unsorted/set386.c
- 772098437b ./gcc/testsuite/gcc.c-torture/unsorted/set88.c
-1917728540b ./gcc/testsuite/gcc.c-torture/unsorted/sh.c
-2510322715b ./gcc/testsuite/gcc.c-torture/unsorted/shand.c
- 369189446b ./gcc/testsuite/gcc.c-torture/unsorted/shft.c
- 786362264b ./gcc/testsuite/gcc.c-torture/unsorted/shift.c
-1326810661b ./gcc/testsuite/gcc.c-torture/unsorted/shloop.c
-1731774655b ./gcc/testsuite/gcc.c-torture/unsorted/shm.c
-3333038544b ./gcc/testsuite/gcc.c-torture/unsorted/signext.c
-3198420130b ./gcc/testsuite/gcc.c-torture/unsorted/signext2.c
-1627754274b ./gcc/testsuite/gcc.c-torture/unsorted/sim.c
- 380795934b ./gcc/testsuite/gcc.c-torture/unsorted/simple.c
- 927966180b ./gcc/testsuite/gcc.c-torture/unsorted/sne.c
-1732276088b ./gcc/testsuite/gcc.c-torture/unsorted/sound.c
-1462108320b ./gcc/testsuite/gcc.c-torture/unsorted/sparcbug.c
- 680850660b ./gcc/testsuite/gcc.c-torture/unsorted/speed.c
-1459712797b ./gcc/testsuite/gcc.c-torture/unsorted/stor.c
-3521937419b ./gcc/testsuite/gcc.c-torture/unsorted/store0.c
- 429514643b ./gcc/testsuite/gcc.c-torture/unsorted/storecc.c
-2367209182b ./gcc/testsuite/gcc.c-torture/unsorted/str.c
-1212744014b ./gcc/testsuite/gcc.c-torture/unsorted/stru.c
-2936891454b ./gcc/testsuite/gcc.c-torture/unsorted/structret.c
-1723639277b ./gcc/testsuite/gcc.c-torture/unsorted/stuct.c
-3579655725b ./gcc/testsuite/gcc.c-torture/unsorted/sub32.c
-2225754564b ./gcc/testsuite/gcc.c-torture/unsorted/subcc.c
-1610852268b ./gcc/testsuite/gcc.c-torture/unsorted/subcse.c
-1291307272b ./gcc/testsuite/gcc.c-torture/unsorted/sym.c
- 319785041b ./gcc/testsuite/gcc.c-torture/unsorted/symconst.c
-1215688317b ./gcc/testsuite/gcc.c-torture/unsorted/t.c
- 585245677b ./gcc/testsuite/gcc.c-torture/unsorted/test-flow.c
-1417505636b ./gcc/testsuite/gcc.c-torture/unsorted/test-loop.c
-3564367767b ./gcc/testsuite/gcc.c-torture/unsorted/test.c
-1907124578b ./gcc/testsuite/gcc.c-torture/unsorted/time.c
- 316618822b ./gcc/testsuite/gcc.c-torture/unsorted/tmp.c
- 551299652b ./gcc/testsuite/gcc.c-torture/unsorted/trivial.c
- 54055479b ./gcc/testsuite/gcc.c-torture/unsorted/trunc.c
-1458206113b ./gcc/testsuite/gcc.c-torture/unsorted/u.c
- 620556027b ./gcc/testsuite/gcc.c-torture/unsorted/udconvert.c
-4030884798b ./gcc/testsuite/gcc.c-torture/unsorted/udivmod4.c
-2240659922b ./gcc/testsuite/gcc.c-torture/unsorted/uns.c
-4067751424b ./gcc/testsuite/gcc.c-torture/unsorted/uns_tst.c
-2130364609b ./gcc/testsuite/gcc.c-torture/unsorted/unsorted.exp
-3061572007b ./gcc/testsuite/gcc.c-torture/unsorted/uuarg.c
- 339227429b ./gcc/testsuite/gcc.c-torture/unsorted/v.c
- 97022866b ./gcc/testsuite/gcc.c-torture/unsorted/w.c
- 502682554b ./gcc/testsuite/gcc.c-torture/unsorted/ww.c
-2143513908b ./gcc/testsuite/gcc.c-torture/unsorted/x.c
-1561412324b ./gcc/testsuite/gcc.c-torture/unsorted/xb.c
-3522679530b ./gcc/testsuite/gcc.c-torture/unsorted/xbg.c
-2513066849b ./gcc/testsuite/gcc.c-torture/unsorted/xc.c
-3791802167b ./gcc/testsuite/gcc.c-torture/unsorted/xcsebug.c
- 753765877b ./gcc/testsuite/gcc.c-torture/unsorted/xdi.c
-2449229476b ./gcc/testsuite/gcc.c-torture/unsorted/xfoo.c
-1976729056b ./gcc/testsuite/gcc.c-torture/unsorted/xi.c
- 467677832b ./gcc/testsuite/gcc.c-torture/unsorted/xlop.c
-2772134709b ./gcc/testsuite/gcc.c-torture/unsorted/xmtst.c
-2887718336b ./gcc/testsuite/gcc.c-torture/unsorted/xneg.c
- 891585403b ./gcc/testsuite/gcc.c-torture/unsorted/xopt.c
-3158383083b ./gcc/testsuite/gcc.c-torture/unsorted/xor.c
-2275025612b ./gcc/testsuite/gcc.c-torture/unsorted/xorn.c
- 696616007b ./gcc/testsuite/gcc.c-torture/unsorted/xp.c
-3369544877b ./gcc/testsuite/gcc.c-torture/unsorted/xpp.c
- 687461532b ./gcc/testsuite/gcc.c-torture/unsorted/xs.c
-2453856793b ./gcc/testsuite/gcc.c-torture/unsorted/xsh.c
- 749676174b ./gcc/testsuite/gcc.c-torture/unsorted/xz.c
-3236233174b ./gcc/testsuite/gcc.c-torture/unsorted/xzz.c
-1385037675b ./gcc/testsuite/gcc.dg/980211-1.c
-2260389666b ./gcc/testsuite/gcc.dg/980217-1.c
- 474510323b ./gcc/testsuite/gcc.dg/980226-1.c
-2630738251b ./gcc/testsuite/gcc.dg/980312-1.c
-2097327868b ./gcc/testsuite/gcc.dg/980313-1.c
-1037046403b ./gcc/testsuite/gcc.dg/980414-1.c
-1500377530b ./gcc/testsuite/gcc.dg/980502-1.c
-1541851881b ./gcc/testsuite/gcc.dg/980520-1.c
-2948456578b ./gcc/testsuite/gcc.dg/980523-1.c
-2389539979b ./gcc/testsuite/gcc.dg/980526-1.c
- 384442948b ./gcc/testsuite/gcc.dg/980709-1.c
- 147296516b ./gcc/testsuite/gcc.dg/980816-1.c
- 5676584b ./gcc/testsuite/gcc.dg/980827-1.c
-3311826119b ./gcc/testsuite/gcc.dg/990117-1.c
-3759777996b ./gcc/testsuite/gcc.dg/990119-1.c
-3592792935b ./gcc/testsuite/gcc.dg/990130-1.c
-2565768458b ./gcc/testsuite/gcc.dg/990213-1.c
-2646952971b ./gcc/testsuite/gcc.dg/990213-2.c
- 977940014b ./gcc/testsuite/gcc.dg/990214-1.c
- 152529314b ./gcc/testsuite/gcc.dg/990228-1.c
-1515683197b ./gcc/testsuite/gcc.dg/990407-1.c
-1985721626b ./gcc/testsuite/gcc.dg/990409-1.c
-2983844233b ./gcc/testsuite/gcc.dg/990413-1.c
-2031361298b ./gcc/testsuite/gcc.dg/990424-1.c
-4287884093b ./gcc/testsuite/gcc.dg/990506-0.c
-2426423235b ./gcc/testsuite/gcc.dg/README
- 15751103b ./gcc/testsuite/gcc.dg/bf-spl1.c
-2658513828b ./gcc/testsuite/gcc.dg/cast-qual-1.c
-1247185507b ./gcc/testsuite/gcc.dg/clobbers.c
-2229598645b ./gcc/testsuite/gcc.dg/compare1.c
-1916624749b ./gcc/testsuite/gcc.dg/cpp-if1.c
-1329225423b ./gcc/testsuite/gcc.dg/cpp-if2.c
-3226565996b ./gcc/testsuite/gcc.dg/cpp-if3.c
-2620707676b ./gcc/testsuite/gcc.dg/cpp-mi.c
- 110400646b ./gcc/testsuite/gcc.dg/cpp-mic.h
-1977047130b ./gcc/testsuite/gcc.dg/cpp-micc.h
-1702283564b ./gcc/testsuite/gcc.dg/dg.exp
-4275147045b ./gcc/testsuite/gcc.dg/dll-1.c
-2397785716b ./gcc/testsuite/gcc.dg/dll-2.c
- 299356667b ./gcc/testsuite/gcc.dg/dll-3.c
-1474481354b ./gcc/testsuite/gcc.dg/dll-4.c
-1374850312b ./gcc/testsuite/gcc.dg/ifelse-1.c
- 627513345b ./gcc/testsuite/gcc.dg/noreturn-1.c
-2817302840b ./gcc/testsuite/gcc.dg/return-type-1.c
-3997091992b ./gcc/testsuite/gcc.dg/setjmp-1.c
- 952339530b ./gcc/testsuite/gcc.dg/special/alias-1.c
-4166005895b ./gcc/testsuite/gcc.dg/special/ecos.exp
- 628073845b ./gcc/testsuite/gcc.dg/special/gcsec-1.c
-2935057158b ./gcc/testsuite/gcc.dg/special/weak-1.c
-3422703148b ./gcc/testsuite/gcc.dg/special/weak-1a.c
-1588403094b ./gcc/testsuite/gcc.dg/special/weak-2.c
- 389288806b ./gcc/testsuite/gcc.dg/special/weak-2a.c
-3422703148b ./gcc/testsuite/gcc.dg/special/weak-2b.c
-1539434290b ./gcc/testsuite/gcc.dg/special/wkali-1.c
-1588403094b ./gcc/testsuite/gcc.dg/special/wkali-2.c
- 206085145b ./gcc/testsuite/gcc.dg/special/wkali-2a.c
-2277202182b ./gcc/testsuite/gcc.dg/special/wkali-2b.c
-1648410279b ./gcc/testsuite/gcc.dg/splet-1.c
- 935614314b ./gcc/testsuite/gcc.dg/struct-ret-1.c
- 548999932b ./gcc/testsuite/gcc.dg/switch-1.c
-2852064968b ./gcc/testsuite/gcc.dg/ultrasp1.c
-2258658308b ./gcc/testsuite/gcc.dg/uninit-1.c
- 608086310b ./gcc/testsuite/gcc.dg/uninit-2.c
-2219873069b ./gcc/testsuite/gcc.dg/uninit-3.c
-1650974733b ./gcc/testsuite/gcc.dg/uninit-4.c
-2761916267b ./gcc/testsuite/gcc.dg/uninit-5.c
-4187609695b ./gcc/testsuite/gcc.dg/uninit-6.c
-3846997492b ./gcc/testsuite/gcc.dg/uninit-8.c
- 390912088b ./gcc/testsuite/gcc.dg/uninit-9.c
-4059769481b ./gcc/testsuite/gcc.dg/uninit-A.c
- 715486951b ./gcc/testsuite/gcc.dg/unused-1.c
- 146158555b ./gcc/testsuite/gcc.failure/940409-1.c
- 108537931b ./gcc/testsuite/gcc.failure/940409-1.x
-3221304003b ./gcc/testsuite/gcc.failure/failure.exp
-1056372736b ./gcc/testsuite/gcc.misc-tests/Makefile.in
-1945589472b ./gcc/testsuite/gcc.misc-tests/acker1.c
-3996423669b ./gcc/testsuite/gcc.misc-tests/acker1.exp
-3759852185b ./gcc/testsuite/gcc.misc-tests/configure.in
- 730919505b ./gcc/testsuite/gcc.misc-tests/dg-1.c
- 865542926b ./gcc/testsuite/gcc.misc-tests/dg-10.c
-2019245778b ./gcc/testsuite/gcc.misc-tests/dg-11.c
-3416817847b ./gcc/testsuite/gcc.misc-tests/dg-12.c
-3096773472b ./gcc/testsuite/gcc.misc-tests/dg-2.c
-3661115972b ./gcc/testsuite/gcc.misc-tests/dg-3.c
-3160178728b ./gcc/testsuite/gcc.misc-tests/dg-4.c
-3738197953b ./gcc/testsuite/gcc.misc-tests/dg-5.c
- 274575776b ./gcc/testsuite/gcc.misc-tests/dg-6.c
- 434503347b ./gcc/testsuite/gcc.misc-tests/dg-7.c
-1050718588b ./gcc/testsuite/gcc.misc-tests/dg-8.c
-3919579135b ./gcc/testsuite/gcc.misc-tests/dg-9.c
-3252975481b ./gcc/testsuite/gcc.misc-tests/dg-test.exp
-1483515495b ./gcc/testsuite/gcc.misc-tests/dhry.c
- 88850693b ./gcc/testsuite/gcc.misc-tests/dhry.exp
-1136429912b ./gcc/testsuite/gcc.misc-tests/dhry.h
- 779830061b ./gcc/testsuite/gcc.misc-tests/gcov-1.c
- 365927888b ./gcc/testsuite/gcc.misc-tests/gcov-2.c
- 123560603b ./gcc/testsuite/gcc.misc-tests/gcov.exp
-2663557248b ./gcc/testsuite/gcc.misc-tests/m-un-1.c
-3249590420b ./gcc/testsuite/gcc.misc-tests/m-un-2.c
-2320290441b ./gcc/testsuite/gcc.misc-tests/matrix1.c
-2347395200b ./gcc/testsuite/gcc.misc-tests/matrix1.exp
-1813429392b ./gcc/testsuite/gcc.misc-tests/mg.c
-2236977574b ./gcc/testsuite/gcc.misc-tests/mg.exp
-2386932129b ./gcc/testsuite/gcc.misc-tests/msgs.exp
-1409639076b ./gcc/testsuite/gcc.misc-tests/sieve.c
- 876213951b ./gcc/testsuite/gcc.misc-tests/sieve.exp
- 654911687b ./gcc/testsuite/gcc.misc-tests/sort2.c
-2251763818b ./gcc/testsuite/gcc.misc-tests/sort2.exp
- 979504479b ./gcc/testsuite/lib/c-torture.exp
-3480506200b ./gcc/testsuite/lib/chill.exp
- 494494540b ./gcc/testsuite/lib/f-torture.exp
- 123142323b ./gcc/testsuite/lib/g++-dg.exp
-2161548454b ./gcc/testsuite/lib/g++.exp
- 335252891b ./gcc/testsuite/lib/g77.exp
-3915941824b ./gcc/testsuite/lib/gcc-dg.exp
- 835489080b ./gcc/testsuite/lib/gcc.exp
- 16493116b ./gcc/testsuite/lib/mike-g++.exp
-3009729864b ./gcc/testsuite/lib/mike-g77.exp
-1062207598b ./gcc/testsuite/lib/mike-gcc.exp
-3056147734b ./gcc/testsuite/lib/objc-torture.exp
- 398789214b ./gcc/testsuite/lib/objc.exp
- 395207301b ./gcc/testsuite/lib/old-dejagnu.exp
-1927175126b ./gcc/testsuite/objc/execute/bf-1.m
-2710215022b ./gcc/testsuite/objc/execute/bf-10.m
-2657298938b ./gcc/testsuite/objc/execute/bf-11.m
-2456637155b ./gcc/testsuite/objc/execute/bf-12.m
-2109396861b ./gcc/testsuite/objc/execute/bf-13.m
-2180168093b ./gcc/testsuite/objc/execute/bf-14.m
-2032295263b ./gcc/testsuite/objc/execute/bf-15.m
-3201695449b ./gcc/testsuite/objc/execute/bf-16.m
-4134365460b ./gcc/testsuite/objc/execute/bf-17.m
- 355990402b ./gcc/testsuite/objc/execute/bf-18.m
-3674443693b ./gcc/testsuite/objc/execute/bf-19.m
-3212450864b ./gcc/testsuite/objc/execute/bf-2.m
- 80833366b ./gcc/testsuite/objc/execute/bf-3.m
-1154895973b ./gcc/testsuite/objc/execute/bf-4.m
-2150643868b ./gcc/testsuite/objc/execute/bf-5.m
-2449368591b ./gcc/testsuite/objc/execute/bf-6.m
-2461635599b ./gcc/testsuite/objc/execute/bf-7.m
-2205665948b ./gcc/testsuite/objc/execute/bf-8.m
-1881717138b ./gcc/testsuite/objc/execute/bf-9.m
-3485125753b ./gcc/testsuite/objc/execute/bf-common.h
- 547559540b ./gcc/testsuite/objc/execute/execute.exp
+4046804328b ./gcc/TESTS.FLUNK
1728175212b ./gcc/texinfo.tex
1269566830b ./gcc/tlink.c
1961134148b ./gcc/tm.texi
- 731170242b ./gcc/toplev.c
+3455843440b ./gcc/toplev.c
2536770532b ./gcc/toplev.h
-4035183048b ./gcc/tree.c
+3851880366b ./gcc/tree.c
3657596657b ./gcc/tree.def
-3057647869b ./gcc/tree.h
+4277752559b ./gcc/tree.h
4139263293b ./gcc/typeclass.h
17641651b ./gcc/unprotoize.c
-1937727853b ./gcc/unroll.c
-3778597209b ./gcc/varasm.c
+2772721254b ./gcc/unroll.c
+3475782279b ./gcc/varasm.c
673114644b ./gcc/varray.c
3707241117b ./gcc/varray.h
-3563342740b ./gcc/version.c
+ 666569016b ./gcc/version.c
1040256635b ./gcc/vmsconfig.com
445093373b ./gcc/xcoffout.c
4059141961b ./gcc/xcoffout.h
- 430871781b ./include/COPYING
-1733402947b ./include/ChangeLog
3610260853b ./include/ansidecl.h
+3890668818b ./include/ChangeLog
+ 430871781b ./include/COPYING
2114096985b ./include/demangle.h
3641253635b ./include/floatformat.h
1425556021b ./include/fnmatch.h
@@ -5448,25 +1642,28 @@
3443875779b ./include/obstack.h
2220598482b ./include/splay-tree.h
2321237109b ./include/symcat.h
-4171599065b ./install-sh
-3657478720b ./install/BUILD
- 112406660b ./install/CONFIGURE
- 91712864b ./install/DOWNLOAD
-3884881305b ./install/FINALINSTALL
-2508613522b ./install/INDEX
-2273054472b ./install/SPECIFIC
-2783564016b ./install/TEST
-1332390816b ./install/build.html
-1340647212b ./install/configure.html
+3784734542b ./install/BINARIES
+2297532680b ./install/binaries.html
+ 123155615b ./install/BUILD
+3075941658b ./install/build.html
+3259287787b ./install/CONFIGURE
+3928709946b ./install/configure.html
2510304657b ./install/dec-osf-shlibstdc++.patch
- 601160789b ./install/download.html
-3493575607b ./install/finalinstall.html
-2543585673b ./install/index.html
+1331399401b ./install/DOWNLOAD
+4006568097b ./install/download.html
+3020510417b ./install/FINALINSTALL
+4086994534b ./install/finalinstall.html
+2403531330b ./install/glibc-2.2.patch
+3275322004b ./install/INDEX
+ 959109429b ./install/index.html
+1329440059b ./INSTALL/README
274447927b ./install/sco_osr5_g77.patch
-1239567846b ./install/specific.html
-4239294385b ./install/test.html
- 539215075b ./libchill/ChangeLog
-2330930218b ./libchill/Makefile.in
+4171599065b ./install-sh
+1640823812b ./install/SPECIFIC
+4183903535b ./install/specific.html
+1787754765b ./install/TEST
+4069947514b ./install/test.html
+4114729160b ./install/x86-sol2-gas.patch
3171868308b ./libchill/abstime.c
3904980659b ./libchill/allgmem.c
1902887353b ./libchill/allmem.c
@@ -5477,6 +1674,7 @@
527568579b ./libchill/bitstring.h
1098723731b ./libchill/cardps.c
3175298237b ./libchill/cause.c
+3876540257b ./libchill/ChangeLog
816576333b ./libchill/checkcycle.c
4091379471b ./libchill/chillrt0.c
1548203605b ./libchill/chillstdio.c
@@ -5519,6 +1717,7 @@
2418302523b ./libchill/leps.c
2141063010b ./libchill/ltps.c
1416141016b ./libchill/ltstr.c
+2330930218b ./libchill/Makefile.in
4071908131b ./libchill/memmove.c
562316065b ./libchill/neps.c
1084460263b ./libchill/notps.c
@@ -5534,8 +1733,8 @@
2537598687b ./libchill/retmem.c
2687117950b ./libchill/rtltypes.h
4066459225b ./libchill/rts.c
- 952062653b ./libchill/rts.h
196671519b ./libchill/rtsdummy.c
+ 952062653b ./libchill/rts.h
2211921632b ./libchill/sendbuffer.c
3570760248b ./libchill/sequencible.c
2777336973b ./libchill/setbitps.c
@@ -5545,41 +1744,33 @@
4282557843b ./libchill/settextrecord.c
1586152978b ./libchill/sliceps.c
204113253b ./libchill/terminate.c
-2533393221b ./libchill/unhex.c
950885582b ./libchill/unhex1.c
+2533393221b ./libchill/unhex.c
3377634007b ./libchill/variable.c
169021687b ./libchill/waitbuffer.c
2574094998b ./libchill/waituntil.c
2472500066b ./libchill/writeable.c
1972501079b ./libchill/writerecord.c
927204991b ./libchill/xorps.c
-3530187624b ./libf2c/ChangeLog
- 481075804b ./libf2c/Makefile.in
-3111321221b ./libf2c/README
- 308226469b ./libf2c/TODO
+3265611093b ./libf2c/ChangeLog
2766136236b ./libf2c/changes.netlib
283485356b ./libf2c/configure
350135098b ./libf2c/configure.in
2487502900b ./libf2c/disclaimer.netlib
- 259100451b ./libf2c/f2c.h
332556269b ./libf2c/f2cext.c
+ 259100451b ./libf2c/f2c.h
793010571b ./libf2c/g2c.hin
- 317136894b ./libf2c/libF77/F77_aloc.c
-1147257543b ./libf2c/libF77/Makefile.in
-1384146782b ./libf2c/libF77/Notice
-3594711912b ./libf2c/libF77/README.netlib
-2898053841b ./libf2c/libF77/Version.c
1304659322b ./libf2c/libF77/abort_.c
2143735092b ./libf2c/libF77/c_abs.c
+3290078007b ./libf2c/libF77/cabs.c
4102372920b ./libf2c/libF77/c_cos.c
2262142301b ./libf2c/libF77/c_div.c
3847115202b ./libf2c/libF77/c_exp.c
2878052462b ./libf2c/libF77/c_log.c
-3389634672b ./libf2c/libF77/c_sin.c
-1183895118b ./libf2c/libF77/c_sqrt.c
-3290078007b ./libf2c/libF77/cabs.c
800953737b ./libf2c/libF77/configure
823261841b ./libf2c/libF77/configure.in
+3389634672b ./libf2c/libF77/c_sin.c
+1183895118b ./libf2c/libF77/c_sqrt.c
3030188690b ./libf2c/libF77/d_abs.c
1507325734b ./libf2c/libF77/d_acos.c
4159233847b ./libf2c/libF77/d_asin.c
@@ -5589,6 +1780,8 @@
4073305831b ./libf2c/libF77/d_cos.c
3091338483b ./libf2c/libF77/d_cosh.c
810995689b ./libf2c/libF77/d_dim.c
+3392851220b ./libf2c/libF77/derf_.c
+1250156454b ./libf2c/libF77/derfc_.c
858325700b ./libf2c/libF77/d_exp.c
2046018081b ./libf2c/libF77/d_imag.c
3730554656b ./libf2c/libF77/d_int.c
@@ -5603,8 +1796,6 @@
198362081b ./libf2c/libF77/d_sqrt.c
836556354b ./libf2c/libF77/d_tan.c
4186903397b ./libf2c/libF77/d_tanh.c
-3392851220b ./libf2c/libF77/derf_.c
-1250156454b ./libf2c/libF77/derfc_.c
779737923b ./libf2c/libF77/dtime_.c
3387281619b ./libf2c/libF77/ef1asc_.c
49504728b ./libf2c/libF77/ef1cmc_.c
@@ -5613,6 +1804,7 @@
2054149269b ./libf2c/libF77/etime_.c
2926211158b ./libf2c/libF77/exit_.c
3294101487b ./libf2c/libF77/f2ch.add
+ 317136894b ./libf2c/libF77/F77_aloc.c
262909947b ./libf2c/libF77/getarg_.c
1053635766b ./libf2c/libF77/getenv_.c
1464793891b ./libf2c/libF77/h_abs.c
@@ -5620,14 +1812,15 @@
4004178848b ./libf2c/libF77/h_dnnt.c
4111775146b ./libf2c/libF77/h_indx.c
3370033031b ./libf2c/libF77/h_len.c
-2764887666b ./libf2c/libF77/h_mod.c
-3401291699b ./libf2c/libF77/h_nint.c
-1347560191b ./libf2c/libF77/h_sign.c
577774165b ./libf2c/libF77/hl_ge.c
1370298730b ./libf2c/libF77/hl_gt.c
1915814870b ./libf2c/libF77/hl_le.c
368944666b ./libf2c/libF77/hl_lt.c
+2764887666b ./libf2c/libF77/h_mod.c
+3401291699b ./libf2c/libF77/h_nint.c
+1347560191b ./libf2c/libF77/h_sign.c
2473169636b ./libf2c/libF77/i_abs.c
+1210543358b ./libf2c/libF77/iargc_.c
4060206463b ./libf2c/libF77/i_dim.c
2964212421b ./libf2c/libF77/i_dnnt.c
2958321828b ./libf2c/libF77/i_indx.c
@@ -5635,15 +1828,16 @@
1964370981b ./libf2c/libF77/i_mod.c
956761106b ./libf2c/libF77/i_nint.c
3590616869b ./libf2c/libF77/i_sign.c
-1210543358b ./libf2c/libF77/iargc_.c
+ 443393905b ./libf2c/libF77/lbitbits.c
+3575626916b ./libf2c/libF77/lbitshft.c
4105379815b ./libf2c/libF77/l_ge.c
4110886289b ./libf2c/libF77/l_gt.c
1122360099b ./libf2c/libF77/l_le.c
3320765614b ./libf2c/libF77/l_lt.c
- 443393905b ./libf2c/libF77/lbitbits.c
-3575626916b ./libf2c/libF77/lbitshft.c
1531755714b ./libf2c/libF77/main.c
+1147257543b ./libf2c/libF77/Makefile.in
1177519321b ./libf2c/libF77/makefile.netlib
+1384146782b ./libf2c/libF77/Notice
3561723582b ./libf2c/libF77/pow_ci.c
80946260b ./libf2c/libF77/pow_dd.c
1800535765b ./libf2c/libF77/pow_di.c
@@ -5664,6 +1858,7 @@
186941398b ./libf2c/libF77/r_cos.c
3322305540b ./libf2c/libF77/r_cosh.c
3466251772b ./libf2c/libF77/r_dim.c
+3594711912b ./libf2c/libF77/README.netlib
3655480343b ./libf2c/libF77/r_exp.c
457367872b ./libf2c/libF77/r_imag.c
1964745019b ./libf2c/libF77/r_int.c
@@ -5680,16 +1875,17 @@
3673888216b ./libf2c/libF77/s_cat.c
1366254496b ./libf2c/libF77/s_cmp.c
3500695330b ./libf2c/libF77/s_copy.c
-2017948720b ./libf2c/libF77/s_paus.c
-3826238395b ./libf2c/libF77/s_rnge.c
-3862265148b ./libf2c/libF77/s_stop.c
3467937994b ./libf2c/libF77/setarg.c
273280446b ./libf2c/libF77/setsig.c
199330663b ./libf2c/libF77/sig_die.c
1302607324b ./libf2c/libF77/signal1.h
3496496096b ./libf2c/libF77/signal1.h0
4121880197b ./libf2c/libF77/signal_.c
+2017948720b ./libf2c/libF77/s_paus.c
+3826238395b ./libf2c/libF77/s_rnge.c
+3862265148b ./libf2c/libF77/s_stop.c
113341864b ./libf2c/libF77/system_.c
+2870764345b ./libf2c/libF77/Version.c
1937893648b ./libf2c/libF77/z_abs.c
2431309812b ./libf2c/libF77/z_cos.c
3601348733b ./libf2c/libF77/z_div.c
@@ -5697,10 +1893,6 @@
2915672930b ./libf2c/libF77/z_log.c
2332417514b ./libf2c/libF77/z_sin.c
4013824581b ./libf2c/libF77/z_sqrt.c
-1536499154b ./libf2c/libI77/Makefile.in
-1384146782b ./libf2c/libI77/Notice
-3744878144b ./libf2c/libI77/README.netlib
-1361087381b ./libf2c/libI77/Version.c
1048680171b ./libf2c/libI77/backspace.c
1402319189b ./libf2c/libI77/close.c
3948477753b ./libf2c/libI77/configure
@@ -5708,7 +1900,7 @@
1818051790b ./libf2c/libI77/dfe.c
2808657081b ./libf2c/libI77/dolio.c
488413691b ./libf2c/libI77/due.c
-2288443578b ./libf2c/libI77/endfile.c
+2943116808b ./libf2c/libI77/endfile.c
4043373154b ./libf2c/libI77/err.c
3294101487b ./libf2c/libI77/f2ch.add
3487746107b ./libf2c/libI77/fio.h
@@ -5723,10 +1915,13 @@
771509778b ./libf2c/libI77/lio.h
1189129125b ./libf2c/libI77/lread.c
2727021368b ./libf2c/libI77/lwrite.c
+1536499154b ./libf2c/libI77/Makefile.in
2636902289b ./libf2c/libI77/makefile.netlib
+1384146782b ./libf2c/libI77/Notice
3695991855b ./libf2c/libI77/open.c
2618650127b ./libf2c/libI77/rawio.h
4237552624b ./libf2c/libI77/rdfmt.c
+3744878144b ./libf2c/libI77/README.netlib
1734468511b ./libf2c/libI77/rewind.c
20341661b ./libf2c/libI77/rsfe.c
27319661b ./libf2c/libI77/rsli.c
@@ -5736,17 +1931,13 @@
1986314725b ./libf2c/libI77/typesize.c
2487538082b ./libf2c/libI77/uio.c
3600895104b ./libf2c/libI77/util.c
+1438637311b ./libf2c/libI77/Version.c
3746777128b ./libf2c/libI77/wref.c
4089060144b ./libf2c/libI77/wrtfmt.c
4073830155b ./libf2c/libI77/wsfe.c
1149823364b ./libf2c/libI77/wsle.c
3647229305b ./libf2c/libI77/wsne.c
2417005419b ./libf2c/libI77/xwsne.c
-2637011133b ./libf2c/libU77/COPYING.LIB
-2747046004b ./libf2c/libU77/Makefile.in
- 572996563b ./libf2c/libU77/PROJECTS
-2980229902b ./libf2c/libU77/README
-1734209390b ./libf2c/libU77/Version.c
1842933802b ./libf2c/libU77/access_.c
3277701818b ./libf2c/libU77/acconfig.h
4189124123b ./libf2c/libU77/aclocal.m4
@@ -5757,6 +1948,7 @@
1946347792b ./libf2c/libU77/config.hin
2761696709b ./libf2c/libU77/configure
1049590455b ./libf2c/libU77/configure.in
+2637011133b ./libf2c/libU77/COPYING.LIB
2938494220b ./libf2c/libU77/ctime_.c
1581466296b ./libf2c/libU77/date_.c
1509989013b ./libf2c/libU77/datetime_.c
@@ -5787,9 +1979,12 @@
1995276793b ./libf2c/libU77/lnblnk_.c
3149128167b ./libf2c/libU77/lstat_.c
2950191035b ./libf2c/libU77/ltime_.c
+2747046004b ./libf2c/libU77/Makefile.in
2455391013b ./libf2c/libU77/mclock_.c
4183902576b ./libf2c/libU77/perror_.c
+ 572996563b ./libf2c/libU77/PROJECTS
3798879256b ./libf2c/libU77/rand_.c
+2980229902b ./libf2c/libU77/README
2297401196b ./libf2c/libU77/rename_.c
91467825b ./libf2c/libU77/secnds_.c
3426498280b ./libf2c/libU77/second_.c
@@ -5804,17 +1999,17 @@
4227662958b ./libf2c/libU77/u77-test.f
387772730b ./libf2c/libU77/umask_.c
1230596654b ./libf2c/libU77/unlink_.c
+ 653953726b ./libf2c/libU77/Version.c
2130799769b ./libf2c/libU77/vxtidate_.c
225869800b ./libf2c/libU77/vxttime_.c
+ 481075804b ./libf2c/Makefile.in
1384146782b ./libf2c/permission.netlib
+3111321221b ./libf2c/README
49125193b ./libf2c/readme.netlib
-2637011133b ./libiberty/COPYING.LIB
-3239882639b ./libiberty/ChangeLog
-4017752505b ./libiberty/Makefile.in
-4016047250b ./libiberty/README
+ 308226469b ./libf2c/TODO
2735281877b ./libiberty/acconfig.h
-4130347236b ./libiberty/alloca-conf.h
3328478890b ./libiberty/alloca.c
+4130347236b ./libiberty/alloca-conf.h
33013553b ./libiberty/argv.c
4095921893b ./libiberty/asprintf.c
244715449b ./libiberty/atexit.c
@@ -5823,33 +2018,36 @@
4095628943b ./libiberty/bcopy.c
1355398667b ./libiberty/bzero.c
2815379139b ./libiberty/calloc.c
+2736256076b ./libiberty/ChangeLog
354698691b ./libiberty/choose-temp.c
169448073b ./libiberty/clock.c
876083662b ./libiberty/concat.c
1987387424b ./libiberty/config.h-vms
2697801398b ./libiberty/config.in
-3328594913b ./libiberty/config.table
3500529335b ./libiberty/config/mh-aix
3476234501b ./libiberty/config/mh-cxux7
1235651640b ./libiberty/config/mh-fbsd21
2131807358b ./libiberty/config/mh-windows
+3328594913b ./libiberty/config.table
3518308570b ./libiberty/configure
3679856537b ./libiberty/configure.bat
2017474005b ./libiberty/configure.in
+2637011133b ./libiberty/COPYING.LIB
3602665671b ./libiberty/copysign.c
2264740542b ./libiberty/cplus-dem.c
2375131771b ./libiberty/fdmatch.c
1271920426b ./libiberty/floatformat.c
2785383756b ./libiberty/fnmatch.c
3219909843b ./libiberty/getcwd.c
-3178082722b ./libiberty/getopt.c
1831129985b ./libiberty/getopt1.c
+3178082722b ./libiberty/getopt.c
3222194456b ./libiberty/getpagesize.c
3642701231b ./libiberty/getruntime.c
2427662967b ./libiberty/hex.c
2509113063b ./libiberty/index.c
3649773387b ./libiberty/insque.c
2735028791b ./libiberty/makefile.dos
+4017752505b ./libiberty/Makefile.in
2646805026b ./libiberty/makefile.vms
3878644027b ./libiberty/memchr.c
621344439b ./libiberty/memcmp.c
@@ -5857,15 +2055,16 @@
453125218b ./libiberty/memmove.c
3145829545b ./libiberty/memset.c
2904718272b ./libiberty/mkstemps.c
+3930704547b ./libiberty/mpw.c
2010995764b ./libiberty/mpw-config.in
1580171809b ./libiberty/mpw-make.sed
-3930704547b ./libiberty/mpw.c
2503648631b ./libiberty/msdos.c
2705348313b ./libiberty/objalloc.c
800431187b ./libiberty/obstack.c
2232921109b ./libiberty/pexecute.c
298749640b ./libiberty/putenv.c
1572495658b ./libiberty/random.c
+4016047250b ./libiberty/README
2669806012b ./libiberty/rename.c
2259647700b ./libiberty/rindex.c
4196068288b ./libiberty/setenv.c
@@ -5883,8 +2082,8 @@
1897243725b ./libiberty/strtod.c
343411197b ./libiberty/strtol.c
294867931b ./libiberty/strtoul.c
-2389145348b ./libiberty/testsuite/Makefile.in
1321572716b ./libiberty/testsuite/demangle-expected
+2389145348b ./libiberty/testsuite/Makefile.in
1847764436b ./libiberty/testsuite/regress-demangle
1688081427b ./libiberty/tmpnam.c
2297185157b ./libiberty/vasprintf.c
@@ -5899,32 +2098,23 @@
2377368504b ./libiberty/xmalloc.c
1724714742b ./libiberty/xstrdup.c
2509140929b ./libiberty/xstrerror.c
-2676936588b ./libio/ChangeLog
-2390345359b ./libio/Makefile.in
-2778177928b ./libio/NEWS
-1839206347b ./libio/PlotFile.cc
-1734473134b ./libio/PlotFile.h
-3745289928b ./libio/README
-2365119821b ./libio/SFile.cc
-3862997842b ./libio/SFile.h
4194376285b ./libio/builtinbuf.cc
147728042b ./libio/builtinbuf.h
+3296701766b ./libio/ChangeLog
2265331360b ./libio/cleanup.c
-3647155764b ./libio/config.shared
863075231b ./libio/config/hpux.mt
3958419758b ./libio/config/isc.mt
-2009606708b ./libio/config/linux.mt
3136700900b ./libio/config/linuxaxp1-libc-lock.h
-1351029660b ./libio/config/linuxaxp1-stdio-lock.h
2386386160b ./libio/config/linuxaxp1.mt
+1351029660b ./libio/config/linuxaxp1-stdio-lock.h
3553940929b ./libio/config/linuxlibc1.mt
+2009606708b ./libio/config/linux.mt
736046846b ./libio/config/mn10200.mt
2337390500b ./libio/config/mtsafe.mt
1967085932b ./libio/config/netware.mt
3613302931b ./libio/config/sco4.mt
+3647155764b ./libio/config.shared
3532200497b ./libio/configure.in
-2075241739b ./libio/dbz/Makefile.in
-2356064683b ./libio/dbz/README
1278171427b ./libio/dbz/altbytes
3280508850b ./libio/dbz/byteflip.c
3075099010b ./libio/dbz/case.c
@@ -5938,21 +2128,23 @@
3639610345b ./libio/dbz/fake.c
2606687708b ./libio/dbz/firstlast25
1509228428b ./libio/dbz/getmap
+2075241739b ./libio/dbz/Makefile.in
3634181569b ./libio/dbz/random.c
+2356064683b ./libio/dbz/README
2555759418b ./libio/dbz/revbytes
3569928888b ./libio/dbz/stdio.h
1279672359b ./libio/depend
2948230925b ./libio/editbuf.cc
3226618890b ./libio/editbuf.h
-3873537080b ./libio/filebuf.cc
+3860799107b ./libio/filebuf.cc
1392841754b ./libio/filedoalloc.c
4138112945b ./libio/fileops.c
2898387812b ./libio/floatconv.c
1816553001b ./libio/floatio.h
3592543552b ./libio/fstream.cc
- 299843095b ./libio/fstream.h
- 757482856b ./libio/gen-params
+1169730972b ./libio/fstream.h
748297484b ./libio/genops.c
+ 757482856b ./libio/gen-params
2773979595b ./libio/include/empty.h
4123879326b ./libio/indstream.cc
4294052401b ./libio/indstream.h
@@ -5979,7 +2171,7 @@
1970748550b ./libio/iogetline.c
1120049602b ./libio/iogets.c
2058656960b ./libio/ioignore.c
-3347367263b ./libio/iolibio.h
+3189700616b ./libio/iolibio.h
773210395b ./libio/iomanip.cc
3321477813b ./libio/iomanip.h
168010012b ./libio/iopadn.c
@@ -5997,10 +2189,10 @@
4197952251b ./libio/iosprintf.c
684845505b ./libio/iosscanf.c
126884166b ./libio/iostdio.h
-2445425897b ./libio/iostream.cc
+4003502161b ./libio/iostream.cc
1367738252b ./libio/iostream.h
- 900394632b ./libio/iostream.texi
724185980b ./libio/iostreamP.h
+ 900394632b ./libio/iostream.texi
2266620976b ./libio/iostrerror.c
1504845341b ./libio/ioungetc.c
3172078371b ./libio/iovfprintf.c
@@ -6011,25 +2203,31 @@
105613686b ./libio/isgetsb.cc
2661167259b ./libio/isscan.cc
206584630b ./libio/istream.h
-3949777927b ./libio/libio.h
-2423033645b ./libio/libioP.h
+3623270479b ./libio/libio.h
+3509602408b ./libio/libioP.h
+2390345359b ./libio/Makefile.in
+2778177928b ./libio/NEWS
4004983993b ./libio/osform.cc
206584630b ./libio/ostream.h
3277082473b ./libio/outfloat.c
3994216106b ./libio/parsestream.cc
-3656641000b ./libio/parsestream.h
+ 166126510b ./libio/parsestream.h
3469115631b ./libio/peekc.c
2293291193b ./libio/pfstream.cc
1224814660b ./libio/pfstream.h
+1839206347b ./libio/PlotFile.cc
+1734473134b ./libio/PlotFile.h
3165888289b ./libio/procbuf.cc
3903586123b ./libio/procbuf.h
+3745289928b ./libio/README
3862518594b ./libio/sbform.cc
814340336b ./libio/sbgetline.cc
2309658982b ./libio/sbscan.cc
+2365119821b ./libio/SFile.cc
+3862997842b ./libio/SFile.h
1179188179b ./libio/stdfiles.c
-2581813114b ./libio/stdio/ChangeLog
+ 796114288b ./libio/stdio/ChangeLog
531444633b ./libio/stdio/ChangeLog.old
-2580375189b ./libio/stdio/Makefile.in
4223233278b ./libio/stdio/clearerr.c
1555657474b ./libio/stdio/clearerr_u.c
3561044537b ./libio/stdio/configure.in
@@ -6045,17 +2243,18 @@
2481547413b ./libio/stdio/freopen.c
4038328411b ./libio/stdio/fseek.c
2790088986b ./libio/stdio/getc.c
-1140857223b ./libio/stdio/getc_u.c
1650054989b ./libio/stdio/getchar.c
682966141b ./libio/stdio/getchar_u.c
+1140857223b ./libio/stdio/getc_u.c
2544604936b ./libio/stdio/getline.c
981141110b ./libio/stdio/getw.c
+2580375189b ./libio/stdio/Makefile.in
536637384b ./libio/stdio/obprintf.c
2215262105b ./libio/stdio/popen.c
547858581b ./libio/stdio/putc.c
-3689915525b ./libio/stdio/putc_u.c
694997692b ./libio/stdio/putchar.c
295167963b ./libio/stdio/putchar_u.c
+3689915525b ./libio/stdio/putc_u.c
3810456385b ./libio/stdio/putw.c
1412052881b ./libio/stdio/rewind.c
1529208793b ./libio/stdio/setbuf.c
@@ -6063,35 +2262,35 @@
1504325380b ./libio/stdio/setlinebuf.c
3239397115b ./libio/stdio/snprintf.c
364120565b ./libio/stdio/stdio.h
+ 640251772b ./libio/stdiostream.cc
+ 317477001b ./libio/stdiostream.h
4097646286b ./libio/stdio/vasprintf.c
4012743512b ./libio/stdio/vfprintf.c
1548696338b ./libio/stdio/vfscanf.c
242032189b ./libio/stdio/vprintf.c
4163559183b ./libio/stdio/vscanf.c
2656367363b ./libio/stdio/vsnprintf.c
- 640251772b ./libio/stdiostream.cc
- 317477001b ./libio/stdiostream.h
3925396300b ./libio/stdstrbufs.cc
-1775344136b ./libio/stdstreams.cc
-3657918999b ./libio/stream.cc
-1250532732b ./libio/stream.h
+1143821051b ./libio/stdstreams.cc
3859541986b ./libio/streambuf.cc
-4051074627b ./libio/streambuf.h
+ 17859617b ./libio/streambuf.h
+3657918999b ./libio/stream.cc
+ 173908312b ./libio/stream.h
1995951033b ./libio/strfile.h
512029605b ./libio/strops.c
1165036966b ./libio/strstream.cc
- 160448675b ./libio/strstream.h
- 760714206b ./libio/tests/ChangeLog
-3161360046b ./libio/tests/Makefile.in
+2990392982b ./libio/strstream.h
+2702125204b ./libio/tests/ChangeLog
4275790996b ./libio/tests/configure.in
3590880906b ./libio/tests/hounddog.cc
3674844182b ./libio/tests/hounddog.exp
1475148939b ./libio/tests/hounddog.inp
+3161360046b ./libio/tests/Makefile.in
1907782383b ./libio/tests/putbackdog.cc
+2806477238b ./libio/tests/tfformat.c
2094676083b ./libio/tests/tFile.cc
1203674425b ./libio/tests/tFile.exp
2833248335b ./libio/tests/tFile.inp
-2806477238b ./libio/tests/tfformat.c
3956955633b ./libio/tests/tiformat.c
2723761625b ./libio/tests/tiomanip.cc
612490440b ./libio/tests/tiomanip.exp
@@ -6099,29 +2298,21 @@
1660016937b ./libio/tests/tiomisc.exp
2914030173b ./libio/tests/tstdiomisc.c
3284359901b ./libio/tests/tstdiomisc.exp
-1245855783b ./libio/testsuite/ChangeLog
-2566597489b ./libio/testsuite/Makefile.in
+3879134172b ./libio/testsuite/ChangeLog
1230501773b ./libio/testsuite/config/default.exp
3169562340b ./libio/testsuite/configure.in
- 19817386b ./libio/testsuite/lib/libio.exp
2483970923b ./libio/testsuite/libio.tests/hounddog.exp
2416624286b ./libio/testsuite/libio.tests/putbackdog.exp
-2904490330b ./libio/testsuite/libio.tests/tFile.exp
191043273b ./libio/testsuite/libio.tests/tfformat.exp
+2904490330b ./libio/testsuite/libio.tests/tFile.exp
2848159500b ./libio/testsuite/libio.tests/tiformat.exp
883822692b ./libio/testsuite/libio.tests/tiomanip.exp
1658003010b ./libio/testsuite/libio.tests/tiomisc.exp
3206451440b ./libio/testsuite/libio.tests/tstdiomisc.exp
-1688575989b ./libobjc/ChangeLog
-4035593071b ./libobjc/Makefile.in
- 638422313b ./libobjc/NXConstStr.m
-1526865132b ./libobjc/Object.m
-3962273975b ./libobjc/Protocol.m
-3823063152b ./libobjc/README
- 749035591b ./libobjc/README.threads
-1199102574b ./libobjc/THREADS
-4055902911b ./libobjc/THREADS.MACH
+ 19817386b ./libio/testsuite/lib/libio.exp
+2566597489b ./libio/testsuite/Makefile.in
605856870b ./libobjc/archive.c
+2985718156b ./libobjc/ChangeLog
3067716864b ./libobjc/class.c
3378798923b ./libobjc/configure
3677824557b ./libobjc/configure.in
@@ -6133,27 +2324,36 @@
4072125181b ./libobjc/libobjc_entry.c
4260228535b ./libobjc/linking.m
2398517524b ./libobjc/makefile.dos
+4035593071b ./libobjc/Makefile.in
687879051b ./libobjc/misc.c
1752870170b ./libobjc/nil_method.c
-1940424288b ./libobjc/objc-features.texi
-1937854528b ./libobjc/objc/NXConstStr.h
-1680445531b ./libobjc/objc/Object.h
-1933435138b ./libobjc/objc/Protocol.h
+ 638422313b ./libobjc/NXConstStr.m
1692177559b ./libobjc/objc/encoding.h
+1940424288b ./libobjc/objc-features.texi
991318077b ./libobjc/objc/hash.h
+1937854528b ./libobjc/objc/NXConstStr.h
3584280142b ./libobjc/objc/objc-api.h
-4254191937b ./libobjc/objc/objc-list.h
2946018502b ./libobjc/objc/objc.h
+1569406371b ./libobjc/objc/objc-list.h
+1680445531b ./libobjc/objc/Object.h
+ 226797930b ./libobjc/objc/Protocol.h
1775267864b ./libobjc/objc/runtime.h
1609667340b ./libobjc/objc/sarray.h
3991042429b ./libobjc/objc/thr.h
2746948162b ./libobjc/objc/typedstream.h
+1526865132b ./libobjc/Object.m
2760949240b ./libobjc/objects.c
+3962273975b ./libobjc/Protocol.m
+3823063152b ./libobjc/README
+ 749035591b ./libobjc/README.threads
3373133429b ./libobjc/sarray.c
791617547b ./libobjc/selector.c
- 109333362b ./libobjc/sendmsg.c
+1001444343b ./libobjc/sendmsg.c
+1809950502b ./libobjc/thr.c
3414327023b ./libobjc/thr-dce.c
2193934747b ./libobjc/thr-decosf1.c
+1199102574b ./libobjc/THREADS
+4055902911b ./libobjc/THREADS.MACH
570456722b ./libobjc/thr-irix.c
1715842563b ./libobjc/thr-mach.c
2841374444b ./libobjc/thr-os2.c
@@ -6163,14 +2363,11 @@
60531382b ./libobjc/thr-solaris.c
2005277748b ./libobjc/thr-vxworks.c
2963027857b ./libobjc/thr-win32.c
-1809950502b ./libobjc/thr.c
-2606673376b ./libstdc++/ChangeLog
- 84454778b ./libstdc++/Makefile.in
-3677480652b ./libstdc++/NEWS
2516576725b ./libstdc++/cassert
3909388294b ./libstdc++/cctype
739562956b ./libstdc++/cerrno
2797999855b ./libstdc++/cfloat
+1284523235b ./libstdc++/ChangeLog
3987604938b ./libstdc++/cinst.cc
3501589610b ./libstdc++/ciso646
2331350423b ./libstdc++/climits
@@ -6197,8 +2394,8 @@
4096894018b ./libstdc++/config/sol2shm.ml
2091399237b ./libstdc++/config/sol2solth.mt
1502161104b ./libstdc++/config/sunos4.ml
-1755727990b ./libstdc++/config/x86-interix.ml
1032496632b ./libstdc++/configure.in
+1755727990b ./libstdc++/config/x86-interix.ml
2303897588b ./libstdc++/csetjmp
1186041650b ./libstdc++/csignal
2162743197b ./libstdc++/cstdarg
@@ -6215,47 +2412,50 @@
1848554462b ./libstdc++/iomanip
4252037106b ./libstdc++/iosfwd
3612241682b ./libstdc++/iostream
+2732344053b ./libstdc++/Makefile.in
+3677480652b ./libstdc++/NEWS
2249942730b ./libstdc++/sinst.cc
-1102661640b ./libstdc++/std/bastring.cc
-2498585587b ./libstdc++/std/bastring.h
-2310318795b ./libstdc++/std/complext.cc
+3946235411b ./libstdc++/sstream
+1561088521b ./libstdc++/std/bastring.cc
+ 103173366b ./libstdc++/std/bastring.h
+ 554430013b ./libstdc++/std/complext.cc
348511172b ./libstdc++/std/complext.h
2664934083b ./libstdc++/std/dcomplex.h
+1325247176b ./libstdc++/stdexcept
+3656768290b ./libstdc++/stdexcepti.cc
3424942577b ./libstdc++/std/fcomplex.h
-1351514047b ./libstdc++/std/gslice.h
2214556284b ./libstdc++/std/gslice_array.h
+1351514047b ./libstdc++/std/gslice.h
57436398b ./libstdc++/std/indirect_array.h
3263662379b ./libstdc++/std/ldcomplex.h
3552880930b ./libstdc++/std/mask_array.h
-1042140122b ./libstdc++/std/slice.h
3062835292b ./libstdc++/std/slice_array.h
+1042140122b ./libstdc++/std/slice.h
1391859698b ./libstdc++/std/std_valarray.h
2661359535b ./libstdc++/std/straits.h
-2298642080b ./libstdc++/std/valarray_array.h
+3843151591b ./libstdc++/std/valarray_array.h
71019618b ./libstdc++/std/valarray_array.tcc
-3463326893b ./libstdc++/std/valarray_meta.h
-1325247176b ./libstdc++/stdexcept
-3656768290b ./libstdc++/stdexcepti.cc
-3655692358b ./libstdc++/stl.h
-2066461157b ./libstdc++/stl/ChangeLog
-1771543811b ./libstdc++/stl/README
- 337637047b ./libstdc++/stl/algo.h
+1491824696b ./libstdc++/std/valarray_meta.h
1793430325b ./libstdc++/stl/algobase.h
+ 337637047b ./libstdc++/stl/algo.h
1239456689b ./libstdc++/stl/algorithm
2123302443b ./libstdc++/stl/alloc.h
- 58393510b ./libstdc++/stl/bitset
+1564384875b ./libstdc++/stl/bitset
3916268080b ./libstdc++/stl/bvector.h
+1080389581b ./libstdc++/stl/ChangeLog
449078902b ./libstdc++/stl/defalloc.h
3178480764b ./libstdc++/stl/deque
3808147062b ./libstdc++/stl/deque.h
-2545358141b ./libstdc++/stl/function.h
2654535795b ./libstdc++/stl/functional
+2545358141b ./libstdc++/stl/function.h
+3655692358b ./libstdc++/stl.h
1295672411b ./libstdc++/stl/hash_map
50968967b ./libstdc++/stl/hash_map.h
3082728694b ./libstdc++/stl/hash_set
262670658b ./libstdc++/stl/hash_set.h
3336988491b ./libstdc++/stl/hashtable.h
93866534b ./libstdc++/stl/heap.h
+2351835854b ./libstdc++/stlinst.cc
2130955697b ./libstdc++/stl/iterator
3615188542b ./libstdc++/stl/iterator.h
1371453800b ./libstdc++/stl/list
@@ -6270,6 +2470,7 @@
629893259b ./libstdc++/stl/pthread_alloc
360022506b ./libstdc++/stl/pthread_alloc.h
2009114277b ./libstdc++/stl/queue
+1771543811b ./libstdc++/stl/README
919894984b ./libstdc++/stl/rope
650690078b ./libstdc++/stl/rope.h
971050590b ./libstdc++/stl/ropeimpl.h
@@ -6279,13 +2480,13 @@
364531500b ./libstdc++/stl/slist.h
772005731b ./libstdc++/stl/stack
963570706b ./libstdc++/stl/stack.h
-1835781933b ./libstdc++/stl/stl_algo.h
2334578217b ./libstdc++/stl/stl_algobase.h
+1835781933b ./libstdc++/stl/stl_algo.h
2862923138b ./libstdc++/stl/stl_alloc.h
131893617b ./libstdc++/stl/stl_bvector.h
1795298057b ./libstdc++/stl/stl_config.h
3337345269b ./libstdc++/stl/stl_construct.h
-1667778133b ./libstdc++/stl/stl_deque.h
+4019276960b ./libstdc++/stl/stl_deque.h
1800258908b ./libstdc++/stl/stl_function.h
1040773216b ./libstdc++/stl/stl_hash_fun.h
4278535125b ./libstdc++/stl/stl_hash_map.h
@@ -6302,7 +2503,7 @@
864968925b ./libstdc++/stl/stl_queue.h
3312484350b ./libstdc++/stl/stl_raw_storage_iter.h
2384091075b ./libstdc++/stl/stl_relops.h
-3568884211b ./libstdc++/stl/stl_rope.h
+2597643485b ./libstdc++/stl/stl_rope.h
4176745833b ./libstdc++/stl/stl_set.h
1375936906b ./libstdc++/stl/stl_slist.h
4249437084b ./libstdc++/stl/stl_stack.h
@@ -6316,12 +2517,11 @@
1758410924b ./libstdc++/stl/utility
1313796109b ./libstdc++/stl/vector
3931466599b ./libstdc++/stl/vector.h
-2351835854b ./libstdc++/stlinst.cc
3905981553b ./libstdc++/string
4274952910b ./libstdc++/strstream
-4289043752b ./libstdc++/tests/ChangeLog
-1190480729b ./libstdc++/tests/Makefile.in
+2595671692b ./libstdc++/tests/ChangeLog
3722269248b ./libstdc++/tests/configure.in
+1190480729b ./libstdc++/tests/Makefile.in
932490928b ./libstdc++/tests/tcomplex.cc
2256442937b ./libstdc++/tests/tcomplex.exp
4047639851b ./libstdc++/tests/tcomplex.inp
@@ -6334,41 +2534,35 @@
2025066765b ./libstdc++/tests/tstring.inp
236450600b ./libstdc++/tests/tvector.cc
2833371777b ./libstdc++/tests/tvector.exp
-4211363967b ./libstdc++/testsuite/ChangeLog
- 53069919b ./libstdc++/testsuite/Makefile.in
+2272344875b ./libstdc++/testsuite/ChangeLog
1230501773b ./libstdc++/testsuite/config/default.exp
305406486b ./libstdc++/testsuite/configure.in
2971477386b ./libstdc++/testsuite/lib/libstdc++.exp
631859611b ./libstdc++/testsuite/libstdc++.tests/test.exp
+ 53069919b ./libstdc++/testsuite/Makefile.in
3097225277b ./libstdc++/valarray
422203026b ./libstdc++/valarray.cc
4225874335b ./ltconfig
23768362b ./ltmain.sh
+ 104875702b ./MAINTAINERS
+3026518559b ./Makefile.in
4162842036b ./missing
4236112450b ./mkinstalldirs
902556840b ./move-if-change
+1935170490b ./README
3014264078b ./symlink-tree
422488038b ./texinfo/ABOUT-NLS
-2274278886b ./texinfo/AUTHORS
- 430871781b ./texinfo/COPYING
-4104735959b ./texinfo/ChangeLog
-3932743515b ./texinfo/INSTALL
-1670374630b ./texinfo/INTRODUCTION
- 20997403b ./texinfo/Makefile.am
-2667709874b ./texinfo/Makefile.in
-2456883787b ./texinfo/NEWS
- 939039628b ./texinfo/README
-4194708969b ./texinfo/README-alpha
-2013250676b ./texinfo/THANKS
-2313364795b ./texinfo/TODO
4092622231b ./texinfo/acconfig.h
3892192340b ./texinfo/acinclude.m4
1818562438b ./texinfo/aclocal.m4
+2274278886b ./texinfo/AUTHORS
+3309356478b ./texinfo/ChangeLog
1315260558b ./texinfo/config.guess
3200477370b ./texinfo/config.h.in
3966557687b ./texinfo/config.sub
3304182169b ./texinfo/configure
2081586187b ./texinfo/configure.in
+ 430871781b ./texinfo/COPYING
326028421b ./texinfo/cygnus/Makefile.in
1315037385b ./texinfo/cygnus/texinfo.tex
2593571507b ./texinfo/cygnus/texiplus.tex
@@ -6376,36 +2570,32 @@
792184885b ./texinfo/dir
3304044212b ./texinfo/dir-example
2139861464b ./texinfo/dir.info-template
-3198634674b ./texinfo/doc/Makefile.am
- 713005243b ./texinfo/doc/Makefile.in
-2740653009b ./texinfo/doc/README
3826213895b ./texinfo/doc/epsf.tex
660998107b ./texinfo/doc/info-stnd.texi
1533813456b ./texinfo/doc/info.texi
4047996362b ./texinfo/doc/macro.texi
+3198634674b ./texinfo/doc/Makefile.am
+ 713005243b ./texinfo/doc/Makefile.in
+2740653009b ./texinfo/doc/README
1143415264b ./texinfo/doc/texinfo.tex
729519619b ./texinfo/doc/texinfo.texi
2717651420b ./texinfo/doc/texinfo.txi
3664971266b ./texinfo/doc/userdoc.texi
-3268267971b ./texinfo/emacs/Makefile.am
-3903021574b ./texinfo/emacs/Makefile.in
-2833836046b ./texinfo/emacs/README
1580887266b ./texinfo/emacs/detexinfo.el
3301909409b ./texinfo/emacs/elisp-comp
4267905953b ./texinfo/emacs/info.el
883633766b ./texinfo/emacs/informat.el
+3268267971b ./texinfo/emacs/Makefile.am
+3903021574b ./texinfo/emacs/Makefile.in
2618083764b ./texinfo/emacs/makeinfo.el
3318259411b ./texinfo/emacs/new-useful-setqs
+2833836046b ./texinfo/emacs/README
1035294818b ./texinfo/emacs/texinfmt.el
3899145430b ./texinfo/emacs/texinfo.el
2114576468b ./texinfo/emacs/texnfo-tex.el
1830205302b ./texinfo/emacs/texnfo-upd.el
735767552b ./texinfo/gen-info-dir
1807174244b ./texinfo/gpl.texinfo
-1741855739b ./texinfo/info/Makefile.am
-1618175998b ./texinfo/info/Makefile.in
-3752294279b ./texinfo/info/NEWS
-2275896429b ./texinfo/info/README
1419012559b ./texinfo/info/clib.c
1702191134b ./texinfo/info/clib.h
2482141158b ./texinfo/info/dir.c
@@ -6415,10 +2605,10 @@
3312314068b ./texinfo/info/doc.h
95508657b ./texinfo/info/dribble.c
1429936122b ./texinfo/info/dribble.h
-3383747464b ./texinfo/info/echo-area.c
- 802630900b ./texinfo/info/echo-area.h
52394048b ./texinfo/info/echo_area.c
+3383747464b ./texinfo/info/echo-area.c
3360125135b ./texinfo/info/echo_area.h
+ 802630900b ./texinfo/info/echo-area.h
1681484123b ./texinfo/info/filesys.c
3085693604b ./texinfo/info/filesys.h
3611999168b ./texinfo/info/footnotes.c
@@ -6429,23 +2619,27 @@
2880943096b ./texinfo/info/general.h
1643769032b ./texinfo/info/indices.c
1625766310b ./texinfo/info/indices.h
- 439078129b ./texinfo/info/info-stnd.texi
-1134986012b ./texinfo/info/info-utils.c
-2729648091b ./texinfo/info/info-utils.h
4190102428b ./texinfo/info/info.1
3200602615b ./texinfo/info/info.c
-1499645712b ./texinfo/info/info.h
-3517783883b ./texinfo/info/info.texi
737516417b ./texinfo/info/infodoc.c
+1499645712b ./texinfo/info/info.h
3704362534b ./texinfo/info/infomap.c
4254631691b ./texinfo/info/infomap.h
-1477971895b ./texinfo/info/m-x.c
+ 439078129b ./texinfo/info/info-stnd.texi
+3517783883b ./texinfo/info/info.texi
+1134986012b ./texinfo/info/info-utils.c
+2729648091b ./texinfo/info/info-utils.h
919307228b ./texinfo/info/makedoc.c
+1741855739b ./texinfo/info/Makefile.am
+1618175998b ./texinfo/info/Makefile.in
123396366b ./texinfo/info/man.c
4282569250b ./texinfo/info/man.h
+1477971895b ./texinfo/info/m-x.c
+3752294279b ./texinfo/info/NEWS
2288239572b ./texinfo/info/nodemenu.c
1960187995b ./texinfo/info/nodes.c
2110822275b ./texinfo/info/nodes.h
+2275896429b ./texinfo/info/README
3360605566b ./texinfo/info/search.c
3609449595b ./texinfo/info/search.h
3868216836b ./texinfo/info/session.c
@@ -6463,11 +2657,10 @@
1592164980b ./texinfo/info/window.c
3828547314b ./texinfo/info/window.h
1950621923b ./texinfo/info/xmalloc.c
-3016192725b ./texinfo/intl/ChangeLog
-3457291048b ./texinfo/intl/Makefile.in
-1929213520b ./texinfo/intl/VERSION
+3932743515b ./texinfo/INSTALL
4095961629b ./texinfo/intl/bindtextdom.c
2763549264b ./texinfo/intl/cat-compat.c
+4268110712b ./texinfo/intl/ChangeLog
757126972b ./texinfo/intl/dcgettext.c
4105193222b ./texinfo/intl/dgettext.c
3003979503b ./texinfo/intl/explodename.c
@@ -6483,69 +2676,77 @@
4102842040b ./texinfo/intl/loadinfo.h
3403967159b ./texinfo/intl/loadmsgcat.c
527988159b ./texinfo/intl/localealias.c
+3457291048b ./texinfo/intl/Makefile.in
223588995b ./texinfo/intl/po2tbl.sed.in
1958438848b ./texinfo/intl/textdomain.c
+1929213520b ./texinfo/intl/VERSION
2960721199b ./texinfo/intl/xopen-msg.sed
+1670374630b ./texinfo/INTRODUCTION
46787189b ./texinfo/lgpl.texinfo
-3402766507b ./texinfo/lib/Makefile.am
-3580984504b ./texinfo/lib/Makefile.in
- 560910069b ./texinfo/lib/README
222849122b ./texinfo/lib/alloca.c
+3947434763b ./texinfo/lib/getopt1.c
9654218b ./texinfo/lib/getopt.c
1914093633b ./texinfo/lib/getopt.h
-3947434763b ./texinfo/lib/getopt1.c
+3377823797b ./texinfo/liblic.texi
+3402766507b ./texinfo/lib/Makefile.am
+3580984504b ./texinfo/lib/Makefile.in
3055303734b ./texinfo/lib/memcpy.c
446691847b ./texinfo/lib/memmove.c
+ 560910069b ./texinfo/lib/README
3540664704b ./texinfo/lib/strdup.c
4235360416b ./texinfo/lib/strerror.c
2384235250b ./texinfo/lib/system.h
-1950621923b ./texinfo/lib/xmalloc.c
-4069599781b ./texinfo/lib/xstrdup.c
-3377823797b ./texinfo/liblic.texi
- 306023120b ./texinfo/libtxi/Makefile.in
222849122b ./texinfo/libtxi/alloca.c
288219538b ./texinfo/libtxi/bzero.c
+ 19488452b ./texinfo/libtxi/getopt1.c
1512252428b ./texinfo/libtxi/getopt.c
3508337656b ./texinfo/libtxi/getopt.h
- 19488452b ./texinfo/libtxi/getopt1.c
+ 306023120b ./texinfo/libtxi/Makefile.in
3055303734b ./texinfo/libtxi/memcpy.c
446691847b ./texinfo/libtxi/memmove.c
3540664704b ./texinfo/libtxi/strdup.c
+1950621923b ./texinfo/lib/xmalloc.c
+4069599781b ./texinfo/lib/xstrdup.c
3295260160b ./texinfo/license.texi
-3843067758b ./texinfo/makeinfo/Makefile.am
-4148293928b ./texinfo/makeinfo/Makefile.in
-2934759165b ./texinfo/makeinfo/README
-4047996362b ./texinfo/makeinfo/macro.texi
+ 20997403b ./texinfo/Makefile.am
+2667709874b ./texinfo/Makefile.in
1231574645b ./texinfo/makeinfo/macros/example.texi
3207519225b ./texinfo/makeinfo/macros/html.texi
2763193877b ./texinfo/makeinfo/macros/multifmt.texi
1454209901b ./texinfo/makeinfo/macros/res-samp.texi
70035262b ./texinfo/makeinfo/macros/resume.texi
2057724373b ./texinfo/makeinfo/macros/simpledoc.texi
+4047996362b ./texinfo/makeinfo/macro.texi
+3843067758b ./texinfo/makeinfo/Makefile.am
+4148293928b ./texinfo/makeinfo/Makefile.in
1703235527b ./texinfo/makeinfo/makeinfo.c
1062648373b ./texinfo/makeinfo/makeinfo.h
1604761989b ./texinfo/makeinfo/makeinfo.texi
3801376154b ./texinfo/makeinfo/multi.c
1664776300b ./texinfo/makeinfo/multiformat.texi
+2934759165b ./texinfo/makeinfo/README
1592681024b ./texinfo/missing
457782489b ./texinfo/mkinstalldirs
-1114893962b ./texinfo/po/ChangeLog
-3928520230b ./texinfo/po/Makefile.in.in
- 649172625b ./texinfo/po/POTFILES.in
+2456883787b ./texinfo/NEWS
640461845b ./texinfo/po/cat-id-tbl.c
+3867968187b ./texinfo/po/ChangeLog
1830096572b ./texinfo/po/de.gmo
2282914256b ./texinfo/po/de.po
3608177378b ./texinfo/po/fr.gmo
1085842507b ./texinfo/po/fr.po
+3928520230b ./texinfo/po/Makefile.in.in
+ 649172625b ./texinfo/po/POTFILES.in
216805921b ./texinfo/po/stamp-cat-id
1114231122b ./texinfo/po/texinfo.pot
+ 939039628b ./texinfo/README
+4194708969b ./texinfo/README-alpha
216805921b ./texinfo/stamp-h.in
- 169440069b ./texinfo/testsuite/ChangeLog
-2017219379b ./texinfo/testsuite/Makefile.in
+ 685158172b ./texinfo/testsuite/ChangeLog
222616344b ./texinfo/testsuite/config/unix.exp
3864106305b ./texinfo/testsuite/configure
3337486704b ./texinfo/testsuite/configure.in
672434007b ./texinfo/testsuite/lib/utils.exp
+2017219379b ./texinfo/testsuite/Makefile.in
4036806020b ./texinfo/testsuite/makeinfo.0/atnode.exp
1007825826b ./texinfo/testsuite/makeinfo.0/conditions.exp
805816595b ./texinfo/testsuite/makeinfo.0/mini.exp
@@ -6563,14 +2764,16 @@
3270708249b ./texinfo/testsuite/text/smstruct.texi
3089520793b ./texinfo/texinfo.tex
1799609944b ./texinfo/texinfo.texi
-1734451117b ./texinfo/util/Makefile.am
-4256544479b ./texinfo/util/Makefile.in
- 201553857b ./texinfo/util/README
+2013250676b ./texinfo/THANKS
+2313364795b ./texinfo/TODO
568966261b ./texinfo/util/deref.c
3384224904b ./texinfo/util/fixfonts
3110536827b ./texinfo/util/gen-dir-node
3397578435b ./texinfo/util/install-info.c
+1734451117b ./texinfo/util/Makefile.am
+4256544479b ./texinfo/util/Makefile.in
2282426066b ./texinfo/util/mkinstalldirs
+ 201553857b ./texinfo/util/README
2525518952b ./texinfo/util/tex3patch
320949218b ./texinfo/util/texi2dvi
2063597529b ./texinfo/util/texindex.c
diff --git a/gnu/dist/toolchain/ChangeLog b/gnu/dist/toolchain/ChangeLog
index 77d5478404f..45883be8b84 100644
--- a/gnu/dist/toolchain/ChangeLog
+++ b/gnu/dist/toolchain/ChangeLog
@@ -1,3 +1,11 @@
+Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
+
+ * gcc-2.95.3 Released.
+
+Tue Mar 7 21:48:55 2000 Jeffrey A Law (law@cygnus.com)
+
+ * config.guess: Fix detection of ReliantUNIX.
+
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
* gcc-2.95.2 Released.
diff --git a/gnu/dist/toolchain/FAQ b/gnu/dist/toolchain/FAQ
index 7d861f757b3..d29e31fd9a4 100644
--- a/gnu/dist/toolchain/FAQ
+++ b/gnu/dist/toolchain/FAQ
@@ -1,17 +1,17 @@
GCC Frequently Asked Questions
-
+
The latest version of this document is always available at
[1]http://www.gnu.org/software/gcc/faq.html.
-
+
This FAQ tries to answer specific questions concerning GCC. For
general information regarding C, C++, resp. Fortran please check the
[2]comp.lang.c FAQ, [3]comp.lang.c++ FAQ, [4]comp.std.c++ FAQ, and the
[5]Fortran Information page.
_________________________________________________________________
-
+
Questions
-
+
1. [6]General information
1. [7]What is the relationship between GCC and EGCS
2. [8]What is the relationship between GCC and Cygnus
@@ -63,9 +63,9 @@
them
16. [51]What is libstdc++-v3 and how can I use it with g++?
_________________________________________________________________
-
+
General information
-
+
What is the relationship between GCC and EGCS
In 1990/1991 gcc version 1 had reached a point of stability. For the
@@ -73,40 +73,40 @@ What is the relationship between GCC and EGCS
in its design that would be difficult to resolve, so a major effort
was made to resolve those limitiations and gcc version 2 was the
result.
-
+
When we had gcc2 in a useful state, development efforts on gcc1
stopped and we all concentrated on making gcc2 better than gcc1 could
ever be. This is the kind of step forward we wanted to make with the
EGCS project when it was formed in 1997.
-
+
In April 1999 the Free Software Foundation officially halted
development on the gcc2 compiler and appointed the EGCS project as the
official GCC maintainers.
-
+
We are in the process of merging GCC and EGCS, which will take some
time. The net result will be a single project which will carry forward
GCC development under the ultimate control of the [52]GCC Steering
Committee.
_________________________________________________________________
-
+
What is the relationship between GCC and Cygnus
It is a common mis-conception that Cygnus controls either directly or
indirectly GCC.
-
+
While Cygnus does donate hardware, network connections, code and
developer time to GCC development, Cygnus does not control GCC.
-
+
Overall control of GCC is in the hands of the [53]GCC Steering
Committee which includes people from a variety of different
organizations and backgrounds. The purpose of the steering committee
is to make decisions in the best interest of GCC and to help ensure
that no individual or company has control over the project.
-
+
To summarize, Cygnus contributes to GCCproject, but does not exert a
controlling influence over GCC.
_________________________________________________________________
-
+
What is an open development model?
With GCC, we are going to try a bazaar style[54][1] approach to its
@@ -115,34 +115,34 @@ What is an open development model?
mailing list. All of the discussions on the development mailing list
are available via the web. We're going to be making releases with a
much higher frequency than they have been made in the past.
-
+
In addition to weekly snapshots of the GCC development sources, we
have the sources readable from a CVS server by anyone. Furthermore we
are using remote CVS to allow remote maintainers write access to the
sources.
-
+
There have been many potential gcc developers who were not able to
participate in gcc development in the past. We want these people to
help in any way they can; we ultimately want GCC to be the best
compiler in the world.
-
+
A compiler is a complicated piece of software, there will still be
strong central maintainers who will reject patches, who will demand
documentation of implementations, and who will keep the level of
quality as high as it is today. Code that could use wider testing may
be integrated--code that is simply ill-conceived won't be.
-
+
GCC is not the first piece of software to use this open development
process; FreeBSD, the Emacs lisp repository, and the Linux kernel are
a few examples of the bazaar style of development.
-
+
With GCC, we will be adding new features and optimizations at a rate
that has not been done since the creation of gcc2; these additions
will inevitably have a temporarily destabilizing effect. With the help
of developers working together with this bazaar style development, the
resulting stability and quality levels will be better than we've had
before.
-
+
_[1]_ We've been discussing different development models a lot over
the past few months. The paper which started all of this introduced
two terms: A _cathedral_ development model versus a _bazaar_
@@ -150,7 +150,7 @@ What is an open development model?
called ``[55]The Cathedral and the Bazaar''. The paper is a useful
starting point for discussions.
_________________________________________________________________
-
+
How to report bugs
There are complete instructions in the [56]gcc info manual, section
@@ -158,12 +158,12 @@ How to report bugs
the GNU info program is installed on your system by `info --node
"(gcc)Bugs"'. Or see the file [57]BUGS included with the GCC source
code.
-
+
Before you report a bug for the _C++ compiler_, please check the
[58]list of well-known bugs. If you want to report a bug with _egcs
1.0.x_ or _egcs 1.1.x_, we strongly recommend upgrading to the current
release first.
-
+
In short, if GCC says Internal compiler error (or any other error that
you'd like us to be able to reproduce, for that matter), please mail a
bug report to [59]gcc-bugs@gcc.gnu.org or [60]bug-gcc@gnu.org
@@ -173,31 +173,31 @@ How to report bugs
* All options you passed to the compiler
* Preprocessed output of the source file that caused the compiler
error
-
+
All this can normally be accomplished by mailing the command line, the
output of the command, and the resulting `_your-file_.i' for C, or
`_your-file_.ii' for C++, corresponding to:
-
+
gcc -v --save-temps _all-your-options_ _your-file_.c
-
+
Typically the CPP output (extension .i for C or .ii for C++) will be
large, so please compress the resulting file with one of the popular
compression programs such as bzip2, gzip, zip, pkzip or compress (in
decreasing order of preference). Use maximum compression (-9) if
available. Please include the compressed CPP output in your bug
report.
-
+
Since we're supposed to be able to re-create the assembly output
(extension .s), you usually don't have to include it in the bug
report, although you may want to post parts of it to point out
assembly code you consider to be wrong.
-
+
Whether to use MIME attachments or uuencode is up to you. In any case,
make sure the compiler command line, version and error output are in
plain text, so that we don't have to decode the bug report in order to
tell who should take care of it. A meaningful subject indicating
language and platform also helps.
-
+
The gcc lists have message size limits (100 kbytes) and bug reports
over those limits will currently be bounced. We're trying to find a
way to allow larger bug reports to be posted, but this is currently
@@ -209,7 +209,7 @@ How to report bugs
output in multiple files (using split, for example) and post them in
separate messages, but we prefer to have self-contained bug reports in
single messages.
-
+
If you fail to supply enough information for a bug report to be
reproduced, someone will probably ask you to post additional
information (or just ignore your bug report, if they're in a bad day,
@@ -220,7 +220,7 @@ How to report bugs
supplied in the incomplete bug report (including the preprocessor
output), so that the new bug report is self-contained.
_________________________________________________________________
-
+
How do I get a bug fixed or a feature added?
There are lots of ways to get something fixed. The list below may be
@@ -247,44 +247,44 @@ How do I get a bug fixed or a feature added?
of your changes, your code may or may not ever make it into an
official release of GCC.
_________________________________________________________________
-
+
Installation
-
+
Problems building the Fortran compiler
The Fortran front end can not be built with most vendor compilers; it
must be built with gcc. As a result, you may get an error if you do
not follow the install instructions carefully.
-
+
In particular, instead of using "make" to build GCC, you should use
"make bootstrap" if you are building a native compiler or "make cross"
if you are building a cross compiler.
-
+
It has also been reported that the Fortran compiler can not be built
on Red Hat 4.X GNU/Linux for the Alpha. Fixing this may require
upgrading binutils or to Red Hat 5.0; we'll provide more information
as it becomes available.
_________________________________________________________________
-
+
How to install multiple versions of gcc
It may be desirable to install multiple versions of the compiler on
the same system. This can be done by using different prefix paths at
configure time and a few symlinks.
-
+
Basically, configure the two compilers with different --prefix
options, then build and install each compiler. Assume you want "gcc"
to be the latest compiler and available in /usr/local/bin; also assume
that you want "gcc2" to be the older gcc2 compiler and also available
in /usr/local/bin.
-
+
The easiest way to do this is to configure the new GCC with
--prefix=/usr/local/gcc and the older gcc2 with
--prefix=/usr/local/gcc2. Build and install both compilers. Then make
a symlink from /usr/local/bin/gcc to /usr/local/gcc/bin/gcc and from
/usr/local/bin/gcc2 to /usr/local/gcc2/bin/gcc. Create similar links
for the "g++", "c++" and "g77" compiler drivers.
-
+
An alternative to using symlinks is to configure with a
--program-transform-name option. This option specifies a sed command
to process installed program names with. Using it you can, for
@@ -303,46 +303,46 @@ How to install multiple versions of gcc
/usr/local/gcc/bin with names prefixed by "new-". You can use
--program-transform-name if you have multiple versions of GCC, and
wish to be sure about which version you are invoking.
-
+
If you use --prefix, GCC may have difficulty locating a GNU assembler
or linker on your system, [62]GCC can not find GNU as/GNU ld explains
how to deal with this.
_________________________________________________________________
-
+
Dynamic linker is unable to find GCC libraries
This problem manifests itself by programs not finding shared libraries
they depend on when the programs are started. Note this problem often
manifests itself with failures in the libio/libstdc++ tests after
configuring with --enable-shared and building GCC.
-
+
GCC does not specify a runpath so that the dynamic linker can find
dynamic libraries at runtime.
-
+
The short explanation is that if you always pass a -R option to the
linker, then your programs become dependent on directories which may
be NFS mounted, and programs may hang unnecessarily when an NFS server
goes down.
-
+
The problem is not programs that do require the directories; those
programs are going to hang no matter what you do. The problem is
programs that do not require the directories.
-
+
SunOS effectively always passed a -R option for every -L option; this
was a bad idea, and so it was removed for Solaris. We should not
recreate it.
-
+
However, if you feel you really need such an option to be passed
automatically to the linker, you may add it to the gcc specs file.
This file can be found in the same directory that contains cc1 (run
gcc -print-prog-name=cc1 to find it). You may add linker flags such as
-R or -rpath, depending on platform and linker, to the *link or *lib
specs.
-
+
Another alterative is to install a wrapper script around gcc, g++ or
ld that adds the appropriate directory to the environment variable
LD_RUN_PATH or equivalent (again, it's platform-dependent).
-
+
Yet another option, that works on a few platforms, is to hard-code the
full pathname of the library into its soname. This can only be
accomplished by modifying the appropriate .ml file within
@@ -350,7 +350,7 @@ Dynamic linker is unable to find GCC libraries
so that $(libdir)/ appears just before the library name in -soname or
-h options.
_________________________________________________________________
-
+
GCC can not find GNU as/GNU ld
GCC searches the PATH for an assembler and a loader, but it only does
@@ -359,19 +359,19 @@ GCC can not find GNU as/GNU ld
which the system asembler and loader can be found, you may have to
take one of the following actions to arrange that gcc uses the GNU
versions of those programs.
-
+
To ensure that GCC finds the GNU assembler (the GNU loader), which are
required by [63]some configurations, you should configure these with
the same --prefix option as you used for GCC. Then build & install GNU
as (GNU ld) and proceed with building GCC.
-
+
Another alternative is to create links to GNU as and ld in any of the
directories printed by the command `gcc -print-search-dirs | grep
'^programs:''. The link to `ld' should be named `real-ld' if `ld'
already exists. If such links do not exist while you're compiling GCC,
you may have to create them in the build directories too, within the
gcc directory _and_ in all the gcc/stage* subdirectories.
-
+
GCC 2.95 allows you to specify the full pathname of the assembler and
the linker to use. The configure flags are `--with-as=/path/to/as' and
`--with-ld=/path/to/ld'. GCC will try to use these pathnames before
@@ -382,7 +382,7 @@ GCC can not find GNU as/GNU ld
you to override the search path for assembler and linker with
command-line options -B/path/ if the specified filenames exist.
_________________________________________________________________
-
+
cpp: Usage:... Error
If you get an error like this when building GCC (particularly when
@@ -396,27 +396,27 @@ cpp: Usage:... Error
'.', look for an empty pathname in those variables. Note that ':' at
either the start or end of these variables is an implicit '.' and will
cause problems.
-
+
Also note '::' in these paths will also cause similar problems.
_________________________________________________________________
-
+
Testsuite problems
-
+
Why is there no testsuite in GCC 2.95
The GCC testsuite is not included in the GCC 2.95 release due to the
uncertain copyright status of some tests.
-
+
The GCC team will be reviewing the entire testsuite to find and remove
any tests with uncertain copyright status. Once those tests are
removed from the testsuite, the testsuite as a whole will be
copyrighted under the terms of the GPL and included in future GCC
releases.
-
+
It is believed that only a few tests have uncertain copyright status
and thus only a few tests will need to be removed from the testsuite.
_________________________________________________________________
-
+
Unable to run the testsuite
If you get a message about unable to find "standard.exp" when trying
@@ -425,7 +425,7 @@ Unable to run the testsuite
[64]dejagnu snapshot available until a new version of dejagnu can be
released.
_________________________________________________________________
-
+
How do I pass flags like -fnew-abi to the testsuite?
If you invoke runtest directly, you can use the --tool_opts option,
@@ -436,7 +436,7 @@ How do I pass flags like -fnew-abi to the testsuite?
e.g:
make RUNTESTFLAGS='--tool_opts "-fnew-abi -fno-honor-std"' check-g++
_________________________________________________________________
-
+
How can I run the test suite with multiple options?
If you invoke runtest directly, you can use the --target_board option,
@@ -449,21 +449,21 @@ How can I run the test suite with multiple options?
Either of these examples will run the tests three times. Once with
-fPIC, once with -fpic, and once with no additional flags.
-
+
This technique is particularly useful on multilibbed targets.
_________________________________________________________________
-
+
Platform-specific issues
-
+
Please read the [65]host/target specific installation notes, too.
-
+
Problems with exception handling on x86 platforms
If you are using the GNU assembler (aka gas) on an x86 platform and
exception handling is not working correctly, then odds are you're
using a buggy assembler. Releases of binutils prior to 2.9 are known
to assemble exception handling code incorrectly.
-
+
We recommend binutils-2.9.1 or newer. Some post-2.9.1 snapshots of
binutils fix some subtle bugs, particularly on x86 and alpha. They are
available at [66]ftp://tsx-11.mit.edu/pub/linux/packages/GCC/. The
@@ -471,7 +471,7 @@ Problems with exception handling on x86 platforms
than that, be aware that snapshots are in general untested and may not
work (or even build). Use them at your own risk.
_________________________________________________________________
-
+
Problems with invalid `asm' statements
Previous releases of GCC (for example, GCC 2.7.2 or EGCS 1.1.2) did
@@ -483,7 +483,7 @@ Problems with invalid `asm' statements
clobber registers that were destined to overlap operands; it could
arguably be interpreted that it was correct to clobber an input
operand to mark it as not holding a usable value after the asm.
-
+
For the general case, there is no way to tell whether a specified
clobber is _intended_ to overlap with a specific (input) operand or is
a program error, where the choice of actual register for operands
@@ -497,13 +497,13 @@ Problems with invalid `asm' statements
Unfortunately, a lot of existing software, for example the [68]Linux
kernel version 2.0.35 for the Intel x86, has constructs where input
operands are marked as clobbered.
-
+
The manual now describes how to write constructs with operands that
are modified by the construct, but not actually used. To write an asm
which modifies an input operand but does not output anything usable,
specify that operand as an _output operand_ outputting to an _unused
dummy variable_.
-
+
In the following example for the x86 architecture (taken from the
Linux 2.0.35 kernel -- include/asm-i386/delay.h), the register-class
constraint "a" denotes a register class containing the single register
@@ -528,7 +528,7 @@ __delay (int loops)
constructs, this obviousness-detection is not needed other than for
reasons of compatibility with an existing code-base, and that code
base can be corrected.
-
+
This corrected and clobber-less version, is _valid_ for GCC 2.95 as
well as for previous versions of GCC and EGCS:
extern __inline__ void
@@ -546,7 +546,7 @@ __delay (int loops)
unused. Normally asm constructs with only unused output operands may
be removed by gcc, unless marked volatile as above.
_________________________________________________________________
-
+
Building Linux kernels
The linux kernel violates certain aliasing rules specified in the
@@ -555,7 +555,7 @@ Building Linux kernels
will produce malfunctioning kernels. To work around this problem, the
flag -fno-strict-aliasing must be added to the CFLAGS variable in the
main kernel Makefile.
-
+
If you try to build a 2.0.x kernel for Intel machines with any
compiler other than GCC 2.7.2, then you are on your own. The 2.0.x
kernels are to be built only with gcc 2.7.2. They use certain asm
@@ -564,7 +564,7 @@ Building Linux kernels
be interested in this [69]patch which fixes some of the asm problems.
You will also want to change asm constructs to [70]avoid clobbering
their input operands.
-
+
If you installed a recent binutils/gas snapshot on your GNU/Linux
system, you may not be able to build the kernel because objdump does
not understand the "-k" switch. The solution for this problem is to
@@ -573,7 +573,7 @@ Building Linux kernels
this program to decide if you have an old or a new binutils. Problems
occur if you installed a new binutils but haven't removed encaps,
because the Makefile thinks you have the old one.)
-
+
Finally, you may get errors with the X driver of the form
_X11TransSocketUNIXConnect: Can't connect: errno = 111
@@ -582,59 +582,59 @@ Building Linux kernels
is now broken since GCC optimizes more aggressively . The newer 2.1.x
kernels already have a fix which should also work in 2.0.32.
_________________________________________________________________
-
+
How do I compile X11 headers with g++
When compiling X11 headers with a GCC 2.95 or newer, g++ will complain
that types are missing. These headers assume that omitting the type
means 'int'; this assumption is wrong for C++.
-
+
g++ accepts such (illegal) constructs with the option -fpermissive; it
will assume that missing type is 'int' (as defined by the C89
standard).
-
+
Since the upcoming C99 standard also obsoletes the implicit type
assumptions, the X11 headers have to get fixed eventually.
_________________________________________________________________
-
+
How to build a cross compiler
Building cross compilers is a rather complex undertaking because they
usually need additional software (cross assembler, cross linker,
target libraries, target include files, etc).
-
+
We recommend reading the [71]crossgcc FAQ for information about
building cross compilers.
-
+
If you have all the pieces available, then `make cross' should build a
cross compiler. `make LANGUAGES="c c++" install' will install the
cross compiler.
-
+
Note that if you're trying to build a cross compiler in a tree which
includes binutils-2.8 in addition to GCC, then you're going to need to
make a couple minor tweaks so that the cross assembler, linker and nm
utilities will be found.
-
+
binutils-2.8 builds those files as gas.new, ld.new and nm.new; GCC
looks for them using gas-new, ld-new and nm-new, so you may have to
arrange for any symlinks which point to <file>.new to be changed to
<file>-new.
_________________________________________________________________
-
+
Bugs and Non-Bugs
-
+
Unfortunately, improvements in tools that are widely used are sooner
or later bound to break _something_. Sometimes, the code that breaks
was wrong, and then that code should be fixed, even if it works for
earlier versions of gcc or other compilers. The following problems
with some releases of widely used packages have been identified:
-
+
There is a separate [72]list of well-known bugs describing known
deficiencies. Naturally we'd like that list to be of zero length.
-
+
To report a bug, see [73]How to report bugs.
_________________________________________________________________
-
+
FD_ZERO macro
The FD_ZERO macro in (e.g.) libc-5.4.46 is incorrect. It uses
@@ -653,18 +653,18 @@ FD_ZERO macro
: "memory"); \
} while (0)
_________________________________________________________________
-
+
Octave 2.0.13 does not compile
Apparently Octave 2.0.13 uses some C++ features which have been
obsoleted and thus fails to build with EGCS 1.1 and later. This
[75]patch to Octave should fix this.
-
+
Octave 2.0.13.96, a test release, has been compiled without patches by
egcs 1.1.2. It is available at
[76]ftp://ftp.che.wisc.edu/pub/octave/test-releases/.
_________________________________________________________________
-
+
Why can't I initialize a static variable with stdin?
This has nothing to do with gcc, but people ask us about it a lot.
@@ -678,19 +678,19 @@ Why can't I initialize a static variable with stdin?
limit on the number of open FILE objects. It is surprising for people
used to traditional Unix C libraries, but it is permitted by the C
standard.
-
+
This construct commonly occurs in code generated by old versions of
lex or yacc. We suggest you try regenerating the parser with a current
version of flex or bison, respectively. In your own code, the
appropriate fix is to move the initialization to the beginning of
main.
-
+
There is a common misconception that the GCC developers are
responsible for GNU libc. These are in fact two entirely separate
projects. The appropriate place to ask questions relating to GNU libc
is [77]libc-alpha@sourceware.cygnus.com.
_________________________________________________________________
-
+
Why can't I use #if here?
Let me guess... you wrote code that looks something like this:
@@ -717,7 +717,7 @@ test.c:11: parse error before `#'
to put #ifdef (or any other directive) inside the arguments of a
macro. Your C library's string.h happens to define memcpy as a macro -
this is perfectly legitimate. The code therefore will not compile.
-
+
We have two good reasons for not allowing directives inside macro
arguments. First, it is not portable. It is "undefined behavior"
according to the C standard; that means different compilers will do
@@ -729,7 +729,7 @@ test.c:11: parse error before `#'
from the above example. A very few might do what you expected it to.
We therefore feel it is most useful for GCC to reject this construct
immediately so that it is found and fixed.
-
+
Second, it is extraordinarily difficult to implement the preprocessor
such that it does what you would expect for every possible directive
found inside a macro argument. The best example is perhaps
@@ -740,7 +740,7 @@ blah)
which is impossible to implement in portable C without leaking memory.
Allowing only a subset of directives would be confusing.
-
+
It is always possible to rewrite code which uses conditionals inside
macros so that it doesn't. You could write the above example
#ifdef PLATFORM1
@@ -752,33 +752,33 @@ blah)
This is a bit more typing, but I personally think it's better style in
addition to being more portable.
_________________________________________________________________
-
+
Miscellaneous
-
+
Virtual memory exhausted error
This error means your system ran out of memory; this can happen for
large files, particularly when optimizing. If you're getting this
error you should consider trying to simplify your files or reducing
the optimization level.
-
+
Note that using -pedantic or -Wreturn-type can cause an explosion in
the amount of memory needed for template-heavy C++ code, such as code
that uses STL. Also note that -Wall includes -Wreturn-type, so if you
use -Wall you will need to specify -Wno-return-type to turn it off.
_________________________________________________________________
-
+
Snapshots, how, when, why
We make snapshots of the GCC sources about once a week; there is no
predetermined schedule. These snapshots are intended to give everyone
access to work in progress. Any given snapshot may generate incorrect
code or even fail to build.
-
+
If you plan on downloading and using snapshots, we highly recommend
you subscribe to the GCC mailing lists. See [78]mailing lists on the
main GCC page for instructions on how to subscribe.
-
+
When using the diff files to update from older snapshots to newer
snapshots, make sure to use "-E" and "-p" arguments to patch so that
empty files are deleted and full pathnames are provided to patch. If
@@ -787,7 +787,7 @@ Snapshots, how, when, why
various other programs if you use diff files to update from one
snapshot to the next.
_________________________________________________________________
-
+
Friend Templates
In order to make a specialization of a template function a friend of a
@@ -830,89 +830,89 @@ void bar(foo<T>) { /* ... */ }
taken as a non-template function. Furthermore, in some cases, you may
have to explicitly specify the template arguments, to remove
ambiguity.
-
+
An error in the last public comment draft of the ANSI/ISO C++ Standard
and the fact that previous releases of gcc would accept such friend
declarations as template declarations has led people to believe that
the forward declaration was not necessary, but, according to the final
version of the Standard, it is.
_________________________________________________________________
-
+
Where to find libg++
Many folks have been asking where to find libg++ for GCC. First we
should point out that few programs actually need libg++; most only
need libstdc++/libio which are included in the GCC distribution.
-
+
If you do need libg++ you can get a libg++ release that works with GCC
from [79]ftp://egcs.cygnus.com/pub/egcs/infrastructure/. Note that the
2.8.2 snapshot pre-dates the 2.8.1.2 release.
_________________________________________________________________
-
+
autoconf, bison, xgettext, automake, etc
If you're using diffs up dated from one snapshot to the next, or if
you're using the CVS repository, you may need several additional
programs to build GCC.
-
+
These include, but are not necessarily limited to autoconf, automake,
bison, and xgettext.
-
+
This is necessary because neither diff nor cvs keep timestamps
correct. This causes problems for generated files as "make" may think
those generated files are out of date and try to regenerate them.
-
+
An easy way to work around this problem is to use the gcc_update
script in the contrib subdirectory of GCC, which handles this
transparently without requiring installation of any additional tools.
(Note: Up to and including GCC 2.95 this script was called egcs_update
.)
-
+
When building from diffs or CVS or if you modified some sources, you
may also need to obtain development versions of some GNU tools, as the
production versions do not necessarily handle all features needed to
rebuild GCC.
-
+
Autoconf is available from [80]http://sourceware.cygnus.com/autoconf/;
have a look at [81]ftp://egcs.cygnus.com/pub/egcs/infrastructure/ for
the other packages.
_________________________________________________________________
-
+
Conflicts when using cvs update
It is not uncommon to get CVS conflict messages for some generated
files when updating your local sources from the CVS repository.
Typically such conflicts occur with bison or autoconf generated files.
-
+
As long as you haven't been making modifications to the generated
files or the generator files, it is safe to delete the offending file,
then run cvs update again to get a new copy.
_________________________________________________________________
-
+
Problems debugging GCC code
On some systems GCC will produce dwarf debug records by default;
however the gdb-4.16 release may not be able to read such debug
records.
-
+
You can either use the argument "-gstabs" instead of "-g" or pick up a
copy of gdb-4.17 to work around the problem.
_________________________________________________________________
-
+
Using GCC with GNAT/Ada
The GNU Ada front-end is not currently supported by GCC; however, it
is possible to build the GNAT compiler with a little work.
-
+
First, retrieve the gnat-3.10p sources. The sources for the Ada front
end and runtime all live in the "ada" subdirectory. Move that
subdirectory to egcs/gcc/ada.
-
+
Second, apply the patch found in egcs/gcc/README.gnat.
-
+
Finally, rebuild per the GNAT build instructions.
_________________________________________________________________
-
+
Using GCC with GNU Pascal
The [82]GNU Pascal front-end does work with EGCS 1.1 It does not work
@@ -920,59 +920,59 @@ Using GCC with GNU Pascal
can be found at
[83]ftp://agnes.dida.physik.uni-essen.de/gnu-pascal/beta/.
_________________________________________________________________
-
+
Using CVS to download snapshots
It is possible to checkout specific snapshots with CVS or to check out
the latest snapshot.
-
+
We use CVS tags to identify each snapshot we make. Snapshot tags have
the form "egcs_ss_YYYYMMDD". In addition, the latest official snapshot
always has the tag "gcc_latest_snapshot".
_________________________________________________________________
-
+
Why can't I build a shared library?
When building a shared library you may get an error message from the
linker like `assert pure-text failed:' or `DP relative code in file'.
-
+
This kind of error occurs when you've failed to provide proper flags
to gcc when linking the shared library.
-
+
You can get this error even if all the .o files for the shared library
were compiled with the proper PIC option. When building a shared
library, gcc will compile additional code to be included in the
library. That additional code must also be compiled with the proper
PIC option.
-
+
Adding the proper PIC option (-fpic or -fPIC) to the link line which
creates the shared library will fix this problem on targets that
support PIC in this manner. For example:
gcc -c -fPIC myfile.c
gcc -shared -o libmyfile.so -fPIC myfile.o
_________________________________________________________________
-
+
How to work around too long C++ symbol names? (-fsquangle)
If the standard assembler of your platform can't cope with the large
symbol names that the default g++ name mangling mechanism produces,
your best bet is to use GNU as, from the GNU binutils package.
-
+
Unfortunately, GNU as does not support all platforms supported by
egcs, so you may have to use an experimental work-around: the
-fsquangle option, that enables compression of symbol names.
-
+
Note that this option is still under development, and subject to
change. Since it modifies the name mangling mechanism, you'll need to
build libstdc++ and any other C++ libraries with this option enabled.
Furthermore, if this option changes its behavior in the future, you'll
have to rebuild them all again. :-(
-
+
This option can be enabled by default by initializing
`flag_do_squangling' with `1' in `gcc/cp/decl2.c' (it is not
initialized by default), then rebuilding egcs and any C++ libraries.
_________________________________________________________________
-
+
When building from CVS sources, I see 'gperf: invalid option -- F', even with
the most current version of gperf.
@@ -980,11 +980,11 @@ the most current version of gperf.
is used when building egcs from CVS sources. You will need to obtain a
patch for gperf and rebuild the program; this patch is available at
[84]ftp://egcs.cygnus.com/pub/egcs/infrastructure/
-
+
Patches for other tools, particularly autoconf, may also be necessary
if you're building from CVS sources. Please see the [85]FAQ entry
regarding these tools to determine if anything else is needed.
-
+
These patched utilities should _only_ be required if you are building
from CVS sources. For example, gperf is used to generate C code for a
perfect hash function given an input file. Distributions of egcs
@@ -992,7 +992,7 @@ the most current version of gperf.
provide only the gperf input file. So gperf should only be necessary
if you are building anything obtained from CVS.
_________________________________________________________________
-
+
When building C++, the linker says my constructors, destructors or virtual
tables are undefined, but I defined them
@@ -1003,39 +1003,39 @@ tables are undefined, but I defined them
constructors, the assignment operator, the destructor and the virtual
table of a class in the translation unit that defines its first such
non-inline method.
-
+
Therefore, if you fail to define this particular method, the linker
may complain about the lack of definitions for apparently unrelated
symbols. Unfortunately, in order to improve this error message, it
might be necessary to change the linker, and this can't always be
done.
-
+
The solution is to ensure that all virtual methods that are not pure
are defined. Note that a destructor must be defined even if it is
declared pure-virtual [class.dtor]/7.
_________________________________________________________________
-
+
What is libstdc++-v3 and how can I use it with g++?
From the [86]libstdc++-FAQ: "The EGCS Standard C++ Library v3, or
libstdc++-2.90.x, is an ongoing project to implement the ISO 14882
Standard C++ library as described in chapters 17 through 27 and annex
D."
-
+
At the moment the libstdc++-v3 is no "drop in replacement" for GCC's
libstdc++. The best way to use it is as follows:
1. Build and install GCC
2. Build and install libstdc++-v3
3. Use compiler flags to use the new libstdc++
-
+
Please note that the libstdc++-v3 is not yet complete and should only
be used by experienced programmers.
-
+
For more information please refer to the [87]libstdc++-v3 homepage
_________________________________________________________________
-
+
[88]Return to the GCC home page
-
+
_Last modified: October 19, 1999_
References
diff --git a/gnu/dist/toolchain/contrib/ChangeLog b/gnu/dist/toolchain/contrib/ChangeLog
index 8b8d93c2bc8..cdf608c41d8 100644
--- a/gnu/dist/toolchain/contrib/ChangeLog
+++ b/gnu/dist/toolchain/contrib/ChangeLog
@@ -1,3 +1,7 @@
+Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
+
+ * gcc-2.95.3 Released.
+
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
* gcc-2.95.2 Released.
diff --git a/gnu/dist/toolchain/gcc/ABOUT-GCC-NLS b/gnu/dist/toolchain/gcc/ABOUT-GCC-NLS
index b70a7c8df67..684edb22088 100644
--- a/gnu/dist/toolchain/gcc/ABOUT-GCC-NLS
+++ b/gnu/dist/toolchain/gcc/ABOUT-GCC-NLS
@@ -1,10 +1,26 @@
Notes on GCC's Native Language Support
GCC's Native Language Support (NLS) is relatively new and
-experimental, so NLS is currently disabled by default. Use
-configure's --enable-nls option to enable it. Eventually, NLS will be
-enabled by default, and you'll need --disable-nls to disable it. You
-must enable NLS in order to make a GCC distribution.
+experimental, so NLS is currently disabled by default.
+
+The main reason for it being buggy is, that GCC does not set the
+locale categories correctly. Currently only LC_MESSAGES is set if the
+system supports it and else nothing. To work correctly, GCC would have
+to also set the character set used by the terminal by either setting
+LC_CTYPE together with LC_MESSAGES or LC_ALL if LC_MESSAGES is
+not supported.
+
+This would change the behaviour of GCC in quite a few places because
+a number of standard C functions and macros change their behaviour
+depending on the locale. These necessary changes have been done in the
+development version, but these changes are beyond the scope
+of a maintenance release such as this. It is therefore recommended that
+you leave it disabled.
+
+If you still want to enable the feature, use configure's --enable-nls
+option to enable it. Eventually, NLS will be enabled by default, and
+you'll need --disable-nls to disable it. You must enable NLS in order
+to make a GCC distribution.
By and large, only diagnostic messages have been internationalized.
Some work remains in other areas; for example, GCC does not yet allow
diff --git a/gnu/dist/toolchain/gcc/Makefile.in b/gnu/dist/toolchain/gcc/Makefile.in
index 0240f72417f..85bf9f8da5d 100644
--- a/gnu/dist/toolchain/gcc/Makefile.in
+++ b/gnu/dist/toolchain/gcc/Makefile.in
@@ -1,5 +1,6 @@
# Makefile for GNU C compiler.
-# Copyright (C) 1987, 88, 90-98, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1987, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
+# 1998, 1999, 2000 Free Software Foundation, Inc.
#This file is part of GNU CC.
@@ -441,7 +442,7 @@ COMPILERS = cc1$(exeext) @all_compilers@
# List of things which should already be built whenever we try to use xgcc
# to compile anything (without linking).
-GCC_PASSES=xgcc$(exeext) cc1$(exeext) cpp$(exeext) $(EXTRA_PASSES)
+GCC_PASSES=xgcc$(exeext) cc1$(exeext) cpp0$(exeext) $(EXTRA_PASSES)
# List of things which should already be built whenever we try to use xgcc
# to link anything.
@@ -704,7 +705,7 @@ STAGESTUFF = *$(objext) insn-flags.h insn-config.h insn-codes.h \
genconfig$(build_exeext) genpeep$(build_exeext) genattrtab$(build_exeext) \
genattr$(build_exeext) genopinit$(build_exeext) gengenrtl$(build_exeext) \
gencheck$(build_exeext) \
- xgcc$(exeext) xcpp$(exeext) cc1$(exeext) cpp$(exeext) $(EXTRA_PASSES) \
+ xgcc$(exeext) cpp$(exeext) cc1$(exeext) cpp0$(exeext) $(EXTRA_PASSES) \
$(EXTRA_PARTS) $(EXTRA_PROGRAMS) gcc-cross$(exeext) \
$(CCCP)$(exeext) cc1obj$(exeext) enquire$(exeext) \
protoize$(exeext) unprotoize$(exeext) \
@@ -840,15 +841,15 @@ all.internal: start.encap rest.encap doc
all.cross: native gcc-cross specs stmp-headers $(STMP_FIXPROTO) $(LIBGCC) \
$(LIBGCC1_TEST) $(EXTRA_PARTS) lang.all.cross doc
# This is what to compile if making gcc with a cross-compiler.
-all.build: native xgcc$(exeext) xcpp$(exeext) $(EXTRA_PARTS) lang.all.build
+all.build: native xgcc$(exeext) cpp$(exeext) $(EXTRA_PARTS) lang.all.build
# This is what must be made before installing GCC and converting libraries.
-start.encap: native xgcc$(exeext) xcpp$(exeext) specs $(LIBGCC1) \
+start.encap: native xgcc$(exeext) cpp$(exeext) specs $(LIBGCC1) \
xlimits.h lang.start.encap
# These can't be made until after GCC can run.
rest.encap: stmp-headers $(STMP_FIXPROTO) $(LIBGCC) $(EXTRA_PARTS) lang.rest.encap
# This is what is made with the host's compiler
# whether making a cross compiler or not.
-native: config.status auto-host.h cpp$(exeext) intl.all $(LANGUAGES) \
+native: config.status auto-host.h intl.all $(LANGUAGES) \
$(EXTRA_PASSES) $(EXTRA_PROGRAMS) $(USE_COLLECT2)
# Define the names for selecting languages in LANGUAGES.
@@ -893,7 +894,7 @@ xgcc$(exeext): gcc.o gccspec.o version.o intl.o prefix.o \
# when it is installed.
# The only difference from xgcc is that it's linked with cppspec.o
# instead of gccspec.o.
-xcpp$(exeext): gcc.o cppspec.o version.o intl.o prefix.o \
+cpp$(exeext): gcc.o cppspec.o version.o intl.o prefix.o \
version.o $(LIBDEPS) $(EXTRA_GCC_OBJS)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ gcc.o cppspec.o intl.o \
prefix.o version.o $(EXTRA_GCC_OBJS) $(LIBS)
@@ -1953,9 +1954,9 @@ intl.distdir-fixup:
# Remake cpp and protoize.
# Making the preprocessor
-cpp$(exeext): $(CCCP)$(exeext)
- -rm -f cpp$(exeext)
- $(LN) $(CCCP)$(exeext) cpp$(exeext)
+cpp0$(exeext): $(CCCP)$(exeext)
+ -rm -f cpp0$(exeext)
+ $(LN) $(CCCP)$(exeext) cpp0$(exeext)
CCCP_OBJS = cccp.o cexp.o intl.o prefix.o version.o @extra_cpp_objs@ mbchar.o
cccp$(exeext): $(CCCP_OBJS) $(LIBDEPS)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(CCCP_OBJS) $(LIBS)
@@ -2448,12 +2449,12 @@ install-build: force
install-cross-rest: install-float-h-cross
# Handle cpp installation.
-install-cpp: xcpp$(exeext)
+install-cpp: cpp$(exeext)
-rm -f $(bindir)/$(CPP_INSTALL_NAME)$(exeext)
- $(INSTALL_PROGRAM) -m 755 xcpp$(exeext) $(bindir)/$(CPP_INSTALL_NAME)$(exeext)
+ $(INSTALL_PROGRAM) -m 755 cpp$(exeext) $(bindir)/$(CPP_INSTALL_NAME)$(exeext)
if [ x$(cpp_install_dir) != x ]; then \
rm -f $(prefix)/$(cpp_install_dir)/$(CPP_INSTALL_NAME)$(exeext); \
- $(INSTALL_PROGRAM) -m 755 xcpp$(exeext) $(prefix)/$(cpp_install_dir)/$(CPP_INSTALL_NAME)$(exeext); \
+ $(INSTALL_PROGRAM) -m 755 cpp$(exeext) $(prefix)/$(cpp_install_dir)/$(CPP_INSTALL_NAME)$(exeext); \
else true; fi
uninstall-cpp:
@@ -2544,8 +2545,8 @@ install-common: native installdirs $(EXTRA_PARTS) lang.install-common
$(INSTALL_DATA) SYSCALLS.c.X $(libsubdir)/SYSCALLS.c.X; \
chmod a-x $(libsubdir)/SYSCALLS.c.X; \
fi
- -rm -f $(libsubdir)/cpp$(exeext)
- $(INSTALL_PROGRAM) cpp$(exeext) $(libsubdir)/cpp$(exeext)
+ -rm -f $(libsubdir)/cpp0$(exeext)
+ $(INSTALL_PROGRAM) cpp0$(exeext) $(libsubdir)/cpp0$(exeext)
# Install gcov if it was compiled.
-if [ -f gcov$(exeext) ]; \
then \
diff --git a/gnu/dist/toolchain/gcc/NEWS b/gnu/dist/toolchain/gcc/NEWS
index 427df254eb6..5023a93b521 100644
--- a/gnu/dist/toolchain/gcc/NEWS
+++ b/gnu/dist/toolchain/gcc/NEWS
@@ -1,1071 +1,1539 @@
-Noteworthy changes in GCC after EGCS 1.1.
------------------------------------------
-
-Target specific NEWS
-
- RS6000/PowerPC: -mcpu=401 was added as an alias for -mcpu=403. -mcpu=e603e
- was added to do -mcpu=603e and -msoft-float.
-
-Noteworthy changes in GCC for EGCS 1.1.
----------------------------------------
-
-The compiler now implements global common subexpression elimination (gcse) as
-well as global constant/copy propagation. (link to gcse page).
-
-More major improvements have been made to the alias analysis code. A new
-option to allow front-ends to provide alias information to the optimizers
-has also been added (-fstrict-aliasing). -fstrict-aliasing is off by default
-now, but will be enabled by default in the future. (link to alias page)
-
-Major changes continue in the exception handling support. This release
-includes some changes to reduce static overhead for exception handling. It
-also includes some major changes to the setjmp/longjmp based EH mechanism to
-make it less pessimistic. And finally, major infrastructure improvements
-to the dwarf2 EH mechanism have been made to make our EH support extensible.
-
-We have fixed the infamous security problems with temporary files.
-
-The "regmove" optimization pass has been nearly completely rewritten. It now
-uses much more information about the target to determine profitability of
-transformations.
-
-The compiler now recomputes register usage information immediately before
-register allocation. Previously such information was only not kept up to
-date after instruction combination which led to poor register allocation
-choices by our priority based register allocator.
-
-The register reloading phase of the compiler has been improved to better
-optimize spill code. This primarily helps targets which generate lots of
-spills (like the x86 ports and many register poor embedded ports).
-
-A few changes in the heuristics used by the register allocator and scheduler
-have been made which can significantly improve performance for certain
-applications.
-
-The compiler's branch shortening algorithms have been significantly improved
-to work better on targets which align jump targets.
-
-The compiler now supports the "ADDRESSOF" optimization which can significantly
-reduce the overhead for certain inline calls (and inline calls in general).
-
-The compiler now supports a code size optimization switch (-Os). When enabled
-the compiler will prefer optimizations which improve code size over those
-which improve code speed.
-
-The compiler has been improved to completely eliminate library calls which
-compute constant values. This is particularly useful on machines which
-do not have integer mul/div or floating point support on-chip.
-
-GCC now supports a "--help" option to print detailed help information.
-
-cpplib has been greatly improved. It is probably useable for some sites now
-(major missing feature is trigraphs).
-
-Memory footprint for the compiler has been significantly reduced for certain
-pathalogical cases.
-
-Build time improvements for targets which support lots of sched parameters
-(alpha and mips primarily).
-
-Compile time for certain programs using large constant initializers has been
-improved (effects glibc significantly).
-
-Plus an incredible number of infrastructure changes, warning fixes, bugfixes
-and local optimizations.
-
-Various improvements have been made to better support cross compilations. They
-are still not easy, but they are improving.
-
-Target specific NEWS
-
- Sparc: Now includes V8 plus and V9 support, lots of tuning for Ultrasparcs
- and uses the Haifa scheduler by default.
-
- Alpha: EV6 tuned, optimized expansion of memcpy/bzero.
-
- x86: Data in the static store is aligned per Intel recommendations. Jump
- targets are aligned per Intel recommendations. Improved epilogue
- sequences for Pentium chips. Backend improvements which should help
- register allocation on all x86 variants. Support for PPro conditional
- move instructions has been fixed and enabled. Random changes
- throughout the port to make generated code more Pentium friendly.
- Improved support for 64bit integer operations.
- Unixware 7, a System V Release 5 target is now supported.
- SCO OpenServer targets can support GAS. See gcc/INSTALL for details.
-
- RS6000/PowerPC: Includes AIX4.3 support as well as PowerPC64 support.
- Haifa instruction scheduling is enabled by default now.
-
- MIPS: Multiply/Multiply-Add support has been largely rewritten to generate
- more efficient code. Includes mips16 support.
-
- M68K: Various micro-optimizations and Coldfire fixes.
-
- M32r: Major improvements to this port.
-
- Arm: Includes Thumb and super interworking support.
-
-EGCS includes all gcc2 changes up to and including the June 9, 1998 snapshot.
-
-
-Noteworthy changes in GCC version 2.8.1
----------------------------------------
-
-Numerous bugs have been fixed and some minor performance
-improvements (compilation speed) have been made.
-
-Noteworthy changes in GCC version 2.8.0
----------------------------------------
-
-A major change in this release is the addition of a framework for
-exception handling, currently used by C++. Many internal changes and
-optimization improvements have been made. These increase the
-maintainability and portability of GCC. GCC now uses autoconf to
-compute many host parameters.
-
-The following lists changes that add new features or targets.
-
-See cp/NEWS for new features of C++ in this release.
-
-New tools and features:
-
- The Dwarf 2 debugging information format is supported on ELF systems, and
- is the default for -ggdb where available. It can also be used for C++.
- The Dwarf version 1 debugging format is also permitted for C++, but
- does not work well.
-
- gcov.c is provided for test coverage analysis and branch profiling
- analysis is also supported; see -fprofile-arcs, -ftest-coverage,
- and -fbranch-probabilities.
-
- Support for the Checker memory checking tool.
-
- New switch, -fstack-check, to check for stack overflow on systems that
- don't have such built into their ABI.
-
- New switches, -Wundef and -Wno-undef to warn if an undefined identifier
- is evaluated in an #if directive.
-
- Options -Wall and -Wimplicit now cause GCC to warn about implicit int
- in declarations (e.g. `register i;'), since the C Standard committee
- has decided to disallow this in the next revision of the standard;
- -Wimplicit-function-declarations and -Wimplicit-int are subsets of
- this.
-
- Option -Wsign-compare causes GCC to warn about comparison of signed and
- unsigned values.
-
- Add -dI option of cccp for cxref.
-
-New features in configuration, installation and specs file handling:
-
- New option --enable-c-cpplib to configure script.
-
- You can use --with-cpu on the configure command to specify the default
- CPU that GCC should generate code for.
-
- The -specs=file switch allows you to override default specs used in
- invoking programs like cc1, as, etc.
-
- Allow including one specs file from another and renaming a specs
- variable.
-
- You can now relocate all GCC files with a single environment variable
- or a registry entry under Windows 95 and Windows NT.
-
-Changes in Objective-C:
-
- The Objective-C Runtime Library has been made thread-safe.
-
- The Objective-C Runtime Library contains an interface for creating
- mutexes, condition mutexes, and threads; it requires a back-end
- implementation for the specific platform and/or thread package.
- Currently supported are DEC/OSF1, IRIX, Mach, OS/2, POSIX, PCThreads,
- Solaris, and Windows32. The --enable-threads parameter can be used
- when configuring GCC to enable and select a thread back-end.
-
- Objective-C is now configured as separate front-end language to GCC,
- making it more convenient to conditionally build it.
-
- The internal structures of the Objective-C Runtime Library have
- changed sufficiently to warrant a new version number; now version 8.
- Programs compiled with an older version must be recompiled.
-
- The Objective-C Runtime Library can be built as a DLL on Windows 95
- and Windows NT systems.
-
- The Objective-C Runtime Library implements +load.
-
-The following new targets are supported (see also list under each
-individual CPU below):
-
- Embedded target m32r-elf.
- Embedded Hitachi Super-H using ELF.
- RTEMS real-time system on various CPU targets.
- ARC processor.
- NEC V850 processor.
- Matsushita MN10200 processor.
- Matsushita MN10300 processor.
- Sparc and PowerPC running on VxWorks.
- Support both glibc versions 1 and 2 on Linux-based GNU systems.
-
-New features for DEC Alpha systems:
-
- Allow detailed specification of IEEE fp support:
- -mieee, -mieee-with-inexact, and -mieee-conformant
- -mfp-trap-mode=xxx, -mfp-round-mode=xxx, -mtrap-precision=xxx
- -mcpu=xxx for CPU selection
- Support scheduling parameters for EV5.
- Add support for BWX, CIX, and MAX instruction set extensions.
- Support Linux-based GNU systems.
- Support VMS.
-
-Additional supported processors and systems for MIPS targets:
-
- MIPS4 instruction set.
- R4100, R4300 and R5000 processors.
- N32 and N64 ABI.
- IRIX 6.2.
- SNI SINIX.
-
-New features for Intel x86 family:
-
- Add scheduling parameters for Pentium and Pentium Pro.
- Support stabs on Solaris-x86.
- Intel x86 processors running the SCO OpenServer 5 family.
- Intel x86 processors running DG/UX.
- Intel x86 using Cygwin32 or Mingw32 on Windows 95 and Windows NT.
-
-New features for Motorola 68k family:
-
- Support for 68060 processor.
- More consistent switches to specify processor.
- Motorola 68k family running AUX.
- 68040 running pSOS, ELF object files, DBX debugging.
- Coldfire variant of Motorola m68k family.
-
-New features for the HP PA RISC:
-
- -mspace and -mno-space
- -mlong-load-store and -mno-long-load-store
- -mbig-switch -mno-big-switch
-
- GCC on the PA requires either gas-2.7 or the HP assembler; for best
- results using GAS is highly recommended. GAS is required for -g and
- exception handling support.
-
-New features for SPARC-based systems:
-
- The ultrasparc cpu.
- The sparclet cpu, supporting only a.out file format.
- Sparc running SunOS 4 with the GNU assembler.
- Sparc running the Linux-based GNU system.
- Embedded Sparc processors running the ELF object file format.
- -mcpu=xxx
- -mtune=xxx
- -malign-loops=xxx
- -malign-jumps=xxx
- -malign-functions=xxx
- -mimpure-text and -mno-impure-text
-
- Options -mno-v8 and -mno-sparclite are no longer supported on SPARC
- targets. Options -mcypress, -mv8, -msupersparc, -msparclite, -mf930,
- and -mf934 are deprecated and will be deleted in GCC 2.9. Use
- -mcpu=xxx instead.
-
-New features for rs6000 and PowerPC systems:
-
- Solaris 2.51 running on PowerPC's.
- The Linux-based GNU system running on PowerPC's.
- -mcpu=604e,602,603e,620,801,823,mpc505,821,860,power2
- -mtune=xxx
- -mrelocatable-lib, -mno-relocatable-lib
- -msim, -mmve, -memb
- -mupdate, -mno-update
- -mfused-madd, -mno-fused-madd
-
- -mregnames
- -meabi
- -mcall-linux, -mcall-solaris, -mcall-sysv-eabi, -mcall-sysv-noeabi
- -msdata, -msdata=none, -msdata=default, -msdata=sysv, -msdata=eabi
- -memb, -msim, -mmvme
- -myellowknife, -mads
- wchar_t is now of type long as per the ABI, not unsigned short.
- -p/-pg support
- -mcpu=403 now implies -mstrict-align.
- Implement System V profiling.
-
- Aix 4.1 GCC targets now default to -mcpu=common so that programs
- compiled can be moved between rs6000 and powerpc based systems. A
- consequence of this is that -static won't work, and that some programs
- may be slightly slower.
-
- You can select the default value to use for -mcpu=xxx on rs6000 and
- powerpc targets by using the --with-cpu=xxx option when configuring the
- compiler. In addition, a new options, -mtune=xxx was added that
- selects the machine to schedule for but does not select the
- architecture level.
-
- Directory names used for storing the multilib libraries on System V
- and embedded PowerPC systems have been shortened to work with commands
- like tar that have fixed limits on pathname size.
-
-New features for the Hitachi H8/300(H):
-
- -malign-300
- -ms (for the Hitachi H8/S processor)
- -mint32
-
-New features for the ARM:
-
- -march=xxx, -mtune=xxx, -mcpu=xxx
- Support interworking with Thumb code.
- ARM processor with a.out object format, COFF, or AOF assembler.
- ARM on "semi-hosted" platform.
- ARM running NetBSD.
- ARM running the Linux-based GNU system.
-
-New feature for Solaris systems:
-
- GCC installation no longer makes a copy of system include files,
- thus insulating GCC better from updates to the operating system.
-
-
-Noteworthy changes in GCC version 2.7.2
----------------------------------------
-
-A few bugs have been fixed (most notably the generation of an
-invalid assembler opcode on some RS/6000 systems).
-
-Noteworthy changes in GCC version 2.7.1
----------------------------------------
-
-This release fixes numerous bugs (mostly minor) in GCC 2.7.0, but
-also contains a few new features, mostly related to specific targets.
-
-Major changes have been made in code to support Windows NT.
-
-The following new targets are supported:
-
- 2.9 BSD on PDP-11
- Linux on m68k
- HP/UX version 10 on HP PA RISC (treated like version 9)
- DEC Alpha running Windows NT
-
-When parsing C, GCC now recognizes C++ style `//' comments unless you
-specify `-ansi' or `-traditional'.
-
-The PowerPC System V targets (powerpc-*-sysv, powerpc-*-eabi) now use the
-calling sequence specified in the System V Application Binary Interface
-Processor Supplement (PowerPC Processor ABI Supplement) rather than the calling
-sequence used in GCC version 2.7.0. That calling sequence was based on the AIX
-calling sequence without function descriptors. To compile code for that older
-calling sequence, either configure the compiler for powerpc-*-eabiaix or use
-the -mcall-aix switch when compiling and linking.
-
-Noteworthy changes in GCC version 2.7.0
----------------------------------------
-
-GCC now works better on systems that use ".obj" and ".exe" instead of
-".o" and no extension. This involved changes to the driver program,
-gcc.c, to convert ".o" names to ".obj" and to GCC's Makefile to use
-".obj" and ".exe" in filenames that are not targets. In order to
-build GCC on such systems, you may need versions of GNU make and/or
-compatible shells. At this point, this support is preliminary.
-
-Object file extensions of ".obj" and executable file extensions of
-".exe" are allowed when using appropriate version of GNU Make.
-
-Numerous enhancements were made to the __attribute__ facility including
-more attributes and more places that support it. We now support the
-"packed", "nocommon", "noreturn", "volatile", "const", "unused",
-"transparent_union", "constructor", "destructor", "mode", "section",
-"align", "format", "weak", and "alias" attributes. Each of these
-names may also be specified with added underscores, e.g., "__packed__".
-__attribute__ may now be applied to parameter definitions, function
-definitions, and structure, enum, and union definitions.
-
-GCC now supports returning more structures in registers, as specified by
-many calling sequences (ABIs), such as on the HP PA RISC.
-
-A new option '-fpack-struct' was added to automatically pack all structure
-members together without holes.
-
-There is a new library (cpplib) and program (cppmain) that at some
-point will replace cpp (aka cccp). To use cppmain as cpp now, pass
-the option CCCP=cppmain to make. The library is already used by the
-fix-header program, which should speed up the fixproto script.
-
-New options for supported targets:
-
- GNU on many targets.
- NetBSD on MIPS, m68k, VAX, and x86.
- LynxOS on x86, m68k, Sparc, and RS/6000.
- VxWorks on many targets.
-
- Windows/NT on x86 architecture. Initial support for Windows/NT on Alpha
- (not fully working).
-
- Many embedded targets, specifically UDI on a29k, aout, coff, elf,
- and vsta "operating systems" on m68k, m88k, mips, sparc, and x86.
-
-Additional support for x86 (i386, i486, and Pentium):
-
- Work with old and new linkers for Linux-based GNU systems,
- supporting both a.out and ELF.
- FreeBSD on x86.
- Stdcall convention.
- -malign-double, -mregparm=, -malign-loops= and -malign-jumps= switches.
- On ISC systems, support -Xp like -posix.
-
-Additions for RS/6000:
-
- Instruction scheduling information for PowerPC 403.
- AIX 4.1 on PowerPC.
- -mstring and -mno-string.
- -msoft-float and floating-point emulation included.
- Preliminary support for PowerPC System V.4 with or without the GNU as.
- Preliminary support for EABI.
- Preliminary support for 64-bit systems.
- Both big and little endian systems.
-
-New features for MIPS-based systems:
-
- r4650.
- mips4 and R8000.
- Irix 6.0.
- 64-bit ABI.
- Allow dollar signs in labels on SGI/Irix 5.x.
-
-New support for HP PA RISC:
-
- Generation of PIC (requires binutils-2.5.2.u6 or later).
- HP-UX version 9 on HP PA RISC (dynamically links even with -g).
- Processor variants for HP PA RISC: 700, 7100, and 7100LC.
- Automatic generation of long calls when needed.
- -mfast-indirect-calls for kernels and static binaries.
-
- The called routine now copies arguments passed by invisible reference,
- as required by the calling standard.
-
-Other new miscellaneous target-specific support:
-
- -mno-multm on a29k.
- -mold-align for i960.
- Configuration for "semi-hosted" ARM.
- -momit-leaf-frame-pointer for M88k.
- SH3 variant of Hitachi Super-H and support both big and little endian.
-
-Changes to Objective-C:
-
- Bare-bones implementation of NXConstantString has been added,
- which is invoked by the @"string" directive.
-
- Class * has been changed to Class to conform to the NextSTEP and
- OpenStep runtime.
-
- Enhancements to make dynamic loading easier.
-
- The module version number has been updated to Version 7, thus existing
- code will need to be recompiled to use the current run-time library.
-
-GCC now supports the ISO Normative Addendum 1 to the C Standard.
-As a result:
-
- The header <iso646.h> defines macros for C programs written
- in national variants of ISO 646.
-
- The following digraph tokens are supported:
- <: :> <% %> %: %:%:
- These behave like the following, respectively:
- [ ] { } # ##
-
- Digraph tokens are supported unless you specify the `-traditional'
- option; you do not need to specify `-ansi' or `-trigraphs'. Except
- for contrived and unlikely examples involving preprocessor
- stringizing, digraph interpretation doesn't change the meaning of
- programs; this is unlike trigraph interpretation, which changes the
- meanings of relatively common strings.
-
- The macro __STDC_VERSION__ has the value 199409L.
-
- As usual, for full conformance to the standard, you also need a
- C library that conforms.
-
-The following lists changes that have been made to g++. If some
-features mentioned below sound unfamiliar, you will probably want to
-look at the recently-released public review copy of the C++ Working
-Paper. For PostScript and PDF (Adobe Acrobat) versions, see the
-archive at ftp://research.att.com/dist/stdc++/WP. For HTML and ASCII
-versions, see ftp://ftp.cygnus.com/pub/g++. On the web, see
-http://www.cygnus.com/~mrs/wp-draft.
-
-The scope of variables declared in the for-init-statement has been changed
-to conform to http://www.cygnus.com/~mrs/wp-draft/stmt.html#stmt.for; as a
-result, packages such as groff 1.09 will not compile unless you specify the
--fno-for-scope flag. PLEASE DO NOT REPORT THIS AS A BUG; this is a change
-mandated by the C++ standardization committee.
-
-Binary incompatibilities:
-
- The builtin 'bool' type is now the size of a machine word on RISC targets,
- for code efficiency; it remains one byte long on CISC targets.
-
- Code that does not use #pragma interface/implementation will most
- likely shrink dramatically, as g++ now only emits the vtable for a
- class in the translation unit where its first non-inline, non-abstract
- virtual function is defined.
-
- Classes that do not define the copy constructor will sometimes be
- passed and returned in registers. This may illuminate latent bugs in
- your code.
-
-Support for automatic template instantiation has *NOT* been added, due
-to a disagreement over design philosophies.
-
-Support for exception handling has been improved; more targets are now
-supported, and throws will use the RTTI mechanism to match against the
-catch parameter type. Optimization is NOT SUPPORTED with
--fhandle-exceptions; no need to report this as a bug.
-
-Support for Run-Time Type Identification has been added with -frtti.
-This support is still in alpha; one major restriction is that any file
-compiled with -frtti must include <typeinfo.h>.
-
-Preliminary support for namespaces has been added. This support is far
-from complete, and probably not useful.
-
-Synthesis of compiler-generated constructors, destructors and
-assignment operators is now deferred until the functions are used.
-
-The parsing of expressions such as `a ? b : c = 1' has changed from
-`(a ? b : c) = 1' to `a : b ? (c = 1)'.
-
-The code generated for testing conditions, especially those using ||
-and &&, is now more efficient.
-
-The operator keywords and, and_eq, bitand, bitor, compl, not, not_eq,
-or, or_eq, xor and xor_eq are now supported. Use -ansi or
--foperator-names to enable them.
-
-The 'explicit' keyword is now supported. 'explicit' is used to mark
-constructors and type conversion operators that should not be used
-implicitly.
-
-g++ now accepts the typename keyword, though it currently has no
-semantics; it can be a no-op in the current template implementation.
-You may want to start using it in your code, however, since the
-pending rewrite of the template implementation to compile STL properly
-(perhaps for 2.8.0, perhaps not) will require you to use it as
-indicated by the current draft.
-
-Handling of user-defined type conversion has been overhauled so that
-type conversion operators are now found and used properly in
-expressions and function calls.
-
--fno-strict-prototype now only applies to function declarations with
-"C" linkage.
-
-g++ now warns about 'if (x=0)' with -Wparentheses or -Wall.
-
-#pragma weak and #pragma pack are supported on System V R4 targets, as
-are various other target-specific #pragmas supported by gcc.
-
-new and delete of const types is now allowed (with no additional
-semantics).
-
-Explicit instantiation of template methods is now supported. Also,
-'inline template class foo<int>;' can be used to emit only the vtable
-for a template class.
-
-With -fcheck-new, g++ will check the return value of all calls to
-operator new, and not attempt to modify a returned null pointer.
-
-The template instantiation code now handles more conversions when
-passing to a parameter that does not depend on template arguments.
-This means that code like 'string s; cout << s;' now works.
-
-Invalid jumps in a switch statement past declarations that require
-initializations are now caught.
-
-Functions declared 'extern inline' now have the same linkage semantics
-as inline member functions. On supported targets, where previously
-these functions (and vtables, and template instantiations) would have
-been defined statically, they will now be defined as weak symbols so
-that only one out-of-line definition is used.
-
-collect2 now demangles linker output, and c++filt has become part of
-the gcc distribution.
-
-Noteworthy changes in GCC version 2.6.3:
-
-A few more bugs have been fixed.
-
-Noteworthy changes in GCC version 2.6.2:
-
-A few bugs have been fixed.
-
-Names of attributes can now be preceded and followed by double underscores.
-
-Noteworthy changes in GCC version 2.6.1:
-
-Numerous (mostly minor) bugs have been fixed.
-
-The following new configurations are supported:
-
- GNU on x86 (instead of treating it like MACH)
- NetBSD on Sparc and Motorola 68k
- AIX 4.1 on RS/6000 and PowerPC systems
- Sequent DYNIX/ptx 1.x and 2.x.
- Both COFF and ELF configurations on AViiON without using /bin/gcc
- Windows/NT on x86 architecture; preliminary
- AT&T DSP1610 digital signal processor chips
- i960 systems on bare boards using COFF
- PDP11; target only and not extensively tested
-
-The -pg option is now supported for Alpha under OSF/1 V3.0 or later.
-
-Files with an extension of ".c++" are treated as C++ code.
-
-The -Xlinker and -Wl arguments are now passed to the linker in the
-position they were specified on the command line. This makes it
-possible, for example, to pass flags to the linker about specific
-object files.
-
-The use of positional arguments to the configure script is no longer
-recommended. Use --target= to specify the target; see the GCC manual.
-
-The 386 now supports two new switches: -mreg-alloc=<string> changes
-the default register allocation order used by the compiler, and
--mno-wide-multiply disables the use of the mul/imul instructions that
-produce 64 bit results in EAX:EDX from 32 bit operands to do long long
-multiplies and 32-bit division by constants.
-
-Noteworthy changes in GCC version 2.6.0:
-
-Numerous bugs have been fixed, in the C and C++ front-ends, as
-well as in the common compiler code.
-
-This release includes the C, Objective-C, and C++ compilers. However,
-we have moved the files for the C++ compiler (G++) files to a
-subdirectory, cp. Subsequent releases of GCC will split these files
-to a separate TAR file.
-
-The G++ team has been tracking the development of the ANSI standard for C++.
-Here are some new features added from the latest working paper:
-
- * built-in boolean type 'bool', with constants 'true' and 'false'.
- * array new and delete (operator new [] and delete []).
- * WP-conforming lifetime of temporaries.
- * explicit instantiation of templates (template class A<int>;),
- along with an option (-fno-implicit-templates) to disable emission
- of implicitly instantiated templates, obsoletes -fexternal-templates.
- * static member constants (static const int foo = 4; within the
- class declaration).
-
-Many error messages have been improved to tell the user more about the
-problem. Conformance checking with -pedantic-errors has been
-improved. G++ now compiles Fresco.
-
-There is now an experimental implementation of virtual functions using
-thunks instead of Cfront-style vtables, enabled with -fvtable-thunks.
-This option also enables a heuristic which causes the compiler to only
-emit the vtable in the translation unit where its first non-inline
-virtual function is defined; using this option and
--fno-implicit-templates, users should be able to avoid #pragma
-interface/implementation altogether.
-
-Signatures have been added as a GNU C++ extension. Using the option
--fhandle-signatures, users are able to turn on recognition of
-signatures. A short introduction on signatures is in the section
-`Extension to the C++ Language' in the manual.
-
-The `g++' program is now a C program, rather than a shell script.
-
-Lots and lots and lots of bugs fixes, in nested types, access control,
-pointers to member functions, the parser, templates, overload
-resolution, etc, etc.
-
-There have been two major enhancements to the Objective-C compiler:
-
-1) Added portability. It now runs on Alpha, and some problems with
- message forwarding have been addressed on other platforms.
-
-2) Selectors have been redefined to be pointers to structs like:
- { void *sel_id, char *sel_types }, where the sel_id is the unique
- identifier, the selector itself is no longer unique.
-
- Programmers should use the new function sel_eq to test selector
- equivalence.
-
-The following major changes have been made to the base compiler and
-machine-specific files.
-
-- The MIL-STD-1750A is a new port, but still preliminary.
-
-- The h8/300h is now supported; both the h8/300 and h8/300h ports come
- with 32 bit IEEE 754 software floating point support.
-
-- The 64-bit Sparc (v9) and 64-bit MIPS chips are supported.
-
-- NetBSD is supported on m68k, Intel x86, and pc523 systems and FreeBSD
- on x86.
-
-- COFF is supported on x86, m68k, and Sparc systems running LynxOS.
-
-- 68K systems from Bull and Concurrent are supported and System V
- Release 4 is supported on the Atari.
-
-- GCC supports GAS on the Motorola 3300 (sysV68) and debugging
- (assuming GAS) on the Plexus 68K system. (However, GAS does not yet
- work on those systems).
-
-- System V Release 4 is supported on MIPS (Tandem).
-
-- For DG/UX, an ELF configuration is now supported, and both the ELF
- and BCS configurations support ELF and COFF object file formats.
-
-- OSF/1 V2.0 is supported on Alpha.
-
-- Function profiling is also supported on Alpha.
-
-- GAS and GDB is supported for Irix 5 (MIPS).
-
-- "common mode" (code that will run on both POWER and PowerPC
- architectures) is now supported for the RS/6000 family; the
- compiler knows about more PPC chips.
-
-- Both NeXTStep 2.1 and 3 are supported on 68k-based architectures.
-
-- On the AMD 29k, the -msoft-float is now supported, as well as
- -mno-sum-in-toc for RS/6000, -mapp-regs and -mflat for Sparc, and
- -membedded-pic for MIPS.
-
-- GCC can now convert division by integer constants into the equivalent
- multiplication and shift operations when that is faster than the
- division.
-
-- Two new warning options, -Wbad-function-cast and
- -Wmissing-declarations have been added.
-
-- Configurations may now add machine-specific __attribute__ options on
- type; many machines support the `section' attribute.
-
-- The -ffast-math flag permits some optimization that violate strict
- IEEE rules, such as converting X * 0.0 to 0.0.
-
-Noteworthy changes in GCC version 2.5.8:
-
-This release only fixes a few serious bugs. These include fixes for a
-bug that prevented most programs from working on the RS/6000, a bug
-that caused invalid assembler code for programs with a `switch'
-statement on the NS32K, a G++ problem that caused undefined names in
-some configurations, and several less serious problems, some of which
-can affect most configuration.
-
-Noteworthy change in GCC version 2.5.7:
-
-This release only fixes a few bugs, one of which was causing bootstrap
-compare errors on some systems.
-
-Noteworthy change in GCC version 2.5.6:
-
-A few backend bugs have been fixed, some of which only occur on one
-machine.
-
-The C++ compiler in 2.5.6 includes:
-
- * fixes for some common crashes
- * correct handling of nested types that are referenced as `foo::bar'
- * spurious warnings about friends being declared static and never
- defined should no longer appear
- * enums that are local to a method in a class, or a class that's
- local to a function, are now handled correctly. For example:
- class foo { void bar () { enum { x, y } E; x; } };
- void bar () { class foo { enum { x, y } E; E baz; }; }
-
-Noteworthy change in GCC version 2.5.5:
-
-A large number of C++ bugs have been fixed.
-
-The fixproto script adds prototypes conditionally on __cplusplus.
-
-Noteworthy change in GCC version 2.5.4:
-
-A bug fix in passing of structure arguments for the HP-PA architecture
-makes code compiled with GCC 2.5.4 incompatible with code compiled
-with earlier versions (if it passes struct arguments of 33 to 64 bits,
-interspersed with other types of arguments).
-
-Noteworthy change in gcc version 2.5.3:
-
-The method of "mangling" C++ function names has been changed. So you
-must recompile all C++ programs completely when you start using GCC
-2.5. Also, GCC 2.5 requires libg++ version 2.5. Earlier libg++
-versions won't work with GCC 2.5. (This is generally true--GCC
-version M.N requires libg++ version M.N.)
-
-Noteworthy GCC changes in version 2.5:
-
-* There is now support for the IBM 370 architecture as a target.
-Currently the only operating system supported is MVS; GCC does not run
-on MVS, so you must produce .s files using GCC as a cross compiler,
-then transfer them to MVS to assemble them. This port is not reliable
-yet.
-
-* The Power PC is now supported.
-
-* The i860-based Paragon machine is now supported.
-
-* The Hitachi 3050 (an HP-PA machine) is now supported.
-
-* The variable __GNUC_MINOR__ holds the minor version number of GCC, as
-an integer. For version 2.5.X, the value is 5.
-
-* In C, initializers for static and global variables are now processed
-an element at a time, so that they don't need a lot of storage.
-
-* The C syntax for specifying which structure field comes next in an
-initializer is now `.FIELDNAME='. The corresponding syntax for
-array initializers is now `[INDEX]='. For example,
-
- char whitespace[256]
- = { [' '] = 1, ['\t'] = 1, ['\n'] = 1 };
-
-This was changed to accord with the syntax proposed by the Numerical
-C Extensions Group (NCEG).
-
-* Complex numbers are now supported in C. Use the keyword __complex__
-to declare complex data types. See the manual for details.
-
-* GCC now supports `long double' meaningfully on the Sparc (128-bit
-floating point) and on the 386 (96-bit floating point). The Sparc
-support is enabled on Solaris 2.x because earlier system versions
-(SunOS 4) have bugs in the emulation.
-
-* All targets now have assertions for cpu, machine and system. So you
-can now use assertions to distinguish among all supported targets.
-
-* Nested functions in C may now be inline. Just declare them inline
-in the usual way.
-
-* Packed structure members are now supported fully; it should be possible
-to access them on any supported target, no matter how little alignment
-they have.
-
-* To declare that a function does not return, you must now write
-something like this (works only in 2.5):
-
- void fatal () __attribute__ ((noreturn));
-
-or like this (works in older versions too):
-
- typedef void voidfn ();
-
- volatile voidfn fatal;
-
-It used to be possible to do so by writing this:
-
- volatile void fatal ();
-
-but it turns out that ANSI C requires that to mean something
-else (which is useless).
-
-Likewise, to declare that a function is side-effect-free
-so that calls may be deleted or combined, write
-something like this (works only in 2.5):
-
- int computation () __attribute__ ((const));
-
-or like this (works in older versions too):
-
- typedef int intfn ();
-
- const intfn computation;
-
-* The new option -iwithprefixbefore specifies a directory to add to
-the search path for include files in the same position where -I would
-put it, but uses the specified prefix just like -iwithprefix.
-
-* Basic block profiling has been enhanced to record the function the
-basic block comes from, and if the module was compiled for debugging,
-the line number and filename. A default version of the basic block
-support module has been added to libgcc2 that appends the basic block
-information to a text file 'bb.out'. Machine descriptions can now
-override the basic block support module in the target macro file.
-
-New features in g++:
-
-* The new flag `-fansi-overloading' for C++. Use a newly implemented
-scheme of argument matching for C++. It makes g++ more accurately
-obey the rules set down in Chapter 13 of the Annotated C++ Reference
-Manual (the ARM). This option will be turned on by default in a
-future release.
-
-* The -finline-debug flag is now gone (it was never really used by the
- compiler).
-
-* Recognizing the syntax for pointers to members, e.g., "foo::*bar", has been
- dramatically improved. You should not get any syntax errors or incorrect
- runtime results while using pointers to members correctly; if you do, it's
- a definite bug.
-
-* Forward declaration of an enum is now flagged as an error.
-
-* Class-local typedefs are now working properly.
-
-* Nested class support has been significantly improved. The compiler
- will now (in theory) support up to 240 nested classes before hitting
- other system limits (like memory size).
-
-* There is a new C version of the `g++' driver, to replace the old
- shell script. This should significantly improve the performance of
- executing g++ on a system where a user's PATH environment variable
- references many NFS-mounted filesystems. This driver also works
- under MS-DOS and OS/2.
-
-* The ANSI committee working on the C++ standard has adopted a new
- keyword `mutable'. This will allow you to make a specific member be
- modifiable in an otherwise const class.
-
-Noteworthy GCC changes in version 2.4.4:
-
- A crash building g++ on various hosts (including m68k) has been
- fixed. Also the g++ compiler no longer reports incorrect
- ambiguities in some situations where they do not exist, and
- const template member functions are now being found properly.
-
-Noteworthy GCC changes in version 2.4:
-
-* On each target, the default is now to return short structures
-compatibly with the "usual" compiler on that target.
-
-For most targets, this means the default is to return all structures
-in memory, like long structures, in whatever way is used on that
-target. Use -freg-struct-return to enable returning short structures
-(and unions) in registers.
-
-This change means that newly compiled binaries are incompatible with
-binaries compiled with previous versions of GCC.
-
-On some targets, GCC is itself the usual compiler. On these targets,
-the default way to return short structures is still in registers.
-Use -fpcc-struct-return to tell GCC to return them in memory.
-
-* There is now a floating point emulator which can imitate the way all
-supported target machines do floating point arithmetic.
-
-This makes it possible to have cross compilation to and from the VAX,
-and between machines of different endianness. However, this works
-only when the target machine description is updated to use the new
-facilities, and not all have been updated.
-
-This also makes possible support for longer floating point types.
-GCC 2.4 supports extended format on the 68K if you use `long double',
-for targets that have a 68881. (When we have run time library
-routines for extended floating point, then `long double' will use
-extended format on all 68K targets.)
-
-We expect to support extended floating point on the i386 and Sparc in
-future versions.
-
-* Building GCC now automatically fixes the system's header files.
-This should require no attention.
-
-* GCC now installs an unsigned data type as size_t when it fixes the
-header files (on all but a handful of old target machines).
-Therefore, the bug that size_t failed to be unsigned is fixed.
-
-* Building and installation are now completely separate.
-All new files are constructed during the build process;
-installation just copies them.
-
-* New targets supported: Clipper, Hitachi SH, Hitachi 8300, and Sparc
-Lite.
-
-* A totally new and much better Objective C run time system is included.
-
-* Objective C supports many new features. Alas, I can't describe them
-since I don't use that language; however, they are the same ones
-supported in recent versions of the NeXT operating system.
-
-* The builtin functions __builtin_apply_args, __builtin_apply and
-__builtin_return let you record the arguments and returned
-value of a function without knowing their number or type.
-
-* The builtin string variables __FUNCTION__ and __PRETTY_FUNCTION__
-give the name of the function in the source, and a pretty-printed
-version of the name. The two are the same in C, but differ in C++.
-
-* Casts to union types do not yield lvalues.
-
-* ## before an empty rest argument discards the preceding sequence
-of non-whitespace characters from the macro definition.
-(This feature is subject to change.)
-
-
-New features specific to C++:
-
-* The manual contains a new section ``Common Misunderstandings with
-GNU C++'' that C++ users should read.
-
-* #pragma interface and #pragma implementation let you use the same
-C++ source file for both interface and implementation.
-However, this mechanism is still in transition.
-
-* Named returned values let you avoid an extra constructor call
-when a function result has a class type.
-
-* The C++ operators <? and >? yield min and max, respectively.
-
-* C++ gotos can exit a block safely even if the block has
-aggregates that require destructors.
-
-* gcc defines the macro __GNUG__ when compiling C++ programs.
-
-* GNU C++ now correctly distinguishes between the prefix and postfix
-forms of overloaded operator ++ and --. To avoid breaking old
-code, if a class defines only the prefix form, the compiler
-accepts either ++obj or obj++, unless -pedantic is used.
-
-* If you are using version 2.3 of libg++, you need to rebuild it with
-`make CC=gcc' to avoid mismatches in the definition of `size_t'.
-
-Newly documented compiler options:
-
--fnostartfiles
- Omit the standard system startup files when linking.
-
--fvolatile-global
- Consider memory references to extern and global data items to
- be volatile.
-
--idirafter DIR
- Add DIR to the second include path.
-
--iprefix PREFIX
- Specify PREFIX for later -iwithprefix options.
-
--iwithprefix DIR
- Add PREFIX/DIR to the second include path.
-
--mv8
- Emit Sparc v8 code (with integer multiply and divide).
--msparclite
- Emit Sparclite code (roughly v7.5).
-
--print-libgcc-file-name
- Search for the libgcc.a file, print its absolute file name, and exit.
-
--Woverloaded-virtual
- Warn when a derived class function declaration may be an error
- in defining a C++ virtual function.
-
--Wtemplate-debugging
- When using templates in a C++ program, warn if debugging is
- not yet fully available.
-
-+eN
- Control how C++ virtual function definitions are used
- (like cfront 1.x).
-
+This file contains information about GCC releases which has been
+generated automatically from the online release notes. This file
+covers releases of GCC (and the former EGCS project) since EGCS 1.0,
+on the line of development that led to GCC 3; for information on GCC
+2.8.1 and older releases of GCC 2, see ONEWS.
+
+======================================================================
+http://gcc.gnu.org/gcc-2.95/gcc-2.95.3.html
+
+ GCC 2.95.3
+
+ March 16, 2001
+
+ The GNU project and the GCC developers are pleased to announce the
+ release of GCC version 2.95.3. GCC used to stand for the GNU C
+ Compiler, but since the compiler supports several other languages
+ aside from C, it now stands for the GNU Compiler Collection.
+
+ This is a minor release to address several bugs in the [1]GCC version
+ 2.95.2 release.
+
+ * Generic bugfixes and improvements
+ + Fix numerous problems that caused incorrect optimization in
+ the register reloading code.
+ + Fix numerous problems that caused incorrect optimization in
+ the loop optimizer.
+ + Fix aborts in the functions build_insn_chain and scan_loops
+ under some circumstances.
+ + Fix an alias analysis bug.
+ + Fix an infinite compilation bug in the combiner.
+ + A few problems with complex number support have been fixed.
+ + It is no longer possible for gcc to act as a fork bomb when
+ installed incorrectly.
+ + The -fpack-struct option should be recognized now.
+ + Fixed a bug that caused incorrect code to be generated due to
+ a lost stack adjustment.
+ * Platform specific bugfixes and improvements
+ + Support building ARM toolchains hosted on Windows.
+ + Fix attribute calculations in ARM toolchains.
+ + arm-linux support has been improved.
+ + Fix a PIC failure on sparc targets.
+ + On ix86 targets, the regparm attribute should now work
+ reliably.
+ + Several updates for the h8300 port.
+
+ The whole suite has been extensively [2]regression tested and
+ [3]package tested. It should be reliable and suitable for widespread
+ use.
+
+ The GCC 2.95 release has several new optimizations, new targets, new
+ languages and other new features as compared to EGCS 1.1 or GCC 2.8.
+ See the [4]new features page for a more complete list of new features
+ found in the GCC 2.95 releases.
+
+ The sources include installation instructions in both HTML and
+ plaintext forms in the install directory in the distribution. However,
+ the most up to date [5]installation instructions and [6]build/test
+ status are on the web pages. We will update those pages as new
+ information becomes available.
+
+ The GCC developers would like to thank the numerous people that have
+ contributed new features, test results, bugfixes, etc to GCC. This
+ [7]amazing group of volunteers is what makes GCC successful.
+
+ And finally, we can't in good conscience fail to mention some
+ [8]caveats to using GCC 2.95.3.
+
+ Download GCC 2.95.3 from the [9]GNU FTP server (ftp://ftp.gnu.org)
+ Download GCC 2.95.3 from the [10]GCC FTP server (ftp://gcc.gnu.org)
+ [11]Find a GNU mirror site
+ [12]Find a GCC mirror site
+
+ For additional information about GCC please see the [13]GCC project
+ web server or contact the [14]GCC development mailing list.
+ _________________________________________________________________
+
+
+ [15]The GCC team
+ Last modified 2001-03-16
+
+References
+
+ 1. http://gcc.gnu.org/gcc-2.95/gcc-2.95.2.html
+ 2. http://gcc.gnu.org/gcc-2.95/regress.html
+ 3. http://gcc.gnu.org/gcc-2.95/othertest.html
+ 4. http://gcc.gnu.org/gcc-2.95/features.html
+ 5. http://gcc.gnu.org/install/index.html
+ 6. http://gcc.gnu.org/gcc-2.95/buildstat.html
+ 7. http://gcc.gnu.org/thanks.html
+ 8. http://gcc.gnu.org/gcc-2.95/caveats.html
+ 9. ftp://ftp.gnu.org/pub/gnu/gcc/
+ 10. ftp://gcc.gnu.org/pub/gcc/releases/index.html
+ 11. http://www.gnu.org/order/ftp.html
+ 12. http://gcc.gnu.org/mirrors.html
+ 13. http://gcc.gnu.org/index.html
+ 14. mailto:gcc@gcc.gnu.org
+ 15. http://gcc.gnu.org/about.html
+======================================================================
+http://gcc.gnu.org/gcc-2.95/gcc-2.95.2.html
+
+ GCC 2.95.2
+
+ October 27, 1999
+
+ The GNU project and the GCC developers are pleased to announce the
+ release of GCC version 2.95.2. GCC used to stand for the GNU C
+ Compiler, but since the compiler supports several other languages
+ aside from C, it now stands for the GNU Compiler Collection.
+
+ This is a minor release to address several bugs in the GCC version
+ 2.95.1 release.
+
+ The -fstrict-aliasing is not enabled by default for GCC 2.95.2. While
+ the optimizations performed by -fstrict-aliasing are valid according
+ to the C and C++ standards, the optimization have caused some
+ problems, particularly with old non-conforming code.
+
+ The GCC developers are experimenting with ways to warn users about
+ code which violates the C/C++ standards, but those warnings are not
+ ready for widespread use at this time. Rather than wait for those
+ warnings the GCC developers have chosen to disable -fstrict-aliasing
+ by default for the GCC 2.95.2 release.
+
+ We strongly encourage developers to find and fix code which violates
+ the C/C++ standards as -fstrict-aliasing may be enabled by default in
+ future releases. Use the option -fstrict-aliasing to re-enable these
+ optimizations.
+
+ * Generic bugfixes and improvements
+ + Fix incorrectly optimized memory reference in global common
+ subexpression elimination (GCSE) optimization pass.
+ + Fix code generation bug in regmove.c in which it could
+ incorrectly change a "const" value.
+ + Fix bug in optimization of conditionals involving volatile
+ memory references.
+ + Avoid over-allocation of stack space for some procedures.
+ + Fixed bug in the compiler which caused incorrect optimization
+ of an obscure series of bit manipulations, shifts and
+ arithmetic.
+ + Fixed register allocator bug which caused teTeX to be
+ mis-compiled on Sparc targets.
+ + Avoid incorrect optimization of degenerate case statements
+ for certain targets such as the ARM.
+ + Fix out of range memory reference in the jump optimizer.
+ + Avoid dereferencing null pointer in fix-header.
+ + Fix test for GCC specific features so that it is possible to
+ bootstrap with gcc-2.6.2 and older versions of GCC.
+ + Fix typo in scheduler which could potentially cause out of
+ range memory accesses.
+ + Avoid incorrect loop reversal which caused incorrect code for
+ certain loops on PowerPC targets.
+ + Avoid incorrect optimization of switch statements on certain
+ targets (for example the ARM).
+ * Platform specific bugfixes and improvements
+ + Work around bug in Sun V5.0 compilers which caused bootstrap
+ comparison failures on Sparc targets.
+ + Fix Sparc backend bug which caused aborts in final.c.
+ + Fix sparc-hal-solaris2* configuration fragments.
+ + Fix bug in sparc block profiling.
+ + Fix obscure code generation bug for the PARISC targets.
+ + Define __STDC_EXT__ for HPUX configurations.
+ + Various POWERPC64 code generation bugfixes.
+ + Fix abort for PPC targets using ELF (ex GNU/Linux).
+ + Fix collect2 problems for AIX targets.
+ + Correct handling of .file directive for PPC targets.
+ + Fix bug in fix_trunc x86 patterns.
+ + Fix x86 port to correctly pop the FP stack for functions that
+ return structures in memory.
+ + Fix minor bug in strlen x86 pattern.
+ + Use stabs debugging instead of dwarf1 for x86-solaris
+ targets.
+ + Fix template repository code to handle leading underscore in
+ mangled names.
+ + Fix weak/weak alias support for OpenBSD.
+ + GNU/Linux for the ARM has C++ compatible include files.
+ * Language & Runtime specific fixes.
+ + Fix handling of constructor attribute in the C front-end
+ which caused problems building the Chill runtime library on
+ some targets.
+ + Fix minor problem merging type qualifiers in the C front-end.
+ + Fix aliasing bug for pointers and references (C/C++).
+ + Fix incorrect "non-constant initializer bug" when
+ -traditional or -fwritable-strings is enabled.
+ + Fix build error for Chill front-end on SunOS.
+ + Do not complain about duplicate instantiations when using
+ -frepo (C++)
+ + Fix array bounds handling in C++ front-end which caused
+ problems with dwarf debugging information in some
+ circumstances.
+ + Fix minor namespace problem.
+ + Fix problem linking java programs.
+
+ The whole suite has been extensively [1]regression tested and
+ [2]package tested. It should be reliable and suitable for widespread
+ use.
+
+ The GCC 2.95 release has several new optimizations, new targets, new
+ languages and other new features as compared to EGCS 1.1 or GCC 2.8.
+ See the [3]new features page for a more complete list of new features
+ found in the GCC 2.95 releases.
+
+ The sources include installation instructions in both HTML and
+ plaintext forms in the install directory in the distribution. However,
+ the most up to date [4]installation instructions and [5]build/test
+ status are on the web pages. We will update those pages as new
+ information becomes available.
+
+ The GCC developers would like to thank the numerous people that have
+ contributed new features, test results, bugfixes, etc to GCC. This
+ [6]amazing group of volunteers is what makes GCC successful.
+
+ And finally, we can't in good conscience fail to mention some
+ [7]caveats to using GCC 2.95.2.
+
+ Download GCC 2.95.2 from the [8]GNU FTP server (ftp://ftp.gnu.org)
+ Download GCC 2.95.2 from the [9]GCC/EGCS FTP server
+ (ftp://gcc.gnu.org)
+ [10]Find a GNU mirror site
+ [11]Find a GCC/EGCS mirror site
+
+ For additional information about GCC please see the [12]GCC project
+ web server or contact the [13]GCC development mailing list.
+ _________________________________________________________________
+
+
+ [14]The GCC team
+ Last modified 2001-02-12
+
+References
+
+ 1. http://gcc.gnu.org/gcc-2.95/regress.html
+ 2. http://gcc.gnu.org/gcc-2.95/othertest.html
+ 3. http://gcc.gnu.org/gcc-2.95/features.html
+ 4. http://gcc.gnu.org/install/index.html
+ 5. http://gcc.gnu.org/gcc-2.95/buildstat.html
+ 6. http://gcc.gnu.org/thanks.html
+ 7. http://gcc.gnu.org/gcc-2.95/caveats.html
+ 8. ftp://ftp.gnu.org/pub/gnu/gcc/
+ 9. ftp://gcc.gnu.org/pub/gcc/releases/index.html
+ 10. http://www.gnu.org/order/ftp.html
+ 11. http://gcc.gnu.org/mirrors.html
+ 12. http://gcc.gnu.org/index.html
+ 13. mailto:gcc@gcc.gnu.org
+ 14. http://gcc.gnu.org/about.html
+======================================================================
+http://gcc.gnu.org/gcc-2.95/gcc-2.95.1.html
+
+ GCC 2.95.1
+
+ August 19, 1999
+
+ The GNU project and the GCC/EGCS developers are pleased to announce
+ the release of GCC version 2.95.1. GCC used to stand for the GNU C
+ Compiler, but since the compiler supports several other languages
+ aside from C, it now stands for the GNU Compiler Collection.
+
+ This is a minor release to address several bugs in the GCC version
+ 2.95 release.
+
+ * Generic bugfixes and improvements
+ + Various documentation fixes related to the GCC/EGCS merger.
+ + Fix memory management bug which could lead to spurious
+ aborts, core dumps or random parsing errors in the compiler.
+ + Fix a couple bugs in the dwarf1 and dwarf2 debug record
+ support.
+ + Fix infinite loop in the CSE optimizer.
+ + Avoid undefined behavior in compiler FP emulation code
+ + Fix install problem when prefix is overridden on the make
+ install command.
+ + Fix problem with unwanted installation of assert.h on some
+ systems.
+ + Fix problem with finding the wrong assembler in a single tree
+ build.
+ + Avoid increasing the known alignment of a register that is
+ already known to be a pointer.
+ * Platform specific bugfixes and improvements
+ + Codegen bugfix for prologue/epilogue for cpu32 target.
+ + Fix long long code generation bug for the Coldfire target.
+ + Fix various aborts in the SH compiler.
+ + Fix bugs in libgcc support library for the SH.
+ + Fix alpha ev6 code generation bug.
+ + Fix problems with EXIT_SUCCESS/EXIT_FAILURE redefinitions on
+ AIX platforms.
+ + Fix -fpic code generation bug for rs6000/ppc svr4 targets.
+ + Fix varargs/stdarg code generation bug for rs6000/ppc svr4
+ targets.
+ + Fix weak symbol handling for rs6000/ppc svr4 targets.
+ + Fix various problems with 64bit code generation for the
+ rs6000/ppc port.
+ + Fix codegen bug which caused tetex to be mis-compiled on the
+ x86
+ + Fix compiler abort in new cfg code exposed by x86 port.
+ + Fix out of range array reference in code convert flat
+ registers to the x87 stacked FP register file.
+ + Fix minor vxworks configuration bug
+ + Fix return type of bsearch for SunOS 4.x.
+ * Language & Runtime specific fixes.
+ + The G++ signature extension has been deprecated. It will be
+ removed in the next major release of G++. Use of signatures
+ will result in a warning from the compiler.
+ + Several bugs relating to templates and namespaces were fixed.
+ + A bug that caused crashes when combining templates with -g on
+ DWARF1 platforms was fixed.
+ + Pointers-to-members, virtual functions, and multiple
+ inheritance should now work together correctly.
+ + Some code-generation bugs relating to function try blocks
+ were fixed.
+ + G++ is a little bit more lenient with certain archaic
+ constructs than in GCC 2.95.
+ + Fix to prevent shared library version #s from bring truncated
+ to 1 digit
+ + Fix missing std:: in the libstdc++ library.
+ + Fix stream locking problems in libio.
+ + Fix problem in java compiler driver.
+
+ The whole suite has been extensively [1]regression tested and
+ [2]package tested. It should be reliable and suitable for widespread
+ use.
+
+ The compiler has several new optimizations, new targets, new languages
+ and other new features. See the [3]new features page for a more
+ complete list of new features found in the GCC 2.95 releases.
+
+ The sources include installation instructions in both HTML and
+ plaintext forms in the install directory in the distribution. However,
+ the most up to date [4]installation instructions and [5]build/test
+ status are on the web pages. We will update those pages as new
+ information becomes available.
+
+ The GCC developers would like to thank the numerous people that have
+ contributed new features, test results, bugfixes, etc to GCC. This
+ [6]amazing group of volunteers is what makes GCC successful.
+
+ And finally, we can't in good conscience fail to mention some
+ [7]caveats to using GCC 2.95.1.
+
+ Download GCC 2.95.1 from the [8]GNU FTP server (ftp://ftp.gnu.org)
+ Download GCC 2.95.1 from the [9]GCC/EGCS FTP server
+ (ftp://go.cygnus.com)
+ [10]Find a GNU mirror site
+ [11]Find a GCC/EGCS mirror site
+
+ For additional information about GCC please see the [12]GCC project
+ web server or contact the [13]GCC development mailing list.
+ _________________________________________________________________
+
+
+ [14]The GCC team
+ Last modified 2001-02-12
+
+References
+
+ 1. http://gcc.gnu.org/gcc-2.95/regress.html
+ 2. http://gcc.gnu.org/gcc-2.95/othertest.html
+ 3. http://gcc.gnu.org/gcc-2.95/features.html
+ 4. http://gcc.gnu.org/install/index.html
+ 5. http://gcc.gnu.org/gcc-2.95/buildstat.html
+ 6. http://gcc.gnu.org/thanks.html
+ 7. http://gcc.gnu.org/gcc-2.95/caveats.html
+ 8. ftp://ftp.gnu.org/pub/gnu/gcc/
+ 9. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
+ 10. http://www.gnu.org/order/ftp.html
+ 11. http://gcc.gnu.org/mirrors.html
+ 12. http://gcc.gnu.org/index.html
+ 13. mailto:gcc@gcc.gnu.org
+ 14. http://gcc.gnu.org/about.html
+======================================================================
+http://gcc.gnu.org/gcc-2.95/gcc-2.95.html
+
+ GCC 2.95
+
+ July 31, 1999
+
+ The GNU project and the GCC/EGCS developers are pleased to announce
+ the release of GCC version 2.95. GCC used to stand for the GNU C
+ Compiler, but since the compiler supports several other languages
+ aside from C, it now stands for the GNU Compiler Collection.
+
+ This is the first release of GCC since the April 1999 GCC/EGCS
+ reunification and includes nearly a year's worth of new development
+ and bugfixes.
+
+ The whole suite has been extensively [1]regression tested and
+ [2]package tested. It should be reliable and suitable for widespread
+ use.
+
+ The compiler has several new optimizations, new targets, new languages
+ and other new features. See the [3]new features page for a more
+ complete list of new features found in the GCC 2.95 releases.
+
+ The sources include installation instructions in both HTML and
+ plaintext forms in the install directory in the distribution. However,
+ the most up to date [4]installation instructions and [5]build/test
+ status are on the web pages. We will update those pages as new
+ information becomes available.
+
+ The GCC developers would like to thank the numerous people that have
+ contributed new features, test results, bugfixes, etc to GCC. This
+ [6]amazing group of volunteers is what makes GCC successful.
+
+ And finally, we can't in good conscience fail to mention some
+ [7]caveats to using GCC 2.95.
+
+ Download GCC 2.95 from the [8]GNU FTP server (ftp://ftp.gnu.org)
+ Download GCC 2.95 from the [9]GCC/EGCS FTP server
+ (ftp://go.cygnus.com)
+ [10]Find a GNU mirror site
+ [11]Find a GCC/EGCS mirror site
+
+ For additional information about GCC please see the [12]GCC project
+ web server or contact the [13]GCC development mailing list.
+ _________________________________________________________________
+
+
+ [14]The GCC team
+ Last modified 2001-02-12
+
+References
+
+ 1. http://gcc.gnu.org/gcc-2.95/regress.html
+ 2. http://gcc.gnu.org/gcc-2.95/othertest.html
+ 3. http://gcc.gnu.org/gcc-2.95/features.html
+ 4. http://gcc.gnu.org/install/index.html
+ 5. http://gcc.gnu.org/gcc-2.95/buildstat.html
+ 6. http://gcc.gnu.org/thanks.html
+ 7. http://gcc.gnu.org/gcc-2.95/caveats.html
+ 8. ftp://ftp.gnu.org/pub/gnu/gcc/
+ 9. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
+ 10. http://www.gnu.org/order/ftp.html
+ 11. http://gcc.gnu.org/mirrors.html
+ 12. http://gcc.gnu.org/index.html
+ 13. mailto:gcc@gcc.gnu.org
+ 14. http://gcc.gnu.org/about.html
+======================================================================
+http://gcc.gnu.org/gcc-2.95/features.html
+
+ GCC 2.95 New Features
+
+ * General Optimizer Improvements:
+ + [1]Localized register spilling to improve speed and code
+ density especially on small register class machines.
+ + [2]Global CSE using lazy code motion algorithms.
+ + [3]Improved global constant/copy propagation.
+ + [4]Improved control flow graph analysis and manipulation.
+ + [5]Local dead store elimination.
+ + [6]Memory Load hoisting/store sinking in loops.
+ + [7]Type based alias analysis is enabled by default. Note this
+ feature will expose bugs in the Linux kernel. Please refer to
+ the [8]FAQ for additional information on this issue.
+ + Major revamp of GIV detection, combination and simplification
+ to improve loop performance.
+ + Major improvements to register allocation and reloading.
+ * New Languages and Language specific improvements
+ + [9]Many C++ improvements.
+ + [10]Many Fortran improvements.
+ + [11]Java front-end has been integrated. A [12]runtime library
+ is available separately.
+ + [13]ISO C99 support
+ + [14]Chill front-end and runtime has been integrated.
+ + Boehm garbage collector support in libobjc.
+ + More support for various pragmas which appear in vendor
+ include files
+ * New Targets and Target Specific Improvements
+ + [15]Sparc backend rewrite.
+ + -mschedule=8000 will optimize code for PA8000 class
+ processors; -mpa-risc-2-0 will generate code for PA2.0
+ processors
+ + Various micro-optimizations for the ia32 port. K6
+ optimizations
+ + Compiler will attempt to align doubles in the stack on the
+ ia32 port
+ + Alpha EV6 support
+ + PowerPC 750
+ + RS6000/PowerPC: -mcpu=401 was added as an alias for
+ -mcpu=403. -mcpu=e603e was added to do -mcpu=603e and
+ -msoft-float.
+ + c3x, c4x
+ + HyperSparc
+ + SparcLite86x
+ + sh4
+ + Support for new systems (OpenBSD, FreeBSD, UWIN, Interix,
+ arm-linux)
+ + vxWorks targets include support for vxWorks threads
+ + StrongARM 110 and ARM9 support added. ARM Scheduling
+ parameters rewritten.
+ + Various changes to the MIPS port to avoid assembler macros,
+ which
+ + Various performance improvements to the i960 port.
+ + Major rewrite of ns32k port in turn improves performance
+ * Other significant improvements
+ + [16]Ability to dump cfg information and display it using vcg.
+ + The new faster scheme for fixing vendor header files is
+ enabled by default.
+ + Experimental internationalization support.
+ + multibyte character support
+ + Some compile-time speedups for pathological problems
+ + Better support for complex types
+ * Plus the usual mountain of bugfixes
+ * Core compiler is based on the gcc2 development tree from Sept 30,
+ 1998, so we have all of the [17]features found in GCC 2.8.
+ _________________________________________________________________
+
+
+ [18]The GCC team
+ Last modified 2001-02-12
+
+References
+
+ 1. http://gcc.gnu.org/news/spill.html
+ 2. http://gcc.gnu.org/news/lcm.html
+ 3. http://gcc.gnu.org/news/cprop.html
+ 4. http://gcc.gnu.org/news/cfg.html
+ 5. http://gcc.gnu.org/news/dse.html
+ 6. http://gcc.gnu.org/news/hoist.html
+ 7. http://gcc.gnu.org/news/alias.html
+ 8. http://gcc.gnu.org/fom_serv/cache/24.html
+ 9. http://gcc.gnu.org/gcc-2.95/c++features.html
+ 10. http://gcc.gnu.org/onlinedocs/g77_news.html
+ 11. http://sources.redhat.com/java/gcj-announce.txt
+ 12. http://gcc.gnu.org/javaannounce.html
+ 13. http://gcc.gnu.org/c99status.html
+ 14. http://gcc.gnu.org/news/chill.html
+ 15. http://gcc.gnu.org/news/sparc.html
+ 16. http://gcc.gnu.org/news/egcs-vcg.html
+ 17. http://gcc.gnu.org/egcs-1.0/features-2.8.html
+ 18. http://gcc.gnu.org/about.html
+======================================================================
+http://gcc.gnu.org/gcc-2.95/caveats.html
+
+ GCC 2.95 Caveats
+
+ * GCC 2.95 will issue an error for invalid asm statements that had
+ been silently accepted by earlier versions of the compiler. This
+ is particularly noticeable when compiling older versions of the
+ Linux kernel (2.0.xx). Please refer to the [1]FAQ for more
+ information on this issue.
+ * GCC 2.95 implements type based alias analysis to disambiguate
+ memory references. Some programs, particularly the Linux kernel
+ violate ANSI/ISO aliasing rules and therefore may not operate
+ correctly when compiled with GCC 2.95. Please refer to the [2]FAQ
+ for more information on this issue.
+ * GCC 2.95 has a known bug in its handling of complex variables for
+ 64bit targets. Instead of silently generating incorrect code, GCC
+ 2.95 will issue a fatal error for situations it can not handle.
+ This primarily affects the Fortran community as Fortran makes more
+ use of complex variables than C or C++.
+ * GCC 2.95 has an integrated libstdc++, but does not have an
+ integrated libg++. Furthermore old libg++ releases will not work
+ with GCC 2.95. You can retrieve a recent copy of libg++ from the
+ [3]GCC ftp server.
+ Note most C++ programs only need libstdc++.
+ * Exception handling may not work with shared libraries,
+ particularly on alphas, hppas, rs6000/powerpc and mips based
+ platforms. Exception handling is known to work on x86 GNU/Linux
+ platforms with shared libraries.
+ * In general, GCC 2.95 is more rigorous about rejecting invalid C++
+ code or deprecated C++ constructs than G++ 2.7, G++ 2.8, EGCS 1.0,
+ or EGCS 1.1. As a result it may be necessary to fix C++ code
+ before it will compile with GCC 2.95.
+ * G++ is also converting toward the ISO C++ standard; as a result
+ code which was previously valid (and thus accepted by other
+ compilers and older versions of g++) may no longer be accepted.
+ The flag -fpermissive may allow some non-conforming code to
+ compile with GCC 2.95.
+ * GCC 2.95 compiled C++ code is not binary compatible with EGCS
+ 1.1.x, EGCS 1.0.x or GCC 2.8.x.
+ * GCC 2.95 does not have changes from the GCC 2.8 tree that were
+ made between Sept 30, 1998 and April 30, 1999 (the official end of
+ the GCC 2.8 project). Future GCC releases will include all the
+ changes from the defunct GCC 2.8 sources.
+ _________________________________________________________________
+
+
+ [4]The GCC team
+ Last modified 2001-02-12
+
+References
+
+ 1. http://gcc.gnu.org/faq.html#asmclobber
+ 2. http://gcc.gnu.org/fom_serv/cache/24.html
+ 3. ftp://gcc.gnu.org/pub/gcc/infrastructure/libg++-2.8.1.3.tar.gz
+ 4. http://gcc.gnu.org/about.html
+======================================================================
+http://gcc.gnu.org/egcs-1.1/egcs-1.1.2.html
+
+ EGCS 1.1.2
+
+ March 15, 1999
+
+ We are pleased to announce the release of EGCS 1.1.2.
+
+ EGCS is a collaborative effort involving several groups of hackers
+ using an open development model to accelerate development and testing
+ of GNU compilers and runtime libraries.
+
+ EGCS 1.1.2 is a minor update to the EGCS 1.1.1 compiler to fix several
+ serious problems in EGCS 1.1.1.
+ * General improvements and fixes
+ + Fix bug in loop optimizer which caused the SPARC (and
+ potentially other) ports to segfault.
+ + Fix infinite recursion in alias analysis and combiner code.
+ + Fix bug in regclass preferencing.
+ + Fix incorrect loop reversal which caused incorrect code to be
+ generated for several targets.
+ + Fix return value for builtin memcpy.
+ + Reduce compile time for certain loops which exposed quadratic
+ behavior in the loop optimizer.
+ + Fix bug which caused volatile memory to be written multiple
+ times when only one write was needed/desired.
+ + Fix compiler abort in caller-save.c
+ + Fix combiner bug which caused incorrect code generation for
+ certain division by constant operations.
+ + Fix incorrect code generation due to a bug in range check
+ optimizations.
+ + Fix incorrect code generation due to mis-handling of
+ clobbered values in CSE.
+ + Fix compiler abort/segfault due to incorrect register
+ splitting when unrolling loops.
+ + Fix code generation involving autoincremented addresses with
+ ternary operators.
+ + Work around bug in the scheduler which caused qt to be
+ mis-compiled on some platforms.
+ + Fix code generation problems with -fshort-enums.
+ + Tighten security for temporary files.
+ + Improve compile time for codes which make heavy use of
+ overloaded functions.
+ + Fix multiply defined constructor/destructor symbol problems.
+ + Avoid setting bogus RPATH environemnt variable during
+ bootstrap.
+ + Avoid GNU-make dependencies in the texinfo subdir.
+ + Install CPP wrapper script in $(prefix)/bin if --enable-cpp.
+ --enable-cpp= can be used to specify an additional install
+ directory for the cpp wrapper script.
+ + Fix CSE bug which caused incorrect label-label refs to appear
+ on some platforms.
+ + Avoid linking in EH routines from libgcc if they are not
+ needed.
+ + Avoid obscure bug in aliasing code.
+ + Fix bug in weak symbol handling.
+ * Platform-specific improvements and fixes
+ + Fix detection of PPro/PII on Unixware 7.
+ + Fix compiler segfault when building spec99 and other programs
+ for SPARC targets.
+ + Fix code-generation bugs for integer and floating point
+ conditional move instructions on the PPro/PII.
+ + Use fixincludes to fix byteorder problems on i?86-*-sysv.
+ + Fix build failure for the arc port.
+ + Fix floating point format configuration for i?86-gnu port
+ + Fix problems with hppa1.0-hp-hpux10.20 configuration when
+ threads are enabled
+ + Fix coldfire code generation bugs.
+ + Fix "unrecognized insn" problems for Alpha and PPC ports.
+ + Fix h8/300 code generation problem with floating point values
+ in memory.
+ + Fix unrecognized insn problems for the m68k port.
+ + Fix namespace-pollution problem for the x86 port.
+ + Fix problems with old assembler on x86 NeXT systems.
+ + Fix PIC code-generation problems for the SPARC port.
+ + Fix minor bug with LONG_CALLS in PowerPC SVR4 support.
+ + Fix minor ISO namespace violation in Alpha varargs/stdarg
+ support.
+ + Fix incorrect "braf" instruction usage for the SH port.
+ + Fix minor bug in va-sh which prevented its use with -ansi.
+ + Fix problems recognizing and supporting FreeBSD.
+ + Handle OpenBSD systems correctly.
+ + Minor fixincludes fix for Digital UNIX 4.0B.
+ + Fix problems with ctors/dtors in SCO shared libraries.
+ + Abort instead of generating incorrect code for PPro/PII
+ floating point conditional moves.
+ + Avoid multiply defined symbols on Linux/GNU systems using
+ libc-5.4.xx.
+ + Fix abort in alpha compiler.
+
+ Fortran-specific fixes
+ * Fix the IDate intrinsic (VXT) (in libg2c) so the returned year is
+ in the documented, non-Y2K-compliant range of 0-99, instead of
+ being returned as 100 in the year 2000.
+ * Fix the `Date_and_Time' intrinsic (in libg2c) to return the
+ milliseconds value properly in Values(8).
+ * Fix the `LStat' intrinsic (in libg2c) to return device-ID
+ information properly in SArray(7).
+
+ An important goal of EGCS is to allow wide scale testing of new
+ features and optimizations which are still under development. However,
+ EGCS has been carefully tested and should be comparable in quality to
+ most gcc releases.
+
+ EGCS 1.1.2 is based on the June 6, 1998 snapshot of the GCC 2.8
+ development sources; it contains all of the new features found in GCC
+ 2.8.1 as well as all new development from gcc2 up to June 6, 1998.
+
+ See the [1]new features page for a more complete list of new features
+ found in EGCS 1.1 releases.
+
+ The EGCS 1.1.2 release includes installation instructions in both HTML
+ and plaintext forms (see the INSTALL directory in the toplevel
+ directory of the EGCS 1.1.2 distribution). However, we also keep the
+ most up to date [2]installation instructions and [3]build/test status
+ on our web page. We will update those pages as new information becomes
+ available.
+
+ The EGCS project would like to thank the numerous people that have
+ contributed new features, test results, bugfixes, etc. This [4]amazing
+ group of volunteers is what makes EGCS successful.
+
+ And finally, we can't in good conscience fail to mention some
+ [5]caveats to using EGCS 1.1.2. [6]Download EGCS 1.1.2 from
+ egcs.cygnus.com (USA California) -->
+
+ [7]Download EGCS 1.1.2 from go.cygnus.com (USA California - High speed
+ link provided by Stanford)
+
+ The EGCS 1.1.2 release is also available on many [8]mirror sites.
+ _________________________________________________________________
+
+ Last modified on July 28, 1999.
+
+References
+
+ 1. http://gcc.gnu.org/egcs-1.1/features.html
+ 2. http://gcc.gnu.org/install/index.html
+ 3. http://gcc.gnu.org/egcs-1.1/buildstat.html
+ 4. http://gcc.gnu.org/thanks.html
+ 5. http://gcc.gnu.org/egcs-1.1/caveats.html
+ 6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
+ 7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
+ 8. http://gcc.gnu.org/mirrors.html
+======================================================================
+http://gcc.gnu.org/egcs-1.1/egcs-1.1.1.html
+
+ EGCS 1.1.1
+
+ December 1, 1998
+
+ We are pleased to announce the release of EGCS 1.1.1.
+
+ EGCS is a collaborative effort involving several groups of hackers
+ using an open development model to accelerate development and testing
+ of GNU compilers and runtime libraries.
+
+ EGCS 1.1.1 is a minor update to the EGCS 1.1 compiler to fix several
+ serious problems in EGCS 1.1.
+ * General improvements and fixes
+ + Avoid some stack overflows when compiling large functions.
+ + Avoid incorrect loop invariant code motions.
+ + Fix some core dumps on Linux kernel code.
+ + Bring back the imake -Di386 and friends fix from EGCS 1.0.2.
+ + Fix code generation problem in gcse.
+ + Various documentation related fixes.
+ * g++/libstdc++ improvements and fixes
+ + MT safe EH fix for setjmp/longjmp based exception handling.
+ + Fix a few bad interactions between optimization and exception
+ handling.
+ + Fixes for demangling of template names starting with "__".
+ + Fix a bug that would fail to run destructors in some cases
+ with -O2.
+ + Fix 'new' of classes with virtual bases.
+ + Fix crash building Qt on the Alpha.
+ + Fix failure compiling WIFEXITED macro on GNU/Linux.
+ + Fix some -frepo failures.
+ * g77 and libf2c improvements and fixes
+ + Various documentation fixes.
+ + Avoid compiler crash on RAND intrinsic.
+ + Fix minor bugs in makefiles exposed by BSD make programs.
+ + Define _XOPEN_SOURCE for libI77 build to avoid potential
+ problems on some 64-bit systems.
+ + Fix problem with implicit endfile on rewind.
+ + Fix spurious recursive I/O errors.
+ * platform specific improvements and fixes
+ + Match all versions of UnixWare7.
+ + Do not assume x86 SVR4 or UnixWare targets can handle stabs
+ + Fix PPC/RS6000 LEGITIMIZE_ADDRESS macro and bug in conversion
+ from unsigned ints to double precision floats.
+ + Fix ARM ABI issue with NetBSD.
+ + Fix a few arm code generation bugs.
+ + Fixincludes will fix additional broken SCO OpenServer header
+ files.
+ + Fix a m68k backend bug which caused invalid offsets in reg+d
+ addresses.
+ + Fix problems with 64bit AIX 4.3 support.
+ + Fix handling of long longs for varargs/stdarg functions on
+ the ppc.
+ + Minor fixes to CPP predefines for Windows.
+ + Fix code generation problems with gpr<->fpr copies for 64bit
+ ppc
+ + Fix a few coldfire code generation bugs.
+ + Fix some more header file problems on SunOS 4.x
+ + Fix assert.h handling for RTEMS.
+ + Fix Windows handling of TREE_SYMBOL_REFERENCED.
+ + Fix x86 compiler abort in reg-stack pass.
+ + Fix cygwin/windows problem with section attributes.
+ + Fix Alpha code generation problem exposed by SMP Linux
+ kernels.
+ + Fix typo in m68k 32->64bit integer conversion.
+ + Make sure target libraries build with -fPIC for PPC & Alpha
+ targets.
+
+ An important goal of EGCS is to allow wide scale testing of new
+ features and optimizations which are still under development. However,
+ EGCS has been carefully tested and should be comparable in quality to
+ most gcc releases.
+
+ EGCS 1.1.1 is based on the June 6, 1998 snapshot of the GCC 2.8
+ development sources; it contains all of the new features found in GCC
+ 2.8.1 as well as all new development from gcc2 up to June 6, 1998.
+
+ See the [1]new features page for a more complete list of new features
+ found in EGCS 1.1 releases.
+
+ The EGCS 1.1.1 release includes installation instructions in both HTML
+ and plaintext forms (see the INSTALL directory in the toplevel
+ directory of the EGCS 1.1.1 distribution). However, we also keep the
+ most up to date [2]installation instructions and [3]build/test status
+ on our web page. We will update those pages as new information becomes
+ available.
+
+ The EGCS project would like to thank the numerous people that have
+ contributed new features, test results, bugfixes, etc. This [4]amazing
+ group of volunteers is what makes EGCS successful.
+
+ And finally, we can't in good conscience fail to mention some
+ [5]caveats to using EGCS 1.1.1.
+
+ [6]Download EGCS 1.1.1 from egcs.cygnus.com (USA California)
+
+ The EGCS 1.1.1 release is also available on many mirror sites.
+ [7]Goto mirror list to find a closer site
+ _________________________________________________________________
+
+ Last modified on July 28, 1999.
+
+References
+
+ 1. http://gcc.gnu.org/egcs-1.1/features.html
+ 2. http://gcc.gnu.org/install/index.html
+ 3. http://gcc.gnu.org/egcs-1.1/buildstat.html
+ 4. http://gcc.gnu.org/thanks.html
+ 5. http://gcc.gnu.org/egcs-1.1/caveats.html
+ 6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
+ 7. http://gcc.gnu.org/mirrors.html
+======================================================================
+http://gcc.gnu.org/egcs-1.1/egcs-1.1.html
+
+ EGCS 1.1
+
+ September 3, 1998
+
+ We are pleased to announce the release of EGCS 1.1.
+
+ EGCS is a free software project to further the development of the GNU
+ compilers using an open development environment.
+
+ EGCS 1.1 is a major new release of the EGCS compiler system. It has
+ been [1]extensively tested and is believed to be stable and suitable
+ for widespread use.
+
+ EGCS 1.1 is based on an June 6, 1998 snapshot of the GCC 2.8
+ development sources; it contains all of the new features found in GCC
+ 2.8.1 as well as all new development from GCC up to June 6, 1998.
+
+ EGCS also contains many improvements and features not found in GCC or
+ in older versions of EGCS.
+ * Global common subexpression elimination and global constant/copy
+ propagation (aka [2]gcse)
+ * Ongoing improvements to the [3]alias analysis support to allow for
+ better optimizations throughout the compiler.
+ * Vastly improved [4]C++ compiler and integrated C++ runtime
+ libraries.
+ * Fixes for the /tmp symlink race security problems.
+ * New targets including mips16, arm-thumb and 64 bit PowerPC.
+ * Improvements to GNU Fortran (g77) compiler and runtime library
+ made since [5]g77 version 0.5.23.
+
+ See the [6]new features page for a more complete list of new features
+ found in EGCS 1.1 releases.
+
+ The EGCS 1.1 release includes installation instructions in both HTML
+ and plaintext forms (see the INSTALL directory in the toplevel
+ directory of the EGCS 1.1 distribution). However, we also keep the
+ most up to date [7]installation instructions and [8]build/test status
+ on our web page. We will update those pages as new information becomes
+ available.
+
+ The EGCS project would like to thank the numerous people that have
+ contributed new features, test results, bugfixes, etc. This [9]amazing
+ group of volunteers is what makes EGCS successful.
+
+ And finally, we can't in good conscience fail to mention some
+ [10]caveats to using EGCS 1.1.
+
+ [11]Download EGCS 1.1 from egcs.cygnus.com (USA California)
+
+ [12]Download EGCS 1.1 from go.cygnus.com (USA California -- High speed
+ link provided by Stanford)
+
+ The EGCS 1.1 release is also available on many mirror sites.
+ [13]Goto mirror list to find a closer site
+ _________________________________________________________________
+
+ Last modified on September 4, 1999.
+
+References
+
+ 1. http://gcc.gnu.org/egcs-1.1/egcs-1.1-test.html
+ 2. http://gcc.gnu.org/news/gcse.html
+ 3. http://gcc.gnu.org/news/alias.html
+ 4. http://gcc.gnu.org/egcs-1.1/c++features.html
+ 5. http://gcc.gnu.org/onlinedocs/g77_news.html
+ 6. http://gcc.gnu.org/egcs-1.1/features.html
+ 7. http://gcc.gnu.org/install/index.html
+ 8. http://gcc.gnu.org/egcs-1.1/buildstat.html
+ 9. http://gcc.gnu.org/thanks.html
+ 10. http://gcc.gnu.org/egcs-1.1/caveats.html
+ 11. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
+ 12. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
+ 13. http://gcc.gnu.org/mirrors.html
+======================================================================
+http://gcc.gnu.org/egcs-1.1/features.html
+
+ EGCS 1.1 new features
+
+ * Integrated GNU Fortran (g77) compiler and runtime library with
+ improvements, based on [1]g77 version 0.5.23.
+ * Vast improvements in the C++ compiler; so many they have [2]page
+ of their own!
+ * Compiler implements [3]global common subexpression elimination and
+ global copy/constant propagation.
+ * More major improvements in the [4]alias analysis code.
+ * More major improvements in the exception handling code to improve
+ performance, lower static overhead and provide the infrastructure
+ for future improvements.
+ * The infamous /tmp symlink race security problems have been fixed.
+ * The regmove optimization pass has been nearly completely rewritten
+ to improve performance of generated code.
+ * The compiler now recomputes register usage information before
+ local register allocation. By providing more accurate information
+ to the priority based allocator, we get better register
+ allocation.
+ * The register reloading phase of the compiler optimizes spill code
+ much better than in previous releases.
+ * Some bad interactions between the register allocator and
+ instruction scheduler have been fixed, resulting in much better
+ code for certain programs. Additionally, we have tuned the
+ scheduler in various ways to improve performance of generated code
+ for some architectures.
+ * The compiler's branch shortening algorithms have been
+ significantly improved to work better on targets which align jump
+ targets.
+ * The compiler now supports -Os to prefer optimizing for code space
+ over optimizing for code speed.
+ * The compiler will now totally eliminate library calls which
+ compute constant values. This primarily helps targets with no
+ integer div/mul support and targets without floating point
+ support.
+ * The compiler now supports an extensive "--help" option.
+ * cpplib has been greatly improved and may be suitable for limited
+ use.
+ * Memory footprint for the compiler has been significantly reduced
+ for some pathological cases.
+ * The time to build EGCS has been improved for certain targets
+ (particularly the alpha and mips platforms).
+ * Many infrastructure improvements throughout the compiler, plus the
+ usual mountain of bugfixes and minor improvements.
+ * Target dependent improvements:
+ + SPARC port now includes V8 plus and V9 support as well as
+ performance tuning for Ultra class machines. The SPARC port
+ now uses the Haifa scheduler.
+ + Alpha port has been tuned for the EV6 processor and has an
+ optimized expansion of memcpy/bzero. The Alpha port now uses
+ the Haifa scheduler.
+ + RS6000/PowerPC: EGCS 1.1 includes support for the Power64
+ architecture and aix4.3 support. The RS6000/PowerPC port now
+ uses the Haifa scheduler.
+ + x86: Alignment of static store data and jump targets is per
+ Intel recommendations now. Various improvements throughout
+ the x86 port to improve performance on Pentium processors.
+ Conditional move support has been fixed and enabled for PPro
+ processors. The x86 port also better supports 64bit
+ operations now.
+ + MIPS has improved multiply/multiply-add support and now
+ includes mips16 ISA support.
+ + M68k has many micro-optimizations and Coldfire fixes.
+ * Core compiler is based on the GCC development tree from June 9,
+ 1998, so we have all of the [5]features found in GCC 2.8.
+
+ [6]Return to the EGCS home page
+
+ Last modified: September 4, 1999
+
+References
+
+ 1. http://gcc.gnu.org/onlinedocs/g77_news.html
+ 2. http://gcc.gnu.org/egcs-1.1/c++features.html
+ 3. http://gcc.gnu.org/news/gcse.html
+ 4. http://gcc.gnu.org/news/alias.html
+ 5. http://gcc.gnu.org/egcs-1.0/features-2.8.html
+ 6. http://gcc.gnu.org/index.html
+======================================================================
+http://gcc.gnu.org/egcs-1.1/caveats.html
+
+ EGCS 1.1 Caveats
+
+ * EGCS has an integrated libstdc++, but does not have an integrated
+ libg++. Furthermore old libg++ releases will not work with EGCS;
+ HJ Lu has made a [1]libg++ snapshot available which may work with
+ EGCS.
+ Note most C++ programs only need libstdc++.
+ * Exception handling may not work with shared libraries,
+ particularly on alphas, hppas, rs6000/powerpc and mips based
+ platforms. Exception handling is known to work on x86-linux
+ platforms with shared libraries.
+ * Some versions of the Linux kernel have bugs which prevent them
+ from being compiled or from running when compiled by EGCS. See
+ [2]the FAQ for additional information.
+ * In general, EGCS is more rigorous about rejecting invalid C++ code
+ or deprecated C++ constructs than g++-2.7, g++-2.8 or EGCS 1.0. As
+ a result it may be necessary to fix C++ code before it will
+ compile with EGCS.
+ * G++ is also converting toward the ISO C++ standard; as a result
+ code which was previously valid (and thus accepted by other
+ compilers and older versions of g++) may no longer be accepted.
+ * EGCS 1.1 compiled C++ code is not binary compatible with EGCS
+ 1.0.x or GCC 2.8.x due to changes necessary to support thread safe
+ exception handling.
+
+ [3]Return to the GCC home page
+
+ Last modified: July 28, 1999
+
+References
+
+ 1. ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.1.2.tar.gz
+ 2. http://gcc.gnu.org/fom_serv/cache/24.html
+ 3. http://gcc.gnu.org/index.html
+======================================================================
+http://gcc.gnu.org/egcs-1.0/egcs-1.0.3.html
+
+ EGCS 1.0.3
+
+ May 15, 1998
+
+ We are pleased to announce the release of EGCS 1.0.3.
+
+ EGCS is a collaborative effort involving several groups of hackers
+ using an open development model to accelerate development and testing
+ of GNU compilers and runtime libraries.
+
+ EGCS 1.0.3 is a minor update to the EGCS 1.0.2 compiler to fix a few
+ problems reported by Red Hat for builds of Red Hat 5.1.
+ * Generic bugfixes:
+ + Fix a typo in the libio library which resulted in incorrect
+ behavior of istream::get.
+ + Fix the Fortran negative array index problem.
+ + Fix a major problem with the ObjC runtime thread support
+ exposed by glibc2.
+ + Reduce memory consumption of the Haifa scheduler.
+ * Target specific bugfixes:
+ + Fix one x86 floating point code generation bug exposed by
+ glibc2 builds.
+ + Fix one x86 internal compiler error exposed by glibc2 builds.
+ + Fix profiling bugs on the Alpha.
+ + Fix ImageMagick & emacs 20.2 build problems on the Alpha.
+ + Fix rs6000/ppc bug when converting values from integer types
+ to floating point types.
+
+ An important goal of EGCS is to allow wide scale testing of new
+ features and optimizations which are still under development. However,
+ EGCS has been carefully tested and should be comparable in quality to
+ most GCC releases.
+
+ EGCS 1.0.3 is based on an August 2, 1997 snapshot of the GCC 2.8
+ development sources; it contains nearly all of the new features found
+ in GCC 2.8.
+
+ EGCS also contains many improvements and features not found in GCC 2.7
+ or GCC 2.8.
+ * Integrated C++ runtime libraries, including support for most major
+ GNU/Linux systems!
+ * The integrated libstdc++ library includes a verbatim copy of
+ [1]SGI's STL release instead of a modified copy.
+ * Integrated GNU Fortran compiler
+ * New instruction scheduler
+ * New alias analysis code
+
+ See the [2]new features page for a more complete list of new features
+ found in EGCS 1.0.x releases.
+
+ The EGCS 1.0.3 release includes installation instructions in both HTML
+ and plaintext forms (see the INSTALL directory in the toplevel
+ directory of the EGCS 1.0.3 distribution). However, we also keep the
+ most up to date [3]installation instructions and [4]build/test status
+ on our web page. We will update those pages as new information becomes
+ available.
+
+ And, we can't in good conscience fail to mention some [5]caveats to
+ using EGCS.
+
+ Update: Big thanks to Stanford for providing a high speed link for
+ downloading EGCS (go.cygnus.com)!
+
+ [6]Download EGCS 1.0.3 from ftp.cygnus.com (USA California)
+
+ [7]Download EGCS 1.0.3 from go.cygnus.com (USA California -- High
+ speed link provided by Stanford)
+
+ The EGCS 1.0.3 release is also available on many mirror sites.
+ [8]Goto mirror list to find a closer site
+
+ We'd like to thank the numerous people that have contributed new
+ features, test results, bugfixes, etc. Unfortunately, they're far too
+ numerous to mention by name.
+ _________________________________________________________________
+
+ Last modified on February 22, 1999.
+
+References
+
+ 1. http://www.sgi.com/Technology/STL
+ 2. http://gcc.gnu.org/egcs-1.0/features.html
+ 3. http://gcc.gnu.org/install/index.html
+ 4. http://gcc.gnu.org/egcs-1.0/buildstat.html
+ 5. http://gcc.gnu.org/egcs-1.0/caveats.html
+ 6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
+ 7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
+ 8. http://gcc.gnu.org/mirrors.html
+======================================================================
+http://gcc.gnu.org/egcs-1.0/egcs-1.0.2.html
+
+ EGCS 1.0.2
+
+ March 16, 1998
+
+ We are pleased to announce the release of EGCS 1.0.2.
+
+ EGCS is a collaborative effort involving several groups of hackers
+ using an open development model to accelerate development and testing
+ of GNU compilers and runtime libraries.
+
+ EGCS 1.0.2 is a minor update to the EGCS 1.0.1 compiler to fix several
+ serious problems in EGCS 1.0.1.
+ * General improvements and fixes
+ + Memory consumption significantly reduced, especially for
+ templates and inline functions.
+ + Fix various problems with glibc2.1.
+ + Fix loop optimization bug exposed by rs6000/ppc port.
+ + Fix to avoid potential code generation problems in jump.c.
+ + Fix some undefined symbol problems in dwarf1 debug support.
+ * g++/libstdc++ improvements and fixes
+ + libstdc++ in the EGCS release has been updated and should be
+ link compatible with libstdc++-2.8.
+ + Various fixes in libio/libstdc++ to work better on Linux
+ systems.
+ + Fix problems with duplicate symbols on systems that do not
+ support weak symbols.
+ + Memory corruption bug and undefined symbols in bastring have
+ been fixed.
+ + Various exception handling fixes.
+ + Fix compiler abort for very long thunk names.
+ * g77 improvements and fixes
+ + Fix compiler crash for omitted bound in Fortran CASE
+ statement.
+ + Add missing entries to g77 lang-options.
+ + Fix problem with -fpedantic in the g77 compiler.
+ + Fix "backspace" problem with g77 on alphas.
+ + Fix x86 backend problem with Fortran literals and -fpic.
+ + Fix some of the problems with negative subscripts for g77 on
+ alphas.
+ + Fixes for Fortran builds on cygwin32/mingw32.
+ * platform specific improvements and fixes
+ + Fix long double problems on x86 (exposed by glibc)
+ + x86 ports define i386 again to keep imake happy.
+ + Fix exception handling support on NetBSD ports.
+ + Several changes to collect2 to fix many problems with AIX.
+ + Define __ELF__ for rs6000/linux.
+ + Fix -mcall-linux problem on rs6000/linux.
+ + Fix stdarg/vararg problem for rs6000/linux.
+ + Allow autoconf to select a proper install problem on AIX 3.1.
+ + m68k port support includes -mcpu32 option as well as cpu32
+ multilibs.
+ + Fix stdarg bug for irix6.
+ + Allow EGCS to build on irix5 without the gnu assembler.
+ + Fix problem with static linking on sco5.
+ + Fix bootstrap on sco5 with native compiler.
+ + Fix for abort building newlib on H8 target.
+ + Fix fixincludes handling of math.h on SunOS.
+ + Minor fix for motorola 3300 m68k systems.
+
+ An important goal of EGCS is to allow wide scale testing of new
+ features and optimizations which are still under development. However,
+ EGCS has been carefully tested and should be comparable in quality to
+ most GCC releases.
+
+ EGCS 1.0.2 is based on an August 2, 1997 snapshot of the GCC 2.8
+ development sources; it contains nearly all of the new features found
+ in GCC 2.8.
+
+ EGCS also contains many improvements and features not found in GCC 2.7
+ or GCC 2.8.
+ * Integrated C++ runtime libraries, including support for most major
+ linux systems!
+ * The integrated libstdc++ library includes a verbatim copy of
+ [1]SGI's STL release.
+ * Integrated GNU Fortran compiler
+ * New instruction scheduler
+ * New alias analysis code
+
+ See the [2]new features page for a more complete list of new features
+ found in EGCS 1.0.x releases.
+
+ The EGCS 1.0.2 release includes installation instructions in both HTML
+ and plaintext forms (see the INSTALL directory in the toplevel
+ directory of the EGCS 1.0.2 distribution). However, we also keep the
+ most up to date [3]installation instructions and [4]build/test status
+ on our web page. We will update those pages as new information becomes
+ available.
+
+ And, we can't in good conscience fail to mention some [5]caveats to
+ using EGCS.
+
+ Update: Big thanks to Stanford for providing a high speed link for
+ downloading EGCS (go.cygnus.com)!
+
+ [6]Download EGCS 1.0.2 from ftp.cygnus.com (USA California)
+
+ [7]Download EGCS 1.0.2 from go.cygnus.com (USA California -- High
+ speed link provided by Stanford)
+
+ The EGCS 1.0.2 release is also available on many mirror sites.
+ [8]Goto mirror list to find a closer site
+
+ We'd like to thank the numerous people that have contributed new
+ features, test results, bugfixes, etc. Unfortunately, they're far too
+ numerous to mention by name.
+ _________________________________________________________________
+
+ Last modified on July 28, 1999.
+
+References
+
+ 1. http://www.sgi.com/Technology/STL/
+ 2. http://gcc.gnu.org/egcs-1.0/features.html
+ 3. http://gcc.gnu.org/install/index.html
+ 4. http://gcc.gnu.org/egcs-1.0/buildstat.html
+ 5. http://gcc.gnu.org/egcs-1.0/caveats.html
+ 6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
+ 7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
+ 8. http://gcc.gnu.org/mirrors.html
+======================================================================
+http://gcc.gnu.org/egcs-1.0/egcs-1.0.1.html
+
+ EGCS 1.0.1
+
+ January 6, 1998
+
+ We are pleased to announce the release of EGCS 1.0.1.
+
+ EGCS is a collaborative effort involving several groups of hackers
+ using an open development model to accelerate development and testing
+ of GNU compilers and runtime libraries.
+
+ EGCS 1.0.1 is a minor update to the EGCS 1.0 compiler to fix a few
+ critical bugs and add support for Red Hat 5.0 Linux. Changes since the
+ EGCS 1.0 release:
+ * Add support for Red Hat 5.0 Linux and better support for Linux
+ systems using glibc2.
+ Many programs failed to link when compiled with EGCS 1.0 on Red
+ Hat 5.0 or on systems with newer versions of glibc2. EGCS 1.0.1
+ should fix these problems.
+ * Compatability with both EGCS 1.0 and GCC 2.8 libgcc exception
+ handling interfaces.
+ To avoid future compatibility problems, we strongly urge anyone
+ who is planning on distributing shared libraries that contain C++
+ code to upgrade to EGCS 1.0.1 first.
+ Soon after EGCS 1.0 was released, the GCC developers made some
+ incompatible changes in libgcc's exception handling interfaces.
+ These changes were needed to solve problems on some platforms.
+ This means that GCC 2.8.0, when released, will not be seamlessly
+ compatible with shared libraries built by EGCS 1.0. The reason is
+ that the libgcc.a in GCC 2.8.0 will not contain a function needed
+ by the old interface.
+ The result of this is that there may be compatibility problems
+ with shared libraries built by EGCS 1.0 when used with GCC 2.8.0.
+ With EGCS 1.0.1, generated code uses the new (GCC 2.8.0)
+ interface, and libgcc.a has the support routines for both the old
+ and the new interfaces (so EGCS 1.0.1 and EGCS 1.0 code can be
+ freely mixed, and EGCS 1.0.1 and GCC 2.8.0 code can be freely
+ mixed).
+ The maintainers of GCC 2.x have decided against including seamless
+ support for the old interface in 2.8.0, since it was never
+ "official", so to avoid future compatibility problems we recommend
+ against distributing any shared libraries built by EGCS 1.0 that
+ contain C++ code (upgrade to 1.0.1 and use that).
+ * Various bugfixes in the x86, hppa, mips, and rs6000/ppc backends.
+ The x86 changes fix code generation errors exposed when building
+ glibc2 and the Linux dynamic linker (ld.so).
+ The hppa change fixes a compiler abort when configured for use
+ with RTEMS.
+ The MIPS changes fix problems with the definition of LONG_MAX on
+ newer systems, allow for command line selection of the target ABI,
+ and fix one code generation problem.
+ The rs6000/ppc change fixes some problems with passing structures
+ to varargs/stdarg functions.
+ * A few machine independent bugfixes, mostly to fix code generation
+ errors when building Linux kernels or glibc.
+ * Fix a few critical exception handling and template bugs in the C++
+ compiler.
+ * Fix Fortran namelist bug on alphas.
+ * Fix build problems on x86-solaris systems.
+
+ An important goal of EGCS is to allow wide scale testing of new
+ features and optimizations which are still under development. However,
+ EGCS has been carefully tested and should be comparable in quality to
+ most GCC releases.
+
+ EGCS 1.0.1 is based on an August 2, 1997 snapshot of the GCC 2.8
+ development sources; it contains nearly all of the new features found
+ in GCC 2.8.
+
+ EGCS also contains many improvements and features not found in GCC 2.7
+ and even the soon to be released GCC 2.8 compilers.
+ * Integrated C++ runtime libraries, including support for most major
+ linux systems!
+ * The integrated libstdc++ library includes a verbatim copy of
+ [1]SGI's STL release.
+ * Integrated GNU Fortran compiler
+ * New instruction scheduler
+ * New alias analysis code
+
+ See the [2]new features page for a more complete list of new features
+ found in EGCS 1.0.x releases.
+
+ The EGCS 1.0.1 release includes installation instructions in both HTML
+ and plaintext forms (see the INSTALL directory in the toplevel
+ directory of the EGCS 1.0.1 distribution). However, we also keep the
+ most up to date [3]installation instructions and [4]build/test status
+ on our web page. We will update those pages as new information becomes
+ available.
+
+ And, we can't in good conscience fail to mention some [5]caveats to
+ using EGCS.
+
+ Update: Big thanks to Stanford for providing a high speed link for
+ downloading EGCS (go.cygnus.com)!
+
+ [6]Download EGCS 1.0.1 from ftp.cygnus.com (USA California)
+
+ [7]Download EGCS 1.0.1 from go.cygnus.com (USA California -- High
+ speed link provided by Stanford)
+
+ The EGCS 1.0.1 release is also available on many mirror sites.
+ [8]Goto mirror list to find a closer site
+
+ We'd like to thank the numerous people that have contributed new
+ features, test results, bugfixes, etc. Unfortunately, they're far too
+ numerous to mention by name.
+ _________________________________________________________________
+
+ Last modified on July 28, 1999.
+
+References
+
+ 1. http://www.sgi.com/Technology/STL/
+ 2. http://gcc.gnu.org/egcs-1.0/features.html
+ 3. http://gcc.gnu.org/install/index.html
+ 4. http://gcc.gnu.org/egcs-1.0/buildstat.html
+ 5. http://gcc.gnu.org/egcs-1.0/caveats.html
+ 6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
+ 7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
+ 8. http://gcc.gnu.org/mirrors.html
+======================================================================
+http://gcc.gnu.org/egcs-1.0/egcs-1.0.html
+
+ EGCS 1.0
+
+ December 3, 1997
+
+ We are pleased to announce the release of EGCS 1.0.
+
+ EGCS is a collaborative effort involving several groups of hackers
+ using an open development model to accelerate development and testing
+ of GNU compilers and runtime libraries.
+
+ An important goal of EGCS is to allow wide scale testing of
+ experimental features and optimizations; therefore, EGCS contains some
+ features and optimizations which are still under development. However,
+ EGCS has been carefully tested and should be comparable in quality to
+ most GCC releases.
+
+ EGCS 1.0 is based on an August 2, 1997 snapshot of the GCC 2.8
+ development sources; it contains nearly all of the new features found
+ in GCC 2.8.
+
+ EGCS 1.0 also contains many improvements and features not found in GCC
+ 2.7 and even the soon to be released GCC 2.8 compilers.
+ * Integrated C++ runtime libraries, including support for most major
+ linux systems!
+ * The integrated libstdc++ library includes a verbatim copy of
+ [1]SGI's STL release.
+ * Integrated GNU Fortran compiler
+ * New instruction scheduler
+ * New alias analysis code
+
+ See the [2]new features page for a more complete list of new features.
+
+ The EGCS 1.0 release includes installation instructions in both HTML
+ and plaintext forms (see the INSTALL directory in the toplevel
+ directory of the EGCS 1.0 distribution). However, we also keep the
+ most up to date [3]installation instructions and [4]build/test status
+ on our web page. We will update those pages as new information becomes
+ available.
+
+ And, we can't in good conscience fail to mention some [5]caveats to
+ using EGCS.
+
+ Update: The T1 into our main California offices has been 100%
+ saturated since shortly after the release. We've added an EGCS 1.0
+ mirror at our Massachusetts office to help share the load. We also
+ encourage folks to use the many mirrors available throughout the
+ world.
+
+ Update: Big thanks to Stanford for providing a high speed link for
+ downloading EGCS! (go.cygnus.com)
+
+ [6]Download EGCS 1.0 from ftp.cygnus.com (USA California)
+
+ [7]Download EGCS 1.0 from go.cygnus.com (USA California -- High speed
+ link provided by Stanford)
+
+ The EGCS 1.0 release should be available on most mirror sites by now.
+ [8]Goto mirror list to find a closer site
+
+ We'd like to thank the numerous people that have contributed new
+ features, test results, bugfixes, etc. Unfortunately, they're far too
+ numerous to mention by name.
+ _________________________________________________________________
+
+ Last modified on July 28, 1999.
+
+References
+
+ 1. http://www.sgi.com/Technology/STL
+ 2. http://gcc.gnu.org/egcs-1.0/features.html
+ 3. http://gcc.gnu.org/install/index.html
+ 4. http://gcc.gnu.org/egcs-1.0/buildstat.html
+ 5. http://gcc.gnu.org/egcs-1.0/caveats.html
+ 6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
+ 7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
+ 8. http://gcc.gnu.org/mirrors.html
+======================================================================
+http://gcc.gnu.org/egcs-1.0/features.html
+
+ EGCS 1.0 features
+
+ * Core compiler is based on the gcc2 development tree from Aug 2,
+ 1997, so we have most of the [1]features found in GCC 2.8.
+ * Integrated GNU Fortran compiler based on g77-0.5.22-19970929.
+ * Vast improvements in the C++ compiler; so many they have [2]page
+ of their own!
+ * Integrated C++ runtime libraries, including support for most major
+ linux systems!
+ * New instruction scheduler from IBM Haifa which includes support
+ for function wide instruction scheduling as well as superscalar
+ scheduling.
+ * Significantly improved alias analysis code.
+ * Improved register allocation for two address machines.
+ * Significant code generation improvements for Fortran code on
+ Alphas
+ * Various optimizations from the g77 project as well as improved
+ loop optimizations.
+ * Dwarf2 debug format support for some targets.
+ * egcs libstdc++ includes the SGI STL implementation without
+ changes.
+ * As a result of these and other changes, egcs libstc++ is not
+ binary compatible with previous releases of libstdc++.
+ * Various new ports -- UltraSPARC, Irix6.2 & Irix6.3 support, The
+ SCO Openserver 5 family (5.0.{0,2,4} and Internet FastStart 1.0
+ and 1.1), Support for RTEMS on several embedded targets, Support
+ for arm-linux, Mitsubishi M32R, Hitachi H8/S, Matsushita MN102 and
+ MN103, NEC V850, Sparclet, Solaris & Linux on PowerPCs, etc.
+ * Integrated testsuites for gcc, g++, g77, libstdc++ and libio.
+ * RS6000/PowerPC ports generate code which can run on all
+ RS6000/PowerPC variants by default.
+ * -mcpu= and -march= switches for the x86 port to allow better
+ control over how the x86 port generates code.
+ * Includes the template repository patch (aka repo patch); note the
+ new template code makes repo obsolete for ELF systems using gnu-ld
+ such as Linux.
+ * Plus the usual assortment of bugfixes and improvements.
+
+ [3]Return to the egcs home page
+
+ Last modified: July 28, 1999
+
+References
+
+ 1. http://gcc.gnu.org/egcs-1.0/features-2.8.html
+ 2. http://gcc.gnu.org/egcs-1.0/c++features.html
+ 3. http://gcc.gnu.org/index.html
+======================================================================
+http://gcc.gnu.org/egcs-1.0/caveats.html
+
+ EGCS 1.0 Caveats
+
+ * EGCS has an integrated libstdc++, but does not have an integrated
+ libg++. Furthermore old libg++ releases will not work with egc; HJ
+ Lu has made a [1]libg++ snapshot available which may work with
+ EGCS.
+ Note most C++ programs only need libstdc++.
+ * Note that using -pedantic or -Wreturn-type can cause an explosion
+ in the amount of memory needed for template-heavy C++ code, such
+ as code that uses STL. Also note that -Wall includes
+ -Wreturn-type, so if you use -Wall you will need to specify
+ -Wno-return-type to turn it off.
+ * Exception handling may not work with shared libraries,
+ particularly on alphas, hppas, and mips based platforms. Exception
+ handling is known to work on x86-linux platforms with shared
+ libraries.
+ * Some versions of the Linux kernel have bugs which prevent them
+ from being compiled or from running when compiled by EGCS. See
+ [2]the FAQ for additional information.
+ * In general, EGCS is more rigorous about rejecting invalid C++ code
+ or deprecated C++ constructs than G++ 2.7. As a result it may be
+ necessary to fix C++ code before it will compile with EGCS.
+ * G++ is also aggressively tracking the C++ standard; as a result
+ code which was previously valid (and thus accepted by other
+ compilers and older versions of G++) may no longer be accepted.
+ * EGCS 1.0 may not work with Red Hat Linux 5.0 on all targets. EGCS
+ 1.0.x and later releases should work with Red Hat Linux 5.0.
+
+ [3]Return to the GCC home page
+
+ Last modified: August 27, 1998
+
+References
+
+ 1. ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.1.2.tar.gz
+ 2. http://gcc.gnu.org/fom_serv/cache/24.html
+ 3. http://gcc.gnu.org/index.html
+======================================================================
diff --git a/gnu/dist/toolchain/gcc/ONEWS b/gnu/dist/toolchain/gcc/ONEWS
new file mode 100644
index 00000000000..427df254eb6
--- /dev/null
+++ b/gnu/dist/toolchain/gcc/ONEWS
@@ -0,0 +1,1071 @@
+Noteworthy changes in GCC after EGCS 1.1.
+-----------------------------------------
+
+Target specific NEWS
+
+ RS6000/PowerPC: -mcpu=401 was added as an alias for -mcpu=403. -mcpu=e603e
+ was added to do -mcpu=603e and -msoft-float.
+
+Noteworthy changes in GCC for EGCS 1.1.
+---------------------------------------
+
+The compiler now implements global common subexpression elimination (gcse) as
+well as global constant/copy propagation. (link to gcse page).
+
+More major improvements have been made to the alias analysis code. A new
+option to allow front-ends to provide alias information to the optimizers
+has also been added (-fstrict-aliasing). -fstrict-aliasing is off by default
+now, but will be enabled by default in the future. (link to alias page)
+
+Major changes continue in the exception handling support. This release
+includes some changes to reduce static overhead for exception handling. It
+also includes some major changes to the setjmp/longjmp based EH mechanism to
+make it less pessimistic. And finally, major infrastructure improvements
+to the dwarf2 EH mechanism have been made to make our EH support extensible.
+
+We have fixed the infamous security problems with temporary files.
+
+The "regmove" optimization pass has been nearly completely rewritten. It now
+uses much more information about the target to determine profitability of
+transformations.
+
+The compiler now recomputes register usage information immediately before
+register allocation. Previously such information was only not kept up to
+date after instruction combination which led to poor register allocation
+choices by our priority based register allocator.
+
+The register reloading phase of the compiler has been improved to better
+optimize spill code. This primarily helps targets which generate lots of
+spills (like the x86 ports and many register poor embedded ports).
+
+A few changes in the heuristics used by the register allocator and scheduler
+have been made which can significantly improve performance for certain
+applications.
+
+The compiler's branch shortening algorithms have been significantly improved
+to work better on targets which align jump targets.
+
+The compiler now supports the "ADDRESSOF" optimization which can significantly
+reduce the overhead for certain inline calls (and inline calls in general).
+
+The compiler now supports a code size optimization switch (-Os). When enabled
+the compiler will prefer optimizations which improve code size over those
+which improve code speed.
+
+The compiler has been improved to completely eliminate library calls which
+compute constant values. This is particularly useful on machines which
+do not have integer mul/div or floating point support on-chip.
+
+GCC now supports a "--help" option to print detailed help information.
+
+cpplib has been greatly improved. It is probably useable for some sites now
+(major missing feature is trigraphs).
+
+Memory footprint for the compiler has been significantly reduced for certain
+pathalogical cases.
+
+Build time improvements for targets which support lots of sched parameters
+(alpha and mips primarily).
+
+Compile time for certain programs using large constant initializers has been
+improved (effects glibc significantly).
+
+Plus an incredible number of infrastructure changes, warning fixes, bugfixes
+and local optimizations.
+
+Various improvements have been made to better support cross compilations. They
+are still not easy, but they are improving.
+
+Target specific NEWS
+
+ Sparc: Now includes V8 plus and V9 support, lots of tuning for Ultrasparcs
+ and uses the Haifa scheduler by default.
+
+ Alpha: EV6 tuned, optimized expansion of memcpy/bzero.
+
+ x86: Data in the static store is aligned per Intel recommendations. Jump
+ targets are aligned per Intel recommendations. Improved epilogue
+ sequences for Pentium chips. Backend improvements which should help
+ register allocation on all x86 variants. Support for PPro conditional
+ move instructions has been fixed and enabled. Random changes
+ throughout the port to make generated code more Pentium friendly.
+ Improved support for 64bit integer operations.
+ Unixware 7, a System V Release 5 target is now supported.
+ SCO OpenServer targets can support GAS. See gcc/INSTALL for details.
+
+ RS6000/PowerPC: Includes AIX4.3 support as well as PowerPC64 support.
+ Haifa instruction scheduling is enabled by default now.
+
+ MIPS: Multiply/Multiply-Add support has been largely rewritten to generate
+ more efficient code. Includes mips16 support.
+
+ M68K: Various micro-optimizations and Coldfire fixes.
+
+ M32r: Major improvements to this port.
+
+ Arm: Includes Thumb and super interworking support.
+
+EGCS includes all gcc2 changes up to and including the June 9, 1998 snapshot.
+
+
+Noteworthy changes in GCC version 2.8.1
+---------------------------------------
+
+Numerous bugs have been fixed and some minor performance
+improvements (compilation speed) have been made.
+
+Noteworthy changes in GCC version 2.8.0
+---------------------------------------
+
+A major change in this release is the addition of a framework for
+exception handling, currently used by C++. Many internal changes and
+optimization improvements have been made. These increase the
+maintainability and portability of GCC. GCC now uses autoconf to
+compute many host parameters.
+
+The following lists changes that add new features or targets.
+
+See cp/NEWS for new features of C++ in this release.
+
+New tools and features:
+
+ The Dwarf 2 debugging information format is supported on ELF systems, and
+ is the default for -ggdb where available. It can also be used for C++.
+ The Dwarf version 1 debugging format is also permitted for C++, but
+ does not work well.
+
+ gcov.c is provided for test coverage analysis and branch profiling
+ analysis is also supported; see -fprofile-arcs, -ftest-coverage,
+ and -fbranch-probabilities.
+
+ Support for the Checker memory checking tool.
+
+ New switch, -fstack-check, to check for stack overflow on systems that
+ don't have such built into their ABI.
+
+ New switches, -Wundef and -Wno-undef to warn if an undefined identifier
+ is evaluated in an #if directive.
+
+ Options -Wall and -Wimplicit now cause GCC to warn about implicit int
+ in declarations (e.g. `register i;'), since the C Standard committee
+ has decided to disallow this in the next revision of the standard;
+ -Wimplicit-function-declarations and -Wimplicit-int are subsets of
+ this.
+
+ Option -Wsign-compare causes GCC to warn about comparison of signed and
+ unsigned values.
+
+ Add -dI option of cccp for cxref.
+
+New features in configuration, installation and specs file handling:
+
+ New option --enable-c-cpplib to configure script.
+
+ You can use --with-cpu on the configure command to specify the default
+ CPU that GCC should generate code for.
+
+ The -specs=file switch allows you to override default specs used in
+ invoking programs like cc1, as, etc.
+
+ Allow including one specs file from another and renaming a specs
+ variable.
+
+ You can now relocate all GCC files with a single environment variable
+ or a registry entry under Windows 95 and Windows NT.
+
+Changes in Objective-C:
+
+ The Objective-C Runtime Library has been made thread-safe.
+
+ The Objective-C Runtime Library contains an interface for creating
+ mutexes, condition mutexes, and threads; it requires a back-end
+ implementation for the specific platform and/or thread package.
+ Currently supported are DEC/OSF1, IRIX, Mach, OS/2, POSIX, PCThreads,
+ Solaris, and Windows32. The --enable-threads parameter can be used
+ when configuring GCC to enable and select a thread back-end.
+
+ Objective-C is now configured as separate front-end language to GCC,
+ making it more convenient to conditionally build it.
+
+ The internal structures of the Objective-C Runtime Library have
+ changed sufficiently to warrant a new version number; now version 8.
+ Programs compiled with an older version must be recompiled.
+
+ The Objective-C Runtime Library can be built as a DLL on Windows 95
+ and Windows NT systems.
+
+ The Objective-C Runtime Library implements +load.
+
+The following new targets are supported (see also list under each
+individual CPU below):
+
+ Embedded target m32r-elf.
+ Embedded Hitachi Super-H using ELF.
+ RTEMS real-time system on various CPU targets.
+ ARC processor.
+ NEC V850 processor.
+ Matsushita MN10200 processor.
+ Matsushita MN10300 processor.
+ Sparc and PowerPC running on VxWorks.
+ Support both glibc versions 1 and 2 on Linux-based GNU systems.
+
+New features for DEC Alpha systems:
+
+ Allow detailed specification of IEEE fp support:
+ -mieee, -mieee-with-inexact, and -mieee-conformant
+ -mfp-trap-mode=xxx, -mfp-round-mode=xxx, -mtrap-precision=xxx
+ -mcpu=xxx for CPU selection
+ Support scheduling parameters for EV5.
+ Add support for BWX, CIX, and MAX instruction set extensions.
+ Support Linux-based GNU systems.
+ Support VMS.
+
+Additional supported processors and systems for MIPS targets:
+
+ MIPS4 instruction set.
+ R4100, R4300 and R5000 processors.
+ N32 and N64 ABI.
+ IRIX 6.2.
+ SNI SINIX.
+
+New features for Intel x86 family:
+
+ Add scheduling parameters for Pentium and Pentium Pro.
+ Support stabs on Solaris-x86.
+ Intel x86 processors running the SCO OpenServer 5 family.
+ Intel x86 processors running DG/UX.
+ Intel x86 using Cygwin32 or Mingw32 on Windows 95 and Windows NT.
+
+New features for Motorola 68k family:
+
+ Support for 68060 processor.
+ More consistent switches to specify processor.
+ Motorola 68k family running AUX.
+ 68040 running pSOS, ELF object files, DBX debugging.
+ Coldfire variant of Motorola m68k family.
+
+New features for the HP PA RISC:
+
+ -mspace and -mno-space
+ -mlong-load-store and -mno-long-load-store
+ -mbig-switch -mno-big-switch
+
+ GCC on the PA requires either gas-2.7 or the HP assembler; for best
+ results using GAS is highly recommended. GAS is required for -g and
+ exception handling support.
+
+New features for SPARC-based systems:
+
+ The ultrasparc cpu.
+ The sparclet cpu, supporting only a.out file format.
+ Sparc running SunOS 4 with the GNU assembler.
+ Sparc running the Linux-based GNU system.
+ Embedded Sparc processors running the ELF object file format.
+ -mcpu=xxx
+ -mtune=xxx
+ -malign-loops=xxx
+ -malign-jumps=xxx
+ -malign-functions=xxx
+ -mimpure-text and -mno-impure-text
+
+ Options -mno-v8 and -mno-sparclite are no longer supported on SPARC
+ targets. Options -mcypress, -mv8, -msupersparc, -msparclite, -mf930,
+ and -mf934 are deprecated and will be deleted in GCC 2.9. Use
+ -mcpu=xxx instead.
+
+New features for rs6000 and PowerPC systems:
+
+ Solaris 2.51 running on PowerPC's.
+ The Linux-based GNU system running on PowerPC's.
+ -mcpu=604e,602,603e,620,801,823,mpc505,821,860,power2
+ -mtune=xxx
+ -mrelocatable-lib, -mno-relocatable-lib
+ -msim, -mmve, -memb
+ -mupdate, -mno-update
+ -mfused-madd, -mno-fused-madd
+
+ -mregnames
+ -meabi
+ -mcall-linux, -mcall-solaris, -mcall-sysv-eabi, -mcall-sysv-noeabi
+ -msdata, -msdata=none, -msdata=default, -msdata=sysv, -msdata=eabi
+ -memb, -msim, -mmvme
+ -myellowknife, -mads
+ wchar_t is now of type long as per the ABI, not unsigned short.
+ -p/-pg support
+ -mcpu=403 now implies -mstrict-align.
+ Implement System V profiling.
+
+ Aix 4.1 GCC targets now default to -mcpu=common so that programs
+ compiled can be moved between rs6000 and powerpc based systems. A
+ consequence of this is that -static won't work, and that some programs
+ may be slightly slower.
+
+ You can select the default value to use for -mcpu=xxx on rs6000 and
+ powerpc targets by using the --with-cpu=xxx option when configuring the
+ compiler. In addition, a new options, -mtune=xxx was added that
+ selects the machine to schedule for but does not select the
+ architecture level.
+
+ Directory names used for storing the multilib libraries on System V
+ and embedded PowerPC systems have been shortened to work with commands
+ like tar that have fixed limits on pathname size.
+
+New features for the Hitachi H8/300(H):
+
+ -malign-300
+ -ms (for the Hitachi H8/S processor)
+ -mint32
+
+New features for the ARM:
+
+ -march=xxx, -mtune=xxx, -mcpu=xxx
+ Support interworking with Thumb code.
+ ARM processor with a.out object format, COFF, or AOF assembler.
+ ARM on "semi-hosted" platform.
+ ARM running NetBSD.
+ ARM running the Linux-based GNU system.
+
+New feature for Solaris systems:
+
+ GCC installation no longer makes a copy of system include files,
+ thus insulating GCC better from updates to the operating system.
+
+
+Noteworthy changes in GCC version 2.7.2
+---------------------------------------
+
+A few bugs have been fixed (most notably the generation of an
+invalid assembler opcode on some RS/6000 systems).
+
+Noteworthy changes in GCC version 2.7.1
+---------------------------------------
+
+This release fixes numerous bugs (mostly minor) in GCC 2.7.0, but
+also contains a few new features, mostly related to specific targets.
+
+Major changes have been made in code to support Windows NT.
+
+The following new targets are supported:
+
+ 2.9 BSD on PDP-11
+ Linux on m68k
+ HP/UX version 10 on HP PA RISC (treated like version 9)
+ DEC Alpha running Windows NT
+
+When parsing C, GCC now recognizes C++ style `//' comments unless you
+specify `-ansi' or `-traditional'.
+
+The PowerPC System V targets (powerpc-*-sysv, powerpc-*-eabi) now use the
+calling sequence specified in the System V Application Binary Interface
+Processor Supplement (PowerPC Processor ABI Supplement) rather than the calling
+sequence used in GCC version 2.7.0. That calling sequence was based on the AIX
+calling sequence without function descriptors. To compile code for that older
+calling sequence, either configure the compiler for powerpc-*-eabiaix or use
+the -mcall-aix switch when compiling and linking.
+
+Noteworthy changes in GCC version 2.7.0
+---------------------------------------
+
+GCC now works better on systems that use ".obj" and ".exe" instead of
+".o" and no extension. This involved changes to the driver program,
+gcc.c, to convert ".o" names to ".obj" and to GCC's Makefile to use
+".obj" and ".exe" in filenames that are not targets. In order to
+build GCC on such systems, you may need versions of GNU make and/or
+compatible shells. At this point, this support is preliminary.
+
+Object file extensions of ".obj" and executable file extensions of
+".exe" are allowed when using appropriate version of GNU Make.
+
+Numerous enhancements were made to the __attribute__ facility including
+more attributes and more places that support it. We now support the
+"packed", "nocommon", "noreturn", "volatile", "const", "unused",
+"transparent_union", "constructor", "destructor", "mode", "section",
+"align", "format", "weak", and "alias" attributes. Each of these
+names may also be specified with added underscores, e.g., "__packed__".
+__attribute__ may now be applied to parameter definitions, function
+definitions, and structure, enum, and union definitions.
+
+GCC now supports returning more structures in registers, as specified by
+many calling sequences (ABIs), such as on the HP PA RISC.
+
+A new option '-fpack-struct' was added to automatically pack all structure
+members together without holes.
+
+There is a new library (cpplib) and program (cppmain) that at some
+point will replace cpp (aka cccp). To use cppmain as cpp now, pass
+the option CCCP=cppmain to make. The library is already used by the
+fix-header program, which should speed up the fixproto script.
+
+New options for supported targets:
+
+ GNU on many targets.
+ NetBSD on MIPS, m68k, VAX, and x86.
+ LynxOS on x86, m68k, Sparc, and RS/6000.
+ VxWorks on many targets.
+
+ Windows/NT on x86 architecture. Initial support for Windows/NT on Alpha
+ (not fully working).
+
+ Many embedded targets, specifically UDI on a29k, aout, coff, elf,
+ and vsta "operating systems" on m68k, m88k, mips, sparc, and x86.
+
+Additional support for x86 (i386, i486, and Pentium):
+
+ Work with old and new linkers for Linux-based GNU systems,
+ supporting both a.out and ELF.
+ FreeBSD on x86.
+ Stdcall convention.
+ -malign-double, -mregparm=, -malign-loops= and -malign-jumps= switches.
+ On ISC systems, support -Xp like -posix.
+
+Additions for RS/6000:
+
+ Instruction scheduling information for PowerPC 403.
+ AIX 4.1 on PowerPC.
+ -mstring and -mno-string.
+ -msoft-float and floating-point emulation included.
+ Preliminary support for PowerPC System V.4 with or without the GNU as.
+ Preliminary support for EABI.
+ Preliminary support for 64-bit systems.
+ Both big and little endian systems.
+
+New features for MIPS-based systems:
+
+ r4650.
+ mips4 and R8000.
+ Irix 6.0.
+ 64-bit ABI.
+ Allow dollar signs in labels on SGI/Irix 5.x.
+
+New support for HP PA RISC:
+
+ Generation of PIC (requires binutils-2.5.2.u6 or later).
+ HP-UX version 9 on HP PA RISC (dynamically links even with -g).
+ Processor variants for HP PA RISC: 700, 7100, and 7100LC.
+ Automatic generation of long calls when needed.
+ -mfast-indirect-calls for kernels and static binaries.
+
+ The called routine now copies arguments passed by invisible reference,
+ as required by the calling standard.
+
+Other new miscellaneous target-specific support:
+
+ -mno-multm on a29k.
+ -mold-align for i960.
+ Configuration for "semi-hosted" ARM.
+ -momit-leaf-frame-pointer for M88k.
+ SH3 variant of Hitachi Super-H and support both big and little endian.
+
+Changes to Objective-C:
+
+ Bare-bones implementation of NXConstantString has been added,
+ which is invoked by the @"string" directive.
+
+ Class * has been changed to Class to conform to the NextSTEP and
+ OpenStep runtime.
+
+ Enhancements to make dynamic loading easier.
+
+ The module version number has been updated to Version 7, thus existing
+ code will need to be recompiled to use the current run-time library.
+
+GCC now supports the ISO Normative Addendum 1 to the C Standard.
+As a result:
+
+ The header <iso646.h> defines macros for C programs written
+ in national variants of ISO 646.
+
+ The following digraph tokens are supported:
+ <: :> <% %> %: %:%:
+ These behave like the following, respectively:
+ [ ] { } # ##
+
+ Digraph tokens are supported unless you specify the `-traditional'
+ option; you do not need to specify `-ansi' or `-trigraphs'. Except
+ for contrived and unlikely examples involving preprocessor
+ stringizing, digraph interpretation doesn't change the meaning of
+ programs; this is unlike trigraph interpretation, which changes the
+ meanings of relatively common strings.
+
+ The macro __STDC_VERSION__ has the value 199409L.
+
+ As usual, for full conformance to the standard, you also need a
+ C library that conforms.
+
+The following lists changes that have been made to g++. If some
+features mentioned below sound unfamiliar, you will probably want to
+look at the recently-released public review copy of the C++ Working
+Paper. For PostScript and PDF (Adobe Acrobat) versions, see the
+archive at ftp://research.att.com/dist/stdc++/WP. For HTML and ASCII
+versions, see ftp://ftp.cygnus.com/pub/g++. On the web, see
+http://www.cygnus.com/~mrs/wp-draft.
+
+The scope of variables declared in the for-init-statement has been changed
+to conform to http://www.cygnus.com/~mrs/wp-draft/stmt.html#stmt.for; as a
+result, packages such as groff 1.09 will not compile unless you specify the
+-fno-for-scope flag. PLEASE DO NOT REPORT THIS AS A BUG; this is a change
+mandated by the C++ standardization committee.
+
+Binary incompatibilities:
+
+ The builtin 'bool' type is now the size of a machine word on RISC targets,
+ for code efficiency; it remains one byte long on CISC targets.
+
+ Code that does not use #pragma interface/implementation will most
+ likely shrink dramatically, as g++ now only emits the vtable for a
+ class in the translation unit where its first non-inline, non-abstract
+ virtual function is defined.
+
+ Classes that do not define the copy constructor will sometimes be
+ passed and returned in registers. This may illuminate latent bugs in
+ your code.
+
+Support for automatic template instantiation has *NOT* been added, due
+to a disagreement over design philosophies.
+
+Support for exception handling has been improved; more targets are now
+supported, and throws will use the RTTI mechanism to match against the
+catch parameter type. Optimization is NOT SUPPORTED with
+-fhandle-exceptions; no need to report this as a bug.
+
+Support for Run-Time Type Identification has been added with -frtti.
+This support is still in alpha; one major restriction is that any file
+compiled with -frtti must include <typeinfo.h>.
+
+Preliminary support for namespaces has been added. This support is far
+from complete, and probably not useful.
+
+Synthesis of compiler-generated constructors, destructors and
+assignment operators is now deferred until the functions are used.
+
+The parsing of expressions such as `a ? b : c = 1' has changed from
+`(a ? b : c) = 1' to `a : b ? (c = 1)'.
+
+The code generated for testing conditions, especially those using ||
+and &&, is now more efficient.
+
+The operator keywords and, and_eq, bitand, bitor, compl, not, not_eq,
+or, or_eq, xor and xor_eq are now supported. Use -ansi or
+-foperator-names to enable them.
+
+The 'explicit' keyword is now supported. 'explicit' is used to mark
+constructors and type conversion operators that should not be used
+implicitly.
+
+g++ now accepts the typename keyword, though it currently has no
+semantics; it can be a no-op in the current template implementation.
+You may want to start using it in your code, however, since the
+pending rewrite of the template implementation to compile STL properly
+(perhaps for 2.8.0, perhaps not) will require you to use it as
+indicated by the current draft.
+
+Handling of user-defined type conversion has been overhauled so that
+type conversion operators are now found and used properly in
+expressions and function calls.
+
+-fno-strict-prototype now only applies to function declarations with
+"C" linkage.
+
+g++ now warns about 'if (x=0)' with -Wparentheses or -Wall.
+
+#pragma weak and #pragma pack are supported on System V R4 targets, as
+are various other target-specific #pragmas supported by gcc.
+
+new and delete of const types is now allowed (with no additional
+semantics).
+
+Explicit instantiation of template methods is now supported. Also,
+'inline template class foo<int>;' can be used to emit only the vtable
+for a template class.
+
+With -fcheck-new, g++ will check the return value of all calls to
+operator new, and not attempt to modify a returned null pointer.
+
+The template instantiation code now handles more conversions when
+passing to a parameter that does not depend on template arguments.
+This means that code like 'string s; cout << s;' now works.
+
+Invalid jumps in a switch statement past declarations that require
+initializations are now caught.
+
+Functions declared 'extern inline' now have the same linkage semantics
+as inline member functions. On supported targets, where previously
+these functions (and vtables, and template instantiations) would have
+been defined statically, they will now be defined as weak symbols so
+that only one out-of-line definition is used.
+
+collect2 now demangles linker output, and c++filt has become part of
+the gcc distribution.
+
+Noteworthy changes in GCC version 2.6.3:
+
+A few more bugs have been fixed.
+
+Noteworthy changes in GCC version 2.6.2:
+
+A few bugs have been fixed.
+
+Names of attributes can now be preceded and followed by double underscores.
+
+Noteworthy changes in GCC version 2.6.1:
+
+Numerous (mostly minor) bugs have been fixed.
+
+The following new configurations are supported:
+
+ GNU on x86 (instead of treating it like MACH)
+ NetBSD on Sparc and Motorola 68k
+ AIX 4.1 on RS/6000 and PowerPC systems
+ Sequent DYNIX/ptx 1.x and 2.x.
+ Both COFF and ELF configurations on AViiON without using /bin/gcc
+ Windows/NT on x86 architecture; preliminary
+ AT&T DSP1610 digital signal processor chips
+ i960 systems on bare boards using COFF
+ PDP11; target only and not extensively tested
+
+The -pg option is now supported for Alpha under OSF/1 V3.0 or later.
+
+Files with an extension of ".c++" are treated as C++ code.
+
+The -Xlinker and -Wl arguments are now passed to the linker in the
+position they were specified on the command line. This makes it
+possible, for example, to pass flags to the linker about specific
+object files.
+
+The use of positional arguments to the configure script is no longer
+recommended. Use --target= to specify the target; see the GCC manual.
+
+The 386 now supports two new switches: -mreg-alloc=<string> changes
+the default register allocation order used by the compiler, and
+-mno-wide-multiply disables the use of the mul/imul instructions that
+produce 64 bit results in EAX:EDX from 32 bit operands to do long long
+multiplies and 32-bit division by constants.
+
+Noteworthy changes in GCC version 2.6.0:
+
+Numerous bugs have been fixed, in the C and C++ front-ends, as
+well as in the common compiler code.
+
+This release includes the C, Objective-C, and C++ compilers. However,
+we have moved the files for the C++ compiler (G++) files to a
+subdirectory, cp. Subsequent releases of GCC will split these files
+to a separate TAR file.
+
+The G++ team has been tracking the development of the ANSI standard for C++.
+Here are some new features added from the latest working paper:
+
+ * built-in boolean type 'bool', with constants 'true' and 'false'.
+ * array new and delete (operator new [] and delete []).
+ * WP-conforming lifetime of temporaries.
+ * explicit instantiation of templates (template class A<int>;),
+ along with an option (-fno-implicit-templates) to disable emission
+ of implicitly instantiated templates, obsoletes -fexternal-templates.
+ * static member constants (static const int foo = 4; within the
+ class declaration).
+
+Many error messages have been improved to tell the user more about the
+problem. Conformance checking with -pedantic-errors has been
+improved. G++ now compiles Fresco.
+
+There is now an experimental implementation of virtual functions using
+thunks instead of Cfront-style vtables, enabled with -fvtable-thunks.
+This option also enables a heuristic which causes the compiler to only
+emit the vtable in the translation unit where its first non-inline
+virtual function is defined; using this option and
+-fno-implicit-templates, users should be able to avoid #pragma
+interface/implementation altogether.
+
+Signatures have been added as a GNU C++ extension. Using the option
+-fhandle-signatures, users are able to turn on recognition of
+signatures. A short introduction on signatures is in the section
+`Extension to the C++ Language' in the manual.
+
+The `g++' program is now a C program, rather than a shell script.
+
+Lots and lots and lots of bugs fixes, in nested types, access control,
+pointers to member functions, the parser, templates, overload
+resolution, etc, etc.
+
+There have been two major enhancements to the Objective-C compiler:
+
+1) Added portability. It now runs on Alpha, and some problems with
+ message forwarding have been addressed on other platforms.
+
+2) Selectors have been redefined to be pointers to structs like:
+ { void *sel_id, char *sel_types }, where the sel_id is the unique
+ identifier, the selector itself is no longer unique.
+
+ Programmers should use the new function sel_eq to test selector
+ equivalence.
+
+The following major changes have been made to the base compiler and
+machine-specific files.
+
+- The MIL-STD-1750A is a new port, but still preliminary.
+
+- The h8/300h is now supported; both the h8/300 and h8/300h ports come
+ with 32 bit IEEE 754 software floating point support.
+
+- The 64-bit Sparc (v9) and 64-bit MIPS chips are supported.
+
+- NetBSD is supported on m68k, Intel x86, and pc523 systems and FreeBSD
+ on x86.
+
+- COFF is supported on x86, m68k, and Sparc systems running LynxOS.
+
+- 68K systems from Bull and Concurrent are supported and System V
+ Release 4 is supported on the Atari.
+
+- GCC supports GAS on the Motorola 3300 (sysV68) and debugging
+ (assuming GAS) on the Plexus 68K system. (However, GAS does not yet
+ work on those systems).
+
+- System V Release 4 is supported on MIPS (Tandem).
+
+- For DG/UX, an ELF configuration is now supported, and both the ELF
+ and BCS configurations support ELF and COFF object file formats.
+
+- OSF/1 V2.0 is supported on Alpha.
+
+- Function profiling is also supported on Alpha.
+
+- GAS and GDB is supported for Irix 5 (MIPS).
+
+- "common mode" (code that will run on both POWER and PowerPC
+ architectures) is now supported for the RS/6000 family; the
+ compiler knows about more PPC chips.
+
+- Both NeXTStep 2.1 and 3 are supported on 68k-based architectures.
+
+- On the AMD 29k, the -msoft-float is now supported, as well as
+ -mno-sum-in-toc for RS/6000, -mapp-regs and -mflat for Sparc, and
+ -membedded-pic for MIPS.
+
+- GCC can now convert division by integer constants into the equivalent
+ multiplication and shift operations when that is faster than the
+ division.
+
+- Two new warning options, -Wbad-function-cast and
+ -Wmissing-declarations have been added.
+
+- Configurations may now add machine-specific __attribute__ options on
+ type; many machines support the `section' attribute.
+
+- The -ffast-math flag permits some optimization that violate strict
+ IEEE rules, such as converting X * 0.0 to 0.0.
+
+Noteworthy changes in GCC version 2.5.8:
+
+This release only fixes a few serious bugs. These include fixes for a
+bug that prevented most programs from working on the RS/6000, a bug
+that caused invalid assembler code for programs with a `switch'
+statement on the NS32K, a G++ problem that caused undefined names in
+some configurations, and several less serious problems, some of which
+can affect most configuration.
+
+Noteworthy change in GCC version 2.5.7:
+
+This release only fixes a few bugs, one of which was causing bootstrap
+compare errors on some systems.
+
+Noteworthy change in GCC version 2.5.6:
+
+A few backend bugs have been fixed, some of which only occur on one
+machine.
+
+The C++ compiler in 2.5.6 includes:
+
+ * fixes for some common crashes
+ * correct handling of nested types that are referenced as `foo::bar'
+ * spurious warnings about friends being declared static and never
+ defined should no longer appear
+ * enums that are local to a method in a class, or a class that's
+ local to a function, are now handled correctly. For example:
+ class foo { void bar () { enum { x, y } E; x; } };
+ void bar () { class foo { enum { x, y } E; E baz; }; }
+
+Noteworthy change in GCC version 2.5.5:
+
+A large number of C++ bugs have been fixed.
+
+The fixproto script adds prototypes conditionally on __cplusplus.
+
+Noteworthy change in GCC version 2.5.4:
+
+A bug fix in passing of structure arguments for the HP-PA architecture
+makes code compiled with GCC 2.5.4 incompatible with code compiled
+with earlier versions (if it passes struct arguments of 33 to 64 bits,
+interspersed with other types of arguments).
+
+Noteworthy change in gcc version 2.5.3:
+
+The method of "mangling" C++ function names has been changed. So you
+must recompile all C++ programs completely when you start using GCC
+2.5. Also, GCC 2.5 requires libg++ version 2.5. Earlier libg++
+versions won't work with GCC 2.5. (This is generally true--GCC
+version M.N requires libg++ version M.N.)
+
+Noteworthy GCC changes in version 2.5:
+
+* There is now support for the IBM 370 architecture as a target.
+Currently the only operating system supported is MVS; GCC does not run
+on MVS, so you must produce .s files using GCC as a cross compiler,
+then transfer them to MVS to assemble them. This port is not reliable
+yet.
+
+* The Power PC is now supported.
+
+* The i860-based Paragon machine is now supported.
+
+* The Hitachi 3050 (an HP-PA machine) is now supported.
+
+* The variable __GNUC_MINOR__ holds the minor version number of GCC, as
+an integer. For version 2.5.X, the value is 5.
+
+* In C, initializers for static and global variables are now processed
+an element at a time, so that they don't need a lot of storage.
+
+* The C syntax for specifying which structure field comes next in an
+initializer is now `.FIELDNAME='. The corresponding syntax for
+array initializers is now `[INDEX]='. For example,
+
+ char whitespace[256]
+ = { [' '] = 1, ['\t'] = 1, ['\n'] = 1 };
+
+This was changed to accord with the syntax proposed by the Numerical
+C Extensions Group (NCEG).
+
+* Complex numbers are now supported in C. Use the keyword __complex__
+to declare complex data types. See the manual for details.
+
+* GCC now supports `long double' meaningfully on the Sparc (128-bit
+floating point) and on the 386 (96-bit floating point). The Sparc
+support is enabled on Solaris 2.x because earlier system versions
+(SunOS 4) have bugs in the emulation.
+
+* All targets now have assertions for cpu, machine and system. So you
+can now use assertions to distinguish among all supported targets.
+
+* Nested functions in C may now be inline. Just declare them inline
+in the usual way.
+
+* Packed structure members are now supported fully; it should be possible
+to access them on any supported target, no matter how little alignment
+they have.
+
+* To declare that a function does not return, you must now write
+something like this (works only in 2.5):
+
+ void fatal () __attribute__ ((noreturn));
+
+or like this (works in older versions too):
+
+ typedef void voidfn ();
+
+ volatile voidfn fatal;
+
+It used to be possible to do so by writing this:
+
+ volatile void fatal ();
+
+but it turns out that ANSI C requires that to mean something
+else (which is useless).
+
+Likewise, to declare that a function is side-effect-free
+so that calls may be deleted or combined, write
+something like this (works only in 2.5):
+
+ int computation () __attribute__ ((const));
+
+or like this (works in older versions too):
+
+ typedef int intfn ();
+
+ const intfn computation;
+
+* The new option -iwithprefixbefore specifies a directory to add to
+the search path for include files in the same position where -I would
+put it, but uses the specified prefix just like -iwithprefix.
+
+* Basic block profiling has been enhanced to record the function the
+basic block comes from, and if the module was compiled for debugging,
+the line number and filename. A default version of the basic block
+support module has been added to libgcc2 that appends the basic block
+information to a text file 'bb.out'. Machine descriptions can now
+override the basic block support module in the target macro file.
+
+New features in g++:
+
+* The new flag `-fansi-overloading' for C++. Use a newly implemented
+scheme of argument matching for C++. It makes g++ more accurately
+obey the rules set down in Chapter 13 of the Annotated C++ Reference
+Manual (the ARM). This option will be turned on by default in a
+future release.
+
+* The -finline-debug flag is now gone (it was never really used by the
+ compiler).
+
+* Recognizing the syntax for pointers to members, e.g., "foo::*bar", has been
+ dramatically improved. You should not get any syntax errors or incorrect
+ runtime results while using pointers to members correctly; if you do, it's
+ a definite bug.
+
+* Forward declaration of an enum is now flagged as an error.
+
+* Class-local typedefs are now working properly.
+
+* Nested class support has been significantly improved. The compiler
+ will now (in theory) support up to 240 nested classes before hitting
+ other system limits (like memory size).
+
+* There is a new C version of the `g++' driver, to replace the old
+ shell script. This should significantly improve the performance of
+ executing g++ on a system where a user's PATH environment variable
+ references many NFS-mounted filesystems. This driver also works
+ under MS-DOS and OS/2.
+
+* The ANSI committee working on the C++ standard has adopted a new
+ keyword `mutable'. This will allow you to make a specific member be
+ modifiable in an otherwise const class.
+
+Noteworthy GCC changes in version 2.4.4:
+
+ A crash building g++ on various hosts (including m68k) has been
+ fixed. Also the g++ compiler no longer reports incorrect
+ ambiguities in some situations where they do not exist, and
+ const template member functions are now being found properly.
+
+Noteworthy GCC changes in version 2.4:
+
+* On each target, the default is now to return short structures
+compatibly with the "usual" compiler on that target.
+
+For most targets, this means the default is to return all structures
+in memory, like long structures, in whatever way is used on that
+target. Use -freg-struct-return to enable returning short structures
+(and unions) in registers.
+
+This change means that newly compiled binaries are incompatible with
+binaries compiled with previous versions of GCC.
+
+On some targets, GCC is itself the usual compiler. On these targets,
+the default way to return short structures is still in registers.
+Use -fpcc-struct-return to tell GCC to return them in memory.
+
+* There is now a floating point emulator which can imitate the way all
+supported target machines do floating point arithmetic.
+
+This makes it possible to have cross compilation to and from the VAX,
+and between machines of different endianness. However, this works
+only when the target machine description is updated to use the new
+facilities, and not all have been updated.
+
+This also makes possible support for longer floating point types.
+GCC 2.4 supports extended format on the 68K if you use `long double',
+for targets that have a 68881. (When we have run time library
+routines for extended floating point, then `long double' will use
+extended format on all 68K targets.)
+
+We expect to support extended floating point on the i386 and Sparc in
+future versions.
+
+* Building GCC now automatically fixes the system's header files.
+This should require no attention.
+
+* GCC now installs an unsigned data type as size_t when it fixes the
+header files (on all but a handful of old target machines).
+Therefore, the bug that size_t failed to be unsigned is fixed.
+
+* Building and installation are now completely separate.
+All new files are constructed during the build process;
+installation just copies them.
+
+* New targets supported: Clipper, Hitachi SH, Hitachi 8300, and Sparc
+Lite.
+
+* A totally new and much better Objective C run time system is included.
+
+* Objective C supports many new features. Alas, I can't describe them
+since I don't use that language; however, they are the same ones
+supported in recent versions of the NeXT operating system.
+
+* The builtin functions __builtin_apply_args, __builtin_apply and
+__builtin_return let you record the arguments and returned
+value of a function without knowing their number or type.
+
+* The builtin string variables __FUNCTION__ and __PRETTY_FUNCTION__
+give the name of the function in the source, and a pretty-printed
+version of the name. The two are the same in C, but differ in C++.
+
+* Casts to union types do not yield lvalues.
+
+* ## before an empty rest argument discards the preceding sequence
+of non-whitespace characters from the macro definition.
+(This feature is subject to change.)
+
+
+New features specific to C++:
+
+* The manual contains a new section ``Common Misunderstandings with
+GNU C++'' that C++ users should read.
+
+* #pragma interface and #pragma implementation let you use the same
+C++ source file for both interface and implementation.
+However, this mechanism is still in transition.
+
+* Named returned values let you avoid an extra constructor call
+when a function result has a class type.
+
+* The C++ operators <? and >? yield min and max, respectively.
+
+* C++ gotos can exit a block safely even if the block has
+aggregates that require destructors.
+
+* gcc defines the macro __GNUG__ when compiling C++ programs.
+
+* GNU C++ now correctly distinguishes between the prefix and postfix
+forms of overloaded operator ++ and --. To avoid breaking old
+code, if a class defines only the prefix form, the compiler
+accepts either ++obj or obj++, unless -pedantic is used.
+
+* If you are using version 2.3 of libg++, you need to rebuild it with
+`make CC=gcc' to avoid mismatches in the definition of `size_t'.
+
+Newly documented compiler options:
+
+-fnostartfiles
+ Omit the standard system startup files when linking.
+
+-fvolatile-global
+ Consider memory references to extern and global data items to
+ be volatile.
+
+-idirafter DIR
+ Add DIR to the second include path.
+
+-iprefix PREFIX
+ Specify PREFIX for later -iwithprefix options.
+
+-iwithprefix DIR
+ Add PREFIX/DIR to the second include path.
+
+-mv8
+ Emit Sparc v8 code (with integer multiply and divide).
+-msparclite
+ Emit Sparclite code (roughly v7.5).
+
+-print-libgcc-file-name
+ Search for the libgcc.a file, print its absolute file name, and exit.
+
+-Woverloaded-virtual
+ Warn when a derived class function declaration may be an error
+ in defining a C++ virtual function.
+
+-Wtemplate-debugging
+ When using templates in a C++ program, warn if debugging is
+ not yet fully available.
+
++eN
+ Control how C++ virtual function definitions are used
+ (like cfront 1.x).
+
diff --git a/gnu/dist/toolchain/gcc/alias.c b/gnu/dist/toolchain/gcc/alias.c
index 9d8aac7832a..e8bf04e00df 100644
--- a/gnu/dist/toolchain/gcc/alias.c
+++ b/gnu/dist/toolchain/gcc/alias.c
@@ -1,5 +1,5 @@
/* Alias analysis for GNU C
- Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
Contributed by John Carr (jfc@mit.edu).
This file is part of GNU CC.
@@ -1455,15 +1455,6 @@ init_alias_analysis ()
new_reg_base_value[HARD_FRAME_POINTER_REGNUM]
= gen_rtx_ADDRESS (Pmode, hard_frame_pointer_rtx);
#endif
- if (struct_value_incoming_rtx
- && GET_CODE (struct_value_incoming_rtx) == REG)
- new_reg_base_value[REGNO (struct_value_incoming_rtx)]
- = gen_rtx_ADDRESS (Pmode, struct_value_incoming_rtx);
-
- if (static_chain_rtx
- && GET_CODE (static_chain_rtx) == REG)
- new_reg_base_value[REGNO (static_chain_rtx)]
- = gen_rtx_ADDRESS (Pmode, static_chain_rtx);
/* Walk the insns adding values to the new_reg_base_value array. */
for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
diff --git a/gnu/dist/toolchain/gcc/c-typeck.c b/gnu/dist/toolchain/gcc/c-typeck.c
index 154d830a6d0..a24cc38eaff 100644
--- a/gnu/dist/toolchain/gcc/c-typeck.c
+++ b/gnu/dist/toolchain/gcc/c-typeck.c
@@ -1,5 +1,6 @@
/* Build expressions with type checking for C compiler.
- Copyright (C) 1987, 88, 91-97, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -5846,7 +5847,7 @@ add_pending_init (purpose, value)
p = *q;
if (tree_int_cst_lt (purpose, p->purpose))
q = &p->left;
- else if (tree_int_cst_lt (p->purpose, purpose))
+ else if (p->purpose != purpose)
q = &p->right;
else
abort ();
@@ -5860,8 +5861,7 @@ add_pending_init (purpose, value)
if (tree_int_cst_lt (DECL_FIELD_BITPOS (purpose),
DECL_FIELD_BITPOS (p->purpose)))
q = &p->left;
- else if (tree_int_cst_lt (DECL_FIELD_BITPOS (p->purpose),
- DECL_FIELD_BITPOS (purpose)))
+ else if (p->purpose != purpose)
q = &p->right;
else
abort ();
@@ -6046,7 +6046,7 @@ pending_init_member (field)
{
while (p)
{
- if (tree_int_cst_equal (field, p->purpose))
+ if (field == p->purpose)
return 1;
else if (tree_int_cst_lt (field, p->purpose))
p = p->left;
diff --git a/gnu/dist/toolchain/gcc/cccp.c b/gnu/dist/toolchain/gcc/cccp.c
index 6e2d519f626..023502fbde4 100644
--- a/gnu/dist/toolchain/gcc/cccp.c
+++ b/gnu/dist/toolchain/gcc/cccp.c
@@ -1,5 +1,6 @@
/* C Compatible Compiler Preprocessor (CCCP)
- Copyright (C) 1986, 87, 89, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000 Free Software Foundation, Inc.
Written by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -3299,7 +3300,9 @@ randomchar:
#endif
if (output_marks) {
+ op->bufp = obp;
check_expand (op, limit - ibp + 2);
+ obp = op->bufp;
*obp++ = '\n';
*obp++ = '-';
}
@@ -3981,7 +3984,7 @@ handle_directive (ip, op)
case '\'':
case '\"':
{
- int backslash_newlines_p;
+ int backslash_newlines_p = 0;
register U_CHAR *bp1
= skip_quoted_string (xp - 1, bp, ip->lineno,
diff --git a/gnu/dist/toolchain/gcc/ch/ChangeLog b/gnu/dist/toolchain/gcc/ch/ChangeLog
index 601896ca45f..180622612ca 100644
--- a/gnu/dist/toolchain/gcc/ch/ChangeLog
+++ b/gnu/dist/toolchain/gcc/ch/ChangeLog
@@ -1,3 +1,7 @@
+Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
+
+ * gcc-2.95.3 Released.
+
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
* gcc-2.95.2 Released.
diff --git a/gnu/dist/toolchain/gcc/ch/lang-specs.h b/gnu/dist/toolchain/gcc/ch/lang-specs.h
index ba946d3b55d..bd675bee2ac 100644
--- a/gnu/dist/toolchain/gcc/ch/lang-specs.h
+++ b/gnu/dist/toolchain/gcc/ch/lang-specs.h
@@ -1,5 +1,5 @@
/* Definitions for specs for GNU CHILL.
- Copyright (C) 1995, 1998, 1999 Free Software Foundation, Inc..
+ Copyright (C) 1995, 1998, 1999, 2000 Free Software Foundation, Inc..
This file is part of GNU CC.
@@ -24,7 +24,7 @@ Boston, MA 02111-1307, USA. */
{".ch", {"@chill"}},
{".chi", {"@chill"}},
{"@chill",
- {"cpp -lang-chill %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
+ {"cpp0 -lang-chill %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
%{C:%{!E:%eGNU CHILL does not support -C without using -E}}\
%{!no-gcc:-D__GNUCHILL__=%v1 -D__GNUC_MINOR__=%v2}\
%c %{Os:-D__OPTIMIZE_SIZE__} %{O*:-D__OPTIMIZE__} %{traditional} %{ftraditional:-traditional}\
diff --git a/gnu/dist/toolchain/gcc/combine.c b/gnu/dist/toolchain/gcc/combine.c
index 57b2e8619bc..eb754815ce1 100644
--- a/gnu/dist/toolchain/gcc/combine.c
+++ b/gnu/dist/toolchain/gcc/combine.c
@@ -1,5 +1,6 @@
/* Optimize by combining instructions for GNU compiler.
- Copyright (C) 1987, 88, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -392,6 +393,7 @@ static int n_occurrences;
static void init_reg_last_arrays PROTO((void));
static void setup_incoming_promotions PROTO((void));
static void set_nonzero_bits_and_sign_copies PROTO((rtx, rtx));
+static int cant_combine_insn_p PROTO((rtx));
static int can_combine_p PROTO((rtx, rtx, rtx, rtx, rtx *, rtx *));
static int sets_function_arg_p PROTO((rtx));
static int combinable_i3pat PROTO((rtx, rtx *, rtx, rtx, int, rtx *));
@@ -1312,6 +1314,54 @@ combinable_i3pat (i3, loc, i2dest, i1dest, i1_not_in_src, pi3dest_killed)
return 1;
}
+/* Determine whether INSN can be used in a combination. Return nonzero if
+ not. This is used in try_combine to detect early some cases where we
+ can't perform combinations. */
+
+static int
+cant_combine_insn_p (insn)
+ rtx insn;
+{
+ rtx set;
+ rtx src, dest;
+
+ /* If this isn't really an insn, we can't do anything.
+ This can occur when flow deletes an insn that it has merged into an
+ auto-increment address. */
+ if (GET_RTX_CLASS (GET_CODE (insn)) != 'i')
+ return 1;
+
+ /* For the 2.95.3 release, restrict this code to only handle the machines
+ where it's strictly needed. */
+ if (! SMALL_REGISTER_CLASSES)
+ return 0;
+
+ /* Never combine loads and stores involving hard regs. The register
+ allocator can usually handle such reg-reg moves by tying. If we allow
+ the combiner to make substitutions of hard regs, we risk aborting in
+ reload on machines that have SMALL_REGISTER_CLASSES.
+ As an exception, we allow combinations involving fixed regs; these are
+ not available to the register allocator so there's no risk involved. */
+
+ set = single_set (insn);
+ if (! set)
+ return 0;
+ src = SET_SRC (set);
+ dest = SET_DEST (set);
+ if (GET_CODE (src) == SUBREG)
+ src = SUBREG_REG (src);
+ if (GET_CODE (dest) == SUBREG)
+ dest = SUBREG_REG (dest);
+ if (REG_P (src) && REG_P (dest)
+ && ((REGNO (src) < FIRST_PSEUDO_REGISTER
+ && ! fixed_regs[REGNO (src)])
+ || (REGNO (dest) < FIRST_PSEUDO_REGISTER
+ && ! fixed_regs[REGNO (dest)])))
+ return 1;
+
+ return 0;
+}
+
/* Try to combine the insns I1 and I2 into I3.
Here I1 and I2 appear earlier than I3.
I1 can be zero; then we combine just I2 into I3.
@@ -1362,21 +1412,20 @@ try_combine (i3, i2, i1)
register rtx link;
int i;
- /* If any of I1, I2, and I3 isn't really an insn, we can't do anything.
- This can occur when flow deletes an insn that it has merged into an
- auto-increment address. We also can't do anything if I3 has a
- REG_LIBCALL note since we don't want to disrupt the contiguity of a
- libcall. */
-
- if (GET_RTX_CLASS (GET_CODE (i3)) != 'i'
- || GET_RTX_CLASS (GET_CODE (i2)) != 'i'
- || (i1 && GET_RTX_CLASS (GET_CODE (i1)) != 'i')
+ /* Exit early if one of the insns involved can't be used for
+ combinations. */
+ if (cant_combine_insn_p (i3)
+ || cant_combine_insn_p (i2)
+ || (i1 && cant_combine_insn_p (i1))
+ /* We also can't do anything if I3 has a
+ REG_LIBCALL note since we don't want to disrupt the contiguity of a
+ libcall. */
#if 0
/* ??? This gives worse code, and appears to be unnecessary, since no
pass after flow uses REG_LIBCALL/REG_RETVAL notes. */
|| find_reg_note (i3, REG_LIBCALL, NULL_RTX)
#endif
-)
+ )
return 0;
combine_attempts++;
@@ -4015,7 +4064,8 @@ simplify_rtx (x, op0_mode, last, in_dest)
gen_binary (MULT, mode,
XEXP (XEXP (x, 0), 0), XEXP (x, 1)),
gen_binary (MULT, mode,
- XEXP (XEXP (x, 0), 1), XEXP (x, 1))));
+ XEXP (XEXP (x, 0), 1),
+ copy_rtx (XEXP (x, 1)))));
if (GET_CODE (x) != MULT)
return x;
@@ -4954,7 +5004,8 @@ simplify_logical (x, last)
x = apply_distributive_law
(gen_binary (GET_CODE (op0), mode,
gen_binary (AND, mode, XEXP (op0, 0), op1),
- gen_binary (AND, mode, XEXP (op0, 1), op1)));
+ gen_binary (AND, mode, XEXP (op0, 1),
+ copy_rtx (op1))));
if (GET_CODE (x) != AND)
return x;
}
@@ -4963,7 +5014,8 @@ simplify_logical (x, last)
return apply_distributive_law
(gen_binary (GET_CODE (op1), mode,
gen_binary (AND, mode, XEXP (op1, 0), op0),
- gen_binary (AND, mode, XEXP (op1, 1), op0)));
+ gen_binary (AND, mode, XEXP (op1, 1),
+ copy_rtx (op0))));
/* Similarly, taking advantage of the fact that
(and (not A) (xor B C)) == (xor (ior A B) (ior A C)) */
@@ -4972,13 +5024,14 @@ simplify_logical (x, last)
return apply_distributive_law
(gen_binary (XOR, mode,
gen_binary (IOR, mode, XEXP (op0, 0), XEXP (op1, 0)),
- gen_binary (IOR, mode, XEXP (op0, 0), XEXP (op1, 1))));
+ gen_binary (IOR, mode, copy_rtx (XEXP (op0, 0)),
+ XEXP (op1, 1))));
else if (GET_CODE (op1) == NOT && GET_CODE (op0) == XOR)
return apply_distributive_law
(gen_binary (XOR, mode,
gen_binary (IOR, mode, XEXP (op1, 0), XEXP (op0, 0)),
- gen_binary (IOR, mode, XEXP (op1, 0), XEXP (op0, 1))));
+ gen_binary (IOR, mode, copy_rtx (XEXP (op1, 0)), XEXP (op0, 1))));
break;
case IOR:
@@ -5004,7 +5057,8 @@ simplify_logical (x, last)
x = apply_distributive_law
(gen_binary (AND, mode,
gen_binary (IOR, mode, XEXP (op0, 0), op1),
- gen_binary (IOR, mode, XEXP (op0, 1), op1)));
+ gen_binary (IOR, mode, XEXP (op0, 1),
+ copy_rtx (op1))));
if (GET_CODE (x) != IOR)
return x;
@@ -5015,7 +5069,8 @@ simplify_logical (x, last)
x = apply_distributive_law
(gen_binary (AND, mode,
gen_binary (IOR, mode, XEXP (op1, 0), op0),
- gen_binary (IOR, mode, XEXP (op1, 1), op0)));
+ gen_binary (IOR, mode, XEXP (op1, 1),
+ copy_rtx (op0))));
if (GET_CODE (x) != IOR)
return x;
diff --git a/gnu/dist/toolchain/gcc/config/arm/arm.c b/gnu/dist/toolchain/gcc/config/arm/arm.c
index 553e25c7b76..fe7b41156e0 100644
--- a/gnu/dist/toolchain/gcc/config/arm/arm.c
+++ b/gnu/dist/toolchain/gcc/config/arm/arm.c
@@ -1,5 +1,6 @@
/* Output routines for GCC for ARM.
- Copyright (C) 1991, 93, 94, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+ Free Software Foundation, Inc.
Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl)
and Martin Simmons (@harleqn.co.uk).
More major hacks by Richard Earnshaw (rearnsha@arm.com).
@@ -68,7 +69,7 @@ static int function_really_clobbers_lr PROTO ((rtx));
static void emit_multi_reg_push PROTO ((int));
static void emit_sfm PROTO ((int, int));
static enum arm_cond_code get_arm_condition_code PROTO ((rtx));
-static int const_ok_for_op RTX_CODE_PROTO ((Hint, Rcode));
+static int const_ok_for_op RTX_CODE_PROTO ((HOST_WIDE_INT, Rcode));
/* True if we are currently building a constant table. */
int making_const_table;
@@ -490,14 +491,14 @@ arm_override_options ()
warning ("Passing floating point arguments in fp regs not yet supported");
/* Initialise boolean versions of the flags, for use in the arm.md file. */
- arm_fast_multiply = insn_flags & FL_FAST_MULT;
- arm_arch4 = insn_flags & FL_ARCH4;
+ arm_fast_multiply = (insn_flags & FL_FAST_MULT) != 0;
+ arm_arch4 = (insn_flags & FL_ARCH4) != 0;
- arm_ld_sched = tune_flags & FL_LDSCHED;
- arm_is_strong = tune_flags & FL_STRONG;
+ arm_ld_sched = (tune_flags & FL_LDSCHED) != 0;
+ arm_is_strong = (tune_flags & FL_STRONG) != 0;
arm_is_6_or_7 = ((tune_flags & (FL_MODE26 | FL_MODE32))
&& !(tune_flags & FL_ARCH4));
-
+
/* Default value for floating point code... if no co-processor
bus, then schedule for emulated floating point. Otherwise,
assume the user has an FPA.
diff --git a/gnu/dist/toolchain/gcc/config/arm/arm.h b/gnu/dist/toolchain/gcc/config/arm/arm.h
index 3c133a01b0e..02f0656befb 100644
--- a/gnu/dist/toolchain/gcc/config/arm/arm.h
+++ b/gnu/dist/toolchain/gcc/config/arm/arm.h
@@ -1,5 +1,6 @@
/* Definitions of target machine for GNU compiler, for ARM.
- Copyright (C) 1991, 93, 94, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+ Free Software Foundation, Inc.
Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl)
and Martin Simmons (@harleqn.co.uk).
More major hacks by Richard Earnshaw (rwe11@cl.cam.ac.uk)
@@ -2148,7 +2149,6 @@ struct rtx_def;
#ifndef HOST_WIDE_INT
#include "hwint.h"
#endif
-#define Hint HOST_WIDE_INT
#ifndef HAVE_MACHINE_MODES
#include "machmode.h"
@@ -2164,8 +2164,8 @@ struct rtx_def;
void arm_override_options PROTO ((void));
int use_return_insn PROTO ((int));
-int const_ok_for_arm PROTO ((Hint));
-int arm_split_constant RTX_CODE_PROTO ((Rcode, Mmode, Hint, Rtx, Rtx, int));
+int const_ok_for_arm PROTO ((HOST_WIDE_INT));
+int arm_split_constant RTX_CODE_PROTO ((Rcode, Mmode, HOST_WIDE_INT, Rtx, Rtx, int));
Rcode arm_canonicalize_comparison RTX_CODE_PROTO ((Rcode, Rtx *));
int arm_return_in_memory PROTO ((Tree));
int legitimate_pic_operand_p PROTO ((Rtx));
@@ -2206,9 +2206,9 @@ Rcode minmax_code PROTO ((Rtx));
int adjacent_mem_locations PROTO ((Rtx, Rtx));
int load_multiple_operation PROTO ((Rtx, Mmode));
int store_multiple_operation PROTO ((Rtx, Mmode));
-int load_multiple_sequence PROTO ((Rtx *, int, int *, int *, Hint *));
+int load_multiple_sequence PROTO ((Rtx *, int, int *, int *, HOST_WIDE_INT *));
char * emit_ldm_seq PROTO ((Rtx *, int));
-int store_multiple_sequence PROTO ((Rtx *, int, int *, int *, Hint *));
+int store_multiple_sequence PROTO ((Rtx *, int, int *, int *, HOST_WIDE_INT *));
char * emit_stm_seq PROTO ((Rtx *, int));
int arm_valid_machine_decl_attribute PROTO ((Tree, Tree, Tree));
Rtx arm_gen_load_multiple PROTO ((int, int, Rtx, int, int, int, int, int));
diff --git a/gnu/dist/toolchain/gcc/config/arm/arm.md b/gnu/dist/toolchain/gcc/config/arm/arm.md
index 16e66181ead..de40322f44f 100644
--- a/gnu/dist/toolchain/gcc/config/arm/arm.md
+++ b/gnu/dist/toolchain/gcc/config/arm/arm.md
@@ -1,5 +1,6 @@
;;- Machine description for ARM for GNU compiler
-;; Copyright (C) 1991, 93-98, 1999 Free Software Foundation, Inc.
+;; Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+;; Free Software Foundation, Inc.
;; Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl)
;; and Martin Simmons (@harleqn.co.uk).
;; More major hacks by Richard Earnshaw (rearnsha@arm.com).
@@ -1837,7 +1838,8 @@
(define_insn "negdi2"
[(set (match_operand:DI 0 "s_register_operand" "=&r,&r")
- (neg:DI (match_operand:DI 1 "s_register_operand" "?r,0")))]
+ (neg:DI (match_operand:DI 1 "s_register_operand" "?r,0")))
+ (clobber (reg:CC 24))]
""
"rsbs\\t%Q0, %Q1, #0\;rsc\\t%R0, %R1, #0"
[(set_attr "conds" "clob")
@@ -5797,15 +5799,19 @@
; It doesn't seem worth adding peepholes for anything but the most common
; cases since, unlike combine, the increment must immediately follow the load
; for this pattern to match.
-; When loading we must watch to see that the base register isn't trampled by
-; the load. In such cases this isn't a post-inc expression.
+; We must watch to see that the source/destination register isn't also the
+; same as the base address register, and that if the index is a register,
+; that it is not the same as the base address register. In such cases the
+; instruction that we would generate would have UNPREDICTABLE behaviour so
+; we cannot use it.
(define_peephole
[(set (mem:QI (match_operand:SI 0 "s_register_operand" "+r"))
(match_operand:QI 2 "s_register_operand" "r"))
(set (match_dup 0)
(plus:SI (match_dup 0) (match_operand:SI 1 "index_operand" "rJ")))]
- ""
+ "(REGNO (operands[2]) != REGNO (operands[0]))
+ && (GET_CODE (operands[1]) != REG || (REGNO (operands[1]) != REGNO (operands[0])))"
"str%?b\\t%2, [%0], %1")
(define_peephole
@@ -5813,9 +5819,8 @@
(mem:QI (match_operand:SI 1 "s_register_operand" "+r")))
(set (match_dup 1)
(plus:SI (match_dup 1) (match_operand:SI 2 "index_operand" "rJ")))]
- "REGNO(operands[0]) != REGNO(operands[1])
- && (GET_CODE (operands[2]) != REG
- || REGNO(operands[0]) != REGNO (operands[2]))"
+ "REGNO (operands[0]) != REGNO (operands[1])
+ && (GET_CODE (operands[2]) != REG || REGNO (operands[0]) != REGNO (operands[2]))"
"ldr%?b\\t%0, [%1], %2")
(define_peephole
@@ -5823,7 +5828,8 @@
(match_operand:SI 2 "s_register_operand" "r"))
(set (match_dup 0)
(plus:SI (match_dup 0) (match_operand:SI 1 "index_operand" "rJ")))]
- ""
+ "(REGNO (operands[2]) != REGNO (operands[0]))
+ && (GET_CODE (operands[1]) != REG || (REGNO (operands[1]) != REGNO (operands[0])))"
"str%?\\t%2, [%0], %1")
(define_peephole
@@ -5833,9 +5839,8 @@
(plus:SI (match_dup 1) (match_operand:SI 2 "index_operand" "rJ")))]
"(! BYTES_BIG_ENDIAN)
&& ! TARGET_SHORT_BY_BYTES
- && REGNO(operands[0]) != REGNO(operands[1])
- && (GET_CODE (operands[2]) != REG
- || REGNO(operands[0]) != REGNO (operands[2]))"
+ && REGNO (operands[0]) != REGNO (operands[1])
+ && (GET_CODE (operands[2]) != REG || REGNO (operands[0]) != REGNO (operands[2]))"
"ldr%?\\t%0, [%1], %2\\t%@ loadhi")
(define_peephole
@@ -5843,9 +5848,8 @@
(mem:SI (match_operand:SI 1 "s_register_operand" "+r")))
(set (match_dup 1)
(plus:SI (match_dup 1) (match_operand:SI 2 "index_operand" "rJ")))]
- "REGNO(operands[0]) != REGNO(operands[1])
- && (GET_CODE (operands[2]) != REG
- || REGNO(operands[0]) != REGNO (operands[2]))"
+ "REGNO (operands[0]) != REGNO (operands[1])
+ && (GET_CODE (operands[2]) != REG || REGNO (operands[0]) != REGNO (operands[2]))"
"ldr%?\\t%0, [%1], %2")
(define_peephole
@@ -5853,7 +5857,8 @@
(match_operand:SI 1 "index_operand" "rJ")))
(match_operand:QI 2 "s_register_operand" "r"))
(set (match_dup 0) (plus:SI (match_dup 0) (match_dup 1)))]
- ""
+ "(REGNO (operands[2]) != REGNO (operands[0]))
+ && (GET_CODE (operands[1]) != REG || (REGNO (operands[1]) != REGNO (operands[0])))"
"str%?b\\t%2, [%0, %1]!")
(define_peephole
@@ -5864,7 +5869,8 @@
(match_operand:QI 3 "s_register_operand" "r"))
(set (match_dup 2) (plus:SI (match_op_dup 4 [(match_dup 0) (match_dup 1)])
(match_dup 2)))]
- ""
+ "REGNO (operands[0]) != REGNO (operands[2])
+ && REGNO (operands[3]) != REGNO (operands[2])"
"str%?b\\t%3, [%2, %0%S4]!")
; This pattern is never tried by combine, so do it as a peephole
diff --git a/gnu/dist/toolchain/gcc/config/arm/linux-elf.h b/gnu/dist/toolchain/gcc/config/arm/linux-elf.h
index e5b4de1c13b..a7e9e28938f 100644
--- a/gnu/dist/toolchain/gcc/config/arm/linux-elf.h
+++ b/gnu/dist/toolchain/gcc/config/arm/linux-elf.h
@@ -1,5 +1,5 @@
/* Definitions for ARM running Linux-based GNU systems using ELF
- Copyright (C) 1993, 1994, 1997, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1993, 1994, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
Contributed by Philip Blundell <philb@gnu.org>
This file is part of GNU CC.
@@ -28,13 +28,30 @@ Boston, MA 02111-1307, USA. */
/* We have libgcc2. */
#define HAVE_ATEXIT
-/* Default is to use APCS-32 mode. */
#ifndef SUBTARGET_DEFAULT_APCS26
-#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_SHORT_BYTE)
-#define SUBTARGET_EXTRA_LINK_SPEC \
+/* Default is to use APCS-32 mode. */
+# define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_SHORT_BYTE)
+# ifdef SUBTARGET_OLD_LINKER
+# define SUBTARGET_EXTRA_LINK_SPEC \
" %{mapcs-26:-m elf32arm26} %{!mapcs-26:-m elf32arm}"
-#define SUBTARGET_EXTRA_ASM_SPEC \
+# else /* new linker */
+# define SUBTARGET_EXTRA_LINK_SPEC \
+ " %{mapcs-26:-m armelf_linux26} %{!mapcs-26:-m armelf_linux} -p"
+# endif
+# define SUBTARGET_EXTRA_ASM_SPEC \
" %{mapcs-26:-mapcs-26} %(!mapcs-26:-mapcs-32}"
+# define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
+#else /* default is APCS-26 */
+# define TARGET_DEFAULT (ARM_FLAG_SHORT_BYTE)
+# ifdef SUBTARGET_OLD_LINKER
+# define SUBTARGET_LINK_SPEC \
+ " %{mapcs-32:-m elf32arm} %{!mapcs-32:-m elf32arm26}"
+# else /* new linker */
+# define SUBTARGET_LINK_SPEC \
+ " %{mapcs-32:-m armelf_linux} %{!mapcs-32:-m armelf_linux26} -p"
+# endif
+# define SUBTARGET_EXTRA_ASM_SPEC \
+ " %{mapcs-32:-mapcs-32} %(!mapcs-32:-mapcs-26}"
#endif
/* This was defined in linux.h. Define it here also. */
@@ -86,8 +103,8 @@ Boston, MA 02111-1307, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
-"-Dunix -Darm -Dlinux -Asystem(unix) -Asystem(posix) -Acpu(arm) \
--Amachine(arm) -D__ELF__ -Darm_elf"
+"-Dunix -D__arm__ -Dlinux -Asystem(unix) -Asystem(posix) -Acpu(arm) \
+-Amachine(arm) -D__ELF__"
#ifndef SUBTARGET_DEFAULT_APCS26
#define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
diff --git a/gnu/dist/toolchain/gcc/config/arm/linux-elf26.h b/gnu/dist/toolchain/gcc/config/arm/linux-elf26.h
index aa65ae7f750..ce26f1fef9d 100644
--- a/gnu/dist/toolchain/gcc/config/arm/linux-elf26.h
+++ b/gnu/dist/toolchain/gcc/config/arm/linux-elf26.h
@@ -1,6 +1,7 @@
-/* Definitions for 26-bit ARM running Linux-based GNU systems using ELF
- Copyright (C) 1998 Free Software Foundation, Inc.
- Contributed by Philip Blundell <philb@gnu.org>
+/* Definitions for ARM running Linux-based GNU systems
+ using ELF and 26-bit APCS.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+ Contributed by Philip Blundell <Philip.Blundell@pobox.com>
This file is part of GNU CC.
@@ -19,14 +20,5 @@ along with this program; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
+/* Tell linux-elf.h to default to 26-bit mode. */
#define SUBTARGET_DEFAULT_APCS26
-
-#define SUBTARGET_LINK_SPEC \
- " %{mapcs-32:-m elf32arm} %{!mapcs-32:-m elf32arm26}"
-
-#define SUBTARGET_EXTRA_ASM_SPEC \
- " %{mapcs-32:-mapcs-32} %(!mapcs-32:-mapcs-26}"
-
-#define TARGET_DEFAULT (ARM_FLAG_SHORT_BYTE)
-
-#include "arm/linux-elf.h"
diff --git a/gnu/dist/toolchain/gcc/config/arm/linux-oldld.h b/gnu/dist/toolchain/gcc/config/arm/linux-oldld.h
new file mode 100644
index 00000000000..8b2af015efe
--- /dev/null
+++ b/gnu/dist/toolchain/gcc/config/arm/linux-oldld.h
@@ -0,0 +1,27 @@
+/* Definitions for ARM running Linux-based GNU systems
+ using ELF with old binutils.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+ Contributed by Philip Blundell <Philip.Blundell@pobox.com>
+
+This file is part of GNU CC.
+
+GNU CC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU CC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; see the file COPYING. If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
+
+/* Unfortunately, owing to various historical accidents, version 2.9.4
+ and newer of GNU binutils are not quite compatible with the old
+ (2.9.1-based) toolset. This tells linux-elf.h to generate specs
+ appropriate for the older versions. */
+#define SUBTARGET_OLD_LINKER
diff --git a/gnu/dist/toolchain/gcc/config/h8300/h8300.c b/gnu/dist/toolchain/gcc/config/h8300/h8300.c
index 5fb4a628c46..4d23e7424da 100644
--- a/gnu/dist/toolchain/gcc/config/h8300/h8300.c
+++ b/gnu/dist/toolchain/gcc/config/h8300/h8300.c
@@ -1,6 +1,6 @@
/* Subroutines for insn-output.c for Hitachi H8/300.
- Copyright (C) 1992, 93, 94, 95, 96, 97, 1998, 1999 Free Software
- Foundation, Inc.
+ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+ Free Software Foundation, Inc.
Contributed by Steve Chamberlain (sac@cygnus.com),
Jim Wilson (wilson@cygnus.com), and Doug Evans (dje@cygnus.com).
@@ -396,7 +396,7 @@ function_epilogue (file, size)
if (GET_CODE (insn) == NOTE)
insn = prev_nonnote_insn (insn);
if (insn && GET_CODE (insn) == BARRIER)
- return;
+ goto out;
/* Pop the saved registers. */
for (idx = 0; idx < FIRST_PSEUDO_REGISTER; idx++)
@@ -2313,9 +2313,9 @@ get_shift_alg (cpu, shift_type, mode, count, assembler_p,
if (TARGET_H8300)
*assembler_p = "mov.b\t%t0,%s0\n\tbld\t#7,%s0\n\tsubx\t%t0,%t0\n\tshar.b\t%s0\n\tshar.b\t%s0\n\tshar.b\t%s0\n\tshar.b\t%s0";
else if (TARGET_H8300H)
- *assembler_p = "mov.b\t%t0,%s0\n\textw.w\t%T0\n\tshar.b\t%s0\n\tshar.b\t%s0\n\tshar.b\t%s0\n\tshar.b\t%s0";
+ *assembler_p = "mov.b\t%t0,%s0\n\texts.w\t%T0\n\tshar.b\t%s0\n\tshar.b\t%s0\n\tshar.b\t%s0\n\tshar.b\t%s0";
else if (TARGET_H8300S)
- *assembler_p = "mov.b\t%t0,%s0\n\textw.w\t%T0\n\tshar.b\t#2,%s0\n\tshar.b\t#2,%s0";
+ *assembler_p = "mov.b\t%t0,%s0\n\texts.w\t%T0\n\tshar.b\t#2,%s0\n\tshar.b\t#2,%s0";
*cc_valid_p = 0;
return SHIFT_SPECIAL;
}
diff --git a/gnu/dist/toolchain/gcc/config/h8300/h8300.md b/gnu/dist/toolchain/gcc/config/h8300/h8300.md
index 7e49af5ef75..b0132f924b2 100644
--- a/gnu/dist/toolchain/gcc/config/h8300/h8300.md
+++ b/gnu/dist/toolchain/gcc/config/h8300/h8300.md
@@ -1,5 +1,6 @@
;; GCC machine description for Hitachi H8/300
-;; Copyright (C) 1992, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 2000 Free Software
+;; Foundation, Inc.
;; Contributed by Steve Chamberlain (sac@cygnus.com),
;; Jim Wilson (wilson@cygnus.com), and Doug Evans (dje@cygnus.com).
@@ -400,8 +401,8 @@
(set_attr "cc" "clobber")])
(define_insn "movsi_h8300hs"
- [(set (match_operand:SI 0 "general_operand_dst" "=r,r,r,m,<,r,*a,*a,r")
- (match_operand:SI 1 "general_operand_src" "I,r,im,r,r,>,I,r,*a"))]
+ [(set (match_operand:SI 0 "general_operand_dst" "=r,r,r,r,m,<,r,*a,*a,r")
+ (match_operand:SI 1 "general_operand_src" "I,r,i,m,r,r,>,I,r,*a"))]
"(TARGET_H8300S || TARGET_H8300H)
&& (register_operand (operands[0], SImode)
|| register_operand (operands[1], SImode))"
@@ -409,12 +410,12 @@
{
if (which_alternative == 0)
return \"sub.l %S0,%S0\";
- if (which_alternative == 6)
- return \"clrmac\";
if (which_alternative == 7)
- return \"clrmac\;ldmac %1,macl\";
+ return \"clrmac\";
if (which_alternative == 8)
- return \"stmac macl,%0\";
+ return \"clrmac\;ldmac %1,macl\";
+ if (which_alternative == 9)
+ return \"stmac macl,%0\";
if (GET_CODE (operands[1]) == CONST_INT)
{
int val = INTVAL (operands[1]);
@@ -443,8 +444,8 @@
}
return \"mov.l %S1,%S0\";
}"
- [(set_attr "length" "2,2,10,10,4,4,2,6,4")
- (set_attr "cc" "set_zn,set_znv,set_znv,set_znv,set_znv,set_znv,none_0hit,none_0hit,set_znv")])
+ [(set_attr "length" "2,2,10,10,10,4,4,2,6,4")
+ (set_attr "cc" "set_zn,set_znv,clobber,set_znv,set_znv,set_znv,set_znv,none_0hit,none_0hit,set_znv")])
(define_insn "movsf_h8300h"
[(set (match_operand:SF 0 "general_operand_dst" "=r,r,r,m,<,r")
@@ -861,7 +862,7 @@
(sign_extend:SI
(mem:HI (post_inc:SI (match_operand:SI 2 "register_operand" "r"))))))]
"TARGET_H8300S"
- "clrmac\;mac %2,%1"
+ "clrmac\;mac @%2+,@%1+"
[(set_attr "length" "6")
(set_attr "cc" "none_0hit")])
@@ -874,7 +875,7 @@
(post_inc:SI (match_operand:SI 2 "register_operand" "r")))))
(match_operand:SI 3 "register_operand" "0")))]
"TARGET_H8300S"
- "mac %2,%1"
+ "mac @%2+,@%1+"
[(set_attr "length" "4")
(set_attr "cc" "none_0hit")])
@@ -1674,7 +1675,7 @@
(define_expand "zero_extendhisi2"
[(set (match_operand:SI 0 "register_operand" "")
- (zero_extend:SI (match_operand:HI 1 "general_operand" "")))]
+ (zero_extend:SI (match_operand:HI 1 "register_operand" "")))]
""
"
{
@@ -1709,18 +1710,16 @@
(set_attr "cc" "clobber,clobber,clobber")])
(define_insn ""
- [(set (match_operand:SI 0 "register_operand" "=r,r")
- (zero_extend:SI (match_operand:HI 1 "general_operand_src" "0,g>")))]
+ [(set (match_operand:SI 0 "register_operand" "=r")
+ (zero_extend:SI (match_operand:HI 1 "register_operand" "0")))]
"TARGET_H8300H || TARGET_H8300S"
- "@
- extu.l %S0
- mov.w %T1,%T0\;extu.l %S0"
- [(set_attr "length" "2,4")
- (set_attr "cc" "set_znv,set_znv")])
+ "extu.l %S0"
+ [(set_attr "length" "2")
+ (set_attr "cc" "set_znv")])
(define_expand "extendqihi2"
[(set (match_operand:HI 0 "register_operand" "")
- (sign_extend:HI (match_operand:QI 1 "general_operand" "")))]
+ (sign_extend:HI (match_operand:QI 1 "register_operand" "")))]
""
"")
@@ -1735,14 +1734,12 @@
(set_attr "cc" "clobber,clobber")])
(define_insn ""
- [(set (match_operand:HI 0 "register_operand" "=r,r")
- (sign_extend:HI (match_operand:QI 1 "general_operand_src" "0,g>")))]
+ [(set (match_operand:HI 0 "register_operand" "=r")
+ (sign_extend:HI (match_operand:QI 1 "register_operand" "0")))]
"TARGET_H8300H || TARGET_H8300S"
- "@
- exts.w %T0
- mov.b %R1,%s0\;exts.w %T0"
- [(set_attr "length" "2,4")
- (set_attr "cc" "set_znv,set_znv")])
+ "exts.w %T0"
+ [(set_attr "length" "2")
+ (set_attr "cc" "set_znv")])
;; The compiler can synthesize a 300H variant of this which is
;; just as efficient as one that we'd create
@@ -1758,7 +1755,7 @@
(define_expand "extendhisi2"
[(set (match_operand:SI 0 "register_operand" "")
- (sign_extend:SI (match_operand:HI 1 "general_operand" "")))]
+ (sign_extend:SI (match_operand:HI 1 "register_operand" "")))]
""
"
{
@@ -1791,14 +1788,12 @@
(set_attr "cc" "clobber,clobber")])
(define_insn ""
- [(set (match_operand:SI 0 "register_operand" "=r,r")
- (sign_extend:SI (match_operand:HI 1 "general_operand_src" "0,g>")))]
+ [(set (match_operand:SI 0 "register_operand" "=r")
+ (sign_extend:SI (match_operand:HI 1 "register_operand" "0")))]
"TARGET_H8300H || TARGET_H8300S"
- "@
- exts.l %S0
- mov.w %T1,%T0\;exts.l %S0"
- [(set_attr "length" "2,4")
- (set_attr "cc" "set_znv,set_znv")])
+ "exts.l %S0"
+ [(set_attr "length" "2")
+ (set_attr "cc" "set_znv")])
;; ----------------------------------------------------------------------
;; SHIFTS
@@ -2292,7 +2287,7 @@
(define_peephole
[(set (match_operand:HI 1 "register_operand" "")
- (plus:HI (match_dup 1) (const_int -1)))
+ (plus:HI (match_dup 1) (const_int -2)))
(set (mem:HI (match_dup 1))
(match_operand:HI 0 "register_operand" ""))]
"REGNO(operands[1]) != REGNO(operands[0])"
diff --git a/gnu/dist/toolchain/gcc/config/i386/i386.md b/gnu/dist/toolchain/gcc/config/i386/i386.md
index b52e2550c4d..649c7d544ba 100644
--- a/gnu/dist/toolchain/gcc/config/i386/i386.md
+++ b/gnu/dist/toolchain/gcc/config/i386/i386.md
@@ -1,5 +1,6 @@
; GCC machine description for Intel X86.
-;; Copyright (C) 1988, 94, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000 Free Software
+;; Foundation, Inc.
;; Mostly by William Schelter.
;; This file is part of GNU CC.
@@ -8193,3 +8194,12 @@ byte_xor_operation:
load_pic_register (1);
DONE;
}")
+
+(define_expand "builtin_setjmp_receiver"
+ [(label_ref (match_operand 0 "" ""))]
+ "flag_pic"
+ "
+{
+ load_pic_register (1);
+ DONE;
+}")
diff --git a/gnu/dist/toolchain/gcc/config/i386/sol2gas.h b/gnu/dist/toolchain/gcc/config/i386/sol2gas.h
index 7f2c9629d7c..558183aecd5 100644
--- a/gnu/dist/toolchain/gcc/config/i386/sol2gas.h
+++ b/gnu/dist/toolchain/gcc/config/i386/sol2gas.h
@@ -4,8 +4,6 @@
Copyright (C) 1999 Free Software Foundation, Inc.
*/
-#ifndef GAS_DOES_NOT_SUPPORT_MINUS_S
-#define GAS_DOES_NOT_SUPPORT_MINUS_S 1
+#ifndef GAS_REJECTS_MINUS_S
+#define GAS_REJECTS_MINUS_S 1
#endif
-
-#include "i386/sol2.h"
diff --git a/gnu/dist/toolchain/gcc/config/m68k/m68k.h b/gnu/dist/toolchain/gcc/config/m68k/m68k.h
index 9a58f1db6be..ee0dc755ce2 100644
--- a/gnu/dist/toolchain/gcc/config/m68k/m68k.h
+++ b/gnu/dist/toolchain/gcc/config/m68k/m68k.h
@@ -1,5 +1,6 @@
/* Definitions of target machine for GNU compiler. Sun 68000/68020 version.
- Copyright (C) 1987, 88, 93-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+ Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -1198,6 +1199,8 @@ while(0)
for (regno = 0; regno < 16; regno++) \
if (regs_ever_live[regno] && ! call_used_regs[regno]) \
offset += 4; \
+ if (flag_pic && current_function_uses_pic_offset_table) \
+ offset += 4; \
(DEPTH) = (offset + ((get_frame_size () + 3) & -4) \
+ (get_frame_size () == 0 ? 0 : 4)); \
}
diff --git a/gnu/dist/toolchain/gcc/config/mips/vxworks.h b/gnu/dist/toolchain/gcc/config/mips/vxworks.h
index 0856c37343a..54f6490be1c 100644
--- a/gnu/dist/toolchain/gcc/config/mips/vxworks.h
+++ b/gnu/dist/toolchain/gcc/config/mips/vxworks.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999 Free Software Foundation, Inc. */
+/* Copyright (C) 1999, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
diff --git a/gnu/dist/toolchain/gcc/config/rs6000/eabi-ctors.c b/gnu/dist/toolchain/gcc/config/rs6000/eabi-ctors.c
index ebc23ded35c..2ff3c1abc61 100644
--- a/gnu/dist/toolchain/gcc/config/rs6000/eabi-ctors.c
+++ b/gnu/dist/toolchain/gcc/config/rs6000/eabi-ctors.c
@@ -58,14 +58,14 @@ void (*__atexit)(func_ptr);
void
__do_global_ctors (void)
{
- func_ptr *ptr = &__CTOR_LIST__[0];
- func_ptr *end = &__CTOR_END__[0];
+ func_ptr *ptr = &__CTOR_END__[0] - 1;
+ func_ptr *start = &__CTOR_LIST__[0];
if (__atexit)
__atexit (__do_global_dtors);
/* Call the constructors collected in the .ctors section. */
- for ( ; ptr != end; ptr++)
+ for ( ; ptr >= start; ptr--)
if (*ptr)
(*ptr)();
@@ -77,15 +77,15 @@ __do_global_ctors (void)
void
__do_global_dtors (void)
{
- func_ptr *ptr = &__DTOR_END__[0] - 1;
- func_ptr *start = &__DTOR_LIST__[0];
+ func_ptr *ptr = &__DTOR_LIST__[0];
+ func_ptr *end = &__DTOR_END__[0];
/* Call the termination function in the .fini section. */
(*fini_ptr) ();
/* Call the destructors collected in the .dtors section. Run
the destructors in reverse order. */
- for ( ; ptr >= start; ptr--)
+ for ( ; ptr < end; ptr++)
if (*ptr)
(*ptr)();
}
diff --git a/gnu/dist/toolchain/gcc/config/rs6000/rs6000.c b/gnu/dist/toolchain/gcc/config/rs6000/rs6000.c
index 4595866ac0d..d184d5acdb6 100644
--- a/gnu/dist/toolchain/gcc/config/rs6000/rs6000.c
+++ b/gnu/dist/toolchain/gcc/config/rs6000/rs6000.c
@@ -1,5 +1,6 @@
/* Subroutines used for code generation on IBM RS/6000.
- Copyright (C) 1991, 93-8, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+ Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
This file is part of GNU CC.
@@ -623,6 +624,27 @@ reg_or_cint_operand (op, mode)
|| gpc_reg_operand (op, mode));
}
+/* Return 1 is the operand is either a non-special register or ANY
+ 32-bit unsigned constant integer. */
+
+int
+reg_or_u_cint_operand (op, mode)
+ register rtx op;
+ enum machine_mode mode;
+{
+ return (gpc_reg_operand (op, mode)
+ || (GET_CODE (op) == CONST_INT
+#if HOST_BITS_PER_WIDE_INT != 32
+ && INTVAL (op) < ((HOST_WIDE_INT) 1 << 32)
+#endif
+ && INTVAL (op) > 0)
+#if HOST_BITS_PER_WIDE_INT == 32
+ || (GET_CODE (op) == CONST_DOUBLE
+ && CONST_DOUBLE_HIGH (op) == 0)
+#endif
+ );
+}
+
/* Return 1 if the operand is an operand that can be loaded via the GOT */
int
@@ -905,8 +927,41 @@ logical_operand (op, mode)
{
return (gpc_reg_operand (op, mode)
|| (GET_CODE (op) == CONST_INT
- && ((INTVAL (op) & (~ (HOST_WIDE_INT) 0xffff)) == 0
- || (INTVAL (op) & (~ (HOST_WIDE_INT) 0xffff0000)) == 0)));
+#if HOST_BITS_PER_WIDE_INT != 32
+ && INTVAL (op) > 0
+ && INTVAL (op) < ((HOST_WIDE_INT) 1 << 32)
+#endif
+ && ((INTVAL (op) & GET_MODE_MASK (mode)
+ & (~ (HOST_WIDE_INT) 0xffff)) == 0
+ || (INTVAL (op) & GET_MODE_MASK (mode)
+ & (~ (unsigned HOST_WIDE_INT) 0xffff0000u)) == 0)));
+}
+
+/* Return 1 if the operand is a non-special register or a 32-bit constant
+ that can be used as the operand of an OR or XOR insn on the RS/6000. */
+
+int
+logical_u_operand (op, mode)
+ register rtx op;
+ enum machine_mode mode;
+{
+ return (gpc_reg_operand (op, mode)
+ || (GET_CODE (op) == CONST_INT
+ && INTVAL (op) > 0
+#if HOST_BITS_PER_WIDE_INT != 32
+ && INTVAL (op) < ((HOST_WIDE_INT) 1 << 32)
+#endif
+ && ((INTVAL (op) & GET_MODE_MASK (mode)
+ & (~ (HOST_WIDE_INT) 0xffff)) == 0
+ || (INTVAL (op) & GET_MODE_MASK (mode)
+ & (~ (unsigned HOST_WIDE_INT) 0xffff0000u)) == 0))
+#if HOST_BITS_PER_WIDE_INT == 32
+ || (GET_CODE (op) == CONST_DOUBLE
+ && CONST_DOUBLE_HIGH (op) == 0
+ && ((CONST_DOUBLE_LOW (op)
+ & (~ (unsigned HOST_WIDE_INT) 0xffff0000u)) == 0))
+#endif
+ );
}
/* Return 1 if C is a constant that is not a logical operand (as
@@ -918,8 +973,39 @@ non_logical_cint_operand (op, mode)
enum machine_mode mode ATTRIBUTE_UNUSED;
{
return (GET_CODE (op) == CONST_INT
- && (INTVAL (op) & (~ (HOST_WIDE_INT) 0xffff)) != 0
- && (INTVAL (op) & (~ (HOST_WIDE_INT) 0xffff0000)) != 0);
+#if HOST_BITS_PER_WIDE_INT != 32
+ && INTVAL (op) < ((HOST_WIDE_INT) 1 << 32)
+#endif
+ && (INTVAL (op) & GET_MODE_MASK (mode) &
+ (~ (HOST_WIDE_INT) 0xffff)) != 0
+ && (INTVAL (op) & GET_MODE_MASK (mode) &
+ (~ (unsigned HOST_WIDE_INT) 0xffff0000u)) != 0);
+}
+
+/* Return 1 if C is an unsigned 32-bit constant that is not a
+ logical operand (as above). */
+
+int
+non_logical_u_cint_operand (op, mode)
+ register rtx op;
+ enum machine_mode mode ATTRIBUTE_UNUSED;
+{
+ return ((GET_CODE (op) == CONST_INT
+ && INTVAL (op) > 0
+#if HOST_BITS_PER_WIDE_INT != 32
+ && INTVAL (op) < ((HOST_WIDE_INT) 1 << 32)
+#endif
+ && (INTVAL (op) & GET_MODE_MASK (mode)
+ & (~ (HOST_WIDE_INT) 0xffff)) != 0
+ && (INTVAL (op) & GET_MODE_MASK (mode)
+ & (~ (unsigned HOST_WIDE_INT) 0xffff0000u)) != 0)
+#if HOST_BITS_PER_WIDE_INT == 32
+ || (GET_CODE (op) == CONST_DOUBLE
+ && CONST_DOUBLE_HIGH (op) == 0
+ && (CONST_DOUBLE_LOW (op) & (~ (HOST_WIDE_INT) 0xffff)) != 0
+ && (CONST_DOUBLE_LOW (op)
+ & (~ (unsigned HOST_WIDE_INT) 0xffff0000u)) != 0));
+#endif
}
/* Return 1 if C is a constant that can be encoded in a 32-bit mask on the
@@ -1916,13 +2002,19 @@ expand_block_move (operands)
then don't generate more than 8 loads. */
if (TARGET_STRING)
{
- if (bytes > 4*8)
+ if (bytes > 8*4)
return 0;
}
else if (! STRICT_ALIGNMENT)
{
- if (bytes > 4*8)
- return 0;
+ if (TARGET_POWERPC64 && align >= 4)
+ {
+ if (bytes > 8*8)
+ return 0;
+ }
+ else
+ if (bytes > 8*4)
+ return 0;
}
else if (bytes > 8*align)
return 0;
@@ -3315,7 +3407,11 @@ first_reg_to_save ()
/* Find lowest numbered live register. */
for (first_reg = 13; first_reg <= 31; first_reg++)
- if (regs_ever_live[first_reg])
+ if (regs_ever_live[first_reg]
+ && (! call_used_regs[first_reg]
+ || (first_reg == PIC_OFFSET_TABLE_REGNUM
+ && (DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS)
+ && flag_pic == 1)))
break;
if (profile_flag)
diff --git a/gnu/dist/toolchain/gcc/config/rs6000/rs6000.h b/gnu/dist/toolchain/gcc/config/rs6000/rs6000.h
index 489f844efac..4fb7a5bc1ce 100644
--- a/gnu/dist/toolchain/gcc/config/rs6000/rs6000.h
+++ b/gnu/dist/toolchain/gcc/config/rs6000/rs6000.h
@@ -3183,6 +3183,7 @@ do { \
{"reg_or_neg_short_operand", {SUBREG, REG, CONST_INT}}, \
{"reg_or_u_short_operand", {SUBREG, REG, CONST_INT}}, \
{"reg_or_cint_operand", {SUBREG, REG, CONST_INT}}, \
+ {"reg_or_u_cint_operand", {SUBREG, REG, CONST_INT, CONST_DOUBLE}}, \
{"got_operand", {SYMBOL_REF, CONST, LABEL_REF}}, \
{"got_no_const_operand", {SYMBOL_REF, LABEL_REF}}, \
{"easy_fp_constant", {CONST_DOUBLE}}, \
@@ -3196,7 +3197,9 @@ do { \
{"and_operand", {SUBREG, REG, CONST_INT}}, \
{"and64_operand", {SUBREG, REG, CONST_INT, CONST_DOUBLE}}, \
{"logical_operand", {SUBREG, REG, CONST_INT}}, \
+ {"logical_u_operand", {SUBREG, REG, CONST_INT, CONST_DOUBLE}}, \
{"non_logical_cint_operand", {CONST_INT}}, \
+ {"non_logical_u_cint_operand", {CONST_INT, CONST_DOUBLE}}, \
{"mask_operand", {CONST_INT}}, \
{"mask64_operand", {CONST_INT, CONST_DOUBLE}}, \
{"count_register_operand", {REG}}, \
diff --git a/gnu/dist/toolchain/gcc/config/rs6000/rs6000.md b/gnu/dist/toolchain/gcc/config/rs6000/rs6000.md
index 9b3c4306f77..23a9715f9be 100644
--- a/gnu/dist/toolchain/gcc/config/rs6000/rs6000.md
+++ b/gnu/dist/toolchain/gcc/config/rs6000/rs6000.md
@@ -1,5 +1,6 @@
;; Machine description for IBM RISC System 6000 (POWER) for GNU C compiler
-;; Copyright (C) 1990, 91-98, 1999 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+;; 2000, 2001 Free Software Foundation, Inc.
;; Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
;; This file is part of GNU CC.
@@ -27,12 +28,14 @@
(const_string "integer"))
;; Length (in bytes).
+; '(pc)' in the following doesn't include the instruction itself; it is
+; calculated as if the instruction had zero size.
(define_attr "length" ""
(if_then_else (eq_attr "type" "branch")
- (if_then_else (and (ge (minus (pc) (match_dup 0))
+ (if_then_else (and (ge (minus (match_dup 0) (pc))
(const_int -32768))
- (lt (minus (pc) (match_dup 0))
- (const_int 32767)))
+ (lt (minus (match_dup 0) (pc))
+ (const_int 32764)))
(const_int 8)
(const_int 12))
(const_int 4)))
@@ -3042,16 +3045,14 @@
"TARGET_POWER"
"@
sle %0,%1,%2
- {sli|slwi} %0,%1,%h2"
- [(set_attr "length" "8")])
+ {sli|slwi} %0,%1,%h2")
(define_insn "ashlsi3_no_power"
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(ashift:SI (match_operand:SI 1 "gpc_reg_operand" "r")
(match_operand:SI 2 "reg_or_cint_operand" "ri")))]
"! TARGET_POWER"
- "{sl|slw}%I2 %0,%1,%h2"
- [(set_attr "length" "8")])
+ "{sl|slw}%I2 %0,%1,%h2")
(define_insn ""
[(set (match_operand:CC 0 "cc_reg_operand" "=x,x")
@@ -5465,41 +5466,41 @@
(define_insn "*anddi3_internal2"
[(set (match_operand:CC 0 "cc_reg_operand" "=x,x,x,x")
(compare:CC (and:DI (match_operand:DI 1 "gpc_reg_operand" "%r,r,r,r")
- (match_operand:DI 2 "and64_operand" "r,K,J,S"))
+ (match_operand:DI 2 "and64_operand" "r,S,K,J"))
(const_int 0)))
(clobber (match_scratch:DI 3 "=r,r,r,r"))]
"TARGET_POWERPC64"
"@
and. %3,%1,%2
+ rldic%B2. %3,%1,0,%S2
andi. %3,%1,%b2
- andis. %3,%1,%u2
- rldic%B2. %3,%1,0,%S2"
- [(set_attr "type" "compare,compare,compare,delayed_compare")])
+ andis. %3,%1,%u2"
+ [(set_attr "type" "compare,delayed_compare,compare,compare")])
(define_insn "*anddi3_internal3"
[(set (match_operand:CC 3 "cc_reg_operand" "=x,x,x,x")
(compare:CC (and:DI (match_operand:DI 1 "gpc_reg_operand" "%r,r,r,r")
- (match_operand:DI 2 "and64_operand" "r,K,J,S"))
+ (match_operand:DI 2 "and64_operand" "r,S,K,J"))
(const_int 0)))
(set (match_operand:DI 0 "gpc_reg_operand" "=r,r,r,r")
(and:DI (match_dup 1) (match_dup 2)))]
"TARGET_POWERPC64"
"@
and. %0,%1,%2
+ rldic%B2. %0,%1,0,%S2
andi. %0,%1,%b2
- andis. %0,%1,%u2
- rldic%B2. %0,%1,0,%S2"
- [(set_attr "type" "compare,compare,compare,delayed_compare")])
+ andis. %0,%1,%u2"
+ [(set_attr "type" "compare,delayed_compare,compare,compare")])
(define_expand "iordi3"
[(set (match_operand:DI 0 "gpc_reg_operand" "")
(ior:DI (match_operand:DI 1 "gpc_reg_operand" "")
- (match_operand:DI 2 "reg_or_cint_operand" "")))]
+ (match_operand:DI 2 "reg_or_u_cint_operand" "")))]
"TARGET_POWERPC64"
"
{
if (GET_CODE (operands[2]) == CONST_INT
- && ! logical_operand (operands[2], DImode))
+ && ! logical_u_operand (operands[2], DImode))
{
HOST_WIDE_INT value = INTVAL (operands[2]);
rtx tmp = ((no_new_pseudos || rtx_equal_p (operands[0], operands[1]))
@@ -5510,12 +5511,26 @@
emit_insn (gen_iordi3 (operands[0], tmp, GEN_INT (value & 0xffff)));
DONE;
}
+ else if (GET_CODE (operands[2]) == CONST_DOUBLE
+ && ! logical_u_operand (operands[2], DImode))
+ {
+ HOST_WIDE_INT value = CONST_DOUBLE_LOW (operands[2]);
+ rtx tmp = ((no_new_pseudos || rtx_equal_p (operands[0], operands[1]))
+ ? operands[0] : gen_reg_rtx (DImode));
+
+ emit_insn (gen_iordi3 (tmp, operands[1],
+ immed_double_const (value
+ & (~ (HOST_WIDE_INT) 0xffff),
+ 0, DImode)));
+ emit_insn (gen_iordi3 (operands[0], tmp, GEN_INT (value & 0xffff)));
+ DONE;
+ }
}")
(define_insn "*iordi3_internal1"
[(set (match_operand:DI 0 "gpc_reg_operand" "=r,r,r")
(ior:DI (match_operand:DI 1 "gpc_reg_operand" "%r,r,r")
- (match_operand:DI 2 "logical_operand" "r,K,J")))]
+ (match_operand:DI 2 "logical_u_operand" "r,K,JF")))]
"TARGET_POWERPC64"
"@
or %0,%1,%2
@@ -5549,25 +5564,36 @@
(define_split
[(set (match_operand:DI 0 "gpc_reg_operand" "")
(ior:DI (match_operand:DI 1 "gpc_reg_operand" "")
- (match_operand:DI 2 "non_logical_cint_operand" "")))]
+ (match_operand:DI 2 "non_logical_u_cint_operand" "")))]
"TARGET_POWERPC64"
[(set (match_dup 0) (ior:DI (match_dup 1) (match_dup 3)))
(set (match_dup 0) (ior:DI (match_dup 0) (match_dup 4)))]
"
{
- operands[3] = GEN_INT (INTVAL (operands[2]) & (~ (HOST_WIDE_INT) 0xffff));
- operands[4] = GEN_INT (INTVAL (operands[2]) & 0xffff);
+ if (GET_CODE (operands[2]) == CONST_DOUBLE)
+ {
+ HOST_WIDE_INT value = CONST_DOUBLE_LOW (operands[2]);
+ operands[3] = immed_double_const (value & (~ (HOST_WIDE_INT) 0xffff),
+ 0, DImode);
+ operands[4] = GEN_INT (value & 0xffff);
+ }
+ else
+ {
+ operands[3] = GEN_INT (INTVAL (operands[2])
+ & (~ (HOST_WIDE_INT) 0xffff));
+ operands[4] = GEN_INT (INTVAL (operands[2]) & 0xffff);
+ }
}")
(define_expand "xordi3"
[(set (match_operand:DI 0 "gpc_reg_operand" "")
(xor:DI (match_operand:DI 1 "gpc_reg_operand" "")
- (match_operand:DI 2 "reg_or_cint_operand" "")))]
+ (match_operand:DI 2 "reg_or_u_cint_operand" "")))]
"TARGET_POWERPC64"
"
{
if (GET_CODE (operands[2]) == CONST_INT
- && ! logical_operand (operands[2], DImode))
+ && ! logical_u_operand (operands[2], DImode))
{
HOST_WIDE_INT value = INTVAL (operands[2]);
rtx tmp = ((no_new_pseudos || rtx_equal_p (operands[0], operands[1]))
@@ -5578,12 +5604,26 @@
emit_insn (gen_xordi3 (operands[0], tmp, GEN_INT (value & 0xffff)));
DONE;
}
+ else if (GET_CODE (operands[2]) == CONST_DOUBLE
+ && ! logical_u_operand (operands[2], DImode))
+ {
+ HOST_WIDE_INT value = CONST_DOUBLE_LOW (operands[2]);
+ rtx tmp = ((no_new_pseudos || rtx_equal_p (operands[0], operands[1]))
+ ? operands[0] : gen_reg_rtx (DImode));
+
+ emit_insn (gen_xordi3 (tmp, operands[1],
+ immed_double_const (value
+ & (~ (HOST_WIDE_INT) 0xffff),
+ 0, DImode)));
+ emit_insn (gen_xordi3 (operands[0], tmp, GEN_INT (value & 0xffff)));
+ DONE;
+ }
}")
(define_insn "*xordi3_internal1"
[(set (match_operand:DI 0 "gpc_reg_operand" "=r,r,r")
(xor:DI (match_operand:DI 1 "gpc_reg_operand" "%r,r,r")
- (match_operand:DI 2 "logical_operand" "r,K,J")))]
+ (match_operand:DI 2 "logical_u_operand" "r,K,JF")))]
"TARGET_POWERPC64"
"@
xor %0,%1,%2
@@ -5617,14 +5657,25 @@
(define_split
[(set (match_operand:DI 0 "gpc_reg_operand" "")
(xor:DI (match_operand:DI 1 "gpc_reg_operand" "")
- (match_operand:DI 2 "non_logical_cint_operand" "")))]
+ (match_operand:DI 2 "non_logical_u_cint_operand" "")))]
"TARGET_POWERPC64"
[(set (match_dup 0) (xor:DI (match_dup 1) (match_dup 3)))
(set (match_dup 0) (xor:DI (match_dup 0) (match_dup 4)))]
"
{
- operands[3] = GEN_INT (INTVAL (operands[2]) & (~ (HOST_WIDE_INT) 0xffff));
- operands[4] = GEN_INT (INTVAL (operands[2]) & 0xffff);
+ if (GET_CODE (operands[2]) == CONST_DOUBLE)
+ {
+ HOST_WIDE_INT value = CONST_DOUBLE_LOW (operands[2]);
+ operands[3] = immed_double_const (value & (~ (HOST_WIDE_INT) 0xffff),
+ 0, DImode);
+ operands[4] = GEN_INT (value & 0xffff);
+ }
+ else
+ {
+ operands[3] = GEN_INT (INTVAL (operands[2])
+ & (~ (HOST_WIDE_INT) 0xffff));
+ operands[4] = GEN_INT (INTVAL (operands[2]) & 0xffff);
+ }
}")
(define_insn "*eqvdi3_internal1"
@@ -6620,13 +6671,14 @@
(set (match_dup 3) (match_dup 1))]
"
{
+ HOST_WIDE_INT value = INTVAL (operands[1]);
operands[2] = gen_rtx_SUBREG (SImode, operands[0], WORDS_BIG_ENDIAN == 0);
operands[3] = gen_rtx_SUBREG (SImode, operands[0], WORDS_BIG_ENDIAN != 0);
#if HOST_BITS_PER_WIDE_INT == 32
- operands[4] = (INTVAL (operands[1]) & 0x80000000) ? constm1_rtx : const0_rtx;
+ operands[4] = (value & 0x80000000) ? constm1_rtx : const0_rtx;
#else
- operands[4] = GEN_INT ((HOST_WIDE_INT) INTVAL (operands[1]) >> 32);
- operands[1] = GEN_INT (INTVAL (operands[1]) & 0xffffffff);
+ operands[4] = GEN_INT (value >> 32);
+ operands[1] = GEN_INT ((value & 0x7fffffff) - (value & 0x80000000));
#endif
}")
@@ -6725,9 +6777,12 @@
[(set (match_dup 0)
(match_dup 2))
(set (match_dup 0)
- (zero_extend:DI (subreg:SI (match_dup 0) 0)))]
+ (zero_extend:DI (match_dup 3)))]
"
-{ operands[2] = GEN_INT (CONST_DOUBLE_LOW (operands[1])); }")
+{
+ operands[2] = GEN_INT (CONST_DOUBLE_LOW (operands[1]));
+ operands[3] = gen_lowpart_common (SImode, operands[0]);
+}")
(define_split
[(set (match_operand:DI 0 "gpc_reg_operand" "")
@@ -6763,7 +6818,8 @@
(define_split
[(set (match_operand:DI 0 "gpc_reg_operand" "")
(match_operand:DI 1 "const_double_operand" ""))]
- "TARGET_POWERPC64 && num_insns_constant (operands[1], DImode) > 1"
+ "HOST_BITS_PER_WIDE_INT == 32 && TARGET_POWERPC64
+ && num_insns_constant (operands[1], DImode) > 1"
[(set (match_dup 0)
(match_dup 2))
(set (match_dup 0)
@@ -6774,29 +6830,40 @@
(match_dup 3)))]
"
{
- HOST_WIDE_INT low;
- HOST_WIDE_INT high;
-
if (GET_CODE (operands[1]) == CONST_DOUBLE)
{
- low = CONST_DOUBLE_LOW (operands[1]);
- high = CONST_DOUBLE_HIGH (operands[1]);
+ operands[2] = GEN_INT (CONST_DOUBLE_HIGH (operands[1]));
+ operands[3] = immed_double_const (CONST_DOUBLE_LOW (operands[1]),
+ 0, DImode);
}
else
-#if HOST_BITS_PER_WIDE_INT == 32
{
- low = INTVAL (operands[1]);
- high = (low < 0) ? ~0 : 0;
+ HOST_WIDE_INT value = INTVAL (operands[1]);
+ operands[2] = (value & 0x80000000) ? constm1_rtx : const0_rtx;
+ operands[3] = immed_double_const (value, 0, DImode);
}
-#else
- {
- low = INTVAL (operands[1]) & 0xffffffff;
- high = (HOST_WIDE_INT) INTVAL (operands[1]) >> 32;
- }
-#endif
+}")
- operands[2] = GEN_INT (high);
- operands[3] = GEN_INT (low);
+(define_split
+ [(set (match_operand:DI 0 "gpc_reg_operand" "")
+ (match_operand:DI 1 "const_int_operand" ""))]
+ "HOST_BITS_PER_WIDE_INT != 32 && TARGET_POWERPC64
+ && num_insns_constant (operands[1], DImode) > 1"
+ [(set (match_dup 0)
+ (match_dup 2))
+ (set (match_dup 0)
+ (ashift:DI (match_dup 0)
+ (const_int 32)))
+ (set (match_dup 0)
+ (ior:DI (match_dup 0)
+ (match_dup 3)))]
+ "
+{
+#if HOST_BITS_PER_WIDE_INT != 32
+ HOST_WIDE_INT value = INTVAL (operands[1]);
+ operands[2] = GEN_INT (value >> 32);
+ operands[3] = GEN_INT ((value & 0x7fffffff) - (value & 0x80000000));
+#endif
}")
(define_insn ""
@@ -7804,7 +7871,8 @@
rs6000_output_load_toc_table (asm_out_file, 30);
return \"\";
}"
- [(set_attr "type" "load")])
+ [(set_attr "type" "load")
+ (set_attr "length" "24")])
;; A function pointer under AIX is a pointer to a data area whose first word
;; contains the actual address of the function, whose second word contains a
@@ -8784,7 +8852,7 @@
(define_insn ""
[(set (match_operand:CCUNS 0 "cc_reg_operand" "=y")
(compare:CCUNS (match_operand:SI 1 "gpc_reg_operand" "r")
- (match_operand:SI 2 "reg_or_u_short_operand" "rI")))]
+ (match_operand:SI 2 "reg_or_u_short_operand" "rK")))]
""
"{cmpl%I2|cmplw%I2} %0,%1,%W2"
[(set_attr "type" "compare")])
@@ -8792,7 +8860,7 @@
(define_insn ""
[(set (match_operand:CCUNS 0 "cc_reg_operand" "=y")
(compare:CCUNS (match_operand:DI 1 "gpc_reg_operand" "r")
- (match_operand:DI 2 "reg_or_u_short_operand" "rI")))]
+ (match_operand:DI 2 "reg_or_u_short_operand" "rK")))]
""
"cmpld%I2 %0,%1,%W2"
[(set_attr "type" "compare")])
@@ -9161,7 +9229,7 @@
(lshiftrt:SI (neg:SI (abs:SI (match_operand:SI 1 "gpc_reg_operand" "r")))
(const_int 31)))
(clobber (match_scratch:SI 2 "=&r"))]
- "! TARGET_POWER"
+ "! TARGET_POWER && ! TARGET_POWERPC64"
"{ai|addic} %2,%1,-1\;{sfe|subfe} %0,%2,%1"
[(set_attr "length" "8")])
diff --git a/gnu/dist/toolchain/gcc/config/rs6000/sysv4.h b/gnu/dist/toolchain/gcc/config/rs6000/sysv4.h
index fac1645c0f4..3d09bdeead7 100644
--- a/gnu/dist/toolchain/gcc/config/rs6000/sysv4.h
+++ b/gnu/dist/toolchain/gcc/config/rs6000/sysv4.h
@@ -1,5 +1,5 @@
/* Target definitions for GNU compiler for PowerPC running System V.4
- Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
Contributed by Cygnus Support.
This file is part of GNU CC.
@@ -1338,12 +1338,18 @@ do { \
#ifndef CPP_OS_LINUX_SPEC
#ifdef USE_GNULIBC_1
-#define CPP_OS_LINUX_SPEC "-D__unix__ -D__linux__ \
-%{!undef:%{!ansi:%{!std=*:-Dunix -Dlinux}%{std=gnu*:-Dunix -Dlinux}}} \
+#define CPP_OS_LINUX_SPEC "-D__unix__ -D__linux__ \
+%{!undef: \
+ %{!ansi: \
+ %{!std=*:-Dunix -D__unix -Dlinux -D__linux} \
+ %{std=gnu*:-Dunix -D__unix -Dlinux -D__linux}}} \
-Asystem(unix) -Asystem(posix)"
#else
-#define CPP_OS_LINUX_SPEC "-D__unix__ -D__linux__ \
-%{!undef:%{!ansi:%{!std=*:-Dunix -Dlinux}%{std=gnu*:-Dunix -Dlinux}}} \
+#define CPP_OS_LINUX_SPEC "-D__unix__ -D__linux__ \
+%{!undef: \
+ %{!ansi: \
+ %{!std=*:-Dunix -D__unix -Dlinux -D__linux} \
+ %{std=gnu*:-Dunix -D__unix -Dlinux -D__linux}}} \
-Asystem(unix) -Asystem(posix) %{pthread:-D_REENTRANT}"
#endif
#endif
diff --git a/gnu/dist/toolchain/gcc/config/v850/v850.c b/gnu/dist/toolchain/gcc/config/v850/v850.c
index 15867ac4892..dc984cf4c67 100644
--- a/gnu/dist/toolchain/gcc/config/v850/v850.c
+++ b/gnu/dist/toolchain/gcc/config/v850/v850.c
@@ -1,5 +1,5 @@
/* Subroutines for insn-output.c for NEC V850 series
- Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
Contributed by Jeff Law (law@cygnus.com).
This file is part of GNU CC.
@@ -1864,10 +1864,8 @@ Saved %d bytes via epilogue function (%d vs. %d) in function %s\n",
else
init_stack_free = actual_fsize;
- /* Deallocate the rest of the stack if it is > 32K or if extra stack
- was allocated for an interrupt handler that makes a call. */
- if (actual_fsize > init_stack_free
- || (interrupt_handler && actual_fsize))
+ /* Deallocate the rest of the stack if it is > 32K. */
+ if (actual_fsize > init_stack_free)
{
int diff;
diff --git a/gnu/dist/toolchain/gcc/cp/ChangeLog b/gnu/dist/toolchain/gcc/cp/ChangeLog
index efa30edcad2..be101bac195 100644
--- a/gnu/dist/toolchain/gcc/cp/ChangeLog
+++ b/gnu/dist/toolchain/gcc/cp/ChangeLog
@@ -1,3 +1,146 @@
+Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
+
+ * gcc-2.95.3 Released.
+
+Fri Jun 9 17:55:08 2000 Jeffrey A Law (law@cygnus.com)
+
+ 2000-02-07 <loewis@informatik.hu-berlin.de>
+ * decl2.c (import_export_decl): vlist ctor wrappers follow virtual
+ methods in their interface.
+ (vlist_ctor_wrapper_p): new function.
+ (finish_vlist_ctor_wrapper): likewise.
+
+ 2000-02-06 <loewis@informatik.hu-berlin.de>
+ * decl2.c (maybe_retrofit_in_chrg): Move call to
+ make_vlist_ctor_wrapper from here ...
+ * decl.c (grok_ctor_properties): ... to here.
+ * decl.c (grokfndecl): ... and here.
+ * init.c (no_vlist_base_init): Declare unseen Vlist ctor weak.
+ * decl2.c (maybe_retrofit_in_chrg): Be sorry about varargs ctors.
+
+2000-03-08 Nathan Sidwell <nathan@codesourcery.com>
+
+ * exception.cc (__cp_pop_exception): Cleanup the original object.
+
+1999-11-13 Jason Merrill <jason@yorick.cygnus.com>
+
+ * rtti.c (get_tinfo_fn_unused): Split out from get_tinfo_fn.
+ * class.c (set_rtti_entry): Use it.
+
+Wed Apr 12 00:45:49 2000 Jeffrey A Law (law@cygnus.com)
+
+ 2000-02-03 <loewis@informatik.hu-berlin.de>
+ * call.c (add_function_candidate): Do not add vlist ctor into
+ candidates in compatibility mode.
+ (build_user_type_conversion_1): Add LOOKUP_HAS_VLIST when adding
+ vlist.
+ (convert_like): Likewise.
+ (build_over_call): Skip vlist only if it is mentioned in flags.
+ (build_new_method_call): Do not add vlist in compatibility mode,
+ except for dtors.
+ * cp-tree.h (flag_vtable_thunks): Has now four possible values.
+ (DECL_VLIST_CTOR_WRAPPER_P, DECL_VLIST_CTOR_WRAPPED): New macros.
+ (in_charge_identifier): Declare external.
+ * decl.c (xref_basetypes): Check for vtable_thunks >=2.
+ (finish_dtor): Use bit 2 of in_chrg.
+ (finish_function): Do not finish vlist ctor wrappers.
+ * decl2.c (flag_vtable_thunks_compat): New variable.
+ (lang_decode_option): Set it accordingly.
+ (maybe_retrofit_in_chrg): Call make_vlist_ctor_wrapper.
+ * init.c (build_base_dtor_call): Pass 4 in in_chrg.
+ (no_vlist_base_init): New function.
+ (expand_default_init): Do not pass vlist in compatibility mode.
+ Try to call old base ctor if new one was not generated.
+ (build_new_1): Do not pass vlist in compatibility mode.
+ * method.c (get_id_2): Do not put _Vlist into dtor name in
+ compatibility mode.
+ (make_vlist_ctor_wrapper, emit_vlist_ctor_wrapper): New functions.
+ (synthesize_method): Call emit_vlist_ctor_wrapper.
+ * pt.c (instantiate_class_template): Check for vtable_thunks >=2.
+
+ Sat Nov 13 15:48:59 1999 H.J. Lu <hjl@gnu.org>
+ * init.c (finish_dtor): Call mark_all_temps_used () before
+ declaring vlist.
+
+ Tue Nov 9 15:01:57 1999 H.J. Lu <hjl@gnu.org>
+ * init.c (construct_virtual_bases): Update.
+ (expand_cleanup_for_base): Update.
+
+ Tue Nov 9 08:25:04 1999 H.J. Lu <hjl@gnu.org>
+ * init.c (construct_virtual_bases): Update.
+ (expand_cleanup_for_base): Take vlist parameter.
+ (emit_base_init): Pass vlist to expand_cleanup_for_base.
+ (construct_virtual_bases): Likewise.
+
+ 1999-05-02 Martin von Löwis <loewis@informatik.hu-berlin.de>
+ * class.c (prepare_ctor_vtable, finish_one_ctor_vtable,
+ prepend_ctor_vfields_for_vbase, finish_ctor_vtables_for_vbases,
+ finish_ctor_vtables_1, prepend_vbase_vfields,
+ finish_ctor_vtables): New functions.
+ (finish_struct_1): Call finish_ctor_vtables.
+ * cp-tree.h (TYPE_USES_PVBASES): New macro.
+ (constructor_for_vbase_attr): Widen to two bits.
+ (CONSTRUCTOR_FOR_VBASE, CONSTRUCTOR_FOR_PVBASE,
+ DESTRUCTOR_FOR_PVBASE): New macros.
+ (DECL_CONSTRUCTOR_FOR_VBASE_P): Adopt to new enumeration.
+ (DECL_CONSTRUCTOR_FOR_VBASE): New macro.
+ (DECL_CONSTRUCTOR_FOR_PVBASE_P, DECL_DESTRUCTOR_FOR_PVBASE_P): New
+ macros.
+ (vlist_identifier, vlist_type_node, vlist_zero_node): Declare.
+ (VCTABLE_NAME, VLIST_NAME_FORMAT, VLIST_NAME, VLIST1_NAME,
+ VLIST_TYPE_NAME): New macros.
+ (LOOKUP_HAS_VLIST): New macro.
+ (build_base_dtor_call, init_vlist): Declare.
+ (build_destructor_name): Add int argument.
+ * decl.c (vlist_identifier, vlist_type_node, vlist_zero_node):
+ Define.
+ (init_decl_processing): Initialize them.
+ (grokdeclarator): Handle vlist argument.
+ (copy_args_p): Likewise.
+ (grok_ctor_properties): Don't try to skip initial int for
+ templates. Skip vlist if available.
+ (xref_basetypes): Set TYPE_USES_PVBASES.
+ (finish_dtor, finish_ctor): New functions, moved out of ...
+ (finish_function): ... here.
+ * decl2.c (lang_decode_option): Set flag_vtable_thunks explicitly.
+ (maybe_retrofit_in_chrg): Retrofit __vlist parameter.
+ (grokclassfn): Pass pvbase flag into mangled name.
+ * init.c (build_base_dtor_call): New function.
+ (build_partial_cleanup_for): Call it.
+ (pvbasecount, init_vlist, ): New functions.
+ (emit_base_init): Process vlist argument.
+ (expand_aggr_vbase_init_1): Likewise.
+ (expand_aggr_vbase_init): Likewise.
+ (expand_default_init): Likewise.
+ (build_new_1): Pass null vlist argument.
+ (build_delete): Likewise. Call build_base_dtor_call.
+ * method.c (process_overload_item): Mangle _Vlist specially.
+ (build_base_path, get_vlist_vtable_id): New functions.
+ (build_destructor_name): Potentially mangle _Vlist into it.
+ (do_build_copy_constructor): Skip vlist argument.
+ (synthesize_method): Likewise.
+ * pt.c (has_pvbases_p): New function.
+ (instantiate_class_template): Call it.
+ (tsubst_decl): Retrofit before mangling. Pass pvbase_p to
+ destructor mangling.
+ * search.c (expand_direct_vtbls_init_thunks): New function.
+ (expand_indirect_vtbls_init_thunks): New function.
+ (expand_indirect_vtbls_init): Call it.
+ * call.c (add_function_candidate): Process vlist argument.
+ (build_user_type_conversion_1): Add vlist argument.
+ (convert_like): Likewise.
+ (build_over_call): Likewise.
+ (build_new_method_call): Likewise.
+
+2000-02-18 Martin von Loewis <loewis@informatik.hu-berlin.de>
+
+ * typeck2.c (my_friendly_abort): Use GCCBUGURL.
+
+1999-11-01 Jason Merrill <jason@yorick.cygnus.com>
+
+ * decl2.c (maybe_make_one_only): Always make things comdat on
+ ELF targets, too.
+
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
* gcc-2.95.2 Released.
diff --git a/gnu/dist/toolchain/gcc/cp/call.c b/gnu/dist/toolchain/gcc/cp/call.c
index 094a345c6e9..a931500d2d8 100644
--- a/gnu/dist/toolchain/gcc/cp/call.c
+++ b/gnu/dist/toolchain/gcc/cp/call.c
@@ -1065,8 +1065,8 @@ add_function_candidate (candidates, fn, arglist, flags)
tree parmnode, argnode;
int viable = 1;
- /* The `this' and `in_chrg' arguments to constructors are not considered
- in overload resolution. */
+ /* The `this', `in_chrg', and `vlist' arguments to constructors are
+ not considered in overload resolution. */
if (DECL_CONSTRUCTOR_P (fn))
{
parmlist = TREE_CHAIN (parmlist);
@@ -1076,6 +1076,22 @@ add_function_candidate (candidates, fn, arglist, flags)
parmlist = TREE_CHAIN (parmlist);
arglist = TREE_CHAIN (arglist);
}
+ if ((flags & LOOKUP_HAS_VLIST)
+ && DECL_CONSTRUCTOR_FOR_PVBASE_P (fn))
+ {
+ parmlist = TREE_CHAIN (parmlist);
+ arglist = TREE_CHAIN (arglist);
+ }
+ else if (!(flags & LOOKUP_HAS_VLIST)
+ && !DECL_CONSTRUCTOR_FOR_PVBASE_P (fn))
+ /* Ok */;
+ else
+ {
+ /* The ctor expects a vlist and the arguments don't have
+ one, or vice versa, so fn is not even a candidate, since
+ the corresponding ctor would be the candidate. */
+ return candidates;
+ }
}
len = list_length (arglist);
@@ -2071,6 +2087,11 @@ build_user_type_conversion_1 (totype, expr, flags)
tree t = build_int_2 (0, 0);
TREE_TYPE (t) = build_pointer_type (totype);
args = build_scratch_list (NULL_TREE, expr);
+ if (TYPE_USES_PVBASES (totype) && !flag_vtable_thunks_compat)
+ {
+ args = scratch_tree_cons (NULL_TREE, vlist_zero_node, args);
+ flags |= LOOKUP_HAS_VLIST;
+ }
if (TYPE_USES_VIRTUAL_BASECLASSES (totype))
args = scratch_tree_cons (NULL_TREE, integer_one_node, args);
args = scratch_tree_cons (NULL_TREE, t, args);
@@ -3038,6 +3059,7 @@ convert_like (convs, expr)
= WRAPPER_PTR (TREE_OPERAND (convs, 1));
tree fn = cand->fn;
tree args;
+ int flags = LOOKUP_NORMAL;
if (DECL_CONSTRUCTOR_P (fn))
{
@@ -3045,13 +3067,19 @@ convert_like (convs, expr)
TREE_TYPE (t) = build_pointer_type (DECL_CONTEXT (fn));
args = build_scratch_list (NULL_TREE, expr);
+ if (TYPE_USES_PVBASES (DECL_CONTEXT (fn))
+ && !flag_vtable_thunks_compat)
+ {
+ args = scratch_tree_cons (NULL_TREE, vlist_zero_node, args);
+ flags != LOOKUP_HAS_VLIST;
+ }
if (TYPE_USES_VIRTUAL_BASECLASSES (DECL_CONTEXT (fn)))
args = scratch_tree_cons (NULL_TREE, integer_one_node, args);
args = scratch_tree_cons (NULL_TREE, t, args);
}
else
args = build_this (expr);
- expr = build_over_call (cand, args, LOOKUP_NORMAL);
+ expr = build_over_call (cand, args, flags);
/* If this is a constructor or a function returning an aggr type,
we need to build up a TARGET_EXPR. */
@@ -3260,6 +3288,13 @@ build_over_call (cand, args, flags)
arg = TREE_CHAIN (arg);
parm = TREE_CHAIN (parm);
}
+ if (flags & LOOKUP_HAS_VLIST)
+ {
+ converted_args = expr_tree_cons
+ (NULL_TREE, TREE_VALUE (arg), converted_args);
+ arg = TREE_CHAIN (arg);
+ parm = TREE_CHAIN (parm);
+ }
}
/* Bypass access control for 'this' parameter. */
else if (TREE_CODE (TREE_TYPE (fn)) == METHOD_TYPE)
@@ -3369,6 +3404,8 @@ build_over_call (cand, args, flags)
arg = TREE_CHAIN (converted_args);
if (TYPE_USES_VIRTUAL_BASECLASSES (DECL_CONTEXT (fn)))
arg = TREE_CHAIN (arg);
+ if (flags & LOOKUP_HAS_VLIST)
+ arg = TREE_CHAIN (arg);
arg = TREE_VALUE (arg);
/* Pull out the real argument, disregarding const-correctness. */
@@ -3544,6 +3581,8 @@ build_new_method_call (instance, name, args, basetype_path, flags)
remove it for error reporting. */
if (flags & LOOKUP_HAS_IN_CHARGE)
user_args = TREE_CHAIN (args);
+ if (flags & LOOKUP_HAS_VLIST)
+ user_args = TREE_CHAIN (user_args);
args = resolve_args (args);
@@ -3616,6 +3655,12 @@ build_new_method_call (instance, name, args, basetype_path, flags)
if (name == ctor_identifier && TYPE_USES_VIRTUAL_BASECLASSES (basetype)
&& ! (flags & LOOKUP_HAS_IN_CHARGE))
{
+ if (TYPE_USES_PVBASES(basetype)
+ && (!flag_vtable_thunks_compat || (name == dtor_identifier)))
+ {
+ args = scratch_tree_cons (NULL_TREE, vlist_zero_node, args);
+ flags |= LOOKUP_HAS_VLIST;
+ }
flags |= LOOKUP_HAS_IN_CHARGE;
args = scratch_tree_cons (NULL_TREE, integer_one_node, args);
}
diff --git a/gnu/dist/toolchain/gcc/cp/class.c b/gnu/dist/toolchain/gcc/cp/class.c
index 400c67de41a..74808c56f35 100644
--- a/gnu/dist/toolchain/gcc/cp/class.c
+++ b/gnu/dist/toolchain/gcc/cp/class.c
@@ -102,8 +102,15 @@ static tree get_basefndecls PROTO((tree, tree));
static void set_rtti_entry PROTO((tree, tree, tree));
static tree build_vtable PROTO((tree, tree));
static void prepare_fresh_vtable PROTO((tree, tree));
+static tree prepare_ctor_vtable PROTO((tree, tree, tree));
static void fixup_vtable_deltas1 PROTO((tree, tree));
static void fixup_vtable_deltas PROTO((tree, int, tree));
+static tree finish_one_ctor_vtable PROTO((tree, tree, tree, tree));
+static tree prepend_ctor_vfields_for_vbase PROTO((tree, tree, tree, tree, int, tree));
+static tree finish_ctor_vtables_for_vbases PROTO((tree, tree, tree));
+static tree finish_ctor_vtables_1 PROTO((tree, tree));
+static tree prepend_vbase_vfields PROTO((tree, int, tree));
+static void finish_ctor_vtables PROTO((tree));
static void finish_vtbls PROTO((tree, int, tree));
static void modify_vtable_entry PROTO((tree, tree, tree));
static tree get_vtable_entry_n PROTO((tree, unsigned HOST_WIDE_INT));
@@ -673,7 +680,7 @@ set_rtti_entry (virtuals, offset, type)
return;
if (flag_rtti)
- vfn = build1 (ADDR_EXPR, vfunc_ptr_type_node, get_tinfo_fn (type));
+ vfn = build1 (ADDR_EXPR, vfunc_ptr_type_node, get_tinfo_fn_unused (type));
else
vfn = build1 (NOP_EXPR, vfunc_ptr_type_node, size_zero_node);
TREE_CONSTANT (vfn) = 1;
@@ -922,6 +929,43 @@ prepare_fresh_vtable (binfo, for_type)
SET_BINFO_NEW_VTABLE_MARKED (binfo);
}
+/* Return a new vtable for use in initialization of the BASE subobject
+ of COMPLETE_TYPE. The vtable there goes into the vfield of the
+ VBASEBASE virtual subobject. */
+
+static tree
+prepare_ctor_vtable (complete_type, base, vbasebase)
+ tree complete_type, base, vbasebase;
+{
+ tree orig_decl = BINFO_VTABLE (vbasebase);
+ tree name = get_vlist_vtable_id (base, vbasebase);
+ tree new_decl;
+
+ new_decl = build_lang_decl (VAR_DECL, name, TREE_TYPE (orig_decl));
+ /* Remember which class this vtable is really for. */
+ DECL_CONTEXT (new_decl) = complete_type;
+
+ DECL_ARTIFICIAL (new_decl) = 1;
+ TREE_STATIC (new_decl) = 1;
+ new_decl = pushdecl_top_level (new_decl);
+ DECL_VIRTUAL_P (new_decl) = 1;
+#ifndef WRITABLE_VTABLES
+ /* Make them READONLY by default. (mrs) */
+ TREE_READONLY (new_decl) = 1;
+#endif
+ DECL_ALIGN (new_decl) = DECL_ALIGN (orig_decl);
+
+#ifdef GATHER_STATISTICS
+ n_vtables += 1;
+ n_vtable_elems += list_length (BINFO_VIRTUALS (binfo));
+#endif
+
+ /* Set TREE_PUBLIC and TREE_EXTERN as appropriate. */
+ import_export_vtable (new_decl, complete_type, 0);
+
+ return new_decl;
+}
+
#if 0
/* Access the virtual function table entry that logically
contains BASE_FNDECL. VIRTUALS is the virtual function table's
@@ -1798,6 +1842,7 @@ finish_struct_bits (t, max_has_virtual)
TYPE_USES_COMPLEX_INHERITANCE (variants) = TYPE_USES_COMPLEX_INHERITANCE (t);
TYPE_VIRTUAL_P (variants) = TYPE_VIRTUAL_P (t);
TYPE_USES_VIRTUAL_BASECLASSES (variants) = TYPE_USES_VIRTUAL_BASECLASSES (t);
+ TYPE_USES_PVBASES (variants) = TYPE_USES_PVBASES (t);
/* Copy whatever these are holding today. */
TYPE_MIN_VALUE (variants) = TYPE_MIN_VALUE (t);
TYPE_MAX_VALUE (variants) = TYPE_MAX_VALUE (t);
@@ -2933,6 +2978,309 @@ warn_hidden (t)
}
}
+/* Generate one vtable for use in constructors or destructors of BASE
+ subobjects of COMPLETE_TYPE objects. The vtable belongs to the
+ vfield of the VBASEVASE subobject of the VBASE virtual base of
+ COMPLETE_TYPE (and BASE). */
+
+static tree
+finish_one_ctor_vtable (complete_type, base, vbase, vbasebase)
+ tree complete_type, base, vbase, vbasebase;
+{
+ tree virtuals;
+ tree newtable;
+ tree newvirtuals;
+ tree offset;
+ tree newvbase = binfo_member (BINFO_TYPE (vbase),
+ CLASSTYPE_VBASECLASSES (complete_type));
+
+ newtable = prepare_ctor_vtable (complete_type, base, vbasebase);
+ newvirtuals = copy_list (BINFO_VIRTUALS (vbasebase));
+
+ virtuals = newvirtuals;
+ /* Change the offset entry. First, delta between base an vbase. */
+ offset = ssize_binop (MINUS_EXPR, BINFO_OFFSET (newvbase),
+ BINFO_OFFSET (base));
+ /* Add delta between vbase and vbasebase. */
+ offset = ssize_binop (PLUS_EXPR, offset, BINFO_OFFSET (vbasebase));
+ offset = ssize_binop (MINUS_EXPR, offset, BINFO_OFFSET (vbase));
+ /* Finally, negate. */
+ offset = ssize_binop (MINUS_EXPR, integer_zero_node, offset);
+ offset = build1 (NOP_EXPR, vfunc_ptr_type_node, offset);
+ TREE_CONSTANT (offset) = 1;
+ TREE_VALUE (virtuals) = build_vtable_entry (integer_zero_node, offset);
+ virtuals = TREE_CHAIN (virtuals);
+
+ /* Skip the typeinfo function. */
+ virtuals = TREE_CHAIN (virtuals);
+
+ /* Iterate over all methods of this virtual base. */
+ for (; virtuals; virtuals = TREE_CHAIN (virtuals))
+ {
+ tree fndecl = TREE_VALUE (virtuals);
+ tree pfn = FNADDR_FROM_VTABLE_ENTRY (fndecl);
+ fndecl = TREE_OPERAND (pfn, 0);
+ if (fndecl)
+ {
+ tree delta, newdelta, binfo_context;
+ tree context = DECL_CLASS_CONTEXT (fndecl);
+
+ /* If this method is implemented in a base of the vbase, the
+ thunk we have is correct. */
+ if (DERIVED_FROM_P (context, vbase))
+ continue;
+
+ binfo_context = binfo_value (context, base);
+ if (TREE_VIA_VIRTUAL (binfo_context))
+ binfo_context = binfo_member
+ (context, CLASSTYPE_VBASECLASSES (complete_type));
+ /* This is the delta from a complete C to a B subobject, or
+ more generally to the base subobject that implements the
+ virtual function for B. BASE already has the offset to
+ the complete type. */
+ delta = BINFO_OFFSET (binfo_context);
+ /* This is the delta from the A to the complete C. */
+ newdelta = BINFO_OFFSET (newvbase);
+ /* This is the delta from the A to the B subobject. */
+ newdelta = size_binop (MINUS_EXPR, newdelta, delta);
+ newdelta = ssize_binop (MINUS_EXPR, integer_zero_node,
+ newdelta);
+
+ modify_vtable_entry (virtuals,
+ build_vtable_entry (newdelta, pfn),
+ fndecl);
+ }
+ }
+ DECL_INITIAL (newtable) = build_nt (CONSTRUCTOR, NULL_TREE,
+ newvirtuals);
+ DECL_CONTEXT (newtable) = NULL_TREE;
+ cp_finish_decl (newtable, DECL_INITIAL (newtable), NULL_TREE, 0, 0);
+ DECL_CONTEXT (newtable) = complete_type;
+ return newtable;
+}
+
+/* Add all vtables into LIST for the VBASEBASE subobject and its bases
+ of VBASE virtual BASE of COMPLETE_TYPE for use in BASE
+ constructors. DO_SELF indicates whether this is the VBASEBASE that
+ has 'primary' vfield. Return the new LIST. */
+
+static tree
+prepend_ctor_vfields_for_vbase (complete_type, base, vbase, vbasebase,
+ do_self, list)
+ tree complete_type, base, vbase, vbasebase;
+ int do_self;
+ tree list;
+{
+ int i;
+ tree vtbl;
+ tree bases = BINFO_BASETYPES (vbasebase);
+ int vfp = CLASSTYPE_VFIELD_PARENT (BINFO_TYPE (vbasebase));
+
+ if (do_self && CLASSTYPE_VFIELDS (BINFO_TYPE (vbasebase)))
+ {
+ vtbl = finish_one_ctor_vtable (complete_type, base, vbase, vbasebase);
+ vtbl = build1 (ADDR_EXPR, vtbl_ptr_type_node, vtbl);
+ TREE_READONLY (vtbl) = 1;
+ TREE_CONSTANT (vtbl) = 1;
+ list = tree_cons (NULL_TREE, vtbl, list);
+ }
+
+ if (!bases)
+ return list;
+
+ for (i = 0; i < TREE_VEC_LENGTH (bases); i++)
+ {
+ tree vbasebase = TREE_VEC_ELT (bases, i);
+ if (TREE_VIA_VIRTUAL (vbasebase))
+ continue;
+ list = prepend_ctor_vfields_for_vbase
+ (complete_type, base, vbase, vbasebase, (i != vfp), list);
+ }
+
+ return list;
+}
+
+/* Iterate over all virtual bases of the BASE subobject of
+ COMPLETE_TYPE. This list is given in VBASES. Return the list of
+ vtables generated in the process. */
+
+static tree
+finish_ctor_vtables_for_vbases (vbases, base, complete_type)
+ tree vbases, base, complete_type;
+{
+ tree result = NULL_TREE;
+
+ for (; vbases; vbases = TREE_CHAIN (vbases))
+ result = prepend_ctor_vfields_for_vbase
+ (complete_type, base, vbases, vbases, 1, result);
+ return result;
+}
+
+/* Generate special vtables for virtual bases for use inside base
+ class ctors and dtors. Inside this function, we assume the
+ following scenario:
+ class A{virtual void foo();};
+ class B:virtual A{int member1;}
+ class C:B{int member2;}
+
+ BINFO is a base subject (e.g. B) of COMPLETE_TYPE. Returns the list
+ of virtual tables. */
+
+static tree
+finish_ctor_vtables_1 (binfo, complete_type)
+ tree binfo;
+ tree complete_type;
+{
+ int i;
+ tree binfos;
+ tree result = NULL_TREE;
+
+ binfos = BINFO_BASETYPES (binfo);
+ if (!binfos)
+ return result;
+
+ /* Iterate over all bases (i.e. B). */
+ for (i = 0; i < TREE_VEC_LENGTH (binfos); i++)
+ {
+ tree base = TREE_VEC_ELT (binfos, i);
+ tree vbases = CLASSTYPE_VBASECLASSES (BINFO_TYPE (base));
+ if (!vbases)
+ /* This base class does not have virtual bases. */
+ continue;
+ if (TREE_VIA_VIRTUAL (base))
+ /* A virtual base class is initialized on in the most-derived
+ constructor. */
+ continue;
+ if (!TYPE_USES_PVBASES (BINFO_TYPE (base)))
+ /* Class has no polymorphic vbases. */
+ continue;
+ /* Prepend vtable list for base class. */
+ result = chainon (finish_ctor_vtables_1 (base, complete_type),
+ result);
+ /* Prepend our own vtable list. */
+ result = chainon
+ (finish_ctor_vtables_for_vbases (vbases, base, complete_type),
+ result);
+ }
+ return result;
+}
+
+/* Add the vtables of a virtual base BINFO in front of LIST, returning
+ the new list. DO_SELF indicates whether we have to return the
+ vtable of a vfield borrowed in a derived class. */
+
+static tree
+prepend_vbase_vfields (binfo, do_self, list)
+ tree binfo;
+ int do_self;
+ tree list;
+{
+ int i;
+ tree vtbl;
+ tree bases = BINFO_BASETYPES (binfo);
+ int vfp = CLASSTYPE_VFIELD_PARENT (BINFO_TYPE (binfo));
+
+ if (do_self && CLASSTYPE_VFIELDS (BINFO_TYPE (binfo)))
+ {
+ vtbl = BINFO_VTABLE (binfo);
+ vtbl = build1 (ADDR_EXPR, vtbl_ptr_type_node, vtbl);
+ TREE_READONLY (vtbl) = 1;
+ TREE_CONSTANT (vtbl) = 1;
+ list = tree_cons (NULL_TREE, vtbl, list);
+ }
+
+ if (!bases)
+ return list;
+
+ for (i = 0; i < TREE_VEC_LENGTH (bases); i++)
+ {
+ tree base = TREE_VEC_ELT (bases, i);
+ if (TREE_VIA_VIRTUAL (base))
+ continue;
+ list = prepend_vbase_vfields (base, (i != vfp), list);
+ }
+
+ return list;
+}
+
+/* Wrapper around finish_ctor_vtables_1. Compute the vtable list for
+ type T. */
+
+static void
+finish_ctor_vtables (t)
+ tree t;
+{
+ tree veclist = NULL_TREE;
+ tree decl, type;
+ char *name;
+ tree vbase;
+ int len;
+
+ /* This is only good for vtable thunks. */
+ my_friendly_assert (flag_vtable_thunks, 990307);
+
+ /* Start with the list of most-derived vtables. */
+
+ for (vbase = CLASSTYPE_VBASECLASSES (t); vbase;
+ vbase = TREE_CHAIN (vbase))
+ veclist = prepend_vbase_vfields (vbase, 1, veclist);
+
+ /* Compute the list of vtables for the bases. */
+ veclist = chainon (veclist, finish_ctor_vtables_1 (TYPE_BINFO (t), t));
+
+ /* Finally, we initialize the virtual bases first. */
+ for (vbase = CLASSTYPE_VBASECLASSES (t); vbase;
+ vbase = TREE_CHAIN (vbase))
+ {
+ tree vbases = CLASSTYPE_VBASECLASSES (BINFO_TYPE (vbase));
+ if (!vbases)
+ continue;
+ veclist = chainon (veclist,
+ finish_ctor_vtables_for_vbases (vbases, vbase, t));
+ veclist = chainon (veclist,
+ finish_ctor_vtables_1 (vbase, t));
+ }
+
+ veclist = nreverse (veclist);
+
+ /* Generate the name for the vtable list. */
+ name = alloca (strlen (VLIST_NAME_FORMAT)
+ + TYPE_ASSEMBLER_NAME_LENGTH (t) + 2);
+ sprintf (name, VLIST_NAME_FORMAT, TYPE_ASSEMBLER_NAME_STRING (t));
+
+ /* Build the type of the list. */
+ len = list_length (veclist) - 1;
+ if (len < 0)
+ /* If this class has virtual bases without virtual methods, make a
+ single zero-entry in the array. This avoids zero-sized objects. */
+ len++;
+ type = build_cplus_array_type (vtbl_ptr_type_node,
+ build_index_type (size_int (len)));
+
+
+ /* Produce a new decl holding the list. */
+ decl = build_lang_decl (VAR_DECL, get_identifier (name), type);
+ TREE_STATIC (decl) = 1;
+ TREE_READONLY (decl) = 1;
+ decl = pushdecl_top_level (decl);
+ import_export_vtable (decl, t, 0);
+ DECL_INITIAL (decl) = build_nt (CONSTRUCTOR, NULL_TREE, veclist);
+
+ DECL_ARTIFICIAL (decl) = 1;
+ /* This tells finish_file et.al. that this is related to virtual
+ tables. There is currently no way to distinguish between vtables
+ and vlists, other than the name of the decl. */
+ DECL_VIRTUAL_P (decl) = 1;
+
+ /* Output the array. */
+ cp_finish_decl (decl, DECL_INITIAL (decl), NULL_TREE, 0, 0);
+
+ /* Set the class context after finishing, so that finish thinks this
+ is an unrelated global, and then finish_vtable_vardecl knows what
+ class this is related to. */
+ DECL_CONTEXT (decl) = t;
+}
+
/* Check for things that are invalid. There are probably plenty of other
things we should check for also. */
@@ -4069,6 +4417,10 @@ finish_struct_1 (t, warn_anon)
/* Make the rtl for any new vtables we have created, and unmark
the base types we marked. */
finish_vtbls (TYPE_BINFO (t), 1, t);
+ /* If we use thunks, and have virtual bases, we might need to emit
+ additional vtables. */
+ if (flag_vtable_thunks && TYPE_USES_PVBASES (t))
+ finish_ctor_vtables (t);
hack_incomplete_structures (t);
#if 0
diff --git a/gnu/dist/toolchain/gcc/cp/cp-tree.h b/gnu/dist/toolchain/gcc/cp/cp-tree.h
index 71809159ea4..8c1e7dfd7c1 100644
--- a/gnu/dist/toolchain/gcc/cp/cp-tree.h
+++ b/gnu/dist/toolchain/gcc/cp/cp-tree.h
@@ -52,7 +52,7 @@ Boston, MA 02111-1307, USA. */
4: BINFO_NEW_VTABLE_MARKED.
TREE_HAS_CONSTRUCTOR (in INDIRECT_REF, SAVE_EXPR, CONSTRUCTOR,
or FIELD_DECL).
- 5: Not used.
+ 5: TYPE_USES_PVBASES (in a class TYPE).
6: Not used.
Usage of TYPE_LANG_FLAG_?:
@@ -503,8 +503,9 @@ extern int write_virtuals;
/* True for more efficient but incompatible (not fully tested)
vtable implementation (using thunks).
- 0 is old behavior; 1 is new behavior. */
-extern int flag_vtable_thunks;
+ 0 is old behavior; 1 is new behavior; 3 adds vlist arguments;
+ 2 is 3 plus backwards-compatibility to 1. */
+extern int flag_vtable_thunks, flag_vtable_thunks_compat;
/* INTERFACE_ONLY nonzero means that we are in an "interface"
section of the compiler. INTERFACE_UNKNOWN nonzero means
@@ -889,6 +890,10 @@ struct lang_type
hierarchy, then we can use more efficient search techniques. */
#define TYPE_USES_VIRTUAL_BASECLASSES(NODE) (TREE_LANG_FLAG_3(NODE))
+/* Nonzero means that this _CLASSTYPE uses polymorphic virtual bases.
+ This flag is set only when we use vtable thunks. */
+#define TYPE_USES_PVBASES(NODE) (TREE_LANG_FLAG_5(NODE))
+
/* Vector member functions defined in this class. Each element is
either a FUNCTION_DECL, a TEMPLATE_DECL, or an OVERLOAD. All
functions with the same name end up in the same slot. The first
@@ -965,7 +970,7 @@ struct lang_type
/* The number of virtual functions defined for this
_CLASSTYPE node. */
#define CLASSTYPE_VSIZE(NODE) (TYPE_LANG_SPECIFIC(NODE)->vsize)
-/* The virtual base classes that this type uses. */
+/* The list of binfos of virtual base classes that this type uses. */
#define CLASSTYPE_VBASECLASSES(NODE) (TYPE_LANG_SPECIFIC(NODE)->vbases)
/* The virtual function pointer fields that this type contains. */
#define CLASSTYPE_VFIELDS(NODE) (TYPE_LANG_SPECIFIC(NODE)->vfields)
@@ -1165,22 +1170,21 @@ struct lang_decl_flags
unsigned static_function : 1;
unsigned const_memfunc : 1;
unsigned volatile_memfunc : 1;
-
unsigned abstract_virtual : 1;
unsigned permanent_attr : 1 ;
- unsigned constructor_for_vbase_attr : 1;
+
unsigned mutable_flag : 1;
unsigned is_default_implementation : 1;
unsigned saved_inline : 1;
unsigned use_template : 2;
-
unsigned nonconverting : 1;
unsigned declared_inline : 1;
unsigned not_really_extern : 1;
unsigned needs_final_overrider : 1;
unsigned bitfield : 1;
unsigned defined_in_class : 1;
- unsigned dummy : 4;
+ unsigned constructor_for_vbase_attr : 2;
+ unsigned dummy : 3;
tree access;
tree context;
@@ -1226,9 +1230,35 @@ struct lang_decl
#define DECL_CONV_FN_P(NODE) \
(IDENTIFIER_TYPENAME_P (DECL_NAME (NODE)) && TREE_TYPE (DECL_NAME (NODE)))
-/* For FUNCTION_DECLs: nonzero means that this function is a constructor
+#define CONSTRUCTOR_FOR_VBASE 1
+#define CONSTRUCTOR_FOR_PVBASE 2
+#define DESTRUCTOR_FOR_PVBASE 3
+
+/* For FUNCTION_DECLs: nonzero means that this function is a con/destructor
for an object with virtual baseclasses. */
-#define DECL_CONSTRUCTOR_FOR_VBASE_P(NODE) (DECL_LANG_SPECIFIC(NODE)->decl_flags.constructor_for_vbase_attr)
+#define DECL_CONSTRUCTOR_FOR_VBASE(NODE) (DECL_LANG_SPECIFIC(NODE)->decl_flags.constructor_for_vbase_attr)
+
+/* Nonzero means that this function is a constructor for an object
+ with virtual baseclasses. */
+#define DECL_CONSTRUCTOR_FOR_VBASE_P(NODE) \
+ (DECL_CONSTRUCTOR_FOR_VBASE (NODE) == CONSTRUCTOR_FOR_VBASE)
+
+/* Nonzero means that this function is a constructor for an object
+ with virtual baseclasses which have virtual functions. */
+#define DECL_CONSTRUCTOR_FOR_PVBASE_P(NODE) (DECL_LANG_SPECIFIC(NODE)->decl_flags.constructor_for_vbase_attr == CONSTRUCTOR_FOR_PVBASE)
+
+/* Nonzero means that this function is a destructor for an object
+ with virtual baseclasses which have virtual functions. */
+#define DECL_DESTRUCTOR_FOR_PVBASE_P(NODE) (DECL_LANG_SPECIFIC(NODE)->decl_flags.constructor_for_vbase_attr == DESTRUCTOR_FOR_PVBASE)
+
+/* Nonzero means that this function is a wrapper around a PVBASE ctor. */
+#define DECL_VLIST_CTOR_WRAPPER_P(NODE) \
+ (DECL_CONSTRUCTOR_FOR_VBASE_P (NODE) && DECL_VLIST_CTOR_WRAPPED (NODE)\
+ && TREE_CODE (DECL_VLIST_CTOR_WRAPPED (NODE)) == FUNCTION_DECL \
+ && DECL_CONSTRUCTOR_FOR_PVBASE_P (DECL_VLIST_CTOR_WRAPPED (NODE)))
+
+/* Refers to original function that NODE wraps. */
+#define DECL_VLIST_CTOR_WRAPPED(NODE) DECL_MEMFUNC_POINTER_TO (NODE)
/* Non-zero for a FUNCTION_DECL that declares a type-info function. */
#define DECL_TINFO_FN_P(NODE) \
@@ -2168,6 +2198,7 @@ extern tree delta2_identifier;
extern tree pfn_or_delta2_identifier;
extern tree tag_identifier;
extern tree vt_off_identifier;
+extern tree in_charge_identifier;
/* A node that is a list (length 1) of error_mark_nodes. */
extern tree error_mark_list;
@@ -2177,6 +2208,8 @@ extern tree class_type_node, record_type_node, union_type_node, enum_type_node;
extern tree unknown_type_node;
extern tree opaque_type_node, signature_type_node;
+extern tree vlist_identifier, vlist_type_node, vlist_zero_node;
+
/* Node for "pointer to (virtual) function".
This may be distinct from ptr_type_node so gdb can distinguish them. */
#define vfunc_ptr_type_node \
@@ -2292,6 +2325,8 @@ extern int current_function_parms_stored;
#define AUTO_TEMP_FORMAT "_$tmp_%d"
#define VTABLE_BASE "$vb"
#define VTABLE_NAME_FORMAT (flag_vtable_thunks ? "__vt_%s" : "_vt$%s")
+#define VCTABLE_NAME "__vc$"
+#define VLIST_NAME_FORMAT "__vl$%s"
#define VFIELD_BASE "$vf"
#define VFIELD_NAME "_vptr$"
#define VFIELD_NAME_FORMAT "_vptr$%s"
@@ -2314,6 +2349,8 @@ extern int current_function_parms_stored;
#define AUTO_TEMP_FORMAT "_.tmp_%d"
#define VTABLE_BASE ".vb"
#define VTABLE_NAME_FORMAT (flag_vtable_thunks ? "__vt_%s" : "_vt.%s")
+#define VCTABLE_NAME "__vc."
+#define VLIST_NAME_FORMAT "__vl.%s"
#define VFIELD_BASE ".vf"
#define VFIELD_NAME "_vptr."
#define VFIELD_NAME_FORMAT "_vptr.%s"
@@ -2346,6 +2383,8 @@ extern int current_function_parms_stored;
#define VTABLE_NAME_P(ID_NODE) \
(!strncmp (IDENTIFIER_POINTER (ID_NODE), VTABLE_NAME, \
sizeof (VTABLE_NAME) - 1))
+#define VCTABLE_NAME "__vc_"
+#define VLIST_NAME_FORMAT "__vl_%s"
#define VFIELD_BASE "__vfb"
#define VFIELD_NAME "__vptr_"
#define VFIELD_NAME_P(ID_NODE) \
@@ -2379,6 +2418,9 @@ extern int current_function_parms_stored;
#define DTOR_NAME "__dt"
#define IN_CHARGE_NAME "__in_chrg"
+#define VLIST_NAME "__vlist"
+#define VLIST1_NAME "__vlist1"
+#define VLIST_TYPE_NAME "6_Vlist"
#define VTBL_PTR_TYPE "__vtbl_ptr_type"
#define VTABLE_DELTA_NAME "__delta"
@@ -2556,6 +2598,8 @@ extern tree current_class_name; /* IDENTIFIER_NODE: name of current class */
as well as the space of member functions.
LOOKUP_HAS_IN_CHARGE means that the "in charge" variable is already
in the parameter list.
+ LOOKUP_HAS_VLIST means that the "vlist" variable is already in
+ the parameter list.
LOOKUP_ONLYCONVERTING means that non-conversion constructors are not tried.
DIRECT_BIND means that if a temporary is created, it should be created so
that it lives as long as the current variable bindings; otherwise it
@@ -2594,6 +2638,7 @@ extern tree current_class_name; /* IDENTIFIER_NODE: name of current class */
#define LOOKUP_PREFER_NAMESPACES (4096)
#define LOOKUP_PREFER_BOTH (6144)
#define LOOKUP_TEMPLATES_EXPECTED (8192)
+#define LOOKUP_HAS_VLIST (16384)
#define LOOKUP_NAMESPACES_ONLY(f) \
(((f) & LOOKUP_PREFER_NAMESPACES) && !((f) & LOOKUP_PREFER_TYPES))
@@ -3051,6 +3096,8 @@ extern tree build_x_delete PROTO((tree, int, tree));
extern tree build_delete PROTO((tree, tree, tree, int, int));
extern tree build_vbase_delete PROTO((tree, tree));
extern tree build_vec_delete PROTO((tree, tree, tree, tree, int));
+extern tree build_base_dtor_call PROTO((tree, tree, tree));
+extern void init_vlist PROTO((tree));
/* in input.c */
@@ -3117,13 +3164,15 @@ extern tree build_decl_overload_real PROTO((tree, tree, tree, tree,
extern void set_mangled_name_for_decl PROTO((tree));
extern tree build_typename_overload PROTO((tree));
extern tree build_overload_with_type PROTO((tree, tree));
-extern tree build_destructor_name PROTO((tree));
+extern tree build_destructor_name PROTO((tree, int));
extern tree build_opfncall PROTO((enum tree_code, int, tree, tree, tree));
extern tree hack_identifier PROTO((tree, tree));
extern tree make_thunk PROTO((tree, int));
extern void emit_thunk PROTO((tree));
extern void synthesize_method PROTO((tree));
extern tree get_id_2 PROTO((char *, tree));
+extern tree get_vlist_vtable_id PROTO((tree, tree));
+
/* in pt.c */
extern void check_template_shadow PROTO ((tree));
@@ -3200,6 +3249,7 @@ extern tree get_tinfo_fn_dynamic PROTO((tree));
extern tree build_typeid PROTO((tree));
extern tree build_x_typeid PROTO((tree));
extern tree get_tinfo_fn PROTO((tree));
+extern tree get_tinfo_fn_unused PROTO((tree));
extern tree get_typeid PROTO((tree));
extern tree get_typeid_1 PROTO((tree));
extern tree build_dynamic_cast PROTO((tree, tree));
diff --git a/gnu/dist/toolchain/gcc/cp/decl.c b/gnu/dist/toolchain/gcc/cp/decl.c
index c60acc7b80d..6a6aeddb4a0 100644
--- a/gnu/dist/toolchain/gcc/cp/decl.c
+++ b/gnu/dist/toolchain/gcc/cp/decl.c
@@ -188,6 +188,8 @@ static tree record_builtin_java_type PROTO((const char *, int));
static const char *tag_name PROTO((enum tag_types code));
static void find_class_binding_level PROTO((void));
static struct binding_level *innermost_nonclass_level PROTO((void));
+static void finish_dtor PROTO((void));
+static void finish_ctor PROTO((int));
static tree poplevel_class PROTO((void));
static void warn_about_implicit_typename_lookup PROTO((tree, tree));
static int walk_namespaces_r PROTO((tree, walk_namespaces_fn, void *));
@@ -335,6 +337,15 @@ tree __ptr_desc_array_type, __attr_dec_array_type, __func_desc_array_type;
tree __ptmf_desc_array_type, __ptmd_desc_array_type;
#endif
+/* This is the identifier __vlist. */
+tree vlist_identifier;
+
+/* This is the type _Vlist = vtable_entry_type**. */
+tree vlist_type_node;
+
+/* A null pointer of type _Vlist. */
+tree vlist_zero_node;
+
/* Indicates that there is a type value in some namespace, although
that is not necessarily in scope at the moment. */
@@ -6283,6 +6294,7 @@ init_decl_processing ()
this_identifier = get_identifier (THIS_NAME);
in_charge_identifier = get_identifier (IN_CHARGE_NAME);
+ vlist_identifier = get_identifier (VLIST_NAME);
ctor_identifier = get_identifier (CTOR_NAME);
dtor_identifier = get_identifier (DTOR_NAME);
pfn_identifier = get_identifier (VTABLE_PFN_NAME);
@@ -6510,6 +6522,7 @@ init_decl_processing ()
#if 0
record_builtin_type (RID_MAX, NULL_PTR, ptr_type_node);
#endif
+
endlink = void_list_node;
int_endlink = tree_cons (NULL_TREE, integer_type_node, endlink);
double_endlink = tree_cons (NULL_TREE, double_type_node, endlink);
@@ -6849,6 +6862,16 @@ init_decl_processing ()
layout_type (vtbl_ptr_type_node);
record_builtin_type (RID_MAX, NULL_PTR, vtbl_ptr_type_node);
+ if (flag_vtable_thunks)
+ {
+ /* We need vlists only when using thunks; otherwise leave them
+ as NULL_TREE. That way, it doesn't get into the way of the
+ mangling. */
+ vlist_type_node = build_pointer_type (vtbl_ptr_type_node);
+ vlist_zero_node = build_int_2 (0, 0);
+ TREE_TYPE (vlist_zero_node) = vlist_type_node;
+ }
+
/* Simplify life by making a "sigtable_entry_type". Give its
fields names so that the debugger can use them. */
@@ -8944,9 +8967,12 @@ grokfndecl (ctype, type, declarator, orig_declarator, virtualp, flags, quals,
template_count,
2 * (funcdef_flag != 0) +
4 * (friendp != 0));
+
if (decl == error_mark_node)
return NULL_TREE;
+ maybe_vlist_ctor_wrapper (decl, funcdef_flag);
+
if ((! TYPE_FOR_JAVA (ctype) || check_java_method (decl))
&& check)
{
@@ -11386,6 +11412,10 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
if (TYPE_USES_VIRTUAL_BASECLASSES (DECL_CONTEXT (decl)))
arg_types = TREE_CHAIN (arg_types);
+ /* And the `vlist' argument. */
+ if (TYPE_USES_PVBASES (DECL_CONTEXT (decl)))
+ arg_types = TREE_CHAIN (arg_types);
+
if (arg_types == void_list_node
|| (arg_types
&& TREE_CHAIN (arg_types)
@@ -12080,6 +12110,9 @@ replace_defarg (arg, init)
TREE_PURPOSE (arg) = init;
}
+/* Return 1 if D copies its arguments. This is used to test for copy
+ constructors and copy assignment operators. */
+
int
copy_args_p (d)
tree d;
@@ -12087,7 +12120,12 @@ copy_args_p (d)
tree t = FUNCTION_ARG_CHAIN (d);
if (DECL_CONSTRUCTOR_P (d)
&& TYPE_USES_VIRTUAL_BASECLASSES (DECL_CONTEXT (d)))
- t = TREE_CHAIN (t);
+ {
+ t = TREE_CHAIN (t);
+ if (TYPE_USES_PVBASES (DECL_CONTEXT (d)))
+ t = TREE_CHAIN (t);
+ }
+
if (t && TREE_CODE (TREE_VALUE (t)) == REFERENCE_TYPE
&& (TYPE_MAIN_VARIANT (TREE_TYPE (TREE_VALUE (t)))
== DECL_CLASS_CONTEXT (d))
@@ -12117,7 +12155,8 @@ grok_ctor_properties (ctype, decl)
added to any ctor so we can tell if the class has been initialized
yet. This could screw things up in this function, so we deliberately
ignore the leading int if we're in that situation. */
- if (TYPE_USES_VIRTUAL_BASECLASSES (ctype))
+ if (TYPE_USES_VIRTUAL_BASECLASSES (ctype)
+ && !CLASSTYPE_IS_TEMPLATE (ctype))
{
my_friendly_assert (parmtypes
&& TREE_VALUE (parmtypes) == integer_type_node,
@@ -12126,6 +12165,17 @@ grok_ctor_properties (ctype, decl)
parmtype = TREE_VALUE (parmtypes);
}
+ if (TYPE_USES_PVBASES (ctype))
+ {
+ my_friendly_assert (parmtypes
+ && TREE_VALUE (parmtypes) == vlist_type_node,
+ 980529);
+ parmtypes = TREE_CHAIN (parmtypes);
+ parmtype = TREE_VALUE (parmtypes);
+ }
+
+ maybe_vlist_ctor_wrapper (decl, 0);
+
/* [class.copy]
A non-template constructor for class X is a copy constructor if
@@ -12923,6 +12973,16 @@ xref_basetypes (code_type_node, name, ref, binfo)
{
TYPE_USES_VIRTUAL_BASECLASSES (ref) = 1;
TYPE_USES_COMPLEX_INHERITANCE (ref) = 1;
+ /* The PVBASES flag is never set for templates; we know
+ only for instantiations whether the virtual bases are
+ polymorphic. */
+ if (flag_vtable_thunks >= 2 && !CLASSTYPE_IS_TEMPLATE (ref))
+ {
+ if (via_virtual && TYPE_VIRTUAL_P (basetype))
+ TYPE_USES_PVBASES (ref) = 1;
+ else if (TYPE_USES_PVBASES (basetype))
+ TYPE_USES_PVBASES (ref) = 1;
+ }
}
if (CLASS_TYPE_P (basetype))
@@ -13928,6 +13988,313 @@ store_return_init (return_id, init)
}
+/* Emit implicit code for a destructor. This is a subroutine of
+ finish_function. */
+
+static void
+finish_dtor ()
+{
+ tree binfo = TYPE_BINFO (current_class_type);
+ tree cond = integer_one_node;
+ tree exprstmt;
+ tree in_charge_node = lookup_name (in_charge_identifier, 0);
+ tree virtual_size;
+ int ok_to_optimize_dtor = 0;
+ int empty_dtor = get_last_insn () == last_dtor_insn;
+ rtx insns, last_parm_insn;
+
+ if (current_function_assigns_this)
+ cond = build (NE_EXPR, boolean_type_node,
+ current_class_ptr, integer_zero_node);
+ else
+ {
+ int n_baseclasses = CLASSTYPE_N_BASECLASSES (current_class_type);
+
+ /* If this destructor is empty, then we don't need to check
+ whether `this' is NULL in some cases. */
+ if ((flag_this_is_variable & 1) == 0)
+ ok_to_optimize_dtor = 1;
+ else if (empty_dtor)
+ ok_to_optimize_dtor
+ = (n_baseclasses == 0
+ || (n_baseclasses == 1
+ && TYPE_HAS_DESTRUCTOR (TYPE_BINFO_BASETYPE (current_class_type, 0))));
+ }
+
+ /* If this has a vlist1 parameter, allocate the corresponding vlist
+ parameter. */
+ if (DECL_DESTRUCTOR_FOR_PVBASE_P (current_function_decl))
+ {
+ /* _Vlist __vlist; */
+ tree vlist;
+
+ mark_all_temps_used();
+ vlist = pushdecl (build_decl (VAR_DECL, vlist_identifier,
+ vlist_type_node));
+ TREE_USED (vlist) = 1;
+ DECL_ARTIFICIAL (vlist) = 1;
+ expand_decl (vlist);
+ expand_decl_init (vlist);
+ }
+
+ /* These initializations might go inline. Protect
+ the binding level of the parms. */
+ pushlevel (0);
+ expand_start_bindings (0);
+
+ if (current_function_assigns_this)
+ {
+ current_function_assigns_this = 0;
+ current_function_just_assigned_this = 0;
+ }
+
+ /* Generate the code to call destructor on base class.
+ If this destructor belongs to a class with virtual
+ functions, then set the virtual function table
+ pointer to represent the type of our base class. */
+
+ /* This side-effect makes call to `build_delete' generate the
+ code we have to have at the end of this destructor.
+ `build_delete' will set the flag again. */
+ TYPE_HAS_DESTRUCTOR (current_class_type) = 0;
+
+ /* These are two cases where we cannot delegate deletion. */
+ if (TYPE_USES_VIRTUAL_BASECLASSES (current_class_type)
+ || TYPE_GETS_REG_DELETE (current_class_type))
+ exprstmt = build_delete
+ (current_class_type, current_class_ref, integer_zero_node,
+ LOOKUP_NONVIRTUAL|LOOKUP_DESTRUCTOR|LOOKUP_NORMAL, 0);
+ else
+ exprstmt = build_delete
+ (current_class_type, current_class_ref, in_charge_node,
+ LOOKUP_NONVIRTUAL|LOOKUP_DESTRUCTOR|LOOKUP_NORMAL, 0);
+
+ /* If we did not assign to this, then `this' is non-zero at
+ the end of a destructor. As a special optimization, don't
+ emit test if this is an empty destructor. If it does nothing,
+ it does nothing. If it calls a base destructor, the base
+ destructor will perform the test. */
+
+ if (exprstmt != error_mark_node
+ && (TREE_CODE (exprstmt) != NOP_EXPR
+ || TREE_OPERAND (exprstmt, 0) != integer_zero_node
+ || TYPE_USES_VIRTUAL_BASECLASSES (current_class_type)))
+ {
+ expand_label (dtor_label);
+ if (cond != integer_one_node)
+ expand_start_cond (cond, 0);
+ if (exprstmt != void_zero_node)
+ /* Don't call `expand_expr_stmt' if we're not going to do
+ anything, since -Wall will give a diagnostic. */
+ expand_expr_stmt (exprstmt);
+
+ /* Run destructor on all virtual baseclasses. */
+ if (TYPE_USES_VIRTUAL_BASECLASSES (current_class_type))
+ {
+ tree vbases = nreverse
+ (copy_list (CLASSTYPE_VBASECLASSES (current_class_type)));
+ expand_start_cond (build (BIT_AND_EXPR, integer_type_node,
+ in_charge_node, integer_two_node), 0);
+ while (vbases)
+ {
+ if (TYPE_NEEDS_DESTRUCTOR (BINFO_TYPE (vbases)))
+ {
+ tree vb = get_vbase
+ (BINFO_TYPE (vbases),
+ TYPE_BINFO (current_class_type));
+
+ expand_expr_stmt
+ (build_base_dtor_call (current_class_ref,
+ vb, integer_zero_node));
+ }
+ vbases = TREE_CHAIN (vbases);
+ }
+ expand_end_cond ();
+ }
+
+ do_pending_stack_adjust ();
+ if (cond != integer_one_node)
+ expand_end_cond ();
+ }
+
+ virtual_size = c_sizeof (current_class_type);
+
+ /* At the end, call delete if that's what's requested. */
+
+ /* FDIS sez: At the point of definition of a virtual destructor
+ (including an implicit definition), non-placement operator
+ delete shall be looked up in the scope of the destructor's
+ class and if found shall be accessible and unambiguous.
+
+ This is somewhat unclear, but I take it to mean that if the
+ class only defines placement deletes we don't do anything here.
+ So we pass LOOKUP_SPECULATIVELY; delete_sanity will complain
+ for us if they ever try to delete one of these. */
+
+ if (TYPE_GETS_REG_DELETE (current_class_type)
+ || TYPE_USES_VIRTUAL_BASECLASSES (current_class_type))
+ exprstmt = build_op_delete_call
+ (DELETE_EXPR, current_class_ptr, virtual_size,
+ LOOKUP_NORMAL | LOOKUP_SPECULATIVELY, NULL_TREE);
+ else
+ exprstmt = NULL_TREE;
+
+ if (exprstmt)
+ {
+ cond = build (BIT_AND_EXPR, integer_type_node,
+ in_charge_node, integer_one_node);
+ expand_start_cond (cond, 0);
+ expand_expr_stmt (exprstmt);
+ expand_end_cond ();
+ }
+
+ /* End of destructor. */
+ expand_end_bindings (NULL_TREE, getdecls () != NULL_TREE, 0);
+ poplevel (getdecls () != NULL_TREE, 0, 0);
+
+ /* Back to the top of destructor. */
+ /* Don't execute destructor code if `this' is NULL. */
+
+ start_sequence ();
+
+ /* If we need thunk-style vlists, initialize them if the caller did
+ not pass them. This requires a new temporary. The generated code
+ looks like
+ if (!(__in_charge & 4))
+ __vlist = __vl.<type> + sizeof(__vl.<type>);
+ else
+ __vlist = __vlist1;
+ */
+ if (TYPE_USES_PVBASES (current_class_type))
+ {
+ tree vlist = lookup_name (vlist_identifier, 0);
+ tree vlist1 = lookup_name (get_identifier (VLIST1_NAME), 0);
+ cond = build (BIT_AND_EXPR, integer_type_node,
+ in_charge_node, build_int_2 (4, 0));
+ cond = build1 (TRUTH_NOT_EXPR, boolean_type_node, cond);
+ expand_start_cond (cond, 0);
+ init_vlist (current_class_type);
+ expand_start_else ();
+ expand_expr_stmt (build_modify_expr (vlist, NOP_EXPR, vlist1));
+ expand_end_cond ();
+ }
+
+ /* If the dtor is empty, and we know there is not possible way we
+ could use any vtable entries, before they are possibly set by
+ a base class dtor, we don't have to setup the vtables, as we
+ know that any base class dtoring will set up any vtables it
+ needs. We avoid MI, because one base class dtor can do a
+ virtual dispatch to an overridden function that would need to
+ have a non-related vtable set up, we cannot avoid setting up
+ vtables in that case. We could change this to see if there is
+ just one vtable. */
+ if (! empty_dtor || TYPE_USES_COMPLEX_INHERITANCE (current_class_type))
+ {
+ /* Make all virtual function table pointers in non-virtual base
+ classes point to CURRENT_CLASS_TYPE's virtual function
+ tables. */
+ expand_direct_vtbls_init (binfo, binfo, 1, 0, current_class_ptr);
+
+ if (TYPE_USES_VIRTUAL_BASECLASSES (current_class_type))
+ expand_indirect_vtbls_init (binfo, current_class_ref, current_class_ptr);
+ }
+
+ if (! ok_to_optimize_dtor)
+ {
+ cond = build_binary_op (NE_EXPR,
+ current_class_ptr, integer_zero_node);
+ expand_start_cond (cond, 0);
+ }
+
+ insns = get_insns ();
+ end_sequence ();
+
+ last_parm_insn = get_first_nonparm_insn ();
+ if (last_parm_insn == NULL_RTX)
+ last_parm_insn = get_last_insn ();
+ else
+ last_parm_insn = previous_insn (last_parm_insn);
+
+ emit_insns_after (insns, last_parm_insn);
+
+ if (! ok_to_optimize_dtor)
+ expand_end_cond ();
+}
+
+/* Emit implicit code for a constructor. This is a subroutine of
+ finish_function. CALL_POPLEVEL is the same variable in
+ finish_function. */
+
+static void
+finish_ctor (call_poplevel)
+ int call_poplevel;
+{
+ register tree fndecl = current_function_decl;
+ tree cond = NULL_TREE, thenclause = NULL_TREE;
+ rtx insns;
+ tree decls;
+
+ /* Allow constructor for a type to get a new instance of the object
+ using `build_new'. */
+ tree abstract_virtuals = CLASSTYPE_ABSTRACT_VIRTUALS (current_class_type);
+ CLASSTYPE_ABSTRACT_VIRTUALS (current_class_type) = NULL_TREE;
+
+ if (flag_this_is_variable > 0)
+ {
+ cond = build_binary_op (EQ_EXPR, current_class_ptr, integer_zero_node);
+ thenclause =
+ build_modify_expr (current_class_ptr, NOP_EXPR,
+ build_new (NULL_TREE, current_class_type,
+ void_type_node, 0));
+ }
+
+ CLASSTYPE_ABSTRACT_VIRTUALS (current_class_type) = abstract_virtuals;
+
+ start_sequence ();
+
+ if (flag_this_is_variable > 0)
+ {
+ expand_start_cond (cond, 0);
+ expand_expr_stmt (thenclause);
+ expand_end_cond ();
+ }
+
+ /* Emit insns from `emit_base_init' which sets up virtual
+ function table pointer(s). */
+ if (base_init_expr)
+ {
+ expand_expr_stmt (base_init_expr);
+ base_init_expr = NULL_TREE;
+ }
+
+ insns = get_insns ();
+ end_sequence ();
+
+ /* This is where the body of the constructor begins. */
+
+ emit_insns_after (insns, last_parm_cleanup_insn);
+
+ end_protect_partials ();
+
+ /* This is where the body of the constructor ends. */
+ expand_label (ctor_label);
+ ctor_label = NULL_TREE;
+
+ if (call_poplevel)
+ {
+ decls = getdecls ();
+ expand_end_bindings (decls, decls != NULL_TREE, 0);
+ poplevel (decls != NULL_TREE, 1, 0);
+ }
+
+ /* c_expand_return knows to return 'this' from a constructor. */
+ c_expand_return (NULL_TREE);
+
+ current_function_assigns_this = 0;
+ current_function_just_assigned_this = 0;
+}
+
+
/* Finish up a function declaration and compile that function
all the way to assembler language output. The free the storage
for the function definition.
@@ -13956,7 +14323,6 @@ finish_function (lineno, flags, nested)
{
register tree fndecl = current_function_decl;
tree fntype, ctype = NULL_TREE;
- rtx last_parm_insn, insns;
/* Label to use if this function is supposed to return a value. */
tree no_return_label = NULL_TREE;
tree decls = NULL_TREE;
@@ -14018,191 +14384,7 @@ finish_function (lineno, flags, nested)
do_pending_stack_adjust ();
if (dtor_label)
- {
- tree binfo = TYPE_BINFO (current_class_type);
- tree cond = integer_one_node;
- tree exprstmt;
- tree in_charge_node = lookup_name (in_charge_identifier, 0);
- tree virtual_size;
- int ok_to_optimize_dtor = 0;
- int empty_dtor = get_last_insn () == last_dtor_insn;
-
- if (current_function_assigns_this)
- cond = build (NE_EXPR, boolean_type_node,
- current_class_ptr, integer_zero_node);
- else
- {
- int n_baseclasses = CLASSTYPE_N_BASECLASSES (current_class_type);
-
- /* If this destructor is empty, then we don't need to check
- whether `this' is NULL in some cases. */
- if ((flag_this_is_variable & 1) == 0)
- ok_to_optimize_dtor = 1;
- else if (empty_dtor)
- ok_to_optimize_dtor
- = (n_baseclasses == 0
- || (n_baseclasses == 1
- && TYPE_HAS_DESTRUCTOR (TYPE_BINFO_BASETYPE (current_class_type, 0))));
- }
-
- /* These initializations might go inline. Protect
- the binding level of the parms. */
- pushlevel (0);
- expand_start_bindings (0);
-
- if (current_function_assigns_this)
- {
- current_function_assigns_this = 0;
- current_function_just_assigned_this = 0;
- }
-
- /* Generate the code to call destructor on base class.
- If this destructor belongs to a class with virtual
- functions, then set the virtual function table
- pointer to represent the type of our base class. */
-
- /* This side-effect makes call to `build_delete' generate the
- code we have to have at the end of this destructor.
- `build_delete' will set the flag again. */
- TYPE_HAS_DESTRUCTOR (current_class_type) = 0;
-
- /* These are two cases where we cannot delegate deletion. */
- if (TYPE_USES_VIRTUAL_BASECLASSES (current_class_type)
- || TYPE_GETS_REG_DELETE (current_class_type))
- exprstmt = build_delete (current_class_type, current_class_ref, integer_zero_node,
- LOOKUP_NONVIRTUAL|LOOKUP_DESTRUCTOR|LOOKUP_NORMAL, 0);
- else
- exprstmt = build_delete (current_class_type, current_class_ref, in_charge_node,
- LOOKUP_NONVIRTUAL|LOOKUP_DESTRUCTOR|LOOKUP_NORMAL, 0);
-
- /* If we did not assign to this, then `this' is non-zero at
- the end of a destructor. As a special optimization, don't
- emit test if this is an empty destructor. If it does nothing,
- it does nothing. If it calls a base destructor, the base
- destructor will perform the test. */
-
- if (exprstmt != error_mark_node
- && (TREE_CODE (exprstmt) != NOP_EXPR
- || TREE_OPERAND (exprstmt, 0) != integer_zero_node
- || TYPE_USES_VIRTUAL_BASECLASSES (current_class_type)))
- {
- expand_label (dtor_label);
- if (cond != integer_one_node)
- expand_start_cond (cond, 0);
- if (exprstmt != void_zero_node)
- /* Don't call `expand_expr_stmt' if we're not going to do
- anything, since -Wall will give a diagnostic. */
- expand_expr_stmt (exprstmt);
-
- /* Run destructor on all virtual baseclasses. */
- if (TYPE_USES_VIRTUAL_BASECLASSES (current_class_type))
- {
- tree vbases = nreverse (copy_list (CLASSTYPE_VBASECLASSES (current_class_type)));
- expand_start_cond (build (BIT_AND_EXPR, integer_type_node,
- in_charge_node, integer_two_node), 0);
- while (vbases)
- {
- if (TYPE_NEEDS_DESTRUCTOR (BINFO_TYPE (vbases)))
- {
- tree vb = get_vbase
- (BINFO_TYPE (vbases),
- TYPE_BINFO (current_class_type));
- expand_expr_stmt
- (build_scoped_method_call
- (current_class_ref, vb, dtor_identifier,
- build_expr_list (NULL_TREE, integer_zero_node)));
- }
- vbases = TREE_CHAIN (vbases);
- }
- expand_end_cond ();
- }
-
- do_pending_stack_adjust ();
- if (cond != integer_one_node)
- expand_end_cond ();
- }
-
- virtual_size = c_sizeof (current_class_type);
-
- /* At the end, call delete if that's what's requested. */
-
- /* FDIS sez: At the point of definition of a virtual destructor
- (including an implicit definition), non-placement operator
- delete shall be looked up in the scope of the destructor's
- class and if found shall be accessible and unambiguous.
-
- This is somewhat unclear, but I take it to mean that if the
- class only defines placement deletes we don't do anything here.
- So we pass LOOKUP_SPECULATIVELY; delete_sanity will complain
- for us if they ever try to delete one of these. */
-
- if (TYPE_GETS_REG_DELETE (current_class_type)
- || TYPE_USES_VIRTUAL_BASECLASSES (current_class_type))
- exprstmt = build_op_delete_call
- (DELETE_EXPR, current_class_ptr, virtual_size,
- LOOKUP_NORMAL | LOOKUP_SPECULATIVELY, NULL_TREE);
- else
- exprstmt = NULL_TREE;
-
- if (exprstmt)
- {
- cond = build (BIT_AND_EXPR, integer_type_node,
- in_charge_node, integer_one_node);
- expand_start_cond (cond, 0);
- expand_expr_stmt (exprstmt);
- expand_end_cond ();
- }
-
- /* End of destructor. */
- expand_end_bindings (NULL_TREE, getdecls () != NULL_TREE, 0);
- poplevel (getdecls () != NULL_TREE, 0, 0);
-
- /* Back to the top of destructor. */
- /* Don't execute destructor code if `this' is NULL. */
-
- start_sequence ();
-
- /* If the dtor is empty, and we know there is not possible way we
- could use any vtable entries, before they are possibly set by
- a base class dtor, we don't have to setup the vtables, as we
- know that any base class dtoring will set up any vtables it
- needs. We avoid MI, because one base class dtor can do a
- virtual dispatch to an overridden function that would need to
- have a non-related vtable set up, we cannot avoid setting up
- vtables in that case. We could change this to see if there is
- just one vtable. */
- if (! empty_dtor || TYPE_USES_COMPLEX_INHERITANCE (current_class_type))
- {
- /* Make all virtual function table pointers in non-virtual base
- classes point to CURRENT_CLASS_TYPE's virtual function
- tables. */
- expand_direct_vtbls_init (binfo, binfo, 1, 0, current_class_ptr);
-
- if (TYPE_USES_VIRTUAL_BASECLASSES (current_class_type))
- expand_indirect_vtbls_init (binfo, current_class_ref, current_class_ptr);
- }
-
- if (! ok_to_optimize_dtor)
- {
- cond = build_binary_op (NE_EXPR,
- current_class_ptr, integer_zero_node);
- expand_start_cond (cond, 0);
- }
-
- insns = get_insns ();
- end_sequence ();
-
- last_parm_insn = get_first_nonparm_insn ();
- if (last_parm_insn == NULL_RTX)
- last_parm_insn = get_last_insn ();
- else
- last_parm_insn = previous_insn (last_parm_insn);
-
- emit_insns_after (insns, last_parm_insn);
-
- if (! ok_to_optimize_dtor)
- expand_end_cond ();
- }
+ finish_dtor ();
else if (current_function_assigns_this)
{
/* Does not need to call emit_base_init, because
@@ -14232,67 +14414,9 @@ finish_function (lineno, flags, nested)
current_function_just_assigned_this = 0;
base_init_expr = NULL_TREE;
}
- else if (DECL_CONSTRUCTOR_P (fndecl))
- {
- tree cond = NULL_TREE, thenclause = NULL_TREE;
- /* Allow constructor for a type to get a new instance of the object
- using `build_new'. */
- tree abstract_virtuals = CLASSTYPE_ABSTRACT_VIRTUALS (current_class_type);
- CLASSTYPE_ABSTRACT_VIRTUALS (current_class_type) = NULL_TREE;
-
- if (flag_this_is_variable > 0)
- {
- cond = build_binary_op (EQ_EXPR,
- current_class_ptr, integer_zero_node);
- thenclause = build_modify_expr (current_class_ptr, NOP_EXPR,
- build_new (NULL_TREE, current_class_type, void_type_node, 0));
- }
-
- CLASSTYPE_ABSTRACT_VIRTUALS (current_class_type) = abstract_virtuals;
-
- start_sequence ();
-
- if (flag_this_is_variable > 0)
- {
- expand_start_cond (cond, 0);
- expand_expr_stmt (thenclause);
- expand_end_cond ();
- }
-
- /* Emit insns from `emit_base_init' which sets up virtual
- function table pointer(s). */
- if (base_init_expr)
- {
- expand_expr_stmt (base_init_expr);
- base_init_expr = NULL_TREE;
- }
-
- insns = get_insns ();
- end_sequence ();
-
- /* This is where the body of the constructor begins. */
-
- emit_insns_after (insns, last_parm_cleanup_insn);
-
- end_protect_partials ();
-
- /* This is where the body of the constructor ends. */
- expand_label (ctor_label);
- ctor_label = NULL_TREE;
-
- if (call_poplevel)
- {
- decls = getdecls ();
- expand_end_bindings (decls, decls != NULL_TREE, 0);
- poplevel (decls != NULL_TREE, 1, 0);
- }
-
- /* c_expand_return knows to return 'this' from a constructor. */
- c_expand_return (NULL_TREE);
-
- current_function_assigns_this = 0;
- current_function_just_assigned_this = 0;
- }
+ else if (DECL_CONSTRUCTOR_P (fndecl)
+ && !DECL_VLIST_CTOR_WRAPPER_P (fndecl))
+ finish_ctor (call_poplevel);
else if (DECL_MAIN_P (fndecl))
{
/* Make it so that `main' always returns 0 by default. */
diff --git a/gnu/dist/toolchain/gcc/cp/decl2.c b/gnu/dist/toolchain/gcc/cp/decl2.c
index d6fb7bf90fa..d7f58bfbfd2 100644
--- a/gnu/dist/toolchain/gcc/cp/decl2.c
+++ b/gnu/dist/toolchain/gcc/cp/decl2.c
@@ -224,14 +224,21 @@ int warn_long_long = 1;
int warn_ctor_dtor_privacy = 1;
-/* True if we want to implement vtables using "thunks".
- The default is off. */
+/* 1 or 2 if we want to implement vtables using "thunks".
+ The default is off. Version 1 indicates "old" implementation;
+ Version 2 passes the __vlist argument in pvbase cases. */
#ifndef DEFAULT_VTABLE_THUNKS
#define DEFAULT_VTABLE_THUNKS 0
#endif
int flag_vtable_thunks = DEFAULT_VTABLE_THUNKS;
+#if DEFAULT_VTABLE_THUNKS == 2
+int flag_vtable_thunks_compat = 1;
+#else
+int flag_vtable_thunks_compat = 0;
+#endif
+
/* True if we want to deal with repository information. */
int flag_use_repository;
@@ -633,6 +640,31 @@ lang_decode_option (argc, argv)
found = 1;
cp_deprecated ("-fexternal-templates");
}
+ else if (!strncmp (p, "vtable-thunks", 13))
+ {
+ if (p[13] == '=')
+ {
+ flag_vtable_thunks =
+ read_integral_parameter (p+14, p, 1);
+ }
+ else
+ {
+ /* If the machine file has a default setting, use that
+ for -fvtable-thunks. Otherwise, set it to version
+ 2. */
+#if DEFAULT_VTABLE_THUNKS
+ flag_vtable_thunks = DEFAULT_VTABLE_THUNKS;
+#else
+ flag_vtable_thunks = 1;
+#endif
+ }
+ if (flag_vtable_thunks == 2)
+ /* v2 is a compatibility mode between v1 and v3. */
+ flag_vtable_thunks_compat = 1;
+ else if(flag_vtable_thunks == 3)
+ flag_vtable_thunks_compat = 0;
+ found = 1;
+ }
else if (!strcmp (p, "handle-signatures"))
{
flag_handle_signatures = 1;
@@ -644,7 +676,7 @@ lang_decode_option (argc, argv)
flag_new_abi = 1;
flag_do_squangling = 1;
flag_honor_std = 1;
- flag_vtable_thunks = 1;
+ flag_vtable_thunks = 2;
}
else if (!strcmp (p, "no-new-abi"))
{
@@ -917,17 +949,27 @@ grok_x_components (specs)
This function adds the "in-charge" flag to member function FN if
appropriate. It is called from grokclassfn and tsubst.
- FN must be either a constructor or destructor. */
+ FN must be either a constructor or destructor.
+
+ For vtable thunks, types with polymorphic virtual bases need an
+ additional "vlist" argument which is an array of virtual tables.
+ In addition, if backwards-compatibility to v1 thunks is requested,
+ a wrapper constructor may be needed as well. */
void
maybe_retrofit_in_chrg (fn)
tree fn;
{
tree basetype, arg_types, parms, parm, fntype;
+ tree wrapper;
+
+ if (CLASSTYPE_IS_TEMPLATE (DECL_CLASS_CONTEXT (fn)))
+ /* Never retrofit arguments on template methods. */
+ return;
if (DECL_CONSTRUCTOR_P (fn)
&& TYPE_USES_VIRTUAL_BASECLASSES (DECL_CLASS_CONTEXT (fn))
- && ! DECL_CONSTRUCTOR_FOR_VBASE_P (fn))
+ && DECL_CONSTRUCTOR_FOR_VBASE (fn) == 0)
/* OK */;
else if (! DECL_CONSTRUCTOR_P (fn)
&& TREE_CHAIN (DECL_ARGUMENTS (fn)) == NULL_TREE)
@@ -936,7 +978,41 @@ maybe_retrofit_in_chrg (fn)
return;
if (DECL_CONSTRUCTOR_P (fn))
- DECL_CONSTRUCTOR_FOR_VBASE_P (fn) = 1;
+ {
+ if (TYPE_USES_PVBASES (DECL_CLASS_CONTEXT (fn)))
+ {
+ DECL_CONSTRUCTOR_FOR_VBASE (fn) = CONSTRUCTOR_FOR_PVBASE;
+ if (flag_vtable_thunks_compat && varargs_function_p (fn))
+ sorry ("-fvtable-thunks=2 for vararg constructor", fn);
+ }
+ else
+ DECL_CONSTRUCTOR_FOR_VBASE (fn) = CONSTRUCTOR_FOR_VBASE;
+ }
+ else if (TYPE_USES_PVBASES (DECL_CLASS_CONTEXT (fn)))
+ DECL_CONSTRUCTOR_FOR_VBASE (fn) = DESTRUCTOR_FOR_PVBASE;
+
+ /* Retrieve the arguments, because it is potentially modified twice. */
+ arg_types = TYPE_ARG_TYPES (TREE_TYPE (fn));
+ basetype = TREE_TYPE (TREE_VALUE (arg_types));
+ arg_types = TREE_CHAIN (arg_types);
+
+ if (DECL_CONSTRUCTOR_FOR_PVBASE_P (fn)
+ || DECL_DESTRUCTOR_FOR_PVBASE_P (fn))
+ {
+ /* Add the __vlist argument first. See __in_chrg below. */
+ tree id = vlist_identifier;
+ if (DECL_DESTRUCTOR_FOR_PVBASE_P (fn))
+ id = get_identifier (VLIST1_NAME);
+ parm = build_decl (PARM_DECL, id, vlist_type_node);
+ SET_DECL_ARTIFICIAL (parm);
+ DECL_ARG_TYPE (parm) = vlist_type_node;
+ parms = DECL_ARGUMENTS (fn);
+ /* Add it after 'this'. */
+ TREE_CHAIN (parm) = TREE_CHAIN (parms);
+ TREE_CHAIN (parms) = parm;
+
+ arg_types = hash_tree_chain (vlist_type_node, arg_types);
+ }
/* First add it to DECL_ARGUMENTS... */
parm = build_decl (PARM_DECL, in_charge_identifier, integer_type_node);
@@ -949,9 +1025,7 @@ maybe_retrofit_in_chrg (fn)
TREE_CHAIN (parms) = parm;
/* ...and then to TYPE_ARG_TYPES. */
- arg_types = TYPE_ARG_TYPES (TREE_TYPE (fn));
- basetype = TREE_TYPE (TREE_VALUE (arg_types));
- arg_types = hash_tree_chain (integer_type_node, TREE_CHAIN (arg_types));
+ arg_types = hash_tree_chain (integer_type_node, arg_types);
fntype = build_cplus_method_type (basetype, TREE_TYPE (TREE_TYPE (fn)),
arg_types);
if (TYPE_RAISES_EXCEPTIONS (TREE_TYPE (fn)))
@@ -1042,7 +1116,8 @@ grokclassfn (ctype, function, flags, quals)
if (flags == DTOR_FLAG)
{
- DECL_ASSEMBLER_NAME (function) = build_destructor_name (ctype);
+ DECL_ASSEMBLER_NAME (function) =
+ build_destructor_name (ctype, DECL_DESTRUCTOR_FOR_PVBASE_P (function));
TYPE_HAS_DESTRUCTOR (ctype) = 1;
}
else
@@ -2485,9 +2560,13 @@ void
maybe_make_one_only (decl)
tree decl;
{
- /* This is not necessary on targets that support weak symbols, because
- the implicit instantiations will defer to the explicit one. */
- if (! supports_one_only () || SUPPORTS_WEAK)
+ /* We used to say that this was not necessary on targets that support weak
+ symbols, because the implicit instantiations will defer to the explicit
+ one. However, that's not actually the case in SVR4; a strong definition
+ after a weak one is an error. Also, not making explicit
+ instantiations one_only means that we can end up with two copies of
+ some template instantiations. */
+ if (! supports_one_only ())
return;
/* We can't set DECL_COMDAT on functions, or finish_file will think
@@ -2775,6 +2854,30 @@ import_export_decl (decl)
else
DECL_NOT_REALLY_EXTERN (decl) = 0;
}
+ else if (DECL_VLIST_CTOR_WRAPPER_P (decl))
+ {
+ int implement;
+ tree ctype = DECL_CLASS_CONTEXT (decl);
+ import_export_class (ctype);
+ if (!DECL_THIS_INLINE (DECL_VLIST_CTOR_WRAPPED (decl)))
+ {
+ /* No change. */
+ }
+ else if (CLASSTYPE_INTERFACE_KNOWN (ctype))
+ {
+ implement = !CLASSTYPE_INTERFACE_ONLY (ctype)
+ && flag_implement_inlines;
+ DECL_NOT_REALLY_EXTERN (decl) = implement;
+ DECL_EXTERNAL (decl) = !implement;
+ }
+ else
+ {
+ DECL_NOT_REALLY_EXTERN (decl) = 1;
+ DECL_EXTERNAL (decl) = 1;
+ }
+ if (flag_weak)
+ comdat_linkage (decl);
+ }
else if (DECL_FUNCTION_MEMBER_P (decl))
{
tree ctype = DECL_CLASS_CONTEXT (decl);
@@ -3527,6 +3630,33 @@ generate_ctor_and_dtor_functions_for_priority (n, data)
return 0;
}
+/* Returns non-zero if T is a vlist ctor wrapper. */
+
+static int
+vlist_ctor_wrapper_p (t, data)
+ tree t;
+ void *data ATTRIBUTE_UNUSED;
+{
+ return (TREE_CODE (t) == FUNCTION_DECL) && DECL_VLIST_CTOR_WRAPPER_P (t);
+}
+
+/* Emits a vlist ctor wrapper if necessary. */
+
+static int
+finish_vlist_ctor_wrapper (t, data)
+ tree *t;
+ void *data ATTRIBUTE_UNUSED;
+{
+ import_export_decl (*t);
+ if (!DECL_EXTERNAL (*t) && !TREE_USED (*t))
+ {
+ mark_used (*t);
+ synthesize_method (*t);
+ return 1;
+ }
+ return 0;
+}
+
/* This routine is called from the last rule in yyparse ().
Its job is to create all the code needed to initialize and
destroy the global aggregates. We do the destruction
@@ -3603,6 +3733,12 @@ finish_file ()
/*data=*/0))
reconsider = 1;
+ if (walk_globals (vlist_ctor_wrapper_p,
+ finish_vlist_ctor_wrapper,
+ /*data=*/0))
+ reconsider = 1;
+
+
/* The list of objects with static storage duration is built up
in reverse order, so we reverse it here. We also clear
STATIC_AGGREGATES so that any new aggregates added during the
diff --git a/gnu/dist/toolchain/gcc/cp/exception.cc b/gnu/dist/toolchain/gcc/cp/exception.cc
index 8e8f35f50db..59342c6423e 100644
--- a/gnu/dist/toolchain/gcc/cp/exception.cc
+++ b/gnu/dist/toolchain/gcc/cp/exception.cc
@@ -247,10 +247,10 @@ __cp_pop_exception (cp_eh_info *p)
if (p->cleanup)
/* 2 is a magic value for destructors; see build_delete(). */
- p->cleanup (p->value, 2);
+ p->cleanup (p->original_value, 2); // value may have been adjusted.
if (! __is_pointer (p->type))
- __eh_free (p->original_value); // value may have been co-erced.
+ __eh_free (p->original_value); // value may have been adjusted.
__eh_free (p);
}
diff --git a/gnu/dist/toolchain/gcc/cp/gxxint.texi b/gnu/dist/toolchain/gcc/cp/gxxint.texi
index 05f1373b252..81bcab86425 100644
--- a/gnu/dist/toolchain/gcc/cp/gxxint.texi
+++ b/gnu/dist/toolchain/gcc/cp/gxxint.texi
@@ -26,6 +26,7 @@ Questions and comments to Benjamin Kosnik @code{<bkoz@@cygnus.com>}.
* Exception Handling::
* Free Store::
* Mangling:: Function name mangling for C++ and Java
+* Vtables:: Two ways to do virtual functions
* Concept Index::
@end menu
@@ -190,7 +191,9 @@ accessed by the BINFO_ accessor macros.
The virtual function table holds information used in virtual function
dispatching. In the compiler, they are usually referred to as vtables,
or vtbls. The first index is not used in the normal way, I believe it
-is probably used for the virtual destructor.
+is probably used for the virtual destructor. There are two forms of
+virtual tables, one that has offsets in addition to pointers, and one
+using thunks. @xref{Vtables}.
@item vfield
@@ -1455,7 +1458,7 @@ To meet the first goal, we defer emission of inlines and vtables until
the end of the translation unit, where we can decide whether or not they
are needed, and how to emit them if they are.
-@node Mangling, Concept Index, Free Store, Top
+@node Mangling, Vtables, Free Store, Top
@section Function name mangling for C++ and Java
Both C++ and Jave provide overloaded function and methods,
@@ -1839,7 +1842,231 @@ Used for template type parameters.
The letters @samp{G}, @samp{M}, @samp{O}, and @samp{p}
also seem to be used for obscure purposes ...
-@node Concept Index, , Mangling, Top
+@node Vtables, Concept Index, Mangling, Top
+@section Virtual Tables
+
+In order to invoke virtual functions, GNU C++ uses virtual tables. Each
+virtual function gets an index, and the table entry points to the
+overridden function to call. Sometimes, and adjustment to the this
+pointer has to be made before calling a virtual function:
+
+@example
+struct A@{
+ int i;
+ virtual void foo();
+@};
+
+struct B@{
+ int j;
+ virtual void bar();
+@};
+
+struct C:A,B@{
+ virtual void bar();
+@};
+
+void C::bar()
+@{
+ i++;
+@}
+
+int main()
+@{
+ C *c = new C;
+ B *b = c;
+ c->bar();
+@}
+@end example
+
+Here, casting from @samp{c} to @samp{b} adds an offset. When @samp{bar}
+is called, this offset needs to be subtracted, so that @samp{C::bar} can
+properly access @samp{i}. One approach of achieving this is to use
+@emph{thunks}, which are small half-functions put into the virtual
+table. The modify the first argument (the @samp{this} pointer), and then
+jump into the real function.
+
+The other (traditional) approach is to have an additional integer in the
+virtual table which is added to this. This is an additional overhead
+both at the function call, and in the size of virtual tables: In the
+case of single inheritance (or for the first base class), these integers
+will always be zero.
+
+@subsection Virtual Base Classes with Virtual Tables
+
+In case of virtual bases, the code is even more
+complicated. Constructors and destructors need to know whether they are
+"in charge" of the virtual bases, and an implicit integer
+@samp{__in_chrg} for that purpose.
+
+@example
+struct A@{
+ int i;
+ virtual void bar();
+ void call_bar()@{bar();@}
+@};
+
+struct B:virtual A@{
+ B();
+ int j;
+ virtual void bar();
+@};
+
+B::B()@{
+ call_bar();
+@}
+
+struct C@{
+ int k;
+@};
+
+struct D:C,B@{
+ int l;
+ virtual void bar();
+@};
+
+@end example
+
+When constructing an instance of B, it will have the following layout:
+@samp{vbase pointer to A}, @samp{j}, @samp{A virtual table}, @samp{i}.
+On a 32-bit machine, downcasting from @samp{A*} to @samp{B*} would need
+to subtract 8, which would be the thunk executed when calling
+@samp{B::bar} inside @samp{call_bar}.
+
+When constructing an instance of D, it will have a different layout:
+@samp{k}, @samp{vbase pointer to A}, @samp{j}, @samp{l}, @samp{A virtual
+table}, @samp{i}. So, when downcasting from @samp{A*} to @samp{B*} in a
+@samp{D} object, the offset would be @samp{12}.
+
+This means that during construction of the @samp{B} base of a @samp{D}
+object, a virtual table is needed which has a @samp{-12} thunk to
+@samp{B::bar}. This is @emph{only} needed during construction and
+destruction, as the full object will use a @samp{-16} thunk to
+@samp{D::bar}.
+
+In order to implement this, the compiler generates an implicit argument
+(in addition to @code{__in_chrg}): the virtual list argument
+@code{__vlist}. This is a list of virtual tables needed during
+construction and destruction. The virtual pointers are ordered in the
+way they are used during construction; the destructors will process the
+array in reverse order. The ordering is as follows:
+@itemize @bullet
+@item
+If the class is in charge, the vlist starts with virtual table pointers
+for the virtual bases that have virtual bases themselves. Here, only
+@emph{polymorphic} virtual bases (pvbases) are interesting: if a vbase
+has no virtual functions, it doesn't have a virtual table.
+
+@item
+Next, the vlist has virtual tables for the initialization of the
+non-virtual bases. These bases are not in charge, so the layout is
+recursive, but ignores virtual bases during recursion.
+
+@item
+Next, there is a number of virtual tables for each virtual base. These
+are sorted in the order in which virtual bases are constructed. Each
+virtual base may have more than one @code{vfield}, and therefore require
+more than one @code{vtable}. The order of vtables is the same as used
+when initializing vfields of non-virtual bases in a constructor.
+@end itemize
+
+The compiler emits a virtual table list in a variable mangled as
+@code{__vl.classname}.
+
+Class with virtual bases, but without pvbases, only have the
+@code{__in_chrg} argument to their ctors and dtors: they don't have any
+vfields in the vbases to initialize.
+
+A further problem arises with virtual destructors: A destructor
+typically has only the @code{__in_chrg} argument, which also indicates
+whether the destructor should call @code{operator delete}. A dtor of a
+class with pvbases has an additional argument. Unfortunately, a caller
+of a virtual dtor might not know whether to pass that argument or not.
+Therefore, the dtor processes the @code{__vlist} argument in an
+automatic variable, which is initialized from the class' vlist if the
+__in_chrg flag has a zero value in bit 2 (bit mask 4), or from the
+argument @code{__vlist1} if bit 2 of the __in_chrg parameter is set to
+one.
+
+@subsection Specification of non-thunked vtables
+
+In the traditional implementation of vtables, each slot contains three
+fields: The offset to be added to the this pointer before invoking a
+virtual function, an unused field that is always zero, and the pointer
+to the virtual function. The first two fields are typically 16 bits
+wide. The unused field is called `index'; it may be non-zero in
+pointer-to-member-functions, which use the same layout.
+
+The virtual table then is an array of vtable slots. The first slot is
+always the virtual type info function, the other slots are in the order
+in which the virtual functions appear in the class declaration.
+
+If a class has base classes, it may inherit other bases' vfields. Each
+class may have a primary vfield; the primary vfield of the derived class
+is the primary vfield of the left-most non-virtual base class. If a
+class inherits a primary vfield, any new virtual functions in the
+derived class are appended to the virtual table of the primary
+vfield. If there are new virtual functions in the derived class, and no
+primary vfield is inherited, a new vfield is introduced which becomes
+primary. The redefined virtual functions fill the vtable slots inherited
+from the base; new virtual functions are put into the primary vtable in
+the order of declaration. If no new virtual functions are introduced, no
+primary vfield is allocated.
+
+In a base class that has pvbases, virtual tables are needed which are
+used only in the constructor (see example above). At run-time, the
+virtual tables of the base class are adjusted, to reflect the new offset
+of the pvbase. The compiler knows statically what offset the pvbase has
+for a complete object. At run-time, the offset of the pvbase can be
+extracted from the vbase pointer, which is set in the constructor of the
+complete object. These two offsets result in a delta, which is used to
+adjust the deltas in the vtable (the adjustment might be different for
+different vtable slots). To adjust the vtables, the compiler emits code
+that creates a vtable on the stack. This vtable is initialized with the
+vtable for the complete base type, and then adjusted.
+
+In order to call a virtual function, the compiler gets the offset field
+from the vtable entry, and adds it to the this pointer. It then
+indirectly calls the virtual function pointer, passing the adjusted this
+pointer, and any arguments the virtual function may have.
+
+To implement dynamic casting, the dynamic_cast function needs typeinfos
+for the complete type, and the pointer to the complete type. The
+typeinfo pointer is obtained by calling the virtual typeinfo function
+(which doesn't take a this parameter). The pointer to the complete
+object is obtained by adding the offset of the virtual typeinfo vtable
+slot, since this virtual function is always implemented in the complete
+object.
+
+@subsection Specification of thunked vtables
+
+For vtable thunks, each slot only consists of a pointer to the virtual
+function, which might be a thunk function. The first slot in the vtable
+is an offset of the this pointer to the complete object, which is needed
+as a parameter to __dynamic_cast. The second slot is the virtual
+typeinfo function. All other slots are allocated with the same procedure
+as in the non-thunked case. Allocation of vfields also uses the same
+procedure as described above.
+
+If the virtual function needs an adjusted this pointer, a thunk function
+is emitted. If supported by the target architecture, this is only a
+half-function. Such a thunk has no stack frame; it merely adjusts the
+first argument of the function, and then directly branches into the
+implementation of the virtual function. If the architecture does not
+support half-functions (i.e. if ASM_OUTPUT_MI_THUNK is not defined), the
+compiler emits a wrapper function, which copies all arguments, adjust
+the this pointer, and then calls the original function. Since objects of
+non-aggregate type are passed by invisible reference, this copies only
+POD arguments. The approach fails for virtual functions with a variable
+number of arguments.
+
+In order to support the vtables needed in base constructors with
+pvbases, the compiler passes an implicit __vlist argument as described
+above, if the version 2 thunks are used. For version 1 thunks, the base
+class constructor will fill in the vtables for the complete base class,
+which will incorrectly adjust the this pointer, leading to a dynamic
+error.
+
+@node Concept Index, , Vtables, Top
@section Concept Index
diff --git a/gnu/dist/toolchain/gcc/cp/init.c b/gnu/dist/toolchain/gcc/cp/init.c
index 38bf2487a93..d70fc3298b9 100644
--- a/gnu/dist/toolchain/gcc/cp/init.c
+++ b/gnu/dist/toolchain/gcc/cp/init.c
@@ -59,7 +59,8 @@ static tree initializing_context PROTO((tree));
static void expand_vec_init_try_block PROTO((tree));
static void expand_vec_init_catch_clause PROTO((tree, tree, tree, tree));
static tree build_java_class_ref PROTO((tree));
-static void expand_cleanup_for_base PROTO((tree, tree));
+static void expand_cleanup_for_base PROTO((tree, tree, tree));
+static int pvbasecount PROTO((tree, int));
/* Cache the identifier nodes for the magic field of a new cookie. */
static tree nc_nelts_field_id;
@@ -478,6 +479,93 @@ sort_base_init (t, rbase_ptr, vbase_ptr)
*vbase_ptr = vbases;
}
+/* Invoke a base-class destructor. REF is the object being destroyed,
+ BINFO is the base class, and DTOR_ARG indicates whether the base
+ class should invoke delete. */
+
+tree
+build_base_dtor_call (ref, binfo, dtor_arg)
+ tree ref, binfo, dtor_arg;
+{
+ tree args = NULL_TREE;
+ tree vlist = lookup_name (vlist_identifier, 0);
+ tree call, decr;
+
+ if (TYPE_USES_PVBASES (BINFO_TYPE (binfo)))
+ {
+ args = expr_tree_cons (NULL_TREE, vlist, args);
+ dtor_arg = build (BIT_IOR_EXPR, integer_type_node,
+ dtor_arg, build_int_2 (4, 0));
+ dtor_arg = fold (dtor_arg);
+ }
+ args = expr_tree_cons (NULL_TREE, dtor_arg, args);
+ call = build_scoped_method_call (ref, binfo, dtor_identifier, args);
+
+ if (!TYPE_USES_PVBASES (BINFO_TYPE (binfo)))
+ /* For plain inheritance, do not try to adjust __vlist. */
+ return call;
+
+ /* Now decrement __vlist by the number of slots consumed by the base
+ dtor. */
+ decr = build_int_2 (pvbasecount (BINFO_TYPE (binfo), 0), 0);
+ decr = build_binary_op (MINUS_EXPR, vlist, decr);
+ decr = build_modify_expr (vlist, NOP_EXPR, decr);
+
+ return build (COMPOUND_EXPR, void_type_node, call, decr);
+}
+
+/* Return the number of vlist entries needed to initialize TYPE,
+ depending on whether it is IN_CHARGE. */
+
+static int
+pvbasecount (type, in_charge)
+ tree type;
+ int in_charge;
+{
+ int i;
+ int result = 0;
+ tree vbase;
+
+ for (vbase = (CLASSTYPE_VBASECLASSES (type)); vbase;
+ vbase = TREE_CHAIN (vbase))
+ {
+ result += list_length (CLASSTYPE_VFIELDS (BINFO_TYPE (vbase)));
+ if (in_charge)
+ result += pvbasecount (BINFO_TYPE (vbase), 0);
+ }
+
+ for (i=0; i < CLASSTYPE_N_BASECLASSES (type); i++)
+ {
+ tree base = TREE_VEC_ELT (TYPE_BINFO_BASETYPES (type), i);
+ if (TREE_VIA_VIRTUAL (base))
+ continue;
+ result += pvbasecount (BINFO_TYPE (base), 0);
+ }
+ return result;
+}
+
+void
+init_vlist (t)
+ tree t;
+{
+ char *name;
+ tree expr;
+ tree vlist = lookup_name (vlist_identifier, 0);
+
+ name = alloca (strlen (VLIST_NAME_FORMAT)
+ + TYPE_ASSEMBLER_NAME_LENGTH (t) + 2);
+ sprintf (name, VLIST_NAME_FORMAT, TYPE_ASSEMBLER_NAME_STRING (t));
+
+ expr = get_identifier (name);
+ expr = lookup_name (expr, 0);
+ expr = build1 (ADDR_EXPR, TREE_TYPE (vlist), expr);
+ if (DECL_DESTRUCTOR_FOR_PVBASE_P (current_function_decl))
+ /* Move to the end of the vlist. */
+ expr = build_binary_op (PLUS_EXPR, expr,
+ build_int_2 (pvbasecount (t, 1), 0));
+ expand_expr_stmt (build_modify_expr (vlist, NOP_EXPR, expr));
+}
+
/* Perform whatever initializations have yet to be done on the base
class of the class variable. These actions are in the global
variable CURRENT_BASE_INIT_LIST. Such an action could be
@@ -510,6 +598,7 @@ emit_base_init (t, immediately)
tree binfos = BINFO_BASETYPES (t_binfo);
int i, n_baseclasses = binfos ? TREE_VEC_LENGTH (binfos) : 0;
tree expr = NULL_TREE;
+ tree vlist = lookup_name (vlist_identifier, 0);
if (! immediately)
{
@@ -581,7 +670,7 @@ emit_base_init (t, immediately)
free_temp_slots ();
}
- expand_cleanup_for_base (base_binfo, NULL_TREE);
+ expand_cleanup_for_base (base_binfo, vlist, NULL_TREE);
rbase_init_list = TREE_CHAIN (rbase_init_list);
}
@@ -750,30 +839,39 @@ expand_virtual_init (binfo, decl)
destroyed. */
static void
-expand_cleanup_for_base (binfo, flag)
+expand_cleanup_for_base (binfo, vlist, flag)
tree binfo;
+ tree vlist;
tree flag;
{
tree expr;
- if (!TYPE_NEEDS_DESTRUCTOR (BINFO_TYPE (binfo)))
- return;
+ if (TYPE_NEEDS_DESTRUCTOR (BINFO_TYPE (binfo)))
+ {
+ /* All cleanups must be on the function_obstack. */
+ push_obstacks_nochange ();
+ resume_temporary_allocation ();
- /* All cleanups must be on the function_obstack. */
- push_obstacks_nochange ();
- resume_temporary_allocation ();
+ /* Call the destructor. */
+ expr = build_base_dtor_call (current_class_ref, binfo,
+ integer_zero_node);
+ if (flag)
+ expr = fold (build (COND_EXPR, void_type_node,
+ truthvalue_conversion (flag),
+ expr, integer_zero_node));
- /* Call the destructor. */
- expr = (build_scoped_method_call
- (current_class_ref, binfo, dtor_identifier,
- build_expr_list (NULL_TREE, integer_zero_node)));
- if (flag)
- expr = fold (build (COND_EXPR, void_type_node,
- truthvalue_conversion (flag),
- expr, integer_zero_node));
+ pop_obstacks ();
+ add_partial_entry (expr);
+ }
- pop_obstacks ();
- add_partial_entry (expr);
+ if (TYPE_USES_PVBASES (BINFO_TYPE (binfo)))
+ {
+ /* Increment vlist by number of base's vbase classes. */
+ expr = build_int_2 (pvbasecount (BINFO_TYPE (binfo), 0), 0);
+ expr = build_binary_op (PLUS_EXPR, vlist, expr);
+ expr = build_modify_expr (vlist, NOP_EXPR, expr);
+ expand_expr_stmt (expr);
+ }
}
/* Subroutine of `expand_aggr_vbase_init'.
@@ -813,6 +911,7 @@ construct_virtual_bases (type, this_ref, this_ptr, init_list, flag)
{
tree vbases;
tree result;
+ tree vlist = NULL_TREE;
/* If there are no virtual baseclasses, we shouldn't even be here. */
my_friendly_assert (TYPE_USES_VIRTUAL_BASECLASSES (type), 19990621);
@@ -820,6 +919,11 @@ construct_virtual_bases (type, this_ref, this_ptr, init_list, flag)
/* First set the pointers in our object that tell us where to find
our virtual baseclasses. */
expand_start_cond (flag, 0);
+ if (TYPE_USES_PVBASES (type))
+ {
+ init_vlist (type);
+ vlist = lookup_name (vlist_identifier, 0);
+ }
result = init_vbase_pointers (type, this_ptr);
if (result)
expand_expr_stmt (build_compound_expr (result));
@@ -851,7 +955,7 @@ construct_virtual_bases (type, this_ref, this_ptr, init_list, flag)
init_list);
expand_end_cond ();
- expand_cleanup_for_base (vbases, flag);
+ expand_cleanup_for_base (vbases, vlist, flag);
}
}
@@ -1146,6 +1250,52 @@ expand_aggr_init (exp, init, flags)
TREE_THIS_VOLATILE (exp) = was_volatile;
}
+static tree
+no_vlist_base_init (rval, exp, init, binfo, flags)
+ tree rval, exp, init, binfo;
+ int flags;
+{
+ tree nrval, func, parms;
+
+ /* Obtain the vlist-expecting ctor. */
+ func = rval;
+ my_friendly_assert (TREE_CODE (func) == CALL_EXPR, 20000131);
+ func = TREE_OPERAND (func, 0);
+ my_friendly_assert (TREE_CODE (func) == ADDR_EXPR, 20000132);
+ func = TREE_OPERAND (func, 0);
+ my_friendly_assert (TREE_CODE (func) == FUNCTION_DECL, 20000133);
+
+ /* If we have already seen a definition for the wrapped function,
+ we don't need to declare it weak. Also, declare_weak will complain
+ if we do. */
+ if (!TREE_ASM_WRITTEN (func))
+ declare_weak (func);
+
+ if (init == NULL_TREE
+ || (TREE_CODE (init) == TREE_LIST && ! TREE_TYPE (init)))
+ {
+ parms = init;
+ if (parms)
+ init = TREE_VALUE (parms);
+ }
+ else
+ parms = build_expr_list (NULL_TREE, init);
+
+ flags &= ~LOOKUP_HAS_VLIST;
+
+ parms = expr_tree_cons (NULL_TREE, integer_zero_node, parms);
+ flags |= LOOKUP_HAS_IN_CHARGE;
+
+ nrval = build_method_call (exp, ctor_identifier,
+ parms, binfo, flags);
+
+ func = build (NE_EXPR, boolean_type_node,
+ func, null_pointer_node);
+ nrval = build (COND_EXPR, void_type_node,
+ func, rval, nrval);
+ return nrval;
+}
+
static void
expand_default_init (binfo, true_exp, exp, init, flags)
tree binfo;
@@ -1163,6 +1313,8 @@ expand_default_init (binfo, true_exp, exp, init, flags)
out, then look hard. */
tree rval;
tree parms;
+ tree vlist = NULL_TREE;
+ tree orig_init = init;
if (init && TREE_CODE (init) != TREE_LIST
&& (flags & LOOKUP_ONLYCONVERTING))
@@ -1206,6 +1358,21 @@ expand_default_init (binfo, true_exp, exp, init, flags)
if (TYPE_USES_VIRTUAL_BASECLASSES (type))
{
+ if (TYPE_USES_PVBASES (type))
+ {
+ /* In compatibility mode, when not calling a base ctor,
+ we do not pass the vlist argument. */
+ if (true_exp == exp)
+ vlist = flag_vtable_thunks_compat? NULL_TREE : vlist_zero_node;
+ else
+ vlist = lookup_name (vlist_identifier, 0);
+
+ if (vlist)
+ {
+ parms = expr_tree_cons (NULL_TREE, vlist, parms);
+ flags |= LOOKUP_HAS_VLIST;
+ }
+ }
if (true_exp == exp)
parms = expr_tree_cons (NULL_TREE, integer_one_node, parms);
else
@@ -1215,6 +1382,10 @@ expand_default_init (binfo, true_exp, exp, init, flags)
rval = build_method_call (exp, ctor_identifier,
parms, binfo, flags);
+ if (vlist && true_exp != exp && flag_vtable_thunks_compat)
+ {
+ rval = no_vlist_base_init (rval, exp, orig_init, binfo, flags);
+ }
if (TREE_SIDE_EFFECTS (rval))
expand_expr_stmt (rval);
}
@@ -2408,6 +2579,12 @@ build_new_1 (exp)
if (rval && TYPE_USES_VIRTUAL_BASECLASSES (true_type))
{
+ if (TYPE_USES_PVBASES (true_type)
+ && !flag_vtable_thunks_compat)
+ {
+ init = expr_tree_cons (NULL_TREE, vlist_zero_node, init);
+ flags |= LOOKUP_HAS_VLIST;
+ }
init = expr_tree_cons (NULL_TREE, integer_one_node, init);
flags |= LOOKUP_HAS_IN_CHARGE;
}
@@ -3123,9 +3300,21 @@ build_delete (type, addr, auto_delete, flags, use_global_delete)
else
passed_auto_delete = auto_delete;
- expr = build_method_call
- (ref, dtor_identifier, build_expr_list (NULL_TREE, passed_auto_delete),
- NULL_TREE, flags);
+ /* Maybe pass vlist pointer to destructor. */
+ if (TYPE_USES_PVBASES (type))
+ {
+ /* Pass vlist_zero even if in backwards compatibility mode,
+ as the extra argument should not hurt if it is not used. */
+ expr = build_expr_list (NULL_TREE, vlist_zero_node);
+ flags |= LOOKUP_HAS_VLIST;
+ }
+ else
+ expr = NULL_TREE;
+
+ expr = expr_tree_cons (NULL_TREE, passed_auto_delete, expr);
+
+ expr = build_method_call (ref, dtor_identifier, expr,
+ NULL_TREE, flags);
if (do_delete)
expr = build (COMPOUND_EXPR, void_type_node, expr, do_delete);
@@ -3181,14 +3370,13 @@ build_delete (type, addr, auto_delete, flags, use_global_delete)
{
tree this_auto_delete;
+ /* Should the base invoke delete? */
if (BINFO_OFFSET_ZEROP (base_binfo))
this_auto_delete = parent_auto_delete;
else
this_auto_delete = integer_zero_node;
- expr = build_scoped_method_call
- (ref, base_binfo, dtor_identifier,
- build_expr_list (NULL_TREE, this_auto_delete));
+ expr = build_base_dtor_call (ref, base_binfo, this_auto_delete);
exprstmt = expr_tree_cons (NULL_TREE, expr, exprstmt);
}
@@ -3200,9 +3388,7 @@ build_delete (type, addr, auto_delete, flags, use_global_delete)
|| TREE_VIA_VIRTUAL (base_binfo))
continue;
- expr = build_scoped_method_call
- (ref, base_binfo, dtor_identifier,
- build_expr_list (NULL_TREE, integer_zero_node));
+ expr = build_base_dtor_call (ref, base_binfo, integer_zero_node);
exprstmt = expr_tree_cons (NULL_TREE, expr, exprstmt);
}
diff --git a/gnu/dist/toolchain/gcc/cp/lang-specs.h b/gnu/dist/toolchain/gcc/cp/lang-specs.h
index 648bc1f0953..92cdf3a67da 100644
--- a/gnu/dist/toolchain/gcc/cp/lang-specs.h
+++ b/gnu/dist/toolchain/gcc/cp/lang-specs.h
@@ -1,5 +1,5 @@
/* Definitions for specs for C++.
- Copyright (C) 1995, 96-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -30,7 +30,7 @@ Boston, MA 02111-1307, USA. */
{"@c++",
#if USE_CPPLIB
{
- "%{E|M|MM:cpp -lang-c++ %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
+ "%{E|M|MM:cpp0 -lang-c++ %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
%{C:%{!E:%eGNU C++ does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
%{!no-gcc:-D__GNUC__=%v1 -D__GNUG__=%v1 -D__GNUC_MINOR__=%v2}\
@@ -62,7 +62,7 @@ Boston, MA 02111-1307, USA. */
%{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}\
%{!pipe:%g.s} %A\n }}}}"}},
#else /* ! USE_CPPLIB */
- {"cpp -lang-c++ %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
+ {"cpp0 -lang-c++ %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
%{C:%{!E:%eGNU C++ does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
%{!no-gcc:-D__GNUC__=%v1 -D__GNUG__=%v1 -D__GNUC_MINOR__=%v2}\
diff --git a/gnu/dist/toolchain/gcc/cp/method.c b/gnu/dist/toolchain/gcc/cp/method.c
index d4a667bdf82..79a9692fc7a 100644
--- a/gnu/dist/toolchain/gcc/cp/method.c
+++ b/gnu/dist/toolchain/gcc/cp/method.c
@@ -41,6 +41,7 @@ Boston, MA 02111-1307, USA. */
#include "hard-reg-set.h"
#include "flags.h"
#include "toplev.h"
+#include "decl.h"
/* TREE_LIST of the current inline functions that need to be
processed. */
@@ -88,6 +89,8 @@ static int is_back_referenceable_type PROTO((tree));
static int check_btype PROTO((tree));
static void build_mangled_name_for_type PROTO((tree));
static void build_mangled_name_for_type_with_Gcode PROTO((tree, int));
+static tree build_base_path PROTO((tree, int));
+
# define OB_INIT() (scratch_firstobj ? (obstack_free (&scratch_obstack, scratch_firstobj), 0) : 0)
# define OB_PUTC(C) (obstack_1grow (&scratch_obstack, (C)))
@@ -1349,6 +1352,15 @@ process_overload_item (parmtype, extra_Gcode)
#endif
case POINTER_TYPE:
+ /* Even though the vlist_type_node is PPPFe (i.e. `int
+ (***)(...)'), it is different from the any other occurence of
+ the pointer type, because the underlying function type is
+ different. */
+ if (parmtype == vlist_type_node)
+ {
+ OB_PUTS (VLIST_TYPE_NAME);
+ return;
+ }
OB_PUTC ('P');
more:
build_mangled_name_for_type (TREE_TYPE (parmtype));
@@ -1809,14 +1821,64 @@ get_id_2 (name, name2)
return get_identifier (obstack_base (&scratch_obstack));
}
-/* Returns a DECL_ASSEMBLER_NAME for the destructor of type TYPE. */
+/* Print a binfo path T, starting with the most derived class. If
+ OMIT_LAST is set, drop and return the most derived class. */
+
+static tree
+build_base_path (t, omit_last)
+ tree t;
+ int omit_last;
+{
+ tree ret = NULL_TREE;
+ if (BINFO_INHERITANCE_CHAIN (t))
+ ret = build_base_path (BINFO_INHERITANCE_CHAIN (t), omit_last);
+ else if (omit_last)
+ return t;
+ process_overload_item (BINFO_TYPE (t), 0);
+ return ret;
+}
+
+/* Return a mangled name for a vlist vtable, using the path of both
+ BASE and VBASE. */
tree
-build_destructor_name (type)
+get_vlist_vtable_id (base, vbase)
+ tree base, vbase;
+{
+ tree last;
+ OB_INIT ();
+ OB_PUTS (VCTABLE_NAME);
+ build_base_path (base, 0);
+ OB_PUTC ('_');
+ /* Since the base path should end where the vbase path starts, we
+ can omit the most-derived class in the vbase path. Check below
+ that this really happens. */
+ last = build_base_path (vbase, 1);
+ my_friendly_assert (BINFO_TYPE (last) == BINFO_TYPE (base), 990402);
+ OB_FINISH ();
+ return get_identifier (obstack_base (&scratch_obstack));
+}
+
+/* Returns a DECL_ASSEMBLER_NAME for the destructor of type TYPE. If
+ HAS_VLIST is set, also add the vlist argument. */
+
+tree
+build_destructor_name (type, has_vlist)
tree type;
+ int has_vlist;
{
- return build_overload_with_type (get_identifier (DESTRUCTOR_DECL_PREFIX),
- type);
+ OB_INIT ();
+ OB_PUTS (DESTRUCTOR_DECL_PREFIX);
+ start_squangling ();
+ build_mangled_name_for_type (type);
+ /* If we need backwards compatibility, we can get aways by
+ not linking type-safely, as the dtor will check whether
+ the argument was provided. */
+ if (has_vlist && !flag_vtable_thunks_compat)
+ OB_PUTS (VLIST_TYPE_NAME);
+ OB_FINISH ();
+ end_squangling ();
+ return get_identifier (obstack_base (&scratch_obstack));
}
/* Given a tree_code CODE, and some arguments (at least one),
@@ -2178,6 +2240,149 @@ emit_thunk (thunk_fndecl)
TREE_SET_CODE (thunk_fndecl, THUNK_DECL);
}
+void
+maybe_vlist_ctor_wrapper (fn, definep)
+ tree fn;
+ int definep;
+{
+ tree fntype, decl;
+ tree arg_types, parms, parm, basetype, pbasetype;
+ tree t, ctors;
+
+ if (!flag_vtable_thunks_compat
+ || !DECL_CONSTRUCTOR_FOR_PVBASE_P (fn))
+ return;
+
+ arg_types = TYPE_ARG_TYPES (TREE_TYPE (fn));
+ pbasetype = TREE_VALUE (arg_types);
+ basetype = TREE_TYPE (pbasetype);
+ parms = DECL_ARGUMENTS (fn);
+
+ /* Skip this, __in_chrg, and _vlist */
+ arg_types = TREE_CHAIN (TREE_CHAIN (TREE_CHAIN (arg_types)));
+
+
+ /* Add __in_charge. */
+ arg_types = hash_tree_chain (integer_type_node, arg_types);
+
+ /* Don't add this to arg_types, as build_cplus_method_type does so. */
+
+ fntype = build_cplus_method_type (basetype, TREE_TYPE (TREE_TYPE (fn)),
+ arg_types);
+
+ decl = build_lang_decl (FUNCTION_DECL, DECL_NAME (fn), fntype);
+ DECL_LANG_SPECIFIC (decl)->decl_flags = DECL_LANG_SPECIFIC (fn)->decl_flags;
+ DECL_EXTERNAL (decl) = 0;
+ TREE_PUBLIC (decl) = 1;
+ DECL_ARTIFICIAL (decl) = 1;
+ DECL_CONSTRUCTOR_P (decl) = 1;
+ DECL_CONSTRUCTOR_FOR_VBASE (decl) = CONSTRUCTOR_FOR_VBASE;
+ /* Claim that this is never a template instantiation. */
+ DECL_USE_TEMPLATE (decl) = 0;
+ DECL_TEMPLATE_INFO (decl) = NULL_TREE;
+
+ /* Set up clone argument trees for the thunk. */
+ parms = TREE_CHAIN (TREE_CHAIN (TREE_CHAIN (parms)));
+ /* Add this */
+ t = build_decl (PARM_DECL, this_identifier, pbasetype);
+ SET_DECL_ARTIFICIAL (t);
+ DECL_ARG_TYPE (t) = pbasetype;
+ DECL_REGISTER (t) = 1;
+ /* Add __in_charge. */
+ parm = build_decl (PARM_DECL, in_charge_identifier, integer_type_node);
+ SET_DECL_ARTIFICIAL (parm);
+ DECL_ARG_TYPE (parm) = integer_type_node;
+ TREE_CHAIN (parm) = t;
+ t = parm;
+
+ while (parms)
+ {
+ tree x = copy_node (parms);
+ TREE_CHAIN (x) = t;
+ DECL_CONTEXT (x) = decl;
+ t = x;
+ parms = TREE_CHAIN (parms);
+ }
+ parms = nreverse (t);
+ DECL_ARGUMENTS (decl) = parms;
+
+ DECL_ASSEMBLER_NAME (decl)
+ = build_decl_overload (DECL_NAME (decl),
+ TYPE_ARG_TYPES (TREE_TYPE (decl)), 2);
+
+ ctors = CLASSTYPE_METHOD_VEC (basetype);
+ if (ctors)
+ ctors = TREE_VEC_ELT (ctors, 0);
+ for ( ; ctors; ctors = OVL_NEXT (ctors))
+ if (DECL_ASSEMBLER_NAME (OVL_CURRENT (ctors))
+ == DECL_ASSEMBLER_NAME (decl))
+ break;
+
+ if (!ctors)
+ {
+ add_method (basetype, 0, decl);
+ cp_finish_decl (decl, NULL_TREE, NULL_TREE, 0, 0);
+ }
+ else
+ decl = OVL_CURRENT (ctors);
+
+ /* Remember the original function. */
+ DECL_VLIST_CTOR_WRAPPED (decl) = fn;
+
+ /* If this is called from start_method, definep is -1. Then we
+ are inside the class, and fn is inline by default. */
+ if (definep)
+ {
+ /* Record that the ctor is being defined, so we also emit the
+ wrapper later. */
+ if (DECL_THIS_INLINE (fn) || (definep == -1))
+ {
+ DECL_THIS_INLINE (decl) = 1;
+ DECL_INLINE (decl) = 1;
+ pushdecl_top_level (decl);
+ }
+ else
+ {
+ TREE_USED (decl) = 1;
+ TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) = 1;
+ }
+ mark_inline_for_output (decl);
+ }
+}
+
+static void
+emit_vlist_ctor_wrapper (decl)
+ tree decl;
+{
+ tree t, parms, fn;
+
+ current_function_is_thunk = 1;
+
+ parms = DECL_ARGUMENTS (decl);
+ fn = DECL_VLIST_CTOR_WRAPPED (decl);
+ mark_used (fn);
+
+ /* Build up the call to the real function. */
+ t = NULL_TREE;
+ /* Push this, __in_charge. */
+ t = expr_tree_cons (NULL_TREE, parms, t);
+ parms = TREE_CHAIN (parms);
+ t = expr_tree_cons (NULL_TREE, parms, t);
+ parms = TREE_CHAIN (parms);
+ /* Push 0 as __vlist. */
+ t = expr_tree_cons (NULL_TREE, vlist_zero_node, t);
+ /* Push rest of arguments. */
+ while (parms)
+ {
+ t = expr_tree_cons (NULL_TREE, parms, t);
+ parms = TREE_CHAIN (parms);
+ }
+ t = nreverse (t);
+ t = build_call (fn, TREE_TYPE (TREE_TYPE (fn)), t);
+ expand_expr_stmt (t);
+}
+
+
/* Code for synthesizing methods which have default semantics defined. */
/* For the anonymous union in TYPE, return the member that is at least as
@@ -2212,6 +2417,8 @@ do_build_copy_constructor (fndecl)
if (TYPE_USES_VIRTUAL_BASECLASSES (current_class_type))
parm = TREE_CHAIN (parm);
+ if (TYPE_USES_PVBASES (current_class_type))
+ parm = TREE_CHAIN (parm);
parm = convert_from_reference (parm);
if (TYPE_HAS_TRIVIAL_INIT_REF (current_class_type)
@@ -2408,6 +2615,16 @@ synthesize_method (fndecl)
int nested = (current_function_decl != NULL_TREE);
tree context = hack_decl_function_context (fndecl);
+ /* If this is a wrapper around a undefined vlist ctor, don't emit it
+ even if it is used. */
+ if (DECL_VLIST_CTOR_WRAPPER_P (fndecl))
+ {
+ tree orig_fn = DECL_VLIST_CTOR_WRAPPED (fndecl);
+ mark_used (orig_fn);
+ if (DECL_INITIAL (orig_fn) == NULL_TREE)
+ return;
+ }
+
if (at_eof)
import_export_decl (fndecl);
@@ -2429,7 +2646,11 @@ synthesize_method (fndecl)
tree arg_chain = FUNCTION_ARG_CHAIN (fndecl);
if (DECL_CONSTRUCTOR_FOR_VBASE_P (fndecl))
arg_chain = TREE_CHAIN (arg_chain);
- if (arg_chain != void_list_node)
+ else if (DECL_CONSTRUCTOR_FOR_PVBASE_P (fndecl))
+ arg_chain = TREE_CHAIN (TREE_CHAIN (arg_chain));
+ if (DECL_VLIST_CTOR_WRAPPER_P (fndecl))
+ emit_vlist_ctor_wrapper (fndecl);
+ else if (arg_chain != void_list_node)
do_build_copy_constructor (fndecl);
else if (TYPE_NEEDS_CONSTRUCTING (current_class_type))
setup_vtbl_ptr ();
diff --git a/gnu/dist/toolchain/gcc/cp/pt.c b/gnu/dist/toolchain/gcc/cp/pt.c
index ddbea0ac986..28c295695e4 100644
--- a/gnu/dist/toolchain/gcc/cp/pt.c
+++ b/gnu/dist/toolchain/gcc/cp/pt.c
@@ -161,6 +161,7 @@ static int coerce_template_template_parms PROTO((tree, tree, int,
static tree determine_specialization PROTO((tree, tree, tree *, int));
static int template_args_equal PROTO((tree, tree));
static void print_template_context PROTO((int));
+static int has_pvbases_p PROTO((tree, tree));
/* We use TREE_VECs to hold template arguments. If there is only one
level of template arguments, then the TREE_VEC contains the
@@ -4685,6 +4686,23 @@ tsubst_friend_class (friend_tmpl, args)
return friend_type;
}
+static int
+has_pvbases_p (t, pattern)
+ tree t, pattern;
+{
+ if (!TYPE_USES_VIRTUAL_BASECLASSES (t))
+ return 0;
+
+ if (TYPE_USES_PVBASES (pattern))
+ return 1;
+
+ for (t = CLASSTYPE_VBASECLASSES (t); t; t = TREE_CHAIN (t))
+ if (TYPE_VIRTUAL_P (BINFO_TYPE (t)))
+ return 1;
+
+ return 0;
+}
+
tree
instantiate_class_template (type)
tree type;
@@ -5035,6 +5053,13 @@ instantiate_class_template (type)
}
}
+ /* After we have calculated the bases, we can now compute whether we
+ have polymorphic vbases. This needs to happen before we
+ instantiate the methods, because the constructors may take
+ additional arguments. */
+ if (flag_vtable_thunks >= 2)
+ TYPE_USES_PVBASES (type) = has_pvbases_p (type, pattern);
+
/* Set up the list (TYPE_METHODS) and vector (CLASSTYPE_METHOD_VEC)
for this instantiation. */
for (t = TYPE_METHODS (pattern); t; t = TREE_CHAIN (t))
@@ -5716,9 +5741,17 @@ tsubst_decl (t, args, type, in_decl)
SET_DECL_IMPLICIT_INSTANTIATION (r);
register_specialization (r, gen_tmpl, argvec);
+
+ if (DECL_CONSTRUCTOR_P (r) || DECL_DESTRUCTOR_P (r))
+ {
+ maybe_retrofit_in_chrg (r);
+ grok_ctor_properties (ctx, r);
+ }
+
/* Set the mangled name for R. */
if (DECL_DESTRUCTOR_P (t))
- DECL_ASSEMBLER_NAME (r) = build_destructor_name (ctx);
+ DECL_ASSEMBLER_NAME (r) =
+ build_destructor_name (ctx, DECL_DESTRUCTOR_FOR_PVBASE_P (r));
else
{
/* Instantiations of template functions must be mangled
@@ -5761,11 +5794,14 @@ tsubst_decl (t, args, type, in_decl)
in_decl);
}
+#if 0
+ /* This has now moved further up. */
if (DECL_CONSTRUCTOR_P (r))
{
maybe_retrofit_in_chrg (r);
grok_ctor_properties (ctx, r);
}
+#endif
if (IDENTIFIER_OPNAME_P (DECL_NAME (r)))
grok_op_properties (r, DECL_VIRTUAL_P (r), DECL_FRIEND_P (r));
}
diff --git a/gnu/dist/toolchain/gcc/cp/rtti.c b/gnu/dist/toolchain/gcc/cp/rtti.c
index e0ce5cd8666..c8c1ba95255 100644
--- a/gnu/dist/toolchain/gcc/cp/rtti.c
+++ b/gnu/dist/toolchain/gcc/cp/rtti.c
@@ -363,8 +363,19 @@ get_tinfo_var (type)
return tdecl;
}
+/* Returns the decl for a function which will return a type_info node for
+ TYPE. This version does not mark the function used, for use in
+ set_rtti_entry; for the vtable case, we'll get marked in
+ finish_vtable_vardecl, when we know that we want to be emitted.
+
+ We do this to avoid emitting the tinfo node itself, since we don't
+ currently support DECL_DEFER_OUTPUT for variables. Also, we don't
+ associate constant pools with their functions properly, so we would
+ emit string constants and such even though we don't emit the actual
+ function. When those bugs are fixed, this function should go away. */
+
tree
-get_tinfo_fn (type)
+get_tinfo_fn_unused (type)
tree type;
{
tree name;
@@ -393,13 +404,23 @@ get_tinfo_fn (type)
pushdecl_top_level (d);
make_function_rtl (d);
- mark_used (d);
mark_inline_for_output (d);
pop_obstacks ();
return d;
}
+/* Likewise, but also mark it used. Called by various EH and RTTI code. */
+
+tree
+get_tinfo_fn (type)
+ tree type;
+{
+ tree d = get_tinfo_fn_unused (type);
+ mark_used (d);
+ return d;
+}
+
tree
get_typeid_1 (type)
tree type;
diff --git a/gnu/dist/toolchain/gcc/cp/search.c b/gnu/dist/toolchain/gcc/cp/search.c
index 8760c6aff7d..fb99f8f8eef 100644
--- a/gnu/dist/toolchain/gcc/cp/search.c
+++ b/gnu/dist/toolchain/gcc/cp/search.c
@@ -151,6 +151,9 @@ static int protected_accessible_p PROTO ((tree, tree, tree, tree));
static int friend_accessible_p PROTO ((tree, tree, tree, tree));
static void setup_class_bindings PROTO ((tree, int));
static int template_self_reference_p PROTO ((tree, tree));
+static void expand_direct_vtbls_init_thunks PROTO((tree, tree, int));
+static void expand_indirect_vtbls_init_thunks PROTO((tree, tree, tree));
+
/* Allocate a level of searching. */
@@ -2626,6 +2629,117 @@ fixup_virtual_upcast_offsets (real_binfo, binfo, init_self, can_elide, addr, ori
}
}
+/* Emit initialization of vfields of BASE, where the complete object
+ is pointed to by decl_ptr. DO_SELF indicates we have to do our own
+ vfield, otherwise only proceed to our own direct non-virtual bases. */
+
+static void
+expand_direct_vtbls_init_thunks (base, decl_ptr, do_self)
+ tree base, decl_ptr;
+ int do_self;
+{
+ tree addr, expr;
+ tree type = BINFO_TYPE (base);
+ tree binfos = BINFO_BASETYPES (base);
+ int i, n_baselinks = binfos ? TREE_VEC_LENGTH (binfos) : 0;
+ tree vlist = lookup_name (vlist_identifier, 0);
+ int in_dtor = DECL_DESTRUCTOR_FOR_PVBASE_P (current_function_decl);
+
+ my_friendly_assert (vlist != NULL_TREE, 990320);
+
+ if (in_dtor)
+ /* In the destructor, we find the vfield pointers for the bases in
+ reverse order, before we find our own vfield pointer. */
+ for (i = n_baselinks - 1; i >= 0; i--)
+ {
+ tree base_binfo = TREE_VEC_ELT (binfos, i);
+ int is_not_base_vtable
+ = i != CLASSTYPE_VFIELD_PARENT (type);
+ if (! TREE_VIA_VIRTUAL (base_binfo))
+ expand_direct_vtbls_init_thunks (base_binfo, decl_ptr,
+ is_not_base_vtable);
+ }
+
+ if (do_self && CLASSTYPE_VFIELDS (type))
+ {
+ addr = build_vbase_path (PLUS_EXPR, build_pointer_type (type),
+ decl_ptr, base, 1);
+ addr = build_indirect_ref (addr, "vptr");
+ addr = build_vfield_ref (addr, type);
+
+ /* In a destructor, we decrease the vlist before we retrieve the
+ value. In a constructor, we increase the vlist after we
+ retrieve the value. */
+ if (in_dtor)
+ {
+ expr = build_binary_op (MINUS_EXPR, vlist, integer_one_node);
+ expr = build_modify_expr (vlist, NOP_EXPR, expr);
+ expand_expr_stmt (expr);
+ }
+
+ /* Store the next vptr into the vbase's vptr. */
+ expr = build_indirect_ref (vlist, "__vlist");
+ expr = convert_force (TREE_TYPE (addr), expr, 0);
+ expr = build_modify_expr (addr, NOP_EXPR, expr);
+ expand_expr_stmt (expr);
+
+ /* Advance the vlist. */
+ if (!in_dtor)
+ {
+ expr = build_binary_op (PLUS_EXPR, vlist, integer_one_node);
+ expr = build_modify_expr (vlist, NOP_EXPR, expr);
+ expand_expr_stmt (expr);
+ }
+ }
+
+ if (!in_dtor)
+ for (i = 0; i < n_baselinks; i++)
+ {
+ tree base_binfo = TREE_VEC_ELT (binfos, i);
+ int is_not_base_vtable = i != CLASSTYPE_VFIELD_PARENT (type);
+ if (! TREE_VIA_VIRTUAL (base_binfo))
+ expand_direct_vtbls_init_thunks (base_binfo, decl_ptr,
+ is_not_base_vtable);
+ }
+}
+
+/* Like expand_indirect_vtbls_init below, but based on the vtable list
+ passed to the constructor. */
+
+static void
+expand_indirect_vtbls_init_thunks (binfo, true_exp, decl_ptr)
+ tree binfo;
+ tree true_exp, decl_ptr;
+{
+ tree type = BINFO_TYPE (binfo);
+ tree vbases = CLASSTYPE_VBASECLASSES (type);
+ struct vbase_info vi;
+
+ vi.decl_ptr = (true_exp ? build_unary_op (ADDR_EXPR, true_exp, 0)
+ : decl_ptr);
+ vi.vbase_types = vbases;
+
+ dfs_walk (binfo, dfs_find_vbases, unmarked_new_vtablep, &vi);
+
+ /* Initialized with vtables of type TYPE. */
+ for (; vbases; vbases = TREE_CHAIN (vbases))
+ {
+ tree addr;
+
+ if (!CLASSTYPE_VFIELD (BINFO_TYPE (vbases)))
+ /* This vbase doesn't have a vptr of its own. */
+ /* FIXME: check */
+ continue;
+
+ addr = convert_pointer_to_vbase (TREE_TYPE (vbases), decl_ptr);
+ expand_direct_vtbls_init_thunks (TYPE_BINFO (BINFO_TYPE (vbases)),
+ addr, 1);
+
+ }
+
+ dfs_walk (binfo, dfs_clear_vbase_slots, marked_new_vtablep, 0);
+}
+
/* Build a COMPOUND_EXPR which when expanded will generate the code
needed to initialize all the virtual function table slots of all
the virtual baseclasses. MAIN_BINFO is the binfo which determines
@@ -2657,6 +2771,12 @@ expand_indirect_vtbls_init (binfo, true_exp, decl_ptr)
mark_all_temps_used();
+ if (TYPE_USES_PVBASES (type))
+ {
+ expand_indirect_vtbls_init_thunks (binfo, true_exp, decl_ptr);
+ return;
+ }
+
if (TYPE_USES_VIRTUAL_BASECLASSES (type))
{
rtx fixup_insns = NULL_RTX;
diff --git a/gnu/dist/toolchain/gcc/cp/typeck2.c b/gnu/dist/toolchain/gcc/cp/typeck2.c
index 6322157e624..da98203bdc0 100644
--- a/gnu/dist/toolchain/gcc/cp/typeck2.c
+++ b/gnu/dist/toolchain/gcc/cp/typeck2.c
@@ -344,7 +344,7 @@ my_friendly_abort (i)
else
ack ("Internal compiler error %d.", i);
ack ("Please submit a full bug report.");
- ack ("See <URL:http://www.gnu.org/software/gcc/faq.html#bugreport> for instructions.");
+ ack ("See %s for instructions.", GCCBUGURL);
}
else
error ("confused by earlier errors, bailing out");
@@ -359,7 +359,7 @@ my_friendly_abort (i)
error ("Internal compiler error %d.", i);
error ("Please submit a full bug report.");
- fatal ("See <URL:http://www.gnu.org/software/gcc/faq.html#bugreport> for instructions.");
+ fatal ("See %s for instructions.", GCCBUGURL);
}
void
diff --git a/gnu/dist/toolchain/gcc/cppinit.c b/gnu/dist/toolchain/gcc/cppinit.c
index 4fb3ca8d94d..453cc5836c3 100644
--- a/gnu/dist/toolchain/gcc/cppinit.c
+++ b/gnu/dist/toolchain/gcc/cppinit.c
@@ -1,5 +1,6 @@
/* CPP Library.
- Copyright (C) 1986, 87, 89, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000 Free Software Foundation, Inc.
Contributed by Per Bothner, 1994-95.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -210,7 +211,7 @@ enum { QUOTE = 0, BRACKET, SYSTEM, AFTER };
/* If gcc is in use (stage2/stage3) we can make these tables initialized
data. */
#if defined __GNUC__ && (__GNUC__ > 2 \
- || (__GNUC__ == 2 && __GNUC_MINOR__ > 6))
+ || (__GNUC__ == 2 && __GNUC_MINOR__ > 8))
/* Table to tell if a character is legal as the second or later character
of a C identifier. */
U_CHAR is_idchar[256] =
diff --git a/gnu/dist/toolchain/gcc/cse.c b/gnu/dist/toolchain/gcc/cse.c
index 7182b74024e..ca40ab36e41 100644
--- a/gnu/dist/toolchain/gcc/cse.c
+++ b/gnu/dist/toolchain/gcc/cse.c
@@ -1,5 +1,6 @@
/* Common subexpression elimination for GNU compiler.
- Copyright (C) 1987, 88, 89, 92-7, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -42,12 +43,14 @@ Boston, MA 02111-1307, USA. */
expressions encountered with the cheapest equivalent expression.
It is too complicated to keep track of the different possibilities
- when control paths merge; so, at each label, we forget all that is
- known and start fresh. This can be described as processing each
- basic block separately. Note, however, that these are not quite
- the same as the basic blocks found by a later pass and used for
- data flow analysis and register packing. We do not need to start fresh
- after a conditional jump instruction if there is no label there.
+ when control paths merge in this code; so, at each label, we forget all
+ that is known and start fresh. This can be described as processing each
+ extended basic block separately. We have a separate pass to perform
+ global CSE.
+
+ Note CSE can turn a conditional or computed jump into a nop or
+ an unconditional jump. When this occurs we arrange to run the jump
+ optimizer after CSE to delete the unreachable code.
We use two data structures to record the equivalent expressions:
a hash table for most expressions, and several vectors together
@@ -7468,7 +7471,6 @@ cse_insn (insn, libcall_insn)
rtx new = emit_jump_insn_before (gen_jump (XEXP (src, 0)), insn);
JUMP_LABEL (new) = XEXP (src, 0);
LABEL_NUSES (XEXP (src, 0))++;
- delete_insn (insn);
insn = new;
}
else
@@ -7479,42 +7481,11 @@ cse_insn (insn, libcall_insn)
Until the right place is found, might as well do this here. */
INSN_CODE (insn) = -1;
- /* Now that we've converted this jump to an unconditional jump,
- there is dead code after it. Delete the dead code until we
- reach a BARRIER, the end of the function, or a label. Do
- not delete NOTEs except for NOTE_INSN_DELETED since later
- phases assume these notes are retained. */
-
- p = insn;
-
- while (NEXT_INSN (p) != 0
- && GET_CODE (NEXT_INSN (p)) != BARRIER
- && GET_CODE (NEXT_INSN (p)) != CODE_LABEL)
- {
- /* Note, we must update P with the return value from
- delete_insn, otherwise we could get an infinite loop
- if NEXT_INSN (p) had INSN_DELETED_P set. */
- if (GET_CODE (NEXT_INSN (p)) != NOTE
- || NOTE_LINE_NUMBER (NEXT_INSN (p)) == NOTE_INSN_DELETED)
- p = PREV_INSN (delete_insn (NEXT_INSN (p)));
- else
- p = NEXT_INSN (p);
- }
-
- /* If we don't have a BARRIER immediately after INSN, put one there.
- Much code assumes that there are no NOTEs between a JUMP_INSN and
- BARRIER. */
-
- if (NEXT_INSN (insn) == 0
- || GET_CODE (NEXT_INSN (insn)) != BARRIER)
- emit_barrier_before (NEXT_INSN (insn));
-
- /* We might have two BARRIERs separated by notes. Delete the second
- one if so. */
-
- if (p != insn && NEXT_INSN (p) != 0
- && GET_CODE (NEXT_INSN (p)) == BARRIER)
- delete_insn (NEXT_INSN (p));
+ /* Now emit a BARRIER after the unconditional jump. Do not bother
+ deleting any unreachable code, let jump/flow do that. */
+ if (NEXT_INSN (insn) != 0
+ && GET_CODE (NEXT_INSN (insn)) != BARRIER)
+ emit_barrier_after (insn);
cse_jumps_altered = 1;
sets[i].rtl = 0;
@@ -9007,9 +8978,6 @@ cse_basic_block (from, to, next_branch, around_loop)
insn = NEXT_INSN (to);
- if (LABEL_NUSES (to) == 0)
- insn = delete_insn (to);
-
/* If TO was the last insn in the function, we are done. */
if (insn == 0)
return 0;
diff --git a/gnu/dist/toolchain/gcc/dwarf2.h b/gnu/dist/toolchain/gcc/dwarf2.h
index ddbe1b823bb..d0ca2451b76 100644
--- a/gnu/dist/toolchain/gcc/dwarf2.h
+++ b/gnu/dist/toolchain/gcc/dwarf2.h
@@ -1,6 +1,7 @@
/* Declarations and definitions of codes relating to the DWARF2 symbolic
debugging information format.
- Copyright (C) 1992, 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1992, 1993, 1995, 1996, 1997, 2000
+ Free Software Foundation, Inc.
Contributed by Gary Funck (gary@intrepid.com). Derived from the
DWARF 1 implementation written by Ron Guilmette (rfg@monkeys.com).
@@ -501,7 +502,8 @@ enum dwarf_call_frame_info
/* GNU extensions */
DW_CFA_GNU_window_save = 0x2d,
- DW_CFA_GNU_args_size = 0x2e
+ DW_CFA_GNU_args_size = 0x2e,
+ DW_CFA_GNU_negative_offset_extended = 0x2f
};
#define DW_CIE_ID 0xffffffff
diff --git a/gnu/dist/toolchain/gcc/dwarf2out.c b/gnu/dist/toolchain/gcc/dwarf2out.c
index de3d26fcb34..7ce80506fdc 100644
--- a/gnu/dist/toolchain/gcc/dwarf2out.c
+++ b/gnu/dist/toolchain/gcc/dwarf2out.c
@@ -1,5 +1,6 @@
/* Output Dwarf2 format symbol table information from the GNU C compiler.
- Copyright (C) 1992, 93, 95-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1992, 1993, 1995, 1996, 1997, 1998, 1999, 2000 Free Software
+ Foundation, Inc.
Contributed by Gary Funck (gary@intrepid.com).
Derived from DWARF 1 implementation of Ron Guilmette (rfg@monkeys.com).
Extensively modified by Jason Merrill (jason@cygnus.com).
@@ -719,6 +720,8 @@ dwarf_cfi_name (cfi_opc)
return "DW_CFA_GNU_window_save";
case DW_CFA_GNU_args_size:
return "DW_CFA_GNU_args_size";
+ case DW_CFA_GNU_negative_offset_extended:
+ return "DW_CFA_GNU_negative_offset_extended";
default:
return "DW_CFA_<unknown>";
@@ -948,7 +951,10 @@ reg_save (label, reg, sreg, offset)
offset /= DWARF_CIE_DATA_ALIGNMENT;
if (offset < 0)
- abort ();
+ {
+ cfi->dw_cfi_opc = DW_CFA_GNU_negative_offset_extended;
+ offset = -offset;
+ }
cfi->dw_cfi_oprnd2.dw_cfi_offset = offset;
}
else
@@ -1635,6 +1641,7 @@ output_cfi (cfi, fde)
break;
#endif
case DW_CFA_offset_extended:
+ case DW_CFA_GNU_negative_offset_extended:
case DW_CFA_def_cfa:
output_uleb128 (cfi->dw_cfi_oprnd1.dw_cfi_reg_num);
fputc ('\n', asm_out_file);
diff --git a/gnu/dist/toolchain/gcc/expmed.c b/gnu/dist/toolchain/gcc/expmed.c
index ffe16fedaf4..35755c0f63f 100644
--- a/gnu/dist/toolchain/gcc/expmed.c
+++ b/gnu/dist/toolchain/gcc/expmed.c
@@ -1,6 +1,7 @@
/* Medium-level subroutines: convert bit-field store and extract
and shifts, multiplies and divides to rtl instructions.
- Copyright (C) 1987, 88, 89, 92-97, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -4194,9 +4195,11 @@ emit_store_flag (target, code, op0, op1, mode, unsignedp, normalizep)
comparison and then the scc insn.
compare_from_rtx may call emit_queue, which would be deleted below
- if the scc insn fails. So call it ourselves before setting LAST. */
+ if the scc insn fails. So call it ourselves before setting LAST.
+ Likewise for do_pending_stack_adjust. */
emit_queue ();
+ do_pending_stack_adjust ();
last = get_last_insn ();
comparison
diff --git a/gnu/dist/toolchain/gcc/expr.c b/gnu/dist/toolchain/gcc/expr.c
index 812e1fb661c..e3fe1f8f9f1 100644
--- a/gnu/dist/toolchain/gcc/expr.c
+++ b/gnu/dist/toolchain/gcc/expr.c
@@ -1,5 +1,6 @@
/* Convert tree expression to rtl instructions, for GNU compiler.
- Copyright (C) 1988, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -2679,19 +2680,79 @@ emit_move_insn_1 (x, y)
}
else
{
- /* Show the output dies here. This is necessary for pseudos;
+ rtx realpart_x, realpart_y;
+ rtx imagpart_x, imagpart_y;
+
+ /* If this is a complex value with each part being smaller than a
+ word, the usual calling sequence will likely pack the pieces into
+ a single register. Unfortunately, SUBREG of hard registers only
+ deals in terms of words, so we have a problem converting input
+ arguments to the CONCAT of two registers that is used elsewhere
+ for complex values. If this is before reload, we can copy it into
+ memory and reload. FIXME, we should see about using extract and
+ insert on integer registers, but complex short and complex char
+ variables should be rarely used. */
+ if (GET_MODE_BITSIZE (mode) < 2*BITS_PER_WORD
+ && (reload_in_progress | reload_completed) == 0)
+ {
+ int packed_dest_p = (REG_P (x) && REGNO (x) < FIRST_PSEUDO_REGISTER);
+ int packed_src_p = (REG_P (y) && REGNO (y) < FIRST_PSEUDO_REGISTER);
+
+ if (packed_dest_p || packed_src_p)
+ {
+ enum mode_class reg_class = ((class == MODE_COMPLEX_FLOAT)
+ ? MODE_FLOAT : MODE_INT);
+
+ enum machine_mode reg_mode =
+ mode_for_size (GET_MODE_BITSIZE (mode), reg_class, 1);
+
+ if (reg_mode != BLKmode)
+ {
+ rtx mem = assign_stack_temp (reg_mode,
+ GET_MODE_SIZE (mode), 0);
+
+ rtx cmem = change_address (mem, mode, NULL_RTX);
+
+ current_function_cannot_inline
+ = "function using short complex types cannot be inline";
+
+ if (packed_dest_p)
+ {
+ rtx sreg = gen_rtx_SUBREG (reg_mode, x, 0);
+ emit_move_insn_1 (cmem, y);
+ return emit_move_insn_1 (sreg, mem);
+ }
+ else
+ {
+ rtx sreg = gen_rtx_SUBREG (reg_mode, y, 0);
+ emit_move_insn_1 (mem, sreg);
+ return emit_move_insn_1 (x, cmem);
+ }
+ }
+ }
+ }
+
+ realpart_x = gen_realpart (submode, x);
+ realpart_y = gen_realpart (submode, y);
+ imagpart_x = gen_imagpart (submode, x);
+ imagpart_y = gen_imagpart (submode, y);
+
+ /* Show the output dies here. This is necessary for SUBREGs
+ of pseudos since we cannot track their lifetimes correctly;
hard regs shouldn't appear here except as return values.
We never want to emit such a clobber after reload. */
if (x != y
- && ! (reload_in_progress || reload_completed))
+ && ! (reload_in_progress || reload_completed)
+ && (GET_CODE (realpart_x) == SUBREG
+ || GET_CODE (imagpart_x) == SUBREG))
{
emit_insn (gen_rtx_CLOBBER (VOIDmode, x));
}
emit_insn (GEN_FCN (mov_optab->handlers[(int) submode].insn_code)
- (gen_realpart (submode, x), gen_realpart (submode, y)));
+ (realpart_x, realpart_y));
emit_insn (GEN_FCN (mov_optab->handlers[(int) submode].insn_code)
- (gen_imagpart (submode, x), gen_imagpart (submode, y)));
+ (imagpart_x, imagpart_y));
}
return get_last_insn ();
@@ -2703,6 +2764,8 @@ emit_move_insn_1 (x, y)
else if (GET_MODE_SIZE (mode) > UNITS_PER_WORD)
{
rtx last_insn = 0;
+ rtx seq;
+ int need_clobber;
#ifdef PUSH_ROUNDING
@@ -2715,15 +2778,9 @@ emit_move_insn_1 (x, y)
}
#endif
- /* Show the output dies here. This is necessary for pseudos;
- hard regs shouldn't appear here except as return values.
- We never want to emit such a clobber after reload. */
- if (x != y
- && ! (reload_in_progress || reload_completed))
- {
- emit_insn (gen_rtx_CLOBBER (VOIDmode, x));
- }
+ start_sequence ();
+ need_clobber = 0;
for (i = 0;
i < (GET_MODE_SIZE (mode) + (UNITS_PER_WORD - 1)) / UNITS_PER_WORD;
i++)
@@ -2745,9 +2802,27 @@ emit_move_insn_1 (x, y)
if (xpart == 0 || ypart == 0)
abort ();
+ need_clobber |= (GET_CODE (xpart) == SUBREG);
+
last_insn = emit_move_insn (xpart, ypart);
}
+ seq = gen_sequence ();
+ end_sequence ();
+
+ /* Show the output dies here. This is necessary for SUBREGs
+ of pseudos since we cannot track their lifetimes correctly;
+ hard regs shouldn't appear here except as return values.
+ We never want to emit such a clobber after reload. */
+ if (x != y
+ && ! (reload_in_progress || reload_completed)
+ && need_clobber != 0)
+ {
+ emit_insn (gen_rtx_CLOBBER (VOIDmode, x));
+ }
+
+ emit_insn (seq);
+
return last_insn;
}
else
@@ -6262,12 +6337,8 @@ expand_expr (exp, target, tmode, modifier)
}
temp = gen_rtx_MEM (mode, op0);
- /* If address was computed by addition,
- mark this as an element of an aggregate. */
- if (TREE_CODE (exp1) == PLUS_EXPR
- || (TREE_CODE (exp1) == SAVE_EXPR
- && TREE_CODE (TREE_OPERAND (exp1, 0)) == PLUS_EXPR)
- || AGGREGATE_TYPE_P (TREE_TYPE (exp))
+
+ if (AGGREGATE_TYPE_P (TREE_TYPE (exp))
|| (TREE_CODE (exp1) == ADDR_EXPR
&& (exp2 = TREE_OPERAND (exp1, 0))
&& AGGREGATE_TYPE_P (TREE_TYPE (exp2))))
diff --git a/gnu/dist/toolchain/gcc/f/ChangeLog b/gnu/dist/toolchain/gcc/f/ChangeLog
index 2e818152ca1..51c040e666a 100644
--- a/gnu/dist/toolchain/gcc/f/ChangeLog
+++ b/gnu/dist/toolchain/gcc/f/ChangeLog
@@ -1,3 +1,15 @@
+Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
+
+ * gcc-2.95.3 Released.
+
+Mon Mar 13 01:00:55 2000 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ * stw.h (struct _ffestw_): Change type of uses_ to int.
+
+Fri Feb 18 13:36:50 2000 Martin von Loewis <loewis@informatik.hu-berlin.de>
+
+ * g77spec.c (lang_specific_driver): Use GCCBUGURL.
+
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
* gcc-2.95.2 Released.
diff --git a/gnu/dist/toolchain/gcc/f/g77spec.c b/gnu/dist/toolchain/gcc/f/g77spec.c
index 50e773866b2..93a363cddb8 100644
--- a/gnu/dist/toolchain/gcc/f/g77spec.c
+++ b/gnu/dist/toolchain/gcc/f/g77spec.c
@@ -1,5 +1,5 @@
/* Specific flags and argument handling of the Fortran front-end.
- Copyright (C) 1997, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -428,7 +428,7 @@ For more information on g77 and gcc, type the commands `info -f g77'\n\
and `info -f gcc' to read the Info documentation.\n\
\n\
For bug reporting instructions, please see:\n\
-<URL:http://www.gnu.org/software/gcc/faq.html#bugreport>.\n");
+%s.\n", GCCBUGURL);
exit (0);
break;
#endif
diff --git a/gnu/dist/toolchain/gcc/f/lang-specs.h b/gnu/dist/toolchain/gcc/f/lang-specs.h
index b4492a6327d..f37d14d648e 100644
--- a/gnu/dist/toolchain/gcc/f/lang-specs.h
+++ b/gnu/dist/toolchain/gcc/f/lang-specs.h
@@ -1,5 +1,5 @@
/* lang-specs.h file for Fortran
- Copyright (C) 1995-1997, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
Contributed by James Craig Burley.
This file is part of GNU Fortran.
@@ -35,7 +35,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
Sun f77, at least) so you test `__unix' rather than `unix'.
-D_LANGUAGE_FORTRAN is used by some compilers like SGI and
might as well be in there. */
- {"cpp -lang-c %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
+ {"cpp0 -lang-c %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
%{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2}\
@@ -85,7 +85,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
%{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}\
%{!pipe:%g.s} %A\n }}}}"}},
{"@f77-version",
- {"cpp -lang-c %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I \
+ {"cpp0 -lang-c %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I \
%{C:%{!E:%eGNU C does not support -C without using -E}} \
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG} \
%{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2} \
diff --git a/gnu/dist/toolchain/gcc/f/stw.h b/gnu/dist/toolchain/gcc/f/stw.h
index 58818a61bf2..554d047e611 100644
--- a/gnu/dist/toolchain/gcc/f/stw.h
+++ b/gnu/dist/toolchain/gcc/f/stw.h
@@ -70,7 +70,7 @@ struct _ffestw_
ffewhereLine line_; /* Where first token of statement triggering
state */
ffewhereColumn col_; /* was seen in source file. */
- char uses_; /* # uses (new+use-kill calls). */
+ int uses_; /* # uses (new+use-kill calls). */
ffestvState state_;
int substate_; /* Used on a per-block-state basis. */
#if FFECOM_targetCURRENT == FFECOM_targetGCC
diff --git a/gnu/dist/toolchain/gcc/f/version.c b/gnu/dist/toolchain/gcc/f/version.c
index 5e8381f0fc4..4b695cdb3ac 100644
--- a/gnu/dist/toolchain/gcc/f/version.c
+++ b/gnu/dist/toolchain/gcc/f/version.c
@@ -1 +1 @@
-const char *ffe_version_string = "0.5.25 19991024 (release)";
+const char *ffe_version_string = "0.5.25 20010315 (release)";
diff --git a/gnu/dist/toolchain/gcc/final.c b/gnu/dist/toolchain/gcc/final.c
index a9ae2804dbd..11cfebf3462 100644
--- a/gnu/dist/toolchain/gcc/final.c
+++ b/gnu/dist/toolchain/gcc/final.c
@@ -3103,7 +3103,7 @@ alter_subreg (x)
PUT_CODE (x, MEM);
MEM_COPY_ATTRIBUTES (x, y);
MEM_ALIAS_SET (x) = MEM_ALIAS_SET (y);
- XEXP (x, 0) = plus_constant (XEXP (y, 0), offset);
+ XEXP (x, 0) = plus_constant_for_output (XEXP (y, 0), offset);
}
return x;
diff --git a/gnu/dist/toolchain/gcc/fixinc/fixincl.sh b/gnu/dist/toolchain/gcc/fixinc/fixincl.sh
index 56eebd60bc4..05722bdff01 100755
--- a/gnu/dist/toolchain/gcc/fixinc/fixincl.sh
+++ b/gnu/dist/toolchain/gcc/fixinc/fixincl.sh
@@ -125,7 +125,12 @@ for INPUT in ${INPUTLIST} ; do
cd ${ORIGDIR}
-cd ${INPUT} || continue
+# This originally used cd || continue, however, that does not work with the
+# Solaris2 /bin/sh.
+if [ ! -d ${INPUT} ]; then
+ continue
+fi
+cd ${INPUT}
INPUT=`${PWDCMD}`
#
diff --git a/gnu/dist/toolchain/gcc/fixinc/inclhack.sh b/gnu/dist/toolchain/gcc/fixinc/inclhack.sh
index f6fab88798b..c2d85b1a4bf 100755
--- a/gnu/dist/toolchain/gcc/fixinc/inclhack.sh
+++ b/gnu/dist/toolchain/gcc/fixinc/inclhack.sh
@@ -123,7 +123,12 @@ for INPUT in ${INPUTLIST} ; do
cd ${ORIGDIR}
-cd ${INPUT} || continue
+# This originally used cd || continue, however, that does not work with the
+# Solaris2 /bin/sh.
+if [ ! -d ${INPUT} ]; then
+ continue
+fi
+cd ${INPUT}
INPUT=`${PWDCMD}`
#
diff --git a/gnu/dist/toolchain/gcc/fixinc/inclhack.tpl b/gnu/dist/toolchain/gcc/fixinc/inclhack.tpl
index 587a8e53143..2c76483ba62 100644
--- a/gnu/dist/toolchain/gcc/fixinc/inclhack.tpl
+++ b/gnu/dist/toolchain/gcc/fixinc/inclhack.tpl
@@ -118,7 +118,12 @@ for INPUT in ${INPUTLIST} ; do
cd ${ORIGDIR}
-cd ${INPUT} || continue
+# This originally used cd || continue, however, that does not work with the
+# Solaris2 /bin/sh.
+if [ ! -d ${INPUT} ]; then
+ continue
+fi
+cd ${INPUT}
INPUT=`${PWDCMD}`
#
diff --git a/gnu/dist/toolchain/gcc/flow.c b/gnu/dist/toolchain/gcc/flow.c
index ac8fd6337ff..432a990220a 100644
--- a/gnu/dist/toolchain/gcc/flow.c
+++ b/gnu/dist/toolchain/gcc/flow.c
@@ -1,5 +1,6 @@
/* Data flow analysis for GNU compiler.
- Copyright (C) 1987, 88, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -1681,7 +1682,7 @@ delete_block (b)
basic_block b;
{
int deleted_handler = 0;
- rtx insn, end;
+ rtx insn, end, tmp;
/* If the head of this block is a CODE_LABEL, then it might be the
label for an exception handler which can't be reached.
@@ -1728,11 +1729,21 @@ delete_block (b)
}
}
- /* Selectively unlink the insn chain. Include any BARRIER that may
- follow the basic block. */
- end = next_nonnote_insn (b->end);
- if (!end || GET_CODE (end) != BARRIER)
- end = b->end;
+ /* Include any jump table following the basic block. */
+ end = b->end;
+ if (GET_CODE (end) == JUMP_INSN
+ && (tmp = JUMP_LABEL (end)) != NULL_RTX
+ && (tmp = NEXT_INSN (tmp)) != NULL_RTX
+ && GET_CODE (tmp) == JUMP_INSN
+ && (GET_CODE (PATTERN (tmp)) == ADDR_VEC
+ || GET_CODE (PATTERN (tmp)) == ADDR_DIFF_VEC))
+ end = tmp;
+
+ /* Include any barrier that may follow the basic block. */
+ tmp = next_nonnote_insn (b->end);
+ if (tmp && GET_CODE (tmp) == BARRIER)
+ end = tmp;
+
delete_insn_chain (insn, end);
no_delete_insns:
@@ -1796,6 +1807,7 @@ flow_delete_insn (insn)
{
rtx prev = PREV_INSN (insn);
rtx next = NEXT_INSN (insn);
+ rtx note;
PREV_INSN (insn) = NULL_RTX;
NEXT_INSN (insn) = NULL_RTX;
@@ -1815,6 +1827,10 @@ flow_delete_insn (insn)
if (GET_CODE (insn) == JUMP_INSN && JUMP_LABEL (insn))
LABEL_NUSES (JUMP_LABEL (insn))--;
+ /* Also if deleting an insn that references a label. */
+ else if ((note = find_reg_note (insn, REG_LABEL, NULL_RTX)) != NULL_RTX)
+ LABEL_NUSES (XEXP (note, 0))--;
+
return next;
}
@@ -2721,6 +2737,39 @@ propagate_block (old, first, last, final, significant, bnum, remove_dead_code)
can cause trouble for first or last insn in a basic block. */
if (final && insn_is_dead)
{
+ rtx inote;
+ /* If the insn referred to a label, note that the label is
+ now less used. */
+ for (inote = REG_NOTES (insn); inote; inote = XEXP (inote, 1))
+ {
+ if (REG_NOTE_KIND (inote) == REG_LABEL)
+ {
+ rtx label = XEXP (inote, 0);
+ rtx next;
+ LABEL_NUSES (label)--;
+
+ /* If this label was attached to an ADDR_VEC, it's
+ safe to delete the ADDR_VEC. In fact, it's pretty much
+ mandatory to delete it, because the ADDR_VEC may
+ be referencing labels that no longer exist. */
+ if (LABEL_NUSES (label) == 0
+ && (next = next_nonnote_insn (label)) != NULL
+ && GET_CODE (next) == JUMP_INSN
+ && (GET_CODE (PATTERN (next)) == ADDR_VEC
+ || GET_CODE (PATTERN (next)) == ADDR_DIFF_VEC))
+ {
+ rtx pat = PATTERN (next);
+ int diff_vec_p = GET_CODE (pat) == ADDR_DIFF_VEC;
+ int len = XVECLEN (pat, diff_vec_p);
+ int i;
+ for (i = 0; i < len; i++)
+ LABEL_NUSES (XEXP (XVECEXP (pat, diff_vec_p, i), 0))--;
+
+ flow_delete_insn (next);
+ }
+ }
+ }
+
PUT_CODE (insn, NOTE);
NOTE_LINE_NUMBER (insn) = NOTE_INSN_DELETED;
NOTE_SOURCE_FILE (insn) = 0;
diff --git a/gnu/dist/toolchain/gcc/fold-const.c b/gnu/dist/toolchain/gcc/fold-const.c
index 55dcf9bf1cf..a1901a86caa 100644
--- a/gnu/dist/toolchain/gcc/fold-const.c
+++ b/gnu/dist/toolchain/gcc/fold-const.c
@@ -1,5 +1,6 @@
/* Fold a constant sub-tree into a single node for C-compiler
- Copyright (C) 1987, 88, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -2131,7 +2132,7 @@ operand_equal_p (arg0, arg1, only_const)
case STRING_CST:
return (TREE_STRING_LENGTH (arg0) == TREE_STRING_LENGTH (arg1)
- && ! strncmp (TREE_STRING_POINTER (arg0),
+ && ! memcmp (TREE_STRING_POINTER (arg0),
TREE_STRING_POINTER (arg1),
TREE_STRING_LENGTH (arg0)));
@@ -3259,8 +3260,17 @@ make_range (exp, pin_p, plow, phigh)
low = range_binop (PLUS_EXPR, type, n_high, 0,
integer_one_node, 0);
high = range_binop (MINUS_EXPR, type, n_low, 0,
- integer_one_node, 0);
- in_p = ! in_p;
+ integer_one_node, 0);
+
+ /* If the range is of the form +/- [ x+1, x ], we won't
+ be able to normalize it. But then, it represents the
+ whole range or the empty set, so make it +/- [ -, - ].
+ */
+ if (tree_int_cst_equal (n_low, low)
+ && tree_int_cst_equal (n_high, high))
+ low = high = 0;
+ else
+ in_p = ! in_p;
}
else
low = n_low, high = n_high;
@@ -5625,7 +5635,15 @@ fold (expr)
tree newconst
= fold (build (PLUS_EXPR, TREE_TYPE (varop),
constop, TREE_OPERAND (varop, 1)));
- TREE_SET_CODE (varop, PREINCREMENT_EXPR);
+
+ /* Do not overwrite the current varop to be a preincrement,
+ create a new node so that we won't confuse our caller who
+ might create trees and throw them away, reusing the
+ arguments that they passed to build. This shows up in
+ the THEN or ELSE parts of ?: being postincrements. */
+ varop = build (PREINCREMENT_EXPR, TREE_TYPE (varop),
+ TREE_OPERAND (varop, 0),
+ TREE_OPERAND (varop, 1));
/* If VAROP is a reference to a bitfield, we must mask
the constant by the width of the field. */
@@ -5669,9 +5687,9 @@ fold (expr)
}
- t = build (code, type, TREE_OPERAND (t, 0),
- TREE_OPERAND (t, 1));
- TREE_OPERAND (t, constopnum) = newconst;
+ t = build (code, type,
+ (constopnum == 0) ? newconst : varop,
+ (constopnum == 1) ? newconst : varop);
return t;
}
}
@@ -5684,7 +5702,15 @@ fold (expr)
tree newconst
= fold (build (MINUS_EXPR, TREE_TYPE (varop),
constop, TREE_OPERAND (varop, 1)));
- TREE_SET_CODE (varop, PREDECREMENT_EXPR);
+
+ /* Do not overwrite the current varop to be a predecrement,
+ create a new node so that we won't confuse our caller who
+ might create trees and throw them away, reusing the
+ arguments that they passed to build. This shows up in
+ the THEN or ELSE parts of ?: being postdecrements. */
+ varop = build (PREDECREMENT_EXPR, TREE_TYPE (varop),
+ TREE_OPERAND (varop, 0),
+ TREE_OPERAND (varop, 1));
if (TREE_CODE (TREE_OPERAND (varop, 0)) == COMPONENT_REF
&& DECL_BIT_FIELD(TREE_OPERAND
@@ -5723,9 +5749,9 @@ fold (expr)
}
- t = build (code, type, TREE_OPERAND (t, 0),
- TREE_OPERAND (t, 1));
- TREE_OPERAND (t, constopnum) = newconst;
+ t = build (code, type,
+ (constopnum == 0) ? newconst : varop,
+ (constopnum == 1) ? newconst : varop);
return t;
}
}
diff --git a/gnu/dist/toolchain/gcc/frame.c b/gnu/dist/toolchain/gcc/frame.c
index b5f643e7043..990a0ac8117 100644
--- a/gnu/dist/toolchain/gcc/frame.c
+++ b/gnu/dist/toolchain/gcc/frame.c
@@ -1,6 +1,6 @@
/* Subroutines needed for unwinding stack frames for exception handling. */
/* Compile this one with gcc. */
-/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 2000 Free Software Foundation, Inc.
Contributed by Jason Merrill <jason@cygnus.com>.
This file is part of GNU CC.
@@ -714,6 +714,14 @@ execute_cfa_insn (void *p, struct frame_state_internal *state,
state->s.args_size = offset;
break;
+ case DW_CFA_GNU_negative_offset_extended:
+ p = decode_uleb128 (p, &reg);
+ p = decode_uleb128 (p, &offset);
+ offset *= info->data_align;
+ state->s.saved[reg] = REG_SAVED_OFFSET;
+ state->s.reg_or_offset[reg] = -offset;
+ break;
+
default:
abort ();
}
diff --git a/gnu/dist/toolchain/gcc/function.c b/gnu/dist/toolchain/gcc/function.c
index 5592e482e2f..edd0bca1216 100644
--- a/gnu/dist/toolchain/gcc/function.c
+++ b/gnu/dist/toolchain/gcc/function.c
@@ -1,5 +1,6 @@
/* Expands front end tree to back end RTL for GNU C-Compiler
- Copyright (C) 1987, 88, 89, 91-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
+ 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -1428,7 +1429,16 @@ free_temps_for_rtl_expr (t)
for (p = temp_slots; p; p = p->next)
if (p->rtl_expr == t)
- p->in_use = 0;
+ {
+ /* If this slot is below the current TEMP_SLOT_LEVEL, then it
+ needs to be preserved. This can happen if a temporary in
+ the RTL_EXPR was addressed; preserve_temp_slots will move
+ the temporary into a higher level. */
+ if (temp_slot_level <= p->level)
+ p->in_use = 0;
+ else
+ p->rtl_expr = NULL_TREE;
+ }
combine_temp_slots ();
}
@@ -3212,13 +3222,7 @@ purge_addressof_1 (loc, insn, force, store, ht)
/* Make sure to unshare any shared rtl that store_bit_field
might have created. */
- for (p = get_insns(); p; p = NEXT_INSN (p))
- {
- reset_used_flags (PATTERN (p));
- reset_used_flags (REG_NOTES (p));
- reset_used_flags (LOG_LINKS (p));
- }
- unshare_all_rtl (get_insns ());
+ unshare_all_rtl_again (get_insns ());
seq = gen_sequence ();
end_sequence ();
@@ -3470,6 +3474,20 @@ purge_addressof (insns)
hash_table_free (&ht);
purge_bitfield_addressof_replacements = 0;
purge_addressof_replacements = 0;
+
+ /* REGs are shared. purge_addressof will destructively replace a REG
+ with a MEM, which creates shared MEMs.
+
+ Unfortunately, the children of put_reg_into_stack assume that MEMs
+ referring to the same stack slot are shared (fixup_var_refs and
+ the associated hash table code).
+
+ So, we have to do another unsharing pass after we have flushed any
+ REGs that had their address taken into the stack.
+
+ It may be worth tracking whether or not we converted any REGs into
+ MEMs to avoid this overhead when it is not needed. */
+ unshare_all_rtl_again (get_insns ());
}
/* Pass through the INSNS of function FNDECL and convert virtual register
@@ -6695,7 +6713,10 @@ void
thread_prologue_and_epilogue_insns (f)
rtx f ATTRIBUTE_UNUSED;
{
- int insertted = 0;
+ int inserted = 0;
+#ifdef HAVE_prologue
+ rtx prologue_end = NULL_RTX;
+#endif
prologue = 0;
#ifdef HAVE_prologue
@@ -6712,7 +6733,7 @@ thread_prologue_and_epilogue_insns (f)
seq = get_insns ();
prologue = record_insns (seq);
- emit_note (NULL, NOTE_INSN_PROLOGUE_END);
+ prologue_end = emit_note (NULL, NOTE_INSN_PROLOGUE_END);
seq = gen_sequence ();
end_sequence ();
@@ -6725,7 +6746,7 @@ thread_prologue_and_epilogue_insns (f)
abort ();
insert_insn_on_edge (seq, ENTRY_BLOCK_PTR->succ);
- insertted = 1;
+ inserted = 1;
}
else
emit_insn_after (seq, f);
@@ -6857,8 +6878,56 @@ thread_prologue_and_epilogue_insns (f)
}
#endif
- if (insertted)
+ if (inserted)
commit_edge_insertions ();
+
+#ifdef HAVE_prologue
+ if (prologue_end)
+ {
+ rtx insn, prev;
+
+ /* GDB handles `break f' by setting a breakpoint on the first
+ line note *after* the prologue. Which means (1) that if
+ there are line number notes before where we inserted the
+ prologue we should move them, and (2) if there is no such
+ note, then we should generate one at the prologue. */
+
+ for (insn = prologue_end; insn ; insn = prev)
+ {
+ prev = PREV_INSN (insn);
+ if (GET_CODE (insn) == NOTE && NOTE_LINE_NUMBER (insn) > 0)
+ {
+ /* Note that we cannot reorder the first insn in the
+ chain, since rest_of_compilation relies on that
+ remaining constant. Do the next best thing. */
+ if (prev == NULL)
+ {
+ emit_line_note_after (NOTE_SOURCE_FILE (insn),
+ NOTE_LINE_NUMBER (insn),
+ prologue_end);
+ NOTE_LINE_NUMBER (insn) = NOTE_INSN_DELETED;
+ }
+ else
+ reorder_insns (insn, insn, prologue_end);
+ }
+ }
+
+ insn = NEXT_INSN (prologue_end);
+ if (! insn || GET_CODE (insn) != NOTE || NOTE_LINE_NUMBER (insn) <= 0)
+ {
+ for (insn = next_active_insn (f); insn ; insn = PREV_INSN (insn))
+ {
+ if (GET_CODE (insn) == NOTE && NOTE_LINE_NUMBER (insn) > 0)
+ {
+ emit_line_note_after (NOTE_SOURCE_FILE (insn),
+ NOTE_LINE_NUMBER (insn),
+ prologue_end);
+ break;
+ }
+ }
+ }
+ }
+ #endif
}
/* Reposition the prologue-end and epilogue-begin notes after instruction
diff --git a/gnu/dist/toolchain/gcc/gcc.c b/gnu/dist/toolchain/gcc/gcc.c
index ea9f6ac370c..d4dbf5ea9d6 100644
--- a/gnu/dist/toolchain/gcc/gcc.c
+++ b/gnu/dist/toolchain/gcc/gcc.c
@@ -1,5 +1,6 @@
/* Compiler driver program that can handle many languages.
- Copyright (C) 1987, 89, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -594,7 +595,7 @@ static struct compiler default_compilers[] =
{"@c",
{
#if USE_CPPLIB
- "%{E|M|MM:cpp -lang-c %{ansi:-std=c89} %{std*} %{nostdinc*}\
+ "%{E|M|MM:cpp0 -lang-c %{ansi:-std=c89} %{std*} %{nostdinc*}\
%{C} %{v} %{A*} %{I*} %{P} %{$} %I\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
@@ -630,7 +631,7 @@ static struct compiler default_compilers[] =
%{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}\
%{!pipe:%g.s} %A\n }}}}"
#else /* ! USE_CPPLIB */
- "cpp -lang-c %{ansi:-std=c89} %{std*} %{nostdinc*}\
+ "cpp0 -lang-c %{ansi:-std=c89} %{std*} %{nostdinc*}\
%{C} %{v} %{A*} %{I*} %{P} %{$} %I\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
@@ -658,7 +659,7 @@ static struct compiler default_compilers[] =
#endif /* ! USE_CPPLIB */
}},
{"-",
- {"%{E:cpp -lang-c %{ansi:-std=c89} %{std*} %{nostdinc*}\
+ {"%{E:cpp0 -lang-c %{ansi:-std=c89} %{std*} %{nostdinc*}\
%{C} %{v} %{A*} %{I*} %{P} %{$} %I\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
@@ -676,7 +677,7 @@ static struct compiler default_compilers[] =
{".h", {"@c-header"}},
{"@c-header",
{"%{!E:%eCompilation of header file requested} \
- cpp %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
+ cpp0 %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
%{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2}\
@@ -707,7 +708,7 @@ static struct compiler default_compilers[] =
%i %A\n }}}}"}},
{".S", {"@assembler-with-cpp"}},
{"@assembler-with-cpp",
- {"cpp -lang-asm %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
+ {"cpp0 -lang-asm %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG} %{trigraphs}\
-$ %{!undef:%p %P} -D__ASSEMBLER__ \
@@ -4963,7 +4964,7 @@ main (argc, argv)
if (! verbose_flag)
{
printf ("\nFor bug reporting instructions, please see:\n");
- printf ("<URL:http://www.gnu.org/software/gcc/faq.html#bugreport>.\n");
+ printf ("%s.\n", GCCBUGURL);
exit (0);
}
@@ -5156,7 +5157,7 @@ main (argc, argv)
if (print_help_list)
{
printf ("\nFor bug reporting instructions, please see:\n");
- printf ("<URL:http://www.gnu.org/software/gcc/faq.html#bugreport>\n");
+ printf ("%s\n", GCCBUGURL);
}
exit (error_count > 0 ? (signal_count ? 2 : 1) : 0);
diff --git a/gnu/dist/toolchain/gcc/gcc.texi b/gnu/dist/toolchain/gcc/gcc.texi
index d2bbbb55902..9c1f4505b05 100644
--- a/gnu/dist/toolchain/gcc/gcc.texi
+++ b/gnu/dist/toolchain/gcc/gcc.texi
@@ -100,7 +100,7 @@ Published by the Free Software Foundation
59 Temple Place - Suite 330
Boston, MA 02111-1307 USA
-Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
@@ -2263,7 +2263,7 @@ convention, in which bug reports for tool ``foo'' are sent
to @samp{bug-foo@@gnu.org}, the address @samp{bug-gcc@@gnu.org}
may also be used; it will forward to the address given above.
-Please read @samp{<URL:http://www.gnu.org/software/gcc/faq.html#bugreport>} for
+Please read @samp{<URL:http://www.gnu.org/software/gcc/bugs.html>} for
bug reporting instructions before you post a bug report.
Often people think of posting bug reports to the newsgroup instead of
@@ -2287,7 +2287,7 @@ Boston, MA 02111-1307, USA
@cindex compiler bugs, reporting
You may find additional and/or more up-to-date instructions at
-@samp{<URL:http://www.gnu.org/software/gcc/faq.html#bugreport>}.
+@samp{<URL:http://www.gnu.org/software/gcc/bugs.html>}.
The fundamental principle of reporting bugs usefully is this:
@strong{report all the facts}. If you are not sure whether to state a
diff --git a/gnu/dist/toolchain/gcc/glimits.h b/gnu/dist/toolchain/gcc/glimits.h
index 559e712d726..2878051f625 100644
--- a/gnu/dist/toolchain/gcc/glimits.h
+++ b/gnu/dist/toolchain/gcc/glimits.h
@@ -64,7 +64,7 @@
/* Minimum and maximum values a `signed long int' can hold.
(Same as `int'). */
#ifndef __LONG_MAX__
-#if defined (__alpha__) || defined (__sparc_v9__) || defined (__sparcv9)
+#if defined (__alpha__) || (defined (_ARCH_PPC) && defined (__64BIT__)) || defined (__sparc_v9__) || defined (__sparcv9)
#define __LONG_MAX__ 9223372036854775807L
#else
#define __LONG_MAX__ 2147483647L
diff --git a/gnu/dist/toolchain/gcc/intl/ChangeLog b/gnu/dist/toolchain/gcc/intl/ChangeLog
index 3938710c673..8ae82ac0c63 100644
--- a/gnu/dist/toolchain/gcc/intl/ChangeLog
+++ b/gnu/dist/toolchain/gcc/intl/ChangeLog
@@ -1,3 +1,7 @@
+Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
+
+ * gcc-2.95.3 Released.
+
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
* gcc-2.95.2 Released.
diff --git a/gnu/dist/toolchain/gcc/invoke.texi b/gnu/dist/toolchain/gcc/invoke.texi
index 230174c036c..e97495e1b6c 100644
--- a/gnu/dist/toolchain/gcc/invoke.texi
+++ b/gnu/dist/toolchain/gcc/invoke.texi
@@ -1,4 +1,5 @@
-@c Copyright (C) 1988, 89, 92-98, 1999 Free Software Foundation, Inc.
+@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+@c 2000, 2001 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@@ -93,7 +94,7 @@ in the following sections.
@item C Language Options
@xref{C Dialect Options,,Options Controlling C Dialect}.
@smallexample
--ansi -flang-isoc9x -fallow-single-precision -fcond-mismatch -fno-asm
+-ansi -fstd -fallow-single-precision -fcond-mismatch -fno-asm
-fno-builtin -ffreestanding -fhosted -fsigned-bitfields -fsigned-char
-funsigned-bitfields -funsigned-char -fwritable-strings
-traditional -traditional-cpp -trigraphs
@@ -667,14 +668,37 @@ programs that might use these names for other things.
The functions @code{alloca}, @code{abort}, @code{exit}, and
@code{_exit} are not builtin functions when @samp{-ansi} is used.
-@item -flang-isoc9x
-Enable support for features found in the C9X standard. In particular,
-enable support for the C9X @code{restrict} keyword.
+@item -fstd=
+Determine the language standard. A value for this option must be provided;
+possible values are
-Even when this option is not specified, you can still use some C9X
-features in so far as they do not conflict with previous C standards.
-For example, you may use @code{__restrict__} even when -flang-isoc9x
-is not specified.
+@itemize @minus
+@item iso9899:1990
+Same as -ansi
+
+@item iso9899:199409
+ISO C as modified in amend. 1
+
+@item iso9899:199x
+ISO C 9x
+
+@item c89
+same as -std=iso9899:1990
+
+@item c9x
+same as -std=iso9899:199x
+
+@item gnu89
+default, iso9899:1990 + gnu extensions
+
+@item gnu9x
+iso9899:199x + gnu extensions
+@end itemize
+
+Even when this option is not specified, you can still use some of the
+features of newer standards in so far as they do not conflict with
+previous C standards. For example, you may use @code{__restrict__} even
+when -fstd=c9x is not specified.
@item -fno-asm
Do not recognize @code{asm}, @code{inline} or @code{typeof} as a
@@ -1163,7 +1187,7 @@ anachronism. Therefore, by default it is invalid to assign to
type @samp{X *}. However, for backwards compatibility, you can make it
valid with @samp{-fthis-is-variable}.
-@item -fvtable-thunks
+@item -fvtable-thunks=@var{thunks-version}
Use @samp{thunks} to implement the virtual function dispatch table
(@samp{vtable}). The traditional (cfront-style) approach to
implementing vtables was to store a pointer to the function and two
@@ -1171,13 +1195,27 @@ offsets for adjusting the @samp{this} pointer at the call site. Newer
implementations store a single pointer to a @samp{thunk} function which
does any necessary adjustment and then calls the target function.
+The original implementation of thunks (version 1) had a bug regarding
+virtual base classes; this bug is fixed with version 2 of the thunks
+implementation. With setting the version to 2, compatibility to the
+version 1 thunks is provided, at the cost of extra machine code. Version
+3 does not include this compatibility.
+
This option also enables a heuristic for controlling emission of
vtables; if a class has any non-inline virtual functions, the vtable
will be emitted in the translation unit containing the first one of
those.
Like all options that change the ABI, all C++ code, @emph{including
-libgcc.a} must be built with the same setting of this option.
+libgcc.a} must be built with the same setting of this option. Since
+version 1 and version 2 are also incompatible (for classes with virtual
+bases defining virtual functions), all code must also be compiled with
+the same version.
+
+In this version of gcc, there are no targets for which version 2 thunks
+are the default. On all targets, not giving the option will use the
+traditional implementation, and -fvtable-thunks will produce version 2
+thunks.
@item -nostdinc++
Do not search for header files in the standard directories specific to
diff --git a/gnu/dist/toolchain/gcc/java/ChangeLog b/gnu/dist/toolchain/gcc/java/ChangeLog
index 8a7265e25b9..5dcbd7be72a 100644
--- a/gnu/dist/toolchain/gcc/java/ChangeLog
+++ b/gnu/dist/toolchain/gcc/java/ChangeLog
@@ -1,3 +1,7 @@
+Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
+
+ * gcc-2.95.3 Released.
+
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
* gcc-2.95.2 Released.
diff --git a/gnu/dist/toolchain/gcc/loop.c b/gnu/dist/toolchain/gcc/loop.c
index 7ee92e143a6..aca291dd6b1 100644
--- a/gnu/dist/toolchain/gcc/loop.c
+++ b/gnu/dist/toolchain/gcc/loop.c
@@ -1,5 +1,6 @@
/* Perform various loop optimizations, including strength reduction.
- Copyright (C) 1987, 88, 89, 91-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996,
+ 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -919,6 +920,7 @@ scan_loop (loop_start, end, loop_cont, unroll_p, bct_p)
&& VARRAY_INT (set_in_loop, regno) == 1
&& ! side_effects_p (SET_SRC (set))
&& ! find_reg_note (p, REG_RETVAL, NULL_RTX)
+ && ! find_reg_note (p, REG_LABEL, NULL_RTX)
&& (! SMALL_REGISTER_CLASSES
|| (! (GET_CODE (SET_SRC (set)) == REG
&& REGNO (SET_SRC (set)) < FIRST_PSEUDO_REGISTER)))
@@ -2773,6 +2775,7 @@ find_and_verify_loops (f)
{
rtx p;
rtx our_next = next_real_insn (insn);
+ rtx last_insn_to_move = NEXT_INSN (insn);
int dest_loop;
int outer_loop = -1;
@@ -2824,21 +2827,39 @@ find_and_verify_loops (f)
&& INSN_UID (JUMP_LABEL (p)) != 0
&& condjump_p (p)
&& ! simplejump_p (p)
- && next_real_insn (JUMP_LABEL (p)) == our_next)
+ && next_real_insn (JUMP_LABEL (p)) == our_next
+ /* If it's not safe to move the sequence, then we
+ mustn't try. */
+ && insns_safe_to_move_p (p, NEXT_INSN (insn),
+ &last_insn_to_move))
{
rtx target
= JUMP_LABEL (insn) ? JUMP_LABEL (insn) : get_last_insn ();
int target_loop_num = uid_loop_num[INSN_UID (target)];
- rtx loc;
+ rtx loc, loc2;
for (loc = target; loc; loc = PREV_INSN (loc))
if (GET_CODE (loc) == BARRIER
+ /* Don't move things inside a tablejump. */
+ && ((loc2 = next_nonnote_insn (loc)) == 0
+ || GET_CODE (loc2) != CODE_LABEL
+ || (loc2 = next_nonnote_insn (loc2)) == 0
+ || GET_CODE (loc2) != JUMP_INSN
+ || (GET_CODE (PATTERN (loc2)) != ADDR_VEC
+ && GET_CODE (PATTERN (loc2)) != ADDR_DIFF_VEC))
&& uid_loop_num[INSN_UID (loc)] == target_loop_num)
break;
if (loc == 0)
for (loc = target; loc; loc = NEXT_INSN (loc))
if (GET_CODE (loc) == BARRIER
+ /* Don't move things inside a tablejump. */
+ && ((loc2 = next_nonnote_insn (loc)) == 0
+ || GET_CODE (loc2) != CODE_LABEL
+ || (loc2 = next_nonnote_insn (loc2)) == 0
+ || GET_CODE (loc2) != JUMP_INSN
+ || (GET_CODE (PATTERN (loc2)) != ADDR_VEC
+ && GET_CODE (PATTERN (loc2)) != ADDR_DIFF_VEC))
&& uid_loop_num[INSN_UID (loc)] == target_loop_num)
break;
@@ -2879,11 +2900,13 @@ find_and_verify_loops (f)
/* Include the BARRIER after INSN and copy the
block after LOC. */
- new_label = squeeze_notes (new_label, NEXT_INSN (insn));
- reorder_insns (new_label, NEXT_INSN (insn), loc);
+ new_label = squeeze_notes (new_label,
+ last_insn_to_move);
+ reorder_insns (new_label, last_insn_to_move, loc);
/* All those insns are now in TARGET_LOOP_NUM. */
- for (q = new_label; q != NEXT_INSN (NEXT_INSN (insn));
+ for (q = new_label;
+ q != NEXT_INSN (last_insn_to_move);
q = NEXT_INSN (q))
uid_loop_num[INSN_UID (q)] = target_loop_num;
@@ -5678,6 +5701,7 @@ check_final_value (v, loop_start, loop_end, n_iterations)
or all uses follow that insn in the same basic block),
- its final value can be calculated (this condition is different
than the one above in record_giv)
+ - it's not used before it's set
- no assignments to the biv occur during the giv's lifetime. */
#if 0
@@ -5689,7 +5713,7 @@ check_final_value (v, loop_start, loop_end, n_iterations)
if ((final_value = final_giv_value (v, loop_start, loop_end, n_iterations))
&& (v->always_computable || last_use_this_basic_block (v->dest_reg, v->insn)))
{
- int biv_increment_seen = 0;
+ int biv_increment_seen = 0, before_giv_insn = 0;
rtx p = v->insn;
rtx last_giv_use;
@@ -5719,26 +5743,35 @@ check_final_value (v, loop_start, loop_end, n_iterations)
{
p = NEXT_INSN (p);
if (p == loop_end)
- p = NEXT_INSN (loop_start);
+ {
+ before_giv_insn = 1;
+ p = NEXT_INSN (loop_start);
+ }
if (p == v->insn)
break;
if (GET_CODE (p) == INSN || GET_CODE (p) == JUMP_INSN
|| GET_CODE (p) == CALL_INSN)
{
- if (biv_increment_seen)
+ /* It is possible for the BIV increment to use the GIV if we
+ have a cycle. Thus we must be sure to check each insn for
+ both BIV and GIV uses, and we must check for BIV uses
+ first. */
+
+ if (! biv_increment_seen
+ && reg_set_p (v->src_reg, PATTERN (p)))
+ biv_increment_seen = 1;
+
+ if (reg_mentioned_p (v->dest_reg, PATTERN (p)))
{
- if (reg_mentioned_p (v->dest_reg, PATTERN (p)))
+ if (biv_increment_seen || before_giv_insn)
{
v->replaceable = 0;
v->not_replaceable = 1;
break;
}
+ last_giv_use = p;
}
- else if (reg_set_p (v->src_reg, PATTERN (p)))
- biv_increment_seen = 1;
- else if (reg_mentioned_p (v->dest_reg, PATTERN (p)))
- last_giv_use = p;
}
}
@@ -5983,6 +6016,7 @@ basic_induction_var (x, mode, dest_reg, p, inc_val, mult_val, location)
insn = p;
while (1)
{
+ rtx dest;
do {
insn = PREV_INSN (insn);
} while (insn && GET_CODE (insn) == NOTE
@@ -5994,18 +6028,26 @@ basic_induction_var (x, mode, dest_reg, p, inc_val, mult_val, location)
if (set == 0)
break;
- if ((SET_DEST (set) == x
- || (GET_CODE (SET_DEST (set)) == SUBREG
- && (GET_MODE_SIZE (GET_MODE (SET_DEST (set)))
- <= UNITS_PER_WORD)
- && SUBREG_REG (SET_DEST (set)) == x))
- && basic_induction_var (SET_SRC (set),
- (GET_MODE (SET_SRC (set)) == VOIDmode
- ? GET_MODE (x)
- : GET_MODE (SET_SRC (set))),
- dest_reg, insn,
- inc_val, mult_val, location))
- return 1;
+ dest = SET_DEST (set);
+ if (dest == x
+ || (GET_CODE (dest) == SUBREG
+ && (GET_MODE_SIZE (GET_MODE (dest)) <= UNITS_PER_WORD)
+ && (GET_MODE_CLASS (GET_MODE (dest)) == MODE_INT)
+ && SUBREG_REG (dest) == x))
+ return basic_induction_var (SET_SRC (set),
+ (GET_MODE (SET_SRC (set)) == VOIDmode
+ ? GET_MODE (x)
+ : GET_MODE (SET_SRC (set))),
+ dest_reg, insn,
+ inc_val, mult_val, location);
+
+ while (GET_CODE (dest) == SIGN_EXTRACT
+ || GET_CODE (dest) == ZERO_EXTRACT
+ || GET_CODE (dest) == SUBREG
+ || GET_CODE (dest) == STRICT_LOW_PART)
+ dest = XEXP (dest, 0);
+ if (dest == x)
+ break;
}
/* ... fall through ... */
@@ -7696,6 +7738,7 @@ check_dbra_loop (loop_end, insn_count, loop_start, loop_info)
for (bl = loop_iv_list; bl; bl = bl->next)
{
if (bl->biv_count == 1
+ && ! bl->biv->maybe_multiple
&& bl->biv->dest_reg == XEXP (comparison, 0)
&& ! reg_used_between_p (regno_reg_rtx[bl->regno], bl->biv->insn,
first_compare))
@@ -7761,7 +7804,8 @@ check_dbra_loop (loop_end, insn_count, loop_start, loop_info)
}
}
}
- else if (INTVAL (bl->biv->add_val) > 0)
+ else if (GET_CODE (bl->biv->add_val) == CONST_INT
+ && INTVAL (bl->biv->add_val) > 0)
{
/* Try to change inc to dec, so can apply above optimization. */
/* Can do this if:
@@ -7852,7 +7896,7 @@ check_dbra_loop (loop_end, insn_count, loop_start, loop_info)
{
if (v->giv_type == DEST_REG
&& reg_mentioned_p (v->dest_reg,
- XEXP (loop_store_mems, 0))
+ PATTERN (first_loop_store_insn))
&& loop_insn_first_p (first_loop_store_insn, v->insn))
reversible_mem_store = 0;
}
@@ -8151,6 +8195,40 @@ check_dbra_loop (loop_end, insn_count, loop_start, loop_info)
bl->nonneg = 1;
}
+ /* No insn may reference both the reversed and another biv or it
+ will fail (see comment near the top of the loop reversal
+ code).
+ Earlier on, we have verified that the biv has no use except
+ counting, or it is the only biv in this function.
+ However, the code that computes no_use_except_counting does
+ not verify reg notes. It's possible to have an insn that
+ references another biv, and has a REG_EQUAL note with an
+ expression based on the reversed biv. To avoid this case,
+ remove all REG_EQUAL notes based on the reversed biv
+ here. */
+ for (p = loop_start; p != loop_end; p = NEXT_INSN (p))
+ if (GET_RTX_CLASS (GET_CODE (p)) == 'i')
+ {
+ rtx *pnote;
+ rtx set = single_set (p);
+ /* If this is a set of a GIV based on the reversed biv, any
+ REG_EQUAL notes should still be correct. */
+ if (! set
+ || GET_CODE (SET_DEST (set)) != REG
+ || (size_t) REGNO (SET_DEST (set)) >= reg_iv_type->num_elements
+ || REG_IV_TYPE (REGNO (SET_DEST (set))) != GENERAL_INDUCT
+ || REG_IV_INFO (REGNO (SET_DEST (set)))->src_reg != bl->biv->src_reg)
+ for (pnote = &REG_NOTES (p); *pnote;)
+ {
+ if (REG_NOTE_KIND (*pnote) == REG_EQUAL
+ && reg_mentioned_p (regno_reg_rtx[bl->regno],
+ XEXP (*pnote, 0)))
+ *pnote = XEXP (*pnote, 1);
+ else
+ pnote = &XEXP (*pnote, 1);
+ }
+ }
+
/* Mark that this biv has been reversed. Each giv which depends
on this biv, and which is also live past the end of the loop
will have to be fixed up. */
@@ -9310,6 +9388,7 @@ instrument_loop_bct (loop_start, loop_end, loop_num_iterations)
emit_jump_insn_before (gen_decrement_and_branch_on_count (counter_reg,
start_label),
loop_end);
+ JUMP_LABEL (prev_nonnote_insn (loop_end)) = start_label;
LABEL_NUSES (start_label)++;
}
@@ -9551,6 +9630,10 @@ load_mems (scan_start, end, loop_top, start)
mem_list_entry = XEXP (mem_list_entry, 1);
}
+ if (flag_float_store && written
+ && GET_MODE_CLASS (GET_MODE (mem)) == MODE_FLOAT)
+ loop_mems[i].optimize = 0;
+
/* If this MEM is written to, we must be sure that there
are no reads from another MEM that aliases this one. */
if (loop_mems[i].optimize && written)
diff --git a/gnu/dist/toolchain/gcc/objc/lang-specs.h b/gnu/dist/toolchain/gcc/objc/lang-specs.h
index 41dc097b502..7b9b2fa79cd 100644
--- a/gnu/dist/toolchain/gcc/objc/lang-specs.h
+++ b/gnu/dist/toolchain/gcc/objc/lang-specs.h
@@ -1,5 +1,5 @@
/* Definitions for specs for Objective-C.
- Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -24,7 +24,7 @@ Boston, MA 02111-1307, USA. */
{".m", {"@objective-c"}},
{"@objective-c",
#if USE_CPPLIB
- {"%{E|M|MM:cpp -lang-objc %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
+ {"%{E|M|MM:cpp0 -lang-objc %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
-D__OBJC__ %{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2}\
@@ -55,7 +55,7 @@ Boston, MA 02111-1307, USA. */
%{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}\
%{!pipe:%g.s} %A\n }}}}"}
#else /* ! USE_CPPLIB */
- {"cpp -lang-objc %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
+ {"cpp0 -lang-objc %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
-D__OBJC__ %{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2}\
diff --git a/gnu/dist/toolchain/gcc/optabs.c b/gnu/dist/toolchain/gcc/optabs.c
index 2b9091bcf4e..b360262d1df 100644
--- a/gnu/dist/toolchain/gcc/optabs.c
+++ b/gnu/dist/toolchain/gcc/optabs.c
@@ -1,5 +1,6 @@
/* Expand the basic unary and binary arithmetic operations, for GNU compiler.
- Copyright (C) 1987, 88, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -2887,8 +2888,14 @@ emit_libcall_block (insns, target, result, equiv)
rtx result;
rtx equiv;
{
+ rtx final_dest = target;
rtx prev, next, first, last, insn;
+ /* If this is a reg with REG_USERVAR_P set, then it could possibly turn
+ into a MEM later. Protect the libcall block from this change. */
+ if (! REG_P (target) || REG_USERVAR_P (target))
+ target = gen_reg_rtx (GET_MODE (target));
+
/* look for any CALL_INSNs in this sequence, and attach a REG_EH_REGION
reg note to indicate that this call cannot throw. (Unless there is
already a REG_EH_REGION note.) */
@@ -2952,6 +2959,9 @@ emit_libcall_block (insns, target, result, equiv)
!= CODE_FOR_nothing)
set_unique_reg_note (last, REG_EQUAL, copy_rtx (equiv));
+ if (final_dest != target)
+ emit_move_insn (final_dest, target);
+
if (prev == 0)
first = get_insns ();
else
diff --git a/gnu/dist/toolchain/gcc/po/ChangeLog b/gnu/dist/toolchain/gcc/po/ChangeLog
index 83babc471a0..cc2755b0567 100644
--- a/gnu/dist/toolchain/gcc/po/ChangeLog
+++ b/gnu/dist/toolchain/gcc/po/ChangeLog
@@ -1,3 +1,7 @@
+Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
+
+ * gcc-2.95.3 Released.
+
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
* gcc-2.95.2 Released.
diff --git a/gnu/dist/toolchain/gcc/reload.c b/gnu/dist/toolchain/gcc/reload.c
index d8b41363d36..7b4b38d88dc 100644
--- a/gnu/dist/toolchain/gcc/reload.c
+++ b/gnu/dist/toolchain/gcc/reload.c
@@ -1,5 +1,6 @@
/* Search an insn for pseudo regs that must be in hard regs and are not.
- Copyright (C) 1987, 88, 89, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997,
+ 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -322,7 +323,6 @@ static int find_reusable_reload PROTO((rtx *, rtx, enum reg_class,
static rtx find_dummy_reload PROTO((rtx, rtx, rtx *, rtx *,
enum machine_mode, enum machine_mode,
enum reg_class, int, int));
-static int earlyclobber_operand_p PROTO((rtx));
static int hard_reg_set_here_p PROTO((int, int, rtx));
static struct decomposition decompose PROTO((rtx));
static int immune_p PROTO((rtx, rtx, struct decomposition));
@@ -591,7 +591,13 @@ push_secondary_reload (in_p, x, opnum, optional, reload_class, reload_mode,
if (in_p && icode == CODE_FOR_nothing
&& SECONDARY_MEMORY_NEEDED (class, reload_class, mode))
- get_secondary_mem (x, reload_mode, opnum, type);
+ {
+ get_secondary_mem (x, reload_mode, opnum, type);
+
+ /* We may have just added new reloads. Make sure we add
+ the new reload at the end. */
+ s_reload = n_reloads;
+ }
#endif
/* We need to make a new secondary reload for this register class. */
@@ -1529,12 +1535,23 @@ push_reload (in, out, inloc, outloc, class,
&& GET_MODE_SIZE (inmode) <= GET_MODE_SIZE (GET_MODE (XEXP (note, 0)))
&& HARD_REGNO_MODE_OK (regno, inmode)
&& GET_MODE_SIZE (outmode) <= GET_MODE_SIZE (GET_MODE (XEXP (note, 0)))
- && HARD_REGNO_MODE_OK (regno, outmode)
- && TEST_HARD_REG_BIT (reg_class_contents[(int) class], regno)
- && !fixed_regs[regno])
+ && HARD_REGNO_MODE_OK (regno, outmode))
{
- reload_reg_rtx[i] = gen_rtx_REG (inmode, regno);
- break;
+ unsigned int offs;
+ unsigned int nregs = MAX (HARD_REGNO_NREGS (regno, inmode),
+ HARD_REGNO_NREGS (regno, outmode));
+
+ for (offs = 0; offs < nregs; offs++)
+ if (fixed_regs[regno + offs]
+ || ! TEST_HARD_REG_BIT (reg_class_contents[(int) class],
+ regno + offs))
+ break;
+
+ if (offs == nregs)
+ {
+ reload_reg_rtx[i] = gen_rtx_REG (inmode, regno);
+ break;
+ }
}
}
@@ -1989,7 +2006,7 @@ find_dummy_reload (real_in, real_out, inloc, outloc,
/* Return 1 if X is an operand of an insn that is being earlyclobbered. */
-static int
+int
earlyclobber_operand_p (x)
rtx x;
{
@@ -4666,7 +4683,7 @@ find_reloads_address (mode, memrefloc, ad, loc, opnum, type, ind_levels, insn)
else if (regno < FIRST_PSEUDO_REGISTER
&& REGNO_MODE_OK_FOR_BASE_P (regno, mode)
- && ! regno_clobbered_p (regno, this_insn))
+ && ! regno_clobbered_p (regno, this_insn, GET_MODE (ad), 0))
return 0;
/* If we do not have one of the cases above, we must do the reload. */
@@ -5346,7 +5363,12 @@ find_reloads_address_1 (mode, x, context, loc, opnum, type, ind_levels, insn)
&& (*insn_operand_predicate[icode][0]) (equiv, Pmode)
&& (*insn_operand_predicate[icode][1]) (equiv, Pmode)))
{
- loc = &XEXP (x, 0);
+ /* We use the original pseudo for loc, so that
+ emit_reload_insns() knows which pseudo this
+ reload refers to and updates the pseudo rtx, not
+ its equivalent memory location, as well as the
+ corresponding entry in reg_last_reload_reg. */
+ loc = &XEXP (x_orig, 0);
x = XEXP (x, 0);
reloadnum
= push_reload (x, x, loc, loc,
@@ -5354,13 +5376,6 @@ find_reloads_address_1 (mode, x, context, loc, opnum, type, ind_levels, insn)
GET_MODE (x), GET_MODE (x), 0, 0,
opnum, RELOAD_OTHER);
- /* If we created a new MEM based on reg_equiv_mem[REGNO], then
- LOC above is part of the new MEM, not the MEM in INSN.
-
- We must also replace the address of the MEM in INSN. */
- if (&XEXP (x_orig, 0) != loc)
- push_replacement (&XEXP (x_orig, 0), reloadnum, VOIDmode);
-
}
else
{
@@ -5500,7 +5515,7 @@ find_reloads_address_1 (mode, x, context, loc, opnum, type, ind_levels, insn)
in this insn, reload it into some other register to be safe.
The CLOBBER is supposed to make the register unavailable
from before this insn to after it. */
- if (regno_clobbered_p (regno, this_insn))
+ if (regno_clobbered_p (regno, this_insn, GET_MODE (x), 0))
{
push_reload (x, NULL_RTX, loc, NULL_PTR,
(context ? INDEX_REG_CLASS : BASE_REG_CLASS),
@@ -6260,16 +6275,29 @@ find_equiv_reg (goal, insn, class, other, reload_reg_p, goalreg, mode)
&& (valtry
= operand_subword (SET_DEST (pat), 1, 0, VOIDmode))
&& (valueno = true_regnum (valtry)) >= 0)))
- if (other >= 0
- ? valueno == other
- : ((unsigned) valueno < FIRST_PSEUDO_REGISTER
- && TEST_HARD_REG_BIT (reg_class_contents[(int) class],
- valueno)))
- {
- value = valtry;
- where = p;
- break;
- }
+ {
+ if (other >= 0)
+ {
+ if (valueno != other)
+ continue;
+ }
+ else if ((unsigned) valueno >= FIRST_PSEUDO_REGISTER)
+ continue;
+ else
+ {
+ int i;
+
+ for (i = HARD_REGNO_NREGS (valueno, mode) - 1; i >= 0; i--)
+ if (! TEST_HARD_REG_BIT (reg_class_contents[(int) class],
+ valueno + i))
+ break;
+ if (i >= 0)
+ continue;
+ }
+ value = valtry;
+ where = p;
+ break;
+ }
}
}
@@ -6312,15 +6340,22 @@ find_equiv_reg (goal, insn, class, other, reload_reg_p, goalreg, mode)
&& regno < valueno + HARD_REGNO_NREGS (valueno, mode))
return 0;
+ nregs = HARD_REGNO_NREGS (regno, mode);
+ valuenregs = HARD_REGNO_NREGS (valueno, mode);
+
/* Reject VALUE if it is one of the regs reserved for reloads.
Reload1 knows how to reuse them anyway, and it would get
confused if we allocated one without its knowledge.
(Now that insns introduced by reload are ignored above,
this case shouldn't happen, but I'm not positive.) */
- if (reload_reg_p != 0 && reload_reg_p != (short *) (HOST_WIDE_INT) 1
- && reload_reg_p[valueno] >= 0)
- return 0;
+ if (reload_reg_p != 0 && reload_reg_p != (short *) (HOST_WIDE_INT) 1)
+ {
+ int i;
+ for (i = 0; i < valuenregs; ++i)
+ if (reload_reg_p[valueno + i] >= 0)
+ return 0;
+ }
/* On some machines, certain regs must always be rejected
because they don't behave the way ordinary registers do. */
@@ -6330,9 +6365,6 @@ find_equiv_reg (goal, insn, class, other, reload_reg_p, goalreg, mode)
return 0;
#endif
- nregs = HARD_REGNO_NREGS (regno, mode);
- valuenregs = HARD_REGNO_NREGS (valueno, mode);
-
/* Reject VALUE if it is a register being used for an input reload
even if it is not one of those reserved. */
@@ -6368,16 +6400,23 @@ find_equiv_reg (goal, insn, class, other, reload_reg_p, goalreg, mode)
/* Don't trust the conversion past a function call
if either of the two is in a call-clobbered register, or memory. */
- if (GET_CODE (p) == CALL_INSN
- && ((regno >= 0 && regno < FIRST_PSEUDO_REGISTER
- && call_used_regs[regno])
- ||
- (valueno >= 0 && valueno < FIRST_PSEUDO_REGISTER
- && call_used_regs[valueno])
- ||
- goal_mem
- || need_stable_sp))
- return 0;
+ if (GET_CODE (p) == CALL_INSN)
+ {
+ int i;
+
+ if (goal_mem || need_stable_sp)
+ return 0;
+
+ if (regno >= 0 && regno < FIRST_PSEUDO_REGISTER)
+ for (i = 0; i < nregs; ++i)
+ if (call_used_regs[regno + i])
+ return 0;
+
+ if (valueno >= 0 && valueno < FIRST_PSEUDO_REGISTER)
+ for (i = 0; i < valuenregs; ++i)
+ if (call_used_regs[valueno + i])
+ return 0;
+ }
#ifdef NON_SAVING_SETJMP
if (NON_SAVING_SETJMP && GET_CODE (p) == NOTE
@@ -6613,13 +6652,23 @@ find_inc_amount (x, inced)
/* Return 1 if register REGNO is the subject of a clobber in insn INSN. */
int
-regno_clobbered_p (regno, insn)
+regno_clobbered_p (regno, insn, mode, sets)
int regno;
rtx insn;
+ enum machine_mode mode;
+ int sets;
{
- if (GET_CODE (PATTERN (insn)) == CLOBBER
+ int nregs = HARD_REGNO_NREGS (regno, mode);
+ int endregno = regno + nregs;
+
+ if ((GET_CODE (PATTERN (insn)) == CLOBBER
+ || (sets && GET_CODE (PATTERN (insn)) == SET))
&& GET_CODE (XEXP (PATTERN (insn), 0)) == REG)
- return REGNO (XEXP (PATTERN (insn), 0)) == regno;
+ {
+ int test = REGNO (XEXP (PATTERN (insn), 0));
+
+ return test >= regno && test < endregno;
+ }
if (GET_CODE (PATTERN (insn)) == PARALLEL)
{
@@ -6628,9 +6677,15 @@ regno_clobbered_p (regno, insn)
for (; i >= 0; i--)
{
rtx elt = XVECEXP (PATTERN (insn), 0, i);
- if (GET_CODE (elt) == CLOBBER && GET_CODE (XEXP (elt, 0)) == REG
- && REGNO (XEXP (elt, 0)) == regno)
- return 1;
+ if ((GET_CODE (elt) == CLOBBER
+ || (sets && GET_CODE (PATTERN (insn)) == SET))
+ && GET_CODE (XEXP (elt, 0)) == REG)
+ {
+ int test = REGNO (XEXP (elt, 0));
+
+ if (test >= regno && test < endregno)
+ return 1;
+ }
}
}
diff --git a/gnu/dist/toolchain/gcc/reload.h b/gnu/dist/toolchain/gcc/reload.h
index 968d3124af4..19988098ace 100644
--- a/gnu/dist/toolchain/gcc/reload.h
+++ b/gnu/dist/toolchain/gcc/reload.h
@@ -1,5 +1,6 @@
/* Communication between reload.c and reload1.c.
- Copyright (C) 1987, 91-95, 97, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1991, 1992, 1993, 1994, 1995, 1997, 1998, 2000
+ Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -296,7 +297,7 @@ extern rtx find_equiv_reg PROTO((rtx, rtx, enum reg_class, int, short *,
int, enum machine_mode));
/* Return 1 if register REGNO is the subject of a clobber in insn INSN. */
-extern int regno_clobbered_p PROTO((int, rtx));
+extern int regno_clobbered_p PROTO((int, rtx, enum machine_mode, int));
/* Functions in reload1.c: */
@@ -342,3 +343,5 @@ extern void save_call_clobbered_regs PROTO((void));
/* Replace (subreg (reg)) with the appropriate (reg) for any operands. */
extern void cleanup_subreg_operands PROTO ((rtx));
+
+extern int earlyclobber_operand_p PROTO((rtx));
diff --git a/gnu/dist/toolchain/gcc/reload1.c b/gnu/dist/toolchain/gcc/reload1.c
index 0ec2a924830..e95ff5e7ef5 100644
--- a/gnu/dist/toolchain/gcc/reload1.c
+++ b/gnu/dist/toolchain/gcc/reload1.c
@@ -1,5 +1,6 @@
/* Reload pseudo regs into hard regs for insns that require hard regs.
- Copyright (C) 1987, 88, 89, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997,
+ 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -420,9 +421,13 @@ static void clear_reload_reg_in_use PROTO((int, int, enum reload_type,
enum machine_mode));
static int reload_reg_free_p PROTO((int, int, enum reload_type));
static int reload_reg_free_for_value_p PROTO((int, int, enum reload_type, rtx, rtx, int, int));
+static int free_for_value_p PROTO((int, enum machine_mode, int,
+ enum reload_type, rtx, rtx,
+ int, int));
static int reload_reg_reaches_end_p PROTO((int, int, enum reload_type));
static int allocate_reload_reg PROTO((struct insn_chain *, int, int,
int));
+static int conflicts_with_override PROTO((rtx));
static void choose_reload_regs PROTO((struct insn_chain *));
static void merge_assigned_reloads PROTO((rtx));
static void emit_reload_insns PROTO((struct insn_chain *));
@@ -4518,7 +4523,10 @@ forget_old_reloads_1 (x, ignored)
reload reg in the current instruction. */
if (n_reloads == 0
|| ! TEST_HARD_REG_BIT (reg_is_output_reload, regno + i))
- CLEAR_HARD_REG_BIT (reg_reloaded_valid, regno + i);
+ {
+ CLEAR_HARD_REG_BIT (reg_reloaded_valid, regno + i);
+ spill_reg_store[regno + i] = 0;
+ }
}
/* Since value of X has changed,
@@ -4577,6 +4585,8 @@ reload_reg_class_lower (r1p, r2p)
/* The following HARD_REG_SETs indicate when each hard register is
used for a reload of various parts of the current insn. */
+/* If reg is unavailable for all reloads. */
+static HARD_REG_SET reload_reg_unavailable;
/* If reg is in use as a reload reg for a RELOAD_OTHER reload. */
static HARD_REG_SET reload_reg_used;
/* If reg is in use for a RELOAD_FOR_INPUT_ADDRESS reload for operand I. */
@@ -4799,8 +4809,8 @@ reload_reg_free_p (regno, opnum, type)
{
int i;
- /* In use for a RELOAD_OTHER means it's not available for anything. */
- if (TEST_HARD_REG_BIT (reload_reg_used, regno))
+ if (TEST_HARD_REG_BIT (reload_reg_used, regno)
+ || TEST_HARD_REG_BIT (reload_reg_unavailable, regno))
return 0;
switch (type)
@@ -5133,7 +5143,7 @@ reloads_conflict (r1, r2)
return (r2_type == RELOAD_FOR_INSN || r2_type == RELOAD_FOR_OUTPUT
|| ((r2_type == RELOAD_FOR_OUTPUT_ADDRESS
|| r2_type == RELOAD_FOR_OUTADDR_ADDRESS)
- && r2_opnum >= r1_opnum));
+ && r2_opnum <= r1_opnum));
case RELOAD_FOR_INSN:
return (r2_type == RELOAD_FOR_INPUT || r2_type == RELOAD_FOR_OUTPUT
@@ -5171,25 +5181,8 @@ rtx reload_override_in[MAX_RELOADS];
or -1 if we did not need a register for this reload. */
int reload_spill_index[MAX_RELOADS];
-/* Return 1 if the value in reload reg REGNO, as used by a reload
- needed for the part of the insn specified by OPNUM and TYPE,
- may be used to load VALUE into it.
-
- Other read-only reloads with the same value do not conflict
- unless OUT is non-zero and these other reloads have to live while
- output reloads live.
- If OUT is CONST0_RTX, this is a special case: it means that the
- test should not be for using register REGNO as reload register, but
- for copying from register REGNO into the reload register.
+/* Subroutine of free_for_value_p, used to check a single register. */
- RELOADNUM is the number of the reload we want to load this value for;
- a reload does not conflict with itself.
-
- When IGNORE_ADDRESS_RELOADS is set, we can not have conflicts with
- reloads that load an address for the very reload we are considering.
-
- The caller has to make sure that there is no conflict with the return
- register. */
static int
reload_reg_free_for_value_p (regno, opnum, type, value, out, reloadnum,
ignore_address_reloads)
@@ -5201,9 +5194,20 @@ reload_reg_free_for_value_p (regno, opnum, type, value, out, reloadnum,
int ignore_address_reloads;
{
int time1;
+ /* Set if we see an input reload that must not share its reload register
+ with any new earlyclobber, but might otherwise share the reload
+ register with an output or input-output reload. */
+ int check_earlyclobber = 0;
int i;
int copy = 0;
+ /* ??? reload_reg_used is abused to hold the registers that are not
+ available as spill registers, including hard registers that are
+ earlyclobbered in asms. As a temporary measure, reject anything
+ in reload_reg_used. */
+ if (TEST_HARD_REG_BIT (reload_reg_unavailable, regno))
+ return 0;
+
if (out == const0_rtx)
{
copy = 1;
@@ -5228,7 +5232,8 @@ reload_reg_free_for_value_p (regno, opnum, type, value, out, reloadnum,
switch (type)
{
case RELOAD_FOR_OTHER_ADDRESS:
- time1 = 0;
+ /* RELOAD_FOR_OTHER_ADDRESS conflicts with RELOAD_OTHER reloads. */
+ time1 = copy ? 0 : 1;
break;
case RELOAD_OTHER:
time1 = copy ? 1 : MAX_RECOG_OPERANDS * 5 + 5;
@@ -5320,6 +5325,7 @@ reload_reg_free_for_value_p (regno, opnum, type, value, out, reloadnum,
break;
case RELOAD_FOR_INPUT:
time2 = reload_opnum[i] * 4 + 4;
+ check_earlyclobber = 1;
break;
/* reload_opnum[i] * 4 + 4 <= (MAX_RECOG_OPERAND - 1) * 4 + 4
== MAX_RECOG_OPERAND * 4 */
@@ -5332,6 +5338,7 @@ reload_reg_free_for_value_p (regno, opnum, type, value, out, reloadnum,
break;
case RELOAD_FOR_OPERAND_ADDRESS:
time2 = MAX_RECOG_OPERANDS * 4 + 2;
+ check_earlyclobber = 1;
break;
case RELOAD_FOR_INSN:
time2 = MAX_RECOG_OPERANDS * 4 + 3;
@@ -5360,6 +5367,9 @@ reload_reg_free_for_value_p (regno, opnum, type, value, out, reloadnum,
if (! reload_in[i] || rtx_equal_p (reload_in[i], value))
{
time2 = MAX_RECOG_OPERANDS * 4 + 4;
+ /* Earlyclobbered outputs must conflict with inputs. */
+ if (earlyclobber_operand_p (reload_out[i]))
+ time2 = MAX_RECOG_OPERANDS * 4 + 3;
break;
}
time2 = 1;
@@ -5382,9 +5392,71 @@ reload_reg_free_for_value_p (regno, opnum, type, value, out, reloadnum,
}
}
}
+
+ /* Earlyclobbered outputs must conflict with inputs. */
+ if (check_earlyclobber && out && earlyclobber_operand_p (out))
+ return 0;
+
return 1;
}
+/* Return 1 if the value in reload reg REGNO, as used by a reload
+ needed for the part of the insn specified by OPNUM and TYPE,
+ may be used to load VALUE into it.
+
+ MODE is the mode in which the register is used, this is needed to
+ determine how many hard regs to test.
+
+ Other read-only reloads with the same value do not conflict
+ unless OUT is non-zero and these other reloads have to live while
+ output reloads live.
+ If OUT is CONST0_RTX, this is a special case: it means that the
+ test should not be for using register REGNO as reload register, but
+ for copying from register REGNO into the reload register.
+
+ RELOADNUM is the number of the reload we want to load this value for;
+ a reload does not conflict with itself.
+
+ When IGNORE_ADDRESS_RELOADS is set, we can not have conflicts with
+ reloads that load an address for the very reload we are considering.
+
+ The caller has to make sure that there is no conflict with the return
+ register. */
+
+static int
+free_for_value_p (regno, mode, opnum, type, value, out, reloadnum,
+ ignore_address_reloads)
+ int regno;
+ enum machine_mode mode;
+ int opnum;
+ enum reload_type type;
+ rtx value, out;
+ int reloadnum;
+ int ignore_address_reloads;
+{
+ int nregs = HARD_REGNO_NREGS (regno, mode);
+ while (nregs-- > 0)
+ if (! reload_reg_free_for_value_p (regno + nregs, opnum, type, value, out,
+ reloadnum, ignore_address_reloads))
+ return 0;
+ return 1;
+}
+
+/* Determine whether the reload reg X overlaps any rtx'es used for
+ overriding inheritance. Return nonzero if so. */
+
+static int
+conflicts_with_override (x)
+ rtx x;
+{
+ int i;
+ for (i = 0; i < n_reloads; i++)
+ if (reload_override_in[i]
+ && reg_overlap_mentioned_p (x, reload_override_in[i]))
+ return 1;
+ return 0;
+}
+
/* Find a spill register to use as a reload register for reload R.
LAST_RELOAD is non-zero if this is the last reload for the insn being
processed.
@@ -5465,11 +5537,10 @@ allocate_reload_reg (chain, r, last_reload, noerror)
/* We check reload_reg_used to make sure we
don't clobber the return register. */
&& ! TEST_HARD_REG_BIT (reload_reg_used, regnum)
- && reload_reg_free_for_value_p (regnum,
- reload_opnum[r],
- reload_when_needed[r],
- reload_in[r],
- reload_out[r], r, 1)))
+ && free_for_value_p (regnum, reload_mode[r],
+ reload_opnum[r],
+ reload_when_needed[r],
+ reload_in[r], reload_out[r], r, 1)))
&& TEST_HARD_REG_BIT (reg_class_contents[class], regnum)
&& HARD_REGNO_MODE_OK (regnum, reload_mode[r])
/* Look first for regs to share, then for unshared. But
@@ -5662,7 +5733,7 @@ choose_reload_regs (chain)
CLEAR_HARD_REG_SET (reload_reg_used_in_outaddr_addr[i]);
}
- IOR_COMPL_HARD_REG_SET (reload_reg_used, chain->used_spill_regs);
+ COMPL_HARD_REG_SET (reload_reg_unavailable, chain->used_spill_regs);
#if 0 /* Not needed, now that we can always retry without inheritance. */
/* See if we have more mandatory reloads than spill regs.
@@ -5924,10 +5995,9 @@ choose_reload_regs (chain)
&& (reload_nregs[r] == max_group_size
|| ! TEST_HARD_REG_BIT (reg_class_contents[(int) group_class],
i))
- && reload_reg_free_for_value_p (i, reload_opnum[r],
- reload_when_needed[r],
- reload_in[r],
- const0_rtx, r, 1))
+ && free_for_value_p (i, reload_mode[r], reload_opnum[r],
+ reload_when_needed[r], reload_in[r],
+ const0_rtx, r, 1))
{
/* If a group is needed, verify that all the subsequent
registers still have their values intact. */
@@ -5961,9 +6031,11 @@ choose_reload_regs (chain)
break;
if (i1 != n_earlyclobbers
- || ! (reload_reg_free_for_value_p
- (i, reload_opnum[r], reload_when_needed[r],
- reload_in[r], reload_out[r], r, 1))
+ || ! (free_for_value_p (i, reload_mode[r],
+ reload_opnum[r],
+ reload_when_needed[r],
+ reload_in[r],
+ reload_out[r], r, 1))
/* Don't use it if we'd clobber a pseudo reg. */
|| (TEST_HARD_REG_BIT (reg_used_in_insn, i)
&& reload_out[r]
@@ -5985,9 +6057,12 @@ choose_reload_regs (chain)
&& rtx_equal_p (reload_out[r],
reload_reg_rtx[r])))
{
- reload_override_in[r] = last_reg;
- reload_inheritance_insn[r]
- = reg_reloaded_insn[i];
+ if (! reload_optional[r])
+ {
+ reload_override_in[r] = last_reg;
+ reload_inheritance_insn[r]
+ = reg_reloaded_insn[i];
+ }
}
else
{
@@ -6065,10 +6140,11 @@ choose_reload_regs (chain)
and of the desired class. */
if (equiv != 0
&& ((TEST_HARD_REG_BIT (reload_reg_used_at_all, regno)
- && ! reload_reg_free_for_value_p (regno, reload_opnum[r],
- reload_when_needed[r],
- reload_in[r],
- reload_out[r], r, 1))
+ && ! free_for_value_p (regno, reload_mode[r],
+ reload_opnum[r],
+ reload_when_needed[r],
+ reload_in[r], reload_out[r], r,
+ 1))
|| ! TEST_HARD_REG_BIT (reg_class_contents[(int) reload_reg_class[r]],
regno)))
equiv = 0;
@@ -6086,7 +6162,8 @@ choose_reload_regs (chain)
if (reg_overlap_mentioned_for_reload_p (equiv,
reload_earlyclobbers[i]))
{
- reload_override_in[r] = equiv;
+ if (! reload_optional[r])
+ reload_override_in[r] = equiv;
equiv = 0;
break;
}
@@ -6097,7 +6174,8 @@ choose_reload_regs (chain)
In particular, we then can't use EQUIV for a
RELOAD_FOR_OUTPUT_ADDRESS reload. */
- if (equiv != 0 && regno_clobbered_p (regno, insn))
+ if (equiv != 0 && regno_clobbered_p (regno, insn,
+ reload_mode[r], 0))
{
switch (reload_when_needed[r])
{
@@ -6109,13 +6187,32 @@ choose_reload_regs (chain)
case RELOAD_OTHER:
case RELOAD_FOR_INPUT:
case RELOAD_FOR_OPERAND_ADDRESS:
- reload_override_in[r] = equiv;
+ if (! reload_optional[r])
+ reload_override_in[r] = equiv;
/* Fall through. */
default:
equiv = 0;
break;
}
}
+ else if (regno_clobbered_p (regno, insn, reload_mode[r], 1))
+ switch (reload_when_needed[r])
+ {
+ case RELOAD_FOR_OTHER_ADDRESS:
+ case RELOAD_FOR_INPADDR_ADDRESS:
+ case RELOAD_FOR_INPUT_ADDRESS:
+ case RELOAD_FOR_OPADDR_ADDR:
+ case RELOAD_FOR_OPERAND_ADDRESS:
+ case RELOAD_FOR_INPUT:
+ break;
+ case RELOAD_OTHER:
+ if (! reload_optional[r])
+ reload_override_in[r] = equiv;
+ /* Fall through. */
+ default:
+ equiv = 0;
+ break;
+ }
/* If we found an equivalent reg, say no code need be generated
to load it, and use it as our reload reg. */
@@ -6276,13 +6373,12 @@ choose_reload_regs (chain)
check_reg = reload_override_in[r];
else
continue;
- if (! reload_reg_free_for_value_p (true_regnum (check_reg),
- reload_opnum[r],
- reload_when_needed[r],
- reload_in[r],
- (reload_inherited[r]
- ? reload_out[r] : const0_rtx),
- r, 1))
+ if (! free_for_value_p (true_regnum (check_reg), reload_mode[r],
+ reload_opnum[r], reload_when_needed[r],
+ reload_in[r],
+ (reload_inherited[r]
+ ? reload_out[r] : const0_rtx),
+ r, 1))
{
if (pass)
continue;
@@ -6330,6 +6426,7 @@ choose_reload_regs (chain)
clear_reload_reg_in_use (regno, reload_opnum[j],
reload_when_needed[j], reload_mode[j]);
reload_reg_rtx[j] = 0;
+ reload_spill_index[j] = -1;
}
/* Record which pseudos and which spill regs have output reloads. */
@@ -6638,10 +6735,10 @@ emit_reload_insns (chain)
/* Don't use OLDEQUIV if any other reload changes it at an
earlier stage of this insn or at this stage. */
- if (! reload_reg_free_for_value_p (regno, reload_opnum[j],
- reload_when_needed[j],
- reload_in[j], const0_rtx, j,
- 0))
+ if (! free_for_value_p (regno, reload_mode[j],
+ reload_opnum[j],
+ reload_when_needed[j],
+ reload_in[j], const0_rtx, j, 0))
oldequiv = 0;
/* If it is no cheaper to copy from OLDEQUIV into the
@@ -6791,11 +6888,10 @@ emit_reload_insns (chain)
&& dead_or_set_p (insn, old)
/* This is unsafe if some other reload
uses the same reg first. */
- && reload_reg_free_for_value_p (REGNO (reloadreg),
- reload_opnum[j],
- reload_when_needed[j],
- old, reload_out[j],
- j, 0))
+ && ! conflicts_with_override (reloadreg)
+ && free_for_value_p (REGNO (reloadreg), reload_mode[j],
+ reload_opnum[j], reload_when_needed[j],
+ old, reload_out[j], j, 0))
{
rtx temp = PREV_INSN (insn);
while (temp && GET_CODE (temp) == NOTE)
@@ -7104,7 +7200,8 @@ emit_reload_insns (chain)
/* We don't need to test full validity of last_regno for
inherit here; we only want to know if the store actually
matches the pseudo. */
- if (reg_reloaded_contents[last_regno] == pseudo_no
+ if (TEST_HARD_REG_BIT (reg_reloaded_valid, last_regno)
+ && reg_reloaded_contents[last_regno] == pseudo_no
&& spill_reg_store[last_regno]
&& rtx_equal_p (pseudo, spill_reg_stored_to[last_regno]))
delete_output_reload (insn, j, last_regno);
@@ -7280,7 +7377,7 @@ emit_reload_insns (chain)
|| !(set = single_set (insn))
|| rtx_equal_p (old, SET_DEST (set))
|| !reg_mentioned_p (old, SET_SRC (set))
- || !regno_clobbered_p (REGNO (old), insn))
+ || !regno_clobbered_p (REGNO (old), insn, reload_mode[j], 0))
gen_reload (old, reloadreg, reload_opnum[j],
reload_when_needed[j]);
}
diff --git a/gnu/dist/toolchain/gcc/rtl.h b/gnu/dist/toolchain/gcc/rtl.h
index 8eba5eab5d9..efbf588d769 100644
--- a/gnu/dist/toolchain/gcc/rtl.h
+++ b/gnu/dist/toolchain/gcc/rtl.h
@@ -1,5 +1,6 @@
/* Register Transfer Language (RTL) definitions for GNU C-Compiler
- Copyright (C) 1987, 91-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -1084,6 +1085,7 @@ extern int for_each_rtx PROTO((rtx *, rtx_function, void *));
extern rtx regno_use_in PROTO((int, rtx));
extern int auto_inc_p PROTO((rtx));
extern void remove_node_from_expr_list PROTO((rtx, rtx *));
+extern int insns_safe_to_move_p PROTO((rtx, rtx, rtx *));
/* flow.c */
@@ -1390,7 +1392,7 @@ extern int subreg_realpart_p PROTO ((rtx));
extern void reverse_comparison PROTO ((rtx));
extern void set_new_first_and_last_insn PROTO ((rtx, rtx));
extern void set_new_first_and_last_label_num PROTO ((int, int));
-extern void unshare_all_rtl PROTO ((rtx));
+extern void unshare_all_rtl_again PROTO ((rtx));
extern void set_last_insn PROTO ((rtx));
extern void link_cc0_insns PROTO ((rtx));
extern void add_insn PROTO ((rtx));
diff --git a/gnu/dist/toolchain/gcc/rtlanal.c b/gnu/dist/toolchain/gcc/rtlanal.c
index fb4f87c07de..d1b94323b36 100644
--- a/gnu/dist/toolchain/gcc/rtlanal.c
+++ b/gnu/dist/toolchain/gcc/rtlanal.c
@@ -1,5 +1,6 @@
/* Analyze RTL for C-Compiler
- Copyright (C) 1987, 88, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -2289,3 +2290,82 @@ auto_inc_p (x)
}
return 0;
}
+
+/* Return 1 if the sequence of instructions beginning with FROM and up
+ to and including TO is safe to move. If NEW_TO is non-NULL, and
+ the sequence is not already safe to move, but can be easily
+ extended to a sequence which is safe, then NEW_TO will point to the
+ end of the extended sequence.
+
+ For now, this function only checks that the region contains whole
+ exception regiongs, but it could be extended to check additional
+ conditions as well. */
+
+int
+insns_safe_to_move_p (from, to, new_to)
+ rtx from;
+ rtx to;
+ rtx *new_to;
+{
+ int eh_region_count = 0;
+ int past_to_p = 0;
+ rtx r = from;
+
+ /* By default, assume the end of the region will be what was
+ suggested. */
+ if (new_to)
+ *new_to = to;
+
+ while (r)
+ {
+ if (GET_CODE (r) == NOTE)
+ {
+ switch (NOTE_LINE_NUMBER (r))
+ {
+ case NOTE_INSN_EH_REGION_BEG:
+ ++eh_region_count;
+ break;
+
+ case NOTE_INSN_EH_REGION_END:
+ if (eh_region_count == 0)
+ /* This sequence of instructions contains the end of
+ an exception region, but not he beginning. Moving
+ it will cause chaos. */
+ return 0;
+
+ --eh_region_count;
+ break;
+
+ default:
+ break;
+ }
+ }
+ else if (past_to_p)
+ /* If we've passed TO, and we see a non-note instruction, we
+ can't extend the sequence to a movable sequence. */
+ return 0;
+
+ if (r == to)
+ {
+ if (!new_to)
+ /* It's OK to move the sequence if there were matched sets of
+ exception region notes. */
+ return eh_region_count == 0;
+
+ past_to_p = 1;
+ }
+
+ /* It's OK to move the sequence if there were matched sets of
+ exception region notes. */
+ if (past_to_p && eh_region_count == 0)
+ {
+ *new_to = r;
+ return 1;
+ }
+
+ /* Go to the next instruction. */
+ r = NEXT_INSN (r);
+ }
+
+ return 0;
+}
diff --git a/gnu/dist/toolchain/gcc/stmt.c b/gnu/dist/toolchain/gcc/stmt.c
index 018e1907b7c..6ca6197bc58 100644
--- a/gnu/dist/toolchain/gcc/stmt.c
+++ b/gnu/dist/toolchain/gcc/stmt.c
@@ -1,5 +1,6 @@
/* Expands front end tree to back end RTL for GNU C-Compiler
- Copyright (C) 1987, 88, 89, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -1351,7 +1352,7 @@ expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line)
}
else
{
- output_rtx[i] = assign_temp (type, 0, 0, 0);
+ output_rtx[i] = assign_temp (type, 0, 0, 1);
TREE_VALUE (tail) = make_tree (type, output_rtx[i]);
}
@@ -2511,15 +2512,15 @@ expand_value_return (val)
#ifdef PROMOTE_FUNCTION_RETURN
tree type = TREE_TYPE (DECL_RESULT (current_function_decl));
int unsignedp = TREE_UNSIGNED (type);
+ enum machine_mode old_mode
+ = DECL_MODE (DECL_RESULT (current_function_decl));
enum machine_mode mode
- = promote_mode (type, DECL_MODE (DECL_RESULT (current_function_decl)),
- &unsignedp, 1);
+ = promote_mode (type, old_mode, &unsignedp, 1);
- if (GET_MODE (val) != VOIDmode && GET_MODE (val) != mode)
- convert_move (return_reg, val, unsignedp);
- else
+ if (mode != old_mode)
+ val = convert_modes (mode, old_mode, val, unsignedp);
#endif
- emit_move_insn (return_reg, val);
+ emit_move_insn (return_reg, val);
}
if (GET_CODE (return_reg) == REG
&& REGNO (return_reg) < FIRST_PSEUDO_REGISTER)
diff --git a/gnu/dist/toolchain/gcc/system.h b/gnu/dist/toolchain/gcc/system.h
index 7d6082ccf29..06457874667 100644
--- a/gnu/dist/toolchain/gcc/system.h
+++ b/gnu/dist/toolchain/gcc/system.h
@@ -1,6 +1,6 @@
/* system.h - Get common system includes and various definitions and
declarations based on autoconf macros.
- Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -22,6 +22,11 @@ Boston, MA 02111-1307, USA. */
#ifndef __GCC_SYSTEM_H__
#define __GCC_SYSTEM_H__
+/* This is the location of the online document giving information how
+ to report bugs. If you change this string, also check for strings
+ not under control of the preprocessor. */
+#define GCCBUGURL "<URL:http://www.gnu.org/software/gcc/bugs.html>"
+
/* We must include stdarg.h/varargs.h before stdio.h. */
#ifdef ANSI_PROTOTYPES
#include <stdarg.h>
@@ -399,8 +404,8 @@ extern void fatal PVPROTO((const char *, ...)) ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORE
#else
#define abort() fatal ("Internal compiler error in `%s', at %s:%d\n" \
"Please submit a full bug report.\n" \
- "See <URL:http://www.gnu.org/software/gcc/faq.html#bugreport> for instructions.", \
- __PRETTY_FUNCTION__, trim_filename (__FILE__), __LINE__)
+ "See %s for instructions.", \
+ __PRETTY_FUNCTION__, trim_filename (__FILE__), __LINE__, GCCBUGURL)
#endif /* recent gcc */
/* trim_filename is in toplev.c. Define a stub macro for files that
diff --git a/gnu/dist/toolchain/gcc/toplev.c b/gnu/dist/toolchain/gcc/toplev.c
index 9dac1fdbd9c..5f8913fa3e5 100644
--- a/gnu/dist/toolchain/gcc/toplev.c
+++ b/gnu/dist/toolchain/gcc/toplev.c
@@ -1,5 +1,6 @@
/* Top level of GNU C compiler
- Copyright (C) 1987, 88, 89, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -3816,7 +3817,7 @@ rest_of_compilation (decl)
/* Copy any shared structure that should not be shared. */
- unshare_all_rtl (insns);
+ unshare_all_rtl (current_function_decl, insns);
#ifdef SETJMP_VIA_SAVE_AREA
/* This must be performed before virutal register instantiation. */
@@ -3870,13 +3871,15 @@ rest_of_compilation (decl)
TIMEVAR (cse_time, tem = cse_main (insns, max_reg_num (),
0, rtl_dump_file));
- TIMEVAR (cse_time, delete_trivially_dead_insns (insns, max_reg_num ()));
-
if (tem || optimize > 1)
TIMEVAR (jump_time, jump_optimize (insns, !JUMP_CROSS_JUMP,
!JUMP_NOOP_MOVES,
!JUMP_AFTER_REGSCAN));
+ /* Run this after jump optmizations remove all the unreachable code
+ so that unreachable code will not keep values live. */
+ TIMEVAR (cse_time, delete_trivially_dead_insns (insns, max_reg_num ()));
+
/* Dump rtl code after cse, if we are doing that. */
if (cse_dump)
@@ -4683,7 +4686,8 @@ check_lang_option (option, lang_option)
{
lang_independent_options * indep_options;
int len;
- long k;
+ int numopts;
+ long k;
char * space;
/* Ignore NULL entries. */
@@ -4713,8 +4717,14 @@ check_lang_option (option, lang_option)
switch (option[1])
{
- case 'f': indep_options = f_options; break;
- case 'W': indep_options = W_options; break;
+ case 'f':
+ indep_options = f_options;
+ numopts = NUM_ELEM (f_options);
+ break;
+ case 'W':
+ indep_options = W_options;
+ numopts = NUM_ELEM (W_options);
+ break;
default: return 1;
}
@@ -4726,7 +4736,7 @@ check_lang_option (option, lang_option)
if (option[0] == 'n' && option[1] == 'o' && option[2] == '-')
option += 3;
- for (k = NUM_ELEM (indep_options); k--;)
+ for (k = numopts; k--;)
{
if (!strcmp (option, indep_options[k].string))
{
diff --git a/gnu/dist/toolchain/gcc/tree.c b/gnu/dist/toolchain/gcc/tree.c
index 5e29d2f9115..31bfd9a60b9 100644
--- a/gnu/dist/toolchain/gcc/tree.c
+++ b/gnu/dist/toolchain/gcc/tree.c
@@ -1,5 +1,6 @@
/* Language-independent node constructors for parse phase of GNU compiler.
- Copyright (C) 1987, 88, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -1121,6 +1122,26 @@ make_node (code)
case 'c':
TREE_CONSTANT (t) = 1;
break;
+
+ case 'e':
+ switch (code)
+ {
+ case INIT_EXPR:
+ case MODIFY_EXPR:
+ case RTL_EXPR:
+ case PREDECREMENT_EXPR:
+ case PREINCREMENT_EXPR:
+ case POSTDECREMENT_EXPR:
+ case POSTINCREMENT_EXPR:
+ /* All of these have side-effects, no matter what their
+ operands are. */
+ TREE_SIDE_EFFECTS (t) = 1;
+ break;
+
+ default:
+ break;
+ }
+ break;
}
return t;
@@ -3107,6 +3128,24 @@ build1 (code, type, node)
TREE_RAISES (t) = 1;
}
+ switch (code)
+ {
+ case INIT_EXPR:
+ case MODIFY_EXPR:
+ case RTL_EXPR:
+ case PREDECREMENT_EXPR:
+ case PREINCREMENT_EXPR:
+ case POSTDECREMENT_EXPR:
+ case POSTINCREMENT_EXPR:
+ /* All of these have side-effects, no matter what their
+ operands are. */
+ TREE_SIDE_EFFECTS (t) = 1;
+ break;
+
+ default:
+ break;
+ }
+
return t;
}
diff --git a/gnu/dist/toolchain/gcc/tree.h b/gnu/dist/toolchain/gcc/tree.h
index 0d7ea84aafc..29fe800835e 100644
--- a/gnu/dist/toolchain/gcc/tree.h
+++ b/gnu/dist/toolchain/gcc/tree.h
@@ -1,5 +1,6 @@
/* Front-end tree definitions for GNU compiler.
- Copyright (C) 1989, 93-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1989, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+ Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -2207,6 +2208,7 @@ extern tree reorder_blocks PROTO ((tree *, tree,
struct rtx_def *));
extern void free_temps_for_rtl_expr PROTO ((tree));
extern void instantiate_virtual_regs PROTO ((tree, struct rtx_def *));
+extern void unshare_all_rtl PROTO ((tree, struct rtx_def *));
extern int max_parm_reg_num PROTO ((void));
extern void push_function_context PROTO ((void));
extern void pop_function_context PROTO ((void));
diff --git a/gnu/dist/toolchain/gcc/unroll.c b/gnu/dist/toolchain/gcc/unroll.c
index d6dbcf0fbc1..34fb8f17df5 100644
--- a/gnu/dist/toolchain/gcc/unroll.c
+++ b/gnu/dist/toolchain/gcc/unroll.c
@@ -1,5 +1,6 @@
/* Try to unroll loops, and split induction variables.
- Copyright (C) 1992, 93, 94, 95, 97, 98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1992, 1993, 1994, 1995, 1997, 1998, 1999, 2000 Free Software
+ Foundation, Inc.
Contributed by James E. Wilson, Cygnus Support/UC Berkeley.
This file is part of GNU CC.
@@ -3682,10 +3683,14 @@ loop_iterations (loop_start, loop_end, loop_info)
return 0;
}
- /* The only new registers that care created before loop iterations are
- givs made from biv increments, so this should never occur. */
+ /* The only new registers that are created before loop iterations
+ are givs made from biv increments or registers created by
+ load_mems. In the latter case, it is possible that try_copy_prop
+ will propagate a new pseudo into the old iteration register but
+ this will be marked by having the REG_USERVAR_P bit set. */
- if ((unsigned) REGNO (iteration_var) >= reg_iv_type->num_elements)
+ if ((unsigned) REGNO (iteration_var) >= reg_iv_type->num_elements
+ && ! REG_USERVAR_P (iteration_var))
abort ();
iteration_info (iteration_var, &initial_value, &increment,
diff --git a/gnu/dist/toolchain/gcc/version.c b/gnu/dist/toolchain/gcc/version.c
index 877d64d8f86..474c4364a2c 100644
--- a/gnu/dist/toolchain/gcc/version.c
+++ b/gnu/dist/toolchain/gcc/version.c
@@ -1 +1 @@
-char *version_string = "2.95.2 19991024 (release)";
+char *version_string = "2.95.3 20010315 (release)";
diff --git a/gnu/dist/toolchain/install/BINARIES b/gnu/dist/toolchain/install/BINARIES
new file mode 100644
index 00000000000..b9b0908327d
--- /dev/null
+++ b/gnu/dist/toolchain/install/BINARIES
@@ -0,0 +1,49 @@
+
+ Installing GCC: Binaries
+
+ We are often asked about pre-compiled versions of GCC. While we cannot
+ provide these for all platforms, below you'll find links to binaries
+ for various platforms where creating them by yourself is not easy due
+ to various reasons.
+
+ Please note that we did not create these binaries, nor do we support
+ them. If you have any problems installing them, please contact their
+ makers.
+ * [1]AIX
+ * DOS: [2]DJGPP
+ * [3]HP-UX Porting Center
+ * [4]SCO OpenServer/Unixware
+ * Solaris (SPARC, Intel): [5]Sunfreeware
+ * SGI: [6]SGI Freeware
+ * Windows 95, 98, and NT: [7]Cygwin for Windows 95, 98, and NT |
+ [8]GNU Win32 related projects by Mumit Khan
+ * [9]The Written Word offers binaries for Solaris 2.5.1, 2.6,
+ 2.7/SPARC, 2.7/Intel, IRIX 6.2, 6.5, Digital UNIX 4.0D, HP-UX
+ 10.20, and HP-UX 11.00.
+ * Hitachi H8/300[HS]: [10]GNU Development Tools for the Hitachi
+ H8/300[HS] Series
+
+ In addition to those specific offerings, you can get a binary
+ distribution CD-ROM from the [11]Free Software Foundation. It contains
+ binaries for a number of platforms, and includes not only GCC, but
+ other stuff as well. The current CD does not contain the latest
+ version of GCC, but it should allow bootstrapping the compiler. An
+ updated version of that disk is in the works.
+ _________________________________________________________________
+
+ [12]Return to the GCC Installation page
+
+References
+
+ 1. http://www-frec.bull.com/docs/download.htm
+ 2. http://www.delorie.com/djgpp/
+ 3. http://hpux.cae.wisc.edu/
+ 4. http://www.sco.com/skunkware/devtools/index.html#gcc
+ 5. http://www.sunfreeware.com/
+ 6. http://freeware.sgi.com/
+ 7. http://sources.redhat.com/cygwin/
+ 8. http://www.xraylith.wisc.edu/~khan/software/gnu-win32/
+ 9. ftp://ftp.thewrittenword.com/packages/free/by-name/gcc-2.95.2/
+ 10. http://www.hdl.co.jp/~kban/h8300-hms/
+ 11. http://www.fsf.org/order/order.html
+ 12. http://gcc.gnu.org/install/index.html
diff --git a/gnu/dist/toolchain/install/BUILD b/gnu/dist/toolchain/install/BUILD
index 70eff6b3d31..a14c39adc0d 100644
--- a/gnu/dist/toolchain/install/BUILD
+++ b/gnu/dist/toolchain/install/BUILD
@@ -1,15 +1,15 @@
Installing GCC: Building
-
+
Now that GCC is configured, you are ready to build the compiler and
runtime libraries.
-
+
We _highly_ recommend that GCC be built using GNU make; other versions
may work, then again they might not.
-
+
(For example, many broken versions of make will fail if you use the
recommended setup where _objdir_ is different from _srcdir_.)
-
+
Building a native compiler
For a native build issue the command `make bootstrap'. This will build
@@ -24,12 +24,12 @@ Building a native compiler
* Perform a comparison test of the stage2 and stage3 compilers.
* Build runtime libraries using the stage3 compiler from the
previous step.
-
+
If you are short on disk space you might consider `make
bootstrap-lean' instead. This is identical to `make bootstrap' except
that object files from the stage1 and stage2 of the 3-stage bootstrap
of the compiler are deleted as soon as they are no longer needed.
-
+
If you want to save additional space during the bootstrap and in the
final installation as well, you can build the compiler binaries
without debugging information with "make CFLAGS='-O' LIBCFLAGS='-g
@@ -37,28 +37,28 @@ Building a native compiler
will save roughly 40% of disk space both for the bootstrap and the
final installation. (Libraries will still contain debugging
information.)
-
+
If you used the flag --enable-languages=... to restrict the compilers
to be built, only those you've actually enabled will be built. This
will of course only build those runtime libraries, for which the
particular compiler has been built. Please note, that re-defining
LANGUAGES when calling `make bootstrap' _*does not*_ work anymore!
-
+
Building a cross compiler
We recommend reading the [1]crossgcc FAQ for information about
building cross compilers.
-
+
When building a cross compiler, it is not generally possible to do a
3-stage bootstrap of the compiler. This makes for an interesting
problem as parts of GCC can only be built with GCC.
-
+
To build a cross compiler, we first recommend building and installing
a native compiler. You can then use the native GCC compiler to build
the cross compiler.
-
+
Assuming you have already installed a native copy of GCC and
- configured your corss compiler, issue the command "make", which
+ configured your cross compiler, issue the command "make", which
performs the following steps:
* Build host tools necessary to build the compiler such as texinfo,
bison, gperf.
@@ -68,20 +68,22 @@ Building a cross compiler
GCC source tree before configuring.
* Build the compiler (single stage only).
* Build runtime libraries using the compiler from the previous step.
-
+
Note that if an error occurs in any step the make process will exit.
-
+
Building in parallel
- If you have a multiprocessor you can use `make bootstrap MAKE="make -j
- 2" -j 2' instead of just `make bootstrap' when building GCC. You can
+ If you have a multiprocessor system you can use `make bootstrap
+ MAKE="make -j 2" -j 2' or just `make -j 2 bootstrap' for GNU Make 3.79
+ and above instead of just `make bootstrap' when building GCC. You can
use a bigger number instead of two if you like. In most cases, it
won't help to use a number bigger than the number of processors in
your machine.
_________________________________________________________________
-
- _Last modified on August 27, 1999._
+
+ [2]Return to the GCC Installation page
References
1. http://www.objsw.com/CrossGCC/
+ 2. http://gcc.gnu.org/install/index.html
diff --git a/gnu/dist/toolchain/install/CONFIGURE b/gnu/dist/toolchain/install/CONFIGURE
index 9f88368b332..1fb511d012f 100644
--- a/gnu/dist/toolchain/install/CONFIGURE
+++ b/gnu/dist/toolchain/install/CONFIGURE
@@ -1,39 +1,41 @@
Installing GCC: Configuration
-
+
Like most GNU software, GCC must be configured before it can be built.
This document describes the recommended configuration procedure for
both native and cross targets.
-
+
We use _srcdir_ to refer to the toplevel source directory for GCC; we
use _objdir_ to refer to the toplevel build/object directory.
-
+
First, we _highly_ recommend that GCC be built into a separate
directory than the sources which does _not_ reside within the source
tree. This is how we generally build GCC; building where _srcdir_ ==
_objdir_ should still work, but doesn't get extensive testing;
building where _objdir_ is a subdirectory of _srcdir_ is unsupported.
-
+
Second, when configuring a native system, either "cc" or "gcc" must be
in your path or you must set CC in your environment before running
configure. Otherwise the configuration scripts may fail.
-
+
To configure GCC:
-
+
% mkdir _objdir_
% cd _objdir_
% _srcdir_/configure _[target]_ _[options]_
-
+
_target specification_
* GCC has code to correctly determine the correct value for _target_
for nearly all native systems. Therefore, we highly recommend you
not provide a configure target when configuring a native compiler.
- * _target_ must be specified when configuring a cross compiler;
- examples of valid targets would be i960-rtems, m68k-coff, sh-elf,
- etc.
-
+ * _target_ must be specified as --target=_target_ when configuring a
+ cross compiler; examples of valid targets would be i960-rtems,
+ m68k-coff, sh-elf, etc.
+ * Specifying just _target_ instead of --target=_target_ implies that
+ the host defaults to _target_.
+
_options specification_
-
+
Use _options_ to override several configure time options for GCC. A
partial list of supported options:
* --prefix=_dirname_ -- Specify the toplevel installation directory.
@@ -52,17 +54,30 @@
/usr/local/include/g++.
* --enable-shared -- Build shared versions of the C++ runtime
libraries if supported --disable-shared is the default.
- * --enable-haifa -- Enable the new Haifa instruction scheduler in
- the compiler; the new scheduler can significantly improve code on
- some targets.
- For EGCS 1.0.x releases --disable-haifa is the default on all
- platforms except the HPPA.
- For newer releases --disable-haifa is the default on all platforms
- except the alpha, hppa, powerpc, rs6000, SPARC and m32r.
- * --with-gnu-as -- Specify that the compiler should assume the GNU
- assembler (aka gas) is available.
- * --with-gnu-ld -- Specify that the compiler should assume the GNU
- linker (aka gld) is available.
+ * --with-gnu-as -- Specify that the compiler should assume that the
+ assembler it finds is the GNU assembler. However, this does not
+ modify the rules to find an assembler and will result in confusion
+ if the found assembler is not actually the GNU assembler. If you
+ have more than one assembler installed on your system, you may
+ want to use this option in connection with --with-as=/path/to/gas.
+ * --with-as=_/path/to/as_ -- Specify that the compiler should use
+ the assembler pointed to by _pathname_, rather than the one found
+ by the standard rules to find an assembler, which are:
+ + Check the _$exec_prefix/lib/gcc-lib/$target/$version_
+ directory, where _$exec_prefix_ defaults to _$prefix_ which
+ defaults to _/usr/local_ unless overridden by the
+ --prefix=/pathname switch described above. _$target_ is the
+ target system triple, such as _sparc-sun-solaris2.7_, and
+ _$version_ denotes the GCC version, such as _2.95.2_.
+ + Check operating system specific directories (e.g.
+ _/usr/ccs/bin_ on Sun Solaris).
+ Note that these rules do not check for the value of _$PATH_. You
+ may want to use --with-as if no assembler is installed in the
+ directories listed above, or if you have multiple assemblers
+ installed and want to choose one that is not found by the above
+ rules.
+ * --with-gnu-ld -- Same as --with-gnu-as but for the linker.
+ * --with-ld=_/path/to/ld_ -- Same as --with-as, but for the linker.
* --with-stabs -- Specify that stabs debugging information should be
used instead of whatever format the host normally uses. Normally
GCC uses the same debug format as the host system.
@@ -70,10 +85,12 @@
be built to support different target variants, calling
conventions, etc. This is the default.
* --enable-threads -- Specify that the target supports threads. This
- affects only the Objective-C compiler and runtime library.
+ affects the Objective-C compiler and runtime library, and
+ exception handling for other languages like C++ and Java.
* --enable-threads=_lib_ -- Specify that _lib_ is the thread support
- library. This affects only the Objective-C compiler and runtime
- library.
+ library. This affects the Objective-C compiler and runtime
+ library, and exception handling for other languages like C++ and
+ Java.
* --with-cpu=_cpu_ -- Specify which cpu variant the compiler should
generate code for by default. This is currently only supported on
the some ports, specifically arm, powerpc, and SPARC. If configure
@@ -81,14 +98,15 @@
ultrasparc) you provide, please check the configure script for a
complete list of supported models.
* --enable-target-optspace -- Specify that target libraries should
- be optimzied for code space instead of code speed. This is the
+ be optimized for code space instead of code speed. This is the
default for the m32r platform.
* --enable-cpp -- Specify that a shell script which emulates
traditional cpp functionality should be installed.
* --enable-cpplib -- Specify that the functionality of CPP should be
- integrated into the compiler itself. This is still under
- development, but may be useful in limited situations. This option
- is never enabled by default.
+ integrated into the compiler itself. This option is not supported
+ by snapshots since November 2000. In snapshots where it is
+ supported, it is not enabled by default, except for snapshots very
+ close to November 2000.
* --without-fast-fixincludes -- Specify that the old, slower method
of fixing the system header files should be used. EGCS 1.1.x and
older releases default to the slow version. GCC 2.95 and newer
@@ -99,39 +117,45 @@
addition, libstdc++'s include files will be installed in
${libsubdir}/include/g++ unless you overruled it by using
--with-gxx-include-dir=_dirname_. Using this option is
- particularly useful if you intend to use several versions of
- egcs/gcc in parallel. This is currently supported by libf2c and
- libstdc++.
+ particularly useful if you intend to use several versions of GCC
+ in parallel. This is currently supported by libf2c and libstdc++.
* --enable-languages=_lang1_,_lang2_,... -- Specify that only a
particular subset of compilers and their runtime libraries should
be built. For a list of valid values for _lang_x you can issue the
following command in the gcc directory of your GCC source tree:
grep language= */config-lang.in
- Currently, you can use any of the following: CHILL, c++, f77, java
- and objc. Please note, that this switch does not work with EGCS
- 1.1.2 or older versions of egcs. It will be supported in GCC 2.95
- and newer version.
+ Currently, you can use any of the following: c++, f77, java and
+ objc. CHILL is not currently maintained, and will almost certainly
+ fail to compile. Note that this switch does not work with EGCS
+ 1.1.2 or older versions of egcs. It is supported in GCC 2.95 and
+ newer versions.
If you do not pass this flag, all languages available in the gcc
sub-tree will be configured. Re-defining LANGUAGES when calling
make bootstrap _*does not*_ work anymore, as those language
sub-directories might not have been configured!
* --with-dwarf2 -- Specify that the compiler should use DWARF2
debugging information as the default.
-
+
Some options which only apply to building cross compilers:
* --with-headers=_dir_ -- Specifies a directory which has target
- include files. These include files will be copied into the gcc
- install directory. Fixincludes will be run on these files to make
- them compatible with gcc.
+ include files. _This options is required_ when building a cross
+ compiler, if ${prefix}/${target}/sys-include doesn't pre-exist.
+ These include files will be copied into the gcc install directory.
+ Fixincludes will be run on these files to make them compatible
+ with gcc.
* --with-libs=_"dir1 dir2 ... dirN"_ -- Specifies a list of
directories which contain the target runtime libraries. These
libraries will be copied into the gcc install directory.
* --with-newlib -- Specifies that "newlib" is being used as the
target C library. This causes __eprintf to be omitted from
libgcc.a on the assumption that it will be provided by newlib.
-
+
Note that each --enable option has a corresponding --disable option
and that each --with option has a corresponding --without option.
_________________________________________________________________
-
- _Last modified on July 16, 1999._
+
+ [1]Return to the GCC Installation page
+
+References
+
+ 1. http://gcc.gnu.org/install/index.html
diff --git a/gnu/dist/toolchain/install/DOWNLOAD b/gnu/dist/toolchain/install/DOWNLOAD
index 785ca3242e8..fc72c41fa78 100644
--- a/gnu/dist/toolchain/install/DOWNLOAD
+++ b/gnu/dist/toolchain/install/DOWNLOAD
@@ -1,39 +1,40 @@
Downloading GCC
-
- GCC is distributed via FTP tarballs compressed with gzip or bzip2. It
- is possible to download a full distribution or specific components.
-
+
+ GCC is distributed via CVS and FTP tarballs compressed with gzip or
+ bzip2. It is possible to download a full distribution or specific
+ components.
+
+ Please refer to our [1]releases web page for information on how to
+ obtain GCC.
+
The full distribution includes the C, C++, Objective-C, Fortran, Java,
and Chill compilers. The full distribution also includes runtime
libraries for C++, Objective-C and Fortran. In the future the GNU
compiler testsuites will be included in the full distribution.
-
+
If you choose to download specific components, you must download the
core gcc distribution plus any language specific distributions you
wish to use. The core distribution includes the C language front-end
- as well as the shared componenets. Each language has a tarball which
+ as well as the shared components. Each language has a tarball which
includes the language front-end as well as the language runtime (when
appropriate).
-
+
Unpack the core distribution as well as any language specific
distributions in the same directory.
-
- XXX FSF mirror sites
-
- [1]FTP download from egcs.cygnus.com (USA California)
-
- [2]FTP download from go.cygnus.com (USA California -- High speed link
- provided by Stanford)
-
- GCC releases are available on many [3]FTP mirror sites. If possible,
- please use one of these.
+
+ If you also intend to build binutils (either to upgrade an existing
+ installation or for use in place of the corresponding tools of your
+ OS), unpack the binutils distribution either in the same directory or
+ a separate one. In the latter case, add symbolic links to any
+ components of the binutils you intend to build alongside the compiler
+ (bfd, binutils, gas, gprof, ld, opcodes,...) to the directory
+ containing the GCC sources.
_________________________________________________________________
-
- _Last modified on July 16, 1999._
+
+ [2]Return to the GCC Installation page
References
- 1. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
- 2. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
- 3. http://gcc.gnu.org/mirrors.html
+ 1. http://gcc.gnu.org/releases.html
+ 2. http://gcc.gnu.org/install/index.html
diff --git a/gnu/dist/toolchain/install/FINALINSTALL b/gnu/dist/toolchain/install/FINALINSTALL
index 918d649157e..5403c41a7ef 100644
--- a/gnu/dist/toolchain/install/FINALINSTALL
+++ b/gnu/dist/toolchain/install/FINALINSTALL
@@ -1,29 +1,31 @@
Installing GCC: Final installation
-
+
Now that GCC has been built and tested, you can install it with `cd
_objdir_; make install' for a native compiler or `cd _objdir_; make
install LANGUAGES="c c++"' for a cross compiler (note installing cross
compilers will be easier in the next release!).
-
+
That step completes the installation of GCC; user level binaries can
be found in _prefix_/bin where _prefix_ is the value you specified
with the --prefix to configure (or /usr/local by default).
-
+
If you don't mind, please quickly review the [1]build status page. If
your system is not listed, send a note to [2]gcc@gcc.gnu.org
- indicating that you successfully built and installed GCC. Include the
- output from running _srcdir_/config.guess. (Do not send us the
- config.guess file itself, just the output from running it!)
-
+ indicating that you successfully built and installed GCC.
+
+ Include the output from running _srcdir_/config.guess. (Do not send us
+ the config.guess file itself, just the output from running it!)
+
If you find a bug, please report it following our [3]bug reporting
- guidlines.
+ guidelines.
_________________________________________________________________
-
- _Last modified on July 16, 1999._
+
+ [4]Return to the GCC Installation page
References
- 1. http://egcs.cygnus.com/gcc-2.95/buildstat.html
+ 1. http://gcc.gnu.org/gcc-2.95/buildstat.html
2. mailto:gcc@gcc.gnu.org
- 3. http://gcc.gnu.org/faq.html#bugreport
+ 3. http://gcc.gnu.org/bugs.html
+ 4. http://gcc.gnu.org/install/index.html
diff --git a/gnu/dist/toolchain/install/INDEX b/gnu/dist/toolchain/install/INDEX
index cc7e59a51ae..e84f82642ca 100644
--- a/gnu/dist/toolchain/install/INDEX
+++ b/gnu/dist/toolchain/install/INDEX
@@ -1,51 +1,45 @@
Installing GCC
-
+
The latest version of this document is always available at
- [1]http://egcs.cygnus.com/install/.
-
+ [1]http://gcc.gnu.org/install/.
+
This document describes the generic installation procedure for GCC as
well as detailing some target specific installation instructions.
-
+
GCC includes several components that previously were separate
distributions with their own installation instructions. This document
- supercedes all package specific installation instructions. We provide
+ supersedes all package specific installation instructions. We provide
the component specific installation information in the source
distribution for historical reference purposes only.
-
- We recommend you read the entire generic installation instructions as
- well as any target specific installation instructions before you
- proceed to configure, build, test and install GCC.
-
- If something goes wrong in the configure, build, test or install
- procedures, first double check that you followed the generic and
- target specific installation instructions carefully. Then check the
- [2]FAQ to see if your problem is covered before you file a bug report.
-
- _Before_ starting the build/install procedure _please_ browse the
- [3]host/target specific installation notes.
-
- The installation procedure is broken into five steps.
- * [4]downloading the source
- * [5]configure
- * [6]build
- * [7]test (optional)
- * [8]install
- _________________________________________________________________
-
- [9]Return to the GCC home page
+
+ _Before_ starting the build/install procedure please check the
+ [2]host/target specific installation notes. We recommend you browse
+ the entire generic installation instructions before you proceed.
+
+ The installation procedure itself is broken into five steps.
+ 1. [3]Downloading the source
+ 2. [4]Configuration
+ 3. [5]Building
+ 4. [6]Testing (optional)
+ 5. [7]Final install
+
+ Please note that GCC does not support `make uninstall` and probably
+ won't do so in the near future as this would open a can of worms.
+ Instead, we suggest that you install GCC into a directory of its own
+ and simply remove that directory when you do not need that specific
+ version of GCC any longer.
_________________________________________________________________
-
- _Last modified on July 15, 1999._
+
+ [8]Return to the GCC Installation page
References
- 1. http://egcs.cygnus.com/install/
- 2. http://gcc.gnu.org/faq.html
- 3. http://gcc.gnu.org/install/specific.html
- 4. http://gcc.gnu.org/install/download.html
- 5. http://gcc.gnu.org/install/configure.html
- 6. http://gcc.gnu.org/install/build.html
- 7. http://gcc.gnu.org/install/test.html
- 8. http://gcc.gnu.org/install/finalinstall.html
- 9. http://gcc.gnu.org/index.html
+ 1. http://gcc.gnu.org/install/
+ 2. http://gcc.gnu.org/install/specific.html
+ 3. http://gcc.gnu.org/install/download.html
+ 4. http://gcc.gnu.org/install/configure.html
+ 5. http://gcc.gnu.org/install/build.html
+ 6. http://gcc.gnu.org/install/test.html
+ 7. http://gcc.gnu.org/install/finalinstall.html
+ 8. http://gcc.gnu.org/install/index.html
diff --git a/gnu/dist/toolchain/install/SPECIFIC b/gnu/dist/toolchain/install/SPECIFIC
index 54c9a8f6c55..e5778f0de21 100644
--- a/gnu/dist/toolchain/install/SPECIFIC
+++ b/gnu/dist/toolchain/install/SPECIFIC
@@ -1,83 +1,62 @@
Host/Target specific installation notes for GCC
-
+
Please read this document carefully _before_ installing the GNU
Compiler Collection on your machine.
* [1]alpha*-dec-linux*
* [2]alpha*-dec-osf*
- * [3]GCC with DOS
- * [4]hppa*-hp-hpux*
- * [5]hppa*-hp-hpux9
- * [6]hppa*-hp-hpux10
- * [7]i?86-*-linux*
- * [8]i?86-*-sco3.2v5*
- * [9]i?86-*-udk
- * [10]*-ibm-aix*
- * [11]m68k-*-nextstep*
- * [12]m68k-sun-sunos4.1.1
- * [13]mips*-sgi-irix[45]
- * [14]mips*-sgi-irix6
- * [15]powerpc-*-linux-gnu*
- * [16]*-*-solaris*
- * [17]sparc-sun-solaris*
- * [18]sparc-sun-solaris2.7
- * [19]Sun V5.0 Compiler Bugs
- * [20]sparc-sun-sunos*
- * [21]sparc-unknown-linux-gnulibc1
- * [22]sparc64-*-*
- * [23]GCC with Windows or OS/2
-
- * [24]all ELF targets (SVR4, Solaris, etc.)
+ * [3]avr
+ * [4]DOS
+ * [5]hppa*-hp-hpux*
+ * [6]hppa*-hp-hpux9
+ * [7]hppa*-hp-hpux10
+ * [8]hppa*-hp-hpux11
+ * [9]*-*-linux-gnu
+ * [10]i?86-*-linux*
+ * [11]i?86-*-sco3.2v5*
+ * [12]i?86-*-solaris*
+ * [13]i?86-*-udk
+ * [14]*-ibm-aix*
+ * [15]m68k-*-nextstep*
+ * [16]m68k-sun-sunos4.1.1
+ * [17]mips*-sgi-irix[45]
+ * [18]mips*-sgi-irix6
+ * [19]powerpc-*-linux-gnu*
+ * [20]*-*-solaris*
+ * [21]sparc-sun-solaris*
+ * [22]sparc-sun-solaris2.7
+ * [23]*-sun-solaris2.8
+ * [24]Sun V5.0 Compiler Bugs
+ * [25]sparc-sun-sunos*
+ * [26]sparc-unknown-linux-gnulibc1
+ * [27]sparc64-*-*
+ * [28]Microsoft Windows
+ * [29]OS/2
+
+ * [30]all ELF targets (SVR4, Solaris, etc.)
_________________________________________________________________
-
+
alpha*-dec-linux*
-
- GNU/Linux Alpha EV56 or PCA56 hosts running Red Hat 4.2 or 5.0 may see
- errors of this sort:
- Error: Unknown pseudo-op: `.arch'
-
- This is a signal that a new assembler is needed if you want to
- generate BWX insns for your machine.
-
- The version of GCC shipped with Red Hat 4.2 (2.7.0.2) has a fault
- wherein it will silently generate incorrect code. The version shipped
- with Red Hat 5.0 (2.8.0.1) is not broken, but required an extra
- -m21164a argument on the command-line. In order to visibly trap
- 2.7.0.2, I now issue DEC's .arch pseudo into the assembly. Relieving
- the problem of mucking with command-line arguments for 2.8.0.1 is a
- pleasant side effect.
-
- If you've got Red Hat 5.0 installed, you may grab binutils 2.9.1 and
- be happy. If you've got Red Hat 4.2, bugs make it much harder to
- upgrade pieces on your own, and you are better off upgrading the
- entire system.
-
- In either case, your problem may be bypassed by not emitting BWX code
- by default. Do this by using
- configure alphaev5-unknown-linux-gnulibc1
-
- if you have RH 4.2, or
- configure alphaev5-unknown-linux-gnu
-
- if you have RH 5.0.
-
+
+ We strongly recommend to upgrade to binutils 2.10 (or newer).
+
The following error:
Error: macro requires $at register while noat in effect
- also indicates that you should upgrade to a newer version of the
- assembler, 2.9 or later. If you can not upgrade the assembler, the
- compiler option "-Wa,-m21164a" may work around this problem.
+ indicates that you should upgrade to a newer version of the assembler,
+ 2.9 or later. If you can not upgrade the assembler, the compiler
+ option "-Wa,-m21164a" may work around this problem.
_________________________________________________________________
-
+
alpha*-dec-osf*
-
+
If you install a shared libstdc++ and, when you link a non-trivial C++
program (for example, gcc/testsuite/g++.other/delete3.C), the linker
reports a couple of errors about multiply-defined symbols (for
example, nothrow, __throw and terminate(void)), you've probably got a
linker bug, for which there's no known fix. The officially recommended
work-around is to remove the shared libstdc++.
-
+
An alternative solution is to arrange that all symbols from libgcc get
copied to the shared libstdc++; see detailed solution below.
(Surprising as it may seem, this does indeed fix the problem!) _Beware_
@@ -86,59 +65,84 @@
if programs start to depend on libstdc++ to provide symbols that used
to be only in libgcc, you must arrange that libstdc++ keeps providing
them, otherwise the programs will have to be relinked.
-
+
The magic spell is to add -Wl,-all,-lgcc,-none to the definition of
macro SHDEPS in libstdc++/config/dec-osf.ml _before_
- alpha*-dec-osf*/libstdc++/Makefile is created (a [25]patch that does
+ alpha*-dec-osf*/libstdc++/Makefile is created (a [31]patch that does
just that is available). If the Makefile already exists, run
./config.status within directory alpha*-dec-osf*/libstdc++ (and
alpha*-dec-osf*/ieee/libstdc++, if it also exists). Remove any
existing libstdc++.so* from such directories, and run make
all-target-libstdc++ in the top-level directory, then make
install-target-libstdc++.
-
+
If you have already removed the build tree, you may just remove
libstdc++.so.2.10.0 from the install tree and re-create it with the
command gcc -shared -o libstdc++.so.2.10.0
-Wl,-all,-lstdc++,-lgcc,-none -lm. If the ieee sub-directory exists,
repeat this command in it, with the additional flag -mieee.
_________________________________________________________________
-
- GCC with DOS
-
- A binary distribution is available at [26]Simtel.Net and its mirrors.
- ________________________________________________________________________
-
+
+ avr
+
+ Use `configure --target=avr --enable-languages="c"' to configure GCC.
+
+ Further installation notes and other useful information about AVR
+ tools can also be obtained from:
+ * [32]http://home.overta.ru/users/denisc
+ * [33]http://www.itnet.pl/amelektr/avr
+
+ We strongly recommend to upgrade to binutils 2.11 (or a current
+ snapshot until 2.11 has been released).
+
+ The following error:
+ Error: register required
+
+ indicates that you should upgrade to a newer version of the binutils.
+ _________________________________________________________________
+
+ DOS
+
+ Please have a look at our [34]binaries page.
+ _________________________________________________________________
+
hppa*-hp-hpux*
-
- We _highly_ recommend using gas/binutils-2.8 or newer on all hppa platforms;
- you may encounter a variety of problems when using the HP assembler.
-
- If you wish to use pa-risc 2.0 architecture support, you must use either the
- HP assembler or a recent [27]snapshot of gas.
-
- More specific information to hppa*-hp-hpux* targets follows.
- ________________________________________________________________________
-
+
+ We _highly_ recommend using gas/binutils-2.8 or newer on all hppa
+ platforms; you may encounter a variety of problems when using the HP
+ assembler.
+
+ Specifically, -g does not work on HP-UX (since that system uses a
+ peculiar debugging format which GCC does not know about), unless you
+ use GAS and GDB and configure GCC with the --with-gnu-as option.
+
+ If you wish to use pa-risc 2.0 architecture support, you must use
+ either the HP assembler or a recent [35]snapshot of gas.
+
+ More specific information to hppa*-hp-hpux* targets follows.
+ _________________________________________________________________
+
hppa*-hp-hpux9
-
- The HP assembler has major problems on this platform. We've tried to work
- around the worst of the problems. However, those workarounds may be causing
- linker crashes in some circumstances; the workarounds also probably prevent
- shared libraries from working. Use the GNU assembler to avoid these problems.
-
- The configuration scripts for GCC will also trigger a bug in the hpux9 shell.
- To avoid this problem set CONFIG_SHELL to /bin/ksh and SHELL to /bin/ksh in
- your environment.
- ________________________________________________________________________
-
+
+ The HP assembler has major problems on this platform. We've tried to
+ work around the worst of the problems. However, those workarounds may
+ be causing linker crashes in some circumstances; the workarounds also
+ probably prevent shared libraries from working. Use the GNU assembler
+ to avoid these problems.
+
+ The configuration scripts for GCC will also trigger a bug in the hpux9
+ shell. To avoid this problem set CONFIG_SHELL to /bin/ksh and SHELL to
+ /bin/ksh in your environment.
+ _________________________________________________________________
+
hppa*-hp-hpux10
-
- For hpux10.20, we _highly_ recommend you pick up the latest sed patch
- PHCO_15468 from HP. HP has two sites which provide patches free of charge:
- * [28]US, Canada, Asia-Pacific, and Latin-America
- * [29]Europe
-
+
+ For hpux10.20, we _highly_ recommend you pick up the latest sed patch
+ PHCO_19798 from HP. HP has two sites which provide patches free of
+ charge:
+ * [36]US, Canada, Asia-Pacific, and Latin-America
+ * [37]Europe
+
The HP assembler on these systems is much better than the hpux9
assembler, but still has some problems. Most notably the assembler
inserts timestamps into each object file it creates, causing the
@@ -146,84 +150,109 @@
be able to continue by saying `make all' after getting the failure
from `make bootstrap'.
_________________________________________________________________
-
+
+ hppa*-hp-hpux11
+
+ GCC 2.95.2 does not support HP-UX 11, and it cannot generate 64-bit
+ object files. Current (as of late 2000) snapshots and GCC 3.0 do
+ support HP-UX 11.
+ _________________________________________________________________
+
+ *-*-linux-gnu
+
+ If you use glibc 2.2 (or 2.1.9x), GCC 2.95.2 won't install
+ out-of-the-box. You'll get compile errors while building libstdc++.
+ The patch [38]glibc-2.2.patch, that is to be applied in the GCC source
+ tree, fixes the compatibility problems.
+ _________________________________________________________________
+
i?86-*-linux*
-
+
You will need binutils-2.9.1.0.15 or newer for exception handling to
work.
-
+
If you receive Signal 11 errors when building on GNU/Linux, then it is
possible you have a hardware problem. Further information on this can
- be found on [30]www.bitwizard.nl.
+ be found on [39]www.bitwizard.nl.
_________________________________________________________________
-
+
i?86-*-sco3.2v5*
-
+
+ Unlike earlier versions of GCC, the ability to generate COFF with this
+ target is no longer provided.
+
+ Earlier versions of GCC emitted Dwarf-1 when generating ELF to allow
+ the system debugger to be used. That support was too burdensome to
+ maintain. GCC now emits only dwarf-2 for this target. This means you
+ may use either the UDK debugger or GDB to debug programs built by this
+ version of GCC.
+
If you are building languages other than C, you must follow the
instructions about invoking `make bootstrap' because the native
OpenServer compiler will build a cc1plus that will not correctly parse
many valid C++ programs including those in libgcc.a. _You must do a
`make bootstrap' if you are building with the native compiler._
-
+
Use of the `-march-pentiumpro' flag can result in unrecognized opcodes
- when using the native assembler. While it's rather rare to see these
- emitted by GCC yet, errors of the basic form:
+ when using the native assembler on OS versions before 5.0.6. (Support
+ for P6 opcodes was added to the native ELF assembler in that version.)
+ While it's rather rare to see these emitted by GCC yet, errors of the
+ basic form:
/usr/tmp/ccaNlqBc.s:22:unknown instruction: fcomip
/usr/tmp/ccaNlqBc.s:50:unknown instruction: fucomip
are symptoms of this problem. You may work around this by not building
- affected files with that flag or by using the GNU assembler. Users of
+ affected files with that flag, by using the GNU assembler, or by using
+ the assembler provided with the current version of the OS. Users of
GNU assembler should see the note below for hazards on doing so.
-
- If you choose to configure with --enable-shared you should also
- specificy --with-gnu-as --disable-multilib even if you are not using
- the GNU assembler. In doing so you will give up the ability to
- generate COFF executables as described below. This combination of
- flags is necessary to suppress negative interactions with multilibing.
-
+
The native SCO assembler that is provided with the OS at no charge is
normally required. If, however, you must be able to use the GNU
- assembler you may configure this package using the flags
- --with-gnu-as. You must use a recent version of GNU binutils; version
- 2.9.1 seems to work well. If you select this option, you will be
- unable to reliably build COFF images. In general, the --with-gnu-as
- option isn't as well tested as the native assembler.
-
- Unlike various prereleases of GCC that used -belf and defaulted to
- COFF, you must now use the -melf and -mcoff flags to toggle between
- the two object file formats. ELF is now the default.
-
+ assembler (perhaps you're compiling code with asms that require GAS
+ syntax) you may configure this package using the flags --with-gnu-as.
+ You must use a recent version of GNU binutils; versions past 2.9.1
+ seem to work well. In general, the --with-gnu-as option isn't as well
+ tested as the native assembler.
+
Look in gcc/config/i386/sco5.h (search for "messy") for additional
OpenServer-specific flags.
-
+
Systems based on OpenServer before 5.0.4 (`uname -X' will tell you
what you're running) require TLS597 from ftp.sco.com/TLS for C++
constructors and destructors to work right.
-
+
The system linker in (at least) 5.0.4 and 5.0.5 will sometimes do the
wrong thing for a construct that GCC will emit for PIC code. This can
be seen as execution testsuite failures when using -fPIC on
921215-1.c, 931002-1.c, nestfunc-1.c, and gcov-1.c. For 5.0.5, an
updated linker that will cure this problem is available. You must
- install both [31]ftp://ftp.sco.com/Supplements/rs505a/ and
- [32]OSS499A.
-
+ install both [40]ftp://ftp.sco.com/Supplements/rs505a/ and
+ [41]OSS499A.
+
The dynamic linker in OpenServer 5.0.5 (earlier versions may show the
same problem) aborts on certain g77-compiled programs. It's
- particluarly likely to be triggered by building Fortran code with the
+ particularly likely to be triggered by building Fortran code with the
-fPIC flag. Although it's conceivable that the error could be
triggered by other code, only G77-compiled code has been observed to
cause this abort. If you are getting core dumps immediately upon
execution of your g77 program - and especially if it's compiled with
- -fPIC - try applying [33]`sco_osr5_g77.patch' to your libf2c and
+ -fPIC - try applying [42]`sco_osr5_g77.patch' to your libf2c and
rebuilding GCC. Affected faults, when analyzed in a debugger, will
show a stack backtrace with a fault occurring in rtld() and the
program running as /usr/lib/ld.so.1. This problem has been reported to
SCO engineering and will hopefully be addressed in later releases.
_________________________________________________________________
-
+
+ i?86-*-solaris*
+
+ GCC 2.95.2, when configured to use the GNU assembler, would invoke it
+ with the -s switch, that GNU as up to 2.9.5.0.12 does not support. If
+ you'd rather not use a newer GNU as nor the native assembler, you'll
+ need the patch [43]`x86-sol2-gas.patch'.
+ _________________________________________________________________
+
i?86-*-udk
-
+
This target emulates the SCO Universal Development Kit and requires
that package be installed. (If it is installed, you will have a
/udk/usr/ccs/bin/cc file present.) It's very much like the
@@ -232,35 +261,35 @@
Unixware 2. This target will generate binaries that will run on
OpenServer, Unixware 2, or Unixware 7, with the same warnings and
caveats as the SCO UDK.
-
+
You can stage1 with either your native compiler or with UDK. If you
don't do a full bootstrap when initially building with your native
compiler you will have an utterly unusable pile of bits as your
reward.
-
+
This target is a little tricky to build because we have to distinguish
it from the native tools (so it gets headers, startups, and libraries
from the right place) while making the tools not think we're actually
building a cross compiler. The easiest way to do this is with a
configure command like this:
CC=/udk/usr/ccs/bin/cc _/your/path/to/_gcc/configure --host=i686-pc-udk --tar
-get=i686-pc-udk --exec-prefix=udk-
+get=i686-pc-udk --program-prefix=udk-
_You should substitute 'i686' in the above command with the
appropriate processor for your host._
-
+
You should follow this with a `make bootstrap' then `make install'.
You can then access the UDK-targeted GCC tools by adding udk- before
the commonly known name. For example, to invoke the C compiler, you
would use `udk-gcc'. They will coexist peacefully with any
native-target GCC tools you may have installed.
_________________________________________________________________
-
+
*-ibm-aix*
-
+
AIX Make frequently has problems with GCC makefiles. GNU Make 3.76 or
newer is recommended to build on this platform.
-
+
Errors involving "alloca" when building GCC generally are due to an
incorrect definition of CC in the Makefile or mixing files compiled
with the native C compiler and GCC. During the stage1 phase of the
@@ -270,19 +299,19 @@ get=i686-pc-udk --exec-prefix=udk-
environment variable does not provide a definition that will confuse
configure. If this error occurs during stage2 or later, then the
problem most likely is the version of Make (see above).
-
+
Some versions of the AIX binder (linker) can fail with a relocation
overflow severe error when the -bbigtoc option is used to link
GCC-produced object files into an executable that overflows the TOC. A
fix for APAR IX75823 (OVERFLOW DURING LINK WHEN USING GCC AND
-BBIGTOC) is available from IBM Customer Support and from its
- [34]service.boulder.ibm.com website as PTF U455193.
-
+ [44]service.boulder.ibm.com website as PTF U455193.
+
Binutils does not support AIX 4.3 (at least through release 2.9). GNU
as and GNU ld will not work properly and one should not configure GCC
to use those GNU utilities. Use the native AIX tools which do
interoperate with GCC.
-
+
AIX 4.3 utilizes a new "large format" archive to support both 32-bit
and 64-bit object modules. The routines provided in AIX 4.3.0 and AIX
4.3.1 to parse archive libraries did not handle the new format
@@ -292,22 +321,24 @@ get=i686-pc-udk --exec-prefix=udk-
option of the archive command may be used to create archives of 32-bit
objects using the original "small format". A correct version of the
routines is shipped with AIX 4.3.2.
-
+
The initial assembler shipped with AIX 4.3.0 generates incorrect
- object files. A fix for APAR IX74254 (64BIT DISASSEMBLED OUPUT FROM
+ object files. A fix for APAR IX74254 (64BIT DISASSEMBLED OUTPUT FROM
COMPILER FAILS TO ASSEMBLE/BIND) is available from IBM Customer
- Support and from its [35]service.boulder.ibm.com website as PTF
+ Support and from its [45]service.boulder.ibm.com website as PTF
U453956. This fix is incorporated in AIX 4.3.1 and above.
-
+
The AIX 4.3.2.1 linker (bos.rte.bind_cmds Level 4.3.2.1) will dump
core with a segmentation fault when invoked by any version of GCC. A
- fix for APAR IX87327 will be available from IBM Customer Support.
+ fix for APAR IX87327 is available from IBM Customer Support and from
+ its [46]service.boulder.ibm.com website as PTF U461879. This fix is
+ incorporated in AIX 4.3.3 and above.
_________________________________________________________________
-
+
m68k-*-nextstep*
-
+
You absolutely _must_ use GNU sed and GNU make on this platform.
-
+
On NEXTSTEP 3.x where x < 3 the build of GCC will abort during stage1
with an error message like this:
_eh
@@ -318,17 +349,17 @@ get=i686-pc-udk --exec-prefix=udk-
The reason for this is the fact that NeXT's assembler for these
versions of the operating system does not support the .section pseudo
op that's needed for full C++ exception functionality.
-
+
As NeXT's assembler is a derived work from GNU as, a free replacement
that does can be obtained at
- [36]ftp://ftp.next.peak.org:/next-ftp/next/apps/devtools/as.3.3.NIHS.s
+ [47]ftp://ftp.next.peak.org:/next-ftp/next/apps/devtools/as.3.3.NIHS.s
.tar.gz.
-
+
If you try to build the integrated C++ & C++ runtime libraries on this
system you will run into trouble with include files. The way to get
around this is to use the following sequence. Note you must have write
- permission to the directory _prefix_ you secified in the configuration
- preocess of GCC for this sequence to work.
+ permission to the directory _prefix_ you specified in the
+ configuration process of GCC for this sequence to work.
cd bld-gcc
make all-texinfo all-bison all-byacc all-binutils all-gas all-ld
cd gcc
@@ -337,14 +368,14 @@ get=i686-pc-udk --exec-prefix=udk-
cd ..
make bootstrap3
_________________________________________________________________
-
+
m68k-sun-sunos4.1.1
-
+
It is reported that you may need the GNU assembler on this platform.
_________________________________________________________________
-
+
mips*-sgi-irix[45]
-
+
You must use GAS on these platforms, as the native assembler can not
handle the code for exception handling support. Either of these
messages indicates that you are using the MIPS assembler when instead
@@ -360,7 +391,7 @@ get=i686-pc-udk --exec-prefix=udk-
These systems don't have ranlib, which various components in GCC need;
you should be able to avoid this problem by installing GNU binutils,
which includes a functional ranlib for this system.
-
+
You may get the following warning on irix4 platforms, it can be safely
ignored.
warning: foo.o does not have gp tables for all its sections.
@@ -372,26 +403,40 @@ get=i686-pc-udk --exec-prefix=udk-
IRIX 5.2. We recommend you use GNU make instead of the vendor supplied
make program; however, you may have success with "smake" on IRIX 5.2
if you do not have GNU make available.
-
- See [37]http://reality.sgi.com/ariel/freeware for more information
+
+ See [48]http://reality.sgi.com/ariel/freeware for more information
about using GCC on IRIX platforms.
_________________________________________________________________
-
+
mips*-sgi-irix6
-
+
You must _not_ use GAS on irix6 platforms; doing so will only cause
problems.
-
+
These systems don't have ranlib, which various components in GCC need;
you should be able to avoid this problem by making a dummy script
called ranlib which just exits with zero status and placing it in your
path.
-
+
+ If you are using Irix cc as your bootstrap compiler, you must ensure
+ that the N32 ABI is in use. To test this, compile a simple C file with
+ cc and then run file on the resulting object file. The output should
+ look like:
+
+ test.o: ELF N32 MSB ...
+
+ If you see:
+
+ test.o: ELF 32-bit MSB
+
+ then your version of cc uses the O32 ABI default. You should set the
+ environment variable CC to 'cc -n32' before configuring GCC.
+
GCC does not currently support generating O32 ABI binaries in the
mips-sgi-irix6 configurations. It used to be possible to create a GCC
with O32 ABI only support by configuring it for the mips-sgi-irix5
target. See the link below for details.
-
+
GCC does not correctly pass/return structures which are smaller than
16 bytes and which are not 8 bytes. The problem is very involved and
difficult to fix. It affects a number of other targets also, but IRIX
@@ -400,62 +445,68 @@ get=i686-pc-udk --exec-prefix=udk-
padded at the wrong end, e.g. a 4 byte structure is loaded into the
lower 4 bytes of the register when it should be loaded into the upper
4 bytes of the register.
-
+
GCC is consistent with itself, but not consistent with the SGI C
- compiler [and the SGI supplied runtime libraries], so the only
+ compiler (and the SGI supplied runtime libraries), so the only
failures that can happen are when there are library functions that
take/return such structures. There are very few such library
functions. I can only recall seeing two of them: inet_ntoa, and
semctl.
-
- See [38]http://reality.sgi.com/ariel/freeware for more information
+
+ See [49]http://reality.sgi.com/ariel/freeware for more information
about using GCC on IRIX platforms.
_________________________________________________________________
-
+
powerpc-*-linux-gnu*
-
- You will need [39]binutils-2.9.4.0.8 or newer for a working GCC. It is
+
+ You will need [50]binutils-2.9.4.0.8 or newer for a working GCC. It is
strongly recommended to recompile binutils if you initially built it
with gcc-2.7.2.x.
_________________________________________________________________
-
+
*-*-solaris*
-
+
Starting with Solaris, Sun does not ship a C compiler any more. To
bootstrap and install GCC you first have to install a pre-built
- compiler, for example from [40]http://www.sunfreeware.com.
-
+ compiler, see our [51]binaries page for details.
+
Sun as 4.X is broken in that it cannot cope with long symbol names. A
- typical error message might look similiar to the following:
-
+ typical error message might look similar to the following:
+
/usr/ccs/bin/as: "/var/tmp/ccMsw135.s", line 11041: error: can't
compute value of an expression involving an external symbol.
-
- See the [41]How to work around too long C++ symbol names? FAQ entry
+
+ See the [52]How to work around too long C++ symbol names? FAQ entry
for further information.
-
+
Sun make in all known Solaris 1 (SunOS 4) and Solaris 2 releases has a
broken _VPATH_ mechanism, which means you must either:
* Use GNU make (recommended), _or:_
* Always build in the source directory, _or:_
* _(For GCC 2.95.1 only)_ apply the patches mentioned at
- [42]http://www.gnu.org/software/gcc/egcstensions.html#sun-make.
+ [53]http://www.gnu.org/software/gcc/extensions.html#sun-make.
_________________________________________________________________
-
+
sparc-sun-solaris*
-
+
binutils 2.9.1 has known bugs on this platform. We recommend to use
- the vendor tools (Sun as, Sun ld) until these have been fixed.
+ binutils 2.10 or the vendor tools (Sun as, Sun ld).
+
+ Unfortunately, C++ shared libraries, including libstdc++, won't work
+ properly if assembled with Sun as: the linker will complain about
+ relocations in read-only sections, in the definition of virtual
+ tables. Also, Sun as fails to process long symbols resulting from
+ mangling template-heavy C++ function names.
_________________________________________________________________
-
+
sparc-sun-solaris2.7
-
+
Sun patch 107058-01 (1999-01-13) for SPARC Solaris 7 triggers a bug in
the dynamic linker. This problem (Sun bug 4210064) affects GCC 2.8 and
later, including all EGCS releases. Sun formerly recommended 107058-01
for all Solaris 7 users, but around 1999-09-01 it started to recommend
it only for people who use Sun's compilers.
-
+
Here are some workarounds to this problem:
* Do not install Sun patch 107058-01 until after Sun releases a
complete patch for bug 4210064. This is the simplest course to
@@ -477,108 +528,138 @@ get=i686-pc-udk --exec-prefix=udk-
-08 or later should fix the bug, but (as of 1999-10-06) it is
still being tested.
_________________________________________________________________
-
+
+ *-sun-solaris2.8
+
+ Sun bug 4296832 turns up when compiling X11 headers with GCC 2.95 or
+ newer: g++ will complain that types are missing. These headers assume
+ that omitting the type means 'int'; this assumption worked for C89 but
+ is wrong for C++, and is now wrong for C99 also.
+
+ g++ accepts such (illegal) constructs with the option -fpermissive; it
+ will assume that any missing type is 'int' (as defined by C89).
+
+ For Solaris 8, this is fixed by revision 24 or later of patch 108652
+ (for SPARCs) or 108653 (for Intels).
+ _________________________________________________________________
+
Sun V5.0 Compiler Bugs
-
- The Sun V5.0 compilers are known to mis-compile GCC, which in turn
- causes GCC to fail its bootstrap comparison test. We expect to have a
- workaround ready in time for GCC 2.95.2.
+
+ The Sun V5.0 compilers are known to mis-compile GCC 2.95 and GCC
+ 2.95.1, which in turn causes GCC to fail its bootstrap comparison
+ test. GCC 2.95.2 has a workaround.
_________________________________________________________________
-
+
sparc-sun-sunos*
-
+
A bug in the SunOS4 linker will cause it to crash when linking -fPIC
compiled objects (and will therefore not allow you to build shared
libraries).
-
+
To fix this problem you can either use the most recent version of
binutils or get the latest SunOS4 linker patch (patch ID 100170-10)
from Sun's patch site.
_________________________________________________________________
-
+
sparc-unknown-linux-gnulibc1
-
- It has been reported that you might need [43]binutils-2.8.1.0.23 for
+
+ It has been reported that you might need [54]binutils-2.8.1.0.23 for
this platform, too.
_________________________________________________________________
-
+
sparc64-*-*
-
+
GCC version 2.95 is not able to compile code correctly for sparc64
targets. Users of the Linux kernel, at least, can use the sparc32
program to start up a new shell invocation with an environment that
causes configure to recognize (via uname -a) the system as sparc-*-*
instead.
_________________________________________________________________
-
- GCC with Windows or OS/2
-
- GCC does not currently support Windows, either natively or with the
- cygwin32 dll. However Mumit Khan has been working on supporting
- Windows with GCC. You should check out his site if you're interested
- in Windows support. [44]GNU Win32 related projects
-
+
+ Microsoft Windows (32 bit)
+
+ A port of GCC 2.95.x is included with the [55]Cygwin environment.
+
+ Current (as of early 2001) snapshots of GCC will build under Cygwin
+ without modification.
+ _________________________________________________________________
+
+ OS/2
+
GCC does not currently support OS/2. However, Andrew Zabolotny has
- been working on a generic os/2 port with pgcc. The current code code
- can be found at [45]http://www.goof.com/pcg/os2/.
+ been working on a generic OS/2 port with pgcc. The current code code
+ can be found at [56]http://www.goof.com/pcg/os2/.
+
+ An older copy of GCC 2.8.1 is included with the EMX tools available at
+ [57]ftp://ftp.leo.org/pub/comp/os/os2/leo/devtools/emx+gcc/.
_________________________________________________________________
-
+
all ELF targets (SVR4, Solaris, etc.)
-
+
C++ support is significantly better on ELF targets if you use the GNU
linker; duplicate copies of inlines, vtables and template
instantiations will be discarded automatically.
_________________________________________________________________
-
- [46]Return to the GCC Installation page
-
- _Last modified on October 17, 1999._
+
+ [58]Return to the GCC Installation page
References
1. http://gcc.gnu.org/install/specific.html#alpha*-dec-linux*
2. http://gcc.gnu.org/install/specific.html#alpha*-dec-osf*
- 3. http://gcc.gnu.org/install/specific.html#dos
- 4. http://gcc.gnu.org/install/specific.html#hppa*-hp-hpux*
- 5. http://gcc.gnu.org/install/specific.html#hppa*-hp-hpux9
- 6. http://gcc.gnu.org/install/specific.html#hppa*-hp-hpux10
- 7. http://gcc.gnu.org/install/specific.html#ix86-*-linux*
- 8. http://gcc.gnu.org/install/specific.html#ix86-*-sco3.2v5*
- 9. http://gcc.gnu.org/install/specific.html#ix86-*-udk
- 10. http://gcc.gnu.org/install/specific.html#*-ibm-aix*
- 11. http://gcc.gnu.org/install/specific.html#m68k-*-nextstep*
- 12. http://gcc.gnu.org/install/specific.html#m68k-sun-sunos4.1.1
- 13. http://gcc.gnu.org/install/specific.html#mips*-sgi-irix[45]
- 14. http://gcc.gnu.org/install/specific.html#mips*-sgi-irix6
- 15. http://gcc.gnu.org/install/specific.html#powerpc-*-linux-gnu*
- 16. http://gcc.gnu.org/install/specific.html#*-*-solaris*
- 17. http://gcc.gnu.org/install/specific.html#sparc-sun-solaris*
- 18. http://gcc.gnu.org/install/specific.html#sparc-sun-solaris2.7
- 19. http://gcc.gnu.org/install/specific.html#sunv5
- 20. http://gcc.gnu.org/install/specific.html#sparc-sun-sunos*
- 21. http://gcc.gnu.org/install/specific.html#sparc-unknown-linux-gnulibc1
- 22. http://gcc.gnu.org/install/specific.html#sparc64-*-*
- 23. http://gcc.gnu.org/install/specific.html#win+os2
- 24. http://gcc.gnu.org/install/specific.html#elf_targets
- 25. http://gcc.gnu.org/install/dec-osf-shlibstdc++.patch
- 26. ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/
- 27. ftp://sourceware.cygnus.com/pub/binutils/snapshots
- 28. http://us-support.external.hp.com/
- 29. http://europe-support.external.hp.com/
- 30. http://www.bitwizard.nl/sig11/
- 31. ftp://ftp.sco.com/Supplements/rs505a/
- 32. ftp://ftp.sco.com/SLS/
- 33. http://gcc.gnu.org/install/sco_osr5_g77.patch
- 34. http://service.boulder.ibm.com/
- 35. http://service.boulder.ibm.com/
- 36. ftp://ftp.next.peak.org/next-ftp/next/apps/devtools/as.3.3.NIHS.s.tar.gz
- 37. http://reality.sgi.com/ariel/freeware/
- 38. http://reality.sgi.com/ariel/freeware/
- 39. ftp://ftp.varesearch.com/pub/support/hjl/binutils
- 40. http://www.sunfreeware.com/
- 41. http://gcc.gnu.org/faq.html#squangle
- 42. http://www.gnu.org/software/gcc/egcstensions.html#sun-make
- 43. ftp://ftp.yggdrasil.com/private/hjl
- 44. http://www.xraylith.wisc.edu/~khan/software/gnu-win32/
- 45. http://www.goof.com/pcg/os2/
- 46. http://gcc.gnu.org/install/index.html
+ 3. http://gcc.gnu.org/install/specific.html#avr
+ 4. http://gcc.gnu.org/install/specific.html#dos
+ 5. http://gcc.gnu.org/install/specific.html#hppa*-hp-hpux*
+ 6. http://gcc.gnu.org/install/specific.html#hppa*-hp-hpux9
+ 7. http://gcc.gnu.org/install/specific.html#hppa*-hp-hpux10
+ 8. http://gcc.gnu.org/install/specific.html#hppa*-hp-hpux11
+ 9. http://gcc.gnu.org/install/specific.html#*-*-linux-gnu
+ 10. http://gcc.gnu.org/install/specific.html#ix86-*-linux*
+ 11. http://gcc.gnu.org/install/specific.html#ix86-*-sco3.2v5*
+ 12. http://gcc.gnu.org/install/specific.html#ix86-*-solaris*
+ 13. http://gcc.gnu.org/install/specific.html#ix86-*-udk
+ 14. http://gcc.gnu.org/install/specific.html#*-ibm-aix*
+ 15. http://gcc.gnu.org/install/specific.html#m68k-*-nextstep*
+ 16. http://gcc.gnu.org/install/specific.html#m68k-sun-sunos4.1.1
+ 17. http://gcc.gnu.org/install/specific.html#mips*-sgi-irix[45]
+ 18. http://gcc.gnu.org/install/specific.html#mips*-sgi-irix6
+ 19. http://gcc.gnu.org/install/specific.html#powerpc-*-linux-gnu*
+ 20. http://gcc.gnu.org/install/specific.html#*-*-solaris*
+ 21. http://gcc.gnu.org/install/specific.html#sparc-sun-solaris*
+ 22. http://gcc.gnu.org/install/specific.html#sparc-sun-solaris2.7
+ 23. http://gcc.gnu.org/install/specific.html#*-sun-solaris2.8
+ 24. http://gcc.gnu.org/install/specific.html#sunv5
+ 25. http://gcc.gnu.org/install/specific.html#sparc-sun-sunos*
+ 26. http://gcc.gnu.org/install/specific.html#sparc-unknown-linux-gnulibc1
+ 27. http://gcc.gnu.org/install/specific.html#sparc64-*-*
+ 28. http://gcc.gnu.org/install/specific.html#windows
+ 29. http://gcc.gnu.org/install/specific.html#os2
+ 30. http://gcc.gnu.org/install/specific.html#elf_targets
+ 31. http://gcc.gnu.org/install/dec-osf-shlibstdc++.patch
+ 32. http://home.overta.ru/users/denisc
+ 33. http://www.itnet.pl/amelektr/avr
+ 34. http://gcc.gnu.org/install/binaries.html
+ 35. ftp://sources.redhat.com/pub/binutils/snapshots
+ 36. http://us-support.external.hp.com/
+ 37. http://europe-support.external.hp.com/
+ 38. http://gcc.gnu.org/install/glibc-2.2.patch
+ 39. http://www.bitwizard.nl/sig11/
+ 40. ftp://ftp.sco.com/Supplements/rs505a/
+ 41. ftp://ftp.sco.com/SLS/
+ 42. http://gcc.gnu.org/install/sco_osr5_g77.patch
+ 43. http://gcc.gnu.org/install/x86-sol2-gas.patch
+ 44. http://service.boulder.ibm.com/
+ 45. http://service.boulder.ibm.com/
+ 46. http://service.boulder.ibm.com/
+ 47. ftp://ftp.next.peak.org/next-ftp/next/apps/devtools/as.3.3.NIHS.s.tar.gz
+ 48. http://reality.sgi.com/ariel/freeware/
+ 49. http://reality.sgi.com/ariel/freeware/
+ 50. ftp://ftp.varesearch.com/pub/support/hjl/binutils
+ 51. http://gcc.gnu.org/install/binaries.html
+ 52. http://gcc.gnu.org/faq.html#squangle
+ 53. http://www.gnu.org/software/gcc/extensions.html#sun-make
+ 54. ftp://ftp.yggdrasil.com/private/hjl
+ 55. http://www.cygwin.com/
+ 56. http://www.goof.com/pcg/os2/
+ 57. ftp://ftp.leo.org/pub/comp/os/os2/leo/devtools/emx+gcc/
+ 58. http://gcc.gnu.org/install/index.html
diff --git a/gnu/dist/toolchain/install/TEST b/gnu/dist/toolchain/install/TEST
index be13f665991..edf8c5f8141 100644
--- a/gnu/dist/toolchain/install/TEST
+++ b/gnu/dist/toolchain/install/TEST
@@ -1,13 +1,104 @@
- Installation Instructions: Testing GCC
-
- The testsuite has been temporarily removed from the gcc distributions
- until the copyright status of some tests can be determined. It is
- hoped that the testsuite will be included in the gcc releases again
- soon.
-
- Until the testsuite is included it is impossible to run the testsuite.
- Sorry.
- _________________________________________________________________
-
- _Last modified on July 15, 1999._
+ Installing GCC: Testing
+
+ _Please note that this is only applicable to current development
+ versions of GCC and GCC 3.0 or later. GCC 2.95.x does not come with a
+ testsuite._
+
+ Before you install GCC, you might wish to run the testsuite. This step
+ is optional and may require you to download additional software.
+
+ First, you must have [1]downloaded the testsuites. The full
+ distribution contains testsuites; only if you downloaded the "core"
+ compiler plus any front ends, you do not have the testsuites.
+
+ Second, you must have a current version of dejagnu installed; dejagnu
+ 1.3 is not sufficient.
+
+ Now you may need specific preparations:
+ * In order to run the libio tests on targets which do not fully
+ support Unix/POSIX commands (e.g. Cygwin), the references to the
+ dbz directory have to be deleted from libio/configure.in.
+ * The following environment variables must be set appropriately, as
+ in the following example (which assumes that dejagnu has been
+ installed under /usr/local):
+
+ TCL_LIBRARY = /usr/local/share/tcl8.0
+ DEJAGNULIBS = /usr/local/share/dejagnu
+ On systems such as Cygwin, these paths are required to be actual
+ paths, not mounts or links; presumably this is due to some lack of
+ portability in the dejagnu code.
+
+ Finally, you can run the testsuite (which may take a long time):
+
+ cd _objdir_; make -k check
+
+ The testing process will try to test as many components in the GCC
+ distribution as possible, including the C, C++ and Fortran compilers
+ as well as the C++ runtime libraries.
+
+How can I run the test suite on selected tests?
+
+ As a first possibility to cut down the number of tests that are run it
+ is possible to use `make check-gcc` or `make check-g++` in the gcc
+ subdirectory of the object directory. To further cut down the tests
+ the following is possible:
+
+ make check-gcc RUNTESTFLAGS="execute.exp <other options>"
+
+ This will run all gcc execute tests in the testsuite.
+
+ make check-g++ RUNTESTFLAGS="old-deja.exp=9805* <other options>"
+
+ This will run the g++ "old-deja" tests in the testsuite where the
+ filename matches 9805*.
+
+ The *.exp files are located in the testsuite directories of the GCC
+ source, the most important ones being compile.exp, execute.exp, dg.exp
+ and old-deja.exp. To get a list of the possible *.exp files, pipe the
+ output of `make check` into a file and look at the "Running ... .exp"
+ lines.
+
+How to interpret test results
+
+ After the testsuite has run you'll find various *.sum and *.log files
+ in the testsuite subdirectories. The *.log files contain a detailed
+ log of the compiler invocations and the corresponding results, the
+ *.sum files summarize the results. These summaries list all the tests
+ that have been run with a corresponding status code:
+ * PASS: the test passed as expected
+ * XPASS: the test unexpectedly passed
+ * FAIL: the test unexpectedly failed
+ * XFAIL: the test failed as expected
+ * UNSUPPORTED: the test is not supported on this platform
+ * ERROR: the testsuite detected an error
+ * WARNING: the testsuite detected a possible problem
+
+ It is normal for some tests to report unexpected failures. At the
+ current time our testing harness does not allow fine grained control
+ over whether or not a test is expected to fail. We expect to fix this
+ problem in future releases.
+
+Submitting test results
+
+ If you want to report the results to the GCC project, use the
+ contrib/test_summary shell script. Start it in the objdir with
+
+ _srcdir_/contrib/test_summary -p your_commentary.txt -m
+ gcc-testresults@gcc.gnu.org |sh
+
+ This script uses the Mail program to send the results, so make sure it
+ is in your PATH. The file your_commentary.txt is prepended to the
+ testsuite summary and should contain any special remarks you have on
+ your results or your build environment. Please do not edit the
+ testsuite result block or the subject line, as these messages are
+ automatically parsed and presented at the [2]GCC testresults web page.
+ Here you can also gather information on how specific tests behave on
+ different platforms and compare them with your results. A few failing
+ testcases are possible even on released versions and you should look
+ here first if you think your results are unreasonable.
+
+References
+
+ 1. http://gcc.gnu.org/install/download.html
+ 2. http://gcc.gnu.org/testresults/
diff --git a/gnu/dist/toolchain/install/binaries.html b/gnu/dist/toolchain/install/binaries.html
new file mode 100644
index 00000000000..ce6270be283
--- /dev/null
+++ b/gnu/dist/toolchain/install/binaries.html
@@ -0,0 +1,62 @@
+<html>
+<head>
+<title>Installing GCC: Binaries</title>
+</head>
+
+<body>
+<h1 align="center">Installing GCC: Binaries</h1>
+
+<p>We are often asked about pre-compiled versions of GCC. While we cannot
+provide these for all platforms, below you'll find links to binaries for
+various platforms where creating them by yourself is not easy due to various
+reasons.</p>
+
+<p>Please note that we did not create these binaries, nor do we
+support them. If you have any problems installing them, please
+contact their makers.</p>
+
+<ul>
+<li><a href="http://www-frec.bull.com/docs/download.htm">AIX</a></li>
+
+<li>DOS: <a href="http://www.delorie.com/djgpp/">DJGPP</a></li>
+
+<li><a href="http://hpux.cae.wisc.edu/">HP-UX Porting Center</a></li>
+
+<li><a href="http://www.sco.com/skunkware/devtools/index.html#gcc">SCO
+ OpenServer/Unixware</a></li>
+
+<li>Solaris (SPARC, Intel): <a
+ href="http://www.sunfreeware.com/">Sunfreeware</a></li>
+
+<li>SGI: <a href="http://freeware.sgi.com/">SGI Freeware</a></li>
+
+<li>Windows 95, 98, and NT:
+ <a href="http://sources.redhat.com/cygwin/">Cygwin for Windows 95,
+ 98, and NT</a> |
+ <a href="http://www.xraylith.wisc.edu/~khan/software/gnu-win32/">GNU
+ Win32 related projects</a> by Mumit Khan</li>
+
+<li><a href="ftp://ftp.thewrittenword.com/packages/free/by-name/gcc-2.95.2/">The
+Written Word</a> offers binaries for Solaris 2.5.1, 2.6, 2.7/SPARC, 2.7/Intel,
+IRIX 6.2, 6.5, Digital UNIX 4.0D, HP-UX 10.20, and HP-UX 11.00.</li>
+
+<li>Hitachi H8/300[HS]: <a
+href="http://www.hdl.co.jp/~kban/h8300-hms/">GNU Development Tools for
+the Hitachi H8/300[HS] Series</a></li>
+
+</ul>
+
+<p>In addition to those specific offerings, you can get a binary
+distribution CD-ROM from the <a
+href="http://www.fsf.org/order/order.html">Free Software
+Foundation</a>. It contains binaries for a number of platforms, and
+includes not only GCC, but other stuff as well. The current CD does
+not contain the latest version of GCC, but it should allow
+bootstrapping the compiler. An updated version of that disk is in the
+works.</p>
+
+<hr>
+<p><a href="./index.html">Return to the GCC Installation page</a></p>
+
+</body>
+</html>
diff --git a/gnu/dist/toolchain/install/build.html b/gnu/dist/toolchain/install/build.html
index 12da67fc7e0..c6ad5012613 100644
--- a/gnu/dist/toolchain/install/build.html
+++ b/gnu/dist/toolchain/install/build.html
@@ -74,7 +74,7 @@ native compiler. You can then use the native GCC compiler to build the
cross compiler.
<p>Assuming you have already installed a native copy of GCC and configured
-your corss compiler, issue the command "make", which performs the
+your cross compiler, issue the command "make", which performs the
following steps:
<ul>
<li>Build host tools necessary to build the compiler such as texinfo, bison,
@@ -95,15 +95,15 @@ following steps:
<h2>Building in parallel</h2>
-<p> If you have a multiprocessor you can use `<code>make bootstrap
-MAKE="make -j 2" -j 2</code>' instead of just `<code>make bootstrap</code>'
+<p> If you have a multiprocessor system you can use `<code>make bootstrap
+MAKE="make -j 2" -j 2</code>' or just `<code>make -j 2 bootstrap</code>'
+for GNU Make 3.79 and above instead of just `<code>make bootstrap</code>'
when building GCC. You can use a bigger number instead of two if
you like. In most cases, it won't help to use a number bigger than
the number of processors in your machine.
-<p>
<hr>
-<i>Last modified on August 27, 1999.</i>
+<p><a href="./index.html">Return to the GCC Installation page</a></p>
</body>
</html>
diff --git a/gnu/dist/toolchain/install/configure.html b/gnu/dist/toolchain/install/configure.html
index f27ab3a6d67..88f4e1abc6b 100644
--- a/gnu/dist/toolchain/install/configure.html
+++ b/gnu/dist/toolchain/install/configure.html
@@ -42,8 +42,12 @@ Otherwise the configuration scripts may fail.
recommend you not provide a configure target when configuring a
native compiler.
- <li> <b>target</b> must be specified when configuring a cross compiler;
+ <li> <b>target</b> must be specified as <tt>--target=</tt><i>target</i>
+ when configuring a cross compiler;
examples of valid targets would be i960-rtems, m68k-coff, sh-elf, etc.
+
+ <li>Specifying just <i>target</i> instead of <tt>--target=</tt><i>target</i>
+ implies that the host defaults to <i>target</i>.
</ul>
@@ -74,19 +78,40 @@ GCC. A partial list of supported <tt>options</tt>:
<li> <tt>--enable-shared</tt> -- Build shared versions of the C++ runtime
libraries if supported <tt>--disable-shared</tt> is the default.
- <li> <tt>--enable-haifa</tt> -- Enable the new Haifa instruction scheduler
- in the compiler; the new scheduler can significantly improve code on some
- targets.
- <br>For EGCS 1.0.x releases <tt>--disable-haifa</tt> is the default on all
- platforms except the HPPA.
- <br>For newer releases <tt>--disable-haifa</tt> is the default on all
- platforms except the alpha, hppa, powerpc, rs6000, SPARC and m32r.
+ <li> <tt>--with-gnu-as</tt> -- Specify that the compiler should
+ assume that the assembler it finds is the GNU assembler. However,
+ this does not modify the rules to find an assembler and will result
+ in confusion if the found assembler is not actually the GNU
+ assembler. If you have more than one assembler installed on your
+ system, you may want to use this option in connection with
+ <tt>--with-as=/path/to/gas</tt>.
+
+ <li> <tt>--with-as=</tt><i>/path/to/as</i> -- Specify that the compiler
+ should use the assembler pointed to by <i>pathname</i>, rather than
+ the one found by the standard rules to find an assembler, which are:
+ <ul>
+ <li> Check the <i>$exec_prefix/lib/gcc-lib/$target/$version</i>
+ directory, where <i>$exec_prefix</i> defaults to <i>$prefix</i>
+ which defaults to <i>/usr/local</i> unless overridden by the
+ <tt>--prefix=/pathname</tt> switch described above.
+ <i>$target</i> is the target system triple, such as
+ <i>sparc-sun-solaris2.7</i>, and <i>$version</i> denotes the GCC
+ version, such as <i>2.95.2</i>.
+
+ <li> Check operating system specific directories
+ (e.g. <i>/usr/ccs/bin</i> on Sun Solaris).
+ </ul>
+ Note that these rules do not check for the value of
+ <i>$PATH</i>. You may want to use <tt>--with-as</tt> if no assembler
+ is installed in the directories listed above, or if you have
+ multiple assemblers installed and want to choose one that is not
+ found by the above rules.
- <li> <tt>--with-gnu-as</tt> -- Specify that the compiler should assume the GNU
- assembler (aka gas) is available.
+ <li> <tt>--with-gnu-ld</tt> -- Same as <tt>--with-gnu-as</tt> but
+ for the linker.
- <li> <tt>--with-gnu-ld</tt> -- Specify that the compiler should assume the GNU
- linker (aka gld) is available.
+ <li> <tt>--with-ld=</tt><i>/path/to/ld</i> -- Same as
+ <tt>--with-as</tt>, but for the linker.
<li> <tt>--with-stabs</tt> -- Specify that stabs debugging information should be used
instead of whatever format the host normally uses. Normally GCC uses the
@@ -97,11 +122,13 @@ GCC. A partial list of supported <tt>options</tt>:
etc. This is the default.
<li> <tt>--enable-threads</tt> -- Specify that the target supports threads.
- This affects only the Objective-C compiler and runtime library.
+ This affects the Objective-C compiler and runtime library, and exception
+ handling for other languages like C++ and Java.
<li> <tt>--enable-threads=</tt><i>lib</i> -- Specify that <i>lib</i> is the
- thread support library. This affects only the Objective-C compiler and
- runtime library.
+ thread support library. This affects the Objective-C compiler and
+ runtime library, and exception handling for other languages like C++ and
+ Java.
<li> <tt>--with-cpu=</tt><i>cpu</i> -- Specify which cpu variant the
compiler should generate code for by default. This is currently
@@ -110,15 +137,18 @@ GCC. A partial list of supported <tt>options</tt>:
603e, or ultrasparc) you provide, please check the configure script
for a complete list of supported models.
- <li> <tt>--enable-target-optspace</tt> -- Specify that target libraries should be optimzied for code space instead of code speed. This is the default for
- the m32r platform.
+ <li> <tt>--enable-target-optspace</tt> -- Specify that target libraries
+ should be optimized for code space instead of code speed. This is the
+ default for the m32r platform.
<li> <tt>--enable-cpp</tt> -- Specify that a shell script which emulates
traditional cpp functionality should be installed.
- <li> <tt>--enable-cpplib</tt> -- Specify that the functionality of CPP should
- be integrated into the compiler itself. This is still under development, but
- may be useful in limited situations. This option is never enabled by default.
+ <li> <tt>--enable-cpplib</tt> -- Specify that the functionality of
+ CPP should be integrated into the compiler itself. This option is
+ not supported by snapshots since November 2000. In snapshots where
+ it is supported, it is not enabled by default, except for snapshots
+ very close to November 2000.
<li> <tt>--without-fast-fixincludes</tt> -- Specify that the old, slower
method of fixing the system header files should be used.
@@ -132,7 +162,7 @@ GCC. A partial list of supported <tt>options</tt>:
<tt>${libsubdir}/include/g++</tt> unless you overruled it by using
<tt>--with-gxx-include-dir=</tt><i>dirname</i>.
Using this option is particularly useful if you intend to use several
- versions of egcs/gcc in parallel. This is currently supported by <tt>libf2c</tt>
+ versions of GCC in parallel. This is currently supported by <tt>libf2c</tt>
and <tt>libstdc++</tt>.
<li> <tt>--enable-languages=</tt><i>lang1</i><tt>,</tt><i>lang2</i><tt>,...</tt>
@@ -142,10 +172,12 @@ GCC. A partial list of supported <tt>options</tt>:
<tt>
grep language= */config-lang.in
</tt><br>
- Currently, you can use any of the following: <tt>CHILL</tt>, <tt>c++</tt>,
- <tt>f77</tt>, <tt>java</tt> and <tt>objc</tt>. Please note, that this switch
- does not work with EGCS 1.1.2 or older versions of egcs. It will be supported
- in GCC 2.95 and newer version.<br>
+ Currently, you can use any of the following: <code>c++</code>,
+ <code>f77</code>, <code>java</code> and <code>objc</code>.
+ <code>CHILL</code> is not currently maintained, and will almost
+ certainly fail to compile. Note that this switch does not work with
+ EGCS 1.1.2 or older versions of egcs. It is supported in GCC 2.95
+ and newer versions. <br>
If you do not pass this flag, all languages available in the <tt>gcc</tt> sub-tree
will be configured. Re-defining LANGUAGES when calling <tt>make bootstrap</tt>
<b>*does not*</b> work anymore, as those language sub-directories might not have been
@@ -158,9 +190,11 @@ GCC. A partial list of supported <tt>options</tt>:
<p>Some options which only apply to building cross compilers:
<ul>
<li> <tt>--with-headers=</tt><i>dir</i> -- Specifies a directory which has
- target include files. These include files will be copied into the gcc
- install directory. Fixincludes will be run on these files to make them
- compatible with gcc.
+ target include files.
+ <em>This options is required</em> when building a cross
+ compiler, if <tt>${prefix}/${target}/sys-include</tt> doesn't pre-exist.
+ These include files will be copied into the gcc install directory.
+ Fixincludes will be run on these files to make them compatible with gcc.
<li> <tt>--with-libs=</tt><i>"dir1 dir2 ... dirN"</i> -- Specifies a list of
directories which contain the target runtime libraries. These libraries will
be copied into the gcc install directory.
@@ -172,10 +206,8 @@ GCC. A partial list of supported <tt>options</tt>:
<p>Note that each <tt>--enable</tt> option has a corresponding <tt>--disable</tt> option and
that each <tt>--with</tt> option has a corresponding <tt>--without</tt> option.
-
-<p>
<hr>
-<i>Last modified on July 16, 1999.</i>
+<p><a href="./index.html">Return to the GCC Installation page</a></p>
</body>
</html>
diff --git a/gnu/dist/toolchain/install/download.html b/gnu/dist/toolchain/install/download.html
index a3ed652bb5f..ff96cf06007 100644
--- a/gnu/dist/toolchain/install/download.html
+++ b/gnu/dist/toolchain/install/download.html
@@ -2,37 +2,41 @@
<head>
<title>Downloading GCC</title>
</head>
+
<body>
<h1 align="center">Downloading GCC</h1>
-<p>GCC is distributed via FTP tarballs compressed with gzip or bzip2. It is
-possible to download a full distribution or specific components.
+<p>GCC is distributed via CVS and FTP tarballs compressed with gzip or
+bzip2. It is possible to download a full distribution or specific
+components.</p>
+
+<p>Please refer to our <a href="http://gcc.gnu.org/releases.html">releases
+web page</a> for information on how to obtain GCC.</p>
<p>The full distribution includes the C, C++, Objective-C, Fortran, Java,
and Chill compilers. The full distribution also includes runtime libraries
for C++, Objective-C and Fortran. In the future the GNU compiler testsuites
-will be included in the full distribution.
+will be included in the full distribution.</p>
<p>If you choose to download specific components, you must download the core
gcc distribution plus any language specific distributions you wish to
use. The core distribution includes the C language front-end as well as the
-shared componenets. Each language has a tarball which includes the language
-front-end as well as the language runtime (when appropriate).
+shared components. Each language has a tarball which includes the language
+front-end as well as the language runtime (when appropriate).</p>
-<p>Unpack the core distribution as well as any language specific distributions
-in the same directory.
+<p>Unpack the core distribution as well as any language specific
+distributions in the same directory.</p>
-<p>XXX FSF mirror sites
-<p><a href="ftp://egcs.cygnus.com/pub/egcs/releases/index.html">
-FTP download from egcs.cygnus.com (USA California)</a>
-<p><a href="ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html">
-FTP download from go.cygnus.com (USA California -- High speed link
-provided by Stanford)</a>
-<p>GCC releases are available on many <a href="../mirrors.html">FTP mirror sites</a>. If possible, please use one of these.
+<P>If you also intend to build binutils (either to upgrade an existing
+installation or for use in place of the corresponding tools of your
+OS), unpack the binutils distribution either in the same directory or
+a separate one. In the latter case, add symbolic links to any
+components of the binutils you intend to build alongside the compiler
+(bfd, binutils, gas, gprof, ld, opcodes,...) to the directory containing
+the GCC sources.</p>
-<p>
<hr>
-<i>Last modified on July 16, 1999.</i>
+<p><a href="./index.html">Return to the GCC Installation page</a></p>
</body>
</html>
diff --git a/gnu/dist/toolchain/install/finalinstall.html b/gnu/dist/toolchain/install/finalinstall.html
index 5c11a503213..6b30b430e3f 100644
--- a/gnu/dist/toolchain/install/finalinstall.html
+++ b/gnu/dist/toolchain/install/finalinstall.html
@@ -9,29 +9,27 @@
`<code>cd <i>objdir</i>; make install</code>' for a native compiler or
`<code>cd <i>objdir</i>; make install LANGUAGES="c c++"</code>' for
a cross compiler (note installing cross compilers will be easier in the
-next release!).
-
+next release!).</p>
<p>That step completes the installation of GCC; user level binaries can
be found in <i>prefix</i>/bin where <i>prefix</i> is the value you specified
-with the --prefix to configure (or /usr/local by default).
+with the --prefix to configure (or /usr/local by default).</p>
<p>If you don't mind, please quickly review the <a
-href="http://egcs.cygnus.com/gcc-2.95/buildstat.html">build status page</a>.
+href="http://gcc.gnu.org/gcc-2.95/buildstat.html">build status page</a>.
If your system is not listed, send a note to
<a href="mailto:gcc@gcc.gnu.org">gcc@gcc.gnu.org</a> indicating
-that you successfully built and installed GCC.
+that you successfully built and installed GCC.</p>
-Include the output from running <i>srcdir</i>/config.guess. (Do not
+<p>Include the output from running <i>srcdir</i>/config.guess. (Do not
send us the config.guess file itself, just the output from running
-it!)
+it!)</p>
<p>If you find a bug, please report it following our <a
-href="../faq.html#bugreport">bug reporting guidlines</a>.
+href="../bugs.html">bug reporting guidelines</a>.</p>
-<p>
<hr>
-<i>Last modified on July 16, 1999.</i>
+<p><a href="./index.html">Return to the GCC Installation page</a></p>
</body>
</html>
diff --git a/gnu/dist/toolchain/install/glibc-2.2.patch b/gnu/dist/toolchain/install/glibc-2.2.patch
new file mode 100644
index 00000000000..e63af193783
--- /dev/null
+++ b/gnu/dist/toolchain/install/glibc-2.2.patch
@@ -0,0 +1,282 @@
+2000-10-11 Jakub Jelinek <jakub@redhat.com>
+
+ * iostream.cc (ostream::operator<<(double n)) [__GLIBC_MINOR__ >= 2]:
+ Initialize new fields wide and i18n of struct printf_info.
+ (ostream::operator<<(long double n)) [__GLIBC_MINOR__ >= 2]:
+ Likewise.
+
+2000-09-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * stdstreams.cc: Include <libio.h>, not "libio.h".
+ * iolibio.h: Likewise.
+ (_IO_pos_BAD): Use _IO_off_t instead of _IO_fpos_t.
+ * libio.h (_IO_USER_LOCK): Define.
+
+1999-12-13 Jakub Jelinek <jakub@redhat.com>
+
+ * libio.h (_IO_cookie_io_functions_t): Use _IO_off_t instead of
+ _IO_fpos_t.
+ (_IO_seekoff, _IO_seekpos): Likewise. Use _IO_off64_t instead of
+ _IO_fpos64_t.
+ * libioP.h (_IO_seekoff_t, _IO_seekpos_t, _IO_seek_t): Likewise.
+ (_IO_seekoff, _IO_seekpos): Likewise.
+ (_IO_default_seekoff, _IO_default_seekpos): Likewise.
+ (_IO_default_seek): Likewise.
+ (_IO_file_seekoff, _IO_file_seek, _IO_str_seekoff): Likewise.
+ * streambuf.h (streampos): Typedef to _IO_off_t resp. _IO_off64_t.
+ * parsestream.h (class parsebuf::pos_at_line_start): Change type
+ to _IO_off_t.
+
+--- gcc-2.95.2/libio/libio.h.jj Mon Jun 29 20:06:26 1998
++++ gcc-2.95.2/libio/libio.h Thu Nov 2 17:33:00 2000
+@@ -136,6 +136,7 @@
+ #define _IO_IS_APPENDING 0x1000
+ #define _IO_IS_FILEBUF 0x2000
+ #define _IO_BAD_SEEN 0x4000
++#define _IO_USER_LOCK 0x8000
+
+ /* These are "formatting flags" matching the iostream fmtflags enum values. */
+ #define _IO_SKIPWS 01
+@@ -277,7 +278,7 @@ typedef struct
+ {
+ _IO_ssize_t (*read) __PMT ((struct _IO_FILE *, void *, _IO_ssize_t));
+ _IO_ssize_t (*write) __PMT ((struct _IO_FILE *, const void *, _IO_ssize_t));
+- _IO_fpos_t (*seek) __PMT ((struct _IO_FILE *, _IO_off_t, int));
++ _IO_off_t (*seek) __PMT ((struct _IO_FILE *, _IO_off_t, int));
+ int (*close) __PMT ((struct _IO_FILE *));
+ } _IO_cookie_io_functions_t;
+
+@@ -348,11 +349,11 @@ extern _IO_ssize_t _IO_padn __P ((_IO_FI
+ extern _IO_size_t _IO_sgetn __P ((_IO_FILE *, void *, _IO_size_t));
+
+ #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
+-extern _IO_fpos64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
+-extern _IO_fpos64_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos64_t, int));
++extern _IO_off64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
++extern _IO_off64_t _IO_seekpos __P ((_IO_FILE *, _IO_off64_t, int));
+ #else
+-extern _IO_fpos_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
+-extern _IO_fpos_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos_t, int));
++extern _IO_off_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
++extern _IO_off_t _IO_seekpos __P ((_IO_FILE *, _IO_off_t, int));
+ #endif
+
+ extern void _IO_free_backup_area __P ((_IO_FILE *));
+--- gcc-2.95.2/libio/libioP.h.jj Tue May 18 00:58:56 1999
++++ gcc-2.95.2/libio/libioP.h Tue Oct 10 11:40:57 2000
+@@ -146,10 +146,10 @@ typedef _IO_size_t (*_IO_xsgetn_t) __PMT
+ It matches the streambuf::seekoff virtual function.
+ It is also used for the ANSI fseek function. */
+ #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
+-typedef _IO_fpos64_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off64_t OFF,
++typedef _IO_off64_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off64_t OFF,
+ int DIR, int MODE));
+ #else
+-typedef _IO_fpos_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off_t OFF,
++typedef _IO_off_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off_t OFF,
+ int DIR, int MODE));
+ #endif
+ #define _IO_SEEKOFF(FP, OFF, DIR, MODE) JUMP3 (__seekoff, FP, OFF, DIR, MODE)
+@@ -160,9 +160,9 @@ typedef _IO_fpos_t (*_IO_seekoff_t) __PM
+ It is also used for the ANSI fgetpos and fsetpos functions. */
+ /* The _IO_seek_cur and _IO_seek_end options are not allowed. */
+ #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
+-typedef _IO_fpos64_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_fpos64_t, int));
++typedef _IO_off64_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
+ #else
+-typedef _IO_fpos_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_fpos_t, int));
++typedef _IO_off_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_off_t, int));
+ #endif
+ #define _IO_SEEKPOS(FP, POS, FLAGS) JUMP2 (__seekpos, FP, POS, FLAGS)
+
+@@ -213,9 +213,9 @@ typedef _IO_ssize_t (*_IO_write_t) __PMT
+ It matches the streambuf::sys_seek virtual function, which is
+ specific to this implementation. */
+ #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
+-typedef _IO_fpos64_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
++typedef _IO_off64_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
+ #else
+-typedef _IO_fpos_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off_t, int));
++typedef _IO_off_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off_t, int));
+ #endif
+ #define _IO_SYSSEEK(FP, OFFSET, MODE) JUMP2 (__seek, FP, OFFSET, MODE)
+
+@@ -298,11 +298,11 @@ struct _IO_FILE_plus
+ /* Generic functions */
+
+ #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
+-extern _IO_fpos64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
+-extern _IO_fpos64_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos64_t, int));
++extern _IO_off64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
++extern _IO_off64_t _IO_seekpos __P ((_IO_FILE *, _IO_off64_t, int));
+ #else
+-extern _IO_fpos_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
+-extern _IO_fpos_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos_t, int));
++extern _IO_off_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
++extern _IO_off_t _IO_seekpos __P ((_IO_FILE *, _IO_off_t, int));
+ #endif
+
+ extern void _IO_switch_to_main_get_area __P ((_IO_FILE *));
+@@ -340,22 +340,22 @@ extern _IO_size_t _IO_default_xsputn __P
+ _IO_size_t));
+ extern _IO_size_t _IO_default_xsgetn __P ((_IO_FILE *, void *, _IO_size_t));
+ #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
+-extern _IO_fpos64_t _IO_default_seekoff __P ((_IO_FILE *,
++extern _IO_off64_t _IO_default_seekoff __P ((_IO_FILE *,
+ _IO_off64_t, int, int));
+-extern _IO_fpos64_t _IO_default_seekpos __P ((_IO_FILE *,
+- _IO_fpos64_t, int));
++extern _IO_off64_t _IO_default_seekpos __P ((_IO_FILE *,
++ _IO_off64_t, int));
+ #else
+-extern _IO_fpos_t _IO_default_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
+-extern _IO_fpos_t _IO_default_seekpos __P ((_IO_FILE *, _IO_fpos_t, int));
++extern _IO_off_t _IO_default_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
++extern _IO_off_t _IO_default_seekpos __P ((_IO_FILE *, _IO_off_t, int));
+ #endif
+ extern _IO_ssize_t _IO_default_write __P ((_IO_FILE *, const void *,
+ _IO_ssize_t));
+ extern _IO_ssize_t _IO_default_read __P ((_IO_FILE *, void *, _IO_ssize_t));
+ extern int _IO_default_stat __P ((_IO_FILE *, void *));
+ #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
+-extern _IO_fpos64_t _IO_default_seek __P ((_IO_FILE *, _IO_off64_t, int));
++extern _IO_off64_t _IO_default_seek __P ((_IO_FILE *, _IO_off64_t, int));
+ #else
+-extern _IO_fpos_t _IO_default_seek __P ((_IO_FILE *, _IO_off_t, int));
++extern _IO_off_t _IO_default_seek __P ((_IO_FILE *, _IO_off_t, int));
+ #endif
+ extern int _IO_default_sync __P ((_IO_FILE *));
+ #define _IO_default_close ((_IO_close_t) _IO_default_sync)
+@@ -389,11 +389,11 @@ extern void _IO_flush_all_linebuffered _
+ extern int _IO_file_doallocate __P ((_IO_FILE *));
+ extern _IO_FILE* _IO_file_setbuf __P ((_IO_FILE *, char *, _IO_ssize_t));
+ #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
+-extern _IO_fpos64_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
+-extern _IO_fpos64_t _IO_file_seek __P ((_IO_FILE *, _IO_off64_t, int));
++extern _IO_off64_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
++extern _IO_off64_t _IO_file_seek __P ((_IO_FILE *, _IO_off64_t, int));
+ #else
+-extern _IO_fpos_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
+-extern _IO_fpos_t _IO_file_seek __P ((_IO_FILE *, _IO_off_t, int));
++extern _IO_off_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
++extern _IO_off_t _IO_file_seek __P ((_IO_FILE *, _IO_off_t, int));
+ #endif
+ extern _IO_size_t _IO_file_xsputn __P ((_IO_FILE *, const void *, _IO_size_t));
+ extern int _IO_file_stat __P ((_IO_FILE *, void *));
+@@ -427,9 +427,9 @@ extern int _IO_str_underflow __P ((_IO_F
+ extern int _IO_str_overflow __P ((_IO_FILE *, int));
+ extern int _IO_str_pbackfail __P ((_IO_FILE *, int));
+ #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
+-extern _IO_fpos64_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
++extern _IO_off64_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
+ #else
+-extern _IO_fpos_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
++extern _IO_off_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
+ #endif
+ extern void _IO_str_finish __P ((_IO_FILE *, int));
+
+@@ -544,12 +544,12 @@ extern int _IO_vscanf __P ((const char *
+ where an _IO_fpos_t is a struct.
+ Note that _IO_off_t must be an integral type. */
+
+-/* _IO_pos_BAD is an _IO_fpos_t value indicating error, unknown, or EOF. */
++/* _IO_pos_BAD is an _IO_off_t value indicating error, unknown, or EOF. */
+ #ifndef _IO_pos_BAD
+ # if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
+-# define _IO_pos_BAD ((_IO_fpos64_t) -1)
++# define _IO_pos_BAD ((_IO_off64_t) -1)
+ # else
+-# define _IO_pos_BAD ((_IO_fpos_t) -1)
++# define _IO_pos_BAD ((_IO_off_t) -1)
+ # endif
+ #endif
+ /* _IO_pos_as_off converts an _IO_fpos_t value to an _IO_off_t value. */
+--- gcc-2.95.2/libio/streambuf.h.jj Mon Aug 9 02:07:01 1999
++++ gcc-2.95.2/libio/streambuf.h Tue Oct 10 11:40:57 2000
+@@ -72,10 +72,10 @@ class ostream; class streambuf;
+
+ #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
+ typedef _IO_off64_t streamoff;
+-typedef _IO_fpos64_t streampos;
++typedef _IO_off64_t streampos;
+ #else
+ typedef _IO_off_t streamoff;
+-typedef _IO_fpos_t streampos;
++typedef _IO_off_t streampos;
+ #endif
+ typedef _IO_ssize_t streamsize;
+
+--- gcc-2.95.2/libio/parsestream.h.jj Fri Aug 22 00:58:20 1997
++++ gcc-2.95.2/libio/parsestream.h Tue Oct 10 11:40:57 2000
+@@ -42,7 +42,7 @@ extern "C++" {
+
+ class parsebuf : public streambuf {
+ protected:
+- _IO_fpos_t pos_at_line_start;
++ _IO_off_t pos_at_line_start;
+ long _line_length;
+ unsigned long __line_number;
+ char *buf_start;
+--- gcc-2.95.2/libio/iostream.cc.jj Sat Aug 7 08:01:46 1999
++++ gcc-2.95.2/libio/iostream.cc Thu Nov 2 17:33:00 2000
+@@ -1,5 +1,5 @@
+ /* This is part of libio/iostream, providing -*- C++ -*- input/output.
+- Copyright (C) 1993, 1997 Free Software Foundation, Inc.
++ Copyright (C) 1993, 1997, 2000 Free Software Foundation, Inc.
+
+ This file is part of the GNU IO Library. This library is free
+ software; you can redistribute it and/or modify it under the
+@@ -687,6 +687,10 @@ ostream& ostream::operator<<(double n)
+ /* extra: */ 0,
+ #if __GLIBC_MINOR__ >= 1
+ /* is_char: */ 0,
++#if __GLIBC_MINOR__ >= 2
++ /* wide: */ 0,
++ /* i18n: */ 0,
++#endif
+ #endif
+ #endif
+ /* pad: */ fill()
+@@ -793,6 +797,10 @@ ostream& ostream::operator<<(long double
+ /* extra: */ 0,
+ #if __GLIBC_MINOR__ >= 1
+ /* is_char: */ 0,
++#if __GLIBC_MINOR__ >= 2
++ /* wide: */ 0,
++ /* i18n: */ 0,
++#endif
+ #endif
+ #endif
+ /* pad: */ fill()
+--- gcc-2.95.2/libio/iolibio.h.jj Tue Feb 24 21:09:50 1998
++++ gcc-2.95.2/libio/iolibio.h Thu Nov 2 17:33:00 2000
+@@ -1,4 +1,4 @@
+-#include "libio.h"
++#include <libio.h>
+
+ /* These emulate stdio functionality, but with a different name
+ (_IO_ungetc instead of ungetc), and using _IO_FILE instead of FILE. */
+@@ -38,7 +38,11 @@ extern int _IO_obstack_vprintf __P ((str
+ _IO_va_list));
+ extern int _IO_obstack_printf __P ((struct obstack *, const char *, ...));
+ #ifndef _IO_pos_BAD
+-#define _IO_pos_BAD ((_IO_fpos_t)(-1))
++# if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
++# define _IO_pos_BAD ((_IO_off64_t) -1)
++# else
++# define _IO_pos_BAD ((_IO_off_t) -1)
++# endif
+ #endif
+ #define _IO_clearerr(FP) ((FP)->_flags &= ~(_IO_ERR_SEEN|_IO_EOF_SEEN))
+ #define _IO_fseek(__fp, __offset, __whence) \
+--- gcc-2.95.2/libio/stdstreams.cc.jj Fri Aug 22 00:58:21 1997
++++ gcc-2.95.2/libio/stdstreams.cc Thu Nov 2 17:33:00 2000
+@@ -36,7 +36,7 @@ the executable file might be covered by
+ // then we don't need to, since in that case stdin/stdout/stderr
+ // are identical to _IO_stdin/_IO_stdout/_IO_stderr.
+
+-#include "libio.h"
++#include <libio.h>
+
+ #ifdef _STDIO_USES_IOSTREAM
+ #define CIN_SBUF _IO_stdin_
diff --git a/gnu/dist/toolchain/install/index.html b/gnu/dist/toolchain/install/index.html
index 981ec480695..b5ed29ed28f 100644
--- a/gnu/dist/toolchain/install/index.html
+++ b/gnu/dist/toolchain/install/index.html
@@ -6,45 +6,40 @@
<h1 align="center">Installing GCC</h1>
<p>The latest version of this document is always available at <a href="
-http://egcs.cygnus.com/install/">http://egcs.cygnus.com/install/</a>.
+http://gcc.gnu.org/install/">http://gcc.gnu.org/install/</a>.
<p>This document describes the generic installation procedure for GCC as
well as detailing some target specific installation instructions.
<p>GCC includes several components that previously were separate distributions
-with their own installation instructions. This document supercedes all
+with their own installation instructions. This document supersedes all
package specific installation instructions. We provide the component specific
installation information in the source distribution for historical reference
purposes only.
-<p>We recommend you read the entire generic installation instructions as
-well as any target specific installation instructions before you proceed
-to configure, build, test and install GCC.
-
-<p>If something goes wrong in the configure, build, test or install
-procedures, first double check that you followed the generic and target
-specific installation instructions carefully. Then check the
-<a href="../faq.html">FAQ</a> to see if your problem is covered before you file
-a bug report.
-
-<p><em>Before</em> starting the build/install procedure <em>please</em> browse
+<p><em>Before</em> starting the build/install procedure please check
the <a href="specific.html">host/target specific installation notes</a>.
+We recommend you browse the entire generic installation instructions
+before you proceed.</p>
-<p>The installation procedure is broken into five steps.
-
-<ul>
+<p>The installation procedure itself is broken into five steps.
- <li> <a href="download.html">downloading the source</a>
- <li> <a href="configure.html">configure</a>
- <li> <a href="build.html">build</a>
- <li> <a href="test.html">test</a> (optional)
- <li> <a href="finalinstall.html">install</a>
+<ol>
+ <li><a href="download.html">Downloading the source</a></li>
+ <li><a href="configure.html">Configuration</a></li>
+ <li><a href="build.html">Building</a></li>
+ <li><a href="test.html">Testing</a> (optional)</li>
+ <li><a href="finalinstall.html">Final install</a></li>
+</ol>
-</ul>
+<p>Please note that GCC does not support <CODE>`make uninstall`</CODE>
+and probably won't do so in the near future as this would open a can
+of worms. Instead, we suggest that you install GCC into a directory of
+its own and simply remove that directory when you do not need that
+specific version of GCC any longer.
<hr>
-<a href="../index.html">Return to the GCC home page</a>
-<hr>
-<i>Last modified on July 15, 1999.</i>
+<p><a href="./index.html">Return to the GCC Installation page</a></p>
+
</body>
</html>
diff --git a/gnu/dist/toolchain/install/specific.html b/gnu/dist/toolchain/install/specific.html
index f2a21f54ecd..bd2dfdef821 100644
--- a/gnu/dist/toolchain/install/specific.html
+++ b/gnu/dist/toolchain/install/specific.html
@@ -6,17 +6,22 @@
<h1 align="center">Host/Target specific installation notes for GCC</h1>
-<p>Please read this document carefully <i>before</i> installing the GNU Compiler Collection on your machine.</p>
+<p>Please read this document carefully <i>before</i> installing the
+GNU Compiler Collection on your machine.</p>
<ul>
<li><a href="#alpha*-dec-linux*">alpha*-dec-linux*</a></li>
<li><a href="#alpha*-dec-osf*">alpha*-dec-osf*</a></li>
- <li><a href="#dos">GCC with DOS</a></li>
+ <li><a href="#avr">avr</a></li>
+ <li><a href="#dos">DOS</a></li>
<li><a href="#hppa*-hp-hpux*">hppa*-hp-hpux*</a></li>
<li><a href="#hppa*-hp-hpux9">hppa*-hp-hpux9</a></li>
<li><a href="#hppa*-hp-hpux10">hppa*-hp-hpux10</a></li>
+ <li><a href="#hppa*-hp-hpux11">hppa*-hp-hpux11</a></li>
+ <li><a href="#*-*-linux-gnu">*-*-linux-gnu</a></li>
<li><a href="#ix86-*-linux*">i?86-*-linux*</a></li>
<li><a href="#ix86-*-sco3.2v5*">i?86-*-sco3.2v5*</a></li>
+ <li><a href="#ix86-*-solaris*">i?86-*-solaris*</a></li>
<li><a href="#ix86-*-udk">i?86-*-udk</a></li>
<li><a href="#*-ibm-aix*">*-ibm-aix*</a></li>
<li><a href="#m68k-*-nextstep*">m68k-*-nextstep*</a></li>
@@ -27,11 +32,13 @@
<li><a href="#*-*-solaris*">*-*-solaris*</a></li>
<li><a href="#sparc-sun-solaris*">sparc-sun-solaris*</a></li>
<li><a href="#sparc-sun-solaris2.7">sparc-sun-solaris2.7</a></li>
+ <li><a href="#*-sun-solaris2.8">*-sun-solaris2.8</a></li>
<li><a href="#sunv5">Sun V5.0 Compiler Bugs</a></li>
<li><a href="#sparc-sun-sunos*">sparc-sun-sunos*</a></li>
<li><a href="#sparc-unknown-linux-gnulibc1">sparc-unknown-linux-gnulibc1</a></li>
<li><a href="#sparc64-*-*">sparc64-*-*</a></li>
- <li><a href="#win+os2">GCC with Windows or OS/2</a></li>
+ <li><a href="#windows">Microsoft Windows</a></li>
+ <li><a href="#os2">OS/2</a></li>
</ul>
<ul>
@@ -45,42 +52,13 @@
<hr>
<h3><a name="alpha*-dec-linux*">alpha*-dec-linux*</a></h3>
-<p>GNU/Linux Alpha EV56 or PCA56 hosts running Red Hat 4.2 or 5.0 may
-see errors of this sort:</p>
-<pre>
- Error: Unknown pseudo-op: `.arch'
-</pre>
-<p>This is a signal that a new assembler is needed if you want to generate BWX insns for your machine.</p>
-
-<p>The version of GCC shipped with Red Hat 4.2 (2.7.0.2) has a fault wherein
-it will silently generate incorrect code. The version shipped with
-Red Hat 5.0 (2.8.0.1) is not broken, but required an extra -m21164a
-argument on the command-line. In order to visibly trap 2.7.0.2,
-I now issue DEC's .arch pseudo into the assembly. Relieving the
-problem of mucking with command-line arguments for 2.8.0.1 is a
-pleasant side effect.</p>
-
-<p>If you've got Red Hat 5.0 installed, you may grab binutils 2.9.1
-and be happy. If you've got Red Hat 4.2, bugs make it much harder
-to upgrade pieces on your own, and you are better off upgrading
-the entire system.</p>
-
-<p>In either case, your problem may be bypassed by not emitting BWX
-code by default. Do this by using</p>
-<pre>
- configure alphaev5-unknown-linux-gnulibc1
-</pre>
-<p>if you have RH 4.2, or</p>
-<pre>
- configure alphaev5-unknown-linux-gnu
-</pre>
-<p>if you have RH 5.0.</p>
+<p>We strongly recommend to upgrade to binutils 2.10 (or newer).</p>
<p>The following error:</p>
<pre>
Error: macro requires $at register while noat in effect
</pre>
-<p>also indicates that you should upgrade to a newer version of
+<p>indicates that you should upgrade to a newer version of
the assembler, 2.9 or later. If you can not upgrade the assembler, the
compiler option "-Wa,-m21164a" may work around this problem.</p>
@@ -99,7 +77,7 @@ to remove the shared libstdc++.</p>
<p>An alternative solution is to arrange that all symbols from
<code>libgcc</code> get copied to the shared <code>libstdc++</code>;
see detailed solution below. (Surprising as it may seem, this does
-indeed fix the problem!) <b>Beware</b> that this may bring you
+indeed fix the problem!) <em>Beware</em> that this may bring you
binary-compatibility problems in the future, if you don't use the same
work-around next time you build <code>libstdc++</code>: if programs
start to depend on <code>libstdc++</code> to provide symbols that used
@@ -109,7 +87,7 @@ will have to be relinked.</p>
<p>The magic spell is to add <code>-Wl,-all,-lgcc,-none</code> to the
definition of macro <code>SHDEPS</code> in
-<code>libstdc++/config/dec-osf.ml</code> <b>before</b>
+<code>libstdc++/config/dec-osf.ml</code> <em>before</em>
<code>alpha*-dec-osf*/libstdc++/Makefile</code> is created (a <a
href="dec-osf-shlibstdc++.patch">patch</a> that does just that is
available). If the Makefile already exists, run
@@ -127,24 +105,50 @@ it with the command <code>gcc -shared -o libstdc++.so.2.10.0
sub-directory exists, repeat this command in it, with the additional
flag <code>-mieee</code>.</p>
+<hr>
+<h3><a name="avr">avr</a></h3>
+
+<p>Use `configure --target=avr --enable-languages="c"' to configure GCC.</p>
+<p>Further installation notes and other useful information about AVR tools
+can also be obtained from: </p>
+<ul>
+ <li><a href="http://home.overta.ru/users/denisc">
+ http://home.overta.ru/users/denisc</a></li>
+ <li><a href="http://www.itnet.pl/amelektr/avr">
+ http://www.itnet.pl/amelektr/avr</a></li>
+</ul>
+
+<p>We strongly recommend to upgrade to binutils 2.11
+(or a current snapshot until 2.11 has been released).</p>
+
+<p>The following error:</p>
+<pre>
+ Error: register required
+</pre>
+<p>indicates that you should upgrade to a newer version of
+the binutils.</p>
<hr>
-<h3><a name="dos">GCC with DOS</h3>
+<h3><a name="dos">DOS</a></h3>
-<p>A binary distribution is available at <a
-href="ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/">Simtel.Net</A> and its
-mirrors.</p>
+<p>Please have a look at our <a href="binaries.html">binaries page</a>.</p>
<hr>
<h3><a name="hppa*-hp-hpux*">hppa*-hp-hpux*</a></h3>
-<p>We <b>highly</b> recommend using gas/binutils-2.8 or newer on all hppa
+<p>We <em>highly</em> recommend using gas/binutils-2.8 or newer on all hppa
platforms; you may encounter a variety of problems when using the HP assembler.</p>
-<p>If you wish to use pa-risc 2.0 architecture support, you must use either the
-HP assembler or a recent
-<a href="ftp://sourceware.cygnus.com/pub/binutils/snapshots">snapshot of gas</a>.</p>
+<p>Specifically, <code>-g</code> does not work on HP-UX (since that system
+uses a peculiar debugging format which GCC does not know about), unless you
+use GAS and GDB and configure GCC with the <code>--with-gnu-as</code>
+option.</p>
+
+<p>If you wish to use pa-risc 2.0 architecture support, you must use either
+the HP assembler or a recent
+<a href="ftp://sources.redhat.com/pub/binutils/snapshots">snapshot of
+gas</a>.</p>
<p>More specific information to hppa*-hp-hpux* targets follows.</p>
@@ -165,8 +169,8 @@ shell. To avoid this problem set CONFIG_SHELL to /bin/ksh and SHELL to
<hr>
<h3><a name="hppa*-hp-hpux10">hppa*-hp-hpux10</a></h3>
-<p>For hpux10.20, we <b>highly</b> recommend you pick up the latest sed
-patch <code>PHCO_15468</code> from HP. HP has two sites which provide patches free of charge:</p>
+<p>For hpux10.20, we <em>highly</em> recommend you pick up the latest sed
+patch <code>PHCO_19798</code> from HP. HP has two sites which provide patches free of charge:</p>
<ul>
<li><a href="http://us-support.external.hp.com">US, Canada, Asia-Pacific, and
Latin-America</a></li>
@@ -182,7 +186,24 @@ bootstrap</code>'.</p>
<hr>
+<h3><a name="hppa*-hp-hpux11">hppa*-hp-hpux11</a></h3>
+
+<p>GCC 2.95.2 does not support HP-UX 11, and it cannot generate 64-bit
+object files. Current (as of late 2000) snapshots and GCC 3.0 do support
+HP-UX 11.</p>
+
+
+<hr>
+<h3><a name="*-*-linux-gnu">*-*-linux-gnu</a></h3>
+
+<p>If you use glibc 2.2 (or 2.1.9x), GCC 2.95.2 won't install
+out-of-the-box. You'll get compile errors while building libstdc++.
+The patch <a href="glibc-2.2.patch">glibc-2.2.patch</a>, that is to be
+applied in the GCC source tree, fixes the compatibility problems.</p>
+
+<hr>
<h3><a name="ix86-*-linux*">i?86-*-linux*</a></h3>
+
<p>You will need binutils-2.9.1.0.15 or newer for exception handling to work.</p>
<p>If you receive Signal 11 errors when building on GNU/Linux, then it is
@@ -193,45 +214,52 @@ found on <a href="http://www.bitwizard.nl/sig11/">www.bitwizard.nl.</a></p>
<hr>
<h3><a name="ix86-*-sco3.2v5*">i?86-*-sco3.2v5*</a></h3>
+<p>Unlike earlier versions of GCC, the ability to generate COFF with this
+target is no longer provided.
+
+<p>Earlier versions of GCC emitted Dwarf-1 when generating ELF to allow
+the system debugger to be used. That support was too burdensome to
+maintain. GCC now emits only dwarf-2 for this target. This means you
+may use either the UDK debugger or GDB to debug programs built by this
+version of GCC.
+
<p>If you are building languages other than C, you must follow the instructions
about invoking `<code>make bootstrap</code>' because the native OpenServer
compiler will build a <code>cc1plus</code> that will not correctly parse many
valid C++ programs including those in <code>libgcc.a</code>. <b>You must do a `<code>make bootstrap</code>' if you are building with the native compiler.</b></p>
<p>Use of the `<code>-march-pentiumpro</code>' flag can result in
-unrecognized opcodes when using the native assembler. While
-it's rather rare to see these emitted by GCC yet, errors of the basic form:</p>
+unrecognized opcodes when using the native assembler on OS versions before
+5.0.6. (Support for P6 opcodes was added to the native ELF assembler in
+that version.) While it's rather rare to see these emitted by GCC yet,
+errors of the basic form:</p>
<pre>
/usr/tmp/ccaNlqBc.s:22:unknown instruction: fcomip
/usr/tmp/ccaNlqBc.s:50:unknown instruction: fucomip
</pre>
-<p>are symptoms of this problem. You may work around this by not
-building affected files with that flag or by using the GNU assembler.
-Users of GNU assembler should see the note below for hazards on doing so.</p>
-
-<p>If you choose to configure with <code>--enable-shared</code> you should also
-specificy <code>--with-gnu-as --disable-multilib</code> even if you are not
-using the GNU assembler. In doing so you will give up the ability
-to generate COFF executables as described below. This combination
-of flags is necessary to suppress negative interactions with multilibing.</p>
-
-<p>The native SCO assembler that is provided with the OS at no charge
-is normally required. If, however, you must be able to use the GNU
-assembler you may configure this package using the flags <code>--with-gnu-as</code>.
-You must use a recent version of GNU binutils; version 2.9.1 seems to work well.
-If you select this option, you will be unable to reliably build COFF
-images. In general, the <code>--with-gnu-as</code> option isn't as well tested as the native assembler.</p>
-
-<p>Unlike various prereleases of GCC that used <code>-belf</code> and
-defaulted to COFF, you must now use the <code>-melf</code> and
-<code>-mcoff</code> flags to toggle between the two object file formats.
-ELF is now the default.</p>
-
-<p>Look in <code>gcc/config/i386/sco5.h</code> (search for "messy") for additional OpenServer-specific flags.</p>
-
-<p>Systems based on OpenServer before 5.0.4 (`<code>uname -X</code>' will
-tell you what you're running) require TLS597 from ftp.sco.com/TLS for
-C++ constructors and destructors to work right.</p>
+
+<p>are symptoms of this problem. You may work around this by not
+building affected files with that flag, by using the GNU assembler, or
+by using the assembler provided with the current version of the OS.
+Users of GNU assembler should see the note below for hazards on doing
+so.</p>
+
+<p>The native SCO assembler that is provided with the OS at no
+charge is normally required. If, however, you must be able to use
+the GNU assembler (perhaps you're compiling code with asms that
+require GAS syntax) you may configure this package using the flags
+<code>--with-gnu-as</code>. You must use a recent version of GNU
+binutils; versions past 2.9.1 seem to work well.
+
+In general, the <code>--with-gnu-as</code> option isn't as well tested
+as the native assembler.</p>
+
+<p>Look in <code>gcc/config/i386/sco5.h</code> (search for "messy") for
+additional OpenServer-specific flags.</p>
+
+<p>Systems based on OpenServer before 5.0.4 (`<code>uname -X</code>'
+will tell you what you're running) require TLS597 from ftp.sco.com/TLS
+for C++ constructors and destructors to work right.</p>
<p>The system linker in (at least) 5.0.4 and 5.0.5 will sometimes
do the wrong thing for a construct that GCC will emit for PIC
@@ -243,7 +271,7 @@ ftp://ftp.sco.com/Supplements/rs505a/</a> and <a href="ftp://ftp.sco.com/SLS/">
OSS499A</a>.</p>
<p>The dynamic linker in OpenServer 5.0.5 (earlier versions may show
-the same problem) aborts on certain g77-compiled programs. It's particluarly
+the same problem) aborts on certain g77-compiled programs. It's particularly
likely to be triggered by building Fortran code with the <code>-fPIC</code>
flag.
Although it's conceivable that the error could be triggered by other
@@ -259,6 +287,16 @@ and will hopefully be addressed in later releases.</p>
<hr>
+<h3><a name="ix86-*-solaris*">i?86-*-solaris*</a></h3>
+
+<p>GCC 2.95.2, when configured to use the GNU assembler, would invoke
+it with the <code>-s</code> switch, that GNU as up to 2.9.5.0.12 does
+not support. If you'd rather not use a newer GNU as nor the native
+assembler, you'll need the patch <a
+href="x86-sol2-gas.patch"><code>`x86-sol2-gas.patch'</code></a>.</p>
+
+
+<hr>
<h3><a name="ix86-*-udk">i?86-*-udk</a></h3>
<p>This target emulates the SCO Universal Development Kit and requires that
@@ -278,7 +316,7 @@ from the right place) while making the tools not think we're actually
building a cross compiler. The easiest way to do this is with a configure
command like this:</p>
<pre>
- CC=/udk/usr/ccs/bin/cc <i>/your/path/to/</i>gcc/configure --host=i686-pc-udk --target=i686-pc-udk --exec-prefix=udk-
+ CC=/udk/usr/ccs/bin/cc <i>/your/path/to/</i>gcc/configure --host=i686-pc-udk --target=i686-pc-udk --program-prefix=udk-
</pre>
<p><i>You should substitute 'i686' in the above command with the appropriate
processor for your host.</i></p>
@@ -296,13 +334,13 @@ tools by adding <code>udk-</code> before the commonly known name. For example,
newer is recommended to build on this platform.</p>
<p>Errors involving &quot;alloca&quot; when building GCC generally are due
-to an incorrect definition of <tt>CC</tt> in the Makefile or mixing files
+to an incorrect definition of <code>CC</code> in the Makefile or mixing files
compiled with the native C compiler and GCC. During the stage1 phase of
the build, the native AIX compiler <b>must</b> be invoked as &quot;cc&quot;
-(not &quot;xlc&quot;). Once <tt>configure</tt> has been informed of
+(not &quot;xlc&quot;). Once <code>configure</code> has been informed of
&quot;xlc&quot;, one needs to use &quot;make distclean&quot; to remove the
-configure cache files and ensure that <tt>$CC</tt> environment variable
-does not provide a definition that will confuse <tt>configure</tt>.
+configure cache files and ensure that <code>$CC</code> environment variable
+does not provide a definition that will confuse <code>configure</code>.
If this error occurs during stage2 or later, then the problem most likely
is the version of Make (see above).</p>
@@ -324,20 +362,22 @@ with GCC.</p>
AIX 4.3.1 to parse archive libraries did not handle the new format correctly.
These routines are used by GCC and result in error messages during linking
such as &quot;not a COFF file&quot;. The version of the routines shipped
-with AIX 4.3.1 should work for a 32-bit environment. The <tt>-g</tt> option
-of the archive command may be used to create archives of 32-bit objects
-using the original "small format". A correct version of the routines is
-shipped with AIX 4.3.2.</p>
+with AIX 4.3.1 should work for a 32-bit environment. The
+<code>-g</code> option of the archive command may be used to create
+archives of 32-bit objects using the original "small format". A
+correct version of the routines is shipped with AIX 4.3.2.</p>
<p>The initial assembler shipped with AIX 4.3.0 generates incorrect object
-files. A fix for APAR IX74254 (64BIT DISASSEMBLED OUPUT FROM COMPILER FAILS
+files. A fix for APAR IX74254 (64BIT DISASSEMBLED OUTPUT FROM COMPILER FAILS
TO ASSEMBLE/BIND) is available from IBM Customer Support and from its
<a href="http://service.boulder.ibm.com/">service.boulder.ibm.com</a>
website as PTF U453956. This fix is incorporated in AIX 4.3.1 and above.</p>
<p>The AIX 4.3.2.1 linker (bos.rte.bind_cmds Level 4.3.2.1) will dump core
with a segmentation fault when invoked by any version of GCC. A fix for
-APAR IX87327 will be available from IBM Customer Support.</p>
+APAR IX87327 is available from IBM Customer Support and from its
+<a href="http://service.boulder.ibm.com/">service.boulder.ibm.com</a>
+website as PTF U461879. This fix is incorporated in AIX 4.3.3 and above.</p>
<hr>
@@ -365,7 +405,8 @@ replacement that does can be obtained at
<p>If you try to build the integrated C++ & C++ runtime libraries on this system
you will run into trouble with include files. The way to get around this is
to use the following sequence. Note you must have write permission to
-the directory <i>prefix</i> you secified in the configuration preocess of GCC for this sequence to work.</p>
+the directory <i>prefix</i> you specified in the configuration process of GCC
+for this sequence to work.</p>
<pre>
cd bld-gcc
make all-texinfo all-bison all-byacc all-binutils all-gas all-ld
@@ -415,21 +456,43 @@ IRIX 5.2. We recommend you use GNU make instead of the vendor supplied
make program; however, you may have success with "smake" on IRIX 5.2 if
you do not have GNU make available.</p>
-<p>See <a href="http://reality.sgi.com/ariel/freeware/">
-http://reality.sgi.com/ariel/freeware</a> for more information about using GCC on IRIX platforms.</p>
+<p>See <a href="http://reality.sgi.com/ariel/freeware/">
+http://reality.sgi.com/ariel/freeware</a> for more information about
+using GCC on IRIX platforms.</p>
<hr>
<h3><a name="mips*-sgi-irix6">mips*-sgi-irix6</a></h3>
-<p>You must <i>not</i> use GAS on irix6 platforms; doing so will only cause problems.</p>
+<p>You must <i>not</i> use GAS on irix6 platforms; doing so will only
+cause problems.</p>
<p>These systems don't have ranlib, which various components in GCC need; you
should be able to avoid this problem by making a dummy script called ranlib
which just exits with zero status and placing it in your path.</p>
+<p>If you are using Irix cc as your bootstrap compiler, you must
+ensure that the N32 ABI is in use. To test this, compile a simple C
+file with <CODE>cc</CODE> and then run <CODE>file</CODE> on the
+resulting object file. The output should look like:</p>
+
+<blockquote><code>
+test.o: ELF N32 MSB ...
+</code></blockquote>
+
+If you see:
+<blockquote><code>
+test.o: ELF 32-bit MSB
+</code></blockquote>
+
+<p>then your version of <CODE>cc</CODE> uses the O32 ABI default. You
+should set the environment variable <CODE>CC</CODE> to 'cc -n32'
+before configuring GCC.</p>
+
<p>GCC does not currently support generating O32 ABI binaries in the
-mips-sgi-irix6 configurations. It used to be possible to create a GCC with O32 ABI only support by configuring it for the mips-sgi-irix5 target. See the link below for details.</p>
+mips-sgi-irix6 configurations. It used to be possible to create a GCC
+with O32 ABI only support by configuring it for the mips-sgi-irix5
+target. See the link below for details.</p>
<p>GCC does not correctly pass/return structures which are
smaller than 16 bytes and which are not 8 bytes. The problem is very
@@ -441,13 +504,14 @@ of the register when it should be loaded into the upper 4 bytes of the
register. </p>
<p>GCC is consistent with itself, but not consistent with the SGI C compiler
-[and the SGI supplied runtime libraries], so the only failures that can
+(and the SGI supplied runtime libraries), so the only failures that can
happen are when there are library functions that take/return such
structures. There are very few such library functions. I can only recall
seeing two of them: inet_ntoa, and semctl. </p>
-<p>See <a href="http://reality.sgi.com/ariel/freeware/">
-http://reality.sgi.com/ariel/freeware</a> for more information about using GCC on IRIX platforms.</p>
+<p>See <a href="http://reality.sgi.com/ariel/freeware/">
+http://reality.sgi.com/ariel/freeware</a> for more information about
+using GCC on IRIX platforms.</p>
<hr>
@@ -463,16 +527,16 @@ if you initially built it with gcc-2.7.2.x.</p>
<p>Starting with Solaris, Sun does not ship a C compiler any more. To
bootstrap and install GCC you first have to install a pre-built
-compiler, for example from <a href="http://www.sunfreeware.com/">
-http://www.sunfreeware.com</a>.</p>
+compiler, see our <a href="binaries.html">binaries page</a> for
+details.</p>
<p>Sun as 4.X is broken in that it cannot cope with long symbol names.
-A typical error message might look similiar to the following:
+A typical error message might look similar to the following:
<BLOCKQUOTE><CODE>
/usr/ccs/bin/as: "/var/tmp/ccMsw135.s", line 11041: error: can't compute
value of an expression involving an external symbol.
</CODE></BLOCKQUOTE>
-See the <a href="../faq.html#squangle">How to work around too long C++
+<p>See the <a href="../faq.html#squangle">How to work around too long C++
symbol names?</a> FAQ entry for further information.</p>
<p>Sun make in all known Solaris 1 (SunOS 4) and Solaris 2 releases has a
@@ -482,16 +546,22 @@ broken <i>VPATH</i> mechanism, which means you must either:
<li>Always build in the source directory, <em>or:</em></li>
<li><em>(For GCC 2.95.1 only)</em>
apply the patches mentioned at
- <a href="http://www.gnu.org/software/gcc/egcstensions.html#sun-make">
- http://www.gnu.org/software/gcc/egcstensions.html#sun-make</a>.</li>
-</ul></p>
+ <a href="http://www.gnu.org/software/gcc/extensions.html#sun-make">
+ http://www.gnu.org/software/gcc/extensions.html#sun-make</a>.</li>
+</ul>
<hr>
<h3><a name="sparc-sun-solaris*">sparc-sun-solaris*</a></h3>
-<p>binutils 2.9.1 has known bugs on this platform. We recommend to use the
-vendor tools (Sun as, Sun ld) until these have been fixed.</p>
+<p>binutils 2.9.1 has known bugs on this platform. We recommend to use
+binutils 2.10 or the vendor tools (Sun as, Sun ld).</p>
+
+<p>Unfortunately, C++ shared libraries, including libstdc++, won't work
+properly if assembled with Sun as: the linker will complain about
+relocations in read-only sections, in the definition of virtual
+tables. Also, Sun as fails to process long symbols resulting from
+mangling template-heavy C++ function names.</p>
<hr>
@@ -527,14 +597,28 @@ recommend it only for people who use Sun's compilers.</p>
partial fix is adequate for GCC. Revision -08 or later should fix
the bug, but (as of 1999-10-06) it is still being tested.</li>
</ul>
-</p>
+
+
+<hr>
+<h3><a name="*-sun-solaris2.8">*-sun-solaris2.8</a></h3>
+<p><!-- ripped from the same FAQ that I answered -->
+Sun bug 4296832 turns up when compiling X11 headers with GCC 2.95 or
+newer: g++ will complain that types are missing. These headers assume
+that omitting the type means 'int'; this assumption worked for C89 but
+is wrong for C++, and is now wrong for C99 also.</p>
+
+<p>g++ accepts such (illegal) constructs with the option -fpermissive; it
+will assume that any missing type is 'int' (as defined by C89).</p>
+
+<p>For Solaris 8, this is fixed by revision 24 or later of patch 108652
+(for SPARCs) or 108653 (for Intels).</p>
<hr>
<h3><a name="sunv5">Sun V5.0 Compiler Bugs</a></h3>
-The Sun V5.0 compilers are known to mis-compile GCC, which in turn causes
-GCC to fail its bootstrap comparison test. We expect to have a workaround
-ready in time for GCC 2.95.2.
+The Sun V5.0 compilers are known to mis-compile GCC 2.95 and GCC 2.95.1,
+which in turn causes GCC to fail its bootstrap comparison test.
+GCC 2.95.2 has a workaround.
<hr>
@@ -560,22 +644,34 @@ for this platform, too.</p>
<hr>
<h3><a name="sparc64-*-*">sparc64-*-*</a></h3>
-<p>GCC version 2.95 is not able to compile code correctly for <code>sparc64</code> targets. Users of the Linux kernel, at least, can use the <code>sparc32</code> program to start up a new shell invocation with an environment that causes <code>configure</code> to recognize (via <code>uname -a</code>) the system as <code>sparc-*-*</code> instead.</p>
+<p>GCC version 2.95 is not able to compile code correctly for
+<code>sparc64</code> targets. Users of the Linux kernel, at least,
+can use the <code>sparc32</code> program to start up a new shell
+invocation with an environment that causes <code>configure</code> to
+recognize (via <code>uname -a</code>) the system as
+<code>sparc-*-*</code> instead.</p>
<hr>
-<h3><a name="win+os2"></a>GCC with Windows or OS/2</h3>
+<h3><a name="windows"></a>Microsoft Windows (32 bit)</h3>
+
+<p>A port of GCC 2.95.x is included with the
+<a href="http://www.cygwin.com/">Cygwin environment</a>.</p>
-<p>GCC does not currently support Windows, either natively or with the
-cygwin32 dll. However Mumit Khan has been working on supporting Windows
-with GCC. You should check out his site if you're interested in Windows
-support.
-<a href="http://www.xraylith.wisc.edu/~khan/software/gnu-win32/">GNU Win32 related projects</a></p>
+<p>Current (as of early 2001) snapshots of GCC will build under Cygwin
+without modification.</p>
+
+<hr>
+<h3><a name="os2"></a>OS/2</h3>
<p>GCC does not currently support OS/2. However, Andrew Zabolotny has been
-working on a generic os/2 port with pgcc. The current code code can be found
+working on a generic OS/2 port with pgcc. The current code code can be found
at <a href="http://www.goof.com/pcg/os2/">http://www.goof.com/pcg/os2/</a>.</p>
+<p>An older copy of GCC 2.8.1 is included with the EMX tools available at
+<a href="ftp://ftp.leo.org/pub/comp/os/os2/leo/devtools/emx+gcc/">
+ftp://ftp.leo.org/pub/comp/os/os2/leo/devtools/emx+gcc/</a>.</p>
+
<hr>
<h3><a name="elf_targets">all ELF targets (SVR4, Solaris, etc.)</a></h3>
@@ -587,7 +683,6 @@ will be discarded automatically.</p>
<hr>
<p><a href="./index.html">Return to the GCC Installation page</a></p>
-<p><i>Last modified on October 17, 1999.</i></p>
</body>
</html>
diff --git a/gnu/dist/toolchain/install/test.html b/gnu/dist/toolchain/install/test.html
index 4113bb3c4d1..927d05ed48d 100644
--- a/gnu/dist/toolchain/install/test.html
+++ b/gnu/dist/toolchain/install/test.html
@@ -1,21 +1,133 @@
<html>
+
<head>
-<title>Installation Instructions: Testing GCC</title>
+<title>Installing GCC: Testing</title>
</head>
<body>
-<h1 align="center">Installation Instructions: Testing GCC</h1>
+<h1 align="center">Installing GCC: Testing</h1>
+
+<p><strong>Please note that this is only applicable to current development
+versions of GCC and GCC 3.0 or later. GCC 2.95.x does not come with a
+testsuite.</strong></p>
+
+<p>Before you install GCC, you might wish to run the testsuite. This
+step is optional and may require you to download additional software.</p>
+
+<p>First, you must have <a href="download.html">downloaded the
+testsuites</a>. The full distribution contains testsuites; only if you
+downloaded the "core" compiler plus any front ends, you do not have the
+testsuites.</p>
+
+<p>Second, you must have a current version of dejagnu installed;
+dejagnu 1.3 is not sufficient.</p>
+
+<p>Now you may need specific preparations:</p>
+
+<ul>
+
+<li>
+In order to run the libio tests on targets which do not fully
+support Unix/POSIX commands (e.g. Cygwin), the references to the dbz
+directory have to be deleted from libio/configure.in.
+</li>
+
+<li>
+<p>The following environment variables must be set appropriately, as in
+the following example (which assumes that dejagnu has been installed under
+/usr/local):</p>
+
+<blockquote><code>
+TCL_LIBRARY = /usr/local/share/tcl8.0<br>
+DEJAGNULIBS = /usr/local/share/dejagnu
+</code></blockquote>
+
+<p>On systems such as Cygwin, these paths are required to be actual
+paths, not mounts or links; presumably this is due to some lack of
+portability in the dejagnu code.</p>
+</li>
+</ul>
+
+<p>Finally, you can run the testsuite (which may take a long time):</p>
+<blockquote><code>
+cd <i>objdir</i>; make -k check
+</code></blockquote>
+
+<p>The testing process will try to test as many components in the GCC
+distribution as possible, including the C, C++ and Fortran compilers as
+well as the C++ runtime libraries.</p>
+
+
+<h2>How can I run the test suite on selected tests?</h2>
+
+<p>As a first possibility to cut down the number of tests that are run it is
+possible to use `<code>make check-gcc</code>` or `<code>make check-g++</code>`
+in the gcc subdirectory of the object directory. To further cut down the
+tests the following is possible:</p>
+
+<blockquote><code>
+ make check-gcc RUNTESTFLAGS="execute.exp &lt;other options&gt;"
+</code></blockquote>
+
+<p>This will run all gcc execute tests in the testsuite.</p>
+
+<blockquote><code>
+ make check-g++ RUNTESTFLAGS="old-deja.exp=9805* &lt;other options&gt;"
+</code></blockquote>
+
+<p>This will run the g++ "old-deja" tests in the testsuite where the filename
+matches 9805*.</p>
+
+<p>The *.exp files are located in the testsuite directories of the GCC
+source, the most important ones being compile.exp, execute.exp, dg.exp
+and old-deja.exp. To get a list of the possible *.exp files, pipe the
+output of `<code>make check</code>` into a file and look at the
+"<code>Running ... .exp</code>" lines.
+
+
+<h2>How to interpret test results</h2>
+
+<p>After the testsuite has run you'll find various *.sum and *.log
+files in the testsuite subdirectories. The *.log files contain a
+detailed log of the compiler invocations and the corresponding
+results, the *.sum files summarize the results. These summaries list
+all the tests that have been run with a corresponding status code:</p>
+
+<ul>
+<li>PASS: the test passed as expected</li>
+<li>XPASS: the test unexpectedly passed</li>
+<li>FAIL: the test unexpectedly failed</li>
+<li>XFAIL: the test failed as expected</li>
+<li>UNSUPPORTED: the test is not supported on this platform</li>
+<li>ERROR: the testsuite detected an error</li>
+<li>WARNING: the testsuite detected a possible problem</li>
+</ul>
+
+<p> It is normal for some tests to report
+unexpected failures. At the current time our testing harness does not allow
+fine grained control over whether or not a test is expected to fail. We expect
+to fix this problem in future releases.</p>
-<p>The testsuite has been temporarily removed from the gcc distributions
-until the copyright status of some tests can be determined. It is hoped
-that the testsuite will be included in the gcc releases again soon.
-<p>Until the testsuite is included it is impossible to run the testsuite.
-Sorry.
+<h2>Submitting test results</h2>
+<p>If you want to report the results to the GCC project, use the
+<code>contrib/test_summary</code> shell script. Start it in the objdir with</p>
+<blockquote><code>
+<i>srcdir</i>/contrib/test_summary -p your_commentary.txt -m gcc-testresults@gcc.gnu.org |sh
+</code></blockquote>
-<hr>
-<i>Last modified on July 15, 1999.</i>
+<p>This script uses the <code>Mail</code> program to send the results, so
+make sure it is in your PATH. The file your_commentary.txt is
+prepended to the testsuite summary and should contain any special
+remarks you have on your results or your build environment. Please
+do not edit the testsuite result block or the subject line, as these
+messages are automatically parsed and presented at the <a
+href="http://gcc.gnu.org/testresults/">GCC testresults</a> web
+page. Here you can also gather information on how specific tests
+behave on different platforms and compare them with your results. A
+few failing testcases are possible even on released versions and you
+should look here first if you think your results are unreasonable.</p>
</body>
</html>
diff --git a/gnu/dist/toolchain/install/x86-sol2-gas.patch b/gnu/dist/toolchain/install/x86-sol2-gas.patch
new file mode 100644
index 00000000000..9a2373cf05b
--- /dev/null
+++ b/gnu/dist/toolchain/install/x86-sol2-gas.patch
@@ -0,0 +1,70 @@
+Index: gcc/ChangeLog
+from Alexandre Oliva <oliva@lsd.ic.unicamp.br>
+
+ * config/i386/sol2gas.h: I had installed the wrong version of Sept
+ 22's patch in the release branch. Fixed.
+ * configure.in: Likewise.
+ * configure: Rebuilt.
+ Reported by Jason Beardsley <jbeardsley@origin.ea.com>
+
+Index: gcc/configure.in
+===================================================================
+RCS file: /cvs/gcc/egcs/gcc/configure.in,v
+retrieving revision 1.246.4.12
+diff -u -r1.246.4.12 configure.in
+--- gcc/configure.in 1999/10/13 07:58:02 1.246.4.12
++++ gcc/configure.in 1999/10/28 23:05:38
+@@ -1399,11 +1399,10 @@
+ changequote([,])dnl
+ xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
+ xm_defines="USG POSIX SMALL_ARG_MAX"
++ tm_file=i386/sol2.h
+ if test x$gas = xyes; then
+ # Only needed if gas does not support -s
+- tm_file=i386/sol2gas.h
+- else
+- tm_file=i386/sol2.h
++ tm_file="i386/sol2gas.h ${tm_file}"
+ fi
+ tmake_file=i386/t-sol2
+ extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
+Index: gcc/config/i386/sol2gas.h
+===================================================================
+RCS file: /cvs/gcc/egcs/gcc/config/i386/sol2gas.h,v
+retrieving revision 1.1.2.1
+diff -u -r1.1.2.1 sol2gas.h
+--- gcc/config/i386/sol2gas.h 1999/09/22 10:44:21 1.1.2.1
++++ gcc/config/i386/sol2gas.h 1999/10/28 23:05:38
+@@ -4,8 +4,6 @@
+ Copyright (C) 1999 Free Software Foundation, Inc.
+ */
+
+-#ifndef GAS_DOES_NOT_SUPPORT_MINUS_S
+-#define GAS_DOES_NOT_SUPPORT_MINUS_S 1
++#ifndef GAS_REJECTS_MINUS_S
++#define GAS_REJECTS_MINUS_S 1
+ #endif
+-
+-#include "i386/sol2.h"
+Index: gcc/configure
+===================================================================
+RCS file: /cvs/gcc/egcs/gcc/configure,v
+retrieving revision 1.242.4.12
+diff -u -r1.242.4.12 configure
+--- gcc/configure 1999/10/13 07:58:02 1.242.4.12
++++ gcc/configure 1999/10/28 23:10:32
+@@ -3750,11 +3750,11 @@
+ i[34567]86-*-solaris2*)
+ xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
+ xm_defines="USG POSIX SMALL_ARG_MAX"
++ tm_file=i386/sol2.h
+ if test x$gas = xyes; then
+ # Only needed if gas does not support -s
+- tm_file=i386/sol2gas.h
+- else
+- tm_file=i386/sol2.h
++ tm_file="i386/sol2gas.h ${tm_file}"
++ #
+ fi
+ tmake_file=i386/t-sol2
+ extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
diff --git a/gnu/dist/toolchain/libchill/ChangeLog b/gnu/dist/toolchain/libchill/ChangeLog
index 1c84e2e0b41..4a475212084 100644
--- a/gnu/dist/toolchain/libchill/ChangeLog
+++ b/gnu/dist/toolchain/libchill/ChangeLog
@@ -1,3 +1,7 @@
+Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
+
+ * gcc-2.95.3 Released.
+
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
* gcc-2.95.2 Released.
diff --git a/gnu/dist/toolchain/libf2c/ChangeLog b/gnu/dist/toolchain/libf2c/ChangeLog
index 4e9eccc8466..e57e7857bdf 100644
--- a/gnu/dist/toolchain/libf2c/ChangeLog
+++ b/gnu/dist/toolchain/libf2c/ChangeLog
@@ -1,3 +1,12 @@
+Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
+
+ * gcc-2.95.3 Released.
+
+Mon Jan 24 20:28:35 CET 2000 David M. Gay <dmg@bell-labs.com>
+
+ * libI77/endfile.c (t_runc): set state to writing
+ (b->uwrt = 1) when an endfile statement requires copying the file.
+
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
* gcc-2.95.2 Released.
diff --git a/gnu/dist/toolchain/libf2c/libF77/Version.c b/gnu/dist/toolchain/libf2c/libF77/Version.c
index 57637271a0b..e0d698f6e94 100644
--- a/gnu/dist/toolchain/libf2c/libF77/Version.c
+++ b/gnu/dist/toolchain/libf2c/libF77/Version.c
@@ -3,7 +3,7 @@ static char junk[] = "\n@(#)LIBF77 VERSION 19990503\n";
/*
*/
-char __G77_LIBF77_VERSION__[] = "0.5.25 19991024 (release)";
+char __G77_LIBF77_VERSION__[] = "0.5.25 20010315 (release)";
/*
2.00 11 June 1980. File version.c added to library.
diff --git a/gnu/dist/toolchain/libf2c/libI77/Version.c b/gnu/dist/toolchain/libf2c/libI77/Version.c
index ca5870c299b..a792da371e4 100644
--- a/gnu/dist/toolchain/libf2c/libI77/Version.c
+++ b/gnu/dist/toolchain/libf2c/libI77/Version.c
@@ -3,7 +3,7 @@ static char junk[] = "\n@(#) LIBI77 VERSION pjw,dmg-mods 19990503\n";
/*
*/
-char __G77_LIBI77_VERSION__[] = "0.5.25 19991024 (release)";
+char __G77_LIBI77_VERSION__[] = "0.5.25 20010315 (release)";
/*
2.01 $ format added
diff --git a/gnu/dist/toolchain/libf2c/libI77/endfile.c b/gnu/dist/toolchain/libf2c/libI77/endfile.c
index 0e4ac0318e9..8e3e8c48fc7 100644
--- a/gnu/dist/toolchain/libf2c/libI77/endfile.c
+++ b/gnu/dist/toolchain/libf2c/libI77/endfile.c
@@ -103,6 +103,7 @@ t_runc(alist *a)
rewind(tf);
if (copy(tf, loc, bf))
goto bad1;
+ b->uwrt = 1;
b->urw = 2;
#ifdef NON_UNIX_STDIO
if (b->ufmt) {
diff --git a/gnu/dist/toolchain/libf2c/libU77/Version.c b/gnu/dist/toolchain/libf2c/libU77/Version.c
index 0d7238180bb..c4e0cc2173a 100644
--- a/gnu/dist/toolchain/libf2c/libU77/Version.c
+++ b/gnu/dist/toolchain/libf2c/libU77/Version.c
@@ -1,6 +1,6 @@
static char junk[] = "\n@(#) LIBU77 VERSION 19980709\n";
-char __G77_LIBU77_VERSION__[] = "0.5.25 19991024 (release)";
+char __G77_LIBU77_VERSION__[] = "0.5.25 20010315 (release)";
#include <stdio.h>
diff --git a/gnu/dist/toolchain/libio/ChangeLog b/gnu/dist/toolchain/libio/ChangeLog
index 832051adf64..b4564ded471 100644
--- a/gnu/dist/toolchain/libio/ChangeLog
+++ b/gnu/dist/toolchain/libio/ChangeLog
@@ -1,3 +1,53 @@
+Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
+
+ * gcc-2.95.3 Released.
+
+2000-12-10 Bernd Schmidt <bernds@redhat.com>
+
+ 2000-10-16 Jakub Jelinek <jakub@redhat.com>
+ * iostream.cc (ostream::operator<<(double n)) [__GLIBC_MINOR__ >= 2]:
+ Initialize new fields wide and i18n of struct printf_info.
+ (ostream::operator<<(long double n)) [__GLIBC_MINOR__ >= 2]:
+ Likewise.
+
+ 2000-09-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+ * stdstreams.cc: Include <libio.h>, not "libio.h".
+ * iolibio.h: Likewise.
+ (_IO_pos_BAD): Use _IO_off_t instead of _IO_fpos_t.
+ * libio.h (_IO_USER_LOCK): Define.
+
+ 1999-12-22 Jakub Jelinek <jakub@redhat.com>
+ * libio.h (_IO_cookie_io_functions_t): Use _IO_off_t instead of
+ _IO_fpos_t.
+ (_IO_seekoff, _IO_seekpos): Likewise. Use _IO_off64_t instead of
+ _IO_fpos64_t.
+ * libioP.h (_IO_seekoff_t, _IO_seekpos_t, _IO_seek_t): Likewise.
+ (_IO_seekoff, _IO_seekpos): Likewise.
+ (_IO_default_seekoff, _IO_default_seekpos): Likewise.
+ (_IO_default_seek): Likewise.
+ (_IO_file_seekoff, _IO_file_seek, _IO_str_seekoff): Likewise.
+ * streambuf.h (streampos): Typedef to _IO_off_t resp. _IO_off64_t.
+ * parsestream.h (class parsebuf::pos_at_line_start): Change type
+ to _IO_off_t.
+
+2000-01-28 Martin v. Löwis <loewis@informatik.hu-berlin.de>
+
+ * fstream.h (ifstream::ifstream): Add ios::in to mode.
+ (ifstream::open): Likewise.
+ (ofstream::ofstream): Add ios::out to mode.
+ (ofstream::open): Likewise.
+
+1999-12-21 Martin v. Löwis <loewis@informatik.hu-berlin.de>
+
+ * filebuf.cc (open): Support ios::ate if _G_HAVE_IO_FILE_OPEN.
+ Remove seek for ios::app if not.
+
+1999-12-14 Martin v. Löwis <loewis@informatik.hu-berlin.de>
+
+ * strstream.h (strstreambuf::streambuf): Rename parameters to
+ avoid shadow warning.
+ * stream.h (WS): Likewise.
+
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
* gcc-2.95.2 Released.
diff --git a/gnu/dist/toolchain/libio/filebuf.cc b/gnu/dist/toolchain/libio/filebuf.cc
index 422d442736e..0b0fd6d88d3 100644
--- a/gnu/dist/toolchain/libio/filebuf.cc
+++ b/gnu/dist/toolchain/libio/filebuf.cc
@@ -1,5 +1,5 @@
/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993, 1995 Free Software Foundation
+Copyright (C) 1993, 1995, 1999 Free Software Foundation
This file is part of the GNU IO Library. This library is free
software; you can redistribute it and/or modify it under the
@@ -112,15 +112,23 @@ filebuf* filebuf::open(const char *filename, ios::openmode mode, int prot)
if (mode & (int)ios::noreplace)
posix_mode |= O_EXCL;
#if _G_HAVE_IO_FILE_OPEN
- return (filebuf*)_IO_file_open (this, filename, posix_mode, prot,
- read_write, 0);
+ if (!_IO_file_open (this, filename, posix_mode, prot,
+ read_write, 0))
+ return NULL;
+ if (mode & ios::ate) {
+ if (pubseekoff(0, ios::end) == EOF) {
+ _IO_un_link (this);
+ return NULL;
+ }
+ }
+ return this;
#else
int fd = ::open(filename, posix_mode, prot);
if (fd < 0)
return NULL;
_fileno = fd;
xsetflags(read_write, _IO_NO_READS+_IO_NO_WRITES+_IO_IS_APPENDING);
- if (mode & (ios::ate|ios::app)) {
+ if (mode & ios::ate) {
if (pubseekoff(0, ios::end) == EOF)
return NULL;
}
diff --git a/gnu/dist/toolchain/libio/fstream.h b/gnu/dist/toolchain/libio/fstream.h
index ea98f5caed0..b5f6598538f 100644
--- a/gnu/dist/toolchain/libio/fstream.h
+++ b/gnu/dist/toolchain/libio/fstream.h
@@ -1,5 +1,5 @@
/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
+Copyright (C) 1993, 2000 Free Software Foundation
This file is part of the GNU IO Library. This library is free
software; you can redistribute it and/or modify it under the
@@ -62,9 +62,9 @@ class ifstream : public fstreambase, public istream {
ifstream(int fd) : fstreambase(fd) { }
ifstream(int fd, char *p, int l) : fstreambase(fd, p, l) { } /*Deprecated*/
ifstream(const char *name, int mode=ios::in, int prot=0664)
- : fstreambase(name, mode, prot) { }
+ : fstreambase(name, mode | ios::in, prot) { }
void open(const char *name, int mode=ios::in, int prot=0664)
- { fstreambase::open(name, mode, prot); }
+ { fstreambase::open(name, mode | ios::in, prot); }
};
class ofstream : public fstreambase, public ostream {
@@ -73,9 +73,9 @@ class ofstream : public fstreambase, public ostream {
ofstream(int fd) : fstreambase(fd) { }
ofstream(int fd, char *p, int l) : fstreambase(fd, p, l) { } /*Deprecated*/
ofstream(const char *name, int mode=ios::out, int prot=0664)
- : fstreambase(name, mode, prot) { }
+ : fstreambase(name, mode | ios::out, prot) { }
void open(const char *name, int mode=ios::out, int prot=0664)
- { fstreambase::open(name, mode, prot); }
+ { fstreambase::open(name, mode | ios::out, prot); }
};
class fstream : public fstreambase, public iostream {
diff --git a/gnu/dist/toolchain/libio/iolibio.h b/gnu/dist/toolchain/libio/iolibio.h
index 083b198b448..0ebc14f7ac2 100644
--- a/gnu/dist/toolchain/libio/iolibio.h
+++ b/gnu/dist/toolchain/libio/iolibio.h
@@ -1,4 +1,4 @@
-#include "libio.h"
+#include <libio.h>
/* These emulate stdio functionality, but with a different name
(_IO_ungetc instead of ungetc), and using _IO_FILE instead of FILE. */
@@ -38,7 +38,11 @@ extern int _IO_obstack_vprintf __P ((struct obstack *, const char *,
_IO_va_list));
extern int _IO_obstack_printf __P ((struct obstack *, const char *, ...));
#ifndef _IO_pos_BAD
-#define _IO_pos_BAD ((_IO_fpos_t)(-1))
+# if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
+# define _IO_pos_BAD ((_IO_off64_t) -1)
+# else
+# define _IO_pos_BAD ((_IO_off_t) -1)
+# endif
#endif
#define _IO_clearerr(FP) ((FP)->_flags &= ~(_IO_ERR_SEEN|_IO_EOF_SEEN))
#define _IO_fseek(__fp, __offset, __whence) \
diff --git a/gnu/dist/toolchain/libio/iostream.cc b/gnu/dist/toolchain/libio/iostream.cc
index 4b75fca764d..792eaae6b4c 100644
--- a/gnu/dist/toolchain/libio/iostream.cc
+++ b/gnu/dist/toolchain/libio/iostream.cc
@@ -1,5 +1,5 @@
/* This is part of libio/iostream, providing -*- C++ -*- input/output.
- Copyright (C) 1993, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1993, 1997, 2000 Free Software Foundation, Inc.
This file is part of the GNU IO Library. This library is free
software; you can redistribute it and/or modify it under the
@@ -687,6 +687,10 @@ ostream& ostream::operator<<(double n)
/* extra: */ 0,
#if __GLIBC_MINOR__ >= 1
/* is_char: */ 0,
+#if __GLIBC_MINOR__ >= 2
+ /* wide: */ 0,
+ /* i18n: */ 0,
+#endif
#endif
#endif
/* pad: */ fill()
@@ -793,6 +797,10 @@ ostream& ostream::operator<<(long double n)
/* extra: */ 0,
#if __GLIBC_MINOR__ >= 1
/* is_char: */ 0,
+#if __GLIBC_MINOR__ >= 2
+ /* wide: */ 0,
+ /* i18n: */ 0,
+#endif
#endif
#endif
/* pad: */ fill()
diff --git a/gnu/dist/toolchain/libio/libio.h b/gnu/dist/toolchain/libio/libio.h
index b152874d1f6..c453b77bf30 100644
--- a/gnu/dist/toolchain/libio/libio.h
+++ b/gnu/dist/toolchain/libio/libio.h
@@ -136,6 +136,7 @@
#define _IO_IS_APPENDING 0x1000
#define _IO_IS_FILEBUF 0x2000
#define _IO_BAD_SEEN 0x4000
+#define _IO_USER_LOCK 0x8000
/* These are "formatting flags" matching the iostream fmtflags enum values. */
#define _IO_SKIPWS 01
@@ -277,7 +278,7 @@ typedef struct
{
_IO_ssize_t (*read) __PMT ((struct _IO_FILE *, void *, _IO_ssize_t));
_IO_ssize_t (*write) __PMT ((struct _IO_FILE *, const void *, _IO_ssize_t));
- _IO_fpos_t (*seek) __PMT ((struct _IO_FILE *, _IO_off_t, int));
+ _IO_off_t (*seek) __PMT ((struct _IO_FILE *, _IO_off_t, int));
int (*close) __PMT ((struct _IO_FILE *));
} _IO_cookie_io_functions_t;
@@ -348,11 +349,11 @@ extern _IO_ssize_t _IO_padn __P ((_IO_FILE *, int, _IO_ssize_t));
extern _IO_size_t _IO_sgetn __P ((_IO_FILE *, void *, _IO_size_t));
#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_fpos64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-extern _IO_fpos64_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos64_t, int));
+extern _IO_off64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
+extern _IO_off64_t _IO_seekpos __P ((_IO_FILE *, _IO_off64_t, int));
#else
-extern _IO_fpos_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-extern _IO_fpos_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos_t, int));
+extern _IO_off_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
+extern _IO_off_t _IO_seekpos __P ((_IO_FILE *, _IO_off_t, int));
#endif
extern void _IO_free_backup_area __P ((_IO_FILE *));
diff --git a/gnu/dist/toolchain/libio/libioP.h b/gnu/dist/toolchain/libio/libioP.h
index 629e4fd8cf6..be70f526bbe 100644
--- a/gnu/dist/toolchain/libio/libioP.h
+++ b/gnu/dist/toolchain/libio/libioP.h
@@ -146,10 +146,10 @@ typedef _IO_size_t (*_IO_xsgetn_t) __PMT ((_IO_FILE *FP, void *DATA,
It matches the streambuf::seekoff virtual function.
It is also used for the ANSI fseek function. */
#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-typedef _IO_fpos64_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off64_t OFF,
+typedef _IO_off64_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off64_t OFF,
int DIR, int MODE));
#else
-typedef _IO_fpos_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off_t OFF,
+typedef _IO_off_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off_t OFF,
int DIR, int MODE));
#endif
#define _IO_SEEKOFF(FP, OFF, DIR, MODE) JUMP3 (__seekoff, FP, OFF, DIR, MODE)
@@ -160,9 +160,9 @@ typedef _IO_fpos_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off_t OFF,
It is also used for the ANSI fgetpos and fsetpos functions. */
/* The _IO_seek_cur and _IO_seek_end options are not allowed. */
#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-typedef _IO_fpos64_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_fpos64_t, int));
+typedef _IO_off64_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
#else
-typedef _IO_fpos_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_fpos_t, int));
+typedef _IO_off_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_off_t, int));
#endif
#define _IO_SEEKPOS(FP, POS, FLAGS) JUMP2 (__seekpos, FP, POS, FLAGS)
@@ -213,9 +213,9 @@ typedef _IO_ssize_t (*_IO_write_t) __PMT ((_IO_FILE *,const void *,_IO_ssize_t))
It matches the streambuf::sys_seek virtual function, which is
specific to this implementation. */
#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-typedef _IO_fpos64_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
+typedef _IO_off64_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
#else
-typedef _IO_fpos_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off_t, int));
+typedef _IO_off_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off_t, int));
#endif
#define _IO_SYSSEEK(FP, OFFSET, MODE) JUMP2 (__seek, FP, OFFSET, MODE)
@@ -298,11 +298,11 @@ struct _IO_FILE_plus
/* Generic functions */
#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_fpos64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-extern _IO_fpos64_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos64_t, int));
+extern _IO_off64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
+extern _IO_off64_t _IO_seekpos __P ((_IO_FILE *, _IO_off64_t, int));
#else
-extern _IO_fpos_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-extern _IO_fpos_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos_t, int));
+extern _IO_off_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
+extern _IO_off_t _IO_seekpos __P ((_IO_FILE *, _IO_off_t, int));
#endif
extern void _IO_switch_to_main_get_area __P ((_IO_FILE *));
@@ -340,22 +340,22 @@ extern _IO_size_t _IO_default_xsputn __P ((_IO_FILE *, const void *,
_IO_size_t));
extern _IO_size_t _IO_default_xsgetn __P ((_IO_FILE *, void *, _IO_size_t));
#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_fpos64_t _IO_default_seekoff __P ((_IO_FILE *,
+extern _IO_off64_t _IO_default_seekoff __P ((_IO_FILE *,
_IO_off64_t, int, int));
-extern _IO_fpos64_t _IO_default_seekpos __P ((_IO_FILE *,
- _IO_fpos64_t, int));
+extern _IO_off64_t _IO_default_seekpos __P ((_IO_FILE *,
+ _IO_off64_t, int));
#else
-extern _IO_fpos_t _IO_default_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-extern _IO_fpos_t _IO_default_seekpos __P ((_IO_FILE *, _IO_fpos_t, int));
+extern _IO_off_t _IO_default_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
+extern _IO_off_t _IO_default_seekpos __P ((_IO_FILE *, _IO_off_t, int));
#endif
extern _IO_ssize_t _IO_default_write __P ((_IO_FILE *, const void *,
_IO_ssize_t));
extern _IO_ssize_t _IO_default_read __P ((_IO_FILE *, void *, _IO_ssize_t));
extern int _IO_default_stat __P ((_IO_FILE *, void *));
#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_fpos64_t _IO_default_seek __P ((_IO_FILE *, _IO_off64_t, int));
+extern _IO_off64_t _IO_default_seek __P ((_IO_FILE *, _IO_off64_t, int));
#else
-extern _IO_fpos_t _IO_default_seek __P ((_IO_FILE *, _IO_off_t, int));
+extern _IO_off_t _IO_default_seek __P ((_IO_FILE *, _IO_off_t, int));
#endif
extern int _IO_default_sync __P ((_IO_FILE *));
#define _IO_default_close ((_IO_close_t) _IO_default_sync)
@@ -389,11 +389,11 @@ extern void _IO_flush_all_linebuffered __P ((void));
extern int _IO_file_doallocate __P ((_IO_FILE *));
extern _IO_FILE* _IO_file_setbuf __P ((_IO_FILE *, char *, _IO_ssize_t));
#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_fpos64_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-extern _IO_fpos64_t _IO_file_seek __P ((_IO_FILE *, _IO_off64_t, int));
+extern _IO_off64_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
+extern _IO_off64_t _IO_file_seek __P ((_IO_FILE *, _IO_off64_t, int));
#else
-extern _IO_fpos_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-extern _IO_fpos_t _IO_file_seek __P ((_IO_FILE *, _IO_off_t, int));
+extern _IO_off_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
+extern _IO_off_t _IO_file_seek __P ((_IO_FILE *, _IO_off_t, int));
#endif
extern _IO_size_t _IO_file_xsputn __P ((_IO_FILE *, const void *, _IO_size_t));
extern int _IO_file_stat __P ((_IO_FILE *, void *));
@@ -427,9 +427,9 @@ extern int _IO_str_underflow __P ((_IO_FILE *));
extern int _IO_str_overflow __P ((_IO_FILE *, int));
extern int _IO_str_pbackfail __P ((_IO_FILE *, int));
#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_fpos64_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
+extern _IO_off64_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
#else
-extern _IO_fpos_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
+extern _IO_off_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
#endif
extern void _IO_str_finish __P ((_IO_FILE *, int));
@@ -544,12 +544,12 @@ extern int _IO_vscanf __P ((const char *, _IO_va_list));
where an _IO_fpos_t is a struct.
Note that _IO_off_t must be an integral type. */
-/* _IO_pos_BAD is an _IO_fpos_t value indicating error, unknown, or EOF. */
+/* _IO_pos_BAD is an _IO_off_t value indicating error, unknown, or EOF. */
#ifndef _IO_pos_BAD
# if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-# define _IO_pos_BAD ((_IO_fpos64_t) -1)
+# define _IO_pos_BAD ((_IO_off64_t) -1)
# else
-# define _IO_pos_BAD ((_IO_fpos_t) -1)
+# define _IO_pos_BAD ((_IO_off_t) -1)
# endif
#endif
/* _IO_pos_as_off converts an _IO_fpos_t value to an _IO_off_t value. */
diff --git a/gnu/dist/toolchain/libio/parsestream.h b/gnu/dist/toolchain/libio/parsestream.h
index 326ab87a809..97655bcbf69 100644
--- a/gnu/dist/toolchain/libio/parsestream.h
+++ b/gnu/dist/toolchain/libio/parsestream.h
@@ -42,7 +42,7 @@ extern "C++" {
class parsebuf : public streambuf {
protected:
- _IO_fpos_t pos_at_line_start;
+ _IO_off_t pos_at_line_start;
long _line_length;
unsigned long __line_number;
char *buf_start;
diff --git a/gnu/dist/toolchain/libio/stdio/ChangeLog b/gnu/dist/toolchain/libio/stdio/ChangeLog
index 86b1b7e1eb4..8ef9dcc0b3c 100644
--- a/gnu/dist/toolchain/libio/stdio/ChangeLog
+++ b/gnu/dist/toolchain/libio/stdio/ChangeLog
@@ -1,3 +1,7 @@
+Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
+
+ * gcc-2.95.3 Released.
+
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
* gcc-2.95.2 Released.
diff --git a/gnu/dist/toolchain/libio/stdstreams.cc b/gnu/dist/toolchain/libio/stdstreams.cc
index a5889d738e2..7a74eaaa443 100644
--- a/gnu/dist/toolchain/libio/stdstreams.cc
+++ b/gnu/dist/toolchain/libio/stdstreams.cc
@@ -36,7 +36,7 @@ the executable file might be covered by the GNU General Public License. */
// then we don't need to, since in that case stdin/stdout/stderr
// are identical to _IO_stdin/_IO_stdout/_IO_stderr.
-#include "libio.h"
+#include <libio.h>
#ifdef _STDIO_USES_IOSTREAM
#define CIN_SBUF _IO_stdin_
diff --git a/gnu/dist/toolchain/libio/stream.h b/gnu/dist/toolchain/libio/stream.h
index 0859802ade6..90f8c1f2781 100644
--- a/gnu/dist/toolchain/libio/stream.h
+++ b/gnu/dist/toolchain/libio/stream.h
@@ -1,5 +1,5 @@
/*
-Copyright (C) 1993 Free Software Foundation
+Copyright (C) 1993, 1999 Free Software Foundation
This file is part of the GNU IO Library. This library is free
software; you can redistribute it and/or modify it under the
@@ -53,7 +53,7 @@ extern char* oct(unsigned int, int=0);
char* chr(char ch, int width = 0);
char* str(const char* s, int width = 0);
-inline istream& WS(istream& str) { return ws(str); }
+inline istream& WS(istream& __str) { return ws(__str); }
} // extern "C++"
#endif /* !_COMPAT_STREAM_H */
diff --git a/gnu/dist/toolchain/libio/streambuf.h b/gnu/dist/toolchain/libio/streambuf.h
index 8785d96c694..193c4993827 100644
--- a/gnu/dist/toolchain/libio/streambuf.h
+++ b/gnu/dist/toolchain/libio/streambuf.h
@@ -72,10 +72,10 @@ class ostream; class streambuf;
#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
typedef _IO_off64_t streamoff;
-typedef _IO_fpos64_t streampos;
+typedef _IO_off64_t streampos;
#else
typedef _IO_off_t streamoff;
-typedef _IO_fpos_t streampos;
+typedef _IO_off_t streampos;
#endif
typedef _IO_ssize_t streamsize;
diff --git a/gnu/dist/toolchain/libio/strstream.h b/gnu/dist/toolchain/libio/strstream.h
index d549b454758..967e5b0b76a 100644
--- a/gnu/dist/toolchain/libio/strstream.h
+++ b/gnu/dist/toolchain/libio/strstream.h
@@ -1,5 +1,5 @@
/* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
+Copyright (C) 1993, 1999 Free Software Foundation
This file is part of the GNU IO Library. This library is free
software; you can redistribute it and/or modify it under the
@@ -50,8 +50,8 @@ class strstreambuf : public streambuf
virtual ~strstreambuf();
strstreambuf() { init_dynamic(0, 0); }
strstreambuf(int initial_size) { init_dynamic(0, 0, initial_size); }
- strstreambuf(void *(*alloc)(_IO_size_t), void (*free)(void*))
- { init_dynamic(alloc, free); }
+ strstreambuf(void *(*__alloc)(_IO_size_t), void (*__free)(void*))
+ { init_dynamic(__alloc, __free); }
strstreambuf(char *ptr, int size, char *pstart = NULL)
{ init_static(ptr, size, pstart); }
strstreambuf(unsigned char *ptr, int size, unsigned char *pstart = NULL)
diff --git a/gnu/dist/toolchain/libio/tests/ChangeLog b/gnu/dist/toolchain/libio/tests/ChangeLog
index 8493c19d226..548e9e0519a 100644
--- a/gnu/dist/toolchain/libio/tests/ChangeLog
+++ b/gnu/dist/toolchain/libio/tests/ChangeLog
@@ -1,3 +1,7 @@
+Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
+
+ * gcc-2.95.3 Released.
+
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
* gcc-2.95.2 Released.
diff --git a/gnu/dist/toolchain/libio/testsuite/ChangeLog b/gnu/dist/toolchain/libio/testsuite/ChangeLog
index c67090576c2..ead33b2e1b7 100644
--- a/gnu/dist/toolchain/libio/testsuite/ChangeLog
+++ b/gnu/dist/toolchain/libio/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
+
+ * gcc-2.95.3 Released.
+
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
* gcc-2.95.2 Released.
diff --git a/gnu/dist/toolchain/libobjc/ChangeLog b/gnu/dist/toolchain/libobjc/ChangeLog
index 155c8f505fb..7b7e7da7830 100644
--- a/gnu/dist/toolchain/libobjc/ChangeLog
+++ b/gnu/dist/toolchain/libobjc/ChangeLog
@@ -1,3 +1,17 @@
+Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
+
+ * gcc-2.95.3 Released.
+
+2001-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * sendmsg.c (__objc_print_dtable_stats): Don't use #ifdef inside
+ printf.
+
+2000-03-29 Zack Weinberg <zack@wolery.cumb.org>
+
+ * objc/Protocol.h, objc/objc-list.h: Change #endif labels to
+ comments.
+
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
* gcc-2.95.2 Released.
diff --git a/gnu/dist/toolchain/libobjc/objc/Protocol.h b/gnu/dist/toolchain/libobjc/objc/Protocol.h
index c7464cf17a9..f54b7cd2393 100644
--- a/gnu/dist/toolchain/libobjc/objc/Protocol.h
+++ b/gnu/dist/toolchain/libobjc/objc/Protocol.h
@@ -55,4 +55,4 @@ Boston, MA 02111-1307, USA. */
-#endif __Protocol_INCLUDE_GNU
+#endif /* not __Protocol_INCLUDE_GNU */
diff --git a/gnu/dist/toolchain/libobjc/objc/objc-list.h b/gnu/dist/toolchain/libobjc/objc/objc-list.h
index 19760906238..de083a5861e 100644
--- a/gnu/dist/toolchain/libobjc/objc/objc-list.h
+++ b/gnu/dist/toolchain/libobjc/objc/objc-list.h
@@ -144,4 +144,4 @@ list_free(struct objc_list* list)
objc_free(list);
}
}
-#endif __GNU_OBJC_LIST_H
+#endif /* not __GNU_OBJC_LIST_H */
diff --git a/gnu/dist/toolchain/libobjc/sendmsg.c b/gnu/dist/toolchain/libobjc/sendmsg.c
index 62c8f2850e3..a4aa4709c7c 100644
--- a/gnu/dist/toolchain/libobjc/sendmsg.c
+++ b/gnu/dist/toolchain/libobjc/sendmsg.c
@@ -613,13 +613,11 @@ __objc_print_dtable_stats()
objc_mutex_lock(__objc_runtime_mutex);
- printf("memory usage: (%s)\n",
#ifdef OBJC_SPARSE2
- "2-level sparse arrays"
+ printf("memory usage: (%s)\n", "2-level sparse arrays");
#else
- "3-level sparse arrays"
+ printf("memory usage: (%s)\n", "3-level sparse arrays");
#endif
- );
printf("arrays: %d = %ld bytes\n", narrays,
(long)narrays*sizeof(struct sarray));
diff --git a/gnu/dist/toolchain/libstdc++/ChangeLog b/gnu/dist/toolchain/libstdc++/ChangeLog
index 462049b1324..02b950c48ff 100644
--- a/gnu/dist/toolchain/libstdc++/ChangeLog
+++ b/gnu/dist/toolchain/libstdc++/ChangeLog
@@ -1,3 +1,59 @@
+Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
+
+ * gcc-2.95.3 Released.
+
+2001-01-01 Bernd Schmidt <bernds@redhat.co.uk>
+
+ 1999-12-07 Martin v. Löwis <loewis@informatik.hu-berlin.de>
+ * stl_deque.h (_Deque_base::const_iterator): Change third
+ template argument to pointer type.
+ Reported by Carlo Wood <carlo@node1500a.a2000.nl>
+
+ 1999-11-10 Benjamin Kosnik <bkoz@haight.constant.com>
+ Matthias Klose <doko@cs.tu-berlin.de>
+ * stl_rope.h: Fix initialization order.
+ * stl_deque.h: Use static_casts<size_type>(signed_type).
+
+2000-11-24 Magnus Fromreide <magfr@lysator.liu.se>
+
+ * sstream: Backport libstdc++-V3 sstream to V2.
+
+2000-04-24 Magnus Fromreide <magfr@lysator.liu.se>
+
+ * sstream: New file.
+ * Makefile.in (HEADERS): Add it.
+
+2000-03-12 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
+
+ * std/bastring.h (basic_string<>::push_back): Define.
+
+Tue Mar 7 21:37:56 2000 Jeffrey A Law (law@cygnus.com)
+
+ 1999-11-19 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
+ * std/valarray_meta.h (_DEFINE_EXPR_UNARY_FUNCTION): Don't forget
+ to define tanh.
+
+ 1999-11-05 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
+ * std/valarray_meta.h (_DEFINE_EXPR_UNARY_FUNCTION): When
+ building meta-expressions don't forget to take the contained
+ closures.
+
+ 1999-10-19 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
+ * std/valarray_meta.h: (_BinClos::_BinClos): Fix typo.
+
+ 1999-09-17 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
+ * std/complext.cc (pow): Don't expect floating point promotion
+ in presence of template argument deduction. There is no such
+ thing.
+
+2000-02-06 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
+ * std/valarray_array.h (__valarray_copy): Fix typo.
+
+1999-12-14 Martin v. Löwis <loewis@informatik.hu-berlin.de>
+ * std/bastring.h (basic_string::basic_string): Rename parameters
+ to avoid shadow warnings.
+ * std/bastring.cc (alloc): Likewise.
+
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
* gcc-2.95.2 Released.
diff --git a/gnu/dist/toolchain/libstdc++/Makefile.in b/gnu/dist/toolchain/libstdc++/Makefile.in
index eb9ec77412c..f13eddcf294 100644
--- a/gnu/dist/toolchain/libstdc++/Makefile.in
+++ b/gnu/dist/toolchain/libstdc++/Makefile.in
@@ -28,7 +28,8 @@ HEADERS= cassert cctype cerrno cfloat ciso646 climits clocale cmath complex \
cwchar cwctype string stdexcept \
algorithm deque functional hash_map hash_set iterator list map \
memory numeric pthread_alloc queue rope set slist stack utility \
- vector fstream iomanip iostream strstream iosfwd bitset valarray
+ vector fstream iomanip iostream strstream iosfwd bitset valarray \
+ sstream
ARLIB = libstdc++.a.$(VERSION)
ARLINK = libstdc++.a
diff --git a/gnu/dist/toolchain/libstdc++/sstream b/gnu/dist/toolchain/libstdc++/sstream
new file mode 100644
index 00000000000..45393b14761
--- /dev/null
+++ b/gnu/dist/toolchain/libstdc++/sstream
@@ -0,0 +1,343 @@
+/* This is part of libio/iostream, providing -*- C++ -*- input/output.
+Copyright (C) 2000 Free Software Foundation
+
+This file is part of the GNU IO Library. This library is free
+software; you can redistribute it and/or modify it under the
+terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this library; see the file COPYING. If not, write to the Free
+Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+As a special exception, if you link this library with files
+compiled with a GNU compiler to produce an executable, this does not cause
+the resulting executable to be covered by the GNU General Public License.
+This exception does not however invalidate any other reasons why
+the executable file might be covered by the GNU General Public License. */
+
+/* Written by Magnus Fromreide (magfr@lysator.liu.se). */
+/* seekoff and ideas for overflow is largely borrowed from libstdc++-v3 */
+
+#ifndef __SSTREAM__
+#define __SSTREAM__
+
+#include <iostream.h>
+#include <streambuf.h>
+#include <string>
+
+namespace std
+{
+ class stringbuf : public streambuf
+ {
+ public:
+ typedef char char_type;
+ typedef int int_type;
+ typedef streampos pos_type;
+ typedef streamoff off_type;
+
+ explicit
+ stringbuf(int which=ios::in|ios::out)
+ : streambuf(), mode(static_cast<ios::open_mode>(which)),
+ stream(NULL), stream_len(0)
+ {
+ stringbuf_init();
+ }
+
+ explicit
+ stringbuf(const string &str, int which=ios::in|ios::out)
+ : streambuf(), mode(static_cast<ios::open_mode>(which)),
+ stream(NULL), stream_len(0)
+ {
+ if (mode & (ios::in|ios::out))
+ {
+ stream_len = str.size();
+ stream = new char_type[stream_len];
+ str.copy(stream, stream_len);
+ }
+ stringbuf_init();
+ }
+
+ virtual
+ ~stringbuf()
+ {
+ delete[] stream;
+ }
+
+ string
+ str() const
+ {
+ if (pbase() != 0)
+ return string(stream, pptr()-pbase());
+ else
+ return string();
+ }
+
+ void
+ str(const string& str)
+ {
+ delete[] stream;
+ stream_len = str.size();
+ stream = new char_type[stream_len];
+ str.copy(stream, stream_len);
+ stringbuf_init();
+ }
+
+ protected:
+ // The buffer is already in gptr, so if it ends then it is out of data.
+ virtual int
+ underflow()
+ {
+ return EOF;
+ }
+
+ virtual int
+ overflow(int c = EOF)
+ {
+ int res;
+ if (mode & ios::out)
+ {
+ if (c != EOF)
+ {
+ streamsize old_stream_len = stream_len;
+ stream_len += 1;
+ char_type* new_stream = new char_type[stream_len];
+ memcpy(new_stream, stream, old_stream_len);
+ delete[] stream;
+ stream = new_stream;
+ stringbuf_sync(gptr()-eback(), pptr()-pbase());
+ sputc(c);
+ res = c;
+ }
+ else
+ res = EOF;
+ }
+ else
+ res = 0;
+ return res;
+ }
+
+ virtual streambuf*
+ setbuf(char_type* s, streamsize n)
+ {
+ if (n != 0)
+ {
+ delete[] stream;
+ stream = new char_type[n];
+ memcpy(stream, s, n);
+ stream_len = n;
+ stringbuf_sync(0, 0);
+ }
+ return this;
+ }
+
+ virtual pos_type
+ seekoff(off_type off, ios::seek_dir way, int which = ios::in | ios::out)
+ {
+ pos_type ret = pos_type(off_type(-1));
+ bool testin = which & ios::in && mode & ios::in;
+ bool testout = which & ios::out && mode & ios::out;
+ bool testboth = testin && testout && way != ios::cur;
+
+ if (stream_len && ((testin != testout) || testboth))
+ {
+ char_type* beg = stream;
+ char_type* curi = NULL;
+ char_type* curo = NULL;
+ char_type* endi = NULL;
+ char_type* endo = NULL;
+
+ if (testin)
+ {
+ curi = gptr();
+ endi = egptr();
+ }
+ if (testout)
+ {
+ curo = pptr();
+ endo = epptr();
+ }
+
+ off_type newoffi = 0;
+ off_type newoffo = 0;
+ if (way == ios::beg)
+ {
+ newoffi = beg - curi;
+ newoffo = beg - curo;
+ }
+ else if (way == ios::end)
+ {
+ newoffi = endi - curi;
+ newoffo = endo - curo;
+ }
+
+ if (testin && newoffi + off + curi - beg >= 0 &&
+ endi - beg >= newoffi + off + curi - beg)
+ {
+ gbump(newoffi + off);
+ ret = pos_type(newoffi + off + curi);
+ }
+ if (testout && newoffo + off + curo - beg >= 0 &&
+ endo - beg >= newoffo + off + curo - beg)
+ {
+ pbump(newoffo + off);
+ ret = pos_type(newoffo + off + curo);
+ }
+ }
+ return ret;
+ }
+
+ virtual pos_type
+ seekpos(pos_type sp, int which = ios::in | ios::out)
+ {
+ pos_type ret = seekoff(sp, ios::beg, which);
+ return ret;
+ }
+
+ private:
+ void
+ stringbuf_sync(streamsize i, streamsize o)
+ {
+ if (mode & ios::in)
+ setg(stream, stream + i, stream + stream_len);
+ if (mode & ios::out)
+ {
+ setp(stream, stream + stream_len);
+ pbump(o);
+ }
+ }
+ void
+ stringbuf_init()
+ {
+ if (mode & ios::ate)
+ stringbuf_sync(0, stream_len);
+ else
+ stringbuf_sync(0, 0);
+ }
+
+ private:
+ ios::open_mode mode;
+ char_type* stream;
+ streamsize stream_len;
+ };
+
+ class istringstream : public istream {
+ public:
+ typedef char char_type;
+ typedef int int_type;
+ typedef streampos pos_type;
+ typedef streamoff off_type;
+
+ explicit
+ istringstream(int which=ios::in)
+ : istream(&sb), sb(which | ios::in)
+ { }
+
+ explicit
+ istringstream(const string& str, int which=ios::in)
+ : istream(&sb), sb(str, which | ios::in)
+ { }
+
+ stringbuf*
+ rdbuf() const
+ {
+ return const_cast<stringbuf*>(&sb);
+ }
+
+ string
+ str() const
+ {
+ return rdbuf()->str();
+ }
+ void
+ str(const string& s)
+ {
+ rdbuf()->str(s);
+ }
+ private:
+ stringbuf sb;
+ };
+
+ class ostringstream : public ostream {
+ public:
+ typedef char char_type;
+ typedef int int_type;
+ typedef streampos pos_type;
+ typedef streamoff off_type;
+
+ explicit
+ ostringstream(int which=ios::out)
+ : ostream(&sb), sb(which | ios::out)
+ { }
+
+ explicit
+ ostringstream(const string& str, int which=ios::out)
+ : ostream(&sb), sb(str, which | ios::out)
+ { }
+
+ stringbuf*
+ rdbuf() const
+ {
+ return const_cast<stringbuf*>(&sb);
+ }
+
+ string
+ str() const
+ {
+ return rdbuf()->str();
+ }
+
+ void str(const string& s)
+ {
+ rdbuf()->str(s);
+ }
+ private:
+ stringbuf sb;
+ };
+
+ class stringstream : public iostream {
+ public:
+ typedef char char_type;
+ typedef int int_type;
+ typedef streampos pos_type;
+ typedef streamoff off_type;
+
+ explicit
+ stringstream(int which=ios::out|ios::in)
+ : iostream(&sb), sb(which)
+ { }
+
+ explicit
+ stringstream(const string& str, int which=ios::out|ios::in)
+ : iostream(&sb), sb(str, which)
+ { }
+
+ stringbuf*
+ rdbuf() const
+ {
+ return const_cast<stringbuf*>(&sb);
+ }
+
+ string
+ str() const
+ {
+ return rdbuf()->str();
+ }
+
+ void
+ str(const string& s)
+ {
+ rdbuf()->str(s);
+ }
+ private:
+ stringbuf sb;
+ };
+};
+
+#endif /* not __STRSTREAM__ */
diff --git a/gnu/dist/toolchain/libstdc++/std/bastring.cc b/gnu/dist/toolchain/libstdc++/std/bastring.cc
index 3093b9e129d..f86f6d30157 100644
--- a/gnu/dist/toolchain/libstdc++/std/bastring.cc
+++ b/gnu/dist/toolchain/libstdc++/std/bastring.cc
@@ -1,5 +1,5 @@
// Member templates for the -*- C++ -*- string classes.
-// Copyright (C) 1994 Free Software Foundation
+// Copyright (C) 1994, 1999 Free Software Foundation
// This file is part of the GNU ANSI C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -94,14 +94,14 @@ check_realloc (basic_string::size_type s) const
template <class charT, class traits, class Allocator>
void basic_string <charT, traits, Allocator>::
-alloc (basic_string::size_type size, bool save)
+alloc (basic_string::size_type __size, bool __save)
{
- if (! check_realloc (size))
+ if (! check_realloc (__size))
return;
- Rep *p = Rep::create (size);
+ Rep *p = Rep::create (__size);
- if (save)
+ if (__save)
{
p->copy (0, data (), length ());
p->len = length ();
diff --git a/gnu/dist/toolchain/libstdc++/std/bastring.h b/gnu/dist/toolchain/libstdc++/std/bastring.h
index 70891262e96..bbe873085ea 100644
--- a/gnu/dist/toolchain/libstdc++/std/bastring.h
+++ b/gnu/dist/toolchain/libstdc++/std/bastring.h
@@ -1,5 +1,5 @@
// Main templates for the -*- C++ -*- string classes.
-// Copyright (C) 1994, 1995 Free Software Foundation
+// Copyright (C) 1994, 1995, 1999 Free Software Foundation
// This file is part of the GNU ANSI C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -180,11 +180,11 @@ public:
: dat (nilRep.grab ()) { assign (n, c); }
#ifdef __STL_MEMBER_TEMPLATES
template<class InputIterator>
- basic_string(InputIterator begin, InputIterator end)
+ basic_string(InputIterator __begin, InputIterator __end)
#else
- basic_string(const_iterator begin, const_iterator end)
+ basic_string(const_iterator __begin, const_iterator __end)
#endif
- : dat (nilRep.grab ()) { assign (begin, end); }
+ : dat (nilRep.grab ()) { assign (__begin, __end); }
~basic_string ()
{ rep ()->release (); }
@@ -208,6 +208,9 @@ public:
#endif
{ return replace (iend (), iend (), first, last); }
+ void push_back(charT __c)
+ { append(1, __c); }
+
basic_string& assign (const basic_string& str, size_type pos = 0,
size_type n = npos)
{ return replace (0, npos, str, pos, n); }
diff --git a/gnu/dist/toolchain/libstdc++/std/complext.cc b/gnu/dist/toolchain/libstdc++/std/complext.cc
index d50bf0871f6..60227f21329 100644
--- a/gnu/dist/toolchain/libstdc++/std/complext.cc
+++ b/gnu/dist/toolchain/libstdc++/std/complext.cc
@@ -236,7 +236,7 @@ pow (const complex<FLOAT>& xin, int y)
if (y < 0)
{
y = -y;
- x = 1/x;
+ x = FLOAT(1)/x;
}
for (;;)
{
diff --git a/gnu/dist/toolchain/libstdc++/std/valarray_array.h b/gnu/dist/toolchain/libstdc++/std/valarray_array.h
index f711e52a165..a0b5818fd8b 100644
--- a/gnu/dist/toolchain/libstdc++/std/valarray_array.h
+++ b/gnu/dist/toolchain/libstdc++/std/valarray_array.h
@@ -73,7 +73,7 @@ template<typename _Tp>
inline void
__valarray_copy (const _Tp* __restrict__ __a, size_t __n, size_t __s,
_Tp* __restrict__ __b)
-{ for (size_t __i=0; __i<__n; ++__i, ++__b, __a += __s) *__b += *__a; }
+{ for (size_t __i=0; __i<__n; ++__i, ++__b, __a += __s) *__b = *__a; }
// copy plain __a[<__n>] in strided __b[<__n : __s>]
template<typename _Tp>
diff --git a/gnu/dist/toolchain/libstdc++/std/valarray_meta.h b/gnu/dist/toolchain/libstdc++/std/valarray_meta.h
index f799111c7bc..48fb21371f7 100644
--- a/gnu/dist/toolchain/libstdc++/std/valarray_meta.h
+++ b/gnu/dist/toolchain/libstdc++/std/valarray_meta.h
@@ -449,7 +449,7 @@ struct _BinClos<_Oper,_ValArray,_Expr,typename _Dom::value_type,_Dom>
typedef _BinBase<_Oper,valarray<_Tp>,_Dom> _Base;
typedef typename _Base::value_type value_type;
- _BinClos (const valarray<_Tp> __e1, const _Dom& __e2)
+ _BinClos (const valarray<_Tp>& __e1, const _Dom& __e2)
: _Base (__e1, __e2) {}
};
@@ -917,7 +917,7 @@ _Name(const _Expr<_Dom,typename _Dom::value_type>& __e) \
{ \
typedef typename _Dom::value_type _Tp; \
typedef _UnFunClos<_Expr,_Dom> _Closure; \
- return _Expr<_Closure,_Tp> (_Closure (__e, (_Tp(*)(_Tp))(&_Name))); \
+ return _Expr<_Closure,_Tp>(_Closure(__e(), (_Tp(*)(_Tp))(&_Name))); \
} \
\
template<typename _Tp> \
@@ -936,7 +936,8 @@ _Name(const valarray<_Tp>& __v) \
_DEFINE_EXPR_UNARY_FUNCTION(sin)
_DEFINE_EXPR_UNARY_FUNCTION(asin)
_DEFINE_EXPR_UNARY_FUNCTION(sinh)
- _DEFINE_EXPR_UNARY_FUNCTION(tan)
+ _DEFINE_EXPR_UNARY_FUNCTION(tan)
+ _DEFINE_EXPR_UNARY_FUNCTION(tanh)
_DEFINE_EXPR_UNARY_FUNCTION(atan)
_DEFINE_EXPR_UNARY_FUNCTION(exp)
_DEFINE_EXPR_UNARY_FUNCTION(log)
diff --git a/gnu/dist/toolchain/libstdc++/stl/ChangeLog b/gnu/dist/toolchain/libstdc++/stl/ChangeLog
index aa4aa155d7e..14d56ac3e62 100644
--- a/gnu/dist/toolchain/libstdc++/stl/ChangeLog
+++ b/gnu/dist/toolchain/libstdc++/stl/ChangeLog
@@ -1,3 +1,12 @@
+Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
+
+ * gcc-2.95.3 Released.
+
+1999-11-06 Martin v. Löwis <loewis@informatik.hu-berlin.de>
+
+ * bitset (class bitset): Declare reference as our friend.
+ * bitset: Include limits.h.
+
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
* gcc-2.95.2 Released.
diff --git a/gnu/dist/toolchain/libstdc++/stl/bitset b/gnu/dist/toolchain/libstdc++/stl/bitset
index e26845ed045..8b4f8b1a0f8 100644
--- a/gnu/dist/toolchain/libstdc++/stl/bitset
+++ b/gnu/dist/toolchain/libstdc++/stl/bitset
@@ -36,6 +36,7 @@
#include <stddef.h> // for size_t
+#include <limits.h> // for CHAR_BIT
#include <string>
#include <stdexcept> // for invalid_argument, out_of_range, overflow_error
#include <iostream.h> // for istream, ostream
@@ -568,6 +569,8 @@ private:
public:
// bit reference:
+ class reference;
+ friend class reference;
class reference {
friend class bitset;
diff --git a/gnu/dist/toolchain/libstdc++/stl/stl_deque.h b/gnu/dist/toolchain/libstdc++/stl/stl_deque.h
index 48a4c76d55a..24a8bfb1bc8 100644
--- a/gnu/dist/toolchain/libstdc++/stl/stl_deque.h
+++ b/gnu/dist/toolchain/libstdc++/stl/stl_deque.h
@@ -342,7 +342,7 @@ public:
_Base;
typedef typename _Base::allocator_type allocator_type;
typedef _Deque_iterator<_Tp,_Tp&,_Tp*,__bufsiz> iterator;
- typedef _Deque_iterator<_Tp,const _Tp&,const _Tp&, __bufsiz> const_iterator;
+ typedef _Deque_iterator<_Tp,const _Tp&,const _Tp*, __bufsiz> const_iterator;
_Deque_base(const allocator_type& __a, size_t __num_elements)
: _Base(__a), _M_start(), _M_finish()
@@ -815,7 +815,7 @@ public: // Erase
iterator __next = __pos;
++__next;
difference_type __index = __pos - _M_start;
- if (__index < (size() >> 1)) {
+ if (static_cast<size_type>(__index) < (size() >> 1)) {
copy_backward(_M_start, __pos, __next);
pop_front();
}
@@ -1048,7 +1048,7 @@ deque<_Tp,_Alloc,__bufsize>::erase(iterator __first, iterator __last)
else {
difference_type __n = __last - __first;
difference_type __elems_before = __first - _M_start;
- if (__elems_before < (size() - __n) / 2) {
+ if (static_cast<size_type>(__elems_before) < (size() - __n) / 2) {
copy_backward(_M_start, __first, __last);
iterator __new_start = _M_start + __n;
destroy(_M_start, __new_start);
@@ -1282,7 +1282,7 @@ deque<_Tp,_Alloc,__bufsize>::_M_insert_aux(iterator __pos,
{
difference_type __index = __pos - _M_start;
value_type __x_copy = __x;
- if (__index < size() / 2) {
+ if (static_cast<size_type>(__index) < size() / 2) {
push_front(front());
iterator __front1 = _M_start;
++__front1;
@@ -1311,7 +1311,7 @@ typename deque<_Tp,_Alloc,__bufsize>::iterator
deque<_Tp,_Alloc,__bufsize>::_M_insert_aux(iterator __pos)
{
difference_type __index = __pos - _M_start;
- if (__index < size() / 2) {
+ if (static_cast<size_type>(__index) < size() / 2) {
push_front(front());
iterator __front1 = _M_start;
++__front1;
@@ -1344,7 +1344,7 @@ deque<_Tp,_Alloc,__bufsize>::_M_insert_aux(iterator __pos,
const difference_type __elems_before = __pos - _M_start;
size_type __length = size();
value_type __x_copy = __x;
- if (__elems_before < __length / 2) {
+ if (static_cast<size_type>(__elems_before) < __length / 2) {
iterator __new_start = _M_reserve_elements_at_front(__n);
iterator __old_start = _M_start;
__pos = _M_start + __elems_before;
@@ -1403,7 +1403,7 @@ deque<_Tp,_Alloc,__bufsize>::_M_insert_aux(iterator __pos,
{
const difference_type __elemsbefore = __pos - _M_start;
size_type __length = size();
- if (__elemsbefore < __length / 2) {
+ if (static_cast<size_type>(__elemsbefore) < __length / 2) {
iterator __new_start = _M_reserve_elements_at_front(__n);
iterator __old_start = _M_start;
__pos = _M_start + __elemsbefore;
diff --git a/gnu/dist/toolchain/libstdc++/stl/stl_rope.h b/gnu/dist/toolchain/libstdc++/stl/stl_rope.h
index 44f51aed1ae..fa1e848c065 100644
--- a/gnu/dist/toolchain/libstdc++/stl/stl_rope.h
+++ b/gnu/dist/toolchain/libstdc++/stl/stl_rope.h
@@ -386,8 +386,8 @@ struct _Rope_RopeRep : public _Rope_rep_base<_CharT,_Alloc> {
typedef _Rope_rep_base<_CharT,_Alloc>::allocator_type allocator_type;
_Rope_RopeRep(_Tag __t, int __d, bool __b, size_t __size,
allocator_type __a)
- : _M_tag(__t), _M_depth(__d), _M_is_balanced(__b), _M_c_string(0),
- _Rope_rep_base<_CharT,_Alloc>(__size, __a)
+ : _Rope_rep_base<_CharT,_Alloc>(__size, __a),
+ _M_tag(__t), _M_depth(__d), _M_is_balanced(__b), _M_c_string(0)
{
# ifndef __GC
_M_refcount = 1;
@@ -562,8 +562,8 @@ struct _Rope_RopeLeaf : public _Rope_RopeRep<_CharT,_Alloc> {
/* doesn't matter. */
typedef _Rope_rep_base<_CharT,_Alloc>::allocator_type allocator_type;
_Rope_RopeLeaf(__GC_CONST _CharT* __d, size_t __size, allocator_type __a)
- : _M_data(__d)
- , _Rope_RopeRep<_CharT,_Alloc>(_S_leaf, 0, true, __size, __a)
+ : _Rope_RopeRep<_CharT,_Alloc>(_S_leaf, 0, true, __size, __a),
+ _M_data(__d)
{
__stl_assert(__size > 0);
if (_S_is_basic_char_type((_CharT *)0)) {
@@ -593,10 +593,10 @@ struct _Rope_RopeConcatenation : public _Rope_RopeRep<_CharT,_Alloc> {
_Rope_RopeConcatenation(_Rope_RopeRep<_CharT,_Alloc>* __l,
_Rope_RopeRep<_CharT,_Alloc>* __r,
allocator_type __a)
- : _M_left(__l), _M_right(__r)
- , _Rope_RopeRep<_CharT,_Alloc>(
+ : _Rope_RopeRep<_CharT,_Alloc>(
_S_concat, max(__l->_M_depth, __r->_M_depth) + 1, false,
- __l->_M_size + __r->_M_size, __a)
+ __l->_M_size + __r->_M_size, __a),
+ _M_left(__l), _M_right(__r)
{}
# ifndef __GC
~_Rope_RopeConcatenation() {
@@ -629,11 +629,12 @@ struct _Rope_RopeFunction : public _Rope_RopeRep<_CharT,_Alloc> {
typedef _Rope_rep_base<_CharT,_Alloc>::allocator_type allocator_type;
_Rope_RopeFunction(char_producer<_CharT>* __f, size_t __size,
bool __d, allocator_type __a)
- : _M_fn(__f)
+ :_Rope_RopeRep<_CharT,_Alloc>(_S_function, 0, true, __size, __a),
+ _M_fn(__f)
# ifndef __GC
, _M_delete_when_done(__d)
# endif
- , _Rope_RopeRep<_CharT,_Alloc>(_S_function, 0, true, __size, __a) {
+ {
__stl_assert(__size > 0);
# ifdef __GC
if (__d) {
@@ -693,9 +694,8 @@ struct _Rope_RopeSubstring : public _Rope_RopeFunction<_CharT,_Alloc>,
typedef _Rope_rep_base<_CharT,_Alloc>::allocator_type allocator_type;
_Rope_RopeSubstring(_Rope_RopeRep<_CharT,_Alloc>* __b, size_t __s,
size_t __l, allocator_type __a)
- : _M_base(__b)
+ : _Rope_RopeFunction<_CharT,_Alloc>(this, __l, false, __a), _M_base(__b)
, _M_start(__s)
- , _Rope_RopeFunction<_CharT,_Alloc>(this, __l, false, __a)
{
__stl_assert(__l > 0);
__stl_assert(__s + __l <= __b->_M_size);
@@ -766,16 +766,16 @@ class _Rope_char_ref_proxy {
_My_rope* _M_root; // The whole rope.
public:
_Rope_char_ref_proxy(_My_rope* __r, size_t __p) :
- _M_pos(__p), _M_root(__r), _M_current_valid(false) {}
+ _M_pos(__p), _M_current_valid(false), _M_root(__r) {}
_Rope_char_ref_proxy(const _Rope_char_ref_proxy& __x) :
- _M_pos(__x._M_pos), _M_root(__x._M_root), _M_current_valid(false) {}
+ _M_pos(__x._M_pos), _M_current_valid(false), _M_root(__x._M_root) {}
// Don't preserve cache if the reference can outlive the
// expression. We claim that's not possible without calling
// a copy constructor or generating reference to a proxy
// reference. We declare the latter to have undefined semantics.
_Rope_char_ref_proxy(_My_rope* __r, size_t __p,
_CharT __c) :
- _M_pos(__p), _M_root(__r), _M_current(__c), _M_current_valid(true) {}
+ _M_pos(__p), _M_current(__c), _M_current_valid(true), _M_root(__r) {}
inline operator _CharT () const;
_Rope_char_ref_proxy& operator= (_CharT __c);
_Rope_char_ptr_proxy<_CharT,_Alloc> operator& () const;
diff --git a/gnu/dist/toolchain/libstdc++/tests/ChangeLog b/gnu/dist/toolchain/libstdc++/tests/ChangeLog
index 458f08ad484..3bcb473a621 100644
--- a/gnu/dist/toolchain/libstdc++/tests/ChangeLog
+++ b/gnu/dist/toolchain/libstdc++/tests/ChangeLog
@@ -1,3 +1,7 @@
+Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
+
+ * gcc-2.95.3 Released.
+
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
* gcc-2.95.2 Released.
diff --git a/gnu/dist/toolchain/libstdc++/testsuite/ChangeLog b/gnu/dist/toolchain/libstdc++/testsuite/ChangeLog
index 4e983e9b5ff..3d7602748ec 100644
--- a/gnu/dist/toolchain/libstdc++/testsuite/ChangeLog
+++ b/gnu/dist/toolchain/libstdc++/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
+
+ * gcc-2.95.3 Released.
+
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
* gcc-2.95.2 Released.
diff --git a/gnu/dist/toolchain/texinfo/ChangeLog b/gnu/dist/toolchain/texinfo/ChangeLog
index 1da8b06905e..3e9a9976faa 100644
--- a/gnu/dist/toolchain/texinfo/ChangeLog
+++ b/gnu/dist/toolchain/texinfo/ChangeLog
@@ -1,3 +1,7 @@
+Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
+
+ * gcc-2.95.3 Released.
+
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
* gcc-2.95.2 Released.
diff --git a/gnu/dist/toolchain/texinfo/intl/ChangeLog b/gnu/dist/toolchain/texinfo/intl/ChangeLog
index 1c57a6afc44..9bda0ae4530 100644
--- a/gnu/dist/toolchain/texinfo/intl/ChangeLog
+++ b/gnu/dist/toolchain/texinfo/intl/ChangeLog
@@ -1,3 +1,7 @@
+Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
+
+ * gcc-2.95.3 Released.
+
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
* gcc-2.95.2 Released.
diff --git a/gnu/dist/toolchain/texinfo/po/ChangeLog b/gnu/dist/toolchain/texinfo/po/ChangeLog
index 4541c528f3f..523f5f66564 100644
--- a/gnu/dist/toolchain/texinfo/po/ChangeLog
+++ b/gnu/dist/toolchain/texinfo/po/ChangeLog
@@ -1,3 +1,7 @@
+Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
+
+ * gcc-2.95.3 Released.
+
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
* gcc-2.95.2 Released.
diff --git a/gnu/dist/toolchain/texinfo/testsuite/ChangeLog b/gnu/dist/toolchain/texinfo/testsuite/ChangeLog
index 38e6d7febb1..08db028d4eb 100644
--- a/gnu/dist/toolchain/texinfo/testsuite/ChangeLog
+++ b/gnu/dist/toolchain/texinfo/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com)
+
+ * gcc-2.95.3 Released.
+
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
* gcc-2.95.2 Released.
diff --git a/gnu/dist/toolchain/texinfo/texinfo.tex b/gnu/dist/toolchain/texinfo/texinfo.tex
index 550bd878732..eb620254d55 100644
--- a/gnu/dist/toolchain/texinfo/texinfo.tex
+++ b/gnu/dist/toolchain/texinfo/texinfo.tex
@@ -1,54 +1,32 @@
-% texinfo.tex -- TeX macros to handle Texinfo files.
-% $Id: texinfo.tex,v 1.1 1999/06/12 09:59:55 ian Exp $
-%
-% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98
-% Free Software Foundation, Inc.
-%
-% This texinfo.tex file is free software; you can redistribute it and/or
-% modify it under the terms of the GNU General Public License as
-% published by the Free Software Foundation; either version 2, or (at
-% your option) any later version.
-%
-% This texinfo.tex file is distributed in the hope that it will be
-% useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-% of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-% General Public License for more details.
-%
-% You should have received a copy of the GNU General Public License
-% along with this texinfo.tex file; see the file COPYING. If not, write
-% to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-% Boston, MA 02111-1307, USA.
-%
-% In other words, you are welcome to use, share and improve this program.
-% You are forbidden to forbid anyone else to use, share and improve
-% what you give them. Help stamp out software-hoarding!
-%
-% Please try the latest version of texinfo.tex before submitting bug
-% reports; you can get the latest version from:
-% ftp://ftp.gnu.org/pub/gnu/texinfo.tex
-% /home/gd/gnu/doc/texinfo.tex on the GNU machines.
-% (and all GNU mirrors, see http://www.gnu.org/order/ftp.html)
-% ftp://tug.org/tex/texinfo.tex
-% ftp://ctan.org/macros/texinfo/texinfo.tex
-% (and all CTAN mirrors, finger ctan@ctan.org for a list).
-% The texinfo.tex in the texinfo distribution itself could well be out
-% of date, so if that's what you're using, please check.
-%
-% Send bug reports to bug-texinfo@gnu.org.
-% Please include a precise test case in each bug report,
-% including a complete document with which we can reproduce the problem.
-%
-% To process a Texinfo manual with TeX, it's most reliable to use the
-% texi2dvi shell script that comes with the distribution. For simple
-% manuals, however, you can get away with:
-% tex foo.texi
-% texindex foo.??
-% tex foo.texi
-% tex foo.texi
-% dvips foo.dvi -o # or whatever, to process the dvi file.
-% The extra runs of TeX get the cross-reference information correct.
-% Sometimes one run after texindex suffices, and sometimes you need more
-% than two; texi2dvi does it as many times as necessary.
+%% TeX macros to handle Texinfo files.
+%% $Id: texinfo.tex,v 1.2 1998/03/24 17:58:28 law Exp $
+
+% Copyright (C) 1985, 86, 88, 90, 91, 92, 93,
+% 94, 95, 96, 97 Free Software Foundation, Inc.
+
+%This texinfo.tex file is free software; you can redistribute it and/or
+%modify it under the terms of the GNU General Public License as
+%published by the Free Software Foundation; either version 2, or (at
+%your option) any later version.
+
+%This texinfo.tex file is distributed in the hope that it will be
+%useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+%of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%General Public License for more details.
+
+%You should have received a copy of the GNU General Public License
+%along with this texinfo.tex file; see the file COPYING. If not, write
+%to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+%Boston, MA 02111-1307, USA.
+
+
+%In other words, you are welcome to use, share and improve this program.
+%You are forbidden to forbid anyone else to use, share and improve
+%what you give them. Help stamp out software-hoarding!
+
+
+% Send bug reports to bug-texinfo@prep.ai.mit.edu.
+% Please include a *precise* test case in each bug report.
% Make it possible to create a .fmt file just by loading this file:
@@ -58,7 +36,7 @@
% This automatically updates the version number based on RCS.
\def\deftexinfoversion$#1: #2 ${\def\texinfoversion{#2}}
-\deftexinfoversion$Revision: 1.1 $
+\deftexinfoversion$Revision: 1.2 $
\message{Loading texinfo package [Version \texinfoversion]:}
% If in a .fmt file, print the version number
@@ -76,17 +54,24 @@
\let\ptexdot=\.
\let\ptexdots=\dots
\let\ptexend=\end
-\let\ptexequiv=\equiv
-\let\ptexexclam=\!
+\let\ptexequiv = \equiv
\let\ptexi=\i
\let\ptexlbrace=\{
\let\ptexrbrace=\}
\let\ptexstar=\*
\let\ptext=\t
-% We never want plain's outer \+ definition in Texinfo.
-% For @tex, we can use \tabalign.
-\let\+ = \relax
+% Be sure we're in horizontal mode when doing a tie, since we make space
+% equivalent to this in @example-like environments. Otherwise, a space
+% at the beginning of a line will start with \penalty -- and
+% since \penalty is valid in vertical mode, we'd end up putting the
+% penalty on the vertical list instead of in the new paragraph.
+{\catcode`@ = 11
+ % Avoid using \@M directly, because that causes trouble
+ % if the definition is written into an index file.
+ \global\let\tiepenalty = \@M
+ \gdef\tie{\leavevmode\penalty\tiepenalty\ }
+}
\message{Basics,}
@@ -96,20 +81,18 @@
% starts a new line in the output.
\newlinechar = `^^J
-% Set up fixed words for English if not already set.
-\ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi
-\ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi
-\ifx\putwordfile\undefined \gdef\putwordfile{file}\fi
-\ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi
-\ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi
-\ifx\putwordon\undefined \gdef\putwordon{on}\fi
-\ifx\putwordpage\undefined \gdef\putwordpage{page}\fi
-\ifx\putwordsection\undefined \gdef\putwordsection{section}\fi
-\ifx\putwordSection\undefined \gdef\putwordSection{Section}\fi
-\ifx\putwordsee\undefined \gdef\putwordsee{see}\fi
-\ifx\putwordSee\undefined \gdef\putwordSee{See}\fi
-\ifx\putwordShortContents\undefined \gdef\putwordShortContents{Short Contents}\fi
-\ifx\putwordTableofContents\undefined\gdef\putwordTableofContents{Table of Contents}\fi
+% Set up fixed words for English.
+\ifx\putwordChapter\undefined{\gdef\putwordChapter{Chapter}}\fi%
+\def\putwordInfo{Info}%
+\ifx\putwordSee\undefined{\gdef\putwordSee{See}}\fi%
+\ifx\putwordsee\undefined{\gdef\putwordsee{see}}\fi%
+\ifx\putwordfile\undefined{\gdef\putwordfile{file}}\fi%
+\ifx\putwordpage\undefined{\gdef\putwordpage{page}}\fi%
+\ifx\putwordsection\undefined{\gdef\putwordsection{section}}\fi%
+\ifx\putwordSection\undefined{\gdef\putwordSection{Section}}\fi%
+\ifx\putwordTableofContents\undefined{\gdef\putwordTableofContents{Table of Contents}}\fi%
+\ifx\putwordShortContents\undefined{\gdef\putwordShortContents{Short Contents}}\fi%
+\ifx\putwordAppendix\undefined{\gdef\putwordAppendix{Appendix}}\fi%
% Ignore a token.
%
@@ -130,21 +113,11 @@
% since that produces some useless output on the terminal.
%
\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}%
-\ifx\eTeXversion\undefined
\def\loggingall{\tracingcommands2 \tracingstats2
\tracingpages1 \tracingoutput1 \tracinglostchars1
\tracingmacros2 \tracingparagraphs1 \tracingrestores1
\showboxbreadth\maxdimen\showboxdepth\maxdimen
}%
-\else
-\def\loggingall{\tracingcommands3 \tracingstats2
- \tracingpages1 \tracingoutput1 \tracinglostchars1
- \tracingmacros2 \tracingparagraphs1 \tracingrestores1
- \tracingscantokens1 \tracingassigns1 \tracingifs1
- \tracinggroups1 \tracingnesting2
- \showboxbreadth\maxdimen\showboxdepth\maxdimen
-}%
-\fi
% For @cropmarks command.
% Do @cropmarks to get crop marks.
@@ -155,10 +128,15 @@
% Dimensions to add cropmarks at corners.
% Added by P. A. MacKay, 12 Nov. 1986
%
-\newdimen\outerhsize \newdimen\outervsize % set by the paper size routines
-\newdimen\cornerlong \cornerlong=1pc
-\newdimen\cornerthick \cornerthick=.3pt
-\newdimen\topandbottommargin \topandbottommargin=.75in
+\newdimen\cornerlong \newdimen\cornerthick
+\newdimen\topandbottommargin
+\newdimen\outerhsize \newdimen\outervsize
+\cornerlong=1pc\cornerthick=.3pt % These set size of cropmarks
+\outerhsize=7in
+%\outervsize=9.5in
+% Alternative @smallbook page size is 9.25in
+\outervsize=9.25in
+\topandbottommargin=.75in
% Main output routine.
\chardef\PAGE = 255
@@ -343,11 +321,11 @@
%% Call \inENV within environments (after a \begingroup)
\newif\ifENV \ENVfalse \def\inENV{\ifENV\relax\else\ENVtrue\fi}
\def\ENVcheck{%
-\ifENV\errmessage{Still within an environment; press RETURN to continue}
+\ifENV\errmessage{Still within an environment. Type Return to continue.}
\endgroup\fi} % This is not perfect, but it should reduce lossage
% @begin foo is the same as @foo, for now.
-\newhelp\EMsimple{Press RETURN to continue.}
+\newhelp\EMsimple{Type <Return> to continue.}
\outer\def\begin{\parsearg\beginxxx}
@@ -406,7 +384,7 @@
% @@ prints an @
% Kludge this until the fonts are right (grr).
-\def\@{{\tt\char64}}
+\def\@{{\tt \char '100}}
% This is turned off because it was never documented
% and you can use @w{...} around a quote to suppress ligatures.
@@ -416,8 +394,8 @@
%\def\'{{'}}
% Used to generate quoted braces.
-\def\mylbrace {{\tt\char123}}
-\def\myrbrace {{\tt\char125}}
+\def\mylbrace {{\tt \char '173}}
+\def\myrbrace {{\tt \char '175}}
\let\{=\mylbrace
\let\}=\myrbrace
\begingroup
@@ -454,18 +432,6 @@
\fi\fi
}
-% Be sure we're in horizontal mode when doing a tie, since we make space
-% equivalent to this in @example-like environments. Otherwise, a space
-% at the beginning of a line will start with \penalty -- and
-% since \penalty is valid in vertical mode, we'd end up putting the
-% penalty on the vertical list instead of in the new paragraph.
-{\catcode`@ = 11
- % Avoid using \@M directly, because that causes trouble
- % if the definition is written into an index file.
- \global\let\tiepenalty = \@M
- \gdef\tie{\leavevmode\penalty\tiepenalty\ }
-}
-
% @: forces normal size whitespace following.
\def\:{\spacefactor=1000 }
@@ -475,11 +441,14 @@
% @. is an end-of-sentence period.
\def\.{.\spacefactor=3000 }
+% @enddots{} is an end-of-sentence ellipsis.
+\gdef\enddots{$\mathinner{\ldotp\ldotp\ldotp\ldotp}$\spacefactor=3000}
+
% @! is an end-of-sentence bang.
-\def\!{!\spacefactor=3000 }
+\gdef\!{!\spacefactor=3000 }
% @? is an end-of-sentence query.
-\def\?{?\spacefactor=3000 }
+\gdef\?{?\spacefactor=3000 }
% @w prevents a word break. Without the \leavevmode, @w at the
% beginning of a paragraph, when TeX is still in vertical mode, would
@@ -563,7 +532,7 @@ where each line of input produces a line of output.}
%% This method tries to make TeX break the page naturally
%% if the depth of the box does not fit.
%{\baselineskip=0pt%
-%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak
+%\vtop to #1\mil{\vfil}\kern -#1\mil\penalty 10000
%\prevdepth=-1000pt
%}}
@@ -604,34 +573,12 @@ where each line of input produces a line of output.}
\let\br = \par
-% @dots{} output an ellipsis using the current font.
-% We do .5em per period so that it has the same spacing in a typewriter
-% font as three actual period characters.
-%
-\def\dots{%
- \leavevmode
- \hbox to 1.5em{%
- \hskip 0pt plus 0.25fil minus 0.25fil
- .\hss.\hss.%
- \hskip 0pt plus 0.5fil minus 0.5fil
- }%
-}
-
-% @enddots{} is an end-of-sentence ellipsis.
-%
-\def\enddots{%
- \leavevmode
- \hbox to 2em{%
- \hskip 0pt plus 0.25fil minus 0.25fil
- .\hss.\hss.\hss.%
- \hskip 0pt plus 0.5fil minus 0.5fil
- }%
- \spacefactor=3000
-}
+% @dots{} output some dots
+\def\dots{$\ldots$}
% @page forces the start of a new page
-%
+
\def\page{\par\vfill\supereject}
% @exdent text....
@@ -698,10 +645,10 @@ where each line of input produces a line of output.}
% @c is the same as @comment
% @ignore ... @end ignore is another way to write a comment
-\def\comment{\begingroup \catcode`\^^M=\other%
-\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other%
-\commentxxx}
-{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
+\def\comment{\catcode 64=\other \catcode 123=\other \catcode 125=\other%
+\parsearg \commentxxx}
+
+\def\commentxxx #1{\catcode 64=0 \catcode 123=1 \catcode 125=2 }
\let\c=\comment
@@ -798,6 +745,12 @@ where each line of input produces a line of output.}
\def\menu{\doignore{menu}}
\def\direntry{\doignore{direntry}}
+% Also ignore @macro ... @end macro. The user must run texi2dvi,
+% which runs makeinfo to do macro expansion. Ignore @unmacro, too.
+\def\macro{\doignore{macro}}
+\let\unmacro = \comment
+
+
% @dircategory CATEGORY -- specify a category of the dir file
% which this file should belong to. Ignore this in TeX.
\let\dircategory = \comment
@@ -809,9 +762,7 @@ where each line of input produces a line of output.}
\ignoresections
%
% Define a command to swallow text until we reach `@end #1'.
- % This @ is a catcode 12 token (that is the normal catcode of @ in
- % this texinfo.tex file). We change the catcode of @ below to match.
- \long\def\doignoretext##1@end #1{\enddoignore}%
+ \long\def\doignoretext##1\end #1{\enddoignore}%
%
% Make sure that spaces turn into tokens that match what \doignoretext wants.
\catcode32 = 10
@@ -820,16 +771,6 @@ where each line of input produces a line of output.}
\catcode`\{ = 9
\catcode`\} = 9
%
- % We must not have @c interpreted as a control sequence.
- \catcode`\@ = 12
- %
- % Make the letter c a comment character so that the rest of the line
- % will be ignored. This way, the document can have (for example)
- % @c @end ifinfo
- % and the @end ifinfo will be properly ignored.
- % (We've just changed @ to catcode 12.)
- \catcode`\c = 14
- %
% And now expand that command.
\doignoretext
}
@@ -922,9 +863,6 @@ where each line of input produces a line of output.}
%
% Do not execute instructions in @tex
\def\tex{\doignore{tex}}%
- % Do not execute macro definitions.
- % `c' is a comment character, so the word `macro' will get cut off.
- \def\macro{\doignore{ma}}%
}
% @set VAR sets the variable VAR to an empty value.
@@ -959,35 +897,16 @@ where each line of input produces a line of output.}
% @value{foo} gets the text saved in variable foo.
%
-{
- \catcode`\_ = \active
- %
- % We might end up with active _ or - characters in the argument if
- % we're called from @code, as @code{@value{foo-bar_}}. So \let any
- % such active characters to their normal equivalents.
- \gdef\value{\begingroup
- \catcode`\-=12 \catcode`\_=12
- \indexbreaks \let_\normalunderscore
- \valuexxx}
-}
-\def\valuexxx#1{\expandablevalue{#1}\endgroup}
-
-% We have this subroutine so that we can handle at least some @value's
-% properly in indexes (we \let\value to this in \indexdummies). Ones
-% whose names contain - or _ still won't work, but we can't do anything
-% about that. The command has to be fully expandable, since the result
-% winds up in the index file. This means that if the variable's value
-% contains other Texinfo commands, it's almost certain it will fail
-% (although perhaps we could fix that with sufficient work to do a
-% one-level expansion on the result, instead of complete).
-%
-\def\expandablevalue#1{%
+\def\value{\begingroup
+ \catcode`\-=12 \catcode`\_=12 % Allow - and _ in VAR.
+ \valuexxx}
+\def\valuexxx#1{%
\expandafter\ifx\csname SET#1\endcsname\relax
- {[No value for ``#1'']v}%
+ {\{No value for ``#1''\}}%
\else
\csname SET#1\endcsname
\fi
-}
+\endgroup}
% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
% with @set.
@@ -1074,23 +993,33 @@ where each line of input produces a line of output.}
\def\bullet{\implicitmath\ptexbullet\implicitmath}
\def\minus{\implicitmath-\implicitmath}
+\def\node{\ENVcheck\parsearg\nodezzz}
+\def\nodezzz#1{\nodexxx [#1,]}
+\def\nodexxx[#1,#2]{\gdef\lastnode{#1}}
+\let\nwnode=\node
+\let\lastnode=\relax
+
+\def\donoderef{\ifx\lastnode\relax\else
+\expandafter\expandafter\expandafter\setref{\lastnode}\fi
+\global\let\lastnode=\relax}
+
+\def\unnumbnoderef{\ifx\lastnode\relax\else
+\expandafter\expandafter\expandafter\unnumbsetref{\lastnode}\fi
+\global\let\lastnode=\relax}
+
+\def\appendixnoderef{\ifx\lastnode\relax\else
+\expandafter\expandafter\expandafter\appendixsetref{\lastnode}\fi
+\global\let\lastnode=\relax}
+
% @refill is a no-op.
\let\refill=\relax
-% If working on a large document in chapters, it is convenient to
-% be able to disable indexing, cross-referencing, and contents, for test runs.
-% This is done with @novalidate (before @setfilename).
-%
-\newif\iflinks \linkstrue % by default we want the aux files.
-\let\novalidate = \linksfalse
-
% @setfilename is done at the beginning of every texinfo file.
% So open here the files we need to have open while reading the input.
% This makes it possible to make a .fmt file for texinfo.
\def\setfilename{%
- \iflinks
- \readauxfile
- \fi % \openindices needs to do some work in any case.
+ \readauxfile
+ \opencontents
\openindices
\fixbackslash % Turn off hack to swallow `\input texinfo'.
\global\let\setfilename=\comment % Ignore extra @setfilename cmds.
@@ -1106,25 +1035,30 @@ where each line of input produces a line of output.}
\comment % Ignore the actual filename.
}
-% Called from \setfilename.
-%
-\def\openindices{%
- \newindex{cp}%
- \newcodeindex{fn}%
- \newcodeindex{vr}%
- \newcodeindex{tp}%
- \newcodeindex{ky}%
- \newcodeindex{pg}%
-}
-
% @bye.
\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
+% \def\macro#1{\begingroup\ignoresections\catcode`\#=6\def\macrotemp{#1}\parsearg\macroxxx}
+% \def\macroxxx#1#2 \end macro{%
+% \expandafter\gdef\macrotemp#1{#2}%
+% \endgroup}
+
+%\def\linemacro#1{\begingroup\ignoresections\catcode`\#=6\def\macrotemp{#1}\parsearg\linemacroxxx}
+%\def\linemacroxxx#1#2 \end linemacro{%
+%\let\parsearg=\relax
+%\edef\macrotempx{\csname M\butfirst\expandafter\string\macrotemp\endcsname}%
+%\expandafter\xdef\macrotemp{\parsearg\macrotempx}%
+%\expandafter\gdef\macrotempx#1{#2}%
+%\endgroup}
+
+%\def\butfirst#1{}
+
\message{fonts,}
+
% Font-change commands.
-% Texinfo sort of supports the sans serif font style, which plain TeX does not.
+% Texinfo supports the sans serif font style, which plain TeX does not.
% So we set up a \sf analogous to plain's \rm, etc.
\newfam\sffam
\def\sf{\fam=\sffam \tensf}
@@ -1196,12 +1130,11 @@ where each line of input produces a line of output.}
% Do not make many font distinctions in general in the index, since they
% aren't very useful.
\setfont\ninett\ttshape{9}{1000}
-\setfont\ninettsl\ttslshape{10}{900}
\setfont\indrm\rmshape{9}{1000}
-\setfont\indit\itshape{9}{1000}
-\setfont\indsl\slshape{9}{1000}
+\setfont\indit\slshape{9}{1000}
+\let\indsl=\indit
\let\indtt=\ninett
-\let\indttsl=\ninettsl
+\let\indttsl=\ninett
\let\indsf=\indrm
\let\indbf=\indrm
\setfont\indsc\scshape{10}{900}
@@ -1303,7 +1236,7 @@ where each line of input produces a line of output.}
\let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy
\let\tenttsl=\titlettsl
\resetmathfonts \setleading{25pt}}
-\def\titlefont#1{{\titlefonts\rm #1}}
+\def\titlefont#1{{\titlefonts #1}}
\def\chapfonts{%
\let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
\let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
@@ -1330,10 +1263,6 @@ where each line of input produces a line of output.}
%
\textfonts
-% Define these so they can be easily changed for other fonts.
-\def\angleleft{$\langle$}
-\def\angleright{$\rangle$}
-
% Count depth in font-changes, for error checks
\newcount\fontdepth \fontdepth=0
@@ -1348,14 +1277,13 @@ where each line of input produces a line of output.}
% \smartitalic{ARG} outputs arg in italics, followed by an italic correction
% unless the following character is such as not to need one.
\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else\/\fi\fi\fi}
-\def\smartslanted#1{{\sl #1}\futurelet\next\smartitalicx}
-\def\smartitalic#1{{\it #1}\futurelet\next\smartitalicx}
+\def\smartitalic#1{{\sl #1}\futurelet\next\smartitalicx}
\let\i=\smartitalic
-\let\var=\smartslanted
-\let\dfn=\smartslanted
+\let\var=\smartitalic
+\let\dfn=\smartitalic
\let\emph=\smartitalic
-\let\cite=\smartslanted
+\let\cite=\smartitalic
\def\b#1{{\bf #1}}
\let\strong=\b
@@ -1372,22 +1300,20 @@ where each line of input produces a line of output.}
\null
}
\let\ttfont=\t
-\def\samp#1{`\tclose{#1}'\null}
+\def\samp #1{`\tclose{#1}'\null}
\setfont\smallrm\rmshape{8}{1000}
\font\smallsy=cmsy9
\def\key#1{{\smallrm\textfont2=\smallsy \leavevmode\hbox{%
- \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
+ \raise0.4pt\hbox{$\langle$}\kern-.08em\vtop{%
\vbox{\hrule\kern-0.4pt
- \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
+ \hbox{\raise0.4pt\hbox{\vphantom{$\langle$}}#1}}%
\kern-0.4pt\hrule}%
- \kern-.06em\raise0.4pt\hbox{\angleright}}}}
+ \kern-.06em\raise0.4pt\hbox{$\rangle$}}}}
% The old definition, with no lozenge:
%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null}
\def\ctrl #1{{\tt \rawbackslash \hat}#1}
-% @file, @option are the same as @samp.
\let\file=\samp
-\let\option=\samp
% @code is a modification of @t,
% which makes spaces the same size as normal in the surrounding text.
@@ -1422,18 +1348,20 @@ where each line of input produces a line of output.}
% and arrange explicitly to hyphenate at a dash.
% -- rms.
{
- \catcode`\-=\active
- \catcode`\_=\active
- %
- \global\def\code{\begingroup
- \catcode`\-=\active \let-\codedash
- \catcode`\_=\active \let_\codeunder
- \codex
- }
- %
- % If we end up with any active - characters when handling the index,
- % just treat them as a normal -.
- \global\def\indexbreaks{\catcode`\-=\active \let-\realdash}
+\catcode`\-=\active
+\catcode`\_=\active
+\catcode`\|=\active
+\global\def\code{\begingroup \catcode`\-=\active \let-\codedash \catcode`\_=\active \let_\codeunder \codex}
+% The following is used by \doprintindex to insure that long function names
+% wrap around. It is necessary for - and _ to be active before the index is
+% read from the file, as \entry parses the arguments long before \code is
+% ever called. -- mycroft
+% _ is always active; and it shouldn't be \let = to an _ that is a
+% subscript character anyway. Then, @cindex @samp{_} (for example)
+% fails. --karl
+\global\def\indexbreaks{%
+ \catcode`\-=\active \let-\realdash
+}
}
\def\realdash{-}
@@ -1474,10 +1402,8 @@ where each line of input produces a line of output.}
\else{\tclose{\kbdfont\look}}\fi
\else{\tclose{\kbdfont\look}}\fi}
-% For @url, @env, @command quotes seem unnecessary, so use \code.
+% @url. Quotes do not seem necessary, so use \code.
\let\url=\code
-\let\env=\code
-\let\command=\code
% @uref (abbreviation for `urlref') takes an optional second argument
% specifying the text to display. First (mandatory) arg is the url.
@@ -1495,7 +1421,7 @@ where each line of input produces a line of output.}
% rms does not like the angle brackets --karl, 17may97.
% So now @email is just like @uref.
-%\def\email#1{\angleleft{\tt #1}\angleright}
+%\def\email#1{$\langle${\tt #1}$\rangle$}
\let\email=\uref
% Check if we are currently using a typewriter font. Since all the
@@ -1506,7 +1432,8 @@ where each line of input produces a line of output.}
\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
% Typeset a dimension, e.g., `in' or `pt'. The only reason for the
-% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt.
+% argument is to make the input look right: @dmn{pt} instead of
+% @dmn{}pt.
%
\def\dmn#1{\thinspace #1}
@@ -1517,14 +1444,11 @@ where each line of input produces a line of output.}
% Polish suppressed-l. --karl, 22sep96.
%\def\l#1{{\li #1}\null}
-% Explicit font changes: @r, @sc, undocumented @ii.
\def\r#1{{\rm #1}} % roman font
+% Use of \lowercase was suggested.
\def\sc#1{{\smallcaps#1}} % smallcaps font
\def\ii#1{{\it #1}} % italic font
-% @acronym downcases the argument and prints in smallcaps.
-\def\acronym#1{{\smallcaps \lowercase{#1}}}
-
% @pounds{} is a sterling sign.
\def\pounds{{\it\$}}
@@ -1538,20 +1462,15 @@ where each line of input produces a line of output.}
\newif\ifseenauthor
\newif\iffinishedtitlepage
-% Do an implicit @contents or @shortcontents after @end titlepage if the
-% user says @contentsaftertitlepage or @shortcontentsaftertitlepage.
-%
-\newif\ifsetcontentsaftertitlepage
- \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue
-\newif\ifsetshortcontentsaftertitlepage
- \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
-
\def\shorttitlepage{\parsearg\shorttitlepagezzz}
\def\shorttitlepagezzz #1{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}%
\endgroup\page\hbox{}\page}
\def\titlepage{\begingroup \parindent=0pt \textfonts
\let\subtitlerm=\tenrm
+% I deinstalled the following change because \cmr12 is undefined.
+% This change was not in the ChangeLog anyway. --rms.
+% \let\subtitlerm=\cmr12
\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}%
%
\def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines}%
@@ -1600,21 +1519,6 @@ where each line of input produces a line of output.}
% after the title page, which we certainly don't want.
\oldpage
\endgroup
- %
- % If they want short, they certainly want long too.
- \ifsetshortcontentsaftertitlepage
- \shortcontents
- \contents
- \global\let\shortcontents = \relax
- \global\let\contents = \relax
- \fi
- %
- \ifsetcontentsaftertitlepage
- \contents
- \global\let\contents = \relax
- \global\let\shortcontents = \relax
- \fi
- %
\HEADINGSon
}
@@ -1628,10 +1532,10 @@ where each line of input produces a line of output.}
\let\thispage=\folio
-\newtoks\evenheadline % headline on even pages
-\newtoks\oddheadline % headline on odd pages
-\newtoks\evenfootline % footline on even pages
-\newtoks\oddfootline % footline on odd pages
+\newtoks \evenheadline % Token sequence for heading line of even pages
+\newtoks \oddheadline % Token sequence for heading line of odd pages
+\newtoks \evenfootline % Token sequence for footing line of even pages
+\newtoks \oddfootline % Token sequence for footing line of odd pages
% Now make Tex use those variables
\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline
@@ -1770,6 +1674,18 @@ July\or August\or September\or October\or November\or December\fi
\message{tables,}
+
+% @tabs -- simple alignment
+
+% These don't work. For one thing, \+ is defined as outer.
+% So these macros cannot even be defined.
+
+%\def\tabs{\parsearg\tabszzz}
+%\def\tabszzz #1{\settabs\+#1\cr}
+%\def\tabline{\parsearg\tablinezzz}
+%\def\tablinezzz #1{\+#1\cr}
+%\def\&{&}
+
% Tables -- @table, @ftable, @vtable, @item(x), @kitem(x), @xitem(x).
% default indentation of table text
@@ -1813,6 +1729,11 @@ July\or August\or September\or October\or November\or December\fi
\itemindex{#1}%
\nobreak % This prevents a break before @itemx.
%
+ % Be sure we are not still in the middle of a paragraph.
+ %{\parskip = 0in
+ %\par
+ %}%
+ %
% If the item text does not fit in the space we have, put it on a line
% by itself, and do not allow a page break either before or after that
% line. We do not start a paragraph here because then if the next
@@ -1841,17 +1762,13 @@ July\or August\or September\or October\or November\or December\fi
\itemxneedsnegativevskipfalse
\else
% The item text fits into the space. Start a paragraph, so that the
- % following text (if any) will end up on the same line.
+ % following text (if any) will end up on the same line. Since that
+ % text will be indented by \tableindent, we make the item text be in
+ % a zero-width box.
\noindent
- % Do this with kerns and \unhbox so that if there is a footnote in
- % the item text, it can migrate to the main vertical list and
- % eventually be printed.
- \nobreak\kern-\tableindent
- \dimen0 = \itemmax \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0
- \unhbox0
- \nobreak\kern\dimen0
- \endgroup
- \itemxneedsnegativevskiptrue
+ \rlap{\hskip -\tableindent\box0}\ignorespaces%
+ \endgroup%
+ \itemxneedsnegativevskiptrue%
\fi
}
@@ -1862,10 +1779,9 @@ July\or August\or September\or October\or November\or December\fi
\def\xitem{\errmessage{@xitem while not in a table}}
\def\xitemx{\errmessage{@xitemx while not in a table}}
-% Contains a kludge to get @end[description] to work.
+%% Contains a kludge to get @end[description] to work
\def\description{\tablez{\dontindex}{1}{}{}{}{}}
-% @table, @ftable, @vtable.
\def\table{\begingroup\inENV\obeylines\obeyspaces\tablex}
{\obeylines\obeyspaces%
\gdef\tablex #1^^M{%
@@ -1925,7 +1841,7 @@ July\or August\or September\or October\or November\or December\fi
\def\itemize{\parsearg\itemizezzz}
\def\itemizezzz #1{%
- \begingroup % ended by the @end itemize
+ \begingroup % ended by the @end itemsize
\itemizey {#1}{\Eitemize}
}
@@ -2127,7 +2043,10 @@ July\or August\or September\or October\or November\or December\fi
% @multitablelinespace is space to leave between table items, baseline
% to baseline.
% 0pt means it depends on current normal line spacing.
-%
+
+%%%%
+% Dimensions
+
\newskip\multitableparskip
\newskip\multitableparindent
\newdimen\multitablecolspace
@@ -2137,15 +2056,15 @@ July\or August\or September\or October\or November\or December\fi
\multitablecolspace=12pt
\multitablelinespace=0pt
+%%%%
% Macros used to set up halign preamble:
-%
\let\endsetuptable\relax
\def\xendsetuptable{\endsetuptable}
\let\columnfractions\relax
\def\xcolumnfractions{\columnfractions}
\newif\ifsetpercent
-% 2/1/96, to allow fractions to be given with more than one digit.
+%% 2/1/96, to allow fractions to be given with more than one digit.
\def\pickupwholefraction#1 {\global\advance\colcount by1 %
\expandafter\xdef\csname col\the\colcount\endcsname{.#1\hsize}%
\setuptable}
@@ -2171,84 +2090,80 @@ July\or August\or September\or October\or November\or December\fi
\ifx\go\pickupwholefraction\else\let\go\setuptable\fi%
\fi\go}
+%%%%
% multitable syntax
\def\tab{&\hskip1sp\relax} % 2/2/96
% tiny skip here makes sure this column space is
% maintained, even if it is never used.
+
+%%%%
% @multitable ... @end multitable definitions:
\def\multitable{\parsearg\dotable}
+
\def\dotable#1{\bgroup
- \vskip\parskip
- \let\item\crcr
- \tolerance=9500
- \hbadness=9500
- \setmultitablespacing
- \parskip=\multitableparskip
- \parindent=\multitableparindent
- \overfullrule=0pt
- \global\colcount=0
- \def\Emultitable{\global\setpercentfalse\cr\egroup\egroup}%
- %
- % To parse everything between @multitable and @item:
- \setuptable#1 \endsetuptable
- %
- % \everycr will reset column counter, \colcount, at the end of
- % each line. Every column entry will cause \colcount to advance by one.
- % The table preamble
- % looks at the current \colcount to find the correct column width.
- \everycr{\noalign{%
- %
- % \filbreak%% keeps underfull box messages off when table breaks over pages.
- % Maybe so, but it also creates really weird page breaks when the table
- % breaks over pages. Wouldn't \vfil be better? Wait until the problem
- % manifests itself, so it can be fixed for real --karl.
- \global\colcount=0\relax}}%
- %
- % This preamble sets up a generic column definition, which will
- % be used as many times as user calls for columns.
- % \vtop will set a single line and will also let text wrap and
- % continue for many paragraphs if desired.
- \halign\bgroup&\global\advance\colcount by 1\relax
- \multistrut\vtop{\hsize=\expandafter\csname col\the\colcount\endcsname
- %
- % In order to keep entries from bumping into each other
- % we will add a \leftskip of \multitablecolspace to all columns after
- % the first one.
- %
- % If a template has been used, we will add \multitablecolspace
- % to the width of each template entry.
- %
- % If the user has set preamble in terms of percent of \hsize we will
- % use that dimension as the width of the column, and the \leftskip
- % will keep entries from bumping into each other. Table will start at
- % left margin and final column will justify at right margin.
- %
- % Make sure we don't inherit \rightskip from the outer environment.
- \rightskip=0pt
- \ifnum\colcount=1
- % The first column will be indented with the surrounding text.
- \advance\hsize by\leftskip
+\let\item\cr
+\tolerance=9500
+\hbadness=9500
+\setmultitablespacing
+\parskip=\multitableparskip
+\parindent=\multitableparindent
+\overfullrule=0pt
+\global\colcount=0\relax%
+\def\Emultitable{\global\setpercentfalse\global\everycr{}\cr\egroup\egroup}%
+ % To parse everything between @multitable and @item :
+\setuptable#1 \endsetuptable
+ % Need to reset this to 0 after \setuptable.
+\global\colcount=0\relax%
+ %
+ % This preamble sets up a generic column definition, which will
+ % be used as many times as user calls for columns.
+ % \vtop will set a single line and will also let text wrap and
+ % continue for many paragraphs if desired.
+\halign\bgroup&\global\advance\colcount by 1\relax%
+\multistrut\vtop{\hsize=\expandafter\csname col\the\colcount\endcsname
+ % In order to keep entries from bumping into each other
+ % we will add a \leftskip of \multitablecolspace to all columns after
+ % the first one.
+ % If a template has been used, we will add \multitablecolspace
+ % to the width of each template entry.
+ % If user has set preamble in terms of percent of \hsize
+ % we will use that dimension as the width of the column, and
+ % the \leftskip will keep entries from bumping into each other.
+ % Table will start at left margin and final column will justify at
+ % right margin.
+\ifnum\colcount=1
+\else
+ \ifsetpercent
\else
- \ifsetpercent \else
- % If user has not set preamble in terms of percent of \hsize
- % we will advance \hsize by \multitablecolspace.
- \advance\hsize by \multitablecolspace
- \fi
- % In either case we will make \leftskip=\multitablecolspace:
- \leftskip=\multitablecolspace
+ % If user has <not> set preamble in terms of percent of \hsize
+ % we will advance \hsize by \multitablecolspace
+ \advance\hsize by \multitablecolspace
\fi
- % Ignoring space at the beginning and end avoids an occasional spurious
- % blank line, when TeX decides to break the line at the space before the
- % box from the multistrut, so the strut ends up on a line by itself.
- % For example:
- % @multitable @columnfractions .11 .89
- % @item @code{#}
- % @tab Legal holiday which is valid in major parts of the whole country.
- % Is automatically provided with highlighting sequences respectively marking
- % characters.
- \noindent\ignorespaces##\unskip\multistrut}\cr
+ % In either case we will make \leftskip=\multitablecolspace:
+\leftskip=\multitablecolspace
+\fi
+ % Ignoring space at the beginning and end avoids an occasional spurious
+ % blank line, when TeX decides to break the line at the space before the
+ % box from the multistrut, so the strut ends up on a line by itself.
+ % For example:
+ % @multitable @columnfractions .11 .89
+ % @item @code{#}
+ % @tab Legal holiday which is valid in major parts of the whole country.
+ % Is automatically provided with highlighting sequences respectively marking
+ % characters.
+ \noindent\ignorespaces##\unskip\multistrut}\cr
+ % \everycr will reset column counter, \colcount, at the end of
+ % each line. Every column entry will cause \colcount to advance by one.
+ % The table preamble
+ % looks at the current \colcount to find the correct column width.
+\global\everycr{\noalign{%
+% \filbreak%% keeps underfull box messages off when table breaks over pages.
+% Maybe so, but it also creates really weird page breaks when the table
+% breaks over pages Wouldn't \vfil be better? Wait until the problem
+% manifests itself, so it can be fixed for real --karl.
+\global\colcount=0\relax}}
}
\def\setmultitablespacing{% test to see if user has set \multitablelinespace.
@@ -2291,14 +2206,12 @@ width0pt\relax} \fi
% the file that accumulates this index. The file's extension is foo.
% The name of an index should be no more than 2 characters long
% for the sake of vms.
-%
-\def\newindex#1{%
- \iflinks
- \expandafter\newwrite \csname#1indfile\endcsname
- \openout \csname#1indfile\endcsname \jobname.#1 % Open the file
- \fi
- \expandafter\xdef\csname#1index\endcsname{% % Define @#1index
- \noexpand\doindex{#1}}
+
+\def\newindex #1{
+\expandafter\newwrite \csname#1indfile\endcsname% Define number for output file
+\openout \csname#1indfile\endcsname \jobname.#1 % Open the file
+\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex
+\noexpand\doindex {#1}}
}
% @defindex foo == \newindex{foo}
@@ -2307,37 +2220,31 @@ width0pt\relax} \fi
% Define @defcodeindex, like @defindex except put all entries in @code.
-\def\newcodeindex#1{%
- \iflinks
- \expandafter\newwrite \csname#1indfile\endcsname
- \openout \csname#1indfile\endcsname \jobname.#1
- \fi
- \expandafter\xdef\csname#1index\endcsname{%
- \noexpand\docodeindex{#1}}
+\def\newcodeindex #1{
+\expandafter\newwrite \csname#1indfile\endcsname% Define number for output file
+\openout \csname#1indfile\endcsname \jobname.#1 % Open the file
+\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex
+\noexpand\docodeindex {#1}}
}
\def\defcodeindex{\parsearg\newcodeindex}
% @synindex foo bar makes index foo feed into index bar.
% Do this instead of @defindex foo if you don't want it as a separate index.
-% The \closeout helps reduce unnecessary open files; the limit on the
-% Acorn RISC OS is a mere 16 files.
-\def\synindex#1 #2 {%
- \expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
- \expandafter\closeout\csname#1indfile\endcsname
- \expandafter\let\csname#1indfile\endcsname=\synindexfoo
- \expandafter\xdef\csname#1index\endcsname{% define \xxxindex
- \noexpand\doindex{#2}}%
+\def\synindex #1 #2 {%
+\expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
+\expandafter\let\csname#1indfile\endcsname=\synindexfoo
+\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex
+\noexpand\doindex {#2}}%
}
% @syncodeindex foo bar similar, but put all entries made for index foo
% inside @code.
-\def\syncodeindex#1 #2 {%
- \expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
- \expandafter\closeout\csname#1indfile\endcsname
- \expandafter\let\csname#1indfile\endcsname=\synindexfoo
- \expandafter\xdef\csname#1index\endcsname{% define \xxxindex
- \noexpand\docodeindex{#2}}%
+\def\syncodeindex #1 #2 {%
+\expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
+\expandafter\let\csname#1indfile\endcsname=\synindexfoo
+\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex
+\noexpand\docodeindex {#2}}%
}
% Define \doindex, the driver for all \fooindex macros.
@@ -2358,7 +2265,6 @@ width0pt\relax} \fi
\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
\def\indexdummies{%
-\def\ { }%
% Take care of the plain tex accent commands.
\def\"{\realbackslash "}%
\def\`{\realbackslash `}%
@@ -2400,6 +2306,7 @@ width0pt\relax} \fi
\def\gtr{\realbackslash gtr}%
\def\less{\realbackslash less}%
\def\hat{\realbackslash hat}%
+%\def\char{\realbackslash char}%
\def\TeX{\realbackslash TeX}%
\def\dots{\realbackslash dots }%
\def\result{\realbackslash result}%
@@ -2426,12 +2333,7 @@ width0pt\relax} \fi
\def\kbd##1{\realbackslash kbd {##1}}%
\def\dfn##1{\realbackslash dfn {##1}}%
\def\emph##1{\realbackslash emph {##1}}%
-%
-% Handle some cases of @value -- where the variable name does not
-% contain - or _, and the value does not contain any
-% (non-fully-expandable) commands.
-\let\value = \expandablevalue
-%
+\def\value##1{\realbackslash value {##1}}%
\unsepspaces
}
@@ -2504,24 +2406,14 @@ width0pt\relax} \fi
% so we do not become unable to do a definition.
{\catcode`\@=0 \catcode`\\=\other
- @gdef@realbackslash{\}}
+@gdef@realbackslash{\}}
\let\indexbackslash=0 %overridden during \printindex.
-\let\SETmarginindex=\relax % put index entries in margin (undocumented)?
-
-% For \ifx comparisons.
-\def\emptymacro{\empty}
-% Most index entries go through here, but \dosubind is the general case.
-%
-\def\doind#1#2{\dosubind{#1}{#2}\empty}
-
-% Workhorse for all \fooindexes.
-% #1 is name of index, #2 is stuff to put there, #3 is subentry --
-% \empty if called from \doind, as we usually are. The main exception
-% is with defuns, which call us directly.
-%
-\def\dosubind#1#2#3{%
+\let\SETmarginindex=\relax %initialize!
+% workhorse for all \fooindexes
+% #1 is name of index, #2 is stuff to put there
+\def\doind #1#2{%
% Put the index entry in the margin if desired.
\ifx\SETmarginindex\relax\else
\insert\margin{\hbox{\vrule height8pt depth3pt width0pt #2}}%
@@ -2532,22 +2424,13 @@ width0pt\relax} \fi
\indexdummies % Must do this here, since \bf, etc expand at this stage
\escapechar=`\\
{%
- \let\folio = 0% We will expand all macros now EXCEPT \folio.
+ \let\folio=0% We will expand all macros now EXCEPT \folio.
\def\rawbackslashxx{\indexbackslash}% \indexbackslash isn't defined now
% so it will be output as is; and it will print as backslash.
%
- \def\thirdarg{#3}%
- %
- % If third arg is present, precede it with space in sort key.
- \ifx\thirdarg\emptymacro
- \let\subentry = \empty
- \else
- \def\subentry{ #3}%
- \fi
- %
% First process the index-string with all font commands turned off
% to get the string to sort by.
- {\indexnofonts \xdef\indexsorttmp{#2\subentry}}%
+ {\indexnofonts \xdef\indexsorttmp{#2}}%
%
% Now produce the complete index entry, with both the sort key and the
% original text, including any font commands.
@@ -2556,47 +2439,33 @@ width0pt\relax} \fi
\write\csname#1indfile\endcsname{%
\realbackslash entry{\indexsorttmp}{\folio}{\the\toks0}}%
}%
- %
- % If third (subentry) arg is present, add it to the index string.
- \ifx\thirdarg\emptymacro \else
- \toks0 = {#3}%
- \edef\temp{\temp{\the\toks0}}%
- \fi
- %
- % If a skip is the last thing on the list now, preserve it
- % by backing up by \lastskip, doing the \write, then inserting
- % the skip again. Otherwise, the whatsit generated by the
- % \write will make \lastskip zero. The result is that sequences
- % like this:
- % @end defun
- % @tindex whatever
- % @defun ...
- % will have extra space inserted, because the \medbreak in the
- % start of the @defun won't see the skip inserted by the @end of
- % the previous defun.
- %
- % But don't do any of this if we're not in vertical mode. We
- % don't want to do a \vskip and prematurely end a paragraph.
- %
- % Avoid page breaks due to these extra skips, too.
- %
- \iflinks
- \ifvmode
- \skip0 = \lastskip
- \ifdim\lastskip = 0pt \else \nobreak\vskip-\lastskip \fi
- \fi
- %
- \temp % do the write
- %
- %
- \ifvmode \ifdim\skip0 = 0pt \else \nobreak\vskip\skip0 \fi \fi
- \fi
+ \temp
}%
}%
\penalty\count255
}%
}
+\def\dosubind #1#2#3{%
+{\count10=\lastpenalty %
+{\indexdummies % Must do this here, since \bf, etc expand at this stage
+\escapechar=`\\%
+{\let\folio=0%
+\def\rawbackslashxx{\indexbackslash}%
+%
+% Now process the index-string once, with all font commands turned off,
+% to get the string to sort the index by.
+{\indexnofonts
+\xdef\temp1{#2 #3}%
+}%
+% Now produce the complete index entry. We process the index-string again,
+% this time with font commands expanded, to get what to print in the index.
+\edef\temp{%
+\write \csname#1indfile\endcsname{%
+\realbackslash entry {\temp1}{\folio}{#2}{#3}}}%
+\temp }%
+}\penalty\count10}}
+
% The index entry written in the file actually looks like
% \entry {sortstring}{page}{topic}
% or
@@ -2641,11 +2510,6 @@ width0pt\relax} \fi
\indexbreaks
%
% See if the index file exists and is nonempty.
- % Change catcode of @ here so that if the index file contains
- % \initial {@}
- % as its first line, TeX doesn't complain about mismatched braces
- % (because it thinks @} is a control sequence).
- \catcode`\@ = 11
\openin 1 \jobname.#1s
\ifeof 1
% \enddoublecolumns gets confused if there is no text in the index,
@@ -2667,6 +2531,7 @@ width0pt\relax} \fi
% to make right now.
\def\indexbackslash{\rawbackslashxx}%
\catcode`\\ = 0
+ \catcode`\@ = 11
\escapechar = `\\
\begindoublecolumns
\input \jobname.#1s
@@ -2679,35 +2544,21 @@ width0pt\relax} \fi
% These macros are used by the sorted index file itself.
% Change them to control the appearance of the index.
-\def\initial#1{{%
- % Some minor font changes for the special characters.
- \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
- %
- % Remove any glue we may have, we'll be inserting our own.
- \removelastskip
- %
- % We like breaks before the index initials, so insert a bonus.
- \penalty -300
- %
- % Typeset the initial. Making this add up to a whole number of
- % baselineskips increases the chance of the dots lining up from column
- % to column. It still won't often be perfect, because of the stretch
- % we need before each entry, but it's better.
- %
- % No shrink because it confuses \balancecolumns.
- \vskip 1.67\baselineskip plus .5\baselineskip
- \leftline{\secbf #1}%
- \vskip .33\baselineskip plus .1\baselineskip
- %
- % Do our best not to break after the initial.
- \nobreak
-}}
+% Same as \bigskipamount except no shrink.
+% \balancecolumns gets confused if there is any shrink.
+\newskip\initialskipamount \initialskipamount 12pt plus4pt
+
+\def\initial #1{%
+{\let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
+\ifdim\lastskip<\initialskipamount
+\removelastskip \penalty-200 \vskip \initialskipamount\fi
+\line{\secbf#1\hfill}\kern 2pt\penalty10000}}
% This typesets a paragraph consisting of #1, dot leaders, and then #2
% flush to the right margin. It is used for index and table of contents
% entries. The paragraph is indented by \leftskip.
%
-\def\entry#1#2{\begingroup
+\def\entry #1#2{\begingroup
%
% Start a new paragraph if necessary, so our assignments below can't
% affect previous text.
@@ -2730,15 +2581,12 @@ width0pt\relax} \fi
%
% \hangafter is reset to 1 (which is the value we want) at the start
% of each paragraph, so we need not do anything with that.
- \hangindent = 2em
+ \hangindent=2em
%
% When the entry text needs to be broken, just fill out the first line
% with blank space.
\rightskip = 0pt plus1fil
%
- % A bit of stretch before each entry for the benefit of balancing columns.
- \vskip 0pt plus1pt
- %
% Start a ``paragraph'' for the index entry so the line breaking
% parameters we've set above will have an effect.
\noindent
@@ -2837,21 +2685,14 @@ width0pt\relax} \fi
%
% Double the \vsize as well. (We don't need a separate register here,
% since nobody clobbers \vsize.)
- \advance\vsize by -\ht\partialpage
\vsize = 2\vsize
}
-
-% The double-column output routine for all double-column pages except
-% the last.
-%
\def\doublecolumnout{%
\splittopskip=\topskip \splitmaxdepth=\maxdepth
% Get the available space for the double columns -- the normal
% (undoubled) page height minus any material left over from the
% previous page.
- \dimen@ = \vsize
- \divide\dimen@ by 2
- %
+ \dimen@=\pageheight \advance\dimen@ by-\ht\partialpage
% box0 will be the left-hand column, box2 the right.
\setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
\onepageout\pagesofar
@@ -2860,60 +2701,35 @@ width0pt\relax} \fi
}
\def\pagesofar{%
% Re-output the contents of the output page -- any previous material,
- % followed by the two boxes we just split, in box0 and box2.
- \advance\vsize by \ht\partialpage
+ % followed by the two boxes we just split.
\unvbox\partialpage
- %
\hsize = \doublecolumnhsize
- \wd0=\hsize \wd2=\hsize
- \hbox to\pagewidth{\box0\hfil\box2}%
+ \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}%
}
\def\enddoublecolumns{%
- \output = {%
- % Split the last of the double-column material. Leave on the
- % current page, no automatic page break.
- \balancecolumns
- %
- % If we end up splitting too much material for the current page,
- % though, there will be another page break right after this \output
- % invocation ends. Having called \balancecolumns once, we do not
- % want to call it again. Therefore, reset \output to its normal
- % definition right away. (We hope \balancecolumns will never be
- % called on to balance too much material, but if it is, this makes
- % the output somewhat more palatable.)
- \global\output = {\onepageout{\pagecontents\PAGE}}%
- %
- % \pagegoal was set to the doubled \vsize above, since we restarted
- % the current page. We're now back to normal single-column
- % typesetting, so reset \pagegoal to the normal \vsize.
- \pagegoal = \vsize
- }%
- \eject
+ \output = {\balancecolumns}\eject % split what we have
\endgroup % started in \begindoublecolumns
+ %
+ % Back to normal single-column typesetting, but take account of the
+ % fact that we just accumulated some stuff on the output page.
+ \pagegoal = \vsize
}
\def\balancecolumns{%
% Called at the end of the double column material.
- \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120.
+ \setbox0 = \vbox{\unvbox255}%
\dimen@ = \ht0
\advance\dimen@ by \topskip
\advance\dimen@ by-\baselineskip
- \divide\dimen@ by 2 % target to split to
- %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}%
+ \divide\dimen@ by 2
\splittopskip = \topskip
% Loop until we get a decent breakpoint.
- {%
- \vbadness = 10000
- \loop
- \global\setbox3 = \copy0
- \global\setbox1 = \vsplit3 to \dimen@
- \ifdim\ht3>\dimen@
- \global\advance\dimen@ by 1pt
- \repeat
- }%
- %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}%
+ {\vbadness=10000 \loop
+ \global\setbox3=\copy0
+ \global\setbox1=\vsplit3 to\dimen@
+ \ifdim\ht3>\dimen@ \global\advance\dimen@ by1pt
+ \repeat}%
\setbox0=\vbox to\dimen@{\unvbox1}%
\setbox2=\vbox to\dimen@{\unvbox3}%
- %
\pagesofar
}
\catcode`\@ = \other
@@ -2931,10 +2747,56 @@ width0pt\relax} \fi
\newcount\appendixno \appendixno = `\@
\def\appendixletter{\char\the\appendixno}
+\newwrite\contentsfile
+% This is called from \setfilename.
+\def\opencontents{\openout\contentsfile = \jobname.toc }
+
% Each @chapter defines this as the name of the chapter.
-% page headings and footings can use it. @section does likewise.
-\def\thischapter{}
-\def\thissection{}
+% page headings and footings can use it. @section does likewise
+
+\def\thischapter{} \def\thissection{}
+\def\seccheck#1{\ifnum \pageno<0
+ \errmessage{@#1 not allowed after generating table of contents}%
+\fi}
+
+\def\chapternofonts{%
+ \let\rawbackslash=\relax
+ \let\frenchspacing=\relax
+ \def\result{\realbackslash result}%
+ \def\equiv{\realbackslash equiv}%
+ \def\expansion{\realbackslash expansion}%
+ \def\print{\realbackslash print}%
+ \def\TeX{\realbackslash TeX}%
+ \def\dots{\realbackslash dots}%
+ \def\result{\realbackslash result}%
+ \def\equiv{\realbackslash equiv}%
+ \def\expansion{\realbackslash expansion}%
+ \def\print{\realbackslash print}%
+ \def\error{\realbackslash error}%
+ \def\point{\realbackslash point}%
+ \def\copyright{\realbackslash copyright}%
+ \def\tt{\realbackslash tt}%
+ \def\bf{\realbackslash bf}%
+ \def\w{\realbackslash w}%
+ \def\less{\realbackslash less}%
+ \def\gtr{\realbackslash gtr}%
+ \def\hat{\realbackslash hat}%
+ \def\char{\realbackslash char}%
+ \def\tclose##1{\realbackslash tclose{##1}}%
+ \def\code##1{\realbackslash code{##1}}%
+ \def\samp##1{\realbackslash samp{##1}}%
+ \def\r##1{\realbackslash r{##1}}%
+ \def\b##1{\realbackslash b{##1}}%
+ \def\key##1{\realbackslash key{##1}}%
+ \def\file##1{\realbackslash file{##1}}%
+ \def\kbd##1{\realbackslash kbd{##1}}%
+ % These are redefined because @smartitalic wouldn't work inside xdef.
+ \def\i##1{\realbackslash i{##1}}%
+ \def\cite##1{\realbackslash cite{##1}}%
+ \def\var##1{\realbackslash var{##1}}%
+ \def\emph##1{\realbackslash emph{##1}}%
+ \def\dfn##1{\realbackslash dfn{##1}}%
+}
\newcount\absseclevel % used to calculate proper heading level
\newcount\secbase\secbase=0 % @raise/lowersections modify this count
@@ -3006,59 +2868,59 @@ width0pt\relax} \fi
\fi
}
-% @chapter, @appendix, @unnumbered.
+
\def\thischaptername{No Chapter Title}
\outer\def\chapter{\parsearg\chapteryyy}
\def\chapteryyy #1{\numhead0{#1}} % normally numhead0 calls chapterzzz
-\def\chapterzzz #1{%
+\def\chapterzzz #1{\seccheck{chapter}%
\secno=0 \subsecno=0 \subsubsecno=0
-\global\advance \chapno by 1 \message{\putwordChapter\space \the\chapno}%
+\global\advance \chapno by 1 \message{\putwordChapter \the\chapno}%
\chapmacro {#1}{\the\chapno}%
\gdef\thissection{#1}%
\gdef\thischaptername{#1}%
% We don't substitute the actual chapter name into \thischapter
% because we don't want its macros evaluated now.
\xdef\thischapter{\putwordChapter{} \the\chapno: \noexpand\thischaptername}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash chapentry{\the\toks0}%
- {\the\chapno}}}%
-\temp
-\donoderef
+\edef\temp{{\realbackslash chapentry{\the\toks0}{\the\chapno}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\donoderef %
\global\let\section = \numberedsec
\global\let\subsection = \numberedsubsec
\global\let\subsubsection = \numberedsubsubsec
-}
+}}
\outer\def\appendix{\parsearg\appendixyyy}
\def\appendixyyy #1{\apphead0{#1}} % normally apphead0 calls appendixzzz
-\def\appendixzzz #1{%
+\def\appendixzzz #1{\seccheck{appendix}%
\secno=0 \subsecno=0 \subsubsecno=0
-\global\advance \appendixno by 1
-\message{\putwordAppendix\space \appendixletter}%
+\global\advance \appendixno by 1 \message{Appendix \appendixletter}%
\chapmacro {#1}{\putwordAppendix{} \appendixletter}%
\gdef\thissection{#1}%
\gdef\thischaptername{#1}%
\xdef\thischapter{\putwordAppendix{} \appendixletter: \noexpand\thischaptername}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash chapentry{\the\toks0}%
- {\putwordAppendix{} \appendixletter}}}%
-\temp
-\appendixnoderef
+\edef\temp{{\realbackslash chapentry{\the\toks0}%
+ {\putwordAppendix{} \appendixletter}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\appendixnoderef %
\global\let\section = \appendixsec
\global\let\subsection = \appendixsubsec
\global\let\subsubsection = \appendixsubsubsec
-}
+}}
% @centerchap is like @unnumbered, but the heading is centered.
\outer\def\centerchap{\parsearg\centerchapyyy}
\def\centerchapyyy #1{{\let\unnumbchapmacro=\centerchapmacro \unnumberedyyy{#1}}}
-% @top is like @unnumbered.
\outer\def\top{\parsearg\unnumberedyyy}
-
\outer\def\unnumbered{\parsearg\unnumberedyyy}
\def\unnumberedyyy #1{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz
-\def\unnumberedzzz #1{%
+\def\unnumberedzzz #1{\seccheck{unnumbered}%
\secno=0 \subsecno=0 \subsubsecno=0
%
% This used to be simply \message{#1}, but TeX fully expands the
@@ -3070,139 +2932,155 @@ width0pt\relax} \fi
% Anyway, we don't want the fully-expanded definition of @cite to appear
% as a result of the \message, we just want `@cite' itself. We use
% \the<toks register> to achieve this: TeX expands \the<toks> only once,
-% simply yielding the contents of <toks register>. (We also do this for
-% the toc entries.)
+% simply yielding the contents of the <toks register>.
\toks0 = {#1}\message{(\the\toks0)}%
%
\unnumbchapmacro {#1}%
\gdef\thischapter{#1}\gdef\thissection{#1}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash unnumbchapentry{\the\toks0}}}%
-\temp
-\unnumbnoderef
+\edef\temp{{\realbackslash unnumbchapentry{\the\toks0}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\unnumbnoderef %
\global\let\section = \unnumberedsec
\global\let\subsection = \unnumberedsubsec
\global\let\subsubsection = \unnumberedsubsubsec
-}
+}}
-% Sections.
\outer\def\numberedsec{\parsearg\secyyy}
\def\secyyy #1{\numhead1{#1}} % normally calls seczzz
-\def\seczzz #1{%
+\def\seczzz #1{\seccheck{section}%
\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
\gdef\thissection{#1}\secheading {#1}{\the\chapno}{\the\secno}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash secentry{\the\toks0}%
- {\the\chapno}{\the\secno}}}%
-\temp
-\donoderef
-\nobreak
-}
+\edef\temp{{\realbackslash secentry %
+{\the\toks0}{\the\chapno}{\the\secno}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\donoderef %
+\penalty 10000 %
+}}
\outer\def\appendixsection{\parsearg\appendixsecyyy}
\outer\def\appendixsec{\parsearg\appendixsecyyy}
\def\appendixsecyyy #1{\apphead1{#1}} % normally calls appendixsectionzzz
-\def\appendixsectionzzz #1{%
+\def\appendixsectionzzz #1{\seccheck{appendixsection}%
\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
\gdef\thissection{#1}\secheading {#1}{\appendixletter}{\the\secno}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash secentry{\the\toks0}%
- {\appendixletter}{\the\secno}}}%
-\temp
-\appendixnoderef
-\nobreak
-}
+\edef\temp{{\realbackslash secentry %
+{\the\toks0}{\appendixletter}{\the\secno}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\appendixnoderef %
+\penalty 10000 %
+}}
\outer\def\unnumberedsec{\parsearg\unnumberedsecyyy}
\def\unnumberedsecyyy #1{\unnmhead1{#1}} % normally calls unnumberedseczzz
-\def\unnumberedseczzz #1{%
+\def\unnumberedseczzz #1{\seccheck{unnumberedsec}%
\plainsecheading {#1}\gdef\thissection{#1}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash unnumbsecentry{\the\toks0}}}%
-\temp
-\unnumbnoderef
-\nobreak
-}
+\edef\temp{{\realbackslash unnumbsecentry{\the\toks0}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\unnumbnoderef %
+\penalty 10000 %
+}}
-% Subsections.
\outer\def\numberedsubsec{\parsearg\numberedsubsecyyy}
\def\numberedsubsecyyy #1{\numhead2{#1}} % normally calls numberedsubseczzz
-\def\numberedsubseczzz #1{%
+\def\numberedsubseczzz #1{\seccheck{subsection}%
\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
\subsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash subsecentry{\the\toks0}%
- {\the\chapno}{\the\secno}{\the\subsecno}}}%
-\temp
-\donoderef
-\nobreak
-}
+\edef\temp{{\realbackslash subsecentry %
+{\the\toks0}{\the\chapno}{\the\secno}{\the\subsecno}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\donoderef %
+\penalty 10000 %
+}}
\outer\def\appendixsubsec{\parsearg\appendixsubsecyyy}
\def\appendixsubsecyyy #1{\apphead2{#1}} % normally calls appendixsubseczzz
-\def\appendixsubseczzz #1{%
+\def\appendixsubseczzz #1{\seccheck{appendixsubsec}%
\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
\subsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash subsecentry{\the\toks0}%
- {\appendixletter}{\the\secno}{\the\subsecno}}}%
-\temp
-\appendixnoderef
-\nobreak
-}
+\edef\temp{{\realbackslash subsecentry %
+{\the\toks0}{\appendixletter}{\the\secno}{\the\subsecno}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\appendixnoderef %
+\penalty 10000 %
+}}
\outer\def\unnumberedsubsec{\parsearg\unnumberedsubsecyyy}
\def\unnumberedsubsecyyy #1{\unnmhead2{#1}} %normally calls unnumberedsubseczzz
-\def\unnumberedsubseczzz #1{%
+\def\unnumberedsubseczzz #1{\seccheck{unnumberedsubsec}%
\plainsubsecheading {#1}\gdef\thissection{#1}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash unnumbsubsecentry%
- {\the\toks0}}}%
-\temp
-\unnumbnoderef
-\nobreak
-}
+\edef\temp{{\realbackslash unnumbsubsecentry{\the\toks0}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\unnumbnoderef %
+\penalty 10000 %
+}}
-% Subsubsections.
\outer\def\numberedsubsubsec{\parsearg\numberedsubsubsecyyy}
\def\numberedsubsubsecyyy #1{\numhead3{#1}} % normally numberedsubsubseczzz
-\def\numberedsubsubseczzz #1{%
+\def\numberedsubsubseczzz #1{\seccheck{subsubsection}%
\gdef\thissection{#1}\global\advance \subsubsecno by 1 %
\subsubsecheading {#1}
{\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash subsubsecentry{\the\toks0}%
- {\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}}}%
-\temp
-\donoderef
-\nobreak
-}
+\edef\temp{{\realbackslash subsubsecentry{\the\toks0}
+ {\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}
+ {\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\donoderef %
+\penalty 10000 %
+}}
\outer\def\appendixsubsubsec{\parsearg\appendixsubsubsecyyy}
\def\appendixsubsubsecyyy #1{\apphead3{#1}} % normally appendixsubsubseczzz
-\def\appendixsubsubseczzz #1{%
+\def\appendixsubsubseczzz #1{\seccheck{appendixsubsubsec}%
\gdef\thissection{#1}\global\advance \subsubsecno by 1 %
\subsubsecheading {#1}
{\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash subsubsecentry{\the\toks0}%
- {\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}}}%
-\temp
-\appendixnoderef
-\nobreak
-}
+\edef\temp{{\realbackslash subsubsecentry{\the\toks0}%
+ {\appendixletter}
+ {\the\secno}{\the\subsecno}{\the\subsubsecno}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\appendixnoderef %
+\penalty 10000 %
+}}
\outer\def\unnumberedsubsubsec{\parsearg\unnumberedsubsubsecyyy}
\def\unnumberedsubsubsecyyy #1{\unnmhead3{#1}} %normally unnumberedsubsubseczzz
-\def\unnumberedsubsubseczzz #1{%
+\def\unnumberedsubsubseczzz #1{\seccheck{unnumberedsubsubsec}%
\plainsubsubsecheading {#1}\gdef\thissection{#1}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash unnumbsubsubsecentry%
- {\the\toks0}}}%
-\temp
-\unnumbnoderef
-\nobreak
-}
+\edef\temp{{\realbackslash unnumbsubsubsecentry{\the\toks0}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\unnumbnoderef %
+\penalty 10000 %
+}}
% These are variants which are not "outer", so they can appear in @ifinfo.
% Actually, they should now be obsolete; ordinary section commands should work.
@@ -3231,7 +3109,8 @@ width0pt\relax} \fi
% Define @majorheading, @heading and @subheading
-% NOTE on use of \vbox for chapter headings, section headings, and such:
+% NOTE on use of \vbox for chapter headings, section headings, and
+% such:
% 1) We use \vbox rather than the earlier \line to permit
% overlong headings to fold.
% 2) \hyphenpenalty is set to 10000 because hyphenation in a
@@ -3278,12 +3157,12 @@ width0pt\relax} \fi
\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
-\def\CHAPPAGoff{%
+\def\CHAPPAGoff{
\global\let\contentsalignmacro = \chappager
\global\let\pchapsepmacro=\chapbreak
\global\let\pagealignmacro=\chappager}
-\def\CHAPPAGon{%
+\def\CHAPPAGon{
\global\let\contentsalignmacro = \chappager
\global\let\pchapsepmacro=\chappager
\global\let\pagealignmacro=\chappager
@@ -3337,7 +3216,7 @@ width0pt\relax} \fi
\def\unnchfopen #1{%
\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
\parindent=0pt\raggedright
- \rm #1\hfill}}\bigskip \par\nobreak
+ \rm #1\hfill}}\bigskip \par\penalty 10000 %
}
\def\chfopen #1#2{\chapoddpage {\chapfonts
@@ -3348,7 +3227,7 @@ width0pt\relax} \fi
\def\centerchfopen #1{%
\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
\parindent=0pt
- \hfill {\rm #1}\hfill}}\bigskip \par\nobreak
+ \hfill {\rm #1}\hfill}}\bigskip \par\penalty 10000 %
}
\def\CHAPFopen{
@@ -3401,44 +3280,24 @@ width0pt\relax} \fi
}
-\message{toc,}
-\newwrite\tocfile
-
-% Write an entry to the toc file, opening it if necessary.
-% Called from @chapter, etc. We supply {\folio} at the end of the
-% argument, which will end up as the last argument to the \...entry macro.
-%
-% We open the .toc file here instead of at @setfilename or any other
-% given time so that @contents can be put in the document anywhere.
-%
-\newif\iftocfileopened
-\def\writetocentry#1{%
- \iftocfileopened\else
- \immediate\openout\tocfile = \jobname.toc
- \global\tocfileopenedtrue
- \fi
- \iflinks \write\tocfile{#1{\folio}}\fi
-}
+\message{toc printing,}
+% Finish up the main text and prepare to read what we've written
+% to \contentsfile.
\newskip\contentsrightmargin \contentsrightmargin=1in
-\newcount\savepageno
-\newcount\lastnegativepageno \lastnegativepageno = -1
-
-% Finish up the main text and prepare to read what we've written
-% to \tocfile.
-%
\def\startcontents#1{%
% If @setchapternewpage on, and @headings double, the contents should
% start on an odd page, unlike chapters. Thus, we maintain
% \contentsalignmacro in parallel with \pagealignmacro.
% From: Torbjorn Granlund <tege@matematik.su.se>
\contentsalignmacro
- \immediate\closeout\tocfile
- %
+ \immediate\closeout \contentsfile
+ \ifnum \pageno>0
+ \pageno = -1 % Request roman numbered pages.
+ \fi
% Don't need to put `Contents' or `Short Contents' in the headline.
% It is abundantly clear what they are.
\unnumbchapmacro{#1}\def\thischapter{}%
- \savepageno = \pageno
\begingroup % Set up to handle contents files properly.
\catcode`\\=0 \catcode`\{=1 \catcode`\}=2 \catcode`\@=11
% We can't do this, because then an actual ^ in a section
@@ -3446,28 +3305,19 @@ width0pt\relax} \fi
%\catcode`\^=7 % to see ^^e4 as \"a etc. juha@piuha.ydi.vtt.fi
\raggedbottom % Worry more about breakpoints than the bottom.
\advance\hsize by -\contentsrightmargin % Don't use the full line length.
- %
- % Roman numerals for page numbers.
- \ifnum \pageno>0 \pageno = \lastnegativepageno \fi
}
% Normal (long) toc.
-\def\contents{%
+\outer\def\contents{%
\startcontents{\putwordTableofContents}%
- \openin 1 \jobname.toc
- \ifeof 1 \else
- \closein 1
- \input \jobname.toc
- \fi
- \vfill \eject
+ \input \jobname.toc
\endgroup
- \lastnegativepageno = \pageno
- \pageno = \savepageno
+ \vfill \eject
}
% And just the chapters.
-\def\summarycontents{%
+\outer\def\summarycontents{%
\startcontents{\putwordShortContents}%
%
\let\chapentry = \shortchapentry
@@ -3484,15 +3334,9 @@ width0pt\relax} \fi
\def\unnumbsubsecentry ##1##2{}
\def\subsubsecentry ##1##2##3##4##5##6{}
\def\unnumbsubsubsecentry ##1##2{}
- \openin 1 \jobname.toc
- \ifeof 1 \else
- \closein 1
- \input \jobname.toc
- \fi
- \vfill \eject
+ \input \jobname.toc
\endgroup
- \lastnegativepageno = \pageno
- \pageno = \savepageno
+ \vfill \eject
}
\let\shortcontents = \summarycontents
@@ -3583,12 +3427,11 @@ width0pt\relax} \fi
% the index entries, but we want to suppress hyphenation here. (We
% can't do that in the \entry macro, since index entries might consist
% of hyphenated-identifiers-that-do-not-fit-on-a-line-and-nothing-else.)
+%
+% \turnoffactive is for the sake of @" used for umlauts.
\def\tocentry#1#2{\begingroup
\vskip 0pt plus1pt % allow a little stretch for the sake of nice page breaks
- % Do not use \turnoffactive in these arguments. Since the toc is
- % typeset in cmr, so characters such as _ would come out wrong; we
- % have to do the usual translation tricks.
- \entry{#1}{#2}%
+ \entry{\turnoffactive #1}{\turnoffactive #2}%
\endgroup}
% Space between chapter (or whatever) number and the title.
@@ -3654,36 +3497,30 @@ width0pt\relax} \fi
% But \@ or @@ will get a plain tex @ character.
\def\tex{\begingroup
- \catcode `\\=0 \catcode `\{=1 \catcode `\}=2
- \catcode `\$=3 \catcode `\&=4 \catcode `\#=6
- \catcode `\^=7 \catcode `\_=8 \catcode `\~=13 \let~=\tie
- \catcode `\%=14
- \catcode 43=12 % plus
- \catcode`\"=12
- \catcode`\==12
- \catcode`\|=12
- \catcode`\<=12
- \catcode`\>=12
- \escapechar=`\\
- %
- \let\b=\ptexb
- \let\bullet=\ptexbullet
- \let\c=\ptexc
- \let\,=\ptexcomma
- \let\.=\ptexdot
- \let\dots=\ptexdots
- \let\equiv=\ptexequiv
- \let\!=\ptexexclam
- \let\i=\ptexi
- \let\{=\ptexlbrace
- \let\+=\tabalign
- \let\}=\ptexrbrace
- \let\*=\ptexstar
- \let\t=\ptext
- %
- \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
- \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}%
- \def\@{@}%
+\catcode `\\=0 \catcode `\{=1 \catcode `\}=2
+\catcode `\$=3 \catcode `\&=4 \catcode `\#=6
+\catcode `\^=7 \catcode `\_=8 \catcode `\~=13 \let~=\tie
+\catcode `\%=14
+\catcode 43=12 % plus
+\catcode`\"=12
+\catcode`\==12
+\catcode`\|=12
+\catcode`\<=12
+\catcode`\>=12
+\escapechar=`\\
+%
+\let\,=\ptexcomma
+\let\{=\ptexlbrace
+\let\}=\ptexrbrace
+\let\.=\ptexdot
+\let\*=\ptexstar
+\let\dots=\ptexdots
+\def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
+\def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}%
+\def\@{@}%
+\let\bullet=\ptexbullet
+\let\b=\ptexb \let\c=\ptexc \let\i=\ptexi \let\t=\ptext
+%
\let\Etex=\endgroup}
% Define @lisp ... @endlisp.
@@ -3728,8 +3565,8 @@ width0pt\relax} \fi
% \nonarrowing is a flag. If "set", @lisp etc don't narrow margins.
\let\nonarrowing=\relax
-% @cartouche ... @end cartouche: draw rectangle w/rounded corners around
-% environment contents.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \cartouche: draw rectangle w/rounded corners around argument
\font\circle=lcircle10
\newdimen\circthick
\newdimen\cartouter\newdimen\cartinner
@@ -3756,9 +3593,9 @@ width0pt\relax} \fi
\cartinner=\hsize \advance\cartinner by-\lskip
\advance\cartinner by-\rskip
\cartouter=\hsize
- \advance\cartouter by 18.4pt % allow for 3pt kerns on either
+ \advance\cartouter by 18pt % allow for 3pt kerns on either
% side, and for 6pt waste from
-% each corner char, and rule thickness
+% each corner char
\normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
% Flag to tell @lisp, etc., not to narrow margin.
\let\nonarrowing=\comment
@@ -3812,52 +3649,49 @@ width0pt\relax} \fi
\fi
}
-% Define the \E... control sequence only if we are inside the particular
-% environment, so the error checking in \end will work.
-%
-% To end an @example-like environment, we first end the paragraph (via
-% \afterenvbreak's vertical glue), and then the group. That way we keep
-% the zero \parskip that the environments set -- \parskip glue will be
-% inserted at the beginning of the next paragraph in the document, after
-% the environment.
+% To ending an @example-like environment, we first end the paragraph
+% (via \afterenvbreak's vertical glue), and then the group. That way we
+% keep the zero \parskip that the environments set -- \parskip glue
+% will be inserted at the beginning of the next paragraph in the
+% document, after the environment.
%
-\def\nonfillfinish{\afterenvbreak\endgroup}
+\def\nonfillfinish{\afterenvbreak\endgroup}%
-% @lisp: indented, narrowed, typewriter font.
\def\lisp{\begingroup
\nonfillstart
\let\Elisp = \nonfillfinish
\tt
- \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
- \gobble % eat return
+ % Make @kbd do something special, if requested.
+ \let\kbdfont\kbdexamplefont
+ \rawbackslash % have \ input char produce \ char from current font
+ \gobble
}
-% @example: Same as @lisp.
+% Define the \E... control sequence only if we are inside the
+% environment, so the error checking in \end will work.
+%
+% We must call \lisp last in the definition, since it reads the
+% return following the @example (or whatever) command.
+%
\def\example{\begingroup \def\Eexample{\nonfillfinish\endgroup}\lisp}
+\def\smallexample{\begingroup \def\Esmallexample{\nonfillfinish\endgroup}\lisp}
+\def\smalllisp{\begingroup \def\Esmalllisp{\nonfillfinish\endgroup}\lisp}
-% @small... is usually equivalent to the non-small (@smallbook
-% redefines). We must call \example (or whatever) last in the
-% definition, since it reads the return following the @example (or
-% whatever) command.
-%
-% This actually allows (for example) @end display inside an
-% @smalldisplay. Too bad, but makeinfo will catch the error anyway.
+% @smallexample and @smalllisp. This is not used unless the @smallbook
+% command is given. Originally contributed by Pavel@xerox.
%
-\def\smalldisplay{\begingroup\def\Esmalldisplay{\nonfillfinish\endgroup}\display}
-\def\smallexample{\begingroup\def\Esmallexample{\nonfillfinish\endgroup}\lisp}
-\def\smallformat{\begingroup\def\Esmallformat{\nonfillfinish\endgroup}\format}
-\def\smalllisp{\begingroup\def\Esmalllisp{\nonfillfinish\endgroup}\lisp}
-
-% Real @smallexample and @smalllisp (when @smallbook): use smaller fonts.
-% Originally contributed by Pavel@xerox.
\def\smalllispx{\begingroup
- \def\Esmalllisp{\nonfillfinish\endgroup}%
- \def\Esmallexample{\nonfillfinish\endgroup}%
- \indexfonts
- \lisp
+ \nonfillstart
+ \let\Esmalllisp = \nonfillfinish
+ \let\Esmallexample = \nonfillfinish
+ %
+ % Smaller fonts for small examples.
+ \indexfonts \tt
+ \rawbackslash % make \ output the \ character from the current font (tt)
+ \gobble
}
-% @display: same as @lisp except keep current font.
+% This is @display; same as @lisp except use roman font.
%
\def\display{\begingroup
\nonfillstart
@@ -3865,15 +3699,7 @@ width0pt\relax} \fi
\gobble
}
-% @smalldisplay (when @smallbook): @display plus smaller fonts.
-%
-\def\smalldisplayx{\begingroup
- \def\Esmalldisplay{\nonfillfinish\endgroup}%
- \indexfonts \rm
- \display
-}
-
-% @format: same as @display except don't narrow margins.
+% This is @format; same as @display except don't narrow margins.
%
\def\format{\begingroup
\let\nonarrowing = t
@@ -3882,27 +3708,20 @@ width0pt\relax} \fi
\gobble
}
-% @smallformat (when @smallbook): @format plus smaller fonts.
+% @flushleft (same as @format) and @flushright.
%
-\def\smallformatx{\begingroup
- \def\Esmallformat{\nonfillfinish\endgroup}%
- \indexfonts \rm
- \format
+\def\flushleft{\begingroup
+ \let\nonarrowing = t
+ \nonfillstart
+ \let\Eflushleft = \nonfillfinish
+ \gobble
}
-
-% @flushleft (same as @format).
-%
-\def\flushleft{\begingroup \def\Eflushleft{\nonfillfinish\endgroup}\format}
-
-% @flushright.
-%
\def\flushright{\begingroup
\let\nonarrowing = t
\nonfillstart
\let\Eflushright = \nonfillfinish
\advance\leftskip by 0pt plus 1fill
- \gobble
-}
+ \gobble}
% @quotation does normal linebreaking (hence we can't use \nonfillstart)
% and narrows the margins.
@@ -3925,7 +3744,6 @@ width0pt\relax} \fi
\fi
}
-
\message{defuns,}
% Define formatter for defuns
% First, allow user to change definition object font (\df) internally
@@ -3995,18 +3813,20 @@ width0pt\relax} \fi
% outside the @def...
\dimen2=\leftskip
\advance\dimen2 by -\defbodyindent
-\noindent
+\dimen3=\rightskip
+\advance\dimen3 by -\defbodyindent
+\noindent %
\setbox0=\hbox{\hskip \deflastargmargin{\rm #2}\hskip \deftypemargin}%
\dimen0=\hsize \advance \dimen0 by -\wd0 % compute size for first line
\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuations
-\parshape 2 0in \dimen0 \defargsindent \dimen1
+\parshape 2 0in \dimen0 \defargsindent \dimen1 %
% Now output arg 2 ("Function" or some such)
% ending at \deftypemargin from the right margin,
% but stuck inside a box of width 0 so it does not interfere with linebreaking
{% Adjust \hsize to exclude the ambient margins,
% so that \rightline will obey them.
-\advance \hsize by -\dimen2
-\rlap{\rightline{{\rm #2}\hskip -1.25pc }}}%
+\advance \hsize by -\dimen2 \advance \hsize by -\dimen3
+\rlap{\rightline{{\rm #2}\hskip \deftypemargin}}}%
% Make all lines underfull and no complaints:
\tolerance=10000 \hbadness=10000
\advance\leftskip by -\defbodyindent
@@ -4027,46 +3847,23 @@ width0pt\relax} \fi
\def#1{\endgraf\endgroup\medbreak}%
\def#2{\begingroup\obeylines\activeparens\spacesplit#3}%
\parindent=0in
-\advance\leftskip by \defbodyindent
+\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup %
\catcode 61=\active % 61 is `='
\obeylines\activeparens\spacesplit#3}
-% #1 is the \E... control sequence to end the definition (which we define).
-% #2 is the \...x control sequence for consecutive fns (which we define).
-% #3 is the control sequence to call to resume processing.
-% #4, delimited by the space, is the class name.
-%
-\def\defmethparsebody#1#2#3#4 {\begingroup\inENV %
+\def\defmethparsebody #1#2#3#4 {\begingroup\inENV %
\medbreak %
% Define the end token that this defining construct specifies
% so that it will exit this group.
\def#1{\endgraf\endgroup\medbreak}%
\def#2##1 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}}}%
\parindent=0in
-\advance\leftskip by \defbodyindent
+\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup\obeylines\activeparens\spacesplit{#3{#4}}}
-% @deftypemethod has an extra argument that nothing else does. Sigh.
-% #1 is the \E... control sequence to end the definition (which we define).
-% #2 is the \...x control sequence for consecutive fns (which we define).
-% #3 is the control sequence to call to resume processing.
-% #4, delimited by the space, is the class name.
-% #5 is the method's return type.
-%
-\def\deftypemethparsebody#1#2#3#4 #5 {\begingroup\inENV %
-\medbreak %
-% Define the end token that this defining construct specifies
-% so that it will exit this group.
-\def#1{\endgraf\endgroup\medbreak}%
-\def#2##1 ##2 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}{##2}}}%
-\parindent=0in
-\advance\leftskip by \defbodyindent
-\exdentamount=\defbodyindent
-\begingroup\obeylines\activeparens\spacesplit{#3{#4}{#5}}}
-
\def\defopparsebody #1#2#3#4#5 {\begingroup\inENV %
\medbreak %
% Define the end token that this defining construct specifies
@@ -4075,7 +3872,7 @@ width0pt\relax} \fi
\def#2##1 ##2 {\def#4{##1}%
\begingroup\obeylines\activeparens\spacesplit{#3{##2}}}%
\parindent=0in
-\advance\leftskip by \defbodyindent
+\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup\obeylines\activeparens\spacesplit{#3{#5}}}
@@ -4090,7 +3887,7 @@ width0pt\relax} \fi
\def#1{\endgraf\endgroup\medbreak}%
\def#2{\begingroup\obeylines\spacesplit#3}%
\parindent=0in
-\advance\leftskip by \defbodyindent
+\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup %
\catcode 61=\active %
@@ -4107,7 +3904,7 @@ width0pt\relax} \fi
\def#1{\endgraf\endgroup\medbreak}%
\def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}%
\parindent=0in
- \advance\leftskip by \defbodyindent
+ \advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup\obeylines
}
@@ -4152,7 +3949,7 @@ width0pt\relax} \fi
\def#2##1 ##2 {\def#4{##1}%
\begingroup\obeylines\spacesplit{#3{##2}}}%
\parindent=0in
-\advance\leftskip by \defbodyindent
+\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup\obeylines\spacesplit{#3{#5}}}
@@ -4185,7 +3982,7 @@ width0pt\relax} \fi
\ifnum\parencount=0 \else \errmessage{Unbalanced parentheses in @def}\fi%
\interlinepenalty=10000
\advance\rightskip by 0pt plus 1fil
-\endgraf\nobreak\vskip -\parskip\nobreak
+\endgraf\penalty 10000\vskip -\parskip\penalty 10000%
}
\def\deftypefunargs #1{%
@@ -4196,7 +3993,7 @@ width0pt\relax} \fi
\tclose{#1}% avoid \code because of side effects on active chars
\interlinepenalty=10000
\advance\rightskip by 0pt plus 1fil
-\endgraf\nobreak\vskip -\parskip\nobreak
+\endgraf\penalty 10000\vskip -\parskip\penalty 10000%
}
% Do complete processing of one @defun or @defunx line already parsed.
@@ -4284,46 +4081,39 @@ width0pt\relax} \fi
\def\defspecx #1 {\errmessage{@defspecx in invalid context}}
\def\deftypefnx #1 {\errmessage{@deftypefnx in invalid context}}
\def\deftypemethodx #1 {\errmessage{@deftypemethodx in invalid context}}
-\def\deftypefunx #1 {\errmessage{@deftypefunx in invalid context}}
+\def\deftypeunx #1 {\errmessage{@deftypeunx in invalid context}}
% @defmethod, and so on
-% @defop CATEGORY CLASS OPERATION ARG...
+% @defop {Funny Method} foo-class frobnicate argument
\def\defop #1 {\def\defoptype{#1}%
\defopparsebody\Edefop\defopx\defopheader\defoptype}
\def\defopheader #1#2#3{%
-\dosubind {fn}{\code{#2}}{\putwordon\ #1}% Make entry in function index
+\dosubind {fn}{\code{#2}}{on #1}% Make entry in function index
\begingroup\defname {#2}{\defoptype{} on #1}%
\defunargs {#3}\endgroup %
}
-% @deftypemethod CLASS RETURN-TYPE METHOD ARG...
+% @deftypemethod foo-class return-type foo-method args
%
\def\deftypemethod{%
- \deftypemethparsebody\Edeftypemethod\deftypemethodx\deftypemethodheader}
+ \defmethparsebody\Edeftypemethod\deftypemethodx\deftypemethodheader}
%
% #1 is the class name, #2 the data type, #3 the method name, #4 the args.
\def\deftypemethodheader#1#2#3#4{%
- \dosubind{fn}{\code{#3}}{\putwordon\ \code{#1}}% entry in function index
- \begingroup
- \defname{\defheaderxcond#2\relax$$$#3}{\putwordMethodon\ \code{#1}}%
- \deftypefunargs{#4}%
- \endgroup
+ \deftypefnheaderx{Method on #1}{#2}#3 #4\relax
}
% @defmethod == @defop Method
-%
+
\def\defmethod{\defmethparsebody\Edefmethod\defmethodx\defmethodheader}
-%
-% #1 is the class name, #2 the method name, #3 the args.
-\def\defmethodheader#1#2#3{%
- \dosubind{fn}{\code{#2}}{\putwordon\ \code{#1}}% entry in function index
- \begingroup
- \defname{#2}{\putwordMethodon\ \code{#1}}%
- \defunargs{#3}%
- \endgroup
+
+\def\defmethodheader #1#2#3{%
+\dosubind {fn}{\code{#2}}{on #1}% entry in function index
+\begingroup\defname {#2}{Method on #1}%
+\defunargs {#3}\endgroup %
}
% @defcv {Class Option} foo-class foo-flag
@@ -4362,7 +4152,7 @@ width0pt\relax} \fi
% This must expand the args and terminate the paragraph they make up
\def\defvarargs #1{\normalparens #1%
\interlinepenalty=10000
-\endgraf\nobreak\vskip -\parskip\nobreak}
+\endgraf\penalty 10000\vskip -\parskip\penalty 10000}
% @defvr Counter foo-count
@@ -4399,7 +4189,7 @@ width0pt\relax} \fi
\dovarind#2 \relax% Make entry in variables index
\begingroup\defname {\defheaderxcond#1\relax$$$#2}{Variable}%
\interlinepenalty=10000
-\endgraf\nobreak\vskip -\parskip\nobreak
+\endgraf\penalty 10000\vskip -\parskip\penalty 10000
\endgroup}
\def\dovarind#1 #2\relax{\doind{vr}{\code{#1}}}
@@ -4410,7 +4200,7 @@ width0pt\relax} \fi
\def\deftypevrheader #1#2#3{\dovarind#3 \relax%
\begingroup\defname {\defheaderxcond#2\relax$$$#3}{#1}
\interlinepenalty=10000
-\endgraf\nobreak\vskip -\parskip\nobreak
+\endgraf\penalty 10000\vskip -\parskip\penalty 10000
\endgroup}
% This definition is run if you use @defvarx
@@ -4440,289 +4230,40 @@ width0pt\relax} \fi
\def\deftpx #1 {\errmessage{@deftpx in invalid context}}
-\message{macros,}
-% @macro.
-
-% To do this right we need a feature of e-TeX, \scantokens,
-% which we arrange to emulate with a temporary file in ordinary TeX.
-\ifx\eTeXversion\undefined
- \newwrite\macscribble
- \def\scanmacro#1{%
- \begingroup \newlinechar`\^^M
- \immediate\openout\macscribble=\jobname.tmp
- \immediate\write\macscribble{#1}%
- \immediate\closeout\macscribble
- \let\xeatspaces\eatspaces
- \input \jobname.tmp
- \endgroup
-}
-\else
-\def\scanmacro#1{%
-\begingroup \newlinechar`\^^M
-\let\xeatspaces\eatspaces\scantokens{#1}\endgroup}
-\fi
-
-\newcount\paramno % Count of parameters
-\newtoks\macname % Macro name
-\newif\ifrecursive % Is it recursive?
-
-% Utility routines.
-% Thisdoes \let #1 = #2, except with \csnames.
-\def\cslet#1#2{%
-\expandafter\expandafter
-\expandafter\let
-\expandafter\expandafter
-\csname#1\endcsname
-\csname#2\endcsname}
-
-% Trim leading and trailing spaces off a string.
-% Concepts from aro-bend problem 15 (see CTAN).
-{\catcode`\@=11
-\gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }}
-\gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@}
-\gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @}
-\def\unbrace#1{#1}
-\unbrace{\gdef\trim@@@ #1 } #2@{#1}
-}
-
-% Trim a single trailing ^^M off a string.
-{\catcode`\^^M=12\catcode`\Q=3%
-\gdef\eatcr #1{\eatcra #1Q^^MQ}%
-\gdef\eatcra#1^^MQ{\eatcrb#1Q}%
-\gdef\eatcrb#1Q#2Q{#1}%
-}
-
-% Macro bodies are absorbed as an argument in a context where
-% all characters are catcode 10, 11 or 12, except \ which is active
-% (as in normal texinfo). It is necessary to change the definition of \.
-
-% It's necessary to have hard CRs when the macro is executed. This is
-% done by making ^^M (\endlinechar) catcode 12 when reading the macro
-% body, and then making it the \newlinechar in \scanmacro.
-
-\def\macrobodyctxt{%
- \catcode`\~=12
- \catcode`\^=12
- \catcode`\_=12
- \catcode`\|=12
- \catcode`\<=12
- \catcode`\>=12
- \catcode`\+=12
- \catcode`\{=12
- \catcode`\}=12
- \catcode`\@=12
- \catcode`\^^M=12
- \usembodybackslash}
-
-% \mbodybackslash is the definition of \ in @macro bodies.
-% It maps \foo\ => \csname macarg.foo\endcsname => #N
-% where N is the macro parameter number.
-% We define \csname macarg.\endcsname to be \realbackslash, so
-% \\ in macro replacement text gets you a backslash.
-
-{\catcode`@=0 @catcode`@\=@active
- @gdef@usembodybackslash{@let\=@mbodybackslash}
- @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname}
-}
-\expandafter\def\csname macarg.\endcsname{\realbackslash}
-
-\def\macro{\recursivefalse\parsearg\macroxxx}
-\def\rmacro{\recursivetrue\parsearg\macroxxx}
-
-\def\macroxxx#1{%
- \getargs{#1}% now \macname is the macname and \argl the arglist
- \ifx\argl\empty % no arguments
- \paramno=0%
- \else
- \expandafter\parsemargdef \argl;%
- \fi
- \expandafter\ifx \csname macsave.\the\macname\endcsname \relax
- \cslet{macsave.\the\macname}{\the\macname}%
- \else
- \message{Warning: redefining \the\macname}%
- \fi
- \begingroup \macrobodyctxt
- \ifrecursive \expandafter\parsermacbody
- \else \expandafter\parsemacbody
- \fi}
-
-\def\unmacro{\parsearg\unmacroxxx}
-\def\unmacroxxx#1{%
- \expandafter\ifx \csname macsave.\the\macname\endcsname \relax
- \errmessage{Macro \the\macname\ not defined.}%
- \else
- \cslet{#1}{macsave.#1}%
- \expandafter\let \csname macsave.\the\macname\endcsname \undefined
- \fi
-}
+\message{cross reference,}
+% Define cross-reference macros
+\newwrite \auxfile
-% This makes use of the obscure feature that if the last token of a
-% <parameter list> is #, then the preceding argument is delimited by
-% an opening brace, and that opening brace is not consumed.
-\def\getargs#1{\getargsxxx#1{}}
-\def\getargsxxx#1#{\getmacname #1 \relax\getmacargs}
-\def\getmacname #1 #2\relax{\macname={#1}}
-\def\getmacargs#1{\def\argl{#1}}
-
-% Parse the optional {params} list. Set up \paramno and \paramlist
-% so \defmacro knows what to do. Define \macarg.blah for each blah
-% in the params list, to be ##N where N is the position in that list.
-% That gets used by \mbodybackslash (above).
-
-% We need to get `macro parameter char #' into several definitions.
-% The technique used is stolen from LaTeX: let \hash be something
-% unexpandable, insert that wherever you need a #, and then redefine
-% it to # just before using the token list produced.
-%
-% The same technique is used to protect \eatspaces till just before
-% the macro is used.
-
-\def\parsemargdef#1;{\paramno=0\def\paramlist{}%
- \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,}
-\def\parsemargdefxxx#1,{%
- \if#1;\let\next=\relax
- \else \let\next=\parsemargdefxxx
- \advance\paramno by 1%
- \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
- {\xeatspaces{\hash\the\paramno}}%
- \edef\paramlist{\paramlist\hash\the\paramno,}%
- \fi\next}
-
-% These two commands read recursive and nonrecursive macro bodies.
-% (They're different since rec and nonrec macros end differently.)
-
-\long\def\parsemacbody#1@end macro%
-{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
-\long\def\parsermacbody#1@end rmacro%
-{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
-
-% This defines the macro itself. There are six cases: recursive and
-% nonrecursive macros of zero, one, and many arguments.
-% Much magic with \expandafter here.
-% \xdef is used so that macro definitions will survive the file
-% they're defined in; @include reads the file inside a group.
-\def\defmacro{%
- \let\hash=##% convert placeholders to macro parameter chars
- \ifrecursive
- \ifcase\paramno
- % 0
- \expandafter\xdef\csname\the\macname\endcsname{%
- \noexpand\scanmacro{\temp}}%
- \or % 1
- \expandafter\xdef\csname\the\macname\endcsname{%
- \noexpand\braceorline\csname\the\macname xxx\endcsname}%
- \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
- \noexpand\scanmacro{\temp}}%
- \else % many
- \expandafter\xdef\csname\the\macname\endcsname##1{%
- \csname\the\macname xxx\endcsname ##1,}%
- \expandafter\expandafter
- \expandafter\xdef
- \expandafter\expandafter
- \csname\the\macname xxx\endcsname
- \paramlist{\noexpand\scanmacro{\temp}}%
- \fi
- \else
- \ifcase\paramno
- % 0
- \expandafter\xdef\csname\the\macname\endcsname{%
- \noexpand\norecurse{\the\macname}%
- \noexpand\scanmacro{\temp}\egroup}%
- \or % 1
- \expandafter\xdef\csname\the\macname\endcsname{%
- \noexpand\braceorline\csname\the\macname xxx\endcsname}%
- \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
- \noexpand\norecurse{\the\macname}%
- \noexpand\scanmacro{\temp}\egroup}%
- \else % many
- \expandafter\xdef\csname\the\macname\endcsname##1{%
- \csname\the\macname xxx\endcsname ##1,}%
- \expandafter\expandafter
- \expandafter\xdef
- \expandafter\expandafter
- \csname\the\macname xxx\endcsname
- \paramlist{%
- \noexpand\norecurse{\the\macname}%
- \noexpand\scanmacro{\temp}\egroup}%
- \fi
- \fi}
-
-\def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
-
-% \braceorline decides whether the next nonwhitespace character is a
-% {. If so it reads up to the closing }, if not, it reads the whole
-% line. Whatever was read is then fed to the next control sequence
-% as an argument (by \parsebrace or \parsearg)
-\def\braceorline#1{\let\next=#1\futurelet\nchar\braceorlinexxx}
-\def\braceorlinexxx{%
- \ifx\nchar\bgroup\else
- \expandafter\parsearg
- \fi \next}
-
-
-\message{cross references,}
-\newwrite\auxfile
-
-\newif\ifhavexrefs % True if xref values are known.
+\newif\ifhavexrefs % True if xref values are known.
\newif\ifwarnedxrefs % True if we warned once that they aren't known.
-% @inforef is relatively simple.
+% @inforef is simple.
\def\inforef #1{\inforefzzz #1,,,,**}
\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
node \samp{\ignorespaces#1{}}}
-% @node's job is to define \lastnode.
-\def\node{\ENVcheck\parsearg\nodezzz}
-\def\nodezzz#1{\nodexxx [#1,]}
-\def\nodexxx[#1,#2]{\gdef\lastnode{#1}}
-\let\nwnode=\node
-\let\lastnode=\relax
-
-% The sectioning commands (@chapter, etc.) call these.
-\def\donoderef{%
- \ifx\lastnode\relax\else
- \expandafter\expandafter\expandafter\setref{\lastnode}%
- {Ysectionnumberandtype}%
- \global\let\lastnode=\relax
- \fi
-}
-\def\unnumbnoderef{%
- \ifx\lastnode\relax\else
- \expandafter\expandafter\expandafter\setref{\lastnode}{Ynothing}%
- \global\let\lastnode=\relax
- \fi
-}
-\def\appendixnoderef{%
- \ifx\lastnode\relax\else
- \expandafter\expandafter\expandafter\setref{\lastnode}%
- {Yappendixletterandtype}%
- \global\let\lastnode=\relax
- \fi
-}
-
+% \setref{foo} defines a cross-reference point named foo.
-% @anchor{NAME} -- define xref target at arbitrary point.
-%
-\def\anchor#1{\setref{#1}{Ynothing}}
+\def\setref#1{%
+\dosetq{#1-title}{Ytitle}%
+\dosetq{#1-pg}{Ypagenumber}%
+\dosetq{#1-snt}{Ysectionnumberandtype}}
+\def\unnumbsetref#1{%
+\dosetq{#1-title}{Ytitle}%
+\dosetq{#1-pg}{Ypagenumber}%
+\dosetq{#1-snt}{Ynothing}}
-% \setref{NAME}{SNT} defines a cross-reference point NAME, namely
-% NAME-title, NAME-pg, and NAME-SNT. Called from \foonoderef. We have
-% to set \indexdummies so commands such as @code in a section title
-% aren't expanded. It would be nicer not to expand the titles in the
-% first place, but there's so many layers that that is hard to do.
-%
-\def\setref#1#2{{%
- \indexdummies
- \dosetq{#1-title}{Ytitle}%
- \dosetq{#1-pg}{Ypagenumber}%
- \dosetq{#1-snt}{#2}
-}}
+\def\appendixsetref#1{%
+\dosetq{#1-title}{Ytitle}%
+\dosetq{#1-pg}{Ypagenumber}%
+\dosetq{#1-snt}{Yappendixletterandtype}}
-% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is
-% the node name, #2 the name of the Info cross-reference, #3 the printed
-% node name, #4 the name of the Info file, #5 the name of the printed
-% manual. All but the node name can be omitted.
+% \xref, \pxref, and \ref generate cross-references to specified points.
+% For \xrefX, #1 is the node name, #2 the name of the Info
+% cross-reference, #3 the printed node name, #4 the name of the Info
+% file, #5 the name of the printed manual. All but the node name can be
+% omitted.
%
\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]}
\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
@@ -4740,7 +4281,7 @@ width0pt\relax} \fi
\else
% Use the actual chapter/section title appear inside
% the square brackets. Use the real section title if we have it.
- \ifdim \wd1 > 0pt
+ \ifdim \wd1>0pt%
% It is in another manual, so we don't have it.
\def\printednodename{\ignorespaces #1}%
\else
@@ -4769,32 +4310,19 @@ width0pt\relax} \fi
% into the usual \leavevmode...\vrule stuff for purposes of
% printing. So we \turnoffactive for the \refx-snt, back on for the
% printing, back off for the \refx-pg.
- {\normalturnoffactive
- % Only output a following space if the -snt ref is nonempty; for
- % @unnumbered and @anchor, it won't be.
- \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}%
- \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
- }%
- % [mynode],
- [\printednodename],\space
- % page 3
+ {\turnoffactive \refx{#1-snt}{}}%
+ \space [\printednodename],\space
\turnoffactive \putwordpage\tie\refx{#1-pg}{}%
\fi
\endgroup}
% \dosetq is the interface for calls from other macros
-% Use \normalturnoffactive so that punctuation chars such as underscore
-% and backslash work in node names. (\turnoffactive doesn't do \.)
-\def\dosetq#1#2{%
- {\let\folio=0
- \normalturnoffactive
- \edef\next{\write\auxfile{\internalsetq{#1}{#2}}}%
- \iflinks
- \next
- \fi
- }%
-}
+% Use \turnoffactive so that punctuation chars such as underscore
+% work in node names.
+\def\dosetq #1#2{{\let\folio=0 \turnoffactive
+\edef\next{\write\auxfile{\internalsetq {#1}{#2}}}%
+\next}}
% \internalsetq {foo}{page} expands into
% CHARACTERS 'xrdef {foo}{...expansion of \Ypage...}
@@ -4845,15 +4373,13 @@ width0pt\relax} \fi
\def\refx#1#2{%
\expandafter\ifx\csname X#1\endcsname\relax
% If not defined, say something at least.
- \angleleft un\-de\-fined\angleright
- \iflinks
- \ifhavexrefs
- \message{\linenumber Undefined cross reference `#1'.}%
- \else
- \ifwarnedxrefs\else
- \global\warnedxrefstrue
- \message{Cross reference values unknown; you must run TeX again.}%
- \fi
+ $\langle$un\-de\-fined$\rangle$%
+ \ifhavexrefs
+ \message{\linenumber Undefined cross reference `#1'.}%
+ \else
+ \ifwarnedxrefs\else
+ \global\warnedxrefstrue
+ \message{Cross reference values unknown; you must run TeX again.}%
\fi
\fi
\else
@@ -4864,13 +4390,10 @@ width0pt\relax} \fi
}
% This is the macro invoked by entries in the aux file.
-%
-\def\xrdef#1{\begingroup
- % Reenable \ as an escape while reading the second argument.
- \catcode`\\ = 0
- \afterassignment\endgroup
- \expandafter\gdef\csname X#1\endcsname
-}
+\def\xrdef #1#2{{%
+ \catcode`\'=\other
+ \expandafter\gdef\csname X#1\endcsname{#2}%
+}}
% Read the last existing aux file, if any. No error if none exists.
\def\readauxfile{\begingroup
@@ -4927,7 +4450,8 @@ width0pt\relax} \fi
\catcode`\$=\other
\catcode`\#=\other
\catcode`\&=\other
- \catcode`+=\other % avoid \+ for paranoia even though we've turned it off
+ % `\+ does not work, so use 43.
+ \catcode43=\other
% Make the characters 128-255 be printing characters
{%
\count 1=128
@@ -5093,12 +4617,10 @@ width0pt\relax} \fi
% Check for and read epsf.tex up front. If we read it only at @image
% time, we might be inside a group, and then its definitions would get
% undone and the next image would fail.
-\openin 1 = epsf.tex
+\openin 1 = xepsf.tex
\ifeof 1 \else
\closein 1
- % Do not bother showing banner with post-v2.7 epsf.tex (available in
- % doc/epsf.tex until it shows up on ctan).
- \def\epsfannounce{\toks0 = }%
+ \def\epsfannounce{\toks0 = }% do not bother showing banner
\input epsf.tex
\fi
%
@@ -5128,32 +4650,39 @@ width0pt\relax} \fi
% \epsfbox itself resets \epsf?size at each figure.
\setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
\setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
- % If the image is by itself, center it.
- \ifvmode
- \nobreak\medskip
- \nobreak
- \centerline{\epsfbox{#1.eps}}%
- \bigbreak
- \else
- \epsfbox{#1.eps}%
- \fi
+ \epsfbox{#1.eps}%
}
+% End of control word definitions.
+
-\message{paper sizes,}
-% And other related parameters.
+\message{and turning on texinfo input format.}
+\def\openindices{%
+ \newindex{cp}%
+ \newcodeindex{fn}%
+ \newcodeindex{vr}%
+ \newcodeindex{tp}%
+ \newcodeindex{ky}%
+ \newcodeindex{pg}%
+}
+
+% Set some numeric style parameters, for 8.5 x 11 format.
+
+\hsize = 6in
+\hoffset = .25in
\newdimen\defaultparindent \defaultparindent = 15pt
+\parindent = \defaultparindent
+\parskip 3pt plus 2pt minus 1pt
+\setleading{13.2pt}
+\advance\topskip by 1.2cm
\chapheadingskip = 15pt plus 4pt minus 2pt
\secheadingskip = 12pt plus 3pt minus 2pt
\subsecheadingskip = 9pt plus 2pt minus 2pt
% Prevent underfull vbox error messages.
-\vbadness = 10000
-
-% Don't be so finicky about underfull hboxes, either.
-\hbadness = 2000
+\vbadness=10000
% Following George Bush, just get rid of widows and orphans.
\widowpenalty=10000
@@ -5162,126 +4691,101 @@ width0pt\relax} \fi
% Use TeX 3.0's \emergencystretch to help line breaking, but if we're
% using an old version of TeX, don't do anything. We want the amount of
% stretch added to depend on the line length, hence the dependence on
-% \hsize. This makes it come to about 9pt for the 8.5x11 format. We
-% call this whenever the paper size is set.
+% \hsize. This makes it come to about 9pt for the 8.5x11 format.
%
-\def\setemergencystretch{%
- \ifx\emergencystretch\thisisundefined
- % Allow us to assign to \emergencystretch anyway.
- \def\emergencystretch{\dimen0}%
- \else
- \emergencystretch = \hsize
- \divide\emergencystretch by 45
- \fi
-}
+\ifx\emergencystretch\thisisundefined
+ % Allow us to assign to \emergencystretch anyway.
+ \def\emergencystretch{\dimen0}%
+\else
+ \emergencystretch = \hsize
+ \divide\emergencystretch by 45
+\fi
-% Parameters in order: 1) textheight; 2) textwidth; 3) voffset;
-% 4) hoffset; 5) binding offset; 6) topskip. Then whoever calls us can
-% set \parskip and call \setleading for \baselineskip.
-%
-\def\internalpagesizes#1#2#3#4#5#6{%
- \voffset = #3\relax
- \topskip = #6\relax
- \splittopskip = \topskip
- %
- \vsize = #1\relax
- \advance\vsize by \topskip
- \outervsize = \vsize
- \advance\outervsize by 0.6in
- \pageheight = \vsize
+% Use @smallbook to reset parameters for 7x9.5 format (or else 7x9.25)
+\def\smallbook{
+ \global\chapheadingskip = 15pt plus 4pt minus 2pt
+ \global\secheadingskip = 12pt plus 3pt minus 2pt
+ \global\subsecheadingskip = 9pt plus 2pt minus 2pt
%
- \hsize = #2\relax
- \outerhsize = \hsize
- \advance\outerhsize by 0.5in
- \pagewidth = \hsize
+ \global\lispnarrowing = 0.3in
+ \setleading{12pt}
+ \advance\topskip by -1cm
+ \global\parskip 2pt plus 1pt
+ \global\hsize = 5in
+ \global\vsize=7.5in
+ \global\tolerance=700
+ \global\hfuzz=1pt
+ \global\contentsrightmargin=0pt
+ \global\deftypemargin=0pt
+ \global\defbodyindent=.5cm
%
- \normaloffset = #4\relax
- \bindingoffset = #5\relax
+ \global\pagewidth=\hsize
+ \global\pageheight=\vsize
%
- \parindent = \defaultparindent
- \setemergencystretch
+ \global\let\smalllisp=\smalllispx
+ \global\let\smallexample=\smalllispx
+ \global\def\Esmallexample{\Esmalllisp}
}
-% @letterpaper (the default).
-\def\letterpaper{{\globaldefs = 1
- \parskip = 3pt plus 2pt minus 1pt
- \setleading{13.2pt}%
- %
- % If page is nothing but text, make it come out even.
- \internalpagesizes{46\baselineskip}{6in}{\voffset}{.25in}{\bindingoffset}{36pt}%
-}}
-
-% Use @smallbook to reset parameters for 7x9.5 (or so) format.
-\def\smallbook{{\globaldefs = 1
- \parskip = 2pt plus 1pt
- \setleading{12pt}%
- %
- \internalpagesizes{7.5in}{5.in}{\voffset}{.25in}{\bindingoffset}{16pt}%
- %
- \lispnarrowing = 0.3in
- \tolerance = 700
- \hfuzz = 1pt
- \contentsrightmargin = 0pt
- \deftypemargin = 0pt
- \defbodyindent = .5cm
- %
- \let\smalldisplay = \smalldisplayx
- \let\smallexample = \smalllispx
- \let\smallformat = \smallformatx
- \let\smalllisp = \smalllispx
-}}
-
% Use @afourpaper to print on European A4 paper.
-\def\afourpaper{{\globaldefs = 1
- \setleading{12pt}%
- \parskip = 3pt plus 2pt minus 1pt
- %
- \internalpagesizes{53\baselineskip}{160mm}{\voffset}{4mm}{\bindingoffset}{44pt}%
- %
- \tolerance = 700
- \hfuzz = 1pt
-}}
+\def\afourpaper{
+\global\tolerance=700
+\global\hfuzz=1pt
+\setleading{12pt}
+\global\parskip 15pt plus 1pt
+
+\global\vsize= 53\baselineskip
+\advance\vsize by \topskip
+%\global\hsize= 5.85in % A4 wide 10pt
+\global\hsize= 6.5in
+\global\outerhsize=\hsize
+\global\advance\outerhsize by 0.5in
+\global\outervsize=\vsize
+\global\advance\outervsize by 0.6in
+
+\global\pagewidth=\hsize
+\global\pageheight=\vsize
+}
+
+\bindingoffset=0pt
+\normaloffset=\hoffset
+\pagewidth=\hsize
+\pageheight=\vsize
+
+% Allow control of the text dimensions. Parameters in order: textheight;
+% textwidth; voffset; hoffset; binding offset; topskip.
+% All require a dimension;
+% header is additional; added length extends the bottom of the page.
+
+\def\changepagesizes#1#2#3#4#5#6{
+ \global\vsize= #1
+ \global\topskip= #6
+ \advance\vsize by \topskip
+ \global\voffset= #3
+ \global\hsize= #2
+ \global\outerhsize=\hsize
+ \global\advance\outerhsize by 0.5in
+ \global\outervsize=\vsize
+ \global\advance\outervsize by 0.6in
+ \global\pagewidth=\hsize
+ \global\pageheight=\vsize
+ \global\normaloffset= #4
+ \global\bindingoffset= #5}
% A specific text layout, 24x15cm overall, intended for A4 paper. Top margin
% 29mm, hence bottom margin 28mm, nominal side margin 3cm.
-\def\afourlatex{{\globaldefs = 1
- \setleading{13.6pt}%
- %
- \afourpaper
- \internalpagesizes{237mm}{150mm}{3.6mm}{3.6mm}{3mm}{7mm}%
- %
- \globaldefs = 0
-}}
+\def\afourlatex
+ {\global\tolerance=700
+ \global\hfuzz=1pt
+ \setleading{12pt}
+ \global\parskip 15pt plus 1pt
+ \advance\baselineskip by 1.6pt
+ \changepagesizes{237mm}{150mm}{3.6mm}{3.6mm}{3mm}{7mm}
+ }
% Use @afourwide to print on European A4 paper in wide format.
-\def\afourwide{%
- \afourpaper
- \internalpagesizes{9.5in}{6.5in}{\hoffset}{\normaloffset}{\bindingoffset}{7mm}%
- %
- \globaldefs = 0
-}
-
-% @pagesizes TEXTHEIGHT[,TEXTWIDTH]
-% Perhaps we should allow setting the margins, \topskip, \parskip,
-% and/or leading, also. Or perhaps we should compute them somehow.
-%
-\def\pagesizes{\parsearg\pagesizesxxx}
-\def\pagesizesxxx#1{\pagesizesyyy #1,,\finish}
-\def\pagesizesyyy#1,#2,#3\finish{{%
- \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi
- \globaldefs = 1
- %
- \parskip = 3pt plus 2pt minus 1pt
- \setleading{13.2pt}%
- %
- \internalpagesizes{#1}{\hsize}{\voffset}{\normaloffset}{\bindingoffset}{44pt}%
-}}
-
-% Set default to letter.
-%
-\letterpaper
-
-\message{and turning on texinfo input format.}
+\def\afourwide{\afourpaper
+\changepagesizes{9.5in}{6.5in}{\hoffset}{\normaloffset}{\bindingoffset}{7mm}}
% Define macros to output various characters with catcode for normal text.
\catcode`\"=\other
@@ -5318,10 +4822,10 @@ width0pt\relax} \fi
% use math or other variants that look better in normal text.
\catcode`\"=\active
-\def\activedoublequote{{\tt\char34}}
+\def\activedoublequote{{\tt \char '042}}
\let"=\activedoublequote
\catcode`\~=\active
-\def~{{\tt\char126}}
+\def~{{\tt \char '176}}
\chardef\hat=`\^
\catcode`\^=\active
\def^{{\tt \hat}}
@@ -5332,7 +4836,7 @@ width0pt\relax} \fi
\def\_{\leavevmode \kern.06em \vbox{\hrule width.3em height.1ex}}
\catcode`\|=\active
-\def|{{\tt\char124}}
+\def|{{\tt \char '174}}
\chardef \less=`\<
\catcode`\<=\active
\def<{{\tt \less}}
@@ -5419,8 +4923,8 @@ width0pt\relax} \fi
@gdef@fixbackslash{@ifx\@eatinput @let\ = @normalbackslash @fi
@catcode`+=@active @catcode`@_=@active}
-% These look ok in all fonts, so just make them not special. The @rm below
-% makes sure that the current font starts out as the newly loaded cmr10
+%% These look ok in all fonts, so just make them not special. The @rm below
+%% makes sure that the current font starts out as the newly loaded cmr10
@catcode`@$=@other @catcode`@%=@other @catcode`@&=@other @catcode`@#=@other
@textfonts