diff options
Diffstat (limited to 'contrib/gcc')
104 files changed, 0 insertions, 60625 deletions
diff --git a/contrib/gcc/.brik b/contrib/gcc/.brik deleted file mode 100644 index 112ceadd19ef..000000000000 --- a/contrib/gcc/.brik +++ /dev/null @@ -1,14448 +0,0 @@ -# Whole file CRCs generated by Brik v2.0. Use "brik -C" to verify them. - -# CRC-32 filename -# ------ -------- - - 643045998b ./boehm-gc/acinclude.m4 -2700729979b ./boehm-gc/aclocal.m4 - 971051254b ./boehm-gc/add_gc_prefix.c -2056900000b ./boehm-gc/allchblk.c - 182725132b ./boehm-gc/alloc.c -1198071641b ./boehm-gc/alpha_mach_dep.s - 655018850b ./boehm-gc/AmigaOS.c -3099799990b ./boehm-gc/backgraph.c -2411687152b ./boehm-gc/BCC_MAKEFILE - 394605993b ./boehm-gc/blacklst.c - 971406525b ./boehm-gc/callprocs -2840737175b ./boehm-gc/ChangeLog -2542310219b ./boehm-gc/checksums.c -1272640704b ./boehm-gc/config.guess -4182969326b ./boehm-gc/config.sub -1543515895b ./boehm-gc/configure -2331870630b ./boehm-gc/configure.host -2767393649b ./boehm-gc/configure.in -3430717956b ./boehm-gc/cord/cordbscs.c - 473686535b ./boehm-gc/cord/cordprnt.c -1796537586b ./boehm-gc/cord/cordtest.c -3610557498b ./boehm-gc/cord/cordxtra.c -1399512076b ./boehm-gc/cord/de.c -3493089115b ./boehm-gc/cord/de_cmds.h -1274913051b ./boehm-gc/cord/de_win.c -1969645283b ./boehm-gc/cord/de_win.h -2226183422b ./boehm-gc/cord/de_win.ICO -2296745137b ./boehm-gc/cord/de_win.RC -3479570773b ./boehm-gc/dbg_mlc.c -4155306217b ./boehm-gc/digimars.mak - 602673483b ./boehm-gc/doc/barrett_diagram -2134574438b ./boehm-gc/doc/debugging.html -4112273729b ./boehm-gc/doc/gcdescr.html -2587456343b ./boehm-gc/doc/gc.man -1852147885b ./boehm-gc/doc/README -1398938057b ./boehm-gc/doc/README.amiga -3968038895b ./boehm-gc/doc/README.autoconf - 609394135b ./boehm-gc/doc/README.changes - 124254120b ./boehm-gc/doc/README.contributors -2337143875b ./boehm-gc/doc/README.cords -2101980206b ./boehm-gc/doc/README.dj -1564073111b ./boehm-gc/doc/README.environment -1544667036b ./boehm-gc/doc/README.ews4800 -2032435380b ./boehm-gc/doc/README.hp - 261398962b ./boehm-gc/doc/README.linux -2912965872b ./boehm-gc/doc/README.Mac -3192387476b ./boehm-gc/doc/README.MacOSX -3651372180b ./boehm-gc/doc/README.macros -1009764294b ./boehm-gc/doc/README.OS2 -3249391671b ./boehm-gc/doc/README.rs6000 -2157435131b ./boehm-gc/doc/README.sgi -2210572734b ./boehm-gc/doc/README.solaris2 -1044770375b ./boehm-gc/doc/README.uts -3162142981b ./boehm-gc/doc/README.win32 -1244216301b ./boehm-gc/doc/tree.html -1267269518b ./boehm-gc/dyn_load.c -3428452570b ./boehm-gc/EMX_MAKEFILE - 110360283b ./boehm-gc/finalize.c -3449835837b ./boehm-gc/gc_cpp.cc - 231223753b ./boehm-gc/gc_cpp.cpp -3458300802b ./boehm-gc/gcc_support.c - 145159317b ./boehm-gc/gc_dlopen.c -4111426693b ./boehm-gc/gcj_mlc.c -3607948475b ./boehm-gc/gc.mak -3106502053b ./boehm-gc/gcname.c -1644234138b ./boehm-gc/headers.c -1596485799b ./boehm-gc/hpux_test_and_clear.s -1676909184b ./boehm-gc/ia64_save_regs_in_stack.s -3582080946b ./boehm-gc/if_mach.c - 387600055b ./boehm-gc/if_not_there.c -3897882033b ./boehm-gc/include/cord.h - 214150158b ./boehm-gc/include/ec.h -2874534410b ./boehm-gc/include/gc_alloc.h -1922524680b ./boehm-gc/include/gc_amiga_redirects.h -3531915622b ./boehm-gc/include/gc_backptr.h -1564499082b ./boehm-gc/include/gc_cpp.h -2080667503b ./boehm-gc/include/gc_gcj.h - 61666144b ./boehm-gc/include/gc.h - 30043067b ./boehm-gc/include/gc_inl.h - 601682422b ./boehm-gc/include/gc_inline.h -2851726125b ./boehm-gc/include/gc_local_alloc.h -3323450216b ./boehm-gc/include/gc_mark.h -4062216651b ./boehm-gc/include/gc_pthread_redirects.h -3286861254b ./boehm-gc/include/gc_typed.h -2246764458b ./boehm-gc/include/javaxfc.h -4237951566b ./boehm-gc/include/leak_detector.h - 695561534b ./boehm-gc/include/Makefile.am -3142769731b ./boehm-gc/include/Makefile.in -3792791209b ./boehm-gc/include/new_gc_alloc.h -1547838704b ./boehm-gc/include/private/cord_pos.h - 902196938b ./boehm-gc/include/private/dbg_mlc.h -1218966353b ./boehm-gc/include/private/gcconfig.h -1215170430b ./boehm-gc/include/private/gc_hdrs.h - 687589575b ./boehm-gc/include/private/gc_locks.h - 583510369b ./boehm-gc/include/private/gc_pmark.h -2936482199b ./boehm-gc/include/private/gc_priv.h -2686914147b ./boehm-gc/include/private/solaris_threads.h -3935909412b ./boehm-gc/include/private/specific.h -2262051120b ./boehm-gc/include/weakpointer.h -4171599065b ./boehm-gc/install-sh -3059795267b ./boehm-gc/irix_threads.c -1133052236b ./boehm-gc/libtool.m4 -3750760998b ./boehm-gc/linux_threads.c -3535854335b ./boehm-gc/ltconfig -2828184627b ./boehm-gc/ltmain.sh - 789649079b ./boehm-gc/Mac_files/dataend.c -3520138091b ./boehm-gc/Mac_files/datastart.c - 537693184b ./boehm-gc/Mac_files/MacOS_config.h -3338272940b ./boehm-gc/Mac_files/MacOS_Test_config.h -2932074179b ./boehm-gc/mach_dep.c - 145946109b ./boehm-gc/MacOS.c - 591574792b ./boehm-gc/MacProjects.sit.hqx -3930151010b ./boehm-gc/Makefile.am -3148936110b ./boehm-gc/Makefile.direct -3806813747b ./boehm-gc/Makefile.dist - 87051491b ./boehm-gc/Makefile.dj -2647418481b ./boehm-gc/Makefile.DLLs -1617270503b ./boehm-gc/Makefile.in -4270565414b ./boehm-gc/malloc.c -3656007348b ./boehm-gc/mallocx.c -2488176063b ./boehm-gc/mark.c -4184892336b ./boehm-gc/mark_rts.c -2792262463b ./boehm-gc/mips_sgi_mach_dep.S - 447949782b ./boehm-gc/mips_ultrix_mach_dep.s -1352116856b ./boehm-gc/misc.c -4236112450b ./boehm-gc/mkinstalldirs -2583630088b ./boehm-gc/new_hblk.c -3941839401b ./boehm-gc/NT_MAKEFILE -3607948475b ./boehm-gc/NT_THREADS_MAKEFILE -1361724709b ./boehm-gc/obj_map.c -3289014202b ./boehm-gc/OS2_MAKEFILE -3844001122b ./boehm-gc/os_dep.c - 600864111b ./boehm-gc/pc_excludes - 735852084b ./boehm-gc/pcr_interface.c -2438519321b ./boehm-gc/PCR-Makefile - 811834911b ./boehm-gc/powerpc_macosx_mach_dep.s - 105828241b ./boehm-gc/ptr_chck.c -3988382907b ./boehm-gc/real_malloc.c -2946495074b ./boehm-gc/reclaim.c -2737439630b ./boehm-gc/rs6000_mach_dep.s - 636267038b ./boehm-gc/setjmp_t.c -2956367466b ./boehm-gc/SMakefile.amiga - 751650501b ./boehm-gc/solaris_pthreads.c - 275051372b ./boehm-gc/solaris_threads.c -1425695416b ./boehm-gc/sparc_mach_dep.S - 551455534b ./boehm-gc/sparc_netbsd_mach_dep.s - 293721320b ./boehm-gc/sparc_sunos4_mach_dep.s -3072675593b ./boehm-gc/specific.c - 644387711b ./boehm-gc/stubborn.c -1440779450b ./boehm-gc/tests/leak_test.c -1742599416b ./boehm-gc/tests/test.c -3630296235b ./boehm-gc/tests/test_cpp.cc - 14580047b ./boehm-gc/tests/thread_leak_test.c -1499257362b ./boehm-gc/tests/trace_test.c -3287937987b ./boehm-gc/threadlibs.c -2467355438b ./boehm-gc/typd_mlc.c - 332085760b ./boehm-gc/version.h - 205379550b ./boehm-gc/WCC_MAKEFILE -3326583566b ./boehm-gc/win32_threads.c -1610170592b ./BUGS -3809269006b ./bugs.html -3781032226b ./ChangeLog -3004978457b ./config/acinclude.m4 -3317944764b ./config/ChangeLog -1242784498b ./config.guess -1864899138b ./config.if -3007349820b ./config/mh-a68bsd -1442196770b ./config/mh-aix386 -3054121875b ./config/mh-apollo68 -3478341494b ./config/mh-armpic -1811916229b ./config/mh-cxux -3020282061b ./config/mh-cygwin -2180612469b ./config/mh-decstation - 973727842b ./config/mh-delta88 -2133351807b ./config/mh-dgux - 746894734b ./config/mh-dgux386 -3870705974b ./config/mh-djgpp -3478341494b ./config/mh-elfalphapic - 41994544b ./config/mh-hp300 - 318860404b ./config/mh-hpux - 318860404b ./config/mh-hpux8 -3478341494b ./config/mh-i370pic -3265825290b ./config/mh-ia64pic -2339341800b ./config/mh-interix -3277888801b ./config/mh-irix4 -1357357208b ./config/mh-irix5 - 200282509b ./config/mh-irix6 -2624861245b ./config/mh-lynxos -1194372982b ./config/mh-lynxrs6k -3265825290b ./config/mh-m68kpic -1904254329b ./config/mh-mingw32 -3317263548b ./config/mh-ncr3000 -2638893829b ./config/mh-ncrsvr43 -4287527672b ./config/mh-necv4 -3000874205b ./config/mh-openedition -3478341494b ./config/mh-papic -3478341494b ./config/mh-ppcpic - 136062744b ./config/mh-riscos - 407821128b ./config/mh-sco -2015316329b ./config/mh-solaris -1399222241b ./config/mh-sparcpic - 889431517b ./config/mh-sun3 -1253937510b ./config/mh-sysv -3104599531b ./config/mh-sysv4 -2519884023b ./config/mh-sysv5 - 456622165b ./config/mh-vaxult2 -3265825290b ./config/mh-x86pic -3139906847b ./config-ml.in -2319412792b ./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 -2474610656b ./config/mt-aix43 -3955224621b ./config/mt-alphaieee - 536974328b ./config/mt-armpic -1487563357b ./config/mt-d30v - 536974328b ./config/mt-elfalphapic - 536974328b ./config/mt-i370pic - 771382916b ./config/mt-ia64pic -3571760336b ./config/mt-linux - 771382916b ./config/mt-m68kpic -2548851201b ./config/mt-netware - 971016637b ./config/mt-ospace - 536974328b ./config/mt-papic - 536974328b ./config/mt-ppcpic -1847648786b ./config/mt-sparcpic - 787786243b ./config/mt-v810 -2659154290b ./config/mt-wince - 771382916b ./config/mt-x86pic -3897683520b ./config.sub -2416042097b ./configure -3230279174b ./configure.in -1948950130b ./contrib/analyze_brprob -3428325838b ./contrib/ChangeLog - 550196746b ./contrib/compare_tests -2828387446b ./contrib/convert_to_f2c -2929939770b ./contrib/convert_to_g2c -2025073358b ./contrib/download_f2c -1336632236b ./contrib/gccbug.el -2292355102b ./contrib/gcc_build -2687391969b ./contrib/gcc_update - 109296376b ./contrib/gennews -4256039795b ./contrib/index-prop -3683285493b ./contrib/newcvsroot -1596938872b ./contrib/regression/btest-gcc.sh -2896767265b ./contrib/regression/ChangeLog -4208566980b ./contrib/regression/objs-gcc.sh -1757898889b ./contrib/regression/README -1865505596b ./contrib/regression/site.exp -1623905231b ./contrib/test_installed -2523431553b ./contrib/test_summary -3362750683b ./contrib/texi2pod.pl -4228623080b ./contrib/warn_summary -2171125041b ./COPYING - 508743035b ./COPYING.LIB -3205162104b ./.cvsignore -3112237745b ./FAQ - 118439247b ./faq.html -3513702948b ./fastjar/aclocal.m4 -1005262133b ./fastjar/AUTHORS - 640599037b ./fastjar/ChangeLog -1745615150b ./fastjar/CHANGES -3743222129b ./fastjar/compress.c -1169302702b ./fastjar/compress.h - 754715889b ./fastjar/config.h.in -1796406241b ./fastjar/configure -1220094724b ./fastjar/configure.in -1396100520b ./fastjar/COPYING -3353116274b ./fastjar/dostime.c - 446939748b ./fastjar/dostime.h -2770615802b ./fastjar/INSTALL -2331671736b ./fastjar/install-defs.sh.in -1178077958b ./fastjar/install-sh -1960714715b ./fastjar/jargrep.c -4062871816b ./fastjar/jargrep.h -2153374785b ./fastjar/jartool.c -2754304773b ./fastjar/jartool.h -3714739366b ./fastjar/Makefile.am - 39617579b ./fastjar/Makefile.in - 990942143b ./fastjar/missing -1455437353b ./fastjar/mkinstalldirs -4038493440b ./fastjar/NEWS -1315168235b ./fastjar/pushback.c - 302085493b ./fastjar/pushback.h -3780741064b ./fastjar/README - 216805921b ./fastjar/stamp-h.in -3071504729b ./fastjar/zipfile.h -2539671184b ./gcc/ABOUT-GCC-NLS -1758308615b ./gcc/ABOUT-NLS -3729933059b ./gcc/acconfig.h -3650551157b ./gcc/aclocal.m4 -4242669380b ./gcc/ada/1aexcept.adb - 956455478b ./gcc/ada/1aexcept.ads -1459838793b ./gcc/ada/1ic.ads -3953623706b ./gcc/ada/31soccon.ads -2884972597b ./gcc/ada/31soliop.ads -4248758801b ./gcc/ada/3asoccon.ads -3931896843b ./gcc/ada/3bsoccon.ads -3560754896b ./gcc/ada/3gsoccon.ads - 580031672b ./gcc/ada/3hsoccon.ads - 229359869b ./gcc/ada/3lsoccon.ads -2442231443b ./gcc/ada/3ssoccon.ads -1502394419b ./gcc/ada/3ssoliop.ads -3387310401b ./gcc/ada/3wsoccon.ads - 391658942b ./gcc/ada/3wsocthi.adb -1356739718b ./gcc/ada/3wsocthi.ads - 681502184b ./gcc/ada/3wsoliop.ads -3245682325b ./gcc/ada/41intnam.ads -2662178618b ./gcc/ada/42intnam.ads - 959518590b ./gcc/ada/4aintnam.ads -3097801335b ./gcc/ada/4cintnam.ads - 481858334b ./gcc/ada/4dintnam.ads -4162574675b ./gcc/ada/4gintnam.ads -2002752921b ./gcc/ada/4hexcpol.adb -2499132704b ./gcc/ada/4hintnam.ads - 222726646b ./gcc/ada/4lintnam.ads - 374384539b ./gcc/ada/4mintnam.ads -3241941732b ./gcc/ada/4nintnam.ads - 620116621b ./gcc/ada/4ointnam.ads -3443503753b ./gcc/ada/4onumaux.ads -1566782773b ./gcc/ada/4pintnam.ads -3406122898b ./gcc/ada/4rintnam.ads - 459655329b ./gcc/ada/4sintnam.ads - 719827780b ./gcc/ada/4uintnam.ads -1115932068b ./gcc/ada/4vcaldel.adb -4160669776b ./gcc/ada/4vcalend.adb -2943884446b ./gcc/ada/4vcalend.ads -1904156899b ./gcc/ada/4vintnam.ads - 594124201b ./gcc/ada/4wcalend.adb -3762378663b ./gcc/ada/4wexcpol.adb -1710451163b ./gcc/ada/4wintnam.ads - 548303504b ./gcc/ada/4zintnam.ads - 770211451b ./gcc/ada/4znumaux.ads - 930797522b ./gcc/ada/4zsytaco.adb -3071531568b ./gcc/ada/4zsytaco.ads -3569647494b ./gcc/ada/51osinte.adb -2532503682b ./gcc/ada/51osinte.ads -3468089494b ./gcc/ada/52osinte.adb -2083506135b ./gcc/ada/52osinte.ads - 765740382b ./gcc/ada/52system.ads -3057318985b ./gcc/ada/53osinte.ads -3513991105b ./gcc/ada/54osinte.ads - 249779471b ./gcc/ada/5amastop.adb -1653378497b ./gcc/ada/5aosinte.adb -3367754742b ./gcc/ada/5aosinte.ads -3819202190b ./gcc/ada/5asystem.ads - 613172531b ./gcc/ada/5ataprop.adb -3013377906b ./gcc/ada/5atasinf.ads -3014755298b ./gcc/ada/5ataspri.ads -3667261101b ./gcc/ada/5atpopsp.adb -3916423708b ./gcc/ada/5avxwork.ads -3659011384b ./gcc/ada/5bosinte.adb -2779241737b ./gcc/ada/5bosinte.ads -2308169616b ./gcc/ada/5bsystem.ads -1335114659b ./gcc/ada/5cosinte.ads -2058704820b ./gcc/ada/5dosinte.ads -1118228281b ./gcc/ada/5esystem.ads - 74251179b ./gcc/ada/5etpopse.adb - 745978377b ./gcc/ada/5fintman.adb -3658042447b ./gcc/ada/5fosinte.ads -3136371085b ./gcc/ada/5fsystem.ads -1678802713b ./gcc/ada/5ftaprop.adb -2739603168b ./gcc/ada/5ftasinf.ads -3610821942b ./gcc/ada/5ginterr.adb - 975866538b ./gcc/ada/5gintman.adb -1378115556b ./gcc/ada/5gmastop.adb -2183233435b ./gcc/ada/5gosinte.ads - 571431837b ./gcc/ada/5gproinf.adb -3191048862b ./gcc/ada/5gproinf.ads - 693393540b ./gcc/ada/5gsystem.ads -2970373496b ./gcc/ada/5gtaprop.adb -2321444413b ./gcc/ada/5gtasinf.adb -3287583301b ./gcc/ada/5gtasinf.ads -2785741821b ./gcc/ada/5gtpgetc.adb -3503873280b ./gcc/ada/5hosinte.adb -2098542990b ./gcc/ada/5hosinte.ads -2099158447b ./gcc/ada/5hparame.ads -3465869647b ./gcc/ada/5hsystem.ads -1377954775b ./gcc/ada/5htaprop.adb - 158492006b ./gcc/ada/5htaspri.ads - 58230655b ./gcc/ada/5htraceb.adb - 703108891b ./gcc/ada/5iosinte.adb -3200296303b ./gcc/ada/5iosinte.ads -1823263396b ./gcc/ada/5itaprop.adb -2428441881b ./gcc/ada/5itaspri.ads - 258764448b ./gcc/ada/5ksystem.ads - 801131281b ./gcc/ada/5kvxwork.ads -3740352184b ./gcc/ada/5lintman.adb -2092578045b ./gcc/ada/5lml-tgt.adb -1560385947b ./gcc/ada/5losinte.ads - 566581471b ./gcc/ada/5lsystem.ads -3212004635b ./gcc/ada/5mosinte.ads -2556228116b ./gcc/ada/5mvxwork.ads -1277970924b ./gcc/ada/5ninmaop.adb - 921618338b ./gcc/ada/5nintman.adb -2773599964b ./gcc/ada/5nosinte.ads -2606543337b ./gcc/ada/5ntaprop.adb -3755362459b ./gcc/ada/5ntaspri.ads -2203283165b ./gcc/ada/5ointerr.adb -4214075066b ./gcc/ada/5omastop.adb - 51561081b ./gcc/ada/5oosinte.adb -3809744645b ./gcc/ada/5oosinte.ads -2928684265b ./gcc/ada/5oosprim.adb -2072280969b ./gcc/ada/5oparame.adb -3575712341b ./gcc/ada/5osystem.ads - 679733143b ./gcc/ada/5otaprop.adb -1685662286b ./gcc/ada/5otaspri.ads - 656589266b ./gcc/ada/5posinte.ads -3394687510b ./gcc/ada/5posprim.adb -1947102917b ./gcc/ada/5pvxwork.ads -2218896062b ./gcc/ada/5qosinte.adb - 147874672b ./gcc/ada/5qosinte.ads - 487900047b ./gcc/ada/5qparame.ads -1923594129b ./gcc/ada/5qstache.adb -2941573152b ./gcc/ada/5qtaprop.adb -3425306326b ./gcc/ada/5qtaspri.ads -3925078434b ./gcc/ada/5qvxwork.ads -3811279815b ./gcc/ada/5rosinte.adb -4146733644b ./gcc/ada/5rosinte.ads - 341619696b ./gcc/ada/5rparame.adb -3395974413b ./gcc/ada/5sintman.adb -2666853386b ./gcc/ada/5smastop.adb - 946915847b ./gcc/ada/5sosinte.adb -1686512140b ./gcc/ada/5sosinte.ads -1089056181b ./gcc/ada/5sparame.adb -1789906565b ./gcc/ada/5ssystem.ads -1618657802b ./gcc/ada/5staprop.adb -2345225497b ./gcc/ada/5stasinf.adb -2933480236b ./gcc/ada/5stasinf.ads -3413502572b ./gcc/ada/5staspri.ads -1154412482b ./gcc/ada/5stpopse.adb - 67524432b ./gcc/ada/5svxwork.ads -3415155229b ./gcc/ada/5tosinte.ads - 512605178b ./gcc/ada/5uintman.adb -4009109831b ./gcc/ada/5uosinte.ads - 20834007b ./gcc/ada/5vasthan.adb -2828545983b ./gcc/ada/5vinmaop.adb - 757746642b ./gcc/ada/5vinterr.adb -3554377996b ./gcc/ada/5vintman.adb -4186329246b ./gcc/ada/5vintman.ads -1363122615b ./gcc/ada/5vmastop.adb -2126801266b ./gcc/ada/5vosinte.adb - 257481916b ./gcc/ada/5vosinte.ads -2697009894b ./gcc/ada/5vosprim.adb -3173364854b ./gcc/ada/5vosprim.ads -1485530536b ./gcc/ada/5vparame.ads - 477268412b ./gcc/ada/5vsystem.ads - 880665297b ./gcc/ada/5vtaprop.adb -2017768241b ./gcc/ada/5vtaspri.ads -1524831970b ./gcc/ada/5vtpopde.adb -2510422485b ./gcc/ada/5vtpopde.ads -1323493335b ./gcc/ada/5vvaflop.adb -2061622518b ./gcc/ada/5wgloloc.adb -2867255266b ./gcc/ada/5wintman.adb - 379035915b ./gcc/ada/5wmemory.adb -1635278585b ./gcc/ada/5wosinte.ads -2409163205b ./gcc/ada/5wosprim.adb - 478208583b ./gcc/ada/5wsystem.ads -3106892401b ./gcc/ada/5wtaprop.adb -4085824633b ./gcc/ada/5wtaspri.ads -3290324010b ./gcc/ada/5ysystem.ads - 218453075b ./gcc/ada/5zinterr.adb -2488090528b ./gcc/ada/5zintman.adb -3420496615b ./gcc/ada/5zosinte.adb - 217803163b ./gcc/ada/5zosinte.ads -2386679201b ./gcc/ada/5zosprim.adb -4153514169b ./gcc/ada/5zparame.ads -2955891758b ./gcc/ada/5zsystem.ads -1056290651b ./gcc/ada/5ztaprop.adb -2493859349b ./gcc/ada/6vcpp.adb -3764631364b ./gcc/ada/6vcstrea.adb -1298363378b ./gcc/ada/6vinterf.ads -4042684575b ./gcc/ada/7sinmaop.adb - 784835892b ./gcc/ada/7sintman.adb -3674994444b ./gcc/ada/7sosinte.adb -1201544504b ./gcc/ada/7sosprim.adb -2188892819b ./gcc/ada/7staprop.adb -2314536447b ./gcc/ada/7staspri.ads -2244813175b ./gcc/ada/7stpopsp.adb -1360717481b ./gcc/ada/7straceb.adb -1989930650b ./gcc/ada/86numaux.adb -4223067829b ./gcc/ada/86numaux.ads - 176063031b ./gcc/ada/9drpc.adb -1238937539b ./gcc/ada/a-astaco.adb -4160306902b ./gcc/ada/a-astaco.ads -1228169839b ./gcc/ada/a-caldel.adb -2176358398b ./gcc/ada/a-caldel.ads -3780985610b ./gcc/ada/a-calend.adb -3197442795b ./gcc/ada/a-calend.ads -1974463316b ./gcc/ada/a-chahan.adb -3292743834b ./gcc/ada/a-chahan.ads - 825575293b ./gcc/ada/a-charac.ads -3290669737b ./gcc/ada/a-chlat1.ads -4141698919b ./gcc/ada/a-colien.adb -1708206584b ./gcc/ada/a-colien.ads -2886731379b ./gcc/ada/a-colire.adb - 632756715b ./gcc/ada/a-colire.ads -4188471995b ./gcc/ada/a-comlin.adb -1346248274b ./gcc/ada/a-comlin.ads -3629140421b ./gcc/ada/a-cwila1.ads - 307313649b ./gcc/ada/ada.ads -4047226521b ./gcc/ada/ada.h - 885231182b ./gcc/ada/adaint.c -2846678559b ./gcc/ada/adaint.h - 512963659b ./gcc/ada/ada-tree.def - 804772500b ./gcc/ada/ada-tree.h -3138793590b ./gcc/ada/a-decima.adb -1463764551b ./gcc/ada/a-decima.ads -2965106267b ./gcc/ada/a-diocst.adb -1351302553b ./gcc/ada/a-diocst.ads -2204236254b ./gcc/ada/a-direio.adb -2663951086b ./gcc/ada/a-direio.ads -2899453035b ./gcc/ada/a-dynpri.adb -1808034404b ./gcc/ada/a-dynpri.ads -1930539183b ./gcc/ada/a-einuoc.adb -2923383870b ./gcc/ada/a-einuoc.ads -3811259854b ./gcc/ada/a-except.adb -4208405793b ./gcc/ada/a-except.ads -4151617553b ./gcc/ada/a-excpol.adb -1040381731b ./gcc/ada/a-exctra.adb - 87828562b ./gcc/ada/a-exctra.ads -2225675502b ./gcc/ada/a-filico.adb -3260597455b ./gcc/ada/a-filico.ads - 907923324b ./gcc/ada/a-finali.adb -3572535024b ./gcc/ada/a-finali.ads -2422945006b ./gcc/ada/a-flteio.ads -3013254494b ./gcc/ada/a-fwteio.ads -1706398574b ./gcc/ada/a-inteio.ads -2001069544b ./gcc/ada/a-interr.adb -2400554368b ./gcc/ada/a-interr.ads -3855829577b ./gcc/ada/a-intnam.ads -1774182036b ./gcc/ada/a-intsig.adb -2389005781b ./gcc/ada/a-intsig.ads -2978442327b ./gcc/ada/a-ioexce.ads -2820771598b ./gcc/ada/a-iwteio.ads -2695025338b ./gcc/ada/a-lfteio.ads - 68898824b ./gcc/ada/a-lfwtio.ads -1582815074b ./gcc/ada/ali.adb -1110656306b ./gcc/ada/ali.ads -3958947062b ./gcc/ada/a-liteio.ads -3701505690b ./gcc/ada/ali-util.adb - 534404399b ./gcc/ada/ali-util.ads -3989352502b ./gcc/ada/a-liwtio.ads - 706064852b ./gcc/ada/a-llftio.ads -1760483522b ./gcc/ada/a-llfwti.ads -1685529166b ./gcc/ada/a-llitio.ads -1092110807b ./gcc/ada/a-lliwti.ads -1648510288b ./gcc/ada/alloc.ads -3751218976b ./gcc/ada/a-ncelfu.ads -3307386742b ./gcc/ada/a-ngcefu.adb -3410028763b ./gcc/ada/a-ngcefu.ads -1098245021b ./gcc/ada/a-ngcoty.adb -3206810014b ./gcc/ada/a-ngcoty.ads -3316580416b ./gcc/ada/a-ngelfu.adb -3094594364b ./gcc/ada/a-ngelfu.ads - 238508204b ./gcc/ada/a-nlcefu.ads -4084493045b ./gcc/ada/a-nlcoty.ads -2627472219b ./gcc/ada/a-nlelfu.ads -4117474264b ./gcc/ada/a-nllcef.ads -2318923524b ./gcc/ada/a-nllcty.ads -2611968609b ./gcc/ada/a-nllefu.ads -1082074441b ./gcc/ada/a-nscefu.ads -3357121256b ./gcc/ada/a-nscoty.ads -3712559791b ./gcc/ada/a-nselfu.ads -1597516775b ./gcc/ada/a-nucoty.ads -1662364886b ./gcc/ada/a-nudira.adb -3453922662b ./gcc/ada/a-nudira.ads -4261702712b ./gcc/ada/a-nuelfu.ads -2981834359b ./gcc/ada/a-nuflra.adb - 197186767b ./gcc/ada/a-nuflra.ads -3913215245b ./gcc/ada/a-numaux.ads -1796312085b ./gcc/ada/a-numeri.ads -1699976913b ./gcc/ada/a-reatim.adb -2826402039b ./gcc/ada/a-reatim.ads -4184054556b ./gcc/ada/a-retide.adb -1321308146b ./gcc/ada/a-retide.ads - 151152579b ./gcc/ada/argv.c -4225555660b ./gcc/ada/a-sequio.adb -3093499209b ./gcc/ada/a-sequio.ads - 201813662b ./gcc/ada/a-sfteio.ads - 768813005b ./gcc/ada/a-sfwtio.ads -3107027497b ./gcc/ada/a-siocst.adb -4067781141b ./gcc/ada/a-siocst.ads -2998945311b ./gcc/ada/a-siteio.ads - 764480998b ./gcc/ada/a-siwtio.ads - 164767602b ./gcc/ada/a-ssicst.adb -2673543741b ./gcc/ada/a-ssicst.ads - 6703000b ./gcc/ada/a-ssitio.ads - 597839343b ./gcc/ada/a-ssiwti.ads - 358760311b ./gcc/ada/a-stmaco.ads -3991680331b ./gcc/ada/a-storio.adb -3996647403b ./gcc/ada/a-storio.ads - 850701758b ./gcc/ada/a-strbou.adb - 209100723b ./gcc/ada/a-strbou.ads -2712052749b ./gcc/ada/a-stream.ads -3445389326b ./gcc/ada/a-strfix.adb -2291830284b ./gcc/ada/a-strfix.ads -3358703553b ./gcc/ada/a-string.ads -1074484976b ./gcc/ada/a-strmap.adb -3962780233b ./gcc/ada/a-strmap.ads -2443268654b ./gcc/ada/a-strsea.adb - 294757473b ./gcc/ada/a-strsea.ads -1067561841b ./gcc/ada/a-strunb.adb -4156134282b ./gcc/ada/a-strunb.ads -4032395003b ./gcc/ada/a-ststio.adb -1884417935b ./gcc/ada/a-ststio.ads -3010897568b ./gcc/ada/a-stunau.adb -3715203779b ./gcc/ada/a-stunau.ads -2054174824b ./gcc/ada/a-stwibo.adb - 744358246b ./gcc/ada/a-stwibo.ads -3330826391b ./gcc/ada/a-stwifi.adb -2923302688b ./gcc/ada/a-stwifi.ads -3258659279b ./gcc/ada/a-stwima.adb -1429080954b ./gcc/ada/a-stwima.ads -1405535584b ./gcc/ada/a-stwise.adb -2375036092b ./gcc/ada/a-stwise.ads -3573494769b ./gcc/ada/a-stwiun.adb -4063750480b ./gcc/ada/a-stwiun.ads -1857462924b ./gcc/ada/a-suteio.adb - 988077225b ./gcc/ada/a-suteio.ads -3427083052b ./gcc/ada/a-swmwco.ads - 247624637b ./gcc/ada/a-swuwti.adb -1326104524b ./gcc/ada/a-swuwti.ads -3992727238b ./gcc/ada/a-sytaco.adb -4059971314b ./gcc/ada/a-sytaco.ads -2394326814b ./gcc/ada/a-tags.adb -3486033137b ./gcc/ada/a-tags.ads -1194894578b ./gcc/ada/a-tasatt.adb -2943432852b ./gcc/ada/a-tasatt.ads -2912651322b ./gcc/ada/a-taside.adb - 646153741b ./gcc/ada/a-taside.ads -3438800004b ./gcc/ada/a-teioed.adb -1748001536b ./gcc/ada/a-teioed.ads -1427379759b ./gcc/ada/a-textio.adb -1210750137b ./gcc/ada/a-textio.ads -1749119361b ./gcc/ada/a-ticoau.adb -2222697472b ./gcc/ada/a-ticoau.ads -1221231446b ./gcc/ada/a-ticoio.adb -1223874862b ./gcc/ada/a-ticoio.ads -4279581986b ./gcc/ada/a-tideau.adb - 434050393b ./gcc/ada/a-tideau.ads -2037256210b ./gcc/ada/a-tideio.adb -1718502310b ./gcc/ada/a-tideio.ads - 529543928b ./gcc/ada/a-tienau.adb -3941439160b ./gcc/ada/a-tienau.ads -3371851163b ./gcc/ada/a-tienio.adb -3974972174b ./gcc/ada/a-tienio.ads -4188977439b ./gcc/ada/a-tifiio.adb -1786065440b ./gcc/ada/a-tifiio.ads -3558731868b ./gcc/ada/a-tiflau.adb -1745997125b ./gcc/ada/a-tiflau.ads -1485143016b ./gcc/ada/a-tiflio.adb -3470894323b ./gcc/ada/a-tiflio.ads -3323143227b ./gcc/ada/a-tigeau.adb -1729452158b ./gcc/ada/a-tigeau.ads -3932871049b ./gcc/ada/a-tiinau.adb -2369391467b ./gcc/ada/a-tiinau.ads -1924191553b ./gcc/ada/a-tiinio.adb -2729601893b ./gcc/ada/a-tiinio.ads - 934261002b ./gcc/ada/a-timoau.adb -1113536362b ./gcc/ada/a-timoau.ads -4264051069b ./gcc/ada/a-timoio.adb - 805418156b ./gcc/ada/a-timoio.ads -3870116277b ./gcc/ada/a-tiocst.adb -1562031680b ./gcc/ada/a-tiocst.ads - 622798727b ./gcc/ada/a-titest.adb -1725647162b ./gcc/ada/a-titest.ads -2460925843b ./gcc/ada/atree.adb -1541614871b ./gcc/ada/atree.ads -1078226318b ./gcc/ada/atree.h - 278716747b ./gcc/ada/a-unccon.ads -1157859592b ./gcc/ada/a-uncdea.ads -3576417048b ./gcc/ada/a-witeio.adb -3179602980b ./gcc/ada/a-witeio.ads -3259356202b ./gcc/ada/a-wtcoau.adb -4157240054b ./gcc/ada/a-wtcoau.ads -2649721481b ./gcc/ada/a-wtcoio.adb -3041062214b ./gcc/ada/a-wtcoio.ads -2350995641b ./gcc/ada/a-wtcstr.adb -4151370387b ./gcc/ada/a-wtcstr.ads - 737993830b ./gcc/ada/a-wtdeau.adb -1297223500b ./gcc/ada/a-wtdeau.ads - 317498445b ./gcc/ada/a-wtdeio.adb -2698675362b ./gcc/ada/a-wtdeio.ads -1920359111b ./gcc/ada/a-wtedit.adb -4233035352b ./gcc/ada/a-wtedit.ads -3733610031b ./gcc/ada/a-wtenau.adb -1209649592b ./gcc/ada/a-wtenau.ads -1772371901b ./gcc/ada/a-wtenio.adb -3345087568b ./gcc/ada/a-wtenio.ads -3955231020b ./gcc/ada/a-wtfiio.adb -2966383122b ./gcc/ada/a-wtfiio.ads -3172802882b ./gcc/ada/a-wtflau.adb -2847914558b ./gcc/ada/a-wtflau.ads -1430031960b ./gcc/ada/a-wtflio.adb -3504471884b ./gcc/ada/a-wtflio.ads - 146615287b ./gcc/ada/a-wtgeau.adb -3202407425b ./gcc/ada/a-wtgeau.ads -1556046286b ./gcc/ada/a-wtinau.adb - 620705682b ./gcc/ada/a-wtinau.ads -3330610374b ./gcc/ada/a-wtinio.adb -1587983670b ./gcc/ada/a-wtinio.ads - 585816566b ./gcc/ada/a-wtmoau.adb -2360842842b ./gcc/ada/a-wtmoau.ads -2728837322b ./gcc/ada/a-wtmoio.adb - 994042627b ./gcc/ada/a-wtmoio.ads - 10193259b ./gcc/ada/a-wttest.adb -3792433389b ./gcc/ada/a-wttest.ads -3092527849b ./gcc/ada/back_end.adb - 477747165b ./gcc/ada/back_end.ads - 554760143b ./gcc/ada/bcheck.adb -1423149518b ./gcc/ada/bcheck.ads - 603483282b ./gcc/ada/binde.adb - 608595938b ./gcc/ada/binde.ads -3034016752b ./gcc/ada/binderr.adb - 861498600b ./gcc/ada/binderr.ads -3217748288b ./gcc/ada/bindgen.adb -3453434027b ./gcc/ada/bindgen.ads - 715016497b ./gcc/ada/bindusg.adb -2507691128b ./gcc/ada/bindusg.ads -1055153314b ./gcc/ada/butil.adb -2616385499b ./gcc/ada/butil.ads - 322199477b ./gcc/ada/cal.c -3874049157b ./gcc/ada/calendar.ads -3825818772b ./gcc/ada/casing.adb -2190810584b ./gcc/ada/casing.ads -3750437973b ./gcc/ada/ceinfo.adb -2529867828b ./gcc/ada/ChangeLog - 869185536b ./gcc/ada/checks.adb - 440073759b ./gcc/ada/checks.ads - 401488734b ./gcc/ada/cio.c -1870694279b ./gcc/ada/comperr.adb -1643780092b ./gcc/ada/comperr.ads -1676023100b ./gcc/ada/config-lang.in -3110809717b ./gcc/ada/csets.adb - 519863585b ./gcc/ada/csets.ads -1124381824b ./gcc/ada/csinfo.adb - 853889379b ./gcc/ada/cstand.adb - 276146343b ./gcc/ada/cstand.ads -1520807724b ./gcc/ada/cstreams.c -1822736202b ./gcc/ada/cuintp.c - 579009580b ./gcc/ada/debug_a.adb - 799315376b ./gcc/ada/debug_a.ads -2435692819b ./gcc/ada/debug.adb - 638126818b ./gcc/ada/debug.ads -1459266024b ./gcc/ada/dec.ads -3565371015b ./gcc/ada/dec-io.adb -2106947862b ./gcc/ada/dec-io.ads -2132162623b ./gcc/ada/decl.c -1390338918b ./gcc/ada/deftarg.c -1749835375b ./gcc/ada/directio.ads -2461185080b ./gcc/ada/einfo.adb -3725314637b ./gcc/ada/einfo.ads -1040486350b ./gcc/ada/einfo.h -3827088848b ./gcc/ada/elists.adb -2003740348b ./gcc/ada/elists.ads -1105190374b ./gcc/ada/elists.h - 204753916b ./gcc/ada/errno.c -4008402022b ./gcc/ada/errout.adb - 320928564b ./gcc/ada/errout.ads -2999271413b ./gcc/ada/eval_fat.adb -2463431696b ./gcc/ada/eval_fat.ads -3517544739b ./gcc/ada/exit.c -2311141325b ./gcc/ada/exp_aggr.adb -2860900195b ./gcc/ada/exp_aggr.ads -2681017510b ./gcc/ada/expander.adb -2575484225b ./gcc/ada/expander.ads -2455995554b ./gcc/ada/exp_attr.adb -2274665870b ./gcc/ada/exp_attr.ads -3788438274b ./gcc/ada/exp_ch10.ads -1959020568b ./gcc/ada/exp_ch11.adb -1356092263b ./gcc/ada/exp_ch11.ads -2662303632b ./gcc/ada/exp_ch12.adb -1677837106b ./gcc/ada/exp_ch12.ads -1201493881b ./gcc/ada/exp_ch13.adb -2523628624b ./gcc/ada/exp_ch13.ads -2836932963b ./gcc/ada/exp_ch2.adb -1920342641b ./gcc/ada/exp_ch2.ads -2780430528b ./gcc/ada/exp_ch3.adb -3277988254b ./gcc/ada/exp_ch3.ads - 423127048b ./gcc/ada/exp_ch4.adb - 630544925b ./gcc/ada/exp_ch4.ads -1300859159b ./gcc/ada/exp_ch5.adb -3884008715b ./gcc/ada/exp_ch5.ads -1421574227b ./gcc/ada/exp_ch6.adb -2978408620b ./gcc/ada/exp_ch6.ads -1516530505b ./gcc/ada/exp_ch7.adb -4029388464b ./gcc/ada/exp_ch7.ads - 806341254b ./gcc/ada/exp_ch8.adb -2493548378b ./gcc/ada/exp_ch8.ads - 947069359b ./gcc/ada/exp_ch9.adb -3130662329b ./gcc/ada/exp_ch9.ads -2689298271b ./gcc/ada/exp_code.adb -3591911170b ./gcc/ada/exp_code.ads -3574458760b ./gcc/ada/exp_dbug.adb -4105290806b ./gcc/ada/exp_dbug.ads -3835417459b ./gcc/ada/exp_disp.adb -1460989777b ./gcc/ada/exp_disp.ads -4152673151b ./gcc/ada/exp_dist.adb -2224744101b ./gcc/ada/exp_dist.ads - 196370175b ./gcc/ada/expect.c -2380394819b ./gcc/ada/exp_fixd.adb -2971633787b ./gcc/ada/exp_fixd.ads - 383808865b ./gcc/ada/exp_imgv.adb - 107414456b ./gcc/ada/exp_imgv.ads - 533490453b ./gcc/ada/exp_intr.adb - 603944530b ./gcc/ada/exp_intr.ads -1223570350b ./gcc/ada/exp_pakd.adb -3169217058b ./gcc/ada/exp_pakd.ads - 561903948b ./gcc/ada/exp_prag.adb -2726623065b ./gcc/ada/exp_prag.ads -2694622276b ./gcc/ada/exp_smem.adb -4102883600b ./gcc/ada/exp_smem.ads -3367849671b ./gcc/ada/exp_strm.adb - 508903407b ./gcc/ada/exp_strm.ads -4061285632b ./gcc/ada/exp_tss.adb - 802174414b ./gcc/ada/exp_tss.ads -4294889971b ./gcc/ada/exp_util.adb -2588841819b ./gcc/ada/exp_util.ads - 732650724b ./gcc/ada/exp_vfpt.adb -3158703166b ./gcc/ada/exp_vfpt.ads -3730235790b ./gcc/ada/fe.h - 742167588b ./gcc/ada/final.c -2410826795b ./gcc/ada/fmap.adb -1989849769b ./gcc/ada/fmap.ads -4193711832b ./gcc/ada/fname.adb -3581054847b ./gcc/ada/fname.ads -2554721004b ./gcc/ada/fname-sf.adb -3385587425b ./gcc/ada/fname-sf.ads - 152433494b ./gcc/ada/fname-uf.adb -2869979673b ./gcc/ada/fname-uf.ads - 165073793b ./gcc/ada/freeze.adb - 286956192b ./gcc/ada/freeze.ads - 146613934b ./gcc/ada/frontend.adb -1342421440b ./gcc/ada/frontend.ads -4158577973b ./gcc/ada/g-awk.adb - 609310253b ./gcc/ada/g-awk.ads - 606317350b ./gcc/ada/g-busora.adb -2327940372b ./gcc/ada/g-busora.ads - 614263783b ./gcc/ada/g-busorg.adb -2383765954b ./gcc/ada/g-busorg.ads -2310918787b ./gcc/ada/g-calend.adb - 775102218b ./gcc/ada/g-calend.ads -4188678555b ./gcc/ada/g-casuti.adb -1046751589b ./gcc/ada/g-casuti.ads -2508275788b ./gcc/ada/g-catiio.adb -1700304817b ./gcc/ada/g-catiio.ads - 153263812b ./gcc/ada/g-cgi.adb - 491501987b ./gcc/ada/g-cgi.ads -1552120806b ./gcc/ada/g-cgicoo.adb - 514376152b ./gcc/ada/g-cgicoo.ads -2079055740b ./gcc/ada/g-cgideb.adb -3073151229b ./gcc/ada/g-cgideb.ads -1337328080b ./gcc/ada/g-comlin.adb - 762947182b ./gcc/ada/g-comlin.ads -3063697563b ./gcc/ada/g-crc32.adb -4042174606b ./gcc/ada/g-crc32.ads - 123778282b ./gcc/ada/g-curexc.ads -1009530951b ./gcc/ada/g-debpoo.adb -2797049575b ./gcc/ada/g-debpoo.ads -2483821241b ./gcc/ada/g-debuti.adb -2759144883b ./gcc/ada/g-debuti.ads -1479126304b ./gcc/ada/g-diopit.adb -2613579847b ./gcc/ada/g-diopit.ads -1351705587b ./gcc/ada/g-dirope.adb -1843551212b ./gcc/ada/g-dirope.ads -2129456205b ./gcc/ada/g-dyntab.adb -2301313958b ./gcc/ada/g-dyntab.ads -2000619828b ./gcc/ada/get_targ.adb -4235434426b ./gcc/ada/get_targ.ads - 240250153b ./gcc/ada/g-except.ads - 311327188b ./gcc/ada/g-exctra.adb - 696104010b ./gcc/ada/g-exctra.ads -2021399770b ./gcc/ada/g-expect.adb -3670453648b ./gcc/ada/g-expect.ads - 115710627b ./gcc/ada/g-flocon.ads -1241285700b ./gcc/ada/g-hesora.adb -1954443348b ./gcc/ada/g-hesora.ads -2162133654b ./gcc/ada/g-hesorg.adb -1899093730b ./gcc/ada/g-hesorg.ads - 615231546b ./gcc/ada/g-htable.adb -1147404231b ./gcc/ada/g-htable.ads -3771528129b ./gcc/ada/gigi.h -4074378557b ./gcc/ada/g-io.adb -2059397144b ./gcc/ada/g-io.ads -3075502902b ./gcc/ada/g-io_aux.adb -2987271187b ./gcc/ada/g-io_aux.ads -2315560945b ./gcc/ada/g-locfil.adb -3845793000b ./gcc/ada/g-locfil.ads -3781796779b ./gcc/ada/gmem.c -2382601227b ./gcc/ada/g-moreex.adb -1324668450b ./gcc/ada/g-moreex.ads -3331018174b ./gcc/ada/gnat1drv.adb -1236781124b ./gcc/ada/gnat1drv.ads -3338432106b ./gcc/ada/gnat.ads -2299667202b ./gcc/ada/gnatbind.adb - 104731427b ./gcc/ada/gnatbind.ads -4059170038b ./gcc/ada/gnatbl.c -3226234054b ./gcc/ada/gnatchop.adb -3118972477b ./gcc/ada/gnatcmd.adb -3908617844b ./gcc/ada/gnatcmd.ads -2796597452b ./gcc/ada/gnatdll.adb -1086468102b ./gcc/ada/gnatfind.adb -3373987329b ./gcc/ada/gnatkr.adb -3373093353b ./gcc/ada/gnatkr.ads - 616714676b ./gcc/ada/gnatlbr.adb -2504670692b ./gcc/ada/gnatlink.adb -2544717462b ./gcc/ada/gnatlink.ads -4282914717b ./gcc/ada/gnatls.adb -1758666063b ./gcc/ada/gnatls.ads -1542183559b ./gcc/ada/gnatmain.adb -3283765307b ./gcc/ada/gnatmain.ads -2033004516b ./gcc/ada/gnatmake.adb - 145840748b ./gcc/ada/gnatmake.ads -1758767486b ./gcc/ada/gnatmem.adb -2813528580b ./gcc/ada/gnatprep.adb -2835105488b ./gcc/ada/gnatprep.ads -3865862564b ./gcc/ada/gnatpsta.adb -3829654473b ./gcc/ada/gnatpsys.adb -2787179765b ./gcc/ada/gnat_rm.texi -1099903949b ./gcc/ada/gnat-style.texi -3866519797b ./gcc/ada/gnat_ug.texi -2880471508b ./gcc/ada/gnatvsn.ads -2692053620b ./gcc/ada/gnatxref.adb -1804647254b ./gcc/ada/g-os_lib.adb -3221085683b ./gcc/ada/g-os_lib.ads -1185528967b ./gcc/ada/g-regexp.adb -1629361223b ./gcc/ada/g-regexp.ads -3390523966b ./gcc/ada/g-regist.adb -3208719885b ./gcc/ada/g-regist.ads -1577468709b ./gcc/ada/g-regpat.adb - 582026880b ./gcc/ada/g-regpat.ads -2451205314b ./gcc/ada/g-soccon.ads -2575242004b ./gcc/ada/g-socket.adb -1535656165b ./gcc/ada/g-socket.ads -2293859502b ./gcc/ada/g-socthi.adb - 651912058b ./gcc/ada/g-socthi.ads -3350030780b ./gcc/ada/g-soliop.ads - 758288908b ./gcc/ada/g-souinf.ads - 581975334b ./gcc/ada/g-speche.adb -2314638139b ./gcc/ada/g-speche.ads -2855842118b ./gcc/ada/g-spipat.adb - 791106872b ./gcc/ada/g-spipat.ads -3318271323b ./gcc/ada/g-spitbo.adb - 605302019b ./gcc/ada/g-spitbo.ads -2302115365b ./gcc/ada/g-sptabo.ads - 795251741b ./gcc/ada/g-sptain.ads -2860049437b ./gcc/ada/g-sptavs.ads -2522673043b ./gcc/ada/g-table.adb -4247473857b ./gcc/ada/g-table.ads - 963828728b ./gcc/ada/g-tasloc.adb -3443589956b ./gcc/ada/g-tasloc.ads -4222037032b ./gcc/ada/g-thread.adb -2926605455b ./gcc/ada/g-thread.ads -1214503882b ./gcc/ada/g-traceb.adb -3641101501b ./gcc/ada/g-traceb.ads -4093206552b ./gcc/ada/g-trasym.adb - 344030511b ./gcc/ada/g-trasym.ads - 577038397b ./gcc/ada/hlo.adb - 991320325b ./gcc/ada/hlo.ads -1962035170b ./gcc/ada/hostparm.ads -2031335613b ./gcc/ada/i-c.adb -1630163220b ./gcc/ada/i-c.ads -1541946831b ./gcc/ada/i-cexten.ads -3090969270b ./gcc/ada/i-cobol.adb -2496712247b ./gcc/ada/i-cobol.ads -2325074871b ./gcc/ada/i-cpoint.adb -1699793483b ./gcc/ada/i-cpoint.ads - 214865019b ./gcc/ada/i-cpp.adb -2912941503b ./gcc/ada/i-cpp.ads -3140439521b ./gcc/ada/i-cstrea.adb -1842827516b ./gcc/ada/i-cstrea.ads -1294230726b ./gcc/ada/i-cstrin.adb -3630365631b ./gcc/ada/i-cstrin.ads -3233154322b ./gcc/ada/i-fortra.adb -3862297824b ./gcc/ada/i-fortra.ads -2205213686b ./gcc/ada/impunit.adb -3867557683b ./gcc/ada/impunit.ads -1455106367b ./gcc/ada/init.c -2729724075b ./gcc/ada/inline.adb - 409617942b ./gcc/ada/inline.ads -2710275605b ./gcc/ada/interfac.ads - 304019218b ./gcc/ada/io-aux.c - 182695114b ./gcc/ada/ioexcept.ads -2660299838b ./gcc/ada/i-os2err.ads -1001031450b ./gcc/ada/i-os2lib.adb -3863909326b ./gcc/ada/i-os2lib.ads -2629699505b ./gcc/ada/i-os2syn.ads -2757162007b ./gcc/ada/i-os2thr.ads - 10095810b ./gcc/ada/i-pacdec.adb -4204365106b ./gcc/ada/i-pacdec.ads -3730121014b ./gcc/ada/itypes.adb -1791965281b ./gcc/ada/itypes.ads -2079820695b ./gcc/ada/i-vxwork.ads -1636222037b ./gcc/ada/krunch.adb -3193149413b ./gcc/ada/krunch.ads -3877739435b ./gcc/ada/lang-options.h -2419758820b ./gcc/ada/lang-specs.h - 731292528b ./gcc/ada/layout.adb -2930468142b ./gcc/ada/layout.ads -1029825782b ./gcc/ada/lib.adb -1122008701b ./gcc/ada/lib.ads -3615838165b ./gcc/ada/lib-list.adb - 13730108b ./gcc/ada/lib-load.adb -2583052213b ./gcc/ada/lib-load.ads -1127145456b ./gcc/ada/lib-sort.adb -1302172495b ./gcc/ada/lib-util.adb -1970877184b ./gcc/ada/lib-util.ads -1719338144b ./gcc/ada/lib-writ.adb -3384492892b ./gcc/ada/lib-writ.ads -1654030036b ./gcc/ada/lib-xref.adb -2167962937b ./gcc/ada/lib-xref.ads -3576767122b ./gcc/ada/link.c -1382287720b ./gcc/ada/live.adb - 241788297b ./gcc/ada/live.ads -2349274909b ./gcc/ada/machcode.ads -1702260548b ./gcc/ada/make.adb -3505443302b ./gcc/ada/make.ads - 82447397b ./gcc/ada/Makefile.adalib -2651233511b ./gcc/ada/Makefile.in -1732491936b ./gcc/ada/Make-lang.in -2073972201b ./gcc/ada/makeusg.adb -2946385998b ./gcc/ada/makeusg.ads -1369191481b ./gcc/ada/math_lib.adb -3431850830b ./gcc/ada/mdll.adb -3403824619b ./gcc/ada/mdll.ads - 63072210b ./gcc/ada/mdllfile.adb -1377024247b ./gcc/ada/mdllfile.ads - 271650509b ./gcc/ada/mdlltool.adb -3822656791b ./gcc/ada/mdlltool.ads -2562707248b ./gcc/ada/memroot.adb -3394187078b ./gcc/ada/memroot.ads -3285031453b ./gcc/ada/memtrack.adb -2151760376b ./gcc/ada/misc.c -2389340576b ./gcc/ada/mlib.adb -3760284379b ./gcc/ada/mlib.ads -3038778953b ./gcc/ada/mlib-fil.adb -1806810212b ./gcc/ada/mlib-fil.ads - 222091384b ./gcc/ada/mlib-prj.adb -2968654783b ./gcc/ada/mlib-prj.ads - 882896001b ./gcc/ada/mlib-tgt.adb -3995257659b ./gcc/ada/mlib-tgt.ads - 557486163b ./gcc/ada/mlib-utl.adb -3132611148b ./gcc/ada/mlib-utl.ads -2192832241b ./gcc/ada/namet.adb -4115408171b ./gcc/ada/namet.ads -1021113274b ./gcc/ada/namet.h -2786583125b ./gcc/ada/nlists.adb -3207616321b ./gcc/ada/nlists.ads -4207230567b ./gcc/ada/nlists.h -1668172920b ./gcc/ada/nmake.adb -3530016949b ./gcc/ada/nmake.ads - 810039548b ./gcc/ada/nmake.adt - 603482997b ./gcc/ada/opt.adb - 272528391b ./gcc/ada/opt.ads - 757957959b ./gcc/ada/osint.adb - 124998996b ./gcc/ada/osint.ads -1444051127b ./gcc/ada/output.adb -4192286483b ./gcc/ada/output.ads - 667325059b ./gcc/ada/par.adb - 890918457b ./gcc/ada/par.ads - 286171607b ./gcc/ada/par-ch10.adb - 82263454b ./gcc/ada/par-ch11.adb - 977429014b ./gcc/ada/par-ch12.adb -1605568863b ./gcc/ada/par-ch13.adb -2759284176b ./gcc/ada/par-ch2.adb -3744247741b ./gcc/ada/par-ch3.adb -2502332261b ./gcc/ada/par-ch4.adb -2508708623b ./gcc/ada/par-ch5.adb -3460173897b ./gcc/ada/par-ch6.adb -2558917702b ./gcc/ada/par-ch7.adb -1991687801b ./gcc/ada/par-ch8.adb -2902683544b ./gcc/ada/par-ch9.adb -1736379569b ./gcc/ada/par-endh.adb -2386370437b ./gcc/ada/par-labl.adb -2191110385b ./gcc/ada/par-load.adb -3989665290b ./gcc/ada/par-prag.adb -2061902000b ./gcc/ada/par-sync.adb -3034220935b ./gcc/ada/par-tchk.adb - 435842982b ./gcc/ada/par-util.adb -2681846287b ./gcc/ada/prj.adb -2159508649b ./gcc/ada/prj.ads - 769972278b ./gcc/ada/prj-attr.adb -1517107046b ./gcc/ada/prj-attr.ads -2579476649b ./gcc/ada/prj-com.adb -4188434019b ./gcc/ada/prj-com.ads -1445752564b ./gcc/ada/prj-dect.adb -2054972414b ./gcc/ada/prj-dect.ads -2978271615b ./gcc/ada/prj-env.adb -3039443255b ./gcc/ada/prj-env.ads -2914671733b ./gcc/ada/prj-ext.adb -2463218682b ./gcc/ada/prj-ext.ads -2361570952b ./gcc/ada/prj-nmsc.adb -1462185546b ./gcc/ada/prj-nmsc.ads -1324893907b ./gcc/ada/prj-pars.adb -1278172108b ./gcc/ada/prj-pars.ads -3627484519b ./gcc/ada/prj-part.adb -3249280050b ./gcc/ada/prj-part.ads -4152265411b ./gcc/ada/prj-proc.adb -2864536023b ./gcc/ada/prj-proc.ads -3885810048b ./gcc/ada/prj-strt.adb - 463253586b ./gcc/ada/prj-strt.ads -2752403718b ./gcc/ada/prj-tree.adb -4172539515b ./gcc/ada/prj-tree.ads - 195833379b ./gcc/ada/prj-util.adb -2190751868b ./gcc/ada/prj-util.ads -1173868787b ./gcc/ada/raise.c - 137228817b ./gcc/ada/raise.h -2480259783b ./gcc/ada/repinfo.adb - 638755227b ./gcc/ada/repinfo.ads -3072671705b ./gcc/ada/repinfo.h -1399693331b ./gcc/ada/restrict.adb -2826035214b ./gcc/ada/restrict.ads -1958872377b ./gcc/ada/rident.ads - 685615765b ./gcc/ada/rtsfind.adb - 944636897b ./gcc/ada/rtsfind.ads -2934207681b ./gcc/ada/s-addima.adb -2921793700b ./gcc/ada/s-addima.ads -3133788426b ./gcc/ada/s-arit64.adb - 139066661b ./gcc/ada/s-arit64.ads -2146399349b ./gcc/ada/s-assert.adb -2467675233b ./gcc/ada/s-assert.ads -2471473947b ./gcc/ada/s-asthan.adb -1425755957b ./gcc/ada/s-asthan.ads -3345093947b ./gcc/ada/s-atacco.adb - 274791225b ./gcc/ada/s-atacco.ads -1268162914b ./gcc/ada/s-auxdec.adb -3265586513b ./gcc/ada/s-auxdec.ads -1722353021b ./gcc/ada/s-bitops.adb -2501304200b ./gcc/ada/s-bitops.ads - 468056045b ./gcc/ada/scans.adb - 815846534b ./gcc/ada/scans.ads - 368971619b ./gcc/ada/s-chepoo.ads -2107362337b ./gcc/ada/scn.adb - 643548576b ./gcc/ada/scn.ads -3089102575b ./gcc/ada/scn-nlit.adb -4137585658b ./gcc/ada/scn-slit.adb -2083911466b ./gcc/ada/s-crc32.adb -3182978663b ./gcc/ada/s-crc32.ads -1550561834b ./gcc/ada/sdefault.ads - 353869099b ./gcc/ada/s-direio.adb - 309988644b ./gcc/ada/s-direio.ads -3951057432b ./gcc/ada/sem.adb -1409686204b ./gcc/ada/sem.ads - 666790856b ./gcc/ada/sem_aggr.adb - 526541988b ./gcc/ada/sem_aggr.ads -3591099921b ./gcc/ada/sem_attr.adb -2192022517b ./gcc/ada/sem_attr.ads -2483089446b ./gcc/ada/sem_case.adb -1285698743b ./gcc/ada/sem_case.ads -3650211808b ./gcc/ada/sem_cat.adb -2960627583b ./gcc/ada/sem_cat.ads -3310159843b ./gcc/ada/sem_ch10.adb -1481985747b ./gcc/ada/sem_ch10.ads -4010667392b ./gcc/ada/sem_ch11.adb -1735222025b ./gcc/ada/sem_ch11.ads - 248848194b ./gcc/ada/sem_ch12.adb - 997879767b ./gcc/ada/sem_ch12.ads -2493455042b ./gcc/ada/sem_ch13.adb -3760013065b ./gcc/ada/sem_ch13.ads -1035453033b ./gcc/ada/sem_ch2.adb -2925796260b ./gcc/ada/sem_ch2.ads - 256651025b ./gcc/ada/sem_ch3.adb -3506394288b ./gcc/ada/sem_ch3.ads -3342506445b ./gcc/ada/sem_ch4.adb -3161721114b ./gcc/ada/sem_ch4.ads - 425430463b ./gcc/ada/sem_ch5.adb - 921448714b ./gcc/ada/sem_ch5.ads -3940967835b ./gcc/ada/sem_ch6.adb -3617379945b ./gcc/ada/sem_ch6.ads - 806087534b ./gcc/ada/sem_ch7.adb -2229285886b ./gcc/ada/sem_ch7.ads -2675641382b ./gcc/ada/sem_ch8.adb - 414296948b ./gcc/ada/sem_ch8.ads -2226149000b ./gcc/ada/sem_ch9.adb -2313393680b ./gcc/ada/sem_ch9.ads -2789952266b ./gcc/ada/sem_disp.adb -1522627489b ./gcc/ada/sem_disp.ads - 705974316b ./gcc/ada/sem_dist.adb -1442557709b ./gcc/ada/sem_dist.ads -2065925155b ./gcc/ada/sem_elab.adb - 618332011b ./gcc/ada/sem_elab.ads -2796522258b ./gcc/ada/sem_elim.adb -4083559357b ./gcc/ada/sem_elim.ads -2582716150b ./gcc/ada/sem_eval.adb -1067144441b ./gcc/ada/sem_eval.ads -2566870177b ./gcc/ada/sem_intr.adb -4270264978b ./gcc/ada/sem_intr.ads - 626970173b ./gcc/ada/sem_maps.adb -2624950393b ./gcc/ada/sem_maps.ads -2004945865b ./gcc/ada/sem_mech.adb - 727986888b ./gcc/ada/sem_mech.ads - 211861215b ./gcc/ada/sem_prag.adb - 692139933b ./gcc/ada/sem_prag.ads -1680274646b ./gcc/ada/sem_res.adb -4223338214b ./gcc/ada/sem_res.ads -1966095667b ./gcc/ada/sem_smem.adb -3543394119b ./gcc/ada/sem_smem.ads - 54838574b ./gcc/ada/sem_type.adb -1083645285b ./gcc/ada/sem_type.ads -3315098834b ./gcc/ada/sem_util.adb -3071381257b ./gcc/ada/sem_util.ads - 512361512b ./gcc/ada/sem_vfpt.adb -2796693707b ./gcc/ada/sem_vfpt.ads -4155489467b ./gcc/ada/sem_warn.adb -2670991982b ./gcc/ada/sem_warn.ads -1802605744b ./gcc/ada/sequenio.ads -2211683422b ./gcc/ada/s-errrep.adb -1186812435b ./gcc/ada/s-errrep.ads - 561621508b ./gcc/ada/s-except.ads - 7350293b ./gcc/ada/s-exctab.adb -1119186265b ./gcc/ada/s-exctab.ads - 622864413b ./gcc/ada/s-exnflt.ads -1352415346b ./gcc/ada/s-exngen.adb -2596541002b ./gcc/ada/s-exngen.ads -3390809287b ./gcc/ada/s-exnint.ads -4092255620b ./gcc/ada/s-exnlfl.ads -1474028514b ./gcc/ada/s-exnlin.ads -3994054006b ./gcc/ada/s-exnllf.ads -2680813188b ./gcc/ada/s-exnlli.ads -1172996611b ./gcc/ada/s-exnsfl.ads -2557413106b ./gcc/ada/s-exnsin.ads -2820344349b ./gcc/ada/s-exnssi.ads -4059331373b ./gcc/ada/s-expflt.ads -3105649102b ./gcc/ada/s-expgen.adb -4177327143b ./gcc/ada/s-expgen.ads -2038272825b ./gcc/ada/s-expint.ads -2921280512b ./gcc/ada/s-explfl.ads -3409169717b ./gcc/ada/s-explin.ads -1559471549b ./gcc/ada/s-expllf.ads - 361819024b ./gcc/ada/s-explli.ads -1136797591b ./gcc/ada/s-expllu.adb -1070447422b ./gcc/ada/s-expllu.ads -3783588084b ./gcc/ada/s-expmod.adb -1306565465b ./gcc/ada/s-expmod.ads -1935872355b ./gcc/ada/s-expsfl.ads - 693874826b ./gcc/ada/s-expsin.ads -3200711015b ./gcc/ada/s-expssi.ads - 423463208b ./gcc/ada/s-expuns.adb -1226202999b ./gcc/ada/s-expuns.ads -3596082207b ./gcc/ada/s-fatflt.ads - 152336698b ./gcc/ada/s-fatgen.adb -3452704907b ./gcc/ada/s-fatgen.ads - 518796998b ./gcc/ada/s-fatlfl.ads - 177868014b ./gcc/ada/s-fatllf.ads -1844976187b ./gcc/ada/s-fatsfl.ads -2030917946b ./gcc/ada/s-ficobl.ads -3604265630b ./gcc/ada/s-fileio.adb -1245988519b ./gcc/ada/s-fileio.ads -3998800077b ./gcc/ada/s-finimp.adb - 348300428b ./gcc/ada/s-finimp.ads -3256667434b ./gcc/ada/s-finroo.adb -3539088082b ./gcc/ada/s-finroo.ads -2389974990b ./gcc/ada/sfn_scan.adb -2382113394b ./gcc/ada/sfn_scan.ads -1543367984b ./gcc/ada/s-fore.adb -2136160505b ./gcc/ada/s-fore.ads -1724896850b ./gcc/ada/s-gloloc.adb -2874263872b ./gcc/ada/s-gloloc.ads -2576558599b ./gcc/ada/s-imgbiu.adb - 485571853b ./gcc/ada/s-imgbiu.ads -2696391467b ./gcc/ada/s-imgboo.adb - 562529842b ./gcc/ada/s-imgboo.ads -3469875082b ./gcc/ada/s-imgcha.adb - 768667588b ./gcc/ada/s-imgcha.ads - 891425892b ./gcc/ada/s-imgdec.adb -3956162567b ./gcc/ada/s-imgdec.ads - 799265416b ./gcc/ada/s-imgenu.adb -3206640093b ./gcc/ada/s-imgenu.ads -1232841808b ./gcc/ada/s-imgint.adb -1884481077b ./gcc/ada/s-imgint.ads -2589338037b ./gcc/ada/s-imgllb.adb - 952054489b ./gcc/ada/s-imgllb.ads -3511505943b ./gcc/ada/s-imglld.adb -3728427327b ./gcc/ada/s-imglld.ads - 710546980b ./gcc/ada/s-imglli.adb -3496934828b ./gcc/ada/s-imglli.ads -2026551128b ./gcc/ada/s-imgllu.adb - 898533582b ./gcc/ada/s-imgllu.ads -2093598044b ./gcc/ada/s-imgllw.adb -1635490829b ./gcc/ada/s-imgllw.ads - 771945696b ./gcc/ada/s-imgrea.adb -3266140221b ./gcc/ada/s-imgrea.ads - 783564063b ./gcc/ada/s-imguns.adb - 550522958b ./gcc/ada/s-imguns.ads -1103898200b ./gcc/ada/s-imgwch.adb - 306032126b ./gcc/ada/s-imgwch.ads -1632744438b ./gcc/ada/s-imgwiu.adb -3186715504b ./gcc/ada/s-imgwiu.ads -1405497043b ./gcc/ada/sinfo.adb - 267608903b ./gcc/ada/sinfo.ads -2547960021b ./gcc/ada/sinfo-cn.adb - 528396316b ./gcc/ada/sinfo-cn.ads -4211174202b ./gcc/ada/sinfo.h -2491143860b ./gcc/ada/s-inmaop.ads -3969757742b ./gcc/ada/sinput.adb -2051669844b ./gcc/ada/sinput.ads - 318075408b ./gcc/ada/sinput-l.adb -4161724197b ./gcc/ada/sinput-l.ads -2486137427b ./gcc/ada/sinput-p.adb -4179659691b ./gcc/ada/sinput-p.ads - 642329874b ./gcc/ada/s-interr.adb -2363118667b ./gcc/ada/s-interr.ads -3439464760b ./gcc/ada/s-intman.ads -3081896815b ./gcc/ada/s-io.adb -2704983298b ./gcc/ada/s-io.ads -4266387665b ./gcc/ada/s-maccod.ads - 697475233b ./gcc/ada/s-mantis.adb -3382852588b ./gcc/ada/s-mantis.ads -2497788184b ./gcc/ada/s-mastop.adb - 412040989b ./gcc/ada/s-mastop.ads -4056300803b ./gcc/ada/s-memory.adb - 436917678b ./gcc/ada/s-memory.ads -3972943832b ./gcc/ada/snames.adb -2711732664b ./gcc/ada/snames.ads - 95357118b ./gcc/ada/snames.h - 915988587b ./gcc/ada/s-osprim.ads -1785995040b ./gcc/ada/s-pack03.adb -1159696143b ./gcc/ada/s-pack03.ads -4006352481b ./gcc/ada/s-pack05.adb - 943301033b ./gcc/ada/s-pack05.ads -2948914699b ./gcc/ada/s-pack06.adb -1761489706b ./gcc/ada/s-pack06.ads -2460225886b ./gcc/ada/s-pack07.adb -1527563558b ./gcc/ada/s-pack07.ads -1020068514b ./gcc/ada/s-pack09.adb -2851601610b ./gcc/ada/s-pack09.ads -3981484000b ./gcc/ada/s-pack10.adb -4110961926b ./gcc/ada/s-pack10.ads -3243254137b ./gcc/ada/s-pack11.adb - 650802763b ./gcc/ada/s-pack11.ads -3544834485b ./gcc/ada/s-pack12.adb -1524517676b ./gcc/ada/s-pack12.ads -3174573638b ./gcc/ada/s-pack13.adb -1859524441b ./gcc/ada/s-pack13.ads -2439144266b ./gcc/ada/s-pack14.adb - 34461279b ./gcc/ada/s-pack14.ads - 964701959b ./gcc/ada/s-pack15.adb -3069359215b ./gcc/ada/s-pack15.ads -1172842552b ./gcc/ada/s-pack17.adb -4277065085b ./gcc/ada/s-pack17.ads - 355821236b ./gcc/ada/s-pack18.adb - 667115373b ./gcc/ada/s-pack18.ads -3951115204b ./gcc/ada/s-pack19.adb -3721065538b ./gcc/ada/s-pack19.ads -3968916188b ./gcc/ada/s-pack20.adb -1519291685b ./gcc/ada/s-pack20.ads -1677028498b ./gcc/ada/s-pack21.adb -2507237065b ./gcc/ada/s-pack21.ads -3532235913b ./gcc/ada/s-pack22.adb -4116220687b ./gcc/ada/s-pack22.ads - 530410413b ./gcc/ada/s-pack23.adb -3714910171b ./gcc/ada/s-pack23.ads -2426545782b ./gcc/ada/s-pack24.adb -3730016048b ./gcc/ada/s-pack24.ads -2602918636b ./gcc/ada/s-pack25.adb - 88712429b ./gcc/ada/s-pack25.ads -2931513379b ./gcc/ada/s-pack26.adb -1904574746b ./gcc/ada/s-pack26.ads -3880609235b ./gcc/ada/s-pack27.adb -1297466879b ./gcc/ada/s-pack27.ads - 351609736b ./gcc/ada/s-pack28.adb -2286264142b ./gcc/ada/s-pack28.ads -1227126319b ./gcc/ada/s-pack29.adb -1852957888b ./gcc/ada/s-pack29.ads -3962509768b ./gcc/ada/s-pack30.adb -1072902852b ./gcc/ada/s-pack30.ads -3032045044b ./gcc/ada/s-pack31.adb -4226258615b ./gcc/ada/s-pack31.ads -3369161419b ./gcc/ada/s-pack33.adb -3019634597b ./gcc/ada/s-pack33.ads -2417878370b ./gcc/ada/s-pack34.adb -3140368593b ./gcc/ada/s-pack34.ads -1281973130b ./gcc/ada/s-pack35.adb -1809798291b ./gcc/ada/s-pack35.ads -2919537463b ./gcc/ada/s-pack36.adb - 351813371b ./gcc/ada/s-pack36.ads - 805395637b ./gcc/ada/s-pack37.adb - 599995777b ./gcc/ada/s-pack37.ads - 340451484b ./gcc/ada/s-pack38.adb -3979878575b ./gcc/ada/s-pack38.ads -2657636169b ./gcc/ada/s-pack39.adb - 15144126b ./gcc/ada/s-pack39.ads -4010823844b ./gcc/ada/s-pack40.adb -3740404514b ./gcc/ada/s-pack40.ads -4258197765b ./gcc/ada/s-pack41.adb - 695615884b ./gcc/ada/s-pack41.ads -3507039985b ./gcc/ada/s-pack42.adb -1898188040b ./gcc/ada/s-pack42.ads -2175202874b ./gcc/ada/s-pack43.adb -1634345118b ./gcc/ada/s-pack43.ads -2468523022b ./gcc/ada/s-pack44.adb -1513029943b ./gcc/ada/s-pack44.ads - 85917563b ./gcc/ada/s-pack45.adb -3108930472b ./gcc/ada/s-pack45.ads -2906378843b ./gcc/ada/s-pack46.adb -4126738205b ./gcc/ada/s-pack46.ads -2037839940b ./gcc/ada/s-pack47.adb -4048741050b ./gcc/ada/s-pack47.ads - 393587184b ./gcc/ada/s-pack48.adb - 205068617b ./gcc/ada/s-pack48.ads -3609193400b ./gcc/ada/s-pack49.adb -3530998661b ./gcc/ada/s-pack49.ads -4021261232b ./gcc/ada/s-pack50.adb -3146757315b ./gcc/ada/s-pack50.ads - 713214051b ./gcc/ada/s-pack51.adb -1205907954b ./gcc/ada/s-pack51.ads -3518426597b ./gcc/ada/s-pack52.adb - 341422825b ./gcc/ada/s-pack52.ads -1458229084b ./gcc/ada/s-pack53.adb - 268226784b ./gcc/ada/s-pack53.ads -2476568346b ./gcc/ada/s-pack54.adb -1062387414b ./gcc/ada/s-pack54.ads -3528640029b ./gcc/ada/s-pack55.adb -3621286870b ./gcc/ada/s-pack55.ads -2911113551b ./gcc/ada/s-pack56.adb -2424617212b ./gcc/ada/s-pack56.ads -2923086114b ./gcc/ada/s-pack57.adb -2680427204b ./gcc/ada/s-pack57.ads - 399141604b ./gcc/ada/s-pack58.adb -1766106792b ./gcc/ada/s-pack58.ads - 5493470b ./gcc/ada/s-pack59.adb -3168809979b ./gcc/ada/s-pack59.ads -4000306828b ./gcc/ada/s-pack60.adb - 336164064b ./gcc/ada/s-pack60.ads -2284291464b ./gcc/ada/s-pack61.adb -4099645808b ./gcc/ada/s-pack61.ads -3497437401b ./gcc/ada/s-pack62.adb -3151983306b ./gcc/ada/s-pack62.ads -4098851511b ./gcc/ada/s-pack63.adb -3158818914b ./gcc/ada/s-pack63.ads -4185842302b ./gcc/ada/s-parame.adb -1016134734b ./gcc/ada/s-parame.ads -1616379944b ./gcc/ada/s-parint.adb - 93334734b ./gcc/ada/s-parint.ads - 985076593b ./gcc/ada/s-pooglo.adb -3631327025b ./gcc/ada/s-pooglo.ads -2411088466b ./gcc/ada/s-pooloc.adb -1220335642b ./gcc/ada/s-pooloc.ads -1276581093b ./gcc/ada/s-poosiz.adb -2771854951b ./gcc/ada/s-poosiz.ads -2369419157b ./gcc/ada/s-powtab.ads -3261788857b ./gcc/ada/sprint.adb -1590570499b ./gcc/ada/sprint.ads -4071092937b ./gcc/ada/s-proinf.adb - 416511513b ./gcc/ada/s-proinf.ads -2266850977b ./gcc/ada/s-rpc.adb -4275658188b ./gcc/ada/s-rpc.ads -3513640423b ./gcc/ada/s-scaval.ads -2621428416b ./gcc/ada/s-secsta.adb -2345034983b ./gcc/ada/s-secsta.ads -4240948929b ./gcc/ada/s-sequio.adb - 382868367b ./gcc/ada/s-sequio.ads -3744646875b ./gcc/ada/s-shasto.adb -3750666269b ./gcc/ada/s-shasto.ads -2184182802b ./gcc/ada/s-soflin.adb -4106853306b ./gcc/ada/s-soflin.ads -2959161428b ./gcc/ada/s-sopco3.adb - 104891649b ./gcc/ada/s-sopco3.ads -4175442594b ./gcc/ada/s-sopco4.adb -3936975251b ./gcc/ada/s-sopco4.ads - 291408130b ./gcc/ada/s-sopco5.adb - 812118675b ./gcc/ada/s-sopco5.ads -1796793007b ./gcc/ada/s-stache.adb -2789527219b ./gcc/ada/s-stache.ads -1537964372b ./gcc/ada/s-stalib.adb -3115651505b ./gcc/ada/s-stalib.ads - 432471810b ./gcc/ada/s-stoele.adb -1360919545b ./gcc/ada/s-stoele.ads -2052345399b ./gcc/ada/s-stopoo.ads -1633760278b ./gcc/ada/s-stratt.adb -1417791298b ./gcc/ada/s-stratt.ads -1686965279b ./gcc/ada/s-strops.adb -4252576344b ./gcc/ada/s-strops.ads -2532586131b ./gcc/ada/s-taasde.adb -2453532957b ./gcc/ada/s-taasde.ads - 828130019b ./gcc/ada/s-tadeca.adb -1076421306b ./gcc/ada/s-tadeca.ads -1301221686b ./gcc/ada/s-tadert.adb - 789036441b ./gcc/ada/s-tadert.ads - 630027435b ./gcc/ada/s-taenca.adb -2587539578b ./gcc/ada/s-taenca.ads -4203205869b ./gcc/ada/stand.adb -3916070949b ./gcc/ada/stand.ads -2632590584b ./gcc/ada/s-taprob.adb -4128031181b ./gcc/ada/s-taprob.ads -1400440071b ./gcc/ada/s-taprop.ads - 177921966b ./gcc/ada/s-tarest.adb -4066847638b ./gcc/ada/s-tarest.ads -1991438887b ./gcc/ada/s-tasdeb.adb -2613803021b ./gcc/ada/s-tasdeb.ads -4020918264b ./gcc/ada/s-tasinf.adb -1668935870b ./gcc/ada/s-tasinf.ads -2945140891b ./gcc/ada/s-tasini.adb - 334920681b ./gcc/ada/s-tasini.ads -1584664889b ./gcc/ada/s-taskin.adb -1712940961b ./gcc/ada/s-taskin.ads -1111738188b ./gcc/ada/s-tasque.adb -3925582077b ./gcc/ada/s-tasque.ads -3253689117b ./gcc/ada/s-tasren.adb -3585675949b ./gcc/ada/s-tasren.ads - 639180081b ./gcc/ada/s-tasres.ads -2506382509b ./gcc/ada/s-tassta.adb -1308608849b ./gcc/ada/s-tassta.ads -2198255554b ./gcc/ada/s-tasuti.adb -1251170994b ./gcc/ada/s-tasuti.ads -2438615219b ./gcc/ada/s-tataat.adb -2752485611b ./gcc/ada/s-tataat.ads -3146825506b ./gcc/ada/s-tpinop.adb -2392114437b ./gcc/ada/s-tpinop.ads -1630989423b ./gcc/ada/s-tpoben.adb -2974774482b ./gcc/ada/s-tpoben.ads - 576942612b ./gcc/ada/s-tpobop.adb - 348329523b ./gcc/ada/s-tpobop.ads -4078482581b ./gcc/ada/s-tposen.adb - 583641471b ./gcc/ada/s-tposen.ads -1726319339b ./gcc/ada/s-traceb.adb -2819123084b ./gcc/ada/s-traceb.ads -3088644110b ./gcc/ada/stringt.adb -3489928984b ./gcc/ada/stringt.ads - 115966881b ./gcc/ada/stringt.h -1519917575b ./gcc/ada/style.adb -2363652095b ./gcc/ada/style.ads - 941550211b ./gcc/ada/stylesw.adb - 300221687b ./gcc/ada/stylesw.ads -2238856213b ./gcc/ada/s-unstyp.ads - 383705502b ./gcc/ada/s-vaflop.adb -3525840106b ./gcc/ada/s-vaflop.ads -3777456120b ./gcc/ada/s-valboo.adb - 823783850b ./gcc/ada/s-valboo.ads -2182323653b ./gcc/ada/s-valcha.adb -3984994262b ./gcc/ada/s-valcha.ads -2486462063b ./gcc/ada/s-valdec.adb -3078507172b ./gcc/ada/s-valdec.ads -4035209494b ./gcc/ada/s-valenu.adb -3348402059b ./gcc/ada/s-valenu.ads -3233347202b ./gcc/ada/s-valint.adb - 809353895b ./gcc/ada/s-valint.ads -1624092680b ./gcc/ada/s-vallld.adb -2769897228b ./gcc/ada/s-vallld.ads -3744656291b ./gcc/ada/s-vallli.adb -3279109387b ./gcc/ada/s-vallli.ads -1459947133b ./gcc/ada/s-valllu.adb - 585018696b ./gcc/ada/s-valllu.ads - 764594178b ./gcc/ada/s-valrea.adb -1720102121b ./gcc/ada/s-valrea.ads - 532716097b ./gcc/ada/s-valuns.adb -1244197250b ./gcc/ada/s-valuns.ads - 852079584b ./gcc/ada/s-valuti.adb - 738175561b ./gcc/ada/s-valuti.ads - 8578713b ./gcc/ada/s-valwch.adb -1511491362b ./gcc/ada/s-valwch.ads -2493998789b ./gcc/ada/s-vercon.adb - 76755328b ./gcc/ada/s-vercon.ads -4202237657b ./gcc/ada/s-vmexta.adb -4131737075b ./gcc/ada/s-vmexta.ads -3071200887b ./gcc/ada/s-wchcnv.adb -4248746072b ./gcc/ada/s-wchcnv.ads -1113131496b ./gcc/ada/s-wchcon.ads - 13946560b ./gcc/ada/s-wchjis.adb -2260481846b ./gcc/ada/s-wchjis.ads -1448393887b ./gcc/ada/s-wchstw.adb -1559813388b ./gcc/ada/s-wchstw.ads -3747078028b ./gcc/ada/s-wchwts.adb -3218956526b ./gcc/ada/s-wchwts.ads -2111277990b ./gcc/ada/s-widboo.adb -3292895124b ./gcc/ada/s-widboo.ads -1836742483b ./gcc/ada/s-widcha.adb -3867876244b ./gcc/ada/s-widcha.ads -1034537775b ./gcc/ada/s-widenu.adb - 847743074b ./gcc/ada/s-widenu.ads -1845615445b ./gcc/ada/s-widlli.adb -2364218579b ./gcc/ada/s-widlli.ads - 248576485b ./gcc/ada/s-widllu.adb -2854689029b ./gcc/ada/s-widllu.ads -2511495067b ./gcc/ada/s-widwch.adb -3401797070b ./gcc/ada/s-widwch.ads - 27582413b ./gcc/ada/switch.adb -1598342278b ./gcc/ada/switch.ads -3528609494b ./gcc/ada/s-wwdcha.adb - 586285622b ./gcc/ada/s-wwdcha.ads -2810367382b ./gcc/ada/s-wwdenu.adb -4200440603b ./gcc/ada/s-wwdenu.ads -1874741026b ./gcc/ada/s-wwdwch.adb -3321650370b ./gcc/ada/s-wwdwch.ads -4244182023b ./gcc/ada/sysdep.c -1119298405b ./gcc/ada/system.ads -3848197813b ./gcc/ada/table.adb -3687590744b ./gcc/ada/table.ads -1109639380b ./gcc/ada/targparm.adb -1825795995b ./gcc/ada/targparm.ads -1202794553b ./gcc/ada/targtyps.c -1356345663b ./gcc/ada/tbuild.adb -1858742811b ./gcc/ada/tbuild.ads - 75780159b ./gcc/ada/text_io.ads - 360994578b ./gcc/ada/tracebak.c -2571992805b ./gcc/ada/trans.c -1966951634b ./gcc/ada/tree_gen.adb -3159530633b ./gcc/ada/tree_gen.ads -2530728701b ./gcc/ada/tree_in.adb -2711628455b ./gcc/ada/tree_in.ads - 838934979b ./gcc/ada/tree_io.adb - 752324076b ./gcc/ada/tree_io.ads -3859295957b ./gcc/ada/treepr.adb -2456186617b ./gcc/ada/treepr.ads -1911577299b ./gcc/ada/treeprs.ads -1276512398b ./gcc/ada/treeprs.adt -4263888685b ./gcc/ada/ttypef.ads -3874309715b ./gcc/ada/ttypes.ads -1369397640b ./gcc/ada/types.adb -4024957899b ./gcc/ada/types.ads -1402875333b ./gcc/ada/types.h - 981400444b ./gcc/ada/ug_words - 259981028b ./gcc/ada/uintp.adb -1501595103b ./gcc/ada/uintp.ads -2726784320b ./gcc/ada/uintp.h -1168757069b ./gcc/ada/uname.adb -3887027289b ./gcc/ada/uname.ads -2682664197b ./gcc/ada/unchconv.ads - 906261077b ./gcc/ada/unchdeal.ads -1146813221b ./gcc/ada/urealp.adb -3019307290b ./gcc/ada/urealp.ads -2098404567b ./gcc/ada/urealp.h -3991257953b ./gcc/ada/usage.adb - 876425940b ./gcc/ada/usage.ads -3098691088b ./gcc/ada/utils2.c - 35898743b ./gcc/ada/utils.c -2206670030b ./gcc/ada/validsw.adb -2813759673b ./gcc/ada/validsw.ads -3183449725b ./gcc/ada/widechar.adb -1939896965b ./gcc/ada/widechar.ads -4107540872b ./gcc/ada/xeinfo.adb - 208322693b ./gcc/ada/xgnatug.adb - 5897144b ./gcc/ada/xnmake.adb -3670337130b ./gcc/ada/xref_lib.adb -4020137442b ./gcc/ada/xref_lib.ads -3378631066b ./gcc/ada/xr_tabls.adb -3872099053b ./gcc/ada/xr_tabls.ads -1408035530b ./gcc/ada/xsinfo.adb -1441973181b ./gcc/ada/xsnames.adb - 579454790b ./gcc/ada/xtreeprs.adb - 790330640b ./gcc/alias.c -1031959714b ./gcc/attribs.c -2742514573b ./gcc/basic-block.h - 534677057b ./gcc/bb-reorder.c - 518972076b ./gcc/bitmap.c - 477755928b ./gcc/bitmap.h - 540939972b ./gcc/builtin-attrs.def -2448248820b ./gcc/builtins.c -2454689977b ./gcc/builtins.def -3361511841b ./gcc/builtin-types.def -4196427447b ./gcc/caller-save.c -1802334908b ./gcc/calls.c - 420541423b ./gcc/c-aux-info.c -1073499624b ./gcc/c-common.c -2096270511b ./gcc/c-common.def -3764400561b ./gcc/c-common.h -1317742909b ./gcc/c-convert.c -1025902837b ./gcc/c-decl.c - 487899684b ./gcc/c-errors.c -2570808086b ./gcc/cfganal.c -1964748151b ./gcc/cfgbuild.c -2908854975b ./gcc/cfg.c - 822237739b ./gcc/cfgcleanup.c -1219429812b ./gcc/cfglayout.c -1858346793b ./gcc/cfglayout.h -3236894730b ./gcc/cfgloop.c -2041391494b ./gcc/cfgrtl.c -2243757094b ./gcc/c-format.c -2870572971b ./gcc/ChangeLog -1398127668b ./gcc/ChangeLog.0 -2827765101b ./gcc/ChangeLog.1 -1199055802b ./gcc/ChangeLog.2 -2924329613b ./gcc/ChangeLog.3 - 164761891b ./gcc/ChangeLog.4 -1481898300b ./gcc/ChangeLog.5 -2613464808b ./gcc/ChangeLog.6 -3235050590b ./gcc/ChangeLog.lib -1985388077b ./gcc/c-lang.c - 382517507b ./gcc/c-lex.c - 835686435b ./gcc/c-lex.h -1191094530b ./gcc/c-objc-common.c -1806916686b ./gcc/collect2.c - 653998699b ./gcc/collect2.h -2586036597b ./gcc/combine.c -4122382037b ./gcc/conditions.h - 525821919b ./gcc/config/1750a/1750a.c -2195664858b ./gcc/config/1750a/1750a.h -3089740443b ./gcc/config/1750a/1750a.md -3356933371b ./gcc/config/1750a/1750a-protos.h -2477730384b ./gcc/config/1750a/ms1750.inc -4248885141b ./gcc/config/a29k/a29k.c -1800382809b ./gcc/config/a29k/a29k.h -1270050344b ./gcc/config/a29k/a29k.md - 820188974b ./gcc/config/a29k/a29k-protos.h -1083391793b ./gcc/config/a29k/rtems.h - 696851807b ./gcc/config/a29k/t-a29kbare -2585873370b ./gcc/config/a29k/t-vx29k -1544651385b ./gcc/config/a29k/unix.h -3167234709b ./gcc/config/a29k/vx29k.h -3915788506b ./gcc/config/alpha/alpha32.h - 830149807b ./gcc/config/alpha/alpha.c -2486755494b ./gcc/config/alpha/alpha.h -1076515812b ./gcc/config/alpha/alpha-interix.h -1955091231b ./gcc/config/alpha/alpha.md -4085134134b ./gcc/config/alpha/alpha-protos.h -1407988137b ./gcc/config/alpha/crtfastmath.c - 221364934b ./gcc/config/alpha/elf.h - 611485563b ./gcc/config/alpha/freebsd.h -2998860143b ./gcc/config/alpha/lib1funcs.asm -1763018017b ./gcc/config/alpha/linux-ecoff.h - 37916839b ./gcc/config/alpha/linux-elf.h -3901756355b ./gcc/config/alpha/linux.h -1830150315b ./gcc/config/alpha/netbsd.h - 156117508b ./gcc/config/alpha/openbsd.h -1792826440b ./gcc/config/alpha/osf12.h -3744703656b ./gcc/config/alpha/osf2or3.h -2776242025b ./gcc/config/alpha/osf5.h -2313475776b ./gcc/config/alpha/osf.h -1190572001b ./gcc/config/alpha/qrnnd.asm -2672344824b ./gcc/config/alpha/t-alpha -1949254250b ./gcc/config/alpha/t-crtfm -3084092578b ./gcc/config/alpha/t-ieee -3884780449b ./gcc/config/alpha/t-interix -4208963116b ./gcc/config/alpha/t-osf4 -1191509594b ./gcc/config/alpha/t-unicosmk -1694999122b ./gcc/config/alpha/t-vms -3342100479b ./gcc/config/alpha/t-vms64 -3395550504b ./gcc/config/alpha/unicosmk.h -2817356982b ./gcc/config/alpha/va_list.h -2920918174b ./gcc/config/alpha/vms64.h -3118436884b ./gcc/config/alpha/vms-cc.c -2784080362b ./gcc/config/alpha/vms-crt0-64.c - 92885822b ./gcc/config/alpha/vms-crt0.c -3572749067b ./gcc/config/alpha/vms-dwarf2.asm -3031921581b ./gcc/config/alpha/vms-dwarf2eh.asm - 923619902b ./gcc/config/alpha/vms.h -2333112991b ./gcc/config/alpha/vms-ld.c - 664285780b ./gcc/config/alpha/vms-psxcrt0-64.c -1499899963b ./gcc/config/alpha/vms-psxcrt0.c -1497613985b ./gcc/config/alpha/vms_tramp.asm - 985208816b ./gcc/config/alpha/vxworks.h -1631226706b ./gcc/config/alpha/xm-alpha-interix.h -2164887597b ./gcc/config/alpha/xm-vms64.h -1813891070b ./gcc/config/alpha/xm-vms.h -1756604664b ./gcc/config/alpha/x-vms - 662120966b ./gcc/config/aoutos.h -3700366341b ./gcc/config/arc/arc.c -2300457202b ./gcc/config/arc/arc.h -2348200471b ./gcc/config/arc/arc.md -1916903876b ./gcc/config/arc/arc-protos.h -2242623574b ./gcc/config/arc/initfini.c -4224412506b ./gcc/config/arc/lib1funcs.asm -2135297695b ./gcc/config/arc/t-arc -2672724137b ./gcc/config/arm/aof.h - 754089758b ./gcc/config/arm/aout.h - 968318223b ./gcc/config/arm/arm.c -2386488705b ./gcc/config/arm/arm.h -2864793753b ./gcc/config/arm/arm.md -2355527864b ./gcc/config/arm/arm-protos.h - 478450204b ./gcc/config/arm/arm-wince-pe.h - 531784060b ./gcc/config/arm/coff.h -3968543328b ./gcc/config/arm/conix-elf.h -2901180917b ./gcc/config/arm/crti.asm -2281461647b ./gcc/config/arm/crtn.asm -4281626291b ./gcc/config/arm/ecos-elf.h -3143079784b ./gcc/config/arm/elf.h -1564985594b ./gcc/config/arm/freebsd.h -3355567723b ./gcc/config/arm/lib1funcs.asm -1770982396b ./gcc/config/arm/linux-elf.h -2890656711b ./gcc/config/arm/linux-gas.h -3050794234b ./gcc/config/arm/netbsd.h -3970353953b ./gcc/config/arm/pe.c - 581802105b ./gcc/config/arm/pe.h -2885119589b ./gcc/config/arm/README-interworking -2367073445b ./gcc/config/arm/riscix1-1.h -3068021852b ./gcc/config/arm/riscix.h -3648344095b ./gcc/config/arm/rix-gas.h -3970258112b ./gcc/config/arm/rtems-elf.h -3108552778b ./gcc/config/arm/semiaof.h -2419470702b ./gcc/config/arm/semi.h -1676744073b ./gcc/config/arm/strongarm-coff.h -2572947596b ./gcc/config/arm/strongarm-elf.h -4084147202b ./gcc/config/arm/strongarm-pe.h -1225127474b ./gcc/config/arm/t-arm-aout -1432575844b ./gcc/config/arm/t-arm-coff -3068297759b ./gcc/config/arm/t-arm-elf -2454749767b ./gcc/config/arm/t-linux - 849756574b ./gcc/config/arm/t-netbsd -1171746127b ./gcc/config/arm/t-pe -3531598494b ./gcc/config/arm/t-riscix -1572194130b ./gcc/config/arm/t-semi -3145229981b ./gcc/config/arm/t-strongarm-coff - 358695252b ./gcc/config/arm/t-strongarm-elf -2389193190b ./gcc/config/arm/t-strongarm-pe -3941249553b ./gcc/config/arm/t-xscale-coff -4238855457b ./gcc/config/arm/t-xscale-elf -3331622085b ./gcc/config/arm/uclinux-elf.h - 169320906b ./gcc/config/arm/unknown-elf.h -3664576446b ./gcc/config/arm/unknown-elf-oabi.h -4086326841b ./gcc/config/arm/vxarm.h -2632983487b ./gcc/config/arm/xscale-coff.h -2366951282b ./gcc/config/arm/xscale-elf.h -2474041656b ./gcc/config/avr/avr.c -3254145940b ./gcc/config/avr/avr.h -4276324027b ./gcc/config/avr/avr.md - 567694740b ./gcc/config/avr/avr-protos.h -1853285406b ./gcc/config/avr/libgcc.S -3040444126b ./gcc/config/avr/t-avr - 487323483b ./gcc/config/c4x/c4x.c -1272252374b ./gcc/config/c4x/c4x-c.c -4149345821b ./gcc/config/c4x/c4x.h -2240751934b ./gcc/config/c4x/c4x.md -4161503224b ./gcc/config/c4x/c4x-protos.h -1473970252b ./gcc/config/c4x/libgcc.S -3126919437b ./gcc/config/c4x/rtems.h -1848402932b ./gcc/config/c4x/t-c4x -2216814105b ./gcc/config/chorus.h -2064231953b ./gcc/config/clipper/clipper.c -4145616021b ./gcc/config/clipper/clipper.h - 28615455b ./gcc/config/clipper/clipper.md -3381447812b ./gcc/config/clipper/clipper-protos.h - 319322158b ./gcc/config/clipper/clix.h -3677219838b ./gcc/config/convex/convex.c - 597637161b ./gcc/config/convex/convex.h - 462857671b ./gcc/config/convex/convex.md -2941206894b ./gcc/config/convex/convex-protos.h - 384964748b ./gcc/config/convex/fixinc.convex -2576905081b ./gcc/config/convex/proto.h -2561716856b ./gcc/config/cris/aout.h -2531765543b ./gcc/config/cris/arit.c -4228128527b ./gcc/config/cris/cris_abi_symbol.c - 937590356b ./gcc/config/cris/cris.c -1846933412b ./gcc/config/cris/cris.h -3975834409b ./gcc/config/cris/cris.md -2623962717b ./gcc/config/cris/cris-protos.h -2550031006b ./gcc/config/cris/linux.h - 907689569b ./gcc/config/cris/mulsi3.asm - 45521295b ./gcc/config/cris/t-aout - 874481385b ./gcc/config/cris/t-cris -2080407099b ./gcc/config/cris/t-elfmulti -1112852607b ./gcc/config/cris/t-linux -3834330727b ./gcc/config/d30v/abi - 349365251b ./gcc/config/d30v/d30v.c - 5113978b ./gcc/config/d30v/d30v.h -3430463305b ./gcc/config/d30v/d30v.md -3966607018b ./gcc/config/d30v/d30v-protos.h -1512688016b ./gcc/config/d30v/libgcc1.asm -2120255627b ./gcc/config/d30v/t-d30v -2411222628b ./gcc/config/darwin.c -2176622144b ./gcc/config/darwin-c.c -2796646825b ./gcc/config/darwin.h -1469496228b ./gcc/config/darwin-protos.h -2118339989b ./gcc/config/dbxcoff.h -2470898471b ./gcc/config/dbxelf.h - 186717254b ./gcc/config/dbx.h -4083711028b ./gcc/config/divmod.c -1337751109b ./gcc/config/dsp16xx/dsp16xx.c - 508710765b ./gcc/config/dsp16xx/dsp16xx.h - 273715633b ./gcc/config/dsp16xx/dsp16xx.md -3807169411b ./gcc/config/dsp16xx/dsp16xx-protos.h -1123139357b ./gcc/config/elfos.h -2583638380b ./gcc/config/elxsi/elxsi.c -1846962457b ./gcc/config/elxsi/elxsi.h -1729380348b ./gcc/config/elxsi/elxsi.md -1622698848b ./gcc/config/elxsi/elxsi-protos.h -2520622557b ./gcc/config/float-c4x.h - 36687624b ./gcc/config/float-i128.h -2077185169b ./gcc/config/float-i32.h - 751904614b ./gcc/config/float-i386.h - 466751418b ./gcc/config/float-i64.h -2601002892b ./gcc/config/float-m68k.h -1084189067b ./gcc/config/float-sh.h -2134536939b ./gcc/config/float-sparc.h - 766947524b ./gcc/config/float-vax.h -2162319998b ./gcc/config/fp-bit.c -3844459473b ./gcc/config/fp-bit.h -2304723625b ./gcc/config/fr30/crti.asm -2025473533b ./gcc/config/fr30/crtn.asm -3792879472b ./gcc/config/fr30/fr30.c - 869213712b ./gcc/config/fr30/fr30.h -4172871396b ./gcc/config/fr30/fr30.md -4061935745b ./gcc/config/fr30/fr30-protos.h -2734319269b ./gcc/config/fr30/lib1funcs.asm -3068633205b ./gcc/config/fr30/t-fr30 -3857422654b ./gcc/config/freebsd3.h -2210711654b ./gcc/config/freebsd4.h -1531797731b ./gcc/config/freebsd5.h -3920011053b ./gcc/config/freebsd6.h - 22917470b ./gcc/config/freebsd.h -3532526787b ./gcc/config/freebsd-nthr.h -3508760161b ./gcc/config/freebsd-spec.h -3290013183b ./gcc/config.gcc -3236013445b ./gcc/config/gnu.h - 269492728b ./gcc/config/gofast.h -1315260558b ./gcc/config.guess -3397297833b ./gcc/config/h8300/crti.asm -3919963794b ./gcc/config/h8300/crtn.asm -3512988181b ./gcc/config/h8300/elf.h -3407042493b ./gcc/config/h8300/fixunssfsi.c -3423866381b ./gcc/config/h8300/h8300.c -1422146659b ./gcc/config/h8300/h8300.h - 311961515b ./gcc/config/h8300/h8300.md -1292256972b ./gcc/config/h8300/h8300-protos.h -2991149153b ./gcc/config/h8300/lib1funcs.asm -2198420981b ./gcc/config/h8300/rtems.h -2094865057b ./gcc/config/h8300/t-elf - 85067832b ./gcc/config/h8300/t-h8300 -3470805473b ./gcc/config/i370/i370.c - 979765873b ./gcc/config/i370/i370-c.c -3238258803b ./gcc/config/i370/i370.h -4214408308b ./gcc/config/i370/i370.md -1981911754b ./gcc/config/i370/i370-protos.h -1433729913b ./gcc/config/i370/linux.h -1044154955b ./gcc/config/i370/mvs.h -3630097967b ./gcc/config/i370/oe.h -2187046003b ./gcc/config/i370/README -1023365638b ./gcc/config/i370/t-i370 -1100145942b ./gcc/config/i370/t-oe -3856846943b ./gcc/config/i386/386bsd.h -3990721733b ./gcc/config/i386/aix386.h - 757618460b ./gcc/config/i386/aix386ng.h -3049279797b ./gcc/config/i386/att.h -1685915522b ./gcc/config/i386/beos-elf.h - 778550489b ./gcc/config/i386/biarch64.h - 118206770b ./gcc/config/i386/bsd386.h -2349519740b ./gcc/config/i386/bsd.h - 105502713b ./gcc/config/i386/crtdll.h -4293145615b ./gcc/config/i386/cygwin.asm -2449448955b ./gcc/config/i386/cygwin.h -3582951454b ./gcc/config/i386/dgux.h -1419143807b ./gcc/config/i386/djgpp.h -2694509274b ./gcc/config/i386/djgpp-rtems.h -3516447755b ./gcc/config/i386/freebsd64.h -1128409449b ./gcc/config/i386/freebsd-aout.h - 149642195b ./gcc/config/i386/freebsd.h - 872852389b ./gcc/config/i386/gas.h -4266288971b ./gcc/config/i386/gmon-sol2.c - 915598536b ./gcc/config/i386/gnu.h - 166489147b ./gcc/config/i386/gstabs.h -1725036574b ./gcc/config/i386/i386-aout.h -2087644841b ./gcc/config/i386/i386.c -4168545992b ./gcc/config/i386/i386-coff.h -2017248418b ./gcc/config/i386/i386elf.h - 126280949b ./gcc/config/i386/i386.h - 721929446b ./gcc/config/i386/i386-interix3.h -1321445318b ./gcc/config/i386/i386-interix.h -1643637147b ./gcc/config/i386/i386.md -2589129574b ./gcc/config/i386/i386-protos.h -1164740130b ./gcc/config/i386/interix.c -1996803131b ./gcc/config/i386/isccoff.h -1692083111b ./gcc/config/i386/iscdbx.h -3908393755b ./gcc/config/i386/isc.h - 877642037b ./gcc/config/i386/libgcc-x86_64-glibc.ver -1758822745b ./gcc/config/i386/linux64.h -2999558891b ./gcc/config/i386/linux-aout.h -2801664794b ./gcc/config/i386/linux.h -2799520524b ./gcc/config/i386/linux-oldld.h - 372710545b ./gcc/config/i386/lynx.h - 83628421b ./gcc/config/i386/lynx-ng.h -4206477894b ./gcc/config/i386/mach.h -3763689293b ./gcc/config/i386/mingw32.h -3851444052b ./gcc/config/i386/mmintrin.h -3361545892b ./gcc/config/i386/moss.h -2015644945b ./gcc/config/i386/netbsd64.h - 527360119b ./gcc/config/i386/netbsd-elf.h -4276805615b ./gcc/config/i386/netbsd.h -2351965586b ./gcc/config/i386/netware.h -3059925901b ./gcc/config/i386/next.h - 903611773b ./gcc/config/i386/openbsd.h -2999570618b ./gcc/config/i386/osf1-ci.asm -2303041887b ./gcc/config/i386/osf1-cn.asm -3979872455b ./gcc/config/i386/osf1elfgdb.h -1710286781b ./gcc/config/i386/osf1elf.h -3128347339b ./gcc/config/i386/osfelf.h -4023690019b ./gcc/config/i386/osfrose.h -4166685458b ./gcc/config/i386/ptx4-i.h -3397896458b ./gcc/config/i386/rtemself.h -3754059204b ./gcc/config/i386/rtems.h -3691307729b ./gcc/config/i386/sco5.h -3439848366b ./gcc/config/i386/seq2-sysv3.h -2517904468b ./gcc/config/i386/seq-gas.h -2376826274b ./gcc/config/i386/seq-sysv3.h -1460292009b ./gcc/config/i386/sequent.h - 425477609b ./gcc/config/i386/sol2-c1.asm -1565106149b ./gcc/config/i386/sol2-ci.asm -4008317666b ./gcc/config/i386/sol2-cn.asm -3870175252b ./gcc/config/i386/sol2gas.h -2045686122b ./gcc/config/i386/sol2-gc1.asm - 293602449b ./gcc/config/i386/sol2.h -3471554836b ./gcc/config/i386/sun386.h -4009223163b ./gcc/config/i386/sun.h -2138673972b ./gcc/config/i386/svr3dbx.h -1965747476b ./gcc/config/i386/svr3gas.h -3846064431b ./gcc/config/i386/svr3.ifile -1523044645b ./gcc/config/i386/svr3z.ifile -3848105951b ./gcc/config/i386/sysv3.h -1594728867b ./gcc/config/i386/sysv4.h -1357982390b ./gcc/config/i386/sysv5.h -3914733738b ./gcc/config/i386/t-beos -2437302600b ./gcc/config/i386/t-crtpic -2246944266b ./gcc/config/i386/t-crtstuff -3093621951b ./gcc/config/i386/t-cygwin -2054288148b ./gcc/config/i386/t-dgux -2902972689b ./gcc/config/i386/t-djgpp - 537671296b ./gcc/config/i386/t-i386elf -1614388594b ./gcc/config/i386/t-interix - 196644080b ./gcc/config/i386/t-linux64 -4056914306b ./gcc/config/i386/t-mingw32 - 92801654b ./gcc/config/i386/t-netware -1960948471b ./gcc/config/i386/t-next - 709063989b ./gcc/config/i386/t-openbsd -1186749595b ./gcc/config/i386/t-osf -1520459705b ./gcc/config/i386/t-osf1elf - 422823583b ./gcc/config/i386/t-rtems-i386 -1649755892b ./gcc/config/i386/t-sco5 -1824758327b ./gcc/config/i386/t-sco5gas -2786912378b ./gcc/config/i386/t-sol2 -3128852740b ./gcc/config/i386/t-svr3dbx -2977164768b ./gcc/config/i386/t-udk -1023926647b ./gcc/config/i386/t-uwin -1775100101b ./gcc/config/i386/udk.h -3838506178b ./gcc/config/i386/unix.h -2798938994b ./gcc/config/i386/uwin.asm -4142598938b ./gcc/config/i386/uwin.h -1148022895b ./gcc/config/i386/v3gas.h -1621915956b ./gcc/config/i386/vsta.h - 57307462b ./gcc/config/i386/vxi386.h -3423798645b ./gcc/config/i386/win32.h -1200967744b ./gcc/config/i386/winnt.c -2420589009b ./gcc/config/i386/x86-64.h -1690208514b ./gcc/config/i386/xm-cygwin.h -3902343879b ./gcc/config/i386/xm-djgpp.h -3631826497b ./gcc/config/i386/xm-i386-interix.h - 92688945b ./gcc/config/i386/xm-mingw32.h -2085781748b ./gcc/config/i386/xmmintrin.h -1404515293b ./gcc/config/i386/xm-vsta.h -2229503331b ./gcc/config/i860/bsd-gas.h -3105781024b ./gcc/config/i860/bsd.h -1997415443b ./gcc/config/i860/fx2800.h -4081368347b ./gcc/config/i860/i860.c - 718661732b ./gcc/config/i860/i860.h -2940070083b ./gcc/config/i860/i860.md -1479219352b ./gcc/config/i860/i860-protos.h -3806449409b ./gcc/config/i860/mach.h -3225474743b ./gcc/config/i860/paragon.h -3497246692b ./gcc/config/i860/sysv3.h -1181281122b ./gcc/config/i860/sysv4.h - 269024431b ./gcc/config/i860/t-fx2800 -1835110220b ./gcc/config/i860/varargs.asm - 736082089b ./gcc/config/i960/i960.c - 648677105b ./gcc/config/i960/i960-c.c -3384279950b ./gcc/config/i960/i960-coff.h -3931238913b ./gcc/config/i960/i960.h -2800981685b ./gcc/config/i960/i960.md -3598295769b ./gcc/config/i960/i960-protos.h -1281966645b ./gcc/config/i960/rtems.h -2036399646b ./gcc/config/i960/t-960bare - 703563677b ./gcc/config/i960/t-vxworks960 -3103531078b ./gcc/config/i960/vx960-coff.h -1895495318b ./gcc/config/i960/vx960.h -1007852506b ./gcc/config/ia64/aix.h -1057225417b ./gcc/config/ia64/crtbegin.asm -2515543842b ./gcc/config/ia64/crtend.asm - 281392077b ./gcc/config/ia64/crtfastmath.c -3128441059b ./gcc/config/ia64/crti.asm -3161585686b ./gcc/config/ia64/crtn.asm -2297508797b ./gcc/config/ia64/elf.h -2446839914b ./gcc/config/ia64/fde-glibc.c -2501046378b ./gcc/config/ia64/freebsd.h -2423115826b ./gcc/config/ia64/hpux.h -3320865692b ./gcc/config/ia64/hpux_longdouble.h -2150614374b ./gcc/config/ia64/ia64.c - 160446917b ./gcc/config/ia64/ia64.h - 511545686b ./gcc/config/ia64/ia64intrin.h -1143291289b ./gcc/config/ia64/ia64.md -2354458740b ./gcc/config/ia64/ia64-protos.h -3488320870b ./gcc/config/ia64/lib1funcs.asm -2361471520b ./gcc/config/ia64/libgcc-ia64.ver -2435218299b ./gcc/config/ia64/linux.h -1337642433b ./gcc/config/ia64/quadlib.c -1454530158b ./gcc/config/ia64/sysv4.h -2374494786b ./gcc/config/ia64/t-aix -2148782144b ./gcc/config/ia64/t-glibc -3471209231b ./gcc/config/ia64/t-hpux - 158251161b ./gcc/config/ia64/t-ia64 -2759923269b ./gcc/config/ia64/unwind-aix.c -1364155779b ./gcc/config/ia64/unwind-ia64.c -2355075302b ./gcc/config/ia64/unwind-ia64.h -1761565476b ./gcc/config.in -3221870490b ./gcc/config/interix3.h -1139973568b ./gcc/config/interix.h -3774321010b ./gcc/config/libgcc-glibc.ver - 679171109b ./gcc/config/libgloss.h - 265766519b ./gcc/config/linux-aout.h -2201567287b ./gcc/config/linux.h - 510514981b ./gcc/config/lynx.h -2466014571b ./gcc/config/lynx-ng.h -2460604231b ./gcc/config/m32r/initfini.c -2298486681b ./gcc/config/m32r/m32r.c -2178062905b ./gcc/config/m32r/m32r.h -2455193277b ./gcc/config/m32r/m32r.md - 67938598b ./gcc/config/m32r/m32r-protos.h -3043182144b ./gcc/config/m32r/t-m32r - 35339373b ./gcc/config/m68hc11/larith.asm -1272963761b ./gcc/config/m68hc11/m68hc11.c -3563849705b ./gcc/config/m68hc11/m68hc11-crt0.S -1280294916b ./gcc/config/m68hc11/m68hc11.h - 520753477b ./gcc/config/m68hc11/m68hc11.md -1796033124b ./gcc/config/m68hc11/m68hc11-protos.h - 452436463b ./gcc/config/m68hc11/m68hc12.h -1483227044b ./gcc/config/m68hc11/t-m68hc11-gas -3032963201b ./gcc/config/m68k/3b1g.h -3262237289b ./gcc/config/m68k/3b1.h -1524307847b ./gcc/config/m68k/altos3068.h -1472845046b ./gcc/config/m68k/amix.h -3726815317b ./gcc/config/m68k/apollo68.h -2229011187b ./gcc/config/m68k/atari.h - 304653227b ./gcc/config/m68k/auxas.h -1360990051b ./gcc/config/m68k/aux-crt1.c -1689696476b ./gcc/config/m68k/aux-crt2.asm -2072970828b ./gcc/config/m68k/aux-crtn.asm - 409246969b ./gcc/config/m68k/aux-exit.c - 741505994b ./gcc/config/m68k/auxgas.h - 922288695b ./gcc/config/m68k/auxgld.h -1105413220b ./gcc/config/m68k/a-ux.h -2685530303b ./gcc/config/m68k/auxld.h -2164284366b ./gcc/config/m68k/aux-low.gld -2208437798b ./gcc/config/m68k/aux-mcount.c -1916112183b ./gcc/config/m68k/ccur-GAS.h - 597864788b ./gcc/config/m68k/coff.h -2360909894b ./gcc/config/m68k/crds.h -1173190318b ./gcc/config/m68k/crti.s -4181788584b ./gcc/config/m68k/crtn.s -3642339847b ./gcc/config/m68k/ctix.h -2770446786b ./gcc/config/m68k/dpx2cdbx.h -3851760573b ./gcc/config/m68k/dpx2g.h -2199460345b ./gcc/config/m68k/dpx2.h -2216029984b ./gcc/config/m68k/dpx2.ifile -2518640661b ./gcc/config/m68k/fpgnulib.c - 136981270b ./gcc/config/m68k/hp2bsd.h -4247760656b ./gcc/config/m68k/hp310g.h -2625821362b ./gcc/config/m68k/hp310.h -3645108527b ./gcc/config/m68k/hp320g.h -2642329211b ./gcc/config/m68k/hp320.h -3605366445b ./gcc/config/m68k/hp3bsd44.h - 942415927b ./gcc/config/m68k/hp3bsd.h -2864047424b ./gcc/config/m68k/hpux7.h - 665470337b ./gcc/config/m68k/isi.h -3484500543b ./gcc/config/m68k/isi-nfp.h - 704862081b ./gcc/config/m68k/lb1sf68.asm -1023591365b ./gcc/config/m68k/linux-aout.h -1138393842b ./gcc/config/m68k/linux.h -3350690882b ./gcc/config/m68k/lynx.h - 162996909b ./gcc/config/m68k/lynx-ng.h -3379792683b ./gcc/config/m68k/m68020-elf.h - 388266224b ./gcc/config/m68k/m68k-aout.h -1870424553b ./gcc/config/m68k/m68k.c -3882947461b ./gcc/config/m68k/m68k-coff.h -2573430517b ./gcc/config/m68k/m68kelf.h -1120822994b ./gcc/config/m68k/m68kemb.h -3756685982b ./gcc/config/m68k/m68k.h -3281000245b ./gcc/config/m68k/m68k.md -3855098247b ./gcc/config/m68k/m68k-none.h -3954442786b ./gcc/config/m68k/m68k-protos.h -1109594909b ./gcc/config/m68k/m68k-psos.h - 947783547b ./gcc/config/m68k/m68kv4.h -2766673945b ./gcc/config/m68k/math-3300.h -3047408322b ./gcc/config/m68k/math-68881.h -1902334218b ./gcc/config/m68k/mot3300-crt0.S -2216988570b ./gcc/config/m68k/mot3300.h -4250921257b ./gcc/config/m68k/mot3300Mcrt0.S -1653993281b ./gcc/config/m68k/netbsd-elf.h - 306540848b ./gcc/config/m68k/netbsd.h -2598124463b ./gcc/config/m68k/news3gas.h - 895337217b ./gcc/config/m68k/news3.h -2724290690b ./gcc/config/m68k/newsgas.h - 823527599b ./gcc/config/m68k/news.h -3839942171b ./gcc/config/m68k/next21.h -3375370361b ./gcc/config/m68k/next.h - 615787625b ./gcc/config/m68k/openbsd.h -1412462225b ./gcc/config/m68k/pbb.h - 964659279b ./gcc/config/m68k/plexus.h -3840336856b ./gcc/config/m68k/rtemself.h -4045485418b ./gcc/config/m68k/rtems.h -2246845695b ./gcc/config/m68k/sgs.h - 844744081b ./gcc/config/m68k/sun2.h -3991060631b ./gcc/config/m68k/sun2o4.h -3239560263b ./gcc/config/m68k/sun3.h -3724598161b ./gcc/config/m68k/sun3mach.h - 864417723b ./gcc/config/m68k/sun3n3.h - 120628064b ./gcc/config/m68k/sun3n.h -2298299278b ./gcc/config/m68k/sun3o3.h -3527955370b ./gcc/config/m68k/t-aux -2428228359b ./gcc/config/m68k/t-crtstuff -1845413337b ./gcc/config/m68k/t-hp320 -1601671577b ./gcc/config/m68k/t-linux -1601671577b ./gcc/config/m68k/t-linux-aout -3474104024b ./gcc/config/m68k/t-lynx - 591505405b ./gcc/config/m68k/t-m68kbare -1376927127b ./gcc/config/m68k/t-m68kelf -2312371323b ./gcc/config/m68k/t-mot3300 -1278563328b ./gcc/config/m68k/t-mot3300-gald - 505153656b ./gcc/config/m68k/t-mot3300-gas -2294965883b ./gcc/config/m68k/t-mot3300-gld -1947397845b ./gcc/config/m68k/t-next -3937644742b ./gcc/config/m68k/t-openbsd -2078063242b ./gcc/config/m68k/tower-as.h -2265492461b ./gcc/config/m68k/tower.h -2710264317b ./gcc/config/m68k/t-vxworks68 -2466779056b ./gcc/config/m68k/vxm68k.h - 330782920b ./gcc/config/m68k/x-next -3877749712b ./gcc/config/m88k/aout-dbx.h -3964892058b ./gcc/config/m88k/dguxbcs.h -2407166913b ./gcc/config/m88k/dgux.h -3298414170b ./gcc/config/m88k/dgux.ld -1645309935b ./gcc/config/m88k/dolph.h -1558967450b ./gcc/config/m88k/dolphin.ld - 27544745b ./gcc/config/m88k/luna.h -1097971558b ./gcc/config/m88k/m88k-aout.h - 382352310b ./gcc/config/m88k/m88k.c - 929158884b ./gcc/config/m88k/m88k-coff.h -2252790221b ./gcc/config/m88k/m88k.h - 249987577b ./gcc/config/m88k/m88k.md -2372325319b ./gcc/config/m88k/m88k-move.sh - 192457426b ./gcc/config/m88k/m88k-protos.h -3182883703b ./gcc/config/m88k/openbsd.h -2062420508b ./gcc/config/m88k/sysv3.h -2064243939b ./gcc/config/m88k/sysv4.h -1952601632b ./gcc/config/m88k/t-bug -3570488521b ./gcc/config/m88k/t-dgux -1929747752b ./gcc/config/m88k/t-dguxbcs - 185935036b ./gcc/config/m88k/t-dgux-gas - 141637502b ./gcc/config/m88k/t-dolph -3899935761b ./gcc/config/m88k/tekXD88.h - 173867895b ./gcc/config/m88k/tekXD88.ld -2294317049b ./gcc/config/m88k/t-luna -3352809625b ./gcc/config/m88k/t-luna-gas -1952601632b ./gcc/config/m88k/t-m88k -2909533034b ./gcc/config/m88k/t-m88k-gas -3580877409b ./gcc/config/m88k/t-sysv4 -3049523840b ./gcc/config/m88k/t-tekXD88 -4057462442b ./gcc/config/mcore/crti.asm -3021138350b ./gcc/config/mcore/crtn.asm -3514021936b ./gcc/config/mcore/gfloat.h -3510059529b ./gcc/config/mcore/lib1.asm -2263673310b ./gcc/config/mcore/mcore.c - 511751417b ./gcc/config/mcore/mcore-elf.h -2030700230b ./gcc/config/mcore/mcore.h - 400725302b ./gcc/config/mcore/mcore.md -3984142890b ./gcc/config/mcore/mcore-pe.h - 149272234b ./gcc/config/mcore/mcore-protos.h -1343396749b ./gcc/config/mcore/t-mcore -2921008064b ./gcc/config/mcore/t-mcore-pe -1252529019b ./gcc/config/mips/abi64.h -1865003947b ./gcc/config/mips/bsd-4.h -2290247989b ./gcc/config/mips/bsd-5.h - 930726788b ./gcc/config/mips/cross64.h -1227388398b ./gcc/config/mips/crti.asm -1600482981b ./gcc/config/mips/crtn.asm -3317633569b ./gcc/config/mips/dec-bsd.h -4118299381b ./gcc/config/mips/dec-osf1.h -1910637049b ./gcc/config/mips/ecoff.h -3551974985b ./gcc/config/mips/ecoffl.h -1974114900b ./gcc/config/mips/elf64.h -1297779950b ./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 -4009674128b ./gcc/config/mips/iris3.h -3161243087b ./gcc/config/mips/iris4.h -2743944992b ./gcc/config/mips/iris4loser.h -1342606731b ./gcc/config/mips/iris5gas.h -4137712676b ./gcc/config/mips/iris5.h -2290690324b ./gcc/config/mips/iris6gld.h -2714897906b ./gcc/config/mips/iris6.h -3658812670b ./gcc/config/mips/irix6-libc-compat.c -3639703657b ./gcc/config/mips/isa3264.h -3645898751b ./gcc/config/mips/isa32-linux.h -1922092548b ./gcc/config/mips/linux.h -2202363688b ./gcc/config/mips/little.h -2024693888b ./gcc/config/mips/mips16.S -3112223626b ./gcc/config/mips/mips-5.h -4175300921b ./gcc/config/mips/mips.c -1450296441b ./gcc/config/mips/mips.h -3326013566b ./gcc/config/mips/mips.md -4191298187b ./gcc/config/mips/mips-protos.h -3451330990b ./gcc/config/mips/netbsd.h -1685635385b ./gcc/config/mips/news4.h -3776131275b ./gcc/config/mips/news5.h - 807792414b ./gcc/config/mips/nws3250v4.h - 391873849b ./gcc/config/mips/openbsd-be.h -2082964611b ./gcc/config/mips/openbsd.h - 14433004b ./gcc/config/mips/osfrose.h - 440031462b ./gcc/config/mips/r3900.h -1390680376b ./gcc/config/mips/rtems64.h - 725646271b ./gcc/config/mips/rtems.h -4240783400b ./gcc/config/mips/sni-gas.h - 670897314b ./gcc/config/mips/sni-svr4.h -3194520655b ./gcc/config/mips/svr3-4.h - 767984692b ./gcc/config/mips/svr3-5.h -2860455593b ./gcc/config/mips/svr4-4.h - 980733461b ./gcc/config/mips/svr4-5.h -2452459111b ./gcc/config/mips/svr4-t.h -2607420510b ./gcc/config/mips/t-bsd -2303697534b ./gcc/config/mips/t-bsd-gas -3044783963b ./gcc/config/mips/t-cross64 -3379398326b ./gcc/config/mips/t-ecoff -3744526568b ./gcc/config/mips/t-elf -2896429436b ./gcc/config/mips/t-iris -1323445357b ./gcc/config/mips/t-iris6 -2995723142b ./gcc/config/mips/t-isa3264 -3174612276b ./gcc/config/mips/t-linux -3174612276b ./gcc/config/mips/t-netbsd -1879935135b ./gcc/config/mips/t-r3900 -1413700483b ./gcc/config/mips/t-svr3 -3653081423b ./gcc/config/mips/t-svr3-gas - 764398973b ./gcc/config/mips/t-svr4 -2691764145b ./gcc/config/mips/t-svr4-gas -1592869717b ./gcc/config/mips/t-ultrix - 904152708b ./gcc/config/mips/ultrix.h -2931924525b ./gcc/config/mips/vxworks.h -3454112118b ./gcc/config/mips/xm-iris5.h -1256346916b ./gcc/config/mmix/crti.asm -4149276856b ./gcc/config/mmix/crtn.asm -1365569292b ./gcc/config/mmix/mmix.c -3912110255b ./gcc/config/mmix/mmix.h - 785535891b ./gcc/config/mmix/mmix.md -1558302901b ./gcc/config/mmix/mmix-protos.h -1410017015b ./gcc/config/mmix/t-mmix - 38698671b ./gcc/config/mn10200/lib1funcs.asm - 585104722b ./gcc/config/mn10200/mn10200.c -3521160628b ./gcc/config/mn10200/mn10200.h -1601326717b ./gcc/config/mn10200/mn10200.md -4029388596b ./gcc/config/mn10200/mn10200-protos.h -2767557893b ./gcc/config/mn10200/t-mn10200 - 62398656b ./gcc/config/mn10300/mn10300.c -2168100301b ./gcc/config/mn10300/mn10300.h - 680410204b ./gcc/config/mn10300/mn10300.md -3249413352b ./gcc/config/mn10300/mn10300-protos.h -3295955402b ./gcc/config/mn10300/t-mn10300 -3969750295b ./gcc/config/netbsd-aout.h -2304062656b ./gcc/config/netbsd-elf.h -1669681271b ./gcc/config/netbsd.h -3670236471b ./gcc/config/netware.h -3498035575b ./gcc/config/nextstep21.h - 884710202b ./gcc/config/nextstep.c - 251016432b ./gcc/config/nextstep.h -2525790015b ./gcc/config/nextstep-protos.h - 505151767b ./gcc/config/ns32k/encore.h -3294809321b ./gcc/config/ns32k/merlin.h -1759962800b ./gcc/config/ns32k/netbsd.h -1296740637b ./gcc/config/ns32k/ns32k.c -1493984519b ./gcc/config/ns32k/ns32k.h -1903185806b ./gcc/config/ns32k/ns32k.md -1708247420b ./gcc/config/ns32k/ns32k-protos.h -3974800750b ./gcc/config/ns32k/pc532.h - 104963810b ./gcc/config/ns32k/pc532-mach.h -1249730935b ./gcc/config/ns32k/pc532-min.h -1951152204b ./gcc/config/ns32k/sequent.h -3970632321b ./gcc/config/ns32k/tek6000.h - 906085514b ./gcc/config/ns32k/tek6100.h -3417438490b ./gcc/config/ns32k/tek6200.h - 247387334b ./gcc/config/openbsd.h -2401043639b ./gcc/config/pa/elf.h -1435423353b ./gcc/config/pa/lib1funcs.asm - 454965220b ./gcc/config/pa/lib2funcs.asm -2056209887b ./gcc/config/pa/long_double.h -2062031370b ./gcc/config/pa/milli32.S - 401709680b ./gcc/config/pa/milli64.S -2660241824b ./gcc/config/pa/pa32-linux.h -3627454173b ./gcc/config/pa/pa32-regs.h - 255410879b ./gcc/config/pa/pa-64.h -2399407521b ./gcc/config/pa/pa64-hpux.h -4127689659b ./gcc/config/pa/pa64-linux.h - 106717215b ./gcc/config/pa/pa64-regs.h -3813586304b ./gcc/config/pa/pa64-start.h -2253880751b ./gcc/config/pa/pa.c -4124147372b ./gcc/config/pa/pa.h -2070570431b ./gcc/config/pa/pa-hiux.h - 722967032b ./gcc/config/pa/pa-hpux10.h -3160109858b ./gcc/config/pa/pa-hpux11.h -3949639215b ./gcc/config/pa/pa-hpux7.h -3124002443b ./gcc/config/pa/pa-hpux9.h -2419055394b ./gcc/config/pa/pa-hpux.h -2614885764b ./gcc/config/pa/pa-linux.h -2396760795b ./gcc/config/pa/pa.md -3618123809b ./gcc/config/pa/pa-oldas.h -3108768032b ./gcc/config/pa/pa-osf.h -2360373262b ./gcc/config/pa/pa-pro-end.h -1408239843b ./gcc/config/pa/pa-protos.h -1224647575b ./gcc/config/pa/quadlib.c - 17931766b ./gcc/config/pa/rtems.h - 971757202b ./gcc/config/pa/som.h - 299977776b ./gcc/config/pa/t-bsd -1117935804b ./gcc/config/pa/t-dce-thr -4044826599b ./gcc/config/pa/t-hpux-shlib - 176583881b ./gcc/config/pa/t-linux -3127053933b ./gcc/config/pa/t-linux64 -1211178790b ./gcc/config/pa/t-mpeix -3597581162b ./gcc/config/pa/t-pa -1659865778b ./gcc/config/pa/t-pa64 -2754633370b ./gcc/config/pa/t-pa-hpux - 817714064b ./gcc/config/pa/t-pro -1293323254b ./gcc/config/pa/x-ada -4118902235b ./gcc/config/pdp11/2bsd.h -3233992791b ./gcc/config/pdp11/pdp11.c -3228770397b ./gcc/config/pdp11/pdp11.h -3587948093b ./gcc/config/pdp11/pdp11.md -1678731791b ./gcc/config/pdp11/pdp11-protos.h -3096460014b ./gcc/config/pdp11/t-pdp11 -1460345365b ./gcc/config/pj/lib1funcs.S -3899085832b ./gcc/config/pj/linux.h -3905905230b ./gcc/config/pj/pj.c -2997103714b ./gcc/config/pj/pj.h - 140528803b ./gcc/config/pj/pjl.h -4115579495b ./gcc/config/pj/pj.md - 827420337b ./gcc/config/pj/pj-protos.h -3942936368b ./gcc/config/pj/t-pj -1311052798b ./gcc/config/psos.h -1638983603b ./gcc/config/ptx4.h -3917072699b ./gcc/config/README -1415145997b ./gcc/config/romp/romp.c -4030226328b ./gcc/config/romp/romp.h -4096557609b ./gcc/config/romp/romp.md -1229374838b ./gcc/config/romp/romp-protos.h -3731158896b ./gcc/config/rs6000/aix31.h -2741987967b ./gcc/config/rs6000/aix3newas.h -1702283472b ./gcc/config/rs6000/aix41.h -1402586921b ./gcc/config/rs6000/aix43.h -1428773917b ./gcc/config/rs6000/aix51.h - 676923459b ./gcc/config/rs6000/aix.h -1953946692b ./gcc/config/rs6000/altivec-defs.h -3231976674b ./gcc/config/rs6000/altivec.h - 510508394b ./gcc/config/rs6000/beos.h - 511519789b ./gcc/config/rs6000/crtsavres.asm - 362681124b ./gcc/config/rs6000/darwin.h -3983537248b ./gcc/config/rs6000/darwin-tramp.asm - 318728404b ./gcc/config/rs6000/eabiaix.h -1991998428b ./gcc/config/rs6000/eabialtivec.h -2647778291b ./gcc/config/rs6000/eabi.asm - 383867253b ./gcc/config/rs6000/eabi-ci.asm -3758141774b ./gcc/config/rs6000/eabi-cn.asm -4071223554b ./gcc/config/rs6000/eabi.h -1258445797b ./gcc/config/rs6000/eabisim.h -3017082484b ./gcc/config/rs6000/freebsd.h -4293496085b ./gcc/config/rs6000/gnu.h -1281642247b ./gcc/config/rs6000/linux64.h -1351560312b ./gcc/config/rs6000/linuxaltivec.h -3642990693b ./gcc/config/rs6000/linux.h -1286374006b ./gcc/config/rs6000/lynx.h -4204979131b ./gcc/config/rs6000/mach.h -1820610909b ./gcc/config/rs6000/milli.exp - 926081320b ./gcc/config/rs6000/netbsd.h -4127185084b ./gcc/config/rs6000/ppc-asm.h -2628430224b ./gcc/config/rs6000/rs6000.c -1882734550b ./gcc/config/rs6000/rs6000.h -1182996779b ./gcc/config/rs6000/rs6000.md -4107218804b ./gcc/config/rs6000/rs6000-protos.h -1817513646b ./gcc/config/rs6000/rtems.h -2439652147b ./gcc/config/rs6000/softfloat.h -3703627966b ./gcc/config/rs6000/sol-ci.asm -3016810975b ./gcc/config/rs6000/sol-cn.asm -1082828955b ./gcc/config/rs6000/sysv4.h -3795959522b ./gcc/config/rs6000/sysv4le.h - 781650112b ./gcc/config/rs6000/t-aix43 -2042460673b ./gcc/config/rs6000/t-beos -3302666617b ./gcc/config/rs6000/t-darwin -2019934202b ./gcc/config/rs6000/t-linux64 -4049449059b ./gcc/config/rs6000/t-newas -3107528900b ./gcc/config/rs6000/t-ppccomm - 365048301b ./gcc/config/rs6000/t-ppcgas -3552141086b ./gcc/config/rs6000/t-ppcos - 85679922b ./gcc/config/rs6000/tramp.asm - 946774617b ./gcc/config/rs6000/t-rs6000 - 301220496b ./gcc/config/rs6000/vxppc.h - 950192882b ./gcc/config/rs6000/xcoff.h -1142085470b ./gcc/config/rtems.h -3390348482b ./gcc/config/s390/fixdfdi.h -1234245155b ./gcc/config/s390/libgcc-glibc.ver - 661638700b ./gcc/config/s390/linux.h -3979416840b ./gcc/config/s390/s390.c -2354192299b ./gcc/config/s390/s390.h -2229281672b ./gcc/config/s390/s390.md -1407420306b ./gcc/config/s390/s390-protos.h -3998835120b ./gcc/config/s390/s390x.h -1051100452b ./gcc/config/s390/t-linux -2020003531b ./gcc/config/s390/t-linux64 - 41732123b ./gcc/config/sh/crt1.asm - 643557115b ./gcc/config/sh/crti.asm - 567573801b ./gcc/config/sh/crtn.asm -1588713186b ./gcc/config/sh/elf.h -3107978185b ./gcc/config/sh/lib1funcs.asm - 450228266b ./gcc/config/sh/linux.h -2022181827b ./gcc/config/sh/rtemself.h -1498631144b ./gcc/config/sh/rtems.h -1071738647b ./gcc/config/sh/sh64.h -3254166331b ./gcc/config/sh/sh.c -3738163077b ./gcc/config/sh/sh.h -1738052341b ./gcc/config/sh/sh.md -3656510246b ./gcc/config/sh/shmedia.h - 410816511b ./gcc/config/sh/sh-protos.h -4192915538b ./gcc/config/sh/sshmedia.h -3555569248b ./gcc/config/sh/t-elf -3486728930b ./gcc/config/sh/t-linux -2597458196b ./gcc/config/sh/t-sh - 672246409b ./gcc/config/sh/t-sh64 -2893164163b ./gcc/config/sh/ushmedia.h -1926756242b ./gcc/config/sparc/aout.h -3461838008b ./gcc/config/sparc/biarch64.h -1386942151b ./gcc/config/sparc/bsd.h -1479022830b ./gcc/config/sparc/crtfastmath.c - 54964474b ./gcc/config/sparc/elf.h -1883862361b ./gcc/config/sparc/freebsd.h -1322899413b ./gcc/config/sparc/gmon-sol2.c -3746795534b ./gcc/config/sparc/hal.h -3587954192b ./gcc/config/sparc/lb1spc.asm - 557614974b ./gcc/config/sparc/lb1spl.asm -1761187951b ./gcc/config/sparc/libgcc-sparc-glibc.ver - 753491459b ./gcc/config/sparc/linux64.h -2544415545b ./gcc/config/sparc/linux-aout.h -1914379195b ./gcc/config/sparc/linux.h -2163445162b ./gcc/config/sparc/litecoff.h -1933660745b ./gcc/config/sparc/liteelf.h -2424336991b ./gcc/config/sparc/lite.h -2399395336b ./gcc/config/sparc/lynx.h -2334021382b ./gcc/config/sparc/lynx-ng.h -3811927118b ./gcc/config/sparc/netbsd-elf.h - 365271853b ./gcc/config/sparc/netbsd.h -1122827784b ./gcc/config/sparc/openbsd1-64.h -1977030271b ./gcc/config/sparc/openbsd64.h - 349992599b ./gcc/config/sparc/openbsd.h -3728184707b ./gcc/config/sparc/pbd.h -2243601282b ./gcc/config/sparc/rtemself.h -4106236389b ./gcc/config/sparc/rtems.h -1579903847b ./gcc/config/sparc/sol2-64.h -2488307215b ./gcc/config/sparc/sol27-sld.h -1510111749b ./gcc/config/sparc/sol2-bi.h -1463670426b ./gcc/config/sparc/sol2-c1.asm -3288323690b ./gcc/config/sparc/sol2-ci.asm -2004370404b ./gcc/config/sparc/sol2-cn.asm -2182182911b ./gcc/config/sparc/sol2-g1.asm - 878755050b ./gcc/config/sparc/sol2-gas-bi.h -3173831404b ./gcc/config/sparc/sol2-gld-bi.h -4206582763b ./gcc/config/sparc/sol2-gld.h -2455246824b ./gcc/config/sparc/sol2.h -3918002150b ./gcc/config/sparc/sp64-aout.h -2870886299b ./gcc/config/sparc/sp64-elf.h -3128199560b ./gcc/config/sparc/sp86x-aout.h -1221714757b ./gcc/config/sparc/sp86x-elf.h -2169834781b ./gcc/config/sparc/sparc.c -3432806460b ./gcc/config/sparc/sparc.h - 879790849b ./gcc/config/sparc/sparc.md -4023359087b ./gcc/config/sparc/sparc-protos.h - 842964351b ./gcc/config/sparc/splet.h - 952337645b ./gcc/config/sparc/sun4gas.h -1795303911b ./gcc/config/sparc/sun4o3.h - 721602587b ./gcc/config/sparc/sunos4.h - 14508846b ./gcc/config/sparc/sysv4.h -2782836992b ./gcc/config/sparc/t-chorus-elf -2056024669b ./gcc/config/sparc/t-crtfm -3744055768b ./gcc/config/sparc/t-elf -1582758741b ./gcc/config/sparc/t-halos -2435625847b ./gcc/config/sparc/t-linux64 -1132426437b ./gcc/config/sparc/t-netbsd64 -1190032917b ./gcc/config/sparc/t-openbsd - 851768603b ./gcc/config/sparc/t-sol2 -3560385692b ./gcc/config/sparc/t-sol2-64 -4194854877b ./gcc/config/sparc/t-sp86x -2727045329b ./gcc/config/sparc/t-sparcbare -1324996929b ./gcc/config/sparc/t-sparclite -4249538597b ./gcc/config/sparc/t-splet -1776401931b ./gcc/config/sparc/t-sunos41 -3082115393b ./gcc/config/sparc/t-vxsparc -3638105138b ./gcc/config/sparc/t-vxsparc64 -2444638453b ./gcc/config/sparc/vxsim.h -3450727705b ./gcc/config/sparc/vxsparc64.h -1610820992b ./gcc/config/sparc/vxsparc.h -1548984109b ./gcc/config/stormy16/stormy16.c -3776989782b ./gcc/config/stormy16/stormy16.h -4011003560b ./gcc/config/stormy16/stormy16-lib2.c - 552174638b ./gcc/config/stormy16/stormy16.md -2190947530b ./gcc/config/stormy16/stormy16-protos.h -1002673818b ./gcc/config/stormy16/stormy-abi -3561720924b ./gcc/config/stormy16/t-stormy16 -2159505844b ./gcc/config/svr3.h -4237693824b ./gcc/config/svr4.h -2749923948b ./gcc/config/t-freebsd -3853732254b ./gcc/config/t-freebsd-thread -2512129728b ./gcc/config/t-gnu -3050012299b ./gcc/config/t-install-cpp - 825269638b ./gcc/config/t-interix -1047761087b ./gcc/config/t-libc-ok -2753685882b ./gcc/config/t-libgcc-pic -2712900964b ./gcc/config/t-linux - 825269638b ./gcc/config/t-linux-aout -3205817010b ./gcc/config/t-linux-gnulibc1 - 121353396b ./gcc/config/tm-dwarf2.h - 825269638b ./gcc/config/t-netbsd -2903849127b ./gcc/config/t-openbsd -2917904648b ./gcc/config/t-openbsd-thread -2246241652b ./gcc/config/t-rtems -2258421829b ./gcc/config/t-slibgcc-elf-ver -2124668958b ./gcc/config/t-slibgcc-nolc-override -1896414626b ./gcc/config/t-slibgcc-sld - 321200235b ./gcc/config/t-svr4 - 937080303b ./gcc/config/udivmod.c -2590328114b ./gcc/config/udivmodsi4.c -2291528331b ./gcc/configure -2239237249b ./gcc/configure.frag -4254063890b ./gcc/configure.in -1401546799b ./gcc/config/usegas.h -1330961877b ./gcc/config/v850/lib1funcs.asm -3345272584b ./gcc/config/v850/rtems.h -3046767615b ./gcc/config/v850/t-v850 -2149356335b ./gcc/config/v850/v850.c -4072890677b ./gcc/config/v850/v850-c.c -1028297694b ./gcc/config/v850/v850.h -2739963548b ./gcc/config/v850/v850.md -1229280760b ./gcc/config/v850/v850-protos.h - 678831326b ./gcc/config/vax/netbsd.h -3271953013b ./gcc/config/vax/openbsd1.h -2993271330b ./gcc/config/vax/openbsd.h -1070068995b ./gcc/config/vax/ultrix.h -3091217209b ./gcc/config/vax/vax.c -3909127338b ./gcc/config/vax/vax.h - 657520682b ./gcc/config/vax/vax.md -3894216269b ./gcc/config/vax/vax-protos.h -3118052779b ./gcc/config/vax/vaxv.h -1265968606b ./gcc/config/vax/vms.h -1260653442b ./gcc/config/vax/xm-vms.h - 560039799b ./gcc/config/we32k/we32k.c - 423633273b ./gcc/config/we32k/we32k.h -3169968881b ./gcc/config/we32k/we32k.md -2514844092b ./gcc/config/we32k/we32k-protos.h -2711497169b ./gcc/config/x-interix -1151914555b ./gcc/config/xtensa/elf.h -1027874511b ./gcc/config/xtensa/lib1funcs.asm -3621223618b ./gcc/config/xtensa/lib2funcs.S -2321639494b ./gcc/config/xtensa/linux.h -3617796239b ./gcc/config/xtensa/t-xtensa - 221057176b ./gcc/config/xtensa/xtensa.c -2796950173b ./gcc/config/xtensa/xtensa-config.h -3802608261b ./gcc/config/xtensa/xtensa.h -1183159023b ./gcc/config/xtensa/xtensa.md -2389425253b ./gcc/config/xtensa/xtensa-protos.h -3382606314b ./gcc/conflict.c -2854418854b ./gcc/convert.c -2020855935b ./gcc/convert.h -2171125041b ./gcc/COPYING - 508743035b ./gcc/COPYING.LIB -1845167332b ./gcc/c-parse.c - 300639623b ./gcc/c-parse.in - 492383053b ./gcc/c-parse.y - 211407592b ./gcc/cp/call.c -4115552602b ./gcc/cp/cfns.gperf -1705070232b ./gcc/cp/cfns.h - 696338438b ./gcc/cp/ChangeLog -2221404065b ./gcc/cp/ChangeLog.1 -2127340768b ./gcc/cp/ChangeLog.2 -2546444747b ./gcc/cp/ChangeLog.egcs -3828154577b ./gcc/cp/class.c -1309293181b ./gcc/cp/config-lang.in -4084279121b ./gcc/cp/cp-lang.c -2928114977b ./gcc/cp/cp-tree.def -4216823168b ./gcc/cp/cp-tree.h -1230086821b ./gcc/cp/.cvsignore - 106302269b ./gcc/cp/cvt.c - 276724828b ./gcc/cp/decl2.c -3891994909b ./gcc/cp/decl.c -3040950596b ./gcc/cp/decl.h -1503739344b ./gcc/cp/dump.c -1402846352b ./gcc/cp/error.c -1298672024b ./gcc/cp/except.c -2612079645b ./gcc/cp/expr.c - 728682437b ./gcc/cp/friend.c -1574667259b ./gcc/cp/g++.1 -3180385434b ./gcc/cp/g++spec.c -1504087345b ./gcc/cp/init.c -3812650249b ./gcc/cp/lang-options.h -2714092533b ./gcc/cp/lang-specs.h -1945319355b ./gcc/cp/lex.c -2280147967b ./gcc/cp/lex.h -2683095257b ./gcc/cp/Make-lang.in -1932648807b ./gcc/cp/mangle.c -3212394829b ./gcc/cp/method.c - 701335209b ./gcc/cp/mpw-config.in -4041177245b ./gcc/cp/mpw-make.sed -3379488726b ./gcc/cp/NEWS -3146548402b ./gcc/cp/operators.def - 622478745b ./gcc/cp/optimize.c -2202196704b ./gcc/cp/parse.c - 24533096b ./gcc/cp/parse.h -1414382616b ./gcc/cp/parse.y -1602205564b ./gcc/cppdefault.c - 733799898b ./gcc/cppdefault.h -3582099799b ./gcc/cpperror.c -4072103215b ./gcc/cppexp.c -2221722550b ./gcc/cppfiles.c -2283152717b ./gcc/cpphash.c -3545195852b ./gcc/cpphash.h -2419669468b ./gcc/cppinit.c - 201524367b ./gcc/cpplex.c -2222966585b ./gcc/cpplib.c -3414601474b ./gcc/cpplib.h -3518489790b ./gcc/cppmacro.c -2363485754b ./gcc/cppmain.c -3972345626b ./gcc/cppspec.c -3092071067b ./gcc/cp/pt.c -1408553642b ./gcc/cp/ptree.c - 73956308b ./gcc/c-pragma.c -1212765089b ./gcc/c-pragma.h -3993964584b ./gcc/cp/repo.c -1891418656b ./gcc/cp/rtti.c -1831732259b ./gcc/cp/search.c -1562130475b ./gcc/cp/semantics.c -2648162646b ./gcc/cp/spew.c -3766127741b ./gcc/cp/tree.c -1284974262b ./gcc/cp/typeck2.c -3575565334b ./gcc/cp/typeck.c -2032357073b ./gcc/crtstuff.c -3365219033b ./gcc/cse.c -1706957017b ./gcc/cselib.c -3914093915b ./gcc/cselib.h -2383555787b ./gcc/c-semantics.c - 216805921b ./gcc/cstamp-h.in -2780104305b ./gcc/c-tree.h -1526402625b ./gcc/c-typeck.c -4208197548b ./gcc/.cvsignore -1308064076b ./gcc/dbxout.c -2583180678b ./gcc/dbxout.h -1104788844b ./gcc/dbxstclass.h -2470087149b ./gcc/debug.c - 178689220b ./gcc/debug.h - 852153964b ./gcc/defaults.h -2369804086b ./gcc/dependence.c -2491556822b ./gcc/df.c -3792421516b ./gcc/df.h -1042165669b ./gcc/diagnostic.c -1311569781b ./gcc/diagnostic.def -4192732570b ./gcc/diagnostic.h - 23600501b ./gcc/doc/bugreport.texi -2815010075b ./gcc/doc/collect2.texi -3060436631b ./gcc/doc/compat.texi -2785243168b ./gcc/doc/configfiles.texi -3399730921b ./gcc/doc/configterms.texi -2163122922b ./gcc/doc/contrib.texi -2272556046b ./gcc/doc/contribute.texi - 299886887b ./gcc/doc/cpp.1 -1838233798b ./gcc/doc/cppenv.texi - 942037060b ./gcc/doc/cpp.info - 579743374b ./gcc/doc/cpp.info-1 -3971167691b ./gcc/doc/cpp.info-2 -3217640916b ./gcc/doc/cpp.info-3 -3238131507b ./gcc/doc/cpp.info-4 - 113743627b ./gcc/doc/cpp.info-5 -4128300115b ./gcc/doc/cppinternals.info -1958814700b ./gcc/doc/cppinternals.texi - 685869710b ./gcc/doc/cppopts.texi -3543132597b ./gcc/doc/cpp.texi -3813743019b ./gcc/doc/c-tree.texi -1471878644b ./gcc/doc/.cvsignore -1477628931b ./gcc/doc/extend.texi -2634996326b ./gcc/doc/fragments.texi - 600815516b ./gcc/doc/frontends.texi -4060734459b ./gcc/doc/fsf-funding.7 -2701882048b ./gcc/doc/gcc.1 -3771908520b ./gcc/doc/gcc.info -1921369526b ./gcc/doc/gcc.info-1 - 809288507b ./gcc/doc/gcc.info-10 - 937687037b ./gcc/doc/gcc.info-11 -2472794790b ./gcc/doc/gcc.info-12 -3020319333b ./gcc/doc/gcc.info-13 -3100556077b ./gcc/doc/gcc.info-14 -2100335389b ./gcc/doc/gcc.info-15 -1973326326b ./gcc/doc/gcc.info-16 -4233127554b ./gcc/doc/gcc.info-17 -1177537033b ./gcc/doc/gcc.info-18 -2957434958b ./gcc/doc/gcc.info-19 - 546744273b ./gcc/doc/gcc.info-2 -4179571895b ./gcc/doc/gcc.info-20 - 503977090b ./gcc/doc/gcc.info-21 -3135435025b ./gcc/doc/gcc.info-22 - 766898990b ./gcc/doc/gcc.info-23 - 177802939b ./gcc/doc/gcc.info-3 - 300919832b ./gcc/doc/gcc.info-4 -3173162766b ./gcc/doc/gcc.info-5 - 523405852b ./gcc/doc/gcc.info-6 -4075929926b ./gcc/doc/gcc.info-7 -1604498314b ./gcc/doc/gcc.info-8 - 701416922b ./gcc/doc/gcc.info-9 -1334526965b ./gcc/doc/gccint.info -3600548089b ./gcc/doc/gccint.info-1 -1504619998b ./gcc/doc/gccint.info-10 -3473339140b ./gcc/doc/gccint.info-11 - 121842836b ./gcc/doc/gccint.info-12 -4274041826b ./gcc/doc/gccint.info-13 -3366735740b ./gcc/doc/gccint.info-14 -3485597023b ./gcc/doc/gccint.info-15 -1782892412b ./gcc/doc/gccint.info-16 -2959978575b ./gcc/doc/gccint.info-17 -4176515869b ./gcc/doc/gccint.info-18 -2985208404b ./gcc/doc/gccint.info-19 - 630391800b ./gcc/doc/gccint.info-2 - 202943203b ./gcc/doc/gccint.info-20 -3389515766b ./gcc/doc/gccint.info-21 - 244064775b ./gcc/doc/gccint.info-22 -3017009534b ./gcc/doc/gccint.info-23 -1907881660b ./gcc/doc/gccint.info-3 -1456140435b ./gcc/doc/gccint.info-4 - 645003639b ./gcc/doc/gccint.info-5 -2130774212b ./gcc/doc/gccint.info-6 -2788607605b ./gcc/doc/gccint.info-7 - 422138694b ./gcc/doc/gccint.info-8 -3245006523b ./gcc/doc/gccint.info-9 - 926520134b ./gcc/doc/gccint.texi - 489956337b ./gcc/doc/gcc.texi - 439884872b ./gcc/doc/gcov.1 -3165676809b ./gcc/doc/gcov.texi - 41943876b ./gcc/doc/gfdl.7 -4217859569b ./gcc/doc/gnu.texi -1434573161b ./gcc/doc/gpl.7 -2632697239b ./gcc/doc/headerdirs.texi -1425599017b ./gcc/doc/hostconfig.texi -1232987106b ./gcc/doc/include/fdl.texi -2048065465b ./gcc/doc/include/funding.texi -3327005891b ./gcc/doc/include/gcc-common.texi -1416455933b ./gcc/doc/include/gpl.texi -3627483023b ./gcc/doc/include/texinfo.tex -4219640220b ./gcc/doc/install-old.texi - 977716914b ./gcc/doc/install.texi -1451529977b ./gcc/doc/install.texi2html -1103982611b ./gcc/doc/interface.texi -1690368898b ./gcc/doc/invoke.texi -1327866291b ./gcc/doc/languages.texi - 409601074b ./gcc/doc/makefile.texi - 647485435b ./gcc/doc/md.texi -2014418726b ./gcc/doc/objc.texi - 285120363b ./gcc/doc/passes.texi -2247614285b ./gcc/doc/portability.texi -2576532070b ./gcc/doc/rtl.texi -3603168219b ./gcc/doc/service.texi -3643604442b ./gcc/doc/sourcebuild.texi -2997941012b ./gcc/doc/standards.texi -3195862103b ./gcc/doc/tm.texi - 886635974b ./gcc/doc/trouble.texi -3478556786b ./gcc/doc/vms.texi -2482239883b ./gcc/doloop.c -1033704706b ./gcc/dominance.c -2791449994b ./gcc/doschk.c - 31829346b ./gcc/dwarf2asm.c -2077057275b ./gcc/dwarf2asm.h -2184520814b ./gcc/dwarf2.h -3548213262b ./gcc/dwarf2out.c -1010158138b ./gcc/dwarf2out.h - 109276966b ./gcc/dwarf.h -3359840971b ./gcc/dwarfout.c -1599988341b ./gcc/emit-rtl.c - 626897841b ./gcc/enquire.c -2953931641b ./gcc/errors.c -3972701730b ./gcc/errors.h -1431652736b ./gcc/except.c -2826708782b ./gcc/except.h - 908040152b ./gcc/explow.c -1156766543b ./gcc/expmed.c -3693001667b ./gcc/expr.c -3115307664b ./gcc/expr.h -1934744031b ./gcc/f/ansify.c -1543506773b ./gcc/f/bad.c -3978113547b ./gcc/f/bad.def -2128126262b ./gcc/f/bad.h -4003760421b ./gcc/f/bit.c - 194938753b ./gcc/f/bit.h - 948632599b ./gcc/f/bld.c -3286267604b ./gcc/f/bld.h -2128697889b ./gcc/f/bld-op.def - 576635123b ./gcc/f/BUGS - 235013049b ./gcc/f/bugs0.texi - 158397208b ./gcc/f/bugs.texi -2823422254b ./gcc/f/ChangeLog -4225493150b ./gcc/f/ChangeLog.0 -1588166676b ./gcc/f/com.c - 87369815b ./gcc/f/com.h -2664732170b ./gcc/f/com-rt.def - 535595698b ./gcc/f/config-lang.in -1546791101b ./gcc/f/.cvsignore -1011994563b ./gcc/f/data.c -1923155684b ./gcc/f/data.h -1611338677b ./gcc/f/equiv.c -2175994638b ./gcc/f/equiv.h -2251785098b ./gcc/f/expr.c - 417834755b ./gcc/f/expr.h -2351117682b ./gcc/f/ffe.texi - 782070966b ./gcc/f/fini.c -3506777541b ./gcc/f/g77.1 -3497434494b ./gcc/f/g77.info -1405242906b ./gcc/f/g77.info-1 -4020360826b ./gcc/f/g77.info-10 -2010631566b ./gcc/f/g77.info-11 -2792393564b ./gcc/f/g77.info-12 -3461821628b ./gcc/f/g77.info-13 -1208071216b ./gcc/f/g77.info-14 -1936205287b ./gcc/f/g77.info-15 -2810069222b ./gcc/f/g77.info-16 - 259584195b ./gcc/f/g77.info-17 -4125227617b ./gcc/f/g77.info-18 - 254417931b ./gcc/f/g77.info-19 - 179100652b ./gcc/f/g77.info-2 - 26285497b ./gcc/f/g77.info-20 -3543736255b ./gcc/f/g77.info-21 - 116586643b ./gcc/f/g77.info-3 -3513135358b ./gcc/f/g77.info-4 - 676912166b ./gcc/f/g77.info-5 - 145000084b ./gcc/f/g77.info-6 -2563451928b ./gcc/f/g77.info-7 -3172593296b ./gcc/f/g77.info-8 -2848927902b ./gcc/f/g77.info-9 -2824974536b ./gcc/f/g77spec.c -3054392079b ./gcc/f/g77.texi -4062822261b ./gcc/f/global.c -3559352394b ./gcc/f/global.h -1392305407b ./gcc/f/implic.c -3939649511b ./gcc/f/implic.h -1237323857b ./gcc/final.c -2287601317b ./gcc/f/info-b.def -2342702754b ./gcc/f/info.c -1115234844b ./gcc/f/info.h -2535813338b ./gcc/f/info-k.def -2242176401b ./gcc/f/info-w.def -3953937189b ./gcc/f/intdoc.c -3843015483b ./gcc/f/intdoc.in -4069635816b ./gcc/f/intdoc.texi -2410122381b ./gcc/f/intrin.c -1048488593b ./gcc/f/intrin.def -3418049706b ./gcc/f/intrin.h -2243664841b ./gcc/f/invoke.texi -2247789519b ./gcc/fix-header.c -2894614091b ./gcc/fixinc/check.tpl - 786772235b ./gcc/fixinc/fixfixes.c -3110054233b ./gcc/fixinc/fixinc.dgux - 15758129b ./gcc/fixinc/fixinc.interix -1824978333b ./gcc/fixinc/fixincl.c -4214658264b ./gcc/fixinc/fixincl.sh -2178021789b ./gcc/fixinc/fixincl.tpl -3312009046b ./gcc/fixinc/fixincl.x -1474597097b ./gcc/fixinc/fixinc.ptx -1901674452b ./gcc/fixinc/fixinc.svr4 -2193207840b ./gcc/fixinc/fixinc.winnt -1439814780b ./gcc/fixinc/fixinc.wrap -1372603529b ./gcc/fixinc/fixlib.c - 971233728b ./gcc/fixinc/fixlib.h -4013194329b ./gcc/fixinc/fixtests.c -2003329934b ./gcc/fixinc/genfixes - 605191257b ./gcc/fixinc/gnu-regex.c -1403987073b ./gcc/fixinc/gnu-regex.h -2194272133b ./gcc/fixinc/inclhack.def -3390155447b ./gcc/fixinc/Makefile.in -3327140809b ./gcc/fixinc/mkfixinc.sh -1834585069b ./gcc/fixinc/procopen.c -2750464368b ./gcc/fixinc/README -1750379031b ./gcc/fixinc/server.c -3490851801b ./gcc/fixinc/server.h -1165473466b ./gcc/fixinc/tests/base/ansi/math.h -3124694417b ./gcc/fixinc/tests/base/ansi/stdlib.h -2980092932b ./gcc/fixinc/tests/base/arch/i960/archI960.h -1062137968b ./gcc/fixinc/tests/base/arpa/inet.h - 597415717b ./gcc/fixinc/tests/base/assert.h -3220984809b ./gcc/fixinc/tests/base/bsd/libc.h -1799847368b ./gcc/fixinc/tests/base/c_asm.h -2725396384b ./gcc/fixinc/tests/base/ctrl-quotes-def-1.h -3049981119b ./gcc/fixinc/tests/base/curses.h -2909636960b ./gcc/fixinc/tests/base/fcntl.h -3901972537b ./gcc/fixinc/tests/base/fixinc-test-limits.h -4150745363b ./gcc/fixinc/tests/base/hsfs/hsfs_spec.h -2118846136b ./gcc/fixinc/tests/base/inttypes.h - 92918392b ./gcc/fixinc/tests/base/io-quotes-def-1.h -2670651204b ./gcc/fixinc/tests/base/libgen.h -1854625388b ./gcc/fixinc/tests/base/machine/cpu.h - 114078425b ./gcc/fixinc/tests/base/malloc.h -2389003803b ./gcc/fixinc/tests/base/math.h -2373596333b ./gcc/fixinc/tests/base/netdnet/dnetdb.h -4211518276b ./gcc/fixinc/tests/base/netinet/ip.h -3107111098b ./gcc/fixinc/tests/base/pixrect/memvar.h - 634408265b ./gcc/fixinc/tests/base/pthread.h -2876721819b ./gcc/fixinc/tests/base/regex.h - 351364386b ./gcc/fixinc/tests/base/reg_types.h -2249464053b ./gcc/fixinc/tests/base/rpc/auth.h -4166238922b ./gcc/fixinc/tests/base/rpc/rpc.h - 778394431b ./gcc/fixinc/tests/base/rpc/svc.h -1831085175b ./gcc/fixinc/tests/base/rpcsvc/rstat.h -2162639252b ./gcc/fixinc/tests/base/rpcsvc/rusers.h - 164451816b ./gcc/fixinc/tests/base/rpc/xdr.h - 135186565b ./gcc/fixinc/tests/base/sparc/asm_linkage.h -2925418517b ./gcc/fixinc/tests/base/stdio.h -1529509815b ./gcc/fixinc/tests/base/stdio_tag.h - 135522837b ./gcc/fixinc/tests/base/stdlib.h -2941232612b ./gcc/fixinc/tests/base/strings.h - 482468002b ./gcc/fixinc/tests/base/sundev/vuid_event.h -1807434691b ./gcc/fixinc/tests/base/sunwindow/win_lock.h - 124945712b ./gcc/fixinc/tests/base/sym.h -3921290193b ./gcc/fixinc/tests/base/sys/asm.h - 54324049b ./gcc/fixinc/tests/base/sys/byteorder.h -1224260027b ./gcc/fixinc/tests/base/sys/cdefs.h -1406575472b ./gcc/fixinc/tests/base/sys/file.h -3052695740b ./gcc/fixinc/tests/base/sys/ioctl.h - 912107621b ./gcc/fixinc/tests/base/sys/limits.h - 645497489b ./gcc/fixinc/tests/base/sys/machine.h -3274995808b ./gcc/fixinc/tests/base/sys/mman.h -3800154687b ./gcc/fixinc/tests/base/sys/param.h -3041640682b ./gcc/fixinc/tests/base/sys/signal.h -2450632911b ./gcc/fixinc/tests/base/sys/spinlock.h - 711604668b ./gcc/fixinc/tests/base/sys/stat.h -2422167059b ./gcc/fixinc/tests/base/sys/time.h -2994886866b ./gcc/fixinc/tests/base/sys/times.h -1174710562b ./gcc/fixinc/tests/base/sys/types.h -3923345847b ./gcc/fixinc/tests/base/sys/utsname.h -3579560225b ./gcc/fixinc/tests/base/sys/wait.h -2119077343b ./gcc/fixinc/tests/base/testing.h - 10407256b ./gcc/fixinc/tests/base/time.h -3845139066b ./gcc/fixinc/tests/base/tinfo.h -4209310059b ./gcc/fixinc/tests/base/types/vxTypesBase.h -3839547353b ./gcc/fixinc/tests/base/unistd.h -1242753480b ./gcc/fixinc/tests/base/widec.h -1516247519b ./gcc/fixinc/tests/base/X11/Intrinsic.h -2715935838b ./gcc/fixinc/tests/base/X11/ShellP.h -4147305037b ./gcc/fixinc/tests/base/X11/Xmu.h -3373785317b ./gcc/fixinc/tests/base/Xm/BaseClassI.h -1118590845b ./gcc/fixinc/tests/base/Xm/Traversal.h -2236212838b ./gcc/fixproto -1861938661b ./gcc/f/lab.c -3674332618b ./gcc/f/lab.h -3658835587b ./gcc/flags.h - 136843109b ./gcc/f/lang-options.h -1977846343b ./gcc/f/lang-specs.h -4037310288b ./gcc/f/lex.c - 722310274b ./gcc/f/lex.h -1465737068b ./gcc/floatlib.c - 959822363b ./gcc/flow.c - 413109492b ./gcc/f/Make-lang.in -3929672430b ./gcc/f/malloc.c -1633854048b ./gcc/f/malloc.h -2687881356b ./gcc/f/name.c - 558328466b ./gcc/f/name.h -2816874481b ./gcc/f/NEWS -3453379674b ./gcc/f/news0.texi - 273264189b ./gcc/f/news.texi - 522369544b ./gcc/fold-const.c -2696377463b ./gcc/f/parse.c -1067232252b ./gcc/f/proj.h -3820449811b ./gcc/fp-test.c - 281424983b ./gcc/f/README -3295584012b ./gcc/f/RELEASE-PREP -3126162622b ./gcc/f/root.texi -2146007539b ./gcc/FSFChangeLog -4184732518b ./gcc/FSFChangeLog.10 -3797967515b ./gcc/FSFChangeLog.11 -3531682397b ./gcc/f/src.c - 246620254b ./gcc/f/src.h -3608541363b ./gcc/f/sta.c - 520236030b ./gcc/f/sta.h - 520927036b ./gcc/f/stb.c -2810193132b ./gcc/f/stb.h -3466162958b ./gcc/f/st.c - 502694498b ./gcc/f/stc.c -1751601456b ./gcc/f/stc.h - 260229363b ./gcc/f/std.c -1219390242b ./gcc/f/std.h -2021799054b ./gcc/f/ste.c -1786873989b ./gcc/f/ste.h -1705988958b ./gcc/f/st.h -1100581971b ./gcc/f/storag.c - 790029114b ./gcc/f/storag.h -2404416327b ./gcc/f/stp.c -3782361290b ./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 -2184386780b ./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 - 610725318b ./gcc/f/sts.c -1450832819b ./gcc/f/sts.h -2301635495b ./gcc/f/stt.c - 514307919b ./gcc/f/stt.h -3188469687b ./gcc/f/stu.c - 166252279b ./gcc/f/stu.h - 857063390b ./gcc/f/stv.c - 971049710b ./gcc/f/stv.h -2156320080b ./gcc/f/stw.c -3741680211b ./gcc/f/stw.h - 659922490b ./gcc/f/symbol.c -1323122026b ./gcc/f/symbol.def - 690030434b ./gcc/f/symbol.h - 561154028b ./gcc/f/target.c -1248104671b ./gcc/f/target.h -2698043928b ./gcc/f/top.c -2232338664b ./gcc/f/top.h -3443401298b ./gcc/f/type.c -2499934202b ./gcc/f/type.h -3426758284b ./gcc/function.c - 316231375b ./gcc/function.h -3058774034b ./gcc/future.options -3972775402b ./gcc/f/version.c -1781447679b ./gcc/f/version.h -3584291506b ./gcc/f/where.c - 819940437b ./gcc/f/where.h -1214866690b ./gcc/gbl-ctors.h -2405976148b ./gcc/gccbug.in -2534170090b ./gcc/gcc.c - 960741132b ./gcc/gcc.h -3093644366b ./gcc/gcc.hlp -3633749318b ./gcc/gccspec.c -3825112355b ./gcc/gcov.c -4197147799b ./gcc/gcov-io.h -1895463511b ./gcc/gcse.c - 802469235b ./gcc/gdbinit.in -3638083387b ./gcc/genattr.c -3417344932b ./gcc/genattrtab.c -2682166046b ./gcc/gencheck.c -3810064934b ./gcc/gencodes.c -2539346427b ./gcc/genconfig.c -2631615302b ./gcc/genconstants.c -1628507273b ./gcc/genemit.c -2648961261b ./gcc/genextract.c -2023228290b ./gcc/genflags.c -2713590814b ./gcc/gengenrtl.c -2574485728b ./gcc/genmultilib -1384421270b ./gcc/genopinit.c -4030468350b ./gcc/genoutput.c -2221468101b ./gcc/genpeep.c - 345520579b ./gcc/genpreds.c -4293398944b ./gcc/gen-protos.c -1766167058b ./gcc/genrecog.c -3076545551b ./gcc/gensupport.c -1823528383b ./gcc/gensupport.h -2561993607b ./gcc/ggc-callbacks.c - 831448355b ./gcc/ggc-common.c -1613425309b ./gcc/ggc.h -1943428995b ./gcc/ggc-none.c - 914540366b ./gcc/ggc-page.c -3876596452b ./gcc/ggc-simple.c - 684549565b ./gcc/ginclude/iso646.h - 956736189b ./gcc/ginclude/stdarg.h -4095609490b ./gcc/ginclude/stdbool.h - 917377878b ./gcc/ginclude/stddef.h - 673473982b ./gcc/ginclude/varargs.h -1222982330b ./gcc/glimits.h - 807066606b ./gcc/global.c - 991678839b ./gcc/gmon.c -4262862037b ./gcc/graph.c -2272086758b ./gcc/graph.h -2006423200b ./gcc/gstab.h -2040904551b ./gcc/gsyms.h - 808024354b ./gcc/gsyslimits.h -2343151743b ./gcc/gthr-aix.h -3203810708b ./gcc/gthr-dce.h - 925349290b ./gcc/gthr.h -1931993243b ./gcc/gthr-posix.h -2000135006b ./gcc/gthr-rtems.h -1258851302b ./gcc/gthr-single.h -3966292684b ./gcc/gthr-solaris.h -4243675148b ./gcc/gthr-vxworks.h -3942109358b ./gcc/gthr-win32.h - 430540108b ./gcc/haifa-sched.c - 544018069b ./gcc/halfpic.c -2731657470b ./gcc/halfpic.h -3590969103b ./gcc/hard-reg-set.h -2643914866b ./gcc/hash.c -2987787285b ./gcc/hash.h - 466224151b ./gcc/hashtable.c - 126902747b ./gcc/hashtable.h -3796251430b ./gcc/hooks.c - 779103435b ./gcc/hooks.h - 519586985b ./gcc/hwint.h -3563549730b ./gcc/ifcvt.c -3686080794b ./gcc/input.h -2324132584b ./gcc/insn-addr.h -3004940478b ./gcc/integrate.c -1320722832b ./gcc/integrate.h -3847321727b ./gcc/intl/bindtextdom.c -3277280645b ./gcc/intl.c -4257359986b ./gcc/intl/ChangeLog -3698301396b ./gcc/intl/config.charset -3683549278b ./gcc/intl/dcgettext.c -1537282354b ./gcc/intl/dcigettext.c -4252721850b ./gcc/intl/dcngettext.c -3231507403b ./gcc/intl/dgettext.c -1989280280b ./gcc/intl/dngettext.c -3422232669b ./gcc/intl/explodename.c - 745873491b ./gcc/intl/finddomain.c -3807651580b ./gcc/intl/gettext.c - 864082220b ./gcc/intl/gettext.h -3298993106b ./gcc/intl/gettextP.h -2379664116b ./gcc/intl.h -3470048606b ./gcc/intl/hash-string.h -3803759614b ./gcc/intl/intl-compat.c -3500562604b ./gcc/intl/l10nflist.c - 863021802b ./gcc/intl/libgettext.h - 21199758b ./gcc/intl/libgnuintl.h - 105544597b ./gcc/intl/loadinfo.h -2094146432b ./gcc/intl/loadmsgcat.c - 934932803b ./gcc/intl/localcharset.c -3093413149b ./gcc/intl/locale.alias -2364750309b ./gcc/intl/localealias.c - 680616337b ./gcc/intl/Makefile.in -2022997717b ./gcc/intl/ngettext.c - 543478295b ./gcc/intl/plural.c -1047167798b ./gcc/intl/plural.y - 409545719b ./gcc/intl/ref-add.sin -1121743739b ./gcc/intl/ref-del.sin -1971238900b ./gcc/intl/textdomain.c -1166279255b ./gcc/intl/VERSION -1752055498b ./gcc/java/boehm.c -3814965188b ./gcc/java/buffer.c -1535113190b ./gcc/java/buffer.h - 637702143b ./gcc/java/builtins.c -1215892592b ./gcc/java/ChangeLog -2409493226b ./gcc/java/chartables.h -1544711683b ./gcc/java/check-init.c -3161785437b ./gcc/java/class.c -2672598613b ./gcc/java/config-lang.in - 70342256b ./gcc/java/constants.c - 640032177b ./gcc/java/convert.h - 503022028b ./gcc/java/.cvsignore - 698834578b ./gcc/java/decl.c -1301173842b ./gcc/java/except.c -1888306202b ./gcc/java/expr.c -3243162773b ./gcc/java/gcj.1 -1643671722b ./gcc/java/gcjh.1 -4005049153b ./gcc/java/gcj.info -3864487285b ./gcc/java/gcj.info-1 -4154067378b ./gcc/java/gcj.info-2 -1974029021b ./gcc/java/gcj.texi - 533046670b ./gcc/java/gen-table.pl -2017208618b ./gcc/java/gij.1 -2862690686b ./gcc/java/gjavah.c -1545050516b ./gcc/java/java-except.h -1953641142b ./gcc/java/java-opcodes.h -2538410445b ./gcc/java/javaop.def - 872575611b ./gcc/java/javaop.h -2113802419b ./gcc/java/java-tree.def -3036080891b ./gcc/java/java-tree.h -1618392854b ./gcc/java/jcf-depend.c - 134179386b ./gcc/java/jcf-dump.1 -1347786459b ./gcc/java/jcf-dump.c - 921328820b ./gcc/java/jcf.h - 370700983b ./gcc/java/jcf-io.c - 981094631b ./gcc/java/jcf-parse.c - 189754917b ./gcc/java/jcf-path.c -3070824570b ./gcc/java/jcf-reader.c -3086938723b ./gcc/java/jcf-write.c -3332938287b ./gcc/java/jv-convert.1 -3805988298b ./gcc/java/jvgenmain.c -2795084151b ./gcc/java/jv-scan.1 -3491242747b ./gcc/java/jv-scan.c - 686969605b ./gcc/java/jvspec.c -3733396854b ./gcc/java/keyword.gperf -3748734913b ./gcc/java/keyword.h -2455368983b ./gcc/java/lang.c - 366330104b ./gcc/java/lang-options.h -3731853870b ./gcc/java/lang-specs.h - 930602719b ./gcc/java/lex.c -1057768549b ./gcc/java/lex.h - 497222224b ./gcc/java/Make-lang.in -1290236487b ./gcc/java/mangle.c - 624686086b ./gcc/java/mangle_name.c -3984779313b ./gcc/java/parse.c - 924019294b ./gcc/java/parse.h -3149853640b ./gcc/java/parse-scan.c - 578153036b ./gcc/java/parse-scan.y -2763518333b ./gcc/java/parse.y - 298027378b ./gcc/java/rmic.1 -3080717916b ./gcc/java/rmiregistry.1 -2066605666b ./gcc/java/typeck.c - 173829162b ./gcc/java/verify.c -3207437983b ./gcc/java/xref.c -3070080051b ./gcc/java/xref.h -2742723736b ./gcc/java/zextract.c -1459175152b ./gcc/java/zipfile.h -2867377468b ./gcc/jump.c -4163847594b ./gcc/langhooks.c -1885354315b ./gcc/langhooks-def.h - 718654791b ./gcc/langhooks.h -4134111346b ./gcc/LANGUAGES -2367190261b ./gcc/lcm.c -2318627229b ./gcc/libfuncs.h -2402286846b ./gcc/libgcc2.c -3671718625b ./gcc/libgcc2.h -1452643639b ./gcc/libgcc-std.ver -2497915666b ./gcc/limitx.h -1045880008b ./gcc/limity.h -1060915850b ./gcc/line-map.c -3486158933b ./gcc/line-map.h -2698117766b ./gcc/lists.c -1174355773b ./gcc/local-alloc.c - 830917499b ./gcc/longlong.h -3943918019b ./gcc/loop.c - 483531210b ./gcc/loop.h -2150704349b ./gcc/machmode.def -3928982379b ./gcc/machmode.h - 189930733b ./gcc/main.c -1247644918b ./gcc/Makefile.in - 501600506b ./gcc/mbchar.c -1508701785b ./gcc/mbchar.h - 886384654b ./gcc/mips-tdump.c -4187769843b ./gcc/mips-tfile.c -3936313187b ./gcc/mkconfig.sh - 217659056b ./gcc/mkdeps.c -3976112005b ./gcc/mkdeps.h - 827441351b ./gcc/mkinstalldirs -4248086923b ./gcc/mklibgcc.in -4201050746b ./gcc/mkmap-flat.awk -2827346461b ./gcc/mkmap-symver.awk -1597314052b ./gcc/move-if-change -1558946830b ./gcc/NEWS -4010954163b ./gcc/objc/config-lang.in -1966957144b ./gcc/objc/.cvsignore - 588115418b ./gcc/objc/lang-options.h - 852310047b ./gcc/objc/lang-specs.h - 566554613b ./gcc/objc/Make-lang.in -3712044081b ./gcc/objc/objc-act.c -2554922770b ./gcc/objc/objc-act.h -2534517289b ./gcc/objc/objc-lang.c -1052913658b ./gcc/objc/objc-parse.c - 283420579b ./gcc/objc/objc-parse.y - 688475759b ./gcc/objc/objc-tree.def -3823063152b ./gcc/objc/README - 538471119b ./gcc/ONEWS -3305080539b ./gcc/optabs.c -3971816206b ./gcc/optabs.h - 151133448b ./gcc/output.h -1911824904b ./gcc/params.c -2474575794b ./gcc/params.def - 840880994b ./gcc/params.h -3712234942b ./gcc/po/ChangeLog - 275286308b ./gcc/po/da.gmo - 276047898b ./gcc/po/da.po -4175362661b ./gcc/po/el.gmo -1399154149b ./gcc/po/el.po -1592121868b ./gcc/po/es.gmo - 239486157b ./gcc/po/es.po -4281232887b ./gcc/po/EXCLUDES - 234060324b ./gcc/po/exgettext -3271137864b ./gcc/po/fr.gmo - 641572084b ./gcc/po/fr.po - 953510881b ./gcc/po/gcc.pot - 810430188b ./gcc/po/ja.gmo -2505973891b ./gcc/po/ja.po -3002010451b ./gcc/po/nl.gmo - 934957733b ./gcc/po/nl.po -3351765398b ./gcc/po/sv.gmo -1330626989b ./gcc/po/sv.po - 866561722b ./gcc/po/tr.gmo -3345738807b ./gcc/po/tr.po -1839892656b ./gcc/predict.c -1371462395b ./gcc/predict.def - 204342296b ./gcc/predict.h - 542352850b ./gcc/prefix.c -3203071066b ./gcc/prefix.h -3447032665b ./gcc/print-rtl.c - 417163997b ./gcc/print-tree.c -2666623009b ./gcc/profile.c -1610870410b ./gcc/protoize.c -2799003008b ./gcc/README-fixinc -2741038711b ./gcc/README.Portability -2723074973b ./gcc/read-rtl.c -2962281463b ./gcc/real.c -2885483337b ./gcc/real.h -2524966106b ./gcc/recog.c -2056680576b ./gcc/recog.h - 57810796b ./gcc/regclass.c -3586182830b ./gcc/regmove.c - 113125100b ./gcc/regrename.c -3100477763b ./gcc/regs.h -3611458427b ./gcc/reg-stack.c - 664936410b ./gcc/reload1.c - 55889624b ./gcc/reload.c - 834085082b ./gcc/reload.h -4167441145b ./gcc/reorg.c -2715704724b ./gcc/resource.c -2605579460b ./gcc/resource.h -1675583813b ./gcc/rtlanal.c -2800367218b ./gcc/rtl.c -3964111654b ./gcc/rtl.def -3490774286b ./gcc/rtl-error.c -3336969021b ./gcc/rtl.h -1989258075b ./gcc/sbitmap.c -3201428436b ./gcc/sbitmap.h - 324348149b ./gcc/scan.c -1702118899b ./gcc/scan-decls.c - 339714129b ./gcc/scan.h -3912741047b ./gcc/scan-types.sh - 347395426b ./gcc/sched-deps.c -3568403641b ./gcc/sched-ebb.c -4108826208b ./gcc/sched-int.h -2565292623b ./gcc/sched-rgn.c -2176345645b ./gcc/sched-vis.c -3014933100b ./gcc/sdbout.c -1391855772b ./gcc/sdbout.h -1084935625b ./gcc/SERVICE -2225673670b ./gcc/sibcall.c - 63942362b ./gcc/simplify-rtx.c -3345261950b ./gcc/sort-protos -3157302619b ./gcc/ssa.c -3407562807b ./gcc/ssa-ccp.c -2078369101b ./gcc/ssa-dce.c - 332547863b ./gcc/ssa.h -2395322097b ./gcc/stab.def - 471587796b ./gcc/stack.h -2351196198b ./gcc/stmt.c -2592810543b ./gcc/stor-layout.c -3515875777b ./gcc/stringpool.c - 567176141b ./gcc/sys-protos.h -1242992540b ./gcc/system.h - 482558466b ./gcc/sys-types.h - 293723253b ./gcc/target-def.h -4078089769b ./gcc/target.h -1391688077b ./gcc/testsuite/ChangeLog -1101480727b ./gcc/testsuite/config/default.exp -3657217366b ./gcc/testsuite/consistency.vlad/layout/a-char.c -2814769741b ./gcc/testsuite/consistency.vlad/layout/a-double.c - 789833107b ./gcc/testsuite/consistency.vlad/layout/a-float.c -1654384929b ./gcc/testsuite/consistency.vlad/layout/a-int.c -4146459649b ./gcc/testsuite/consistency.vlad/layout/align-bool.cpp -2242642270b ./gcc/testsuite/consistency.vlad/layout/align-char.c -1789069487b ./gcc/testsuite/consistency.vlad/layout/align-double.c -2365706302b ./gcc/testsuite/consistency.vlad/layout/align-float.c -1139013298b ./gcc/testsuite/consistency.vlad/layout/align-int.c -2305175273b ./gcc/testsuite/consistency.vlad/layout/align-long.c -1683867594b ./gcc/testsuite/consistency.vlad/layout/align-longdouble.c -2116189486b ./gcc/testsuite/consistency.vlad/layout/align-longlong.c -3775705613b ./gcc/testsuite/consistency.vlad/layout/align-pointer.c -3243328118b ./gcc/testsuite/consistency.vlad/layout/align-ptrdiff.c -3355052908b ./gcc/testsuite/consistency.vlad/layout/align-short.c -2446562994b ./gcc/testsuite/consistency.vlad/layout/align-size.c -4125888825b ./gcc/testsuite/consistency.vlad/layout/align-wchar.c -4126836986b ./gcc/testsuite/consistency.vlad/layout/a-long.c -2082883507b ./gcc/testsuite/consistency.vlad/layout/a-longdouble.c -1870550230b ./gcc/testsuite/consistency.vlad/layout/a-longlong.c - 836566472b ./gcc/testsuite/consistency.vlad/layout/a-of-s-char.c - 808556227b ./gcc/testsuite/consistency.vlad/layout/a-of-s-double.c -3993719731b ./gcc/testsuite/consistency.vlad/layout/a-of-s-float.c - 783523024b ./gcc/testsuite/consistency.vlad/layout/a-of-s-int.c - 942819612b ./gcc/testsuite/consistency.vlad/layout/a-of-s-long.c -3646710863b ./gcc/testsuite/consistency.vlad/layout/a-of-s-longdouble.c -3060876629b ./gcc/testsuite/consistency.vlad/layout/a-of-s-longlong.c -3104817372b ./gcc/testsuite/consistency.vlad/layout/a-of-s-pointer.c -1147565030b ./gcc/testsuite/consistency.vlad/layout/a-of-s-ptrdiff_t.c - 418802581b ./gcc/testsuite/consistency.vlad/layout/a-of-s-short.c - 141666140b ./gcc/testsuite/consistency.vlad/layout/a-pointer.c - 420085095b ./gcc/testsuite/consistency.vlad/layout/a-ptrdiff_t.c -3218633480b ./gcc/testsuite/consistency.vlad/layout/a-short.c -1126124139b ./gcc/testsuite/consistency.vlad/layout/a-size_t.c -3526110053b ./gcc/testsuite/consistency.vlad/layout/a-wchar_t.c -3324795146b ./gcc/testsuite/consistency.vlad/layout/biggest-field-align.c -1487466473b ./gcc/testsuite/consistency.vlad/layout/c-char-1-c-char.cpp -3519286859b ./gcc/testsuite/consistency.vlad/layout/c-char-1-c-double.cpp -1910397221b ./gcc/testsuite/consistency.vlad/layout/c-char-1-c-float.cpp -2051738332b ./gcc/testsuite/consistency.vlad/layout/c-char-1-c-int.cpp -2064124916b ./gcc/testsuite/consistency.vlad/layout/c-char-1-c-long.cpp -2713877479b ./gcc/testsuite/consistency.vlad/layout/c-char-1-c-longdouble.cpp -1809060976b ./gcc/testsuite/consistency.vlad/layout/c-char-1-c-longlong.cpp -1381436129b ./gcc/testsuite/consistency.vlad/layout/c-char-1-c-pointer.cpp -3954863954b ./gcc/testsuite/consistency.vlad/layout/c-char-1-c-short.cpp -1129753509b ./gcc/testsuite/consistency.vlad/layout/c-char-2-c-char.cpp - 152778947b ./gcc/testsuite/consistency.vlad/layout/c-char-2-c-double.cpp -3158222807b ./gcc/testsuite/consistency.vlad/layout/c-char-2-c-float.cpp - 724995923b ./gcc/testsuite/consistency.vlad/layout/c-char-2-c-int.cpp -2244023836b ./gcc/testsuite/consistency.vlad/layout/c-char-2-c-long.cpp -1820645651b ./gcc/testsuite/consistency.vlad/layout/c-char-2-c-longdouble.cpp -2590987120b ./gcc/testsuite/consistency.vlad/layout/c-char-2-c-longlong.cpp -2721353414b ./gcc/testsuite/consistency.vlad/layout/c-char-2-c-pointer.cpp - 647549268b ./gcc/testsuite/consistency.vlad/layout/c-char-2-c-short.cpp - 698855560b ./gcc/testsuite/consistency.vlad/layout/c-double-1-c-char.cpp -1810672926b ./gcc/testsuite/consistency.vlad/layout/c-double-1-c-double.cpp - 882201712b ./gcc/testsuite/consistency.vlad/layout/c-double-1-c-float.cpp -1868861566b ./gcc/testsuite/consistency.vlad/layout/c-double-1-c-int.cpp -1504966725b ./gcc/testsuite/consistency.vlad/layout/c-double-1-c-long.cpp -2848245738b ./gcc/testsuite/consistency.vlad/layout/c-double-1-c-longdouble.cpp - 323482860b ./gcc/testsuite/consistency.vlad/layout/c-double-1-c-longlong.cpp -1719416020b ./gcc/testsuite/consistency.vlad/layout/c-double-1-c-pointer.cpp -3378135217b ./gcc/testsuite/consistency.vlad/layout/c-double-1-c-short.cpp -4238608616b ./gcc/testsuite/consistency.vlad/layout/c-double-2-c-char.cpp -3694666869b ./gcc/testsuite/consistency.vlad/layout/c-double-2-c-double.cpp -3134966605b ./gcc/testsuite/consistency.vlad/layout/c-double-2-c-float.cpp -2693193737b ./gcc/testsuite/consistency.vlad/layout/c-double-2-c-int.cpp -3803963296b ./gcc/testsuite/consistency.vlad/layout/c-double-2-c-long.cpp - 184829139b ./gcc/testsuite/consistency.vlad/layout/c-double-2-c-longdouble.cpp -2949968343b ./gcc/testsuite/consistency.vlad/layout/c-double-2-c-longlong.cpp -2009543278b ./gcc/testsuite/consistency.vlad/layout/c-double-2-c-pointer.cpp - 44469885b ./gcc/testsuite/consistency.vlad/layout/c-double-2-c-short.cpp - 558923497b ./gcc/testsuite/consistency.vlad/layout/c-float-1-c-char.cpp -3523046577b ./gcc/testsuite/consistency.vlad/layout/c-float-1-c-double.cpp -1275327467b ./gcc/testsuite/consistency.vlad/layout/c-float-1-c-float.cpp -3922774992b ./gcc/testsuite/consistency.vlad/layout/c-float-1-c-int.cpp -2704908269b ./gcc/testsuite/consistency.vlad/layout/c-float-1-c-long.cpp -3193901260b ./gcc/testsuite/consistency.vlad/layout/c-float-1-c-longdouble.cpp - 436514518b ./gcc/testsuite/consistency.vlad/layout/c-float-1-c-longlong.cpp -2452020808b ./gcc/testsuite/consistency.vlad/layout/c-float-1-c-pointer.cpp - 418251021b ./gcc/testsuite/consistency.vlad/layout/c-float-1-c-short.cpp -2667439235b ./gcc/testsuite/consistency.vlad/layout/c-float-2-c-char.cpp -2881981590b ./gcc/testsuite/consistency.vlad/layout/c-float-2-c-double.cpp -3201780621b ./gcc/testsuite/consistency.vlad/layout/c-float-2-c-float.cpp -3375452217b ./gcc/testsuite/consistency.vlad/layout/c-float-2-c-int.cpp -2468199592b ./gcc/testsuite/consistency.vlad/layout/c-float-2-c-long.cpp -3842914089b ./gcc/testsuite/consistency.vlad/layout/c-float-2-c-longdouble.cpp - 114905404b ./gcc/testsuite/consistency.vlad/layout/c-float-2-c-longlong.cpp -1497679777b ./gcc/testsuite/consistency.vlad/layout/c-float-2-c-pointer.cpp - 143833974b ./gcc/testsuite/consistency.vlad/layout/c-float-2-c-short.cpp -1543978137b ./gcc/testsuite/consistency.vlad/layout/c-int-1-c-char.cpp -4270896237b ./gcc/testsuite/consistency.vlad/layout/c-int-1-c-double.cpp -4263740047b ./gcc/testsuite/consistency.vlad/layout/c-int-1-c-float.cpp -1779635362b ./gcc/testsuite/consistency.vlad/layout/c-int-1-c-int.cpp - 743837724b ./gcc/testsuite/consistency.vlad/layout/c-int-1-c-long.cpp -3224784467b ./gcc/testsuite/consistency.vlad/layout/c-int-1-c-longdouble.cpp -3401381192b ./gcc/testsuite/consistency.vlad/layout/c-int-1-c-longlong.cpp -3737012303b ./gcc/testsuite/consistency.vlad/layout/c-int-1-c-pointer.cpp -2370648943b ./gcc/testsuite/consistency.vlad/layout/c-int-1-c-short.cpp -4055775560b ./gcc/testsuite/consistency.vlad/layout/c-int-2-c-char.cpp -4043145228b ./gcc/testsuite/consistency.vlad/layout/c-int-2-c-double.cpp -1704557853b ./gcc/testsuite/consistency.vlad/layout/c-int-2-c-float.cpp - 360364552b ./gcc/testsuite/consistency.vlad/layout/c-int-2-c-int.cpp -1401787792b ./gcc/testsuite/consistency.vlad/layout/c-int-2-c-long.cpp -1019203678b ./gcc/testsuite/consistency.vlad/layout/c-int-2-c-longdouble.cpp -3230342428b ./gcc/testsuite/consistency.vlad/layout/c-int-2-c-longlong.cpp - 443814793b ./gcc/testsuite/consistency.vlad/layout/c-int-2-c-pointer.cpp - 986131700b ./gcc/testsuite/consistency.vlad/layout/c-int-2-c-short.cpp -1839888072b ./gcc/testsuite/consistency.vlad/layout/class-char-and-virtual.cpp -2259371507b ./gcc/testsuite/consistency.vlad/layout/class-double-and-virtual.cpp -3308691044b ./gcc/testsuite/consistency.vlad/layout/class-float-and-virtual.cpp -4237514561b ./gcc/testsuite/consistency.vlad/layout/class-int-and-virtual.cpp -3380766571b ./gcc/testsuite/consistency.vlad/layout/class-long-and-virtual.cpp - 815671556b ./gcc/testsuite/consistency.vlad/layout/class-longdouble-and-virtual.cpp -3694413639b ./gcc/testsuite/consistency.vlad/layout/class-longlong-and-virtual.cpp - 361431068b ./gcc/testsuite/consistency.vlad/layout/class-pointer-and-virtual.cpp -4030637509b ./gcc/testsuite/consistency.vlad/layout/class-short-and-virtual.cpp -3640144004b ./gcc/testsuite/consistency.vlad/layout/c-long-1-c-char.cpp -3170239534b ./gcc/testsuite/consistency.vlad/layout/c-long-1-c-double.cpp -1373364368b ./gcc/testsuite/consistency.vlad/layout/c-long-1-c-float.cpp -2715489812b ./gcc/testsuite/consistency.vlad/layout/c-long-1-c-int.cpp -4216902809b ./gcc/testsuite/consistency.vlad/layout/c-long-1-c-long.cpp -2020353215b ./gcc/testsuite/consistency.vlad/layout/c-long-1-c-longdouble.cpp - 143021478b ./gcc/testsuite/consistency.vlad/layout/c-long-1-c-longlong.cpp - 288494342b ./gcc/testsuite/consistency.vlad/layout/c-long-1-c-pointer.cpp -3418347239b ./gcc/testsuite/consistency.vlad/layout/c-long-1-c-short.cpp - 391993576b ./gcc/testsuite/consistency.vlad/layout/c-long-2-c-char.cpp -1825915999b ./gcc/testsuite/consistency.vlad/layout/c-long-2-c-double.cpp -3270317833b ./gcc/testsuite/consistency.vlad/layout/c-long-2-c-float.cpp -1164900700b ./gcc/testsuite/consistency.vlad/layout/c-long-2-c-int.cpp -3519735121b ./gcc/testsuite/consistency.vlad/layout/c-long-2-c-long.cpp - 690915349b ./gcc/testsuite/consistency.vlad/layout/c-long-2-c-longdouble.cpp - 952863529b ./gcc/testsuite/consistency.vlad/layout/c-long-2-c-longlong.cpp -1541971925b ./gcc/testsuite/consistency.vlad/layout/c-long-2-c-pointer.cpp -1481335178b ./gcc/testsuite/consistency.vlad/layout/c-long-2-c-short.cpp -1034111645b ./gcc/testsuite/consistency.vlad/layout/c-longdouble-1-c-char.cpp - 223428769b ./gcc/testsuite/consistency.vlad/layout/c-longdouble-1-c-double.cpp -1686950830b ./gcc/testsuite/consistency.vlad/layout/c-longdouble-1-c-float.cpp -4007796170b ./gcc/testsuite/consistency.vlad/layout/c-longdouble-1-c-int.cpp -1430297307b ./gcc/testsuite/consistency.vlad/layout/c-longdouble-1-c-long.cpp -1762615105b ./gcc/testsuite/consistency.vlad/layout/c-longdouble-1-c-longdouble.cpp - 455084292b ./gcc/testsuite/consistency.vlad/layout/c-longdouble-1-c-longlong.cpp - 989738191b ./gcc/testsuite/consistency.vlad/layout/c-longdouble-1-c-pointer.cpp -2328224637b ./gcc/testsuite/consistency.vlad/layout/c-longdouble-1-c-short.cpp -1760745939b ./gcc/testsuite/consistency.vlad/layout/c-longdouble-2-c-char.cpp -1217350634b ./gcc/testsuite/consistency.vlad/layout/c-longdouble-2-c-double.cpp -4225543090b ./gcc/testsuite/consistency.vlad/layout/c-longdouble-2-c-float.cpp -1922520334b ./gcc/testsuite/consistency.vlad/layout/c-longdouble-2-c-int.cpp - 124367783b ./gcc/testsuite/consistency.vlad/layout/c-longdouble-2-c-long.cpp -2219449090b ./gcc/testsuite/consistency.vlad/layout/c-longdouble-2-c-longdouble.cpp -1757646669b ./gcc/testsuite/consistency.vlad/layout/c-longdouble-2-c-longlong.cpp -1035759316b ./gcc/testsuite/consistency.vlad/layout/c-longdouble-2-c-pointer.cpp - 444856555b ./gcc/testsuite/consistency.vlad/layout/c-longdouble-2-c-short.cpp -1826856781b ./gcc/testsuite/consistency.vlad/layout/c-longlong-1-c-char.cpp -1741302927b ./gcc/testsuite/consistency.vlad/layout/c-longlong-1-c-double.cpp -4120602989b ./gcc/testsuite/consistency.vlad/layout/c-longlong-1-c-float.cpp -1561431628b ./gcc/testsuite/consistency.vlad/layout/c-longlong-1-c-int.cpp -1058278587b ./gcc/testsuite/consistency.vlad/layout/c-longlong-1-c-long.cpp -4082939652b ./gcc/testsuite/consistency.vlad/layout/c-longlong-1-c-longdouble.cpp -4091778481b ./gcc/testsuite/consistency.vlad/layout/c-longlong-1-c-longlong.cpp -2537874539b ./gcc/testsuite/consistency.vlad/layout/c-longlong-1-c-pointer.cpp -1697718289b ./gcc/testsuite/consistency.vlad/layout/c-longlong-1-c-short.cpp -4035527714b ./gcc/testsuite/consistency.vlad/layout/c-longlong-2-c-char.cpp -2229850447b ./gcc/testsuite/consistency.vlad/layout/c-longlong-2-c-double.cpp -2643791394b ./gcc/testsuite/consistency.vlad/layout/c-longlong-2-c-float.cpp - 925524845b ./gcc/testsuite/consistency.vlad/layout/c-longlong-2-c-int.cpp - 463155534b ./gcc/testsuite/consistency.vlad/layout/c-longlong-2-c-long.cpp -2018895918b ./gcc/testsuite/consistency.vlad/layout/c-longlong-2-c-longdouble.cpp - 737052449b ./gcc/testsuite/consistency.vlad/layout/c-longlong-2-c-longlong.cpp -3847946387b ./gcc/testsuite/consistency.vlad/layout/c-longlong-2-c-pointer.cpp -1651679595b ./gcc/testsuite/consistency.vlad/layout/c-longlong-2-c-short.cpp -1442225884b ./gcc/testsuite/consistency.vlad/layout/c-pointer-1-c-char.cpp - 86231492b ./gcc/testsuite/consistency.vlad/layout/c-pointer-1-c-double.cpp -3039612943b ./gcc/testsuite/consistency.vlad/layout/c-pointer-1-c-float.cpp -4268774855b ./gcc/testsuite/consistency.vlad/layout/c-pointer-1-c-int.cpp -1989685785b ./gcc/testsuite/consistency.vlad/layout/c-pointer-1-c-long.cpp -1765842423b ./gcc/testsuite/consistency.vlad/layout/c-pointer-1-c-longdouble.cpp -3566620692b ./gcc/testsuite/consistency.vlad/layout/c-pointer-1-c-longlong.cpp -1511217411b ./gcc/testsuite/consistency.vlad/layout/c-pointer-1-c-pointer.cpp - 146891497b ./gcc/testsuite/consistency.vlad/layout/c-pointer-1-c-short.cpp -1203621554b ./gcc/testsuite/consistency.vlad/layout/c-pointer-2-c-char.cpp -1661672620b ./gcc/testsuite/consistency.vlad/layout/c-pointer-2-c-double.cpp -3464981922b ./gcc/testsuite/consistency.vlad/layout/c-pointer-2-c-float.cpp -2162290685b ./gcc/testsuite/consistency.vlad/layout/c-pointer-2-c-int.cpp -3458760843b ./gcc/testsuite/consistency.vlad/layout/c-pointer-2-c-long.cpp -1723971678b ./gcc/testsuite/consistency.vlad/layout/c-pointer-2-c-longdouble.cpp -2772502076b ./gcc/testsuite/consistency.vlad/layout/c-pointer-2-c-longlong.cpp -1617244322b ./gcc/testsuite/consistency.vlad/layout/c-pointer-2-c-pointer.cpp -2107205209b ./gcc/testsuite/consistency.vlad/layout/c-pointer-2-c-short.cpp -2637993722b ./gcc/testsuite/consistency.vlad/layout/c-short-1-c-char.cpp -2593108653b ./gcc/testsuite/consistency.vlad/layout/c-short-1-c-double.cpp -2285678779b ./gcc/testsuite/consistency.vlad/layout/c-short-1-c-float.cpp -4058415376b ./gcc/testsuite/consistency.vlad/layout/c-short-1-c-int.cpp - 492140542b ./gcc/testsuite/consistency.vlad/layout/c-short-1-c-long.cpp -2044765763b ./gcc/testsuite/consistency.vlad/layout/c-short-1-c-longdouble.cpp -3012275733b ./gcc/testsuite/consistency.vlad/layout/c-short-1-c-longlong.cpp -1369560784b ./gcc/testsuite/consistency.vlad/layout/c-short-1-c-pointer.cpp -3704701533b ./gcc/testsuite/consistency.vlad/layout/c-short-1-c-short.cpp -3281843471b ./gcc/testsuite/consistency.vlad/layout/c-short-2-c-char.cpp -1657812194b ./gcc/testsuite/consistency.vlad/layout/c-short-2-c-double.cpp -2415256428b ./gcc/testsuite/consistency.vlad/layout/c-short-2-c-float.cpp -1236964140b ./gcc/testsuite/consistency.vlad/layout/c-short-2-c-int.cpp -3464277284b ./gcc/testsuite/consistency.vlad/layout/c-short-2-c-long.cpp -3737764099b ./gcc/testsuite/consistency.vlad/layout/c-short-2-c-longdouble.cpp -4128191352b ./gcc/testsuite/consistency.vlad/layout/c-short-2-c-longlong.cpp - 249914684b ./gcc/testsuite/consistency.vlad/layout/c-short-2-c-pointer.cpp - 967840663b ./gcc/testsuite/consistency.vlad/layout/c-short-2-c-short.cpp -3227054482b ./gcc/testsuite/consistency.vlad/layout/endian.c -3691894150b ./gcc/testsuite/consistency.vlad/layout/f-0-0-5.c -2906280459b ./gcc/testsuite/consistency.vlad/layout/f-0-20-17.c -4153795460b ./gcc/testsuite/consistency.vlad/layout/f-0-24-24.c -2223677750b ./gcc/testsuite/consistency.vlad/layout/f-10-11-10.c -1656961235b ./gcc/testsuite/consistency.vlad/layout/f-11-12-10.c -2616499905b ./gcc/testsuite/consistency.vlad/layout/f-1-21-31.c - 877204714b ./gcc/testsuite/consistency.vlad/layout/f-1-3-1.c - 628897670b ./gcc/testsuite/consistency.vlad/layout/f-14-22-10.c -2499257242b ./gcc/testsuite/consistency.vlad/layout/f-14-29-30.c -1116508393b ./gcc/testsuite/consistency.vlad/layout/f-14-31-26.c -3215710590b ./gcc/testsuite/consistency.vlad/layout/f-14-8-9.c -2598471587b ./gcc/testsuite/consistency.vlad/layout/f-15-1-22.c -1235023325b ./gcc/testsuite/consistency.vlad/layout/f-16-30-15.c -3175789490b ./gcc/testsuite/consistency.vlad/layout/f-17-17-20.c -1483764145b ./gcc/testsuite/consistency.vlad/layout/f-17-17-2.c -2825171767b ./gcc/testsuite/consistency.vlad/layout/f-17-21-17.c -3571484701b ./gcc/testsuite/consistency.vlad/layout/f-18-15-30.c - 325844328b ./gcc/testsuite/consistency.vlad/layout/f-18-26-0.c -4067860400b ./gcc/testsuite/consistency.vlad/layout/f-18-26-11.c -1812484656b ./gcc/testsuite/consistency.vlad/layout/f-18-4-17.c -3026961559b ./gcc/testsuite/consistency.vlad/layout/f-18-5-16.c -3538065200b ./gcc/testsuite/consistency.vlad/layout/f-19-6-22.c -2636321909b ./gcc/testsuite/consistency.vlad/layout/f-20-19-9.c -4072544979b ./gcc/testsuite/consistency.vlad/layout/f-20-20-15.c -3513144108b ./gcc/testsuite/consistency.vlad/layout/f-20-26-14.c - 413528084b ./gcc/testsuite/consistency.vlad/layout/f-21-16-24.c -2389669149b ./gcc/testsuite/consistency.vlad/layout/f-21-19-4.c -1161583564b ./gcc/testsuite/consistency.vlad/layout/f-21-22-1.c -3107982509b ./gcc/testsuite/consistency.vlad/layout/f-21-24-20.c -1590859529b ./gcc/testsuite/consistency.vlad/layout/f-21-5-26.c -1027772335b ./gcc/testsuite/consistency.vlad/layout/f-22-2-19.c -1959300243b ./gcc/testsuite/consistency.vlad/layout/f-22-2-28.c -1424392875b ./gcc/testsuite/consistency.vlad/layout/f-2-25-27.c -4169983870b ./gcc/testsuite/consistency.vlad/layout/f-23-17-8.c - 728940177b ./gcc/testsuite/consistency.vlad/layout/f-24-18-9.c - 851596736b ./gcc/testsuite/consistency.vlad/layout/f-24-27-8.c - 58214057b ./gcc/testsuite/consistency.vlad/layout/f-25-6-23.c -2209054578b ./gcc/testsuite/consistency.vlad/layout/f-26-8-6.c -2248812453b ./gcc/testsuite/consistency.vlad/layout/f-27-22-7.c -3851531263b ./gcc/testsuite/consistency.vlad/layout/f-29-16-7.c -1140548972b ./gcc/testsuite/consistency.vlad/layout/f-29-4-10.c -3817519794b ./gcc/testsuite/consistency.vlad/layout/f-30-15-26.c -2254570093b ./gcc/testsuite/consistency.vlad/layout/f-30-24-30.c -1287065065b ./gcc/testsuite/consistency.vlad/layout/f-31-28-16.c -1393314717b ./gcc/testsuite/consistency.vlad/layout/f-31-4-14.c -1649382578b ./gcc/testsuite/consistency.vlad/layout/f-31-9-0.c - 600206604b ./gcc/testsuite/consistency.vlad/layout/f-3-7-1.c - 666347310b ./gcc/testsuite/consistency.vlad/layout/f-4-14-29.c - 821467656b ./gcc/testsuite/consistency.vlad/layout/f-5-23-7.c -2794715020b ./gcc/testsuite/consistency.vlad/layout/f-7-14-12.c - 281818021b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-char.out - 281818021b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-char.out++ -1727061245b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-double.out -1727061245b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-double.out++ -1601851831b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-float.out -1601851831b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-float.out++ -3221406627b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-int.out -3221406627b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-int.out++ -3462656330b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-bool.out++ -2284866161b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-char.out -2284866161b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-char.out++ -2016168953b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-double.out -2016168953b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-double.out++ -3778571582b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-float.out -3778571582b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-float.out++ -2268947026b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-int.out -2268947026b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-int.out++ -3232401121b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-longdouble.out -3232401121b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-longdouble.out++ -2659664521b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-longlong.out -2659664521b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-longlong.out++ -3668254953b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-long.out -3668254953b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-long.out++ -3544657861b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-pointer.out -3544657861b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-pointer.out++ - 568190957b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-ptrdiff.out - 568190957b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-ptrdiff.out++ -1592598882b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-short.out -1592598882b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-short.out++ -2711568334b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-size.out -2711568334b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-size.out++ -1604716971b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-wchar.out -1604716971b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-wchar.out++ -2227734332b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-longdouble.out -2227734332b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-longdouble.out++ -1069590031b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-longlong.out -1069590031b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-longlong.out++ -3142186771b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-long.out -3142186771b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-long.out++ -1963275345b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-char.out -1963275345b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-char.out++ -2939358541b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-double.out -2939358541b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-double.out++ -4001039866b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-float.out -4001039866b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-float.out++ -3232823433b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-int.out -3232823433b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-int.out++ -2623902989b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-longdouble.out -2623902989b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-longdouble.out++ -1713649002b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-longlong.out -1713649002b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-longlong.out++ -3779601801b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-long.out -3779601801b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-long.out++ -2443484079b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-pointer.out -2443484079b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-pointer.out++ -3159633525b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-ptrdiff_t.out -3159633525b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-ptrdiff_t.out++ -2253324871b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-short.out -2253324871b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-short.out++ - 166125968b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-pointer.out - 166125968b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-pointer.out++ - 608443471b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-ptrdiff_t.out - 608443471b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-ptrdiff_t.out++ -2402228544b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-short.out -2402228544b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-short.out++ -4156594561b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-size_t.out -4156594561b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-size_t.out++ - 492360794b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-wchar_t.out - 492360794b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-wchar_t.out++ -4129036106b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/biggest-field-align.out -4129036106b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/biggest-field-align.out++ -4100226006b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-1-c-char.out++ -3647609206b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-1-c-double.out++ - 706559590b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-1-c-float.out++ -1215678453b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-1-c-int.out++ -2100244020b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-1-c-longdouble.out+ - 48453457b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-1-c-longlong.out++ -4196765215b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-1-c-long.out++ -3131996511b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-1-c-pointer.out++ -1181309658b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-1-c-short.out++ -3978860778b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-2-c-char.out++ -2575125216b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-2-c-double.out++ -3758626543b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-2-c-float.out++ - 876931045b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-2-c-int.out++ -2507562199b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-2-c-longdouble.out+ -1079948168b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-2-c-longlong.out++ -3122728674b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-2-c-long.out++ - 557528819b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-2-c-pointer.out++ - 984328826b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-2-c-short.out++ -3870081867b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-1-c-char.out++ - 19559768b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-1-c-double.out++ -2915080636b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-1-c-float.out++ - 391114415b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-1-c-int.out++ -2943384114b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-1-c-longlong.out+ - 897790368b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-1-c-long.out++ -1812530953b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-1-c-pointer.out++ - 4419316b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-1-c-short.out++ -1529425773b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-2-c-char.out++ -2110018195b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-2-c-double.out++ - 431267742b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-2-c-float.out++ -4127117436b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-2-c-int.out++ -3919625178b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-2-c-longlong.out+ -3610473804b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-2-c-long.out++ -4161112465b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-2-c-pointer.out++ -2097187829b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-2-c-short.out++ - 638577261b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-1-c-char.out++ - 476074193b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-1-c-double.out++ - 384192667b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-1-c-float.out++ -3196085957b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-1-c-int.out++ -3708436693b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-1-c-longdouble.out -2203415599b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-1-c-longlong.out++ - 964541378b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-1-c-long.out++ - 317097833b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-1-c-pointer.out++ -2217857064b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-1-c-short.out++ -3381433116b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-2-c-char.out++ - 429641349b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-2-c-double.out++ -3143138522b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-2-c-float.out++ - 637049178b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-2-c-int.out++ -2436155461b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-2-c-longdouble.out -1035042416b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-2-c-longlong.out++ -3915291152b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-2-c-long.out++ -2715660950b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-2-c-pointer.out++ -1668069472b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-2-c-short.out++ -3152579670b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-1-c-char.out++ -1138705949b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-1-c-double.out++ -2023313489b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-1-c-float.out++ -1706645581b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-1-c-int.out++ -1167102151b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-1-c-longdouble.out++ - 853135804b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-1-c-longlong.out++ - 824095637b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-1-c-long.out++ -2845722513b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-1-c-pointer.out++ -1032279461b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-1-c-short.out++ - 150139450b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-2-c-char.out++ -3993039563b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-2-c-double.out++ -1771341638b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-2-c-float.out++ - 981734500b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-2-c-int.out++ -1272920488b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-2-c-longdouble.out++ -2082772967b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-2-c-longlong.out++ - 673250102b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-2-c-long.out++ -1447464664b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-2-c-pointer.out++ -2980070396b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-2-c-short.out++ -3338202537b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/class-char-and-virtual.out - 836464684b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/class-int-and-virtual.out+ -3651827794b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/class-long-and-virtual.out - 978303701b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-1-c-char.out++ -1349831301b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-1-c-double.out++ -4055309409b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-1-c-float.out++ - 281114634b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-1-c-int.out++ -1591591915b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-1-c-longdouble.out+ -1601182123b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-1-c-longlong.out++ -2092387878b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-1-c-long.out++ -1167331858b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-1-c-pointer.out++ -1373996143b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-1-c-short.out++ - 328768010b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-2-c-char.out++ -3391651497b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-2-c-double.out++ -1331092866b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-2-c-float.out++ -1363762993b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-2-c-int.out++ -3764776043b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-2-c-longdouble.out+ -3487659489b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-2-c-longlong.out++ - 860525318b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-2-c-long.out++ -1919812282b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-2-c-pointer.out++ -2539788600b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-2-c-short.out++ -1261002308b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longdouble-1-c-char.out+ -1789962814b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longdouble-1-c-float.out -1178372529b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longdouble-1-c-int.out++ - 923540745b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longdouble-1-c-long.out+ -4019539100b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longdouble-1-c-short.out -1400671035b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longdouble-2-c-char.out+ -1620516804b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longdouble-2-c-float.out - 57959266b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longdouble-2-c-int.out++ - 428651475b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longdouble-2-c-long.out+ -2929532078b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longdouble-2-c-short.out - 156205829b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-1-c-char.out++ - 274806308b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-1-c-double.out+ -1311432891b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-1-c-float.out++ - 271147996b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-1-c-int.out++ -2325547598b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-1-c-long.out++ -1602376231b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-1-c-pointer.out -2056285955b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-1-c-short.out++ - 252215927b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-2-c-char.out++ -1703813948b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-2-c-double.out+ -3833743177b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-2-c-float.out++ - 168092554b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-2-c-int.out++ -2199050326b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-2-c-long.out++ -3195305369b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-2-c-pointer.out -2151043874b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-2-c-short.out++ -3346796594b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-1-c-char.out++ -1049692423b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-1-c-double.out++ -1162385065b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-1-c-float.out++ -1723690768b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-1-c-int.out++ -1018652914b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-1-c-longlong.out -1122627681b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-1-c-long.out++ -3157843542b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-1-c-pointer.out+ - 274267090b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-1-c-short.out++ -1856515882b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-2-c-char.out++ -1292784229b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-2-c-double.out++ -1950731775b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-2-c-float.out++ -1717751486b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-2-c-int.out++ -2591426150b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-2-c-longlong.out -1316628006b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-2-c-long.out++ -4115148406b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-2-c-pointer.out+ -2893089093b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-2-c-short.out++ -3269036579b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-1-c-char.out++ - 327031780b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-1-c-double.out++ -1794337572b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-1-c-float.out++ - 799398662b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-1-c-int.out++ - 82846972b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-1-c-longdouble.out -3028299097b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-1-c-longlong.out++ - 294463294b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-1-c-long.out++ -3616473829b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-1-c-pointer.out++ -4123209829b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-1-c-short.out++ -2386618953b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-2-c-char.out++ - 337500653b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-2-c-double.out++ -2241141027b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-2-c-float.out++ -3329743364b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-2-c-int.out++ -3880624999b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-2-c-longdouble.out -3865506072b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-2-c-longlong.out++ -1783534270b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-2-c-long.out++ -2891687422b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-2-c-pointer.out++ -3938727462b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-2-c-short.out++ -2162077044b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/endian.out -2162077044b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/endian.out++ -3419137637b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-0-0-5.out -2697696866b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-0-0-5.out++ -3829700152b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-0-20-17.out -4063785218b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-0-20-17.out++ -3595644405b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-0-24-24.out -2437734191b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-0-24-24.out++ -3203785748b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-10-11-10.out -3203785748b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-10-11-10.out++ -3883743979b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-11-12-10.out -3883743979b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-11-12-10.out++ -1776162150b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-1-21-31.out -1776162150b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-1-21-31.out++ -4292846411b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-1-3-1.out -4292846411b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-1-3-1.out++ - 268554786b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-14-22-10.out - 268554786b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-14-22-10.out++ -3887247867b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-14-29-30.out -3887247867b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-14-29-30.out++ -1252658061b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-14-31-26.out -1252658061b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-14-31-26.out++ -3752599983b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-14-8-9.out -3752599983b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-14-8-9.out++ -2504143009b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-15-1-22.out -2504143009b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-15-1-22.out++ - 285193031b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-16-30-15.out - 285193031b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-16-30-15.out++ -1491637755b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-17-17-20.out -1491637755b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-17-17-20.out++ -3346294426b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-17-17-2.out -3346294426b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-17-17-2.out++ -2949641380b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-17-21-17.out -2949641380b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-17-21-17.out++ -3877885575b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-18-15-30.out -3877885575b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-18-15-30.out++ -3070142360b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-18-26-0.out -1554435890b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-18-26-0.out++ - 934830165b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-18-26-11.out - 934830165b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-18-26-11.out++ -3962835451b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-18-4-17.out -3962835451b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-18-4-17.out++ -1291671333b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-18-5-16.out -1291671333b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-18-5-16.out++ -1700775495b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-19-6-22.out -1700775495b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-19-6-22.out++ - 123227249b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-20-19-9.out - 123227249b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-20-19-9.out++ -1217631134b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-20-20-15.out -1217631134b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-20-20-15.out++ - 122124427b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-20-26-14.out - 122124427b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-20-26-14.out++ -1954763271b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-21-16-24.out -1954763271b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-21-16-24.out++ -4037426595b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-21-19-4.out -4037426595b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-21-19-4.out++ - 570806957b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-21-22-1.out - 570806957b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-21-22-1.out++ -3471862654b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-21-24-20.out -3471862654b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-21-24-20.out++ -2840862240b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-21-5-26.out -2840862240b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-21-5-26.out++ -1675033355b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-22-2-19.out -1675033355b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-22-2-19.out++ - 419856428b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-22-2-28.out - 419856428b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-22-2-28.out++ - 906364881b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-2-25-27.out - 906364881b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-2-25-27.out++ -2034059518b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-23-17-8.out -2034059518b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-23-17-8.out++ -4200924887b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-24-18-9.out -4200924887b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-24-18-9.out++ - 945528697b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-24-27-8.out - 945528697b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-24-27-8.out++ -3365164560b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-25-6-23.out -3365164560b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-25-6-23.out++ - 925799049b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-26-8-6.out - 925799049b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-26-8-6.out++ -1807802763b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-27-22-7.out -1807802763b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-27-22-7.out++ -3387583484b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-29-16-7.out -3387583484b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-29-16-7.out++ -2411254670b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-29-4-10.out -2411254670b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-29-4-10.out++ -1870571592b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-30-15-26.out -1870571592b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-30-15-26.out++ -1466032498b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-30-24-30.out -1466032498b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-30-24-30.out++ -1625962562b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-31-28-16.out -1625962562b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-31-28-16.out++ - 663265344b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-31-4-14.out - 663265344b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-31-4-14.out++ -1272990598b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-31-9-0.out - 785742212b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-31-9-0.out++ -1816309710b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-3-7-1.out -1816309710b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-3-7-1.out++ -4120030053b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-4-14-29.out -4120030053b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-4-14-29.out++ - 140937946b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-5-23-7.out - 140937946b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-5-23-7.out++ -1100765591b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-7-14-12.out -1100765591b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-7-14-12.out++ -2156310103b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/README - 13174497b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-char.out - 13174497b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-char.out++ -1263879599b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-double.out -1263879599b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-double.out++ -3169577204b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-float.out -3169577204b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-float.out++ -3237207754b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-int.out -3237207754b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-int.out++ - 300638802b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-longdouble.out - 300638802b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-longdouble.out++ - 851353395b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-longlong.out - 851353395b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-longlong.out++ -1717871431b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-long.out -1717871431b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-long.out++ -2838094559b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-pointer.out -2838094559b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-pointer.out++ -4192163054b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-short.out -4192163054b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-short.out++ - 149259060b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-char.out - 149259060b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-char.out++ - 119844797b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-double.out - 119844797b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-double.out++ -3332841867b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-float.out -3332841867b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-float.out++ -1726003194b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-int.out -1726003194b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-int.out++ -2075118149b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-longdouble.out -2075118149b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-longdouble.out++ -4051434430b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-longlong.out -4051434430b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-longlong.out++ -1941216341b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-long.out -1941216341b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-long.out++ -3517893171b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-pointer.out -3517893171b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-pointer.out++ -1361556762b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-ptrdiff_t.out -1361556762b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-ptrdiff_t.out++ -3648796915b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-char.out -3648796915b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-char.out++ -3472798323b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-double.out -3472798323b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-double.out++ -1163555929b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-float.out -1163555929b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-float.out++ -2797269136b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-short.out -2797269136b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-short.out++ - 611130168b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-int.out - 611130168b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-int.out++ -3946363802b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-size_t.out -3946363802b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-size_t.out++ -1330421760b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-longdouble.out -1330421760b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-longdouble.out++ -2813748371b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-longlong.out -2813748371b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-longlong.out++ -3300687114b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-long.out -3300687114b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-long.out++ - 622013241b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-pointer.out - 622013241b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-pointer.out++ -2254695019b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-short.out -2254695019b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-short.out++ - 782081091b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-wchar_t.out - 782081091b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-wchar_t.out++ -4058125827b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-zf-char.out -2028972393b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-zf-char.out++ -2183773616b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-zf-int.out - 720666868b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-zf-int.out++ -2722211350b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-zf-longlong.out -3171703288b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-zf-longlong.out++ -3570596356b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-zf-long.out -3870166054b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-zf-long.out++ -3936055108b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-zf-short.out -2420900899b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-zf-short.out++ -4236338674b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-char.out -4236338674b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-char.out++ -2364889610b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-double.out -2364889610b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-double.out++ - 424524236b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-float.out - 424524236b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-float.out++ -2185924966b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-int.out -2185924966b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-int.out++ -3208408277b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-longdouble.out -3208408277b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-longdouble.out+ - 616366511b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-longlong.out - 616366511b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-longlong.out++ -1377847542b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-long.out -1377847542b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-long.out++ -1932644731b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-pointer.out -1932644731b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-pointer.out++ -2597633381b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-short.out -2597633381b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-short.out++ -2667451408b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-char.out -2667451408b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-char.out++ -3581566571b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-double.out -3581566571b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-double.out++ -3759577000b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-float.out -3759577000b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-float.out++ - 51600390b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-int.out - 51600390b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-int.out++ -3808892329b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-longdouble.out -3808892329b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-longdouble.out++ -3894925976b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-longlong.out -3894925976b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-longlong.out++ -3724144772b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-long.out -3724144772b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-long.out++ -1869357795b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-pointer.out -1869357795b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-pointer.out++ - 993350744b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-ptrdiff_t.out - 993350744b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-ptrdiff_t.out++ -2313797849b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-char.out -2313797849b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-char.out++ -2223824125b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-double.out -2223824125b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-double.out++ -3883069309b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-float.out -3883069309b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-float.out++ - 351083924b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-short.out - 351083924b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-short.out++ -2863998748b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-int.out -2863998748b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-int.out++ -3505234855b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-size_t.out -3505234855b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-size_t.out++ -1829775023b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-longdouble.out -1829775023b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-longdouble.out+ - 284599855b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-longlong.out - 284599855b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-longlong.out++ -2272464711b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-long.out -2272464711b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-long.out++ - 598623650b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-pointer.out - 598623650b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-pointer.out++ -2749602529b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-short.out -2749602529b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-short.out++ -3026762224b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-wchar_t.out -3026762224b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-wchar_t.out++ -3986574077b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-zf-char.out -2222066822b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-zf-char.out++ -1754736725b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-zf-int.out -1559899710b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-zf-int.out++ -3088104680b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-zf-longlong.out -3583168624b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-zf-longlong.out++ -2138195968b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-zf-long.out -1206677029b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-zf-long.out++ - 868552483b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-zf-short.out -3855067152b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-zf-short.out++ - 424345382b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-char.out - 424345382b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-char.out++ -3542754385b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-double.out -3542754385b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-double.out++ -1489296274b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-float.out -1489296274b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-float.out++ -1250016403b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-int.out -1250016403b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-int.out++ -1568017389b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-longdouble.out -1568017389b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-longdouble.out++ -1248642357b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-longlong.out -1248642357b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-longlong.out++ -2598597791b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-long.out -2598597791b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-long.out++ - 799116997b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-pointer.out - 799116997b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-pointer.out++ -3756480259b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-short.out -3756480259b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-short.out++ -3564221209b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-char.out -3564221209b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-char.out++ -3409990675b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-double.out -3409990675b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-double.out++ -1556696261b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-float.out -1556696261b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-float.out++ -1622170282b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-int.out -1622170282b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-int.out++ -1134958145b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-longdouble.out -1134958145b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-longdouble.out++ -3168453682b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-longlong.out -3168453682b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-longlong.out++ - 530122249b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-long.out - 530122249b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-long.out++ -2922640763b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-pointer.out -2922640763b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-pointer.out++ -4066163210b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-ptrdiff_t.out -4066163210b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-ptrdiff_t.out++ - 646390276b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-char.out - 646390276b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-char.out++ -1420738760b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-double.out -1420738760b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-double.out++ -1009261265b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-float.out -1009261265b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-float.out++ - 233068758b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-short.out - 233068758b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-short.out++ -2256009544b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-int.out -2256009544b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-int.out++ -3735342934b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-size_t.out -3735342934b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-size_t.out++ - 310608698b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-longdouble.out - 310608698b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-longdouble.out++ - 229917060b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-longlong.out - 229917060b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-longlong.out++ -1389606757b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-long.out -1389606757b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-long.out++ -1605766695b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-pointer.out -1605766695b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-pointer.out++ -1493100197b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-short.out -1493100197b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-short.out++ -1525245762b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-wchar_t.out -1525245762b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-wchar_t.out++ -2458932893b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-zf-char.out -2965855099b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-zf-char.out++ - 349006013b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-zf-int.out -2335123085b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-zf-int.out++ -1503454956b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-zf-longlong.out -2287857977b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-zf-longlong.out++ -1137560689b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-zf-long.out - 430614706b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-zf-long.out++ - 811714276b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-zf-short.out -2579260275b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-zf-short.out++ -3026572564b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-char.out -3026572564b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-char.out++ -3107188041b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-double.out -3107188041b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-double.out++ - 879973237b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-float.out - 879973237b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-float.out++ -3051633289b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-int.out -3051633289b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-int.out++ -2410327242b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-longdouble.out -2410327242b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-longdouble.out++ -3929531475b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-longlong.out -3929531475b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-longlong.out++ -2062849219b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-long.out -2062849219b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-long.out++ -3096965928b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-pointer.out -3096965928b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-pointer.out++ -1204833150b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-short.out -1204833150b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-short.out++ -2920760800b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-char.out -2920760800b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-char.out++ -1027251474b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-double.out -1027251474b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-double.out++ -3856842277b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-float.out -3856842277b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-float.out++ -3890912034b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-int.out -3890912034b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-int.out++ -3592101251b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-longdouble.out -3592101251b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-longdouble.out++ - 881354323b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-longlong.out - 881354323b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-longlong.out++ - 162876982b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-long.out - 162876982b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-long.out++ -3497380019b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-pointer.out -3497380019b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-pointer.out++ - 127240785b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-ptrdiff_t.out - 127240785b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-ptrdiff_t.out++ -1588095226b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-char.out -1588095226b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-char.out++ -1788492129b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-double.out -1788492129b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-double.out++ -3331892538b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-float.out -3331892538b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-float.out++ -3410880438b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-short.out -3410880438b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-short.out++ - 446524396b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-int.out - 446524396b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-int.out++ -2907962645b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-size_t.out -2907962645b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-size_t.out++ - 476184310b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-longdouble.out - 476184310b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-longdouble.out++ -4058854518b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-longlong.out -4058854518b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-longlong.out++ - 751158190b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-long.out - 751158190b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-long.out++ -1766070031b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-pointer.out -1766070031b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-pointer.out++ -2844975244b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-short.out -2844975244b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-short.out++ - 496574257b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-wchar_t.out - 496574257b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-wchar_t.out++ -3465834813b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-zf-char.out -3886284191b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-zf-char.out++ -1090439347b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-zf-int.out -3979163905b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-zf-int.out++ -2062836287b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-zf-longlong.out -3075841449b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-zf-longlong.out++ -2400092189b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-zf-long.out -3700180902b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-zf-long.out++ -2158685975b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-zf-short.out -1012271831b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-zf-short.out++ -4107261541b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-bool.out++ - 919632946b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-char.out - 919632946b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-char.out++ -1524915532b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-double.out -1524915532b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-double.out++ - 594930693b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-float.out - 594930693b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-float.out++ -1957268000b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-int.out -1957268000b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-int.out++ -1658583497b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-longdouble.out -1658583497b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-longdouble.out++ - 312453039b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-longlong.out - 312453039b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-longlong.out++ -1244662439b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-long.out -1244662439b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-long.out++ -3802875737b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-pointer.out -3802875737b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-pointer.out++ -1324451320b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-ptrdiff.out -1324451320b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-ptrdiff.out++ -1620300254b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-short.out -1620300254b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-short.out++ -1933118540b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-size.out -1933118540b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-size.out++ -3741425609b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-wchar.out -3741425609b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-wchar.out++ -1870109470b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-char.out -1870109470b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-char.out++ -1651744974b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-double.out -1651744974b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-double.out++ - 362585434b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-float.out - 362585434b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-float.out++ -1163094327b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-int.out -1163094327b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-int.out++ - 291703399b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-longdouble.out - 291703399b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-longdouble.out++ -3762408624b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-longlong.out -3762408624b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-longlong.out++ -3555956076b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-long.out -3555956076b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-long.out++ -2332886721b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-pointer.out -2332886721b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-pointer.out++ -2480870612b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-short.out -2480870612b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-short.out++ -2916189460b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-char.out -2916189460b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-char.out++ -2502123578b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-char.out -2502123578b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-char.out++ - 908745179b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-double.out - 908745179b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-double.out+ -1491334033b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-float.out -1491334033b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-float.out++ -1108678434b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-int.out -1108678434b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-int.out++ -1691807337b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-long.out -1691807337b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-long.out++ -3880595806b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-pointer.out -1830679325b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-short.out -1830679325b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-short.out++ -2688367579b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-char.out -2688367579b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-char.out++ - 562176588b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-double.out - 562176588b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-double.out++ -3081730244b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-float.out -3081730244b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-float.out++ - 830680808b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-int.out - 830680808b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-int.out++ -4111931150b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-longlong.out -4111931150b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-longlong.out+ -1437253678b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-long.out -1437253678b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-long.out++ - 497513900b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-double.out - 497513900b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-double.out++ -3184654982b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-pointer.out -3184654982b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-pointer.out++ -2209121894b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-ptrdiff_t.out - 607323772b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-char.out - 607323772b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-char.out++ -1592572645b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-double.out -1592572645b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-double.out+ -2123592192b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-float.out -2123592192b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-float.out++ -1624565665b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-short.out -1624565665b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-short.out++ -2058112871b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-int.out -2058112871b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-int.out++ - 18114278b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-size_t.out - 18114278b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-size_t.out++ -1209643017b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-long.out -1209643017b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-long.out++ - 137221407b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-pointer.out -2707233896b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-short.out -2707233896b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-short.out++ -2306040258b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-wchar_t.out -2306040258b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-wchar_t.out++ - 561421555b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-zf-char.out -3000456303b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-zf-char.out++ - 989841357b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-zf-int.out -2841513809b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-zf-int.out++ -3221903988b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-zf-long.out -1403753192b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-zf-long.out++ -2463066035b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-zf-short.out - 24031023b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-zf-short.out+ -2489472050b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-float.out -2489472050b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-float.out++ -2743476630b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-int.out -2743476630b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-int.out++ -2821438118b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-char.out -2821438118b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-char.out++ - 44039327b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-double.out - 44039327b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-double.out++ -3941392051b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-float.out -3941392051b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-float.out++ -2609834450b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-int.out -2609834450b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-int.out++ -2868812260b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-longlong.out -2868812260b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-longlong.out+ -3407178115b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-long.out -3407178115b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-long.out++ - 855452388b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-pointer.out - 855452388b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-pointer.out++ -3186715271b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-short.out -3186715271b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-short.out++ -3073461247b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-char.out -3073461247b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-char.out++ -3665863579b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-longdouble.out -3665863579b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-longdouble.out++ -3026224568b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-double.out -3026224568b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-double.out++ -1191292162b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-float.out -1191292162b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-float.out++ -1548870351b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-int.out -1548870351b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-int.out++ -3829659624b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-longdouble.out -3829659624b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-longdouble.out+ -1372837239b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-longlong.out -1372837239b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-longlong.out++ -4020247482b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-longlong.out -4020247482b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-longlong.out++ - 470378869b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-long.out - 470378869b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-long.out++ -2654575439b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-long.out -2654575439b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-long.out++ -3536102064b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-pointer.out -3536102064b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-pointer.out++ - 579862700b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-ptrdiff_t.out - 579862700b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-ptrdiff_t.out++ - 949526555b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-char.out - 949526555b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-char.out++ - 397921610b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-double.out - 397921610b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-double.out++ -2538191755b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-float.out -2538191755b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-float.out++ -1971310399b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-short.out -1971310399b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-short.out++ -4237589805b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-int.out -4237589805b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-int.out++ -2419011586b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-size_t.out -2419011586b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-size_t.out++ -1624025758b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-longlong.out -1624025758b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-longlong.out+ -3782463750b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-long.out -3782463750b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-long.out++ -1972186934b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-pointer.out -1972186934b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-pointer.out++ - 829099133b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-short.out - 829099133b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-short.out++ -1350491757b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-wchar_t.out -1350491757b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-wchar_t.out++ -2215666329b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-zf-char.out - 745407154b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-zf-char.out++ - 140198870b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-zf-int.out -3397457298b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-zf-int.out++ - 972059489b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-zf-longlong.out - 904046880b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-zf-long.out -2657286993b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-zf-long.out++ -2804701286b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-zf-short.out - 22008069b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-zf-short.out++ - 628108037b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-pointer.out - 628108037b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-pointer.out++ -1311213846b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-ptrdiff_t.out -1311213846b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-ptrdiff_t.out++ -2141238480b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-char.out -2141238480b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-char.out++ -1859208772b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-double.out -1859208772b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-double.out++ -4206164034b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-float.out -4206164034b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-float.out++ - 945387931b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-short.out - 945387931b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-short.out++ -3679940725b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-int.out -3679940725b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-int.out++ -2232487072b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-size_t.out -2232487072b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-size_t.out++ -3251153332b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-longdouble.out -3251153332b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-longdouble.out++ - 247594466b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-longlong.out - 247594466b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-longlong.out++ -2261218946b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-long.out -2261218946b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-long.out++ -3759513989b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-pointer.out -3759513989b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-pointer.out++ -3008225932b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-short.out -3008225932b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-short.out++ -3661856117b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-wchar_t.out -3661856117b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-wchar_t.out++ -2003883578b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-zf-char.out -1185711188b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-zf-char.out++ - 79396233b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-zf-int.out - 347581897b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-zf-int.out++ -2617412395b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-zf-longlong.out -2872220966b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-zf-longlong.out++ -1379940925b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-zf-long.out -3639419163b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-zf-long.out++ -1812574077b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-zf-short.out -2920229150b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-zf-short.out++ - 638071746b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-char.out - 638071746b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-char.out++ -3332432545b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-double.out -3332432545b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-double.out++ -1534334155b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-float.out -1534334155b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-float.out++ -3880550727b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-int.out -3880550727b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-int.out++ - 251411986b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-longdouble.out -2493905430b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-longlong.out -2493905430b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-longlong.out++ - 180275403b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-long.out - 180275403b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-long.out++ -1868637423b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-pointer.out -1868637423b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-pointer.out++ -3971852122b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-short.out -3971852122b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-short.out++ -3868413247b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-char.out -3868413247b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-char.out++ -3686342475b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-double.out -3686342475b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-double.out++ -3364520721b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-float.out -3364520721b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-float.out++ -2026186277b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-int.out -2026186277b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-int.out++ -1274562854b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-longdouble.out -1274562854b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-longdouble.out++ -2670045344b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-longlong.out -2670045344b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-longlong.out++ - 554032384b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-long.out - 554032384b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-long.out++ -2655788537b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-pointer.out -2655788537b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-pointer.out++ - 797630104b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-ptrdiff_t.out - 797630104b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-ptrdiff_t.out++ -1922745643b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-char.out -1922745643b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-char.out++ -4073638002b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-double.out -4073638002b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-double.out++ -3219629814b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-float.out -3219629814b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-float.out++ -3050131671b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-short.out -3050131671b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-short.out++ -2810751409b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-int.out -2810751409b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-int.out++ -3655683515b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-size_t.out -3655683515b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-size_t.out++ -2708502837b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-longdouble.out - 753682265b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-longlong.out - 753682265b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-longlong.out++ -4193535248b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-long.out -4193535248b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-long.out++ - 554657656b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-pointer.out - 554657656b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-pointer.out++ - 843107606b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-short.out - 843107606b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-short.out++ -2293091315b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-wchar_t.out -2293091315b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-wchar_t.out++ -1599802745b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-zf-char.out -3264566923b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-zf-char.out++ -2587475685b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-zf-int.out -1005185879b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-zf-int.out++ -2426330969b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-zf-longlong.out -3112366542b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-zf-longlong.out+ - 273113417b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-zf-long.out -3825433163b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-zf-long.out++ -1180077740b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-zf-short.out - 875920723b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-zf-short.out++ -2651380458b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-char.out -2651380458b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-char.out++ -2157112743b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-double.out -2157112743b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-double.out++ - 2483342b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-float.out - 2483342b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-float.out++ -3030027871b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-int.out -3030027871b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-int.out++ - 842815367b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-longdouble.out -2374908820b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-longlong.out -2374908820b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-longlong.out++ -2742634608b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-long.out -2742634608b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-long.out++ -1105378681b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-pointer.out -1105378681b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-pointer.out++ -2222112016b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-ptrdiff_t.out -2222112016b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-ptrdiff_t.out+ - 178487862b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-short.out - 178487862b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-short.out++ -3944948267b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-size_t.out -3944948267b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-size_t.out++ - 730216995b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-wchar_t.out - 730216995b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-wchar_t.out++ -3233423287b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-char.out -3233423287b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-char.out++ -2913953381b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-double.out -2913953381b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-double.out++ -3441673581b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-float.out -3441673581b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-float.out++ - 911216572b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-int.out - 911216572b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-int.out++ -3193177612b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-longdouble.out -3193177612b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-longdouble.out++ -3997296607b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-longlong.out -3997296607b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-longlong.out++ -1537969173b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-long.out -1537969173b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-long.out++ - 364952624b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-pointer.out - 364952624b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-pointer.out++ - 970855379b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-short.out - 970855379b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-short.out++ -3887113392b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-char.out -3887113392b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-char.out++ - 851101858b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-double.out - 851101858b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-double.out++ -3721234230b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-float.out -3721234230b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-float.out++ -1012475701b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-int.out -1012475701b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-int.out++ -2555149638b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-longdouble.out -2555149638b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-longdouble.out++ -2273094318b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-longlong.out -2273094318b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-longlong.out++ -3766414610b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-long.out -3766414610b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-long.out++ -1639107229b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-pointer.out -1639107229b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-pointer.out++ -1075156439b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-ptrdiff_t.out -1075156439b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-ptrdiff_t.out++ -2869252033b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-char.out -2869252033b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-char.out++ -2528716480b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-double.out -2528716480b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-double.out++ - 785209287b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-float.out - 785209287b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-float.out++ -2164738263b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-short.out -2164738263b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-short.out++ -1126071492b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-int.out -1126071492b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-int.out++ -3593875829b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-size_t.out -3593875829b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-size_t.out++ -3460438392b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-longdouble.out -3460438392b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-longdouble.out++ -1289753849b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-longlong.out -1289753849b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-longlong.out++ -1435590236b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-long.out -1435590236b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-long.out++ -1476260714b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-pointer.out -1476260714b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-pointer.out++ - 500188532b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-short.out - 500188532b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-short.out++ -2506643620b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-wchar_t.out -2506643620b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-wchar_t.out++ -3126905441b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-zf-char.out -1940799148b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-zf-char.out++ -1010693185b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-zf-int.out -1212564314b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-zf-int.out++ -2599781179b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-zf-longlong.out -3990788430b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-zf-longlong.out++ -1799180429b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-zf-long.out -3670265189b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-zf-long.out++ - 412178968b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-zf-short.out -1523910308b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-zf-short.out++ - 177607961b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-char.out - 177607961b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-char.out++ -2444832335b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-double.out -2444832335b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-double.out++ -2227123143b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-float.out -2227123143b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-float.out++ -2732243950b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-int.out -2732243950b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-int.out++ -2655501391b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-longdouble.out -2655501391b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-longdouble.out++ -3487867828b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-longlong.out -3487867828b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-longlong.out++ - 978381513b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-long.out - 978381513b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-long.out++ -4141092354b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-pointer.out -4141092354b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-pointer.out++ - 282420262b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-ptrdiff_t.out - 282420262b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-ptrdiff_t.out++ - 708432696b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-short.out - 708432696b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-short.out++ -1667222853b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-size_t.out -1667222853b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-size_t.out++ - 839103492b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-wchar_t.out - 839103492b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-wchar_t.out++ -1754196141b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-char.out -1754196141b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-char.out++ - 355115283b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-double.out - 355115283b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-double.out++ -4175033844b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-float.out -4175033844b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-float.out++ -2745764679b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-int.out -2745764679b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-int.out++ -3007141392b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-longdouble.out -3007141392b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-longdouble.out++ -1445387844b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-longlong.out -1445387844b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-longlong.out++ -2937616530b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-long.out -2937616530b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-long.out++ -2501204111b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-pointer.out -2501204111b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-pointer.out++ - 887379829b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-ptrdiff_t.out - 887379829b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-ptrdiff_t.out++ -2241734194b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-short.out -2241734194b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-short.out++ - 676320345b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-size_t.out - 676320345b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-size_t.out++ -2213842565b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-wchar_t.out -2213842565b ./gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-wchar_t.out++ -2700306833b ./gcc/testsuite/consistency.vlad/layout/minimal-struct-size-align.c -3619982975b ./gcc/testsuite/consistency.vlad/layout/s-char-a-char.c - 727040386b ./gcc/testsuite/consistency.vlad/layout/s-char-a-double.c - 491533109b ./gcc/testsuite/consistency.vlad/layout/s-char-a-float.c -3078996477b ./gcc/testsuite/consistency.vlad/layout/s-char-a-int.c - 572081613b ./gcc/testsuite/consistency.vlad/layout/s-char-a-long.c -1875679261b ./gcc/testsuite/consistency.vlad/layout/s-char-a-longdouble.c -1802587241b ./gcc/testsuite/consistency.vlad/layout/s-char-a-longlong.c -3668401631b ./gcc/testsuite/consistency.vlad/layout/s-char-a-pointer.c -2583229386b ./gcc/testsuite/consistency.vlad/layout/s-char-a-short.c - 354065986b ./gcc/testsuite/consistency.vlad/layout/s-char-char.c - 166713106b ./gcc/testsuite/consistency.vlad/layout/s-char-double.c - 789665974b ./gcc/testsuite/consistency.vlad/layout/s-char-float.c -2449543606b ./gcc/testsuite/consistency.vlad/layout/s-char-int.c -2677202274b ./gcc/testsuite/consistency.vlad/layout/s-char-long.c -3864063005b ./gcc/testsuite/consistency.vlad/layout/s-char-longdouble.c -2745197038b ./gcc/testsuite/consistency.vlad/layout/s-char-longlong.c -4261808453b ./gcc/testsuite/consistency.vlad/layout/s-char-pointer.c -2261048804b ./gcc/testsuite/consistency.vlad/layout/s-char-ptrdiff_t.c -1919204038b ./gcc/testsuite/consistency.vlad/layout/s-char-s-char.c -2356076301b ./gcc/testsuite/consistency.vlad/layout/s-char-s-double.c - 765329706b ./gcc/testsuite/consistency.vlad/layout/s-char-s-float.c -3605211274b ./gcc/testsuite/consistency.vlad/layout/s-char-short.c -3351760677b ./gcc/testsuite/consistency.vlad/layout/s-char-s-int.c -3130164308b ./gcc/testsuite/consistency.vlad/layout/s-char-size_t.c -1763672929b ./gcc/testsuite/consistency.vlad/layout/s-char-s-long.c -1834388031b ./gcc/testsuite/consistency.vlad/layout/s-char-s-longdouble.c - 559076232b ./gcc/testsuite/consistency.vlad/layout/s-char-s-longlong.c -2344655103b ./gcc/testsuite/consistency.vlad/layout/s-char-s-pointer.c - 220067620b ./gcc/testsuite/consistency.vlad/layout/s-char-s-short.c -4159231551b ./gcc/testsuite/consistency.vlad/layout/s-char-wchar_t.c -2462993036b ./gcc/testsuite/consistency.vlad/layout/s-char-zf-char.c - 541003594b ./gcc/testsuite/consistency.vlad/layout/s-char-zf-int.c -2021533516b ./gcc/testsuite/consistency.vlad/layout/s-char-zf-long.c - 664373477b ./gcc/testsuite/consistency.vlad/layout/s-char-zf-longlong.c -3578692014b ./gcc/testsuite/consistency.vlad/layout/s-char-zf-short.c -3453180393b ./gcc/testsuite/consistency.vlad/layout/s-double-a-char.c - 101761990b ./gcc/testsuite/consistency.vlad/layout/s-double-a-double.c -3473415719b ./gcc/testsuite/consistency.vlad/layout/s-double-a-float.c - 327989632b ./gcc/testsuite/consistency.vlad/layout/s-double-a-int.c - 233827811b ./gcc/testsuite/consistency.vlad/layout/s-double-a-long.c -2208485716b ./gcc/testsuite/consistency.vlad/layout/s-double-a-longdouble.c -1391002931b ./gcc/testsuite/consistency.vlad/layout/s-double-a-longlong.c -2859596990b ./gcc/testsuite/consistency.vlad/layout/s-double-a-pointer.c -3559689934b ./gcc/testsuite/consistency.vlad/layout/s-double-a-short.c -4020276225b ./gcc/testsuite/consistency.vlad/layout/s-double-char.c - 987841011b ./gcc/testsuite/consistency.vlad/layout/s-double-double.c - 704836077b ./gcc/testsuite/consistency.vlad/layout/s-double-float.c -2692874561b ./gcc/testsuite/consistency.vlad/layout/s-double-int.c -2941605757b ./gcc/testsuite/consistency.vlad/layout/s-double-long.c -3228770514b ./gcc/testsuite/consistency.vlad/layout/s-double-longdouble.c -3584369719b ./gcc/testsuite/consistency.vlad/layout/s-double-longlong.c -1752254424b ./gcc/testsuite/consistency.vlad/layout/s-double-pointer.c -2905865681b ./gcc/testsuite/consistency.vlad/layout/s-double-ptrdiff_t.c -1892057278b ./gcc/testsuite/consistency.vlad/layout/s-double-s-char.c -2394566615b ./gcc/testsuite/consistency.vlad/layout/s-double-s-double.c -4064931917b ./gcc/testsuite/consistency.vlad/layout/s-double-s-float.c -1137455402b ./gcc/testsuite/consistency.vlad/layout/s-double-short.c -3672946380b ./gcc/testsuite/consistency.vlad/layout/s-double-s-int.c -3731114983b ./gcc/testsuite/consistency.vlad/layout/s-double-size_t.c -4099130503b ./gcc/testsuite/consistency.vlad/layout/s-double-s-long.c -2508841997b ./gcc/testsuite/consistency.vlad/layout/s-double-s-longdouble.c -2547516874b ./gcc/testsuite/consistency.vlad/layout/s-double-s-longlong.c -2394584890b ./gcc/testsuite/consistency.vlad/layout/s-double-s-pointer.c -1087857878b ./gcc/testsuite/consistency.vlad/layout/s-double-s-short.c -1074227714b ./gcc/testsuite/consistency.vlad/layout/s-double-wchar_t.c -4075513176b ./gcc/testsuite/consistency.vlad/layout/s-double-zf-char.c -2181060239b ./gcc/testsuite/consistency.vlad/layout/s-double-zf-int.c -1000788988b ./gcc/testsuite/consistency.vlad/layout/s-double-zf-long.c -2794343535b ./gcc/testsuite/consistency.vlad/layout/s-double-zf-longlong.c -3512529490b ./gcc/testsuite/consistency.vlad/layout/s-double-zf-short.c -4042825902b ./gcc/testsuite/consistency.vlad/layout/s-float-a-char.c - 281123545b ./gcc/testsuite/consistency.vlad/layout/s-float-a-double.c -1325772879b ./gcc/testsuite/consistency.vlad/layout/s-float-a-float.c -3760629573b ./gcc/testsuite/consistency.vlad/layout/s-float-a-int.c -2902891820b ./gcc/testsuite/consistency.vlad/layout/s-float-a-long.c -3379455906b ./gcc/testsuite/consistency.vlad/layout/s-float-a-longdouble.c - 398042011b ./gcc/testsuite/consistency.vlad/layout/s-float-a-longlong.c -2674774020b ./gcc/testsuite/consistency.vlad/layout/s-float-a-pointer.c -3115271065b ./gcc/testsuite/consistency.vlad/layout/s-float-a-short.c - 230653640b ./gcc/testsuite/consistency.vlad/layout/s-float-char.c -1157255499b ./gcc/testsuite/consistency.vlad/layout/s-float-double.c -3686192464b ./gcc/testsuite/consistency.vlad/layout/s-float-float.c -2877639267b ./gcc/testsuite/consistency.vlad/layout/s-float-int.c -3705421231b ./gcc/testsuite/consistency.vlad/layout/s-float-long.c -1996389551b ./gcc/testsuite/consistency.vlad/layout/s-float-longdouble.c -3641662812b ./gcc/testsuite/consistency.vlad/layout/s-float-longlong.c -4197610973b ./gcc/testsuite/consistency.vlad/layout/s-float-pointer.c -3172840384b ./gcc/testsuite/consistency.vlad/layout/s-float-ptrdiff_t.c -3748837421b ./gcc/testsuite/consistency.vlad/layout/s-float-s-char.c -1026162480b ./gcc/testsuite/consistency.vlad/layout/s-float-s-double.c -1757829971b ./gcc/testsuite/consistency.vlad/layout/s-float-s-float.c -1092900439b ./gcc/testsuite/consistency.vlad/layout/s-float-short.c -1286304248b ./gcc/testsuite/consistency.vlad/layout/s-float-s-int.c -1246576103b ./gcc/testsuite/consistency.vlad/layout/s-float-size_t.c -1058880033b ./gcc/testsuite/consistency.vlad/layout/s-float-s-long.c -3954384291b ./gcc/testsuite/consistency.vlad/layout/s-float-s-longdouble.c -2151659662b ./gcc/testsuite/consistency.vlad/layout/s-float-s-longlong.c -3825039217b ./gcc/testsuite/consistency.vlad/layout/s-float-s-pointer.c -4061428355b ./gcc/testsuite/consistency.vlad/layout/s-float-s-short.c -1758331367b ./gcc/testsuite/consistency.vlad/layout/s-float-wchar_t.c -3117484708b ./gcc/testsuite/consistency.vlad/layout/s-float-zf-char.c - 550306535b ./gcc/testsuite/consistency.vlad/layout/s-float-zf-int.c - 860633704b ./gcc/testsuite/consistency.vlad/layout/s-float-zf-long.c -2581705036b ./gcc/testsuite/consistency.vlad/layout/s-float-zf-longlong.c - 978024585b ./gcc/testsuite/consistency.vlad/layout/s-float-zf-short.c -2251445439b ./gcc/testsuite/consistency.vlad/layout/s-int-a-char.c -4138447069b ./gcc/testsuite/consistency.vlad/layout/s-int-a-double.c - 8870751b ./gcc/testsuite/consistency.vlad/layout/s-int-a-float.c - 594032269b ./gcc/testsuite/consistency.vlad/layout/s-int-a-int.c -1651432793b ./gcc/testsuite/consistency.vlad/layout/s-int-a-long.c - 425973014b ./gcc/testsuite/consistency.vlad/layout/s-int-a-longdouble.c -2059166583b ./gcc/testsuite/consistency.vlad/layout/s-int-a-longlong.c -1995049255b ./gcc/testsuite/consistency.vlad/layout/s-int-a-pointer.c -2715818862b ./gcc/testsuite/consistency.vlad/layout/s-int-a-short.c -2961221250b ./gcc/testsuite/consistency.vlad/layout/s-int-char.c -3584882967b ./gcc/testsuite/consistency.vlad/layout/s-int-double.c - 125565346b ./gcc/testsuite/consistency.vlad/layout/s-int-float.c -2549467707b ./gcc/testsuite/consistency.vlad/layout/s-int-int.c -2672469567b ./gcc/testsuite/consistency.vlad/layout/s-int-long.c -1658335152b ./gcc/testsuite/consistency.vlad/layout/s-int-longdouble.c -2278283539b ./gcc/testsuite/consistency.vlad/layout/s-int-longlong.c -2494362400b ./gcc/testsuite/consistency.vlad/layout/s-int-pointer.c -2858080039b ./gcc/testsuite/consistency.vlad/layout/s-int-ptrdiff_t.c -2014925874b ./gcc/testsuite/consistency.vlad/layout/s-int-s-char.c -1964724618b ./gcc/testsuite/consistency.vlad/layout/s-int-s-double.c -3513841278b ./gcc/testsuite/consistency.vlad/layout/s-int-s-float.c -3104696131b ./gcc/testsuite/consistency.vlad/layout/s-int-short.c -1905836586b ./gcc/testsuite/consistency.vlad/layout/s-int-s-int.c -2371102487b ./gcc/testsuite/consistency.vlad/layout/s-int-size_t.c -2587799721b ./gcc/testsuite/consistency.vlad/layout/s-int-s-long.c -3343583899b ./gcc/testsuite/consistency.vlad/layout/s-int-s-longdouble.c -3181309941b ./gcc/testsuite/consistency.vlad/layout/s-int-s-longlong.c -3198349197b ./gcc/testsuite/consistency.vlad/layout/s-int-s-pointer.c -1300436407b ./gcc/testsuite/consistency.vlad/layout/s-int-s-short.c -1358869671b ./gcc/testsuite/consistency.vlad/layout/s-int-wchar_t.c -2934034901b ./gcc/testsuite/consistency.vlad/layout/s-int-zf-char.c -3777217979b ./gcc/testsuite/consistency.vlad/layout/s-int-zf-int.c - 823148372b ./gcc/testsuite/consistency.vlad/layout/s-int-zf-long.c - 55540591b ./gcc/testsuite/consistency.vlad/layout/s-int-zf-longlong.c -3825926612b ./gcc/testsuite/consistency.vlad/layout/s-int-zf-short.c -1746672839b ./gcc/testsuite/consistency.vlad/layout/size-bool.cpp -1662052327b ./gcc/testsuite/consistency.vlad/layout/size-char.c -3361924014b ./gcc/testsuite/consistency.vlad/layout/size-double.c -3608174439b ./gcc/testsuite/consistency.vlad/layout/size-float.c - 224133749b ./gcc/testsuite/consistency.vlad/layout/size-int.c -2229647371b ./gcc/testsuite/consistency.vlad/layout/size-long.c -1496097293b ./gcc/testsuite/consistency.vlad/layout/size-longdouble.c -4243493805b ./gcc/testsuite/consistency.vlad/layout/size-longlong.c -4234774016b ./gcc/testsuite/consistency.vlad/layout/size-pointer.c -2742276437b ./gcc/testsuite/consistency.vlad/layout/size-ptrdiff.c -2302838291b ./gcc/testsuite/consistency.vlad/layout/size-short.c -1008704183b ./gcc/testsuite/consistency.vlad/layout/size-size.c - 767395346b ./gcc/testsuite/consistency.vlad/layout/size-wchar.c -1014160019b ./gcc/testsuite/consistency.vlad/layout/s-long-a-char.c -1536711874b ./gcc/testsuite/consistency.vlad/layout/s-long-a-double.c -3755724289b ./gcc/testsuite/consistency.vlad/layout/s-long-a-float.c - 503463330b ./gcc/testsuite/consistency.vlad/layout/s-long-a-int.c -3383693601b ./gcc/testsuite/consistency.vlad/layout/s-long-a-long.c -2168579267b ./gcc/testsuite/consistency.vlad/layout/s-long-a-longdouble.c -4089126986b ./gcc/testsuite/consistency.vlad/layout/s-long-a-longlong.c -4219127792b ./gcc/testsuite/consistency.vlad/layout/s-long-a-pointer.c -1534004990b ./gcc/testsuite/consistency.vlad/layout/s-long-a-short.c - 34352633b ./gcc/testsuite/consistency.vlad/layout/s-long-char.c -2174891233b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-a-char.c -2263495912b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-a-double.c -3626355134b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-a-float.c -1044992438b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-a-int.c - 189180334b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-a-long.c -4219133242b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-a-longdouble.c -2001710554b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-a-longlong.c -1208252647b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-a-pointer.c -2636586618b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-a-short.c -1855339665b ./gcc/testsuite/consistency.vlad/layout/s-long-double.c -1490423944b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-char.c - 838089339b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-double.c -1901020700b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-float.c -2396695027b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-int.c -2690146526b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-long.c -2776581044b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-longdouble.c -3418604951b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-longlong.c -1459368509b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-pointer.c -3960936313b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-ptrdiff_t.c -3172036867b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-s-char.c -3278313495b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-s-double.c - 717089781b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-s-float.c -2851776236b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-short.c - 585061394b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-s-int.c -1105156962b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-size_t.c -2473143756b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-s-long.c -3638726274b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-s-longdouble.c -2023017496b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-s-longlong.c - 54720140b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-s-pointer.c -1046498915b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-s-short.c - 696506953b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-wchar_t.c - 928069138b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-zf-char.c - 258209983b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-zf-int.c -2227123382b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-zf-long.c -2318782753b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-zf-longlong.c - 558562280b ./gcc/testsuite/consistency.vlad/layout/s-longdouble-zf-short.c -1325299293b ./gcc/testsuite/consistency.vlad/layout/s-long-float.c -1780742682b ./gcc/testsuite/consistency.vlad/layout/s-long-int.c -2746913946b ./gcc/testsuite/consistency.vlad/layout/s-longlong-a-char.c -2756929591b ./gcc/testsuite/consistency.vlad/layout/s-longlong-a-double.c -2279164925b ./gcc/testsuite/consistency.vlad/layout/s-longlong-a-float.c -4018385557b ./gcc/testsuite/consistency.vlad/layout/s-longlong-a-int.c -1568904470b ./gcc/testsuite/consistency.vlad/layout/s-longlong-a-long.c -2084909194b ./gcc/testsuite/consistency.vlad/layout/s-longlong-a-longdouble.c -2072567607b ./gcc/testsuite/consistency.vlad/layout/s-longlong-a-longlong.c -3659263135b ./gcc/testsuite/consistency.vlad/layout/s-longlong-a-pointer.c -2702861495b ./gcc/testsuite/consistency.vlad/layout/s-longlong-a-short.c -2290380505b ./gcc/testsuite/consistency.vlad/layout/s-long-long.c -1507260206b ./gcc/testsuite/consistency.vlad/layout/s-longlong-char.c -1915663861b ./gcc/testsuite/consistency.vlad/layout/s-long-longdouble.c -3018473966b ./gcc/testsuite/consistency.vlad/layout/s-longlong-double.c -3253702018b ./gcc/testsuite/consistency.vlad/layout/s-longlong-float.c -2941557918b ./gcc/testsuite/consistency.vlad/layout/s-longlong-int.c -2368362338b ./gcc/testsuite/consistency.vlad/layout/s-long-longlong.c -4153967841b ./gcc/testsuite/consistency.vlad/layout/s-longlong-long.c -3405846513b ./gcc/testsuite/consistency.vlad/layout/s-longlong-longdouble.c -2651247883b ./gcc/testsuite/consistency.vlad/layout/s-longlong-longlong.c -1899261816b ./gcc/testsuite/consistency.vlad/layout/s-longlong-pointer.c -4100649747b ./gcc/testsuite/consistency.vlad/layout/s-longlong-ptrdiff_t.c - 183550901b ./gcc/testsuite/consistency.vlad/layout/s-longlong-s-char.c -1353709337b ./gcc/testsuite/consistency.vlad/layout/s-longlong-s-double.c -1622859985b ./gcc/testsuite/consistency.vlad/layout/s-longlong-s-float.c - 922091281b ./gcc/testsuite/consistency.vlad/layout/s-longlong-short.c -3395819121b ./gcc/testsuite/consistency.vlad/layout/s-longlong-s-int.c -3366304494b ./gcc/testsuite/consistency.vlad/layout/s-longlong-size_t.c - 263554828b ./gcc/testsuite/consistency.vlad/layout/s-longlong-s-long.c -3292604731b ./gcc/testsuite/consistency.vlad/layout/s-longlong-s-longdouble.c - 591712639b ./gcc/testsuite/consistency.vlad/layout/s-longlong-s-longlong.c -1892567537b ./gcc/testsuite/consistency.vlad/layout/s-longlong-s-pointer.c - 108932916b ./gcc/testsuite/consistency.vlad/layout/s-longlong-s-short.c -2585353545b ./gcc/testsuite/consistency.vlad/layout/s-longlong-wchar_t.c -1992502711b ./gcc/testsuite/consistency.vlad/layout/s-longlong-zf-char.c - 943400451b ./gcc/testsuite/consistency.vlad/layout/s-longlong-zf-int.c -2630463188b ./gcc/testsuite/consistency.vlad/layout/s-longlong-zf-long.c - 108059264b ./gcc/testsuite/consistency.vlad/layout/s-longlong-zf-longlong.c - 162090179b ./gcc/testsuite/consistency.vlad/layout/s-longlong-zf-short.c - 843227723b ./gcc/testsuite/consistency.vlad/layout/s-long-pointer.c - 501034814b ./gcc/testsuite/consistency.vlad/layout/s-long-ptrdiff_t.c -1174469544b ./gcc/testsuite/consistency.vlad/layout/s-long-s-char.c -1007870215b ./gcc/testsuite/consistency.vlad/layout/s-long-s-double.c -1307839500b ./gcc/testsuite/consistency.vlad/layout/s-long-s-float.c -3071018593b ./gcc/testsuite/consistency.vlad/layout/s-long-short.c -3475912781b ./gcc/testsuite/consistency.vlad/layout/s-long-s-int.c -3723194327b ./gcc/testsuite/consistency.vlad/layout/s-long-size_t.c -1568391695b ./gcc/testsuite/consistency.vlad/layout/s-long-s-long.c - 74365094b ./gcc/testsuite/consistency.vlad/layout/s-long-s-longdouble.c - 501521658b ./gcc/testsuite/consistency.vlad/layout/s-long-s-longlong.c -1748381535b ./gcc/testsuite/consistency.vlad/layout/s-long-s-pointer.c -1836579330b ./gcc/testsuite/consistency.vlad/layout/s-long-s-short.c - 531244141b ./gcc/testsuite/consistency.vlad/layout/s-long-wchar_t.c -3081442820b ./gcc/testsuite/consistency.vlad/layout/s-long-zf-char.c - 914301375b ./gcc/testsuite/consistency.vlad/layout/s-long-zf-int.c -1562082244b ./gcc/testsuite/consistency.vlad/layout/s-long-zf-long.c -2520232686b ./gcc/testsuite/consistency.vlad/layout/s-long-zf-longlong.c -3568433576b ./gcc/testsuite/consistency.vlad/layout/s-long-zf-short.c -2431525882b ./gcc/testsuite/consistency.vlad/layout/s-pointer-a-char.c -4182828966b ./gcc/testsuite/consistency.vlad/layout/s-pointer-a-double.c -2030442801b ./gcc/testsuite/consistency.vlad/layout/s-pointer-a-float.c -1733216426b ./gcc/testsuite/consistency.vlad/layout/s-pointer-a-int.c -3840360232b ./gcc/testsuite/consistency.vlad/layout/s-pointer-a-long.c -2069695022b ./gcc/testsuite/consistency.vlad/layout/s-pointer-a-longdouble.c -2835229256b ./gcc/testsuite/consistency.vlad/layout/s-pointer-a-longlong.c -3644499340b ./gcc/testsuite/consistency.vlad/layout/s-pointer-a-pointer.c - 773032503b ./gcc/testsuite/consistency.vlad/layout/s-pointer-a-short.c - 872221332b ./gcc/testsuite/consistency.vlad/layout/s-pointer-char.c -3712864759b ./gcc/testsuite/consistency.vlad/layout/s-pointer-double.c -3278150392b ./gcc/testsuite/consistency.vlad/layout/s-pointer-float.c -2124704716b ./gcc/testsuite/consistency.vlad/layout/s-pointer-int.c -1565179914b ./gcc/testsuite/consistency.vlad/layout/s-pointer-long.c -2078378543b ./gcc/testsuite/consistency.vlad/layout/s-pointer-longdouble.c -1849539090b ./gcc/testsuite/consistency.vlad/layout/s-pointer-longlong.c - 503815918b ./gcc/testsuite/consistency.vlad/layout/s-pointer-pointer.c -3954057196b ./gcc/testsuite/consistency.vlad/layout/s-pointer-ptrdiff_t.c -1074103467b ./gcc/testsuite/consistency.vlad/layout/s-pointer-s-char.c - 902838190b ./gcc/testsuite/consistency.vlad/layout/s-pointer-s-double.c -2754137289b ./gcc/testsuite/consistency.vlad/layout/s-pointer-s-float.c -2645485672b ./gcc/testsuite/consistency.vlad/layout/s-pointer-short.c - 157709325b ./gcc/testsuite/consistency.vlad/layout/s-pointer-s-int.c -3640207262b ./gcc/testsuite/consistency.vlad/layout/s-pointer-size_t.c - 663732630b ./gcc/testsuite/consistency.vlad/layout/s-pointer-s-long.c -1874509941b ./gcc/testsuite/consistency.vlad/layout/s-pointer-s-longdouble.c -2063875624b ./gcc/testsuite/consistency.vlad/layout/s-pointer-s-longlong.c -3199456656b ./gcc/testsuite/consistency.vlad/layout/s-pointer-s-pointer.c -2883478056b ./gcc/testsuite/consistency.vlad/layout/s-pointer-s-short.c -1316769493b ./gcc/testsuite/consistency.vlad/layout/s-pointer-wchar_t.c -2773199310b ./gcc/testsuite/consistency.vlad/layout/s-pointer-zf-char.c -2595768381b ./gcc/testsuite/consistency.vlad/layout/s-pointer-zf-int.c -3251136680b ./gcc/testsuite/consistency.vlad/layout/s-pointer-zf-long.c -3053600608b ./gcc/testsuite/consistency.vlad/layout/s-pointer-zf-longlong.c -2022112027b ./gcc/testsuite/consistency.vlad/layout/s-pointer-zf-short.c - 618303243b ./gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-char.c -3604192129b ./gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-double.c -3789860510b ./gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-float.c -4080198327b ./gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-int.c - 728676820b ./gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-long.c -2724559984b ./gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-longdouble.c -3861693259b ./gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-longlong.c -2953128927b ./gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-pointer.c -3951847759b ./gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-ptrdiff_t.c -1191074387b ./gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-short.c -2578277124b ./gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-size_t.c - 990211289b ./gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-wchar_t.c -3239161768b ./gcc/testsuite/consistency.vlad/layout/s-short-a-char.c - 166180776b ./gcc/testsuite/consistency.vlad/layout/s-short-a-double.c -3527046415b ./gcc/testsuite/consistency.vlad/layout/s-short-a-float.c -3518845261b ./gcc/testsuite/consistency.vlad/layout/s-short-a-int.c -2632946218b ./gcc/testsuite/consistency.vlad/layout/s-short-a-long.c - 891865249b ./gcc/testsuite/consistency.vlad/layout/s-short-a-longdouble.c -3556515853b ./gcc/testsuite/consistency.vlad/layout/s-short-a-longlong.c -4114603886b ./gcc/testsuite/consistency.vlad/layout/s-short-a-pointer.c - 613451481b ./gcc/testsuite/consistency.vlad/layout/s-short-a-short.c -1593495051b ./gcc/testsuite/consistency.vlad/layout/s-short-char.c -1100143197b ./gcc/testsuite/consistency.vlad/layout/s-short-double.c -2242679753b ./gcc/testsuite/consistency.vlad/layout/s-short-float.c - 238785879b ./gcc/testsuite/consistency.vlad/layout/s-short-int.c -2409205100b ./gcc/testsuite/consistency.vlad/layout/s-short-long.c - 936065027b ./gcc/testsuite/consistency.vlad/layout/s-short-longdouble.c -1356304829b ./gcc/testsuite/consistency.vlad/layout/s-short-longlong.c -3906654641b ./gcc/testsuite/consistency.vlad/layout/s-short-pointer.c - 746386291b ./gcc/testsuite/consistency.vlad/layout/s-short-ptrdiff_t.c -4244286521b ./gcc/testsuite/consistency.vlad/layout/s-short-s-char.c -2777905017b ./gcc/testsuite/consistency.vlad/layout/s-short-s-double.c -2756050532b ./gcc/testsuite/consistency.vlad/layout/s-short-s-float.c - 524161230b ./gcc/testsuite/consistency.vlad/layout/s-short-short.c - 374910896b ./gcc/testsuite/consistency.vlad/layout/s-short-s-int.c -1327871729b ./gcc/testsuite/consistency.vlad/layout/s-short-size_t.c - 479538741b ./gcc/testsuite/consistency.vlad/layout/s-short-s-long.c -4025001367b ./gcc/testsuite/consistency.vlad/layout/s-short-s-longdouble.c -1274385076b ./gcc/testsuite/consistency.vlad/layout/s-short-s-longlong.c -2921220650b ./gcc/testsuite/consistency.vlad/layout/s-short-s-pointer.c -1050140596b ./gcc/testsuite/consistency.vlad/layout/s-short-s-short.c -2735755699b ./gcc/testsuite/consistency.vlad/layout/s-short-wchar_t.c -2947437906b ./gcc/testsuite/consistency.vlad/layout/s-short-zf-char.c -3330463439b ./gcc/testsuite/consistency.vlad/layout/s-short-zf-int.c - 624125342b ./gcc/testsuite/consistency.vlad/layout/s-short-zf-long.c -3735090434b ./gcc/testsuite/consistency.vlad/layout/s-short-zf-longlong.c -1239770486b ./gcc/testsuite/consistency.vlad/layout/s-short-zf-short.c -3848053775b ./gcc/testsuite/consistency.vlad/layout/s-size_t-char.c -1956516319b ./gcc/testsuite/consistency.vlad/layout/s-size_t-double.c -2592266062b ./gcc/testsuite/consistency.vlad/layout/s-size_t-float.c -3435419949b ./gcc/testsuite/consistency.vlad/layout/s-size_t-int.c -2779348851b ./gcc/testsuite/consistency.vlad/layout/s-size_t-long.c -1352676649b ./gcc/testsuite/consistency.vlad/layout/s-size_t-longdouble.c -1255992044b ./gcc/testsuite/consistency.vlad/layout/s-size_t-longlong.c -1034174646b ./gcc/testsuite/consistency.vlad/layout/s-size_t-pointer.c -1114015641b ./gcc/testsuite/consistency.vlad/layout/s-size_t-ptrdiff_t.c -4081850249b ./gcc/testsuite/consistency.vlad/layout/s-size_t-short.c -3689183736b ./gcc/testsuite/consistency.vlad/layout/s-size_t-size_t.c -1221978657b ./gcc/testsuite/consistency.vlad/layout/s-size_t-wchar_t.c - 828103866b ./gcc/testsuite/consistency.vlad/layout/s-wchar_t-char.c -3601528642b ./gcc/testsuite/consistency.vlad/layout/s-wchar_t-double.c -2903333507b ./gcc/testsuite/consistency.vlad/layout/s-wchar_t-float.c -3466709699b ./gcc/testsuite/consistency.vlad/layout/s-wchar_t-int.c -1609307684b ./gcc/testsuite/consistency.vlad/layout/s-wchar_t-long.c -1060870307b ./gcc/testsuite/consistency.vlad/layout/s-wchar_t-longdouble.c - 6489873b ./gcc/testsuite/consistency.vlad/layout/s-wchar_t-longlong.c -3776188535b ./gcc/testsuite/consistency.vlad/layout/s-wchar_t-pointer.c -1700128528b ./gcc/testsuite/consistency.vlad/layout/s-wchar_t-ptrdiff_t.c -4089915411b ./gcc/testsuite/consistency.vlad/layout/s-wchar_t-short.c -2415574017b ./gcc/testsuite/consistency.vlad/layout/s-wchar_t-size_t.c -2755349152b ./gcc/testsuite/consistency.vlad/layout/s-wchar_t-wchar_t.c -3207711727b ./gcc/testsuite/consistency.vlad/README -2068139423b ./gcc/testsuite/consistency.vlad/vlad.exp -2710099993b ./gcc/testsuite/g77.dg/20010216-1.f - 211215127b ./gcc/testsuite/g77.dg/bprob/bprob-1.f - 345215922b ./gcc/testsuite/g77.dg/bprob/bprob.exp -1815830648b ./gcc/testsuite/g77.dg/dg.exp -2557434398b ./gcc/testsuite/g77.dg/f77-edit-i-in.f - 462852590b ./gcc/testsuite/g77.dg/f77-edit-i-out.f -3692598063b ./gcc/testsuite/g77.dg/fbackslash.f -3349950140b ./gcc/testsuite/g77.dg/fcase-preserve.f -3493107241b ./gcc/testsuite/g77.dg/ff90-1.f - 846110140b ./gcc/testsuite/g77.dg/ffixed-line-length-0.f - 306302525b ./gcc/testsuite/g77.dg/ffixed-line-length-132.f - 256008601b ./gcc/testsuite/g77.dg/ffixed-line-length-72.f -1293833923b ./gcc/testsuite/g77.dg/ffixed-line-length-7.f -2426259256b ./gcc/testsuite/g77.dg/ffixed-line-length-none.f - 382313186b ./gcc/testsuite/g77.dg/ffree-form-1.f -1427613779b ./gcc/testsuite/g77.dg/fno-backslash.f -1787673713b ./gcc/testsuite/g77.dg/fno-f90-1.f -1073584992b ./gcc/testsuite/g77.dg/fno-fixed-form-1.f -2730066868b ./gcc/testsuite/g77.dg/fno-onetrip.f - 109115498b ./gcc/testsuite/g77.dg/fno-typeless-boz.f -2720105997b ./gcc/testsuite/g77.dg/fno-underscoring.f - 614291430b ./gcc/testsuite/g77.dg/fno-vxt-1.f - 646478354b ./gcc/testsuite/g77.dg/fonetrip.f - 298378793b ./gcc/testsuite/g77.dg/ftypeless-boz.f -1970388396b ./gcc/testsuite/g77.dg/fugly-assumed.f - 813122842b ./gcc/testsuite/g77.dg/funderscoring.f -2755287889b ./gcc/testsuite/g77.dg/fvxt-1.f -4218369628b ./gcc/testsuite/g77.dg/gcov/gcov-1.f -2262587727b ./gcc/testsuite/g77.dg/gcov/gcov-1.x -3439770285b ./gcc/testsuite/g77.dg/gcov/gcov.exp -2336318971b ./gcc/testsuite/g77.dg/pr3743-1.f -3986109564b ./gcc/testsuite/g77.dg/pr3743-2.f - 202729794b ./gcc/testsuite/g77.dg/pr3743-3.f -2533314951b ./gcc/testsuite/g77.dg/pr3743-4.f -3959051916b ./gcc/testsuite/g77.dg/pr5473.f -3263834407b ./gcc/testsuite/g77.dg/strlen0.f -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 -4129788740b ./gcc/testsuite/g77.f-torture/compile/19990525-0.f -2117801028b ./gcc/testsuite/g77.f-torture/compile/19990826-1.f -1740583941b ./gcc/testsuite/g77.f-torture/compile/19990826-3.f -2822256200b ./gcc/testsuite/g77.f-torture/compile/19990905-0.f -1729432512b ./gcc/testsuite/g77.f-torture/compile/19990905-2.f -3873649497b ./gcc/testsuite/g77.f-torture/compile/20000412-1.f -2840421610b ./gcc/testsuite/g77.f-torture/compile/20000511-1.f -2723712181b ./gcc/testsuite/g77.f-torture/compile/20000511-2.f - 82013928b ./gcc/testsuite/g77.f-torture/compile/20000518.f - 412413004b ./gcc/testsuite/g77.f-torture/compile/20000601-1.f -3180214474b ./gcc/testsuite/g77.f-torture/compile/20000601-2.f -4055621021b ./gcc/testsuite/g77.f-torture/compile/20000629-1.f -2336002500b ./gcc/testsuite/g77.f-torture/compile/20000630-2.f -3970776632b ./gcc/testsuite/g77.f-torture/compile/20010115.f -3772314415b ./gcc/testsuite/g77.f-torture/compile/20010321-1.f -2213180372b ./gcc/testsuite/g77.f-torture/compile/20010426.f - 267354428b ./gcc/testsuite/g77.f-torture/compile/20010519-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 -2853235618b ./gcc/testsuite/g77.f-torture/compile/980519-2.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 -2107279947b ./gcc/testsuite/g77.f-torture/compile/alpha1.x -4148688482b ./gcc/testsuite/g77.f-torture/compile/compile.exp -1347946300b ./gcc/testsuite/g77.f-torture/compile/cpp2.F - 883444817b ./gcc/testsuite/g77.f-torture/compile/cpp.F - 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 -1702408878b ./gcc/testsuite/g77.f-torture/execute/19990826-0.f - 548549288b ./gcc/testsuite/g77.f-torture/execute/19990826-2.f -2245832686b ./gcc/testsuite/g77.f-torture/execute/20000503-1.f - 119817854b ./gcc/testsuite/g77.f-torture/execute/20001111.f -3778266196b ./gcc/testsuite/g77.f-torture/execute/20001201.f -1721706271b ./gcc/testsuite/g77.f-torture/execute/20001201.x -3482653018b ./gcc/testsuite/g77.f-torture/execute/20010116.f - 104441706b ./gcc/testsuite/g77.f-torture/execute/20010426.f -2134591728b ./gcc/testsuite/g77.f-torture/execute/20010430.f -2127502131b ./gcc/testsuite/g77.f-torture/execute/20010610.f -1835626441b ./gcc/testsuite/g77.f-torture/execute/5122.f - 166046708b ./gcc/testsuite/g77.f-torture/execute/947.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 -1154425496b ./gcc/testsuite/g77.f-torture/execute/980628-10.f - 731282896b ./gcc/testsuite/g77.f-torture/execute/980628-1.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 -2107279947b ./gcc/testsuite/g77.f-torture/execute/980628-4.x -3480269714b ./gcc/testsuite/g77.f-torture/execute/980628-5.f -2107279947b ./gcc/testsuite/g77.f-torture/execute/980628-5.x -1467613590b ./gcc/testsuite/g77.f-torture/execute/980628-6.f -2107279947b ./gcc/testsuite/g77.f-torture/execute/980628-6.x -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 -2107279947b ./gcc/testsuite/g77.f-torture/execute/alpha2.x -2259027475b ./gcc/testsuite/g77.f-torture/execute/auto0.f -2107279947b ./gcc/testsuite/g77.f-torture/execute/auto0.x -4202240464b ./gcc/testsuite/g77.f-torture/execute/auto1.f -2107279947b ./gcc/testsuite/g77.f-torture/execute/auto1.x - 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 - 268027241b ./gcc/testsuite/g77.f-torture/execute/cpp2.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 - 574860802b ./gcc/testsuite/g77.f-torture/execute/execute.exp -2348837361b ./gcc/testsuite/g77.f-torture/execute/exp.f -1166305221b ./gcc/testsuite/g77.f-torture/execute/f90-intrinsic-bit.f -1401151480b ./gcc/testsuite/g77.f-torture/execute/f90-intrinsic-mathematical.f - 296501581b ./gcc/testsuite/g77.f-torture/execute/f90-intrinsic-numeric.f -1448802159b ./gcc/testsuite/g77.f-torture/execute/intrinsic77.f -1619227376b ./gcc/testsuite/g77.f-torture/execute/intrinsic-f2c-z.f -2512429495b ./gcc/testsuite/g77.f-torture/execute/intrinsic-unix-bessel.f - 846341057b ./gcc/testsuite/g77.f-torture/execute/intrinsic-unix-erf.f -3837275230b ./gcc/testsuite/g77.f-torture/execute/intrinsic-vax-cd.f -3527337523b ./gcc/testsuite/g77.f-torture/execute/io0.f -1721706271b ./gcc/testsuite/g77.f-torture/execute/io0.x -1499748556b ./gcc/testsuite/g77.f-torture/execute/io1.f -1721706271b ./gcc/testsuite/g77.f-torture/execute/io1.x -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 - 85764886b ./gcc/testsuite/g77.f-torture/execute/u77-test.f - 991484451b ./gcc/testsuite/g77.f-torture/execute/u77-test.x -2234422141b ./gcc/testsuite/g77.f-torture/noncompile/19981216-0.f -2509327097b ./gcc/testsuite/g77.f-torture/noncompile/19990218-1.f - 684708897b ./gcc/testsuite/g77.f-torture/noncompile/19990826-4.f -3593377062b ./gcc/testsuite/g77.f-torture/noncompile/19990905-1.f -3649968898b ./gcc/testsuite/g77.f-torture/noncompile/970626-2.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 - 351555731b ./gcc/testsuite/g77.f-torture/noncompile/noncompile.exp -2075770423b ./gcc/testsuite/gcc.c-torture/ChangeLog.0 -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 - 452836178b ./gcc/testsuite/gcc.c-torture/compile/20000105-1.c -1901634825b ./gcc/testsuite/gcc.c-torture/compile/20000105-2.c -3139355726b ./gcc/testsuite/gcc.c-torture/compile/20000120-1.c - 193146344b ./gcc/testsuite/gcc.c-torture/compile/20000120-2.c -3770371830b ./gcc/testsuite/gcc.c-torture/compile/20000127-1.c -1457334923b ./gcc/testsuite/gcc.c-torture/compile/20000211-1.c -3072124491b ./gcc/testsuite/gcc.c-torture/compile/20000211-3.c -2487027780b ./gcc/testsuite/gcc.c-torture/compile/20000224-1.c - 976060843b ./gcc/testsuite/gcc.c-torture/compile/20000314-1.c -2716819908b ./gcc/testsuite/gcc.c-torture/compile/20000314-2.c -3323098889b ./gcc/testsuite/gcc.c-torture/compile/20000319-1.c - 621983670b ./gcc/testsuite/gcc.c-torture/compile/20000326-1.c - 362965832b ./gcc/testsuite/gcc.c-torture/compile/20000326-2.c -1360671142b ./gcc/testsuite/gcc.c-torture/compile/20000329-1.c -1376990121b ./gcc/testsuite/gcc.c-torture/compile/20000403-1.c -1295018105b ./gcc/testsuite/gcc.c-torture/compile/20000403-2.c -2994009121b ./gcc/testsuite/gcc.c-torture/compile/20000405-1.c -1202553741b ./gcc/testsuite/gcc.c-torture/compile/20000405-2.c -1972736685b ./gcc/testsuite/gcc.c-torture/compile/20000405-3.c -4185438508b ./gcc/testsuite/gcc.c-torture/compile/20000412-1.c -1020690516b ./gcc/testsuite/gcc.c-torture/compile/20000412-2.c - 606471227b ./gcc/testsuite/gcc.c-torture/compile/20000420-1.c -3618930753b ./gcc/testsuite/gcc.c-torture/compile/20000420-2.c -1513651895b ./gcc/testsuite/gcc.c-torture/compile/20000427-1.c -1253394561b ./gcc/testsuite/gcc.c-torture/compile/20000502-1.c -2301846307b ./gcc/testsuite/gcc.c-torture/compile/20000504-1.c -4216707490b ./gcc/testsuite/gcc.c-torture/compile/20000511-1.c - 160078686b ./gcc/testsuite/gcc.c-torture/compile/20000517-1.c - 138460064b ./gcc/testsuite/gcc.c-torture/compile/20000518-1.c -4277321614b ./gcc/testsuite/gcc.c-torture/compile/20000523-1.c -2889990236b ./gcc/testsuite/gcc.c-torture/compile/20000605-1.c -1801476756b ./gcc/testsuite/gcc.c-torture/compile/20000606-1.c -3807623957b ./gcc/testsuite/gcc.c-torture/compile/20000609-1.c -3889196710b ./gcc/testsuite/gcc.c-torture/compile/20000629-1.c -2019168881b ./gcc/testsuite/gcc.c-torture/compile/20000701-1.c - 23561090b ./gcc/testsuite/gcc.c-torture/compile/20000717-1.c -1282603692b ./gcc/testsuite/gcc.c-torture/compile/20000718.c -1628213540b ./gcc/testsuite/gcc.c-torture/compile/20000728-1.c -1312817714b ./gcc/testsuite/gcc.c-torture/compile/20000802-1.c - 726930164b ./gcc/testsuite/gcc.c-torture/compile/20000803-1.c - 221685889b ./gcc/testsuite/gcc.c-torture/compile/20000804-1.c - 365799149b ./gcc/testsuite/gcc.c-torture/compile/20000804-1.x - 14592370b ./gcc/testsuite/gcc.c-torture/compile/20000818-1.c -3951998464b ./gcc/testsuite/gcc.c-torture/compile/20000825-1.c - 568900271b ./gcc/testsuite/gcc.c-torture/compile/20000827-1.c -1702972966b ./gcc/testsuite/gcc.c-torture/compile/20000922-1.c -1072305501b ./gcc/testsuite/gcc.c-torture/compile/20000923-1.c -3797844565b ./gcc/testsuite/gcc.c-torture/compile/20001018-1.c -1683967360b ./gcc/testsuite/gcc.c-torture/compile/20001024-1.c -2747210984b ./gcc/testsuite/gcc.c-torture/compile/20001109-1.c -1480527842b ./gcc/testsuite/gcc.c-torture/compile/20001109-2.c -1361242877b ./gcc/testsuite/gcc.c-torture/compile/20001116-1.c -3966980994b ./gcc/testsuite/gcc.c-torture/compile/20001121-1.c - 599106867b ./gcc/testsuite/gcc.c-torture/compile/20001123-1.c - 533599449b ./gcc/testsuite/gcc.c-torture/compile/20001123-2.c -3673931755b ./gcc/testsuite/gcc.c-torture/compile/20001205-1.c -4124637154b ./gcc/testsuite/gcc.c-torture/compile/20001205-1.x -1735535039b ./gcc/testsuite/gcc.c-torture/compile/20001212-1.c -2993397009b ./gcc/testsuite/gcc.c-torture/compile/20001221-1.c -2331416953b ./gcc/testsuite/gcc.c-torture/compile/20001222-1.c -1872827667b ./gcc/testsuite/gcc.c-torture/compile/20001226-1.c -1799289877b ./gcc/testsuite/gcc.c-torture/compile/20001226-1.x -4099141482b ./gcc/testsuite/gcc.c-torture/compile/20010102-1.c -2413955943b ./gcc/testsuite/gcc.c-torture/compile/20010107-1.c -1898226085b ./gcc/testsuite/gcc.c-torture/compile/20010112-1.c -2489493145b ./gcc/testsuite/gcc.c-torture/compile/20010113-1.c - 297170965b ./gcc/testsuite/gcc.c-torture/compile/20010114-1.c - 419921862b ./gcc/testsuite/gcc.c-torture/compile/20010114-2.c -1452007589b ./gcc/testsuite/gcc.c-torture/compile/20010117-1.c - 704576096b ./gcc/testsuite/gcc.c-torture/compile/20010117-2.c -3392519430b ./gcc/testsuite/gcc.c-torture/compile/20010118-1.c -3355150280b ./gcc/testsuite/gcc.c-torture/compile/20010124-1.c -1731094577b ./gcc/testsuite/gcc.c-torture/compile/20010202-1.c - 459778149b ./gcc/testsuite/gcc.c-torture/compile/20010209-1.c - 620156961b ./gcc/testsuite/gcc.c-torture/compile/20010226-1.c - 501795051b ./gcc/testsuite/gcc.c-torture/compile/20010227-1.c -1832317029b ./gcc/testsuite/gcc.c-torture/compile/20010313-1.c -2854417844b ./gcc/testsuite/gcc.c-torture/compile/20010320-1.c -3271306723b ./gcc/testsuite/gcc.c-torture/compile/20010326-1.c -2222955049b ./gcc/testsuite/gcc.c-torture/compile/20010327-1.c -3399421780b ./gcc/testsuite/gcc.c-torture/compile/20010328-1.c -3356008690b ./gcc/testsuite/gcc.c-torture/compile/20010329-1.c -4152637354b ./gcc/testsuite/gcc.c-torture/compile/20010404-1.c -1548469760b ./gcc/testsuite/gcc.c-torture/compile/20010408-1.c -3063630520b ./gcc/testsuite/gcc.c-torture/compile/20010421-1.c -3134579946b ./gcc/testsuite/gcc.c-torture/compile/20010423-1.c -2289909284b ./gcc/testsuite/gcc.c-torture/compile/20010426-1.c -2357536931b ./gcc/testsuite/gcc.c-torture/compile/20010503-1.c -1212631565b ./gcc/testsuite/gcc.c-torture/compile/20010510-1.c -1882079811b ./gcc/testsuite/gcc.c-torture/compile/20010516-1.c -3166989448b ./gcc/testsuite/gcc.c-torture/compile/20010518-1.c -3017611134b ./gcc/testsuite/gcc.c-torture/compile/20010518-2.c - 85616231b ./gcc/testsuite/gcc.c-torture/compile/20010518-2.x -3272357537b ./gcc/testsuite/gcc.c-torture/compile/20010525-1.c - 475581102b ./gcc/testsuite/gcc.c-torture/compile/20010605-1.c -2936945185b ./gcc/testsuite/gcc.c-torture/compile/20010605-2.c -1294346331b ./gcc/testsuite/gcc.c-torture/compile/20010605-3.c -1636067950b ./gcc/testsuite/gcc.c-torture/compile/20010610-1.c -3077114319b ./gcc/testsuite/gcc.c-torture/compile/20010611-1.c -2584744929b ./gcc/testsuite/gcc.c-torture/compile/20010701-1.c -3815198051b ./gcc/testsuite/gcc.c-torture/compile/20010706-1.c -2713093522b ./gcc/testsuite/gcc.c-torture/compile/20010711-1.c -2299173088b ./gcc/testsuite/gcc.c-torture/compile/20010711-2.c -2571658330b ./gcc/testsuite/gcc.c-torture/compile/20010714-1.c -3287379546b ./gcc/testsuite/gcc.c-torture/compile/20010824-1.c - 246682254b ./gcc/testsuite/gcc.c-torture/compile/20010903-1.c -2923439609b ./gcc/testsuite/gcc.c-torture/compile/20010903-2.c -4222197564b ./gcc/testsuite/gcc.c-torture/compile/20010911-1.c -1179192833b ./gcc/testsuite/gcc.c-torture/compile/20011010-1.c -3994663975b ./gcc/testsuite/gcc.c-torture/compile/20011023-1.c -1413783183b ./gcc/testsuite/gcc.c-torture/compile/20011029-1.c -2871784009b ./gcc/testsuite/gcc.c-torture/compile/20011106-1.c -3630952349b ./gcc/testsuite/gcc.c-torture/compile/20011106-2.c - 259957404b ./gcc/testsuite/gcc.c-torture/compile/20011109-1.c -2924929463b ./gcc/testsuite/gcc.c-torture/compile/20011114-1.c -3434496008b ./gcc/testsuite/gcc.c-torture/compile/20011114-2.c -2760161415b ./gcc/testsuite/gcc.c-torture/compile/20011114-3.c -3547339064b ./gcc/testsuite/gcc.c-torture/compile/20011114-4.c -3653343012b ./gcc/testsuite/gcc.c-torture/compile/20011119-1.c -2885054257b ./gcc/testsuite/gcc.c-torture/compile/20011119-2.c - 174415171b ./gcc/testsuite/gcc.c-torture/compile/20011130-1.c -1745547919b ./gcc/testsuite/gcc.c-torture/compile/20011130-2.c -3987052556b ./gcc/testsuite/gcc.c-torture/compile/20011205-1.c -1179199950b ./gcc/testsuite/gcc.c-torture/compile/20011217-1.c - 315452475b ./gcc/testsuite/gcc.c-torture/compile/20011217-2.c -3416537061b ./gcc/testsuite/gcc.c-torture/compile/20011218-1.c -2149414673b ./gcc/testsuite/gcc.c-torture/compile/20011219-1.c -1484609615b ./gcc/testsuite/gcc.c-torture/compile/20011219-2.c -3590162726b ./gcc/testsuite/gcc.c-torture/compile/20011229-1.c -1849951092b ./gcc/testsuite/gcc.c-torture/compile/20011229-2.c -3637150343b ./gcc/testsuite/gcc.c-torture/compile/20020103-1.c -3505269843b ./gcc/testsuite/gcc.c-torture/compile/20020106-1.c -3398919425b ./gcc/testsuite/gcc.c-torture/compile/20020109-1.c -2348431150b ./gcc/testsuite/gcc.c-torture/compile/20020109-2.c -4197667212b ./gcc/testsuite/gcc.c-torture/compile/20020110.c - 208428249b ./gcc/testsuite/gcc.c-torture/compile/20020116-1.c - 966527433b ./gcc/testsuite/gcc.c-torture/compile/20020120-1.c -3002186865b ./gcc/testsuite/gcc.c-torture/compile/20020121-1.c -2862264485b ./gcc/testsuite/gcc.c-torture/compile/20020206-1.c -1009994283b ./gcc/testsuite/gcc.c-torture/compile/20020210-1.c -1683706700b ./gcc/testsuite/gcc.c-torture/compile/20020304-1.c -3186842248b ./gcc/testsuite/gcc.c-torture/compile/20020304-2.c -1366050512b ./gcc/testsuite/gcc.c-torture/compile/20020309-1.c -1174986914b ./gcc/testsuite/gcc.c-torture/compile/20020309-2.c -1727441689b ./gcc/testsuite/gcc.c-torture/compile/20020312-1.c -2378124589b ./gcc/testsuite/gcc.c-torture/compile/20020315-1.c -4029159547b ./gcc/testsuite/gcc.c-torture/compile/20020318-1.c -2837722984b ./gcc/testsuite/gcc.c-torture/compile/20020320-1.c -1380106070b ./gcc/testsuite/gcc.c-torture/compile/20020323-1.c - 392286369b ./gcc/testsuite/gcc.c-torture/compile/20020330-1.c -4289507025b ./gcc/testsuite/gcc.c-torture/compile/20020409-1.c -3246888365b ./gcc/testsuite/gcc.c-torture/compile/20020418-1.c -1318297601b ./gcc/testsuite/gcc.c-torture/compile/20020530-1.c - 909926902b ./gcc/testsuite/gcc.c-torture/compile/20020605-1.c - 168620187b ./gcc/testsuite/gcc.c-torture/compile/20020701-1.c -1564612166b ./gcc/testsuite/gcc.c-torture/compile/20020710-1.c - 737897185b ./gcc/testsuite/gcc.c-torture/compile/20020715-1.c -4042098602b ./gcc/testsuite/gcc.c-torture/compile/20020926-1.c - 337401938b ./gcc/testsuite/gcc.c-torture/compile/20020927-1.c -1009786556b ./gcc/testsuite/gcc.c-torture/compile/20021007-1.c - 778329230b ./gcc/testsuite/gcc.c-torture/compile/20021015-1.c - 25981859b ./gcc/testsuite/gcc.c-torture/compile/20021015-2.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 -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 -3673935883b ./gcc/testsuite/gcc.c-torture/compile/920501-1.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 - 825734676b ./gcc/testsuite/gcc.c-torture/compile/920501-2.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 -2978363162b ./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 -1332166500b ./gcc/testsuite/gcc.c-torture/compile/920520-1.c -3357986992b ./gcc/testsuite/gcc.c-torture/compile/920520-1.x - 901366109b ./gcc/testsuite/gcc.c-torture/compile/920521-1.c - 85616231b ./gcc/testsuite/gcc.c-torture/compile/920521-1.x -1216353647b ./gcc/testsuite/gcc.c-torture/compile/920529-1.c - 619512296b ./gcc/testsuite/gcc.c-torture/compile/920608-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 -2188778612b ./gcc/testsuite/gcc.c-torture/compile/920625-1.x - 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 -1730574618b ./gcc/testsuite/gcc.c-torture/compile/920723-1.c -2728140867b ./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 - 583248042b ./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 -4037616572b ./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 -4075622106b ./gcc/testsuite/gcc.c-torture/compile/980506-1.x - 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 -2455813842b ./gcc/testsuite/gcc.c-torture/compile/981006-1.c - 303831411b ./gcc/testsuite/gcc.c-torture/compile/981006-1.x - 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 -1534948383b ./gcc/testsuite/gcc.c-torture/compile/981223-1.c -2200568070b ./gcc/testsuite/gcc.c-torture/compile/981223-1.x -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 -2791783349b ./gcc/testsuite/gcc.c-torture/compile/990523-1.c -3000844764b ./gcc/testsuite/gcc.c-torture/compile/990527-1.c - 582106274b ./gcc/testsuite/gcc.c-torture/compile/990617-1.c -2322013805b ./gcc/testsuite/gcc.c-torture/compile/990617-1.x - 492504629b ./gcc/testsuite/gcc.c-torture/compile/990625-1.c - 884965957b ./gcc/testsuite/gcc.c-torture/compile/990625-2.c -4084131388b ./gcc/testsuite/gcc.c-torture/compile/990801-1.c -2266581816b ./gcc/testsuite/gcc.c-torture/compile/990801-2.c -3317513113b ./gcc/testsuite/gcc.c-torture/compile/990829-1.c -3956045070b ./gcc/testsuite/gcc.c-torture/compile/990913-1.c -3319682501b ./gcc/testsuite/gcc.c-torture/compile/990928-1.c -3933777529b ./gcc/testsuite/gcc.c-torture/compile/991008-1.c -2673675627b ./gcc/testsuite/gcc.c-torture/compile/991026-1.c -1674528994b ./gcc/testsuite/gcc.c-torture/compile/991026-2.c -4044514395b ./gcc/testsuite/gcc.c-torture/compile/991127-1.c -4090550720b ./gcc/testsuite/gcc.c-torture/compile/991202-1.c -2790904959b ./gcc/testsuite/gcc.c-torture/compile/991208-1.c -3320607847b ./gcc/testsuite/gcc.c-torture/compile/991213-1.c - 337781771b ./gcc/testsuite/gcc.c-torture/compile/991213-2.c -2183919411b ./gcc/testsuite/gcc.c-torture/compile/991213-3.c -2401949194b ./gcc/testsuite/gcc.c-torture/compile/991214-1.c - 490622457b ./gcc/testsuite/gcc.c-torture/compile/991214-2.c -4103871327b ./gcc/testsuite/gcc.c-torture/compile/991229-1.c -3992734927b ./gcc/testsuite/gcc.c-torture/compile/991229-2.c -4256185088b ./gcc/testsuite/gcc.c-torture/compile/991229-3.c -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 -1983287936b ./gcc/testsuite/gcc.c-torture/compile/compile.exp -1794942657b ./gcc/testsuite/gcc.c-torture/compile/cpp-1.c - 970559481b ./gcc/testsuite/gcc.c-torture/compile/cpp-2.c -1931627759b ./gcc/testsuite/gcc.c-torture/compile/dll.c -3830564423b ./gcc/testsuite/gcc.c-torture/compile/dll.x -3452765233b ./gcc/testsuite/gcc.c-torture/compile/funcptr-1.c -1935315878b ./gcc/testsuite/gcc.c-torture/compile/goto-1.c -1601988128b ./gcc/testsuite/gcc.c-torture/compile/iftrap-1.c - 335811326b ./gcc/testsuite/gcc.c-torture/compile/iftrap-2.c -4225667120b ./gcc/testsuite/gcc.c-torture/compile/init-1.c -2861967846b ./gcc/testsuite/gcc.c-torture/compile/init-2.c -2669634792b ./gcc/testsuite/gcc.c-torture/compile/init-3.c -4126878501b ./gcc/testsuite/gcc.c-torture/compile/labels-1.c -2067585207b ./gcc/testsuite/gcc.c-torture/compile/labels-2.c -3607951474b ./gcc/testsuite/gcc.c-torture/compile/labels-3.c - 709334018b ./gcc/testsuite/gcc.c-torture/compile/labels-3.x -1060389673b ./gcc/testsuite/gcc.c-torture/compile/packed-1.c - 69389766b ./gcc/testsuite/gcc.c-torture/compile/structs.c -2677779184b ./gcc/testsuite/gcc.c-torture/compile/trunctfdf.c -3723113555b ./gcc/testsuite/gcc.c-torture/compile/widechar-1.c -2985433108b ./gcc/testsuite/gcc.c-torture/compile/zero-strct-1.c -1530761060b ./gcc/testsuite/gcc.c-torture/execute/20000112-1.c -2481066019b ./gcc/testsuite/gcc.c-torture/execute/20000113-1.c -1162771092b ./gcc/testsuite/gcc.c-torture/execute/20000121-1.c -2528273823b ./gcc/testsuite/gcc.c-torture/execute/20000205-1.c -1308437308b ./gcc/testsuite/gcc.c-torture/execute/20000217-1.c - 778222354b ./gcc/testsuite/gcc.c-torture/execute/20000223-1.c -2810936145b ./gcc/testsuite/gcc.c-torture/execute/20000224-1.c -2859303587b ./gcc/testsuite/gcc.c-torture/execute/20000225-1.c -2200813341b ./gcc/testsuite/gcc.c-torture/execute/20000227-1.c -1085530082b ./gcc/testsuite/gcc.c-torture/execute/20000313-1.c -1558819196b ./gcc/testsuite/gcc.c-torture/execute/20000314-1.c -1363719296b ./gcc/testsuite/gcc.c-torture/execute/20000314-2.c -1833012317b ./gcc/testsuite/gcc.c-torture/execute/20000314-3.c -3834437988b ./gcc/testsuite/gcc.c-torture/execute/20000402-1.c -4060238122b ./gcc/testsuite/gcc.c-torture/execute/20000403-1.c -3672378029b ./gcc/testsuite/gcc.c-torture/execute/20000412-1.c -2857396630b ./gcc/testsuite/gcc.c-torture/execute/20000412-2.c -3640032771b ./gcc/testsuite/gcc.c-torture/execute/20000412-3.c -4233239850b ./gcc/testsuite/gcc.c-torture/execute/20000412-4.c -3642307617b ./gcc/testsuite/gcc.c-torture/execute/20000412-5.c - 122352684b ./gcc/testsuite/gcc.c-torture/execute/20000412-6.c - 939777600b ./gcc/testsuite/gcc.c-torture/execute/20000419-1.c -1445008654b ./gcc/testsuite/gcc.c-torture/execute/20000422-1.c - 677800698b ./gcc/testsuite/gcc.c-torture/execute/20000503-1.c - 531516808b ./gcc/testsuite/gcc.c-torture/execute/20000511-1.c - 301599840b ./gcc/testsuite/gcc.c-torture/execute/20000519-1.c -2363078014b ./gcc/testsuite/gcc.c-torture/execute/20000519-2.c -2387696776b ./gcc/testsuite/gcc.c-torture/execute/20000523-1.c - 185622639b ./gcc/testsuite/gcc.c-torture/execute/20000528-1.c -3522437520b ./gcc/testsuite/gcc.c-torture/execute/20000603-1.c -1679879990b ./gcc/testsuite/gcc.c-torture/execute/20000605-1.c -2664922764b ./gcc/testsuite/gcc.c-torture/execute/20000605-2.c -3650927220b ./gcc/testsuite/gcc.c-torture/execute/20000605-3.c -3450155788b ./gcc/testsuite/gcc.c-torture/execute/20000622-1.c -1183204743b ./gcc/testsuite/gcc.c-torture/execute/20000703-1.c -2031552411b ./gcc/testsuite/gcc.c-torture/execute/20000706-1.c - 425477806b ./gcc/testsuite/gcc.c-torture/execute/20000706-2.c - 690409016b ./gcc/testsuite/gcc.c-torture/execute/20000706-3.c - 388840900b ./gcc/testsuite/gcc.c-torture/execute/20000706-4.c -3881852138b ./gcc/testsuite/gcc.c-torture/execute/20000706-5.c -4202259059b ./gcc/testsuite/gcc.c-torture/execute/20000707-1.c - 444353142b ./gcc/testsuite/gcc.c-torture/execute/20000715-1.c -1455669777b ./gcc/testsuite/gcc.c-torture/execute/20000715-2.c -1355649270b ./gcc/testsuite/gcc.c-torture/execute/20000717-1.c -2506273608b ./gcc/testsuite/gcc.c-torture/execute/20000717-2.c -3729674446b ./gcc/testsuite/gcc.c-torture/execute/20000717-3.c - 843831990b ./gcc/testsuite/gcc.c-torture/execute/20000717-4.c -3868604235b ./gcc/testsuite/gcc.c-torture/execute/20000717-5.c -3718377161b ./gcc/testsuite/gcc.c-torture/execute/20000722-1.c -1809610528b ./gcc/testsuite/gcc.c-torture/execute/20000726-1.c -3447416803b ./gcc/testsuite/gcc.c-torture/execute/20000731-1.c -1979644625b ./gcc/testsuite/gcc.c-torture/execute/20000731-2.c - 622038460b ./gcc/testsuite/gcc.c-torture/execute/20000801-1.c - 379050989b ./gcc/testsuite/gcc.c-torture/execute/20000801-2.c -1541984007b ./gcc/testsuite/gcc.c-torture/execute/20000801-3.c -2632039733b ./gcc/testsuite/gcc.c-torture/execute/20000801-4.c -3273221977b ./gcc/testsuite/gcc.c-torture/execute/20000808-1.c -3715226001b ./gcc/testsuite/gcc.c-torture/execute/20000815-1.c -2910084298b ./gcc/testsuite/gcc.c-torture/execute/20000818-1.c -3982907773b ./gcc/testsuite/gcc.c-torture/execute/20000819-1.c - 806186932b ./gcc/testsuite/gcc.c-torture/execute/20000822-1.c -1842039169b ./gcc/testsuite/gcc.c-torture/execute/20000910-1.c - 187331803b ./gcc/testsuite/gcc.c-torture/execute/20000910-2.c -2672323622b ./gcc/testsuite/gcc.c-torture/execute/20000914-1.c -3900394210b ./gcc/testsuite/gcc.c-torture/execute/20000917-1.c -3471632940b ./gcc/testsuite/gcc.c-torture/execute/20001009-1.c -1469841059b ./gcc/testsuite/gcc.c-torture/execute/20001009-2.c -1399364540b ./gcc/testsuite/gcc.c-torture/execute/20001011-1.c -1742992606b ./gcc/testsuite/gcc.c-torture/execute/20001013-1.c -4079653839b ./gcc/testsuite/gcc.c-torture/execute/20001017-1.c - 915214225b ./gcc/testsuite/gcc.c-torture/execute/20001017-2.c - 411820211b ./gcc/testsuite/gcc.c-torture/execute/20001024-1.c -4210982727b ./gcc/testsuite/gcc.c-torture/execute/20001026-1.c -2907247602b ./gcc/testsuite/gcc.c-torture/execute/20001027-1.c - 731083799b ./gcc/testsuite/gcc.c-torture/execute/20001031-1.c - 123108566b ./gcc/testsuite/gcc.c-torture/execute/20001101.c -3554851734b ./gcc/testsuite/gcc.c-torture/execute/20001108-1.c - 696351685b ./gcc/testsuite/gcc.c-torture/execute/20001111-1.c -1813795050b ./gcc/testsuite/gcc.c-torture/execute/20001112-1.c -3234051961b ./gcc/testsuite/gcc.c-torture/execute/20001121-1.c -2035849840b ./gcc/testsuite/gcc.c-torture/execute/20001124-1.c - 378727792b ./gcc/testsuite/gcc.c-torture/execute/20001130-1.c -1876645280b ./gcc/testsuite/gcc.c-torture/execute/20001130-2.c -3253069371b ./gcc/testsuite/gcc.c-torture/execute/20001203-1.c -2873524021b ./gcc/testsuite/gcc.c-torture/execute/20001203-2.c - 315046176b ./gcc/testsuite/gcc.c-torture/execute/20001221-1.c -3430334061b ./gcc/testsuite/gcc.c-torture/execute/20001228-1.c -4145547631b ./gcc/testsuite/gcc.c-torture/execute/20001229-1.c -2867964338b ./gcc/testsuite/gcc.c-torture/execute/20010106-1.c -4104575350b ./gcc/testsuite/gcc.c-torture/execute/20010114-1.c -4274826155b ./gcc/testsuite/gcc.c-torture/execute/20010116-1.c -1853154998b ./gcc/testsuite/gcc.c-torture/execute/20010118-1.c -1273676691b ./gcc/testsuite/gcc.c-torture/execute/20010119-1.c - 367104834b ./gcc/testsuite/gcc.c-torture/execute/20010122-1.c -2189672298b ./gcc/testsuite/gcc.c-torture/execute/20010122-1.x -2126355226b ./gcc/testsuite/gcc.c-torture/execute/20010123-1.c -2748204733b ./gcc/testsuite/gcc.c-torture/execute/20010124-1.c - 962969845b ./gcc/testsuite/gcc.c-torture/execute/20010129-1.c -3261363423b ./gcc/testsuite/gcc.c-torture/execute/20010129-1.x -3208398809b ./gcc/testsuite/gcc.c-torture/execute/20010206-1.c -1778342214b ./gcc/testsuite/gcc.c-torture/execute/20010209-1.c -3579334795b ./gcc/testsuite/gcc.c-torture/execute/20010221-1.c -2457134781b ./gcc/testsuite/gcc.c-torture/execute/20010222-1.c -3606901851b ./gcc/testsuite/gcc.c-torture/execute/20010224-1.c -1780176502b ./gcc/testsuite/gcc.c-torture/execute/20010325-1.c - 111828245b ./gcc/testsuite/gcc.c-torture/execute/20010329-1.c -4181677122b ./gcc/testsuite/gcc.c-torture/execute/20010403-1.c -1255405665b ./gcc/testsuite/gcc.c-torture/execute/20010409-1.c -2948781834b ./gcc/testsuite/gcc.c-torture/execute/20010422-1.c -3990119664b ./gcc/testsuite/gcc.c-torture/execute/20010518-1.c -3221966760b ./gcc/testsuite/gcc.c-torture/execute/20010518-2.c -4150058335b ./gcc/testsuite/gcc.c-torture/execute/20010520-1.c -3398306936b ./gcc/testsuite/gcc.c-torture/execute/20010604-1.c -1597970944b ./gcc/testsuite/gcc.c-torture/execute/20010605-1.c -2151082111b ./gcc/testsuite/gcc.c-torture/execute/20010605-2.c -2682131177b ./gcc/testsuite/gcc.c-torture/execute/20010711-1.c - 873772836b ./gcc/testsuite/gcc.c-torture/execute/20010717-1.c -2673367189b ./gcc/testsuite/gcc.c-torture/execute/20010723-1.c -3978892519b ./gcc/testsuite/gcc.c-torture/execute/20010724-1.c -1723617799b ./gcc/testsuite/gcc.c-torture/execute/20010724-1.x - 731866148b ./gcc/testsuite/gcc.c-torture/execute/20010904-1.c - 731377342b ./gcc/testsuite/gcc.c-torture/execute/20010904-2.c -2522784842b ./gcc/testsuite/gcc.c-torture/execute/20010910-1.c -1182047103b ./gcc/testsuite/gcc.c-torture/execute/20010915-1.c -3737091006b ./gcc/testsuite/gcc.c-torture/execute/20010924-1.c - 260325577b ./gcc/testsuite/gcc.c-torture/execute/20010925-1.c -4188355089b ./gcc/testsuite/gcc.c-torture/execute/20011008-3.c -2281713299b ./gcc/testsuite/gcc.c-torture/execute/20011019-1.c -2655569315b ./gcc/testsuite/gcc.c-torture/execute/20011024-1.c -1814584846b ./gcc/testsuite/gcc.c-torture/execute/20011109-1.c -1662612200b ./gcc/testsuite/gcc.c-torture/execute/20011109-2.c -2550685908b ./gcc/testsuite/gcc.c-torture/execute/20011113-1.c - 172432599b ./gcc/testsuite/gcc.c-torture/execute/20011114-1.c - 809814896b ./gcc/testsuite/gcc.c-torture/execute/20011115-1.c - 4092518b ./gcc/testsuite/gcc.c-torture/execute/20011121-1.c -3502448934b ./gcc/testsuite/gcc.c-torture/execute/20011126-1.c -2732339842b ./gcc/testsuite/gcc.c-torture/execute/20011126-2.c - 815133002b ./gcc/testsuite/gcc.c-torture/execute/20011128-1.c - 241656074b ./gcc/testsuite/gcc.c-torture/execute/20011217-1.c -2277704872b ./gcc/testsuite/gcc.c-torture/execute/20011219-1.c -2006770303b ./gcc/testsuite/gcc.c-torture/execute/20011223-1.c -4135985164b ./gcc/testsuite/gcc.c-torture/execute/20020103-1.c -2284569670b ./gcc/testsuite/gcc.c-torture/execute/20020107-1.c -2382854982b ./gcc/testsuite/gcc.c-torture/execute/20020108-1.c -2848042033b ./gcc/testsuite/gcc.c-torture/execute/20020118-1.c -2653510244b ./gcc/testsuite/gcc.c-torture/execute/20020127-1.c -1739097481b ./gcc/testsuite/gcc.c-torture/execute/20020129-1.c -1264770028b ./gcc/testsuite/gcc.c-torture/execute/20020201-1.c - 502375258b ./gcc/testsuite/gcc.c-torture/execute/20020206-1.c -3691690701b ./gcc/testsuite/gcc.c-torture/execute/20020206-2.c -4078405558b ./gcc/testsuite/gcc.c-torture/execute/20020213-1.c - 125431111b ./gcc/testsuite/gcc.c-torture/execute/20020215-1.c -1599210871b ./gcc/testsuite/gcc.c-torture/execute/20020216-1.c -1360698555b ./gcc/testsuite/gcc.c-torture/execute/20020219-1.c -1656358954b ./gcc/testsuite/gcc.c-torture/execute/20020225-1.c - 127051635b ./gcc/testsuite/gcc.c-torture/execute/20020227-1.c -2757105756b ./gcc/testsuite/gcc.c-torture/execute/20020227-1.x -1982547595b ./gcc/testsuite/gcc.c-torture/execute/20020307-1.c -1497258578b ./gcc/testsuite/gcc.c-torture/execute/20020307-2.c -2236973257b ./gcc/testsuite/gcc.c-torture/execute/20020314-1.c -3091941732b ./gcc/testsuite/gcc.c-torture/execute/20020320-1.c -3564527352b ./gcc/testsuite/gcc.c-torture/execute/20020321-1.c - 577542360b ./gcc/testsuite/gcc.c-torture/execute/20020402-1.c -3290123747b ./gcc/testsuite/gcc.c-torture/execute/20020402-2.c -2122778375b ./gcc/testsuite/gcc.c-torture/execute/20020402-3.c -2806949247b ./gcc/testsuite/gcc.c-torture/execute/20020404-1.c - 658725271b ./gcc/testsuite/gcc.c-torture/execute/20020406-1.c -1900879256b ./gcc/testsuite/gcc.c-torture/execute/20020411-1.c -2788774617b ./gcc/testsuite/gcc.c-torture/execute/20020413-1.c -2439380096b ./gcc/testsuite/gcc.c-torture/execute/20020418-1.c - 49470659b ./gcc/testsuite/gcc.c-torture/execute/20020423-1.c - 484359727b ./gcc/testsuite/gcc.c-torture/execute/20020503-1.c -1286592631b ./gcc/testsuite/gcc.c-torture/execute/20020529-1.c -2563139669b ./gcc/testsuite/gcc.c-torture/execute/20020611-1.c -2588225457b ./gcc/testsuite/gcc.c-torture/execute/20020614-1.c -2304661446b ./gcc/testsuite/gcc.c-torture/execute/20020615-1.c -1625459055b ./gcc/testsuite/gcc.c-torture/execute/20020619-1.c -2876236122b ./gcc/testsuite/gcc.c-torture/execute/20020716-1.c - 492121497b ./gcc/testsuite/gcc.c-torture/execute/20020904-1.c -1275043517b ./gcc/testsuite/gcc.c-torture/execute/20021015-1.c -2849369814b ./gcc/testsuite/gcc.c-torture/execute/20021024-1.c -3361882342b ./gcc/testsuite/gcc.c-torture/execute/20021111-1.c - 37158978b ./gcc/testsuite/gcc.c-torture/execute/900409-1.c -1241514475b ./gcc/testsuite/gcc.c-torture/execute/920202-1.c - 651529975b ./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 -1749111501b ./gcc/testsuite/gcc.c-torture/execute/920415-1.c - 508706990b ./gcc/testsuite/gcc.c-torture/execute/920428-1.c -3878413130b ./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 - 798860387b ./gcc/testsuite/gcc.c-torture/execute/920501-5.c -4199344202b ./gcc/testsuite/gcc.c-torture/execute/920501-6.c -2006299034b ./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 -1273235575b ./gcc/testsuite/gcc.c-torture/execute/920501-8.x -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 - 102881897b ./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 - 917858221b ./gcc/testsuite/gcc.c-torture/execute/920730-1.c -1400910240b ./gcc/testsuite/gcc.c-torture/execute/920730-1t.c -3331598307b ./gcc/testsuite/gcc.c-torture/execute/920730-1t.x -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 -1596244093b ./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 -3328444406b ./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 -3144873997b ./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 -1273235575b ./gcc/testsuite/gcc.c-torture/execute/930513-1.x -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 -2050475769b ./gcc/testsuite/gcc.c-torture/execute/930529-1.x - 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 -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 -2742393702b ./gcc/testsuite/gcc.c-torture/execute/931004-1.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 -1949677962b ./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 -2449729039b ./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 -2615797380b ./gcc/testsuite/gcc.c-torture/execute/960416-1.x -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 -2343108590b ./gcc/testsuite/gcc.c-torture/execute/970923-1.c -2894602056b ./gcc/testsuite/gcc.c-torture/execute/980205.c -4265139835b ./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 -3843080992b ./gcc/testsuite/gcc.c-torture/execute/980707-1.c -3327976229b ./gcc/testsuite/gcc.c-torture/execute/980709-1.c -2346484511b ./gcc/testsuite/gcc.c-torture/execute/980709-1.x -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 -1075245403b ./gcc/testsuite/gcc.c-torture/execute/990208-1.c -1370072006b ./gcc/testsuite/gcc.c-torture/execute/990208-1.x -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 -2242042026b ./gcc/testsuite/gcc.c-torture/execute/990524-1.c -1608250007b ./gcc/testsuite/gcc.c-torture/execute/990525-1.c -1043856586b ./gcc/testsuite/gcc.c-torture/execute/990525-2.c -1233686917b ./gcc/testsuite/gcc.c-torture/execute/990527-1.c -1220250784b ./gcc/testsuite/gcc.c-torture/execute/990531-1.c -3289696997b ./gcc/testsuite/gcc.c-torture/execute/990604-1.c - 80435005b ./gcc/testsuite/gcc.c-torture/execute/990628-1.c -2064588039b ./gcc/testsuite/gcc.c-torture/execute/990804-1.c -2063909199b ./gcc/testsuite/gcc.c-torture/execute/990811-1.c -1435922216b ./gcc/testsuite/gcc.c-torture/execute/990826-0.c -2369075067b ./gcc/testsuite/gcc.c-torture/execute/990826-0.x -3894203537b ./gcc/testsuite/gcc.c-torture/execute/990827-1.c -1924065387b ./gcc/testsuite/gcc.c-torture/execute/990829-1.c -3657724130b ./gcc/testsuite/gcc.c-torture/execute/990923-1.c -3037719587b ./gcc/testsuite/gcc.c-torture/execute/991014-1.c - 340177342b ./gcc/testsuite/gcc.c-torture/execute/991016-1.c -2236305082b ./gcc/testsuite/gcc.c-torture/execute/991019-1.c -4202756321b ./gcc/testsuite/gcc.c-torture/execute/991023-1.c -1824884313b ./gcc/testsuite/gcc.c-torture/execute/991030-1.c -4138873239b ./gcc/testsuite/gcc.c-torture/execute/991112-1.c -2109536582b ./gcc/testsuite/gcc.c-torture/execute/991118-1.c -1316882767b ./gcc/testsuite/gcc.c-torture/execute/991201-1.c -2220300988b ./gcc/testsuite/gcc.c-torture/execute/991202-1.c -1285333003b ./gcc/testsuite/gcc.c-torture/execute/991202-2.c -2329096948b ./gcc/testsuite/gcc.c-torture/execute/991202-3.c -3117583172b ./gcc/testsuite/gcc.c-torture/execute/991216-1.c -4234986278b ./gcc/testsuite/gcc.c-torture/execute/991216-2.c - 631159512b ./gcc/testsuite/gcc.c-torture/execute/991216-3.c -4137201305b ./gcc/testsuite/gcc.c-torture/execute/991216-4.c - 882138391b ./gcc/testsuite/gcc.c-torture/execute/991221-1.c -2854457808b ./gcc/testsuite/gcc.c-torture/execute/991227-1.c -3688640862b ./gcc/testsuite/gcc.c-torture/execute/991228-1.c -3793831392b ./gcc/testsuite/gcc.c-torture/execute/align-1.c -4120792597b ./gcc/testsuite/gcc.c-torture/execute/align-2.c -1274835551b ./gcc/testsuite/gcc.c-torture/execute/alloca-1.c -3292072248b ./gcc/testsuite/gcc.c-torture/execute/anon-1.c -1605923399b ./gcc/testsuite/gcc.c-torture/execute/arith-1.c - 343449147b ./gcc/testsuite/gcc.c-torture/execute/arith-rand.c - 312869222b ./gcc/testsuite/gcc.c-torture/execute/ashldi-1.c -1327544364b ./gcc/testsuite/gcc.c-torture/execute/ashrdi-1.c - 629391558b ./gcc/testsuite/gcc.c-torture/execute/bcp-1.c - 323354359b ./gcc/testsuite/gcc.c-torture/execute/bf64-1.c -3097986350b ./gcc/testsuite/gcc.c-torture/execute/bf64-1.x -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 -1320697357b ./gcc/testsuite/gcc.c-torture/execute/bf-sign-2.c -1331291117b ./gcc/testsuite/gcc.c-torture/execute/bitfld-1.c -3644699221b ./gcc/testsuite/gcc.c-torture/execute/bitfld-1.x -1684940093b ./gcc/testsuite/gcc.c-torture/execute/bitfld-2.c -1673141587b ./gcc/testsuite/gcc.c-torture/execute/builtin-abs-1.c -2056736695b ./gcc/testsuite/gcc.c-torture/execute/builtin-abs-2.c -3097553545b ./gcc/testsuite/gcc.c-torture/execute/builtin-complex-1.c -1581619700b ./gcc/testsuite/gcc.c-torture/execute/builtin-noret-1.c - 329340471b ./gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-1.c - 397570715b ./gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-2.c -1484227202b ./gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-3.c -1934387710b ./gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-4.c -2627312111b ./gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-5.c -3741124173b ./gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-6.c -4012339802b ./gcc/testsuite/gcc.c-torture/execute/built-in-setjmp.c -2250919883b ./gcc/testsuite/gcc.c-torture/execute/builtin-types-compatible-p.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 -3943123822b ./gcc/testsuite/gcc.c-torture/execute/comp-goto-1.c -3449149566b ./gcc/testsuite/gcc.c-torture/execute/comp-goto-2.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 -3814081986b ./gcc/testsuite/gcc.c-torture/execute/complex-6.c -1079537985b ./gcc/testsuite/gcc.c-torture/execute/compndlit-1.c -4213843385b ./gcc/testsuite/gcc.c-torture/execute/conversion.c -1362123497b ./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 -3321693440b ./gcc/testsuite/gcc.c-torture/execute/divconst-2.c - 506840532b ./gcc/testsuite/gcc.c-torture/execute/divconst-3.c -2615797380b ./gcc/testsuite/gcc.c-torture/execute/divconst-3.x -2274689094b ./gcc/testsuite/gcc.c-torture/execute/divmod-1.c -1808173474b ./gcc/testsuite/gcc.c-torture/execute/eeprof-1.c -2216490291b ./gcc/testsuite/gcc.c-torture/execute/eeprof-1.x -1886321368b ./gcc/testsuite/gcc.c-torture/execute/enum-1.c -3916720934b ./gcc/testsuite/gcc.c-torture/execute/enum-2.c -2211348141b ./gcc/testsuite/gcc.c-torture/execute/execute.exp -1911697643b ./gcc/testsuite/gcc.c-torture/execute/extzvsi.c - 155906334b ./gcc/testsuite/gcc.c-torture/execute/func-ptr-1.c -1157816092b ./gcc/testsuite/gcc.c-torture/execute/gofast.c -3099798770b ./gcc/testsuite/gcc.c-torture/execute/ieee/20000320-1.c - 981656236b ./gcc/testsuite/gcc.c-torture/execute/ieee/20001122-1.c -2602526611b ./gcc/testsuite/gcc.c-torture/execute/ieee/20010114-2.c -3379104705b ./gcc/testsuite/gcc.c-torture/execute/ieee/20010226-1.c - 372215662b ./gcc/testsuite/gcc.c-torture/execute/ieee/20011123-1.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 -1659512392b ./gcc/testsuite/gcc.c-torture/execute/ieee/980619-1.x -1948647907b ./gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-1.c -1935804586b ./gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-2.c - 817625481b ./gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-3.c -3452570198b ./gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4.c - 330892698b ./gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-5.c -4125344101b ./gcc/testsuite/gcc.c-torture/execute/ieee/hugeval.c -1953413990b ./gcc/testsuite/gcc.c-torture/execute/ieee/hugeval.x -2299573411b ./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 -2290856575b ./gcc/testsuite/gcc.c-torture/execute/ieee/mzero2.x -3203549249b ./gcc/testsuite/gcc.c-torture/execute/ieee/mzero3.c - 545426428b ./gcc/testsuite/gcc.c-torture/execute/ieee/rbug.c -2631912054b ./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 -2503239574b ./gcc/testsuite/gcc.c-torture/execute/longlong.c -3284814162b ./gcc/testsuite/gcc.c-torture/execute/loop-10.c -2766603756b ./gcc/testsuite/gcc.c-torture/execute/loop-11.c -3036735737b ./gcc/testsuite/gcc.c-torture/execute/loop-12.c -2537268960b ./gcc/testsuite/gcc.c-torture/execute/loop-14.c - 995264748b ./gcc/testsuite/gcc.c-torture/execute/loop-15.c -2701191371b ./gcc/testsuite/gcc.c-torture/execute/loop-1.c -3443893179b ./gcc/testsuite/gcc.c-torture/execute/loop-2b.c - 869002341b ./gcc/testsuite/gcc.c-torture/execute/loop-2.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 -2718531033b ./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 -4068453712b ./gcc/testsuite/gcc.c-torture/execute/loop-3b.c -3620613760b ./gcc/testsuite/gcc.c-torture/execute/loop-3.c -2778041526b ./gcc/testsuite/gcc.c-torture/execute/loop-3c.c -2249811917b ./gcc/testsuite/gcc.c-torture/execute/loop-3c.x -1791416082b ./gcc/testsuite/gcc.c-torture/execute/loop-4b.c -3316778727b ./gcc/testsuite/gcc.c-torture/execute/loop-4.c -3541035036b ./gcc/testsuite/gcc.c-torture/execute/loop-5.c -4217961697b ./gcc/testsuite/gcc.c-torture/execute/loop-6.c -3649171232b ./gcc/testsuite/gcc.c-torture/execute/loop-7.c -3999194364b ./gcc/testsuite/gcc.c-torture/execute/loop-8.c - 239440461b ./gcc/testsuite/gcc.c-torture/execute/loop-9.c -3308349321b ./gcc/testsuite/gcc.c-torture/execute/lshrdi-1.c -1655048971b ./gcc/testsuite/gcc.c-torture/execute/memcpy-1.c -1198957866b ./gcc/testsuite/gcc.c-torture/execute/memcpy-bi.c -2259057543b ./gcc/testsuite/gcc.c-torture/execute/memset-3.c -1146723390b ./gcc/testsuite/gcc.c-torture/execute/mod-1.c - 843122257b ./gcc/testsuite/gcc.c-torture/execute/nestfunc-1.c -2875393797b ./gcc/testsuite/gcc.c-torture/execute/nestfunc-2.c -3451120516b ./gcc/testsuite/gcc.c-torture/execute/nestfunc-3.c -1193207968b ./gcc/testsuite/gcc.c-torture/execute/nestfunc-4.c - 462740811b ./gcc/testsuite/gcc.c-torture/execute/nest-stdar-1.c -1347988605b ./gcc/testsuite/gcc.c-torture/execute/packed-1.c -3662025483b ./gcc/testsuite/gcc.c-torture/execute/packed-2.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 -3788353048b ./gcc/testsuite/gcc.c-torture/execute/shiftdi.c - 75800580b ./gcc/testsuite/gcc.c-torture/execute/stdio-opt-1.c -2726881848b ./gcc/testsuite/gcc.c-torture/execute/stdio-opt-2.c -2215607685b ./gcc/testsuite/gcc.c-torture/execute/stdio-opt-3.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 - 665194027b ./gcc/testsuite/gcc.c-torture/execute/strct-stdarg-1.x -3638595647b ./gcc/testsuite/gcc.c-torture/execute/strct-varg-1.c -2424749175b ./gcc/testsuite/gcc.c-torture/execute/strct-varg-1.x -2004905304b ./gcc/testsuite/gcc.c-torture/execute/string-opt-10.c -1757228388b ./gcc/testsuite/gcc.c-torture/execute/string-opt-11.c -3269205009b ./gcc/testsuite/gcc.c-torture/execute/string-opt-12.c -1302429529b ./gcc/testsuite/gcc.c-torture/execute/string-opt-13.c -1984203373b ./gcc/testsuite/gcc.c-torture/execute/string-opt-14.c - 206750096b ./gcc/testsuite/gcc.c-torture/execute/string-opt-15.c - 2089995b ./gcc/testsuite/gcc.c-torture/execute/string-opt-16.c -3389618360b ./gcc/testsuite/gcc.c-torture/execute/string-opt-1.c -2499130848b ./gcc/testsuite/gcc.c-torture/execute/string-opt-2.c - 307949358b ./gcc/testsuite/gcc.c-torture/execute/string-opt-3.c -1473532603b ./gcc/testsuite/gcc.c-torture/execute/string-opt-4.c -2202340101b ./gcc/testsuite/gcc.c-torture/execute/string-opt-5.c - 196339167b ./gcc/testsuite/gcc.c-torture/execute/string-opt-6.c -2437896034b ./gcc/testsuite/gcc.c-torture/execute/string-opt-7.c - 524866461b ./gcc/testsuite/gcc.c-torture/execute/string-opt-8.c -2299025367b ./gcc/testsuite/gcc.c-torture/execute/string-opt-9.c -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 -1760191623b ./gcc/testsuite/gcc.c-torture/execute/unroll-1.c - 150011334b ./gcc/testsuite/gcc.c-torture/execute/va-arg-10.c -1341755443b ./gcc/testsuite/gcc.c-torture/execute/va-arg-11.c -3741851708b ./gcc/testsuite/gcc.c-torture/execute/va-arg-12.c -2056576210b ./gcc/testsuite/gcc.c-torture/execute/va-arg-13.c -1501818131b ./gcc/testsuite/gcc.c-torture/execute/va-arg-14.c - 625024539b ./gcc/testsuite/gcc.c-torture/execute/va-arg-15.c - 905618458b ./gcc/testsuite/gcc.c-torture/execute/va-arg-15.x -1304294650b ./gcc/testsuite/gcc.c-torture/execute/va-arg-16.c - 905618458b ./gcc/testsuite/gcc.c-torture/execute/va-arg-16.x -3654734537b ./gcc/testsuite/gcc.c-torture/execute/va-arg-17.c - 905618458b ./gcc/testsuite/gcc.c-torture/execute/va-arg-17.x -2108289558b ./gcc/testsuite/gcc.c-torture/execute/va-arg-18.c -2682407156b ./gcc/testsuite/gcc.c-torture/execute/va-arg-19.c -4100317579b ./gcc/testsuite/gcc.c-torture/execute/va-arg-1.c - 366376907b ./gcc/testsuite/gcc.c-torture/execute/va-arg-20.c -3416533370b ./gcc/testsuite/gcc.c-torture/execute/va-arg-21.c -1403664843b ./gcc/testsuite/gcc.c-torture/execute/va-arg-22.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 -3547378445b ./gcc/testsuite/gcc.c-torture/execute/va-arg-7.c -3028804389b ./gcc/testsuite/gcc.c-torture/execute/va-arg-8.c -2833151734b ./gcc/testsuite/gcc.c-torture/execute/va-arg-9.c -1911372417b ./gcc/testsuite/gcc.c-torture/execute/wchar_t-1.c - 529327846b ./gcc/testsuite/gcc.c-torture/execute/widechar-1.c -1902127658b ./gcc/testsuite/gcc.c-torture/execute/widechar-2.c -2556092488b ./gcc/testsuite/gcc.c-torture/execute/zerolen-1.c -4066787379b ./gcc/testsuite/gcc.c-torture/execute/zerolen-2.c - 634421910b ./gcc/testsuite/gcc.c-torture/unsorted/386.c -2512826658b ./gcc/testsuite/gcc.c-torture/unsorted/86.c -2687046562b ./gcc/testsuite/gcc.c-torture/unsorted/a1.c -3122819825b ./gcc/testsuite/gcc.c-torture/unsorted/a3.c -1905897475b ./gcc/testsuite/gcc.c-torture/unsorted/aaa.c -1430858172b ./gcc/testsuite/gcc.c-torture/unsorted/aa.c -2128951928b ./gcc/testsuite/gcc.c-torture/unsorted/abs.c - 51945996b ./gcc/testsuite/gcc.c-torture/unsorted/a.c -4087775597b ./gcc/testsuite/gcc.c-torture/unsorted/ac.c -4108214922b ./gcc/testsuite/gcc.c-torture/unsorted/acc.c - 178238083b ./gcc/testsuite/gcc.c-torture/unsorted/add386.c -1561010997b ./gcc/testsuite/gcc.c-torture/unsorted/add.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 - 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 -3604241750b ./gcc/testsuite/gcc.c-torture/unsorted/b.c -2670310529b ./gcc/testsuite/gcc.c-torture/unsorted/bc.c -3090384483b ./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 -3930520391b ./gcc/testsuite/gcc.c-torture/unsorted/bt386.c -3879987638b ./gcc/testsuite/gcc.c-torture/unsorted/bt.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 -1577087180b ./gcc/testsuite/gcc.c-torture/unsorted/BUG1.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 -3618943848b ./gcc/testsuite/gcc.c-torture/unsorted/BUG2.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 -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 -3824196498b ./gcc/testsuite/gcc.c-torture/unsorted/c1.c -3656093116b ./gcc/testsuite/gcc.c-torture/unsorted/c2.c -3745915003b ./gcc/testsuite/gcc.c-torture/unsorted/call386.c -3818633964b ./gcc/testsuite/gcc.c-torture/unsorted/call.c -3496796739b ./gcc/testsuite/gcc.c-torture/unsorted/callind.c -3780608001b ./gcc/testsuite/gcc.c-torture/unsorted/c.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 -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 - 606535868b ./gcc/testsuite/gcc.c-torture/unsorted/dblbug.c -3851183583b ./gcc/testsuite/gcc.c-torture/unsorted/dbl_parm.c -3440041653b ./gcc/testsuite/gcc.c-torture/unsorted/d.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 - 305442480b ./gcc/testsuite/gcc.c-torture/unsorted/DFcmp.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 -3396096931b ./gcc/testsuite/gcc.c-torture/unsorted/float.c -2705424580b ./gcc/testsuite/gcc.c-torture/unsorted/flo.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 -2912660272b ./gcc/testsuite/gcc.c-torture/unsorted/hibug.c -2506280517b ./gcc/testsuite/gcc.c-torture/unsorted/hi.c -4088813022b ./gcc/testsuite/gcc.c-torture/unsorted/HIcmp.c -2060643608b ./gcc/testsuite/gcc.c-torture/unsorted/HIset.c -1463391444b ./gcc/testsuite/gcc.c-torture/unsorted/i.c -3171392500b ./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 -2953050089b ./gcc/testsuite/gcc.c-torture/unsorted/layout.c -3456840745b ./gcc/testsuite/gcc.c-torture/unsorted/lbug.c -1238043529b ./gcc/testsuite/gcc.c-torture/unsorted/l.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 -2833441830b ./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 - 206884481b ./gcc/testsuite/gcc.c-torture/unsorted/mword1.c -3114106310b ./gcc/testsuite/gcc.c-torture/unsorted/mword.c -1193753806b ./gcc/testsuite/gcc.c-torture/unsorted/n1.c -3021632957b ./gcc/testsuite/gcc.c-torture/unsorted/nand.c -1942143253b ./gcc/testsuite/gcc.c-torture/unsorted/n.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 -2570634505b ./gcc/testsuite/gcc.c-torture/unsorted/or386.c -1221510857b ./gcc/testsuite/gcc.c-torture/unsorted/or.c -3498239118b ./gcc/testsuite/gcc.c-torture/unsorted/parms.c -4291861284b ./gcc/testsuite/gcc.c-torture/unsorted/pass.c -3299772143b ./gcc/testsuite/gcc.c-torture/unsorted/p.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 -3407302768b ./gcc/testsuite/gcc.c-torture/unsorted/pyr2.c -2603570420b ./gcc/testsuite/gcc.c-torture/unsorted/PYRBUG.c - 697484600b ./gcc/testsuite/gcc.c-torture/unsorted/pyr.c -1835488344b ./gcc/testsuite/gcc.c-torture/unsorted/q.c - 839150718b ./gcc/testsuite/gcc.c-torture/unsorted/QIcmp.c -2111121086b ./gcc/testsuite/gcc.c-torture/unsorted/QIset.c -4283361995b ./gcc/testsuite/gcc.c-torture/unsorted/r1.c -1427595492b ./gcc/testsuite/gcc.c-torture/unsorted/r.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 -3862968210b ./gcc/testsuite/gcc.c-torture/unsorted/sar.c -1744325584b ./gcc/testsuite/gcc.c-torture/unsorted/s.c -2416335748b ./gcc/testsuite/gcc.c-torture/unsorted/scal.c -4292026279b ./gcc/testsuite/gcc.c-torture/unsorted/sc.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 -1791217871b ./gcc/testsuite/gcc.c-torture/unsorted/SFset.c -2510322715b ./gcc/testsuite/gcc.c-torture/unsorted/shand.c -1917728540b ./gcc/testsuite/gcc.c-torture/unsorted/sh.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 -3855537843b ./gcc/testsuite/gcc.c-torture/unsorted/SIcmp.c -3198420130b ./gcc/testsuite/gcc.c-torture/unsorted/signext2.c -3333038544b ./gcc/testsuite/gcc.c-torture/unsorted/signext.c -1627754274b ./gcc/testsuite/gcc.c-torture/unsorted/sim.c - 380795934b ./gcc/testsuite/gcc.c-torture/unsorted/simple.c -2010223878b ./gcc/testsuite/gcc.c-torture/unsorted/SIset.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 -3564367767b ./gcc/testsuite/gcc.c-torture/unsorted/test.c - 585245677b ./gcc/testsuite/gcc.c-torture/unsorted/test-flow.c -1417505636b ./gcc/testsuite/gcc.c-torture/unsorted/test-loop.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 - 367886956b ./gcc/testsuite/gcc.c-torture/unsorted/UHIcmp.c -2240659922b ./gcc/testsuite/gcc.c-torture/unsorted/uns.c - 434767322b ./gcc/testsuite/gcc.c-torture/unsorted/unsorted.exp -4067751424b ./gcc/testsuite/gcc.c-torture/unsorted/uns_tst.c -3380740291b ./gcc/testsuite/gcc.c-torture/unsorted/UQIcmp.c -3065994513b ./gcc/testsuite/gcc.c-torture/unsorted/USIcmp.c -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 -1561412324b ./gcc/testsuite/gcc.c-torture/unsorted/xb.c -3522679530b ./gcc/testsuite/gcc.c-torture/unsorted/xbg.c -2143513908b ./gcc/testsuite/gcc.c-torture/unsorted/x.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 -1020735670b ./gcc/testsuite/gcc.dg/20000108-1.c - 289377156b ./gcc/testsuite/gcc.dg/20000111-1.c - 441096099b ./gcc/testsuite/gcc.dg/20000609-1.c - 843859427b ./gcc/testsuite/gcc.dg/20000614-1.c - 984866335b ./gcc/testsuite/gcc.dg/20000614-2.c -2687914259b ./gcc/testsuite/gcc.dg/20000623-1.c -1697494088b ./gcc/testsuite/gcc.dg/20000629-1.c -2411171658b ./gcc/testsuite/gcc.dg/20000707-1.c -1242354775b ./gcc/testsuite/gcc.dg/20000715-1.c -2414727429b ./gcc/testsuite/gcc.dg/20000720-1.c -2628509241b ./gcc/testsuite/gcc.dg/20000724-1.c - 855317863b ./gcc/testsuite/gcc.dg/20000807-1.c -2282190390b ./gcc/testsuite/gcc.dg/20000904-1.c -1205584698b ./gcc/testsuite/gcc.dg/20000906-1.c -2401733773b ./gcc/testsuite/gcc.dg/20000926-1.c - 912559247b ./gcc/testsuite/gcc.dg/20001009-1.c -4235098888b ./gcc/testsuite/gcc.dg/20001012-1.c -3084023965b ./gcc/testsuite/gcc.dg/20001012-2.c -2504286200b ./gcc/testsuite/gcc.dg/20001013-1.c - 989710521b ./gcc/testsuite/gcc.dg/20001023-1.c -2648600842b ./gcc/testsuite/gcc.dg/20001101-1.c - 452608955b ./gcc/testsuite/gcc.dg/20001102-1.c -2644591049b ./gcc/testsuite/gcc.dg/20001108-1.c -3796315325b ./gcc/testsuite/gcc.dg/20001116-1.c - 280677441b ./gcc/testsuite/gcc.dg/20001117-1.c - 752060605b ./gcc/testsuite/gcc.dg/20001127-1.c -1243003570b ./gcc/testsuite/gcc.dg/20001201-1.c -1646064105b ./gcc/testsuite/gcc.dg/20001228-1.c -2498549558b ./gcc/testsuite/gcc.dg/20010202-1.c -2616951355b ./gcc/testsuite/gcc.dg/20010405-1.c -2545788691b ./gcc/testsuite/gcc.dg/20010423-1.c -3041407018b ./gcc/testsuite/gcc.dg/20010520-1.c -3520626317b ./gcc/testsuite/gcc.dg/20010622-1.c -2877988798b ./gcc/testsuite/gcc.dg/20010822-1.c -2149609410b ./gcc/testsuite/gcc.dg/20010912-1.c -2349250184b ./gcc/testsuite/gcc.dg/20011008-1.c -2932858639b ./gcc/testsuite/gcc.dg/20011008-2.c -2130390160b ./gcc/testsuite/gcc.dg/20011009-1.c -1094879191b ./gcc/testsuite/gcc.dg/20011015-1.c -3257749642b ./gcc/testsuite/gcc.dg/20011018-1.c -1920312928b ./gcc/testsuite/gcc.dg/20011021-1.c - 707554340b ./gcc/testsuite/gcc.dg/20011029-2.c -1124303586b ./gcc/testsuite/gcc.dg/20011107-1.c -3977721072b ./gcc/testsuite/gcc.dg/20011113-1.c - 43629702b ./gcc/testsuite/gcc.dg/20011119-1.c -1970395659b ./gcc/testsuite/gcc.dg/20011127-1.c - 640681704b ./gcc/testsuite/gcc.dg/20011130-1.c - 715751053b ./gcc/testsuite/gcc.dg/20011214-1.c -2394786434b ./gcc/testsuite/gcc.dg/20020103-1.c -2180708198b ./gcc/testsuite/gcc.dg/20020104-1.c - 98244853b ./gcc/testsuite/gcc.dg/20020108-1.c - 951724852b ./gcc/testsuite/gcc.dg/20020115-1.c - 785896302b ./gcc/testsuite/gcc.dg/20020116-1.c -3842134030b ./gcc/testsuite/gcc.dg/20020116-2.c -4113077329b ./gcc/testsuite/gcc.dg/20020118-1.c -3751699275b ./gcc/testsuite/gcc.dg/20020122-1.c - 150189901b ./gcc/testsuite/gcc.dg/20020122-2.c - 57782331b ./gcc/testsuite/gcc.dg/20020122-3.c -2367653115b ./gcc/testsuite/gcc.dg/20020122-4.c -4139034769b ./gcc/testsuite/gcc.dg/20020201-1.c - 205098899b ./gcc/testsuite/gcc.dg/20020201-2.c - 821274050b ./gcc/testsuite/gcc.dg/20020201-3.c -2936802890b ./gcc/testsuite/gcc.dg/20020201-4.c -2531686627b ./gcc/testsuite/gcc.dg/20020206-1.c - 756555090b ./gcc/testsuite/gcc.dg/20020210-1.c -3546737192b ./gcc/testsuite/gcc.dg/20020218-1.c -2855726391b ./gcc/testsuite/gcc.dg/20020219-1.c - 794792782b ./gcc/testsuite/gcc.dg/20020220-1.c -1662033181b ./gcc/testsuite/gcc.dg/20020220-2.c -2954578455b ./gcc/testsuite/gcc.dg/20020222-1.c -2546434352b ./gcc/testsuite/gcc.dg/20020224-1.c - 627755992b ./gcc/testsuite/gcc.dg/20020304-1.c -2738421039b ./gcc/testsuite/gcc.dg/20020310-1.c - 767384458b ./gcc/testsuite/gcc.dg/20020312-1.c -1632668533b ./gcc/testsuite/gcc.dg/20020312-2.c -3842300935b ./gcc/testsuite/gcc.dg/20020313-1.c - 663674028b ./gcc/testsuite/gcc.dg/20020319-1.c -3802202669b ./gcc/testsuite/gcc.dg/20020326-1.c - 926713919b ./gcc/testsuite/gcc.dg/20020411-1.c -2767099233b ./gcc/testsuite/gcc.dg/20020415-1.c -2427264054b ./gcc/testsuite/gcc.dg/20020416-1.c -1785651312b ./gcc/testsuite/gcc.dg/20020418-1.c -1527728757b ./gcc/testsuite/gcc.dg/20020418-2.c -2088656022b ./gcc/testsuite/gcc.dg/20020426-1.c -4234050901b ./gcc/testsuite/gcc.dg/20020426-2.c - 464722125b ./gcc/testsuite/gcc.dg/20020430-1.c -1745642748b ./gcc/testsuite/gcc.dg/20020503-1.c -3667555097b ./gcc/testsuite/gcc.dg/20020517-1.c - 536325431b ./gcc/testsuite/gcc.dg/20020523-1.c -1463174796b ./gcc/testsuite/gcc.dg/20020527-1.c -2086765142b ./gcc/testsuite/gcc.dg/20020530-1.c -1518490714b ./gcc/testsuite/gcc.dg/20020616-1.c - 344810811b ./gcc/testsuite/gcc.dg/20021014-1.c -1577979025b ./gcc/testsuite/gcc.dg/920413-1.c -2176221389b ./gcc/testsuite/gcc.dg/940409-1.c -1567764883b ./gcc/testsuite/gcc.dg/940510-1.c -1435563142b ./gcc/testsuite/gcc.dg/951130-1.c -1414883796b ./gcc/testsuite/gcc.dg/980211-1.c -1568764691b ./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 - 372605499b ./gcc/testsuite/gcc.dg/980414-1.c -1500377530b ./gcc/testsuite/gcc.dg/980502-1.c -1541851881b ./gcc/testsuite/gcc.dg/980520-1.c -1113123204b ./gcc/testsuite/gcc.dg/980523-1.c -2389539979b ./gcc/testsuite/gcc.dg/980526-1.c - 384442948b ./gcc/testsuite/gcc.dg/980709-1.c -1276688993b ./gcc/testsuite/gcc.dg/980816-1.c -2659217655b ./gcc/testsuite/gcc.dg/980827-1.c - 844249748b ./gcc/testsuite/gcc.dg/990117-1.c -3592792935b ./gcc/testsuite/gcc.dg/990130-1.c -2565768458b ./gcc/testsuite/gcc.dg/990213-1.c -2125486048b ./gcc/testsuite/gcc.dg/990213-2.c - 318703178b ./gcc/testsuite/gcc.dg/990214-1.c -1614449588b ./gcc/testsuite/gcc.dg/990424-1.c -1324715064b ./gcc/testsuite/gcc.dg/990506-0.c - 714032148b ./gcc/testsuite/gcc.dg/990524-1.c -3071468415b ./gcc/testsuite/gcc.dg/991129-1.c - 156954019b ./gcc/testsuite/gcc.dg/991209-1.c -1980057279b ./gcc/testsuite/gcc.dg/991214-1.c -3370443605b ./gcc/testsuite/gcc.dg/991230-1.c -3936329118b ./gcc/testsuite/gcc.dg/altivec-1.c - 79724433b ./gcc/testsuite/gcc.dg/altivec-2.c - 967922284b ./gcc/testsuite/gcc.dg/altivec-3.c - 93905551b ./gcc/testsuite/gcc.dg/altivec-4.c -1274871710b ./gcc/testsuite/gcc.dg/array-1.c -3861156036b ./gcc/testsuite/gcc.dg/array-2.c -1410330225b ./gcc/testsuite/gcc.dg/array-3.c -2440308460b ./gcc/testsuite/gcc.dg/array-4.c -2233987289b ./gcc/testsuite/gcc.dg/array-5.c -3636290766b ./gcc/testsuite/gcc.dg/array-6.c -2814093959b ./gcc/testsuite/gcc.dg/asm-1.c -3024001214b ./gcc/testsuite/gcc.dg/asm-2.c -2686162767b ./gcc/testsuite/gcc.dg/asm-3.c - 339244874b ./gcc/testsuite/gcc.dg/asm-4.c -2673255882b ./gcc/testsuite/gcc.dg/asm-5.c -2560291160b ./gcc/testsuite/gcc.dg/asm-fs-1.c -1287172903b ./gcc/testsuite/gcc.dg/asm-names.c -2801105283b ./gcc/testsuite/gcc.dg/attr-alwaysinline.c -1514674985b ./gcc/testsuite/gcc.dg/attr-invalid.c -1915283314b ./gcc/testsuite/gcc.dg/attr-nest.c -2689909602b ./gcc/testsuite/gcc.dg/attr-noinline.c - 745375068b ./gcc/testsuite/gcc.dg/attr-used.c -3155000092b ./gcc/testsuite/gcc.dg/bconstp-1.c - 15751103b ./gcc/testsuite/gcc.dg/bf-spl1.c -1274634279b ./gcc/testsuite/gcc.dg/bitfld-1.c - 865608720b ./gcc/testsuite/gcc.dg/bitfld-2.c -2003841110b ./gcc/testsuite/gcc.dg/bitfld-3.c -1594168367b ./gcc/testsuite/gcc.dg/builtin-choose-expr.c -2462561678b ./gcc/testsuite/gcc.dg/builtin-prefetch-1.c -3153387113b ./gcc/testsuite/gcc.dg/c90-arraydecl-1.c -2243816200b ./gcc/testsuite/gcc.dg/c90-array-lval-1.c -2768106060b ./gcc/testsuite/gcc.dg/c90-array-lval-2.c -4098525451b ./gcc/testsuite/gcc.dg/c90-array-lval-3.c -3655088604b ./gcc/testsuite/gcc.dg/c90-array-lval-4.c -1572913366b ./gcc/testsuite/gcc.dg/c90-array-lval-5.c -4018159207b ./gcc/testsuite/gcc.dg/c90-complex-1.c -3681535923b ./gcc/testsuite/gcc.dg/c90-complit-1.c -1705314837b ./gcc/testsuite/gcc.dg/c90-const-expr-1.c - 78994009b ./gcc/testsuite/gcc.dg/c90-const-expr-2.c - 822031417b ./gcc/testsuite/gcc.dg/c90-const-expr-3.c -4085555442b ./gcc/testsuite/gcc.dg/c90-digraph-1.c -3599184840b ./gcc/testsuite/gcc.dg/c90-enum-comma-1.c -2306764382b ./gcc/testsuite/gcc.dg/c90-float-1.c - 566533628b ./gcc/testsuite/gcc.dg/c90-fordecl-1.c -1928391037b ./gcc/testsuite/gcc.dg/c90-hexfloat-1.c -4124256667b ./gcc/testsuite/gcc.dg/c90-hexfloat-2.c -2581693818b ./gcc/testsuite/gcc.dg/c90-idem-qual-1.c -1581289258b ./gcc/testsuite/gcc.dg/c90-impl-decl-1.c - 440307834b ./gcc/testsuite/gcc.dg/c90-impl-int-1.c -2344767678b ./gcc/testsuite/gcc.dg/c90-impl-int-2.c - 970479166b ./gcc/testsuite/gcc.dg/c90-init-1.c -2729946148b ./gcc/testsuite/gcc.dg/c90-intconst-1.c -3559700294b ./gcc/testsuite/gcc.dg/c90-longlong-1.c -3728641939b ./gcc/testsuite/gcc.dg/c90-mixdecl-1.c - 211178091b ./gcc/testsuite/gcc.dg/c90-restrict-1.c -3688680206b ./gcc/testsuite/gcc.dg/c90-return-1.c -1775037086b ./gcc/testsuite/gcc.dg/c90-scope-1.c -3958618876b ./gcc/testsuite/gcc.dg/c94-digraph-1.c - 815267755b ./gcc/testsuite/gcc.dg/c99-arraydecl-1.c -1553286096b ./gcc/testsuite/gcc.dg/c99-array-lval-1.c - 695388665b ./gcc/testsuite/gcc.dg/c99-array-lval-2.c - 533861407b ./gcc/testsuite/gcc.dg/c99-array-lval-3.c -2215212813b ./gcc/testsuite/gcc.dg/c99-array-lval-4.c -3070583409b ./gcc/testsuite/gcc.dg/c99-array-lval-5.c -1817213908b ./gcc/testsuite/gcc.dg/c99-array-nonobj-1.c -1951407439b ./gcc/testsuite/gcc.dg/c99-bool-1.c -2269932988b ./gcc/testsuite/gcc.dg/c99-complex-1.c - 820370146b ./gcc/testsuite/gcc.dg/c99-complex-2.c -3348642281b ./gcc/testsuite/gcc.dg/c99-complit-1.c -2252128544b ./gcc/testsuite/gcc.dg/c99-complit-2.c -1355429032b ./gcc/testsuite/gcc.dg/c99-condexpr-1.c -1666861367b ./gcc/testsuite/gcc.dg/c99-const-expr-1.c -1567288443b ./gcc/testsuite/gcc.dg/c99-const-expr-2.c -1530464516b ./gcc/testsuite/gcc.dg/c99-const-expr-3.c -1067407398b ./gcc/testsuite/gcc.dg/c99-digraph-1.c - 436400556b ./gcc/testsuite/gcc.dg/c99-enum-comma-1.c -3680360076b ./gcc/testsuite/gcc.dg/c99-flex-array-1.c -1133393573b ./gcc/testsuite/gcc.dg/c99-flex-array-2.c -4185875504b ./gcc/testsuite/gcc.dg/c99-float-1.c - 553627065b ./gcc/testsuite/gcc.dg/c99-fordecl-1.c - 561068221b ./gcc/testsuite/gcc.dg/c99-fordecl-2.c -2859208293b ./gcc/testsuite/gcc.dg/c99-func-1.c -2626542091b ./gcc/testsuite/gcc.dg/c99-func-2.c -2857481018b ./gcc/testsuite/gcc.dg/c99-func-3.c -3824254533b ./gcc/testsuite/gcc.dg/c99-func-4.c - 403500133b ./gcc/testsuite/gcc.dg/c99-hexfloat-1.c - 442351990b ./gcc/testsuite/gcc.dg/c99-hexfloat-2.c -1046797268b ./gcc/testsuite/gcc.dg/c99-idem-qual-1.c -1293044648b ./gcc/testsuite/gcc.dg/c99-impl-decl-1.c - 818104690b ./gcc/testsuite/gcc.dg/c99-impl-int-1.c -2312236475b ./gcc/testsuite/gcc.dg/c99-impl-int-2.c - 829207642b ./gcc/testsuite/gcc.dg/c99-init-1.c - 938647013b ./gcc/testsuite/gcc.dg/c99-init-2.c -3578360837b ./gcc/testsuite/gcc.dg/c99-intconst-1.c - 336478880b ./gcc/testsuite/gcc.dg/c99-longlong-1.c -2179124750b ./gcc/testsuite/gcc.dg/c99-main-1.c -1603510892b ./gcc/testsuite/gcc.dg/c99-mixdecl-1.c -2789813637b ./gcc/testsuite/gcc.dg/c99-restrict-1.c -1090698500b ./gcc/testsuite/gcc.dg/c99-return-1.c -1305485104b ./gcc/testsuite/gcc.dg/c99-scope-1.c - 328628580b ./gcc/testsuite/gcc.dg/c99-scope-2.c -1500087630b ./gcc/testsuite/gcc.dg/c99-tag-1.c -3333661125b ./gcc/testsuite/gcc.dg/cast-qual-1.c -1853040812b ./gcc/testsuite/gcc.dg/cast-qual-2.c -3509657813b ./gcc/testsuite/gcc.dg/clobbers.c -3796475762b ./gcc/testsuite/gcc.dg/compare1.c - 280070085b ./gcc/testsuite/gcc.dg/compare2.c -1929905505b ./gcc/testsuite/gcc.dg/compare3.c -4172088563b ./gcc/testsuite/gcc.dg/compare4.c -2873193357b ./gcc/testsuite/gcc.dg/compare5.c -2818358019b ./gcc/testsuite/gcc.dg/complete-port.c -2444556566b ./gcc/testsuite/gcc.dg/concat.c - 872352985b ./gcc/testsuite/gcc.dg/conv-1.c -2296607049b ./gcc/testsuite/gcc.dg/cpp/19921210-1.c - 446012754b ./gcc/testsuite/gcc.dg/cpp/19930510-1.c -1310331126b ./gcc/testsuite/gcc.dg/cpp/19940712-1a.h -1255987496b ./gcc/testsuite/gcc.dg/cpp/19940712-1b.h -3035400854b ./gcc/testsuite/gcc.dg/cpp/19940712-1.c -3911462043b ./gcc/testsuite/gcc.dg/cpp/19940712-1.h -3107147397b ./gcc/testsuite/gcc.dg/cpp/19951025-1.c -1152006619b ./gcc/testsuite/gcc.dg/cpp/19951227-1.c -3844252401b ./gcc/testsuite/gcc.dg/cpp/19960224-1.c -2681484848b ./gcc/testsuite/gcc.dg/cpp/19990119-1.c - 152529314b ./gcc/testsuite/gcc.dg/cpp/19990228-1.c -2850976318b ./gcc/testsuite/gcc.dg/cpp/19990407-1.c -1821165639b ./gcc/testsuite/gcc.dg/cpp/19990409-1.c -2941995947b ./gcc/testsuite/gcc.dg/cpp/19990413-1.c -3962958732b ./gcc/testsuite/gcc.dg/cpp/20000127-1.c -2271984635b ./gcc/testsuite/gcc.dg/cpp/20000129-1.c -2675766007b ./gcc/testsuite/gcc.dg/cpp/20000207-1.c -4123239500b ./gcc/testsuite/gcc.dg/cpp/20000207-2.c -4036437808b ./gcc/testsuite/gcc.dg/cpp/20000209-1.c -1472416455b ./gcc/testsuite/gcc.dg/cpp/20000209-2.c -2174334870b ./gcc/testsuite/gcc.dg/cpp/20000301-1.c -1872528864b ./gcc/testsuite/gcc.dg/cpp/20000419-1.c -2720098340b ./gcc/testsuite/gcc.dg/cpp/20000519-1.c - 96666994b ./gcc/testsuite/gcc.dg/cpp/20000529-1.c -1226501171b ./gcc/testsuite/gcc.dg/cpp/20000625-1.c -2192746957b ./gcc/testsuite/gcc.dg/cpp/20000625-2.c -3024473110b ./gcc/testsuite/gcc.dg/cpp/20000627-1.c -1252878971b ./gcc/testsuite/gcc.dg/cpp/20000628-1a.h -3176910360b ./gcc/testsuite/gcc.dg/cpp/20000628-1.c - 302522843b ./gcc/testsuite/gcc.dg/cpp/20000628-1.h -3939185973b ./gcc/testsuite/gcc.dg/cpp/20000725-1.c -1092019739b ./gcc/testsuite/gcc.dg/cpp/20020927-1.c -3918751425b ./gcc/testsuite/gcc.dg/cpp/assembl2.S -2829543114b ./gcc/testsuite/gcc.dg/cpp/assembler.S -2692554582b ./gcc/testsuite/gcc.dg/cpp/assert1.c -3542126362b ./gcc/testsuite/gcc.dg/cpp/assert2.c -1282180884b ./gcc/testsuite/gcc.dg/cpp/assert3.c -2600163266b ./gcc/testsuite/gcc.dg/cpp/assert_trad1.c -4025150262b ./gcc/testsuite/gcc.dg/cpp/assert_trad2.c -1560406171b ./gcc/testsuite/gcc.dg/cpp/assert_trad3.c -1134445732b ./gcc/testsuite/gcc.dg/cpp/avoidpaste1.c -1804955265b ./gcc/testsuite/gcc.dg/cpp/avoidpaste2.c -1837306227b ./gcc/testsuite/gcc.dg/cpp/backslash2.c -2909138544b ./gcc/testsuite/gcc.dg/cpp/backslash.c -1769035451b ./gcc/testsuite/gcc.dg/cpp/c89.c -3749407486b ./gcc/testsuite/gcc.dg/cpp/c89-pedantic.c - 925335145b ./gcc/testsuite/gcc.dg/cpp/c94.c -1510840104b ./gcc/testsuite/gcc.dg/cpp/c94-pedantic.c -1689064567b ./gcc/testsuite/gcc.dg/cpp/c++98.c -2939353970b ./gcc/testsuite/gcc.dg/cpp/c++98-pedantic.c -3857361837b ./gcc/testsuite/gcc.dg/cpp/c99.c -3306050866b ./gcc/testsuite/gcc.dg/cpp/c99-pedantic.c -3516322832b ./gcc/testsuite/gcc.dg/cpp/charconst-2.c - 796483159b ./gcc/testsuite/gcc.dg/cpp/charconst.c -1491584113b ./gcc/testsuite/gcc.dg/cpp/cmdlne-C2.c -3355056256b ./gcc/testsuite/gcc.dg/cpp/cmdlne-C.c -2496993356b ./gcc/testsuite/gcc.dg/cpp/cmdlne-dD.c - 609905807b ./gcc/testsuite/gcc.dg/cpp/cmdlne-dD-dM.c -1600174935b ./gcc/testsuite/gcc.dg/cpp/cmdlne-dD-M.c -3705836802b ./gcc/testsuite/gcc.dg/cpp/cmdlne-dI-M.c -3088209084b ./gcc/testsuite/gcc.dg/cpp/cmdlne-dI-M.h -1486055617b ./gcc/testsuite/gcc.dg/cpp/cmdlne-dM.c -1101687822b ./gcc/testsuite/gcc.dg/cpp/cmdlne-dM-dD.c - 932524367b ./gcc/testsuite/gcc.dg/cpp/cmdlne-dM-M.c - 553926808b ./gcc/testsuite/gcc.dg/cpp/cmdlne-dN-M.c -2953736128b ./gcc/testsuite/gcc.dg/cpp/cmdlne-P.c -2647411665b ./gcc/testsuite/gcc.dg/cpp/cpp.exp -3494213157b ./gcc/testsuite/gcc.dg/cpp/cxxcom1.c -3135164554b ./gcc/testsuite/gcc.dg/cpp/cxxcom2.c -2496170433b ./gcc/testsuite/gcc.dg/cpp/defined.c -3663773136b ./gcc/testsuite/gcc.dg/cpp/defined_trad.c -1438288565b ./gcc/testsuite/gcc.dg/cpp/digraph1.c -2968203420b ./gcc/testsuite/gcc.dg/cpp/digraph2.c -2068680422b ./gcc/testsuite/gcc.dg/cpp/digraphs.c -1984293489b ./gcc/testsuite/gcc.dg/cpp/direct2.c -3678821918b ./gcc/testsuite/gcc.dg/cpp/direct2s.c -3290053048b ./gcc/testsuite/gcc.dg/cpp/directiv.c -3129493545b ./gcc/testsuite/gcc.dg/cpp/endif.c -3479505545b ./gcc/testsuite/gcc.dg/cpp/endif.h -2483248350b ./gcc/testsuite/gcc.dg/cpp/escape-1.c -1730195871b ./gcc/testsuite/gcc.dg/cpp/escape-2.c -3767981014b ./gcc/testsuite/gcc.dg/cpp/escape.c -2697913940b ./gcc/testsuite/gcc.dg/cpp/extratokens.c - 905736b ./gcc/testsuite/gcc.dg/cpp/fpreprocessed.c -3280737784b ./gcc/testsuite/gcc.dg/cpp/gnuc89.c - 836196340b ./gcc/testsuite/gcc.dg/cpp/gnuc89-pedantic.c -1263189585b ./gcc/testsuite/gcc.dg/cpp/gnuc99.c -1601787549b ./gcc/testsuite/gcc.dg/cpp/gnuc99-pedantic.c -4214308249b ./gcc/testsuite/gcc.dg/cpp/hash1.c -1903615326b ./gcc/testsuite/gcc.dg/cpp/hash2.c -2366342564b ./gcc/testsuite/gcc.dg/cpp/ident.c -1133669485b ./gcc/testsuite/gcc.dg/cpp/if-1.c -3352628668b ./gcc/testsuite/gcc.dg/cpp/if-2.c -1439970428b ./gcc/testsuite/gcc.dg/cpp/if-3.c - 489101197b ./gcc/testsuite/gcc.dg/cpp/if-4.c - 882715641b ./gcc/testsuite/gcc.dg/cpp/if-5.c -3507076303b ./gcc/testsuite/gcc.dg/cpp/if-cexp.c -2728498877b ./gcc/testsuite/gcc.dg/cpp/if-mop.c -1281382817b ./gcc/testsuite/gcc.dg/cpp/if-mpar.c -3079188871b ./gcc/testsuite/gcc.dg/cpp/if-oppr.c -1490350403b ./gcc/testsuite/gcc.dg/cpp/if-paren.c -3952218044b ./gcc/testsuite/gcc.dg/cpp/if-sc.c -2598999845b ./gcc/testsuite/gcc.dg/cpp/if-shift.c -3593199515b ./gcc/testsuite/gcc.dg/cpp/if-unary.c -2159210260b ./gcc/testsuite/gcc.dg/cpp/include1.c -2421188667b ./gcc/testsuite/gcc.dg/cpp/include2.c - 104604027b ./gcc/testsuite/gcc.dg/cpp/lexident.c -2395885746b ./gcc/testsuite/gcc.dg/cpp/lexnum.c -3213919551b ./gcc/testsuite/gcc.dg/cpp/lexstrng.c -3897829843b ./gcc/testsuite/gcc.dg/cpp/line1.c - 100687188b ./gcc/testsuite/gcc.dg/cpp/line2.c - 567370415b ./gcc/testsuite/gcc.dg/cpp/line3.c -1626475943b ./gcc/testsuite/gcc.dg/cpp/line4.c -4294705052b ./gcc/testsuite/gcc.dg/cpp/line5.c -1379729851b ./gcc/testsuite/gcc.dg/cpp/macro10.c -3340222164b ./gcc/testsuite/gcc.dg/cpp/macro11.c - 271504116b ./gcc/testsuite/gcc.dg/cpp/macro1.c -4270051746b ./gcc/testsuite/gcc.dg/cpp/macro2.c -2969168869b ./gcc/testsuite/gcc.dg/cpp/macro3.c -1188431715b ./gcc/testsuite/gcc.dg/cpp/macro4.c -1628527586b ./gcc/testsuite/gcc.dg/cpp/macro5.c -2368380713b ./gcc/testsuite/gcc.dg/cpp/macro6.c -2072551274b ./gcc/testsuite/gcc.dg/cpp/macro7.c - 613805223b ./gcc/testsuite/gcc.dg/cpp/macro8.c -2926705982b ./gcc/testsuite/gcc.dg/cpp/macro9.c - 5175037b ./gcc/testsuite/gcc.dg/cpp/macsyntx.c -3610840456b ./gcc/testsuite/gcc.dg/cpp/mi1.c -4261701187b ./gcc/testsuite/gcc.dg/cpp/mi1cc.h - 419074706b ./gcc/testsuite/gcc.dg/cpp/mi1c.h -3904566528b ./gcc/testsuite/gcc.dg/cpp/mi1nd.h -3410643645b ./gcc/testsuite/gcc.dg/cpp/mi1ndp.h -2792742846b ./gcc/testsuite/gcc.dg/cpp/mi1x.h -2971656236b ./gcc/testsuite/gcc.dg/cpp/mi2a.h -2249557715b ./gcc/testsuite/gcc.dg/cpp/mi2b.h -2949078889b ./gcc/testsuite/gcc.dg/cpp/mi2.c - 975601727b ./gcc/testsuite/gcc.dg/cpp/mi2c.h -1340631459b ./gcc/testsuite/gcc.dg/cpp/mi3.c -3410155219b ./gcc/testsuite/gcc.dg/cpp/mi3.def -1784999780b ./gcc/testsuite/gcc.dg/cpp/mi3.h -3722098684b ./gcc/testsuite/gcc.dg/cpp/mi4.c -1150462829b ./gcc/testsuite/gcc.dg/cpp/mi5.c -1358227252b ./gcc/testsuite/gcc.dg/cpp/mi6a.h - 641332290b ./gcc/testsuite/gcc.dg/cpp/mi6b.h -1142195235b ./gcc/testsuite/gcc.dg/cpp/mi6.c -4070915278b ./gcc/testsuite/gcc.dg/cpp/mi6c.h -1337479900b ./gcc/testsuite/gcc.dg/cpp/mi6d.h - 509977090b ./gcc/testsuite/gcc.dg/cpp/mi6e.h - 68499164b ./gcc/testsuite/gcc.dg/cpp/multiline.c -2266859121b ./gcc/testsuite/gcc.dg/cpp/paste10.c -4285709590b ./gcc/testsuite/gcc.dg/cpp/paste11.c -3149837578b ./gcc/testsuite/gcc.dg/cpp/paste12.c -3165908728b ./gcc/testsuite/gcc.dg/cpp/paste1.c -1864172813b ./gcc/testsuite/gcc.dg/cpp/paste2.c -3026273649b ./gcc/testsuite/gcc.dg/cpp/paste3.c -3384566195b ./gcc/testsuite/gcc.dg/cpp/paste4.c -4196513421b ./gcc/testsuite/gcc.dg/cpp/paste5.c -3141633537b ./gcc/testsuite/gcc.dg/cpp/paste6.c -2441365564b ./gcc/testsuite/gcc.dg/cpp/paste7.c -1061671229b ./gcc/testsuite/gcc.dg/cpp/paste8.c -2408632284b ./gcc/testsuite/gcc.dg/cpp/paste9.c -1054364467b ./gcc/testsuite/gcc.dg/cpp/poison.c - 858950276b ./gcc/testsuite/gcc.dg/cpp/pragma-1.c -3534493797b ./gcc/testsuite/gcc.dg/cpp/_Pragma1.c -2473416313b ./gcc/testsuite/gcc.dg/cpp/pragma-2.c -4186091043b ./gcc/testsuite/gcc.dg/cpp/_Pragma2.c -1230813557b ./gcc/testsuite/gcc.dg/cpp/_Pragma3.c -3384939096b ./gcc/testsuite/gcc.dg/cpp/_Pragma4.c -1107840471b ./gcc/testsuite/gcc.dg/cpp/redef1.c -1601641321b ./gcc/testsuite/gcc.dg/cpp/redef2.c -2020720031b ./gcc/testsuite/gcc.dg/cpp/skipping2.c -3846911977b ./gcc/testsuite/gcc.dg/cpp/skipping.c -3873271528b ./gcc/testsuite/gcc.dg/cpp/spacing1.c -1299147601b ./gcc/testsuite/gcc.dg/cpp/spacing2.c -3081823659b ./gcc/testsuite/gcc.dg/cpp/strify1.c -3973832195b ./gcc/testsuite/gcc.dg/cpp/strify2.c -2418211010b ./gcc/testsuite/gcc.dg/cpp/strify3.c -2496189814b ./gcc/testsuite/gcc.dg/cpp/strp1.c -3609546715b ./gcc/testsuite/gcc.dg/cpp/strp2.c -3648062425b ./gcc/testsuite/gcc.dg/cpp/syshdr1.h - 930452060b ./gcc/testsuite/gcc.dg/cpp/syshdr2.h -2075703559b ./gcc/testsuite/gcc.dg/cpp/syshdr.c -3898065321b ./gcc/testsuite/gcc.dg/cpp/syshdr.h -3033820257b ./gcc/testsuite/gcc.dg/cpp/sysmac1.c -2994610141b ./gcc/testsuite/gcc.dg/cpp/sysmac2.c -3021818451b ./gcc/testsuite/gcc.dg/cpp/tr-define.c - 298013196b ./gcc/testsuite/gcc.dg/cpp/tr-direct.c - 580041869b ./gcc/testsuite/gcc.dg/cpp/trigraphs.c -3954705973b ./gcc/testsuite/gcc.dg/cpp/tr-paste.c - 56672469b ./gcc/testsuite/gcc.dg/cpp/tr-sign.c -2430481737b ./gcc/testsuite/gcc.dg/cpp/tr-str.c -2720640173b ./gcc/testsuite/gcc.dg/cpp/tr-warn1.c -4214944447b ./gcc/testsuite/gcc.dg/cpp/tr-warn2.c -3053015314b ./gcc/testsuite/gcc.dg/cpp/tr-warn3.c -2634569795b ./gcc/testsuite/gcc.dg/cpp/tr-warn4.c - 733328423b ./gcc/testsuite/gcc.dg/cpp/tr-warn5.c - 880495829b ./gcc/testsuite/gcc.dg/cpp/tr-warn6.c -2894747317b ./gcc/testsuite/gcc.dg/cpp/uchar-1.c -1961440147b ./gcc/testsuite/gcc.dg/cpp/uchar-2.c -2806339500b ./gcc/testsuite/gcc.dg/cpp/uchar-3.c -3156619494b ./gcc/testsuite/gcc.dg/cpp/ucs.c -1271068491b ./gcc/testsuite/gcc.dg/cpp/unc1.c -2985690540b ./gcc/testsuite/gcc.dg/cpp/unc2.c - 479621763b ./gcc/testsuite/gcc.dg/cpp/unc3.c -1549705287b ./gcc/testsuite/gcc.dg/cpp/unc4.c -3474810570b ./gcc/testsuite/gcc.dg/cpp/undef1.c -1052162081b ./gcc/testsuite/gcc.dg/cpp/undef2.c -1278828881b ./gcc/testsuite/gcc.dg/cpp/vararg1.c - 270851301b ./gcc/testsuite/gcc.dg/cpp/vararg2.c - 203701001b ./gcc/testsuite/gcc.dg/cpp/vararg3.c -2222858341b ./gcc/testsuite/gcc.dg/cpp/vararg4.c -3684840524b ./gcc/testsuite/gcc.dg/cpp/wchar-1.c -2112571638b ./gcc/testsuite/gcc.dg/cpp/widestr1.c -1685485063b ./gcc/testsuite/gcc.dg/cpp/Wtrigraphs.c -2478073469b ./gcc/testsuite/gcc.dg/debug/20000503-1.c -1850073884b ./gcc/testsuite/gcc.dg/debug/20010207-1.c -2575589968b ./gcc/testsuite/gcc.dg/debug/20011223-1.c -3480555031b ./gcc/testsuite/gcc.dg/debug/20020104-2.c - 465470758b ./gcc/testsuite/gcc.dg/debug/20020220-1.c - 38521003b ./gcc/testsuite/gcc.dg/debug/20020224-1.c -1897254689b ./gcc/testsuite/gcc.dg/debug/20020327-1.c -2095797855b ./gcc/testsuite/gcc.dg/debug/debug-1.c - 936371752b ./gcc/testsuite/gcc.dg/debug/debug-2.c -1466203416b ./gcc/testsuite/gcc.dg/debug/debug-3.c - 591803753b ./gcc/testsuite/gcc.dg/debug/debug-4.c - 524177325b ./gcc/testsuite/gcc.dg/debug/debug-5.c -4017752601b ./gcc/testsuite/gcc.dg/debug/debug-6.c -2820451029b ./gcc/testsuite/gcc.dg/debug/debug.exp -3154398188b ./gcc/testsuite/gcc.dg/debug/dwarf2-1.c -3551380716b ./gcc/testsuite/gcc.dg/debug/dwarf2-2.c -1865154101b ./gcc/testsuite/gcc.dg/debug/trivial.c -2108424497b ./gcc/testsuite/gcc.dg/decl-1.c -2106699188b ./gcc/testsuite/gcc.dg/deprecated.c - 462220244b ./gcc/testsuite/gcc.dg/dg.exp -3005671194b ./gcc/testsuite/gcc.dg/divbyzero.c -3732188130b ./gcc/testsuite/gcc.dg/dll-1.c -2397785716b ./gcc/testsuite/gcc.dg/dll-2.c -4107998098b ./gcc/testsuite/gcc.dg/dll-3.c - 38849204b ./gcc/testsuite/gcc.dg/dll-4.c -2135186629b ./gcc/testsuite/gcc.dg/enum1.c -2635594155b ./gcc/testsuite/gcc.dg/ext-glob.c -3222632325b ./gcc/testsuite/gcc.dg/format/array-1.c -1862455428b ./gcc/testsuite/gcc.dg/format/attr-1.c -3131101897b ./gcc/testsuite/gcc.dg/format/attr-2.c - 884013987b ./gcc/testsuite/gcc.dg/format/attr-3.c -1282524185b ./gcc/testsuite/gcc.dg/format/attr-4.c -3309516915b ./gcc/testsuite/gcc.dg/format/attr-5.c -1342273591b ./gcc/testsuite/gcc.dg/format/attr-6.c -3314290167b ./gcc/testsuite/gcc.dg/format/attr-7.c -2805119685b ./gcc/testsuite/gcc.dg/format/branch-1.c - 753102824b ./gcc/testsuite/gcc.dg/format/builtin-1.c -1458645895b ./gcc/testsuite/gcc.dg/format/c90-printf-1.c -2152399739b ./gcc/testsuite/gcc.dg/format/c90-printf-2.c - 576410250b ./gcc/testsuite/gcc.dg/format/c90-printf-3.c -1600984968b ./gcc/testsuite/gcc.dg/format/c90-scanf-1.c - 461393812b ./gcc/testsuite/gcc.dg/format/c90-scanf-2.c -2607652439b ./gcc/testsuite/gcc.dg/format/c90-scanf-3.c -2060901849b ./gcc/testsuite/gcc.dg/format/c90-scanf-4.c -3830240101b ./gcc/testsuite/gcc.dg/format/c90-strftime-1.c - 908665911b ./gcc/testsuite/gcc.dg/format/c90-strftime-2.c -2447449665b ./gcc/testsuite/gcc.dg/format/c94-printf-1.c -1772682986b ./gcc/testsuite/gcc.dg/format/c94-scanf-1.c -2398886219b ./gcc/testsuite/gcc.dg/format/c99-printf-1.c -1982196060b ./gcc/testsuite/gcc.dg/format/c99-printf-2.c -3845709577b ./gcc/testsuite/gcc.dg/format/c99-printf-3.c - 842927031b ./gcc/testsuite/gcc.dg/format/c99-scanf-1.c -3735460767b ./gcc/testsuite/gcc.dg/format/c99-scanf-2.c -3432916856b ./gcc/testsuite/gcc.dg/format/c99-scanf-3.c -3177298628b ./gcc/testsuite/gcc.dg/format/c99-strftime-1.c -2090637496b ./gcc/testsuite/gcc.dg/format/c99-strftime-2.c -2345337374b ./gcc/testsuite/gcc.dg/format/diag-1.c -1250738052b ./gcc/testsuite/gcc.dg/format/errmk-1.c -1927556152b ./gcc/testsuite/gcc.dg/format/ext-1.c - 230043853b ./gcc/testsuite/gcc.dg/format/ext-2.c -3735744313b ./gcc/testsuite/gcc.dg/format/ext-3.c -2712114535b ./gcc/testsuite/gcc.dg/format/ext-4.c -3870005152b ./gcc/testsuite/gcc.dg/format/ext-5.c -4154438977b ./gcc/testsuite/gcc.dg/format/ext-6.c - 174407969b ./gcc/testsuite/gcc.dg/format/format.exp -2650327793b ./gcc/testsuite/gcc.dg/format/format.h -3030055438b ./gcc/testsuite/gcc.dg/format/miss-1.c - 58040071b ./gcc/testsuite/gcc.dg/format/miss-2.c -1680800961b ./gcc/testsuite/gcc.dg/format/multattr-1.c -3511814217b ./gcc/testsuite/gcc.dg/format/multattr-2.c -1621224881b ./gcc/testsuite/gcc.dg/format/multattr-3.c -2482792163b ./gcc/testsuite/gcc.dg/format/no-exargs-1.c -3432514252b ./gcc/testsuite/gcc.dg/format/no-exargs-2.c -2335984266b ./gcc/testsuite/gcc.dg/format/nonlit-1.c -3055177111b ./gcc/testsuite/gcc.dg/format/nonlit-2.c - 449451912b ./gcc/testsuite/gcc.dg/format/nonlit-3.c -4199776146b ./gcc/testsuite/gcc.dg/format/no-y2k-1.c -3652642152b ./gcc/testsuite/gcc.dg/format/plus-1.c -2673114039b ./gcc/testsuite/gcc.dg/format/sec-1.c -1815893280b ./gcc/testsuite/gcc.dg/format/strfmon-1.c - 821372176b ./gcc/testsuite/gcc.dg/format/va-1.c - 358822374b ./gcc/testsuite/gcc.dg/format/warnll-1.c -3962912739b ./gcc/testsuite/gcc.dg/format/xopen-1.c - 73044124b ./gcc/testsuite/gcc.dg/format/z-1.c - 745582715b ./gcc/testsuite/gcc.dg/gnu89-init-1.c - 339065893b ./gcc/testsuite/gcc.dg/gnu89-init-2.c -1770671475b ./gcc/testsuite/gcc.dg/gnu99-init-1.c - 885923224b ./gcc/testsuite/gcc.dg/i386-387-1.c -4204057333b ./gcc/testsuite/gcc.dg/i386-387-2.c -3371905361b ./gcc/testsuite/gcc.dg/i386-bitfield1.c -2049230625b ./gcc/testsuite/gcc.dg/i386-mmx-1.c -3973906625b ./gcc/testsuite/gcc.dg/i386-mmx-2.c -2923520039b ./gcc/testsuite/gcc.dg/i386-sse-1.c -1935024742b ./gcc/testsuite/gcc.dg/i386-sse-2.c -2407665653b ./gcc/testsuite/gcc.dg/i386-sse-3.c - 646600080b ./gcc/testsuite/gcc.dg/ia64-asm-1.c -2995485298b ./gcc/testsuite/gcc.dg/ia64-sync-1.c - 72205644b ./gcc/testsuite/gcc.dg/ia64-sync-2.c -1374850312b ./gcc/testsuite/gcc.dg/ifelse-1.c -4085178572b ./gcc/testsuite/gcc.dg/iftrap-1.c - 448418366b ./gcc/testsuite/gcc.dg/iftrap-2.c -3685495880b ./gcc/testsuite/gcc.dg/inline-1.c - 6005157b ./gcc/testsuite/gcc.dg/inline-2.c - 247919548b ./gcc/testsuite/gcc.dg/loop-1.c -2954420820b ./gcc/testsuite/gcc.dg/mmix-1.c -2663557248b ./gcc/testsuite/gcc.dg/m-un-1.c -2341407016b ./gcc/testsuite/gcc.dg/m-un-2.c - 167742958b ./gcc/testsuite/gcc.dg/no-builtin-1.c -2208318132b ./gcc/testsuite/gcc.dg/noncompile/20000901-1.c -3562764821b ./gcc/testsuite/gcc.dg/noncompile/20001228-1.c - 677199841b ./gcc/testsuite/gcc.dg/noncompile/20010425-1.c - 100652056b ./gcc/testsuite/gcc.dg/noncompile/20010524-1.c - 292530438b ./gcc/testsuite/gcc.dg/noncompile/20011025-1.c -3164469142b ./gcc/testsuite/gcc.dg/noncompile/20020130-1.c -3055182962b ./gcc/testsuite/gcc.dg/noncompile/20020207-1.c -3889627347b ./gcc/testsuite/gcc.dg/noncompile/20020213-1.c -1457569280b ./gcc/testsuite/gcc.dg/noncompile/20020220-1.c -2964160251b ./gcc/testsuite/gcc.dg/noncompile/920507-1.c -2161867266b ./gcc/testsuite/gcc.dg/noncompile/920616-2.c -1449844754b ./gcc/testsuite/gcc.dg/noncompile/920721-2.c -2834384944b ./gcc/testsuite/gcc.dg/noncompile/920824-1.c -3955955814b ./gcc/testsuite/gcc.dg/noncompile/920923-1.c -3162370830b ./gcc/testsuite/gcc.dg/noncompile/921102-1.c -2258888666b ./gcc/testsuite/gcc.dg/noncompile/921116-1.c -4097035630b ./gcc/testsuite/gcc.dg/noncompile/930301-1.c - 840634782b ./gcc/testsuite/gcc.dg/noncompile/930622-1.c -3660680341b ./gcc/testsuite/gcc.dg/noncompile/930622-2.c - 181482966b ./gcc/testsuite/gcc.dg/noncompile/930714-1.c -3515814095b ./gcc/testsuite/gcc.dg/noncompile/931203-1.c -3543956028b ./gcc/testsuite/gcc.dg/noncompile/940112-1.c -3064722803b ./gcc/testsuite/gcc.dg/noncompile/940227-1.c - 667278578b ./gcc/testsuite/gcc.dg/noncompile/950825-1.c - 759990906b ./gcc/testsuite/gcc.dg/noncompile/950921-1.c -1191362120b ./gcc/testsuite/gcc.dg/noncompile/951123-1.c -3560178109b ./gcc/testsuite/gcc.dg/noncompile/971104-1.c -3188649114b ./gcc/testsuite/gcc.dg/noncompile/990416-1.c -3596296296b ./gcc/testsuite/gcc.dg/noncompile/const-ll-1.c -1128187562b ./gcc/testsuite/gcc.dg/noncompile/init-1.c -2927938029b ./gcc/testsuite/gcc.dg/noncompile/init-2.c -4011814030b ./gcc/testsuite/gcc.dg/noncompile/init-3.c - 835046904b ./gcc/testsuite/gcc.dg/noncompile/invalid_asm.c -3441206096b ./gcc/testsuite/gcc.dg/noncompile/label-lineno-1.c - 348329041b ./gcc/testsuite/gcc.dg/noncompile/noncompile.exp -3105423709b ./gcc/testsuite/gcc.dg/noncompile/redecl-1.c -1781438824b ./gcc/testsuite/gcc.dg/noncompile/va-arg-1.c -3381135030b ./gcc/testsuite/gcc.dg/noncompile/voidparam-1.c -1329170478b ./gcc/testsuite/gcc.dg/noreturn-1.c -2267400179b ./gcc/testsuite/gcc.dg/noreturn-2.c -1222476594b ./gcc/testsuite/gcc.dg/noreturn-3.c -4260549149b ./gcc/testsuite/gcc.dg/noreturn-4.c -1662299957b ./gcc/testsuite/gcc.dg/pack-test-1.c -2754082325b ./gcc/testsuite/gcc.dg/pack-test-1.h -2875409621b ./gcc/testsuite/gcc.dg/pack-test-2.c -3395691298b ./gcc/testsuite/gcc.dg/pragma-align.c -2976918557b ./gcc/testsuite/gcc.dg/pragma-darwin.c - 967979463b ./gcc/testsuite/gcc.dg/pragma-ep-1.c - 689657683b ./gcc/testsuite/gcc.dg/pragma-ep-2.c - 375277958b ./gcc/testsuite/gcc.dg/pragma-ep-3.c - 18511022b ./gcc/testsuite/gcc.dg/pragma-re-1.c -3911201539b ./gcc/testsuite/gcc.dg/pragma-re-2.c -3011001240b ./gcc/testsuite/gcc.dg/qual-return-1.c -4111880764b ./gcc/testsuite/gcc.dg/qual-return-2.c -2426423235b ./gcc/testsuite/gcc.dg/README -2127458656b ./gcc/testsuite/gcc.dg/return-type-1.c -3519355790b ./gcc/testsuite/gcc.dg/return-type-2.c -3862146754b ./gcc/testsuite/gcc.dg/sequence-pt-1.c -3997091992b ./gcc/testsuite/gcc.dg/setjmp-1.c - 802040009b ./gcc/testsuite/gcc.dg/sparc-ret.c -1993113484b ./gcc/testsuite/gcc.dg/special/20000419-2.c -3430419731b ./gcc/testsuite/gcc.dg/special/alias-1.c - 7306739b ./gcc/testsuite/gcc.dg/special/alias-2.c - 371725929b ./gcc/testsuite/gcc.dg/special/ecos.exp -4212112354b ./gcc/testsuite/gcc.dg/special/gcsec-1.c - 274062869b ./gcc/testsuite/gcc.dg/special/special.exp -3422703148b ./gcc/testsuite/gcc.dg/special/weak-1a.c -2943372070b ./gcc/testsuite/gcc.dg/special/weak-1.c - 389288806b ./gcc/testsuite/gcc.dg/special/weak-2a.c -3422703148b ./gcc/testsuite/gcc.dg/special/weak-2b.c -3142421222b ./gcc/testsuite/gcc.dg/special/weak-2.c -2222470584b ./gcc/testsuite/gcc.dg/special/wkali-1.c - 206085145b ./gcc/testsuite/gcc.dg/special/wkali-2a.c -2277202182b ./gcc/testsuite/gcc.dg/special/wkali-2b.c -3142421222b ./gcc/testsuite/gcc.dg/special/wkali-2.c -1648410279b ./gcc/testsuite/gcc.dg/splet-1.c - 276809676b ./gcc/testsuite/gcc.dg/struct-alias-1.c -2735438447b ./gcc/testsuite/gcc.dg/struct-by-value-1.c - 935614314b ./gcc/testsuite/gcc.dg/struct-ret-1.c -1932500816b ./gcc/testsuite/gcc.dg/struct-ret-2.c - 548999932b ./gcc/testsuite/gcc.dg/switch-1.c -1141366394b ./gcc/testsuite/gcc.dg/trunc-1.c -1890682509b ./gcc/testsuite/gcc.dg/typedef-init.c -1892637986b ./gcc/testsuite/gcc.dg/typeof-1.c -4017319276b ./gcc/testsuite/gcc.dg/typeof-2.c -1860858242b ./gcc/testsuite/gcc.dg/ultrasp1.c - 789972216b ./gcc/testsuite/gcc.dg/ultrasp2.c -2708772692b ./gcc/testsuite/gcc.dg/ultrasp3.c -1890424464b ./gcc/testsuite/gcc.dg/ultrasp4.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 -3153724678b ./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 -4065754561b ./gcc/testsuite/gcc.dg/uninit-A.c -3967573468b ./gcc/testsuite/gcc.dg/uninit-B.c - 977726966b ./gcc/testsuite/gcc.dg/unused-1.c -3484455791b ./gcc/testsuite/gcc.dg/unused-2.c - 865910481b ./gcc/testsuite/gcc.dg/unused-3.c -3706472995b ./gcc/testsuite/gcc.dg/va-arg-1.c -2932877249b ./gcc/testsuite/gcc.dg/verbose-asm.c -3017845162b ./gcc/testsuite/gcc.dg/vla-2.c -2427295047b ./gcc/testsuite/gcc.dg/vla-init-1.c -2228363679b ./gcc/testsuite/gcc.dg/wchar_t-1.c - 943771070b ./gcc/testsuite/gcc.dg/Wconversion.c -2603701000b ./gcc/testsuite/gcc.dg/weak-1.c -2107795305b ./gcc/testsuite/gcc.dg/weak-2.c -2916280352b ./gcc/testsuite/gcc.dg/weak-3.c - 190723555b ./gcc/testsuite/gcc.dg/weak-4.c - 176100891b ./gcc/testsuite/gcc.dg/weak-5.c -1022686552b ./gcc/testsuite/gcc.dg/weak-6.c - 789089149b ./gcc/testsuite/gcc.dg/weak-7.c -2849791540b ./gcc/testsuite/gcc.dg/weak-9.c - 455748560b ./gcc/testsuite/gcc.dg/wint_t-1.c -3364645726b ./gcc/testsuite/gcc.dg/Wlarger-than.c -3791055151b ./gcc/testsuite/gcc.dg/Wparentheses-1.c -3316229121b ./gcc/testsuite/gcc.dg/Wreturn-type2.c -2809247827b ./gcc/testsuite/gcc.dg/Wreturn-type.c -3907876407b ./gcc/testsuite/gcc.dg/Wshadow-1.c -3928913400b ./gcc/testsuite/gcc.dg/Wswitch-2.c - 49151727b ./gcc/testsuite/gcc.dg/Wswitch.c -1217899241b ./gcc/testsuite/gcc.dg/wtr-aggr-init-1.c -3348015737b ./gcc/testsuite/gcc.dg/wtr-conversion-1.c -3943648306b ./gcc/testsuite/gcc.dg/wtr-escape-1.c -1258505090b ./gcc/testsuite/gcc.dg/wtr-int-type-1.c -2927503050b ./gcc/testsuite/gcc.dg/wtr-label-1.c -2138480914b ./gcc/testsuite/gcc.dg/wtr-static-1.c -3063513729b ./gcc/testsuite/gcc.dg/wtr-strcat-1.c -2559544004b ./gcc/testsuite/gcc.dg/wtr-suffix-1.c -2920370985b ./gcc/testsuite/gcc.dg/wtr-switch-1.c - 569838363b ./gcc/testsuite/gcc.dg/wtr-unary-plus-1.c -1007453610b ./gcc/testsuite/gcc.dg/wtr-union-init-1.c -1817815277b ./gcc/testsuite/gcc.dg/wtr-union-init-2.c -3147738885b ./gcc/testsuite/gcc.dg/wtr-union-init-3.c -2078992029b ./gcc/testsuite/gcc.dg/Wunknownprag.c -1674197654b ./gcc/testsuite/gcc.dg/Wunreachable-1.c -3581949676b ./gcc/testsuite/gcc.dg/Wunreachable-2.c -1769759078b ./gcc/testsuite/gcc.misc-tests/acker1.c -1443030966b ./gcc/testsuite/gcc.misc-tests/acker1.exp - 278378178b ./gcc/testsuite/gcc.misc-tests/arm-isr.c -1193019601b ./gcc/testsuite/gcc.misc-tests/arm-isr.exp -2075376861b ./gcc/testsuite/gcc.misc-tests/bprob-1.c -3293027214b ./gcc/testsuite/gcc.misc-tests/bprob-2.c -2453911973b ./gcc/testsuite/gcc.misc-tests/bprob.exp - 865542926b ./gcc/testsuite/gcc.misc-tests/dg-10.c -2063159250b ./gcc/testsuite/gcc.misc-tests/dg-11.c - 33043738b ./gcc/testsuite/gcc.misc-tests/dg-12.c - 730919505b ./gcc/testsuite/gcc.misc-tests/dg-1.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 -2494962233b ./gcc/testsuite/gcc.misc-tests/dg-5.c -2938473505b ./gcc/testsuite/gcc.misc-tests/dg-6.c -3402935282b ./gcc/testsuite/gcc.misc-tests/dg-7.c -1050718588b ./gcc/testsuite/gcc.misc-tests/dg-8.c -1666656352b ./gcc/testsuite/gcc.misc-tests/dg-9.c -1706908915b ./gcc/testsuite/gcc.misc-tests/dg-test.exp -1483515495b ./gcc/testsuite/gcc.misc-tests/dhry.c -1824463967b ./gcc/testsuite/gcc.misc-tests/dhry.exp - 208907585b ./gcc/testsuite/gcc.misc-tests/dhry.h - 779830061b ./gcc/testsuite/gcc.misc-tests/gcov-1.c -3193043874b ./gcc/testsuite/gcc.misc-tests/gcov-2.c -4211514085b ./gcc/testsuite/gcc.misc-tests/gcov-3.c - 527032712b ./gcc/testsuite/gcc.misc-tests/gcov-4b.c -3346981345b ./gcc/testsuite/gcc.misc-tests/gcov-4b.x -3919110722b ./gcc/testsuite/gcc.misc-tests/gcov-4.c - 695277662b ./gcc/testsuite/gcc.misc-tests/gcov-5b.c -3346981345b ./gcc/testsuite/gcc.misc-tests/gcov-5b.x - 790797496b ./gcc/testsuite/gcc.misc-tests/gcov-6.c -2262587727b ./gcc/testsuite/gcc.misc-tests/gcov-6.x -2647301947b ./gcc/testsuite/gcc.misc-tests/gcov-7.c -2262587727b ./gcc/testsuite/gcc.misc-tests/gcov-7.x - 283921131b ./gcc/testsuite/gcc.misc-tests/gcov.exp -1258478426b ./gcc/testsuite/gcc.misc-tests/i386-pf-3dnow-1.c -3346801828b ./gcc/testsuite/gcc.misc-tests/i386-pf-athlon-1.c -2266643451b ./gcc/testsuite/gcc.misc-tests/i386-pf-none-1.c -2697809529b ./gcc/testsuite/gcc.misc-tests/i386-pf-sse-1.c -2256410310b ./gcc/testsuite/gcc.misc-tests/i386-prefetch.exp -1392461362b ./gcc/testsuite/gcc.misc-tests/linkage.exp -2071381157b ./gcc/testsuite/gcc.misc-tests/linkage-x.c -3975807378b ./gcc/testsuite/gcc.misc-tests/linkage-y.c -2874350784b ./gcc/testsuite/gcc.misc-tests/matrix1.c -1686589144b ./gcc/testsuite/gcc.misc-tests/matrix1.exp -1813429392b ./gcc/testsuite/gcc.misc-tests/mg.c -1868251641b ./gcc/testsuite/gcc.misc-tests/mg.exp -1983153897b ./gcc/testsuite/gcc.misc-tests/sieve.c -3220093576b ./gcc/testsuite/gcc.misc-tests/sieve.exp -4235385594b ./gcc/testsuite/gcc.misc-tests/sort2.c - 232815709b ./gcc/testsuite/gcc.misc-tests/sort2.exp - 885716516b ./gcc/testsuite/g++.dg/abi/bitfield1.C - 479436735b ./gcc/testsuite/g++.dg/abi/bitfield2.C -3225280346b ./gcc/testsuite/g++.dg/abi/bitfield3.C -1735502164b ./gcc/testsuite/g++.dg/abi/bitfield5.C - 257517025b ./gcc/testsuite/g++.dg/abi/empty4.C -2703592525b ./gcc/testsuite/g++.dg/abi/enum1.C -3235702061b ./gcc/testsuite/g++.dg/abi/layout1.C -4006829604b ./gcc/testsuite/g++.dg/abi/layout2.C -2689331463b ./gcc/testsuite/g++.dg/abi/mangle11.C - 356153643b ./gcc/testsuite/g++.dg/abi/mangle14.C - 238964482b ./gcc/testsuite/g++.dg/abi/mangle17.C -4166781498b ./gcc/testsuite/g++.dg/abi/mangle1.C -4182318030b ./gcc/testsuite/g++.dg/abi/mangle2.C -1755377648b ./gcc/testsuite/g++.dg/abi/mangle3.C -3981957296b ./gcc/testsuite/g++.dg/abi/mangle4.C -4052214936b ./gcc/testsuite/g++.dg/abi/mangle5.C - 31392269b ./gcc/testsuite/g++.dg/abi/mangle6.C -1724007624b ./gcc/testsuite/g++.dg/abi/mangle7.C - 638258652b ./gcc/testsuite/g++.dg/abi/mangle8.C -1969970486b ./gcc/testsuite/g++.dg/abi/offsetof.C -2141080121b ./gcc/testsuite/g++.dg/abi/rtti1.C -1053392201b ./gcc/testsuite/g++.dg/abi/vbase10.C - 20126271b ./gcc/testsuite/g++.dg/abi/vbase1.C -1286609512b ./gcc/testsuite/g++.dg/abi/vbase8-10.C -3227029100b ./gcc/testsuite/g++.dg/abi/vbase8-21.C -1921427599b ./gcc/testsuite/g++.dg/abi/vbase8-22.C -3728366429b ./gcc/testsuite/g++.dg/abi/vbase8-4.C -2997752155b ./gcc/testsuite/g++.dg/abi/vbase9.C -4073115738b ./gcc/testsuite/g++.dg/abi/vthunk1.C -1740237496b ./gcc/testsuite/g++.dg/debug/debug1.C -1473360233b ./gcc/testsuite/g++.dg/debug/debug2.C -4057306503b ./gcc/testsuite/g++.dg/debug/debug3.C -4063448821b ./gcc/testsuite/g++.dg/debug/debug4.C -2101587412b ./gcc/testsuite/g++.dg/debug/debug5.C -2910185760b ./gcc/testsuite/g++.dg/debug/debug6.C -2476891002b ./gcc/testsuite/g++.dg/debug/debug7.C -1949293295b ./gcc/testsuite/g++.dg/debug/debug.exp -1865154101b ./gcc/testsuite/g++.dg/debug/trivial.C -2006018373b ./gcc/testsuite/g++.dg/dg.exp - 65538524b ./gcc/testsuite/g++.dg/eh/ctor1.C -3380022165b ./gcc/testsuite/g++.dg/eh/dead1.C -2307599878b ./gcc/testsuite/g++.dg/eh/dtor1.C -3289569863b ./gcc/testsuite/g++.dg/eh/filter1.C -1460645953b ./gcc/testsuite/g++.dg/eh/filter2.C - 507841710b ./gcc/testsuite/g++.dg/eh/loop1.C -4035633334b ./gcc/testsuite/g++.dg/eh/omit-frame-pointer.C -1888049158b ./gcc/testsuite/g++.dg/eh/registers1.C -2204781248b ./gcc/testsuite/g++.dg/eh/spec1.C - 985744667b ./gcc/testsuite/g++.dg/eh/synth1.C -2213107508b ./gcc/testsuite/g++.dg/eh/template1.C -3379396295b ./gcc/testsuite/g++.dg/eh/template2.C -1789254796b ./gcc/testsuite/g++.dg/eh/unexpected1.C - 880147168b ./gcc/testsuite/g++.dg/expr/cond1.C - 10818138b ./gcc/testsuite/g++.dg/ext/align1.C -4214519942b ./gcc/testsuite/g++.dg/ext/attrib1.C -2242814507b ./gcc/testsuite/g++.dg/ext/attrib2.C -2606851845b ./gcc/testsuite/g++.dg/ext/attrib3.C -3822844850b ./gcc/testsuite/g++.dg/ext/attrib4.C - 783893625b ./gcc/testsuite/g++.dg/ext/attrib5.C -2703749043b ./gcc/testsuite/g++.dg/ext/conv1.C -4165742225b ./gcc/testsuite/g++.dg/ext/forscope1.C -4019239529b ./gcc/testsuite/g++.dg/ext/forscope2.C -2832497986b ./gcc/testsuite/g++.dg/ext/instantiate1.C -1033795910b ./gcc/testsuite/g++.dg/ext/instantiate2.C - 631460058b ./gcc/testsuite/g++.dg/ext/instantiate3.C - 433892339b ./gcc/testsuite/g++.dg/ext/lvalue1.C -1765466377b ./gcc/testsuite/g++.dg/ext/member-attr.C - 714299152b ./gcc/testsuite/g++.dg/ext/typedef-init.C -3028501104b ./gcc/testsuite/g++.dg/ext/typeof1.C -2139267109b ./gcc/testsuite/g++.dg/ext/typeof2.C -3384117993b ./gcc/testsuite/g++.dg/ext/vla1.C -4261072225b ./gcc/testsuite/g++.dg/ext/vlm1.C - 546216042b ./gcc/testsuite/g++.dg/ext/vlm2.C -2576905511b ./gcc/testsuite/g++.dg/inherit/access1.C -3833575012b ./gcc/testsuite/g++.dg/inherit/access2.C -3439912284b ./gcc/testsuite/g++.dg/inherit/base1.C -2309234518b ./gcc/testsuite/g++.dg/inherit/namespace-as-base.C -4167951109b ./gcc/testsuite/g++.dg/inherit/null1.C -3799679971b ./gcc/testsuite/g++.dg/inherit/using1.C -2391219706b ./gcc/testsuite/g++.dg/inherit/using3.C -3967911027b ./gcc/testsuite/g++.dg/init/array1.C -3157994593b ./gcc/testsuite/g++.dg/init/array2.C -2628461993b ./gcc/testsuite/g++.dg/init/array4.C - 267149531b ./gcc/testsuite/g++.dg/init/array5.C -3220934948b ./gcc/testsuite/g++.dg/init/array7.C - 486682064b ./gcc/testsuite/g++.dg/init/copy1.C -1741245578b ./gcc/testsuite/g++.dg/init/dtor1.C - 356489409b ./gcc/testsuite/g++.dg/init/dtor2.C - 486760656b ./gcc/testsuite/g++.dg/init/elide1.C -2797496870b ./gcc/testsuite/g++.dg/init/empty1.C -2640181867b ./gcc/testsuite/g++.dg/init/init-ref1.C -3275947242b ./gcc/testsuite/g++.dg/init/init-ref2.C -1678560039b ./gcc/testsuite/g++.dg/init/new1.C -4033502091b ./gcc/testsuite/g++.dg/init/new2.C -1385694165b ./gcc/testsuite/g++.dg/init/pm1.C - 766167426b ./gcc/testsuite/g++.dg/lookup/pretty1.C - 684033142b ./gcc/testsuite/g++.dg/lookup/struct1.C -3358174935b ./gcc/testsuite/g++.dg/lookup/using2.C -3384907788b ./gcc/testsuite/g++.dg/lookup/using.C - 421486798b ./gcc/testsuite/g++.dg/opt/alias1.C -3198583204b ./gcc/testsuite/g++.dg/opt/alias2.C -1878509122b ./gcc/testsuite/g++.dg/opt/anonunion1.C - 845836056b ./gcc/testsuite/g++.dg/opt/asm1.C -1484527337b ./gcc/testsuite/g++.dg/opt/cleanup1.C -3120356664b ./gcc/testsuite/g++.dg/opt/conj1.C -4054451892b ./gcc/testsuite/g++.dg/opt/conj2.C -2033783153b ./gcc/testsuite/g++.dg/opt/const1.C - 975231214b ./gcc/testsuite/g++.dg/opt/const2.C -2113737922b ./gcc/testsuite/g++.dg/opt/cse1.C -1501006084b ./gcc/testsuite/g++.dg/opt/cse2.C -1685294627b ./gcc/testsuite/g++.dg/opt/dtor1.C -3770486737b ./gcc/testsuite/g++.dg/opt/inline1.C -2869206713b ./gcc/testsuite/g++.dg/opt/inline2.C -3194356521b ./gcc/testsuite/g++.dg/opt/inline3.C - 373643534b ./gcc/testsuite/g++.dg/opt/local1.C -3146403914b ./gcc/testsuite/g++.dg/opt/longbranch1.C -2026702440b ./gcc/testsuite/g++.dg/opt/mmx1.C -2857034604b ./gcc/testsuite/g++.dg/opt/nrv1.C -2448700667b ./gcc/testsuite/g++.dg/opt/nrv2.C - 442892442b ./gcc/testsuite/g++.dg/opt/preinc1.C -1496969096b ./gcc/testsuite/g++.dg/opt/ptrintsum1.C - 571185401b ./gcc/testsuite/g++.dg/opt/reg-stack.C -1557651694b ./gcc/testsuite/g++.dg/opt/reload1.C -1124740865b ./gcc/testsuite/g++.dg/opt/static1.C - 684782459b ./gcc/testsuite/g++.dg/opt/static2.C -4154721541b ./gcc/testsuite/g++.dg/opt/thunk1.C -4029726050b ./gcc/testsuite/g++.dg/opt/vt1.C - 135165742b ./gcc/testsuite/g++.dg/opt/vtgc1.C - 686527483b ./gcc/testsuite/g++.dg/other/access1.C -3285252373b ./gcc/testsuite/g++.dg/other/anon2.C - 681497421b ./gcc/testsuite/g++.dg/other/anon-struct.C -1585173858b ./gcc/testsuite/g++.dg/other/anon-union.C -1233509973b ./gcc/testsuite/g++.dg/other/array1.C -2359273471b ./gcc/testsuite/g++.dg/other/big-struct.C -2708764484b ./gcc/testsuite/g++.dg/other/classkey1.C - 867943500b ./gcc/testsuite/g++.dg/other/component1.C -4045861590b ./gcc/testsuite/g++.dg/other/const1.C - 109747091b ./gcc/testsuite/g++.dg/other/const2.C -3254620469b ./gcc/testsuite/g++.dg/other/copy1.C -4162972212b ./gcc/testsuite/g++.dg/other/cxa-atexit1.C -1287592684b ./gcc/testsuite/g++.dg/other/deprecated.C -1127806654b ./gcc/testsuite/g++.dg/other/enum1.C -3062339491b ./gcc/testsuite/g++.dg/other/error1.C -4222650217b ./gcc/testsuite/g++.dg/other/error2.C - 490611048b ./gcc/testsuite/g++.dg/other/error3.C -2120952916b ./gcc/testsuite/g++.dg/other/exception-specification.C -1698581993b ./gcc/testsuite/g++.dg/other/forscope1.C -2764746133b ./gcc/testsuite/g++.dg/other/friend1.C -2377020172b ./gcc/testsuite/g++.dg/other/gc1.C -2096815409b ./gcc/testsuite/g++.dg/other/init1.C -2028368016b ./gcc/testsuite/g++.dg/other/init2.C -2143945221b ./gcc/testsuite/g++.dg/other/linkage1.C -2384288796b ./gcc/testsuite/g++.dg/other/pragma-ep-1.C - 198088036b ./gcc/testsuite/g++.dg/other/pragma-re-1.C -1453288357b ./gcc/testsuite/g++.dg/other/ptrmem1.C - 392352692b ./gcc/testsuite/g++.dg/other/ptrmem2.C - 522786262b ./gcc/testsuite/g++.dg/other/scope1.C -3572380294b ./gcc/testsuite/g++.dg/other/stdarg1.C - 873911472b ./gcc/testsuite/g++.dg/other/stdbool-if.C - 492684594b ./gcc/testsuite/g++.dg/overload/builtin1.C -3775778165b ./gcc/testsuite/g++.dg/overload/cond1.C -1110519878b ./gcc/testsuite/g++.dg/overload/error1.C -3780752279b ./gcc/testsuite/g++.dg/overload/member2.C -3588815363b ./gcc/testsuite/g++.dg/overload/pmf1.C -2166944080b ./gcc/testsuite/g++.dg/parse/angle-bracket.C -3621016079b ./gcc/testsuite/g++.dg/parse/attr1.C -2532827057b ./gcc/testsuite/g++.dg/parse/decl-specifier-1.C -3454082090b ./gcc/testsuite/g++.dg/parse/friend1.C - 849996881b ./gcc/testsuite/g++.dg/parse/inline1.C -1601717576b ./gcc/testsuite/g++.dg/parse/named_ops.C -4289007099b ./gcc/testsuite/g++.dg/parse/saved1.C -1402579554b ./gcc/testsuite/g++.dg/parse/stmtexpr1.C -2804352074b ./gcc/testsuite/g++.dg/parse/stmtexpr2.C - 254645785b ./gcc/testsuite/g++.dg/parse/stmtexpr3.C - 805014732b ./gcc/testsuite/g++.dg/parse/typedef1.C - 739732730b ./gcc/testsuite/g++.dg/README - 522523166b ./gcc/testsuite/g++.dg/ref1.C - 438642550b ./gcc/testsuite/g++.dg/rtti/crash1.C -1942107252b ./gcc/testsuite/g++.dg/sizeof1.C - 370035332b ./gcc/testsuite/g++.dg/special/conpr-1.C -1217683257b ./gcc/testsuite/g++.dg/special/conpr-2a.C -1019201819b ./gcc/testsuite/g++.dg/special/conpr-2.C -3756639268b ./gcc/testsuite/g++.dg/special/conpr-3a.C -3436726377b ./gcc/testsuite/g++.dg/special/conpr-3b.C -1019201819b ./gcc/testsuite/g++.dg/special/conpr-3.C -4265992428b ./gcc/testsuite/g++.dg/special/ecos.exp -1952533588b ./gcc/testsuite/g++.dg/special/initp1.C -3059417569b ./gcc/testsuite/g++.dg/template/access1.C - 826296459b ./gcc/testsuite/g++.dg/template/alignof1.C - 783556741b ./gcc/testsuite/g++.dg/template/complit1.C -2083292273b ./gcc/testsuite/g++.dg/template/copy1.C -1072669517b ./gcc/testsuite/g++.dg/template/crash1.C -3504290323b ./gcc/testsuite/g++.dg/template/ctor1.C -1161800603b ./gcc/testsuite/g++.dg/template/explicit-instantiation.C -3302501697b ./gcc/testsuite/g++.dg/template/friend3.C - 587931705b ./gcc/testsuite/g++.dg/template/friend4.C -3560434139b ./gcc/testsuite/g++.dg/template/friend5.C - 590954347b ./gcc/testsuite/g++.dg/template/friend6.C -3646815886b ./gcc/testsuite/g++.dg/template/friend7.C -3595433718b ./gcc/testsuite/g++.dg/template/friend.C - 438837461b ./gcc/testsuite/g++.dg/template/inherit.C -2872339928b ./gcc/testsuite/g++.dg/template/init-list.C -2182099475b ./gcc/testsuite/g++.dg/template/instantiate1.C - 416617778b ./gcc/testsuite/g++.dg/template/local1.C -1449269044b ./gcc/testsuite/g++.dg/template/member.C -2815776671b ./gcc/testsuite/g++.dg/template/meminit1.C -2073430043b ./gcc/testsuite/g++.dg/template/ntp1.C - 188396250b ./gcc/testsuite/g++.dg/template/partial-specialization.C - 601175114b ./gcc/testsuite/g++.dg/template/ptrmem1.C -3748090308b ./gcc/testsuite/g++.dg/template/ptrmem2.C -1117759327b ./gcc/testsuite/g++.dg/template/qual1.C -4043559007b ./gcc/testsuite/g++.dg/template/qualttp10.C - 265969049b ./gcc/testsuite/g++.dg/template/qualttp11.C -3320116615b ./gcc/testsuite/g++.dg/template/qualttp12.C -1886222588b ./gcc/testsuite/g++.dg/template/qualttp13.C - 349133345b ./gcc/testsuite/g++.dg/template/qualttp14.C -1405414284b ./gcc/testsuite/g++.dg/template/qualttp15.C -1602753867b ./gcc/testsuite/g++.dg/template/qualttp16.C - 730215493b ./gcc/testsuite/g++.dg/template/qualttp17.C -2705854603b ./gcc/testsuite/g++.dg/template/qualttp18.C -2340914395b ./gcc/testsuite/g++.dg/template/qualttp19.C -3125902504b ./gcc/testsuite/g++.dg/template/qualttp1.C -1471270599b ./gcc/testsuite/g++.dg/template/qualttp20.C - 662492681b ./gcc/testsuite/g++.dg/template/qualttp2.C -2704736755b ./gcc/testsuite/g++.dg/template/qualttp3.C -2095971540b ./gcc/testsuite/g++.dg/template/qualttp4.C -1142633939b ./gcc/testsuite/g++.dg/template/qualttp5.C - 950873247b ./gcc/testsuite/g++.dg/template/qualttp6.C - 433357978b ./gcc/testsuite/g++.dg/template/qualttp7.C -1704860378b ./gcc/testsuite/g++.dg/template/qualttp8.C - 700938418b ./gcc/testsuite/g++.dg/template/qualttp9.C -4163290563b ./gcc/testsuite/g++.dg/template/recurse.C -1960444878b ./gcc/testsuite/g++.dg/template/ref1.C -1028564434b ./gcc/testsuite/g++.dg/template/sizeof1.C -2914549620b ./gcc/testsuite/g++.dg/template/spec1.C -2378483146b ./gcc/testsuite/g++.dg/template/spec2.C -4241261648b ./gcc/testsuite/g++.dg/template/ttp1.C -2877667245b ./gcc/testsuite/g++.dg/template/ttp2.C - 764874225b ./gcc/testsuite/g++.dg/template/ttp3.C - 212083769b ./gcc/testsuite/g++.dg/template/ttp4.C -4098822025b ./gcc/testsuite/g++.dg/template/type1.C -1430073082b ./gcc/testsuite/g++.dg/template/typedef1.C -3583659165b ./gcc/testsuite/g++.dg/template/typename1.C - 566916814b ./gcc/testsuite/g++.dg/template/typename2.C - 471145990b ./gcc/testsuite/g++.dg/template/typename3.C -1606799647b ./gcc/testsuite/g++.dg/template/typename4.C -3595370582b ./gcc/testsuite/g++.dg/template/unify1.C -3639225580b ./gcc/testsuite/g++.dg/template/unify2.C -4266445185b ./gcc/testsuite/g++.dg/template/unify3.C - 509779393b ./gcc/testsuite/g++.dg/template/union1.C -3718685372b ./gcc/testsuite/g++.dg/template/vtable1.C -2244072137b ./gcc/testsuite/g++.dg/warn/effc1.C -1455133800b ./gcc/testsuite/g++.dg/warn/format1.C - 886747822b ./gcc/testsuite/g++.dg/warn/format2.C -2805519034b ./gcc/testsuite/g++.dg/warn/friend.C -3402610409b ./gcc/testsuite/g++.dg/warn/oldcast1.C -2394314287b ./gcc/testsuite/g++.dg/warn/return-reference.C -3714230484b ./gcc/testsuite/g++.dg/warn/weak1.C -1594659113b ./gcc/testsuite/g++.dg/warn/Wshadow-1.C -3339416566b ./gcc/testsuite/g++.dg/warn/Wswitch-1.C -3928913400b ./gcc/testsuite/g++.dg/warn/Wswitch-2.C - 223408438b ./gcc/testsuite/g++.dg/warn/Wunused-1.C -1014061570b ./gcc/testsuite/g++.old-deja/g++.abi/aggregates.C -3074970655b ./gcc/testsuite/g++.old-deja/g++.abi/align.C -1155806507b ./gcc/testsuite/g++.old-deja/g++.abi/arraynew.C -3647855758b ./gcc/testsuite/g++.old-deja/g++.abi/bitfields.C -2026386788b ./gcc/testsuite/g++.old-deja/g++.abi/crash1.C -1147144784b ./gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C -4096109742b ./gcc/testsuite/g++.old-deja/g++.abi/empty2.C -1878628007b ./gcc/testsuite/g++.old-deja/g++.abi/empty3.C -2936636767b ./gcc/testsuite/g++.old-deja/g++.abi/empty.C - 239352654b ./gcc/testsuite/g++.old-deja/g++.abi/layout1.C -3009318595b ./gcc/testsuite/g++.old-deja/g++.abi/mangle1.C -2807005291b ./gcc/testsuite/g++.old-deja/g++.abi/primary2.C -3282879605b ./gcc/testsuite/g++.old-deja/g++.abi/primary3.C -1642224875b ./gcc/testsuite/g++.old-deja/g++.abi/primary4.C - 758749582b ./gcc/testsuite/g++.old-deja/g++.abi/primary5.C - 694100951b ./gcc/testsuite/g++.old-deja/g++.abi/primary.C - 123432225b ./gcc/testsuite/g++.old-deja/g++.abi/ptrflags.C -3967703303b ./gcc/testsuite/g++.old-deja/g++.abi/ptrmem.C - 627664718b ./gcc/testsuite/g++.old-deja/g++.abi/vbase1.C -1393433492b ./gcc/testsuite/g++.old-deja/g++.abi/vbase2.C -1591406699b ./gcc/testsuite/g++.old-deja/g++.abi/vbase3.C -2878658307b ./gcc/testsuite/g++.old-deja/g++.abi/vbase4.C -2484396991b ./gcc/testsuite/g++.old-deja/g++.abi/vbase5.C - 762829112b ./gcc/testsuite/g++.old-deja/g++.abi/vbase6.C -2351342219b ./gcc/testsuite/g++.old-deja/g++.abi/vbase7.C -3914589079b ./gcc/testsuite/g++.old-deja/g++.abi/vbase8-5.C -3332397893b ./gcc/testsuite/g++.old-deja/g++.abi/vbase8-9.C - 186405531b ./gcc/testsuite/g++.old-deja/g++.abi/vmihint.C -1117843110b ./gcc/testsuite/g++.old-deja/g++.abi/vtable2.C -3601882386b ./gcc/testsuite/g++.old-deja/g++.abi/vtable3a.C -1066819949b ./gcc/testsuite/g++.old-deja/g++.abi/vtable3b.C - 733573133b ./gcc/testsuite/g++.old-deja/g++.abi/vtable3c.C -2659325300b ./gcc/testsuite/g++.old-deja/g++.abi/vtable3d.C -2504154034b ./gcc/testsuite/g++.old-deja/g++.abi/vtable3e.C - 841363633b ./gcc/testsuite/g++.old-deja/g++.abi/vtable3f.C -1020377548b ./gcc/testsuite/g++.old-deja/g++.abi/vtable3g.C -3689828910b ./gcc/testsuite/g++.old-deja/g++.abi/vtable3.h -1675326614b ./gcc/testsuite/g++.old-deja/g++.abi/vtable3h.C -3323598815b ./gcc/testsuite/g++.old-deja/g++.abi/vtable3i.C -4291841254b ./gcc/testsuite/g++.old-deja/g++.abi/vtable3j.C -2313706108b ./gcc/testsuite/g++.old-deja/g++.abi/vtable.C -3645238009b ./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 -2423853762b ./gcc/testsuite/g++.old-deja/g++.benjamin/14664-1.C -2212548175b ./gcc/testsuite/g++.old-deja/g++.benjamin/14664-2.C -3677086750b ./gcc/testsuite/g++.old-deja/g++.benjamin/14687.C -1586319624b ./gcc/testsuite/g++.old-deja/g++.benjamin/15054.C -3684855646b ./gcc/testsuite/g++.old-deja/g++.benjamin/15071.C -1623288966b ./gcc/testsuite/g++.old-deja/g++.benjamin/15309-1.C - 504940539b ./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 -2360709744b ./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 -3086868742b ./gcc/testsuite/g++.old-deja/g++.benjamin/bool01.C -3598814632b ./gcc/testsuite/g++.old-deja/g++.benjamin/bool02.C -3056861018b ./gcc/testsuite/g++.old-deja/g++.benjamin/.cvsignore -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 -3256842151b ./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 -2664329213b ./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 -1103043835b ./gcc/testsuite/g++.old-deja/g++.bob/inherit2.C -2833738657b ./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 - 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 -2917176441b ./gcc/testsuite/g++.old-deja/g++.brendan/array1.C -1965428160b ./gcc/testsuite/g++.old-deja/g++.brendan/array-refs.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 -4273223623b ./gcc/testsuite/g++.old-deja/g++.brendan/code-gen1.C -1645524661b ./gcc/testsuite/g++.old-deja/g++.brendan/code-gen2.C -3644865515b ./gcc/testsuite/g++.old-deja/g++.brendan/code-gen3.C -2948051712b ./gcc/testsuite/g++.old-deja/g++.brendan/code-gen4.C -1620487125b ./gcc/testsuite/g++.old-deja/g++.brendan/code-gen6.C -1741291892b ./gcc/testsuite/g++.old-deja/g++.brendan/complex1.C - 793374686b ./gcc/testsuite/g++.old-deja/g++.brendan/copy1.C -3632592804b ./gcc/testsuite/g++.old-deja/g++.brendan/copy2.C -2563077575b ./gcc/testsuite/g++.old-deja/g++.brendan/copy3.C -2853493438b ./gcc/testsuite/g++.old-deja/g++.brendan/copy4.C - 654573812b ./gcc/testsuite/g++.old-deja/g++.brendan/copy5.C - 949668502b ./gcc/testsuite/g++.old-deja/g++.brendan/copy6.C -1985077243b ./gcc/testsuite/g++.old-deja/g++.brendan/copy7.C -2478516341b ./gcc/testsuite/g++.old-deja/g++.brendan/copy8.C -4007430298b ./gcc/testsuite/g++.old-deja/g++.brendan/copy9.C -2509157689b ./gcc/testsuite/g++.old-deja/g++.brendan/crash10.C -1585446941b ./gcc/testsuite/g++.old-deja/g++.brendan/crash11.C -1430846464b ./gcc/testsuite/g++.old-deja/g++.brendan/crash12.C - 162053895b ./gcc/testsuite/g++.old-deja/g++.brendan/crash13.C -1549271196b ./gcc/testsuite/g++.old-deja/g++.brendan/crash14.C -2286955722b ./gcc/testsuite/g++.old-deja/g++.brendan/crash15.C - 183613091b ./gcc/testsuite/g++.old-deja/g++.brendan/crash16.C -3586612658b ./gcc/testsuite/g++.old-deja/g++.brendan/crash17.C - 563583842b ./gcc/testsuite/g++.old-deja/g++.brendan/crash18.C - 73005642b ./gcc/testsuite/g++.old-deja/g++.brendan/crash1.C -4119104494b ./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 - 899543906b ./gcc/testsuite/g++.old-deja/g++.brendan/crash29.C -2936347090b ./gcc/testsuite/g++.old-deja/g++.brendan/crash2.C - 454853598b ./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 -3095994190b ./gcc/testsuite/g++.old-deja/g++.brendan/crash38.C -1186001658b ./gcc/testsuite/g++.old-deja/g++.brendan/crash39.C -1740428956b ./gcc/testsuite/g++.old-deja/g++.brendan/crash3.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 -2513849144b ./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 - 740147641b ./gcc/testsuite/g++.old-deja/g++.brendan/crash48.C - 991257367b ./gcc/testsuite/g++.old-deja/g++.brendan/crash49.C -2075374404b ./gcc/testsuite/g++.old-deja/g++.brendan/crash4.C -3106709406b ./gcc/testsuite/g++.old-deja/g++.brendan/crash50.C -2259885687b ./gcc/testsuite/g++.old-deja/g++.brendan/crash51.C -2036848605b ./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 -1729790662b ./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 -1308193179b ./gcc/testsuite/g++.old-deja/g++.brendan/crash5.C -3431262814b ./gcc/testsuite/g++.old-deja/g++.brendan/crash60.C -3845483878b ./gcc/testsuite/g++.old-deja/g++.brendan/crash61.C -2163074363b ./gcc/testsuite/g++.old-deja/g++.brendan/crash62.C -3068166302b ./gcc/testsuite/g++.old-deja/g++.brendan/crash63.C -1926363821b ./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 -3392471730b ./gcc/testsuite/g++.old-deja/g++.brendan/crash6.C - 345174202b ./gcc/testsuite/g++.old-deja/g++.brendan/crash7.C -4188483267b ./gcc/testsuite/g++.old-deja/g++.brendan/crash8.C -3802934826b ./gcc/testsuite/g++.old-deja/g++.brendan/crash9.C - 906320343b ./gcc/testsuite/g++.old-deja/g++.brendan/ctors1.C -2290504125b ./gcc/testsuite/g++.old-deja/g++.brendan/ctors2.C - 398361887b ./gcc/testsuite/g++.old-deja/g++.brendan/ctors3.C -3763220792b ./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 -3911201775b ./gcc/testsuite/g++.old-deja/g++.brendan/delete2.C -2974300615b ./gcc/testsuite/g++.old-deja/g++.brendan/dtors1.C -1270991957b ./gcc/testsuite/g++.old-deja/g++.brendan/dtors2.C -1405617163b ./gcc/testsuite/g++.old-deja/g++.brendan/dtors3.C - 50594595b ./gcc/testsuite/g++.old-deja/g++.brendan/eh1.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 -2752357079b ./gcc/testsuite/g++.old-deja/g++.brendan/enum1.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 -3270336565b ./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 -4113228927b ./gcc/testsuite/g++.old-deja/g++.brendan/enum-clash.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 -1658458603b ./gcc/testsuite/g++.old-deja/g++.brendan/err-msg1.C -1956101213b ./gcc/testsuite/g++.old-deja/g++.brendan/err-msg2.C - 139198600b ./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 - 721709084b ./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 -1714830524b ./gcc/testsuite/g++.old-deja/g++.brendan/groff1.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 -3909689745b ./gcc/testsuite/g++.old-deja/g++.brendan/init1.C -1726022047b ./gcc/testsuite/g++.old-deja/g++.brendan/init2.C -2066877415b ./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 -2945125995b ./gcc/testsuite/g++.old-deja/g++.brendan/label2.C -4243229627b ./gcc/testsuite/g++.old-deja/g++.brendan/line1.C - 840292246b ./gcc/testsuite/g++.old-deja/g++.brendan/misc10.C -3482838045b ./gcc/testsuite/g++.old-deja/g++.brendan/misc11.C -2371682672b ./gcc/testsuite/g++.old-deja/g++.brendan/misc14.C -4172246159b ./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 -3260792263b ./gcc/testsuite/g++.old-deja/g++.brendan/misc1.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 -3952284631b ./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 -4218289945b ./gcc/testsuite/g++.old-deja/g++.brendan/nest10.C -2376522411b ./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 -2880395837b ./gcc/testsuite/g++.old-deja/g++.brendan/nest1.C -3266883735b ./gcc/testsuite/g++.old-deja/g++.brendan/nest20.C - 269879871b ./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 -4158798113b ./gcc/testsuite/g++.old-deja/g++.brendan/nest2.C -3460040540b ./gcc/testsuite/g++.old-deja/g++.brendan/nest3.C -3092321784b ./gcc/testsuite/g++.old-deja/g++.brendan/nest4.C -3209968741b ./gcc/testsuite/g++.old-deja/g++.brendan/new1.C - 560844122b ./gcc/testsuite/g++.old-deja/g++.brendan/new2.C - 952562718b ./gcc/testsuite/g++.old-deja/g++.brendan/new3.C - 611468654b ./gcc/testsuite/g++.old-deja/g++.brendan/new-array.C - 864176391b ./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 -3437294529b ./gcc/testsuite/g++.old-deja/g++.brendan/operators4.C -1333590464b ./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 -2183452204b ./gcc/testsuite/g++.old-deja/g++.brendan/overload10.C -1188978134b ./gcc/testsuite/g++.old-deja/g++.brendan/overload11.C - 785078285b ./gcc/testsuite/g++.old-deja/g++.brendan/overload1.C -2745841756b ./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 -2944730687b ./gcc/testsuite/g++.old-deja/g++.brendan/overload7.C -4047120274b ./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 -3312018900b ./gcc/testsuite/g++.old-deja/g++.brendan/parse3.C -2326400572b ./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 -2953958728b ./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 -3336461445b ./gcc/testsuite/g++.old-deja/g++.brendan/README -2442841220b ./gcc/testsuite/g++.old-deja/g++.brendan/recurse.C -3187500629b ./gcc/testsuite/g++.old-deja/g++.brendan/redecl1.C -3919299369b ./gcc/testsuite/g++.old-deja/g++.brendan/redecl2.C -4124591660b ./gcc/testsuite/g++.old-deja/g++.brendan/redecl3.C - 408503266b ./gcc/testsuite/g++.old-deja/g++.brendan/reference1.C -2740944344b ./gcc/testsuite/g++.old-deja/g++.brendan/rtti1.C -2296175777b ./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 - 728696962b ./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 - 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 -2963427658b ./gcc/testsuite/g++.old-deja/g++.brendan/template1.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 -2295592255b ./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 -4292737843b ./gcc/testsuite/g++.old-deja/g++.brendan/template2.C -3262101990b ./gcc/testsuite/g++.old-deja/g++.brendan/template30.C -3508460272b ./gcc/testsuite/g++.old-deja/g++.brendan/template31.C -1373002312b ./gcc/testsuite/g++.old-deja/g++.brendan/template3.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 -1644370694b ./gcc/testsuite/g++.old-deja/g++.brendan/temporary1.C -2369869850b ./gcc/testsuite/g++.old-deja/g++.brendan/typedef1.C -2846047998b ./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 -1914281947b ./gcc/testsuite/g++.old-deja/g++.brendan/visibility10.C -2922551156b ./gcc/testsuite/g++.old-deja/g++.brendan/visibility1.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 -1417363197b ./gcc/testsuite/g++.old-deja/g++.brendan/vtables1.C -2127742392b ./gcc/testsuite/g++.old-deja/g++.brendan/warnings10.C -4011038443b ./gcc/testsuite/g++.old-deja/g++.brendan/warnings1.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 -1813191232b ./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 -2447884275b ./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 -1900361967b ./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 -1144474754b ./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 -3359430702b ./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 -1287054743b ./gcc/testsuite/g++.old-deja/g++.eh/badalloc1.C -3799957377b ./gcc/testsuite/g++.old-deja/g++.eh/catch10.C -2291520496b ./gcc/testsuite/g++.old-deja/g++.eh/catch11.C -3311967999b ./gcc/testsuite/g++.old-deja/g++.eh/catch12.C -3320439198b ./gcc/testsuite/g++.old-deja/g++.eh/catch13.C - 998245899b ./gcc/testsuite/g++.old-deja/g++.eh/catch14.C - 669779261b ./gcc/testsuite/g++.old-deja/g++.eh/catch1.C -2873880433b ./gcc/testsuite/g++.old-deja/g++.eh/catch2.C -2886528606b ./gcc/testsuite/g++.old-deja/g++.eh/catch3.C - 237405446b ./gcc/testsuite/g++.old-deja/g++.eh/catch3p.C -2597913212b ./gcc/testsuite/g++.old-deja/g++.eh/catch4.C -3784511797b ./gcc/testsuite/g++.old-deja/g++.eh/catch4p.C -2773413264b ./gcc/testsuite/g++.old-deja/g++.eh/catch5.C -1526932366b ./gcc/testsuite/g++.old-deja/g++.eh/catch5p.C -4221257197b ./gcc/testsuite/g++.old-deja/g++.eh/catch6.C -3963959238b ./gcc/testsuite/g++.old-deja/g++.eh/catch6p.C -4294525621b ./gcc/testsuite/g++.old-deja/g++.eh/catch7.C -2328109815b ./gcc/testsuite/g++.old-deja/g++.eh/catch7p.C - 62947948b ./gcc/testsuite/g++.old-deja/g++.eh/catch8.C -1196849462b ./gcc/testsuite/g++.old-deja/g++.eh/catch8p.C -1548291979b ./gcc/testsuite/g++.old-deja/g++.eh/catch9.C -2807268437b ./gcc/testsuite/g++.old-deja/g++.eh/catch9p.C -1011765156b ./gcc/testsuite/g++.old-deja/g++.eh/catchptr1.C -3391348266b ./gcc/testsuite/g++.old-deja/g++.eh/cleanup1.C -2075767168b ./gcc/testsuite/g++.old-deja/g++.eh/cleanup2.C -4233648694b ./gcc/testsuite/g++.old-deja/g++.eh/cond1.C - 482630604b ./gcc/testsuite/g++.old-deja/g++.eh/crash1.C -3487010399b ./gcc/testsuite/g++.old-deja/g++.eh/crash2.C -3059731247b ./gcc/testsuite/g++.old-deja/g++.eh/crash3.C -1684457203b ./gcc/testsuite/g++.old-deja/g++.eh/crash4.C -3254817681b ./gcc/testsuite/g++.old-deja/g++.eh/crash5.C -2429027833b ./gcc/testsuite/g++.old-deja/g++.eh/crash6.C - 633960827b ./gcc/testsuite/g++.old-deja/g++.eh/ctor1.C -2442750901b ./gcc/testsuite/g++.old-deja/g++.eh/flow1.C - 735112314b ./gcc/testsuite/g++.old-deja/g++.eh/fntry1.C -2322235726b ./gcc/testsuite/g++.old-deja/g++.eh/ia64-1.C - 676523103b ./gcc/testsuite/g++.old-deja/g++.eh/inline1.C -1365103519b ./gcc/testsuite/g++.old-deja/g++.eh/inline2.C -3790493474b ./gcc/testsuite/g++.old-deja/g++.eh/new1.C - 535130965b ./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 - 281186416b ./gcc/testsuite/g++.old-deja/g++.eh/ptr1.C - 576857198b ./gcc/testsuite/g++.old-deja/g++.eh/ptrmem1.C -1768169036b ./gcc/testsuite/g++.old-deja/g++.eh/rethrow1.C -2742043120b ./gcc/testsuite/g++.old-deja/g++.eh/rethrow2.C - 797701813b ./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 -1673259087b ./gcc/testsuite/g++.old-deja/g++.eh/rethrow6.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 -3545946102b ./gcc/testsuite/g++.old-deja/g++.eh/spec6.C -3657524244b ./gcc/testsuite/g++.old-deja/g++.eh/spec7.C -1957276023b ./gcc/testsuite/g++.old-deja/g++.eh/terminate1.C -2882522407b ./gcc/testsuite/g++.old-deja/g++.eh/terminate2.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 -2285781015b ./gcc/testsuite/g++.old-deja/g++.eh/tmpl4.C -3757999789b ./gcc/testsuite/g++.old-deja/g++.eh/tmpl5.C -2082523657b ./gcc/testsuite/g++.old-deja/g++.eh/tmpl6.C -1395348093b ./gcc/testsuite/g++.old-deja/g++.eh/unwind1.C -4087820734b ./gcc/testsuite/g++.old-deja/g++.eh/vbase1.C - 7954090b ./gcc/testsuite/g++.old-deja/g++.eh/vbase2.C - 597975959b ./gcc/testsuite/g++.old-deja/g++.eh/vbase3.C -3027059078b ./gcc/testsuite/g++.old-deja/g++.eh/vbase4.C -4199943262b ./gcc/testsuite/g++.old-deja/g++.ext/addrfunc1.C - 159934505b ./gcc/testsuite/g++.old-deja/g++.ext/addrfunc2.C - 585898936b ./gcc/testsuite/g++.old-deja/g++.ext/addrfunc3.C -2984020525b ./gcc/testsuite/g++.old-deja/g++.ext/addrfunc4.C -3380550287b ./gcc/testsuite/g++.old-deja/g++.ext/anon1.C -1974705038b ./gcc/testsuite/g++.old-deja/g++.ext/anon2.C - 813082081b ./gcc/testsuite/g++.old-deja/g++.ext/anon3.C -4292815255b ./gcc/testsuite/g++.old-deja/g++.ext/array1.C -2976027349b ./gcc/testsuite/g++.old-deja/g++.ext/array2.C -3272522793b ./gcc/testsuite/g++.old-deja/g++.ext/array3.C -3707624253b ./gcc/testsuite/g++.old-deja/g++.ext/array4.C -2445582885b ./gcc/testsuite/g++.old-deja/g++.ext/arrnew2.C -1417245570b ./gcc/testsuite/g++.old-deja/g++.ext/arrnew.C -3682137158b ./gcc/testsuite/g++.old-deja/g++.ext/asmspec1.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 -3199258020b ./gcc/testsuite/g++.old-deja/g++.ext/attrib5.C -1231673353b ./gcc/testsuite/g++.old-deja/g++.ext/attrib6.C -1172027159b ./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 -3043261002b ./gcc/testsuite/g++.old-deja/g++.ext/delvoid.C -1220140779b ./gcc/testsuite/g++.old-deja/g++.ext/jump1.C -3122237559b ./gcc/testsuite/g++.old-deja/g++.ext/label1.C -1955233630b ./gcc/testsuite/g++.old-deja/g++.ext/label2.C -1326698912b ./gcc/testsuite/g++.old-deja/g++.ext/memconst.C -3051345065b ./gcc/testsuite/g++.old-deja/g++.ext/namedret1.C -1721594512b ./gcc/testsuite/g++.old-deja/g++.ext/namedret2.C -1693910821b ./gcc/testsuite/g++.old-deja/g++.ext/namedret3.C -4236509390b ./gcc/testsuite/g++.old-deja/g++.ext/noweak1.C -1485906792b ./gcc/testsuite/g++.old-deja/g++.ext/null1.C -1534627522b ./gcc/testsuite/g++.old-deja/g++.ext/overload1.C -2789279145b ./gcc/testsuite/g++.old-deja/g++.ext/pretty2.C -1721106953b ./gcc/testsuite/g++.old-deja/g++.ext/pretty3.C -2283773682b ./gcc/testsuite/g++.old-deja/g++.ext/pretty4.C -2953041955b ./gcc/testsuite/g++.old-deja/g++.ext/pretty.C -1326958568b ./gcc/testsuite/g++.old-deja/g++.ext/restrict1.C -1853972109b ./gcc/testsuite/g++.old-deja/g++.ext/return1.C - 463327965b ./gcc/testsuite/g++.old-deja/g++.ext/stmtexpr1.C -3353267413b ./gcc/testsuite/g++.old-deja/g++.ext/syshdr1.C -1434079824b ./gcc/testsuite/g++.old-deja/g++.ext/typename1.C -3055500151b ./gcc/testsuite/g++.old-deja/g++.ext/typeof1.C -3482525745b ./gcc/testsuite/g++.old-deja/g++.ext/typeof2.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 - 939161176b ./gcc/testsuite/g++.old-deja/g++.jason/2371.C -3968774299b ./gcc/testsuite/g++.old-deja/g++.jason/3523.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 - 896691556b ./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 - 906409788b ./gcc/testsuite/g++.old-deja/g++.jason/access1.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 -3689044609b ./gcc/testsuite/g++.old-deja/g++.jason/access2.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 -3198278705b ./gcc/testsuite/g++.old-deja/g++.jason/anon2.C - 221090634b ./gcc/testsuite/g++.old-deja/g++.jason/anon3.C -1050500875b ./gcc/testsuite/g++.old-deja/g++.jason/anon4.C -3828622053b ./gcc/testsuite/g++.old-deja/g++.jason/anon.C -1263298999b ./gcc/testsuite/g++.old-deja/g++.jason/binding2.C -2916172455b ./gcc/testsuite/g++.old-deja/g++.jason/binding3.C -3877580602b ./gcc/testsuite/g++.old-deja/g++.jason/binding.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 - 876810594b ./gcc/testsuite/g++.old-deja/g++.jason/bool.C - 910455504b ./gcc/testsuite/g++.old-deja/g++.jason/builtin2.C -1992610065b ./gcc/testsuite/g++.old-deja/g++.jason/builtin.C -3965054847b ./gcc/testsuite/g++.old-deja/g++.jason/byval2.C -3007011667b ./gcc/testsuite/g++.old-deja/g++.jason/byval3.C -2992950563b ./gcc/testsuite/g++.old-deja/g++.jason/byval.C -4208843404b ./gcc/testsuite/g++.old-deja/g++.jason/cast1.C - 864249402b ./gcc/testsuite/g++.old-deja/g++.jason/cast2.C -3757749527b ./gcc/testsuite/g++.old-deja/g++.jason/cast3.C -1840939242b ./gcc/testsuite/g++.old-deja/g++.jason/c-inline.C -3337873852b ./gcc/testsuite/g++.old-deja/g++.jason/cleanup2.C - 807930816b ./gcc/testsuite/g++.old-deja/g++.jason/cleanup.C -4038763735b ./gcc/testsuite/g++.old-deja/g++.jason/complete1.C -2828665920b ./gcc/testsuite/g++.old-deja/g++.jason/cond2.C -4148991120b ./gcc/testsuite/g++.old-deja/g++.jason/cond.C -3479274833b ./gcc/testsuite/g++.old-deja/g++.jason/condexp.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 - 455783151b ./gcc/testsuite/g++.old-deja/g++.jason/const.C -2571490602b ./gcc/testsuite/g++.old-deja/g++.jason/context.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 - 390853410b ./gcc/testsuite/g++.old-deja/g++.jason/conversion.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 -3761548571b ./gcc/testsuite/g++.old-deja/g++.jason/crash1.C -2330655654b ./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 -4104833271b ./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 -1042330916b ./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 -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 -2111475973b ./gcc/testsuite/g++.old-deja/g++.jason/destruct.C -1012609499b ./gcc/testsuite/g++.old-deja/g++.jason/dot.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 -2968837117b ./gcc/testsuite/g++.old-deja/g++.jason/dtor.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 -1321613329b ./gcc/testsuite/g++.old-deja/g++.jason/enum.C -4190940764b ./gcc/testsuite/g++.old-deja/g++.jason/explicit.C -2873291254b ./gcc/testsuite/g++.old-deja/g++.jason/expr1.C - 58017093b ./gcc/testsuite/g++.old-deja/g++.jason/friend2.C - 547919805b ./gcc/testsuite/g++.old-deja/g++.jason/friend.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 -1181670562b ./gcc/testsuite/g++.old-deja/g++.jason/init2.C -1300989165b ./gcc/testsuite/g++.old-deja/g++.jason/init3.C -1056655196b ./gcc/testsuite/g++.old-deja/g++.jason/init4.C -3118714958b ./gcc/testsuite/g++.old-deja/g++.jason/init.C -1350717964b ./gcc/testsuite/g++.old-deja/g++.jason/inline2.C -3599001559b ./gcc/testsuite/g++.old-deja/g++.jason/inline3.C -3360472142b ./gcc/testsuite/g++.old-deja/g++.jason/inline.C -1197315088b ./gcc/testsuite/g++.old-deja/g++.jason/jump.C -4143262839b ./gcc/testsuite/g++.old-deja/g++.jason/lex1.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 -4180318534b ./gcc/testsuite/g++.old-deja/g++.jason/lineno.C -3655803253b ./gcc/testsuite/g++.old-deja/g++.jason/local.C -1387367938b ./gcc/testsuite/g++.old-deja/g++.jason/lookup2.C - 999889620b ./gcc/testsuite/g++.old-deja/g++.jason/lookup3.C -1599936145b ./gcc/testsuite/g++.old-deja/g++.jason/lookup.C - 568852262b ./gcc/testsuite/g++.old-deja/g++.jason/loverload3.C -3199076242b ./gcc/testsuite/g++.old-deja/g++.jason/loverload4.C -2443057294b ./gcc/testsuite/g++.old-deja/g++.jason/loverload.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 -3786923619b ./gcc/testsuite/g++.old-deja/g++.jason/lvalue.C -4250081538b ./gcc/testsuite/g++.old-deja/g++.jason/mangle1.C -2194458585b ./gcc/testsuite/g++.old-deja/g++.jason/mangle2.C -3647115525b ./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 - 814313341b ./gcc/testsuite/g++.old-deja/g++.jason/net2.C -2330092476b ./gcc/testsuite/g++.old-deja/g++.jason/net.C -4108034998b ./gcc/testsuite/g++.old-deja/g++.jason/new2.C -2192651651b ./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 - 761357985b ./gcc/testsuite/g++.old-deja/g++.jason/new.C - 293878671b ./gcc/testsuite/g++.old-deja/g++.jason/offset1.C -4268803500b ./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 -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 -1753231050b ./gcc/testsuite/g++.old-deja/g++.jason/opeq.C - 688207169b ./gcc/testsuite/g++.old-deja/g++.jason/operator2.C - 577328766b ./gcc/testsuite/g++.old-deja/g++.jason/operator.C - 754653379b ./gcc/testsuite/g++.old-deja/g++.jason/opover.C -2635243370b ./gcc/testsuite/g++.old-deja/g++.jason/optimize2.C -1303452248b ./gcc/testsuite/g++.old-deja/g++.jason/optimize.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 -3391930718b ./gcc/testsuite/g++.old-deja/g++.jason/overload1.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 -1769317874b ./gcc/testsuite/g++.old-deja/g++.jason/overload2.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 -1344900458b ./gcc/testsuite/g++.old-deja/g++.jason/overload3.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 -2991781301b ./gcc/testsuite/g++.old-deja/g++.jason/overload.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 -4063544381b ./gcc/testsuite/g++.old-deja/g++.jason/parse1.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 -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 -3300711445b ./gcc/testsuite/g++.old-deja/g++.jason/pmem.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 -2275329075b ./gcc/testsuite/g++.old-deja/g++.jason/pmf.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 -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 - 829230497b ./gcc/testsuite/g++.old-deja/g++.jason/ref1.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 -2679324150b ./gcc/testsuite/g++.old-deja/g++.jason/report.C -1302488236b ./gcc/testsuite/g++.old-deja/g++.jason/return2.C -1422012899b ./gcc/testsuite/g++.old-deja/g++.jason/return3.C -2084961742b ./gcc/testsuite/g++.old-deja/g++.jason/return.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 -4282982182b ./gcc/testsuite/g++.old-deja/g++.jason/rfg1.C -3118729702b ./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 -2764234637b ./gcc/testsuite/g++.old-deja/g++.jason/rfg27.C - 838463016b ./gcc/testsuite/g++.old-deja/g++.jason/rfg28.C -3117732826b ./gcc/testsuite/g++.old-deja/g++.jason/rfg2.C - 148681664b ./gcc/testsuite/g++.old-deja/g++.jason/rfg3.C -3129549671b ./gcc/testsuite/g++.old-deja/g++.jason/rfg4.C - 295301056b ./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 -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 -2200136874b ./gcc/testsuite/g++.old-deja/g++.jason/scoping.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 - 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 -3703096829b ./gcc/testsuite/g++.old-deja/g++.jason/synth.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 -2805267621b ./gcc/testsuite/g++.old-deja/g++.jason/tempinst1.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 -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 - 885790390b ./gcc/testsuite/g++.old-deja/g++.jason/template18.C -3406115895b ./gcc/testsuite/g++.old-deja/g++.jason/template19.C -3635346741b ./gcc/testsuite/g++.old-deja/g++.jason/template1.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 -2025042004b ./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 - 43030923b ./gcc/testsuite/g++.old-deja/g++.jason/template2.C -2310025160b ./gcc/testsuite/g++.old-deja/g++.jason/template30.C -3335790712b ./gcc/testsuite/g++.old-deja/g++.jason/template31.C - 987062964b ./gcc/testsuite/g++.old-deja/g++.jason/template32.C -1904333349b ./gcc/testsuite/g++.old-deja/g++.jason/template33.C -2135579206b ./gcc/testsuite/g++.old-deja/g++.jason/template34.C -3189860272b ./gcc/testsuite/g++.old-deja/g++.jason/template35.C - 805289702b ./gcc/testsuite/g++.old-deja/g++.jason/template36.C -2952351972b ./gcc/testsuite/g++.old-deja/g++.jason/template37.C -1653595335b ./gcc/testsuite/g++.old-deja/g++.jason/template39.C -2243617030b ./gcc/testsuite/g++.old-deja/g++.jason/template3.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 -2458850401b ./gcc/testsuite/g++.old-deja/g++.jason/template4.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 -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 -2460644105b ./gcc/testsuite/g++.old-deja/g++.jason/temporary.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 -4280002449b ./gcc/testsuite/g++.old-deja/g++.jason/thunk1.C - 274835885b ./gcc/testsuite/g++.old-deja/g++.jason/thunk2.C -1347779987b ./gcc/testsuite/g++.old-deja/g++.jason/thunk3.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 -3711346877b ./gcc/testsuite/g++.old-deja/g++.jason/tredecl.C - 569137935b ./gcc/testsuite/g++.old-deja/g++.jason/trivial.C -2659060194b ./gcc/testsuite/g++.old-deja/g++.jason/typeck.C -2723549891b ./gcc/testsuite/g++.old-deja/g++.jason/typedef2.C -3743711814b ./gcc/testsuite/g++.old-deja/g++.jason/typedef3.C - 299682196b ./gcc/testsuite/g++.old-deja/g++.jason/typedef.C -3951989009b ./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 -1193567888b ./gcc/testsuite/g++.old-deja/g++.jason/virtual2.C -3907710929b ./gcc/testsuite/g++.old-deja/g++.jason/virtual.C - 628732210b ./gcc/testsuite/g++.old-deja/g++.jason/warning10.C - 230540000b ./gcc/testsuite/g++.old-deja/g++.jason/warning1.C -4258001283b ./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 -2106211778b ./gcc/testsuite/g++.old-deja/g++.law/access5.C -2654444924b ./gcc/testsuite/g++.old-deja/g++.law/arg10.C -3238389534b ./gcc/testsuite/g++.old-deja/g++.law/arg11.C -4149004511b ./gcc/testsuite/g++.old-deja/g++.law/arg1.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 -2497627375b ./gcc/testsuite/g++.old-deja/g++.law/arg5.C - 668182423b ./gcc/testsuite/g++.old-deja/g++.law/arg6.C -4040623157b ./gcc/testsuite/g++.old-deja/g++.law/arg7.C -3232506355b ./gcc/testsuite/g++.old-deja/g++.law/arg8.C -1902710110b ./gcc/testsuite/g++.old-deja/g++.law/arg9.C -2967336193b ./gcc/testsuite/g++.old-deja/g++.law/arm10.C - 256975320b ./gcc/testsuite/g++.old-deja/g++.law/arm11.C -2111564718b ./gcc/testsuite/g++.old-deja/g++.law/arm12.C -1879426060b ./gcc/testsuite/g++.old-deja/g++.law/arm13.C -1730130090b ./gcc/testsuite/g++.old-deja/g++.law/arm14.C - 730443534b ./gcc/testsuite/g++.old-deja/g++.law/arm15.C -2538202217b ./gcc/testsuite/g++.old-deja/g++.law/arm16.C -1082355743b ./gcc/testsuite/g++.old-deja/g++.law/arm1.C - 396475240b ./gcc/testsuite/g++.old-deja/g++.law/arm2.C - 684470600b ./gcc/testsuite/g++.old-deja/g++.law/arm3.C - 123832841b ./gcc/testsuite/g++.old-deja/g++.law/arm4.C -1397196608b ./gcc/testsuite/g++.old-deja/g++.law/arm5.C -1863539998b ./gcc/testsuite/g++.old-deja/g++.law/arm6.C -1092943914b ./gcc/testsuite/g++.old-deja/g++.law/arm7.C - 156062104b ./gcc/testsuite/g++.old-deja/g++.law/arm8.C -3680909273b ./gcc/testsuite/g++.old-deja/g++.law/arm9.C -3246271332b ./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 -3619362891b ./gcc/testsuite/g++.old-deja/g++.law/bad-error7.C -3180589913b ./gcc/testsuite/g++.old-deja/g++.law/bit-fields1.C - 987706110b ./gcc/testsuite/g++.old-deja/g++.law/bit-fields2.C -2693195990b ./gcc/testsuite/g++.old-deja/g++.law/bit-fields3.C -2084814101b ./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 -2365431738b ./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 -1581356732b ./gcc/testsuite/g++.old-deja/g++.law/code-gen5.C -3634037248b ./gcc/testsuite/g++.old-deja/g++.law/copy1.C -1559838734b ./gcc/testsuite/g++.old-deja/g++.law/copy2.C -2824193941b ./gcc/testsuite/g++.old-deja/g++.law/ctors10.C -3669003858b ./gcc/testsuite/g++.old-deja/g++.law/ctors11.C - 162342663b ./gcc/testsuite/g++.old-deja/g++.law/ctors12.C -2682605352b ./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 -2426347265b ./gcc/testsuite/g++.old-deja/g++.law/ctors16.C -4195839953b ./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 -1092557618b ./gcc/testsuite/g++.old-deja/g++.law/ctors1.C -1400780598b ./gcc/testsuite/g++.old-deja/g++.law/ctors20.C - 217884353b ./gcc/testsuite/g++.old-deja/g++.law/ctors21.C - 487905434b ./gcc/testsuite/g++.old-deja/g++.law/ctors2.C -1618360763b ./gcc/testsuite/g++.old-deja/g++.law/ctors3.C -2740682745b ./gcc/testsuite/g++.old-deja/g++.law/ctors4.C -4199368053b ./gcc/testsuite/g++.old-deja/g++.law/ctors5.C -2129919082b ./gcc/testsuite/g++.old-deja/g++.law/ctors6.C -1869709463b ./gcc/testsuite/g++.old-deja/g++.law/ctors7.C - 526334519b ./gcc/testsuite/g++.old-deja/g++.law/ctors8.C - 270958262b ./gcc/testsuite/g++.old-deja/g++.law/ctors9.C -2152841651b ./gcc/testsuite/g++.old-deja/g++.law/cvt10.C -3565079229b ./gcc/testsuite/g++.old-deja/g++.law/cvt11.C -2546176762b ./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 -1587124897b ./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 -2381956011b ./gcc/testsuite/g++.old-deja/g++.law/cvt1.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 - 689250222b ./gcc/testsuite/g++.old-deja/g++.law/cvt2.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 -2338585473b ./gcc/testsuite/g++.old-deja/g++.law/cvt7.C -4106332146b ./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 - 937750634b ./gcc/testsuite/g++.old-deja/g++.law/dtors3.C - 674694281b ./gcc/testsuite/g++.old-deja/g++.law/dtors4.C - 148445216b ./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 -4123082037b ./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 -4029601209b ./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 - 353712724b ./gcc/testsuite/g++.old-deja/g++.law/friend5.C -2516415904b ./gcc/testsuite/g++.old-deja/g++.law/global-init1.C -2935803087b ./gcc/testsuite/g++.old-deja/g++.law/incdec1.C -3566036893b ./gcc/testsuite/g++.old-deja/g++.law/init10.C -3857491837b ./gcc/testsuite/g++.old-deja/g++.law/init11.C -4138152619b ./gcc/testsuite/g++.old-deja/g++.law/init13.C -1266397199b ./gcc/testsuite/g++.old-deja/g++.law/init14.C -1302059369b ./gcc/testsuite/g++.old-deja/g++.law/init1.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 -2957670852b ./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 -1475603256b ./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 -2294472523b ./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 -3803866684b ./gcc/testsuite/g++.old-deja/g++.law/operators15.C -2547646465b ./gcc/testsuite/g++.old-deja/g++.law/operators16.C - 367329317b ./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 - 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 -1064475993b ./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 -3492185823b ./gcc/testsuite/g++.old-deja/g++.law/operators2.C - 936276361b ./gcc/testsuite/g++.old-deja/g++.law/operators30.C -1540784012b ./gcc/testsuite/g++.old-deja/g++.law/operators31.C -1046500493b ./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 - 578739979b ./gcc/testsuite/g++.old-deja/g++.law/operators3.C - 608812129b ./gcc/testsuite/g++.old-deja/g++.law/operators4.C -1329892354b ./gcc/testsuite/g++.old-deja/g++.law/operators6.C - 355314823b ./gcc/testsuite/g++.old-deja/g++.law/operators8.C -1673377936b ./gcc/testsuite/g++.old-deja/g++.law/operators9.C -3113604261b ./gcc/testsuite/g++.old-deja/g++.law/parsing10.C -2567910598b ./gcc/testsuite/g++.old-deja/g++.law/parsing1.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 - 924440791b ./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 -2206977733b ./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 -1709521392b ./gcc/testsuite/g++.old-deja/g++.law/refs4.C - 562827880b ./gcc/testsuite/g++.old-deja/g++.law/scope1.C -1371353669b ./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 - 375189935b ./gcc/testsuite/g++.old-deja/g++.law/template3.C - 4284541b ./gcc/testsuite/g++.old-deja/g++.law/temps1.C -1612155730b ./gcc/testsuite/g++.old-deja/g++.law/temps2.C -1353434176b ./gcc/testsuite/g++.old-deja/g++.law/temps3.C -3401895101b ./gcc/testsuite/g++.old-deja/g++.law/temps4.C -4070589019b ./gcc/testsuite/g++.old-deja/g++.law/temps5.C -3020683221b ./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 - 202333534b ./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 -3868729894b ./gcc/testsuite/g++.old-deja/g++.law/virtual3.C -3199255308b ./gcc/testsuite/g++.old-deja/g++.law/virtual4.C -3314718848b ./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 -4257392333b ./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 -1421043627b ./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 - 62330698b ./gcc/testsuite/g++.old-deja/g++.law/visibility1.C -1427247483b ./gcc/testsuite/g++.old-deja/g++.law/visibility20.C -3793046825b ./gcc/testsuite/g++.old-deja/g++.law/visibility21.C - 271235804b ./gcc/testsuite/g++.old-deja/g++.law/visibility22.C - 797044341b ./gcc/testsuite/g++.old-deja/g++.law/visibility24.C -3910738507b ./gcc/testsuite/g++.old-deja/g++.law/visibility25.C - 322999725b ./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 - 734410929b ./gcc/testsuite/g++.old-deja/g++.law/visibility2.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 -1405044481b ./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 -3660889277b ./gcc/testsuite/g++.old-deja/g++.law/vtable2.C -4243784891b ./gcc/testsuite/g++.old-deja/g++.law/vtable3.C - 143886912b ./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 -3743350975b ./gcc/testsuite/g++.old-deja/g++.martin/bitset1.C -3416204241b ./gcc/testsuite/g++.old-deja/g++.martin/conv1.C - 825042238b ./gcc/testsuite/g++.old-deja/g++.martin/crash1.C -2926428355b ./gcc/testsuite/g++.old-deja/g++.martin/eval1.C - 317249347b ./gcc/testsuite/g++.old-deja/g++.martin/lookup1.C -4131538183b ./gcc/testsuite/g++.old-deja/g++.martin/new1.C - 405917420b ./gcc/testsuite/g++.old-deja/g++.martin/overload1.C -3541772795b ./gcc/testsuite/g++.old-deja/g++.martin/pmf1.C -2582334596b ./gcc/testsuite/g++.old-deja/g++.martin/pmf2.C - 342889991b ./gcc/testsuite/g++.old-deja/g++.martin/pure1.C -2187620834b ./gcc/testsuite/g++.old-deja/g++.martin/sts_conv.C -2965838669b ./gcc/testsuite/g++.old-deja/g++.martin/sts_iarr.C - 968074107b ./gcc/testsuite/g++.old-deja/g++.martin/sts_partial.C -1222988217b ./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 -3366578564b ./gcc/testsuite/g++.old-deja/g++.mike/align1.C -1357275564b ./gcc/testsuite/g++.old-deja/g++.mike/align2.C -1852680562b ./gcc/testsuite/g++.old-deja/g++.mike/ambig1.C -3007848512b ./gcc/testsuite/g++.old-deja/g++.mike/asm1.C -1252651637b ./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 -3056861018b ./gcc/testsuite/g++.old-deja/g++.mike/.cvsignore -4048777742b ./gcc/testsuite/g++.old-deja/g++.mike/debug1.C -4010324445b ./gcc/testsuite/g++.old-deja/g++.mike/dyncast1.C -3503712059b ./gcc/testsuite/g++.old-deja/g++.mike/dyncast2.C - 161009263b ./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 -1898950024b ./gcc/testsuite/g++.old-deja/g++.mike/eh10.C -1222256435b ./gcc/testsuite/g++.old-deja/g++.mike/eh11.C -1447734306b ./gcc/testsuite/g++.old-deja/g++.mike/eh12.C - 561534286b ./gcc/testsuite/g++.old-deja/g++.mike/eh13.C -2951469127b ./gcc/testsuite/g++.old-deja/g++.mike/eh14.C - 20718997b ./gcc/testsuite/g++.old-deja/g++.mike/eh15.C -4209055786b ./gcc/testsuite/g++.old-deja/g++.mike/eh16.C -3368269369b ./gcc/testsuite/g++.old-deja/g++.mike/eh17.C -1954288096b ./gcc/testsuite/g++.old-deja/g++.mike/eh18.C -1564767830b ./gcc/testsuite/g++.old-deja/g++.mike/eh19.C -1479132794b ./gcc/testsuite/g++.old-deja/g++.mike/eh1.C -2941675313b ./gcc/testsuite/g++.old-deja/g++.mike/eh20.C -1220907911b ./gcc/testsuite/g++.old-deja/g++.mike/eh21.C - 517637270b ./gcc/testsuite/g++.old-deja/g++.mike/eh23.C - 333053405b ./gcc/testsuite/g++.old-deja/g++.mike/eh24.C - 994888022b ./gcc/testsuite/g++.old-deja/g++.mike/eh25.C -3348536359b ./gcc/testsuite/g++.old-deja/g++.mike/eh26.C -2419761913b ./gcc/testsuite/g++.old-deja/g++.mike/eh27.C -1187597651b ./gcc/testsuite/g++.old-deja/g++.mike/eh28.C -1211663524b ./gcc/testsuite/g++.old-deja/g++.mike/eh29.C - 925380975b ./gcc/testsuite/g++.old-deja/g++.mike/eh2.C - 19764474b ./gcc/testsuite/g++.old-deja/g++.mike/eh30.C -2656014861b ./gcc/testsuite/g++.old-deja/g++.mike/eh31.C -3196832667b ./gcc/testsuite/g++.old-deja/g++.mike/eh32.C - 66552972b ./gcc/testsuite/g++.old-deja/g++.mike/eh33.C - 503529587b ./gcc/testsuite/g++.old-deja/g++.mike/eh34.C -3352893098b ./gcc/testsuite/g++.old-deja/g++.mike/eh35.C - 647929045b ./gcc/testsuite/g++.old-deja/g++.mike/eh36.C -1379433802b ./gcc/testsuite/g++.old-deja/g++.mike/eh37.C -2520417864b ./gcc/testsuite/g++.old-deja/g++.mike/eh38.C -2239202212b ./gcc/testsuite/g++.old-deja/g++.mike/eh39.C -3592708402b ./gcc/testsuite/g++.old-deja/g++.mike/eh3.C - 812645089b ./gcc/testsuite/g++.old-deja/g++.mike/eh40.C -2008000368b ./gcc/testsuite/g++.old-deja/g++.mike/eh41.C - 396786327b ./gcc/testsuite/g++.old-deja/g++.mike/eh42.C -2531873137b ./gcc/testsuite/g++.old-deja/g++.mike/eh44.C -3669787943b ./gcc/testsuite/g++.old-deja/g++.mike/eh45.C -3841647794b ./gcc/testsuite/g++.old-deja/g++.mike/eh46.C -2543002191b ./gcc/testsuite/g++.old-deja/g++.mike/eh47.C -3489458651b ./gcc/testsuite/g++.old-deja/g++.mike/eh48.C - 836588330b ./gcc/testsuite/g++.old-deja/g++.mike/eh49.C - 833195775b ./gcc/testsuite/g++.old-deja/g++.mike/eh4.C -2022453553b ./gcc/testsuite/g++.old-deja/g++.mike/eh50.C -2472994932b ./gcc/testsuite/g++.old-deja/g++.mike/eh51.C - 359223272b ./gcc/testsuite/g++.old-deja/g++.mike/eh52.C -4025472676b ./gcc/testsuite/g++.old-deja/g++.mike/eh53.C -2118473425b ./gcc/testsuite/g++.old-deja/g++.mike/eh54.C -3012652134b ./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 -3255147266b ./gcc/testsuite/g++.old-deja/g++.mike/eh59.C -2616136317b ./gcc/testsuite/g++.old-deja/g++.mike/eh5.C -1226767941b ./gcc/testsuite/g++.old-deja/g++.mike/eh6.C - 42372650b ./gcc/testsuite/g++.old-deja/g++.mike/eh7.C - 851372296b ./gcc/testsuite/g++.old-deja/g++.mike/eh8.C -1319332410b ./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 -2702017140b ./gcc/testsuite/g++.old-deja/g++.mike/for3.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 -3720053646b ./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 -4041946331b ./gcc/testsuite/g++.old-deja/g++.mike/misc11.C -3057947029b ./gcc/testsuite/g++.old-deja/g++.mike/misc12.C - 430127070b ./gcc/testsuite/g++.old-deja/g++.mike/misc13.C -2291534767b ./gcc/testsuite/g++.old-deja/g++.mike/misc14.C - 693076493b ./gcc/testsuite/g++.old-deja/g++.mike/misc1.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 -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 -2700723029b ./gcc/testsuite/g++.old-deja/g++.mike/net1.C -4292061310b ./gcc/testsuite/g++.old-deja/g++.mike/net20.C - 226565812b ./gcc/testsuite/g++.old-deja/g++.mike/net21.C -1728885921b ./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 - 193486024b ./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 -4151722351b ./gcc/testsuite/g++.old-deja/g++.mike/net2.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 - 643638364b ./gcc/testsuite/g++.old-deja/g++.mike/net34.C -1703492289b ./gcc/testsuite/g++.old-deja/g++.mike/net35.C -2640637763b ./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 -2896773743b ./gcc/testsuite/g++.old-deja/g++.mike/net3.C -3117098407b ./gcc/testsuite/g++.old-deja/g++.mike/net40.C -2329906223b ./gcc/testsuite/g++.old-deja/g++.mike/net41.C - 257842077b ./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 - 533128132b ./gcc/testsuite/g++.old-deja/g++.mike/net45.C -4252296965b ./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 -2596381910b ./gcc/testsuite/g++.old-deja/g++.mike/net4.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 - 567253957b ./gcc/testsuite/g++.old-deja/g++.mike/ns10.C -2416554745b ./gcc/testsuite/g++.old-deja/g++.mike/ns11.C - 533880824b ./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 -2272679205b ./gcc/testsuite/g++.old-deja/g++.mike/ns15.C - 452066686b ./gcc/testsuite/g++.old-deja/g++.mike/ns1.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 -3637822285b ./gcc/testsuite/g++.old-deja/g++.mike/p10416.C -2277517536b ./gcc/testsuite/g++.old-deja/g++.mike/p10511.C -2480212522b ./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 - 885447599b ./gcc/testsuite/g++.old-deja/g++.mike/p11012.C -3327529664b ./gcc/testsuite/g++.old-deja/g++.mike/p11110.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 - 18099126b ./gcc/testsuite/g++.old-deja/g++.mike/p11667.C - 783911097b ./gcc/testsuite/g++.old-deja/g++.mike/p12306a.C -3634094361b ./gcc/testsuite/g++.old-deja/g++.mike/p12306.C -3834401134b ./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 -2790074021b ./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 -3941688151b ./gcc/testsuite/g++.old-deja/g++.mike/p2846a.C - 481437008b ./gcc/testsuite/g++.old-deja/g++.mike/p2846b.C -1350283959b ./gcc/testsuite/g++.old-deja/g++.mike/p2846.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 -2033912183b ./gcc/testsuite/g++.old-deja/g++.mike/p3538a.C -2629346869b ./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 -4049970058b ./gcc/testsuite/g++.old-deja/g++.mike/p3708a.C -2170847074b ./gcc/testsuite/g++.old-deja/g++.mike/p3708b.C -1307191770b ./gcc/testsuite/g++.old-deja/g++.mike/p3708.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 - 876794667b ./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 -1643480270b ./gcc/testsuite/g++.old-deja/g++.mike/p5469a.C -2783396832b ./gcc/testsuite/g++.old-deja/g++.mike/p5469.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 -2969918780b ./gcc/testsuite/g++.old-deja/g++.mike/p646.C -3736773751b ./gcc/testsuite/g++.old-deja/g++.mike/p6578.C - 670197536b ./gcc/testsuite/g++.old-deja/g++.mike/p658.C -4291654389b ./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 - 670062294b ./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 -3521513511b ./gcc/testsuite/g++.old-deja/g++.mike/p7325.C -3900843491b ./gcc/testsuite/g++.old-deja/g++.mike/p7476.C -3394798100b ./gcc/testsuite/g++.old-deja/g++.mike/p755a.C -2349738175b ./gcc/testsuite/g++.old-deja/g++.mike/p755.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 -3247827104b ./gcc/testsuite/g++.old-deja/g++.mike/p783a.C -3185815998b ./gcc/testsuite/g++.old-deja/g++.mike/p783b.C - 298093700b ./gcc/testsuite/g++.old-deja/g++.mike/p783.C -1112249731b ./gcc/testsuite/g++.old-deja/g++.mike/p784.C -3281865096b ./gcc/testsuite/g++.old-deja/g++.mike/p7865.C - 341429709b ./gcc/testsuite/g++.old-deja/g++.mike/p7868.C -1887516335b ./gcc/testsuite/g++.old-deja/g++.mike/p786.C - 973504582b ./gcc/testsuite/g++.old-deja/g++.mike/p789a.C -1539916341b ./gcc/testsuite/g++.old-deja/g++.mike/p789.C -2120486239b ./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 -3781414938b ./gcc/testsuite/g++.old-deja/g++.mike/p807a.C -1398614996b ./gcc/testsuite/g++.old-deja/g++.mike/p807.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 - 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 -1690639952b ./gcc/testsuite/g++.old-deja/g++.mike/p9706.C -3944011165b ./gcc/testsuite/g++.old-deja/g++.mike/p9732a.C -3851742489b ./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 - 745271252b ./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 -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 -3112607319b ./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 -2936617600b ./gcc/testsuite/g++.old-deja/g++.mike/s24939.C -1604548693b ./gcc/testsuite/g++.old-deja/g++.mike/s35520.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 -1016068831b ./gcc/testsuite/g++.old-deja/g++.mike/thunk1.C -3905632919b ./gcc/testsuite/g++.old-deja/g++.mike/thunk2.C - 630939157b ./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 -1772591600b ./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 -3288371737b ./gcc/testsuite/g++.old-deja/g++.mike/virt6.C -1193160491b ./gcc/testsuite/g++.old-deja/g++.mike/vtable1.C -3226895086b ./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 -1569186871b ./gcc/testsuite/g++.old-deja/g++.mike/warn8.C -3056861018b ./gcc/testsuite/g++.old-deja/g++.niklas/.cvsignore -4133635689b ./gcc/testsuite/g++.old-deja/g++.niklas/README -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 -2264211915b ./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 -1039024293b ./gcc/testsuite/g++.old-deja/g++.ns/crash4.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 -1122271156b ./gcc/testsuite/g++.old-deja/g++.ns/koenig8.C -1715624709b ./gcc/testsuite/g++.old-deja/g++.ns/koenig9.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 - 462860645b ./gcc/testsuite/g++.old-deja/g++.ns/new1.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 - 649484463b ./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 -1679880705b ./gcc/testsuite/g++.old-deja/g++.ns/ns18.C -3180343024b ./gcc/testsuite/g++.old-deja/g++.ns/ns19.C - 320140404b ./gcc/testsuite/g++.old-deja/g++.ns/ns1.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 -2134480176b ./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 -4131178865b ./gcc/testsuite/g++.old-deja/g++.ns/scoped1.C -1593366070b ./gcc/testsuite/g++.old-deja/g++.ns/template10.C - 227548188b ./gcc/testsuite/g++.old-deja/g++.ns/template11.C -3712349348b ./gcc/testsuite/g++.old-deja/g++.ns/template12.C - 79283455b ./gcc/testsuite/g++.old-deja/g++.ns/template13.C -1942781319b ./gcc/testsuite/g++.old-deja/g++.ns/template14.C -4227768604b ./gcc/testsuite/g++.old-deja/g++.ns/template15.C - 703552988b ./gcc/testsuite/g++.old-deja/g++.ns/template16.C -3733063651b ./gcc/testsuite/g++.old-deja/g++.ns/template17.C -1888321924b ./gcc/testsuite/g++.old-deja/g++.ns/template18.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 - 84089911b ./gcc/testsuite/g++.old-deja/g++.ns/type1.C -3277562556b ./gcc/testsuite/g++.old-deja/g++.ns/type2.C -1028524427b ./gcc/testsuite/g++.old-deja/g++.ns/undef1.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 - 35819294b ./gcc/testsuite/g++.old-deja/g++.ns/using14.C -1496925944b ./gcc/testsuite/g++.old-deja/g++.ns/using1.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 - 33710489b ./gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog -3728265872b ./gcc/testsuite/g++.old-deja/g++.oliva/ctor1.C -3026414575b ./gcc/testsuite/g++.old-deja/g++.oliva/delete1.C -3639944207b ./gcc/testsuite/g++.old-deja/g++.oliva/delete2.C -2643297136b ./gcc/testsuite/g++.old-deja/g++.oliva/delete3.C -2694375318b ./gcc/testsuite/g++.old-deja/g++.oliva/delete4.C - 344447742b ./gcc/testsuite/g++.old-deja/g++.oliva/delete5.C -2655620155b ./gcc/testsuite/g++.old-deja/g++.oliva/dwarf1.C -2964032756b ./gcc/testsuite/g++.old-deja/g++.oliva/dwarf2.C -1746999930b ./gcc/testsuite/g++.old-deja/g++.oliva/dwarf3.C -3764858774b ./gcc/testsuite/g++.old-deja/g++.oliva/expr1.C -3287636659b ./gcc/testsuite/g++.old-deja/g++.oliva/expr2.C - 738813804b ./gcc/testsuite/g++.old-deja/g++.oliva/ext1.C - 149147424b ./gcc/testsuite/g++.old-deja/g++.oliva/friend1.C -3385010570b ./gcc/testsuite/g++.old-deja/g++.oliva/inline1.C -2214033786b ./gcc/testsuite/g++.old-deja/g++.oliva/nameret1.C -2703397514b ./gcc/testsuite/g++.old-deja/g++.oliva/nameret2.C - 759830263b ./gcc/testsuite/g++.old-deja/g++.oliva/new1.C - 695336951b ./gcc/testsuite/g++.old-deja/g++.oliva/ns1.C -2491296653b ./gcc/testsuite/g++.old-deja/g++.oliva/ns2.C -2727020577b ./gcc/testsuite/g++.old-deja/g++.oliva/ns3.C - 55143343b ./gcc/testsuite/g++.old-deja/g++.oliva/overload1.C -2278180057b ./gcc/testsuite/g++.old-deja/g++.oliva/partord1.C -4276767902b ./gcc/testsuite/g++.old-deja/g++.oliva/partspec1.C -2386630112b ./gcc/testsuite/g++.old-deja/g++.oliva/stkalign.C -4240481284b ./gcc/testsuite/g++.old-deja/g++.oliva/template10.C -1309552996b ./gcc/testsuite/g++.old-deja/g++.oliva/template1.C - 894610317b ./gcc/testsuite/g++.old-deja/g++.oliva/template2.C -4111994491b ./gcc/testsuite/g++.old-deja/g++.oliva/template3.C -3380741154b ./gcc/testsuite/g++.old-deja/g++.oliva/template4.C -2219239694b ./gcc/testsuite/g++.old-deja/g++.oliva/template5.C - 648492939b ./gcc/testsuite/g++.old-deja/g++.oliva/template6.C -3724691458b ./gcc/testsuite/g++.old-deja/g++.oliva/template7.C -2923124652b ./gcc/testsuite/g++.old-deja/g++.oliva/template8.C -1030363186b ./gcc/testsuite/g++.old-deja/g++.oliva/template9.C -3126175465b ./gcc/testsuite/g++.old-deja/g++.oliva/thunk1.C -2910311896b ./gcc/testsuite/g++.old-deja/g++.oliva/typename1.C -3314243773b ./gcc/testsuite/g++.old-deja/g++.oliva/typename2.C -3536726592b ./gcc/testsuite/g++.old-deja/g++.oliva/typeof1.C -1057884755b ./gcc/testsuite/g++.old-deja/g++.other/900403_04.C -3988635652b ./gcc/testsuite/g++.old-deja/g++.other/900519_12.C -3191928166b ./gcc/testsuite/g++.old-deja/g++.other/access10.C -2726240569b ./gcc/testsuite/g++.old-deja/g++.other/access11.C -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 -3047622025b ./gcc/testsuite/g++.old-deja/g++.other/access7.C - 503834536b ./gcc/testsuite/g++.old-deja/g++.other/access8.C -2834461355b ./gcc/testsuite/g++.old-deja/g++.other/access9.C -2214832839b ./gcc/testsuite/g++.old-deja/g++.other/addrof1.C -1563340634b ./gcc/testsuite/g++.old-deja/g++.other/align.C -2784356656b ./gcc/testsuite/g++.old-deja/g++.other/ambig1.C -2097579030b ./gcc/testsuite/g++.old-deja/g++.other/ambig2.C -1537055798b ./gcc/testsuite/g++.old-deja/g++.other/ambig3.C -1344999649b ./gcc/testsuite/g++.old-deja/g++.other/anon1.C -2190312352b ./gcc/testsuite/g++.old-deja/g++.other/anon2.C -3495970892b ./gcc/testsuite/g++.old-deja/g++.other/anon3.C - 328785145b ./gcc/testsuite/g++.old-deja/g++.other/anon4.C -2706988209b ./gcc/testsuite/g++.old-deja/g++.other/anon5.C -2854182173b ./gcc/testsuite/g++.old-deja/g++.other/anon6.C -3655281019b ./gcc/testsuite/g++.old-deja/g++.other/anon7.C -2243818429b ./gcc/testsuite/g++.old-deja/g++.other/anon8.C -2944422964b ./gcc/testsuite/g++.old-deja/g++.other/anon9.C -3655425788b ./gcc/testsuite/g++.old-deja/g++.other/array1.C -2041445169b ./gcc/testsuite/g++.old-deja/g++.other/array2.C - 817672117b ./gcc/testsuite/g++.old-deja/g++.other/array3.C -1236007435b ./gcc/testsuite/g++.old-deja/g++.other/array4.C -4210498948b ./gcc/testsuite/g++.old-deja/g++.other/array5.C -1839235782b ./gcc/testsuite/g++.old-deja/g++.other/array6.C - 128237130b ./gcc/testsuite/g++.old-deja/g++.other/array9.C - 775293500b ./gcc/testsuite/g++.old-deja/g++.other/asm1.C -1087917488b ./gcc/testsuite/g++.old-deja/g++.other/asm2.C -2120817147b ./gcc/testsuite/g++.old-deja/g++.other/asm3.C -4169192453b ./gcc/testsuite/g++.old-deja/g++.other/badarrow.C -1457616136b ./gcc/testsuite/g++.old-deja/g++.other/badopt1.C - 578421507b ./gcc/testsuite/g++.old-deja/g++.other/base1.C - 727834736b ./gcc/testsuite/g++.old-deja/g++.other/bitfld1.C -4101624820b ./gcc/testsuite/g++.old-deja/g++.other/bitfld2.C -2880959878b ./gcc/testsuite/g++.old-deja/g++.other/bitfld3.C - 574179745b ./gcc/testsuite/g++.old-deja/g++.other/bitfld4.C -2818363580b ./gcc/testsuite/g++.old-deja/g++.other/bitfld5.C - 849916728b ./gcc/testsuite/g++.old-deja/g++.other/builtins1.C -1119192045b ./gcc/testsuite/g++.old-deja/g++.other/builtins2.C -1541855856b ./gcc/testsuite/g++.old-deja/g++.other/builtins3.C -3612794982b ./gcc/testsuite/g++.old-deja/g++.other/builtins4.C -2609921973b ./gcc/testsuite/g++.old-deja/g++.other/builtins5.C -1770005594b ./gcc/testsuite/g++.old-deja/g++.other/builtins6.C -2118815705b ./gcc/testsuite/g++.old-deja/g++.other/builtins7.C -3786327583b ./gcc/testsuite/g++.old-deja/g++.other/builtins8.C -3198258077b ./gcc/testsuite/g++.old-deja/g++.other/builtins9.C -1856291545b ./gcc/testsuite/g++.old-deja/g++.other/call1.C -1948526601b ./gcc/testsuite/g++.old-deja/g++.other/cast1.C -2969373696b ./gcc/testsuite/g++.old-deja/g++.other/cast2.C - 604190312b ./gcc/testsuite/g++.old-deja/g++.other/cast3.C -2184311979b ./gcc/testsuite/g++.old-deja/g++.other/cast4.C - 24055341b ./gcc/testsuite/g++.old-deja/g++.other/cast5.C - 749894899b ./gcc/testsuite/g++.old-deja/g++.other/cast6.C -1982308839b ./gcc/testsuite/g++.old-deja/g++.other/cast7.C -2304816521b ./gcc/testsuite/g++.old-deja/g++.other/cleanup1.C -3543693514b ./gcc/testsuite/g++.old-deja/g++.other/cleanup2.C - 995095788b ./gcc/testsuite/g++.old-deja/g++.other/cleanup4.C -3815448745b ./gcc/testsuite/g++.old-deja/g++.other/comdat1-aux.cc -3620214006b ./gcc/testsuite/g++.old-deja/g++.other/comdat1.C -2015497124b ./gcc/testsuite/g++.old-deja/g++.other/comdat2-aux.cc -1235507024b ./gcc/testsuite/g++.old-deja/g++.other/comdat2.C - 32346335b ./gcc/testsuite/g++.old-deja/g++.other/cond1.C -2040886616b ./gcc/testsuite/g++.old-deja/g++.other/cond2.C -1693754994b ./gcc/testsuite/g++.old-deja/g++.other/cond3.C - 670388594b ./gcc/testsuite/g++.old-deja/g++.other/cond4.C -1262376075b ./gcc/testsuite/g++.old-deja/g++.other/cond5.C -2676026586b ./gcc/testsuite/g++.old-deja/g++.other/cond6.C -1953534421b ./gcc/testsuite/g++.old-deja/g++.other/cond7.C -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 - 310726280b ./gcc/testsuite/g++.old-deja/g++.other/conv5.C -4132208036b ./gcc/testsuite/g++.old-deja/g++.other/conv6.C -3821789807b ./gcc/testsuite/g++.old-deja/g++.other/conv7.C -2577806949b ./gcc/testsuite/g++.old-deja/g++.other/conv8.C -1535970476b ./gcc/testsuite/g++.old-deja/g++.other/conv9.C -3587605986b ./gcc/testsuite/g++.old-deja/g++.other/copy1.C -3735054018b ./gcc/testsuite/g++.old-deja/g++.other/copy2.C -4116304803b ./gcc/testsuite/g++.old-deja/g++.other/copy3.C - 809878899b ./gcc/testsuite/g++.old-deja/g++.other/covar1.C -2622243234b ./gcc/testsuite/g++.old-deja/g++.other/crash10.C -1409785718b ./gcc/testsuite/g++.old-deja/g++.other/crash11.C - 155389209b ./gcc/testsuite/g++.old-deja/g++.other/crash12.C -3778901334b ./gcc/testsuite/g++.old-deja/g++.other/crash13.C -3521221636b ./gcc/testsuite/g++.old-deja/g++.other/crash14.C -3608968471b ./gcc/testsuite/g++.old-deja/g++.other/crash15.C -1523769869b ./gcc/testsuite/g++.old-deja/g++.other/crash16.C -2768038718b ./gcc/testsuite/g++.old-deja/g++.other/crash17.C -1844482260b ./gcc/testsuite/g++.old-deja/g++.other/crash18.C -4239879636b ./gcc/testsuite/g++.old-deja/g++.other/crash19.C -1458918645b ./gcc/testsuite/g++.old-deja/g++.other/crash1.C -2114923665b ./gcc/testsuite/g++.old-deja/g++.other/crash20.C -2408483670b ./gcc/testsuite/g++.old-deja/g++.other/crash21.C - 389951009b ./gcc/testsuite/g++.old-deja/g++.other/crash22.C -3346026369b ./gcc/testsuite/g++.old-deja/g++.other/crash23.C -3240226401b ./gcc/testsuite/g++.old-deja/g++.other/crash24.C -1103500081b ./gcc/testsuite/g++.old-deja/g++.other/crash25.C - 662847024b ./gcc/testsuite/g++.old-deja/g++.other/crash26.C - 621631894b ./gcc/testsuite/g++.old-deja/g++.other/crash27.C -1274918070b ./gcc/testsuite/g++.old-deja/g++.other/crash28.C -3218325168b ./gcc/testsuite/g++.old-deja/g++.other/crash29.C -2556139745b ./gcc/testsuite/g++.old-deja/g++.other/crash2.C -3863621974b ./gcc/testsuite/g++.old-deja/g++.other/crash30.C -1567414961b ./gcc/testsuite/g++.old-deja/g++.other/crash31.C -2337764618b ./gcc/testsuite/g++.old-deja/g++.other/crash32.C -3826660229b ./gcc/testsuite/g++.old-deja/g++.other/crash33.C -1464877078b ./gcc/testsuite/g++.old-deja/g++.other/crash34.C -1090618161b ./gcc/testsuite/g++.old-deja/g++.other/crash35.C -1919242889b ./gcc/testsuite/g++.old-deja/g++.other/crash36.C -3888381363b ./gcc/testsuite/g++.old-deja/g++.other/crash37.C -3660059490b ./gcc/testsuite/g++.old-deja/g++.other/crash38.C - 465327177b ./gcc/testsuite/g++.old-deja/g++.other/crash39.C -1986207284b ./gcc/testsuite/g++.old-deja/g++.other/crash3.C -2473163715b ./gcc/testsuite/g++.old-deja/g++.other/crash40.C -2559623170b ./gcc/testsuite/g++.old-deja/g++.other/crash41.C -2300001961b ./gcc/testsuite/g++.old-deja/g++.other/crash42.C - 226105322b ./gcc/testsuite/g++.old-deja/g++.other/crash4.C -1657789856b ./gcc/testsuite/g++.old-deja/g++.other/crash5.C -2889210351b ./gcc/testsuite/g++.old-deja/g++.other/crash60.C -3212679954b ./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 - 531388331b ./gcc/testsuite/g++.old-deja/g++.other/ctor1-aux.cc -2641112841b ./gcc/testsuite/g++.old-deja/g++.other/ctor1.C -3378789352b ./gcc/testsuite/g++.old-deja/g++.other/cvqual1.C -3056861018b ./gcc/testsuite/g++.old-deja/g++.other/.cvsignore - 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 -1189835698b ./gcc/testsuite/g++.old-deja/g++.other/debug3.C -2324897352b ./gcc/testsuite/g++.old-deja/g++.other/debug4.C -2810308932b ./gcc/testsuite/g++.old-deja/g++.other/debug5.C - 295818831b ./gcc/testsuite/g++.old-deja/g++.other/debug6.C -3988487536b ./gcc/testsuite/g++.old-deja/g++.other/debug7.C -1879227744b ./gcc/testsuite/g++.old-deja/g++.other/debug8.C -3358773301b ./gcc/testsuite/g++.old-deja/g++.other/debug9.C -3900152738b ./gcc/testsuite/g++.old-deja/g++.other/decl1.C - 424334940b ./gcc/testsuite/g++.old-deja/g++.other/decl2.C -3608003944b ./gcc/testsuite/g++.old-deja/g++.other/decl3.C -1694963597b ./gcc/testsuite/g++.old-deja/g++.other/decl4.C -1101755295b ./gcc/testsuite/g++.old-deja/g++.other/decl5.C -1313195230b ./gcc/testsuite/g++.old-deja/g++.other/decl6.C - 634053859b ./gcc/testsuite/g++.old-deja/g++.other/decl7.C - 681270539b ./gcc/testsuite/g++.old-deja/g++.other/decl8.C -2910519026b ./gcc/testsuite/g++.old-deja/g++.other/decl9.C -2306726678b ./gcc/testsuite/g++.old-deja/g++.other/defarg1.C -2242070909b ./gcc/testsuite/g++.old-deja/g++.other/defarg2.C -1782517406b ./gcc/testsuite/g++.old-deja/g++.other/defarg3.C -1949407113b ./gcc/testsuite/g++.old-deja/g++.other/defarg4.C -1986404254b ./gcc/testsuite/g++.old-deja/g++.other/defarg5.C -1691336913b ./gcc/testsuite/g++.old-deja/g++.other/defarg6.C - 702065579b ./gcc/testsuite/g++.old-deja/g++.other/defarg7.C - 300009654b ./gcc/testsuite/g++.old-deja/g++.other/defarg8.C - 192024979b ./gcc/testsuite/g++.old-deja/g++.other/defarg9.C -2802881760b ./gcc/testsuite/g++.old-deja/g++.other/delete1.C - 276485906b ./gcc/testsuite/g++.old-deja/g++.other/delete2.C - 904586144b ./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 -3466783310b ./gcc/testsuite/g++.old-deja/g++.other/delete6.C - 509373967b ./gcc/testsuite/g++.old-deja/g++.other/delete7.C -3153510006b ./gcc/testsuite/g++.old-deja/g++.other/delete8.C -2943694185b ./gcc/testsuite/g++.old-deja/g++.other/deref1.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 - 18134551b ./gcc/testsuite/g++.old-deja/g++.other/dtor10.C -1164270328b ./gcc/testsuite/g++.old-deja/g++.other/dtor11.C -3251874725b ./gcc/testsuite/g++.old-deja/g++.other/dtor12.C -2995412590b ./gcc/testsuite/g++.old-deja/g++.other/dtor13.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 - 876617359b ./gcc/testsuite/g++.old-deja/g++.other/dtor5.C -2345375085b ./gcc/testsuite/g++.old-deja/g++.other/dtor6.C -3115840152b ./gcc/testsuite/g++.old-deja/g++.other/dtor7.C -1228765847b ./gcc/testsuite/g++.old-deja/g++.other/dtor8.C - 837300122b ./gcc/testsuite/g++.old-deja/g++.other/dtor9.C -4176649198b ./gcc/testsuite/g++.old-deja/g++.other/dyncast1.C -2159394165b ./gcc/testsuite/g++.old-deja/g++.other/dyncast2.C -1576362312b ./gcc/testsuite/g++.old-deja/g++.other/dyncast3.C - 771042933b ./gcc/testsuite/g++.old-deja/g++.other/dyncast4.C -3056485598b ./gcc/testsuite/g++.old-deja/g++.other/dyncast5.C -1196348440b ./gcc/testsuite/g++.old-deja/g++.other/dyncast6.C -3203327173b ./gcc/testsuite/g++.old-deja/g++.other/eh1.C -4127184370b ./gcc/testsuite/g++.old-deja/g++.other/eh2.C -3559396844b ./gcc/testsuite/g++.old-deja/g++.other/eh3.C -3143843455b ./gcc/testsuite/g++.old-deja/g++.other/eh4.C -1752543333b ./gcc/testsuite/g++.old-deja/g++.other/eh5.C - 326457279b ./gcc/testsuite/g++.old-deja/g++.other/eh.C -3053308594b ./gcc/testsuite/g++.old-deja/g++.other/elab1.C -3888745390b ./gcc/testsuite/g++.old-deja/g++.other/empty1.C -3170636835b ./gcc/testsuite/g++.old-deja/g++.other/empty2.C - 845552508b ./gcc/testsuite/g++.old-deja/g++.other/enum1.C -1384469113b ./gcc/testsuite/g++.old-deja/g++.other/enum2.C - 556645706b ./gcc/testsuite/g++.old-deja/g++.other/enum3.C -3409398862b ./gcc/testsuite/g++.old-deja/g++.other/enum4.C -1750723822b ./gcc/testsuite/g++.old-deja/g++.other/enum5.C -2843499248b ./gcc/testsuite/g++.old-deja/g++.other/explicit1.C -1334454026b ./gcc/testsuite/g++.old-deja/g++.other/expr1.C -4041831790b ./gcc/testsuite/g++.old-deja/g++.other/exprstmt1.C -1049589711b ./gcc/testsuite/g++.old-deja/g++.other/externC1.C - 106210432b ./gcc/testsuite/g++.old-deja/g++.other/externC2.C - 763760707b ./gcc/testsuite/g++.old-deja/g++.other/externC3.C -3610590692b ./gcc/testsuite/g++.old-deja/g++.other/externC4.C -1052362663b ./gcc/testsuite/g++.old-deja/g++.other/externC5.C - 778443229b ./gcc/testsuite/g++.old-deja/g++.other/field1.C - 250200362b ./gcc/testsuite/g++.old-deja/g++.other/field2.C -1648602614b ./gcc/testsuite/g++.old-deja/g++.other/fnname1.C -2595576321b ./gcc/testsuite/g++.old-deja/g++.other/for1.C -3948754017b ./gcc/testsuite/g++.old-deja/g++.other/for2.C -1195751396b ./gcc/testsuite/g++.old-deja/g++.other/friend10.C -3233024721b ./gcc/testsuite/g++.old-deja/g++.other/friend11.C -3153977462b ./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 - 334915341b ./gcc/testsuite/g++.old-deja/g++.other/friend6.C -2487555281b ./gcc/testsuite/g++.old-deja/g++.other/friend7.C - 993901545b ./gcc/testsuite/g++.old-deja/g++.other/friend8.C -1702616549b ./gcc/testsuite/g++.old-deja/g++.other/friend9.C -1706782876b ./gcc/testsuite/g++.old-deja/g++.other/goto1.C -1113635348b ./gcc/testsuite/g++.old-deja/g++.other/goto2.C -3060246492b ./gcc/testsuite/g++.old-deja/g++.other/goto3.C -2785798940b ./gcc/testsuite/g++.old-deja/g++.other/goto4.C -2615587703b ./gcc/testsuite/g++.old-deja/g++.other/headers1.C -1685869594b ./gcc/testsuite/g++.old-deja/g++.other/incomplete.C -1598723950b ./gcc/testsuite/g++.old-deja/g++.other/init10.C -1393596821b ./gcc/testsuite/g++.old-deja/g++.other/init11.C -3918302157b ./gcc/testsuite/g++.old-deja/g++.other/init12.C -2230863646b ./gcc/testsuite/g++.old-deja/g++.other/init13.C -4165471595b ./gcc/testsuite/g++.old-deja/g++.other/init14.C -2091624673b ./gcc/testsuite/g++.old-deja/g++.other/init15.C -1512725790b ./gcc/testsuite/g++.old-deja/g++.other/init16.C -1093306404b ./gcc/testsuite/g++.old-deja/g++.other/init17.C - 927757255b ./gcc/testsuite/g++.old-deja/g++.other/init1.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 -2302598719b ./gcc/testsuite/g++.old-deja/g++.other/init5.C - 49415730b ./gcc/testsuite/g++.old-deja/g++.other/init6.C -3569419722b ./gcc/testsuite/g++.old-deja/g++.other/init7.C -1098289890b ./gcc/testsuite/g++.old-deja/g++.other/init8.C - 557927133b ./gcc/testsuite/g++.old-deja/g++.other/init9.C -1778823150b ./gcc/testsuite/g++.old-deja/g++.other/initstring.C -1695544611b ./gcc/testsuite/g++.old-deja/g++.other/inline10.C -3270512395b ./gcc/testsuite/g++.old-deja/g++.other/inline11.C -1325890431b ./gcc/testsuite/g++.old-deja/g++.other/inline12.C -3738207064b ./gcc/testsuite/g++.old-deja/g++.other/inline13.C -4172873175b ./gcc/testsuite/g++.old-deja/g++.other/inline14.C -3062613130b ./gcc/testsuite/g++.old-deja/g++.other/inline15.C -3811673527b ./gcc/testsuite/g++.old-deja/g++.other/inline16.C -1438985095b ./gcc/testsuite/g++.old-deja/g++.other/inline17.C - 938935758b ./gcc/testsuite/g++.old-deja/g++.other/inline18.C -3672842965b ./gcc/testsuite/g++.old-deja/g++.other/inline19.C -2434780038b ./gcc/testsuite/g++.old-deja/g++.other/inline1.C -1204135970b ./gcc/testsuite/g++.old-deja/g++.other/inline20.C -3724397225b ./gcc/testsuite/g++.old-deja/g++.other/inline21.C -3956374226b ./gcc/testsuite/g++.old-deja/g++.other/inline23.C -2138039153b ./gcc/testsuite/g++.old-deja/g++.other/inline2.C -1052546588b ./gcc/testsuite/g++.old-deja/g++.other/inline3.C - 56787941b ./gcc/testsuite/g++.old-deja/g++.other/inline4.C -3486429137b ./gcc/testsuite/g++.old-deja/g++.other/inline5.C -1620558402b ./gcc/testsuite/g++.old-deja/g++.other/inline6.C -3584081324b ./gcc/testsuite/g++.old-deja/g++.other/inline7.C -2265199062b ./gcc/testsuite/g++.old-deja/g++.other/inline8.C -4185876620b ./gcc/testsuite/g++.old-deja/g++.other/inline9.C -3998338845b ./gcc/testsuite/g++.old-deja/g++.other/instan1.C -4152836602b ./gcc/testsuite/g++.old-deja/g++.other/lex1.C -3192143530b ./gcc/testsuite/g++.old-deja/g++.other/lineno1.C - 448802586b ./gcc/testsuite/g++.old-deja/g++.other/lineno2.C -1798112973b ./gcc/testsuite/g++.old-deja/g++.other/lineno3.C -3724478549b ./gcc/testsuite/g++.old-deja/g++.other/lineno4.C -3655515541b ./gcc/testsuite/g++.old-deja/g++.other/lineno5.C -1356735834b ./gcc/testsuite/g++.old-deja/g++.other/linkage1.C -2749431766b ./gcc/testsuite/g++.old-deja/g++.other/linkage2.C -3893718025b ./gcc/testsuite/g++.old-deja/g++.other/linkage3.C - 821605289b ./gcc/testsuite/g++.old-deja/g++.other/linkage4.C - 617990355b ./gcc/testsuite/g++.old-deja/g++.other/linkage5.C -3257516835b ./gcc/testsuite/g++.old-deja/g++.other/linkage6.C -1235107285b ./gcc/testsuite/g++.old-deja/g++.other/linkage7.C - 577632193b ./gcc/testsuite/g++.old-deja/g++.other/local1.C - 88188461b ./gcc/testsuite/g++.old-deja/g++.other/local2.C -2840919735b ./gcc/testsuite/g++.old-deja/g++.other/local3.C -1540707900b ./gcc/testsuite/g++.old-deja/g++.other/local4.C -3682661614b ./gcc/testsuite/g++.old-deja/g++.other/local-alloc1.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 -3544839285b ./gcc/testsuite/g++.old-deja/g++.other/lookup16.C - 697721056b ./gcc/testsuite/g++.old-deja/g++.other/lookup17.C - 815912902b ./gcc/testsuite/g++.old-deja/g++.other/lookup18.C - 280785492b ./gcc/testsuite/g++.old-deja/g++.other/lookup19.C -2269210126b ./gcc/testsuite/g++.old-deja/g++.other/lookup1.C - 436406477b ./gcc/testsuite/g++.old-deja/g++.other/lookup20.C -1209560984b ./gcc/testsuite/g++.old-deja/g++.other/lookup21.C - 614093465b ./gcc/testsuite/g++.old-deja/g++.other/lookup22.C -2433482316b ./gcc/testsuite/g++.old-deja/g++.other/lookup23.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 -3525634979b ./gcc/testsuite/g++.old-deja/g++.other/loop2.C -3124866775b ./gcc/testsuite/g++.old-deja/g++.other/main1.C -3887765310b ./gcc/testsuite/g++.old-deja/g++.other/main2.C -1745830473b ./gcc/testsuite/g++.old-deja/g++.other/mangle10.C -2766673663b ./gcc/testsuite/g++.old-deja/g++.other/mangle2.C - 199984455b ./gcc/testsuite/g++.old-deja/g++.other/mangle3.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 -3749047676b ./gcc/testsuite/g++.old-deja/g++.other/nested4.C -2899415960b ./gcc/testsuite/g++.old-deja/g++.other/new2.C -1176720819b ./gcc/testsuite/g++.old-deja/g++.other/new3.C -2825689270b ./gcc/testsuite/g++.old-deja/g++.other/new4.C - 850194097b ./gcc/testsuite/g++.old-deja/g++.other/new5.C -2266969204b ./gcc/testsuite/g++.old-deja/g++.other/new6.C -2661895613b ./gcc/testsuite/g++.old-deja/g++.other/new7.C -2658114065b ./gcc/testsuite/g++.old-deja/g++.other/new.C -4142273200b ./gcc/testsuite/g++.old-deja/g++.other/null1.C -2086727759b ./gcc/testsuite/g++.old-deja/g++.other/null2.C -2676296478b ./gcc/testsuite/g++.old-deja/g++.other/null3.C - 952036012b ./gcc/testsuite/g++.old-deja/g++.other/op1.C -1061118185b ./gcc/testsuite/g++.old-deja/g++.other/op2.C -1297089819b ./gcc/testsuite/g++.old-deja/g++.other/op3.C -2885764662b ./gcc/testsuite/g++.old-deja/g++.other/optimize1.C -2096609897b ./gcc/testsuite/g++.old-deja/g++.other/optimize2.C - 551298218b ./gcc/testsuite/g++.old-deja/g++.other/optimize3.C -3940439065b ./gcc/testsuite/g++.old-deja/g++.other/optimize4.C -3254521143b ./gcc/testsuite/g++.old-deja/g++.other/overcnv1.C - 96458692b ./gcc/testsuite/g++.old-deja/g++.other/overcnv2.C -2127838940b ./gcc/testsuite/g++.old-deja/g++.other/overload10.C -3726065244b ./gcc/testsuite/g++.old-deja/g++.other/overload11.C - 759039694b ./gcc/testsuite/g++.old-deja/g++.other/overload12.C -3493214783b ./gcc/testsuite/g++.old-deja/g++.other/overload13.C -2296515759b ./gcc/testsuite/g++.old-deja/g++.other/overload14.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 -1262277324b ./gcc/testsuite/g++.old-deja/g++.other/override1.C -1380865006b ./gcc/testsuite/g++.old-deja/g++.other/override2.C -1890760625b ./gcc/testsuite/g++.old-deja/g++.other/parse1.C -1658949221b ./gcc/testsuite/g++.old-deja/g++.other/parse2.C -3458348700b ./gcc/testsuite/g++.old-deja/g++.other/perf1.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 -1714528435b ./gcc/testsuite/g++.old-deja/g++.other/pmf4.C -3161683432b ./gcc/testsuite/g++.old-deja/g++.other/pmf5.C -2300982957b ./gcc/testsuite/g++.old-deja/g++.other/pmf6.C -2326771429b ./gcc/testsuite/g++.old-deja/g++.other/pmf7.C -1021148727b ./gcc/testsuite/g++.old-deja/g++.other/pod1.C -3266716729b ./gcc/testsuite/g++.old-deja/g++.other/printf1.C -1700199637b ./gcc/testsuite/g++.old-deja/g++.other/ptrmem10.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 -3693600549b ./gcc/testsuite/g++.old-deja/g++.other/ptrmem5.C - 725330086b ./gcc/testsuite/g++.old-deja/g++.other/ptrmem6.C - 308552023b ./gcc/testsuite/g++.old-deja/g++.other/ptrmem7.C -3160378056b ./gcc/testsuite/g++.old-deja/g++.other/ptrmem8.C - 963938985b ./gcc/testsuite/g++.old-deja/g++.other/ptrmem9.C -3704604722b ./gcc/testsuite/g++.old-deja/g++.other/qual1.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 -1472350818b ./gcc/testsuite/g++.old-deja/g++.other/redecl3.C - 660015452b ./gcc/testsuite/g++.old-deja/g++.other/redecl4.C -3051484272b ./gcc/testsuite/g++.old-deja/g++.other/ref1.C -3121199410b ./gcc/testsuite/g++.old-deja/g++.other/ref2.C - 396683260b ./gcc/testsuite/g++.old-deja/g++.other/ref3.C -1636029639b ./gcc/testsuite/g++.old-deja/g++.other/ref4.C -3976024536b ./gcc/testsuite/g++.old-deja/g++.other/refinit1.C - 690459633b ./gcc/testsuite/g++.old-deja/g++.other/refinit2.C -1101055782b ./gcc/testsuite/g++.old-deja/g++.other/regstack.C -1964301536b ./gcc/testsuite/g++.old-deja/g++.other/reload1.C -1919174692b ./gcc/testsuite/g++.old-deja/g++.other/return1.C -1404089609b ./gcc/testsuite/g++.old-deja/g++.other/rtti1.C -1393937598b ./gcc/testsuite/g++.old-deja/g++.other/rtti2.C - 69462645b ./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 -1185362893b ./gcc/testsuite/g++.old-deja/g++.other/rttid3.C -3922125482b ./gcc/testsuite/g++.old-deja/g++.other/rttid4.C -2715466455b ./gcc/testsuite/g++.old-deja/g++.other/sc1.C -3818908597b ./gcc/testsuite/g++.old-deja/g++.other/scope1.C -3543848546b ./gcc/testsuite/g++.old-deja/g++.other/shadow1.C -3144403535b ./gcc/testsuite/g++.old-deja/g++.other/sibcall1.C -1879839494b ./gcc/testsuite/g++.old-deja/g++.other/sibcall2.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 -3022356006b ./gcc/testsuite/g++.old-deja/g++.other/sizeof2.C - 791384214b ./gcc/testsuite/g++.old-deja/g++.other/sizeof3.C -3011566538b ./gcc/testsuite/g++.old-deja/g++.other/sizeof4.C -2613402158b ./gcc/testsuite/g++.old-deja/g++.other/sizeof5.C -3522079581b ./gcc/testsuite/g++.old-deja/g++.other/static10.C -2480249422b ./gcc/testsuite/g++.old-deja/g++.other/static11.C -1625548421b ./gcc/testsuite/g++.old-deja/g++.other/static12.C -1054249965b ./gcc/testsuite/g++.old-deja/g++.other/static13.C - 938771596b ./gcc/testsuite/g++.old-deja/g++.other/static14.C -2968457282b ./gcc/testsuite/g++.old-deja/g++.other/static15.C - 254220227b ./gcc/testsuite/g++.old-deja/g++.other/static16.C - 730081105b ./gcc/testsuite/g++.old-deja/g++.other/static1.C - 400806999b ./gcc/testsuite/g++.old-deja/g++.other/static20.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 -4026472462b ./gcc/testsuite/g++.old-deja/g++.other/static5.C -3148107112b ./gcc/testsuite/g++.old-deja/g++.other/static6.C - 456365368b ./gcc/testsuite/g++.old-deja/g++.other/static7.C -1409972884b ./gcc/testsuite/g++.old-deja/g++.other/static9.C - 910948586b ./gcc/testsuite/g++.old-deja/g++.other/std1.C - 574242123b ./gcc/testsuite/g++.old-deja/g++.other/stmtexpr1.C - 198454248b ./gcc/testsuite/g++.old-deja/g++.other/stmtexpr2.C -2323476072b ./gcc/testsuite/g++.old-deja/g++.other/store-expr1.C - 106303641b ./gcc/testsuite/g++.old-deja/g++.other/store-expr2.C -3308418318b ./gcc/testsuite/g++.old-deja/g++.other/string1.C -3417212046b ./gcc/testsuite/g++.old-deja/g++.other/string2.C - 262484701b ./gcc/testsuite/g++.old-deja/g++.other/struct1.C -2810682616b ./gcc/testsuite/g++.old-deja/g++.other/syntax1.C -1589137019b ./gcc/testsuite/g++.old-deja/g++.other/syntax2.C -4037168828b ./gcc/testsuite/g++.old-deja/g++.other/syntax3.C -1690127873b ./gcc/testsuite/g++.old-deja/g++.other/syntax4.C -2359213061b ./gcc/testsuite/g++.old-deja/g++.other/syshdr1.C -1230086448b ./gcc/testsuite/g++.old-deja/g++.other/temporary1.C -2740237343b ./gcc/testsuite/g++.old-deja/g++.other/thunk1.C -3664816265b ./gcc/testsuite/g++.old-deja/g++.other/type.C - 216119427b ./gcc/testsuite/g++.old-deja/g++.other/typeck1.C -1447088868b ./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 -3021107827b ./gcc/testsuite/g++.old-deja/g++.other/typedef7.C - 330448653b ./gcc/testsuite/g++.old-deja/g++.other/typedef8.C -2163665334b ./gcc/testsuite/g++.old-deja/g++.other/typeid1.C -3380807260b ./gcc/testsuite/g++.old-deja/g++.other/typeinfo1.C -2873064218b ./gcc/testsuite/g++.old-deja/g++.other/typename1.C -2681453665b ./gcc/testsuite/g++.old-deja/g++.other/typename2.C -2945224541b ./gcc/testsuite/g++.old-deja/g++.other/unchanging1.C -2207249090b ./gcc/testsuite/g++.old-deja/g++.other/union1.C -1220663165b ./gcc/testsuite/g++.old-deja/g++.other/union2.C - 100032111b ./gcc/testsuite/g++.old-deja/g++.other/union3.C -1663425333b ./gcc/testsuite/g++.old-deja/g++.other/union4.C -2304228302b ./gcc/testsuite/g++.old-deja/g++.other/using1.C -3235316199b ./gcc/testsuite/g++.old-deja/g++.other/using2.C -2385066250b ./gcc/testsuite/g++.old-deja/g++.other/using3.C -1787652459b ./gcc/testsuite/g++.old-deja/g++.other/using4.C - 129150023b ./gcc/testsuite/g++.old-deja/g++.other/using5.C -3873577868b ./gcc/testsuite/g++.old-deja/g++.other/using6.C -1034385045b ./gcc/testsuite/g++.old-deja/g++.other/using7.C -1471419785b ./gcc/testsuite/g++.old-deja/g++.other/using8.C - 118467765b ./gcc/testsuite/g++.old-deja/g++.other/using9.C -1336382176b ./gcc/testsuite/g++.old-deja/g++.other/vaarg1.C - 942920287b ./gcc/testsuite/g++.old-deja/g++.other/vaarg2.C -3319728754b ./gcc/testsuite/g++.old-deja/g++.other/vaarg3.C - 280934185b ./gcc/testsuite/g++.old-deja/g++.other/vaarg4.C -1098377423b ./gcc/testsuite/g++.old-deja/g++.other/vbase1.C -3043342729b ./gcc/testsuite/g++.old-deja/g++.other/vbase2.C -1361331299b ./gcc/testsuite/g++.old-deja/g++.other/vbase3.C -2014677415b ./gcc/testsuite/g++.old-deja/g++.other/vbase4.C - 891656248b ./gcc/testsuite/g++.old-deja/g++.other/vbase5.C -1779651648b ./gcc/testsuite/g++.old-deja/g++.other/virtual10.C -3755735707b ./gcc/testsuite/g++.old-deja/g++.other/virtual11.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 -1265814562b ./gcc/testsuite/g++.old-deja/g++.other/virtual5.C -3686177712b ./gcc/testsuite/g++.old-deja/g++.other/virtual6.C - 781437038b ./gcc/testsuite/g++.old-deja/g++.other/virtual7.C -3679318968b ./gcc/testsuite/g++.old-deja/g++.other/virtual8.C -3002440999b ./gcc/testsuite/g++.old-deja/g++.other/virtual9.C -2176048809b ./gcc/testsuite/g++.old-deja/g++.other/volatile1.C -1033683047b ./gcc/testsuite/g++.old-deja/g++.other/vtbl1.C -2778875490b ./gcc/testsuite/g++.old-deja/g++.other/vtbl2.C -1043998333b ./gcc/testsuite/g++.old-deja/g++.other/warn01.C -2909972662b ./gcc/testsuite/g++.old-deja/g++.other/warn3.C -4244338706b ./gcc/testsuite/g++.old-deja/g++.other/warn4.C -2302390400b ./gcc/testsuite/g++.old-deja/g++.other/warn5.C -2728478279b ./gcc/testsuite/g++.old-deja/g++.other/warn6.C -3510625807b ./gcc/testsuite/g++.old-deja/g++.other/warn7.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 -2973690302b ./gcc/testsuite/g++.old-deja/g++.pt/array5.C -3458314759b ./gcc/testsuite/g++.old-deja/g++.pt/array6.C -4134234496b ./gcc/testsuite/g++.old-deja/g++.pt/array7.C -2426888442b ./gcc/testsuite/g++.old-deja/g++.pt/asm1.C - 811778129b ./gcc/testsuite/g++.old-deja/g++.pt/asm2.C -1767746723b ./gcc/testsuite/g++.old-deja/g++.pt/assign1.C -1101270203b ./gcc/testsuite/g++.old-deja/g++.pt/auto_ptr.C - 981522879b ./gcc/testsuite/g++.old-deja/g++.pt/bad-type.C -1894536795b ./gcc/testsuite/g++.old-deja/g++.pt/builtin.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 -2859433933b ./gcc/testsuite/g++.old-deja/g++.pt/cast2.C -3941530280b ./gcc/testsuite/g++.old-deja/g++.pt/codegen1.C - 450876115b ./gcc/testsuite/g++.old-deja/g++.pt/cond2.C -1459818674b ./gcc/testsuite/g++.old-deja/g++.pt/cond3.C -1767031896b ./gcc/testsuite/g++.old-deja/g++.pt/const1.C - 333453858b ./gcc/testsuite/g++.old-deja/g++.pt/const2.C - 910218975b ./gcc/testsuite/g++.old-deja/g++.pt/conv1.C - 177622420b ./gcc/testsuite/g++.old-deja/g++.pt/conv2.C -2497086818b ./gcc/testsuite/g++.old-deja/g++.pt/conv3.C - 971692590b ./gcc/testsuite/g++.old-deja/g++.pt/copy1.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 -1891414246b ./gcc/testsuite/g++.old-deja/g++.pt/crash15.C -2454938413b ./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 - 552860807b ./gcc/testsuite/g++.old-deja/g++.pt/crash1.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 -1024790123b ./gcc/testsuite/g++.old-deja/g++.pt/crash28.C - 467456086b ./gcc/testsuite/g++.old-deja/g++.pt/crash29.C -2796245436b ./gcc/testsuite/g++.old-deja/g++.pt/crash2.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 -1106982300b ./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 -2974624163b ./gcc/testsuite/g++.old-deja/g++.pt/crash3.C -3347789237b ./gcc/testsuite/g++.old-deja/g++.pt/crash40.C - 447454995b ./gcc/testsuite/g++.old-deja/g++.pt/crash41.C -4041430549b ./gcc/testsuite/g++.old-deja/g++.pt/crash42.C - 559732808b ./gcc/testsuite/g++.old-deja/g++.pt/crash43.C - 301286397b ./gcc/testsuite/g++.old-deja/g++.pt/crash44.C -2378352861b ./gcc/testsuite/g++.old-deja/g++.pt/crash45.C -1798056576b ./gcc/testsuite/g++.old-deja/g++.pt/crash46.C -3755777163b ./gcc/testsuite/g++.old-deja/g++.pt/crash47.C -3545711527b ./gcc/testsuite/g++.old-deja/g++.pt/crash48.C - 248168869b ./gcc/testsuite/g++.old-deja/g++.pt/crash49.C -2620241700b ./gcc/testsuite/g++.old-deja/g++.pt/crash4.C - 803889593b ./gcc/testsuite/g++.old-deja/g++.pt/crash50.C -3389049910b ./gcc/testsuite/g++.old-deja/g++.pt/crash51.C -4194603956b ./gcc/testsuite/g++.old-deja/g++.pt/crash52.C - 491092947b ./gcc/testsuite/g++.old-deja/g++.pt/crash53.C -3642813625b ./gcc/testsuite/g++.old-deja/g++.pt/crash54.C -1749331796b ./gcc/testsuite/g++.old-deja/g++.pt/crash55.C -1219038376b ./gcc/testsuite/g++.old-deja/g++.pt/crash56.C -2303343499b ./gcc/testsuite/g++.old-deja/g++.pt/crash57.C -4236801680b ./gcc/testsuite/g++.old-deja/g++.pt/crash58.C -2789225927b ./gcc/testsuite/g++.old-deja/g++.pt/crash59.C -2444045960b ./gcc/testsuite/g++.old-deja/g++.pt/crash5.C -1374908702b ./gcc/testsuite/g++.old-deja/g++.pt/crash60.C -3795952345b ./gcc/testsuite/g++.old-deja/g++.pt/crash61.C -1665773703b ./gcc/testsuite/g++.old-deja/g++.pt/crash62.C -3223409625b ./gcc/testsuite/g++.old-deja/g++.pt/crash63.C -3150696822b ./gcc/testsuite/g++.old-deja/g++.pt/crash64.C -3278220743b ./gcc/testsuite/g++.old-deja/g++.pt/crash65.C -2950875437b ./gcc/testsuite/g++.old-deja/g++.pt/crash66.C -1588727602b ./gcc/testsuite/g++.old-deja/g++.pt/crash67.C -2591611103b ./gcc/testsuite/g++.old-deja/g++.pt/crash68.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 -2256920146b ./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 - 542513642b ./gcc/testsuite/g++.old-deja/g++.pt/debug1.C -4104205907b ./gcc/testsuite/g++.old-deja/g++.pt/decl1.C -3657390003b ./gcc/testsuite/g++.old-deja/g++.pt/decl2.C -1112077051b ./gcc/testsuite/g++.old-deja/g++.pt/decl3.C -1579795236b ./gcc/testsuite/g++.old-deja/g++.pt/decl4.C -3073530878b ./gcc/testsuite/g++.old-deja/g++.pt/deduct1.C - 536984424b ./gcc/testsuite/g++.old-deja/g++.pt/deduct2.C -1102733199b ./gcc/testsuite/g++.old-deja/g++.pt/deduct3.C -1268727238b ./gcc/testsuite/g++.old-deja/g++.pt/deduct4.C -2614275894b ./gcc/testsuite/g++.old-deja/g++.pt/deduct5.C - 606334760b ./gcc/testsuite/g++.old-deja/g++.pt/deduct6.C - 340374206b ./gcc/testsuite/g++.old-deja/g++.pt/deduct7.C - 940625563b ./gcc/testsuite/g++.old-deja/g++.pt/defarg10.C -3439579652b ./gcc/testsuite/g++.old-deja/g++.pt/defarg11.C -3231347060b ./gcc/testsuite/g++.old-deja/g++.pt/defarg12.C -3348379576b ./gcc/testsuite/g++.old-deja/g++.pt/defarg13.C -1334739447b ./gcc/testsuite/g++.old-deja/g++.pt/defarg14.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 -3350438012b ./gcc/testsuite/g++.old-deja/g++.pt/defarg9.C -2858847781b ./gcc/testsuite/g++.old-deja/g++.pt/defarg.C -1222848640b ./gcc/testsuite/g++.old-deja/g++.pt/derived1.C -4047438471b ./gcc/testsuite/g++.old-deja/g++.pt/derived2.C -1684757501b ./gcc/testsuite/g++.old-deja/g++.pt/derived3.C -3987198593b ./gcc/testsuite/g++.old-deja/g++.pt/dynarray.C -2287973117b ./gcc/testsuite/g++.old-deja/g++.pt/ehspec1.C -2070134968b ./gcc/testsuite/g++.old-deja/g++.pt/eichin01a.C -3522936035b ./gcc/testsuite/g++.old-deja/g++.pt/eichin01b.C - 104775079b ./gcc/testsuite/g++.old-deja/g++.pt/eichin01.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 -2126276433b ./gcc/testsuite/g++.old-deja/g++.pt/enum13.C -2694702519b ./gcc/testsuite/g++.old-deja/g++.pt/enum14.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 -1760960609b ./gcc/testsuite/g++.old-deja/g++.pt/enum.C - 861304912b ./gcc/testsuite/g++.old-deja/g++.pt/error1.C -2760448470b ./gcc/testsuite/g++.old-deja/g++.pt/error2.C -1691206603b ./gcc/testsuite/g++.old-deja/g++.pt/error3.C - 273875566b ./gcc/testsuite/g++.old-deja/g++.pt/explarg1.C -3406944984b ./gcc/testsuite/g++.old-deja/g++.pt/explicit10.C -1528071887b ./gcc/testsuite/g++.old-deja/g++.pt/explicit11.C -3195577006b ./gcc/testsuite/g++.old-deja/g++.pt/explicit12.C -1609026860b ./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 -3929356898b ./gcc/testsuite/g++.old-deja/g++.pt/explicit17.C -2998496732b ./gcc/testsuite/g++.old-deja/g++.pt/explicit18.C - 114780192b ./gcc/testsuite/g++.old-deja/g++.pt/explicit19.C -2454708693b ./gcc/testsuite/g++.old-deja/g++.pt/explicit1.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 -2616456294b ./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 -3142420592b ./gcc/testsuite/g++.old-deja/g++.pt/explicit2.C - 470577039b ./gcc/testsuite/g++.old-deja/g++.pt/explicit30.C -1628118551b ./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 -3600466241b ./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 -4211740392b ./gcc/testsuite/g++.old-deja/g++.pt/explicit3.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 -4095060524b ./gcc/testsuite/g++.old-deja/g++.pt/explicit4.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 -2944430939b ./gcc/testsuite/g++.old-deja/g++.pt/explicit5.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 -1140210865b ./gcc/testsuite/g++.old-deja/g++.pt/explicit6.C - 598155740b ./gcc/testsuite/g++.old-deja/g++.pt/explicit70.C - 734055097b ./gcc/testsuite/g++.old-deja/g++.pt/explicit71.C -3681260211b ./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 -3985776178b ./gcc/testsuite/g++.old-deja/g++.pt/explicit80.C -1821121835b ./gcc/testsuite/g++.old-deja/g++.pt/explicit81.C -3301548077b ./gcc/testsuite/g++.old-deja/g++.pt/explicit82.C -1885670533b ./gcc/testsuite/g++.old-deja/g++.pt/explicit83.C -1495453328b ./gcc/testsuite/g++.old-deja/g++.pt/explicit8.C -3419948260b ./gcc/testsuite/g++.old-deja/g++.pt/explicit9.C - 662598850b ./gcc/testsuite/g++.old-deja/g++.pt/export1.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 -1457222697b ./gcc/testsuite/g++.old-deja/g++.pt/expr6.C -1425159165b ./gcc/testsuite/g++.old-deja/g++.pt/expr7.C - 161410515b ./gcc/testsuite/g++.old-deja/g++.pt/expr8.C -1422905843b ./gcc/testsuite/g++.old-deja/g++.pt/extern1.C -1069100821b ./gcc/testsuite/g++.old-deja/g++.pt/fntry1.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 -4017972632b ./gcc/testsuite/g++.old-deja/g++.pt/friend1.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 -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 -3281471741b ./gcc/testsuite/g++.old-deja/g++.pt/friend38.C - 317013285b ./gcc/testsuite/g++.old-deja/g++.pt/friend39.C -2144037049b ./gcc/testsuite/g++.old-deja/g++.pt/friend3.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 -3945320523b ./gcc/testsuite/g++.old-deja/g++.pt/friend43.C - 498165617b ./gcc/testsuite/g++.old-deja/g++.pt/friend44.C -3282109340b ./gcc/testsuite/g++.old-deja/g++.pt/friend45.C -1046954842b ./gcc/testsuite/g++.old-deja/g++.pt/friend46.C -4284536748b ./gcc/testsuite/g++.old-deja/g++.pt/friend47.C -1943593208b ./gcc/testsuite/g++.old-deja/g++.pt/friend48.C -2460768791b ./gcc/testsuite/g++.old-deja/g++.pt/friend49.C -1839433882b ./gcc/testsuite/g++.old-deja/g++.pt/friend4.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 -2373771284b ./gcc/testsuite/g++.old-deja/g++.pt/goto2.C -3949127698b ./gcc/testsuite/g++.old-deja/g++.pt/goto.C -1470520127b ./gcc/testsuite/g++.old-deja/g++.pt/incomplete1.C -2675563938b ./gcc/testsuite/g++.old-deja/g++.pt/infinite1.C -2141463905b ./gcc/testsuite/g++.old-deja/g++.pt/inherit1.C -3554938548b ./gcc/testsuite/g++.old-deja/g++.pt/inherit2.C - 393856408b ./gcc/testsuite/g++.old-deja/g++.pt/inject1.C -1666451974b ./gcc/testsuite/g++.old-deja/g++.pt/inject2.C - 775587620b ./gcc/testsuite/g++.old-deja/g++.pt/inline1.C -4143100873b ./gcc/testsuite/g++.old-deja/g++.pt/inline2.C - 567219073b ./gcc/testsuite/g++.old-deja/g++.pt/instantiate10.C - 658392970b ./gcc/testsuite/g++.old-deja/g++.pt/instantiate11.C - 934055119b ./gcc/testsuite/g++.old-deja/g++.pt/instantiate12.C -3666215677b ./gcc/testsuite/g++.old-deja/g++.pt/instantiate13.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 -1010945845b ./gcc/testsuite/g++.old-deja/g++.pt/instantiate5.C -2967623396b ./gcc/testsuite/g++.old-deja/g++.pt/instantiate5.cc -1230172281b ./gcc/testsuite/g++.old-deja/g++.pt/instantiate5-main.cc -4042450939b ./gcc/testsuite/g++.old-deja/g++.pt/instantiate6.C -2137469555b ./gcc/testsuite/g++.old-deja/g++.pt/instantiate7.C -2823240025b ./gcc/testsuite/g++.old-deja/g++.pt/instantiate8.C - 117766506b ./gcc/testsuite/g++.old-deja/g++.pt/instantiate9.C - 5436695b ./gcc/testsuite/g++.old-deja/g++.pt/koenig1.C -1578795652b ./gcc/testsuite/g++.old-deja/g++.pt/label1.C -1296029425b ./gcc/testsuite/g++.old-deja/g++.pt/link1.C -1686018921b ./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 -3591262298b ./gcc/testsuite/g++.old-deja/g++.pt/local7.C -1618400382b ./gcc/testsuite/g++.old-deja/g++.pt/lookup10.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 - 454140677b ./gcc/testsuite/g++.old-deja/g++.pt/m9a.C - 860513545b ./gcc/testsuite/g++.old-deja/g++.pt/m9.C -4199939364b ./gcc/testsuite/g++.old-deja/g++.pt/mangle1.C - 735244068b ./gcc/testsuite/g++.old-deja/g++.pt/mangle2.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 -2993433239b ./gcc/testsuite/g++.old-deja/g++.pt/memclass1.C - 93385345b ./gcc/testsuite/g++.old-deja/g++.pt/memclass20.C -3252022289b ./gcc/testsuite/g++.old-deja/g++.pt/memclass21.C -2537802637b ./gcc/testsuite/g++.old-deja/g++.pt/memclass2.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 -2127284390b ./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 -4058618179b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp100.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 -2818816059b ./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 -1224975036b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp1.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 -1871764459b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp2.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 -1631129726b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp3.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 -1762838619b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp4.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 -1033026004b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp5.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 -3026038856b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp6.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 -1218672257b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp77.C -3371462880b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp78.C -4186537912b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp79.C -1316217894b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp7.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 -2073825342b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp84.C -2859456911b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp85.C - 159076361b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp86.C - 782720859b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp87.C -3073633390b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp88.C -3067920578b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp89.C -2098916421b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp8.C - 329208420b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp90.C - 357390701b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp91.C - 440251046b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp92.C -1071465145b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp93.C - 81542039b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp94.C -3580334873b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp95.C -4071744070b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp96.C - 876225447b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp97.C -3251366836b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp98.C - 588126708b ./gcc/testsuite/g++.old-deja/g++.pt/memtemp99.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 -3261242986b ./gcc/testsuite/g++.old-deja/g++.pt/niklas01a.C -3338878252b ./gcc/testsuite/g++.old-deja/g++.pt/niklas01b.C - 206427704b ./gcc/testsuite/g++.old-deja/g++.pt/niklas01.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 -1767300701b ./gcc/testsuite/g++.old-deja/g++.pt/nontype5.C -2791152240b ./gcc/testsuite/g++.old-deja/g++.pt/nttp1.C - 247002708b ./gcc/testsuite/g++.old-deja/g++.pt/nttp2.C -1278541513b ./gcc/testsuite/g++.old-deja/g++.pt/operator1.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 - 567369625b ./gcc/testsuite/g++.old-deja/g++.pt/overload13.C - 43242814b ./gcc/testsuite/g++.old-deja/g++.pt/overload14.C - 775259676b ./gcc/testsuite/g++.old-deja/g++.pt/overload15.C -2435336654b ./gcc/testsuite/g++.old-deja/g++.pt/overload1.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 -4178337882b ./gcc/testsuite/g++.old-deja/g++.pt/parms1.C -2241839525b ./gcc/testsuite/g++.old-deja/g++.pt/parms2.C -3349553882b ./gcc/testsuite/g++.old-deja/g++.pt/parms3.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 -1029425030b ./gcc/testsuite/g++.old-deja/g++.pt/partial4.C -4209924429b ./gcc/testsuite/g++.old-deja/g++.pt/partial5.C -4183203582b ./gcc/testsuite/g++.old-deja/g++.pt/poi1.C -1609222984b ./gcc/testsuite/g++.old-deja/g++.pt/pointer1.C -2621744921b ./gcc/testsuite/g++.old-deja/g++.pt/ptrmem10.C - 667276243b ./gcc/testsuite/g++.old-deja/g++.pt/ptrmem1.C -1628163413b ./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 - 929278172b ./gcc/testsuite/g++.old-deja/g++.pt/ptrmem6.C -3758586102b ./gcc/testsuite/g++.old-deja/g++.pt/ptrmem7.C -2054039204b ./gcc/testsuite/g++.old-deja/g++.pt/ptrmem8.C -3543585318b ./gcc/testsuite/g++.old-deja/g++.pt/ptrmem9.C -2282560315b ./gcc/testsuite/g++.old-deja/g++.pt/recursion2.C -1176769163b ./gcc/testsuite/g++.old-deja/g++.pt/recursion.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 -1583044362b ./gcc/testsuite/g++.old-deja/g++.pt/ref2.C - 483138928b ./gcc/testsuite/g++.old-deja/g++.pt/ref3.C -2911957174b ./gcc/testsuite/g++.old-deja/g++.pt/ref4.C -2200057845b ./gcc/testsuite/g++.old-deja/g++.pt/repo1.C -3164700330b ./gcc/testsuite/g++.old-deja/g++.pt/repo2.C -2290650834b ./gcc/testsuite/g++.old-deja/g++.pt/repo3.C -1650768861b ./gcc/testsuite/g++.old-deja/g++.pt/repo4.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 -3116942821b ./gcc/testsuite/g++.old-deja/g++.pt/sizeof2.C -2876524265b ./gcc/testsuite/g++.old-deja/g++.pt/sizeof3.C -4082900584b ./gcc/testsuite/g++.old-deja/g++.pt/sizeof.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 - 362548758b ./gcc/testsuite/g++.old-deja/g++.pt/spec14.C - 395453400b ./gcc/testsuite/g++.old-deja/g++.pt/spec15.C - 299326321b ./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 -3497658316b ./gcc/testsuite/g++.old-deja/g++.pt/spec19.C - 991382684b ./gcc/testsuite/g++.old-deja/g++.pt/spec1.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 -3880560938b ./gcc/testsuite/g++.old-deja/g++.pt/spec2.C -3450541938b ./gcc/testsuite/g++.old-deja/g++.pt/spec30.C -3771549807b ./gcc/testsuite/g++.old-deja/g++.pt/spec31.C - 811045881b ./gcc/testsuite/g++.old-deja/g++.pt/spec32.C - 754213781b ./gcc/testsuite/g++.old-deja/g++.pt/spec33.C -3893454953b ./gcc/testsuite/g++.old-deja/g++.pt/spec34.C - 157308695b ./gcc/testsuite/g++.old-deja/g++.pt/spec35.C - 7630099b ./gcc/testsuite/g++.old-deja/g++.pt/spec36.C -2893602715b ./gcc/testsuite/g++.old-deja/g++.pt/spec37.C -1089795364b ./gcc/testsuite/g++.old-deja/g++.pt/spec38.C -3573286877b ./gcc/testsuite/g++.old-deja/g++.pt/spec39.C -2986435997b ./gcc/testsuite/g++.old-deja/g++.pt/spec3.C - 263033306b ./gcc/testsuite/g++.old-deja/g++.pt/spec40.C -4257539281b ./gcc/testsuite/g++.old-deja/g++.pt/spec41.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 -3499532117b ./gcc/testsuite/g++.old-deja/g++.pt/static10.C -3672678643b ./gcc/testsuite/g++.old-deja/g++.pt/static11.C -2178379561b ./gcc/testsuite/g++.old-deja/g++.pt/static1.C -3095826275b ./gcc/testsuite/g++.old-deja/g++.pt/static2.C -3043759182b ./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 -3443961587b ./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 -1860907942b ./gcc/testsuite/g++.old-deja/g++.pt/static9.C -1680154606b ./gcc/testsuite/g++.old-deja/g++.pt/static_cast.C -3432829463b ./gcc/testsuite/g++.old-deja/g++.pt/stmtexpr2.C -2053761696b ./gcc/testsuite/g++.old-deja/g++.pt/stmtexpr.C -2038345660b ./gcc/testsuite/g++.old-deja/g++.pt/switch1.C -1321551276b ./gcc/testsuite/g++.old-deja/g++.pt/syntax1.C - 769950811b ./gcc/testsuite/g++.old-deja/g++.pt/syntax2.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 -1347039071b ./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 -1989751964b ./gcc/testsuite/g++.old-deja/g++.pt/t11a.C -3632072790b ./gcc/testsuite/g++.old-deja/g++.pt/t11.C -2049763895b ./gcc/testsuite/g++.old-deja/g++.pt/t12a.C -2249141950b ./gcc/testsuite/g++.old-deja/g++.pt/t12.C -1228232084b ./gcc/testsuite/g++.old-deja/g++.pt/t13.C -2705379238b ./gcc/testsuite/g++.old-deja/g++.pt/t14a.C -2100897741b ./gcc/testsuite/g++.old-deja/g++.pt/t14.C -1989199194b ./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 -1551618603b ./gcc/testsuite/g++.old-deja/g++.pt/t32a.C -2623408289b ./gcc/testsuite/g++.old-deja/g++.pt/t32.C - 163082280b ./gcc/testsuite/g++.old-deja/g++.pt/t34a.C -4017416236b ./gcc/testsuite/g++.old-deja/g++.pt/t34.C -3947322975b ./gcc/testsuite/g++.old-deja/g++.pt/t35a.C -2585097382b ./gcc/testsuite/g++.old-deja/g++.pt/t35.C -1516584548b ./gcc/testsuite/g++.old-deja/g++.pt/t36.C - 420324441b ./gcc/testsuite/g++.old-deja/g++.pt/t37a.C -1426987064b ./gcc/testsuite/g++.old-deja/g++.pt/t37.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 - 129425925b ./gcc/testsuite/g++.old-deja/g++.pt/tiemann2.C -1767149933b ./gcc/testsuite/g++.old-deja/g++.pt/to2.C - 611975575b ./gcc/testsuite/g++.old-deja/g++.pt/tt2.C -1910189955b ./gcc/testsuite/g++.old-deja/g++.pt/tt.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 -2278374754b ./gcc/testsuite/g++.old-deja/g++.pt/ttp1.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 - 3553743b ./gcc/testsuite/g++.old-deja/g++.pt/ttp2.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 -2339659475b ./gcc/testsuite/g++.old-deja/g++.pt/ttp3.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 - 883851040b ./gcc/testsuite/g++.old-deja/g++.pt/ttp4.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 -1933937224b ./gcc/testsuite/g++.old-deja/g++.pt/ttp56.C - 781548580b ./gcc/testsuite/g++.old-deja/g++.pt/ttp57.C -3542091704b ./gcc/testsuite/g++.old-deja/g++.pt/ttp58.C -1970694533b ./gcc/testsuite/g++.old-deja/g++.pt/ttp59.C - 744920614b ./gcc/testsuite/g++.old-deja/g++.pt/ttp5.C -1001403023b ./gcc/testsuite/g++.old-deja/g++.pt/ttp60.C -3275558727b ./gcc/testsuite/g++.old-deja/g++.pt/ttp61.C -1915032158b ./gcc/testsuite/g++.old-deja/g++.pt/ttp62.C -3261657532b ./gcc/testsuite/g++.old-deja/g++.pt/ttp63.C -1109524802b ./gcc/testsuite/g++.old-deja/g++.pt/ttp64.C - 334468093b ./gcc/testsuite/g++.old-deja/g++.pt/ttp65.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 -3197185389b ./gcc/testsuite/g++.old-deja/g++.pt/typename10.C - 11764674b ./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 -1552645689b ./gcc/testsuite/g++.old-deja/g++.pt/typename14.C -1039841774b ./gcc/testsuite/g++.old-deja/g++.pt/typename15.C -2603845994b ./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 - 155924010b ./gcc/testsuite/g++.old-deja/g++.pt/typename1.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 -1320658391b ./gcc/testsuite/g++.old-deja/g++.pt/typename23.C -3911736485b ./gcc/testsuite/g++.old-deja/g++.pt/typename24.C -2304897216b ./gcc/testsuite/g++.old-deja/g++.pt/typename25.C -2707583962b ./gcc/testsuite/g++.old-deja/g++.pt/typename26.C -1423713632b ./gcc/testsuite/g++.old-deja/g++.pt/typename27.C -1479397024b ./gcc/testsuite/g++.old-deja/g++.pt/typename28.C -1202424634b ./gcc/testsuite/g++.old-deja/g++.pt/typename2.C - 671867998b ./gcc/testsuite/g++.old-deja/g++.pt/typename3.C - 516047961b ./gcc/testsuite/g++.old-deja/g++.pt/typename4.C -3990219214b ./gcc/testsuite/g++.old-deja/g++.pt/typename5.C -1190749888b ./gcc/testsuite/g++.old-deja/g++.pt/typename6.C -1106680146b ./gcc/testsuite/g++.old-deja/g++.pt/typename7.C - 539346100b ./gcc/testsuite/g++.old-deja/g++.pt/typename8.C -1531696057b ./gcc/testsuite/g++.old-deja/g++.pt/typename9.C -2013928518b ./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 -1593711084b ./gcc/testsuite/g++.old-deja/g++.pt/unify6.C -2805975955b ./gcc/testsuite/g++.old-deja/g++.pt/unify7.C - 572096107b ./gcc/testsuite/g++.old-deja/g++.pt/unify8.C -1740949226b ./gcc/testsuite/g++.old-deja/g++.pt/union1.C -3325944931b ./gcc/testsuite/g++.old-deja/g++.pt/union2.C -3304362700b ./gcc/testsuite/g++.old-deja/g++.pt/using1.C -3289243465b ./gcc/testsuite/g++.old-deja/g++.pt/using2.C -3460641357b ./gcc/testsuite/g++.old-deja/g++.pt/vaarg2.C - 358497795b ./gcc/testsuite/g++.old-deja/g++.pt/vaarg3.C - 886046502b ./gcc/testsuite/g++.old-deja/g++.pt/vaarg.C - 663619266b ./gcc/testsuite/g++.old-deja/g++.pt/var1.C -1421755768b ./gcc/testsuite/g++.old-deja/g++.pt/vbase1.C -3353980626b ./gcc/testsuite/g++.old-deja/g++.pt/virtual1.C -2579767623b ./gcc/testsuite/g++.old-deja/g++.pt/virtual2.C -3153841756b ./gcc/testsuite/g++.old-deja/g++.pt/virtual3.C -3045422609b ./gcc/testsuite/g++.old-deja/g++.pt/virtual4.C -1462240574b ./gcc/testsuite/g++.old-deja/g++.pt/warn1.C -1277079184b ./gcc/testsuite/g++.old-deja/g++.pt/warn2.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 -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 -2829681364b ./gcc/testsuite/g++.old-deja/g++.robertl/eb109.C -3648377352b ./gcc/testsuite/g++.old-deja/g++.robertl/eb10.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 -1947798881b ./gcc/testsuite/g++.old-deja/g++.robertl/eb113.C -3605730706b ./gcc/testsuite/g++.old-deja/g++.robertl/eb114.C -1577168820b ./gcc/testsuite/g++.old-deja/g++.robertl/eb115.C - 882322806b ./gcc/testsuite/g++.old-deja/g++.robertl/eb116.C -3652784132b ./gcc/testsuite/g++.old-deja/g++.robertl/eb118.C -1321940613b ./gcc/testsuite/g++.old-deja/g++.robertl/eb119.C -1227838581b ./gcc/testsuite/g++.old-deja/g++.robertl/eb11.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 -2311366193b ./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 -3379073614b ./gcc/testsuite/g++.old-deja/g++.robertl/eb127.C -1650763244b ./gcc/testsuite/g++.old-deja/g++.robertl/eb128.C -2811911547b ./gcc/testsuite/g++.old-deja/g++.robertl/eb129a.C - 551639476b ./gcc/testsuite/g++.old-deja/g++.robertl/eb129.C - 158711949b ./gcc/testsuite/g++.old-deja/g++.robertl/eb12.C -3610132478b ./gcc/testsuite/g++.old-deja/g++.robertl/eb130.C -2576744469b ./gcc/testsuite/g++.old-deja/g++.robertl/eb131.C - 191646019b ./gcc/testsuite/g++.old-deja/g++.robertl/eb132.C -2212505012b ./gcc/testsuite/g++.old-deja/g++.robertl/eb133a.C - 960695829b ./gcc/testsuite/g++.old-deja/g++.robertl/eb133b.C - 960695829b ./gcc/testsuite/g++.old-deja/g++.robertl/eb133.C - 630981722b ./gcc/testsuite/g++.old-deja/g++.robertl/eb13.C -3851013524b ./gcc/testsuite/g++.old-deja/g++.robertl/eb14.C - 8426984b ./gcc/testsuite/g++.old-deja/g++.robertl/eb15.C -2805277324b ./gcc/testsuite/g++.old-deja/g++.robertl/eb16.C -1023058352b ./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 - 461969397b ./gcc/testsuite/g++.old-deja/g++.robertl/eb20.C -2675256374b ./gcc/testsuite/g++.old-deja/g++.robertl/eb21.C - 917318256b ./gcc/testsuite/g++.old-deja/g++.robertl/eb22.C - 430086508b ./gcc/testsuite/g++.old-deja/g++.robertl/eb23.C -1945933799b ./gcc/testsuite/g++.old-deja/g++.robertl/eb24.C - 309172009b ./gcc/testsuite/g++.old-deja/g++.robertl/eb26.C - 292107192b ./gcc/testsuite/g++.old-deja/g++.robertl/eb27.C -1890436003b ./gcc/testsuite/g++.old-deja/g++.robertl/eb28.C -3453020821b ./gcc/testsuite/g++.old-deja/g++.robertl/eb29.C -3780933159b ./gcc/testsuite/g++.old-deja/g++.robertl/eb2.C - 563892057b ./gcc/testsuite/g++.old-deja/g++.robertl/eb30.C -3084203745b ./gcc/testsuite/g++.old-deja/g++.robertl/eb31.C -4187617186b ./gcc/testsuite/g++.old-deja/g++.robertl/eb32.C - 220886230b ./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 -3434413457b ./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 - 528193552b ./gcc/testsuite/g++.old-deja/g++.robertl/eb39.C -2212669672b ./gcc/testsuite/g++.old-deja/g++.robertl/eb3.C - 507123073b ./gcc/testsuite/g++.old-deja/g++.robertl/eb41.C -3295582703b ./gcc/testsuite/g++.old-deja/g++.robertl/eb43.C -3397322273b ./gcc/testsuite/g++.old-deja/g++.robertl/eb44.C - 687602470b ./gcc/testsuite/g++.old-deja/g++.robertl/eb45.C - 804543247b ./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 - 291255111b ./gcc/testsuite/g++.old-deja/g++.robertl/eb4.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 - 710220281b ./gcc/testsuite/g++.old-deja/g++.robertl/eb54.C -2958452317b ./gcc/testsuite/g++.old-deja/g++.robertl/eb55.C - 925139048b ./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 - 794738043b ./gcc/testsuite/g++.old-deja/g++.robertl/eb59.C -3128226785b ./gcc/testsuite/g++.old-deja/g++.robertl/eb5.C -2498272255b ./gcc/testsuite/g++.old-deja/g++.robertl/eb60.C -1266761033b ./gcc/testsuite/g++.old-deja/g++.robertl/eb61.C -2004022719b ./gcc/testsuite/g++.old-deja/g++.robertl/eb62.C -4040217083b ./gcc/testsuite/g++.old-deja/g++.robertl/eb63.C -1956073784b ./gcc/testsuite/g++.old-deja/g++.robertl/eb64.C -4008623056b ./gcc/testsuite/g++.old-deja/g++.robertl/eb65.C - 980372542b ./gcc/testsuite/g++.old-deja/g++.robertl/eb66.C -3389307963b ./gcc/testsuite/g++.old-deja/g++.robertl/eb67.C -4223737421b ./gcc/testsuite/g++.old-deja/g++.robertl/eb69.C -1997456294b ./gcc/testsuite/g++.old-deja/g++.robertl/eb6.C -2182473885b ./gcc/testsuite/g++.old-deja/g++.robertl/eb70.C -3826058150b ./gcc/testsuite/g++.old-deja/g++.robertl/eb71.C -3782517804b ./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 -2546436998b ./gcc/testsuite/g++.old-deja/g++.robertl/eb76.C -2308966043b ./gcc/testsuite/g++.old-deja/g++.robertl/eb77.C -3644883412b ./gcc/testsuite/g++.old-deja/g++.robertl/eb79.C - 718049317b ./gcc/testsuite/g++.old-deja/g++.robertl/eb7.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 -1398794376b ./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 -3708449542b ./gcc/testsuite/g++.old-deja/g++.robertl/eb8.C -1724324673b ./gcc/testsuite/g++.old-deja/g++.robertl/eb90.C -2024296388b ./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 -3273280926b ./gcc/testsuite/g++.old-deja/g++.robertl/eb9.C -3496760893b ./gcc/testsuite/g++.old-deja/g++.robertl/ebnull.C -1294688249b ./gcc/testsuite/g++.old-deja/g++.robertl/ebnull-cast.C -2390910991b ./gcc/testsuite/g++.old-deja/g++.robertl/ebnull-oldcast.C -3321525464b ./gcc/testsuite/g++.old-deja/g++.robertl/eh990323-1.C - 349170821b ./gcc/testsuite/g++.old-deja/g++.robertl/eh990323-2.C -2742680950b ./gcc/testsuite/g++.old-deja/g++.robertl/eh990323-3.C -1643595357b ./gcc/testsuite/g++.old-deja/g++.robertl/eh990323-4.C - 756189085b ./gcc/testsuite/g++.old-deja/g++.robertl/eh990323-5.C - 710689512b ./gcc/testsuite/g++.old-deja/g++.robertl/ice990323-1.C -3704302140b ./gcc/testsuite/g++.old-deja/g++.robertl/ice990323-2.C - 424851899b ./gcc/testsuite/g++.old-deja/g++.robertl/ice990323-3.C -1966976843b ./gcc/testsuite/g++.old-deja/g++.robertl/ice990323-4.C -2792305431b ./gcc/testsuite/g++.old-deja/g++.robertl/ice990323-5.C -3593716546b ./gcc/testsuite/g++.old-deja/g++.robertl/README -2167858031b ./gcc/testsuite/g++.old-deja/g++.warn/cast-align1.C -2257841595b ./gcc/testsuite/g++.old-deja/g++.warn/compare1.C - 478428580b ./gcc/testsuite/g++.old-deja/g++.warn/flow1.C -1434994100b ./gcc/testsuite/g++.old-deja/g++.warn/impint2.C - 228848226b ./gcc/testsuite/g++.old-deja/g++.warn/impint.C - 308484502b ./gcc/testsuite/g++.old-deja/g++.warn/inline.C -3053994732b ./gcc/testsuite/g++.old-deja/g++.warn/iomanip.C -3603456747b ./gcc/testsuite/g++.old-deja/g++.warn/virt1.C -1241992731b ./gcc/testsuite/g++.old-deja/old-deja.exp -1387283607b ./gcc/testsuite/lib/c-torture.exp - 827216288b ./gcc/testsuite/lib/file-format.exp - 246962046b ./gcc/testsuite/lib/f-torture.exp -2197210451b ./gcc/testsuite/lib/g77-dg.exp -4020741824b ./gcc/testsuite/lib/g77.exp -3365202398b ./gcc/testsuite/lib/gcc-defs.exp -3402161270b ./gcc/testsuite/lib/gcc-dg.exp -3313214307b ./gcc/testsuite/lib/gcc.exp -1748156049b ./gcc/testsuite/lib/gcov.exp -1025717576b ./gcc/testsuite/lib/g++-dg.exp - 590309199b ./gcc/testsuite/lib/g++.exp -1785660070b ./gcc/testsuite/lib/mike-g77.exp -3188273403b ./gcc/testsuite/lib/mike-gcc.exp -2511438650b ./gcc/testsuite/lib/mike-g++.exp - 576875699b ./gcc/testsuite/lib/objc-dg.exp -2555356069b ./gcc/testsuite/lib/objc.exp -3849564329b ./gcc/testsuite/lib/objc-torture.exp -1673351574b ./gcc/testsuite/lib/old-dejagnu.exp - 766192419b ./gcc/testsuite/lib/profopt.exp -1029251629b ./gcc/testsuite/lib/prune.exp -2428636490b ./gcc/testsuite/lib/scanasm.exp -3463101165b ./gcc/testsuite/lib/target-supports.exp -3665869615b ./gcc/testsuite/objc/compile/20011211-1.m -1806367206b ./gcc/testsuite/objc/compile/compile.exp -1369080733b ./gcc/testsuite/objc.dg/alias.m -3316559321b ./gcc/testsuite/objc.dg/class-1.m -3678679752b ./gcc/testsuite/objc.dg/class-2.m -1411503086b ./gcc/testsuite/objc.dg/const-str-1.m -3977573176b ./gcc/testsuite/objc.dg/const-str-2.m -1541394849b ./gcc/testsuite/objc.dg/dg.exp -1505392257b ./gcc/testsuite/objc.dg/fwd-proto-1.m -2449513844b ./gcc/testsuite/objc.dg/id-1.m -2495249432b ./gcc/testsuite/objc.dg/local-decl-1.m -1667427564b ./gcc/testsuite/objc.dg/method-1.m -2835356210b ./gcc/testsuite/objc.dg/method-2.m -1830729571b ./gcc/testsuite/objc.dg/naming-1.m - 250748297b ./gcc/testsuite/objc.dg/naming-2.m -2785734223b ./gcc/testsuite/objc.dg/proto-hier-1.m - 888349193b ./gcc/testsuite/objc.dg/special/special.exp -3208621557b ./gcc/testsuite/objc.dg/special/unclaimed-category-1a.m -3078900770b ./gcc/testsuite/objc.dg/special/unclaimed-category-1.h -1931469026b ./gcc/testsuite/objc.dg/special/unclaimed-category-1.m - 967308749b ./gcc/testsuite/objc.dg/super-class-1.m -3837394038b ./gcc/testsuite/objc/execute/accessing_ivars.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 -1927175126b ./gcc/testsuite/objc/execute/bf-1.m -2184610020b ./gcc/testsuite/objc/execute/bf-20.m -2019969445b ./gcc/testsuite/objc/execute/bf-21.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 - 490840694b ./gcc/testsuite/objc/execute/bycopy-1.m - 494931174b ./gcc/testsuite/objc/execute/bycopy-2.m -1730034329b ./gcc/testsuite/objc/execute/bycopy-3.m -3022811812b ./gcc/testsuite/objc/execute/class-10.m -1808680681b ./gcc/testsuite/objc/execute/class-11.m -3170467444b ./gcc/testsuite/objc/execute/class-12.m -1450032037b ./gcc/testsuite/objc/execute/class-13.m - 962298201b ./gcc/testsuite/objc/execute/class-14.m - 15537293b ./gcc/testsuite/objc/execute/class-1.m - 184341932b ./gcc/testsuite/objc/execute/class-2.m -1192708745b ./gcc/testsuite/objc/execute/class-3.m -1197020462b ./gcc/testsuite/objc/execute/class-4.m -1142894955b ./gcc/testsuite/objc/execute/class-5.m -1726324093b ./gcc/testsuite/objc/execute/class-6.m -3834458842b ./gcc/testsuite/objc/execute/class-7.m -3671287888b ./gcc/testsuite/objc/execute/class-8.m -3384901465b ./gcc/testsuite/objc/execute/class-9.m -4110777484b ./gcc/testsuite/objc/execute/class_self-1.m -1951268392b ./gcc/testsuite/objc/execute/class_self-2.m - 68195390b ./gcc/testsuite/objc/execute/class-tests-1.h -1742460237b ./gcc/testsuite/objc/execute/class-tests-2.h -1707819077b ./gcc/testsuite/objc/execute/_cmd.m -2668180928b ./gcc/testsuite/objc/execute/compatibility_alias.m -2525550462b ./gcc/testsuite/objc/execute/encode-1.m -2615444748b ./gcc/testsuite/objc/execute/enumeration-1.m - 594446998b ./gcc/testsuite/objc/execute/enumeration-2.m -1013968222b ./gcc/testsuite/objc/execute/execute.exp -2364697004b ./gcc/testsuite/objc/execute/fdecl.m -2041731208b ./gcc/testsuite/objc/execute/formal_protocol-1.m -1183019794b ./gcc/testsuite/objc/execute/formal_protocol-2.m - 964580640b ./gcc/testsuite/objc/execute/formal_protocol-3.m - 382692504b ./gcc/testsuite/objc/execute/formal_protocol-4.m -3973735702b ./gcc/testsuite/objc/execute/formal_protocol-5.m -2144981305b ./gcc/testsuite/objc/execute/formal_protocol-6.m -3644699221b ./gcc/testsuite/objc/execute/formal_protocol-6.x - 99644718b ./gcc/testsuite/objc/execute/formal_protocol-7.m -2696823090b ./gcc/testsuite/objc/execute/IMP.m -1013228926b ./gcc/testsuite/objc/execute/informal_protocol.m -2858039597b ./gcc/testsuite/objc/execute/initialize.m -4264400256b ./gcc/testsuite/objc/execute/load-2.m -2230402406b ./gcc/testsuite/objc/execute/load-3.m -2172522617b ./gcc/testsuite/objc/execute/load.m -1396880793b ./gcc/testsuite/objc/execute/many_args_method.m - 160833808b ./gcc/testsuite/objc/execute/nested-1.m -3121484936b ./gcc/testsuite/objc/execute/nested-2.m -1950177275b ./gcc/testsuite/objc/execute/nested-3.m -3845787514b ./gcc/testsuite/objc/execute/no_clash.m -3091877589b ./gcc/testsuite/objc/execute/np-1.m - 837055144b ./gcc/testsuite/objc/execute/np-2.m - 936059862b ./gcc/testsuite/objc/execute/object_is_class.m -1811140144b ./gcc/testsuite/objc/execute/object_is_meta_class.m -3444127895b ./gcc/testsuite/objc/execute/private.m -1487670997b ./gcc/testsuite/objc/execute/protocol.m -3592928955b ./gcc/testsuite/objc/execute/redefining_self.m -1524125855b ./gcc/testsuite/objc/execute/root_methods.m -1619707236b ./gcc/testsuite/objc/execute/selector-1.m -2594938245b ./gcc/testsuite/objc/execute/static-1.m - 639280843b ./gcc/testsuite/objc/execute/static-2.m -1410428796b ./gcc/testsuite/objc/execute/string1.m -2225521120b ./gcc/testsuite/objc/execute/string2.m -2934965640b ./gcc/testsuite/objc/execute/string3.m - 416130789b ./gcc/testsuite/objc/execute/string4.m - 34483048b ./gcc/testsuite/objc/execute/va_method.m - 986418331b ./gcc/testsuite/README -4258789052b ./gcc/testsuite/README.g++ - 174183124b ./gcc/testsuite/README.gcc - 214354681b ./gcc/timevar.c -2559007517b ./gcc/timevar.def -2115869626b ./gcc/timevar.h -2335446483b ./gcc/tlink.c - 163649448b ./gcc/toplev.c -1100253771b ./gcc/toplev.h -2851581967b ./gcc/tradcif.c - 840149782b ./gcc/tradcif.y - 585812029b ./gcc/tradcpp.c - 133942480b ./gcc/tradcpp.h -4051453607b ./gcc/tree.c -1914541060b ./gcc/tree.def -1565760610b ./gcc/tree-dump.c - 177026127b ./gcc/tree-dump.h -3581573816b ./gcc/tree.h -1491742054b ./gcc/tree-inline.c -2000795530b ./gcc/tree-inline.h -2106315745b ./gcc/tsystem.h -4139263293b ./gcc/typeclass.h -2642343552b ./gcc/unroll.c -3994883910b ./gcc/unwind-dw2.c - 939184029b ./gcc/unwind-dw2-fde.c -2451297709b ./gcc/unwind-dw2-fde-glibc.c -2681777274b ./gcc/unwind-dw2-fde.h -4110084340b ./gcc/unwind.h -1788741054b ./gcc/unwind.inc -1733200042b ./gcc/unwind-pe.h -3015631845b ./gcc/unwind-sjlj.c -1202449654b ./gcc/varasm.c -1377429075b ./gcc/varray.c - 251576980b ./gcc/varray.h -3093622349b ./gcc/version.c - 835289284b ./gcc/version.h -1602668013b ./gcc/vmsdbg.h -4159431942b ./gcc/vmsdbgout.c -3414725237b ./gcc/xcoffout.c - 241048359b ./gcc/xcoffout.h - 259673838b ./GNATS -3427622163b ./gnats.html - 218913669b ./include/ansidecl.h -3767303661b ./include/ChangeLog -2171125041b ./include/COPYING -3472518673b ./include/demangle.h - 524172850b ./include/dyn-string.h -3966992879b ./include/fibheap.h -3882244111b ./include/floatformat.h -1934715875b ./include/fnmatch.h -1069433913b ./include/getopt.h -3613614297b ./include/hashtab.h -1889274764b ./include/libiberty.h -2315750201b ./include/md5.h -1017179691b ./include/objalloc.h -2663239037b ./include/obstack.h -1121284874b ./include/partition.h - 618378141b ./include/safe-ctype.h -1944369318b ./include/sort.h -2658328396b ./include/splay-tree.h -1653599470b ./include/symcat.h -1386762946b ./include/ternary.h -1261882580b ./include/xregex2.h -1151436348b ./include/xregex.h -1176932515b ./INSTALL/binaries.html -1486978407b ./INSTALL/build.html -1718198324b ./INSTALL/configure.html -3350091909b ./INSTALL/download.html -3420202342b ./INSTALL/finalinstall.html -2848899000b ./INSTALL/gfdl.html - 374079968b ./INSTALL/index.html -3936331425b ./INSTALL/old.html -2229468985b ./INSTALL/README - 656627656b ./install-sh -2979632843b ./INSTALL/specific.html -2275412368b ./INSTALL/test.html -1714952917b ./libf2c/aclocal.m4 -4143385168b ./libf2c/ChangeLog -1973941211b ./libf2c/changes.netlib -3975721411b ./libf2c/configure -1477197116b ./libf2c/configure.in -2487502900b ./libf2c/disclaimer.netlib - 332556269b ./libf2c/f2cext.c - 259100451b ./libf2c/f2c.h -3266643335b ./libf2c/g2c.hin -1304659322b ./libf2c/libF77/abort_.c -2143735092b ./libf2c/libF77/c_abs.c -3290078007b ./libf2c/libF77/cabs.c -4102372920b ./libf2c/libF77/c_cos.c -1754542093b ./libf2c/libF77/c_div.c -3847115202b ./libf2c/libF77/c_exp.c -2878052462b ./libf2c/libF77/c_log.c - 871413835b ./libf2c/libF77/configure - 937702981b ./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 -2427060621b ./libf2c/libF77/d_atan.c -1296492558b ./libf2c/libF77/d_atn2.c -3575888780b ./libf2c/libF77/d_cnjg.c -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 -2573277355b ./libf2c/libF77/d_lg10.c -2735602877b ./libf2c/libF77/d_log.c -2463902440b ./libf2c/libF77/d_mod.c -1315838709b ./libf2c/libF77/d_nint.c - 865009317b ./libf2c/libF77/d_prod.c - 93986231b ./libf2c/libF77/d_sign.c -3550952375b ./libf2c/libF77/d_sin.c -3529247529b ./libf2c/libF77/d_sinh.c - 198362081b ./libf2c/libF77/d_sqrt.c - 836556354b ./libf2c/libF77/d_tan.c -4186903397b ./libf2c/libF77/d_tanh.c -1412482988b ./libf2c/libF77/dtime_.c -3387281619b ./libf2c/libF77/ef1asc_.c - 49504728b ./libf2c/libF77/ef1cmc_.c -2553568528b ./libf2c/libF77/erf_.c -1439324285b ./libf2c/libF77/erfc_.c -2682848958b ./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 -4172389826b ./libf2c/libF77/h_dim.c -4004178848b ./libf2c/libF77/h_dnnt.c -4111775146b ./libf2c/libF77/h_indx.c -3370033031b ./libf2c/libF77/h_len.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 -1478370784b ./libf2c/libF77/i_len.c -1964370981b ./libf2c/libF77/i_mod.c - 956761106b ./libf2c/libF77/i_nint.c -3590616869b ./libf2c/libF77/i_sign.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 -1531755714b ./libf2c/libF77/main.c -2048561220b ./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 -3408442423b ./libf2c/libF77/pow_hh.c -4238680779b ./libf2c/libF77/pow_ii.c - 483795003b ./libf2c/libF77/pow_qq.c -2828214001b ./libf2c/libF77/pow_ri.c -1113537371b ./libf2c/libF77/pow_zi.c -1192551031b ./libf2c/libF77/pow_zz.c -1528868299b ./libf2c/libF77/qbitbits.c -2508152427b ./libf2c/libF77/qbitshft.c -3223994220b ./libf2c/libF77/r_abs.c -3352864098b ./libf2c/libF77/r_acos.c -3384723664b ./libf2c/libF77/r_asin.c -1988008783b ./libf2c/libF77/r_atan.c - 713014287b ./libf2c/libF77/r_atn2.c - 823683848b ./libf2c/libF77/r_cnjg.c - 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 - 361396536b ./libf2c/libF77/r_lg10.c -2577838016b ./libf2c/libF77/r_log.c -3015829361b ./libf2c/libF77/r_mod.c -1801353496b ./libf2c/libF77/r_nint.c - 617376052b ./libf2c/libF77/r_sign.c -1330225769b ./libf2c/libF77/r_sin.c -3815237833b ./libf2c/libF77/r_sinh.c -3405603649b ./libf2c/libF77/r_sqrt.c - 948857700b ./libf2c/libF77/r_tan.c -2204673615b ./libf2c/libF77/r_tanh.c -2846091421b ./libf2c/libF77/s_cat.c -1366254496b ./libf2c/libF77/s_cmp.c -3500695330b ./libf2c/libF77/s_copy.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 -2593705873b ./libf2c/libF77/s_rnge.c -3862265148b ./libf2c/libF77/s_stop.c - 113341864b ./libf2c/libF77/system_.c -2089507993b ./libf2c/libF77/Version.c -1937893648b ./libf2c/libF77/z_abs.c -2431309812b ./libf2c/libF77/z_cos.c -4069203393b ./libf2c/libF77/z_div.c - 654537628b ./libf2c/libF77/z_exp.c - 391907002b ./libf2c/libF77/z_log.c -2332417514b ./libf2c/libF77/z_sin.c -4013824581b ./libf2c/libF77/z_sqrt.c -1606913831b ./libf2c/libI77/backspace.c -2398093876b ./libf2c/libI77/close.c -3442307107b ./libf2c/libI77/config.h.in -3559715528b ./libf2c/libI77/configure - 511797131b ./libf2c/libI77/configure.in -1434317732b ./libf2c/libI77/dfe.c -1498544240b ./libf2c/libI77/dolio.c -4138072081b ./libf2c/libI77/due.c -2736903293b ./libf2c/libI77/endfile.c - 690850192b ./libf2c/libI77/err.c -3294101487b ./libf2c/libI77/f2ch.add -1356134703b ./libf2c/libI77/fio.h - 772866895b ./libf2c/libI77/fmt.c -4101507712b ./libf2c/libI77/fmt.h -3009804035b ./libf2c/libI77/fmtlib.c -1409031309b ./libf2c/libI77/fp.h -1512800910b ./libf2c/libI77/ftell_.c -1917699485b ./libf2c/libI77/iio.c -1458869538b ./libf2c/libI77/ilnw.c -1005821588b ./libf2c/libI77/inquire.c - 771509778b ./libf2c/libI77/lio.h - 339145586b ./libf2c/libI77/lread.c -2727021368b ./libf2c/libI77/lwrite.c - 81211418b ./libf2c/libI77/Makefile.in -2636902289b ./libf2c/libI77/makefile.netlib -1384146782b ./libf2c/libI77/Notice -1954564498b ./libf2c/libI77/open.c -2450120238b ./libf2c/libI77/rdfmt.c -3744878144b ./libf2c/libI77/README.netlib -2149393700b ./libf2c/libI77/rewind.c -3082421543b ./libf2c/libI77/rsfe.c - 27319661b ./libf2c/libI77/rsli.c - 673652988b ./libf2c/libI77/rsne.c -2680457877b ./libf2c/libI77/sfe.c - 216805921b ./libf2c/libI77/stamp-h.in -4119833693b ./libf2c/libI77/sue.c -4028809578b ./libf2c/libI77/typesize.c -2487538082b ./libf2c/libI77/uio.c -1670879675b ./libf2c/libI77/util.c -3091360080b ./libf2c/libI77/Version.c -3746777128b ./libf2c/libI77/wref.c -1966568786b ./libf2c/libI77/wrtfmt.c -3540661106b ./libf2c/libI77/wsfe.c - 869896149b ./libf2c/libI77/wsle.c -3647229305b ./libf2c/libI77/wsne.c -2958634571b ./libf2c/libI77/xwsne.c -1842933802b ./libf2c/libU77/access_.c -4214861580b ./libf2c/libU77/acconfig.h -2301261828b ./libf2c/libU77/aclocal.m4 -3260157535b ./libf2c/libU77/alarm_.c - 481185218b ./libf2c/libU77/bes.c -3531718858b ./libf2c/libU77/chdir_.c -3571215248b ./libf2c/libU77/chmod_.c -1954724291b ./libf2c/libU77/config.hin -2271415334b ./libf2c/libU77/configure -4081950488b ./libf2c/libU77/configure.in - 508743035b ./libf2c/libU77/COPYING.LIB -3577720310b ./libf2c/libU77/ctime_.c -2890960351b ./libf2c/libU77/date_.c -2503989765b ./libf2c/libU77/datetime_.c -1344682531b ./libf2c/libU77/dbes.c - 969611891b ./libf2c/libU77/dtime_.c -2796364082b ./libf2c/libU77/etime_.c -3739002369b ./libf2c/libU77/fdate_.c -2936845924b ./libf2c/libU77/fgetc_.c -1262136923b ./libf2c/libU77/flush1_.c - 55475392b ./libf2c/libU77/fnum_.c -1786809239b ./libf2c/libU77/fputc_.c -3903452909b ./libf2c/libU77/fstat_.c -3782463129b ./libf2c/libU77/gerror_.c -1443084591b ./libf2c/libU77/getcwd_.c -2258536089b ./libf2c/libU77/getgid_.c -2010909588b ./libf2c/libU77/getlog_.c -3431059629b ./libf2c/libU77/getpid_.c - 72289587b ./libf2c/libU77/getuid_.c - 827784876b ./libf2c/libU77/gmtime_.c -2490508241b ./libf2c/libU77/hostnm_.c -1547236336b ./libf2c/libU77/idate_.c -1177948837b ./libf2c/libU77/ierrno_.c -2294075352b ./libf2c/libU77/irand_.c -1142470864b ./libf2c/libU77/isatty_.c -2802178091b ./libf2c/libU77/itime_.c -3704802748b ./libf2c/libU77/kill_.c - 910885406b ./libf2c/libU77/link_.c -1995276793b ./libf2c/libU77/lnblnk_.c -3149128167b ./libf2c/libU77/lstat_.c -1763071373b ./libf2c/libU77/ltime_.c -2717291481b ./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 -1721102323b ./libf2c/libU77/sleep_.c - 366913838b ./libf2c/libU77/srand_.c - 216805921b ./libf2c/libU77/stamp-h.in -1858264400b ./libf2c/libU77/stat_.c - 398713372b ./libf2c/libU77/symlnk_.c -1023580093b ./libf2c/libU77/sys_clock_.c -4060599200b ./libf2c/libU77/time_.c -4222211870b ./libf2c/libU77/ttynam_.c - 791266987b ./libf2c/libU77/u77-test.f - 387772730b ./libf2c/libU77/umask_.c -1230596654b ./libf2c/libU77/unlink_.c -4065977549b ./libf2c/libU77/Version.c -2702299573b ./libf2c/libU77/vxtidate_.c -3987376609b ./libf2c/libU77/vxttime_.c -3277779159b ./libf2c/Makefile.in -1384146782b ./libf2c/permission.netlib -3111321221b ./libf2c/README -3513813969b ./libf2c/readme.netlib - 308226469b ./libf2c/TODO -1812706554b ./libffi/acconfig.h -2067133813b ./libffi/acinclude.m4 - 724319761b ./libffi/aclocal.m4 -1801242156b ./libffi/ChangeLog -2412263940b ./libffi/ChangeLog.libgcj -1481682558b ./libffi/ChangeLog.v1 -3495452477b ./libffi/configure -2032651767b ./libffi/configure.in -1158949320b ./libffi/fficonfig.h.in -3309556484b ./libffi/include/ffi_common.h -2313143056b ./libffi/include/ffi.h.in -2321044801b ./libffi/include/ffi_mips.h -1175058075b ./libffi/include/Makefile.am -3624063070b ./libffi/include/Makefile.in -2593181117b ./libffi/LICENSE -1657741728b ./libffi/Makefile.am -3338553004b ./libffi/Makefile.in -3508322383b ./libffi/README -3852747706b ./libffi/src/alpha/ffi.c -2032396460b ./libffi/src/alpha/osf.S -4293371769b ./libffi/src/arm/ffi.c - 591152992b ./libffi/src/arm/sysv.S -2669027491b ./libffi/src/debug.c - 269618381b ./libffi/src/ffitest.c -2435449601b ./libffi/src/ia64/ffi.c -1956966073b ./libffi/src/ia64/ia64_flags.h -2886414800b ./libffi/src/ia64/unix.S -2946352717b ./libffi/src/java_raw_api.c -4236219331b ./libffi/src/m68k/ffi.c -1684090594b ./libffi/src/m68k/sysv.S -1785558758b ./libffi/src/mips/ffi.c - 176940890b ./libffi/src/mips/n32.S -3634355650b ./libffi/src/mips/o32.S -2356375417b ./libffi/src/powerpc/aix_closure.S -1342850260b ./libffi/src/powerpc/aix.S - 257105690b ./libffi/src/powerpc/asm.h -1992059182b ./libffi/src/powerpc/darwin_closure.S - 91989017b ./libffi/src/powerpc/darwin.S -1107349205b ./libffi/src/powerpc/ffi.c - 342545621b ./libffi/src/powerpc/ffi_darwin.c -2353704113b ./libffi/src/powerpc/ppc_closure.S -1185461672b ./libffi/src/powerpc/sysv.S -1962807490b ./libffi/src/prep_cif.c -2419197691b ./libffi/src/raw_api.c -1719114531b ./libffi/src/sparc/ffi.c -1526185028b ./libffi/src/sparc/v8.S -2310583994b ./libffi/src/sparc/v9.S - 518804215b ./libffi/src/types.c - 788399349b ./libffi/src/x86/ffi.c - 760488121b ./libffi/src/x86/sysv.S - 478025840b ./libffi/src/x86/win32.S - 216805921b ./libffi/stamp-h.in - 640604299b ./libiberty/aclocal.m4 -4169173798b ./libiberty/alloca.c - 122203256b ./libiberty/argv.c - 751194285b ./libiberty/asprintf.c -3613577770b ./libiberty/atexit.c - 412337659b ./libiberty/basename.c -2877771686b ./libiberty/bcmp.c -3653876397b ./libiberty/bcopy.c -1033916047b ./libiberty/bsearch.c -2389959529b ./libiberty/bzero.c -1591293922b ./libiberty/calloc.c -1121801877b ./libiberty/ChangeLog -2264262326b ./libiberty/choose-temp.c -2557767520b ./libiberty/clock.c -3170582338b ./libiberty/concat.c -1987387424b ./libiberty/config.h-vms -2319815417b ./libiberty/config.in -3500529335b ./libiberty/config/mh-aix -3476234501b ./libiberty/config/mh-cxux7 -1235651640b ./libiberty/config/mh-fbsd21 -2904567379b ./libiberty/config/mh-openedition -2131807358b ./libiberty/config/mh-windows -4294237366b ./libiberty/config.table -4091270154b ./libiberty/configure -1024440091b ./libiberty/configure.in - 508743035b ./libiberty/COPYING.LIB -2478885430b ./libiberty/copying-lib.texi -3329761531b ./libiberty/copysign.c -2979121734b ./libiberty/cp-demangle.c -2109007668b ./libiberty/cplus-dem.c - 602306638b ./libiberty/_doprnt.c -3785501494b ./libiberty/dyn-string.c -1492855576b ./libiberty/fdmatch.c -3977780801b ./libiberty/ffs.c -2257696761b ./libiberty/fibheap.c -2495949053b ./libiberty/floatformat.c -1510070689b ./libiberty/fnmatch.c -1078076716b ./libiberty/fnmatch.txh - 85493406b ./libiberty/functions.texi -3789905598b ./libiberty/gather-docs -2046253791b ./libiberty/getcwd.c -2320609345b ./libiberty/getopt1.c -3944018229b ./libiberty/getopt.c -3996466380b ./libiberty/getpagesize.c -2690816019b ./libiberty/getpwd.c -3425858883b ./libiberty/getruntime.c -1214210640b ./libiberty/hashtab.c -1870214410b ./libiberty/hex.c -3335497459b ./libiberty/index.c -3255705408b ./libiberty/insque.c -1676968368b ./libiberty/lbasename.c -1958824006b ./libiberty/libiberty.texi -3183084918b ./libiberty/maint-tool - 661006252b ./libiberty/Makefile.in -3226217883b ./libiberty/makefile.vms -2495473509b ./libiberty/make-temp-file.c -3176875729b ./libiberty/md5.c -1640952211b ./libiberty/memchr.c -2120544197b ./libiberty/memcmp.c - 998344495b ./libiberty/memcpy.c -1685999989b ./libiberty/memmove.c - 781584880b ./libiberty/memset.c -1326635668b ./libiberty/mkstemps.c -3930704547b ./libiberty/mpw.c -2010995764b ./libiberty/mpw-config.in -1580171809b ./libiberty/mpw-make.sed -2503648631b ./libiberty/msdos.c - 196373918b ./libiberty/objalloc.c - 317557207b ./libiberty/obstack.c -3821010694b ./libiberty/obstacks.texi -1735078044b ./libiberty/partition.c -2798791758b ./libiberty/pexecute.c -3819346820b ./libiberty/putenv.c -4197438328b ./libiberty/random.c -4016047250b ./libiberty/README -4045358849b ./libiberty/regex.c -1175910896b ./libiberty/rename.c -2903758838b ./libiberty/rindex.c -2149284318b ./libiberty/safe-ctype.c - 779495612b ./libiberty/setenv.c -1334646884b ./libiberty/sigsetmask.c - 532242404b ./libiberty/sort.c -4103476962b ./libiberty/spaces.c - 656918725b ./libiberty/splay-tree.c -2341714522b ./libiberty/strcasecmp.c -4233130047b ./libiberty/strchr.c - 18952980b ./libiberty/strdup.c -2389170415b ./libiberty/strerror.c - 169676915b ./libiberty/strncasecmp.c -1464675486b ./libiberty/strncmp.c -1805839887b ./libiberty/strrchr.c -3254160712b ./libiberty/strsignal.c -2303974130b ./libiberty/strstr.c -2399125104b ./libiberty/strtod.c -2287814393b ./libiberty/strtol.c -1828706574b ./libiberty/strtoul.c -3268886825b ./libiberty/ternary.c -3508543088b ./libiberty/testsuite/demangle-expected -2389145348b ./libiberty/testsuite/Makefile.in -2944174175b ./libiberty/testsuite/regress-demangle -3862028978b ./libiberty/tmpnam.c -3018358591b ./libiberty/vasprintf.c -3875192457b ./libiberty/vfork.c -3556593952b ./libiberty/vfprintf.c -2773716443b ./libiberty/vmsbuild.com -3899232273b ./libiberty/vprintf.c -3719865817b ./libiberty/vsprintf.c - 192504561b ./libiberty/waitpid.c -3482083725b ./libiberty/xatexit.c - 805686844b ./libiberty/xexit.c -3313408860b ./libiberty/xmalloc.c -1302531664b ./libiberty/xmemdup.c - 991611298b ./libiberty/xstrdup.c - 387398324b ./libiberty/xstrerror.c - 426063533b ./libjava/acconfig.h -3221815868b ./libjava/acinclude.m4 -3506621156b ./libjava/aclocal.m4 -3784840223b ./libjava/addr2name.awk -2317653915b ./libjava/boehm.cc - 38702888b ./libjava/ChangeLog -3473562392b ./libjava/ChangeLog-1999 -2385951174b ./libjava/ChangeLog-2001 -2118024035b ./libjava/configure -2328290871b ./libjava/configure.host -3463448501b ./libjava/configure.in -2171125041b ./libjava/COPYING -3097747965b ./libjava/defineclass.cc - 535801509b ./libjava/doc/cni.sgml -1183730379b ./libjava/exception.cc -3591403769b ./libjava/gcj/array.h -1281724033b ./libjava/gcj/cni.h - 227606957b ./libjava/gcj/field.h -1774648773b ./libjava/gcj/javaprims.h -1775313853b ./libjava/gcj/libgcj-config.h.in -1011701793b ./libjava/gcj/Makefile.am -3428145469b ./libjava/gcj/Makefile.in -1073488355b ./libjava/gcj/method.h -1055027936b ./libjava/gij.cc -1596689297b ./libjava/gnu/awt/gtk/GtkButtonPeer.java - 922026864b ./libjava/gnu/awt/gtk/gtkcommon.cc -3699017559b ./libjava/gnu/awt/gtk/gtkcommon.h -3410609778b ./libjava/gnu/awt/gtk/GtkComponentPeer.java -2912275709b ./libjava/gnu/awt/gtk/GtkContainerPeer.java -1877686985b ./libjava/gnu/awt/gtk/GtkFramePeer.java - 34229675b ./libjava/gnu/awt/gtk/GtkLabelPeer.java -3368349978b ./libjava/gnu/awt/gtk/GtkMainThread.java -2212086115b ./libjava/gnu/awt/gtk/GtkToolkit.java - 466557738b ./libjava/gnu/awt/gtk/GtkWindowPeer.java -3416961245b ./libjava/gnu/awt/gtk/natGtkButtonPeer.cc -2501282912b ./libjava/gnu/awt/gtk/natGtkComponentPeer.cc - 861082488b ./libjava/gnu/awt/gtk/natGtkContainerPeer.cc - 244230297b ./libjava/gnu/awt/gtk/natGtkFramePeer.cc -3238461975b ./libjava/gnu/awt/gtk/natGtkLabelPeer.cc -2820009429b ./libjava/gnu/awt/gtk/natGtkMainThread.cc - 968113131b ./libjava/gnu/awt/gtk/natGtkToolkit.cc -2864147854b ./libjava/gnu/awt/gtk/natGtkWindowPeer.cc -2742774547b ./libjava/gnu/awt/j2d/AbstractGraphicsState.java - 298830684b ./libjava/gnu/awt/j2d/DirectRasterGraphics.java -1783524857b ./libjava/gnu/awt/j2d/Graphics2DImpl.java -2946615030b ./libjava/gnu/awt/j2d/IntegerGraphicsState.java - 823126662b ./libjava/gnu/awt/j2d/MappedRaster.java -2535888045b ./libjava/gnu/awt/LightweightRedirector.java -4203439929b ./libjava/gnu/awt/xlib/XCanvasPeer.java -3055110597b ./libjava/gnu/awt/xlib/XEventLoop.java -2886723915b ./libjava/gnu/awt/xlib/XEventQueue.java -1386185884b ./libjava/gnu/awt/xlib/XFontMetrics.java -1240842045b ./libjava/gnu/awt/xlib/XFramePeer.java -1292730399b ./libjava/gnu/awt/xlib/XGraphicsConfiguration.java -1394253720b ./libjava/gnu/awt/xlib/XGraphics.java -4211424512b ./libjava/gnu/awt/xlib/XPanelPeer.java -2089387515b ./libjava/gnu/awt/xlib/XToolkit.java -3357000131b ./libjava/gnu/classpath/Configuration.java.in -2926627917b ./libjava/gnu/gcj/convert/Blocks-3.txt - 958965717b ./libjava/gnu/gcj/convert/BytesToUnicode.java -3687721297b ./libjava/gnu/gcj/convert/Convert.java -2990675168b ./libjava/gnu/gcj/convert/gen-from-JIS.c - 624954174b ./libjava/gnu/gcj/convert/Input_8859_1.java -1230020474b ./libjava/gnu/gcj/convert/Input_ASCII.java - 271098151b ./libjava/gnu/gcj/convert/Input_EUCJIS.java -1595200171b ./libjava/gnu/gcj/convert/Input_iconv.java -2185755288b ./libjava/gnu/gcj/convert/Input_JavaSrc.java -2110225778b ./libjava/gnu/gcj/convert/Input_SJIS.java -1513325785b ./libjava/gnu/gcj/convert/Input_UTF8.java -1955248518b ./libjava/gnu/gcj/convert/IOConverter.java -3459137842b ./libjava/gnu/gcj/convert/JIS0201.h -2049723314b ./libjava/gnu/gcj/convert/JIS0208.h -4153637973b ./libjava/gnu/gcj/convert/JIS0208_to_Unicode.cc -1075531862b ./libjava/gnu/gcj/convert/JIS0212.h -2320550799b ./libjava/gnu/gcj/convert/JIS0212_to_Unicode.cc -3112494990b ./libjava/gnu/gcj/convert/make-trie.c -2305784698b ./libjava/gnu/gcj/convert/natIconv.cc -3409212961b ./libjava/gnu/gcj/convert/natInput_EUCJIS.cc -2514359574b ./libjava/gnu/gcj/convert/natInput_SJIS.cc - 784829283b ./libjava/gnu/gcj/convert/natOutput_EUCJIS.cc -4119160238b ./libjava/gnu/gcj/convert/natOutput_SJIS.cc -2034070368b ./libjava/gnu/gcj/convert/Output_8859_1.java -4217873292b ./libjava/gnu/gcj/convert/Output_ASCII.java - 842766967b ./libjava/gnu/gcj/convert/Output_EUCJIS.java - 58644124b ./libjava/gnu/gcj/convert/Output_iconv.java -3127943909b ./libjava/gnu/gcj/convert/Output_JavaSrc.java -3336489456b ./libjava/gnu/gcj/convert/Output_SJIS.java -1644529420b ./libjava/gnu/gcj/convert/Output_UTF8.java -2459634193b ./libjava/gnu/gcj/convert/UnicodeCharacterDatabase-3.0.0.html -2507096442b ./libjava/gnu/gcj/convert/UnicodeData-3.0.0.txt -4262149961b ./libjava/gnu/gcj/convert/UnicodeToBytes.java -2676798711b ./libjava/gnu/gcj/convert/Unicode_to_JIS.cc -2882288660b ./libjava/gnu/gcj/Core.java -3580885543b ./libjava/gnu/gcj/io/DefaultMimeTypes.java -1393439370b ./libjava/gnu/gcj/io/MimeTypes.java -1645841998b ./libjava/gnu/gcj/io/natSimpleSHSStream.cc - 88411881b ./libjava/gnu/gcj/io/shs.cc -3951902308b ./libjava/gnu/gcj/io/shs.h - 595453629b ./libjava/gnu/gcj/io/SimpleSHSStream.java - 19196032b ./libjava/gnu/gcj/natCore.cc -3713902803b ./libjava/gnu/gcj/protocol/core/Connection.java -1924151198b ./libjava/gnu/gcj/protocol/core/CoreInputStream.java -2886826729b ./libjava/gnu/gcj/protocol/core/Handler.java -3112605791b ./libjava/gnu/gcj/protocol/core/natCoreInputStream.cc - 640992483b ./libjava/gnu/gcj/protocol/file/Connection.java -3103931425b ./libjava/gnu/gcj/protocol/file/Handler.java - 635772836b ./libjava/gnu/gcj/protocol/http/Connection.java - 132815256b ./libjava/gnu/gcj/protocol/http/Handler.java -2878492435b ./libjava/gnu/gcj/protocol/jar/Connection.java -1743208466b ./libjava/gnu/gcj/protocol/jar/Handler.java -2282503099b ./libjava/gnu/gcj/RawData.java - 501773112b ./libjava/gnu/gcj/runtime/FileDeleter.java -1535802220b ./libjava/gnu/gcj/runtime/FinalizerThread.java -1105934296b ./libjava/gnu/gcj/runtime/FirstThread.java -4204305482b ./libjava/gnu/gcj/runtime/JNIWeakRef.java -1025799273b ./libjava/gnu/gcj/runtime/natFinalizerThread.cc -1558736281b ./libjava/gnu/gcj/runtime/natFirstThread.cc -2521984623b ./libjava/gnu/gcj/runtime/natSharedLibLoader.cc -2150610459b ./libjava/gnu/gcj/runtime/natStringBuffer.cc -2135835481b ./libjava/gnu/gcj/runtime/SharedLibLoader.java -3369847265b ./libjava/gnu/gcj/runtime/StringBuffer.java -3662016298b ./libjava/gnu/gcj/runtime/VMClassLoader.java - 66527498b ./libjava/gnu/gcj/xlib/Clip.java -2501208995b ./libjava/gnu/gcj/xlib/Colormap.java -4007691160b ./libjava/gnu/gcj/xlib/Display.java - 334010163b ./libjava/gnu/gcj/xlib/Drawable.java -3794271918b ./libjava/gnu/gcj/xlib/Font.java -2207398681b ./libjava/gnu/gcj/xlib/GC.java -2721622585b ./libjava/gnu/gcj/xlib/natClip.cc - 313845725b ./libjava/gnu/gcj/xlib/natColormap.cc -4037646551b ./libjava/gnu/gcj/xlib/natDisplay.cc - 639031309b ./libjava/gnu/gcj/xlib/natDrawable.cc -1648177432b ./libjava/gnu/gcj/xlib/natFont.cc - 61045074b ./libjava/gnu/gcj/xlib/natGC.cc -2441230090b ./libjava/gnu/gcj/xlib/natPixmap.cc -1112468906b ./libjava/gnu/gcj/xlib/natScreen.cc -3505240565b ./libjava/gnu/gcj/xlib/natVisual.cc - 49610297b ./libjava/gnu/gcj/xlib/natWindowAttributes.cc -3715533436b ./libjava/gnu/gcj/xlib/natWindow.cc -2728656554b ./libjava/gnu/gcj/xlib/natWMSizeHints.cc -2928451851b ./libjava/gnu/gcj/xlib/natXAnyEvent.cc -1448210768b ./libjava/gnu/gcj/xlib/natXButtonEvent.cc -1690231537b ./libjava/gnu/gcj/xlib/natXColor.cc -2465747567b ./libjava/gnu/gcj/xlib/natXConfigureEvent.cc -1372643816b ./libjava/gnu/gcj/xlib/natXException.cc -1109730421b ./libjava/gnu/gcj/xlib/natXExposeEvent.cc -2724939209b ./libjava/gnu/gcj/xlib/natXImage.cc -2947736072b ./libjava/gnu/gcj/xlib/natXUnmapEvent.cc -3285825579b ./libjava/gnu/gcj/xlib/Pixmap.java -3350074944b ./libjava/gnu/gcj/xlib/Screen.java - 442092378b ./libjava/gnu/gcj/xlib/Visual.java -2703412405b ./libjava/gnu/gcj/xlib/WindowAttributes.java -2300472805b ./libjava/gnu/gcj/xlib/Window.java - 540355668b ./libjava/gnu/gcj/xlib/WMSizeHints.java - 735616079b ./libjava/gnu/gcj/xlib/XAnyEvent.java -2053093871b ./libjava/gnu/gcj/xlib/XButtonEvent.java -1193490335b ./libjava/gnu/gcj/xlib/XColor.java -3412915905b ./libjava/gnu/gcj/xlib/XConfigureEvent.java -3680444774b ./libjava/gnu/gcj/xlib/XConnectException.java -3758585380b ./libjava/gnu/gcj/xlib/XEvent.java -2109559056b ./libjava/gnu/gcj/xlib/XException.java -3813405109b ./libjava/gnu/gcj/xlib/XExposeEvent.java -1394364288b ./libjava/gnu/gcj/xlib/XID.java -2651203935b ./libjava/gnu/gcj/xlib/XImage.java - 623452528b ./libjava/gnu/gcj/xlib/XUnmapEvent.java - 251988486b ./libjava/gnu/java/awt/BitMaskExtent.java -2959084409b ./libjava/gnu/java/awt/Buffers.java -3864124155b ./libjava/gnu/java/awt/ComponentDataBlitOp.java - 76001054b ./libjava/gnu/java/awt/GLightweightPeer.java -4175984299b ./libjava/gnu/java/beans/BeanInfoEmbryo.java -1186439895b ./libjava/gnu/java/beans/editors/ColorEditor.java -1824068032b ./libjava/gnu/java/beans/editors/FontEditor.java -1141912550b ./libjava/gnu/java/beans/editors/NativeBooleanEditor.java -3464614661b ./libjava/gnu/java/beans/editors/NativeByteEditor.java -2154821458b ./libjava/gnu/java/beans/editors/NativeDoubleEditor.java - 956044404b ./libjava/gnu/java/beans/editors/NativeFloatEditor.java -1106992351b ./libjava/gnu/java/beans/editors/NativeIntEditor.java -3649786395b ./libjava/gnu/java/beans/editors/NativeLongEditor.java -2388248931b ./libjava/gnu/java/beans/editors/NativeShortEditor.java - 84373625b ./libjava/gnu/java/beans/editors/StringEditor.java -1050980841b ./libjava/gnu/java/beans/EmptyBeanInfo.java -4274204668b ./libjava/gnu/java/beans/ExplicitBeanInfo.java -3309737548b ./libjava/gnu/java/beans/info/ComponentBeanInfo.java -2859546207b ./libjava/gnu/java/beans/IntrospectionIncubator.java -1517826185b ./libjava/gnu/java/io/ClassLoaderObjectInputStream.java - 185400995b ./libjava/gnu/java/io/NullOutputStream.java - 337775204b ./libjava/gnu/java/io/ObjectIdentityWrapper.java - 412146955b ./libjava/gnu/java/lang/ArrayHelper.java -1957385229b ./libjava/gnu/java/lang/CharData.java -1294839044b ./libjava/gnu/java/lang/ClassHelper.java - 375881807b ./libjava/gnu/java/lang/reflect/TypeSignature.java -3366025795b ./libjava/gnu/java/locale/Calendar_de.java -3838960820b ./libjava/gnu/java/locale/Calendar_en.java -3367817123b ./libjava/gnu/java/locale/Calendar.java -2827383186b ./libjava/gnu/java/locale/Calendar_nl.java - 853990452b ./libjava/gnu/java/locale/LocaleInformation_af_ZA.java -3574665519b ./libjava/gnu/java/locale/LocaleInformation_ar_AE.java -1313953526b ./libjava/gnu/java/locale/LocaleInformation_ar_BH.java -1063099118b ./libjava/gnu/java/locale/LocaleInformation_ar_DZ.java -2661355701b ./libjava/gnu/java/locale/LocaleInformation_ar_EG.java - 792384655b ./libjava/gnu/java/locale/LocaleInformation_ar_IN.java -2984374613b ./libjava/gnu/java/locale/LocaleInformation_ar_IQ.java - 149108303b ./libjava/gnu/java/locale/LocaleInformation_ar_JO.java -3524478720b ./libjava/gnu/java/locale/LocaleInformation_ar_KW.java - 83370893b ./libjava/gnu/java/locale/LocaleInformation_ar_LB.java -3602937944b ./libjava/gnu/java/locale/LocaleInformation_ar_LY.java -4151428411b ./libjava/gnu/java/locale/LocaleInformation_ar_MA.java -4074629453b ./libjava/gnu/java/locale/LocaleInformation_ar_OM.java -4155901603b ./libjava/gnu/java/locale/LocaleInformation_ar_QA.java -2390802667b ./libjava/gnu/java/locale/LocaleInformation_ar_SD.java - 658870558b ./libjava/gnu/java/locale/LocaleInformation_ar_SY.java - 633628430b ./libjava/gnu/java/locale/LocaleInformation_ar_TN.java -3417988329b ./libjava/gnu/java/locale/LocaleInformation_ar_YE.java - 16694947b ./libjava/gnu/java/locale/LocaleInformation_be_BY.java -2893823739b ./libjava/gnu/java/locale/LocaleInformation_bn_IN.java -3473497973b ./libjava/gnu/java/locale/LocaleInformation_br_FR.java -2011654773b ./libjava/gnu/java/locale/LocaleInformation_bs_BA.java - 703208961b ./libjava/gnu/java/locale/LocaleInformation_ca_ES.java -3606272911b ./libjava/gnu/java/locale/LocaleInformation_cs_CZ.java -3029808974b ./libjava/gnu/java/locale/LocaleInformation_cy_GB.java -3138806717b ./libjava/gnu/java/locale/LocaleInformation_da_DK.java - 660397810b ./libjava/gnu/java/locale/LocaleInformation_de_AT.java -2697869622b ./libjava/gnu/java/locale/LocaleInformation_de_BE.java -1184133602b ./libjava/gnu/java/locale/LocaleInformation_de_CH.java -2039543804b ./libjava/gnu/java/locale/LocaleInformation_de_DE.java -1896252461b ./libjava/gnu/java/locale/LocaleInformation_de.java -1754963126b ./libjava/gnu/java/locale/LocaleInformation_de_LU.java -1950789713b ./libjava/gnu/java/locale/LocaleInformation_el_GR.java -3105733407b ./libjava/gnu/java/locale/LocaleInformation_en_AU.java -1645688637b ./libjava/gnu/java/locale/LocaleInformation_en_BW.java -1552823020b ./libjava/gnu/java/locale/LocaleInformation_en_CA.java -1224627615b ./libjava/gnu/java/locale/LocaleInformation_en_DK.java -1660785124b ./libjava/gnu/java/locale/LocaleInformation_en_GB.java -3654129156b ./libjava/gnu/java/locale/LocaleInformation_en_HK.java -1423793734b ./libjava/gnu/java/locale/LocaleInformation_en_IE.java -3034389835b ./libjava/gnu/java/locale/LocaleInformation_en_IN.java -1639156831b ./libjava/gnu/java/locale/LocaleInformation_en.java -4146466217b ./libjava/gnu/java/locale/LocaleInformation_en_NZ.java -2700111700b ./libjava/gnu/java/locale/LocaleInformation_en_PH.java -1734741103b ./libjava/gnu/java/locale/LocaleInformation_en_SG.java -3123474486b ./libjava/gnu/java/locale/LocaleInformation_en_US.java -1439333667b ./libjava/gnu/java/locale/LocaleInformation_en_ZA.java - 835156286b ./libjava/gnu/java/locale/LocaleInformation_en_ZW.java -3007131568b ./libjava/gnu/java/locale/LocaleInformation_es_AR.java -3464689606b ./libjava/gnu/java/locale/LocaleInformation_es_BO.java -2989224997b ./libjava/gnu/java/locale/LocaleInformation_es_CL.java - 308487454b ./libjava/gnu/java/locale/LocaleInformation_es_CO.java -1200270410b ./libjava/gnu/java/locale/LocaleInformation_es_CR.java -1068207106b ./libjava/gnu/java/locale/LocaleInformation_es_DO.java - 14677377b ./libjava/gnu/java/locale/LocaleInformation_es_EC.java -3508510841b ./libjava/gnu/java/locale/LocaleInformation_es_ES.java - 649064556b ./libjava/gnu/java/locale/LocaleInformation_es_GT.java -3444054086b ./libjava/gnu/java/locale/LocaleInformation_es_HN.java -3555909696b ./libjava/gnu/java/locale/LocaleInformation_es_MX.java -2833308305b ./libjava/gnu/java/locale/LocaleInformation_es_NI.java -4174396920b ./libjava/gnu/java/locale/LocaleInformation_es_PA.java - 838660172b ./libjava/gnu/java/locale/LocaleInformation_es_PE.java -3589446087b ./libjava/gnu/java/locale/LocaleInformation_es_PR.java -4075678248b ./libjava/gnu/java/locale/LocaleInformation_es_PY.java -2329208913b ./libjava/gnu/java/locale/LocaleInformation_es_SV.java -2413424051b ./libjava/gnu/java/locale/LocaleInformation_es_US.java -2571158522b ./libjava/gnu/java/locale/LocaleInformation_es_UY.java -3961724338b ./libjava/gnu/java/locale/LocaleInformation_es_VE.java -1652877014b ./libjava/gnu/java/locale/LocaleInformation_et_EE.java -1998932970b ./libjava/gnu/java/locale/LocaleInformation_eu_ES.java -1225517253b ./libjava/gnu/java/locale/LocaleInformation_fa_IR.java -4095933109b ./libjava/gnu/java/locale/LocaleInformation_fi_FI.java -4260527638b ./libjava/gnu/java/locale/LocaleInformation_fo_FO.java - 313030804b ./libjava/gnu/java/locale/LocaleInformation_fr_BE.java - 929726634b ./libjava/gnu/java/locale/LocaleInformation_fr_CA.java -3560295796b ./libjava/gnu/java/locale/LocaleInformation_fr_CH.java -1651927254b ./libjava/gnu/java/locale/LocaleInformation_fr_FR.java -1770965918b ./libjava/gnu/java/locale/LocaleInformation_fr_LU.java -2930632457b ./libjava/gnu/java/locale/LocaleInformation_ga_IE.java -3764917948b ./libjava/gnu/java/locale/LocaleInformation_gd_GB.java - 184397736b ./libjava/gnu/java/locale/LocaleInformation_gl_ES.java -4075108403b ./libjava/gnu/java/locale/LocaleInformation_gv_GB.java -3671687849b ./libjava/gnu/java/locale/LocaleInformation_he_IL.java -1551837931b ./libjava/gnu/java/locale/LocaleInformation_hi_IN.java -2876691276b ./libjava/gnu/java/locale/LocaleInformation_hr_HR.java -2174207126b ./libjava/gnu/java/locale/LocaleInformation_hu_HU.java -2936636022b ./libjava/gnu/java/locale/LocaleInformation_id_ID.java - 679304833b ./libjava/gnu/java/locale/LocaleInformation_it_CH.java -2288758679b ./libjava/gnu/java/locale/LocaleInformation_it_IT.java -1670529133b ./libjava/gnu/java/locale/LocaleInformation_iw_IL.java -4285275820b ./libjava/gnu/java/locale/LocaleInformation_ja_JP.java - 88782889b ./libjava/gnu/java/locale/LocaleInformation.java - 305209674b ./libjava/gnu/java/locale/LocaleInformation_ka_GE.java - 289636212b ./libjava/gnu/java/locale/LocaleInformation_kl_GL.java -3381743821b ./libjava/gnu/java/locale/LocaleInformation_ko_KR.java -1243496183b ./libjava/gnu/java/locale/LocaleInformation_kw_GB.java - 808874315b ./libjava/gnu/java/locale/LocaleInformation_lt_LT.java -3825187332b ./libjava/gnu/java/locale/LocaleInformation_lv_LV.java -3084880379b ./libjava/gnu/java/locale/LocaleInformation_mi_NZ.java -1118828067b ./libjava/gnu/java/locale/LocaleInformation_mk_MK.java -3470919889b ./libjava/gnu/java/locale/LocaleInformation_mr_IN.java -3011395902b ./libjava/gnu/java/locale/LocaleInformation_mt_MT.java -3941557872b ./libjava/gnu/java/locale/LocaleInformation_nl_BE.java - 803932216b ./libjava/gnu/java/locale/LocaleInformation_nl.java -2192944115b ./libjava/gnu/java/locale/LocaleInformation_nl_NL.java - 171051379b ./libjava/gnu/java/locale/LocaleInformation_nn_NO.java -1581832797b ./libjava/gnu/java/locale/LocaleInformation_no_NO.java -1219732943b ./libjava/gnu/java/locale/LocaleInformation_oc_FR.java -2114116519b ./libjava/gnu/java/locale/LocaleInformation_pl_PL.java -1296721389b ./libjava/gnu/java/locale/LocaleInformation_pt_BR.java - 532295687b ./libjava/gnu/java/locale/LocaleInformation_pt_PT.java -3905012288b ./libjava/gnu/java/locale/LocaleInformation_ro_RO.java -2891469302b ./libjava/gnu/java/locale/LocaleInformation_ru_RU.java -2211921262b ./libjava/gnu/java/locale/LocaleInformation_ru_UA.java -2154597673b ./libjava/gnu/java/locale/LocaleInformation_se_NO.java -1657728755b ./libjava/gnu/java/locale/LocaleInformation_sk_SK.java -4026231879b ./libjava/gnu/java/locale/LocaleInformation_sl_SI.java -2922727788b ./libjava/gnu/java/locale/LocaleInformation_sq_AL.java -3806137820b ./libjava/gnu/java/locale/LocaleInformation_sr_YU.java -1835499757b ./libjava/gnu/java/locale/LocaleInformation_sv_FI.java -1350098382b ./libjava/gnu/java/locale/LocaleInformation_sv_SE.java - 189094633b ./libjava/gnu/java/locale/LocaleInformation_ta_IN.java -2178333634b ./libjava/gnu/java/locale/LocaleInformation_te_IN.java -2564074117b ./libjava/gnu/java/locale/LocaleInformation_tg_TJ.java -1155895744b ./libjava/gnu/java/locale/LocaleInformation_tl_PH.java -2362053980b ./libjava/gnu/java/locale/LocaleInformation_tr_TR.java -1718823447b ./libjava/gnu/java/locale/LocaleInformation_uk_UA.java -3861809213b ./libjava/gnu/java/locale/LocaleInformation_ur_PK.java - 3380107b ./libjava/gnu/java/locale/LocaleInformation_uz_UZ.java -1701278586b ./libjava/gnu/java/locale/LocaleInformation_vi_VN.java -1606209787b ./libjava/gnu/java/locale/LocaleInformation_yi_US.java -2421213319b ./libjava/gnu/java/locale/LocaleInformation_zh_CN.java - 183615398b ./libjava/gnu/java/locale/LocaleInformation_zh_HK.java -1075516168b ./libjava/gnu/java/locale/LocaleInformation_zh_SG.java -3357709537b ./libjava/gnu/java/locale/LocaleInformation_zh_TW.java -3391912438b ./libjava/gnu/java/math/MPN.java -4169108228b ./libjava/gnu/java/rmi/dgc/DGCImpl.java -4171280577b ./libjava/gnu/java/rmi/dgc/DGCImpl_Skel.java -1424132902b ./libjava/gnu/java/rmi/dgc/DGCImpl_Stub.java -1371885502b ./libjava/gnu/java/rmi/registry/RegistryImpl.java - 583279947b ./libjava/gnu/java/rmi/registry/RegistryImpl_Skel.java - 44985979b ./libjava/gnu/java/rmi/registry/RegistryImpl_Stub.java -3466229248b ./libjava/gnu/java/rmi/rmic/Compile_gcj.java -2495154954b ./libjava/gnu/java/rmi/rmic/Compiler.java -2850269889b ./libjava/gnu/java/rmi/rmic/CompilerProcess.java -4019537723b ./libjava/gnu/java/rmi/rmic/RMIC.java - 634294081b ./libjava/gnu/java/rmi/rmic/TabbedWriter.java -2494884681b ./libjava/gnu/java/rmi/server/ProtocolConstants.java -1676680003b ./libjava/gnu/java/rmi/server/RMIDefaultSocketFactory.java -2333110819b ./libjava/gnu/java/rmi/server/RMIHashes.java - 742398258b ./libjava/gnu/java/rmi/server/RMIObjectInputStream.java -1754833006b ./libjava/gnu/java/rmi/server/RMIObjectOutputStream.java -3598051261b ./libjava/gnu/java/rmi/server/UnicastConnection.java -2756896208b ./libjava/gnu/java/rmi/server/UnicastConnectionManager.java -1237410073b ./libjava/gnu/java/rmi/server/UnicastRef.java - 764069575b ./libjava/gnu/java/rmi/server/UnicastRemoteCall.java -2008823240b ./libjava/gnu/java/rmi/server/UnicastRemoteStub.java -2722838441b ./libjava/gnu/java/rmi/server/UnicastServer.java -3552747973b ./libjava/gnu/java/rmi/server/UnicastServerRef.java - 841643156b ./libjava/gnu/java/security/provider/DefaultPolicy.java - 663745795b ./libjava/gnu/java/security/provider/Gnu.java -1021717986b ./libjava/gnu/java/security/provider/SHA1PRNG.java -2413849314b ./libjava/gnu/java/security/provider/SHA.java -1289725769b ./libjava/gnu/java/text/BaseBreakIterator.java -3390709828b ./libjava/gnu/java/text/CharacterBreakIterator.java -1407853328b ./libjava/gnu/java/text/LineBreakIterator.java -2384000550b ./libjava/gnu/java/text/SentenceBreakIterator.java -1103805396b ./libjava/gnu/java/text/WordBreakIterator.java -3820369931b ./libjava/gnu/java/util/DoubleEnumeration.java -1487334009b ./libjava/HACKING - 264180982b ./libjava/include/boehm-gc.h -2986199884b ./libjava/include/config.h.in -1108817619b ./libjava/include/default-signal.h - 833024369b ./libjava/include/dwarf2-signal.h -1283777735b ./libjava/include/i386-signal.h - 590982531b ./libjava/include/java-assert.h - 890969256b ./libjava/include/java-chardecomp.h -3721703006b ./libjava/include/java-chartables.h - 11772111b ./libjava/include/java-cpool.h -2197729359b ./libjava/include/java-insns.h -1956488254b ./libjava/include/java-interp.h - 770850052b ./libjava/include/java-props.h -4043128117b ./libjava/include/jni.h -1917986290b ./libjava/include/jvm.h -1398877611b ./libjava/include/jvmpi.h -2049405362b ./libjava/include/Makefile.am -2861273894b ./libjava/include/Makefile.in -1055189824b ./libjava/include/name-finder.h - 528567171b ./libjava/include/no-gc.h -2243083888b ./libjava/include/no-threads.h -1563983297b ./libjava/include/posix.h -2807487107b ./libjava/include/posix-threads.h -1012702888b ./libjava/include/sparc-signal.h - 216805921b ./libjava/include/stamp-h.in - 976467848b ./libjava/include/win32.h -2649356437b ./libjava/include/win32-signal.h -2413743549b ./libjava/include/win32-threads.h -3593727190b ./libjava/interpret.cc -1953201146b ./libjava/java/applet/AppletContext.java -2958027378b ./libjava/java/applet/Applet.java -2731140101b ./libjava/java/applet/AppletStub.java -3593095746b ./libjava/java/applet/AudioClip.java - 160993819b ./libjava/java/awt/ActiveEvent.java -3526070699b ./libjava/java/awt/Adjustable.java -1157609128b ./libjava/java/awt/AWTError.java - 111816746b ./libjava/java/awt/AWTEvent.java -4165999385b ./libjava/java/awt/AWTEventMulticaster.java - 825557229b ./libjava/java/awt/AWTException.java - 285605791b ./libjava/java/awt/AWTPermission.java -3534694635b ./libjava/java/awt/BorderLayout.java -1398395335b ./libjava/java/awt/Button.java -3153758342b ./libjava/java/awt/Canvas.java -2092554577b ./libjava/java/awt/CardLayout.java -2084690368b ./libjava/java/awt/CheckboxGroup.java -2248202942b ./libjava/java/awt/Checkbox.java -1349721036b ./libjava/java/awt/CheckboxMenuItem.java -1888831652b ./libjava/java/awt/Choice.java -1282085816b ./libjava/java/awt/color/ColorSpace.java -2276155610b ./libjava/java/awt/color/ICC_ColorSpace.java -4017444258b ./libjava/java/awt/color/ICC_Profile.java -1705431914b ./libjava/java/awt/Color.java -1148661590b ./libjava/java/awt/Component.java - 361324264b ./libjava/java/awt/ComponentOrientation.java -2162499700b ./libjava/java/awt/Container.java -4143803538b ./libjava/java/awt/Cursor.java - 275075726b ./libjava/java/awt/datatransfer/Clipboard.java -4070519256b ./libjava/java/awt/datatransfer/ClipboardOwner.java - 61459584b ./libjava/java/awt/datatransfer/DataFlavor.java - 783509723b ./libjava/java/awt/datatransfer/FlavorMap.java - 579142958b ./libjava/java/awt/datatransfer/MimeTypeParseException.java - 253155729b ./libjava/java/awt/datatransfer/StringSelection.java - 219256387b ./libjava/java/awt/datatransfer/SystemFlavorMap.java -1647430043b ./libjava/java/awt/datatransfer/Transferable.java -1851200747b ./libjava/java/awt/datatransfer/UnsupportedFlavorException.java -3031261269b ./libjava/java/awt/Dialog.java -2683530461b ./libjava/java/awt/Dimension.java - 722690297b ./libjava/java/awt/event/ActionEvent.java -1915593531b ./libjava/java/awt/event/ActionListener.java -3892890048b ./libjava/java/awt/event/AdjustmentEvent.java - 463745915b ./libjava/java/awt/event/AdjustmentListener.java -3809396958b ./libjava/java/awt/event/AWTEventListener.java -2557579579b ./libjava/java/awt/event/ComponentAdapter.java -3039204703b ./libjava/java/awt/event/ComponentEvent.java - 360564300b ./libjava/java/awt/event/ComponentListener.java - 810761210b ./libjava/java/awt/event/ContainerAdapter.java -2468937091b ./libjava/java/awt/event/ContainerEvent.java - 95255207b ./libjava/java/awt/event/ContainerListener.java - 483492170b ./libjava/java/awt/EventDispatchThread.java -1865939252b ./libjava/java/awt/event/FocusAdapter.java - 934630871b ./libjava/java/awt/event/FocusEvent.java -4001635571b ./libjava/java/awt/event/FocusListener.java -4282322346b ./libjava/java/awt/event/HierarchyBoundsAdapter.java -2758355953b ./libjava/java/awt/event/HierarchyBoundsListener.java -2116272606b ./libjava/java/awt/event/HierarchyEvent.java -2771680955b ./libjava/java/awt/event/HierarchyListener.java - 702145522b ./libjava/java/awt/event/InputEvent.java - 726380493b ./libjava/java/awt/event/InputMethodEvent.java -4033049562b ./libjava/java/awt/event/InputMethodListener.java -1843469307b ./libjava/java/awt/event/InvocationEvent.java -3611652050b ./libjava/java/awt/event/ItemEvent.java -3300913656b ./libjava/java/awt/event/ItemListener.java -1493568122b ./libjava/java/awt/Event.java -1564566587b ./libjava/java/awt/event/KeyAdapter.java -3711723317b ./libjava/java/awt/event/KeyEvent.java -1381805491b ./libjava/java/awt/event/KeyListener.java -2313273360b ./libjava/java/awt/event/MouseAdapter.java -2126050085b ./libjava/java/awt/event/MouseEvent.java -1649544172b ./libjava/java/awt/event/MouseListener.java -1060229023b ./libjava/java/awt/event/MouseMotionAdapter.java -1773953094b ./libjava/java/awt/event/MouseMotionListener.java - 560349420b ./libjava/java/awt/event/PaintEvent.java - 651462567b ./libjava/java/awt/EventQueue.java -3023928876b ./libjava/java/awt/event/TextEvent.java -2239555241b ./libjava/java/awt/event/TextListener.java -2939336909b ./libjava/java/awt/event/WindowAdapter.java -3033208050b ./libjava/java/awt/event/WindowEvent.java -1930937502b ./libjava/java/awt/event/WindowListener.java -1194915480b ./libjava/java/awt/FileDialog.java -3367824178b ./libjava/java/awt/FlowLayout.java -1157240010b ./libjava/java/awt/Font.java - 484873117b ./libjava/java/awt/FontMetrics.java -1144124992b ./libjava/java/awt/Frame.java -2545826257b ./libjava/java/awt/geom/AffineTransform.java -4013428113b ./libjava/java/awt/geom/Dimension2D.java -4073501358b ./libjava/java/awt/geom/Ellipse2D.java -2790798005b ./libjava/java/awt/geom/IllegalPathStateException.java - 400349421b ./libjava/java/awt/geom/Line2D.java -1253586302b ./libjava/java/awt/geom/NoninvertibleTransformException.java -1513833568b ./libjava/java/awt/geom/PathIterator.java -3208068889b ./libjava/java/awt/geom/Point2D.java -1401543311b ./libjava/java/awt/geom/Rectangle2D.java -1140671299b ./libjava/java/awt/geom/RectangularShape.java -3886036733b ./libjava/java/awt/geom/RoundRectangle2D.java -3811561912b ./libjava/java/awt/Graphics2D.java - 986514240b ./libjava/java/awt/GraphicsConfiguration.java -2012998318b ./libjava/java/awt/Graphics.java -2629743040b ./libjava/java/awt/GridBagConstraints.java -2079310366b ./libjava/java/awt/GridLayout.java - 681353006b ./libjava/java/awt/IllegalComponentStateException.java -2039150620b ./libjava/java/awt/image/AreaAveragingScaleFilter.java - 47278745b ./libjava/java/awt/image/BufferedImage.java - 897500197b ./libjava/java/awt/image/ColorModel.java - 109440071b ./libjava/java/awt/image/ComponentColorModel.java -1906201349b ./libjava/java/awt/image/ComponentSampleModel.java -3384911687b ./libjava/java/awt/image/CropImageFilter.java -3465530846b ./libjava/java/awt/image/DataBufferByte.java -4075525464b ./libjava/java/awt/image/DataBufferInt.java - 634855604b ./libjava/java/awt/image/DataBuffer.java -3095543468b ./libjava/java/awt/image/DataBufferUShort.java -1806419668b ./libjava/java/awt/image/DirectColorModel.java -3631042426b ./libjava/java/awt/image/FilteredImageSource.java -2890896341b ./libjava/java/awt/image/ImageConsumer.java -1624439520b ./libjava/java/awt/image/ImageFilter.java -4043851738b ./libjava/java/awt/image/ImageObserver.java -3411264349b ./libjava/java/awt/image/ImageProducer.java -2968747135b ./libjava/java/awt/image/IndexColorModel.java -4141700730b ./libjava/java/awt/Image.java -1393501117b ./libjava/java/awt/image/MemoryImageSource.java -1585332925b ./libjava/java/awt/image/PackedColorModel.java -1331801894b ./libjava/java/awt/image/PixelGrabber.java -1883441019b ./libjava/java/awt/image/Raster.java - 869369986b ./libjava/java/awt/image/RasterOp.java -3510533440b ./libjava/java/awt/image/ReplicateScaleFilter.java -4052348878b ./libjava/java/awt/image/RGBImageFilter.java -1652657911b ./libjava/java/awt/image/SampleModel.java -2512892899b ./libjava/java/awt/image/SinglePixelPackedSampleModel.java - 4567438b ./libjava/java/awt/image/WritableRaster.java - 4084426b ./libjava/java/awt/Insets.java -3129189005b ./libjava/java/awt/ItemSelectable.java -1439045277b ./libjava/java/awt/Label.java -3544278012b ./libjava/java/awt/LayoutManager2.java -2458754937b ./libjava/java/awt/LayoutManager.java -2578681493b ./libjava/java/awt/List.java -4032096533b ./libjava/java/awt/MediaTracker.java -3704860539b ./libjava/java/awt/MenuBar.java -1793267135b ./libjava/java/awt/MenuComponent.java -3297700167b ./libjava/java/awt/MenuContainer.java - 641743542b ./libjava/java/awt/MenuItem.java -2620146298b ./libjava/java/awt/Menu.java -2408918380b ./libjava/java/awt/MenuShortcut.java -3861110754b ./libjava/java/awt/PaintContext.java -2127085069b ./libjava/java/awt/Paint.java -3663039317b ./libjava/java/awt/Panel.java -1611158274b ./libjava/java/awt/peer/ButtonPeer.java -1171238008b ./libjava/java/awt/peer/CanvasPeer.java - 483129233b ./libjava/java/awt/peer/CheckboxMenuItemPeer.java -1055872542b ./libjava/java/awt/peer/CheckboxPeer.java -2176941064b ./libjava/java/awt/peer/ChoicePeer.java -1485974642b ./libjava/java/awt/peer/ComponentPeer.java - 385477645b ./libjava/java/awt/peer/ContainerPeer.java -1630111979b ./libjava/java/awt/peer/DialogPeer.java -3476723069b ./libjava/java/awt/peer/FileDialogPeer.java -1821313126b ./libjava/java/awt/peer/FontPeer.java -2885509310b ./libjava/java/awt/peer/FramePeer.java -1219267739b ./libjava/java/awt/peer/LabelPeer.java - 542666273b ./libjava/java/awt/peer/LightweightPeer.java -2680629684b ./libjava/java/awt/peer/ListPeer.java - 721644029b ./libjava/java/awt/peer/MenuBarPeer.java -1694400788b ./libjava/java/awt/peer/MenuComponentPeer.java -2412205583b ./libjava/java/awt/peer/MenuItemPeer.java -2144114987b ./libjava/java/awt/peer/MenuPeer.java -3010921620b ./libjava/java/awt/peer/PanelPeer.java -3378714445b ./libjava/java/awt/peer/PopupMenuPeer.java -2932476036b ./libjava/java/awt/peer/ScrollbarPeer.java - 921008058b ./libjava/java/awt/peer/ScrollPanePeer.java -4184845888b ./libjava/java/awt/peer/TextAreaPeer.java -1984969162b ./libjava/java/awt/peer/TextComponentPeer.java -3129312744b ./libjava/java/awt/peer/TextFieldPeer.java -2230435871b ./libjava/java/awt/peer/WindowPeer.java -2267781966b ./libjava/java/awt/Point.java -2495677833b ./libjava/java/awt/Polygon.java - 931171809b ./libjava/java/awt/PopupMenu.java -2031272343b ./libjava/java/awt/PrintGraphics.java -2842009822b ./libjava/java/awt/PrintJob.java -1514649029b ./libjava/java/awt/Rectangle.java -3814610113b ./libjava/java/awt/RenderingHints.java -1642159056b ./libjava/java/awt/Scrollbar.java -3117778311b ./libjava/java/awt/ScrollPane.java -2074345175b ./libjava/java/awt/Shape.java -1158345737b ./libjava/java/awt/SystemColor.java -3469060179b ./libjava/java/awt/TextArea.java - 725438430b ./libjava/java/awt/TextComponent.java -4163002735b ./libjava/java/awt/TextField.java -1661689740b ./libjava/java/awt/Toolkit.java -3337245196b ./libjava/java/awt/Transparency.java -2530618234b ./libjava/java/awt/Window.java -1515366999b ./libjava/java/beans/AppletInitializer.java -2669908550b ./libjava/java/beans/beancontext/BeanContextChildComponentProxy.java -1680972619b ./libjava/java/beans/beancontext/BeanContextChild.java -1680093002b ./libjava/java/beans/beancontext/BeanContextChildSupport.java -1094587434b ./libjava/java/beans/beancontext/BeanContextContainerProxy.java -1135449293b ./libjava/java/beans/beancontext/BeanContextEvent.java -2767542609b ./libjava/java/beans/beancontext/BeanContext.java - 242862210b ./libjava/java/beans/beancontext/BeanContextMembershipEvent.java -2481552408b ./libjava/java/beans/beancontext/BeanContextMembershipListener.java -2023778890b ./libjava/java/beans/beancontext/BeanContextProxy.java -3567375214b ./libjava/java/beans/beancontext/BeanContextServiceAvailableEvent.java -1524483334b ./libjava/java/beans/beancontext/BeanContextServiceProviderBeanInfo.java -2290646255b ./libjava/java/beans/beancontext/BeanContextServiceProvider.java -3486010592b ./libjava/java/beans/beancontext/BeanContextServiceRevokedEvent.java -1792611913b ./libjava/java/beans/beancontext/BeanContextServiceRevokedListener.java - 172300183b ./libjava/java/beans/beancontext/BeanContextServices.java - 649450665b ./libjava/java/beans/beancontext/BeanContextServicesListener.java -1833441000b ./libjava/java/beans/BeanDescriptor.java -1195953294b ./libjava/java/beans/BeanInfo.java - 744629114b ./libjava/java/beans/Beans.java -2117723836b ./libjava/java/beans/Customizer.java -1994194050b ./libjava/java/beans/DesignMode.java -3820662012b ./libjava/java/beans/EventSetDescriptor.java -4125494981b ./libjava/java/beans/FeatureDescriptor.java -1047826036b ./libjava/java/beans/IndexedPropertyDescriptor.java -2875985243b ./libjava/java/beans/IntrospectionException.java -1848432301b ./libjava/java/beans/Introspector.java - 649392727b ./libjava/java/beans/MethodDescriptor.java -3829002128b ./libjava/java/beans/ParameterDescriptor.java -1516690242b ./libjava/java/beans/PropertyChangeEvent.java - 469117173b ./libjava/java/beans/PropertyChangeListener.java - 703973953b ./libjava/java/beans/PropertyChangeSupport.java -2757753208b ./libjava/java/beans/PropertyDescriptor.java - 199700315b ./libjava/java/beans/PropertyEditor.java -1782408506b ./libjava/java/beans/PropertyEditorManager.java -1820268780b ./libjava/java/beans/PropertyEditorSupport.java -4007301740b ./libjava/java/beans/PropertyVetoException.java -2552578115b ./libjava/java/beans/SimpleBeanInfo.java -1050530153b ./libjava/java/beans/VetoableChangeListener.java - 292324922b ./libjava/java/beans/VetoableChangeSupport.java -1473289197b ./libjava/java/beans/Visibility.java - 200470800b ./libjava/java/io/BufferedInputStream.java - 369879890b ./libjava/java/io/BufferedOutputStream.java -2577191356b ./libjava/java/io/BufferedReader.java -1491845880b ./libjava/java/io/BufferedWriter.java -3804278996b ./libjava/java/io/ByteArrayInputStream.java - 200503157b ./libjava/java/io/ByteArrayOutputStream.java -1595495810b ./libjava/java/io/CharArrayReader.java - 926602239b ./libjava/java/io/CharArrayWriter.java -2789582151b ./libjava/java/io/CharConversionException.java - 833277233b ./libjava/java/io/DataInput.java - 634383556b ./libjava/java/io/DataInputStream.java -2779752650b ./libjava/java/io/DataOutput.java -2879044799b ./libjava/java/io/DataOutputStream.java -3063714856b ./libjava/java/io/EOFException.java -1517492329b ./libjava/java/io/Externalizable.java -3546628049b ./libjava/java/io/FileDescriptor.java -3092690903b ./libjava/java/io/FileFilter.java -3304954915b ./libjava/java/io/FileInputStream.java -3923475116b ./libjava/java/io/File.java - 57206385b ./libjava/java/io/FilenameFilter.java -1122350410b ./libjava/java/io/FileNotFoundException.java - 493183800b ./libjava/java/io/FileOutputStream.java -4203170751b ./libjava/java/io/FilePermission.java - 480136026b ./libjava/java/io/FileReader.java -3272147344b ./libjava/java/io/FileWriter.java - 491642459b ./libjava/java/io/FilterInputStream.java -3572067476b ./libjava/java/io/FilterOutputStream.java - 834480594b ./libjava/java/io/FilterReader.java - 805331833b ./libjava/java/io/FilterWriter.java -1021426083b ./libjava/java/io/InputStream.java - 529146689b ./libjava/java/io/InputStreamReader.java -2158134143b ./libjava/java/io/InterruptedIOException.java -2959384144b ./libjava/java/io/InvalidClassException.java -2711688958b ./libjava/java/io/InvalidObjectException.java -1797218177b ./libjava/java/io/IOException.java -2297659773b ./libjava/java/io/LineNumberInputStream.java -1977393201b ./libjava/java/io/LineNumberReader.java -1763600901b ./libjava/java/io/natFileDescriptorEcos.cc - 50298342b ./libjava/java/io/natFileDescriptorPosix.cc - 645547190b ./libjava/java/io/natFileDescriptorWin32.cc - 438765382b ./libjava/java/io/natFilePosix.cc -4215574494b ./libjava/java/io/natFileWin32.cc -2701462559b ./libjava/java/io/natObjectInputStream.cc -4239505089b ./libjava/java/io/natObjectOutputStream.cc - 356981144b ./libjava/java/io/NotActiveException.java - 296825781b ./libjava/java/io/NotSerializableException.java -3695857432b ./libjava/java/io/ObjectInput.java -2999285723b ./libjava/java/io/ObjectInputStream.java -1835600781b ./libjava/java/io/ObjectInputValidation.java - 601064657b ./libjava/java/io/ObjectOutput.java - 839357625b ./libjava/java/io/ObjectOutputStream.java - 758370469b ./libjava/java/io/ObjectStreamClass.java -3828010025b ./libjava/java/io/ObjectStreamConstants.java -1279521507b ./libjava/java/io/ObjectStreamException.java -3088927270b ./libjava/java/io/ObjectStreamField.java -2743734189b ./libjava/java/io/OptionalDataException.java -3053819886b ./libjava/java/io/OutputStream.java -1432753727b ./libjava/java/io/OutputStreamWriter.java -3611790327b ./libjava/java/io/PipedInputStream.java -2982069551b ./libjava/java/io/PipedOutputStream.java -3065379959b ./libjava/java/io/PipedReader.java -4173881044b ./libjava/java/io/PipedWriter.java -1146852699b ./libjava/java/io/PrintStream.java - 569978908b ./libjava/java/io/PrintWriter.java -1369338935b ./libjava/java/io/PushbackInputStream.java -2210002535b ./libjava/java/io/PushbackReader.java -3411632522b ./libjava/java/io/RandomAccessFile.java -3147885412b ./libjava/java/io/Reader.java - 978743808b ./libjava/java/io/SequenceInputStream.java -1322946837b ./libjava/java/io/Serializable.java - 745751528b ./libjava/java/io/SerializablePermission.java - 750070673b ./libjava/java/io/StreamCorruptedException.java - 949081819b ./libjava/java/io/StreamTokenizer.java -1180454189b ./libjava/java/io/StringBufferInputStream.java -3179611106b ./libjava/java/io/StringReader.java -2031479671b ./libjava/java/io/StringWriter.java -1480215451b ./libjava/java/io/SyncFailedException.java - 616805431b ./libjava/java/io/UnsupportedEncodingException.java -2698018036b ./libjava/java/io/UTFDataFormatException.java -2719928003b ./libjava/java/io/WriteAbortedException.java -3470521880b ./libjava/java/io/Writer.java -4090106463b ./libjava/java/lang/AbstractMethodError.java -3425188680b ./libjava/java/lang/ArithmeticException.java -3115671720b ./libjava/java/lang/ArrayIndexOutOfBoundsException.java -1373410447b ./libjava/java/lang/ArrayStoreException.java -2983258460b ./libjava/java/lang/Boolean.java -4251066809b ./libjava/java/lang/Byte.java -3322445246b ./libjava/java/lang/Character.java -3632753519b ./libjava/java/lang/CharSequence.java -3914593902b ./libjava/java/lang/ClassCastException.java -2018649547b ./libjava/java/lang/ClassCircularityError.java -1262342693b ./libjava/java/lang/ClassFormatError.java - 553573251b ./libjava/java/lang/Class.h -3641057162b ./libjava/java/lang/Class.java -2745405805b ./libjava/java/lang/ClassLoader.java - 863405399b ./libjava/java/lang/ClassNotFoundException.java - 524108559b ./libjava/java/lang/Cloneable.java -1163791317b ./libjava/java/lang/CloneNotSupportedException.java -2017623600b ./libjava/java/lang/Comparable.java -4154726046b ./libjava/java/lang/Compiler.java -4246954832b ./libjava/java/lang/Double.java -1435754341b ./libjava/java/lang/dtoa.c - 994774164b ./libjava/java/lang/e_acos.c -4273053537b ./libjava/java/lang/e_asin.c -1280734317b ./libjava/java/lang/e_atan2.c - 315782992b ./libjava/java/lang/EcosProcess.java -2698793341b ./libjava/java/lang/e_exp.c -3934619985b ./libjava/java/lang/e_fmod.c -3710448655b ./libjava/java/lang/e_log.c - 876585599b ./libjava/java/lang/e_pow.c -3495227073b ./libjava/java/lang/e_remainder.c -3827866584b ./libjava/java/lang/e_rem_pio2.c - 674629591b ./libjava/java/lang/Error.java - 351649389b ./libjava/java/lang/e_scalb.c -4172761909b ./libjava/java/lang/e_sqrt.c - 479874825b ./libjava/java/lang/ExceptionInInitializerError.java -2224382764b ./libjava/java/lang/Exception.java - 773177573b ./libjava/java/lang/fdlibm.h -1399651516b ./libjava/java/lang/Float.java - 969459924b ./libjava/java/lang/ieeefp.h -1546884627b ./libjava/java/lang/IllegalAccessError.java -2739492776b ./libjava/java/lang/IllegalAccessException.java -1557093291b ./libjava/java/lang/IllegalArgumentException.java -4220991068b ./libjava/java/lang/IllegalMonitorStateException.java - 172855953b ./libjava/java/lang/IllegalStateException.java -1303108506b ./libjava/java/lang/IllegalThreadStateException.java - 153906896b ./libjava/java/lang/IncompatibleClassChangeError.java - 166061792b ./libjava/java/lang/IndexOutOfBoundsException.java -2772342819b ./libjava/java/lang/InheritableThreadLocal.java -1458836935b ./libjava/java/lang/InstantiationError.java - 650328562b ./libjava/java/lang/InstantiationException.java -4120577335b ./libjava/java/lang/Integer.java -1716407270b ./libjava/java/lang/InternalError.java -3005393186b ./libjava/java/lang/InterruptedException.java -2140439599b ./libjava/java/lang/k_cos.c -2521991737b ./libjava/java/lang/k_rem_pio2.c -1794170989b ./libjava/java/lang/k_sin.c -2812209061b ./libjava/java/lang/k_tan.c -1031814374b ./libjava/java/lang/LinkageError.java -1043365864b ./libjava/java/lang/Long.java -3228990355b ./libjava/java/lang/Math.java -3525801158b ./libjava/java/lang/mprec.c - 338852744b ./libjava/java/lang/mprec.h -2041042935b ./libjava/java/lang/natCharacter.cc -1760287660b ./libjava/java/lang/natClass.cc -3980285264b ./libjava/java/lang/natClassLoader.cc -3519010570b ./libjava/java/lang/natDouble.cc -2312870767b ./libjava/java/lang/natEcosProcess.cc - 91234316b ./libjava/java/lang/natFloat.cc -3510482433b ./libjava/java/lang/natMath.cc - 76124715b ./libjava/java/lang/natObject.cc -1982998394b ./libjava/java/lang/natPosixProcess.cc -3985207471b ./libjava/java/lang/natRuntime.cc - 209062817b ./libjava/java/lang/natStringBuffer.cc -4255324328b ./libjava/java/lang/natString.cc -1182371633b ./libjava/java/lang/natSystem.cc -1391213516b ./libjava/java/lang/natThread.cc -1137947649b ./libjava/java/lang/natThrowable.cc -4294967295b ./libjava/java/lang/natWin32Process.cc - 480489940b ./libjava/java/lang/NegativeArraySizeException.java -1147004568b ./libjava/java/lang/NoClassDefFoundError.java -2828263392b ./libjava/java/lang/NoSuchFieldError.java -2392659469b ./libjava/java/lang/NoSuchFieldException.java -1339035495b ./libjava/java/lang/NoSuchMethodError.java - 615266877b ./libjava/java/lang/NoSuchMethodException.java -1556435959b ./libjava/java/lang/NullPointerException.java - 899274464b ./libjava/java/lang/NumberFormatException.java -1334794302b ./libjava/java/lang/Number.java -3421547735b ./libjava/java/lang/Object.h -3641470251b ./libjava/java/lang/Object.java - 344219618b ./libjava/java/lang/OutOfMemoryError.java -2281685049b ./libjava/java/lang/Package.java -2357238508b ./libjava/java/lang/PosixProcess.java -3622530025b ./libjava/java/lang/Process.java -1863148120b ./libjava/java/lang/reflect/AccessibleObject.java -1772289084b ./libjava/java/lang/reflect/Array.java -1042641503b ./libjava/java/lang/reflect/Constructor.java -2343995282b ./libjava/java/lang/reflect/Field.java -4276731407b ./libjava/java/lang/reflect/InvocationTargetException.java -2195316717b ./libjava/java/lang/reflect/Member.java -3154056039b ./libjava/java/lang/reflect/Method.java - 737811330b ./libjava/java/lang/reflect/Modifier.java - 467850593b ./libjava/java/lang/reflect/natArray.cc - 848571325b ./libjava/java/lang/reflect/natConstructor.cc -2897267786b ./libjava/java/lang/reflect/natField.cc -3433405242b ./libjava/java/lang/reflect/natMethod.cc -3286982797b ./libjava/java/lang/reflect/ReflectPermission.java -4262082056b ./libjava/java/lang/ref/natReference.cc -1460247144b ./libjava/java/lang/ref/PhantomReference.java - 704062708b ./libjava/java/lang/ref/Reference.java - 65399149b ./libjava/java/lang/ref/ReferenceQueue.java -3675082054b ./libjava/java/lang/ref/SoftReference.java -4137952990b ./libjava/java/lang/ref/WeakReference.java -3010960818b ./libjava/java/lang/Runnable.java -1799896457b ./libjava/java/lang/RuntimeException.java -1498739702b ./libjava/java/lang/Runtime.java -3735977458b ./libjava/java/lang/RuntimePermission.java -4211007333b ./libjava/java/lang/s_atan.c -1992861509b ./libjava/java/lang/s_ceil.c -2560516823b ./libjava/java/lang/s_copysign.c - 138245783b ./libjava/java/lang/s_cos.c -3082173393b ./libjava/java/lang/SecurityException.java - 788295818b ./libjava/java/lang/SecurityManager.java -2696927637b ./libjava/java/lang/s_fabs.c -2861859787b ./libjava/java/lang/sf_fabs.c -1587392745b ./libjava/java/lang/s_floor.c -3733918551b ./libjava/java/lang/sf_rint.c - 987059562b ./libjava/java/lang/Short.java - 781279555b ./libjava/java/lang/s_rint.c -1543063550b ./libjava/java/lang/s_scalbn.c - 683141039b ./libjava/java/lang/s_sin.c -3968168506b ./libjava/java/lang/StackOverflowError.java -2604631654b ./libjava/java/lang/s_tan.c -2934755101b ./libjava/java/lang/StrictMath.java -2480138781b ./libjava/java/lang/StringBuffer.java -4119807874b ./libjava/java/lang/StringIndexOutOfBoundsException.java -1328413402b ./libjava/java/lang/String.java -2159586687b ./libjava/java/lang/strtod.c -2990987309b ./libjava/java/lang/System.java -3910182705b ./libjava/java/lang/ThreadDeath.java - 176223137b ./libjava/java/lang/ThreadGroup.java -3073946400b ./libjava/java/lang/Thread.java -2901552173b ./libjava/java/lang/ThreadLocal.java -2728582923b ./libjava/java/lang/Throwable.java - 402341795b ./libjava/java/lang/UnknownError.java - 964603433b ./libjava/java/lang/UnsatisfiedLinkError.java -1966641471b ./libjava/java/lang/UnsupportedClassVersionError.java -3152130847b ./libjava/java/lang/UnsupportedOperationException.java -4139089776b ./libjava/java/lang/VerifyError.java -3680335112b ./libjava/java/lang/VirtualMachineError.java -1734917059b ./libjava/java/lang/VMClassLoader.java -3002073692b ./libjava/java/lang/VMSecurityManager.java -3929414917b ./libjava/java/lang/Void.java -2208706716b ./libjava/java/lang/w_acos.c -2509257289b ./libjava/java/lang/w_asin.c - 129756780b ./libjava/java/lang/w_atan2.c -3101537020b ./libjava/java/lang/w_exp.c -4251570485b ./libjava/java/lang/w_fmod.c -3209764157b ./libjava/java/lang/Win32Process.java -2517288589b ./libjava/java/lang/w_log.c -2200179114b ./libjava/java/lang/w_pow.c -3127225850b ./libjava/java/lang/w_remainder.c -3084712253b ./libjava/java/lang/w_sqrt.c - 647790385b ./libjava/java/math/BigDecimal.java -1413640672b ./libjava/java/math/BigInteger.java -2740663451b ./libjava/java/net/Authenticator.java -1892964846b ./libjava/java/net/BindException.java - 465134141b ./libjava/java/net/ConnectException.java -2451709496b ./libjava/java/net/ContentHandlerFactory.java -2009481994b ./libjava/java/net/ContentHandler.java -2799450041b ./libjava/java/net/DatagramPacket.java -1684404099b ./libjava/java/net/DatagramSocketImpl.java -2186623986b ./libjava/java/net/DatagramSocket.java -3221371229b ./libjava/java/net/FileNameMap.java - 905107405b ./libjava/java/net/HttpURLConnection.java -2016211119b ./libjava/java/net/InetAddress.java -3267095408b ./libjava/java/net/JarURLConnection.java -2855708971b ./libjava/java/net/MalformedURLException.java -2301622401b ./libjava/java/net/MulticastSocket.java -4045295019b ./libjava/java/net/natInetAddress.cc - 743824210b ./libjava/java/net/natPlainDatagramSocketImpl.cc -2983285886b ./libjava/java/net/natPlainSocketImpl.cc -1682337997b ./libjava/java/net/NetPermission.java - 219229722b ./libjava/java/net/NoRouteToHostException.java - 833606891b ./libjava/java/net/PasswordAuthentication.java -4105261490b ./libjava/java/net/PlainDatagramSocketImpl.java -2335349056b ./libjava/java/net/PlainSocketImpl.java -1942565398b ./libjava/java/net/ProtocolException.java -3938255056b ./libjava/java/net/ServerSocket.java -3016170839b ./libjava/java/net/SocketException.java -2277031455b ./libjava/java/net/SocketImplFactory.java -1289495366b ./libjava/java/net/SocketImpl.java -1934542585b ./libjava/java/net/Socket.java -2567328645b ./libjava/java/net/SocketOptions.java -1657196367b ./libjava/java/net/SocketPermission.java -1041327798b ./libjava/java/net/UnknownHostException.java -2623632799b ./libjava/java/net/UnknownServiceException.java - 194604118b ./libjava/java/net/URLClassLoader.java -2961889722b ./libjava/java/net/URLConnection.java -2772681802b ./libjava/java/net/URLDecoder.java -4220867118b ./libjava/java/net/URLEncoder.java -1440065038b ./libjava/java/net/URL.java -2216267556b ./libjava/java/net/URLStreamHandlerFactory.java -3036638609b ./libjava/java/net/URLStreamHandler.java -2345713982b ./libjava/java/rmi/AccessException.java -1531149925b ./libjava/java/rmi/activation/Activatable.java - 202413195b ./libjava/java/rmi/activation/ActivateFailedException.java -3435388540b ./libjava/java/rmi/activation/ActivationDesc.java -2977173158b ./libjava/java/rmi/activation/ActivationException.java -3932453163b ./libjava/java/rmi/activation/ActivationGroupDesc.java -3794676101b ./libjava/java/rmi/activation/ActivationGroupID.java - 443589476b ./libjava/java/rmi/activation/ActivationGroup.java -1660066253b ./libjava/java/rmi/activation/ActivationID.java -3314676255b ./libjava/java/rmi/activation/ActivationInstantiator.java - 331032778b ./libjava/java/rmi/activation/ActivationMonitor.java -3527811786b ./libjava/java/rmi/activation/ActivationSystem.java - 38902488b ./libjava/java/rmi/activation/Activator.java -3932075613b ./libjava/java/rmi/activation/UnknownGroupException.java -2859838111b ./libjava/java/rmi/activation/UnknownObjectException.java - 638523787b ./libjava/java/rmi/AlreadyBoundException.java -3168686766b ./libjava/java/rmi/ConnectException.java - 108680455b ./libjava/java/rmi/ConnectIOException.java - 1240298b ./libjava/java/rmi/dgc/DGC.java -3040253205b ./libjava/java/rmi/dgc/Lease.java -4206440135b ./libjava/java/rmi/dgc/VMID.java -2315456896b ./libjava/java/rmi/MarshalException.java -1559402097b ./libjava/java/rmi/MarshalledObject.java -2730841917b ./libjava/java/rmi/Naming.java -2964967266b ./libjava/java/rmi/NoSuchObjectException.java -2207159994b ./libjava/java/rmi/NotBoundException.java -2660899207b ./libjava/java/rmi/registry/LocateRegistry.java -1399983578b ./libjava/java/rmi/registry/RegistryHandler.java -3447606163b ./libjava/java/rmi/registry/Registry.java -2722897537b ./libjava/java/rmi/RemoteException.java -3977817460b ./libjava/java/rmi/Remote.java -1880593648b ./libjava/java/rmi/RMISecurityException.java -1668944357b ./libjava/java/rmi/RMISecurityManager.java -2063315085b ./libjava/java/rmi/ServerError.java -3013999798b ./libjava/java/rmi/ServerException.java -3139440594b ./libjava/java/rmi/server/ExportException.java -1080320338b ./libjava/java/rmi/server/LoaderHandler.java -3453671358b ./libjava/java/rmi/server/LogStream.java -3627631958b ./libjava/java/rmi/server/ObjID.java -1620681979b ./libjava/java/rmi/server/Operation.java -3007384076b ./libjava/java/rmi/server/RemoteCall.java - 646982205b ./libjava/java/rmi/server/RemoteObject.java -1057967745b ./libjava/java/rmi/server/RemoteRef.java -3980074697b ./libjava/java/rmi/server/RemoteServer.java -2379911685b ./libjava/java/rmi/server/RemoteStub.java - 766223293b ./libjava/java/rmi/server/RMIClassLoader.java -1381387676b ./libjava/java/rmi/server/RMIClientSocketFactory.java -1355495784b ./libjava/java/rmi/server/RMIFailureHandler.java - 637510001b ./libjava/java/rmi/server/RMIServerSocketFactory.java - 491843230b ./libjava/java/rmi/server/RMISocketFactory.java - 991417645b ./libjava/java/rmi/ServerRuntimeException.java -2405566142b ./libjava/java/rmi/server/ServerCloneException.java - 970903487b ./libjava/java/rmi/server/ServerNotActiveException.java -3269103800b ./libjava/java/rmi/server/ServerRef.java -1284557277b ./libjava/java/rmi/server/Skeleton.java -1298691040b ./libjava/java/rmi/server/SkeletonMismatchException.java - 301272094b ./libjava/java/rmi/server/SkeletonNotFoundException.java -2163278585b ./libjava/java/rmi/server/SocketSecurityException.java - 946423957b ./libjava/java/rmi/server/UID.java -3436591463b ./libjava/java/rmi/server/UnicastRemoteObject.java -3786643443b ./libjava/java/rmi/server/Unreferenced.java - 158040251b ./libjava/java/rmi/StubNotFoundException.java - 981089142b ./libjava/java/rmi/UnexpectedException.java -3267495332b ./libjava/java/rmi/UnknownHostException.java -3831786123b ./libjava/java/rmi/UnmarshalException.java -3377565930b ./libjava/java/security/AccessControlContext.java -2503008464b ./libjava/java/security/AccessControlException.java - 961049396b ./libjava/java/security/AccessController.java -1107973997b ./libjava/java/security/acl/AclEntry.java - 208951186b ./libjava/java/security/acl/Acl.java - 470826478b ./libjava/java/security/acl/AclNotFoundException.java -1196419206b ./libjava/java/security/acl/Group.java -2213283367b ./libjava/java/security/acl/LastOwnerException.java -3397637888b ./libjava/java/security/acl/NotOwnerException.java - 689449683b ./libjava/java/security/acl/Owner.java -3427961043b ./libjava/java/security/acl/Permission.java -2206881746b ./libjava/java/security/AlgorithmParameterGenerator.java -3955879194b ./libjava/java/security/AlgorithmParameterGeneratorSpi.java -1605717160b ./libjava/java/security/AlgorithmParameters.java -2891548705b ./libjava/java/security/AlgorithmParametersSpi.java - 445477635b ./libjava/java/security/AllPermission.java -3690509591b ./libjava/java/security/BasicPermission.java - 962908602b ./libjava/java/security/cert/CertificateEncodingException.java -3422220568b ./libjava/java/security/cert/CertificateException.java - 392043989b ./libjava/java/security/cert/CertificateExpiredException.java -1893973660b ./libjava/java/security/cert/CertificateFactory.java -1773373825b ./libjava/java/security/cert/CertificateFactorySpi.java - 233269914b ./libjava/java/security/cert/Certificate.java -2007231431b ./libjava/java/security/cert/CertificateNotYetValidException.java - 944611608b ./libjava/java/security/cert/CertificateParsingException.java - 938503207b ./libjava/java/security/cert/CRLException.java - 275997395b ./libjava/java/security/cert/CRL.java -3914599195b ./libjava/java/security/Certificate.java -3595656724b ./libjava/java/security/cert/X509Certificate.java - 379566121b ./libjava/java/security/cert/X509CRLEntry.java - 838800704b ./libjava/java/security/cert/X509CRL.java -1496043464b ./libjava/java/security/cert/X509Extension.java -2128346166b ./libjava/java/security/classpath.security -1245295455b ./libjava/java/security/CodeSource.java -1011061724b ./libjava/java/security/DigestException.java -3484233527b ./libjava/java/security/DigestInputStream.java -1273872520b ./libjava/java/security/DigestOutputStream.java -3131452143b ./libjava/java/security/DomainCombiner.java -2064440254b ./libjava/java/security/DummyKeyPairGenerator.java -1205011236b ./libjava/java/security/DummyMessageDigest.java -3244660822b ./libjava/java/security/DummySignature.java -3754360724b ./libjava/java/security/GeneralSecurityException.java -1546088936b ./libjava/java/security/GuardedObject.java -1223151028b ./libjava/java/security/Guard.java -2534219749b ./libjava/java/security/Identity.java -3669588150b ./libjava/java/security/IdentityScope.java -1502191052b ./libjava/java/security/interfaces/DSAKey.java - 931326038b ./libjava/java/security/interfaces/DSAKeyPairGenerator.java -3412106065b ./libjava/java/security/interfaces/DSAParams.java -2946643846b ./libjava/java/security/interfaces/DSAPrivateKey.java - 348049866b ./libjava/java/security/interfaces/DSAPublicKey.java -3186115353b ./libjava/java/security/interfaces/RSAKey.java -1654913905b ./libjava/java/security/interfaces/RSAPrivateCrtKey.java -2692733678b ./libjava/java/security/interfaces/RSAPrivateKey.java -1233397848b ./libjava/java/security/interfaces/RSAPublicKey.java -1258878052b ./libjava/java/security/InvalidAlgorithmParameterException.java - 729426758b ./libjava/java/security/InvalidKeyException.java -4278354519b ./libjava/java/security/InvalidParameterException.java - 508303117b ./libjava/java/security/KeyException.java -3556171286b ./libjava/java/security/KeyFactory.java -1081989305b ./libjava/java/security/KeyFactorySpi.java - 323696554b ./libjava/java/security/Key.java -3220074237b ./libjava/java/security/KeyManagementException.java -1445793144b ./libjava/java/security/KeyPairGenerator.java -3630224179b ./libjava/java/security/KeyPairGeneratorSpi.java -1450975497b ./libjava/java/security/KeyPair.java -2462887043b ./libjava/java/security/KeyStoreException.java -2818591760b ./libjava/java/security/KeyStore.java - 803045781b ./libjava/java/security/KeyStoreSpi.java - 464741950b ./libjava/java/security/libgcj.security -4235721395b ./libjava/java/security/MessageDigest.java -3540748562b ./libjava/java/security/MessageDigestSpi.java -1866536196b ./libjava/java/security/NoSuchAlgorithmException.java - 492706813b ./libjava/java/security/NoSuchProviderException.java -4053507376b ./libjava/java/security/PermissionCollection.java - 528332829b ./libjava/java/security/Permission.java -3401846776b ./libjava/java/security/Permissions.java -1801865567b ./libjava/java/security/Policy.java -3369614815b ./libjava/java/security/Principal.java - 985381771b ./libjava/java/security/PrivateKey.java -2559441309b ./libjava/java/security/PrivilegedActionException.java -1519374483b ./libjava/java/security/PrivilegedAction.java -1001728643b ./libjava/java/security/PrivilegedExceptionAction.java - 368821109b ./libjava/java/security/ProtectionDomain.java -3835680906b ./libjava/java/security/ProviderException.java -2340776264b ./libjava/java/security/Provider.java -1224382933b ./libjava/java/security/PublicKey.java - 120707443b ./libjava/java/security/SecureClassLoader.java - 494331022b ./libjava/java/security/SecureRandom.java -2053869154b ./libjava/java/security/SecureRandomSpi.java -3229850841b ./libjava/java/security/Security.java -3637925183b ./libjava/java/security/SecurityPermission.java - 498383671b ./libjava/java/security/SignatureException.java -4213110400b ./libjava/java/security/Signature.java -2850222648b ./libjava/java/security/SignatureSpi.java - 366295954b ./libjava/java/security/SignedObject.java -3719230281b ./libjava/java/security/Signer.java - 822101390b ./libjava/java/security/spec/AlgorithmParameterSpec.java -3120841125b ./libjava/java/security/spec/DSAParameterSpec.java -2299637832b ./libjava/java/security/spec/DSAPrivateKeySpec.java - 681202330b ./libjava/java/security/spec/DSAPublicKeySpec.java -1352408709b ./libjava/java/security/spec/EncodedKeySpec.java -4009180494b ./libjava/java/security/spec/InvalidKeySpecException.java - 965497815b ./libjava/java/security/spec/InvalidParameterSpecException.java -3101037976b ./libjava/java/security/spec/KeySpec.java -2816023539b ./libjava/java/security/spec/PKCS8EncodedKeySpec.java -1120858009b ./libjava/java/security/spec/RSAKeyGenParameterSpec.java -4250337880b ./libjava/java/security/spec/RSAPrivateCrtKeySpec.java -2927717266b ./libjava/java/security/spec/RSAPrivateKeySpec.java - 379229426b ./libjava/java/security/spec/RSAPublicKeySpec.java -2631607563b ./libjava/java/security/spec/X509EncodedKeySpec.java -2654502080b ./libjava/java/security/UnrecoverableKeyException.java -3042679945b ./libjava/java/security/UnresolvedPermission.java -2530986689b ./libjava/java/sql/Array.java - 732307642b ./libjava/java/sql/BatchUpdateException.java - 374178764b ./libjava/java/sql/Blob.java -1076961675b ./libjava/java/sql/CallableStatement.java -3989040128b ./libjava/java/sql/Clob.java -2277896489b ./libjava/java/sql/Connection.java -3263074261b ./libjava/java/sql/DatabaseMetaData.java -3465346954b ./libjava/java/sql/DataTruncation.java -3146941939b ./libjava/java/sql/Date.java -2513314582b ./libjava/java/sql/Driver.java -3274581597b ./libjava/java/sql/DriverManager.java - 824112165b ./libjava/java/sql/DriverPropertyInfo.java - 650191309b ./libjava/java/sql/PreparedStatement.java -3735265522b ./libjava/java/sql/Ref.java -1340870361b ./libjava/java/sql/ResultSet.java - 303434648b ./libjava/java/sql/ResultSetMetaData.java -2203730199b ./libjava/java/sql/SQLData.java -2087528963b ./libjava/java/sql/SQLException.java -4204919565b ./libjava/java/sql/SQLInput.java - 497830475b ./libjava/java/sql/SQLOutput.java -2690669161b ./libjava/java/sql/SQLWarning.java -2118176561b ./libjava/java/sql/Statement.java -1941352982b ./libjava/java/sql/Struct.java -1822095083b ./libjava/java/sql/Time.java -3582484656b ./libjava/java/sql/Timestamp.java -2990213411b ./libjava/java/sql/Types.java -2231202473b ./libjava/java/text/Annotation.java - 459822626b ./libjava/java/text/AttributedCharacterIterator.java -1193044303b ./libjava/java/text/AttributedStringIterator.java -1309664747b ./libjava/java/text/AttributedString.java -2390211842b ./libjava/java/text/BreakIterator.java - 558207429b ./libjava/java/text/CharacterIterator.java -2434956617b ./libjava/java/text/ChoiceFormat.java -3293929777b ./libjava/java/text/CollationElementIterator.java - 285476728b ./libjava/java/text/CollationKey.java - 376903872b ./libjava/java/text/Collator.java - 178017360b ./libjava/java/text/DateFormat.java -1553614803b ./libjava/java/text/DateFormatSymbols.java -3087605867b ./libjava/java/text/DecimalFormat.java - 934140472b ./libjava/java/text/DecimalFormatSymbols.java -2519664708b ./libjava/java/text/FieldPosition.java -1527062930b ./libjava/java/text/Format.java -3209075256b ./libjava/java/text/MessageFormat.java -1224532863b ./libjava/java/text/natCollator.cc -2380468989b ./libjava/java/text/NumberFormat.java -2701315364b ./libjava/java/text/ParseException.java - 807650843b ./libjava/java/text/ParsePosition.java -2113083680b ./libjava/java/text/RuleBasedCollator.java -1428855839b ./libjava/java/text/SimpleDateFormat.java - 253040983b ./libjava/java/text/StringCharacterIterator.java -2532876071b ./libjava/java/util/AbstractCollection.java -2029909984b ./libjava/java/util/AbstractList.java - 744897810b ./libjava/java/util/AbstractMap.java -4033710468b ./libjava/java/util/AbstractSequentialList.java -2512678519b ./libjava/java/util/AbstractSet.java -3703107479b ./libjava/java/util/ArrayList.java -1381887354b ./libjava/java/util/Arrays.java -3524843230b ./libjava/java/util/BasicMapEntry.java - 282804152b ./libjava/java/util/BitSet.java -2660147876b ./libjava/java/util/Calendar.java -1341887661b ./libjava/java/util/Collection.java -2871372597b ./libjava/java/util/Collections.java -3016313098b ./libjava/java/util/Comparator.java -2908271472b ./libjava/java/util/ConcurrentModificationException.java - 710778165b ./libjava/java/util/Date.java - 328149423b ./libjava/java/util/Dictionary.java - 393960426b ./libjava/java/util/EmptyStackException.java - 358368463b ./libjava/java/util/Enumeration.java -2421153851b ./libjava/java/util/EventListener.java -3090423014b ./libjava/java/util/EventObject.java -3092311908b ./libjava/java/util/GregorianCalendar.java -1559136349b ./libjava/java/util/HashMap.java -3919942898b ./libjava/java/util/HashSet.java - 804852857b ./libjava/java/util/Hashtable.java -4293305226b ./libjava/java/util/IdentityHashMap.java -4026479457b ./libjava/java/util/Iterator.java -3778884769b ./libjava/java/util/jar/Attributes.java -3242774103b ./libjava/java/util/jar/JarEntry.java -1439364136b ./libjava/java/util/jar/JarException.java -3579491279b ./libjava/java/util/jar/JarFile.java -3108700190b ./libjava/java/util/jar/JarInputStream.java -3060414122b ./libjava/java/util/jar/JarOutputStream.java -1259280694b ./libjava/java/util/jar/Manifest.java - 832329135b ./libjava/java/util/LinkedHashMap.java -1624117899b ./libjava/java/util/LinkedHashSet.java - 627526944b ./libjava/java/util/LinkedList.java - 751985718b ./libjava/java/util/ListIterator.java -3068429576b ./libjava/java/util/List.java -2456450061b ./libjava/java/util/ListResourceBundle.java - 667725203b ./libjava/java/util/Locale.java - 484359853b ./libjava/java/util/Map.java -2250155039b ./libjava/java/util/MissingResourceException.java -1572696779b ./libjava/java/util/NoSuchElementException.java -1271533381b ./libjava/java/util/Observable.java -4174427959b ./libjava/java/util/Observer.java -2595158547b ./libjava/java/util/Properties.java -2604596284b ./libjava/java/util/PropertyPermission.java -1495521984b ./libjava/java/util/PropertyResourceBundle.java -2707837116b ./libjava/java/util/RandomAccess.java -1741060266b ./libjava/java/util/Random.java - 604399175b ./libjava/java/util/ResourceBundle.java -2326466944b ./libjava/java/util/Set.java -2701923146b ./libjava/java/util/SimpleTimeZone.java -1991994937b ./libjava/java/util/SortedMap.java -2357787438b ./libjava/java/util/SortedSet.java -1274465736b ./libjava/java/util/Stack.java -3200298650b ./libjava/java/util/StringTokenizer.java -3482719698b ./libjava/java/util/Timer.java -2154207616b ./libjava/java/util/TimerTask.java -2511347434b ./libjava/java/util/TimeZone.java -4294130868b ./libjava/java/util/TooManyListenersException.java -3728869390b ./libjava/java/util/TreeMap.java -3277604160b ./libjava/java/util/TreeSet.java -3512853982b ./libjava/java/util/Vector.java -1610986963b ./libjava/java/util/WeakHashMap.java -2655847765b ./libjava/java/util/zip/Adler32.java -4095201247b ./libjava/java/util/zip/CheckedInputStream.java -1148292706b ./libjava/java/util/zip/CheckedOutputStream.java -2267421579b ./libjava/java/util/zip/Checksum.java -2436561403b ./libjava/java/util/zip/CRC32.java -3657795573b ./libjava/java/util/zip/DataFormatException.java - 199330457b ./libjava/java/util/zip/Deflater.java -3336807235b ./libjava/java/util/zip/DeflaterOutputStream.java -4059428363b ./libjava/java/util/zip/GZIPInputStream.java - 371303032b ./libjava/java/util/zip/GZIPOutputStream.java -3396470608b ./libjava/java/util/zip/InflaterInputStream.java -2396996601b ./libjava/java/util/zip/Inflater.java -1224162092b ./libjava/java/util/zip/natDeflater.cc -3063634192b ./libjava/java/util/zip/natInflater.cc -1145913690b ./libjava/java/util/zip/ZipConstants.java - 65566596b ./libjava/java/util/zip/ZipEntry.java - 96030578b ./libjava/java/util/zip/ZipException.java -2814843272b ./libjava/java/util/zip/ZipFile.java -2069419618b ./libjava/java/util/zip/ZipInputStream.java -3710262911b ./libjava/java/util/zip/ZipOutputStream.java - 145274057b ./libjava/javax/naming/AuthenticationException.java -1613568553b ./libjava/javax/naming/AuthenticationNotSupportedException.java -3018524827b ./libjava/javax/naming/BinaryRefAddr.java -2950522979b ./libjava/javax/naming/Binding.java - 495208868b ./libjava/javax/naming/CannotProceedException.java -1696161213b ./libjava/javax/naming/CommunicationException.java -1020365512b ./libjava/javax/naming/CompositeName.java -3091243262b ./libjava/javax/naming/CompoundName.java -2106105768b ./libjava/javax/naming/ConfigurationException.java -2355024605b ./libjava/javax/naming/Context.java -3253591271b ./libjava/javax/naming/ContextNotEmptyException.java -1403862831b ./libjava/javax/naming/directory/AttributeInUseException.java -3287107224b ./libjava/javax/naming/directory/Attribute.java -1937491808b ./libjava/javax/naming/directory/AttributeModificationException.java -2124855085b ./libjava/javax/naming/directory/Attributes.java -4218631907b ./libjava/javax/naming/directory/BasicAttribute.java -1340187773b ./libjava/javax/naming/directory/BasicAttributes.java - 525649657b ./libjava/javax/naming/directory/DirContext.java -3780905669b ./libjava/javax/naming/directory/InitialDirContext.java -1070098408b ./libjava/javax/naming/directory/InvalidAttributeIdentifierException.java -2130227696b ./libjava/javax/naming/directory/InvalidAttributesException.java -2448051700b ./libjava/javax/naming/directory/InvalidAttributeValueException.java -3317095745b ./libjava/javax/naming/directory/InvalidSearchControlsException.java -2677951745b ./libjava/javax/naming/directory/InvalidSearchFilterException.java - 297375529b ./libjava/javax/naming/directory/ModificationItem.java -1218016472b ./libjava/javax/naming/directory/NoSuchAttributeException.java -3800798223b ./libjava/javax/naming/directory/SchemaViolationException.java -2280737329b ./libjava/javax/naming/directory/SearchControls.java -2833305555b ./libjava/javax/naming/directory/SearchResult.java - 632548719b ./libjava/javax/naming/event/EventContext.java -1104789568b ./libjava/javax/naming/event/EventDirContext.java -1079821505b ./libjava/javax/naming/event/NamespaceChangeListener.java -1238809356b ./libjava/javax/naming/event/NamingEvent.java -3831078506b ./libjava/javax/naming/event/NamingExceptionEvent.java -1293039497b ./libjava/javax/naming/event/NamingListener.java -1847110909b ./libjava/javax/naming/event/ObjectChangeListener.java -1739543939b ./libjava/javax/naming/InitialContext.java - 38212245b ./libjava/javax/naming/InsufficientResourcesException.java -2296688963b ./libjava/javax/naming/InterruptedNamingException.java -4165253207b ./libjava/javax/naming/InvalidNameException.java -4178007180b ./libjava/javax/naming/ldap/ControlFactory.java -1181684484b ./libjava/javax/naming/ldap/Control.java -1350269098b ./libjava/javax/naming/ldap/ExtendedRequest.java - 738885701b ./libjava/javax/naming/ldap/ExtendedResponse.java -4143032207b ./libjava/javax/naming/ldap/HasControls.java - 992304517b ./libjava/javax/naming/ldap/InitialLdapContext.java -1094699680b ./libjava/javax/naming/ldap/LdapContext.java -3377633528b ./libjava/javax/naming/ldap/LdapReferralException.java -2717074673b ./libjava/javax/naming/ldap/UnsolicitedNotificationEvent.java - 391691341b ./libjava/javax/naming/ldap/UnsolicitedNotification.java -4115295275b ./libjava/javax/naming/ldap/UnsolicitedNotificationListener.java -3467011523b ./libjava/javax/naming/LimitExceededException.java -2945536555b ./libjava/javax/naming/LinkException.java -3280765719b ./libjava/javax/naming/LinkLoopException.java -4232859152b ./libjava/javax/naming/LinkRef.java -1528609025b ./libjava/javax/naming/MalformedLinkException.java -2798268023b ./libjava/javax/naming/NameAlreadyBoundException.java -4202297725b ./libjava/javax/naming/NameClassPair.java -2645610340b ./libjava/javax/naming/Name.java - 230282723b ./libjava/javax/naming/NameNotFoundException.java -2454523681b ./libjava/javax/naming/NameParser.java -3641625296b ./libjava/javax/naming/NamingEnumeration.java - 949888078b ./libjava/javax/naming/NamingException.java -1081898018b ./libjava/javax/naming/NamingSecurityException.java -3355150544b ./libjava/javax/naming/NoInitialContextException.java -3148663544b ./libjava/javax/naming/NoPermissionException.java -1051745286b ./libjava/javax/naming/NotContextException.java -1197235786b ./libjava/javax/naming/OperationNotSupportedException.java -2758830928b ./libjava/javax/naming/PartialResultException.java -3291792639b ./libjava/javax/naming/RefAddr.java -1496952630b ./libjava/javax/naming/Referenceable.java -3197721219b ./libjava/javax/naming/Reference.java -2706204834b ./libjava/javax/naming/ReferralException.java - 740355282b ./libjava/javax/naming/ServiceUnavailableException.java -2175690233b ./libjava/javax/naming/SizeLimitExceededException.java - 940282333b ./libjava/javax/naming/spi/DirectoryManager.java -1671315693b ./libjava/javax/naming/spi/DirObjectFactory.java -2654197748b ./libjava/javax/naming/spi/DirStateFactory.java -2067382225b ./libjava/javax/naming/spi/InitialContextFactoryBuilder.java -1751323528b ./libjava/javax/naming/spi/InitialContextFactory.java -4282133359b ./libjava/javax/naming/spi/NamingManager.java -2834439335b ./libjava/javax/naming/spi/ObjectFactoryBuilder.java - 162979435b ./libjava/javax/naming/spi/ObjectFactory.java -3604649919b ./libjava/javax/naming/spi/ResolveResult.java - 324774529b ./libjava/javax/naming/spi/Resolver.java -2596286413b ./libjava/javax/naming/spi/StateFactory.java - 255272768b ./libjava/javax/naming/StringRefAddr.java - 668991294b ./libjava/javax/naming/TimeLimitExceededException.java -1100799981b ./libjava/javax/transaction/HeuristicCommitException.java -3468030488b ./libjava/javax/transaction/HeuristicMixedException.java -3612916446b ./libjava/javax/transaction/HeuristicRollbackException.java -3063033259b ./libjava/javax/transaction/InvalidTransactionException.java -3066010541b ./libjava/javax/transaction/NotSupportedException.java -2654654450b ./libjava/javax/transaction/RollbackException.java -1778487585b ./libjava/javax/transaction/Status.java - 314435753b ./libjava/javax/transaction/Synchronization.java -2247680091b ./libjava/javax/transaction/SystemException.java -3332683111b ./libjava/javax/transaction/Transaction.java -1322333630b ./libjava/javax/transaction/TransactionManager.java -1540883701b ./libjava/javax/transaction/TransactionRequiredException.java - 149347685b ./libjava/javax/transaction/TransactionRolledbackException.java -1599652796b ./libjava/javax/transaction/UserTransaction.java - 91616559b ./libjava/javax/transaction/xa/XAException.java - 151022467b ./libjava/javax/transaction/xa/XAResource.java -2545015127b ./libjava/javax/transaction/xa/Xid.java -2987342447b ./libjava/jni.cc -1362543266b ./libjava/LIBGCJ_LICENSE - 799924566b ./libjava/libgcj.spec.in -3263845190b ./libjava/libgcj-test.spec.in - 464053222b ./libjava/libltdl/acconfig.h -1486261890b ./libjava/libltdl/acinclude.m4 -2748542911b ./libjava/libltdl/aclocal.m4 -1982405743b ./libjava/libltdl/ChangeLog -3229611250b ./libjava/libltdl/config.h.in -3663840013b ./libjava/libltdl/configure - 586017012b ./libjava/libltdl/configure.in -1530919786b ./libjava/libltdl/COPYING.LIB -3885054737b ./libjava/libltdl/.cvsignore -1708336280b ./libjava/libltdl/ltdl.c -3122579166b ./libjava/libltdl/ltdl.h -3589765398b ./libjava/libltdl/Makefile.am -2495909158b ./libjava/libltdl/Makefile.in -1322928877b ./libjava/libltdl/README - 216805921b ./libjava/libltdl/stamp-h.in -4225681790b ./libjava/libtool-version -1949592651b ./libjava/Makefile.am -3462890813b ./libjava/Makefile.in -1775785992b ./libjava/mauve-libgcj -3598737829b ./libjava/name-finder.cc -4049677327b ./libjava/NEWS -3395710497b ./libjava/nogc.cc - 529282886b ./libjava/no-threads.cc -2042069291b ./libjava/org/w3c/dom/Attr.java - 722169044b ./libjava/org/w3c/dom/CDATASection.java -2065721992b ./libjava/org/w3c/dom/CharacterData.java -2143127567b ./libjava/org/w3c/dom/Comment.java - 862763522b ./libjava/org/w3c/dom/DocumentFragment.java -1900680333b ./libjava/org/w3c/dom/Document.java -2426412549b ./libjava/org/w3c/dom/DocumentType.java - 488476586b ./libjava/org/w3c/dom/DOMException.java -4211570251b ./libjava/org/w3c/dom/DOMImplementation.java -4250415570b ./libjava/org/w3c/dom/Element.java -4046624265b ./libjava/org/w3c/dom/Entity.java -2262342958b ./libjava/org/w3c/dom/EntityReference.java - 855632112b ./libjava/org/w3c/dom/NamedNodeMap.java -2986347584b ./libjava/org/w3c/dom/Node.java -1228842303b ./libjava/org/w3c/dom/NodeList.java -3739671112b ./libjava/org/w3c/dom/Notation.java - 358325944b ./libjava/org/w3c/dom/ProcessingInstruction.java -2318984118b ./libjava/org/w3c/dom/ranges/DocumentRange.java - 575095803b ./libjava/org/w3c/dom/ranges/RangeException.java -1265227100b ./libjava/org/w3c/dom/ranges/Range.java -1690022844b ./libjava/org/w3c/dom/Text.java -4050517071b ./libjava/org/w3c/dom/traversal/DocumentTraversal.java -2226386849b ./libjava/org/w3c/dom/traversal/NodeFilter.java -3652245705b ./libjava/org/w3c/dom/traversal/NodeIterator.java - 819381088b ./libjava/org/w3c/dom/traversal/TreeWalker.java -1845225689b ./libjava/org/xml/sax/AttributeList.java - 34783101b ./libjava/org/xml/sax/Attributes.java -2393098782b ./libjava/org/xml/sax/ContentHandler.java -2167265032b ./libjava/org/xml/sax/DocumentHandler.java -2487190850b ./libjava/org/xml/sax/DTDHandler.java -3192023668b ./libjava/org/xml/sax/EntityResolver.java -2389406127b ./libjava/org/xml/sax/ErrorHandler.java -3779605388b ./libjava/org/xml/sax/ext/DeclHandler.java -3015426944b ./libjava/org/xml/sax/ext/LexicalHandler.java -3331884369b ./libjava/org/xml/sax/HandlerBase.java -2006841075b ./libjava/org/xml/sax/helpers/AttributeListImpl.java -1981118939b ./libjava/org/xml/sax/helpers/AttributesImpl.java -3683787168b ./libjava/org/xml/sax/helpers/DefaultHandler.java -3791965905b ./libjava/org/xml/sax/helpers/LocatorImpl.java -1401784461b ./libjava/org/xml/sax/helpers/NamespaceSupport.java -3459248108b ./libjava/org/xml/sax/helpers/ParserAdapter.java -1216147324b ./libjava/org/xml/sax/helpers/ParserFactory.java - 774083139b ./libjava/org/xml/sax/helpers/XMLFilterImpl.java -3667288069b ./libjava/org/xml/sax/helpers/XMLReaderAdapter.java -1058624631b ./libjava/org/xml/sax/helpers/XMLReaderFactory.java -3525958518b ./libjava/org/xml/sax/InputSource.java -1358247595b ./libjava/org/xml/sax/Locator.java - 570431615b ./libjava/org/xml/sax/Parser.java -1627938146b ./libjava/org/xml/sax/SAXException.java -4028320752b ./libjava/org/xml/sax/SAXNotRecognizedException.java - 800153920b ./libjava/org/xml/sax/SAXNotSupportedException.java - 24590437b ./libjava/org/xml/sax/SAXParseException.java -2665273964b ./libjava/org/xml/sax/XMLFilter.java - 557624139b ./libjava/org/xml/sax/XMLReader.java - 268319164b ./libjava/posix.cc -4218036894b ./libjava/posix-threads.cc -1057670606b ./libjava/prims.cc -3199155412b ./libjava/README -3315476665b ./libjava/resolve.cc -2710913388b ./libjava/scripts/classes.pl -2322272636b ./libjava/scripts/encodings.pl -2639955246b ./libjava/scripts/MakeCharTables.java - 211751055b ./libjava/scripts/MakeDefaultMimeTypes.java - 415147073b ./libjava/scripts/mime.types -1359447378b ./libjava/scripts/showval.java -2309086205b ./libjava/scripts/TexinfoDoclet.java - 2507783b ./libjava/scripts/unicode-blocks.pl -2554188738b ./libjava/scripts/unicode-decomp.pl -3460612990b ./libjava/scripts/unicode-muncher.pl - 810390237b ./libjava/sysdep/alpha/locks.h -2948369561b ./libjava/sysdep/generic/locks.h - 255022282b ./libjava/sysdep/i386/locks.h -4255020929b ./libjava/sysdep/ia64.c -3969226176b ./libjava/sysdep/ia64-frame.h -2487590179b ./libjava/sysdep/ia64/locks.h -3446737173b ./libjava/sysdep/powerpc/locks.h -2903495760b ./libjava/sysdep/sparc/locks.h -2428761261b ./libjava/testsuite/ChangeLog -1230501773b ./libjava/testsuite/config/default.exp -3718926011b ./libjava/testsuite/libjava.compile/abstr.java -2888415448b ./libjava/testsuite/libjava.compile/abstr.xfail -2597392402b ./libjava/testsuite/libjava.compile/ArrayClass.java -2510342235b ./libjava/testsuite/libjava.compile/assignment_2.java - 113533645b ./libjava/testsuite/libjava.compile/assignment.java - 226856759b ./libjava/testsuite/libjava.compile/block.java -1927457704b ./libjava/testsuite/libjava.compile/block.xfail -2001362839b ./libjava/testsuite/libjava.compile/Case.java -1280659122b ./libjava/testsuite/libjava.compile/comment.java -1877199736b ./libjava/testsuite/libjava.compile/compile.exp -3242282126b ./libjava/testsuite/libjava.compile/final_assignment_check.java -1927457704b ./libjava/testsuite/libjava.compile/final_assignment_check.xfail -2489230363b ./libjava/testsuite/libjava.compile/final_initialization_in_ctor.java -2700872724b ./libjava/testsuite/libjava.compile/final_local_switch.java -1402474633b ./libjava/testsuite/libjava.compile/G19990210_1.java -3600660956b ./libjava/testsuite/libjava.compile/G19990210_2.java -2466381413b ./libjava/testsuite/libjava.compile/G19990210_3.java -3421295656b ./libjava/testsuite/libjava.compile/G19990217_01.java -3096844209b ./libjava/testsuite/libjava.compile/G19990217_02.java - 290547391b ./libjava/testsuite/libjava.compile/G19990217_02.no-link -2679863284b ./libjava/testsuite/libjava.compile/G19990225_01.java -2268267866b ./libjava/testsuite/libjava.compile/iface.java -3867761903b ./libjava/testsuite/libjava.compile/inner_1.java - 20838332b ./libjava/testsuite/libjava.compile/inner_1.xfail -2923236037b ./libjava/testsuite/libjava.compile/inner_data.java -1142481695b ./libjava/testsuite/libjava.compile/inner_inherit.java -2576661865b ./libjava/testsuite/libjava.compile/inner_priv.java -1329801431b ./libjava/testsuite/libjava.compile/inner_pub.java - 988747335b ./libjava/testsuite/libjava.compile/invokeinterface/A.java -1237730563b ./libjava/testsuite/libjava.compile/invokeinterface/B.java - 887835602b ./libjava/testsuite/libjava.compile/invokeinterface/Test.java -3848284330b ./libjava/testsuite/libjava.compile/MethodFailure4.java -1927457704b ./libjava/testsuite/libjava.compile/MethodFailure4.xfail -1373164997b ./libjava/testsuite/libjava.compile/N19990310_01.java -2764881773b ./libjava/testsuite/libjava.compile/N19990317.java -1478470590b ./libjava/testsuite/libjava.compile/not_a_redef.java -2802394982b ./libjava/testsuite/libjava.compile/not_a_redef.xfail -2730053140b ./libjava/testsuite/libjava.compile/OperatorBenchmark.java -1193669757b ./libjava/testsuite/libjava.compile/perc.java -4184523558b ./libjava/testsuite/libjava.compile/plusplus.java - 285536381b ./libjava/testsuite/libjava.compile/PR124.java -1927457704b ./libjava/testsuite/libjava.compile/PR124.xfail -2852406997b ./libjava/testsuite/libjava.compile/PR127.java -1927457704b ./libjava/testsuite/libjava.compile/PR127.xfail - 804684683b ./libjava/testsuite/libjava.compile/PR129_B.java - 290547391b ./libjava/testsuite/libjava.compile/PR129_B.no-link -3146715453b ./libjava/testsuite/libjava.compile/PR140.java -1927457704b ./libjava/testsuite/libjava.compile/PR140.xfail -4285258758b ./libjava/testsuite/libjava.compile/PR163.java -1927457704b ./libjava/testsuite/libjava.compile/PR163.xfail -2290833112b ./libjava/testsuite/libjava.compile/PR164.java -1927457704b ./libjava/testsuite/libjava.compile/PR164.xfail - 127683262b ./libjava/testsuite/libjava.compile/pr172.java -3745463245b ./libjava/testsuite/libjava.compile/pr174.java -2787957046b ./libjava/testsuite/libjava.compile/pr176.java - 895496907b ./libjava/testsuite/libjava.compile/PR206.java - 973849712b ./libjava/testsuite/libjava.compile/PR207.java -2802394982b ./libjava/testsuite/libjava.compile/PR207.xfail -3360966851b ./libjava/testsuite/libjava.compile/PR208.java -2802394982b ./libjava/testsuite/libjava.compile/PR208.xfail -1822717569b ./libjava/testsuite/libjava.compile/PR209.java - 779507036b ./libjava/testsuite/libjava.compile/PR224.java -1927457704b ./libjava/testsuite/libjava.compile/PR224.xfail -2627046019b ./libjava/testsuite/libjava.compile/PR232B.java -2989158759b ./libjava/testsuite/libjava.compile/PR232.java -3778326371b ./libjava/testsuite/libjava.compile/PR234.java - 842896942b ./libjava/testsuite/libjava.compile/PR235.java -2668948381b ./libjava/testsuite/libjava.compile/PR238.java -2802394982b ./libjava/testsuite/libjava.compile/PR238.xfail -1408787751b ./libjava/testsuite/libjava.compile/PR295.java -1630321289b ./libjava/testsuite/libjava.compile/PR310.java -1927457704b ./libjava/testsuite/libjava.compile/PR310.xfail -3891302784b ./libjava/testsuite/libjava.compile/PR3417.java -1927457704b ./libjava/testsuite/libjava.compile/PR3417.xfail -1207363773b ./libjava/testsuite/libjava.compile/PR374.java -1864561249b ./libjava/testsuite/libjava.compile/PR375.java -2378882884b ./libjava/testsuite/libjava.compile/PR4766.java - 277297044b ./libjava/testsuite/libjava.compile/PR5641.java -2888415448b ./libjava/testsuite/libjava.compile/PR5641.xfail -2775990221b ./libjava/testsuite/libjava.compile/PR5848.java -2802394982b ./libjava/testsuite/libjava.compile/PR5848.xfail -3877718833b ./libjava/testsuite/libjava.compile/PR5902.java -3468040591b ./libjava/testsuite/libjava.compile/PR5913.java - 588631470b ./libjava/testsuite/libjava.compile/PR5913.xfail -3689218637b ./libjava/testsuite/libjava.compile/PR6026.java -1123122376b ./libjava/testsuite/libjava.compile/redef1.java -1927457704b ./libjava/testsuite/libjava.compile/redef1.xfail -1933159159b ./libjava/testsuite/libjava.compile/redef2.java -1927457704b ./libjava/testsuite/libjava.compile/redef2.xfail -3363725257b ./libjava/testsuite/libjava.compile/redef3.java -1927457704b ./libjava/testsuite/libjava.compile/redef3.xfail - 967702590b ./libjava/testsuite/libjava.compile/redef4.java -1927457704b ./libjava/testsuite/libjava.compile/redef4.xfail - 91895527b ./libjava/testsuite/libjava.compile/redef5.java -1927457704b ./libjava/testsuite/libjava.compile/redef5.xfail - 301913850b ./libjava/testsuite/libjava.compile/redef6.java -1927457704b ./libjava/testsuite/libjava.compile/redef6.xfail -1601820268b ./libjava/testsuite/libjava.compile/Semi.java -1151358467b ./libjava/testsuite/libjava.compile/static_1.java -1927457704b ./libjava/testsuite/libjava.compile/static_1.xfail -3508774254b ./libjava/testsuite/libjava.compile/static_2.java -2802394982b ./libjava/testsuite/libjava.compile/static_2.xfail -2883944369b ./libjava/testsuite/libjava.compile/static_3.java -2802394982b ./libjava/testsuite/libjava.compile/static_3.xfail -1286489290b ./libjava/testsuite/libjava.compile/static_init2.java -1851980739b ./libjava/testsuite/libjava.compile/static_init.java -1927457704b ./libjava/testsuite/libjava.compile/static_init.xfail -2134939631b ./libjava/testsuite/libjava.compile/static_inner.java -1283240173b ./libjava/testsuite/libjava.compile/Statics.java -2919174619b ./libjava/testsuite/libjava.compile/SuperConstr.java -3221090904b ./libjava/testsuite/libjava.compile/support/Case.java -1796854903b ./libjava/testsuite/libjava.compile/support/PR129_A.java -4294110747b ./libjava/testsuite/libjava.compile/support/PR206_A.java -3604033893b ./libjava/testsuite/libjava.compile/support/PR207_A.java -3847332882b ./libjava/testsuite/libjava.compile/support/Waldo.java -4243896875b ./libjava/testsuite/libjava.compile/Twice.java -1618780916b ./libjava/testsuite/libjava.compile/uesc.java -1927457704b ./libjava/testsuite/libjava.compile/uesc.xfail - 650583552b ./libjava/testsuite/libjava.compile/weirddecl.java -2802394982b ./libjava/testsuite/libjava.compile/weirddecl.xfail - 328754321b ./libjava/testsuite/libjava.compile/Where.java - 20838332b ./libjava/testsuite/libjava.compile/Where.xfail -4003272220b ./libjava/testsuite/libjava.compile/XercesBug.java -2406961399b ./libjava/testsuite/libjava.jni/calls.c - 570497497b ./libjava/testsuite/libjava.jni/calls.java -2319994314b ./libjava/testsuite/libjava.jni/calls.out -3258253370b ./libjava/testsuite/libjava.jni/cxxtest.cc -3556355428b ./libjava/testsuite/libjava.jni/cxxtest.java -1591540413b ./libjava/testsuite/libjava.jni/cxxtest.out -3827106409b ./libjava/testsuite/libjava.jni/field.c -2827280571b ./libjava/testsuite/libjava.jni/field.java -1591540413b ./libjava/testsuite/libjava.jni/field.out -2542861742b ./libjava/testsuite/libjava.jni/final_method.c - 744642976b ./libjava/testsuite/libjava.jni/final_method.java -4113024295b ./libjava/testsuite/libjava.jni/final_method.out -2096366722b ./libjava/testsuite/libjava.jni/findclass.c -1104414750b ./libjava/testsuite/libjava.jni/findclass.java -2209130481b ./libjava/testsuite/libjava.jni/findclass.out -3064158603b ./libjava/testsuite/libjava.jni/invoke.c - 259614484b ./libjava/testsuite/libjava.jni/invoke.java -2175620992b ./libjava/testsuite/libjava.jni/invoke.out -2564626451b ./libjava/testsuite/libjava.jni/jni.exp -4181163842b ./libjava/testsuite/libjava.jni/martin.c -1311631215b ./libjava/testsuite/libjava.jni/martin.java -3887683434b ./libjava/testsuite/libjava.jni/martin.out -2791696369b ./libjava/testsuite/libjava.jni/noclass.c - 32928721b ./libjava/testsuite/libjava.jni/noclass.java - 497334114b ./libjava/testsuite/libjava.jni/noclass.out -1963806613b ./libjava/testsuite/libjava.jni/overload.c - 961228127b ./libjava/testsuite/libjava.jni/overload.java -2399516383b ./libjava/testsuite/libjava.jni/overload.out -1369103910b ./libjava/testsuite/libjava.jni/register.c -4203322028b ./libjava/testsuite/libjava.jni/register.java - 871340861b ./libjava/testsuite/libjava.jni/register.out -4271669831b ./libjava/testsuite/libjava.jni/simple_int.c - 555115153b ./libjava/testsuite/libjava.jni/simple_int.java -1242895306b ./libjava/testsuite/libjava.jni/simple_int.out -1996443135b ./libjava/testsuite/libjava.jni/throwit.c -2321406220b ./libjava/testsuite/libjava.jni/throwit.java -3149777050b ./libjava/testsuite/libjava.jni/throwit.out -4001436975b ./libjava/testsuite/libjava.jni/virtual.c -1112271683b ./libjava/testsuite/libjava.jni/virtual.java -3956933800b ./libjava/testsuite/libjava.jni/virtual.out - 68731963b ./libjava/testsuite/libjava.lang/anfi.java -1280347506b ./libjava/testsuite/libjava.lang/anfi.out -3232612065b ./libjava/testsuite/libjava.lang/anon2.java - 119345088b ./libjava/testsuite/libjava.lang/anon2.out -1843983227b ./libjava/testsuite/libjava.lang/anon3.java -4270138359b ./libjava/testsuite/libjava.lang/anon3.out - 507421585b ./libjava/testsuite/libjava.lang/anon4.java -1106138275b ./libjava/testsuite/libjava.lang/anon4.out -3443545975b ./libjava/testsuite/libjava.lang/anonarray2.java -2382672912b ./libjava/testsuite/libjava.lang/anonarray2.out -3491730776b ./libjava/testsuite/libjava.lang/anonarray3.java -1685542540b ./libjava/testsuite/libjava.lang/anonarray3.out -1808791407b ./libjava/testsuite/libjava.lang/anonarray.java -2382672912b ./libjava/testsuite/libjava.lang/anonarray.out - 112674158b ./libjava/testsuite/libjava.lang/anon_ctor_itf_arg.java -3114021423b ./libjava/testsuite/libjava.lang/anon_ctor_itf_arg.out -4123776590b ./libjava/testsuite/libjava.lang/anon.java -2668540913b ./libjava/testsuite/libjava.lang/anon.out - 861880957b ./libjava/testsuite/libjava.lang/Array_1.java - 882278996b ./libjava/testsuite/libjava.lang/Array_1.out -1251637952b ./libjava/testsuite/libjava.lang/Array_2.java - 684357305b ./libjava/testsuite/libjava.lang/Array_2.out - 938556093b ./libjava/testsuite/libjava.lang/Array_3.java -4294967295b ./libjava/testsuite/libjava.lang/Array_3.out -4266220724b ./libjava/testsuite/libjava.lang/ArrayStore2.java -2092431633b ./libjava/testsuite/libjava.lang/ArrayStore2.out -4156356334b ./libjava/testsuite/libjava.lang/ArrayStore2.xfail -2027810547b ./libjava/testsuite/libjava.lang/ArrayStore.java -1436845427b ./libjava/testsuite/libjava.lang/ArrayStore.out - 300949552b ./libjava/testsuite/libjava.lang/ArrayStore.xfail -3857779796b ./libjava/testsuite/libjava.lang/Class_1.java -2350753667b ./libjava/testsuite/libjava.lang/Class_1.out -2546101232b ./libjava/testsuite/libjava.lang/direct_read.java -2764570783b ./libjava/testsuite/libjava.lang/direct_read.out - 941796535b ./libjava/testsuite/libjava.lang/direct_write.java - 975119945b ./libjava/testsuite/libjava.lang/direct_write.out - 101283440b ./libjava/testsuite/libjava.lang/Divide_1.java -1217781165b ./libjava/testsuite/libjava.lang/Divide_1.out - 215085604b ./libjava/testsuite/libjava.lang/err10.java -2283836352b ./libjava/testsuite/libjava.lang/err10.out -1346535668b ./libjava/testsuite/libjava.lang/err11.java -2283836352b ./libjava/testsuite/libjava.lang/err11.out - 967139972b ./libjava/testsuite/libjava.lang/err12.java -2283836352b ./libjava/testsuite/libjava.lang/err12.out -1986676622b ./libjava/testsuite/libjava.lang/err13.java -2283836352b ./libjava/testsuite/libjava.lang/err13.out -4201705759b ./libjava/testsuite/libjava.lang/err1.java -2283836352b ./libjava/testsuite/libjava.lang/err1.out - 616366908b ./libjava/testsuite/libjava.lang/err2.java -2283836352b ./libjava/testsuite/libjava.lang/err2.out - 826646394b ./libjava/testsuite/libjava.lang/err3.java - 468159192b ./libjava/testsuite/libjava.lang/err3.out - 429966672b ./libjava/testsuite/libjava.lang/err4.java - 818600219b ./libjava/testsuite/libjava.lang/err4.out - 622843866b ./libjava/testsuite/libjava.lang/err5.java -2283836352b ./libjava/testsuite/libjava.lang/err5.out -2716447628b ./libjava/testsuite/libjava.lang/err6.java -2283836352b ./libjava/testsuite/libjava.lang/err6.out -1873356782b ./libjava/testsuite/libjava.lang/err7.java -2283836352b ./libjava/testsuite/libjava.lang/err7.out -1622039882b ./libjava/testsuite/libjava.lang/err8.java -2283836352b ./libjava/testsuite/libjava.lang/err8.out -1031956187b ./libjava/testsuite/libjava.lang/err9.java -2283836352b ./libjava/testsuite/libjava.lang/err9.out -3723805515b ./libjava/testsuite/libjava.lang/FileHandleGcTest.java -4294967295b ./libjava/testsuite/libjava.lang/FileHandleGcTest.out - 595443392b ./libjava/testsuite/libjava.lang/final_inner.java - 269314928b ./libjava/testsuite/libjava.lang/final_inner.out -2193071619b ./libjava/testsuite/libjava.lang/final_int.java - 238725689b ./libjava/testsuite/libjava.lang/final_int.out -1007761145b ./libjava/testsuite/libjava.lang/Final.java -1431193732b ./libjava/testsuite/libjava.lang/Final.out -3093949935b ./libjava/testsuite/libjava.lang/final_static_and_friend.java -3219318744b ./libjava/testsuite/libjava.lang/final_static_and_friend.out -4214563461b ./libjava/testsuite/libjava.lang/Float_1.java - 151908695b ./libjava/testsuite/libjava.lang/Float_1.out -4211438566b ./libjava/testsuite/libjava.lang/G19990301_01.java - 461683115b ./libjava/testsuite/libjava.lang/G19990301_01.out - 33515568b ./libjava/testsuite/libjava.lang/G19990302_02.java -4126570333b ./libjava/testsuite/libjava.lang/G19990302_02.out -1577075294b ./libjava/testsuite/libjava.lang/G19990303_01.java -3694902336b ./libjava/testsuite/libjava.lang/G19990303_01.out -3568552442b ./libjava/testsuite/libjava.lang/G19990303_02.java -3718849348b ./libjava/testsuite/libjava.lang/G19990303_02.out - 690728310b ./libjava/testsuite/libjava.lang/G19990304_01.java -2163223985b ./libjava/testsuite/libjava.lang/G19990304_01.out - 309057909b ./libjava/testsuite/libjava.lang/G19990310_01.java -3818873941b ./libjava/testsuite/libjava.lang/G19990310_01.out -3927692588b ./libjava/testsuite/libjava.lang/II.java - 324202418b ./libjava/testsuite/libjava.lang/II.out -2525179149b ./libjava/testsuite/libjava.lang/indirect.java - 904878278b ./libjava/testsuite/libjava.lang/indirect.out -2201837161b ./libjava/testsuite/libjava.lang/indirect_read.java -3331949298b ./libjava/testsuite/libjava.lang/indirect_read.out -3857018296b ./libjava/testsuite/libjava.lang/indirect_write.java -1875502579b ./libjava/testsuite/libjava.lang/indirect_write.out -1492610043b ./libjava/testsuite/libjava.lang/inner1.java -3510182188b ./libjava/testsuite/libjava.lang/inner1.out - 952566991b ./libjava/testsuite/libjava.lang/inner2.java -3321962646b ./libjava/testsuite/libjava.lang/inner2.out -4104675529b ./libjava/testsuite/libjava.lang/inner3.java - 184321760b ./libjava/testsuite/libjava.lang/inner3.out -3987559852b ./libjava/testsuite/libjava.lang/inner4.java -3193066764b ./libjava/testsuite/libjava.lang/inner4.out - 838539234b ./libjava/testsuite/libjava.lang/inner_array.java -1272026125b ./libjava/testsuite/libjava.lang/inner_array.out -1797808062b ./libjava/testsuite/libjava.lang/inner_interface.java -1716749990b ./libjava/testsuite/libjava.lang/inner_interface.out -1867695741b ./libjava/testsuite/libjava.lang/instance.java -1690435817b ./libjava/testsuite/libjava.lang/instance.out - 260121539b ./libjava/testsuite/libjava.lang/instinit2.java -2177795989b ./libjava/testsuite/libjava.lang/instinit2.out -1279201771b ./libjava/testsuite/libjava.lang/instinit.java -2984417841b ./libjava/testsuite/libjava.lang/instinit.out -2590078423b ./libjava/testsuite/libjava.lang/InterfaceDispatch.java -3002596040b ./libjava/testsuite/libjava.lang/InterfaceDispatch.out -2975542902b ./libjava/testsuite/libjava.lang/Invoke_1.java - 636088706b ./libjava/testsuite/libjava.lang/Invoke_1.out - 482546829b ./libjava/testsuite/libjava.lang/Invoke_2.java -1406708247b ./libjava/testsuite/libjava.lang/Invoke_2.out -4259046923b ./libjava/testsuite/libjava.lang/invoke_from_inner.java - 297330900b ./libjava/testsuite/libjava.lang/invoke_from_inner.out -1233424497b ./libjava/testsuite/libjava.lang/InvokeReturn.java -1505249822b ./libjava/testsuite/libjava.lang/InvokeReturn.out -4188659518b ./libjava/testsuite/libjava.lang/invokethrow.java - 191230813b ./libjava/testsuite/libjava.lang/invokethrow.out - 897141912b ./libjava/testsuite/libjava.lang/KeepInline.java -3068566825b ./libjava/testsuite/libjava.lang/KeepInline.out -1729910187b ./libjava/testsuite/libjava.lang/klass.java -1591540413b ./libjava/testsuite/libjava.lang/klass.out -2546673117b ./libjava/testsuite/libjava.lang/lang.exp -1339868029b ./libjava/testsuite/libjava.lang/Matrix4f.java -2870485448b ./libjava/testsuite/libjava.lang/Matrix4f.out -2891997855b ./libjava/testsuite/libjava.lang/multiple_finit.java -3652598231b ./libjava/testsuite/libjava.lang/multiple_finit.out -3824357332b ./libjava/testsuite/libjava.lang/N19990310_02.java -2283836352b ./libjava/testsuite/libjava.lang/N19990310_02.out - 792408510b ./libjava/testsuite/libjava.lang/N19990310_3.java -2283836352b ./libjava/testsuite/libjava.lang/N19990310_3.out -1646449121b ./libjava/testsuite/libjava.lang/N19990310_4.java -2283836352b ./libjava/testsuite/libjava.lang/N19990310_4.out -1522131980b ./libjava/testsuite/libjava.lang/N19990310_5.java -2283836352b ./libjava/testsuite/libjava.lang/N19990310_5.out -1347891809b ./libjava/testsuite/libjava.lang/negzero.java -2849607288b ./libjava/testsuite/libjava.lang/negzero.out -1199013303b ./libjava/testsuite/libjava.lang/nested_with_ctor.java -4279847335b ./libjava/testsuite/libjava.lang/nested_with_ctor.out -3956035919b ./libjava/testsuite/libjava.lang/pr100.java - 706901580b ./libjava/testsuite/libjava.lang/pr100.xpo - 424134208b ./libjava/testsuite/libjava.lang/pr109.java -4059478477b ./libjava/testsuite/libjava.lang/pr109.out -1039260224b ./libjava/testsuite/libjava.lang/pr133.java -3434991606b ./libjava/testsuite/libjava.lang/pr133.out -4106708340b ./libjava/testsuite/libjava.lang/PR141.java - 417890381b ./libjava/testsuite/libjava.lang/PR141.out - 924969358b ./libjava/testsuite/libjava.lang/PR160.java - 636088706b ./libjava/testsuite/libjava.lang/PR160.out - 710573971b ./libjava/testsuite/libjava.lang/PR162.java -3491850227b ./libjava/testsuite/libjava.lang/PR162.out -3102718266b ./libjava/testsuite/libjava.lang/pr179.java -3022277835b ./libjava/testsuite/libjava.lang/pr179.out -2924279369b ./libjava/testsuite/libjava.lang/pr184.java -4039517750b ./libjava/testsuite/libjava.lang/pr184.out -4227723795b ./libjava/testsuite/libjava.lang/PR218.java -4039517750b ./libjava/testsuite/libjava.lang/PR218.out -1329261743b ./libjava/testsuite/libjava.lang/PR242.java -1147234566b ./libjava/testsuite/libjava.lang/PR242.out - 526707998b ./libjava/testsuite/libjava.lang/PR260.java -3569591772b ./libjava/testsuite/libjava.lang/PR260.out - 14665884b ./libjava/testsuite/libjava.lang/PR3096.java -2259565565b ./libjava/testsuite/libjava.lang/PR3096.out -2985138501b ./libjava/testsuite/libjava.lang/PR3731.java -3956933800b ./libjava/testsuite/libjava.lang/PR3731.out -2570001649b ./libjava/testsuite/libjava.lang/PR5057_2.java - 742353047b ./libjava/testsuite/libjava.lang/PR5057_2.out -2537530668b ./libjava/testsuite/libjava.lang/PR5057.java - 742353047b ./libjava/testsuite/libjava.lang/PR5057.out -1438756381b ./libjava/testsuite/libjava.lang/PR55.java -1201518198b ./libjava/testsuite/libjava.lang/PR55.out -1733338993b ./libjava/testsuite/libjava.lang/PR56.java -4294967295b ./libjava/testsuite/libjava.lang/PR56.out - 832973302b ./libjava/testsuite/libjava.lang/pr83.java - 987139956b ./libjava/testsuite/libjava.lang/pr83.out -1555339199b ./libjava/testsuite/libjava.lang/private_direct_read.java -2096756880b ./libjava/testsuite/libjava.lang/private_direct_read.out - 901884110b ./libjava/testsuite/libjava.lang/private_direct_write.java -2184429421b ./libjava/testsuite/libjava.lang/private_indirect_read.java - 523758111b ./libjava/testsuite/libjava.lang/private_indirect_write.java -1147328248b ./libjava/testsuite/libjava.lang/search_outer.java -3994336194b ./libjava/testsuite/libjava.lang/search_outer.out - 230260077b ./libjava/testsuite/libjava.lang/Shazam.java -2140426616b ./libjava/testsuite/libjava.lang/Shazam.out -3112946038b ./libjava/testsuite/libjava.lang/StringBuffer_1.java -2481391305b ./libjava/testsuite/libjava.lang/StringBuffer_1.out -1823338028b ./libjava/testsuite/libjava.lang/stringconst2.java -2835043487b ./libjava/testsuite/libjava.lang/stringconst2.out -1863083995b ./libjava/testsuite/libjava.lang/stringconst.java -2835043487b ./libjava/testsuite/libjava.lang/stringconst.out -4156356334b ./libjava/testsuite/libjava.lang/stringconst.xfail -2261096902b ./libjava/testsuite/libjava.lang/stub.java -3886998802b ./libjava/testsuite/libjava.lang/stub.out -3629333030b ./libjava/testsuite/libjava.lang/Synch.java - 497334114b ./libjava/testsuite/libjava.lang/Synch.out -2731334240b ./libjava/testsuite/libjava.lang/SyncTest.java - 636088706b ./libjava/testsuite/libjava.lang/SyncTest.out -2443605665b ./libjava/testsuite/libjava.lang/SyncTest.xfail -1655763772b ./libjava/testsuite/libjava.lang/test_long.java -3533371317b ./libjava/testsuite/libjava.lang/test_long.out - 523427206b ./libjava/testsuite/libjava.lang/Thread_Alive.java -3591103454b ./libjava/testsuite/libjava.lang/Thread_Alive.out -2443605665b ./libjava/testsuite/libjava.lang/Thread_Alive.xfail -1125974645b ./libjava/testsuite/libjava.lang/Thread_Interrupt.java -2320601405b ./libjava/testsuite/libjava.lang/Thread_Interrupt.out -2443605665b ./libjava/testsuite/libjava.lang/Thread_Interrupt.xfail -2682118636b ./libjava/testsuite/libjava.lang/Thread_Join.java -2884008640b ./libjava/testsuite/libjava.lang/Thread_Join.out -2443605665b ./libjava/testsuite/libjava.lang/Thread_Join.xfail -3992399686b ./libjava/testsuite/libjava.lang/Thread_Monitor.java - 636088706b ./libjava/testsuite/libjava.lang/Thread_Monitor.out -2443605665b ./libjava/testsuite/libjava.lang/Thread_Monitor.xfail -3015472066b ./libjava/testsuite/libjava.lang/Thread_Sleep.java -1299320686b ./libjava/testsuite/libjava.lang/Thread_Sleep.out -2443605665b ./libjava/testsuite/libjava.lang/Thread_Sleep.xfail -2785867945b ./libjava/testsuite/libjava.lang/Thread_Wait_2.java -3278714705b ./libjava/testsuite/libjava.lang/Thread_Wait_2.out -2443605665b ./libjava/testsuite/libjava.lang/Thread_Wait_2.xfail -3412514508b ./libjava/testsuite/libjava.lang/Thread_Wait_Interrupt.java -3606244218b ./libjava/testsuite/libjava.lang/Thread_Wait_Interrupt.out -2443605665b ./libjava/testsuite/libjava.lang/Thread_Wait_Interrupt.xfail -3820325918b ./libjava/testsuite/libjava.lang/Thread_Wait.java -3866441409b ./libjava/testsuite/libjava.lang/Thread_Wait.out -2443605665b ./libjava/testsuite/libjava.lang/Thread_Wait.xfail -1046451808b ./libjava/testsuite/libjava.lang/Throw_1.java -4294967295b ./libjava/testsuite/libjava.lang/Throw_1.out -1749384831b ./libjava/testsuite/libjava.lang/Throw_2.java -4294967295b ./libjava/testsuite/libjava.lang/Throw_2.out -1571608298b ./libjava/testsuite/libjava.lang/TLtest.java -2677880801b ./libjava/testsuite/libjava.lang/TLtest.out -2443605665b ./libjava/testsuite/libjava.lang/TLtest.xfail -1531499305b ./libjava/testsuite/libjava.lang/tmi.java -1798035647b ./libjava/testsuite/libjava.lang/tmi.out -4123810669b ./libjava/testsuite/libjava.lang/tp.java -1040445301b ./libjava/testsuite/libjava.lang/tp.out -3674020949b ./libjava/testsuite/libjava.lang/update_outer.java -1947112134b ./libjava/testsuite/libjava.lang/update_outer.out -4013205125b ./libjava/testsuite/libjava.mauve/DejaGNUTestHarness.java -1740456441b ./libjava/testsuite/libjava.mauve/mauve.exp -2293687712b ./libjava/testsuite/libjava.mauve/xfails -2598210176b ./libjava/testsuite/lib/libjava.exp -3806425466b ./libjava/testsuite/Makefile.am -1096421437b ./libjava/testsuite/Makefile.in -3410290178b ./libjava/THANKS -3417667916b ./libjava/verify.cc - 916359044b ./libjava/win32.cc -3459150705b ./libjava/win32-threads.cc - 202134358b ./libobjc/aclocal.m4 - 605856870b ./libobjc/archive.c -3939154891b ./libobjc/ChangeLog -3477231866b ./libobjc/class.c -1748737547b ./libobjc/config.h.in -3049756062b ./libobjc/configure -3168606688b ./libobjc/configure.in - 506544385b ./libobjc/encoding.c - 726164266b ./libobjc/gc.c -1761713542b ./libobjc/hash.c -1287123563b ./libobjc/init.c - 489398123b ./libobjc/libobjc.def -4072125181b ./libobjc/libobjc_entry.c -4260228535b ./libobjc/linking.m -2398517524b ./libobjc/makefile.dos -3980241111b ./libobjc/Makefile.in - 687879051b ./libobjc/misc.c -1752870170b ./libobjc/nil_method.c - 638422313b ./libobjc/NXConstStr.m -1692177559b ./libobjc/objc/encoding.h - 597415090b ./libobjc/objc/hash.h -1937854528b ./libobjc/objc/NXConstStr.h -1908906592b ./libobjc/objc/objc-api.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 -2440049860b ./libobjc/objc/thr.h -2746948162b ./libobjc/objc/typedstream.h -3285287551b ./libobjc/Object.m -2760949240b ./libobjc/objects.c -3962273975b ./libobjc/Protocol.m -3823063152b ./libobjc/README - 749035591b ./libobjc/README.threads -1415022174b ./libobjc/sarray.c - 791617547b ./libobjc/selector.c -3257296953b ./libobjc/sendmsg.c -3239202263b ./libobjc/thr.c -3414327023b ./libobjc/thr-dce.c -2193934747b ./libobjc/thr-decosf1.c - 519687216b ./libobjc/THREADS -4055902911b ./libobjc/THREADS.MACH - 570456722b ./libobjc/thr-irix.c -1715842563b ./libobjc/thr-mach.c -1626852001b ./libobjc/thr-objc.c -2841374444b ./libobjc/thr-os2.c -1966484436b ./libobjc/thr-posix.c - 938980526b ./libobjc/thr-pthreads.c - 718257247b ./libobjc/thr-rtems.c -2005277748b ./libobjc/thr-single.c - 60531382b ./libobjc/thr-solaris.c -2005277748b ./libobjc/thr-vxworks.c -2963027857b ./libobjc/thr-win32.c -3752097356b ./libstdc++-v3/acconfig.h -4198718896b ./libstdc++-v3/acinclude.m4 -1909196152b ./libstdc++-v3/aclocal.m4 -3127052377b ./libstdc++-v3/ChangeLog -1996982572b ./libstdc++-v3/ChangeLog-2000 -3665233589b ./libstdc++-v3/ChangeLog-2001 -4214408479b ./libstdc++-v3/config/abi/alphaev67-unknown-linux-gnu/baseline_symbols.txt -1077465800b ./libstdc++-v3/config/abi/extract_symvers -1049799838b ./libstdc++-v3/config/abi/i686-pc-linux-gnu/baseline_symbols.txt -3479696688b ./libstdc++-v3/config/abi/ia64-unknown-linux-gnu/baseline_symbols.txt -3799164404b ./libstdc++-v3/config/cpu/alpha/bits/atomicity.h -2657854614b ./libstdc++-v3/config/cpu/alpha/bits/cpu_limits.h -2453414067b ./libstdc++-v3/config/cpu/arm/bits/atomicity.h -1636456412b ./libstdc++-v3/config/cpu/cris/bits/atomicity.h -2029688870b ./libstdc++-v3/config/cpu/cris/bits/cpu_limits.h -3812954815b ./libstdc++-v3/config/cpu/generic/bits/atomicity.h -1315378737b ./libstdc++-v3/config/cpu/generic/bits/cpu_limits.h -1670735336b ./libstdc++-v3/config/cpu/generic/bits/limits.h -2485610863b ./libstdc++-v3/config/cpu/i386/bits/atomicity.h - 593957722b ./libstdc++-v3/config/cpu/i386/bits/cpu_limits.h - 623210587b ./libstdc++-v3/config/cpu/i486/bits/atomicity.h - 193432505b ./libstdc++-v3/config/cpu/ia64/bits/atomicity.h -1770651251b ./libstdc++-v3/config/cpu/ia64/bits/cpu_limits.h -1265572143b ./libstdc++-v3/config/cpu/m68k/bits/atomicity.h -3967527574b ./libstdc++-v3/config/cpu/m68k/bits/cpu_limits.h -1806424498b ./libstdc++-v3/config/cpu/mips/bits/atomicity.h - 736712600b ./libstdc++-v3/config/cpu/mmix/bits/cpu_limits.h -1062517327b ./libstdc++-v3/config/cpu/powerpc/bits/atomicity.h -1958944292b ./libstdc++-v3/config/cpu/powerpc/bits/cpu_limits.h -3930061484b ./libstdc++-v3/config/cpu/s390/bits/atomicity.h -2029688870b ./libstdc++-v3/config/cpu/s390/bits/cpu_limits.h -1984909614b ./libstdc++-v3/config/cpu/sparc/bits/atomicity.h - 785222978b ./libstdc++-v3/config/cpu/x86-64/bits/atomicity.h -4180289496b ./libstdc++-v3/config/cpu/x86-64/bits/cpu_limits.h - 618996063b ./libstdc++-v3/config.h.in -1453199454b ./libstdc++-v3/config/io/basic_file_libio.cc -3157152478b ./libstdc++-v3/config/io/basic_file_libio.h -3725479456b ./libstdc++-v3/config/io/basic_file_stdio.cc -2615133940b ./libstdc++-v3/config/io/basic_file_stdio.h - 714808428b ./libstdc++-v3/config/io/c_io_libio_codecvt.c -1754405198b ./libstdc++-v3/config/io/c_io_libio.h -3948747720b ./libstdc++-v3/config/io/c_io_stdio.h -1615839786b ./libstdc++-v3/config/linker-map.dummy -2896868371b ./libstdc++-v3/config/linker-map.gnu -1866975602b ./libstdc++-v3/config/locale/generic/c_locale.cc -1871355918b ./libstdc++-v3/config/locale/generic/c_locale.h -3981697735b ./libstdc++-v3/config/locale/generic/c++locale_internal.h -3717051883b ./libstdc++-v3/config/locale/generic/codecvt_members.cc -2005861251b ./libstdc++-v3/config/locale/generic/codecvt_specializations.h -4228611347b ./libstdc++-v3/config/locale/generic/collate_members.cc -1221593163b ./libstdc++-v3/config/locale/generic/ctype_members.cc - 474184383b ./libstdc++-v3/config/locale/generic/messages_members.cc -2682213266b ./libstdc++-v3/config/locale/generic/messages_members.h - 45184175b ./libstdc++-v3/config/locale/generic/monetary_members.cc - 650933917b ./libstdc++-v3/config/locale/generic/numeric_members.cc -3011916115b ./libstdc++-v3/config/locale/generic/time_members.cc -1345884901b ./libstdc++-v3/config/locale/gnu/c_locale.cc - 543017678b ./libstdc++-v3/config/locale/gnu/c_locale.h - 490906006b ./libstdc++-v3/config/locale/gnu/c++locale_internal.h -2228791650b ./libstdc++-v3/config/locale/gnu/codecvt_members.cc -3958263092b ./libstdc++-v3/config/locale/gnu/collate_members.cc -1102464431b ./libstdc++-v3/config/locale/gnu/ctype_members.cc -4087381875b ./libstdc++-v3/config/locale/gnu/messages_members.cc -4050802736b ./libstdc++-v3/config/locale/gnu/messages_members.h -3100021465b ./libstdc++-v3/config/locale/gnu/monetary_members.cc - 630744503b ./libstdc++-v3/config/locale/gnu/numeric_members.cc -2183208255b ./libstdc++-v3/config/locale/gnu/time_members.cc -3232379868b ./libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc -3136594064b ./libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h -3256263647b ./libstdc++-v3/config/locale/ieee_1003.1-2001/codecvt_specializations.h -3823275112b ./libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc - 488667815b ./libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h -4256387970b ./libstdc++-v3/config/os/aix/bits/atomicity.h -2669974896b ./libstdc++-v3/config/os/aix/bits/ctype_base.h -3165823414b ./libstdc++-v3/config/os/aix/bits/ctype_inline.h -3499623117b ./libstdc++-v3/config/os/aix/bits/ctype_noninline.h -1501649315b ./libstdc++-v3/config/os/aix/bits/os_defines.h - 537966674b ./libstdc++-v3/config/os/bsd/freebsd/bits/ctype_base.h -2331573625b ./libstdc++-v3/config/os/bsd/freebsd/bits/ctype_inline.h -1778189959b ./libstdc++-v3/config/os/bsd/freebsd/bits/ctype_noninline.h -4188452209b ./libstdc++-v3/config/os/bsd/freebsd/bits/os_defines.h -1041874990b ./libstdc++-v3/config/os/bsd/netbsd/bits/ctype_base.h - 361863904b ./libstdc++-v3/config/os/bsd/netbsd/bits/ctype_inline.h -3997726502b ./libstdc++-v3/config/os/bsd/netbsd/bits/ctype_noninline.h -1602795831b ./libstdc++-v3/config/os/bsd/netbsd/bits/os_defines.h -3950885908b ./libstdc++-v3/config/os/djgpp/bits/ctype_base.h -4050668400b ./libstdc++-v3/config/os/djgpp/bits/ctype_inline.h -2200168434b ./libstdc++-v3/config/os/djgpp/bits/ctype_noninline.h -1128798661b ./libstdc++-v3/config/os/djgpp/bits/os_defines.h -1770894154b ./libstdc++-v3/config/os/generic/bits/ctype_base.h - 913781161b ./libstdc++-v3/config/os/generic/bits/ctype_inline.h -2814302307b ./libstdc++-v3/config/os/generic/bits/ctype_noninline.h -2662031339b ./libstdc++-v3/config/os/generic/bits/os_defines.h - 585502053b ./libstdc++-v3/config/os/gnu-linux/bits/ctype_base.h - 577770049b ./libstdc++-v3/config/os/gnu-linux/bits/ctype_inline.h - 382466980b ./libstdc++-v3/config/os/gnu-linux/bits/ctype_noninline.h -1115301117b ./libstdc++-v3/config/os/gnu-linux/bits/os_defines.h -1503897878b ./libstdc++-v3/config/os/hpux/bits/cpu_limits.h -2727448261b ./libstdc++-v3/config/os/hpux/bits/ctype_base.h - 521899911b ./libstdc++-v3/config/os/hpux/bits/ctype_inline.h -1287488501b ./libstdc++-v3/config/os/hpux/bits/ctype_noninline.h -4256303940b ./libstdc++-v3/config/os/hpux/bits/os_defines.h - 805235121b ./libstdc++-v3/config/os/irix/irix5.2/bits/atomicity.h - 734403019b ./libstdc++-v3/config/os/irix/irix5.2/bits/ctype_base.h -2703839638b ./libstdc++-v3/config/os/irix/irix5.2/bits/ctype_inline.h -3142167642b ./libstdc++-v3/config/os/irix/irix5.2/bits/ctype_noninline.h -3024037761b ./libstdc++-v3/config/os/irix/irix5.2/bits/os_defines.h -1437354439b ./libstdc++-v3/config/os/irix/irix6.5/bits/atomicity.h -1682275129b ./libstdc++-v3/config/os/irix/irix6.5/bits/ctype_base.h -4093669771b ./libstdc++-v3/config/os/irix/irix6.5/bits/ctype_inline.h -1925322031b ./libstdc++-v3/config/os/irix/irix6.5/bits/ctype_noninline.h -4040974915b ./libstdc++-v3/config/os/irix/irix6.5/bits/os_defines.h -2513027003b ./libstdc++-v3/config/os/mingw32/bits/ctype_base.h -2249364639b ./libstdc++-v3/config/os/mingw32/bits/ctype_inline.h -4236896349b ./libstdc++-v3/config/os/mingw32/bits/ctype_noninline.h -3217385665b ./libstdc++-v3/config/os/mingw32/bits/os_defines.h -1435551091b ./libstdc++-v3/config/os/newlib/bits/ctype_base.h -4265751979b ./libstdc++-v3/config/os/newlib/bits/ctype_inline.h -3780859290b ./libstdc++-v3/config/os/newlib/bits/ctype_noninline.h -1247228618b ./libstdc++-v3/config/os/newlib/bits/os_defines.h - 269230749b ./libstdc++-v3/config/os/osf/osf5.0/bits/cpu_limits.h -1980991936b ./libstdc++-v3/config/os/qnx/qnx6.1/bits/ctype_base.h - 418495046b ./libstdc++-v3/config/os/qnx/qnx6.1/bits/ctype_inline.h - 545913221b ./libstdc++-v3/config/os/qnx/qnx6.1/bits/ctype_noninline.h - 263975258b ./libstdc++-v3/config/os/qnx/qnx6.1/bits/os_defines.h -4257366577b ./libstdc++-v3/config/os/solaris/solaris2.5/bits/ctype_base.h - 967249986b ./libstdc++-v3/config/os/solaris/solaris2.5/bits/ctype_inline.h -2955367373b ./libstdc++-v3/config/os/solaris/solaris2.5/bits/ctype_noninline.h - 167493702b ./libstdc++-v3/config/os/solaris/solaris2.5/bits/os_defines.h -1305011444b ./libstdc++-v3/config/os/solaris/solaris2.6/bits/ctype_base.h - 404061893b ./libstdc++-v3/config/os/solaris/solaris2.6/bits/ctype_inline.h -3814698223b ./libstdc++-v3/config/os/solaris/solaris2.6/bits/ctype_noninline.h -1062247100b ./libstdc++-v3/config/os/solaris/solaris2.6/bits/os_defines.h -2023078243b ./libstdc++-v3/config/os/solaris/solaris2.7/bits/ctype_base.h - 577770049b ./libstdc++-v3/config/os/solaris/solaris2.7/bits/ctype_inline.h - 399834321b ./libstdc++-v3/config/os/solaris/solaris2.7/bits/ctype_noninline.h - 157883947b ./libstdc++-v3/config/os/solaris/solaris2.7/bits/os_defines.h -3959422938b ./libstdc++-v3/configure -3116040814b ./libstdc++-v3/configure.host - 247346621b ./libstdc++-v3/configure.in - 282761406b ./libstdc++-v3/configure.target -1779001880b ./libstdc++-v3/docs/doxygen/doxygroups.cc -1637481960b ./libstdc++-v3/docs/doxygen/Intro.3 - 748681152b ./libstdc++-v3/docs/doxygen/mainpage.html - 712715143b ./libstdc++-v3/docs/doxygen/run_doxygen - 668865588b ./libstdc++-v3/docs/doxygen/stdheader.cc -2931788874b ./libstdc++-v3/docs/doxygen/style.css -2943242387b ./libstdc++-v3/docs/doxygen/tables.html -4021129076b ./libstdc++-v3/docs/doxygen/TODO -1481189007b ./libstdc++-v3/docs/doxygen/user.cfg.in -4001239912b ./libstdc++-v3/docs/html/17_intro/BADNAMES - 985890621b ./libstdc++-v3/docs/html/17_intro/BUGS -2881598729b ./libstdc++-v3/docs/html/17_intro/CHECKLIST -3997884874b ./libstdc++-v3/docs/html/17_intro/concept_check.diff -2558571248b ./libstdc++-v3/docs/html/17_intro/contribute.html -2171125041b ./libstdc++-v3/docs/html/17_intro/COPYING -3922222294b ./libstdc++-v3/docs/html/17_intro/COPYING.DOC -3201164177b ./libstdc++-v3/docs/html/17_intro/C++STYLE -3222542515b ./libstdc++-v3/docs/html/17_intro/DESIGN -1363011462b ./libstdc++-v3/docs/html/17_intro/HEADER_POLICY -3461116413b ./libstdc++-v3/docs/html/17_intro/headers_cc.txt -2481329262b ./libstdc++-v3/docs/html/17_intro/howto.html -3565645043b ./libstdc++-v3/docs/html/17_intro/libstdc++-assign.txt - 666334248b ./libstdc++-v3/docs/html/17_intro/license.html - 982764901b ./libstdc++-v3/docs/html/17_intro/organization -1322295551b ./libstdc++-v3/docs/html/17_intro/porting-howto.html - 405521978b ./libstdc++-v3/docs/html/17_intro/porting-howto.xml -2381176791b ./libstdc++-v3/docs/html/17_intro/porting.html -2408767440b ./libstdc++-v3/docs/html/17_intro/porting.texi - 12001592b ./libstdc++-v3/docs/html/17_intro/PROBLEMS -2519365120b ./libstdc++-v3/docs/html/17_intro/RELEASE-NOTES -1434629529b ./libstdc++-v3/docs/html/17_intro/TODO -2819713781b ./libstdc++-v3/docs/html/18_support/howto.html -2508850192b ./libstdc++-v3/docs/html/19_diagnostics/howto.html -2830656893b ./libstdc++-v3/docs/html/20_util/howto.html -2326263830b ./libstdc++-v3/docs/html/21_strings/gotw29a.txt - 547290487b ./libstdc++-v3/docs/html/21_strings/howto.html -3590781787b ./libstdc++-v3/docs/html/21_strings/stringtok_h.txt -3437467499b ./libstdc++-v3/docs/html/21_strings/stringtok_std_h.txt -1023569015b ./libstdc++-v3/docs/html/22_locale/codecvt.html -1194040038b ./libstdc++-v3/docs/html/22_locale/ctype.html -2274046295b ./libstdc++-v3/docs/html/22_locale/howto.html - 908518604b ./libstdc++-v3/docs/html/22_locale/locale.html -2156680698b ./libstdc++-v3/docs/html/22_locale/messages.html -3162616357b ./libstdc++-v3/docs/html/23_containers/howto.html -3458392326b ./libstdc++-v3/docs/html/23_containers/wrappers_h.txt - 453248579b ./libstdc++-v3/docs/html/24_iterators/howto.html -2290789124b ./libstdc++-v3/docs/html/25_algorithms/howto.html -3773351147b ./libstdc++-v3/docs/html/26_numerics/howto.html -2452165260b ./libstdc++-v3/docs/html/27_io/binary_iostreams_kanze.txt -3249620502b ./libstdc++-v3/docs/html/27_io/binary_iostreams_kuehl.txt -1136841501b ./libstdc++-v3/docs/html/27_io/howto.html -3224577239b ./libstdc++-v3/docs/html/abi.txt - 552573454b ./libstdc++-v3/docs/html/configopts.html - 714859455b ./libstdc++-v3/docs/html/documentation.html -1281947731b ./libstdc++-v3/docs/html/explanations.html -2578738010b ./libstdc++-v3/docs/html/ext/howto.html -1604238359b ./libstdc++-v3/docs/html/ext/lwg-active.html - 323640830b ./libstdc++-v3/docs/html/ext/lwg-defects.html -2613919530b ./libstdc++-v3/docs/html/ext/sgiexts.html -3573437034b ./libstdc++-v3/docs/html/faq/index.html -1977830783b ./libstdc++-v3/docs/html/faq/index.txt -1032487062b ./libstdc++-v3/docs/html/install.html -2049389478b ./libstdc++-v3/docs/html/lib3styles.css -1757651676b ./libstdc++-v3/docs/html/makedoc.awk -3528340567b ./libstdc++-v3/docs/html/Makefile -2473605692b ./libstdc++-v3/include/backward/algobase.h -2730818532b ./libstdc++-v3/include/backward/algo.h -1509057550b ./libstdc++-v3/include/backward/alloc.h -2505680659b ./libstdc++-v3/include/backward/backward_warning.h -1252063761b ./libstdc++-v3/include/backward/bvector.h -3485743051b ./libstdc++-v3/include/backward/complex.h - 397779689b ./libstdc++-v3/include/backward/defalloc.h -3218873508b ./libstdc++-v3/include/backward/deque.h -3713719075b ./libstdc++-v3/include/backward/fstream.h -3758866193b ./libstdc++-v3/include/backward/function.h -3633365455b ./libstdc++-v3/include/backward/hash_map.h -2468519049b ./libstdc++-v3/include/backward/hash_set.h -3191638109b ./libstdc++-v3/include/backward/hashtable.h -3255441651b ./libstdc++-v3/include/backward/heap.h -3979460244b ./libstdc++-v3/include/backward/iomanip.h -1508058162b ./libstdc++-v3/include/backward/iostream.h -1766778751b ./libstdc++-v3/include/backward/istream.h -3559514326b ./libstdc++-v3/include/backward/iterator.h - 477791767b ./libstdc++-v3/include/backward/list.h -2194603711b ./libstdc++-v3/include/backward/map.h -3046068041b ./libstdc++-v3/include/backward/multimap.h -3924474284b ./libstdc++-v3/include/backward/multiset.h -1959434229b ./libstdc++-v3/include/backward/new.h -3127480935b ./libstdc++-v3/include/backward/ostream.h -1702071145b ./libstdc++-v3/include/backward/pair.h -1947043927b ./libstdc++-v3/include/backward/queue.h -3061027826b ./libstdc++-v3/include/backward/rope.h -2568486625b ./libstdc++-v3/include/backward/set.h -2372197114b ./libstdc++-v3/include/backward/slist.h - 374939843b ./libstdc++-v3/include/backward/stack.h -3825989730b ./libstdc++-v3/include/backward/streambuf.h -2367779603b ./libstdc++-v3/include/backward/stream.h -4047744617b ./libstdc++-v3/include/backward/strstream -3139222786b ./libstdc++-v3/include/backward/strstream.h -2999216474b ./libstdc++-v3/include/backward/tempbuf.h -1420771511b ./libstdc++-v3/include/backward/tree.h -3803139445b ./libstdc++-v3/include/backward/vector.h -4104762506b ./libstdc++-v3/include/bits/basic_ios.h - 613772707b ./libstdc++-v3/include/bits/basic_ios.tcc -1196444434b ./libstdc++-v3/include/bits/basic_string.h -3004074520b ./libstdc++-v3/include/bits/basic_string.tcc - 179433314b ./libstdc++-v3/include/bits/boost_concept_check.h -2084732240b ./libstdc++-v3/include/bits/c++config -3498736544b ./libstdc++-v3/include/bits/char_traits.h -3672868066b ./libstdc++-v3/include/bits/codecvt.h -2442194789b ./libstdc++-v3/include/bits/concept_check.h - 329719722b ./libstdc++-v3/include/bits/cpp_type_traits.h -1176672394b ./libstdc++-v3/include/bits/fpos.h - 986176051b ./libstdc++-v3/include/bits/fstream.tcc -3886600201b ./libstdc++-v3/include/bits/functexcept.h -3055891139b ./libstdc++-v3/include/bits/generic_shadow.h -3512731163b ./libstdc++-v3/include/bits/gslice_array.h -1117238130b ./libstdc++-v3/include/bits/gslice.h -3450716320b ./libstdc++-v3/include/bits/indirect_array.h -4268468129b ./libstdc++-v3/include/bits/ios_base.h - 43945125b ./libstdc++-v3/include/bits/istream.tcc -1947395633b ./libstdc++-v3/include/bits/locale_facets.h -1104096949b ./libstdc++-v3/include/bits/locale_facets.tcc -3189614545b ./libstdc++-v3/include/bits/localefwd.h -1519677165b ./libstdc++-v3/include/bits/mask_array.h -2822101373b ./libstdc++-v3/include/bits/ostream.tcc -3592433582b ./libstdc++-v3/include/bits/pthread_allocimpl.h -2670647629b ./libstdc++-v3/include/bits/slice_array.h -3194205835b ./libstdc++-v3/include/bits/slice.h -3555571522b ./libstdc++-v3/include/bits/sstream.tcc -3316800061b ./libstdc++-v3/include/bits/stl_algobase.h -1569010907b ./libstdc++-v3/include/bits/stl_algo.h -2270226903b ./libstdc++-v3/include/bits/stl_alloc.h -2801261805b ./libstdc++-v3/include/bits/stl_bvector.h -3302543196b ./libstdc++-v3/include/bits/stl_construct.h -1156806073b ./libstdc++-v3/include/bits/stl_deque.h - 297399515b ./libstdc++-v3/include/bits/stl_function.h -2464389940b ./libstdc++-v3/include/bits/stl_heap.h -2116609667b ./libstdc++-v3/include/bits/stl_iterator_base_funcs.h -2132265867b ./libstdc++-v3/include/bits/stl_iterator_base_types.h -2136979193b ./libstdc++-v3/include/bits/stl_iterator.h - 684063649b ./libstdc++-v3/include/bits/stl_list.h - 883579033b ./libstdc++-v3/include/bits/stl_map.h - 567466793b ./libstdc++-v3/include/bits/stl_multimap.h -2343171452b ./libstdc++-v3/include/bits/stl_multiset.h -1738941440b ./libstdc++-v3/include/bits/stl_numeric.h -4071317909b ./libstdc++-v3/include/bits/stl_pair.h - 369962606b ./libstdc++-v3/include/bits/stl_pthread_alloc.h -2900628572b ./libstdc++-v3/include/bits/stl_queue.h -2150554874b ./libstdc++-v3/include/bits/stl_raw_storage_iter.h -2630067228b ./libstdc++-v3/include/bits/stl_relops.h - 114789971b ./libstdc++-v3/include/bits/stl_set.h - 256518146b ./libstdc++-v3/include/bits/stl_stack.h - 745396233b ./libstdc++-v3/include/bits/stl_tempbuf.h -3393061403b ./libstdc++-v3/include/bits/stl_threads.h -1753867163b ./libstdc++-v3/include/bits/stl_tree.h -1954571679b ./libstdc++-v3/include/bits/stl_uninitialized.h -1635426571b ./libstdc++-v3/include/bits/stl_vector.h - 466836896b ./libstdc++-v3/include/bits/streambuf_iterator.h -4072322448b ./libstdc++-v3/include/bits/streambuf.tcc - 99981565b ./libstdc++-v3/include/bits/stream_iterator.h -1373192946b ./libstdc++-v3/include/bits/stringfwd.h -1571290449b ./libstdc++-v3/include/bits/type_traits.h -3358963606b ./libstdc++-v3/include/bits/valarray_array.h - 780098702b ./libstdc++-v3/include/bits/valarray_array.tcc - 63020838b ./libstdc++-v3/include/bits/valarray_meta.h - 174717104b ./libstdc++-v3/include/c_compatibility/assert.h - 157601073b ./libstdc++-v3/include/c_compatibility/ctype.h -1205462529b ./libstdc++-v3/include/c_compatibility/errno.h -3028482587b ./libstdc++-v3/include/c_compatibility/float.h - 15792131b ./libstdc++-v3/include/c_compatibility/iso646.h -3045744301b ./libstdc++-v3/include/c_compatibility/limits.h - 649450224b ./libstdc++-v3/include/c_compatibility/locale.h -3825039242b ./libstdc++-v3/include/c_compatibility/math.h - 864531648b ./libstdc++-v3/include/c_compatibility/setjmp.h - 149073637b ./libstdc++-v3/include/c_compatibility/signal.h - 394111825b ./libstdc++-v3/include/c_compatibility/stdarg.h - 784117356b ./libstdc++-v3/include/c_compatibility/stddef.h - 236080617b ./libstdc++-v3/include/c_compatibility/stdio.h -4053629341b ./libstdc++-v3/include/c_compatibility/stdlib.h - 603589083b ./libstdc++-v3/include/c_compatibility/string.h -1640882917b ./libstdc++-v3/include/c_compatibility/time.h - 242317554b ./libstdc++-v3/include/c_compatibility/wchar.h - 264438164b ./libstdc++-v3/include/c_compatibility/wctype.h - 54766345b ./libstdc++-v3/include/c_shadow/assert.h - 408320858b ./libstdc++-v3/include/c_shadow/bits/std_cassert.h - 560228963b ./libstdc++-v3/include/c_shadow/bits/std_cctype.h -4211213130b ./libstdc++-v3/include/c_shadow/bits/std_cerrno.h -2068961496b ./libstdc++-v3/include/c_shadow/bits/std_cfloat.h -1221980595b ./libstdc++-v3/include/c_shadow/bits/std_climits.h -2373554238b ./libstdc++-v3/include/c_shadow/bits/std_clocale.h -2922108560b ./libstdc++-v3/include/c_shadow/bits/std_cmath.h -3399111523b ./libstdc++-v3/include/c_shadow/bits/std_csetjmp.h -2811346449b ./libstdc++-v3/include/c_shadow/bits/std_csignal.h -1849023164b ./libstdc++-v3/include/c_shadow/bits/std_cstdarg.h -1416432536b ./libstdc++-v3/include/c_shadow/bits/std_cstddef.h - 603206410b ./libstdc++-v3/include/c_shadow/bits/std_cstdio.h - 362076186b ./libstdc++-v3/include/c_shadow/bits/std_cstdlib.h -3229568541b ./libstdc++-v3/include/c_shadow/bits/std_cstring.h -3422048856b ./libstdc++-v3/include/c_shadow/bits/std_ctime.h - 536419890b ./libstdc++-v3/include/c_shadow/bits/std_cwchar.h -1653117625b ./libstdc++-v3/include/c_shadow/bits/std_cwctype.h - 329322306b ./libstdc++-v3/include/c_shadow/bits/wrap_fcntl.h - 627501306b ./libstdc++-v3/include/c_shadow/bits/wrap_features.h -2049971348b ./libstdc++-v3/include/c_shadow/bits/wrap_iconv.h -3382563118b ./libstdc++-v3/include/c_shadow/bits/wrap_iolibio.h -2864679755b ./libstdc++-v3/include/c_shadow/bits/wrap_langinfo.h -2532894743b ./libstdc++-v3/include/c_shadow/bits/wrap_libio.h -2741006858b ./libstdc++-v3/include/c_shadow/bits/wrap_libioP.h -3095110387b ./libstdc++-v3/include/c_shadow/bits/wrap_pthread.h -3334462167b ./libstdc++-v3/include/c_shadow/bits/wrap_unistd.h - 150067418b ./libstdc++-v3/include/c_shadow/ctype.h -3907725087b ./libstdc++-v3/include/c_shadow/errno.h -3350312907b ./libstdc++-v3/include/c_shadow/fcntl.h -2000598911b ./libstdc++-v3/include/c_shadow/features.h -3613357385b ./libstdc++-v3/include/c_shadow/float.h -2229010711b ./libstdc++-v3/include/c_shadow/iconv.h - 587788318b ./libstdc++-v3/include/c_shadow/iolibio.h -1158236952b ./libstdc++-v3/include/c_shadow/langinfo.h -2010863678b ./libstdc++-v3/include/c_shadow/libio.h - 34314066b ./libstdc++-v3/include/c_shadow/libioP.h -3248894685b ./libstdc++-v3/include/c_shadow/limits.h -2383653384b ./libstdc++-v3/include/c_shadow/locale.h -1611791486b ./libstdc++-v3/include/c_shadow/math.h -2578093016b ./libstdc++-v3/include/c_shadow/pthread.h -3850164351b ./libstdc++-v3/include/c_shadow/setjmp.h -4096900936b ./libstdc++-v3/include/c_shadow/signal.h -3742613068b ./libstdc++-v3/include/c_shadow/stdarg.h -1746566969b ./libstdc++-v3/include/c_shadow/stddef.h -3938753534b ./libstdc++-v3/include/c_shadow/stdio.h -4232198514b ./libstdc++-v3/include/c_shadow/stdlib.h - 105073828b ./libstdc++-v3/include/c_shadow/string.h -2629001503b ./libstdc++-v3/include/c_shadow/sys/cdefs.h -3221974189b ./libstdc++-v3/include/c_shadow/time.h -3696004291b ./libstdc++-v3/include/c_shadow/unistd.h -3189910958b ./libstdc++-v3/include/c_shadow/wchar.h - 887325795b ./libstdc++-v3/include/c_shadow/wctype.h -4098574322b ./libstdc++-v3/include/c/std_cassert.h -1243273805b ./libstdc++-v3/include/c/std_cctype.h -4253759613b ./libstdc++-v3/include/c/std_cerrno.h -4090686127b ./libstdc++-v3/include/c/std_cfloat.h -1108468159b ./libstdc++-v3/include/c/std_ciso646.h -1957729161b ./libstdc++-v3/include/c/std_climits.h -2616677270b ./libstdc++-v3/include/c/std_clocale.h -3373490872b ./libstdc++-v3/include/c/std_cmath.h -4087026299b ./libstdc++-v3/include/c_std/cmath.tcc -2198093326b ./libstdc++-v3/include/c/std_csetjmp.h -3312976087b ./libstdc++-v3/include/c/std_csignal.h -1491351151b ./libstdc++-v3/include/c/std_cstdarg.h - 969673189b ./libstdc++-v3/include/c/std_cstddef.h -3498882442b ./libstdc++-v3/include/c/std_cstdio.h -2143638095b ./libstdc++-v3/include/c/std_cstdlib.h - 948151623b ./libstdc++-v3/include/c/std_cstring.h - 641399722b ./libstdc++-v3/include/c/std_ctime.h -1161763336b ./libstdc++-v3/include/c/std_cwchar.h - 446614233b ./libstdc++-v3/include/c/std_cwctype.h -1055988818b ./libstdc++-v3/include/c_std/std_cassert.h - 513093939b ./libstdc++-v3/include/c_std/std_cctype.h -2752122999b ./libstdc++-v3/include/c_std/std_cerrno.h -3553306451b ./libstdc++-v3/include/c_std/std_cfloat.h -1108468159b ./libstdc++-v3/include/c_std/std_ciso646.h -3552340376b ./libstdc++-v3/include/c_std/std_climits.h -3610469005b ./libstdc++-v3/include/c_std/std_clocale.h - 298849884b ./libstdc++-v3/include/c_std/std_cmath.h - 664446368b ./libstdc++-v3/include/c_std/std_csetjmp.h -1548436805b ./libstdc++-v3/include/c_std/std_csignal.h -2409940084b ./libstdc++-v3/include/c_std/std_cstdarg.h -2943077263b ./libstdc++-v3/include/c_std/std_cstddef.h -2516759904b ./libstdc++-v3/include/c_std/std_cstdio.h -1778106626b ./libstdc++-v3/include/c_std/std_cstdlib.h -3597700667b ./libstdc++-v3/include/c_std/std_cstring.h -1833374328b ./libstdc++-v3/include/c_std/std_ctime.h - 855540198b ./libstdc++-v3/include/c_std/std_cwchar.h -3941323151b ./libstdc++-v3/include/c_std/std_cwctype.h -3317328074b ./libstdc++-v3/include/ext/algorithm -1641495854b ./libstdc++-v3/include/ext/enc_filebuf.h -3444585981b ./libstdc++-v3/include/ext/functional -1263241564b ./libstdc++-v3/include/ext/hash_map -1556994010b ./libstdc++-v3/include/ext/hash_set -1006064723b ./libstdc++-v3/include/ext/iterator -1166159156b ./libstdc++-v3/include/ext/memory -2161063846b ./libstdc++-v3/include/ext/numeric -2970646087b ./libstdc++-v3/include/ext/rb_tree - 177834210b ./libstdc++-v3/include/ext/rope - 836293130b ./libstdc++-v3/include/ext/ropeimpl.h -4160164241b ./libstdc++-v3/include/ext/slist - 580180377b ./libstdc++-v3/include/ext/stdio_filebuf.h -2805137138b ./libstdc++-v3/include/ext/stl_hash_fun.h -1833363198b ./libstdc++-v3/include/ext/stl_hashtable.h - 984888269b ./libstdc++-v3/include/ext/stl_rope.h -3797873942b ./libstdc++-v3/include/Makefile.am -2227334710b ./libstdc++-v3/include/Makefile.in -4064711400b ./libstdc++-v3/include/std/std_algorithm.h -1636885247b ./libstdc++-v3/include/std/std_bitset.h -3412647990b ./libstdc++-v3/include/std/std_complex.h -1730455182b ./libstdc++-v3/include/std/std_deque.h -3370784176b ./libstdc++-v3/include/std/std_fstream.h -3174050204b ./libstdc++-v3/include/std/std_functional.h -2010625027b ./libstdc++-v3/include/std/std_iomanip.h -1134808427b ./libstdc++-v3/include/std/std_iosfwd.h -2056599714b ./libstdc++-v3/include/std/std_ios.h -2007291560b ./libstdc++-v3/include/std/std_iostream.h - 270752150b ./libstdc++-v3/include/std/std_istream.h -3826418885b ./libstdc++-v3/include/std/std_iterator.h -2456685888b ./libstdc++-v3/include/std/std_limits.h -1509281666b ./libstdc++-v3/include/std/std_list.h - 918488326b ./libstdc++-v3/include/std/std_locale.h -2375471353b ./libstdc++-v3/include/std/std_map.h - 458060559b ./libstdc++-v3/include/std/std_memory.h -2200880623b ./libstdc++-v3/include/std/std_numeric.h -3467401292b ./libstdc++-v3/include/std/std_ostream.h -1570707417b ./libstdc++-v3/include/std/std_queue.h -2180214858b ./libstdc++-v3/include/std/std_set.h -2149174599b ./libstdc++-v3/include/std/std_sstream.h -1037640383b ./libstdc++-v3/include/std/std_stack.h -3429471837b ./libstdc++-v3/include/std/std_stdexcept.h - 136978800b ./libstdc++-v3/include/std/std_streambuf.h -1365091273b ./libstdc++-v3/include/std/std_string.h -4158492065b ./libstdc++-v3/include/std/std_utility.h - 362016596b ./libstdc++-v3/include/std/std_valarray.h - 125145631b ./libstdc++-v3/include/std/std_vector.h - 357326461b ./libstdc++-v3/libio/ChangeLog -2122576197b ./libstdc++-v3/libio/filedoalloc.c -3590060213b ./libstdc++-v3/libio/fileops.c - 314955067b ./libstdc++-v3/libio/_G_config.h -1488981607b ./libstdc++-v3/libio/genops.c -1308598865b ./libstdc++-v3/libio/iofclose.c - 932932445b ./libstdc++-v3/libio/iofopen.c -2284824626b ./libstdc++-v3/libio/iofwide.c -3964237465b ./libstdc++-v3/libio/iolibio.h -4269898080b ./libstdc++-v3/libio/libio.h - 276542374b ./libstdc++-v3/libio/libioP.h - 226381804b ./libstdc++-v3/libio/Makefile.am -2999083951b ./libstdc++-v3/libio/Makefile.in - 13280908b ./libstdc++-v3/libio/stdfiles.c -2344987226b ./libstdc++-v3/libio/stdio.c - 688559115b ./libstdc++-v3/libio/wfiledoalloc.c - 871695306b ./libstdc++-v3/libio/wfileops.c -2568419733b ./libstdc++-v3/libio/wgenops.c -4088285812b ./libstdc++-v3/libmath/copysignf.c -3368788614b ./libstdc++-v3/libmath/Makefile.am -3495106153b ./libstdc++-v3/libmath/Makefile.in - 346371220b ./libstdc++-v3/libmath/mathconf.h -1759197966b ./libstdc++-v3/libmath/nan.c -1774241233b ./libstdc++-v3/libmath/signbit.c -3226432156b ./libstdc++-v3/libmath/signbitf.c - 706230946b ./libstdc++-v3/libmath/signbitl.c - 940829383b ./libstdc++-v3/libmath/stubs.c -2871090365b ./libstdc++-v3/libsupc++/cxxabi.h -3887473586b ./libstdc++-v3/libsupc++/del_op.cc -2108254126b ./libstdc++-v3/libsupc++/del_opnt.cc - 998297127b ./libstdc++-v3/libsupc++/del_opv.cc - 958055369b ./libstdc++-v3/libsupc++/del_opvnt.cc - 256210637b ./libstdc++-v3/libsupc++/eh_alloc.cc -1594858350b ./libstdc++-v3/libsupc++/eh_aux_runtime.cc - 152242761b ./libstdc++-v3/libsupc++/eh_catch.cc -4215496070b ./libstdc++-v3/libsupc++/eh_exception.cc -1852005316b ./libstdc++-v3/libsupc++/eh_globals.cc -1601550960b ./libstdc++-v3/libsupc++/eh_personality.cc - 192927225b ./libstdc++-v3/libsupc++/eh_terminate.cc -3767983751b ./libstdc++-v3/libsupc++/eh_throw.cc -3381460574b ./libstdc++-v3/libsupc++/eh_type.cc -1338501219b ./libstdc++-v3/libsupc++/exception -3453419455b ./libstdc++-v3/libsupc++/exception_defines.h -2343038402b ./libstdc++-v3/libsupc++/Makefile.am -4070714309b ./libstdc++-v3/libsupc++/Makefile.in -4225132204b ./libstdc++-v3/libsupc++/new -2545598190b ./libstdc++-v3/libsupc++/new_handler.cc -2558289852b ./libstdc++-v3/libsupc++/new_op.cc -1924050083b ./libstdc++-v3/libsupc++/new_opnt.cc -4286163592b ./libstdc++-v3/libsupc++/new_opv.cc -1153125428b ./libstdc++-v3/libsupc++/new_opvnt.cc -2851101423b ./libstdc++-v3/libsupc++/pure.cc -4266179473b ./libstdc++-v3/libsupc++/tinfo2.cc -1062337084b ./libstdc++-v3/libsupc++/tinfo.cc -1192700122b ./libstdc++-v3/libsupc++/tinfo.h -2283435214b ./libstdc++-v3/libsupc++/typeinfo - 875479559b ./libstdc++-v3/libsupc++/unwind-cxx.h - 712738859b ./libstdc++-v3/libsupc++/vec.cc - 726823839b ./libstdc++-v3/Makefile.am -2114270009b ./libstdc++-v3/Makefile.in -2396933860b ./libstdc++-v3/mkcheck.in -3790569303b ./libstdc++-v3/mkcshadow - 805804711b ./libstdc++-v3/mkinclosure -1252249648b ./libstdc++-v3/po/de.po -4161545945b ./libstdc++-v3/po/fr.po - 571561184b ./libstdc++-v3/po/libstdc++.pot -2710223631b ./libstdc++-v3/po/Makefile.am - 768491719b ./libstdc++-v3/po/Makefile.in -2014452913b ./libstdc++-v3/po/POTFILES.in -1352447199b ./libstdc++-v3/po/string_literals.cc - 201474883b ./libstdc++-v3/README -2225403332b ./libstdc++-v3/src/bitset.cc - 710998349b ./libstdc++-v3/src/codecvt.cc - 252828227b ./libstdc++-v3/src/complex_io.cc - 730767358b ./libstdc++-v3/src/concept-inst.cc -1573161063b ./libstdc++-v3/src/ctype.cc - 78911046b ./libstdc++-v3/src/ext-inst.cc -2915333764b ./libstdc++-v3/src/fstream.cc -3501232323b ./libstdc++-v3/src/fstream-inst.cc -3677721072b ./libstdc++-v3/src/functexcept.cc -4248290172b ./libstdc++-v3/src/globals.cc - 62109486b ./libstdc++-v3/src/io-inst.cc -2685787750b ./libstdc++-v3/src/ios.cc -3318878382b ./libstdc++-v3/src/istream-inst.cc -2798828124b ./libstdc++-v3/src/limits.cc -3890365762b ./libstdc++-v3/src/locale.cc -2887946202b ./libstdc++-v3/src/locale-inst.cc -2847860049b ./libstdc++-v3/src/localename.cc -2372986634b ./libstdc++-v3/src/Makefile.am -1241013874b ./libstdc++-v3/src/Makefile.in - 46061667b ./libstdc++-v3/src/misc-inst.cc -1456313812b ./libstdc++-v3/src/ostream-inst.cc -1968902758b ./libstdc++-v3/src/sstream-inst.cc -3634270088b ./libstdc++-v3/src/stdexcept.cc -1621643001b ./libstdc++-v3/src/stl-inst.cc - 294577884b ./libstdc++-v3/src/streambuf-inst.cc -1002021259b ./libstdc++-v3/src/string-inst.cc - 102324994b ./libstdc++-v3/src/strstream.cc -3557593608b ./libstdc++-v3/src/valarray-inst.cc -2601290630b ./libstdc++-v3/src/vterminate.cc -1651008667b ./libstdc++-v3/src/wstring-inst.cc -3407177850b ./libstdc++-v3/testsuite/17_intro/header_cassert.cc - 718483329b ./libstdc++-v3/testsuite/17_intro/header_cerrno.cc - 292833921b ./libstdc++-v3/testsuite/17_intro/header_ciso646.cc -2740614555b ./libstdc++-v3/testsuite/17_intro/header_csetjmp.cc -4187004662b ./libstdc++-v3/testsuite/17_intro/header_cstdarg.cc -1187341165b ./libstdc++-v3/testsuite/17_intro/header_cstddef.cc -3112061327b ./libstdc++-v3/testsuite/17_intro/header_cstdio.cc - 433436146b ./libstdc++-v3/testsuite/17_intro/header_cstdlib.cc -4184074218b ./libstdc++-v3/testsuite/17_intro/header_cstring.cc - 446409895b ./libstdc++-v3/testsuite/17_intro/header_ctime.cc -2460401861b ./libstdc++-v3/testsuite/17_intro/header_cwchar.cc - 234720762b ./libstdc++-v3/testsuite/17_intro/header_cwctype.cc -4050243083b ./libstdc++-v3/testsuite/17_intro/header_fstream.cc - 31531867b ./libstdc++-v3/testsuite/17_intro/header_iomanip.cc -1385850299b ./libstdc++-v3/testsuite/17_intro/header_ios.cc -2774643098b ./libstdc++-v3/testsuite/17_intro/header_iosfwd.cc -1794666783b ./libstdc++-v3/testsuite/17_intro/header_iostream.cc -1280776215b ./libstdc++-v3/testsuite/17_intro/header_istream.cc -3671158117b ./libstdc++-v3/testsuite/17_intro/header_ostream.cc -3461116413b ./libstdc++-v3/testsuite/17_intro/headers.cc -3404318748b ./libstdc++-v3/testsuite/17_intro/headers_c.cc -2076357409b ./libstdc++-v3/testsuite/17_intro/headers_c++.cc - 161485874b ./libstdc++-v3/testsuite/17_intro/header_sstream.cc - 553109088b ./libstdc++-v3/testsuite/17_intro/header_streambuf.cc -2977766596b ./libstdc++-v3/testsuite/18_support/new_delete_placement.cc -2714224389b ./libstdc++-v3/testsuite/18_support/numeric_limits.cc -3977893255b ./libstdc++-v3/testsuite/19_diagnostics/stdexceptions.cc -1972393936b ./libstdc++-v3/testsuite/20_util/allocator_members.cc -4062528466b ./libstdc++-v3/testsuite/20_util/auto_ptr.cc -4006660250b ./libstdc++-v3/testsuite/20_util/binders.cc -1043517205b ./libstdc++-v3/testsuite/20_util/comparisons.cc -1073181186b ./libstdc++-v3/testsuite/20_util/pairs.cc -2591691225b ./libstdc++-v3/testsuite/20_util/raw_storage_iterator.cc -2339280423b ./libstdc++-v3/testsuite/20_util/temporary_buffer.cc -2620430532b ./libstdc++-v3/testsuite/21_strings/append.cc -1749237095b ./libstdc++-v3/testsuite/21_strings/assign.cc -4278196910b ./libstdc++-v3/testsuite/21_strings/capacity.cc -2635888646b ./libstdc++-v3/testsuite/21_strings/char_traits_requirements.cc -4052621376b ./libstdc++-v3/testsuite/21_strings/char_traits_typedefs.cc -2742086522b ./libstdc++-v3/testsuite/21_strings/compare.cc -1828225934b ./libstdc++-v3/testsuite/21_strings/c_strings.cc - 747384429b ./libstdc++-v3/testsuite/21_strings/ctor_copy_dtor.cc -2926478704b ./libstdc++-v3/testsuite/21_strings/element_access.cc -2204151867b ./libstdc++-v3/testsuite/21_strings/find.cc -1722926940b ./libstdc++-v3/testsuite/21_strings/insert.cc -1426636344b ./libstdc++-v3/testsuite/21_strings/inserters_extractors.cc -2168000074b ./libstdc++-v3/testsuite/21_strings/invariants.cc - 593155147b ./libstdc++-v3/testsuite/21_strings/nonmember.cc -1709617082b ./libstdc++-v3/testsuite/21_strings/operations.cc -3864027067b ./libstdc++-v3/testsuite/21_strings/replace.cc -2718476092b ./libstdc++-v3/testsuite/21_strings/rfind.cc -1483165749b ./libstdc++-v3/testsuite/21_strings/substr.cc - 387593609b ./libstdc++-v3/testsuite/22_locale/codecvt.cc - 512064027b ./libstdc++-v3/testsuite/22_locale/codecvt_members_char_char.cc -1168972362b ./libstdc++-v3/testsuite/22_locale/codecvt_members_unicode_char.cc - 56961166b ./libstdc++-v3/testsuite/22_locale/codecvt_members_unicode_wchar_t.cc -4100654250b ./libstdc++-v3/testsuite/22_locale/codecvt_members_wchar_t_char.cc - 378719965b ./libstdc++-v3/testsuite/22_locale/collate_byname.cc -4219192012b ./libstdc++-v3/testsuite/22_locale/collate.cc -1671297459b ./libstdc++-v3/testsuite/22_locale/collate_members_char.cc -2271354246b ./libstdc++-v3/testsuite/22_locale/collate_members_wchar_t.cc -3591030064b ./libstdc++-v3/testsuite/22_locale/ctor_copy_dtor.cc -2708515186b ./libstdc++-v3/testsuite/22_locale/ctype.cc - 249444744b ./libstdc++-v3/testsuite/22_locale/ctype_is_char.cc - 547279960b ./libstdc++-v3/testsuite/22_locale/ctype_is_wchar_t.cc -3696162713b ./libstdc++-v3/testsuite/22_locale/ctype_members_char.cc -3964508813b ./libstdc++-v3/testsuite/22_locale/ctype_members_wchar_t.cc -2753261538b ./libstdc++-v3/testsuite/22_locale/ctype_narrow_char.cc -1501677695b ./libstdc++-v3/testsuite/22_locale/ctype_narrow_wchar_t.cc -3197301377b ./libstdc++-v3/testsuite/22_locale/ctype_scan_char.cc -4211906035b ./libstdc++-v3/testsuite/22_locale/ctype_scan_wchar_t.cc -2527015272b ./libstdc++-v3/testsuite/22_locale/ctype_to_char.cc -4182256884b ./libstdc++-v3/testsuite/22_locale/ctype_to_wchar_t.cc -3510804403b ./libstdc++-v3/testsuite/22_locale/ctype_widen_char.cc - 93317595b ./libstdc++-v3/testsuite/22_locale/ctype_widen_wchar_t.cc -3849986858b ./libstdc++-v3/testsuite/22_locale/facet.cc -3496730433b ./libstdc++-v3/testsuite/22_locale/global_templates.cc -1723684426b ./libstdc++-v3/testsuite/22_locale/members.cc -1401094326b ./libstdc++-v3/testsuite/22_locale/messages_byname.cc -3196187062b ./libstdc++-v3/testsuite/22_locale/messages.cc -1970700053b ./libstdc++-v3/testsuite/22_locale/messages_members_char.cc -2495817416b ./libstdc++-v3/testsuite/22_locale/money_get.cc -1766255762b ./libstdc++-v3/testsuite/22_locale/money_get_members_char.cc - 138738715b ./libstdc++-v3/testsuite/22_locale/money_get_members_wchar_t.cc - 396525641b ./libstdc++-v3/testsuite/22_locale/moneypunct_byname.cc -1298769732b ./libstdc++-v3/testsuite/22_locale/moneypunct.cc -1486946696b ./libstdc++-v3/testsuite/22_locale/moneypunct_members_char.cc -2302401224b ./libstdc++-v3/testsuite/22_locale/moneypunct_members_wchar_t.cc -2714963439b ./libstdc++-v3/testsuite/22_locale/money_put.cc - 545615219b ./libstdc++-v3/testsuite/22_locale/money_put_members_char.cc - 299189870b ./libstdc++-v3/testsuite/22_locale/money_put_members_wchar_t.cc -3806757668b ./libstdc++-v3/testsuite/22_locale/num_get.cc - 942400636b ./libstdc++-v3/testsuite/22_locale/num_get_members_char.cc -3952754596b ./libstdc++-v3/testsuite/22_locale/num_get_members_wchar_t.cc -3109277057b ./libstdc++-v3/testsuite/22_locale/numpunct_byname.cc - 481449220b ./libstdc++-v3/testsuite/22_locale/numpunct.cc -1180876674b ./libstdc++-v3/testsuite/22_locale/numpunct_members_char.cc -3139380707b ./libstdc++-v3/testsuite/22_locale/numpunct_members_wchar_t.cc -2013396522b ./libstdc++-v3/testsuite/22_locale/num_put.cc -2410491259b ./libstdc++-v3/testsuite/22_locale/num_put_members_char.cc - 547290714b ./libstdc++-v3/testsuite/22_locale/num_put_members_wchar_t.cc -2592583186b ./libstdc++-v3/testsuite/22_locale/operators.cc - 786606213b ./libstdc++-v3/testsuite/22_locale/static_members.cc -3529549306b ./libstdc++-v3/testsuite/22_locale/time_get.cc -3923101724b ./libstdc++-v3/testsuite/22_locale/time_get_members_char.cc -2180594183b ./libstdc++-v3/testsuite/22_locale/time_get_members_wchar_t.cc -4249879313b ./libstdc++-v3/testsuite/22_locale/time_put.cc -2625268284b ./libstdc++-v3/testsuite/22_locale/time_put_members_char.cc -1365876592b ./libstdc++-v3/testsuite/22_locale/time_put_members_wchar_t.cc -1594601537b ./libstdc++-v3/testsuite/23_containers/bitset_ctor.cc -4248533082b ./libstdc++-v3/testsuite/23_containers/bitset_members.cc - 897013241b ./libstdc++-v3/testsuite/23_containers/bitset_shift.cc - 298271417b ./libstdc++-v3/testsuite/23_containers/deque_ctor.cc -3599034057b ./libstdc++-v3/testsuite/23_containers/deque_operators.cc - 205784061b ./libstdc++-v3/testsuite/23_containers/list_capacity.cc - 326983922b ./libstdc++-v3/testsuite/23_containers/list_ctor.cc - 599293253b ./libstdc++-v3/testsuite/23_containers/list_modifiers.cc -4244756936b ./libstdc++-v3/testsuite/23_containers/list_operators.cc - 307316045b ./libstdc++-v3/testsuite/23_containers/map_insert.cc -1772243688b ./libstdc++-v3/testsuite/23_containers/map_operators.cc -3789154851b ./libstdc++-v3/testsuite/23_containers/multiset.cc -4102929314b ./libstdc++-v3/testsuite/23_containers/set_operators.cc -3617128880b ./libstdc++-v3/testsuite/23_containers/vector_bool.cc -2845787844b ./libstdc++-v3/testsuite/23_containers/vector_capacity.cc -2149604858b ./libstdc++-v3/testsuite/23_containers/vector_ctor.cc -3683155594b ./libstdc++-v3/testsuite/23_containers/vector_element_access.cc -4203207973b ./libstdc++-v3/testsuite/23_containers/vector_modifiers.cc -3679802360b ./libstdc++-v3/testsuite/24_iterators/back_insert_iterator.cc -2736134729b ./libstdc++-v3/testsuite/24_iterators/front_insert_iterator.cc -1154183743b ./libstdc++-v3/testsuite/24_iterators/insert_iterator.cc - 714376333b ./libstdc++-v3/testsuite/24_iterators/istreambuf_iterator.cc -3795589628b ./libstdc++-v3/testsuite/24_iterators/istream_iterator.cc -2873994073b ./libstdc++-v3/testsuite/24_iterators/iterator.cc -1144199940b ./libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator.cc -3195646624b ./libstdc++-v3/testsuite/24_iterators/ostream_iterator.cc -1944522737b ./libstdc++-v3/testsuite/24_iterators/rel_ops.cc -2512302022b ./libstdc++-v3/testsuite/24_iterators/reverse_iterator.cc -1024863451b ./libstdc++-v3/testsuite/25_algorithms/binary_search.cc -3359092851b ./libstdc++-v3/testsuite/25_algorithms/copy.cc - 499887025b ./libstdc++-v3/testsuite/25_algorithms/equal.cc -2307649178b ./libstdc++-v3/testsuite/25_algorithms/heap.cc -3229510528b ./libstdc++-v3/testsuite/25_algorithms/lower_bound.cc -4253988362b ./libstdc++-v3/testsuite/25_algorithms/min_max.cc - 737927184b ./libstdc++-v3/testsuite/25_algorithms/partition.cc -2077920331b ./libstdc++-v3/testsuite/25_algorithms/rotate.cc -2843376967b ./libstdc++-v3/testsuite/25_algorithms/sort.cc -3487714017b ./libstdc++-v3/testsuite/25_algorithms/unique.cc - 825452073b ./libstdc++-v3/testsuite/26_numerics/binary_closure.cc -4174117585b ./libstdc++-v3/testsuite/26_numerics/buggy_complex.cc -3446031285b ./libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c.cc - 477083436b ./libstdc++-v3/testsuite/26_numerics/c99_classification_macros_c++.cc - 162388279b ./libstdc++-v3/testsuite/26_numerics/c_math.cc -3345793307b ./libstdc++-v3/testsuite/26_numerics/complex_inserters_extractors.cc -4028172023b ./libstdc++-v3/testsuite/26_numerics/complex_value.cc -1538489744b ./libstdc++-v3/testsuite/26_numerics/fabs_inline.cc -2007868264b ./libstdc++-v3/testsuite/26_numerics/slice_array_assignment.cc -2493789332b ./libstdc++-v3/testsuite/26_numerics/sum_diff.cc -2203801309b ./libstdc++-v3/testsuite/26_numerics/valarray.cc -2289035929b ./libstdc++-v3/testsuite/26_numerics/valarray_const_bracket.cc -1162163080b ./libstdc++-v3/testsuite/27_io/filebuf.cc -4294967295b ./libstdc++-v3/testsuite/27_io/filebuf_members-1.tst -4294967295b ./libstdc++-v3/testsuite/27_io/filebuf_members-1.txt -3299934909b ./libstdc++-v3/testsuite/27_io/filebuf_members.cc -4204648704b ./libstdc++-v3/testsuite/27_io/filebuf_virtuals-1.tst -4204648704b ./libstdc++-v3/testsuite/27_io/filebuf_virtuals-1.txt - 655821823b ./libstdc++-v3/testsuite/27_io/filebuf_virtuals-2.tst -1896106013b ./libstdc++-v3/testsuite/27_io/filebuf_virtuals-3.tst -3500020998b ./libstdc++-v3/testsuite/27_io/filebuf_virtuals.cc -1987901042b ./libstdc++-v3/testsuite/27_io/fpos.cc -2165147103b ./libstdc++-v3/testsuite/27_io/fstream.cc - 358840366b ./libstdc++-v3/testsuite/27_io/fstream_members.cc -4052401030b ./libstdc++-v3/testsuite/27_io/ifstream.cc -4294967295b ./libstdc++-v3/testsuite/27_io/ifstream_members-1.tst -4294967295b ./libstdc++-v3/testsuite/27_io/ifstream_members-1.txt -2885752721b ./libstdc++-v3/testsuite/27_io/ifstream_members.cc -2822576026b ./libstdc++-v3/testsuite/27_io/instantiations.cc -1158981090b ./libstdc++-v3/testsuite/27_io/ios_base_callbacks.cc -3079502096b ./libstdc++-v3/testsuite/27_io/ios_base_members_static-1.tst -2904656871b ./libstdc++-v3/testsuite/27_io/ios_base_members_static.cc - 446281776b ./libstdc++-v3/testsuite/27_io/ios_base_storage.cc -1912639991b ./libstdc++-v3/testsuite/27_io/ios_base_type.cc - 236727293b ./libstdc++-v3/testsuite/27_io/ios.cc -3028704293b ./libstdc++-v3/testsuite/27_io/ios_ctor.cc -3931163797b ./libstdc++-v3/testsuite/27_io/ios_init.cc -1589179378b ./libstdc++-v3/testsuite/27_io/ios_manip_basefield.cc -2543133138b ./libstdc++-v3/testsuite/27_io/ios_manip_fmtflags.cc - 402291869b ./libstdc++-v3/testsuite/27_io/ios_members.cc -3395187832b ./libstdc++-v3/testsuite/27_io/iostream.cc -2441613414b ./libstdc++-v3/testsuite/27_io/iostream_members.cc - 403539923b ./libstdc++-v3/testsuite/27_io/istream.cc -1371858986b ./libstdc++-v3/testsuite/27_io/istream_extractor_arith.cc - 262004209b ./libstdc++-v3/testsuite/27_io/istream_extractor_char.cc -1013375821b ./libstdc++-v3/testsuite/27_io/istream_extractor_other-1.tst -1013375821b ./libstdc++-v3/testsuite/27_io/istream_extractor_other-1.txt -1013375821b ./libstdc++-v3/testsuite/27_io/istream_extractor_other-2.tst -4009952868b ./libstdc++-v3/testsuite/27_io/istream_extractor_other.cc -3525724471b ./libstdc++-v3/testsuite/27_io/istream_manip.cc -3951789237b ./libstdc++-v3/testsuite/27_io/istream_seeks-1.tst -3951789237b ./libstdc++-v3/testsuite/27_io/istream_seeks-1.txt -4294967295b ./libstdc++-v3/testsuite/27_io/istream_seeks-2.tst -2129191219b ./libstdc++-v3/testsuite/27_io/istream_seeks-3.tst -1422426115b ./libstdc++-v3/testsuite/27_io/istream_seeks.cc - 466639813b ./libstdc++-v3/testsuite/27_io/istream_sentry.cc - 38986799b ./libstdc++-v3/testsuite/27_io/istream_unformatted-1.tst - 38986799b ./libstdc++-v3/testsuite/27_io/istream_unformatted-1.txt -3117431722b ./libstdc++-v3/testsuite/27_io/istream_unformatted.cc - 351004607b ./libstdc++-v3/testsuite/27_io/istringstream.cc -2607021483b ./libstdc++-v3/testsuite/27_io/istringstream_members.cc -3768461150b ./libstdc++-v3/testsuite/27_io/narrow_stream_objects.cc - 190325385b ./libstdc++-v3/testsuite/27_io/ofstream.cc -4294967295b ./libstdc++-v3/testsuite/27_io/ofstream_members-1.tst -2333857258b ./libstdc++-v3/testsuite/27_io/ofstream_members.cc -3562911149b ./libstdc++-v3/testsuite/27_io/ostream.cc -4258844886b ./libstdc++-v3/testsuite/27_io/ostream_inserter_arith.cc -1556078817b ./libstdc++-v3/testsuite/27_io/ostream_inserter_char-1.tst -1556078817b ./libstdc++-v3/testsuite/27_io/ostream_inserter_char-1.txt -4127328437b ./libstdc++-v3/testsuite/27_io/ostream_inserter_char.cc -4204648704b ./libstdc++-v3/testsuite/27_io/ostream_inserter_other-1.tst -4204648704b ./libstdc++-v3/testsuite/27_io/ostream_inserter_other-2.tst -1839784195b ./libstdc++-v3/testsuite/27_io/ostream_inserter_other.cc -1438625590b ./libstdc++-v3/testsuite/27_io/ostream_manip.cc -4294967295b ./libstdc++-v3/testsuite/27_io/ostream_seeks-1.tst - 169443827b ./libstdc++-v3/testsuite/27_io/ostream_seeks.cc -4124709644b ./libstdc++-v3/testsuite/27_io/ostream_unformatted.cc -4123639841b ./libstdc++-v3/testsuite/27_io/ostringstream.cc -1267238271b ./libstdc++-v3/testsuite/27_io/ostringstream_members.cc - 989576790b ./libstdc++-v3/testsuite/27_io/standard_manipulators.cc - 252515735b ./libstdc++-v3/testsuite/27_io/streambuf.cc -2336603373b ./libstdc++-v3/testsuite/27_io/streambuf_members.cc - 939421885b ./libstdc++-v3/testsuite/27_io/stringbuf.cc -1939814633b ./libstdc++-v3/testsuite/27_io/stringbuf_members.cc - 826108650b ./libstdc++-v3/testsuite/27_io/stringbuf_virtuals.cc -4012426009b ./libstdc++-v3/testsuite/27_io/stringstream.cc -2617118873b ./libstdc++-v3/testsuite/27_io/stringstream_members.cc - 365205754b ./libstdc++-v3/testsuite/27_io/wide_stream_objects.cc -1480987785b ./libstdc++-v3/testsuite/abi_check.cc -3762370376b ./libstdc++-v3/testsuite/backward/header_deque_h.cc - 651880874b ./libstdc++-v3/testsuite/backward/header_hash_map_h.cc -2293472298b ./libstdc++-v3/testsuite/backward/header_hash_set_h.cc -1063503519b ./libstdc++-v3/testsuite/backward/header_hashtable_h.cc -1384531088b ./libstdc++-v3/testsuite/backward/header_iterator_h.cc -1470125519b ./libstdc++-v3/testsuite/backward/header_rope_h.cc -4158324753b ./libstdc++-v3/testsuite/backward/header_slist_h.cc -4284948430b ./libstdc++-v3/testsuite/backward/header_tempbuf_h.cc -2753031700b ./libstdc++-v3/testsuite/backward/strstream_members.cc - 872857903b ./libstdc++-v3/testsuite/config/default.exp -3323103327b ./libstdc++-v3/testsuite/ext/allocators.cc -1828531587b ./libstdc++-v3/testsuite/ext/concept_checks.cc -1683071968b ./libstdc++-v3/testsuite/ext/hash_map.cc -2382325141b ./libstdc++-v3/testsuite/ext/hash_set.cc -2849413443b ./libstdc++-v3/testsuite/ext/headers.cc -2661012354b ./libstdc++-v3/testsuite/ext/rope.cc -1165386526b ./libstdc++-v3/testsuite_flags.in -2466180569b ./libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp -3712176129b ./libstdc++-v3/testsuite/lib/prune.exp -2361428628b ./libstdc++-v3/testsuite/libstdc++-v3.dg/dg.exp - 530685480b ./libstdc++-v3/testsuite/Makefile.am -1266369902b ./libstdc++-v3/testsuite/Makefile.in -1352817621b ./libstdc++-v3/testsuite/printnow.c - 443433597b ./libstdc++-v3/testsuite/README -3725824881b ./libstdc++-v3/testsuite/testsuite_hooks.h - 156463796b ./libstdc++-v3/testsuite/thread/pthread1.cc -1550931445b ./libstdc++-v3/testsuite/thread/pthread2.cc -1829037829b ./libstdc++-v3/testsuite/thread/pthread3.cc -3999709480b ./libstdc++-v3/testsuite/thread/pthread4.cc -3966130685b ./libstdc++-v3/testsuite/thread/pthread5.cc -2701150431b ./libstdc++-v3/testsuite/thread/pthread6.cc -4084702431b ./libtool.m4 -2081401147b ./ltcf-c.sh - 534669854b ./ltcf-cxx.sh -3594421631b ./ltcf-gcj.sh - 30175378b ./ltconfig -2369122487b ./ltmain.sh -4287295648b ./MAINTAINERS -1302059430b ./maintainer-scripts/ChangeLog -1905552954b ./maintainer-scripts/crontab -4171969357b ./maintainer-scripts/doc_exclude -3945756456b ./maintainer-scripts/gcc_release -3126840705b ./maintainer-scripts/README -4169093075b ./maintainer-scripts/snapshot-index.html -1797615493b ./maintainer-scripts/snapshot-README -3359505648b ./maintainer-scripts/update_version - 612565256b ./maintainer-scripts/update_web_docs -2568232642b ./maintainer-scripts/update_web_docs_libstdcxx -1719002991b ./maintainer-scripts/update_web_docs_old -2643081116b ./Makefile.in - 990942143b ./missing -2656466409b ./mkdep -4236112450b ./mkinstalldirs - 902556840b ./move-if-change -3697693037b ./README -1077958069b ./symlink-tree -1370970362b ./ylwrap -1221785251b ./zlib/acinclude.m4 - 63064805b ./zlib/aclocal.m4 -1297198925b ./zlib/adler32.c -2360440520b ./zlib/algorithm.txt -1537725969b ./zlib/amiga/Makefile.pup -3919607569b ./zlib/amiga/Makefile.sas -1002100577b ./zlib/ChangeLog -3062272324b ./zlib/ChangeLog.gcj - 720988996b ./zlib/compress.c -1404772722b ./zlib/configure -1923259853b ./zlib/configure.in - 215845136b ./zlib/contrib/asm386/gvmat32.asm -4143184108b ./zlib/contrib/asm386/gvmat32c.c -2920733537b ./zlib/contrib/asm386/mkgvmt32.bat -3675080833b ./zlib/contrib/asm386/zlibvc.def -2499069487b ./zlib/contrib/asm386/zlibvc.dsp - 993885909b ./zlib/contrib/asm386/zlibvc.dsw - 793867511b ./zlib/contrib/asm586/match.S -1760950630b ./zlib/contrib/asm586/README.586 -3445355807b ./zlib/contrib/asm686/match.S -3564267527b ./zlib/contrib/asm686/README.686 -3962801576b ./zlib/contrib/delphi2/d_zlib.bpr -3205278976b ./zlib/contrib/delphi2/d_zlib.cpp -3618554340b ./zlib/contrib/delphi2/readme.txt - 812510417b ./zlib/contrib/delphi2/zlib32.bpr -2671802940b ./zlib/contrib/delphi2/zlib32.cpp -1448048189b ./zlib/contrib/delphi2/zlib.bpg -1970984078b ./zlib/contrib/delphi2/zlib.bpr -2460992656b ./zlib/contrib/delphi2/zlib.cpp -2183495051b ./zlib/contrib/delphi2/zlib.pas - 26085236b ./zlib/contrib/delphi/zlibdef.pas -1981000180b ./zlib/contrib/delphi/zlib.mak -2533136546b ./zlib/contrib/iostream2/zstream.h -3297987584b ./zlib/contrib/iostream2/zstream_test.cpp - 339148404b ./zlib/contrib/iostream/test.cpp -1960805227b ./zlib/contrib/iostream/zfstream.cpp - 933409408b ./zlib/contrib/iostream/zfstream.h -2533758279b ./zlib/contrib/minizip/ChangeLogUnzip -2310837728b ./zlib/contrib/minizip/Makefile -4259570427b ./zlib/contrib/minizip/miniunz.c -3026675082b ./zlib/contrib/minizip/minizip.c -3515615353b ./zlib/contrib/minizip/readme.txt - 179160536b ./zlib/contrib/minizip/unzip.c - 167508053b ./zlib/contrib/minizip/unzip.def -3849720148b ./zlib/contrib/minizip/unzip.h -1806581538b ./zlib/contrib/minizip/zip.c -2300422090b ./zlib/contrib/minizip/zip.def -3071990388b ./zlib/contrib/minizip/zip.h -3675080833b ./zlib/contrib/minizip/zlibvc.def -2499069487b ./zlib/contrib/minizip/zlibvc.dsp - 993885909b ./zlib/contrib/minizip/zlibvc.dsw -3769239525b ./zlib/contrib/README.contrib -4061615005b ./zlib/contrib/untgz/Makefile -1408736380b ./zlib/contrib/untgz/makefile.w32 -1384858048b ./zlib/contrib/untgz/untgz.c -2352798505b ./zlib/contrib/visual-basic.txt -4189021895b ./zlib/crc32.c -1822942177b ./zlib/deflate.c -1789868741b ./zlib/deflate.h -1690938184b ./zlib/descrip.mms -2345539147b ./zlib/example.c -1790959550b ./zlib/FAQ - 703718503b ./zlib/gzio.c - 467711448b ./zlib/INDEX -3009787290b ./zlib/infblock.c - 34847356b ./zlib/infblock.h - 763710488b ./zlib/infcodes.c -3334929562b ./zlib/infcodes.h -1206037810b ./zlib/inffast.c -3339512059b ./zlib/inffast.h - 490193883b ./zlib/inffixed.h -2412593958b ./zlib/inflate.c -3025160042b ./zlib/inftrees.c -2634414216b ./zlib/inftrees.h - 788977750b ./zlib/infutil.c -2297950969b ./zlib/infutil.h -3729200713b ./zlib/Makefile.am -1429364934b ./zlib/Makefile.in -3707467235b ./zlib/Makefile.riscos - 196153738b ./zlib/maketree.c -3901505907b ./zlib/Make_vms.com - 229496420b ./zlib/minigzip.c - 955312409b ./zlib/msdos/Makefile.b32 -3122518693b ./zlib/msdos/Makefile.bor - 73399342b ./zlib/msdos/Makefile.dj2 - 269847616b ./zlib/msdos/Makefile.emx -2865241702b ./zlib/msdos/Makefile.msc - 88126218b ./zlib/msdos/Makefile.tc -1109774061b ./zlib/msdos/Makefile.w32 - 458881763b ./zlib/msdos/Makefile.wat - 705831339b ./zlib/msdos/zlib.def - 3235401b ./zlib/msdos/zlib.rc -3559516957b ./zlib/nt/Makefile.emx -1068633629b ./zlib/nt/Makefile.gcc -3209851797b ./zlib/nt/Makefile.nt -3298347746b ./zlib/nt/zlib.dnt -2605576410b ./zlib/os2/Makefile.os2 - 99579017b ./zlib/os2/zlib.def -2343974137b ./zlib/README -2789763235b ./zlib/trees.c - 10665304b ./zlib/trees.h -1566688640b ./zlib/uncompr.c -2035162903b ./zlib/zconf.h -3626005175b ./zlib/zlib.3 -3609968891b ./zlib/zlib.h - 191319815b ./zlib/zlib.html - 957671919b ./zlib/zutil.c -4163685086b ./zlib/zutil.h diff --git a/contrib/gcc/.cvsignore b/contrib/gcc/.cvsignore deleted file mode 100644 index 2852f92c40d0..000000000000 --- a/contrib/gcc/.cvsignore +++ /dev/null @@ -1,32 +0,0 @@ -*-all -*-co -*-dirs -*-done -*-install-info -*-src -*-stamp-* -*-tagged -blockit -cfg-paper.info -config.status -configure.aux -configure.cp -configure.cps -configure.dvi -configure.fn -configure.fns -configure.ky -configure.kys -configure.log -configure.pg -configure.pgs -configure.toc -configure.tp -configure.tps -configure.vr -configure.vrs -Makefile -dir.info -lost+found -update.out -LAST_UPDATED diff --git a/contrib/gcc/BUGS b/contrib/gcc/BUGS deleted file mode 100644 index d58a2296888a..000000000000 --- a/contrib/gcc/BUGS +++ /dev/null @@ -1,594 +0,0 @@ - - GCC Bugs - - The latest version of this document is always available at - [1]http://www.gnu.org/software/gcc/bugs.html. - _________________________________________________________________ - -Table of Contents - - * [2]Reporting Bugs - + [3]What we need - + [4]What we DON'T want - + [5]Where to post it - + [6]Detailed bug reporting instructions - + [7]Detailed bug reporting instructions for GNAT - * [8]Managing Bugs (GNATS and the test-suite) - * [9]Frequently Reported Bugs in GCC - + [10]General - + [11]Fortran - + [12]C - + [13]C++ - o [14]Common problems updating from G++ 2.95 to G++ 3.0 - o [15]Non-bugs - o [16]Missing features - o [17]Parse errors for "simple" code - o [18]Optimization at -O3 takes a very long time - _________________________________________________________________ - - Reporting Bugs - - Our preferred way of receiving bugs is via the [19]GCC GNATS bug - reporting system. - - Before you report a bug, please check the [20]list of well-known bugs - and, if possible in any way, try a current development snapshot. If - you want to report a bug with versions of GCC before 3.1 we strongly - recommend upgrading to the current release first. - - Before reporting that GCC compiles your code incorrectly, please - compile it with gcc -Wall and see whether this shows anything wrong - with your code that could be the cause instead of a bug in GCC. - -Summarized bug reporting instructions - - After this summary, you'll find detailed bug reporting instructions, - that explain how to obtain some of the information requested in this - summary. - - What we need - - Please include in your bug report all of the following items, the - first three of which can be obtained from the output of gcc -v: - * the exact version of GCC; - * the system type; - * the options given when GCC was configured/built; - * the complete command line that triggers the bug; - * the compiler output (error messages, warnings, etc.); and - * the preprocessed file (*.i*) that triggers the bug, generated by - adding -save-temps to the complete compilation command, or, in the - case of a bug report for the GNAT front end, a complete set of - source files (see below). - - What we do not want - - * A source file that #includes header files that are left out of the - bug report (see above) - * That source file and a collection of header files. - * An attached archive (tar, zip, shar, whatever) containing all (or - some :-) of the above. - * A code snippet that won't cause the compiler to produce the exact - output mentioned in the bug report (e.g., a snippet with just a - few lines around the one that apparently triggers the bug, with - some pieces replaced with ellipses or comments for extra - obfuscation :-) - * The location (URL) of the package that failed to build (we won't - download it, anyway, since you've already given us what we need to - duplicate the bug, haven't you? :-) - * An error that occurs only some of the times a certain file is - compiled, such that retrying a sufficient number of times results - in a successful compilation; this is a symptom of a hardware - problem, not of a compiler bug (sorry) - * E-mail messages that complement previous, incomplete bug reports. - Post a new, self-contained, full bug report instead, if possible - as a follow-up to the original bug report - * Assembly files (*.s) produced by the compiler, or any binary - files, such as object files, executables or core files - * Duplicate bug reports, or reports of bugs already fixed in the - development tree, especially those that have already been reported - as fixed last week :-) - * Bugs in the assembler, the linker or the C library. These are - separate projects, with separate mailing lists and different bug - reporting procedures - * Bugs in releases or snapshots of GCC not issued by the GNU - Project. Report them to whoever provided you with the release - * Questions about the correctness or the expected behavior of - certain constructs that are not GCC extensions. Ask them in forums - dedicated to the discussion of the programming language - - Where to post it - - Please submit your bug report directly to the [21]GCC GNATS bug - database. Only if this is not possible, mail all information to - [22]bug-gcc@gnu.org or [23]gcc-bugs@gcc.gnu.org. - - The GCC lists have message size limits (200 kbytes) and bug reports - over those limits will currently be bounced. If your bug is larger - than that, please post it using the [24]GCC GNATS bug database. - -Detailed bug reporting instructions - - Please refer to the [25]next section when reporting bugs in GNAT, the - Ada compiler. - - In general, all the information we need can be obtained by collecting - the command line below, as well as its output and the preprocessed - file it generates. - - gcc -v -save-temps all-your-options source-file - - Typically the preprocessed file (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 or compress (in - decreasing order of preference). Use maximum compression (-9) if - available. Please include the compressed preprocessor output in your - bug report, even if the source code is freely available elsewhere; it - makes the job of our volunteer testers much easier. - - The only excuses to not send us the preprocessed sources are (i) if - you've found a bug in the preprocessor, or (ii) if you've reduced the - testcase to a small file that doesn't include any other file. If you - can't post the preprocessed sources because they're proprietary code, - then try to create a small file that triggers the same problem. - - Since we're supposed to be able to re-create the assembly output - (extension .s), you usually should not 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. - - Please avoid posting an archive (.tar, .shar or .zip); we generally - need just a single file to reproduce the bug (the .i/.ii preprocessed - file), and, by storing it in an archive, you're just making our - volunteers' jobs harder. Only when your bug report requires multiple - source files to be reproduced should you use an archive. In any case, - make sure the compiler version, error message, etc, are included in - the body of your bug report as plain text, even if needlessly - duplicated as part of an archive. - - 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, - so try to get it right on the first posting :-). In this case, please - post the additional information to the bug reporting mailing list, not - just to the person who requested it, unless explicitly told so. If - possible, please include in this follow-up all the information you had - supplied in the incomplete bug report (including the preprocessor - output), so that the new bug report is self-contained. - -Detailed bug reporting instructions for GNAT - - See the [26]previous section for bug reporting instructions for GCC - language implementations other than Ada. - - Bug reports have to contain at least the following information in - order to be useful: - * the exact version of GCC, as shown by "gcc -v"; - * the system type; - * the options when GCC was configured/built; - * the exact command line passed to the gcc program triggering the - bug (not just the flags passed to gnatmake, but gnatmake prints - the parameters it passed to gcc) - * a collection of source files for reproducing the bug, preferably a - minimal set (see below); - * a description of the expected behavior; - * a description of actual behavior. - - If your code depends on additional source files (usually package - specifications), submit the source code for these compilation units in - a single file that is acceptable input to gnatchop, i.e. contains no - non-Ada text. If the compilation terminated normally, you can usually - obtain a list of dependencies using the "gnatls -d main_unit" command, - where main_unit is the file name of the main compilation unit (which - is also passed to gcc). - - If you report a bug which causes the compiler to print a bug box, - include that bug box in your report, and do not forget to send all the - source files listed after the bug box along with your report. - - If you use gnatprep, be sure to send in preprocessed sources (unless - you have to report a bug in gnatprep). - - When you have checked that your report meets these criteria, please - submit it accoding to our [27]generic instructions. (If you use a - mailing list for reporting, please include an "[Ada]" tag in the - subject.) - - Managing Bugs (GNATS and the test-suite) - - This section contains information mostly intended for GCC - contributors. - - If you find a bug, but you are not fixing it (yet): - 1. Create a (minimal) test-case. - 2. Add the test-case to our test-suite, marking it as XFAIL unless - the bug is a regression. - 3. Add a bug report referencing the test-case to GNATS. - - If you fix a bug for which there is already a GNATS entry: - 1. Remove the XFAIL on the test-case. - 2. Close the bug report in GNATS. - - If you find a bug, and you are fixing it right then: - 1. Create a (minimal) test-case. - 2. Add the test-case to our test-suite, marking it as PASS. - 3. Check in your fixes. - _________________________________________________________________ - - Frequently Reported Bugs in GCC - -Fortran - - Fortran bugs are documented in the G77 manual rather than explicitly - listed here. Please see [28]Known Causes of Trouble with GNU Fortran - in the G77 manual. - _________________________________________________________________ - -C - - The following are not bugs in the C compiler, but are reported often - enough to warrant a mention here. - - Cannot initialize a static variable with stdin. - This has nothing to do with GCC, but people ask us about it a - lot. Code like this: - -#include <stdio.h> - -FILE *yyin = stdin; - - will not compile with GNU libc (GNU/Linux libc6), because stdin - is not a constant. This was done deliberately, to make it - easier to maintain binary compatibility when the type FILE - needs to be changed. 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; please check the [29]GNU libc web pages for - details. - - Cannot use preprocessor directive in macro arguments. - Let me guess... you wrote code that looks something like this: - - memcpy(dest, src, -#ifdef PLATFORM1 - 12 -#else - 24 -#endif - ); - - and you got a whole pile of error messages: - - test.c:11: warning: preprocessing directive not recognized within - macro arg - test.c:11: warning: preprocessing directive not recognized within - macro arg - test.c:11: warning: preprocessing directive not recognized within - macro arg - test.c: In function `foo': - test.c:6: undefined or invalid # directive - test.c:8: undefined or invalid # directive - test.c:9: parse error before `24' - test.c:10: undefined or invalid # directive - test.c:11: parse error before `#' - - Update: As of GCC 3.2 this kind of construct is always accepted - and CPP will probably do what you expect, but see the manual - for detailed semantics. - - However, versions of GCC prior to 3.2 did not allow you 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 - would not compile. - - This kind of code is not portable. It is "undefined behavior" - according to the C standard; that means different compilers - will do different things with it. 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 - memcpy(dest, src, 12); -#else - memcpy(dest, src, 24); -#endif - - This is a bit more typing, but I personally think it's better - style in addition to being more portable. - - In recent versions of glibc, printf is among the functions - which are implemented as macros. - _________________________________________________________________ - -C++ - - This is the list of bugs (and non-bugs) in g++ (aka GNU C++) that are - reported very often, but not yet fixed. While it is certainly better - to fix bugs instead of documenting them, this document might save - people the effort of writing a bug report when the bug is already - well-known. [30]How to report bugs tells you how to report a bug. - - There are many reasons why reported bugs don't get fixed. It might be - difficult to fix, or fixing it might break compatibility. Often, - reports get a low priority when there is a simple work-around. In - particular, bugs caused by invalid C++ code have a simple work-around, - fix the code. Now that there is an agreed ISO/ANSI standard for C++, - the compiler has a definitive document to adhere to. Earlier versions - might have accepted source code that is no longer C++. This means that - code which might have `worked' in a previous version, is now rejected. - You should update your code to be C++. - - You should try to use the latest stable release of the GNU C++ - compiler. - - Common problems updating from G++ 2.95 to G++ 3.0 - - G++ 3.0 conforms much closer to the ISO C++ standard (available at - [31]http://www.ncits.org/cplusplus.htm). - - We have also implemented some of the core and library defect reports - (available at - [32]http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html & - [33]http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html - respectively). - * The ABI has changed. This means that both class layout and name - mangling is different. You must recompile all c++ libraries (if - you don't you will get link errors). - * The standard library is much more conformant, and uses the std:: - namespace. - * std:: is now a real namespace, not an alias for ::. - * The standard header files for the c library don't end with .h, but - begin with c (i.e. <cstdlib> rather than <stdlib.h>). The .h names - are still available, but are deprecated. - * <strstream> is deprecated, use <sstream> instead. - * streambuf::seekoff & streambuf::seekpos are private, instead use - streambuf::pubseekoff & streambuf::pubseekpos respectively. - * If std::operator << (std::ostream &, long long) doesn't exist, you - need to recompile libstdc++ with --enable-long-long. - - This means you may get lots of errors about things like strcmp not - being found. You've most likely forgotton to tell the compiler to look - in the std:: namespace. There are several ways to do this, - * Say, std::strcmp at the call. This is the most explicit way of - saying what you mean. - * Say, using std::strcmp; somewhere before the call. You will need - to do this for each function or type you wish to use from the - standard library. - * Say, using namespace std; somewhere before the call. This is the - quick-but-dirty fix. This brings the whole of the std:: namespace - into scope. Never do this in a header file, as you will be forcing - users of your header file to do the same. - - ABI bugs - - 3.0 had a new ABI, which affected class layout, function mangling and - calling conventions. We had intended it to be complete, unfortunately - some issues came to light, too late to fix in the 3.0 series. The ABI - should not change in dot releases, so we addressed most issues in GCC - 3.1. - - Covariant return types - We do not implement non-trivial covariant returns. We also - generate incorrect virtual function tables for trivial - covariance. Although trivial covariance will work, it is - incompatible with the ABI. GNATS PR 3706 tracks this problem. - - Non-bugs - - Here are some features that have been reported as bugs, but are not. - - Nested classes can access private types of the containing class. - G++ now implements type access control on member types. Defect - report 45 clarifies that nested classes are members of the - class they are nested in, and so are granted access to private - members of that class. - - Classes in exception specifiers must be complete types. - [15.4]/1 tells you that you cannot have an incomplete type, or - pointer to incomplete (other than cv void *) in an exception - specification. - - G++ emits two copies of constructors and destructors. - In general there are three types of constructors (and - destructors). - - 1. The complete object constructor/destructor. - 2. The base object constructor/destructor. - 3. The allocating destructor/deallocating destructor. - - The first two are different, when virtual base classes are - involved. In some cases we can do better, and this is logged in - GNATS. - - Exceptions don't work in multithreaded applications. - You need to rebuild g++ and libstdc++ with --enable-threads. - Remember, c++ exceptions are not like hardware interrupts. You - cannot throw an exception in one thread and catch it in - another. You cannot throw an exception from a signal handler, - and catch it in the main thread. - - Global destructors are not run in the correct order. - Global destructors should be run in the reverse order of their - constructors completing. In most cases this is the same as the - reverse order of constructors starting, but sometimes it is - different, and that is important. You need to compile and link - your programs with --use-cxa-atexit. We have not turned this - switch on by default, as it requires a cxa aware runtime - library (libc, glibc, or equivalent). - - Problems with floating point computations. - In a number of cases, GCC appears to perform floating point - computations incorrectly. For example, the program - - #include <iostream> - int main() { - double min = 0.0; - double max = 0.5; - double width = 0.01; - std::cout << (int)(((max - min) / width) - 1) << std::endl; - } - - might print 50 on some systems and optimization levels, and 51 - on others. - - The is the result of rounding: The computer cannot represent - all real numbers exactly, so it has to use approximations. When - computing with approximation, the computer needs to round to - the nearest representable number. - - This is not a bug in the compiler, but an inherent limitation - of the float and double types. Please study [34]this paper for - more information. - - Templates, scoping, and digraphs. - If you have a class in global namespace, say named X, and want - to give it as a template argument to some other class, say - std::vector, then this here fails with a parser error: - std::vector<::X>. - - The reason is that the standard mandates that the sequence <: - is treated as if it were the token [, and the parser then - reports a parse error before the character : (by which it means - the second colon). There are several such combinations of - characters, and they are called digraphs. - - The simplest way to avoid this is to write std::vector< ::X>, - i.e. place a space between the opening angle bracket and the - scope operator. - - Missing features - - We know some things are missing from G++. - - The export keyword is not implemented. - Most C++ compilers (G++ included) do not yet implement export, - which is necessary for separate compilation of template - declarations and definitions. Without export, a template - definition must be in scope to be used. The obvious workaround - is simply to place all definitions in the header itself. - Alternatively, the compilation unit containing template - definitions may be included from the header. - - Two stage lookup in templates is not implemented. - [14.6] specifies how names are looked up inside a template. G++ - does not do this correctly, but for most templates this will - not be noticeable. - - Parse errors for "simple" code - - Up to and including GCC 3.0, the compiler will give "parse error" for - seemingly simple code, such as -struct A{ - A(); - A(int); - void func(); -}; - -struct B{ - B(A); - B(A,A); - void func(); -}; - -void foo(){ - B b(A(),A(1)); //Variable b, initialized with two temporaries - B(A(2)).func(); //B temporary, initialized with A temporary -} - - The problem is that GCC starts to parse the declaration of b as a - function b returning B, taking a function returning A as an argument. - When it sees the 1, it is too late. The work-around in these cases is - to add additional parentheses around the expressions that are mistaken - as declarations: - (B(A(2))).func(); - - Sometimes, even that is not enough; to show the compiler that this - should be really an expression, a comma operator with a dummy argument - can be used: - B b((0,A()),A(1)); - - Another example is the parse error for the return statement in -struct A{}; - -struct B{ - A a; - A f1(bool); -}; - -A B::f1(bool b) -{ - if (b) - return (A()); - return a; -} - - The problem is that the compiler interprets A() as a function (taking - no arguments, returning A), and (A()) as a cast - with a missing - expression, hence the parse error. The work-around is to omit the - parentheses: - if (b) - return A(); - - This problem occurs in a number of variants; in throw statements, - people also frequently put the object in parentheses. The exact error - also somewhat varies with the compiler version. The work-arounds - proposed do not change the semantics of the program at all; they make - them perhaps less readable. - - Optimization at -O3 takes a very long time - - At -O3, all functions are candidates for inlining. The heuristic used - has some deficiencies which show up when allowed such freedom. This is - g++ specific, as it has an earlier inliner than gcc. - -References - - 1. http://www.gnu.org/software/gcc/bugs.html - 2. http://gcc.gnu.org/bugs.html#report - 3. http://gcc.gnu.org/bugs.html#need - 4. http://gcc.gnu.org/bugs.html#dontwant - 5. http://gcc.gnu.org/bugs.html#where - 6. http://gcc.gnu.org/bugs.html#detailed - 7. http://gcc.gnu.org/bugs.html#gnat - 8. http://gcc.gnu.org/bugs.html#manage - 9. http://gcc.gnu.org/bugs.html#known - 10. http://gcc.gnu.org/bugs.html#general - 11. http://gcc.gnu.org/bugs.html#fortran - 12. http://gcc.gnu.org/bugs.html#c - 13. http://gcc.gnu.org/bugs.html#cplusplus - 14. http://gcc.gnu.org/bugs.html#updating - 15. http://gcc.gnu.org/bugs.html#nonbugs - 16. http://gcc.gnu.org/bugs.html#missing - 17. http://gcc.gnu.org/bugs.html#parsing - 18. http://gcc.gnu.org/bugs.html#-O3 - 19. http://gcc.gnu.org/gnats.html - 20. http://gcc.gnu.org/bugs.html#known - 21. http://gcc.gnu.org/gnats.html - 22. mailto:bug-gcc@gnu.org - 23. mailto:gcc-bugs@gcc.gnu.org - 24. http://gcc.gnu.org/gnats.html - 25. http://gcc.gnu.org/bugs.html#gnat - 26. http://gcc.gnu.org/bugs.html#detailed - 27. http://gcc.gnu.org/bugs.html#where - 28. http://gcc.gnu.org/onlinedocs/g77/Trouble.html - 29. http://www.gnu.org/software/glibc/ - 30. http://gcc.gnu.org/bugs.html#report - 31. http://www.ncits.org/cplusplus.htm - 32. http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html - 33. http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html - 34. http://www.validlab.com/goldberg/paper.ps diff --git a/contrib/gcc/NEWS b/contrib/gcc/NEWS deleted file mode 100644 index 3c7aeeb31d33..000000000000 --- a/contrib/gcc/NEWS +++ /dev/null @@ -1,2446 +0,0 @@ -This file contains information about GCC releases which has been generated -automatically from the online release notes. It 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-3.2/index.html - - GCC 3.2 - - November 19, 2002 - - The [1]GNU project and the GCC developers are pleased to announce the - release of GCC 3.2.1. - - The links below still apply to GCC 3.2.1. - - August 14, 2002 - - The [2]GNU project and the GCC developers are pleased to announce the - release of GCC 3.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. - - A list of [3]successful builds is updated as new information becomes - available. - - The GCC developers would like to thank the numerous people that have - contributed [4]new features, improvements, bug fixes, and other - changes as well as test results to GCC. This [5]amazing group of - volunteers is what makes GCC successful. - - For additional information about GCC please refer to the [6]GCC - project web site or contact the [7]GCC development mailing list. - - To obtain GCC please use [8]our mirror sites, one of the [9]GNU mirror - sites, or [10]our CVS server. - _________________________________________________________________ - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org. There - are also [12]other ways to contact the FSF. - - These pages are maintained by [13]The GCC team. - - - Please send comments on these web pages and GCC to our public - mailing list at [14]gcc@gnu.org or [15]gcc@gcc.gnu.org, send other - questions to [16]gnu@gnu.org. - - Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite - 330, Boston, MA 02111, USA. - - Verbatim copying and distribution of this entire article is permitted - in any medium, provided this notice is preserved. - - Last modified 2002-11-18 [17]Valid XHTML 1.0 - -References - - 1. http://www.gnu.org/ - 2. http://www.gnu.org/ - 3. http://gcc.gnu.org/gcc-3.2/buildstat.html - 4. http://gcc.gnu.org/gcc-3.2/changes.html - 5. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html - 6. http://gcc.gnu.org/index.html - 7. mailto:gcc@gcc.gnu.org - 8. http://gcc.gnu.org/mirrors.html - 9. http://www.gnu.org/order/ftp.html - 10. http://gcc.gnu.org/cvs.html - 11. mailto:gnu@gnu.org - 12. http://www.gnu.org/home.html#ContactInfo - 13. http://gcc.gnu.org/about.html - 14. mailto:gcc@gnu.org - 15. mailto:gcc@gcc.gnu.org - 16. mailto:gnu@gnu.org - 17. http://validator.w3.org/check/referer -====================================================================== -http://gcc.gnu.org/gcc-3.2/changes.html - - Changes in GCC 3.2.1 - -C/C++/Objective-C - - * The method of constructing the list of directories to be searched - for header files has been revised. If a directory named by a -I - option is a standard system include directory, the option is - ignored to ensure that the default search order for system - directories and the special treatment of system header files are - not defeated. - * The C and Objective-C compilers no longer accept the "Naming - Types" extension (typedef foo = bar); it was already unavailable - in C++. Code which uses it will need to be changed to use the - "typeof" extension instead: typedef typeof(bar) foo. (We have - removed this extension without a period of deprecation because it - has caused the compiler to crash since version 3.0 and no one - noticed until very recently. Thus we conclude it is not in - widespread use.) - -New Targets and Target Specific Improvements - - IA-32 - - * Fixed a number of bugs in SSE and MMX intrinsics. - * Fixed common compiler crashes with SSE instruction set enabled - (implied by -march=pentium3, pentium4, athlon-xp) - * __m128 and __m128i is not 128bit aligned when used in structures. - - x86-64 - - * A bug whereby the compiler could generate bad code for bzero has - been fixed. - * ABI fixes (implying ABI incompatibilities with previous version in - some corner cases) - * Fixed prefetch code generation - -Bug Fixes - - See [1]this message for a list of bugs fixed in this release. - - Changes in GCC 3.2 - -Bug Fixes - - See [2]this message for a list of bugs fixed in this release. - -Caveats - - * The C++ compiler does not correctly zero-initialize - pointers-to-data members. You must explicitly initialize them. For - example: - int S::*m(0); - - will work, but depending on default-initialization to zero will - not work. This bug cannot be fixed in GCC 3.2 without inducing - unacceptable risks. It will be fixed in GCC 3.3. - * This GCC release is based on the GCC 3.1 sourcebase, and thus has - all the [3]changes in the GCC 3.1 series. In addition, GCC 3.2 has - a number of C++ ABI fixes which make its C++ compiler generate - binary code which is incompatible with the C++ compilers found in - earlier GCC releases, including GCC 3.1 and GCC 3.1.1. - -New Languages and Language specific improvements - - C++ - - * There are now no known differences between the C++ ABI implemented - in GCC and the multi-vendor standard. We believe that the ABI for - the C++ standard library is now stable and will not change in - future versions of the compiler. However, hard experience has - taught us to be cautious; it is possible that more problems will - be found. It is our intention to make changes to the ABI only if - they are necessary for correct compilation of C++, as opposed to - conformance to the ABI documents. - * For details on how to build an ABI compliant compiler for - GNU/Linux systems, check the [4]common C++ ABI page. - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [5]gnu@gnu.org. There - are also [6]other ways to contact the FSF. - - These pages are maintained by [7]The GCC team. - - - Please send comments on these web pages and GCC to our public - mailing list at [8]gcc@gnu.org or [9]gcc@gcc.gnu.org, send other - questions to [10]gnu@gnu.org. - - Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite - 330, Boston, MA 02111, USA. - - Verbatim copying and distribution of this entire article is permitted - in any medium, provided this notice is preserved. - - Last modified 2002-11-18 [11]Valid XHTML 1.0 - -References - - 1. http://gcc.gnu.org/ml/gcc/2002-11/msg00445.html - 2. http://gcc.gnu.org/ml/gcc/2002-08/msg00405.html - 3. http://gcc.gnu.org/gcc-3.1/changes.html - 4. http://gcc.gnu.org/gcc-3.2/c++-abi.html - 5. mailto:gnu@gnu.org - 6. http://www.gnu.org/home.html#ContactInfo - 7. http://gcc.gnu.org/about.html - 8. mailto:gcc@gnu.org - 9. mailto:gcc@gcc.gnu.org - 10. mailto:gnu@gnu.org - 11. http://validator.w3.org/check/referer -====================================================================== -http://gcc.gnu.org/gcc-3.1/index.html - - GCC 3.1 - - July 27, 2002 - - The [1]GNU project and the GCC developers are pleased to announce the - release of GCC 3.1.1. - - The links below still apply to GCC 3.1.1. - - May 15, 2002 - - The [2]GNU project and the GCC developers are pleased to announce the - release of GCC 3.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. - - A list of [3]successful builds is updated as new information becomes - available. - - The GCC developers would like to thank the numerous people that have - contributed [4]new features, improvements, bug fixes, and other - changes as well as test results to GCC. This [5]amazing group of - volunteers is what makes GCC successful. - - For additional information about GCC please refer to the [6]GCC - project web site or contact the [7]GCC development mailing list. - - To obtain GCC please use [8]our mirror sites, one of the [9]GNU mirror - sites, or [10]our CVS server. - _________________________________________________________________ - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org. There - are also [12]other ways to contact the FSF. - - These pages are maintained by [13]The GCC team. - - - Please send comments on these web pages and GCC to our public - mailing list at [14]gcc@gnu.org or [15]gcc@gcc.gnu.org, send other - questions to [16]gnu@gnu.org. - - Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite - 330, Boston, MA 02111, USA. - - Verbatim copying and distribution of this entire article is permitted - in any medium, provided this notice is preserved. - - Last modified 2002-11-11 [17]Valid XHTML 1.0 - -References - - 1. http://www.gnu.org/ - 2. http://www.gnu.org/ - 3. http://gcc.gnu.org/gcc-3.1/buildstat.html - 4. http://gcc.gnu.org/gcc-3.1/changes.html - 5. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html - 6. http://gcc.gnu.org/index.html - 7. mailto:gcc@gcc.gnu.org - 8. http://gcc.gnu.org/mirrors.html - 9. http://www.gnu.org/order/ftp.html - 10. http://gcc.gnu.org/cvs.html - 11. mailto:gnu@gnu.org - 12. http://www.gnu.org/home.html#ContactInfo - 13. http://gcc.gnu.org/about.html - 14. mailto:gcc@gnu.org - 15. mailto:gcc@gcc.gnu.org - 16. mailto:gnu@gnu.org - 17. http://validator.w3.org/check/referer -====================================================================== -http://gcc.gnu.org/gcc-3.1/changes.html - - GCC 3.1 Changes, New Features, and Fixes - -Additional changes in GCC 3.1.1 - - * A bug related to how structures and unions are returned has been - fixed for powerpc-*-netbsd*. - * An important bug in the implementation of -fprefetch-loop-arrays - has been fixed. Previously the optimization prefetched random - blocks of memory for most targets except for i386. - * The Java compiler now compiles Java programs much faster and also - works with parallel make. - * Nested functions have been fixed for mips*-*-netbsd*. - * Some missing floating point support routines have beed added for - mips*-*-netbsd*. - * This [1]message gives additional information about the bugs fixed - in this release. - -Caveats - - * The -traditional C compiler option has been deprecated and will be - removed in GCC 3.3. (It remains possible to preprocess non-C code - with the traditional preprocessor.) - * The default debugging format for most ELF platforms (including - GNU/Linux and FreeBSD; notable exception is Solaris) has changed - from stabs to DWARF2. This requires GDB 5.1.1 or later. - -General Optimizer Improvements - - * Jan Hubicka, SuSE Labs, together with Richard Henderson, Red Hat, - and Andreas Jaeger, SuSE Labs, has contributed [2]infrastructure - for profile driven optimizations. - Options -fprofile-arcs and -fbranch-probabilities can now be used - to improve speed of the generated code by profiling the actual - program behaviour on typical runs. In the absence of profile info - the compiler attempts to guess the profile statically. - * [3]SPEC2000 and [4]SPEC95 benchmark suites are now used daily to - monitor performance of the generated code. - According to the SPECInt2000 results on an AMD Athlon CPU, the - code generated by GCC 3.1 is 6% faster on the average (8.2% faster - with profile feedback) compared to GCC 3.0. The code produced by - GCC 3.0 is about 2.1% faster compared to 2.95.3. Tests were done - using the -O2 -march=athlon command-line options. - * Alexandre Oliva, of [5]Red Hat, has generalized the tree inlining - infrastructure developed by [6]CodeSourcery, LLC for the C++ front - end, so that it is now used in the C front end too. Inlining - functions as trees exposes them earlier to the compiler, giving it - more opportunities for optimization. - * Support for data prefetching instructions has been added to the - GCC back end and several targets. A new __builtin_prefetch - intrinsic is available to explicitly insert prefetch instructions - and experimental support for loop array prefetching has been added - (see -fprefetch-loop-array documentation). - * Support for emitting debugging information for macros has been - added for DWARF2. It is activated using -g3. - -New Languages and Language specific improvements - - C/C++ - - * A few more [7]ISO C99 features. - * The preprocessor is 10-50% faster than the preprocessor in GCC - 3.0. - * The preprocessor's symbol table has been merged with the symbol - table of the C, C++ and Objective-C front ends. - * The preprocessor consumes less memory than the preprocessor in GCC - 3.0, often significantly so. On normal input files, it typically - consumes less memory than pre-3.0 cccp-based GCC, too. - - C++ - - * -fhonor-std and -fno-honor-std have been removed. -fno-honor-std - was a workaround to allow std compliant code to work with the - non-std compliant libstdc++-v2. libstdc++-v3 is std compliant. - * The C++ ABI has been fixed so that void (A::*)() const is mangled - as "M1AKFvvE", rather than "MK1AFvvE" as before. This change only - affects pointer to cv-qualified member function types. - * The C++ ABI has been changed to correctly handle this code: - struct A { - void operator delete[] (void *, size_t); - }; - - struct B : public A { - }; - - new B[10]; - - The amount of storage allocated for the array will be greater than - it was in 3.0, in order to store the number of elements in the - array, so that the correct size can be passed to operator delete[] - when the array is deleted. Previously, the value passed to - operator delete[] was unpredictable. - This change will only affect code that declares a two-argument - operator delete[] with a second parameter of type size_t in a base - class, and does not override that definition in a derived class. - * The C++ ABI has been changed so that: - struct A { - void operator delete[] (void *, size_t); - void operator delete[] (void *); - }; - - does not cause unnecessary storage to be allocated when an array - of A objects is allocated. - This change will only affect code that declares both of these - forms of operator delete[], and declared the two-argument form - before the one-argument form. - * The C++ ABI has been changed so that when a parameter is passed by - value, any cleanup for that parameter is performed in the caller, - as specified by the ia64 C++ ABI, rather than the called function - as before. As a result, classes with a non-trivial destructor but - a trivial copy constructor will be passed and returned by - invisible reference, rather than by bitwise copy as before. - * G++ now supports the "named return value optimization": for code - like - A f () { - A a; - ... - return a; - } - - G++ will allocate a in the return value slot, so that the return - becomes a no-op. For this to work, all return statements in the - function must return the same variable. - * Improvements to the C++ library are listed in [8]the libstdc++-v3 - FAQ. - - Objective-C - - * Annoying linker warnings (due to incorrect code being generated) - have been fixed. - * If a class method cannot be found, the compiler no longer issues a - warning if a corresponding instance method exists in the root - class. - * Forward @protocol declarations have been fixed. - * Loading of categories has been fixed in certain situations (GNU - run time only). - * The class lookup in the run-time library has been rewritten so - that class method dispatch is more than twice as fast as it used - to be (GNU run time only). - - Java - - * libgcj now includes RMI, java.lang.ref.*, javax.naming, and - javax.transaction. - * Property files and other system resources can be compiled into - executables which use libgcj using the new gcj --resource feature. - * libgcj has been ported to more platforms. In particular there is - now a mostly-functional mingw32 (Windows) target port. - * JNI and CNI invocation interfaces were implemented, so - gcj-compiled Java code can now be called from a C/C++ application. - * gcj can now use builtin functions for certain known methods, for - instance Math.cos. - * gcj can now automatically remove redundant array-store checks in - some common cases. - * The --no-store-checks optimization option was added. This can be - used to omit runtime store checks for code which is known not to - throw ArrayStoreException - * The following third party interface standards were added to - libgcj: org.w3c.dom and org.xml.sax. - * java.security has been merged with GNU Classpath. The new package - is now JDK 1.2 compliant, and much more complete. - * A bytecode verifier was added to the libgcj interpreter. - * java.lang.Character was rewritten to comply with the Unicode 3.0 - standard, and improve performance. - * Partial support for many more locales was added to libgcj. - * Socket timeouts have been implemented. - * libgcj has been merged into a single shared library. There are no - longer separate shared libraries for the garbage collector and - zlib. - * Several performance improvements were made to gcj and libgcj: - + Hash synchronization (thin locks) - + A special allocation path for finalizer-free objects - + Thread-local allocation - + Parallel GC, and other GC tweaks - - Fortran - - Fortran improvements are listed in [9]the Fortran documentation. - - Ada - - [10]Ada Core Technologies, Inc, has contributed its GNAT Ada 95 front - end and associated tools. The GNAT compiler fully implements the Ada - language as defined by the ISO/IEC 8652 standard. - - Please note that the integration of the Ada front end is still work in - progress. - -New Targets and Target Specific Improvements - - * Hans-Peter Nilsson has contributed a port to [11]MMIX, the CPU - architecture used in new editions of Donald E. Knuth's The Art of - Computer Programming. - * [12]Axis Communications has contributed its port to the CRIS CPU - architecture, used in the ETRAX system-on-a-chip series. See - [13]Axis' developer site for technical information. - * Alexandre Oliva, of [14]Red Hat, has contributed a port to the - [15]SuperH SH5 64-bit RISC microprocessor architecture, extending - the existing SH port. - * UltraSPARC is fully supported in 64-bit mode. The option -m64 - enables it. - * For compatibility with the Sun compiler #pragma redefine_extname - has been implemented on Solaris. - * The x86 back end has had some noticeable work done to it. - + [16]SuSE Labs developers Jan Hubicka, Bo Thorsen and Andreas - Jaeger have contributed a port to the AMD x86-64 - architecture. For more information on x86-64 see - [17]http://www.x86-64.org. - + The compiler now supports MMX, 3DNow!, SSE, and SSE2 - instructions. Options -mmmx, -m3dnow, -msse, and -msse2 will - enable the respective instruction sets. Intel C++ compatible - MMX/3DNow!/SSE intrinsics are implemented. SSE2 intrinsics - will be added in next major release. - + Following those improvements, targets for Pentium MMX, K6-2, - K6-3, Pentium III, Pentium 4, and Athlon 4 Mobile/XP/MP were - added. Refer to the documentation on -march= and -mcpu= - options for details. - + For those targets that support it, -mfpmath=sse will cause - the compiler to generate SSE/SSE2 instructions for floating - point math instead of x87 instructions. Usually, this will - lead to quicker code -- especially on the Pentium 4. Note - that only scalar floating point instructions are used and GCC - does not exploit SIMD features yet. - + Prefetch support has been added to the Pentium III, Pentium - 4, K6-2, K6-3, and Athlon series. - + Code generated for floating point to integer converisons has - been improved leading to better performance of many 3D - applications. - * The PowerPC back end has added 64-bit PowerPC GNU/Linux support. - * C++ support for AIX has been improved. - * Aldy Hernandez, of [18]Red Hat, Inc has contributed extensions to - the PowerPC port supporting the AltiVec programming model (SIMD). - The support, though presently useful, is experimental and is - expected to stabilize for 3.2. The support is written to conform - to Motorola's AltiVec specs. See -maltivec. - -Obsolete Systems - - Support for a number of older systems has been declared obsolete in - GCC 3.1. Unless there is activity to revive them, the next release of - GCC will have their sources permanently removed. - - All configurations of the following processor architectures have been - declared obsolete: - * MIL-STD-1750A, 1750a-*-* - * AMD A29k, a29k-*-* - * Convex, c*-convex-* - * Clipper, clipper-*-* - * Elxsi, elxsi-*-* - * Intel i860, i860-*-* - * Sun picoJava, pj-*-* and pjl-*-* - * Western Electric 32000, we32k-*-* - - Most configurations of the following processor architectures have been - declared obsolete, but we are preserving a few systems which may have - active developers. It is unlikely that the remaining systems will - survive much longer unless we see definite signs of port activity. - * Motorola 88000 except - + Generic a.out, m88k-*-aout* - + Generic SVR4, m88k-*-sysv4 - + OpenBSD, m88k-*-openbsd* - * NS32k except - + NetBSD, ns32k-*-netbsd* - + OpenBSD, ns32k-*-openbsd*. - * ROMP except - + OpenBSD, romp-*-openbsd*. - - Finally, only some configurations of these processor architectures are - being obsoleted. - * Alpha: - + OSF/1, alpha*-*-osf[123]*. (Digital Unix and Tru64 Unix, aka - alpha*-*-osf[45], are still supported.) - * ARM: - + RISCiX, arm-*-riscix*. - * i386: - + 386BSD, i?86-*-bsd* - + Chorus, i?86-*-chorusos* - + DG/UX, i?86-*-dgux* - + FreeBSD 1.x, i?86-*-freebsd1.* - + IBM AIX, i?86-*-aix* - + ISC UNIX, i?86-*-isc* - + Linux with pre-BFD linker, i?86-*-linux*oldld* - + NEXTstep, i?86-next-* - + OSF UNIX, i?86-*-osf1* and i?86-*-osfrose* - + RTEMS/coff, i?86-*-rtemscoff* - + RTEMS/go32, i?86-go32-rtems* - + Sequent/BSD, i?86-sequent-bsd* - + Sequent/ptx before version 3, i?86-sequent-ptx[12]* and - i?86-sequent-sysv3* - + SunOS, i?86-*-sunos* - * Motorola 68000: - + Altos, m68[k0]*-altos-* - + Apollo, m68[k0]*-apollo-* - + Apple A/UX, m68[k0]*-apple-* - + Bull, m68[k0]*-bull-* - + Convergent, m68[k0]*-convergent-* - + Generic SVR3, m68[k0]*-*-sysv3* - + ISI, m68[k0]*-isi-* - + LynxOS, m68[k0]*-*-lynxos* - + NEXT, m68[k0]*-next-* - + RTEMS/coff, m68[k0]*-*-rtemscoff* - + Sony, m68[k0]*-sony-* - * MIPS: - + DEC Ultrix, mips-*-ultrix* and mips-dec-* - + Generic BSD, mips-*-bsd* - + Generic System V, mips-*-sysv* - + IRIX before version 5, mips-sgi-irix[1234]* - + RiscOS, mips-*-riscos* - + Sony, mips-sony-* - + Tandem, mips-tandem-* - * SPARC: - + RTEMS/a.out, sparc-*-rtemsaout*. - -Documentation improvements - - * The old manual ("Using and Porting the GNU Compiler Collection") - has been replaced by a users manual ("Using the GNU Compiler - Collection") and a separate internals reference manual ("GNU - Compiler Collection Internals"). - * More complete and much improved documentation about GCC's internal - representation used by the C and C++ front ends. - * Many cleanups and improvements in general. - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [19]gnu@gnu.org. There - are also [20]other ways to contact the FSF. - - These pages are maintained by [21]The GCC team. - - - Please send comments on these web pages and GCC to our public - mailing list at [22]gcc@gnu.org or [23]gcc@gcc.gnu.org, send other - questions to [24]gnu@gnu.org. - - Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite - 330, Boston, MA 02111, USA. - - Verbatim copying and distribution of this entire article is permitted - in any medium, provided this notice is preserved. - - Last modified 2002-11-11 [25]Valid XHTML 1.0 - -References - - 1. http://gcc.gnu.org/ml/gcc/2002-07/msg01208.html - 2. http://gcc.gnu.org/news/profiledriven.html - 3. http://www.suse.de/~aj/SPEC/ - 4. http://people.redhat.com/dnovillo/SPEC/ - 5. http://www.redhat.com/ - 6. http://www.codesourcery.com/ - 7. http://gcc.gnu.org/gcc-3.1/c99status.html - 8. http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html#4_1 - 9. http://gcc.gnu.org/onlinedocs/g77/News.html - 10. http://www.gnat.com/ - 11. http://www-cs-faculty.stanford.edu/~knuth/mmix.html - 12. http://www.axis.com/ - 13. http://developer.axis.com/ - 14. http://www.redhat.com/ - 15. http://www.superh.com/ - 16. http://www.suse.com/ - 17. http://www.x86-64.org/ - 18. http://www.redhat.com/ - 19. mailto:gnu@gnu.org - 20. http://www.gnu.org/home.html#ContactInfo - 21. http://gcc.gnu.org/about.html - 22. mailto:gcc@gnu.org - 23. mailto:gcc@gcc.gnu.org - 24. mailto:gnu@gnu.org - 25. http://validator.w3.org/check/referer -====================================================================== -http://gcc.gnu.org/gcc-3.0/gcc-3.0.html - - GCC 3.0.4 - - February 20, 2002 - - The [1]GNU project and the GCC developers are pleased to announce the - release of GCC 3.0.4, which is a bug-fix release for the GCC 3.0 - series. - - 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. - - GCC 3.0.x has several new optimizations, new targets, new languages - and many other new features, relative to GCC 2.95.x. See the [2]new - features page for a more complete list. - - A list of [3]successful builds is updated 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 - [4]amazing group of volunteers is what makes GCC successful. - - And finally, we can't in good conscience fail to mention some - [5]caveats to using GCC 3.0.x. - - For additional information about GCC please refer to the [6]GCC - project web site or contact the [7]GCC development mailing list. - - To obtain GCC please use [8]our mirror sites, one of the [9]GNU mirror - sites, or [10]our CVS server. - _________________________________________________________________ - -Previous 3.0.x Releases - - December 20, 2001: GCC 3.0.3 has been released. - October 25, 2001: GCC 3.0.2 has been released. - August 20, 2001: GCC 3.0.1 has been released. - June 18, 2001: GCC 3.0 has been released. - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org. There - are also [12]other ways to contact the FSF. - - These pages are maintained by [13]The GCC team. - - - Please send comments on these web pages and GCC to our public - mailing list at [14]gcc@gnu.org or [15]gcc@gcc.gnu.org, send other - questions to [16]gnu@gnu.org. - - Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite - 330, Boston, MA 02111, USA. - - Verbatim copying and distribution of this entire article is permitted - in any medium, provided this notice is preserved. - - Last modified 2002-11-11 [17]Valid XHTML 1.0 - -References - - 1. http://www.gnu.org/ - 2. http://gcc.gnu.org/gcc-3.0/features.html - 3. http://gcc.gnu.org/gcc-3.0/buildstat.html - 4. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html - 5. http://gcc.gnu.org/gcc-3.0/caveats.html - 6. http://gcc.gnu.org/index.html - 7. mailto:gcc@gcc.gnu.org - 8. http://gcc.gnu.org/mirrors.html - 9. http://www.gnu.org/order/ftp.html - 10. http://gcc.gnu.org/cvs.html - 11. mailto:gnu@gnu.org - 12. http://www.gnu.org/home.html#ContactInfo - 13. http://gcc.gnu.org/about.html - 14. mailto:gcc@gnu.org - 15. mailto:gcc@gcc.gnu.org - 16. mailto:gnu@gnu.org - 17. http://validator.w3.org/check/referer -====================================================================== -http://gcc.gnu.org/gcc-3.0/features.html - - GCC 3.0 New Features - -Additional changes in GCC 3.0.4 - - * GCC 3.0 now supports newer versions of the [1]NetBSD operating - system, which use the ELF object file format, on x86 processors. - * Correct debugging information is generated from functions that - have lines from multiple files (e.g. yacc output). - * A fix for whitespace handling in the -traditional preprocessor, - which can affect Fortran. - * Fixes to the exception handling runtime. - * More fixes for bad code generation in C++. - * A fix for shared library generation under AIX 4.3. - * Documentation updates. - * Port of GCC to Tensilica's Xtensa processor contributed. - * A fix for compiling the PPC Linux kernel (FAT fs wouldn't link). - -Additional changes in GCC 3.0.3 - - * A fix to correct an accidental change to the PowerPC ABI. - * Fixes for bad code generation on a variety of architectures. - * Improvements to the debugging information generated for C++ - classes. - * Fixes for bad code generation in C++. - * A fix to avoid crashes in the C++ demangler. - * A fix to the C++ standard library to avoid buffer overflows. - * Miscellaneous improvements for a variety of architectures. - -Additional changes in GCC 3.0.2 - - * Fixes for bad code generation during loop unrolling. - * Fixes for bad code generation by the sibling call optimization. - * Minor improvements to x86 code generation. - * Implemenation of function descriptors in C++ vtables for IA64. - * Numerous minor bug-fixes. - -Additional changes in GCC 3.0.1 - - * C++ fixes for incorrect code-generation. - * Improved cross-compiling support for the C++ standard library. - * Fixes for some embedded targets that worked in GCC 2.95.3, but not - in GCC 3.0. - * Fixes for various exception-handling bugs. - * A port to the S/390 architecture. - -General Optimizer Improvements - - * [2]Basic block reordering pass. - * New if-conversion pass with support for conditional (predicated) - execution. - * New tail call and sibling call elimination optimizations. - * New register renaming pass. - * New (experimental) [3]static single assignment (SSA) - representation support. - * New dead-code elimination pass implemented using the SSA - representation. - * [4]Global null pointer test elimination. - * [5]Global code hoisting/unification. - * More builtins and optimizations for stdio.h, string.h and old BSD - functions, as well as for ISO C99 functions. - * New builtin __builtin_expect for giving hints to the branch - predictor. - -New Languages and Language specific improvements - - * The GNU Compiler for the Java(TM) language (GCJ) is now integrated - and supported, including the run-time library containing most - common non-GUI Java classes, a bytecode interpreter, and the Boehm - conservative garbage collector. Many bugs have been fixed. GCJ can - compile Java source or Java bytecodes to either native code or - Java class files, and supports native methods written in either - the standard JNI or the more efficient and convenient CNI. - * Here is a [6]partial list of C++ improvements, both new features - and those no longer supported. - * New C++ ABI. On the IA-64 platform GCC is capable of - inter-operating with other IA-64 compilers. - * The new ABI also significantly reduces the size of symbol and - debug information. - * New [7]C++ support library and many C++ bug fixes, vastly - improving our conformance to the ISO C++ standard. - * New [8]inliner for C++. - * Rewritten C preprocessor, integrated into the C, C++ and Objective - C compilers, with very many improvements including ISO C99 support - and [9]improvements to dependency generation. - * Support for more [10]ISO C99 features. - * Many improvements to support for checking calls to format - functions such as printf and scanf, including support for ISO C99 - format features, extensions from the Single Unix Specification and - GNU libc 2.2, checking of strfmon formats and features to assist - in auditing for format string security bugs. - * New warnings for C code that may have undefined semantics because - of violations of sequence point rules in the C standard (such as a - = a++;, a[n] = b[n++]; and a[i++] = i;), included in -Wall. - * Additional warning option -Wfloat-equal. - * Improvements to -Wtraditional. - * Fortran improvements are listed in [11]the Fortran documentation. - -New Targets and Target Specific Improvements - - * New x86 back-end, generating much improved code. - * Support for a generic i386-elf target contributed. - * New option to emit x86 assembly code using Intel style syntax - (-mintel-syntax). - * HPUX 11 support contributed. - * Improved PowerPC code generation, including scheduled prologue and - epilogue. - * Port of GCC to Intel's IA-64 processor contributed. - * Port of GCC to Motorola's MCore 210 and 340 contributed. - * New unified back-end for Arm, Thumb and StrongArm contributed. - * Port of GCC to Intel's XScale processor contributed. - * Port of GCC to Atmel's AVR microcontrollers contributed. - * Port of GCC to Mitsubishi's D30V processor contributed. - * Port of GCC to Matsushita's AM33 processor (a member of the - MN10300 processor family) contributed. - * Port of GCC to Fujitsu's FR30 processor contributed. - * Port of GCC to Motorola's 68HC11 and 68HC12 processors - contributed. - * Port of GCC to Sun's picoJava processor core contributed. - -Documentation improvements - - * Substantially rewritten and improved C preprocessor manual. - * Many improvements to other documentation. - * Manpages for gcc, cpp and gcov are now generated automatically - from the master Texinfo manual, eliminating the problem of - manpages being out of date. (The generated manpages are only - extracts from the full manual, which is provided in Texinfo form, - from which info, HTML, other formats and a printed manual can be - generated.) - * Generated info files are included in the release tarballs - alongside their Texinfo sources, avoiding problems on some - platforms with building makeinfo as part of the GCC distribution. - -Other significant improvements - - * Garbage collection used internally by the compiler for most memory - allocation instead of obstacks. - * Lengauer and Tarjan algorithm used for computing dominators in the - CFG. This algorithm can be significantly faster and more space - efficient than our older algorithm. - * gccbug script provided to assist in submitting bug reports to the - GCC GNATS bug tracking database. (Bug reports previously submitted - directly to the GCC mailing lists, for which no GNATS bug tracking - number has been received, should be submitted again to the bug - tracking database using gccbug if you can reproduce the problem - with GCC 3.0.) - * The internal libgcc library is [12]built as a shared library on - systems that support it. - * Extensive testsuite included with GCC, with many new tests. In - addition to tests for GCC bugs that have been fixed, many tests - have been added for language features, compiler warnings and - builtin functions. - * Additional language-independent warning options -Wpacked, - -Wpadded, -Wunreachable-code and -Wdisabled-optimization. - * Target-independent options -falign-functions, -falign-loops and - -falign-jumps. - - Plus a great many bugfixes and almost all the [13]features found in - GCC 2.95. - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [14]gnu@gnu.org. There - are also [15]other ways to contact the FSF. - - These pages are maintained by [16]The GCC team. - - - Please send comments on these web pages and GCC to our public - mailing list at [17]gcc@gnu.org or [18]gcc@gcc.gnu.org, send other - questions to [19]gnu@gnu.org. - - Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite - 330, Boston, MA 02111, USA. - - Verbatim copying and distribution of this entire article is permitted - in any medium, provided this notice is preserved. - - Last modified 2002-11-11 [20]Valid XHTML 1.0 - -References - - 1. http://www.netbsd.org/ - 2. http://gcc.gnu.org/news/reorder.html - 3. http://gcc.gnu.org/news/ssa.html - 4. http://gcc.gnu.org/news/null.html - 5. http://gcc.gnu.org/news/unify.html - 6. http://gcc.gnu.org/gcc-3.0/c++features.html - 7. http://gcc.gnu.org/libstdc++/ - 8. http://gcc.gnu.org/news/inlining.html - 9. http://gcc.gnu.org/news/dependencies.html - 10. http://gcc.gnu.org/gcc-3.0/c99status.html - 11. http://gcc.gnu.org/onlinedocs/g77/News.html - 12. http://gcc.gnu.org/gcc-3.0/libgcc.html - 13. http://gcc.gnu.org/gcc-2.95/features.html - 14. mailto:gnu@gnu.org - 15. http://www.gnu.org/home.html#ContactInfo - 16. http://gcc.gnu.org/about.html - 17. mailto:gcc@gnu.org - 18. mailto:gcc@gcc.gnu.org - 19. mailto:gnu@gnu.org - 20. http://validator.w3.org/check/referer -====================================================================== -http://gcc.gnu.org/gcc-3.0/caveats.html - - GCC 3.0 Caveats - - * -fstrict-aliasing is now part of -O2 and higher optimization - levels. This allows the compiler to assume the strictest aliasing - rules applicable to the language being compiled. For C and C++, - this activates optimizations based on the type of expressions. - This optimization may thus break old, non-compliant code. - * Enumerations are now properly promoted to int in function - parameters and function returns. Normally this change is not - visible, but when using -fshort-enums this is an ABI change. - * The undocumented extension that allowed C programs to have a label - at the end of a compound statement has been deprecated and may be - removed in a future version. Programs that now generate a warning - about this may be fixed by adding a null statement (a single - semicolon) after the label. - * The poorly documented extension that allowed string constants in - C, C++ and Objective C to contain unescaped newlines has been - deprecated and may be removed in a future version. Programs using - this extension may be fixed in several ways: the bare newline may - be replaced by \n, or preceded by \n\, or string concatenation may - be used with the bare newline preceded by \n" and " placed at the - start of the next line. - * The Chill compiler is not included in GCC 3.0, because of the lack - of a volunteer to convert it to use garbage collection. - * Certain non-standard iostream methods from earlier versions of - libstdc++ are not included in libstdc++ v3, i.e. filebuf::attach, - ostream::form, and istream::gets. Here are workaround hints for: - [1]ostream::form, [2]filebuf::attach. - * The new C++ ABI is not yet fully supported by current (as of - 2001-07-01) releases and development versions of GDB, or any - earlier versions. There is a problem setting breakpoints by line - number, and other related issues that have been fixed in GCC 3.0 - but not yet handled in GDB: - [3]http://gcc.gnu.org/ml/gcc-bugs/2001-06/msg00421.html - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [4]gnu@gnu.org. There - are also [5]other ways to contact the FSF. - - These pages are maintained by [6]The GCC team. - - - Please send comments on these web pages and GCC to our public - mailing list at [7]gcc@gnu.org or [8]gcc@gcc.gnu.org, send other - questions to [9]gnu@gnu.org. - - Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite - 330, Boston, MA 02111, USA. - - Verbatim copying and distribution of this entire article is permitted - in any medium, provided this notice is preserved. - - Last modified 2002-11-11 [10]Valid XHTML 1.0 - -References - - 1. http://gcc.gnu.org/onlinedocs/libstdc++/21_strings/howto.html - 2. http://gcc.gnu.org/onlinedocs/libstdc++/ext/howto.html - 3. http://gcc.gnu.org/ml/gcc-bugs/2001-06/msg00421.html - 4. mailto:gnu@gnu.org - 5. http://www.gnu.org/home.html#ContactInfo - 6. http://gcc.gnu.org/about.html - 7. mailto:gcc@gnu.org - 8. mailto:gcc@gcc.gnu.org - 9. mailto:gnu@gnu.org - 10. http://validator.w3.org/check/referer -====================================================================== -http://gcc.gnu.org/gcc-2.95/index.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. 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. - - August 19, 1999: GCC version 2.95.1 has been released. - - October 27, 1999: GCC version 2.95.2 has been released. - - March 16, 2001: GCC version 2.95.3 has been released. - - 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. - - 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) - [9]Find a GNU mirror site - [10]Find a GCC mirror site - - For additional information about GCC please see the [11]GCC project - web server or contact the [12]GCC development mailing list. - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [13]gnu@gnu.org. There - are also [14]other ways to contact the FSF. - - These pages are maintained by [15]The GCC team. - - - Please send comments on these web pages and GCC to our public - mailing list at [16]gcc@gnu.org or [17]gcc@gcc.gnu.org, send other - questions to [18]gnu@gnu.org. - - Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite - 330, Boston, MA 02111, USA. - - Verbatim copying and distribution of this entire article is permitted - in any medium, provided this notice is preserved. - - Last modified 2002-11-11 [19]Valid XHTML 1.0 - -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/ - 5. http://gcc.gnu.org/gcc-2.95/buildstat.html - 6. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html - 7. http://gcc.gnu.org/gcc-2.95/caveats.html - 8. ftp://ftp.gnu.org/pub/gnu/gcc/ - 9. http://www.gnu.org/order/ftp.html - 10. http://gcc.gnu.org/mirrors.html - 11. http://gcc.gnu.org/index.html - 12. mailto:gcc@gcc.gnu.org - 13. mailto:gnu@gnu.org - 14. http://www.gnu.org/home.html#ContactInfo - 15. http://gcc.gnu.org/about.html - 16. mailto:gcc@gnu.org - 17. mailto:gcc@gcc.gnu.org - 18. mailto:gnu@gnu.org - 19. http://validator.w3.org/check/referer -====================================================================== -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. [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 in turn improves performance - + Various performance improvements to the i960 port. - + Major rewrite of ns32k port - * 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. - -Additional Changes in GCC 2.95.1 - - * 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. - -Additional Changes in GCC 2.95.2 - - 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. - -Additional Changes in GCC 2.95.3 - - * 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. - + Fix problem building libio with glibc 2.2. - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [18]gnu@gnu.org. There - are also [19]other ways to contact the FSF. - - These pages are maintained by [20]The GCC team. - - - Please send comments on these web pages and GCC to our public - mailing list at [21]gcc@gnu.org or [22]gcc@gcc.gnu.org, send other - questions to [23]gnu@gnu.org. - - Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite - 330, Boston, MA 02111, USA. - - Verbatim copying and distribution of this entire article is permitted - in any medium, provided this notice is preserved. - - Last modified 2002-11-11 [24]Valid XHTML 1.0 - -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://gcc.gnu.org/java/gcj-announce.txt - 12. http://gcc.gnu.org/news/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. mailto:gnu@gnu.org - 19. http://www.gnu.org/home.html#ContactInfo - 20. http://gcc.gnu.org/about.html - 21. mailto:gcc@gnu.org - 22. mailto:gcc@gcc.gnu.org - 23. mailto:gnu@gnu.org - 24. http://validator.w3.org/check/referer -====================================================================== -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. - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [4]gnu@gnu.org. There - are also [5]other ways to contact the FSF. - - These pages are maintained by [6]The GCC team. - - - Please send comments on these web pages and GCC to our public - mailing list at [7]gcc@gnu.org or [8]gcc@gcc.gnu.org, send other - questions to [9]gnu@gnu.org. - - Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite - 330, Boston, MA 02111, USA. - - Verbatim copying and distribution of this entire article is permitted - in any medium, provided this notice is preserved. - - Last modified 2002-11-11 [10]Valid XHTML 1.0 - -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. mailto:gnu@gnu.org - 5. http://www.gnu.org/home.html#ContactInfo - 6. http://gcc.gnu.org/about.html - 7. mailto:gcc@gnu.org - 8. mailto:gcc@gcc.gnu.org - 9. mailto:gnu@gnu.org - 10. http://validator.w3.org/check/referer -====================================================================== -http://gcc.gnu.org/egcs-1.1/index.html - - EGCS 1.1 - - September 3, 1998: We are pleased to announce the release of EGCS 1.1. - December 1, 1998: We are pleased to announce the release of EGCS - 1.1.1. - March 15, 1999: We are pleased to announce the release of EGCS 1.1.2. - - 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 1.1 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 g77 version 0.5.23. - - See the [5]new features page for a more complete list of new features - found in EGCS 1.1 releases. - - EGCS 1.1.1 is a minor update 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. - - EGCS 1.1.2 is a minor update 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=<dirname> 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). - - Each release includes installation instructions in both HTML and - plaintext forms (see the INSTALL directory in the toplevel directory - of the distribution). However, we also keep the most up to date - [6]installation instructions and [7]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 [8]amazing - group of volunteers is what makes EGCS successful. - - And finally, we can't in good conscience fail to mention some - [9]caveats to using EGCS 1.1. - - Download EGCS from egcs.cygnus.com (USA California). - - The EGCS 1.1 release is also available on many mirror sites. - [10]Goto mirror list to find a closer site. - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org. There - are also [12]other ways to contact the FSF. - - These pages are maintained by [13]The GCC team. - - - Please send comments on these web pages and GCC to our public - mailing list at [14]gcc@gnu.org or [15]gcc@gcc.gnu.org, send other - questions to [16]gnu@gnu.org. - - Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite - 330, Boston, MA 02111, USA. - - Verbatim copying and distribution of this entire article is permitted - in any medium, provided this notice is preserved. - - Last modified 2002-11-11 [17]Valid XHTML 1.0 - -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/egcs-1.1/features.html - 6. http://gcc.gnu.org/install/ - 7. http://gcc.gnu.org/egcs-1.1/buildstat.html - 8. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html - 9. http://gcc.gnu.org/egcs-1.1/caveats.html - 10. http://gcc.gnu.org/mirrors.html - 11. mailto:gnu@gnu.org - 12. http://www.gnu.org/home.html#ContactInfo - 13. http://gcc.gnu.org/about.html - 14. mailto:gcc@gnu.org - 15. mailto:gcc@gcc.gnu.org - 16. mailto:gnu@gnu.org - 17. http://validator.w3.org/check/referer -====================================================================== -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. - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There - are also [7]other ways to contact the FSF. - - These pages are maintained by [8]The GCC team. - - - Please send comments on these web pages and GCC to our public - mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other - questions to [11]gnu@gnu.org. - - Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite - 330, Boston, MA 02111, USA. - - Verbatim copying and distribution of this entire article is permitted - in any medium, provided this notice is preserved. - - Last modified 2002-11-11 [12]Valid XHTML 1.0 - -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. mailto:gnu@gnu.org - 7. http://www.gnu.org/home.html#ContactInfo - 8. http://gcc.gnu.org/about.html - 9. mailto:gcc@gnu.org - 10. mailto:gcc@gcc.gnu.org - 11. mailto:gnu@gnu.org - 12. http://validator.w3.org/check/referer -====================================================================== -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 libg++-2.8.1.2 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 - [1]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. - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [2]gnu@gnu.org. There - are also [3]other ways to contact the FSF. - - These pages are maintained by [4]The GCC team. - - - Please send comments on these web pages and GCC to our public - mailing list at [5]gcc@gnu.org or [6]gcc@gcc.gnu.org, send other - questions to [7]gnu@gnu.org. - - Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite - 330, Boston, MA 02111, USA. - - Verbatim copying and distribution of this entire article is permitted - in any medium, provided this notice is preserved. - - Last modified 2002-11-11 [8]Valid XHTML 1.0 - -References - - 1. http://gcc.gnu.org/fom_serv/cache/24.html - 2. mailto:gnu@gnu.org - 3. http://www.gnu.org/home.html#ContactInfo - 4. http://gcc.gnu.org/about.html - 5. mailto:gcc@gnu.org - 6. mailto:gcc@gcc.gnu.org - 7. mailto:gnu@gnu.org - 8. http://validator.w3.org/check/referer -====================================================================== -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 SGI's - STL release instead of a modified copy. - * Integrated GNU Fortran compiler. - * New instruction scheduler. - * New alias analysis code. - - See the [1]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 [2]installation instructions and [3]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 [4]caveats to - using EGCS. - - Update: Big thanks to Stanford for providing a high speed link for - downloading EGCS (go.cygnus.com)! - - Download EGCS from ftp.cygnus.com (USA California) or go.cygnus.com - (USA California -- High speed link provided by Stanford). - - The EGCS 1.0.3 release is also available on many mirror sites. - [5]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. - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There - are also [7]other ways to contact the FSF. - - These pages are maintained by [8]The GCC team. - - - Please send comments on these web pages and GCC to our public - mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other - questions to [11]gnu@gnu.org. - - Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite - 330, Boston, MA 02111, USA. - - Verbatim copying and distribution of this entire article is permitted - in any medium, provided this notice is preserved. - - Last modified 2002-11-11 [12]Valid XHTML 1.0 - -References - - 1. http://gcc.gnu.org/egcs-1.0/features.html - 2. http://gcc.gnu.org/install/ - 3. http://gcc.gnu.org/egcs-1.0/buildstat.html - 4. http://gcc.gnu.org/egcs-1.0/caveats.html - 5. http://gcc.gnu.org/mirrors.html - 6. mailto:gnu@gnu.org - 7. http://www.gnu.org/home.html#ContactInfo - 8. http://gcc.gnu.org/about.html - 9. mailto:gcc@gnu.org - 10. mailto:gcc@gcc.gnu.org - 11. mailto:gnu@gnu.org - 12. http://validator.w3.org/check/referer -====================================================================== -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 SGI's - STL release. - * Integrated GNU Fortran compiler. - * New instruction scheduler. - * New alias analysis code. - - See the [1]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 [2]installation instructions and [3]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 [4]caveats to - using EGCS. - - Update: Big thanks to Stanford for providing a high speed link for - downloading EGCS (go.cygnus.com)! - - Download EGCS from ftp.cygnus.com (USA California) or go.cygnus.com - (USA California -- High speed link provided by Stanford). - - The EGCS 1.0.2 release is also available on many mirror sites. - [5]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. - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There - are also [7]other ways to contact the FSF. - - These pages are maintained by [8]The GCC team. - - - Please send comments on these web pages and GCC to our public - mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other - questions to [11]gnu@gnu.org. - - Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite - 330, Boston, MA 02111, USA. - - Verbatim copying and distribution of this entire article is permitted - in any medium, provided this notice is preserved. - - Last modified 2002-11-11 [12]Valid XHTML 1.0 - -References - - 1. http://gcc.gnu.org/egcs-1.0/features.html - 2. http://gcc.gnu.org/install/index.html - 3. http://gcc.gnu.org/egcs-1.0/buildstat.html - 4. http://gcc.gnu.org/egcs-1.0/caveats.html - 5. http://gcc.gnu.org/mirrors.html - 6. mailto:gnu@gnu.org - 7. http://www.gnu.org/home.html#ContactInfo - 8. http://gcc.gnu.org/about.html - 9. mailto:gcc@gnu.org - 10. mailto:gcc@gcc.gnu.org - 11. mailto:gnu@gnu.org - 12. http://validator.w3.org/check/referer -====================================================================== -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. - * Compatibility 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 SGI's - STL release. - * Integrated GNU Fortran compiler - * New instruction scheduler - * New alias analysis code - - See the [1]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 [2]installation instructions and [3]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 [4]caveats to - using EGCS. - - Update: Big thanks to Stanford for providing a high speed link for - downloading EGCS (go.cygnus.com)! - - Download EGCS from ftp.cygnus.com (USA California) or go.cygnus.com - (USA California -- High speed link provided by Stanford). - - The EGCS 1.0.1 release is also available on many mirror sites. - [5]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. - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There - are also [7]other ways to contact the FSF. - - These pages are maintained by [8]The GCC team. - - - Please send comments on these web pages and GCC to our public - mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other - questions to [11]gnu@gnu.org. - - Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite - 330, Boston, MA 02111, USA. - - Verbatim copying and distribution of this entire article is permitted - in any medium, provided this notice is preserved. - - Last modified 2002-11-11 [12]Valid XHTML 1.0 - -References - - 1. http://gcc.gnu.org/egcs-1.0/features.html - 2. http://gcc.gnu.org/install/index.html - 3. http://gcc.gnu.org/egcs-1.0/buildstat.html - 4. http://gcc.gnu.org/egcs-1.0/caveats.html - 5. http://gcc.gnu.org/mirrors.html - 6. mailto:gnu@gnu.org - 7. http://www.gnu.org/home.html#ContactInfo - 8. http://gcc.gnu.org/about.html - 9. mailto:gcc@gnu.org - 10. mailto:gcc@gcc.gnu.org - 11. mailto:gnu@gnu.org - 12. http://validator.w3.org/check/referer -====================================================================== -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 SGI's - STL release. - * Integrated GNU Fortran compiler. - * New instruction scheduler. - * New alias analysis code. - - See the [1]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 [2]installation instructions and [3]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 [4]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)! - - Download EGCS from ftp.cygnus.com (USA California) or 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. - [5]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. - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There - are also [7]other ways to contact the FSF. - - These pages are maintained by [8]The GCC team. - - - Please send comments on these web pages and GCC to our public - mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other - questions to [11]gnu@gnu.org. - - Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite - 330, Boston, MA 02111, USA. - - Verbatim copying and distribution of this entire article is permitted - in any medium, provided this notice is preserved. - - Last modified 2002-11-11 [12]Valid XHTML 1.0 - -References - - 1. http://gcc.gnu.org/egcs-1.0/features.html - 2. http://gcc.gnu.org/install/index.html - 3. http://gcc.gnu.org/egcs-1.0/buildstat.html - 4. http://gcc.gnu.org/egcs-1.0/caveats.html - 5. http://gcc.gnu.org/mirrors.html - 6. mailto:gnu@gnu.org - 7. http://www.gnu.org/home.html#ContactInfo - 8. http://gcc.gnu.org/about.html - 9. mailto:gcc@gnu.org - 10. mailto:gcc@gcc.gnu.org - 11. mailto:gnu@gnu.org - 12. http://validator.w3.org/check/referer -====================================================================== -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. - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [3]gnu@gnu.org. There - are also [4]other ways to contact the FSF. - - These pages are maintained by [5]The GCC team. - - - Please send comments on these web pages and GCC to our public - mailing list at [6]gcc@gnu.org or [7]gcc@gcc.gnu.org, send other - questions to [8]gnu@gnu.org. - - Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite - 330, Boston, MA 02111, USA. - - Verbatim copying and distribution of this entire article is permitted - in any medium, provided this notice is preserved. - - Last modified 2002-11-11 [9]Valid XHTML 1.0 - -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. mailto:gnu@gnu.org - 4. http://www.gnu.org/home.html#ContactInfo - 5. http://gcc.gnu.org/about.html - 6. mailto:gcc@gnu.org - 7. mailto:gcc@gcc.gnu.org - 8. mailto:gnu@gnu.org - 9. http://validator.w3.org/check/referer -====================================================================== -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 libg++-2.8.1.2 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 - [1]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. - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [2]gnu@gnu.org. There - are also [3]other ways to contact the FSF. - - These pages are maintained by [4]The GCC team. - - - Please send comments on these web pages and GCC to our public - mailing list at [5]gcc@gnu.org or [6]gcc@gcc.gnu.org, send other - questions to [7]gnu@gnu.org. - - Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite - 330, Boston, MA 02111, USA. - - Verbatim copying and distribution of this entire article is permitted - in any medium, provided this notice is preserved. - - Last modified 2002-11-11 [8]Valid XHTML 1.0 - -References - - 1. http://gcc.gnu.org/fom_serv/cache/24.html - 2. mailto:gnu@gnu.org - 3. http://www.gnu.org/home.html#ContactInfo - 4. http://gcc.gnu.org/about.html - 5. mailto:gcc@gnu.org - 6. mailto:gcc@gcc.gnu.org - 7. mailto:gnu@gnu.org - 8. http://validator.w3.org/check/referer -====================================================================== diff --git a/contrib/gcc/README b/contrib/gcc/README deleted file mode 100644 index 3a495133bee6..000000000000 --- a/contrib/gcc/README +++ /dev/null @@ -1,17 +0,0 @@ -This directory contains the GNU Compiler Collection (GCC). - -The GNU Compiler Collection is free software. See the file COPYING -for copying permission. The manuals, and some of the runtime -libraries, are under different terms; see the individual source files -for details. - -The directory INSTALL contains copies of the installation information -as HTML and plain text. The source of this information is -gcc/doc/install.texi. The installation information includes details -of what is included in the GCC sources and what files GCC installs. - -See the file gcc/doc/gcc.texi (together with other files that it -includes) for usage and porting information. An online readable -version of the manual is in the files gcc/doc/gcc.info*. - -See http://gcc.gnu.org/bugs.html for how to report bugs usefully. diff --git a/contrib/gcc/c-lex.h b/contrib/gcc/c-lex.h deleted file mode 100644 index ac917b5cb5a5..000000000000 --- a/contrib/gcc/c-lex.h +++ /dev/null @@ -1,35 +0,0 @@ -/* Define constants for communication with c-parse.y. - Copyright (C) 1987, 1992, 1998, 1999, 2000 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC 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. - -GCC 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 GCC; see the file COPYING. If not, write to the Free -Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. */ - -#ifndef GCC_C_LEX_H -#define GCC_C_LEX_H - -extern tree make_pointer_declarator PARAMS ((tree, tree)); -extern void position_after_white_space PARAMS ((void)); - -extern int c_lex PARAMS ((tree *)); -extern const char *init_c_lex PARAMS ((const char *)); - -extern int indent_level; - -struct cpp_reader; -extern struct cpp_reader* parse_in; - -#endif /* ! GCC_C_LEX_H */ diff --git a/contrib/gcc/cccp.1 b/contrib/gcc/cccp.1 deleted file mode 100644 index 84eb19ede54e..000000000000 --- a/contrib/gcc/cccp.1 +++ /dev/null @@ -1,674 +0,0 @@ -.\" Copyright (c) 1991, 1992, 1993 Free Software Foundation \-*-Text-*- -.\" See section COPYING for conditions for redistribution -.TH cpp 1 "30apr1993" "GNU Tools" "GNU Tools" -.SH NAME -cccp, cpp \- The GNU C-Compatible Compiler Preprocessor. -.SH SYNOPSIS -.hy 0 -.na -.TP -.B cccp -.RB "[\|" \-$ "\|]" -.RB "[\|" \-A \c -.I predicate\c -.RB [ (\c -.I value\c -.BR ) ]\|] -.RB "[\|" \-C "\|]" -.RB "[\|" \-D \c -.I name\c -.RB [ =\c -.I definition\c -\&]\|] -.RB "[\|" \-dD "\|]" -.RB "[\|" \-dM "\|]" -.RB "[\|" "\-I\ "\c -.I directory\c -\&\|] -.RB "[\|" \-H "\|]" -.RB "[\|" \-I\- "\|]" -.RB "[\|" "\-imacros\ "\c -.I file\c -\&\|] -.RB "[\|" "\-include\ "\c -.I file\c -\&\|] -.RB "[\|" "\-idirafter\ "\c -.I dir\c -\&\|] -.RB "[\|" "\-iprefix\ "\c -.I prefix\c -\&\|] -.RB "[\|" "\-iwithprefix\ "\c -.I dir\c -\&\|] -.RB "[\|" \-lang\-c "\|]" -.RB "[\|" \-lang\-c++ "\|]" -.RB "[\|" \-lang\-objc "\|]" -.RB "[\|" \-lang\-objc++ "\|]" -.RB "[\|" \-lint "\|]" -.RB "[\|" \-M\ [ \-MG "\|]]" -.RB "[\|" \-MM\ [ \-MG "\|]]" -.RB "[\|" \-MD\ \c -.I file\ \c -\&\|] -.RB "[\|" \-MMD\ \c -.I file\ \c -\&\|] -.RB "[\|" \-nostdinc "\|]" -.RB "[\|" \-nostdinc++ "\|]" -.RB "[\|" \-P "\|]" -.RB "[\|" \-pedantic "\|]" -.RB "[\|" \-pedantic\-errors "\|]" -.RB "[\|" \-traditional "\|]" -.RB "[\|" \-trigraphs "\|]" -.RB "[\|" \-U \c -.I name\c -\&\|] -.RB "[\|" \-undef "\|]" -.RB "[\|" \-Wtrigraphs "\|]" -.RB "[\|" \-Wcomment "\|]" -.RB "[\|" \-Wall "\|]" -.RB "[\|" \-Wtraditional "\|]" -.br -.RB "[\|" \c -.I infile\c -.RB | \- "\|]" -.RB "[\|" \c -.I outfile\c -.RB | \- "\|]" -.ad b -.hy 1 -.SH DESCRIPTION -The C preprocessor is a \c -.I macro processor\c -\& that is used automatically by -the C compiler to transform your program before actual compilation. It is -called a macro processor because it allows you to define \c -.I macros\c -\&, -which are brief abbreviations for longer constructs. - -The C preprocessor provides four separate facilities that you can use as -you see fit: -.TP -\(bu -Inclusion of header files. These are files of declarations that can be -substituted into your program. -.TP -\(bu -Macro expansion. You can define \c -.I macros\c -\&, which are abbreviations -for arbitrary fragments of C code, and then the C preprocessor will -replace the macros with their definitions throughout the program. -.TP -\(bu -Conditional compilation. Using special preprocessing directives, you -can include or exclude parts of the program according to various -conditions. -.TP -\(bu -Line control. If you use a program to combine or rearrange source files into -an intermediate file which is then compiled, you can use line control -to inform the compiler of where each source line originally came from. -.PP -C preprocessors vary in some details. For a full explanation of the -GNU C preprocessor, see the -.B info -file `\|\c -.B cpp.info\c -\&\|', or the manual -.I The C Preprocessor\c -\&. Both of these are built from the same documentation source file, `\|\c -.B cpp.texinfo\c -\&\|'. The GNU C -preprocessor provides a superset of the features of ANSI Standard C. - -ANSI Standard C requires the rejection of many harmless constructs commonly -used by today's C programs. Such incompatibility would be inconvenient for -users, so the GNU C preprocessor is configured to accept these constructs -by default. Strictly speaking, to get ANSI Standard C, you must use the -options `\|\c -.B \-trigraphs\c -\&\|', `\|\c -.B \-undef\c -\&\|' and `\|\c -.B \-pedantic\c -\&\|', but in -practice the consequences of having strict ANSI Standard C make it -undesirable to do this. - -Most often when you use the C preprocessor you will not have to invoke it -explicitly: the C compiler will do so automatically. However, the -preprocessor is sometimes useful individually. - -When you call the preprocessor individually, either name -(\c -.B cpp\c -\& or \c -.B cccp\c -\&) will do\(em\&they are completely synonymous. - -The C preprocessor expects two file names as arguments, \c -.I infile\c -\& and -\c -.I outfile\c -\&. The preprocessor reads \c -.I infile\c -\& together with any other -files it specifies with `\|\c -.B #include\c -\&\|'. All the output generated by the -combined input files is written in \c -.I outfile\c -\&. - -Either \c -.I infile\c -\& or \c -.I outfile\c -\& may be `\|\c -.B \-\c -\&\|', which as \c -.I infile\c -\& -means to read from standard input and as \c -.I outfile\c -\& means to write to -standard output. Also, if \c -.I outfile\c -\& or both file names are omitted, -the standard output and standard input are used for the omitted file names. -.SH OPTIONS -Here is a table of command options accepted by the C preprocessor. -These options can also be given when compiling a C program; they are -passed along automatically to the preprocessor when it is invoked by -the compiler. -.TP -.B \-P -Inhibit generation of `\|\c -.B #\c -\&\|'-lines with line-number information in -the output from the preprocessor. This might be -useful when running the preprocessor on something that is not C code -and will be sent to a program which might be confused by the -`\|\c -.B #\c -\&\|'-lines. -.TP -.B \-C -Do not discard comments: pass them through to the output file. -Comments appearing in arguments of a macro call will be copied to the -output before the expansion of the macro call. -.TP -.B \-traditional -Try to imitate the behavior of old-fashioned C, as opposed to ANSI C. -.TP -.B \-trigraphs -Process ANSI standard trigraph sequences. These are three-character -sequences, all starting with `\|\c -.B ??\c -\&\|', that are defined by ANSI C to -stand for single characters. For example, `\|\c -.B ??/\c -\&\|' stands for -`\|\c -.BR "\e" "\|'," -so `\|\c -.B '??/n'\c -\&\|' is a character constant for a newline. -Strictly speaking, the GNU C preprocessor does not support all -programs in ANSI Standard C unless `\|\c -.B \-trigraphs\c -\&\|' is used, but if -you ever notice the difference it will be with relief. - -You don't want to know any more about trigraphs. -.TP -.B \-pedantic -Issue warnings required by the ANSI C standard in certain cases such -as when text other than a comment follows `\|\c -.B #else\c -\&\|' or `\|\c -.B #endif\c -\&\|'. -.TP -.B \-pedantic\-errors -Like `\|\c -.B \-pedantic\c -\&\|', except that errors are produced rather than -warnings. -.TP -.B \-Wtrigraphs -Warn if any trigraphs are encountered (assuming they are enabled). -.TP -.B \-Wcomment -.TP -.B \-Wcomments -Warn whenever a comment-start sequence `\|\c -.B /*\c -\&\|' appears in a comment. -(Both forms have the same effect). -.TP -.B \-Wall -Requests both `\|\c -.B \-Wtrigraphs\c -\&\|' and `\|\c -.B \-Wcomment\c -\&\|' (but not -`\|\c -.B \-Wtraditional\c -\&\|'). -.TP -.B \-Wtraditional -Warn about certain constructs that behave differently in traditional and -ANSI C. -.TP -.BI "\-I " directory\c -\& -Add the directory \c -.I directory\c -\& to the end of the list of -directories to be searched for header files. -This can be used to override a system header file, substituting your -own version, since these directories are searched before the system -header file directories. If you use more than one `\|\c -.B \-I\c -\&\|' option, -the directories are scanned in left-to-right order; the standard -system directories come after. -.TP -.B \-I\- -Any directories specified with `\|\c -.B \-I\c -\&\|' options before the `\|\c -.B \-I\-\c -\&\|' -option are searched only for the case of `\|\c -.B #include "\c -.I file\c -\&"\c -\&\|'; -they are not searched for `\|\c -.B #include <\c -.I file\c -\&>\c -\&\|'. - -If additional directories are specified with `\|\c -.B \-I\c -\&\|' options after -the `\|\c -.B \-I\-\c -\&\|', these directories are searched for all `\|\c -.B #include\c -\&\|' -directives. - -In addition, the `\|\c -.B \-I\-\c -\&\|' option inhibits the use of the current -directory as the first search directory for `\|\c -.B #include "\c -.I file\c -\&"\c -\&\|'. -Therefore, the current directory is searched only if it is requested -explicitly with `\|\c -.B \-I.\c -\&\|'. Specifying both `\|\c -.B \-I\-\c -\&\|' and `\|\c -.B \-I.\c -\&\|' -allows you to control precisely which directories are searched before -the current one and which are searched after. -.TP -.B \-nostdinc -Do not search the standard system directories for header files. -Only the directories you have specified with `\|\c -.B \-I\c -\&\|' options -(and the current directory, if appropriate) are searched. -.TP -.B \-nostdinc++ -Do not search for header files in the C++ specific standard -directories, but do still search the other standard directories. -(This option is used when building libg++.) -.TP -.BI "\-D " "name"\c -\& -Predefine \c -.I name\c -\& as a macro, with definition `\|\c -.B 1\c -\&\|'. -.TP -.BI "\-D " "name" = definition -\& -Predefine \c -.I name\c -\& as a macro, with definition \c -.I definition\c -\&. -There are no restrictions on the contents of \c -.I definition\c -\&, but if -you are invoking the preprocessor from a shell or shell-like program -you may need to use the shell's quoting syntax to protect characters -such as spaces that have a meaning in the shell syntax. If you use more than -one `\|\c -.B \-D\c -\&\|' for the same -.I name\c -\&, the rightmost definition takes effect. -.TP -.BI "\-U " "name"\c -\& -Do not predefine \c -.I name\c -\&. If both `\|\c -.B \-U\c -\&\|' and `\|\c -.B \-D\c -\&\|' are -specified for one name, the `\|\c -.B \-U\c -\&\|' beats the `\|\c -.B \-D\c -\&\|' and the name -is not predefined. -.TP -.B \-undef -Do not predefine any nonstandard macros. -.TP -.BI "\-A " "name(" value ) -Assert (in the same way as the \c -.B #assert\c -\& directive) -the predicate \c -.I name\c -\& with tokenlist \c -.I value\c -\&. Remember to escape or quote the parentheses on -shell command lines. - -You can use `\|\c -.B \-A-\c -\&\|' to disable all predefined assertions; it also -undefines all predefined macros. -.TP -.B \-dM -Instead of outputting the result of preprocessing, output a list of -`\|\c -.B #define\c -\&\|' directives for all the macros defined during the -execution of the preprocessor, including predefined macros. This gives -you a way of finding out what is predefined in your version of the -preprocessor; assuming you have no file `\|\c -.B foo.h\c -\&\|', the command -.sp -.br -touch\ foo.h;\ cpp\ \-dM\ foo.h -.br -.sp -will show the values of any predefined macros. -.TP -.B \-dD -Like `\|\c -.B \-dM\c -\&\|' except in two respects: it does \c -.I not\c -\& include the -predefined macros, and it outputs \c -.I both\c -\& the `\|\c -.B #define\c -\&\|' -directives and the result of preprocessing. Both kinds of output go to -the standard output file. -.PP -.TP -.BR \-M\ [ \-MG ] -Instead of outputting the result of preprocessing, output a rule -suitable for \c -.B make\c -\& describing the dependencies of the main -source file. The preprocessor outputs one \c -.B make\c -\& rule containing -the object file name for that source file, a colon, and the names of -all the included files. If there are many included files then the -rule is split into several lines using `\|\c -.B \\\\\c -\&\|'-newline. - -`\|\c -.B \-MG\c -\&\|' says to treat missing header files as generated files and assume \c -they live in the same directory as the source file. It must be specified \c -in addition to `\|\c -.B \-M\c -\&\|'. - -This feature is used in automatic updating of makefiles. -.TP -.BR \-MM\ [ \-MG ] -Like `\|\c -.B \-M\c -\&\|' but mention only the files included with `\|\c -.B #include -"\c -.I file\c -\&"\c -\&\|'. System header files included with `\|\c -.B #include -<\c -.I file\c -\&>\c -\&\|' are omitted. -.TP -.BI \-MD\ file -Like `\|\c -.B \-M\c -\&\|' but the dependency information is written to `\|\c -.I file\c -\&\|'. This is in addition to compiling the file as -specified\(em\&`\|\c -.B \-MD\c -\&\|' does not inhibit ordinary compilation the way -`\|\c -.B \-M\c -\&\|' does. - -When invoking gcc, do not specify the `\|\c -.I file\c -\&\|' argument. Gcc will create file names made by replacing `\|\c -.B .c\c -\&\|' with `\|\c -.B .d\c -\&\|' at the end of the input file names. - -In Mach, you can use the utility \c -.B md\c -\& to merge multiple files -into a single dependency file suitable for using with the `\|\c -.B make\c -\&\|' -command. -.TP -.BI \-MMD\ file -Like `\|\c -.B \-MD\c -\&\|' except mention only user header files, not system -header files. -.TP -.B \-H -Print the name of each header file used, in addition to other normal -activities. -.TP -.BI "\-imacros " "file"\c -\& -Process \c -.I file\c -\& as input, discarding the resulting output, before -processing the regular input file. Because the output generated from -\c -.I file\c -\& is discarded, the only effect of `\|\c -.B \-imacros \c -.I file\c -\&\c -\&\|' is to -make the macros defined in \c -.I file\c -\& available for use in the main -input. The preprocessor evaluates any `\|\c -.B \-D\c -\&\|' and `\|\c -.B \-U\c -\&\|' options -on the command line before processing `\|\c -.B \-imacros \c -.I file\c -\&\|' \c -\&. -.TP -.BI "\-include " "file" -Process -.I file -as input, and include all the resulting output, -before processing the regular input file. -.TP -.BI "-idirafter " "dir"\c -\& -Add the directory \c -.I dir\c -\& to the second include path. The directories -on the second include path are searched when a header file is not found -in any of the directories in the main include path (the one that -`\|\c -.B \-I\c -\&\|' adds to). -.TP -.BI "-iprefix " "prefix"\c -\& -Specify \c -.I prefix\c -\& as the prefix for subsequent `\|\c -.B \-iwithprefix\c -\&\|' -options. -.TP -.BI "-iwithprefix " "dir"\c -\& -Add a directory to the second include path. The directory's name is -made by concatenating \c -.I prefix\c -\& and \c -.I dir\c -\&, where \c -.I prefix\c -\& -was specified previously with `\|\c -.B \-iprefix\c -\&\|'. -.TP -.B \-lang-c -.TP -.B \-lang-c++ -.TP -.B \-lang-objc -.TP -.B \-lang-objc++ -Specify the source language. `\|\c -.B \-lang-c++\c -\&\|' makes the preprocessor -handle C++ comment syntax, and includes extra default include -directories for C++, and `\|\c -.B \-lang-objc\c -\&\|' enables the Objective C -`\|\c -.B #import\c -\&\|' directive. `\|\c -.B \-lang-c\c -\&\|' explicitly turns off both of -these extensions, and `\|\c -.B \-lang-objc++\c -\&\|' enables both. - -These options are generated by the compiler driver \c -.B gcc\c -\&, but not -passed from the `\|\c -.B gcc\c -\&\|' command line. -.TP -.B \-lint -Look for commands to the program checker \c -.B lint\c -\& embedded in -comments, and emit them preceded by `\|\c -.B #pragma lint\c -\&\|'. For example, -the comment `\|\c -.B /* NOTREACHED */\c -\&\|' becomes `\|\c -.B #pragma lint -NOTREACHED\c -\&\|'. - -This option is available only when you call \c -.B cpp\c -\& directly; -\c -.B gcc\c -\& will not pass it from its command line. -.TP -.B \-$ -Forbid the use of `\|\c -.B $\c -\&\|' in identifiers. This was formerly required for strict conformance -to the C Standard before the standard was corrected. \c - -This option is available only when you call \c -.B cpp\c -\& directly; -.B gcc\c -\& will not pass it from its command line. -.SH "SEE ALSO" -.RB "`\|" Cpp "\|'" -entry in -.B info\c -\&; -.I The C Preprocessor\c -, Richard M. Stallman. -.br -.BR gcc "(" 1 ");" -.RB "`\|" Gcc "\|'" -entry in -.B info\c -\&; -.I -Using and Porting GNU CC (for version 2.0)\c -, Richard M. Stallman. -.SH COPYING -Copyright (c) 1991, 1992, 1993 Free Software Foundation, Inc. -.PP -Permission is granted to make and distribute verbatim copies of -this manual provided the copyright notice and this permission notice -are preserved on all copies. -.PP -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided that the -entire resulting derived work is distributed under the terms of a -permission notice identical to this one. -.PP -Permission is granted to copy and distribute translations of this -manual into another language, under the above conditions for modified -versions, except that this permission notice may be included in -translations approved by the Free Software Foundation instead of in -the original English. diff --git a/contrib/gcc/config/alpha/crtbegin.asm b/contrib/gcc/config/alpha/crtbegin.asm deleted file mode 100644 index f954f1ab0d3e..000000000000 --- a/contrib/gcc/config/alpha/crtbegin.asm +++ /dev/null @@ -1,192 +0,0 @@ - # Copyright (C) 1996, 1998 Free Software Foundation, Inc. - # Contributed by Richard Henderson (rth@tamu.edu) - # - # This 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. - # - # In addition to the permissions in the GNU General Public License, the - # Free Software Foundation gives you unlimited permission to link the - # compiled version of this file with other programs, and to distribute - # those programs without any restriction coming from the use of this - # file. (The General Public License restrictions do apply in other - # respects; for example, they cover modification of the file, and - # distribution when not linked into another program.) - # - # This 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 program; 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 GCC 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. - - # - # Heads of the constructor/destructor lists. - # - - # The __*TOR_LIST__ symbols are not global because when this file is used - # in a shared library, we do not want the symbol to fall over to the - # application's lists. - -.section .ctors,"aw" - - .align 3 -__CTOR_LIST__: - .quad -1 - -.section .dtors,"aw" - - .align 3 -__DTOR_LIST__: - .quad -1 - -.section .eh_frame,"aw" -__EH_FRAME_BEGIN__: - - # - # Fragment of the ELF _fini routine that invokes our dtor cleanup. - # - -.section .fini,"ax" - - # Since the bits of the _fini function are spread across many - # object files, each potentially with its own GP, we must - # assume we need to load ours. Further, our .fini section - # can easily be more than 4MB away from our .text bits so we - # can't use bsr. - - br $29,1f -1: ldgp $29,0($29) - jsr $26,__do_global_dtors_aux - - # Ideally this call would go in crtend.o, except that we can't - # get hold of __EH_FRAME_BEGIN__ there. - - jsr $26,__do_frame_takedown - - # Must match the alignment we got from crti.o else we get - # zero-filled holes in our _fini function and then SIGILL. - .align 3 - - # - # Fragment of the ELF _init routine that sets up the frame info. - # - -.section .init,"ax" - br $29,1f -1: ldgp $29,0($29) - jsr $26,__do_frame_setup - .align 3 - - # - # Invoke our destructors in order. - # - -.data - - # Support recursive calls to exit. -$ptr: .quad __DTOR_LIST__ - -.text - - .align 3 - .ent __do_global_dtors_aux - -__do_global_dtors_aux: - lda $30,-16($30) - .frame $30,16,$26,0 - stq $9,8($30) - stq $26,0($30) - .mask 0x4000200,-16 - .prologue 0 - - lda $9,$ptr - br 1f -0: stq $1,0($9) - jsr $26,($27) -1: ldq $1,0($9) - ldq $27,8($1) - addq $1,8,$1 - bne $27,0b - - ldq $26,0($30) - ldq $9,8($30) - lda $30,16($30) - ret - - .end __do_global_dtors_aux - - # - # Install our frame info. - # - - # ??? How can we rationally keep this size correct? - -.section .bss - .type $object,@object - .align 3 -$object: - .zero 48 - .size $object, 48 - -.text - - .align 3 - .ent __do_frame_setup - -__do_frame_setup: - ldgp $29,0($27) - lda $30,-16($30) - .frame $30,16,$26,0 - stq $26,0($30) - .mask 0x4000000,-16 - .prologue 1 - - lda $1,__register_frame_info - beq $1,0f - lda $16,__EH_FRAME_BEGIN__ - lda $17,$object - jsr $26,__register_frame_info - ldq $26,0($30) -0: lda $30,16($30) - ret - - .end __do_frame_setup - - # - # Remove our frame info. - # - - .align 3 - .ent __do_frame_takedown - -__do_frame_takedown: - ldgp $29,0($27) - lda $30,-16($30) - .frame $30,16,$26,0 - stq $26,0($30) - .mask 0x4000000,-16 - .prologue 1 - - lda $1,__deregister_frame_info - beq $1,0f - lda $16,__EH_FRAME_BEGIN__ - jsr $26,__deregister_frame_info - ldq $26,0($30) -0: lda $30,16($30) - ret - - .end __do_frame_takedown - -.weak __register_frame_info -.weak __deregister_frame_info diff --git a/contrib/gcc/config/alpha/crtend.asm b/contrib/gcc/config/alpha/crtend.asm deleted file mode 100644 index 4a0cc5e9f612..000000000000 --- a/contrib/gcc/config/alpha/crtend.asm +++ /dev/null @@ -1,108 +0,0 @@ - # Copyright (C) 1996 Free Software Foundation, Inc. - # Contributed by Richard Henderson (rth@tamu.edu) - # - # This 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. - # - # In addition to the permissions in the GNU General Public License, the - # Free Software Foundation gives you unlimited permission to link the - # compiled version of this file with other programs, and to distribute - # those programs without any restriction coming from the use of this - # file. (The General Public License restrictions do apply in other - # respects; for example, they cover modification of the file, and - # distribution when not linked into another program.) - # - # This 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 program; 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 GCC 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. - - # - # Tails of the constructor/destructor lists. - # - - # The __*TOR_END__ symbols are not global because when this file is used - # in a shared library, we do not want the symbol to fall over to the - # application's lists. - -.section .ctors,"aw" - - .align 3 -__CTOR_END__: - .quad 0 - -.section .dtors,"aw" - - .align 3 -__DTOR_END__: - .quad 0 - -.section .eh_frame,"aw" -__FRAME_END__: - .quad 0 - - # - # Fragment of the ELF _init routine that invokes our ctor startup - # - -.section .init,"ax" - - # Since the bits of the _init function are spread across many - # object files, each potentially with its own GP, we must - # assume we need to load ours. Further, our .init section - # can easily be more than 4MB away from our .text bits so we - # can't use bsr. - - br $29,1f -1: ldgp $29,0($29) - jsr $26,__do_global_ctors_aux - - # Must match the alignment we got from crti.o else we get - # zero-filled holes in our _init function and thense SIGILL. - .align 3 - - # - # Invoke our destructors in order. - # - -.text - - .align 3 - .ent __do_global_ctors_aux - -__do_global_ctors_aux: - ldgp $29,0($27) - lda $30,-16($30) - .frame $30,16,$26,0 - stq $9,8($30) - stq $26,0($30) - .mask 0x4000200,-16 - .prologue 1 - - lda $9,__CTOR_END__ - br 1f -0: jsr $26,($27) -1: ldq $27,-8($9) - subq $9,8,$9 - not $27,$0 - bne $0,0b - - ldq $26,0($30) - ldq $9,8($30) - lda $30,16($30) - ret - - .end __do_global_ctors_aux diff --git a/contrib/gcc/config/alpha/gdb-osf12.h b/contrib/gcc/config/alpha/gdb-osf12.h deleted file mode 100644 index 98c289714017..000000000000 --- a/contrib/gcc/config/alpha/gdb-osf12.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Definitions of target machine for GNU compiler, for DEC Alpha, using - encapsulated stabs and OSF V1.2. - Copyright (C) 1994 Free Software Foundation, Inc. - Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu) - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#include "alpha/osf12.h" - -#undef PREFERRED_DEBUGGING_TYPE -#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG diff --git a/contrib/gcc/config/alpha/gdb-osf2.h b/contrib/gcc/config/alpha/gdb-osf2.h deleted file mode 100644 index 5ddb7981b34d..000000000000 --- a/contrib/gcc/config/alpha/gdb-osf2.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Definitions of target machine for GNU compiler, for DEC Alpha, using - encapsulated stabs. - Copyright (C) 1992, 1993 Free Software Foundation, Inc. - Contributed by Peter Schauer (pes@regent.e-technik.tu-muenchen.de). - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#include "alpha/osf2.h" - -#undef PREFERRED_DEBUGGING_TYPE -#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG diff --git a/contrib/gcc/config/alpha/gdb.h b/contrib/gcc/config/alpha/gdb.h deleted file mode 100644 index ecdbe40a9a45..000000000000 --- a/contrib/gcc/config/alpha/gdb.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Definitions of target machine for GNU compiler, for DEC Alpha, using - encapsulated stabs. - Copyright (C) 1992, 1993 Free Software Foundation, Inc. - Contributed by Peter Schauer (pes@regent.e-technik.tu-muenchen.de). - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#include "alpha/alpha.h" - -#undef PREFERRED_DEBUGGING_TYPE -#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG diff --git a/contrib/gcc/config/alpha/linux-ecoff.h b/contrib/gcc/config/alpha/linux-ecoff.h deleted file mode 100644 index 824d0280fce5..000000000000 --- a/contrib/gcc/config/alpha/linux-ecoff.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Definitions of target machine for GNU compiler - for Alpha Linux-based GNU systems using ECOFF. - Copyright (C) 1996, 1997 Free Software Foundation, Inc. - Contributed by Bob Manson. - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#undef TARGET_VERSION -#define TARGET_VERSION fprintf (stderr, " (Alpha GNU/Linux for ECOFF)"); - -#undef CPP_SUBTARGET_SPEC -#define CPP_SUBTARGET_SPEC "-D__ECOFF__" - -#undef LINK_SPEC -#define LINK_SPEC "-G 8 %{O*:-O3} %{!O*:-O1}" - -/* stabs get slurped by the assembler into a queer ecoff format. */ -#undef PREFERRED_DEBUGGING_TYPE -#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG - -/* We support #pragma. */ -#define HANDLE_SYSV_PRAGMA diff --git a/contrib/gcc/config/alpha/osf12.h b/contrib/gcc/config/alpha/osf12.h deleted file mode 100644 index 87e21111f4dc..000000000000 --- a/contrib/gcc/config/alpha/osf12.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Definitions of target machine for GNU compiler, for DEC Alpha. - Copyright (C) 1992, 1993, 1995, 1996 Free Software Foundation, Inc. - Contributed by Richard Kenner (kenner@nyu.edu) - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -/* In OSF 1.2, there is a linker bug that prevents use of -O3 to - the linker. */ - -#undef LINK_SPEC -#define LINK_SPEC \ - "-G 8 -O1 %{static:-non_shared} %{rpath*} \ - %{!static:%{shared:-shared} %{!shared:-call_shared}} %{taso}" - -#undef WCHAR_TYPE -#define WCHAR_TYPE "short unsigned int" -#undef WCHAR_TYPE_SIZE -#define WCHAR_TYPE_SIZE 16 diff --git a/contrib/gcc/config/alpha/osf2.h b/contrib/gcc/config/alpha/osf2.h deleted file mode 100644 index 169af5a01c97..000000000000 --- a/contrib/gcc/config/alpha/osf2.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Definitions of target machine for GNU compiler, for DEC Alpha. - Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc. - Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu) - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - - -#include "alpha/alpha.h" - -/* In OSF 2.0, the size of wchar_t was changed from short unsigned - to unsigned int. */ - -#undef WCHAR_TYPE -#define WCHAR_TYPE "unsigned int" - -#undef WCHAR_TYPE_SIZE -#define WCHAR_TYPE_SIZE 32 diff --git a/contrib/gcc/config/alpha/osf2or3.h b/contrib/gcc/config/alpha/osf2or3.h deleted file mode 100644 index 9d8c8f5e656a..000000000000 --- a/contrib/gcc/config/alpha/osf2or3.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Definitions of target machine for GNU compiler, for DEC Alpha, osf[23]. - Copyright (C) 1997 Free Software Foundation, Inc. - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -/* In OSF 2 or 3, linking with -lprof1 doesn't require -lpdf. */ - -#undef LIB_SPEC -#define LIB_SPEC "%{p:-lprof1} %{pg:-lprof1} %{a:-lprof2} -lc" - -/* As of OSF 3.2, as still can't subtract adjacent labels. */ -#undef TARGET_AS_CAN_SUBTRACT_LABELS -#define TARGET_AS_CAN_SUBTRACT_LABELS 0 - -/* The frame unwind data requires the ability to subtract labels. */ -#undef DWARF2_UNWIND_INFO -#define DWARF2_UNWIND_INFO 0 diff --git a/contrib/gcc/config/arm/arm-wince-pe.h b/contrib/gcc/config/arm/arm-wince-pe.h deleted file mode 100644 index e43ea9963195..000000000000 --- a/contrib/gcc/config/arm/arm-wince-pe.h +++ /dev/null @@ -1,66 +0,0 @@ -/* Definitions of target machine for GNU compiler, - for ARM with PE obj format running under the WinCE operating system. - Copyright (C) 1999, 2000 Free Software Foundation, Inc. - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#define ARM_WINCE 1 - -#include "pe.h" - -#undef USER_LABEL_PREFIX -#define USER_LABEL_PREFIX "" - -#undef TARGET_VERSION -#define TARGET_VERSION fputs (" (ARM/WinCE/PE)", stderr); - -/* The next three definitions are defined in pe.h, - undefined in arm/arm-pe.h and then redefined back here! */ -#undef LIB_SPEC -#define LIB_SPEC "-lcoredll -lcorelibc" - -#define MATH_LIBRARY "" - -#define LIBSTDCXX "-lc" - -#undef STARTFILE_SPEC -#define STARTFILE_SPEC "" -#define ENDFILE_SPEC "" - -#undef CPP_APCS_PC_DEFAULT_SPEC -#define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__" - -#undef CC1_SPEC -#define CC1_SPEC "%{!mapcs-32:%{!mapcs-26:-mapcs-32}}" - -#undef ASM_SPEC -#define ASM_SPEC " \ -%{mbig-endian:-EB} \ -%{mcpu=*:-m%*} \ -%{march=*:-m%*} \ -%{mapcs-*:-mapcs-%*} \ -%{mthumb-interwork:-mthumb-interwork} \ -%{!mapcs-32:%{!mapcs-26:-mapcs-32}} \ -" - -/* WinCE headers require -DARM */ -#undef PE_SUBTARGET_CPP_SPEC -#define PE_SUBTARGET_CPP_SPEC "-D__pe__ -DARM -D__unaligned=__attribute__((aligned(1))) " - -#undef SIZE_TYPE -#define SIZE_TYPE "long unsigned int" diff --git a/contrib/gcc/config/arm/riscix.h b/contrib/gcc/config/arm/riscix.h deleted file mode 100644 index 35fc23258d2e..000000000000 --- a/contrib/gcc/config/arm/riscix.h +++ /dev/null @@ -1,144 +0,0 @@ -/* Definitions of target machine for GNU compiler. ARM RISCiX version. - Copyright (C) 1993, 1994, 1995, 1997, 1999, 2000 - Free Software Foundation, Inc. - Contributed by Richard Earnshaw (rwe11@cl.cam.ac.uk), based on original - work by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl) - and Martin Simmons (@harleqn.co.uk). - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -/* Translation to find startup files. On RISC iX boxes, - crt0, mcrt0 and gcrt0.o are in /usr/lib. */ -#define STARTFILE_SPEC "\ - %{pg:/usr/lib/gcrt0.o%s}\ - %{!pg:%{p:/usr/lib/mcrt0.o%s}\ - %{!p:/usr/lib/crt0.o%s}}" - -/* RISC iX has no concept of -lg */ -/* If -static is specified then link with -lc_n */ - -#ifndef LIB_SPEC -#define LIB_SPEC "\ - %{g*:-lg}\ - %{!p:%{!pg:%{!static:-lc}%{static:-lc_n}}}\ - %{p:-lc_p}\ - %{pg:-lc_p}" -#endif - -/* The RISC iX assembler never deletes any symbols from the object module; - and, by default, ld doesn't either. -X causes local symbols starting - with 'L' to be deleted, which is what we want. */ -#ifndef LINK_SPEC -#define LINK_SPEC "-X" -#endif - -#ifndef CPP_PREDEFINES -#define CPP_PREDEFINES \ - "-Darm -Driscix -Dunix -Asystem=unix" -#endif - - -/* RISCiX has some weird symbol name munging, that is done to the object module - after assembly, which enables multiple libraries to be supported within - one (possibly shared) library. It basically changes the symbol name of - certain symbols (for example _bcopy is converted to _$bcopy if using BSD) - Symrename's parameters are determined as follows: - -mno-symrename Don't run symrename - -mbsd symrename -BSD <file> - -mxopen symrename -XOPEN <file> - -ansi symrename - <file> - <none> symrename -BSD <file> - */ - -#ifndef ASM_FINAL_SPEC -#if !defined (CROSS_COMPILE) -#define ASM_FINAL_SPEC "\ -%{!mno-symrename: \ - \n /usr/bin/symrename \ - -%{mbsd:%{pedantic:%e-mbsd and -pedantic incompatible}BSD}\ -%{mxopen:%{mbsd:%e-mbsd and -mxopen incompatible}\ -%{pedantic:%e-mxopen and -pedantic incompatible}XOPEN}\ -%{!mbsd:%{!mxopen:%{!ansi:BSD}}} %{c:%{o*:%*}%{!o*:%b.o}}%{!c:%U.o}}" -#endif -#endif - -/* None of these is actually used in cc1. If we don't define them in target - switches cc1 complains about them. For the sake of argument lets allocate - bit 31 of target flags for such options. */ -#define SUBTARGET_SWITCHES \ - {"bsd", 0x80000000, N_("Do symbol renaming for BSD")}, \ - {"xopen", 0x80000000, N_("Do symbol renaming for X/OPEN")}, \ - {"no-symrename", 0x80000000, N_("Don't do symbol renaming")}, - - -/* Run-time Target Specification. */ -#define TARGET_VERSION \ - fputs (" (ARM/RISCiX)", stderr); - -/* This is used in ASM_FILE_START */ -#define ARM_OS_NAME "RISCiX" - -/* Unsigned chars produces much better code than signed. */ -#define DEFAULT_SIGNED_CHAR 0 - -/* Some systems use __main in a way incompatible with its use in gcc, in these - cases use the macros NAME__MAIN to give a quoted symbol and SYMBOL__MAIN to - give the same symbol without quotes for an alternative entry point. You - must define both, or neither. */ -#ifndef NAME__MAIN -#define NAME__MAIN "__gccmain" -#define SYMBOL__MAIN __gccmain -#endif - -/* size_t is "unsigned int" in RISCiX */ -#define SIZE_TYPE "unsigned int" - -/* ptrdiff_t is "int" in RISCiX */ -#define PTRDIFF_TYPE "int" - -/* Maths operation domain error number, EDOM */ -#define TARGET_EDOM 33 - -/* Override the normal default CPU */ -#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm2 - -/* r10 is reserved by RISCiX */ -#define SUBTARGET_CONDITIONAL_REGISTER_USAGE \ - fixed_regs[10] = 1; \ - call_used_regs[10] = 1; - -#include "arm/aout.h" - -/* The RISCiX assembler does not understand .set */ -#undef SET_ASM_OP - -/* Add to CPP_SPEC, we want to add the right #defines when using the include - files. */ -#define SUBTARGET_CPP_SPEC "\ - %{mbsd:%{pedantic:%e-mbsd and -pedantic incompatible} -D_BSD_C} \ - %{mxopen:%{mbsd:%e-mbsd and -mxopen incompatible} \ - %{pedantic:%e-mxopen and -pedantic incompatible} -D_XOPEN_C} \ - %{!mbsd:%{!mxopen:%{!ansi: -D_BSD_C}}}" - -/* The native RISCiX assembler does not support stabs of any kind; because - the native assembler is not used by the compiler, Acorn didn't feel it was - necessary to put them in! */ - -#ifdef DBX_DEBUGGING_INFO -#undef DBX_DEBUGGING_INFO -#endif diff --git a/contrib/gcc/config/arm/riscix1-1.h b/contrib/gcc/config/arm/riscix1-1.h deleted file mode 100644 index fd93d40f05ea..000000000000 --- a/contrib/gcc/config/arm/riscix1-1.h +++ /dev/null @@ -1,103 +0,0 @@ -/* Definitions of target machine for GNU compiler. ARM RISCiX 1.1x version. - Copyright (C) 1993, 1995, 1997, 1999 Free Software Foundation, Inc. - Contributed by Richard Earnshaw (rwe11@cl.cam.ac.uk), based on original - work by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl) - and Martin Simmons (@harleqn.co.uk). - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -/* RISCiX 1.1x is basically the same as 1.2x except that it doesn't have - symrename or atexit. */ - -/* Translation to find startup files. On RISCiX boxes, gcrt0.o is in - /usr/lib. */ -#define STARTFILE_SPEC \ - "%{pg:/usr/lib/gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}" - -#ifndef CPP_PREDEFINES -#define CPP_PREDEFINES "-Darm -Driscix -Dunix -Asystem=unix" -#endif - -/* Riscix 1.1 doesn't have X/OPEN support, so only accept -mbsd (but ignore - it). - By not having -mxopen and -mno-symrename, we get warning messages, - but everything still compiles. */ -/* None of these is actually used in cc1, so they modify bit 31 */ -#define SUBTARGET_SWITCHES \ -{"bsd", 0x80000000, ""}, - - -/* Run-time Target Specification. */ -#define TARGET_VERSION \ - fputs (" (ARM/RISCiX)", stderr); - -/* This is used in ASM_FILE_START */ -#define ARM_OS_NAME "RISCiX" - -#ifdef riscos -#define TARGET_WHEN_DEBUGGING 3 -#else -#define TARGET_WHEN_DEBUGGING 1 -#endif - -/* 'char' is signed by default on RISCiX, unsigned on RISCOS. */ -#ifdef riscos -#define DEFAULT_SIGNED_CHAR 0 -#else -#define DEFAULT_SIGNED_CHAR 1 -#endif - -/* Define this if the target system lacks the function atexit from the - ANSI C standard. If this is defined, and ON_EXIT is not - defined, a default exit function will be provided to support C++. - The man page only describes on_exit, but atexit is also there. - This seems to be missing in early versions. - - FIXME Should we define ON_EXIT here? */ -#define NEED_ATEXIT - -/* Some systems use __main in a way incompatible with its use in gcc, in these - cases use the macros NAME__MAIN to give a quoted symbol and SYMBOL__MAIN to - give the same symbol without quotes for an alternative entry point. You - must define both, or neither. */ -#ifndef NAME__MAIN -#define NAME__MAIN "__gccmain" -#define SYMBOL__MAIN __gccmain -#endif - -/* Override the normal default CPU */ -#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm2 - -/* r10 is reserved by RISCiX */ -#define SUBTARGET_CONDITIONAL_REGISTER_USAGE \ - fixed_regs[10] = 1; \ - call_used_regs[10] = 1; - - -#include "arm/aout.h" - -#define SUBTARGET_CPP_SPEC "%{!ansi: -D_BSD_C}" - - -/* The native RISCiX assembler does not support stabs of any kind; because - the native assembler is not used by the compiler, Acorn didn't feel it was - necessary to put them in! */ - -#ifdef DBX_DEBUGGING_INFO -#undef DBX_DEBUGGING_INFO -#endif diff --git a/contrib/gcc/config/arm/rix-gas.h b/contrib/gcc/config/arm/rix-gas.h deleted file mode 100644 index cfb5312f3b6c..000000000000 --- a/contrib/gcc/config/arm/rix-gas.h +++ /dev/null @@ -1,42 +0,0 @@ -/* Definitions of target machine for GNU compiler. ARM RISCiX(stabs) version. - Copyright (C) 1993 Free Software Foundation, Inc. - Contributed by Richard Earnshaw (rwe11@cl.cam.ac.uk), based on original - work by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl) - and Martin Simmons (@harleqn.co.uk). - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -/* Limit the length of a stabs entry (for the broken Acorn assembler) */ -#undef DBX_CONTIN_LENGTH -#define DBX_CONTIN_LENGTH 80 - -/* The native RISCiX assembler does not support stabs of any kind; because - the native assembler is not used by the compiler, Acorn didn't feel it was - necessary to put them in! - However, this file assumes that we have an assembler that does have stabs, - so we put them back in. */ - -#define DBX_DEBUGGING_INFO - -/* Unfortunately dbx doesn't understand these */ -/* Dbx on RISCiX is so broken that I've given up trying to support it. - lets just support gdb. */ -/* #define DEFAULT_GDB_EXTENSIONS 0 */ -/* RISCiX dbx doesn't accept xrefs */ -/* #define DBX_NO_XREFS 1 */ - diff --git a/contrib/gcc/config/arm/t-riscix b/contrib/gcc/config/arm/t-riscix deleted file mode 100644 index 0d38cb0bb551..000000000000 --- a/contrib/gcc/config/arm/t-riscix +++ /dev/null @@ -1,6 +0,0 @@ -# Just for these, we omit the frame pointer since it makes such a big -# difference. It is then pointless adding debugging. -TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -LIBGCC2_DEBUG_CFLAGS = -g0 - -FIXPROTO_DEFINES= -D_POSIX_SOURCE -D_XOPEN_C -D_BSD_C -D_XOPEN_SOURCE diff --git a/contrib/gcc/config/float-c4x.h b/contrib/gcc/config/float-c4x.h deleted file mode 100644 index ba621766a699..000000000000 --- a/contrib/gcc/config/float-c4x.h +++ /dev/null @@ -1,96 +0,0 @@ -/* float.h for target with TMS320C3x/C4x floating point format */ -#ifndef _FLOAT_H_ -#define _FLOAT_H_ -/* Produced by enquire version 4.3, CWI, Amsterdam */ - - /* Radix of exponent representation */ -#undef FLT_RADIX -#define FLT_RADIX 2 - /* Number of base-FLT_RADIX digits in the significand of a float */ -#undef FLT_MANT_DIG -#define FLT_MANT_DIG 24 - /* Number of decimal digits of precision in a float */ -#undef FLT_DIG -#define FLT_DIG 6 - /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */ -#undef FLT_ROUNDS -#define FLT_ROUNDS 1 - /* Difference between 1.0 and the minimum float greater than 1.0 */ -#undef FLT_EPSILON -#define FLT_EPSILON 1.19209290e-07F - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */ -#undef FLT_MIN_EXP -#define FLT_MIN_EXP (-126) - /* Minimum normalised float */ -#undef FLT_MIN -#define FLT_MIN 5.8774718E-39F - /* Minimum int x such that 10**x is a normalised float */ -#undef FLT_MIN_10_EXP -#define FLT_MIN_10_EXP (-39) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */ -#undef FLT_MAX_EXP -#define FLT_MAX_EXP 128 - /* Maximum float */ -#undef FLT_MAX -#define FLT_MAX 3.4028235e+38F - /* Maximum int x such that 10**x is a representable float */ -#undef FLT_MAX_10_EXP -#define FLT_MAX_10_EXP 38 - - /* Number of base-FLT_RADIX digits in the significand of a double */ -#undef DBL_MANT_DIG -#define DBL_MANT_DIG 24 - /* Number of decimal digits of precision in a double */ -#undef DBL_DIG -#define DBL_DIG 6 - /* Difference between 1.0 and the minimum double greater than 1.0 */ -#undef DBL_EPSILON -#define DBL_EPSILON 1.1920929e-07 - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */ -#undef DBL_MIN_EXP -#define DBL_MIN_EXP (-126) - /* Minimum normalised double */ -#undef DBL_MIN -#define DBL_MIN 5.8774718E-39 - /* Minimum int x such that 10**x is a normalised double */ -#undef DBL_MIN_10_EXP -#define DBL_MIN_10_EXP -39 - /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */ -#undef DBL_MAX_EXP -#define DBL_MAX_EXP 128 - /* Maximum double */ -#undef DBL_MAX -#define DBL_MAX 3.4028235E+38 - /* Maximum int x such that 10**x is a representable double */ -#undef DBL_MAX_10_EXP -#define DBL_MAX_10_EXP 38 - - /* Number of base-FLT_RADIX digits in the significand of a long double */ -#undef LDBL_MANT_DIG -#define LDBL_MANT_DIG 32 - /* Number of decimal digits of precision in a long double */ -#undef LDBL_DIG -#define LDBL_DIG 8 - /* Difference between 1.0 and the minimum long double greater than 1.0 */ -#undef LDBL_EPSILON -#define LDBL_EPSILON 1.19209287e-07L - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */ -#undef LDBL_MIN_EXP -#define LDBL_MIN_EXP (-126) - /* Minimum normalised long double */ -#undef LDBL_MIN -#define LDBL_MIN 5.8774717535e-39L - /* Minimum int x such that 10**x is a normalised long double */ -#undef LDBL_MIN_10_EXP -#define LDBL_MIN_10_EXP (-39) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */ -#undef LDBL_MAX_EXP -#define LDBL_MAX_EXP 128 - /* Maximum long double */ -#undef LDBL_MAX -#define LDBL_MAX .4028236688e+38L - /* Maximum int x such that 10**x is a representable long double */ -#undef LDBL_MAX_10_EXP -#define LDBL_MAX_10_EXP 38 - -#endif /* _FLOAT_H_ */ diff --git a/contrib/gcc/config/float-i128.h b/contrib/gcc/config/float-i128.h deleted file mode 100644 index c61c82f18ac5..000000000000 --- a/contrib/gcc/config/float-i128.h +++ /dev/null @@ -1,123 +0,0 @@ -/* float.h for target with IEEE 32, 64 and 128 bit floating point formats */ -#ifndef _FLOAT_H_ -#define _FLOAT_H_ -/* Produced by enquire version 4.3, CWI, Amsterdam */ - - /* Radix of exponent representation */ -#undef FLT_RADIX -#define FLT_RADIX 2 - /* Number of base-FLT_RADIX digits in the significand of a float */ -#undef FLT_MANT_DIG -#define FLT_MANT_DIG 24 - /* Number of decimal digits of precision in a float */ -#undef FLT_DIG -#define FLT_DIG 6 - /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */ -#undef FLT_ROUNDS -#define FLT_ROUNDS 1 - /* Difference between 1.0 and the minimum float greater than 1.0 */ -#undef FLT_EPSILON -#define FLT_EPSILON 1.19209290e-07F - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */ -#undef FLT_MIN_EXP -#define FLT_MIN_EXP (-125) - /* Minimum normalised float */ -#undef FLT_MIN -#define FLT_MIN 1.17549435e-38F - /* Minimum int x such that 10**x is a normalised float */ -#undef FLT_MIN_10_EXP -#define FLT_MIN_10_EXP (-37) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */ -#undef FLT_MAX_EXP -#define FLT_MAX_EXP 128 - /* Maximum float */ -#undef FLT_MAX -#define FLT_MAX 3.40282347e+38F - /* Maximum int x such that 10**x is a representable float */ -#undef FLT_MAX_10_EXP -#define FLT_MAX_10_EXP 38 - - /* Number of base-FLT_RADIX digits in the significand of a double */ -#undef DBL_MANT_DIG -#define DBL_MANT_DIG 53 - /* Number of decimal digits of precision in a double */ -#undef DBL_DIG -#define DBL_DIG 15 - /* Difference between 1.0 and the minimum double greater than 1.0 */ -#undef DBL_EPSILON -#define DBL_EPSILON 2.2204460492503131e-16 - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */ -#undef DBL_MIN_EXP -#define DBL_MIN_EXP (-1021) - /* Minimum normalised double */ -#undef DBL_MIN -#define DBL_MIN 2.2250738585072014e-308 - /* Minimum int x such that 10**x is a normalised double */ -#undef DBL_MIN_10_EXP -#define DBL_MIN_10_EXP (-307) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */ -#undef DBL_MAX_EXP -#define DBL_MAX_EXP 1024 - /* Maximum double */ -#undef DBL_MAX -#define DBL_MAX 1.7976931348623157e+308 - /* Maximum int x such that 10**x is a representable double */ -#undef DBL_MAX_10_EXP -#define DBL_MAX_10_EXP 308 - - /* Number of base-FLT_RADIX digits in the significand of a long double */ -#undef LDBL_MANT_DIG -#define LDBL_MANT_DIG 113 - /* Number of decimal digits of precision in a long double */ -#undef LDBL_DIG -#define LDBL_DIG 33 - /* Difference between 1.0 and the minimum long double greater than 1.0 */ -#undef LDBL_EPSILON -#define LDBL_EPSILON 1.925929944387235853055977942584927319E-34L - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */ -#undef LDBL_MIN_EXP -#define LDBL_MIN_EXP (-16381) - /* Minimum normalised long double */ -#undef LDBL_MIN -#define LDBL_MIN 3.362103143112093506262677817321752603E-4932L - /* Minimum int x such that 10**x is a normalised long double */ -#undef LDBL_MIN_10_EXP -#define LDBL_MIN_10_EXP (-4931) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */ -#undef LDBL_MAX_EXP -#define LDBL_MAX_EXP 16384 - /* Maximum long double */ -#undef LDBL_MAX -#define LDBL_MAX 1.189731495357231765085759326628007016E+4932L - /* Maximum int x such that 10**x is a representable long double */ -#undef LDBL_MAX_10_EXP -#define LDBL_MAX_10_EXP 4932 - -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - /* The floating-point expression evaluation method. - -1 indeterminate - 0 evaluate all operations and constants just to the range and - precision of the type - 1 evaluate operations and constants of type float and double - to the range and precision of the double type, evaluate - long double operations and constants to the range and - precision of the long double type - 2 evaluate all operations and constants to the range and - precision of the long double type - */ -# undef FLT_EVAL_METHOD -# define FLT_EVAL_METHOD 0 - - /* Number of decimal digits to enable rounding to the given number of - decimal digits without loss of precision. - if FLT_RADIX == 10^n: #mantissa * log10 (FLT_RADIX) - else : ceil (1 + #mantissa * log10 (FLT_RADIX)) - where #mantissa is the number of bits in the mantissa of the widest - supported floating-point type. - */ -# undef DECIMAL_DIG -# define DECIMAL_DIG 36 - -#endif /* C99 */ - -#endif /* _FLOAT_H_ */ diff --git a/contrib/gcc/config/float-i32.h b/contrib/gcc/config/float-i32.h deleted file mode 100644 index 3e633d8f38d9..000000000000 --- a/contrib/gcc/config/float-i32.h +++ /dev/null @@ -1,123 +0,0 @@ -/* float.h for target with only IEEE 32 bit floating point format */ -#ifndef _FLOAT_H_ -#define _FLOAT_H_ -/* Produced by enquire version 4.3, CWI, Amsterdam */ - - /* Radix of exponent representation */ -#undef FLT_RADIX -#define FLT_RADIX 2 - /* Number of base-FLT_RADIX digits in the significand of a float */ -#undef FLT_MANT_DIG -#define FLT_MANT_DIG 24 - /* Number of decimal digits of precision in a float */ -#undef FLT_DIG -#define FLT_DIG 6 - /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */ -#undef FLT_ROUNDS -#define FLT_ROUNDS 1 - /* Difference between 1.0 and the minimum float greater than 1.0 */ -#undef FLT_EPSILON -#define FLT_EPSILON 1.19209290e-07F - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */ -#undef FLT_MIN_EXP -#define FLT_MIN_EXP (-125) - /* Minimum normalised float */ -#undef FLT_MIN -#define FLT_MIN 1.17549435e-38F - /* Minimum int x such that 10**x is a normalised float */ -#undef FLT_MIN_10_EXP -#define FLT_MIN_10_EXP (-37) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */ -#undef FLT_MAX_EXP -#define FLT_MAX_EXP 128 - /* Maximum float */ -#undef FLT_MAX -#define FLT_MAX 3.40282347e+38F - /* Maximum int x such that 10**x is a representable float */ -#undef FLT_MAX_10_EXP -#define FLT_MAX_10_EXP 38 - - /* Number of base-FLT_RADIX digits in the significand of a double */ -#undef DBL_MANT_DIG -#define DBL_MANT_DIG 24 - /* Number of decimal digits of precision in a double */ -#undef DBL_DIG -#define DBL_DIG 6 - /* Difference between 1.0 and the minimum double greater than 1.0 */ -#undef DBL_EPSILON -#define DBL_EPSILON 1.19209290e-07F - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */ -#undef DBL_MIN_EXP -#define DBL_MIN_EXP (-125) - /* Minimum normalised double */ -#undef DBL_MIN -#define DBL_MIN 1.17549435e-38F - /* Minimum int x such that 10**x is a normalised double */ -#undef DBL_MIN_10_EXP -#define DBL_MIN_10_EXP (-37) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */ -#undef DBL_MAX_EXP -#define DBL_MAX_EXP 128 - /* Maximum double */ -#undef DBL_MAX -#define DBL_MAX 3.40282347e+38F - /* Maximum int x such that 10**x is a representable double */ -#undef DBL_MAX_10_EXP -#define DBL_MAX_10_EXP 38 - - /* Number of base-FLT_RADIX digits in the significand of a long double */ -#undef LDBL_MANT_DIG -#define LDBL_MANT_DIG 24 - /* Number of decimal digits of precision in a long double */ -#undef LDBL_DIG -#define LDBL_DIG 6 - /* Difference between 1.0 and the minimum long double greater than 1.0 */ -#undef LDBL_EPSILON -#define LDBL_EPSILON 1.19209290e-07F - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */ -#undef LDBL_MIN_EXP -#define LDBL_MIN_EXP (-125) - /* Minimum normalised long double */ -#undef LDBL_MIN -#define LDBL_MIN 1.17549435e-38F - /* Minimum int x such that 10**x is a normalised long double */ -#undef LDBL_MIN_10_EXP -#define LDBL_MIN_10_EXP (-37) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */ -#undef LDBL_MAX_EXP -#define LDBL_MAX_EXP 128 - /* Maximum long double */ -#undef LDBL_MAX -#define LDBL_MAX 3.40282347e+38F - /* Maximum int x such that 10**x is a representable long double */ -#undef LDBL_MAX_10_EXP -#define LDBL_MAX_10_EXP 38 - -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - /* The floating-point expression evaluation method. - -1 indeterminate - 0 evaluate all operations and constants just to the range and - precision of the type - 1 evaluate operations and constants of type float and double - to the range and precision of the double type, evaluate - long double operations and constants to the range and - precision of the long double type - 2 evaluate all operations and constants to the range and - precision of the long double type - */ -# undef FLT_EVAL_METHOD -# define FLT_EVAL_METHOD 0 - - /* Number of decimal digits to enable rounding to the given number of - decimal digits without loss of precision. - if FLT_RADIX == 10^n: #mantissa * log10 (FLT_RADIX) - else : ceil (1 + #mantissa * log10 (FLT_RADIX)) - where #mantissa is the number of bits in the mantissa of the widest - supported floating-point type. - */ -# undef DECIMAL_DIG -# define DECIMAL_DIG 9 - -#endif /* C99 */ - -#endif /* _FLOAT_H_ */ diff --git a/contrib/gcc/config/float-i386.h b/contrib/gcc/config/float-i386.h deleted file mode 100644 index 6abb4f2b7b2b..000000000000 --- a/contrib/gcc/config/float-i386.h +++ /dev/null @@ -1,124 +0,0 @@ -/* float.h for target with IEEE 32/64 bit and Intel 386 style 80 bit - floating point formats */ -#ifndef _FLOAT_H_ -#define _FLOAT_H_ -/* Produced by enquire version 4.3, CWI, Amsterdam */ - - /* Radix of exponent representation */ -#undef FLT_RADIX -#define FLT_RADIX 2 - /* Number of base-FLT_RADIX digits in the significand of a float */ -#undef FLT_MANT_DIG -#define FLT_MANT_DIG 24 - /* Number of decimal digits of precision in a float */ -#undef FLT_DIG -#define FLT_DIG 6 - /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */ -#undef FLT_ROUNDS -#define FLT_ROUNDS 1 - /* Difference between 1.0 and the minimum float greater than 1.0 */ -#undef FLT_EPSILON -#define FLT_EPSILON 1.19209290e-07F - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */ -#undef FLT_MIN_EXP -#define FLT_MIN_EXP (-125) - /* Minimum normalised float */ -#undef FLT_MIN -#define FLT_MIN 1.17549435e-38F - /* Minimum int x such that 10**x is a normalised float */ -#undef FLT_MIN_10_EXP -#define FLT_MIN_10_EXP (-37) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */ -#undef FLT_MAX_EXP -#define FLT_MAX_EXP 128 - /* Maximum float */ -#undef FLT_MAX -#define FLT_MAX 3.40282347e+38F - /* Maximum int x such that 10**x is a representable float */ -#undef FLT_MAX_10_EXP -#define FLT_MAX_10_EXP 38 - - /* Number of base-FLT_RADIX digits in the significand of a double */ -#undef DBL_MANT_DIG -#define DBL_MANT_DIG 53 - /* Number of decimal digits of precision in a double */ -#undef DBL_DIG -#define DBL_DIG 15 - /* Difference between 1.0 and the minimum double greater than 1.0 */ -#undef DBL_EPSILON -#define DBL_EPSILON 2.2204460492503131e-16 - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */ -#undef DBL_MIN_EXP -#define DBL_MIN_EXP (-1021) - /* Minimum normalised double */ -#undef DBL_MIN -#define DBL_MIN 2.2250738585072014e-308 - /* Minimum int x such that 10**x is a normalised double */ -#undef DBL_MIN_10_EXP -#define DBL_MIN_10_EXP (-307) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */ -#undef DBL_MAX_EXP -#define DBL_MAX_EXP 1024 - /* Maximum double */ -#undef DBL_MAX -#define DBL_MAX 1.7976931348623157e+308 - /* Maximum int x such that 10**x is a representable double */ -#undef DBL_MAX_10_EXP -#define DBL_MAX_10_EXP 308 - - /* Number of base-FLT_RADIX digits in the significand of a long double */ -#undef LDBL_MANT_DIG -#define LDBL_MANT_DIG 64 - /* Number of decimal digits of precision in a long double */ -#undef LDBL_DIG -#define LDBL_DIG 18 - /* Difference between 1.0 and the minimum long double greater than 1.0 */ -#undef LDBL_EPSILON -#define LDBL_EPSILON 1.08420217248550443401e-19L - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */ -#undef LDBL_MIN_EXP -#define LDBL_MIN_EXP (-16381) - /* Minimum normalised long double */ -#undef LDBL_MIN -#define LDBL_MIN 3.36210314311209350626e-4932L - /* Minimum int x such that 10**x is a normalised long double */ -#undef LDBL_MIN_10_EXP -#define LDBL_MIN_10_EXP (-4931) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */ -#undef LDBL_MAX_EXP -#define LDBL_MAX_EXP 16384 - /* Maximum long double */ -#undef LDBL_MAX -#define LDBL_MAX 1.18973149535723176502e+4932L - /* Maximum int x such that 10**x is a representable long double */ -#undef LDBL_MAX_10_EXP -#define LDBL_MAX_10_EXP 4932 - -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - /* The floating-point expression evaluation method. - -1 indeterminate - 0 evaluate all operations and constants just to the range and - precision of the type - 1 evaluate operations and constants of type float and double - to the range and precision of the double type, evaluate - long double operations and constants to the range and - precision of the long double type - 2 evaluate all operations and constants to the range and - precision of the long double type - */ -# undef FLT_EVAL_METHOD -# define FLT_EVAL_METHOD 2 - - /* Number of decimal digits to enable rounding to the given number of - decimal digits without loss of precision. - if FLT_RADIX == 10^n: #mantissa * log10 (FLT_RADIX) - else : ceil (1 + #mantissa * log10 (FLT_RADIX)) - where #mantissa is the number of bits in the mantissa of the widest - supported floating-point type. - */ -# undef DECIMAL_DIG -# define DECIMAL_DIG 21 - -#endif /* C99 */ - -#endif /* _FLOAT_H___ */ diff --git a/contrib/gcc/config/float-i64.h b/contrib/gcc/config/float-i64.h deleted file mode 100644 index 735f74236350..000000000000 --- a/contrib/gcc/config/float-i64.h +++ /dev/null @@ -1,123 +0,0 @@ -/* float.h for target with IEEE 32 bit and 64 bit floating point formats */ -#ifndef _FLOAT_H_ -#define _FLOAT_H_ -/* Produced by enquire version 4.3, CWI, Amsterdam */ - - /* Radix of exponent representation */ -#undef FLT_RADIX -#define FLT_RADIX 2 - /* Number of base-FLT_RADIX digits in the significand of a float */ -#undef FLT_MANT_DIG -#define FLT_MANT_DIG 24 - /* Number of decimal digits of precision in a float */ -#undef FLT_DIG -#define FLT_DIG 6 - /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */ -#undef FLT_ROUNDS -#define FLT_ROUNDS 1 - /* Difference between 1.0 and the minimum float greater than 1.0 */ -#undef FLT_EPSILON -#define FLT_EPSILON 1.19209290e-07F - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */ -#undef FLT_MIN_EXP -#define FLT_MIN_EXP (-125) - /* Minimum normalised float */ -#undef FLT_MIN -#define FLT_MIN 1.17549435e-38F - /* Minimum int x such that 10**x is a normalised float */ -#undef FLT_MIN_10_EXP -#define FLT_MIN_10_EXP (-37) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */ -#undef FLT_MAX_EXP -#define FLT_MAX_EXP 128 - /* Maximum float */ -#undef FLT_MAX -#define FLT_MAX 3.40282347e+38F - /* Maximum int x such that 10**x is a representable float */ -#undef FLT_MAX_10_EXP -#define FLT_MAX_10_EXP 38 - - /* Number of base-FLT_RADIX digits in the significand of a double */ -#undef DBL_MANT_DIG -#define DBL_MANT_DIG 53 - /* Number of decimal digits of precision in a double */ -#undef DBL_DIG -#define DBL_DIG 15 - /* Difference between 1.0 and the minimum double greater than 1.0 */ -#undef DBL_EPSILON -#define DBL_EPSILON 2.2204460492503131e-16 - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */ -#undef DBL_MIN_EXP -#define DBL_MIN_EXP (-1021) - /* Minimum normalised double */ -#undef DBL_MIN -#define DBL_MIN 2.2250738585072014e-308 - /* Minimum int x such that 10**x is a normalised double */ -#undef DBL_MIN_10_EXP -#define DBL_MIN_10_EXP (-307) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */ -#undef DBL_MAX_EXP -#define DBL_MAX_EXP 1024 - /* Maximum double */ -#undef DBL_MAX -#define DBL_MAX 1.7976931348623157e+308 - /* Maximum int x such that 10**x is a representable double */ -#undef DBL_MAX_10_EXP -#define DBL_MAX_10_EXP 308 - - /* Number of base-FLT_RADIX digits in the significand of a long double */ -#undef LDBL_MANT_DIG -#define LDBL_MANT_DIG 53 - /* Number of decimal digits of precision in a long double */ -#undef LDBL_DIG -#define LDBL_DIG 15 - /* Difference between 1.0 and the minimum long double greater than 1.0 */ -#undef LDBL_EPSILON -#define LDBL_EPSILON 2.2204460492503131e-16L - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */ -#undef LDBL_MIN_EXP -#define LDBL_MIN_EXP (-1021) - /* Minimum normalised long double */ -#undef LDBL_MIN -#define LDBL_MIN 2.2250738585072014e-308L - /* Minimum int x such that 10**x is a normalised long double */ -#undef LDBL_MIN_10_EXP -#define LDBL_MIN_10_EXP (-307) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */ -#undef LDBL_MAX_EXP -#define LDBL_MAX_EXP 1024 - /* Maximum long double */ -#undef LDBL_MAX -#define LDBL_MAX 1.7976931348623157e+308L - /* Maximum int x such that 10**x is a representable long double */ -#undef LDBL_MAX_10_EXP -#define LDBL_MAX_10_EXP 308 - -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - /* The floating-point expression evaluation method. - -1 indeterminate - 0 evaluate all operations and constants just to the range and - precision of the type - 1 evaluate operations and constants of type float and double - to the range and precision of the double type, evaluate - long double operations and constants to the range and - precision of the long double type - 2 evaluate all operations and constants to the range and - precision of the long double type - */ -# undef FLT_EVAL_METHOD -# define FLT_EVAL_METHOD 0 - - /* Number of decimal digits to enable rounding to the given number of - decimal digits without loss of precision. - if FLT_RADIX == 10^n: #mantissa * log10 (FLT_RADIX) - else : ceil (1 + #mantissa * log10 (FLT_RADIX)) - where #mantissa is the number of bits in the mantissa of the widest - supported floating-point type. - */ -# undef DECIMAL_DIG -# define DECIMAL_DIG 17 - -#endif /* C99 */ - -#endif /* _FLOAT_H_ */ diff --git a/contrib/gcc/config/float-m68k.h b/contrib/gcc/config/float-m68k.h deleted file mode 100644 index 837126b7de56..000000000000 --- a/contrib/gcc/config/float-m68k.h +++ /dev/null @@ -1,127 +0,0 @@ -/* float.h for target with IEEE 32 bit and 64 bit and Motorola style 96 bit - floating point formats */ -#ifndef _FLOAT_H_ -#define _FLOAT_H_ -/* Produced by enquire version 4.3, CWI, Amsterdam */ - - /* Radix of exponent representation */ -#undef FLT_RADIX -#define FLT_RADIX 2 - /* Number of base-FLT_RADIX digits in the significand of a float */ -#undef FLT_MANT_DIG -#define FLT_MANT_DIG 24 - /* Number of decimal digits of precision in a float */ -#undef FLT_DIG -#define FLT_DIG 6 - /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */ -#undef FLT_ROUNDS -#define FLT_ROUNDS 1 - /* Difference between 1.0 and the minimum float greater than 1.0 */ -#undef FLT_EPSILON -#define FLT_EPSILON 1.19209290e-07F - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */ -#undef FLT_MIN_EXP -#define FLT_MIN_EXP (-125) - /* Minimum normalised float */ -#undef FLT_MIN -#define FLT_MIN 1.17549435e-38F - /* Minimum int x such that 10**x is a normalised float */ -#undef FLT_MIN_10_EXP -#define FLT_MIN_10_EXP (-37) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */ -#undef FLT_MAX_EXP -#define FLT_MAX_EXP 128 - /* Maximum float */ -#undef FLT_MAX -#define FLT_MAX 3.40282347e+38F - /* Maximum int x such that 10**x is a representable float */ -#undef FLT_MAX_10_EXP -#define FLT_MAX_10_EXP 38 - - /* Number of base-FLT_RADIX digits in the significand of a double */ -#undef DBL_MANT_DIG -#define DBL_MANT_DIG 53 - /* Number of decimal digits of precision in a double */ -#undef DBL_DIG -#define DBL_DIG 15 - /* Difference between 1.0 and the minimum double greater than 1.0 */ -#undef DBL_EPSILON -#define DBL_EPSILON 2.2204460492503131e-16 - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */ -#undef DBL_MIN_EXP -#define DBL_MIN_EXP (-1021) - /* Minimum normalised double */ -#undef DBL_MIN -#define DBL_MIN 2.2250738585072014e-308 - /* Minimum int x such that 10**x is a normalised double */ -#undef DBL_MIN_10_EXP -#define DBL_MIN_10_EXP (-307) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */ -#undef DBL_MAX_EXP -#define DBL_MAX_EXP 1024 - /* Maximum double */ -#undef DBL_MAX -#define DBL_MAX 1.7976931348623157e+308 - /* Maximum int x such that 10**x is a representable double */ -#undef DBL_MAX_10_EXP -#define DBL_MAX_10_EXP 308 - - /* Number of base-FLT_RADIX digits in the significand of a long double */ -#undef LDBL_MANT_DIG -#define LDBL_MANT_DIG 64 - /* Number of decimal digits of precision in a long double */ -#undef LDBL_DIG -#define LDBL_DIG 18 - /* Difference between 1.0 and the minimum long double greater than 1.0 */ -#undef LDBL_EPSILON -#define LDBL_EPSILON 1.08420217248550443401e-19L - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */ -#undef LDBL_MIN_EXP -#define LDBL_MIN_EXP (-16382) - /* Minimum normalised long double */ -#undef LDBL_MIN -#define LDBL_MIN 1.68105157155604675313e-4932L - /* Minimum int x such that 10**x is a normalised long double */ -#undef LDBL_MIN_10_EXP -#define LDBL_MIN_10_EXP (-4931) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */ -#undef LDBL_MAX_EXP -#define LDBL_MAX_EXP 16384 - /* Maximum long double */ -#undef LDBL_MAX -#define LDBL_MAX 1.18973149535723176502e+4932L - /* Maximum int x such that 10**x is a representable long double */ -#undef LDBL_MAX_10_EXP -#define LDBL_MAX_10_EXP 4932 - -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - /* The floating-point expression evaluation method. - -1 indeterminate - 0 evaluate all operations and constants just to the range and - precision of the type - 1 evaluate operations and constants of type float and double - to the range and precision of the double type, evaluate - long double operations and constants to the range and - precision of the long double type - 2 evaluate all operations and constants to the range and - precision of the long double type - */ - -/* ??? FLT_EVAL_METHOD depends on TARGET_68040_ONLY. We do not currently - have a preprocessor token that we can use to tell that this is on. */ -# undef FLT_EVAL_METHOD -# define FLT_EVAL_METHOD -1 - - /* Number of decimal digits to enable rounding to the given number of - decimal digits without loss of precision. - if FLT_RADIX == 10^n: #mantissa * log10 (FLT_RADIX) - else : ceil (1 + #mantissa * log10 (FLT_RADIX)) - where #mantissa is the number of bits in the mantissa of the widest - supported floating-point type. - */ -# undef DECIMAL_DIG -# define DECIMAL_DIG 21 - -#endif /* C99 */ - -#endif /* _FLOAT_H_ */ diff --git a/contrib/gcc/config/float-sh.h b/contrib/gcc/config/float-sh.h deleted file mode 100644 index 598994b5376c..000000000000 --- a/contrib/gcc/config/float-sh.h +++ /dev/null @@ -1,160 +0,0 @@ -/* float.h for target sh3e with optional IEEE 32 bit double format */ -#ifndef _FLOAT_H_ -#define _FLOAT_H_ -/* Produced by enquire version 4.3, CWI, Amsterdam */ - - /* Radix of exponent representation */ -#undef FLT_RADIX -#define FLT_RADIX 2 - /* Number of base-FLT_RADIX digits in the significand of a float */ -#undef FLT_MANT_DIG -#define FLT_MANT_DIG 24 - /* Number of decimal digits of precision in a float */ -#undef FLT_DIG -#define FLT_DIG 6 - /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */ -#undef FLT_ROUNDS -#define FLT_ROUNDS 1 - /* Difference between 1.0 and the minimum float greater than 1.0 */ -#undef FLT_EPSILON -#define FLT_EPSILON 1.19209290e-07F - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */ -#undef FLT_MIN_EXP -#define FLT_MIN_EXP (-125) - /* Minimum normalised float */ -#undef FLT_MIN -#define FLT_MIN 1.17549435e-38F - /* Minimum int x such that 10**x is a normalised float */ -#undef FLT_MIN_10_EXP -#define FLT_MIN_10_EXP (-37) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */ -#undef FLT_MAX_EXP -#define FLT_MAX_EXP 128 - /* Maximum float */ -#undef FLT_MAX -#define FLT_MAX 3.40282347e+38F - /* Maximum int x such that 10**x is a representable float */ -#undef FLT_MAX_10_EXP -#define FLT_MAX_10_EXP 38 - -#if defined (__SH3E__) || defined (__SH4_SINGLE_ONLY__) - - /* Number of base-FLT_RADIX digits in the significand of a double */ -#undef DBL_MANT_DIG -#define DBL_MANT_DIG 24 - /* Number of decimal digits of precision in a double */ -#undef DBL_DIG -#define DBL_DIG 6 - /* Difference between 1.0 and the minimum double greater than 1.0 */ -#undef DBL_EPSILON -#define DBL_EPSILON 1.19209290e-07F - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */ -#undef DBL_MIN_EXP -#define DBL_MIN_EXP (-125) - /* Minimum normalised double */ -#undef DBL_MIN -#define DBL_MIN 1.17549435e-38F - /* Minimum int x such that 10**x is a normalised double */ -#undef DBL_MIN_10_EXP -#define DBL_MIN_10_EXP (-37) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */ -#undef DBL_MAX_EXP -#define DBL_MAX_EXP 128 - /* Maximum double */ -#undef DBL_MAX -#define DBL_MAX 3.40282347e+38F - /* Maximum int x such that 10**x is a representable double */ -#undef DBL_MAX_10_EXP -#define DBL_MAX_10_EXP 38 - -#else - - /* Number of base-FLT_RADIX digits in the significand of a double */ -#undef DBL_MANT_DIG -#define DBL_MANT_DIG 53 - /* Number of decimal digits of precision in a double */ -#undef DBL_DIG -#define DBL_DIG 15 - /* Difference between 1.0 and the minimum double greater than 1.0 */ -#undef DBL_EPSILON -#define DBL_EPSILON 2.2204460492503131e-16 - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */ -#undef DBL_MIN_EXP -#define DBL_MIN_EXP (-1021) - /* Minimum normalised double */ -#undef DBL_MIN -#define DBL_MIN 2.2250738585072014e-308 - /* Minimum int x such that 10**x is a normalised double */ -#undef DBL_MIN_10_EXP -#define DBL_MIN_10_EXP (-307) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */ -#undef DBL_MAX_EXP -#define DBL_MAX_EXP 1024 - /* Maximum double */ -#undef DBL_MAX -#define DBL_MAX 1.7976931348623157e+308 - /* Maximum int x such that 10**x is a representable double */ -#undef DBL_MAX_10_EXP -#define DBL_MAX_10_EXP 308 - -#endif - -/* Because -m3e and -m4-single-only have 32-bit doubles, we append L - to the doubles below, so that they're not truncated. */ - - /* Number of base-FLT_RADIX digits in the significand of a long double */ -#undef LDBL_MANT_DIG -#define LDBL_MANT_DIG 53 - /* Number of decimal digits of precision in a long double */ -#undef LDBL_DIG -#define LDBL_DIG 15 - /* Difference between 1.0 and the minimum long double greater than 1.0 */ -#undef LDBL_EPSILON -#define LDBL_EPSILON 2.2204460492503131e-16L - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */ -#undef LDBL_MIN_EXP -#define LDBL_MIN_EXP (-1021) - /* Minimum normalised long double */ -#undef LDBL_MIN -#define LDBL_MIN 2.2250738585072014e-308L - /* Minimum int x such that 10**x is a normalised long double */ -#undef LDBL_MIN_10_EXP -#define LDBL_MIN_10_EXP (-307) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */ -#undef LDBL_MAX_EXP -#define LDBL_MAX_EXP 1024 - /* Maximum long double */ -#undef LDBL_MAX -#define LDBL_MAX 1.7976931348623157e+308L - /* Maximum int x such that 10**x is a representable long double */ -#undef LDBL_MAX_10_EXP -#define LDBL_MAX_10_EXP 308 - -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - /* The floating-point expression evaluation method. - -1 indeterminate - 0 evaluate all operations and constants just to the range and - precision of the type - 1 evaluate operations and constants of type float and double - to the range and precision of the double type, evaluate - long double operations and constants to the range and - precision of the long double type - 2 evaluate all operations and constants to the range and - precision of the long double type - */ -# undef FLT_EVAL_METHOD -# define FLT_EVAL_METHOD 0 - - /* Number of decimal digits to enable rounding to the given number of - decimal digits without loss of precision. - if FLT_RADIX == 10^n: #mantissa * log10 (FLT_RADIX) - else : ceil (1 + #mantissa * log10 (FLT_RADIX)) - where #mantissa is the number of bits in the mantissa of the widest - supported floating-point type. - */ -# undef DECIMAL_DIG -# define DECIMAL_DIG 17 - -#endif /* C99 */ - -#endif /* _FLOAT_H_ */ diff --git a/contrib/gcc/config/float-sparc.h b/contrib/gcc/config/float-sparc.h deleted file mode 100644 index 84250e520a6b..000000000000 --- a/contrib/gcc/config/float-sparc.h +++ /dev/null @@ -1,153 +0,0 @@ -/* float.h for target with IEEE 32, 64 and 128 bit SPARC floating point formats - (on sparc-linux long double is 64 bit, while on sparc64-linux 128 bit) */ -#ifndef _FLOAT_H_ -#define _FLOAT_H_ -/* Produced by enquire version 4.3, CWI, Amsterdam */ - - /* Radix of exponent representation */ -#undef FLT_RADIX -#define FLT_RADIX 2 - /* Number of base-FLT_RADIX digits in the significand of a float */ -#undef FLT_MANT_DIG -#define FLT_MANT_DIG 24 - /* Number of decimal digits of precision in a float */ -#undef FLT_DIG -#define FLT_DIG 6 - /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */ -#undef FLT_ROUNDS -#define FLT_ROUNDS 1 - /* Difference between 1.0 and the minimum float greater than 1.0 */ -#undef FLT_EPSILON -#define FLT_EPSILON 1.19209290e-07F - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */ -#undef FLT_MIN_EXP -#define FLT_MIN_EXP (-125) - /* Minimum normalised float */ -#undef FLT_MIN -#define FLT_MIN 1.17549435e-38F - /* Minimum int x such that 10**x is a normalised float */ -#undef FLT_MIN_10_EXP -#define FLT_MIN_10_EXP (-37) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */ -#undef FLT_MAX_EXP -#define FLT_MAX_EXP 128 - /* Maximum float */ -#undef FLT_MAX -#define FLT_MAX 3.40282347e+38F - /* Maximum int x such that 10**x is a representable float */ -#undef FLT_MAX_10_EXP -#define FLT_MAX_10_EXP 38 - - /* Number of base-FLT_RADIX digits in the significand of a double */ -#undef DBL_MANT_DIG -#define DBL_MANT_DIG 53 - /* Number of decimal digits of precision in a double */ -#undef DBL_DIG -#define DBL_DIG 15 - /* Difference between 1.0 and the minimum double greater than 1.0 */ -#undef DBL_EPSILON -#define DBL_EPSILON 2.2204460492503131e-16 - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */ -#undef DBL_MIN_EXP -#define DBL_MIN_EXP (-1021) - /* Minimum normalised double */ -#undef DBL_MIN -#define DBL_MIN 2.2250738585072014e-308 - /* Minimum int x such that 10**x is a normalised double */ -#undef DBL_MIN_10_EXP -#define DBL_MIN_10_EXP (-307) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */ -#undef DBL_MAX_EXP -#define DBL_MAX_EXP 1024 - /* Maximum double */ -#undef DBL_MAX -#define DBL_MAX 1.7976931348623157e+308 - /* Maximum int x such that 10**x is a representable double */ -#undef DBL_MAX_10_EXP -#define DBL_MAX_10_EXP 308 - -#if defined(__sparcv9) || defined(__arch64__) || defined(__LONG_DOUBLE_128__) - - /* Number of base-FLT_RADIX digits in the significand of a long double */ -#undef LDBL_MANT_DIG -#define LDBL_MANT_DIG 113 - /* Number of decimal digits of precision in a long double */ -#undef LDBL_DIG -#define LDBL_DIG 33 - /* Difference between 1.0 and the minimum long double greater than 1.0 */ -#undef LDBL_EPSILON -#define LDBL_EPSILON 1.925929944387235853055977942584927319E-34L - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */ -#undef LDBL_MIN_EXP -#define LDBL_MIN_EXP (-16381) - /* Minimum normalised long double */ -#undef LDBL_MIN -#define LDBL_MIN 3.362103143112093506262677817321752603E-4932L - /* Minimum int x such that 10**x is a normalised long double */ -#undef LDBL_MIN_10_EXP -#define LDBL_MIN_10_EXP (-4931) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */ -#undef LDBL_MAX_EXP -#define LDBL_MAX_EXP 16384 - /* Maximum long double */ -#undef LDBL_MAX -#define LDBL_MAX 1.189731495357231765085759326628007016E+4932L - /* Maximum int x such that 10**x is a representable long double */ -#undef LDBL_MAX_10_EXP -#define LDBL_MAX_10_EXP 4932 - -#else /* sparc32 */ - -#undef LDBL_MANT_DIG -#define LDBL_MANT_DIG DBL_MANT_DIG -#undef LDBL_DIG -#define LDBL_DIG DBL_DIG -#undef LDBL_EPSILON -#define LDBL_EPSILON DBL_EPSILON -#undef LDBL_MIN_EXP -#define LDBL_MIN_EXP DBL_MIN_EXP -#undef LDBL_MIN -#define LDBL_MIN DBL_MIN -#undef LDBL_MIN_10_EXP -#define LDBL_MIN_10_EXP DBL_MIN_10_EXP -#undef LDBL_MAX_EXP -#define LDBL_MAX_EXP DBL_MAX_EXP -#undef LDBL_MAX -#define LDBL_MAX DBL_MAX -#undef LDBL_MAX_10_EXP -#define LDBL_MAX_10_EXP DBL_MAX_10_EXP - -#endif /* sparc32 */ - -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - /* The floating-point expression evaluation method. - -1 indeterminate - 0 evaluate all operations and constants just to the range and - precision of the type - 1 evaluate operations and constants of type float and double - to the range and precision of the double type, evaluate - long double operations and constants to the range and - precision of the long double type - 2 evaluate all operations and constants to the range and - precision of the long double type - */ -# undef FLT_EVAL_METHOD -# define FLT_EVAL_METHOD 0 - - /* Number of decimal digits to enable rounding to the given number of - decimal digits without loss of precision. - if FLT_RADIX == 10^n: #mantissa * log10 (FLT_RADIX) - else : ceil (1 + #mantissa * log10 (FLT_RADIX)) - where #mantissa is the number of bits in the mantissa of the widest - supported floating-point type. - */ -# undef DECIMAL_DIG -# if LDBL_MANT_DIG == 53 -# define DECIMAL_DIG 17 -# else -# define DECIMAL_DIG 36 -# endif - -#endif /* C99 */ - -#endif /* _FLOAT_H_ */ diff --git a/contrib/gcc/config/float-vax.h b/contrib/gcc/config/float-vax.h deleted file mode 100644 index fff577f4fd8d..000000000000 --- a/contrib/gcc/config/float-vax.h +++ /dev/null @@ -1,159 +0,0 @@ -/* float.h for target with VAX floating point formats */ -#ifndef _FLOAT_H_ -#define _FLOAT_H_ -/* Produced by enquire version 4.3, CWI, Amsterdam */ - - /* Radix of exponent representation */ -#undef FLT_RADIX -#define FLT_RADIX 2 - /* Number of base-FLT_RADIX digits in the significand of a float */ -#undef FLT_MANT_DIG -#define FLT_MANT_DIG 24 - /* Number of decimal digits of precision in a float */ -#undef FLT_DIG -#define FLT_DIG 6 - /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */ -#undef FLT_ROUNDS -#define FLT_ROUNDS 1 - /* Difference between 1.0 and the minimum float greater than 1.0 */ -#undef FLT_EPSILON -#define FLT_EPSILON 1.19209290e-07F - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */ -#undef FLT_MIN_EXP -#define FLT_MIN_EXP (-127) - /* Minimum normalised float */ -#undef FLT_MIN -#define FLT_MIN 2.93873588e-39F - /* Minimum int x such that 10**x is a normalised float */ -#undef FLT_MIN_10_EXP -#define FLT_MIN_10_EXP (-38) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */ -#undef FLT_MAX_EXP -#define FLT_MAX_EXP 127 - /* Maximum float */ -#undef FLT_MAX -#define FLT_MAX 1.70141173e+38F - /* Maximum int x such that 10**x is a representable float */ -#undef FLT_MAX_10_EXP -#define FLT_MAX_10_EXP 38 - -#ifdef __GFLOAT - - /* The GFLOAT numbers may be problematic since gcc uses DFLOAT */ - - /* Number of base-FLT_RADIX digits in the significand of a double */ -#undef DBL_MANT_DIG -#define DBL_MANT_DIG 53 - /* Number of decimal digits of precision in a double */ -#undef DBL_DIG -#define DBL_DIG 15 - /* Difference between 1.0 and the minimum double greater than 1.0 */ -#undef DBL_EPSILON -#define DBL_EPSILON 2.2204460492503131e-016 - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */ -#undef DBL_MIN_EXP -#define DBL_MIN_EXP (-1023) - /* Minimum normalised double */ -#undef DBL_MIN -#define DBL_MIN 5.5626846462680035e-309 - /* Minimum int x such that 10**x is a normalised double */ -#undef DBL_MIN_10_EXP -#define DBL_MIN_10_EXP (-308) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */ -#undef DBL_MAX_EXP -#define DBL_MAX_EXP 1023 - /* Maximum double */ -#undef DBL_MAX -#define DBL_MAX 8.9884656743115775e+307 - /* Maximum int x such that 10**x is a representable double */ -#undef DBL_MAX_10_EXP -#define DBL_MAX_10_EXP 307 - - /* Number of base-FLT_RADIX digits in the significand of a long double */ -#undef LDBL_MANT_DIG -#define LDBL_MANT_DIG 53 - /* Number of decimal digits of precision in a long double */ -#undef LDBL_DIG -#define LDBL_DIG 15 - /* Difference between 1.0 and the minimum long double greater than 1.0 */ -#undef LDBL_EPSILON -#define LDBL_EPSILON 2.2204460492503131e-016L - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */ -#undef LDBL_MIN_EXP -#define LDBL_MIN_EXP (-1023) - /* Minimum normalised long double */ -#undef LDBL_MIN -#define LDBL_MIN 5.5626846462680035e-309L - /* Minimum int x such that 10**x is a normalised long double */ -#undef LDBL_MIN_10_EXP -#define LDBL_MIN_10_EXP (-308) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */ -#undef LDBL_MAX_EXP -#define LDBL_MAX_EXP 1023 - /* Maximum long double */ -#undef LDBL_MAX -#define LDBL_MAX 8.9884656743115775e+307L - /* Maximum int x such that 10**x is a representable long double */ -#undef LDBL_MAX_10_EXP -#define LDBL_MAX_10_EXP 307 - -#else /* !__GFLOAT */ - - /* Number of base-FLT_RADIX digits in the significand of a double */ -#undef DBL_MANT_DIG -#define DBL_MANT_DIG 56 - /* Number of decimal digits of precision in a double */ -#undef DBL_DIG -#define DBL_DIG 16 - /* Difference between 1.0 and the minimum double greater than 1.0 */ -#undef DBL_EPSILON -#define DBL_EPSILON 2.77555756156289135e-17 - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */ -#undef DBL_MIN_EXP -#define DBL_MIN_EXP (-127) - /* Minimum normalised double */ -#undef DBL_MIN -#define DBL_MIN 2.93873587705571877e-39 - /* Minimum int x such that 10**x is a normalised double */ -#undef DBL_MIN_10_EXP -#define DBL_MIN_10_EXP (-38) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */ -#undef DBL_MAX_EXP -#define DBL_MAX_EXP 127 - /* Maximum double */ -#undef DBL_MAX -#define DBL_MAX 1.70141183460469227e+38 - /* Maximum int x such that 10**x is a representable double */ -#undef DBL_MAX_10_EXP -#define DBL_MAX_10_EXP 38 - - /* Number of base-FLT_RADIX digits in the significand of a long double */ -#undef LDBL_MANT_DIG -#define LDBL_MANT_DIG 56 - /* Number of decimal digits of precision in a long double */ -#undef LDBL_DIG -#define LDBL_DIG 16 - /* Difference between 1.0 and the minimum long double greater than 1.0 */ -#undef LDBL_EPSILON -#define LDBL_EPSILON 2.77555756156289135e-17L - /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */ -#undef LDBL_MIN_EXP -#define LDBL_MIN_EXP (-127) - /* Minimum normalised long double */ -#undef LDBL_MIN -#define LDBL_MIN 2.93873587705571877e-39L - /* Minimum int x such that 10**x is a normalised long double */ -#undef LDBL_MIN_10_EXP -#define LDBL_MIN_10_EXP (-38) - /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */ -#undef LDBL_MAX_EXP -#define LDBL_MAX_EXP 127 - /* Maximum long double */ -#undef LDBL_MAX -#define LDBL_MAX 1.70141183460469227e+38L - /* Maximum int x such that 10**x is a representable long double */ -#undef LDBL_MAX_10_EXP -#define LDBL_MAX_10_EXP 38 - -#endif /* __GFLOAT */ -#endif /* _FLOAT_H_ */ diff --git a/contrib/gcc/config/i386/386bsd.h b/contrib/gcc/config/i386/386bsd.h deleted file mode 100644 index a34e6e5db103..000000000000 --- a/contrib/gcc/config/i386/386bsd.h +++ /dev/null @@ -1,53 +0,0 @@ -/* Configuration for an i386 running 386BSD as the target machine. */ - -/* This is tested by i386gas.h. */ -#define YES_UNDERSCORES - -#include "i386/gstabs.h" - -#undef CPP_PREDEFINES -#define CPP_PREDEFINES "-Dunix -D____386BSD____ -D__386BSD__ -DBSD_NET2 -Asystem=unix -Asystem=bsd" - -/* Like the default, except no -lg. */ -#define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}" - -#undef SIZE_TYPE -#define SIZE_TYPE "unsigned int" - -#undef PTRDIFF_TYPE -#define PTRDIFF_TYPE "int" - -#undef WCHAR_TYPE -#define WCHAR_TYPE "short unsigned int" - -#define WCHAR_UNSIGNED 1 - -#undef WCHAR_TYPE_SIZE -#define WCHAR_TYPE_SIZE 16 - -/* Redefine this to use %eax instead of %edx. */ -#undef FUNCTION_PROFILER -#define FUNCTION_PROFILER(FILE, LABELNO) \ -{ \ - if (flag_pic) \ - { \ - fprintf (FILE, "\tleal %sP%d@GOTOFF(%%ebx),%%eax\n", \ - LPREFIX, (LABELNO)); \ - fprintf (FILE, "\tcall *mcount@GOT(%%ebx)\n"); \ - } \ - else \ - { \ - fprintf (FILE, "\tmovl $%sP%d,%%eax\n", LPREFIX, (LABELNO)); \ - fprintf (FILE, "\tcall mcount\n"); \ - } \ -} - -#undef ASM_APP_ON -#define ASM_APP_ON "#APP\n" - -#undef ASM_APP_OFF -#define ASM_APP_OFF "#NO_APP\n" - -/* Don't default to pcc-struct-return, because gcc is the only compiler, and - we want to retain compatibility with older gcc versions. */ -#define DEFAULT_PCC_STRUCT_RETURN 0 diff --git a/contrib/gcc/config/i386/aix386.h b/contrib/gcc/config/i386/aix386.h deleted file mode 100644 index f085c4210fe5..000000000000 --- a/contrib/gcc/config/i386/aix386.h +++ /dev/null @@ -1,64 +0,0 @@ -/* Definitions for IBM PS2 running AIX/386 with gas. - From: Minh Tran-Le <TRANLE@intellicorp.com> - Copyright (C) 1988, 2000 Free Software Foundation, Inc. - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -/* - * This configuration file is for gcc with gas-2.x and gnu ld 2.x - * with aix ps/2 1.3.x. - */ - -/* Define USE_GAS if you have the new version of gas that can handle - * multiple segments and .section pseudo op. This will allow gcc to - * use the .init section for g++ ctor/dtor. - * - * If you don't have gas then undefined USE_GAS. You will also have - * to use collect if you want to use g++ - */ -#define USE_GAS - -#include "i386/aix386ng.h" - -/* Use crt1.o as a startup file and crtn.o as a closing file. - And add crtbegin.o and crtend.o for ctors and dtors */ - -#undef STARTFILE_SPEC -#define STARTFILE_SPEC \ - "%{pg:gcrt0.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}} crtbegin.o%s" -#undef ENDFILE_SPEC -#define ENDFILE_SPEC \ - "crtend.o%s crtn.o%s" - -/* Removed the -K flags because the gnu ld does not handle it */ -#undef LINK_SPEC -#define LINK_SPEC "%{T*} %{z:-lm}" - -/* Define a few machine-specific details of the implementation of - constructors. */ - -#undef INIT_SECTION_ASM_OP -#define INIT_SECTION_ASM_OP "\t.section .init,\"x\"" - -#define CTOR_LIST_BEGIN \ - asm (INIT_SECTION_ASM_OP); \ - asm ("pushl $0") -#define CTOR_LIST_END CTOR_LIST_BEGIN - -#undef TARGET_ASM_CONSTRUCTOR -#define TARGET_ASM_CONSTRUCTOR ix86_svr3_asm_out_constructor diff --git a/contrib/gcc/config/i386/aix386ng.h b/contrib/gcc/config/i386/aix386ng.h deleted file mode 100644 index 445d333f784a..000000000000 --- a/contrib/gcc/config/i386/aix386ng.h +++ /dev/null @@ -1,139 +0,0 @@ -/* Definitions for IBM PS2 running AIX/386. - Copyright (C) 1988, 1996, 1998 Free Software Foundation, Inc. - Contributed by Minh Tran-Le <TRANLE@intellicorp.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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - - -#include "i386/i386.h" - -/* Get the generic definitions for system V.3. */ - -#include "svr3.h" - -/* Use the ATT assembler syntax. - This overrides at least one macro (USER_LABEL_PREFIX) from svr3.h. */ - -#include "i386/att.h" - -/* Use crt1.o as a startup file and crtn.o as a closing file. */ - -#define STARTFILE_SPEC "%{pg:gcrt0.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}" -#define ENDFILE_SPEC "crtn.o%s" - -#define LIB_SPEC "%{shlib:-lc_s} -lc" - -/* Special flags for the linker. I don't know what they do. */ - -#define LINK_SPEC "%{K} %{!K:-K} %{T*} %{z:-lm}" - -/* Specify predefined symbols in preprocessor. */ - -#define CPP_PREDEFINES "-Dps2 -Dunix -Asystem=aix" - -#define CPP_SPEC "%(cpp_cpu) \ - %{posix:-D_POSIX_SOURCE}%{!posix:-DAIX} -D_I386 -D_AIX -D_MBCS" - -/* special flags for the aix assembler to generate the short form for all - qualifying forward reference */ -/* The buggy /bin/as of aix ps/2 1.2.x cannot always handle it. */ -#if 0 -#define ASM_SPEC "-s2" -#endif /* 0 */ - -#undef ASM_FILE_START -#define ASM_FILE_START(FILE) \ - do { output_file_directive (FILE, main_input_filename); \ - if (optimize) \ - ASM_FILE_START_1 (FILE); \ - else \ - fprintf (FILE, "\t.noopt\n"); \ - } while (0) - -/* This was suggested, but it shouldn't be right for DBX output. -- RMS - #define ASM_OUTPUT_SOURCE_FILENAME(FILE, NAME) */ - -/* Writing `int' for a bitfield forces int alignment for the structure. */ - -#define PCC_BITFIELD_TYPE_MATTERS 1 - -#ifndef USE_GAS -/* Don't write a `.optim' pseudo; this assembler - is said to have a bug when .optim is used. */ - -#undef ASM_FILE_START_1 -#define ASM_FILE_START_1(FILE) fprintf (FILE, "\t.noopt\n") -#endif - -/* Output assembler code to FILE to increment profiler label # LABELNO - for profiling a function entry. */ - -#undef FUNCTION_PROFILER -#define FUNCTION_PROFILER(FILE, LABELNO) \ - fprintf (FILE, "\tleal %sP%d,%%eax\n\tcall mcount\n", LPREFIX, (LABELNO)); - -/* Note that using bss_section here caused errors - in building shared libraries on system V.3. - but AIX 1.2 does not have yet shareable libraries on PS2 */ -#undef ASM_OUTPUT_LOCAL -#define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE, ROUNDED) \ - (bss_section (), \ - ASM_OUTPUT_LABEL ((FILE), (NAME)), \ - fprintf ((FILE), "\t.set .,.+%u\n", (ROUNDED))) - - -/* Undef all the .init and .fini section stuff if we are not using gas and - * gnu ld so that we can use collect because the standard /bin/as and /bin/ld - * cannot handle those. - */ -#ifndef USE_GAS -# undef INIT_SECTION_ASM_OP -# undef FINI_SECTION_ASM_OP -# undef CTORS_SECTION_ASM_OP -# undef DTORS_SECTION_ASM_OP -# undef TARGET_ASM_CONSTRUCTOR -# undef TARGET_ASM_DESTRUCTOR -# undef DO_GLOBAL_CTORS_BODY - -# undef CTOR_LIST_BEGIN -# define CTOR_LIST_BEGIN -# undef CTOR_LIST_END -# define CTOR_LIST_END -# undef DTOR_LIST_BEGIN -# define DTOR_LIST_BEGIN -# undef DTOR_LIST_END -# define DTOR_LIST_END - -# undef CONST_SECTION_FUNCTION -# define CONST_SECTION_FUNCTION \ -void \ -const_section () \ -{ \ - text_section(); \ -} - -# undef EXTRA_SECTION_FUNCTIONS -# define EXTRA_SECTION_FUNCTIONS \ - CONST_SECTION_FUNCTION - -/* for collect2 */ -# define OBJECT_FORMAT_COFF -# define MY_ISCOFF(magic) \ - ((magic) == I386MAGIC || (magic) == I386SVMAGIC) - -#endif /* !USE_GAS */ diff --git a/contrib/gcc/config/i386/bsd386.h b/contrib/gcc/config/i386/bsd386.h deleted file mode 100644 index fb24327523ca..000000000000 --- a/contrib/gcc/config/i386/bsd386.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Configuration for an i386 running BSDI's BSD/OS (formerly known as BSD/386) - as the target machine. */ - -/* We exist mostly to add -Dbsdi and such to the predefines. */ - -#undef CPP_PREDEFINES -#define CPP_PREDEFINES "-Dunix -Dbsdi -D____386BSD____ -D__386BSD__\ - -DBSD_NET2 -Asystem=unix -Asystem=bsd" - -#undef WCHAR_TYPE -#define WCHAR_TYPE "int" - -#undef WCHAR_UNSIGNED -#define WCHAR_UNSIGNED 0 - -#undef WCHAR_TYPE_SIZE -#define WCHAR_TYPE_SIZE 32 - -/* This is suitable for BSD/OS 3.0; we don't know about earlier releases. */ -#undef ASM_COMMENT_START -#define ASM_COMMENT_START " #" - -/* Until they use ELF or something that handles dwarf2 unwinds - and initialization stuff better. */ -#define DWARF2_UNWIND_INFO 0 - -/* BSD/OS still uses old binutils that don't insert nops by default - when the .align directive demands to insert extra space in the text - segment. */ -#undef ASM_OUTPUT_ALIGN -#define ASM_OUTPUT_ALIGN(FILE,LOG) \ - if ((LOG)!=0) fprintf ((FILE), "\t.align %d,0x90\n", (LOG)) diff --git a/contrib/gcc/config/i386/dgux.h b/contrib/gcc/config/i386/dgux.h deleted file mode 100644 index 2d4c98c815d6..000000000000 --- a/contrib/gcc/config/i386/dgux.h +++ /dev/null @@ -1,257 +0,0 @@ -/* Target definitions for GNU compiler for Intel 80x86 running DG/ux - Copyright (C) 1993, 1995, 1996, 1997, 1998, 2000, 2001 - Free Software Foundation, Inc. - Currently maintained by gcc@dg-rtp.dg.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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -/* for now, we are just like the sysv4 version with a - few hacks -*/ - -#ifndef VERSION_INFO2 -#define VERSION_INFO2 "$Revision: 1.16 $" -#endif - -#ifndef VERSION_STRING -#define VERSION_STRING version_string -#endif - -/* Identify the compiler. */ -/* TARGET_VERSION used by toplev.c VERSION_STRING used by -midentify-revision */ - -#undef TARGET_VERSION -#define TARGET_VERSION fprintf (stderr, " (%s%s, %s)", \ - VERSION_INFO1, VERSION_INFO2, __DATE__) -#undef VERSION_INFO1 -#define VERSION_INFO1 "ix86 DG/ux, " - -/* Augment TARGET_SWITCHES with the MXDB options. */ -#define MASK_STANDARD 0x40000000 /* Retain standard information */ -#define MASK_NOLEGEND 0x20000000 /* Discard legend information */ -#define MASK_EXTERNAL_LEGEND 0x10000000 /* Make external legends */ -#define MASK_IDENTIFY_REVISION 0x08000000 /* Emit 'ident' to .s */ -#define MASK_WARN_PASS_STRUCT 0x04000000 /* Warn when structures are passed */ - -#define TARGET_STANDARD (target_flags & MASK_STANDARD) -#define TARGET_NOLEGEND (target_flags & MASK_NOLEGEND) -#define TARGET_EXTERNAL_LEGEND (target_flags & MASK_EXTERNAL_LEGEND) -#define TARGET_IDENTIFY_REVISION (target_flags & MASK_IDENTIFY_REVISION) -#define TARGET_WARN_PASS_STRUCT (target_flags & MASK_WARN_PASS_STRUCT) - -#undef SUBTARGET_SWITCHES -#define SUBTARGET_SWITCHES \ - { "standard", MASK_STANDARD, \ - N_("Retain standard MXDB information") }, \ - { "legend", -MASK_NOLEGEND, \ - N_("Retain legend information") }, \ - { "no-legend", MASK_NOLEGEND, "" }, \ - { "external-legend", MASK_EXTERNAL_LEGEND, \ - N_("Generate external legend information") }, \ - { "identify-revision", MASK_IDENTIFY_REVISION, \ - N_("Emit identifying info in .s file") }, \ - { "warn-passed-structs", MASK_WARN_PASS_STRUCT, \ - N_("Warn when a function arg is a structure") }, - -#undef DWARF_DEBUGGING_INFO -#define DWARF_DEBUGGING_INFO - -/* - allow -gstabs so that those who have gnu-as installed - can debug c++ programs. -*/ -#undef DBX_DEBUGGING_INFO -#define DBX_DEBUGGING_INFO - -#undef PREFERRED_DEBUGGING_TYPE -#define PREFERRED_DEBUGGING_TYPE DWARF_DEBUG - -/* Override svr[34].h. Switch to the data section so that the coffsem - symbol isn't in the text section. */ -#undef ASM_FILE_START -#define ASM_FILE_START(FILE) \ - do { \ - output_file_directive (FILE, main_input_filename); \ - fprintf (FILE, "\t.version\t\"01.01\"\n"); \ - data_section (); \ - } while (0) - -/* ix86 abi specified type for wchar_t */ - -#undef WCHAR_TYPE -#define WCHAR_TYPE "long int" - -#undef WCHAR_TYPE_SIZE -#define WCHAR_TYPE_SIZE BITS_PER_WORD - - -/* Some machines may desire to change what optimizations are performed for - various optimization levels. This macro, if defined, is executed once - just after the optimization level is determined and before the remainder - of the command options have been parsed. Values set in this macro are - used as the default values for the other command line options. - - LEVEL is the optimization level specified; 2 if -O2 is specified, - 1 if -O is specified, and 0 if neither is specified. */ - -/* This macro used to store 0 in flag_signed_bitfields. - Not only is that misuse of this macro; the whole idea is wrong. - - The GNU C dialect makes bitfields signed by default, - regardless of machine type. Making any machine inconsistent in this - regard is bad for portability. - - I chose to make bitfields signed by default because this is consistent - with the way ordinary variables are handled: `int' equals `signed int'. - If there is a good reason to prefer making bitfields unsigned by default, - it cannot have anything to do with the choice of machine. - If the reason is good enough, we should change the convention for all machines. - - -- rms, 20 July 1991. */ - -/* - this really should go into dgux-local.h -*/ - -#undef OPTIMIZATION_OPTIONS -#define OPTIMIZATION_OPTIONS(LEVEL,SIZE) \ - do { \ - extern int flag_signed_bitfields; \ - flag_signed_bitfields = 0; \ - optimization_options (LEVEL,SIZE); \ - } while (0) - - -/* The normal location of the `ld' and `as' programs */ - -#undef MD_EXEC_PREFIX -#define MD_EXEC_PREFIX "/usr/bin/" - -/* The normal location of the various *crt*.o files is the */ - -#undef MD_STARTFILE_PREFIX -#define MD_STARTFILE_PREFIX "/usr/lib/" - -/* Macros to be automatically defined. - __CLASSIFY_TYPE__ is used in the <varargs.h> and <stdarg.h> header - files with DG/UX revision 5.40 and later. This allows GNU CC to - operate without installing the header files. */ - -#undef CPP_PREDEFINES -#define CPP_PREDEFINES "-D__ix86 -Dunix -DDGUX -D__CLASSIFY_TYPE__=2\ - -Asystem=unix -Asystem=svr4" - - /* - If not -ansi, -traditional, or restricting include files to one - specific source target, specify full DG/UX features. - */ -#undef CPP_SPEC -#define CPP_SPEC "%(cpp_cpu) %{!ansi:%{!traditional:-D__OPEN_NAMESPACE__}}" - -/* Assembler support (legends for mxdb). */ -#undef ASM_SPEC -#define ASM_SPEC "\ -%{mno-legend:%{mstandard:-Wc,off}}\ -%{g:%{!mno-legend:-Wc,-fix-bb,-s\"%i\"\ -%{traditional:,-lc}%{!traditional:,-lansi-c}\ -%{mstandard:,-keep-std}\ -%{mexternal-legend:,-external}}}" - -/* Override svr4.h. */ - -/* hassey 3/12/94 keep svr4 ASM_FINAL_SPEC allows -pipe to work */ - -/* Linker and library spec's. - -static, -shared, -symbolic, -h* and -z* access AT&T V.4 link options. - -svr4 instructs gcc to place /usr/lib/values-X[cat].o on link the line. - The absence of -msvr4 indicates linking done in a COFF environment and - adds the link script to the link line. In all environments, the first - and last objects are crtbegin.o and crtend.o. - When the -G link option is used (-shared and -symbolic) a final link is - not being done. */ - -#undef LIB_SPEC -#define LIB_SPEC \ -"%{!shared:%{!symbolic:-lc}}" - -#undef LINK_SPEC -#define LINK_SPEC "%{z*} %{h*} %{v:-V} \ - %{static:-dn -Bstatic} \ - %{shared:-G -dy} \ - %{symbolic:-Bsymbolic -G -dy} \ - %{pg:-L/usr/lib/libp}%{p:-L/usr/lib/libp}" - -#ifdef CROSS_COMPILE - -#undef STARTFILE_SPEC -#define STARTFILE_SPEC "%{!shared:%{!symbolic:%{pg:gcrt1.o%s} \ - %{!pg:%{p:mcrt1.o%s} \ - %{!p:crt1.o%s}}}} \ - %{pg:gcrti.o%s}%{!pg:crti.o%s} \ - crtbegin.o%s \ - %{ansi:values-Xc.o%s} \ - %{!ansi:%{traditional:values-Xt.o%s} \ - %{!traditional:values-Xa.o%s}}" - -#undef ENDFILE_SPEC -#define ENDFILE_SPEC "crtend.o%s %{pg:gcrtn.o}%{!pg:crtn.o%s}" - -#else - -#undef STARTFILE_SPEC -#define STARTFILE_SPEC "%{!shared:%{!symbolic:%{pg:gcrt1.o%s} \ - %{!pg:%{p:/lib/mcrt1.o%s} \ - %{!p:/lib/crt1.o%s}}}} \ - %{pg:gcrti.o%s}%{!pg:/lib/crti.o%s} \ - crtbegin.o%s \ - %{ansi:/lib/values-Xc.o%s} \ - %{!ansi:%{traditional:/lib/values-Xt.o%s} \ - %{!traditional:/lib/values-Xa.o%s}}" - -#undef ENDFILE_SPEC -#define ENDFILE_SPEC "crtend.o%s %{pg:gcrtn.o}%{!pg:/lib/crtn.o}" - -#endif /* CROSS_COMPILE */ - -/* The maximum alignment which the object file format can support. - page alignment would seem to be enough */ -#undef MAX_OFILE_ALIGNMENT -#define MAX_OFILE_ALIGNMENT 0x1000 - -/* Must use data section for relocatable constants when pic. */ -#undef SELECT_RTX_SECTION -#define SELECT_RTX_SECTION(MODE,RTX,ALIGN) \ -{ \ - if (flag_pic && symbolic_operand (RTX, VOIDmode)) \ - data_section (); \ - else \ - const_section (); \ -} - -/* This supplements FUNCTION_ARG's definition in i386.h to check - TARGET_WARN_PASS_STRUCT */ - -#undef FUNCTION_ARG -#define FUNCTION_ARG(CUM, MODE, TYPE, NAMED) \ -((((MODE) == BLKmode && TARGET_WARN_PASS_STRUCT) ? \ - warning ("argument is a structure"),0 : 0), \ - (function_arg (&CUM, MODE, TYPE, NAMED))) - -/* Add .align 1 to avoid .backalign bug in assembler */ -#undef CONST_SECTION_ASM_OP -#define CONST_SECTION_ASM_OP "\t.section\t.rodata\n\t.align 1" diff --git a/contrib/gcc/config/i386/djgpp-rtems.h b/contrib/gcc/config/i386/djgpp-rtems.h deleted file mode 100644 index 551b666b765c..000000000000 --- a/contrib/gcc/config/i386/djgpp-rtems.h +++ /dev/null @@ -1,35 +0,0 @@ -/* Configuration for an i386 running RTEMS on top of MS-DOS with - DJGPP v2.x. - - Copyright (C) 1996, 1999, 2002 Free Software Foundation, Inc. - Contributed by Joel Sherrill (joel@OARcorp.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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -/* Specify predefined symbols in preprocessor. */ - -#ifdef CPP_PREDEFINES -#undef CPP_PREDEFINES -#endif -#define CPP_PREDEFINES "-Dunix -DGO32 -DDJGPP=2 -DMSDOS -D__rtems__ \ - -Asystem=unix -Asystem=msdos -Asystem=rtems" - -/* Generate calls to memcpy, memcmp and memset. */ -#ifndef TARGET_MEM_FUNCTIONS -#define TARGET_MEM_FUNCTIONS -#endif diff --git a/contrib/gcc/config/i386/freebsd-elf.h b/contrib/gcc/config/i386/freebsd-elf.h deleted file mode 100644 index e97d4ca07bb2..000000000000 --- a/contrib/gcc/config/i386/freebsd-elf.h +++ /dev/null @@ -1,257 +0,0 @@ -/* Definitions for Intel 386 running FreeBSD with ELF format - Copyright (C) 1996 Free Software Foundation, Inc. - Contributed by Eric Youngdale. - Modified for stabs-in-ELF by H.J. Lu. - Adapted from GNU/Linux version by John Polstra. - Continued development by David O'Brien <obrien@freebsd.org> - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#undef TARGET_VERSION -#define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)"); - -/* The svr4 ABI for the i386 says that records and unions are returned - in memory. */ -/* On FreeBSD, we do not. */ -#undef DEFAULT_PCC_STRUCT_RETURN -#define DEFAULT_PCC_STRUCT_RETURN 0 - -/* This gets defined in tm.h->linux.h->svr4.h, and keeps us from using - libraries compiled with the native cc, so undef it. */ -#undef NO_DOLLAR_IN_LABEL - -/* Use more efficient ``thunks'' to implement C++ vtables. */ -#undef DEFAULT_VTABLE_THUNKS -#define DEFAULT_VTABLE_THUNKS 1 - -/* Override the default comment-starter of "/". */ -#undef ASM_COMMENT_START -#define ASM_COMMENT_START "#" - -#undef ASM_APP_ON -#define ASM_APP_ON "#APP\n" - -#undef ASM_APP_OFF -#define ASM_APP_OFF "#NO_APP\n" - -#undef SET_ASM_OP -#define SET_ASM_OP ".set" - -/* This is how to output an element of a case-vector that is relative. - This is only used for PIC code. See comments by the `casesi' insn in - i386.md for an explanation of the expression this outputs. */ -#undef ASM_OUTPUT_ADDR_DIFF_ELT -#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) \ - fprintf (FILE, "\t.long _GLOBAL_OFFSET_TABLE_+[.-%s%d]\n", LPREFIX, VALUE) - -/* Indicate that jump tables go in the text section. This is - necessary when compiling PIC code. */ -#define JUMP_TABLES_IN_TEXT_SECTION (flag_pic) - -/* Use stabs instead of DWARF debug format. */ -#undef PREFERRED_DEBUGGING_TYPE -#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG - -/* Copy this from the svr4 specifications... */ -/* Define the register numbers to be used in Dwarf debugging information. - The SVR4 reference port C compiler uses the following register numbers - in its Dwarf output code: - 0 for %eax (gnu regno = 0) - 1 for %ecx (gnu regno = 2) - 2 for %edx (gnu regno = 1) - 3 for %ebx (gnu regno = 3) - 4 for %esp (gnu regno = 7) - 5 for %ebp (gnu regno = 6) - 6 for %esi (gnu regno = 4) - 7 for %edi (gnu regno = 5) - The following three DWARF register numbers are never generated by - the SVR4 C compiler or by the GNU compilers, but SDB on x86/svr4 - believes these numbers have these meanings. - 8 for %eip (no gnu equivalent) - 9 for %eflags (no gnu equivalent) - 10 for %trapno (no gnu equivalent) - It is not at all clear how we should number the FP stack registers - for the x86 architecture. If the version of SDB on x86/svr4 were - a bit less brain dead with respect to floating-point then we would - have a precedent to follow with respect to DWARF register numbers - for x86 FP registers, but the SDB on x86/svr4 is so completely - broken with respect to FP registers that it is hardly worth thinking - of it as something to strive for compatibility with. - The version of x86/svr4 SDB I have at the moment does (partially) - seem to believe that DWARF register number 11 is associated with - the x86 register %st(0), but that's about all. Higher DWARF - register numbers don't seem to be associated with anything in - particular, and even for DWARF regno 11, SDB only seems to under- - stand that it should say that a variable lives in %st(0) (when - asked via an `=' command) if we said it was in DWARF regno 11, - but SDB still prints garbage when asked for the value of the - variable in question (via a `/' command). - (Also note that the labels SDB prints for various FP stack regs - when doing an `x' command are all wrong.) - Note that these problems generally don't affect the native SVR4 - C compiler because it doesn't allow the use of -O with -g and - because when it is *not* optimizing, it allocates a memory - location for each floating-point variable, and the memory - location is what gets described in the DWARF AT_location - attribute for the variable in question. - Regardless of the severe mental illness of the x86/svr4 SDB, we - do something sensible here and we use the following DWARF - register numbers. Note that these are all stack-top-relative - numbers. - 11 for %st(0) (gnu regno = 8) - 12 for %st(1) (gnu regno = 9) - 13 for %st(2) (gnu regno = 10) - 14 for %st(3) (gnu regno = 11) - 15 for %st(4) (gnu regno = 12) - 16 for %st(5) (gnu regno = 13) - 17 for %st(6) (gnu regno = 14) - 18 for %st(7) (gnu regno = 15) -*/ -#undef DBX_REGISTER_NUMBER -#define DBX_REGISTER_NUMBER(n) \ -((n) == 0 ? 0 \ - : (n) == 1 ? 2 \ - : (n) == 2 ? 1 \ - : (n) == 3 ? 3 \ - : (n) == 4 ? 6 \ - : (n) == 5 ? 7 \ - : (n) == 6 ? 5 \ - : (n) == 7 ? 4 \ - : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \ - : (-1)) - -/* Tell final.c that we don't need a label passed to mcount. */ - -#undef FUNCTION_PROFILER -#define FUNCTION_PROFILER(FILE, LABELNO) \ -{ \ - if (flag_pic) \ - fprintf (FILE, "\tcall *.mcount@GOT(%%ebx)\n"); \ - else \ - fprintf (FILE, "\tcall .mcount\n"); \ -} - -#undef SIZE_TYPE -#define SIZE_TYPE "unsigned int" - -#undef PTRDIFF_TYPE -#define PTRDIFF_TYPE "int" - -#undef WCHAR_TYPE -#define WCHAR_TYPE "int" - -#undef WCHAR_UNSIGNED -#define WCHAR_UNSIGNED 0 - -#undef WCHAR_TYPE_SIZE -#define WCHAR_TYPE_SIZE BITS_PER_WORD - -#undef CPP_PREDEFINES -#define CPP_PREDEFINES "-Di386 -Dunix -D__ELF__ -D__FreeBSD__ -Asystem(unix) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)" - -#undef CPP_SPEC -#define CPP_SPEC "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}" - -/* This defines which switch letters take arguments. On FreeBSD, most of - the normal cases (defined in gcc.c) apply, and we also have -h* and - -z* options (for the linker) (comming from svr4). - We also have -R (alias --rpath), no -z, --soname (-h), --assert etc. */ - -#undef SWITCH_TAKES_ARG -#define SWITCH_TAKES_ARG(CHAR) \ - (DEFAULT_SWITCH_TAKES_ARG (CHAR) \ - || (CHAR) == 'h' \ - || (CHAR) == 'z' \ - || (CHAR) == 'R') - -/* Provide a STARTFILE_SPEC appropriate for FreeBSD. Here we add - the magical crtbegin.o file (see crtstuff.c) which provides part - of the support for getting C++ file-scope static object constructed - before entering `main'. */ - -#undef STARTFILE_SPEC -#define STARTFILE_SPEC \ - "%{!shared: \ - %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \ - %{!p:%{profile:gcrt1.o%s} \ - %{!profile:crt1.o%s}}}} \ - crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}" - -/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on - the magical crtend.o file (see crtstuff.c) which provides part of - the support for getting C++ file-scope static object constructed - before entering `main', followed by a normal "finalizer" file, - `crtn.o'. */ - -#undef ENDFILE_SPEC -#define ENDFILE_SPEC \ - "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s" - -/* Provide a LIB_SPEC appropriate for FreeBSD. Just select the appropriate - libc, depending on whether we're doing profiling or need threads support. - (simular to the default, except no -lg, and no -p. */ - -#undef LIB_SPEC -#define LIB_SPEC "%{!shared: \ - %{!pg:%{!pthread:%{!kthread:-lc} \ - %{kthread:-lpthread -lc}} \ - %{pthread:-lc_r}} \ - %{pg:%{!pthread:%{!kthread:-lc_p} \ - %{kthread:-lpthread_p -lc_p}} \ - %{pthread:-lc_r_p}}}" - -/* Provide a LINK_SPEC appropriate for FreeBSD. Here we provide support - for the special GCC options -static and -shared, which allow us to - link things in one of these three modes by applying the appropriate - combinations of options at link-time. We like to support here for - as many of the other GNU linker options as possible. But I don't - have the time to search for those flags. I am sure how to add - support for -soname shared_object_name. H.J. - - I took out %{v:%{!V:-V}}. It is too much :-(. They can use - -Wl,-V. - - When the -shared link option is used a final link is not being - done. */ - -#undef LINK_SPEC -#define LINK_SPEC "-m elf_i386 \ - %{Wl,*:%*} \ - %{v:-V} \ - %{assert*} %{R*} %{rpath*} %{defsym*} \ - %{shared:-Bshareable %{h*} %{soname*}} \ - %{!shared: \ - %{!static: \ - %{rdynamic:-export-dynamic} \ - %{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \ - %{static:-Bstatic}} \ - %{symbolic:-Bsymbolic}" - -/* A C statement to output to the stdio stream FILE an assembler - command to advance the location counter to a multiple of 1<<LOG - bytes if it is within MAX_SKIP bytes. - - This is used to align code labels according to Intel recommendations. */ - -#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN -#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \ - if ((LOG) != 0) {\ - if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG)); \ - else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ - } -#endif diff --git a/contrib/gcc/config/i386/freebsd.h.fixed b/contrib/gcc/config/i386/freebsd.h.fixed deleted file mode 100644 index e97d4ca07bb2..000000000000 --- a/contrib/gcc/config/i386/freebsd.h.fixed +++ /dev/null @@ -1,257 +0,0 @@ -/* Definitions for Intel 386 running FreeBSD with ELF format - Copyright (C) 1996 Free Software Foundation, Inc. - Contributed by Eric Youngdale. - Modified for stabs-in-ELF by H.J. Lu. - Adapted from GNU/Linux version by John Polstra. - Continued development by David O'Brien <obrien@freebsd.org> - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#undef TARGET_VERSION -#define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)"); - -/* The svr4 ABI for the i386 says that records and unions are returned - in memory. */ -/* On FreeBSD, we do not. */ -#undef DEFAULT_PCC_STRUCT_RETURN -#define DEFAULT_PCC_STRUCT_RETURN 0 - -/* This gets defined in tm.h->linux.h->svr4.h, and keeps us from using - libraries compiled with the native cc, so undef it. */ -#undef NO_DOLLAR_IN_LABEL - -/* Use more efficient ``thunks'' to implement C++ vtables. */ -#undef DEFAULT_VTABLE_THUNKS -#define DEFAULT_VTABLE_THUNKS 1 - -/* Override the default comment-starter of "/". */ -#undef ASM_COMMENT_START -#define ASM_COMMENT_START "#" - -#undef ASM_APP_ON -#define ASM_APP_ON "#APP\n" - -#undef ASM_APP_OFF -#define ASM_APP_OFF "#NO_APP\n" - -#undef SET_ASM_OP -#define SET_ASM_OP ".set" - -/* This is how to output an element of a case-vector that is relative. - This is only used for PIC code. See comments by the `casesi' insn in - i386.md for an explanation of the expression this outputs. */ -#undef ASM_OUTPUT_ADDR_DIFF_ELT -#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) \ - fprintf (FILE, "\t.long _GLOBAL_OFFSET_TABLE_+[.-%s%d]\n", LPREFIX, VALUE) - -/* Indicate that jump tables go in the text section. This is - necessary when compiling PIC code. */ -#define JUMP_TABLES_IN_TEXT_SECTION (flag_pic) - -/* Use stabs instead of DWARF debug format. */ -#undef PREFERRED_DEBUGGING_TYPE -#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG - -/* Copy this from the svr4 specifications... */ -/* Define the register numbers to be used in Dwarf debugging information. - The SVR4 reference port C compiler uses the following register numbers - in its Dwarf output code: - 0 for %eax (gnu regno = 0) - 1 for %ecx (gnu regno = 2) - 2 for %edx (gnu regno = 1) - 3 for %ebx (gnu regno = 3) - 4 for %esp (gnu regno = 7) - 5 for %ebp (gnu regno = 6) - 6 for %esi (gnu regno = 4) - 7 for %edi (gnu regno = 5) - The following three DWARF register numbers are never generated by - the SVR4 C compiler or by the GNU compilers, but SDB on x86/svr4 - believes these numbers have these meanings. - 8 for %eip (no gnu equivalent) - 9 for %eflags (no gnu equivalent) - 10 for %trapno (no gnu equivalent) - It is not at all clear how we should number the FP stack registers - for the x86 architecture. If the version of SDB on x86/svr4 were - a bit less brain dead with respect to floating-point then we would - have a precedent to follow with respect to DWARF register numbers - for x86 FP registers, but the SDB on x86/svr4 is so completely - broken with respect to FP registers that it is hardly worth thinking - of it as something to strive for compatibility with. - The version of x86/svr4 SDB I have at the moment does (partially) - seem to believe that DWARF register number 11 is associated with - the x86 register %st(0), but that's about all. Higher DWARF - register numbers don't seem to be associated with anything in - particular, and even for DWARF regno 11, SDB only seems to under- - stand that it should say that a variable lives in %st(0) (when - asked via an `=' command) if we said it was in DWARF regno 11, - but SDB still prints garbage when asked for the value of the - variable in question (via a `/' command). - (Also note that the labels SDB prints for various FP stack regs - when doing an `x' command are all wrong.) - Note that these problems generally don't affect the native SVR4 - C compiler because it doesn't allow the use of -O with -g and - because when it is *not* optimizing, it allocates a memory - location for each floating-point variable, and the memory - location is what gets described in the DWARF AT_location - attribute for the variable in question. - Regardless of the severe mental illness of the x86/svr4 SDB, we - do something sensible here and we use the following DWARF - register numbers. Note that these are all stack-top-relative - numbers. - 11 for %st(0) (gnu regno = 8) - 12 for %st(1) (gnu regno = 9) - 13 for %st(2) (gnu regno = 10) - 14 for %st(3) (gnu regno = 11) - 15 for %st(4) (gnu regno = 12) - 16 for %st(5) (gnu regno = 13) - 17 for %st(6) (gnu regno = 14) - 18 for %st(7) (gnu regno = 15) -*/ -#undef DBX_REGISTER_NUMBER -#define DBX_REGISTER_NUMBER(n) \ -((n) == 0 ? 0 \ - : (n) == 1 ? 2 \ - : (n) == 2 ? 1 \ - : (n) == 3 ? 3 \ - : (n) == 4 ? 6 \ - : (n) == 5 ? 7 \ - : (n) == 6 ? 5 \ - : (n) == 7 ? 4 \ - : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \ - : (-1)) - -/* Tell final.c that we don't need a label passed to mcount. */ - -#undef FUNCTION_PROFILER -#define FUNCTION_PROFILER(FILE, LABELNO) \ -{ \ - if (flag_pic) \ - fprintf (FILE, "\tcall *.mcount@GOT(%%ebx)\n"); \ - else \ - fprintf (FILE, "\tcall .mcount\n"); \ -} - -#undef SIZE_TYPE -#define SIZE_TYPE "unsigned int" - -#undef PTRDIFF_TYPE -#define PTRDIFF_TYPE "int" - -#undef WCHAR_TYPE -#define WCHAR_TYPE "int" - -#undef WCHAR_UNSIGNED -#define WCHAR_UNSIGNED 0 - -#undef WCHAR_TYPE_SIZE -#define WCHAR_TYPE_SIZE BITS_PER_WORD - -#undef CPP_PREDEFINES -#define CPP_PREDEFINES "-Di386 -Dunix -D__ELF__ -D__FreeBSD__ -Asystem(unix) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)" - -#undef CPP_SPEC -#define CPP_SPEC "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}" - -/* This defines which switch letters take arguments. On FreeBSD, most of - the normal cases (defined in gcc.c) apply, and we also have -h* and - -z* options (for the linker) (comming from svr4). - We also have -R (alias --rpath), no -z, --soname (-h), --assert etc. */ - -#undef SWITCH_TAKES_ARG -#define SWITCH_TAKES_ARG(CHAR) \ - (DEFAULT_SWITCH_TAKES_ARG (CHAR) \ - || (CHAR) == 'h' \ - || (CHAR) == 'z' \ - || (CHAR) == 'R') - -/* Provide a STARTFILE_SPEC appropriate for FreeBSD. Here we add - the magical crtbegin.o file (see crtstuff.c) which provides part - of the support for getting C++ file-scope static object constructed - before entering `main'. */ - -#undef STARTFILE_SPEC -#define STARTFILE_SPEC \ - "%{!shared: \ - %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \ - %{!p:%{profile:gcrt1.o%s} \ - %{!profile:crt1.o%s}}}} \ - crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}" - -/* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on - the magical crtend.o file (see crtstuff.c) which provides part of - the support for getting C++ file-scope static object constructed - before entering `main', followed by a normal "finalizer" file, - `crtn.o'. */ - -#undef ENDFILE_SPEC -#define ENDFILE_SPEC \ - "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s" - -/* Provide a LIB_SPEC appropriate for FreeBSD. Just select the appropriate - libc, depending on whether we're doing profiling or need threads support. - (simular to the default, except no -lg, and no -p. */ - -#undef LIB_SPEC -#define LIB_SPEC "%{!shared: \ - %{!pg:%{!pthread:%{!kthread:-lc} \ - %{kthread:-lpthread -lc}} \ - %{pthread:-lc_r}} \ - %{pg:%{!pthread:%{!kthread:-lc_p} \ - %{kthread:-lpthread_p -lc_p}} \ - %{pthread:-lc_r_p}}}" - -/* Provide a LINK_SPEC appropriate for FreeBSD. Here we provide support - for the special GCC options -static and -shared, which allow us to - link things in one of these three modes by applying the appropriate - combinations of options at link-time. We like to support here for - as many of the other GNU linker options as possible. But I don't - have the time to search for those flags. I am sure how to add - support for -soname shared_object_name. H.J. - - I took out %{v:%{!V:-V}}. It is too much :-(. They can use - -Wl,-V. - - When the -shared link option is used a final link is not being - done. */ - -#undef LINK_SPEC -#define LINK_SPEC "-m elf_i386 \ - %{Wl,*:%*} \ - %{v:-V} \ - %{assert*} %{R*} %{rpath*} %{defsym*} \ - %{shared:-Bshareable %{h*} %{soname*}} \ - %{!shared: \ - %{!static: \ - %{rdynamic:-export-dynamic} \ - %{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \ - %{static:-Bstatic}} \ - %{symbolic:-Bsymbolic}" - -/* A C statement to output to the stdio stream FILE an assembler - command to advance the location counter to a multiple of 1<<LOG - bytes if it is within MAX_SKIP bytes. - - This is used to align code labels according to Intel recommendations. */ - -#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN -#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \ - if ((LOG) != 0) {\ - if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG)); \ - else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ - } -#endif diff --git a/contrib/gcc/config/i386/interix.c b/contrib/gcc/config/i386/interix.c deleted file mode 100644 index 8ea2c6e171f2..000000000000 --- a/contrib/gcc/config/i386/interix.c +++ /dev/null @@ -1,114 +0,0 @@ -/* Subroutines for insn-output.c for Windows NT. - Copyright (C) 1998, 1999 Free Software Foundation, Inc. - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#include "config.h" -#include "system.h" -#include "rtl.h" -#include "regs.h" -#include "hard-reg-set.h" -#include "output.h" -#include "tree.h" -#include "flags.h" - -/* Return string which is the former assembler name modified with a - suffix consisting of an atsign (@) followed by the number of bytes of - arguments */ - -const char * -gen_stdcall_suffix (decl) - tree decl; -{ - int total = 0; - /* ??? This probably should use XSTR (XEXP (DECL_RTL (decl), 0), 0) instead - of DECL_ASSEMBLER_NAME. */ - const char *const asmname = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)); - char *newsym; - - if (TYPE_ARG_TYPES (TREE_TYPE (decl))) - if (TREE_VALUE (tree_last (TYPE_ARG_TYPES (TREE_TYPE (decl)))) - == void_type_node) - { - tree formal_type = TYPE_ARG_TYPES (TREE_TYPE (decl)); - - while (TREE_VALUE (formal_type) != void_type_node) - { - int parm_size - = TREE_INT_CST_LOW (TYPE_SIZE (TREE_VALUE (formal_type))); - /* Must round up to include padding. This is done the same - way as in store_one_arg. */ - parm_size = ((parm_size + PARM_BOUNDARY - 1) - / PARM_BOUNDARY * PARM_BOUNDARY); - total += parm_size; - formal_type = TREE_CHAIN (formal_type); - } - } - - newsym = xmalloc (strlen (asmname) + 10); - sprintf (newsym, "%s@%d", asmname, total/BITS_PER_UNIT); - return IDENTIFIER_POINTER (get_identifier (newsym)); -} - -#if 0 -/* Turn this back on when the linker is updated to handle grouped - .data$ sections correctly. See corresponding note in i386/interix.h. - MK. */ - -/* Cover function for UNIQUE_SECTION. */ - -void -i386_pe_unique_section (decl, reloc) - tree decl; - int reloc; -{ - int len; - const char *name; - char *string,*prefix; - - name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)); - /* Strip off any encoding in fnname. */ - STRIP_NAME_ENCODING (name, name); - - /* The object is put in, for example, section .text$foo. - The linker will then ultimately place them in .text - (everything from the $ on is stripped). Don't put - read-only data in .rdata section to avoid a PE linker - bug when .rdata$* grouped sections are used in code - without a .rdata section. */ - if (TREE_CODE (decl) == FUNCTION_DECL) - prefix = ".text$"; -/* else if (DECL_INITIAL (decl) == 0 - || DECL_INITIAL (decl) == error_mark_node) - prefix = ".bss"; */ - else if (DECL_READONLY_SECTION (decl, reloc)) -#ifdef READONLY_DATA_SECTION - prefix = ".rdata$"; -#else - prefix = ".text$"; -#endif - else - prefix = ".data$"; - len = strlen (name) + strlen (prefix); - string = alloca (len + 1); - sprintf (string, "%s%s", prefix, name); - - DECL_SECTION_NAME (decl) = build_string (len, string); -} - -#endif /* 0 */ diff --git a/contrib/gcc/config/i386/isc.h b/contrib/gcc/config/i386/isc.h deleted file mode 100644 index eea98118fb63..000000000000 --- a/contrib/gcc/config/i386/isc.h +++ /dev/null @@ -1,96 +0,0 @@ -/* Assembler-independent definitions for an Intel 386 running - Interactive Unix System V. Specifically, this is for recent versions - that support POSIX. */ - -/* Use crt1.o, not crt0.o, as a startup file, and crtn.o as a closing file. */ -#undef STARTFILE_SPEC -#define STARTFILE_SPEC \ - "%{!shlib:%{posix:%{pg:mcrtp1.o%s}%{!pg:%{p:mcrtp1.o%s}%{!p:crtp1.o%s}}}\ - %{Xp:%{pg:mcrtp1.o%s}%{!pg:%{p:mcrtp1.o%s}%{!p:crtp1.o%s}}}\ - %{!posix:%{!Xp:%{pg:mcrt1.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}\ - %{p:-L/lib/libp} %{pg:-L/lib/libp}}}}\ - %{shlib:%{Xp:crtp1.o%s}%{posix:crtp1.o%s}%{!posix:%{!Xp:crt1.o%s}}}\ - crtbegin.o%s" - -#define ENDFILE_SPEC "crtend.o%s crtn.o%s" - -/* Library spec */ -#undef LIB_SPEC -#define LIB_SPEC "%{shlib:-lc_s} %{posix:-lcposix} %{Xp:-lcposix} -lc -lg" - -#undef CPP_SPEC -#define CPP_SPEC "%(cpp_cpu) %{posix:-D_POSIX_SOURCE} %{Xp:-D_POSIX_SOURCE}" - -/* ISC 2.2 uses `char' for `wchar_t'. */ -#undef WCHAR_TYPE -#define WCHAR_TYPE "char" - -#undef WCHAR_TYPE_SIZE -#define WCHAR_TYPE_SIZE BITS_PER_UNIT - -#if 0 -/* This is apparently not true: ISC versions up to 3.0, at least, use - the standard calling sequence in which the called function pops the - extra arg. */ -/* caller has to pop the extra argument passed to functions that return - structures. */ - -#undef RETURN_POPS_ARGS -#define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \ - ((FUNDECL) && TREE_CODE (FUNDECL) == IDENTIFIER_NODE ? 0 \ - : (TARGET_RTD \ - && (TYPE_ARG_TYPES (FUNTYPE) == 0 \ - || (TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE))) \ - == void_type_node))) ? (SIZE) \ - : 0) -/* On other 386 systems, the last line looks like this: - : (aggregate_value_p (TREE_TYPE (FUNTYPE))) ? GET_MODE_SIZE (Pmode) : 0) */ -#endif - -/* Handle #pragma pack and #pragma weak. */ -#define HANDLE_SYSV_PRAGMA - -/* By default, target has a 80387, uses IEEE compatible arithmetic, - and returns float values in the 387, ie, - (TARGET_80387 | TARGET_FLOAT_RETURNS_IN_80387) - - ISC's software emulation of a 387 fails to handle the `fucomp' - opcode. fucomp is only used when generating IEEE compliant code. - So don't make TARGET_IEEE_FP default for ISC. */ - -#undef TARGET_SUBTARGET_DEFAULT -#define TARGET_SUBTARGET_DEFAULT (MASK_80387 | MASK_FLOAT_RETURNS) - -/* The ISC 2.0.2 software FPU emulator apparently can't handle - 80-bit XFmode insns, so don't generate them. */ -#undef LONG_DOUBLE_TYPE_SIZE -#define LONG_DOUBLE_TYPE_SIZE 64 - -/* The ISC assembler does not like a .file directive with a name - longer than 14 characters. Truncating it will not permit - debugging to work properly, but at least we won't get an error - message. */ - -#undef ASM_FILE_START -#define ASM_FILE_START(FILE) \ - do { \ - const int len = strlen (main_input_filename); \ - const char *na = main_input_filename + len; \ - char shorter[15]; \ - /* NA gets MAIN_INPUT_FILENAME sans directory names. */\ - while (na > main_input_filename) \ - { \ - if (na[-1] == '/') \ - break; \ - na--; \ - } \ - strncpy (shorter, na, 14); \ - shorter[14] = 0; \ - fprintf (FILE, "\t.file\t"); \ - output_quoted_string (FILE, shorter); \ - fprintf (FILE, "\n"); \ - } while (0) - -/* Work around assembler forward label references generated in exception - handling code. */ -#define DWARF2_UNWIND_INFO 0 diff --git a/contrib/gcc/config/i386/isccoff.h b/contrib/gcc/config/i386/isccoff.h deleted file mode 100644 index 9efd9ad4ffaf..000000000000 --- a/contrib/gcc/config/i386/isccoff.h +++ /dev/null @@ -1,12 +0,0 @@ -/* Definitions for Intel 386 running Interactive Unix System V. - Specifically, this is for recent versions that support POSIX; - for version 2.0.2, use configuration option i386-sysv instead. - (But set TARGET_DEFAULT to (MASK_80307 | MASK_FLOAT_RETURNS) - if you do that, if you don't have a real 80387.) */ - -/* Mostly it's like AT&T Unix System V. */ - -#include "i386/sysv3.h" - -/* But with a few changes. */ -#include "i386/isc.h" diff --git a/contrib/gcc/config/i386/iscdbx.h b/contrib/gcc/config/i386/iscdbx.h deleted file mode 100644 index 6d1f341f15ea..000000000000 --- a/contrib/gcc/config/i386/iscdbx.h +++ /dev/null @@ -1,43 +0,0 @@ -/* Definitions for Intel 386 running Interactive Unix System V, - using dbx-in-coff encapsulation. - Specifically, this is for recent versions that support POSIX. - Copyright (C) 1992, 1995 Free Software Foundation, Inc. - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -/* Mostly it's like AT&T Unix System V with dbx-in-coff. */ - -#include "i386/svr3dbx.h" - -/* But with a few changes. */ -#undef ENDFILE_SPEC -#include "i386/isc.h" - -/* Overridden defines for ifile usage. */ - -#undef STARTFILE_SPEC -#define STARTFILE_SPEC \ - "%{!r:%{!z:svr3.ifile%s}%{z:svr3z.ifile%s}}\ - %{!shlib:%{posix:%{pg:mcrtp1.o%s}%{!pg:%{p:mcrtp1.o%s}%{!p:crtp1.o%s}}}\ - %{Xp:%{pg:mcrtp1.o%s}%{!pg:%{p:mcrtp1.o%s}%{!p:crtp1.o%s}}}\ - %{!posix:%{!Xp:%{pg:mcrt1.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}}}\ - %{p:-L/usr/lib/libp} %{pg:-L/usr/lib/libp}}\ - %{shlib:%{posix:crtp1.o%s}%{Xp:crtp1.o%s}%{!posix:%{!Xp:crt1.o%s}}}" - -#undef ENDFILE_SPEC -#define ENDFILE_SPEC "crtn.o%s" diff --git a/contrib/gcc/config/i386/linux-oldld.h b/contrib/gcc/config/i386/linux-oldld.h deleted file mode 100644 index a95c20555df8..000000000000 --- a/contrib/gcc/config/i386/linux-oldld.h +++ /dev/null @@ -1,72 +0,0 @@ -/* Definitions for Intel 386 running Linux-based GNU systems with pre-BFD - a.out linkers. - Copyright (C) 1995, 1997, 1998, 2002 Free Software Foundation, Inc. - Contributed by Michael Meissner (meissner@cygnus.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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -/* This is tested by i386/gas.h. */ -#define YES_UNDERSCORES - -#include <i386/gstabs.h> -#include <linux-aout.h> /* some common stuff */ - -#undef ASM_COMMENT_START -#define ASM_COMMENT_START "#" - -/* Specify predefined symbols in preprocessor. */ - -#undef CPP_PREDEFINES -#define CPP_PREDEFINES "-Dunix -D__gnu_linux__ -Dlinux -Asystem=posix" - -#undef CPP_SPEC -#define CPP_SPEC "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}" - -#undef SIZE_TYPE -#define SIZE_TYPE "unsigned int" - -#undef PTRDIFF_TYPE -#define PTRDIFF_TYPE "int" - -#undef WCHAR_TYPE -#define WCHAR_TYPE "long int" - -#undef WCHAR_TYPE_SIZE -#define WCHAR_TYPE_SIZE BITS_PER_WORD - -/* Don't default to pcc-struct-return, because gcc is the only compiler, - and we want to retain compatibility with older gcc versions. */ -#define DEFAULT_PCC_STRUCT_RETURN 0 - -#undef LIB_SPEC - -#if 1 -/* We no longer link with libc_p.a or libg.a by default. If you - want to profile or debug the GNU/Linux C library, please add - lc_p or -ggdb to LDFLAGS at the link time, respectively. */ -#define LIB_SPEC \ -"%{mieee-fp:-lieee} %{p:-lgmon} %{pg:-lgmon} %{!ggdb:-lc} %{ggdb:-lg}" -#else -#define LIB_SPEC \ -"%{mieee-fp:-lieee} %{p:-lgmon -lc_p} %{pg:-lgmon -lc_p} \ - %{!p:%{!pg:%{!g*:-lc} %{g*:-lg -static}}}" -#endif - - -#undef LINK_SPEC -#define LINK_SPEC "" diff --git a/contrib/gcc/config/i386/next.h b/contrib/gcc/config/i386/next.h deleted file mode 100644 index 3081fdebf8c9..000000000000 --- a/contrib/gcc/config/i386/next.h +++ /dev/null @@ -1,186 +0,0 @@ -/* Target definitions for GNU compiler for Intel x86 CPU running NeXTSTEP - Copyright (C) 1993, 1995, 1996, 1999 Free Software Foundation, Inc. - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#include "i386/gas.h" -#include "nextstep.h" - -/* By default, target has a 80387, with IEEE FP. */ - -#undef TARGET_SUBTARGET_DEFAULT -#define TARGET_SUBTARGET_DEFAULT (MASK_80387 | MASK_IEEE_FP) - -/* Implicit library calls should use memcpy, not bcopy, etc. */ - -#define TARGET_MEM_FUNCTIONS - -/* Machines that use the AT&T assembler syntax - also return floating point values in an FP register. - Define how to find the value returned by a function. - VALTYPE is the data type of the value (as a tree). - If the precise function being called is known, FUNC is its FUNCTION_DECL; - otherwise, FUNC is 0. */ - -#undef VALUE_REGNO -#define VALUE_REGNO(MODE) \ - ((MODE) == SFmode || (MODE) == DFmode || (MODE) == XFmode \ - ? FIRST_FLOAT_REG : 0) - -/* A C statement or statements which output an assembler instruction - opcode to the stdio stream STREAM. The macro-operand PTR is a - variable of type `char *' which points to the opcode name in its - "internal" form--the form that is written in the machine description. - - GAS version 1.38.1 doesn't understand the `repz' opcode mnemonic. - So use `repe' instead. */ - -#undef ASM_OUTPUT_OPCODE -#define ASM_OUTPUT_OPCODE(STREAM, PTR) \ -{ \ - if ((PTR)[0] == 'r' \ - && (PTR)[1] == 'e' \ - && (PTR)[2] == 'p') \ - { \ - if ((PTR)[3] == 'z') \ - { \ - fprintf (STREAM, "repe"); \ - (PTR) += 4; \ - } \ - else if ((PTR)[3] == 'n' && (PTR)[4] == 'z') \ - { \ - fprintf (STREAM, "repne"); \ - (PTR) += 5; \ - } \ - } \ -} - -/* Define macro used to output shift-double opcodes when the shift - count is in %cl. Some assemblers require %cl as an argument; - some don't. - - GAS requires the %cl argument, so override unx386.h. */ - -#undef SHIFT_DOUBLE_OMITS_COUNT -#define SHIFT_DOUBLE_OMITS_COUNT 0 - -/* Print opcodes the way that GAS expects them. */ -#define GAS_MNEMONICS 1 - -/* Names to predefine in the preprocessor for this target machine. */ - -#undef CPP_PREDEFINES -#define CPP_PREDEFINES "-DNeXT -Dunix -D__MACH__ -D__LITTLE_ENDIAN__ \ - -D__ARCHITECTURE__=\"i386\" -Asystem=unix -Asystem=mach" - -/* This accounts for the return pc and saved fp on the i386. */ - -#define OBJC_FORWARDING_STACK_OFFSET 8 -#define OBJC_FORWARDING_MIN_OFFSET 8 - -/* We do not want a dot in internal labels. */ - -#undef LPREFIX -#define LPREFIX "L" - -#undef ASM_GENERATE_INTERNAL_LABEL -#define ASM_GENERATE_INTERNAL_LABEL(BUF,PREFIX,NUMBER) \ - sprintf ((BUF), "*%s%ld", (PREFIX), (long)(NUMBER)) - -#undef ASM_OUTPUT_INTERNAL_LABEL -#define ASM_OUTPUT_INTERNAL_LABEL(FILE,PREFIX,NUM) \ - fprintf (FILE, "%s%d:\n", PREFIX, NUM) - -/* Output to assembler file text saying following lines - may contain character constants, extra white space, comments, etc. */ - -#undef ASM_APP_ON -#define ASM_APP_ON "#APP\n" - -/* Output to assembler file text saying following lines - no longer contain unusual constructs. */ - -#undef ASM_APP_OFF -#define ASM_APP_OFF "#NO_APP\n" - -#undef ASM_OUTPUT_REG_PUSH -#define ASM_OUTPUT_REG_PUSH(FILE,REGNO) \ - fprintf (FILE, "\tpushl %se%s\n", "%", reg_names[REGNO]) - -#undef ASM_OUTPUT_REG_POP -#define ASM_OUTPUT_REG_POP(FILE,REGNO) \ - fprintf (FILE, "\tpopl %se%s\n", "%", reg_names[REGNO]) - -/* This is being overridden because the default i386 configuration - generates calls to "_mcount". NeXT system libraries all use - "mcount". */ - -#undef FUNCTION_PROFILER -#define FUNCTION_PROFILER(FILE, LABELNO) \ -{ \ - if (flag_pic) \ - { \ - fprintf (FILE, "\tleal %sP%d@GOTOFF(%%ebx),%%edx\n", \ - LPREFIX, (LABELNO)); \ - fprintf (FILE, "\tcall *mcount@GOT(%%ebx)\n"); \ - } \ - else \ - { \ - fprintf (FILE, "\tmovl $%sP%d,%%edx\n", LPREFIX, (LABELNO)); \ - fprintf (FILE, "\tcall mcount\n"); \ - } \ -} - -/* BEGIN Calling Convention CHANGES */ - -/* These changes violate the Intel/Unix ABI. Specifically, they - change the way that space for a block return value is passed to a - function. The ABI says that the pointer is passed on the stack. - We change to pass the pointer in %ebx. This makes the NeXT - Objective-C forwarding mechanism possible to implement on an i386. */ - -/* Do NOT pass address of structure values on the stack. */ - -#undef STRUCT_VALUE_INCOMING -#undef STRUCT_VALUE - -/* Pass them in %ebx. */ - -#undef STRUCT_VALUE_REGNUM -#define STRUCT_VALUE_REGNUM 3 - -/* Because we are passing the pointer in a register, we don't need to - rely on the callee to pop it. */ - -#undef RETURN_POPS_ARGS -#define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \ - ((FUNDECL) && TREE_CODE (FUNDECL) == IDENTIFIER_NODE \ - ? 0 \ - : (TARGET_RTD \ - && (TYPE_ARG_TYPES (FUNTYPE) == 0 \ - || (TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE))) \ - == void_type_node))) ? (SIZE) : 0) - -/* END Calling Convention CHANGES */ - -/* NeXT still uses old binutils that don't insert nops by default - when the .align directive demands to insert extra space in the text - segment. */ -#undef ASM_OUTPUT_ALIGN -#define ASM_OUTPUT_ALIGN(FILE,LOG) \ - if ((LOG)!=0) fprintf ((FILE), "\t.align %d,0x90\n", (LOG)) diff --git a/contrib/gcc/config/i386/osf1-ci.asm b/contrib/gcc/config/i386/osf1-ci.asm deleted file mode 100644 index a0f077304a82..000000000000 --- a/contrib/gcc/config/i386/osf1-ci.asm +++ /dev/null @@ -1,65 +0,0 @@ -! crti.s for OSF/1, x86; derived from sol2-ci.asm. - -! Copyright (C) 1993, 1998 Free Software Foundation, Inc. -! Written By Fred Fish, Nov 1992 -! -! This 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. -! -! In addition to the permissions in the GNU General Public License, the -! Free Software Foundation gives you unlimited permission to link the -! compiled version of this file with other programs, and to distribute -! those programs without any restriction coming from the use of this -! file. (The General Public License restrictions do apply in other -! respects; for example, they cover modification of the file, and -! distribution when not linked into another program.) -! -! This 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 program; 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 GCC 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. -! - -! This file just supplies labeled starting points for the .init and .fini -! sections. It is linked in before the values-Xx.o files and also before -! crtbegin.o. - - .file "crti.s" - .ident "GNU C crti.s" - - .section .init - .globl _init - .type _init,@function -_init: - - .section .fini - .globl _fini - .type _fini,@function -_fini: - -.globl _init_init_routine -.data - .align 4 - .type _init_init_routine,@object - .size _init_init_routine,4 -_init_init_routine: - .long _init -.globl _init_fini_routine - .align 4 - .type _init_fini_routine,@object - .size _init_fini_routine,4 -_init_fini_routine: - .long _fini diff --git a/contrib/gcc/config/i386/osf1-cn.asm b/contrib/gcc/config/i386/osf1-cn.asm deleted file mode 100644 index a10298fd288f..000000000000 --- a/contrib/gcc/config/i386/osf1-cn.asm +++ /dev/null @@ -1,46 +0,0 @@ -! crtn.s for OSF/1, x86; derived from sol2-cn.asm. - -! Copyright (C) 1993, 1998 Free Software Foundation, Inc. -! Written By Fred Fish, Nov 1992 -! -! This 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. -! -! In addition to the permissions in the GNU General Public License, the -! Free Software Foundation gives you unlimited permission to link the -! compiled version of this file with other programs, and to distribute -! those programs without any restriction coming from the use of this -! file. (The General Public License restrictions do apply in other -! respects; for example, they cover modification of the file, and -! distribution when not linked into another program.) -! -! This 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 program; 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 GCC 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. -! - -! This file just supplies returns for the .init and .fini sections. It is -! linked in after all other files. - - .file "crtn.o" - .ident "GNU C crtn.o" - - .section .init - ret $0x0 - - .section .fini - ret $0x0 diff --git a/contrib/gcc/config/i386/osf1elf.h b/contrib/gcc/config/i386/osf1elf.h deleted file mode 100644 index 812e9914a544..000000000000 --- a/contrib/gcc/config/i386/osf1elf.h +++ /dev/null @@ -1,213 +0,0 @@ -/* OSF/1 1.3 now is compitable with SVR4, so include sysv4.h, and - put difference here. - Copyright (C) 2000 Free Software Foundation, Inc. */ - -#include <stdio.h> - -#undef TARGET_VERSION -#define TARGET_VERSION fprintf (stderr, " (i386 OSF/1)"); - -#define TARGET_OSF1ELF - -/* WORD_SWITCH_TAKES_ARG defined in svr4 is not correct. We also - need an extra -soname */ -#undef WORD_SWITCH_TAKES_ARG -#define WORD_SWITCH_TAKES_ARG(STR) \ - (DEFAULT_WORD_SWITCH_TAKES_ARG (STR) \ - || !strcmp (STR, "Tdata") || !strcmp (STR, "Ttext") \ - || !strcmp (STR, "Tbss") || !strcmp (STR, "soname")) - -/* Note, -fpic and -fPIC are equivalent */ -#undef CPP_SPEC -#define CPP_SPEC "\ -%(cpp_cpu) \ -%{fpic: -D__SHARED__} %{fPIC: %{!fpic: -D__SHARED__}} \ -%{.S: %{!ansi:%{!traditional:%{!traditional-cpp:%{!ftraditional: -traditional}}}}} \ -%{.S: -D__LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \ -%{.cc: -D__LANGUAGE_C_PLUS_PLUS} \ -%{.cxx: -D__LANGUAGE_C_PLUS_PLUS} \ -%{.C: -D__LANGUAGE_C_PLUS_PLUS} \ -%{.m: -D__LANGUAGE_OBJECTIVE_C} \ -%{!.S: -D__LANGUAGE_C %{!ansi:-DLANGUAGE_C}}" - -/* -mmcount or -mno-mcount should be used with -pg or -p */ -#undef CC1_SPEC -#define CC1_SPEC "%(cc1_cpu) %{p: %{!mmcount: %{!mno-mcount: -mno-mcount }}} \ -%{!p: %{pg: %{!mmcount: %{!mno-mcount: -mno-mcount }}}}" - -/* Note, -D__NO_UNDERSCORES__ -D__ELF__ are provided in the older version of - OSF/1 gcc. We keep them here, so that old /usr/include/i386/asm.h works. - */ -#undef CPP_PREDEFINES -#define CPP_PREDEFINES \ - "-D__NO_UNDERSCORES__ -D__ELF__ -DOSF -DOSF1 -Dunix \ - -Asystem=unix -Asystem=xpg4 -Asystem=osf1" - -/* current OSF/1 doesn't provide separate crti.o and gcrti.o (and also, crtn.o - and gcrtn.o) for profile. */ - -#undef STARTFILE_SPEC -#define STARTFILE_SPEC "%{!shared: \ - %{!symbolic: \ - %{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}}\ - crti.o%s \ - crtbegin.o%s" - -#undef ENDFILE_SPEC -#define ENDFILE_SPEC "crtend.o%s crtn.o%s" - -#undef ASM_SPEC -#define ASM_SPEC "%{v*: -v}" - -#undef LINK_SPEC -#define LINK_SPEC "%{v*: -v} \ - %{h*} %{z*} \ - %{dy:-call_shared} %{dn:-static} \ - %{static:-static} \ - %{shared:-shared} \ - %{call_shared:-call_shared} \ - %{symbolic:-Bsymbolic -shared -call_shared} \ - %{!dy: %{!dn: %{!static: %{!shared: %{!symbolic: \ - %{noshrlib: -static } \ - %{!noshrlib: -call_shared}}}}}}" - -#undef MD_EXEC_PREFIX -#define MD_EXEC_PREFIX "/usr/ccs/gcc/" - -#undef MD_STARTFILE_PREFIX -#define MD_STARTFILE_PREFIX "/usr/ccs/lib/" - -/* Define this macro meaning that gcc should find the library 'libgcc.a' - by hand, rather than passing the argument '-lgcc' to tell the linker - to do the search */ -#define LINK_LIBGCC_SPECIAL - -/* This goes with LINK_LIBGCC_SPECIAL, we need tell libgcc.a differently */ -#undef LIBGCC_SPEC -#define LIBGCC_SPEC "%{!shared:%{!symbolic:libgcc.a%s}}" - -/* Specify size_t, ptrdiff_t, and wchar_t types. */ -#undef SIZE_TYPE -#undef PTRDIFF_TYPE -#undef WCHAR_TYPE -#undef WCHAR_TYPE_SIZE - -#define SIZE_TYPE "long unsigned int" -#define PTRDIFF_TYPE "int" -#define WCHAR_TYPE "unsigned int" -#define WCHAR_TYPE_SIZE BITS_PER_WORD - -/* Turn off long double being 96 bits. */ -#undef LONG_DOUBLE_TYPE_SIZE -#define LONG_DOUBLE_TYPE_SIZE 64 - -/* Work with OSF/1 profile */ -#define MASK_NO_MCOUNT 000200000000 /* profiling uses mcount_ptr */ - -#define TARGET_MCOUNT ((target_flags & MASK_NO_MCOUNT) == 0) - -#undef SUBTARGET_SWITCHES -#define SUBTARGET_SWITCHES \ - { "mcount", -MASK_NO_MCOUNT, \ - N_("Profiling uses mcount") }, \ - { "no-mcount", MASK_NO_MCOUNT, "" }, - -/* This macro generates the assembly code for function entry. - FILE is a stdio stream to output the code to. - SIZE is an int: how many units of temporary storage to allocate. - Refer to the array `regs_ever_live' to determine which registers - to save; `regs_ever_live[I]' is nonzero if register number I - is ever used in the function. This macro is responsible for - knowing which registers should not be saved even if used. - - We override it here to allow for the new profiling code to go before - the prologue and the old mcount code to go after the prologue (and - after %ebx has been set up for ELF shared library support). */ -#if 0 -#define OSF_PROFILE_BEFORE_PROLOGUE \ - (!TARGET_MCOUNT \ - && !current_function_needs_context \ - && (!flag_pic \ - || !frame_pointer_needed \ - || (!current_function_uses_pic_offset_table \ - && !current_function_uses_const_pool))) -#else -#define OSF_PROFILE_BEFORE_PROLOGUE 0 -#endif - -/* A C statement or compound statement to output to FILE some assembler code to - call the profiling subroutine `mcount'. Before calling, the assembler code - must load the address of a counter variable into a register where `mcount' - expects to find the address. The name of this variable is `LP' followed by - the number LABELNO, so you would generate the name using `LP%d' in a - `fprintf'. - - The details of how the address should be passed to `mcount' are determined - by your operating system environment, not by GNU CC. To figure them out, - compile a small program for profiling using the system's installed C - compiler and look at the assembler code that results. */ - -#undef FUNCTION_PROFILER -#define FUNCTION_PROFILER(FILE, LABELNO) \ -do \ - { \ - if (!OSF_PROFILE_BEFORE_PROLOGUE) \ - { \ - const char *const prefix = ""; \ - const char *const lprefix = LPREFIX; \ - int labelno = LABELNO; \ - \ - /* Note that OSF/rose blew it in terms of calling mcount, \ - since OSF/rose prepends a leading underscore, but mcount's \ - doesn't. At present, we keep this kludge for ELF as well \ - to allow old kernels to build profiling. */ \ - \ - if (flag_pic \ - && !current_function_uses_pic_offset_table \ - && !current_function_uses_const_pool) \ - abort (); \ - \ - if (TARGET_MCOUNT && flag_pic) \ - { \ - fprintf (FILE, "\tleal %sP%d@GOTOFF(%%ebx),%%edx\n", \ - lprefix, labelno); \ - fprintf (FILE, "\tcall *%smcount@GOT(%%ebx)\n", prefix); \ - } \ - \ - else if (TARGET_MCOUNT) \ - { \ - fprintf (FILE, "\tmovl $%sP%d,%%edx\n", lprefix, labelno); \ - fprintf (FILE, "\tcall %smcount\n", prefix); \ - } \ - \ - else if (flag_pic && frame_pointer_needed) \ - { \ - fprintf (FILE, "\tmovl 4(%%ebp),%%ecx\n"); \ - fprintf (FILE, "\tpushl %%ecx\n"); \ - fprintf (FILE, "\tleal %sP%d@GOTOFF(%%ebx),%%edx\n", \ - lprefix, labelno); \ - fprintf (FILE, "\tmovl _mcount_ptr@GOT(%%ebx),%%eax\n"); \ - fprintf (FILE, "\tcall *(%%eax)\n"); \ - fprintf (FILE, "\tpopl %%eax\n"); \ - } \ - \ - else if (frame_pointer_needed) \ - { \ - fprintf (FILE, "\tmovl 4(%%ebp),%%ecx\n"); \ - fprintf (FILE, "\tpushl %%ecx\n"); \ - fprintf (FILE, "\tmovl $%sP%d,%%edx\n", lprefix, labelno); \ - fprintf (FILE, "\tcall *_mcount_ptr\n"); \ - fprintf (FILE, "\tpopl %%eax\n"); \ - } \ - \ - else \ - abort (); \ - } \ - } \ -while (0) - -#if defined (CROSS_COMPILE) && defined (HOST_BITS_PER_INT) && defined (HOST_BITS_PER_LONG) && defined (HOST_BITS_PER_LONGLONG) -#if (HOST_BITS_PER_INT==32) && (HOST_BITS_PER_LONG==64) && (HOST_BITS_PER_LONGLONG==64) -#define REAL_ARITHMETIC -#endif -#endif diff --git a/contrib/gcc/config/i386/osf1elfgdb.h b/contrib/gcc/config/i386/osf1elfgdb.h deleted file mode 100644 index 4071c66ce720..000000000000 --- a/contrib/gcc/config/i386/osf1elfgdb.h +++ /dev/null @@ -1,7 +0,0 @@ -/* Target definitions for GNU compiler for Intel 80386 running OSF/1 1.3+ - with gas and gdb. */ - -/* Use stabs instead of DWARF debug format. */ -#undef PREFERRED_DEBUGGING_TYPE -#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG - diff --git a/contrib/gcc/config/i386/osfelf.h b/contrib/gcc/config/i386/osfelf.h deleted file mode 100644 index 9b0e63396bfd..000000000000 --- a/contrib/gcc/config/i386/osfelf.h +++ /dev/null @@ -1,79 +0,0 @@ -/* Definitions of target machine for GNU compiler. - Intel 386 (OSF/1 with ELF) version. - Copyright (C) 1993 Free Software Foundation, Inc. - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#include "config/i386/osfrose.h" - -#undef CPP_PREDEFINES -#define CPP_PREDEFINES "-DOSF -DOSF1 -Dunix -Asystem=xpg4" - -#undef CPP_SPEC -#define CPP_SPEC "%(cpp_cpu) \ -%{mrose: -D__ROSE__ %{!pic-none: -D__SHARED__}} \ -%{!mrose: -D__ELF__ %{fpic: -D__SHARED__}} \ -%{mno-underscores: -D__NO_UNDERSCORES__} \ -%{!mrose: %{!munderscores: -D__NO_UNDERSCORES__}} \ -%{.S: %{!ansi:%{!traditional:%{!traditional-cpp:%{!ftraditional: -traditional}}}}} \ -%{.S: -D__LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \ -%{.cc: -D__LANGUAGE_C_PLUS_PLUS} \ -%{.cxx: -D__LANGUAGE_C_PLUS_PLUS} \ -%{.C: -D__LANGUAGE_C_PLUS_PLUS} \ -%{.m: -D__LANGUAGE_OBJECTIVE_C} \ -%{!.S: -D__LANGUAGE_C %{!ansi:-DLANGUAGE_C}}" - -/* Turn on -pic-extern by default for OSF/rose, -fpic for ELF. */ -#undef CC1_SPEC -#define CC1_SPEC "%(cc1_cpu) \ -%{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \ -%{!melf: %{!mrose: -melf }} \ -%{!mrose: %{!munderscores: %{!mno-underscores: -mno-underscores }} \ - %{!mmcount: %{!mno-mcount: %{!mmcount-ptr: -mmcount-ptr }}}} \ -%{mrose: %{!mmcount: %{!mno-mcount: %{!mmcount-ptr: -mmcount }}} \ - %{pic-extern: -mhalf-pic } %{pic-lib: -mhalf-pic } \ - %{!pic-extern: %{!pic-lib: %{pic-none: -mno-half-pic} %{!pic-none: -mhalf-pic}}} \ - %{pic-calls: } %{pic-names*: }}" - -#undef ASM_SPEC -#define ASM_SPEC "%{v*: -v}" - -#undef LINK_SPEC -#define LINK_SPEC "%{v*: -v} \ -%{mrose: %{!noshrlib: %{pic-none: -noshrlib} %{!pic-none: -warn_nopic}} \ - %{nostdlib} %{noshrlib} %{glue}} \ -%{!mrose: %{dy} %{dn} %{glue: } \ - %{h*} %{z*} \ - %{static:-dn -Bstatic} \ - %{shared:-G -dy} \ - %{symbolic:-Bsymbolic -G -dy} \ - %{G:-G} \ - %{!dy: %{!dn: %{!static: %{!shared: %{!symbolic: \ - %{noshrlib: -dn } %{pic-none: -dn } \ - %{!noshrlib: %{!pic-none: -dy}}}}}}}}" - -#undef TARGET_VERSION_INTERNAL -#undef TARGET_VERSION - -#undef I386_VERSION -#define I386_VERSION " 80386, ELF objects" - -#define TARGET_VERSION_INTERNAL(STREAM) fputs (I386_VERSION, STREAM) -#define TARGET_VERSION TARGET_VERSION_INTERNAL (stderr) - -#undef OBJECT_FORMAT_ROSE diff --git a/contrib/gcc/config/i386/osfrose.h b/contrib/gcc/config/i386/osfrose.h deleted file mode 100644 index 36d6345685b3..000000000000 --- a/contrib/gcc/config/i386/osfrose.h +++ /dev/null @@ -1,720 +0,0 @@ -/* Definitions of target machine for GNU compiler. - Intel 386 (OSF/1 with OSF/rose) version. - Copyright (C) 1991, 1992, 1993, 1996, 1998, 1999, 2000 - Free Software Foundation, Inc. - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#include "halfpic.h" -#include "i386/gstabs.h" - -#define OSF_OS - -#undef WORD_SWITCH_TAKES_ARG -#define WORD_SWITCH_TAKES_ARG(STR) \ - (DEFAULT_WORD_SWITCH_TAKES_ARG (STR) || !strcmp (STR, "pic-names")) - -/* This defines which switch letters take arguments. On svr4, most of - the normal cases (defined in gcc.c) apply, and we also have -h* and - -z* options (for the linker). */ - -#define SWITCH_TAKES_ARG(CHAR) \ - (DEFAULT_SWITCH_TAKES_ARG(CHAR) \ - || (CHAR) == 'h' \ - || (CHAR) == 'z') - -#define MASK_HALF_PIC 010000000000 /* Mask for half-pic code */ -#define MASK_HALF_PIC_DEBUG 004000000000 /* Debug flag */ -#define MASK_ELF 002000000000 /* ELF not rose */ -#define MASK_NO_UNDERSCORES 000400000000 /* suppress leading _ */ -#define MASK_LARGE_ALIGN 000200000000 /* align to >word boundaries */ -#define MASK_NO_MCOUNT 000100000000 /* profiling uses mcount_ptr */ - -#define TARGET_HALF_PIC (target_flags & MASK_HALF_PIC) -#define TARGET_DEBUG (target_flags & MASK_HALF_PIC_DEBUG) -#define HALF_PIC_DEBUG TARGET_DEBUG -#define TARGET_ELF (target_flags & MASK_ELF) -#define TARGET_ROSE ((target_flags & MASK_ELF) == 0) -#define TARGET_UNDERSCORES ((target_flags & MASK_NO_UNDERSCORES) == 0) -#define TARGET_LARGE_ALIGN (target_flags & MASK_LARGE_ALIGN) -#define TARGET_MCOUNT ((target_flags & MASK_NO_MCOUNT) == 0) - -#undef SUBTARGET_SWITCHES -#define SUBTARGET_SWITCHES \ - { "half-pic", MASK_HALF_PIC, \ - N_("Emit half-PIC code") }, \ - { "no-half-pic", -MASK_HALF_PIC, "" }, \ - { "debug-half-pic", MASK_HALF_PIC_DEBUG, \ - 0 /* intentionally undoc */ }, \ - { "debugb", MASK_HALF_PIC_DEBUG, \ - 0 /* intentionally undoc */ }, \ - { "elf", MASK_ELF, \ - N_("Emit ELF object code") }, \ - { "rose", -MASK_ELF, \ - N_("Emit ROSE object code") }, \ - { "underscores", -MASK_NO_UNDERSCORES, \ - N_("Symbols have a leading underscore") }, \ - { "no-underscores", MASK_NO_UNDERSCORES, "" }, \ - { "large-align", MASK_LARGE_ALIGN, \ - N_("Align to >word boundaries") }, \ - { "no-large-align", -MASK_LARGE_ALIGN, "" }, \ - { "mcount", -MASK_NO_MCOUNT, \ - N_("Use mcount for profiling") }, \ - { "mcount-ptr", MASK_NO_MCOUNT, \ - N_("Use mcount_ptr for profiling") }, \ - { "no-mcount", MASK_NO_MCOUNT, "" }, - -/* OSF/rose uses stabs, not dwarf. */ -#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG - -#ifndef DWARF_DEBUGGING_INFO -#define DWARF_DEBUGGING_INFO /* enable dwarf debugging for testing */ -#endif - -/* Handle #pragma weak and #pragma pack. */ - -#define HANDLE_SYSV_PRAGMA -#define SUPPORTS_WEAK TARGET_ELF - -/* Change default predefines. */ -#undef CPP_PREDEFINES -#define CPP_PREDEFINES "-DOSF -DOSF1 -Dunix -Asystem=xpg4" - -#undef CPP_SPEC -#define CPP_SPEC "%(cpp_cpu) \ -%{!melf: -D__ROSE__ %{!pic-none: -D__SHARED__}} \ -%{melf: -D__ELF__ %{fpic: -D__SHARED__}} \ -%{mno-underscores: -D__NO_UNDERSCORES__} \ -%{melf: %{!munderscores: -D__NO_UNDERSCORES__}} \ -%{.S: %{!ansi:%{!traditional:%{!traditional-cpp:%{!ftraditional: -traditional}}}}} \ -%{.S: -D__LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \ -%{.cc: -D__LANGUAGE_C_PLUS_PLUS} \ -%{.cxx: -D__LANGUAGE_C_PLUS_PLUS} \ -%{.C: -D__LANGUAGE_C_PLUS_PLUS} \ -%{.m: -D__LANGUAGE_OBJECTIVE_C} \ -%{!.S: -D__LANGUAGE_C %{!ansi:-DLANGUAGE_C}}" - -/* Turn on -pic-extern by default for OSF/rose, -fpic for ELF. */ -#undef CC1_SPEC -#define CC1_SPEC "%(cc1_cpu) \ -%{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \ -%{!melf: %{!mrose: -mrose }} \ -%{melf: %{!munderscores: %{!mno-underscores: -mno-underscores }} \ - %{!mmcount: %{!mno-mcount: %{!mmcount-ptr: -mmcount-ptr }}}} \ -%{!melf: %{!munderscores: %{!mno-underscores: -munderscores }} \ - %{!mmcount: %{!mno-mcount: %{!mmcount-ptr: -mmcount }}} \ - %{pic-extern: -mhalf-pic } %{pic-lib: -mhalf-pic } \ - %{!pic-extern: %{!pic-lib: %{pic-none: -mno-half-pic} %{!pic-none: -mhalf-pic}}} \ - %{pic-calls: } %{pic-names*: }}" - -#undef ASM_SPEC -#define ASM_SPEC "%{v*: -v}" - -#undef LINK_SPEC -#define LINK_SPEC "%{v*: -v} \ -%{!melf: %{!noshrlib: %{pic-none: -noshrlib} %{!pic-none: -warn_nopic}} \ - %{nostdlib} %{noshrlib} %{glue}} \ -%{melf: %{dy} %{dn} %{glue: } \ - %{h*} %{z*} \ - %{static:-dn -Bstatic} \ - %{shared:-G -dy} \ - %{symbolic:-Bsymbolic -G -dy} \ - %{G:-G} \ - %{!dy: %{!dn: %{!static: %{!shared: %{!symbolic: \ - %{noshrlib: -dn } %{pic-none: -dn } \ - %{!noshrlib: %{!pic-none: -dy}}}}}}}}" - -#undef LIB_SPEC -#define LIB_SPEC "-lc" - -#undef LIBG_SPEC -#define LIBG_SPEC "" - -#undef STARTFILE_SPEC -#define STARTFILE_SPEC "%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}" - -#undef TARGET_VERSION_INTERNAL -#undef TARGET_VERSION - -#define I386_VERSION " 80386, OSF/rose objects" - -#define TARGET_VERSION_INTERNAL(STREAM) fputs (I386_VERSION, STREAM) -#define TARGET_VERSION TARGET_VERSION_INTERNAL (stderr) - -#undef MD_EXEC_PREFIX -#define MD_EXEC_PREFIX "/usr/ccs/gcc/" - -#undef MD_STARTFILE_PREFIX -#define MD_STARTFILE_PREFIX "/usr/ccs/lib/" - -/* Specify size_t, ptrdiff_t, and wchar_t types. */ -#undef SIZE_TYPE -#undef PTRDIFF_TYPE -#undef WCHAR_TYPE -#undef WCHAR_TYPE_SIZE - -#define SIZE_TYPE "long unsigned int" -#define PTRDIFF_TYPE "int" -#define WCHAR_TYPE "unsigned int" -#define WCHAR_TYPE_SIZE BITS_PER_WORD - -/* Define this macro if the system header files support C++ as well - as C. This macro inhibits the usual method of using system header - files in C++, which is to pretend that the file's contents are - enclosed in `extern "C" {...}'. */ -#define NO_IMPLICIT_EXTERN_C - -/* Turn off long double being 96 bits. */ -#undef LONG_DOUBLE_TYPE_SIZE -#define LONG_DOUBLE_TYPE_SIZE 64 - -#define OSF_PROFILE_BEFORE_PROLOGUE \ - (!TARGET_MCOUNT \ - && !current_function_needs_context \ - && (!flag_pic \ - || !frame_pointer_needed \ - || (!current_function_uses_pic_offset_table \ - && !current_function_uses_const_pool))) - -/* A C statement or compound statement to output to FILE some assembler code to - call the profiling subroutine `mcount'. Before calling, the assembler code - must load the address of a counter variable into a register where `mcount' - expects to find the address. The name of this variable is `LP' followed by - the number LABELNO, so you would generate the name using `LP%d' in a - `fprintf'. - - The details of how the address should be passed to `mcount' are determined - by your operating system environment, not by GNU CC. To figure them out, - compile a small program for profiling using the system's installed C - compiler and look at the assembler code that results. */ - -#undef FUNCTION_PROFILER -#define FUNCTION_PROFILER(FILE, LABELNO) \ -do \ - { \ - if (!OSF_PROFILE_BEFORE_PROLOGUE) \ - { \ - const char *const prefix = (TARGET_UNDERSCORES) ? "_" : ""; \ - const char *const lprefix = LPREFIX; \ - int labelno = LABELNO; \ - \ - /* Note that OSF/rose blew it in terms of calling mcount, \ - since OSF/rose prepends a leading underscore, but mcount's \ - doesn't. At present, we keep this kludge for ELF as well \ - to allow old kernels to build profiling. */ \ - \ - if (flag_pic \ - && !current_function_uses_pic_offset_table \ - && !current_function_uses_const_pool) \ - abort (); \ - \ - if (TARGET_MCOUNT && flag_pic) \ - { \ - fprintf (FILE, "\tleal %sP%d@GOTOFF(%%ebx),%%edx\n", \ - lprefix, labelno); \ - fprintf (FILE, "\tcall *%smcount@GOT(%%ebx)\n", prefix); \ - } \ - \ - else if (TARGET_MCOUNT && HALF_PIC_P ()) \ - { \ - rtx symdef; \ - \ - HALF_PIC_EXTERNAL ("mcount"); \ - symdef = HALF_PIC_PTR (gen_rtx_SYMBOL_REF (Pmode, "mcount")); \ - fprintf (FILE, "\tmovl $%sP%d,%%edx\n", lprefix, labelno); \ - fprintf (FILE, "\tcall *%s%s\n", prefix, XSTR (symdef, 0)); \ - } \ - \ - else if (TARGET_MCOUNT) \ - { \ - fprintf (FILE, "\tmovl $%sP%d,%%edx\n", lprefix, labelno); \ - fprintf (FILE, "\tcall %smcount\n", prefix); \ - } \ - \ - else if (flag_pic && frame_pointer_needed) \ - { \ - fprintf (FILE, "\tmovl 4(%%ebp),%%ecx\n"); \ - fprintf (FILE, "\tpushl %%ecx\n"); \ - fprintf (FILE, "\tleal %sP%d@GOTOFF(%%ebx),%%edx\n", \ - lprefix, labelno); \ - fprintf (FILE, "\tmovl _mcount_ptr@GOT(%%ebx),%%eax\n"); \ - fprintf (FILE, "\tcall *(%%eax)\n"); \ - fprintf (FILE, "\tpopl %%eax\n"); \ - } \ - \ - else if (frame_pointer_needed) \ - { \ - fprintf (FILE, "\tmovl 4(%%ebp),%%ecx\n"); \ - fprintf (FILE, "\tpushl %%ecx\n"); \ - fprintf (FILE, "\tmovl $%sP%d,%%edx\n", lprefix, labelno); \ - fprintf (FILE, "\tcall *_mcount_ptr\n"); \ - fprintf (FILE, "\tpopl %%eax\n"); \ - } \ - \ - else \ - abort (); \ - } \ - } \ -while (0) - -/* A C function or functions which are needed in the library to - support block profiling. When support goes into libc, undo - the #if 0. */ - -#if 0 -#undef BLOCK_PROFILING_CODE -#define BLOCK_PROFILING_CODE -#endif - -/* Prefix for internally generated assembler labels. If we aren't using - underscores, we are using prefix `.'s to identify labels that should - be ignored, as in `i386/gas.h' --karl@cs.umb.edu */ -#undef LPREFIX -#define LPREFIX ((TARGET_UNDERSCORES) ? "L" : ".L") - -/* This is how to store into the string BUF - the symbol_ref name of an internal numbered label where - PREFIX is the class of label and NUM is the number within the class. - This is suitable for output with `assemble_name'. */ - -#undef ASM_GENERATE_INTERNAL_LABEL -#define ASM_GENERATE_INTERNAL_LABEL(BUF,PREFIX,NUMBER) \ - sprintf ((BUF), "*%s%s%ld", (TARGET_UNDERSCORES) ? "" : ".", \ - (PREFIX), (long)(NUMBER)) - -/* This is how to output an internal numbered label where - PREFIX is the class of label and NUM is the number within the class. */ - -#undef ASM_OUTPUT_INTERNAL_LABEL -#define ASM_OUTPUT_INTERNAL_LABEL(FILE,PREFIX,NUM) \ - fprintf (FILE, "%s%s%d:\n", (TARGET_UNDERSCORES) ? "" : ".", \ - PREFIX, NUM) - -/* The prefix to add to user-visible assembler symbols. */ - -/* target_flags is not accessible by the preprocessor */ -#undef USER_LABEL_PREFIX -#define USER_LABEL_PREFIX "_" - -/* This is how to output a reference to a user-level label named NAME. */ - -#undef ASM_OUTPUT_LABELREF -#define ASM_OUTPUT_LABELREF(FILE,NAME) \ - fprintf (FILE, "%s%s", (TARGET_UNDERSCORES) ? "_" : "", NAME) - -/* This is how to output an element of a case-vector that is relative. - This is only used for PIC code. See comments by the `casesi' insn in - i386.md for an explanation of the expression this outputs. */ - -#undef ASM_OUTPUT_ADDR_DIFF_ELT -#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) \ - fprintf (FILE, "\t.long _GLOBAL_OFFSET_TABLE_+[.-%s%d]\n", LPREFIX, VALUE) - -/* Output a definition */ -#define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2) \ -do \ -{ \ - fprintf ((FILE), "%s", SET_ASM_OP); \ - assemble_name (FILE, LABEL1); \ - fprintf (FILE, ","); \ - assemble_name (FILE, LABEL2); \ - fprintf (FILE, "\n"); \ - } \ -while (0) - -/* A C expression to output text to align the location counter in the - way that is desirable at a point in the code that is reached only - by jumping. - - This macro need not be defined if you don't want any special - alignment to be done at such a time. Most machine descriptions do - not currently define the macro. */ - -#undef LABEL_ALIGN_AFTER_BARRIER -#define LABEL_ALIGN_AFTER_BARRIER(LABEL) \ - ((!TARGET_LARGE_ALIGN && i386_align_jumps > 2) ? 2 : i386_align_jumps) - -/* A C expression to output text to align the location counter in the - way that is desirable at the beginning of a loop. - - This macro need not be defined if you don't want any special - alignment to be done at such a time. Most machine descriptions do - not currently define the macro. */ - -#undef LOOP_ALIGN -#define LOOP_ALIGN(LABEL) (i386_align_loops) - -/* A C statement to output to the stdio stream STREAM an assembler - command to advance the location counter to a multiple of 2 to the - POWER bytes. POWER will be a C expression of type `int'. */ - -#undef ASM_OUTPUT_ALIGN -#define ASM_OUTPUT_ALIGN(STREAM, POWER) \ - fprintf (STREAM, "\t.align\t%d\n", \ - (!TARGET_LARGE_ALIGN && (POWER) > 2) ? 2 : (POWER)) - -/* A C expression that is 1 if the RTX X is a constant which is a - valid address. On most machines, this can be defined as - `CONSTANT_P (X)', but a few machines are more restrictive in - which constant addresses are supported. - - `CONSTANT_P' accepts integer-values expressions whose values are - not explicitly known, such as `symbol_ref', `label_ref', and - `high' expressions and `const' arithmetic expressions, in - addition to `const_int' and `const_double' expressions. */ - -#define CONSTANT_ADDRESS_P_ORIG(X) \ - (GET_CODE (X) == LABEL_REF || GET_CODE (X) == SYMBOL_REF \ - || GET_CODE (X) == CONST_INT || GET_CODE (X) == CONST \ - || GET_CODE (X) == HIGH) - -#undef CONSTANT_ADDRESS_P -#define CONSTANT_ADDRESS_P(X) \ - ((CONSTANT_ADDRESS_P_ORIG (X)) && (!HALF_PIC_P () || !HALF_PIC_ADDRESS_P (X))) - -/* Nonzero if the constant value X is a legitimate general operand. - It is given that X satisfies CONSTANT_P or is a CONST_DOUBLE. */ - -#undef LEGITIMATE_CONSTANT_P -#define LEGITIMATE_CONSTANT_P(X) \ - (!HALF_PIC_P () \ - || GET_CODE (X) == CONST_DOUBLE \ - || GET_CODE (X) == CONST_INT \ - || !HALF_PIC_ADDRESS_P (X)) - -/* Sometimes certain combinations of command options do not make sense - on a particular target machine. You can define a macro - `OVERRIDE_OPTIONS' to take account of this. This macro, if - defined, is executed once just after all the command options have - been parsed. */ - -#undef SUBTARGET_OVERRIDE_OPTIONS -#define SUBTARGET_OVERRIDE_OPTIONS \ -{ \ - /* \ - if (TARGET_ELF && TARGET_HALF_PIC) \ - { \ - target_flags &= ~MASK_HALF_PIC; \ - flag_pic = 1; \ - } \ - */ \ - \ - if (TARGET_ROSE && flag_pic) \ - { \ - target_flags |= MASK_HALF_PIC; \ - flag_pic = 0; \ - } \ - \ - if (TARGET_HALF_PIC) \ - half_pic_init (); \ -} - -/* Define this macro if references to a symbol must be treated - differently depending on something about the variable or - function named by the symbol (such as what section it is in). - - The macro definition, if any, is executed immediately after the - rtl for DECL has been created and stored in `DECL_RTL (DECL)'. - The value of the rtl will be a `mem' whose address is a - `symbol_ref'. - - The usual thing for this macro to do is to a flag in the - `symbol_ref' (such as `SYMBOL_REF_FLAG') or to store a modified - name string in the `symbol_ref' (if one bit is not enough - information). - - The best way to modify the name string is by adding text to the - beginning, with suitable punctuation to prevent any ambiguity. - Allocate the new name in `saveable_obstack'. You will have to - modify `ASM_OUTPUT_LABELREF' to remove and decode the added text - and output the name accordingly. - - You can also check the information stored in the `symbol_ref' in - the definition of `GO_IF_LEGITIMATE_ADDRESS' or - `PRINT_OPERAND_ADDRESS'. */ - -#undef ENCODE_SECTION_INFO -#define ENCODE_SECTION_INFO(DECL) \ -do \ - { \ - if (HALF_PIC_P ()) \ - HALF_PIC_ENCODE (DECL); \ - \ - else if (flag_pic) \ - { \ - rtx rtl = (TREE_CODE_CLASS (TREE_CODE (DECL)) != 'd' \ - ? TREE_CST_RTL (DECL) : DECL_RTL (DECL)); \ - SYMBOL_REF_FLAG (XEXP (rtl, 0)) \ - = (TREE_CODE_CLASS (TREE_CODE (DECL)) != 'd' \ - || ! TREE_PUBLIC (DECL)); \ - } \ - } \ -while (0) - - -/* On most machines, read-only variables, constants, and jump tables - are placed in the text section. If this is not the case on your - machine, this macro should be defined to be the name of a function - (either `data_section' or a function defined in `EXTRA_SECTIONS') - that switches to the section to be used for read-only items. - - If these items should be placed in the text section, this macro - should not be defined. */ - -#if 0 -#undef READONLY_DATA_SECTION -#define READONLY_DATA_SECTION() \ -do \ - { \ - if (TARGET_ELF) \ - { \ - if (in_section != in_rodata) \ - { \ - fprintf (asm_out_file, "\t.section \"rodata\"\n"); \ - in_section = in_rodata; \ - } \ - } \ - else \ - text_section (); \ - } \ -while (0) -#endif - -/* A list of names for sections other than the standard two, which are - `in_text' and `in_data'. You need not define this macro on a - system with no other sections (that GCC needs to use). */ - -#undef EXTRA_SECTIONS -#define EXTRA_SECTIONS in_rodata, in_data1 - -/* Given a decl node or constant node, choose the section to output it in - and select that section. */ - -#undef SELECT_RTX_SECTION -#define SELECT_RTX_SECTION(MODE, RTX, ALIGN) \ -do \ - { \ - if (MODE == Pmode && HALF_PIC_P () && HALF_PIC_ADDRESS_P (RTX)) \ - data_section (); \ - else \ - readonly_data_section (); \ - } \ -while (0) - -#undef SELECT_SECTION -#define SELECT_SECTION(DECL, RELOC, ALIGN) \ -{ \ - if (RELOC && HALF_PIC_P ()) \ - data_section (); \ - \ - else if (TREE_CODE (DECL) == STRING_CST) \ - { \ - if (flag_writable_strings) \ - data_section (); \ - else \ - readonly_data_section (); \ - } \ - \ - else if (TREE_CODE (DECL) != VAR_DECL) \ - readonly_data_section (); \ - \ - else if (!TREE_READONLY (DECL) || TREE_SIDE_EFFECTS (DECL) \ - || !DECL_INITIAL (DECL) \ - || (DECL_INITIAL (DECL) != error_mark_node \ - && !TREE_CONSTANT (DECL_INITIAL (DECL)))) \ - data_section (); \ - \ - else \ - readonly_data_section (); \ -} - - -/* Define the strings used for the special svr4 .type and .size directives. - These strings generally do not vary from one system running svr4 to - another, but if a given system (e.g. m88k running svr) needs to use - different pseudo-op names for these, they may be overridden in the - file which includes this one. */ - -#define TYPE_ASM_OP "\t.type\t" -#define SIZE_ASM_OP "\t.size\t" -#define SET_ASM_OP "\t.set\t" - -/* This is how we tell the assembler that a symbol is weak. */ - -#define ASM_WEAKEN_LABEL(FILE,NAME) \ - do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \ - fputc ('\n', FILE); } while (0) - -/* The following macro defines the format used to output the second - operand of the .type assembler directive. Different svr4 assemblers - expect various different forms for this operand. The one given here - is just a default. You may need to override it in your machine- - specific tm.h file (depending upon the particulars of your assembler). */ - -#define TYPE_OPERAND_FMT "@%s" - -/* A C statement (sans semicolon) to output to the stdio stream - STREAM any text necessary for declaring the name NAME of an - initialized variable which is being defined. This macro must - output the label definition (perhaps using `ASM_OUTPUT_LABEL'). - The argument DECL is the `VAR_DECL' tree node representing the - variable. - - If this macro is not defined, then the variable name is defined - in the usual manner as a label (by means of `ASM_OUTPUT_LABEL'). */ - -#undef ASM_DECLARE_OBJECT_NAME -#define ASM_DECLARE_OBJECT_NAME(STREAM, NAME, DECL) \ -do \ - { \ - ASM_OUTPUT_LABEL(STREAM,NAME); \ - HALF_PIC_DECLARE (NAME); \ - if (TARGET_ELF) \ - { \ - fprintf (STREAM, "%s", TYPE_ASM_OP); \ - assemble_name (STREAM, NAME); \ - putc (',', STREAM); \ - fprintf (STREAM, TYPE_OPERAND_FMT, "object"); \ - putc ('\n', STREAM); \ - size_directive_output = 0; \ - if (!flag_inhibit_size_directive && DECL_SIZE (DECL)) \ - { \ - size_directive_output = 1; \ - fprintf (STREAM, "%s", SIZE_ASM_OP); \ - assemble_name (STREAM, NAME); \ - fprintf (STREAM, ",%d\n", int_size_in_bytes (TREE_TYPE (DECL))); \ - } \ - } \ - } \ -while (0) - -/* Output the size directive for a decl in rest_of_decl_compilation - in the case where we did not do so before the initializer. - Once we find the error_mark_node, we know that the value of - size_directive_output was set - by ASM_DECLARE_OBJECT_NAME when it was run for the same decl. */ - -#define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END) \ -do { \ - const char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0); \ - if (TARGET_ELF \ - && !flag_inhibit_size_directive && DECL_SIZE (DECL) \ - && ! AT_END && TOP_LEVEL \ - && DECL_INITIAL (DECL) == error_mark_node \ - && !size_directive_output) \ - { \ - fprintf (FILE, "%s", SIZE_ASM_OP); \ - assemble_name (FILE, name); \ - fprintf (FILE, ",%d\n", int_size_in_bytes (TREE_TYPE (DECL))); \ - } \ - } while (0) - -/* This is how to declare a function name. */ - -#undef ASM_DECLARE_FUNCTION_NAME -#define ASM_DECLARE_FUNCTION_NAME(STREAM,NAME,DECL) \ -do \ - { \ - ASM_OUTPUT_LABEL(STREAM,NAME); \ - HALF_PIC_DECLARE (NAME); \ - if (TARGET_ELF) \ - { \ - fprintf (STREAM, "%s", TYPE_ASM_OP); \ - assemble_name (STREAM, NAME); \ - putc (',', STREAM); \ - fprintf (STREAM, TYPE_OPERAND_FMT, "function"); \ - putc ('\n', STREAM); \ - ASM_DECLARE_RESULT (STREAM, DECL_RESULT (DECL)); \ - } \ - } \ -while (0) - -/* Write the extra assembler code needed to declare a function's result. - Most svr4 assemblers don't require any special declaration of the - result value, but there are exceptions. */ - -#ifndef ASM_DECLARE_RESULT -#define ASM_DECLARE_RESULT(FILE, RESULT) -#endif - -/* This is how to declare the size of a function. */ - -#define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \ -do \ - { \ - if (TARGET_ELF && !flag_inhibit_size_directive) \ - { \ - char label[256]; \ - static int labelno; \ - labelno++; \ - ASM_GENERATE_INTERNAL_LABEL (label, "Lfe", labelno); \ - ASM_OUTPUT_INTERNAL_LABEL (FILE, "Lfe", labelno); \ - fprintf (FILE, "%s", SIZE_ASM_OP); \ - assemble_name (FILE, (FNAME)); \ - fprintf (FILE, ","); \ - assemble_name (FILE, label); \ - fprintf (FILE, "-"); \ - assemble_name (FILE, (FNAME)); \ - putc ('\n', FILE); \ - } \ - } \ -while (0) - -#define IDENT_ASM_OP "\t.ident\t" - -/* Allow #sccs in preprocessor. */ - -#define SCCS_DIRECTIVE - -/* This says what to print at the end of the assembly file */ -#undef ASM_FILE_END -#define ASM_FILE_END(STREAM) \ -do \ - { \ - if (HALF_PIC_P ()) \ - HALF_PIC_FINISH (STREAM); \ - ix86_asm_file_end (STREAM); \ - } \ -while (0) - -/* Tell collect that the object format is OSF/rose. */ -#define OBJECT_FORMAT_ROSE - -/* Tell collect where the appropriate binaries are. */ -#define REAL_NM_FILE_NAME "/usr/ccs/gcc/bfd-nm" -#define REAL_STRIP_FILE_NAME "/usr/ccs/bin/strip" - -/* Define this macro meaning that gcc should find the library 'libgcc.a' - by hand, rather than passing the argument '-lgcc' to tell the linker - to do the search */ -#define LINK_LIBGCC_SPECIAL - -/* Generate calls to memcpy, etc., not bcopy, etc. */ -#define TARGET_MEM_FUNCTIONS - -/* Don't default to pcc-struct-return, because gcc is the only compiler, and - we want to retain compatibility with older gcc versions. */ -#define DEFAULT_PCC_STRUCT_RETURN 0 - -/* Map i386 registers to the numbers dwarf expects. Of course this is - different from what stabs expects. */ - -#undef DBX_REGISTER_NUMBER -#define DBX_REGISTER_NUMBER(n) ((write_symbols == DWARF_DEBUG) \ - ? svr4_dbx_register_map[n] \ - : dbx_register_map[n]) diff --git a/contrib/gcc/config/i386/rtems.h b/contrib/gcc/config/i386/rtems.h deleted file mode 100644 index 0fda63220ef3..000000000000 --- a/contrib/gcc/config/i386/rtems.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Definitions for rtems targeting an Intel i386 using coff. - Copyright (C) 1996, 1997, 2000, 2002 Free Software Foundation, Inc. - Contributed by Joel Sherrill (joel@OARcorp.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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -/* Specify predefined symbols in preprocessor. */ - -#undef CPP_PREDEFINES -#define CPP_PREDEFINES "-D__rtems__ -Asystem=rtems" diff --git a/contrib/gcc/config/i386/seq-gas.h b/contrib/gcc/config/i386/seq-gas.h deleted file mode 100644 index d11c4c1f388f..000000000000 --- a/contrib/gcc/config/i386/seq-gas.h +++ /dev/null @@ -1,46 +0,0 @@ -/* Definitions for Sequent Intel 386 using GAS. - Copyright (C) 1992 Free Software Foundation, Inc. - -/* Mostly it's like a Sequent 386 without GAS. */ - -#include "i386/sequent.h" - -/* A C statement or statements which output an assembler instruction - opcode to the stdio stream STREAM. The macro-operand PTR is a - variable of type `char *' which points to the opcode name in its - "internal" form--the form that is written in the machine description. - - GAS version 1.38.1 doesn't understand the `repz' opcode mnemonic. - So use `repe' instead. */ - -#undef ASM_OUTPUT_OPCODE -#define ASM_OUTPUT_OPCODE(STREAM, PTR) \ -{ \ - if ((PTR)[0] == 'r' \ - && (PTR)[1] == 'e' \ - && (PTR)[2] == 'p') \ - { \ - if ((PTR)[3] == 'z') \ - { \ - fprintf (STREAM, "repe"); \ - (PTR) += 4; \ - } \ - else if ((PTR)[3] == 'n' && (PTR)[4] == 'z') \ - { \ - fprintf (STREAM, "repne"); \ - (PTR) += 5; \ - } \ - } \ -} - -/* Define macro used to output shift-double opcodes when the shift - count is in %cl. Some assemblers require %cl as an argument; - some don't. - - GAS requires the %cl argument, so override i386/unix.h. */ - -#undef SHIFT_DOUBLE_OMITS_COUNT -#define SHIFT_DOUBLE_OMITS_COUNT 0 - -/* Print opcodes the way that GAS expects them. */ -#define GAS_MNEMONICS 1 diff --git a/contrib/gcc/config/i386/seq-sysv3.h b/contrib/gcc/config/i386/seq-sysv3.h deleted file mode 100644 index c8e75927dfc7..000000000000 --- a/contrib/gcc/config/i386/seq-sysv3.h +++ /dev/null @@ -1,45 +0,0 @@ -/* Sequent DYNIX/ptx 1.x (SVr3) */ - -#include "i386/sysv3.h" - -/* Sequent Symmetry SVr3 doesn't have crtn.o; crt1.o doesn't work - but crt0.o does. */ - -#undef STARTFILE_SPEC -#define STARTFILE_SPEC \ -"%{pg:gcrt0.o%s}\ - %{!pg:%{posix:%{p:mcrtp0.o%s}%{!p:crtp0.o%s}}\ - %{!posix:%{p:mcrt0.o%s}%{!p:crt0.o%s}}} crtbegin.o%s\ - %{p:-L/usr/lib/libp}%{pg:-L/usr/lib/libp}" - -#undef LIB_SPEC -#define LIB_SPEC \ -"%{posix:-lcposix}\ - %{shlib:-lc_s}\ - %{fshared-data:-lpps -lseq} -lc crtend.o%s" - -#undef CPP_SPEC -#define CPP_SPEC "%(cpp_cpu) %{posix:-D_POSIX_SOURCE} -D_SEQUENT_=1" - -/* Although the .init section is used, it is not automatically invoked. - This because the _start() function in /lib/crt0.o never calls anything - from the .init section */ -#define INVOKE__main - -/* Assembler pseudo-op for initialized shared variables (.shdata). */ -#undef SHARED_SECTION_ASM_OP -#define SHARED_SECTION_ASM_OP "\t.section .shdata, \"ws\"" - -/* Assembler pseudo-op for uninitialized shared global variables (.shbss). */ -#undef ASM_OUTPUT_SHARED_COMMON -#define ASM_OUTPUT_SHARED_COMMON(FILE, NAME, SIZE, ROUNDED) \ -( fputs(".comm ", (FILE)), \ - assemble_name((FILE), (NAME)), \ - fprintf((FILE), ",%u,-3\n", (SIZE))) - -/* Assembler pseudo-op for uninitialized shared local variables (.shbss). */ -#undef SHARED_BSS_SECTION_ASM_OP -#define SHARED_BSS_SECTION_ASM_OP "\t.section .shbss, \"bs\"" - -/* seq2-sysv3.h used to define HAVE_ATEXIT, so I assume ptx1 needs this... */ -#define NEED_ATEXIT diff --git a/contrib/gcc/config/i386/seq2-sysv3.h b/contrib/gcc/config/i386/seq2-sysv3.h deleted file mode 100644 index dd43af707a04..000000000000 --- a/contrib/gcc/config/i386/seq2-sysv3.h +++ /dev/null @@ -1,7 +0,0 @@ -/* Sequent DYNIX/ptx 2.x (SVr3) */ - -#include "i386/seq-sysv3.h" - -/* Use atexit for static destructors, instead of defining - our own exit function. */ -#undef NEED_ATEXIT diff --git a/contrib/gcc/config/i386/sequent.h b/contrib/gcc/config/i386/sequent.h deleted file mode 100644 index cffc50ae1e22..000000000000 --- a/contrib/gcc/config/i386/sequent.h +++ /dev/null @@ -1,147 +0,0 @@ -/* Definitions for Sequent Intel 386. - Copyright (C) 1988, 1994, 1999, 2000 Free Software Foundation, Inc. - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#include "i386/i386.h" - -/* Use the BSD assembler syntax. */ - -#include "i386/bsd.h" - -/* By default, don't use IEEE compatible arithmetic comparisons - because the assembler can't handle the fucom insn. - Return float values in the 387. */ - -#undef TARGET_SUBTARGET_DEFAULT -#define TARGET_SUBTARGET_DEFAULT (MASK_80387 | MASK_FLOAT_RETURNS) - -/* Specify predefined symbols in preprocessor. */ - -#define CPP_PREDEFINES "-Dunix -Dsequent -Asystem=unix" - -/* Pass -Z and -ZO options to the linker. */ - -#define LINK_SPEC "%{Z*}" - -#if 0 /* Dynix 3.1 is said to accept -L. */ -/* Dynix V3.0.12 doesn't accept -L at all. */ - -#define LINK_LIBGCC_SPECIAL -#endif - -/* Link with libg.a when debugging, for dbx's sake. */ - -#define LIB_SPEC "%{g:-lg} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p} " - -/* We don't want to output SDB debugging information. */ - -#undef SDB_DEBUGGING_INFO - -/* We want to output DBX debugging information. */ - -#define DBX_DEBUGGING_INFO - -/* Sequent Symmetry has size_t defined as int in /usr/include/sys/types.h */ -#define SIZE_TYPE "int" - -/* gcc order is ax, dx, cx, bx, si, di, bp, sp, st, st. - * dbx order is ax, dx, cx, st(0), st(1), bx, si, di, st(2), st(3), - * st(4), st(5), st(6), st(7), sp, bp */ - -#undef DBX_REGISTER_NUMBER -#define DBX_REGISTER_NUMBER(n) \ -((n) < 3 ? (n) : (n) < 6 ? (n) + 2 \ - : (n) == 6 ? 15 : (n) == 7 ? 14 : 3) - -/* malcolmp@hydra.maths.unsw.EDU.AU says these two definitions - fix trouble in dbx. */ -#undef DBX_OUTPUT_LBRAC -#define DBX_OUTPUT_LBRAC(file,name) \ - fprintf (asmfile, "%s%d,0,%d,", ASM_STABN_OP, N_LBRAC, depth); \ - assemble_name (asmfile, buf); \ - fprintf (asmfile, "\n"); - -#undef DBX_OUTPUT_RBRAC -#define DBX_OUTPUT_RBRAC(file,name) \ - fprintf (asmfile, "%s%d,0,%d,", ASM_STABN_OP, N_RBRAC, depth); \ - assemble_name (asmfile, buf); \ - fprintf (asmfile, "\n"); - -/* Prevent anything from being allocated in the register pair cx/bx, - since that would confuse GDB. */ - -#undef HARD_REGNO_MODE_OK -#define HARD_REGNO_MODE_OK(REGNO, MODE) \ - (((REGNO) < 2 ? 1 \ - : (REGNO) < 4 ? 1 \ - : FP_REGNO_P (REGNO) ? (GET_MODE_CLASS (MODE) == MODE_FLOAT \ - || GET_MODE_CLASS (MODE) == MODE_COMPLEX_FLOAT) \ - : (MODE) != QImode) \ - && ! (REGNO == 2 && GET_MODE_UNIT_SIZE (MODE) > 4)) - -/* Output assembler code to FILE to increment profiler label # LABELNO - for profiling a function entry. */ - -#undef FUNCTION_PROFILER -#define FUNCTION_PROFILER(FILE, LABELNO) \ - fprintf (FILE, "\tmovl $.LP%d,%%eax\n\tcall mcount\n", (LABELNO)); - -/* Assembler pseudo-op for shared data segment. */ -#define SHARED_SECTION_ASM_OP "\t.shdata" - -/* A C statement or statements which output an assembler instruction - opcode to the stdio stream STREAM. The macro-operand PTR is a - variable of type `char *' which points to the opcode name in its - "internal" form--the form that is written in the machine description. - - The Sequent assembler (identified as "Balance 8000 Assembler - 07/17/85 3.90" by "as -v") does not understand the `movs[bwl]' string - move mnemonics - it uses `smov[bwl]' instead. Change "movs" into - "smov", carefully avoiding the sign-extend opcodes. */ - -#define ASM_OUTPUT_OPCODE(STREAM, PTR) \ -{ \ - if ((PTR)[0] == 'm' \ - && (PTR)[1] == 'o' \ - && (PTR)[2] == 'v' \ - && (PTR)[3] == 's' \ - && ((PTR)[4] == 'b' || (PTR)[4] == 'w' || (PTR)[4] == 'l') \ - && ((PTR)[5] == ' ' || (PTR)[5] == '\t'|| (PTR)[5] == '\0')) \ - { \ - fprintf (STREAM, "smov"); \ - (PTR) += 4; \ - } \ -} - -/* 10-Aug-92 pes Local labels are prefixed with ".L" */ -#undef LPREFIX -#define LPREFIX ".L" - -#undef ASM_GENERATE_INTERNAL_LABEL -#define ASM_GENERATE_INTERNAL_LABEL(BUF,PREFIX,NUMBER)\ - sprintf ((BUF), "*.%s%ld", (PREFIX), (long)(NUMBER)) - -#undef ASM_OUTPUT_INTERNAL_LABEL -#define ASM_OUTPUT_INTERNAL_LABEL(FILE,PREFIX,NUM)\ - fprintf (FILE, ".%s%d:\n", PREFIX, NUM) - -/* The native compiler passes the address of the returned structure in eax. */ -#undef STRUCT_VALUE -#undef STRUCT_VALUE_INCOMING -#define STRUCT_VALUE_REGNUM 0 diff --git a/contrib/gcc/config/i386/sol2gas.h b/contrib/gcc/config/i386/sol2gas.h deleted file mode 100644 index f8ca103f8e1c..000000000000 --- a/contrib/gcc/config/i386/sol2gas.h +++ /dev/null @@ -1,11 +0,0 @@ -/* Definitions of target machine for GNU compiler, for SPARC running - Solaris 2 with GNU as up to 2.9.5.0.12. - - Copyright (C) 1999 Free Software Foundation, Inc. -*/ - -#ifndef GAS_REJECTS_MINUS_S -#define GAS_REJECTS_MINUS_S 1 -#endif - -/* Assume sol2.h will be included afterwards. */ diff --git a/contrib/gcc/config/i386/sun.h b/contrib/gcc/config/i386/sun.h deleted file mode 100644 index de40abb35a39..000000000000 --- a/contrib/gcc/config/i386/sun.h +++ /dev/null @@ -1,83 +0,0 @@ -/* Definitions for Intel 386 running SunOS 4.0. - Copyright (C) 1988, 1995 Free Software Foundation, Inc. - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - - -#include "i386/i386.h" - -/* Use the Sun assembler syntax. */ - -#include "i386/sun386.h" - -/* Use crt0.o as a startup file. */ - -#define STARTFILE_SPEC \ - "%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}" - -#define LIB_SPEC "%{g:-lg} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p} \ -%{g:-lg} %{sun386:}" -/* That last item is just to prevent a spurious error. */ - -#undef LINK_SPEC -#define LINK_SPEC \ - "%{!nostdlib:%{!r*:%{!e*:-e _start}}} -dc -dp %{static:-Bstatic}" - -/* Extra switches to give the assembler. */ - -#define ASM_SPEC "%{R} -i386 %{keep-local-as-symbols:-L}" - -/* Specify predefined symbols in preprocessor. */ - -#define CPP_PREDEFINES "-Dunix -Dsun386 -Dsun -Asystem=unix -Asystem=bsd" - -/* Allow #sccs in preprocessor. */ - -#define SCCS_DIRECTIVE - -/* Output #ident as a .ident. */ - -#define ASM_OUTPUT_IDENT(FILE, NAME) fprintf (FILE, "\t.ident \"%s\"\n", NAME); - -/* We don't want to output SDB debugging information. */ - -#undef SDB_DEBUGGING_INFO - -/* We want to output DBX debugging information. */ - -#define DBX_DEBUGGING_INFO - -/* Implicit library calls should use memcpy, not bcopy, etc. */ - -#define TARGET_MEM_FUNCTIONS - -/* Force structure alignment to the type used for a bitfield. */ - -#define PCC_BITFIELD_TYPE_MATTERS 1 - -/* This is partly guess. */ - -#undef DBX_REGISTER_NUMBER -#define DBX_REGISTER_NUMBER(n) \ - ((n) == 0 ? 11 : (n) == 1 ? 9 : (n) == 2 ? 10 : (n) == 3 ? 8 \ - : (n) == 4 ? 5 : (n) == 5 ? 4 : (n) == 6 ? 6 : (n)) - -/* Every debugger symbol must be in the text section. - Otherwise the assembler or the linker screws up. */ - -#define DEBUG_SYMS_TEXT diff --git a/contrib/gcc/config/i386/sun386.h b/contrib/gcc/config/i386/sun386.h deleted file mode 100644 index d280d583cbee..000000000000 --- a/contrib/gcc/config/i386/sun386.h +++ /dev/null @@ -1,141 +0,0 @@ -/* Definitions for Sun assembler syntax for the Intel 80386. - Copyright (C) 1988, 1996, 2000 Free Software Foundation, Inc. - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - - -/* Include common aspects of all 386 Unix assemblers. */ -#include "i386/unix.h" - -#define TARGET_VERSION fprintf (stderr, " (80386, Sun syntax)"); - -/* Define the syntax of instructions and addresses. */ - -/* Prefix for internally generated assembler labels. */ -#define LPREFIX ".L" - -/* Define the syntax of pseudo-ops, labels and comments. */ - -/* Assembler pseudos to introduce constants of various size. */ - -#define ASM_SHORT "\t.value\t" -#define ASM_LONG "\t.long\t" -#define ASM_QUAD "\t.quad\t" /* Should not be used for 32bit compilation. */ - - -/* How to output an ASCII string constant. */ - -#define ASM_OUTPUT_ASCII(FILE, PTR, SIZE) \ -do \ -{ size_t i = 0, limit = (SIZE); \ - while (i < limit) \ - { if (i%10 == 0) { if (i!=0) fprintf ((FILE), "\n"); \ - fputs ("\t.byte\t", (FILE)); } \ - else fprintf ((FILE), ","); \ - fprintf ((FILE), "0x%x", ((PTR)[i++] & 0377)) ;} \ - fprintf ((FILE), "\n"); \ -} while (0) - -/* Output at beginning of assembler file. */ -/* The .file command should always begin the output. */ - -#undef ASM_FILE_START -#define ASM_FILE_START(FILE) \ - do { \ - { \ - const int len = strlen (main_input_filename); \ - const char *na = main_input_filename + len; \ - char shorter[15]; \ - /* NA gets MAIN_INPUT_FILENAME sans directory names. */\ - while (na > main_input_filename) \ - { \ - if (na[-1] == '/') \ - break; \ - na--; \ - } \ - strncpy (shorter, na, 14); \ - shorter[14] = 0; \ - fprintf (FILE, "\t.file\t"); \ - output_quoted_string (FILE, shorter); \ - fprintf (FILE, "\n"); \ - } \ - fprintf (FILE, "\t.version\t\"%s %s\"\n", \ - lang_hooks.name, version_string); \ - if (optimize) ASM_FILE_START_1 (FILE); \ - } while (0) - -#define ASM_FILE_START_1(FILE) fprintf (FILE, "\t.optim\n") - -/* This is how to output an assembler line - that says to advance the location counter - to a multiple of 2**LOG bytes. */ - -#define ASM_OUTPUT_ALIGN(FILE,LOG) \ - if ((LOG)!=0) fprintf ((FILE), "\t.align %d\n", 1<<(LOG)) - -/* This is how to output an assembler line - that says to advance the location counter by SIZE bytes. */ - -#define ASM_OUTPUT_SKIP(FILE,SIZE) \ - fprintf ((FILE), "\t.set\t.,.+%u\n", (SIZE)) - -/* Output before read-only data. */ - -#undef TEXT_SECTION_ASM_OP -#define TEXT_SECTION_ASM_OP "\t.text" - -/* Output before writable data. */ - -#undef DATA_SECTION_ASM_OP -#define DATA_SECTION_ASM_OP "\t.data" - -/* Define the syntax of labels and symbol definitions/declarations. */ - -/* This says how to output an assembler line - to define a global common symbol. */ - -#define ASM_OUTPUT_COMMON(FILE, NAME, SIZE, ROUNDED) \ -( fputs (".comm ", (FILE)), \ - assemble_name ((FILE), (NAME)), \ - fprintf ((FILE), ",%u\n", (ROUNDED))) - -/* This says how to output an assembler line - to define a local common symbol. */ - -#define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE, ROUNDED) \ -( fputs (".lcomm ", (FILE)), \ - assemble_name ((FILE), (NAME)), \ - fprintf ((FILE), ",%u\n", (ROUNDED))) - -/* This is how to store into the string BUF - the symbol_ref name of an internal numbered label where - PREFIX is the class of label and NUM is the number within the class. - This is suitable for output with `assemble_name'. */ - -#define ASM_GENERATE_INTERNAL_LABEL(BUF,PREFIX,NUMBER) \ - sprintf ((BUF), "*.%s%ld", (PREFIX), (long)(NUMBER)) - -/* The prefix to add to user-visible assembler symbols. */ - -#define USER_LABEL_PREFIX "" - -/* This is how to output an internal numbered label where - PREFIX is the class of label and NUM is the number within the class. */ - -#define ASM_OUTPUT_INTERNAL_LABEL(FILE,PREFIX,NUM) \ - fprintf (FILE, ".%s%d:\n", PREFIX, NUM) diff --git a/contrib/gcc/config/i386/t-dgux b/contrib/gcc/config/i386/t-dgux deleted file mode 100644 index e1bccee610fb..000000000000 --- a/contrib/gcc/config/i386/t-dgux +++ /dev/null @@ -1,11 +0,0 @@ -# -# target makefile for dgux -# -EXTRA_PARTS=crti.o crtbegin.o crtend.o - -crti.o: $(srcdir)/config/i386/sol2-ci.asm $(GCC_PASSES) - sed -e '/^!/d' <$(srcdir)/config/i386/sol2-ci.asm >crti.s - $(GCC_FOR_TARGET) -c -o crti.o crti.s - -# Don't run fixproto -STMP_FIXPROTO = diff --git a/contrib/gcc/config/i386/t-next b/contrib/gcc/config/i386/t-next deleted file mode 100644 index 4b70ba78ae0f..000000000000 --- a/contrib/gcc/config/i386/t-next +++ /dev/null @@ -1,8 +0,0 @@ -# Specify other dirs of system header files to be fixed. -OTHER_FIXINCLUDES_DIRS= /LocalDeveloper/Headers - -# <limits.h> is sometimes in /usr/include/ansi/limits.h. -LIMITS_H_TEST = [ -f $(SYSTEM_HEADER_DIR)/limits.h -o -f $(SYSTEM_HEADER_DIR)/ansi/limits.h ] - -nextstep.o: $(srcdir)/config/nextstep.c $(CONFIG_H) flags.h tree.h - $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/nextstep.c diff --git a/contrib/gcc/config/i386/t-osf b/contrib/gcc/config/i386/t-osf deleted file mode 100644 index c996e0c9e77b..000000000000 --- a/contrib/gcc/config/i386/t-osf +++ /dev/null @@ -1,2 +0,0 @@ -# If compiling with the osf gcc, avoid sharing code. -TCFLAGS = -pic-none diff --git a/contrib/gcc/config/i386/t-osf1elf b/contrib/gcc/config/i386/t-osf1elf deleted file mode 100644 index 77c7df1a6dfd..000000000000 --- a/contrib/gcc/config/i386/t-osf1elf +++ /dev/null @@ -1,18 +0,0 @@ -# Assemble startup files. -crti.o: $(srcdir)/config/i386/osf1-ci.asm $(GCC_PASSES) - sed -e '/^!/d' <$(srcdir)/config/i386/osf1-ci.asm >crti.s - $(GCC_FOR_TARGET) -c -o crti.o crti.s -crtn.o: $(srcdir)/config/i386/osf1-cn.asm $(GCC_PASSES) - sed -e '/^!/d' <$(srcdir)/config/i386/osf1-cn.asm >crtn.s - $(GCC_FOR_TARGET) -c -o crtn.o crtn.s - -# The pushl in CTOR initialization interferes with frame pointer elimination. - -# We need to use -fPIC when we are using gcc to compile the routines in -# crtstuff.c. This is only really needed when we are going to use gcc/g++ -# to produce a shared library, but since we don't know ahead of time when -# we will be doing that, we just always use -fPIC when compiling the -# routines in crtstuff.c. - -CRTSTUFF_T_CFLAGS = -fPIC -fno-omit-frame-pointer -TARGET_LIBGCC2_CFLAGS = -fPIC diff --git a/contrib/gcc/config/i386/v3gas.h b/contrib/gcc/config/i386/v3gas.h deleted file mode 100644 index a350ab40bcd3..000000000000 --- a/contrib/gcc/config/i386/v3gas.h +++ /dev/null @@ -1,80 +0,0 @@ -/* Definitions for Intel 386 running system V, using gas. - Copyright (C) 1992, 1995 Free Software Foundation, Inc. - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#include <i386/gas.h> - -/* Add stuff that normally comes from i386v.h */ - -/* longjmp may fail to restore the registers if called from the same - function that called setjmp. To compensate, the compiler avoids - putting variables in registers in functions that use both setjmp - and longjmp. */ - -#define NON_SAVING_SETJMP \ - (current_function_calls_setjmp && current_function_calls_longjmp) - -/* longjmp may fail to restore the stack pointer if the saved frame - pointer is the same as the caller's frame pointer. Requiring a frame - pointer in any function that calls setjmp or longjmp avoids this - problem, unless setjmp and longjmp are called from the same function. - Since a frame pointer will be required in such a function, it is OK - that the stack pointer is not restored. */ - -#undef SUBTARGET_FRAME_POINTER_REQUIRED -#define SUBTARGET_FRAME_POINTER_REQUIRED \ - (current_function_calls_setjmp || current_function_calls_longjmp) - -/* Modify ASM_OUTPUT_LOCAL slightly to test -msvr3-shlib, adapted to gas */ -#undef ASM_OUTPUT_LOCAL -#define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE, ROUNDED) \ - do { \ - int align = exact_log2 (ROUNDED); \ - if (align > 2) align = 2; \ - if (TARGET_SVR3_SHLIB) \ - { \ - data_section (); \ - ASM_OUTPUT_ALIGN ((FILE), align == -1 ? 2 : align); \ - ASM_OUTPUT_LABEL ((FILE), (NAME)); \ - fprintf ((FILE), "\t.set .,.+%u\n", (ROUNDED)); \ - } \ - else \ - { \ - fputs (".lcomm ", (FILE)); \ - assemble_name ((FILE), (NAME)); \ - fprintf ((FILE), ",%u\n", (ROUNDED)); \ - } \ - } while (0) - -/* Add stuff that normally comes from i386v.h via svr3.h */ - -/* Define the actual types of some ANSI-mandated types. These - definitions should work for most SVR3 systems. */ - -#undef SIZE_TYPE -#define SIZE_TYPE "unsigned int" - -#undef PTRDIFF_TYPE -#define PTRDIFF_TYPE "int" - -#undef WCHAR_TYPE -#define WCHAR_TYPE "long int" - -#undef WCHAR_TYPE_SIZE -#define WCHAR_TYPE_SIZE BITS_PER_WORD diff --git a/contrib/gcc/config/i386/x-freebsd b/contrib/gcc/config/i386/x-freebsd deleted file mode 100644 index a9b13ba5c819..000000000000 --- a/contrib/gcc/config/i386/x-freebsd +++ /dev/null @@ -1,3 +0,0 @@ -# Don't run fixproto -STMP_FIXPROTO = -CLIB=-lgnumalloc diff --git a/contrib/gcc/config/nextstep-protos.h b/contrib/gcc/config/nextstep-protos.h deleted file mode 100644 index 1f86e1d9b3bb..000000000000 --- a/contrib/gcc/config/nextstep-protos.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Operating system specific defines to be used when targeting GCC - for NeXTSTEP. - Copyright (C) 2001 Free Software Foundation, Inc. - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -extern void nextstep_asm_out_constructor PARAMS ((struct rtx_def *, int)); -extern void nextstep_asm_out_destructor PARAMS ((struct rtx_def *, int)); -extern int handle_pragma PARAMS ((int(*)(void), void (*)(int), const char *)); -extern void constructor_section PARAMS ((void)); -extern void destructor_section PARAMS ((void)); -extern void nextstep_exception_section PARAMS ((void)); -extern void nextstep_eh_frame_section PARAMS ((void)); diff --git a/contrib/gcc/config/nextstep.c b/contrib/gcc/config/nextstep.c deleted file mode 100644 index 228c5662a2d0..000000000000 --- a/contrib/gcc/config/nextstep.c +++ /dev/null @@ -1,117 +0,0 @@ -/* Functions for generic NeXT as target machine for GNU C compiler. - Copyright (C) 1989, 1990, 1991, 1992, 1993, 1996, 1997, 1998, - 2000 Free Software Foundation, Inc. - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#include "config.h" -#include "system.h" -#include "flags.h" -#include "tree.h" -#include "rtl.h" -#include "toplev.h" -#include "output.h" -#include "tm_p.h" - -/* Make everything that used to go in the text section really go there. */ - -int flag_no_mach_text_sections = 0; - -#define OPT_STRCMP(opt) (!strncmp (opt, p, sizeof (opt)-1)) - -/* 1 if handle_pragma has been called yet. */ - -static int pragma_initialized; - -/* Initial setting of `optimize'. */ - -static int initial_optimize_flag; - -/* Called from check_newline via the macro HANDLE_PRAGMA. - FINPUT is the source file input stream. - CH is the first character after `#pragma'. - The result is 1 if the pragma was handled. */ - -int -handle_pragma (p_getc, p_ungetc, pname) - int (* p_getc) PARAMS ((void)) ATTRIBUTE_UNUSED; - void (* p_ungetc) PARAMS ((int)) ATTRIBUTE_UNUSED; - const char *pname; -{ - int retval = 0; - - /* Record initial setting of optimize flag, so we can restore it. */ - if (!pragma_initialized) - { - pragma_initialized = 1; - initial_optimize_flag = optimize; - } - - if (strcmp (pname, "CC_OPT_ON") == 0) - { - optimize = 1; - warning ("optimization turned on"); - retval = 1; - } - else if (strcmp (pname, "CC_OPT_OFF") == 0) - { - optimize = 0; - warning ("optimization turned off"); - retval = 1; - } - else if (strcmp (pname, "CC_OPT_RESTORE") == 0) - { - extern int initial_optimize_flag; - - if (optimize != initial_optimize_flag) - optimize = initial_optimize_flag; - warning ("optimization level restored"); - retval = 1; - } - else if (strcmp (pname, "CC_WRITABLE_STRINGS") == 0) - flag_writable_strings = retval = 1; - else if (strcmp (pname, "CC_NON_WRITABLE_STRINGS") == 0) - flag_writable_strings = 0, retval = 1; - else if (strcmp (pname, "CC_NO_MACH_TEXT_SECTIONS") == 0) - flag_no_mach_text_sections = retval = 1; - - return retval; -} - -void -nextstep_asm_out_constructor (symbol, priority) - rtx symbol; - int priority ATTRIBUTE_UNUSED; -{ - constructor_section (); - assemble_align (POINTER_SIZE); - assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1); - fprintf (asm_out_file, ".reference .constructors_used\n"); -} - -void -nextstep_asm_out_destructor (symbol, priority) - rtx symbol; - int priority ATTRIBUTE_UNUSED; -{ - destructor_section (); - assemble_align (POINTER_SIZE); - assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1); - fprintf (asm_out_file, ".reference .destructors_used\n"); -} - diff --git a/contrib/gcc/config/nextstep.h b/contrib/gcc/config/nextstep.h deleted file mode 100644 index 8089633a7c18..000000000000 --- a/contrib/gcc/config/nextstep.h +++ /dev/null @@ -1,581 +0,0 @@ -/* Operating system specific defines to be used when targeting GCC - for NeXTSTEP. - Copyright (C) 1989, 1990, 1991, 1992, 1993, 1996, 1997, - 1999 Free Software Foundation, Inc. - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -/* Use new NeXT include file search path. - In a cross compiler with NeXT as target, don't expect - the host to use Next's directory scheme. */ - -#ifndef CROSS_COMPILE -#undef INCLUDE_DEFAULTS -#define INCLUDE_DEFAULTS \ - { \ - { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1 }, \ - { LOCAL_INCLUDE_DIR, 0, 0, 1 }, \ - { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1 }, \ - { GCC_INCLUDE_DIR, "GCC", 0, 0 }, \ - /* These are for fixincludes-fixed ansi/bsd headers \ - which wouldn't be found otherwise. \ - (The use of string catenation here is OK since \ - NeXT's native compiler is derived from GCC.) */ \ - { GCC_INCLUDE_DIR "/ansi", 0, 0, 0 }, \ - { GCC_INCLUDE_DIR "/bsd", 0, 0, 0 }, \ - { "/NextDeveloper/Headers", 0, 0, 0 }, \ - { "/NextDeveloper/Headers/ansi", 0, 0, 0 }, \ - { "/NextDeveloper/Headers/bsd", 0, 0, 0 }, \ - { "/LocalDeveloper/Headers", 0, 0, 0 }, \ - { "/LocalDeveloper/Headers/ansi", 0, 0, 0 }, \ - { "/LocalDeveloper/Headers/bsd", 0, 0, 0 }, \ - { "/NextDeveloper/2.0CompatibleHeaders", 0, 0, 0 }, \ - { STANDARD_INCLUDE_DIR, 0, 0, 0 }, \ - { "/usr/include/bsd", 0, 0, 0 }, \ - { 0, 0, 0, 0 } \ - } -#else /* CROSS_COMPILE */ -#undef INCLUDE_DEFAULTS -#define INCLUDE_DEFAULTS \ - { \ - { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1 }, \ - { GPLUSPLUS_INCLUDE_DIR, 0, 1, 1 }, \ - { GCC_INCLUDE_DIR, "GCC", 0, 0 }, \ - { GCC_INCLUDE_DIR "/ansi", 0, 0, 0 }, \ - { GCC_INCLUDE_DIR "/bsd", 0, 0, 0 }, \ - { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1 }, \ - { TOOL_INCLUDE_DIR "/ansi", 0, 0, 0 }, \ - { TOOL_INCLUDE_DIR "/bsd", 0, 0, 0 }, \ - { "/usr/include/bsd", 0, 0, 0 }, \ - { 0, 0, 0, 0 } \ - } -#endif /* CROSS_COMPILE */ - -#undef EXTRA_FORMAT_FUNCTIONS -#define EXTRA_FORMAT_FUNCTIONS \ - "NXPrintf", FALSE, 2, FALSE, \ - "NXScanf", TRUE, 2, FALSE, \ - "NXVPrintf", FALSE, 2, TRUE, \ - "NXVScanf", TRUE, 2, TRUE, \ - "DPSPrintf", FALSE, 2, FALSE, \ - "bsd_sprintf", FALSE, 2, FALSE, \ - "bsd_vsprintf", FALSE, 2, TRUE, - -/* Make -fnext-runtime the default. */ - -#define NEXT_OBJC_RUNTIME - -/* Enable recent gcc to compile under the old gcc in Next release 1.0. */ - -#define __inline inline - -/* wchar_t is unsigned short */ - -#undef WCHAR_TYPE -#define WCHAR_TYPE "short unsigned int" -#undef WCHAR_TYPE_SIZE -#define WCHAR_TYPE_SIZE (BITS_PER_WORD / 2) - -/* Don't default to pcc-struct-return, because gcc is the only compiler, and - we want to retain compatibility with older gcc versions. */ - -#undef DEFAULT_PCC_STRUCT_RETURN -#define DEFAULT_PCC_STRUCT_RETURN 0 - -/* These compiler options take n arguments. */ - -#undef WORD_SWITCH_TAKES_ARG -#define WORD_SWITCH_TAKES_ARG(STR) \ - (DEFAULT_WORD_SWITCH_TAKES_ARG (STR) ? 1 : \ - !strcmp (STR, "segalign") ? 1 : \ - !strcmp (STR, "seg1addr") ? 1 : \ - !strcmp (STR, "segaddr") ? 2 : \ - !strcmp (STR, "sectobjectsymbols") ? 2 : \ - !strcmp (STR, "segprot") ? 3 : \ - !strcmp (STR, "sectcreate") ? 3 : \ - !strcmp (STR, "sectalign") ? 3 : \ - !strcmp (STR, "segcreate") ? 3 : \ - !strcmp (STR, "sectorder") ? 3 : \ - !strcmp (STR, "siff-mask") ? 1 : \ - !strcmp (STR, "siff-filter") ? 1 : \ - !strcmp (STR, "siff-warning") ? 1 : \ - !strcmp (STR, "arch") ? 1 : \ - !strcmp (STR, "pagezero_size") ? 1 : \ - 0) - -#undef WORD_SWITCH -#define WORD_SWITCH(STR) \ - (WORD_SWITCH_TAKES_ARG (STR) \ - || !strcmp (STR, "bsd") \ - || !strcmp (STR, "object") \ - || !strcmp (STR, "ObjC") \ - || !strcmp (STR, "all_load")) - -/* Machine dependent ccp options. */ - -#undef CPP_SPEC -#define CPP_SPEC "%{!traditional: -D__STDC__} \ - %{posixstrict:-D_POSIX_SOURCE} \ - %{!posixstrict:%{bsd:-D__STRICT_BSD__} \ - %{posix:-D_POSIX_SOURCE} \ - %{!ansi:-D_NEXT_SOURCE}} \ - %{MD:-MD %M} %{MMD:-MMD %M}" - -/* Machine dependent ld options. */ - -#undef LINK_SPEC -#define LINK_SPEC "%{Z} %{M} \ -%{execute*} %{preload*} %{fvmlib*} \ -%{segalign*} %{seg1addr*} %{segaddr*} %{segprot*} \ -%{pagezero_size*} \ -%{seglinkedit*} %{noseglinkedit*} \ -%{sectcreate*} %{sectalign*} %{sectobjectsymbols}\ -%{segcreate*} %{Mach*} %{whyload} %{w} \ -%{sectorder*} %{whatsloaded} %{ObjC} %{all_load} %{object}" - -/* Machine dependent libraries. */ - -#undef LIB_SPEC -#define LIB_SPEC "%{!posix*:-lsys_s} %{posix*:-lposix}" - -/* We specify crt0.o as -lcrt0.o so that ld will search the library path. */ - -#undef STARTFILE_SPEC -#define STARTFILE_SPEC \ - "%{!posix*:%{pg:-lgcrt0.o}%{!pg: \ - %{p:%e-p profiling is no longer supported. Use -pg instead} \ - %{!p:-lcrt0.o}}}\ - %{posix*:%{pg:-lgposixcrt0.o}%{!pg: \ - %{p:%e-p profiling is no longer supported. Use -pg instead} \ - %{!p:-lposixcrt0.o}}} \ - -lcrtbegin.o" - -#undef ENDFILE_SPEC -#define ENDFILE_SPEC \ - "-lcrtend.o" - -/* Allow #sscs (but don't do anything). */ - -#define SCCS_DIRECTIVE - -/* We use Dbx symbol format. */ - -#undef SDB_DEBUGGING_INFO -#undef XCOFF_DEBUGGING_INFO -#define DBX_DEBUGGING_INFO - -/* This saves a fair amount of space. */ - -#undef DBX_CONTIN_LENGTH -#define DBX_CONTIN_LENGTH 0 - -/* These screw up NeXT's gdb at the moment, so don't use them. */ - -#undef DBX_OUTPUT_MAIN_SOURCE_DIRECTORY -#define DBX_OUTPUT_MAIN_SOURCE_DIRECTORY(FILE, FILENAME) - -/* These come from bsd386.h, but are specific to sequent, so make sure - they don't bite us. */ - -#undef DBX_NO_XREFS -#undef DBX_CONTIN_LENGTH - -/* gdb needs a null N_SO at the end of each file for scattered loading. */ - -#undef DBX_OUTPUT_MAIN_SOURCE_FILE_END -#define DBX_OUTPUT_MAIN_SOURCE_FILE_END(FILE, FILENAME) \ - fprintf (FILE, \ - "\t.text\n\t.stabs \"%s\",%d,0,0,Letext\nLetext:\n", \ - "" , N_SO) - -/* Define our object format type for crtstuff.c */ -#define OBJECT_FORMAT_MACHO - -#undef INIT_SECTION_ASM_OP -#define INIT_SECTION_ASM_OP -#undef INVOKE__main - -#define TARGET_ASM_CONSTRUCTOR nextstep_asm_out_constructor -#define TARGET_ASM_DESTRUCTOR nextstep_asm_out_destructor - -#define TARGET_ASM_EXCEPTION_SECTION nextstep_exception_section - -#define TARGET_ASM_EH_FRAME_SECTION nextstep_eh_frame_section - -/* Don't output a .file directive. That is only used by the assembler for - error reporting. */ -#undef ASM_FILE_START -#define ASM_FILE_START(FILE) - -#undef ASM_FILE_END -#define ASM_FILE_END(FILE) \ - do { \ - if (strcmp (lang_hooks.name, "GNU C++") == 0) \ - { \ - constructor_section (); \ - destructor_section (); \ - ASM_OUTPUT_ALIGN (FILE, 1); \ - } \ - } while (0) - -/* How to parse #pragma's */ - -#undef HANDLE_PRAGMA -#define HANDLE_PRAGMA(GETC, UNGETC, NAME) handle_pragma (GETC, UNGETC, NAME) - -/* Give methods pretty symbol names on NeXT. */ - -#undef OBJC_GEN_METHOD_LABEL -#define OBJC_GEN_METHOD_LABEL(BUF,IS_INST,CLASS_NAME,CAT_NAME,SEL_NAME,NUM) \ - do { if (CAT_NAME) \ - sprintf (BUF, "%c[%s(%s) %s]", (IS_INST) ? '-' : '+', \ - (CLASS_NAME), (CAT_NAME), (SEL_NAME)); \ - else \ - sprintf (BUF, "%c[%s %s]", (IS_INST) ? '-' : '+', \ - (CLASS_NAME), (SEL_NAME)); \ - } while (0) - -/* The prefix to add to user-visible assembler symbols. */ - -#undef USER_LABEL_PREFIX -#define USER_LABEL_PREFIX "_" - -/* Wrap new method names in quotes so the assembler doesn't gag. - Make Objective-C internal symbols local. */ - -#undef ASM_OUTPUT_LABELREF -#define ASM_OUTPUT_LABELREF(FILE,NAME) \ - do { if (NAME[0] == '+' || NAME[0] == '-') fprintf (FILE, "\"%s\"", NAME); \ - else if (!strncmp (NAME, "_OBJC_", 6)) fprintf (FILE, "L%s", NAME); \ - else if (!strncmp (NAME, ".objc_class_name_", 17)) \ - fprintf (FILE, "%s", NAME); \ - else asm_fprintf (FILE, "%U%s", NAME); } while (0) - -#undef ALIGN_ASM_OP -#define ALIGN_ASM_OP "\t.align\t" - -#undef ASM_OUTPUT_ALIGN -#define ASM_OUTPUT_ALIGN(FILE,LOG) \ - if ((LOG) != 0) \ - fprintf (FILE, "%s%d\n", ALIGN_ASM_OP, (LOG)) - -/* Ensure correct alignment of bss data. */ - -#undef ASM_OUTPUT_ALIGNED_LOCAL -#define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN) \ -( fputs (".lcomm ", (FILE)), \ - assemble_name ((FILE), (NAME)), \ - fprintf ((FILE), ",%u,%u\n", (SIZE), floor_log2 ((ALIGN) / BITS_PER_UNIT))) - -/* Output #ident as a .ident. */ - -#undef ASM_OUTPUT_IDENT -#define ASM_OUTPUT_IDENT(FILE, NAME) fprintf (FILE, "\t.ident \"%s\"\n", NAME); - -/* The maximum alignment which the object file format can support. - For NeXT's Mach-O format, this is 2^15. */ - -#undef MAX_OFILE_ALIGNMENT -#define MAX_OFILE_ALIGNMENT 0x8000 - -/* Create new Mach-O sections. */ - -#undef SECTION_FUNCTION -#define SECTION_FUNCTION(FUNCTION, SECTION, DIRECTIVE, WAS_TEXT, OBJC) \ -extern void FUNCTION PARAMS ((void)); \ -void \ -FUNCTION () \ -{ \ - extern int flag_no_mach_text_sections; \ - \ - if (WAS_TEXT && flag_no_mach_text_sections) \ - text_section (); \ - else if (in_section != SECTION) \ - { \ - if (OBJC) \ - objc_section_init (); \ - fprintf (asm_out_file, "%s\n", DIRECTIVE); \ - in_section = SECTION; \ - } \ -} \ - -#undef EXTRA_SECTIONS -#define EXTRA_SECTIONS \ - in_const, in_cstring, in_literal4, in_literal8, \ - in_constructor, in_destructor, \ - in_nextstep_exception, in_nextstep_eh_frame, \ - in_objc_class, in_objc_meta_class, in_objc_category, \ - in_objc_class_vars, in_objc_instance_vars, \ - in_objc_cls_meth, in_objc_inst_meth, \ - in_objc_cat_cls_meth, in_objc_cat_inst_meth, \ - in_objc_selector_refs, \ - in_objc_symbols, in_objc_module_info, \ - in_objc_protocol, in_objc_string_object, \ - in_objc_class_names, in_objc_meth_var_names, \ - in_objc_meth_var_types, in_objc_cls_refs - -#undef EXTRA_SECTION_FUNCTIONS -#define EXTRA_SECTION_FUNCTIONS \ -extern void objc_section_init PARAMS ((void)); \ -SECTION_FUNCTION (const_section, \ - in_const, \ - ".const", 1, 0) \ -SECTION_FUNCTION (cstring_section, \ - in_cstring, \ - ".cstring", 1, 0) \ -SECTION_FUNCTION (literal4_section, \ - in_literal4, \ - ".literal4", 1, 0) \ -SECTION_FUNCTION (literal8_section, \ - in_literal8, \ - ".literal8", 1, 0) \ -SECTION_FUNCTION (constructor_section, \ - in_constructor, \ - ".constructor", 0, 0) \ -SECTION_FUNCTION (destructor_section, \ - in_destructor, \ - ".destructor", 0, 0) \ -SECTION_FUNCTION (nextstep_exception_section, \ - in_nextstep_exception, \ - ".section __TEXT,__gcc_except_tab,regular", 0, 0) \ -SECTION_FUNCTION (nextstep_eh_frame_section, \ - in_nextstep_eh_frame, \ - ".section __TEXT,__eh_frame,regular", 0, 0) \ -SECTION_FUNCTION (objc_class_section, \ - in_objc_class, \ - ".objc_class", 0, 1) \ -SECTION_FUNCTION (objc_meta_class_section, \ - in_objc_meta_class, \ - ".objc_meta_class", 0, 1) \ -SECTION_FUNCTION (objc_category_section, \ - in_objc_category, \ - ".objc_category", 0, 1) \ -SECTION_FUNCTION (objc_class_vars_section, \ - in_objc_class_vars, \ - ".objc_class_vars", 0, 1) \ -SECTION_FUNCTION (objc_instance_vars_section, \ - in_objc_instance_vars, \ - ".objc_instance_vars", 0, 1) \ -SECTION_FUNCTION (objc_cls_meth_section, \ - in_objc_cls_meth, \ - ".objc_cls_meth", 0, 1) \ -SECTION_FUNCTION (objc_inst_meth_section, \ - in_objc_inst_meth, \ - ".objc_inst_meth", 0, 1) \ -SECTION_FUNCTION (objc_cat_cls_meth_section, \ - in_objc_cat_cls_meth, \ - ".objc_cat_cls_meth", 0, 1) \ -SECTION_FUNCTION (objc_cat_inst_meth_section, \ - in_objc_cat_inst_meth, \ - ".objc_cat_inst_meth", 0, 1) \ -SECTION_FUNCTION (objc_selector_refs_section, \ - in_objc_selector_refs, \ - ".objc_message_refs", 0, 1) \ -SECTION_FUNCTION (objc_symbols_section, \ - in_objc_symbols, \ - ".objc_symbols", 0, 1) \ -SECTION_FUNCTION (objc_module_info_section, \ - in_objc_module_info, \ - ".objc_module_info", 0, 1) \ -SECTION_FUNCTION (objc_protocol_section, \ - in_objc_protocol, \ - ".objc_protocol", 0, 1) \ -SECTION_FUNCTION (objc_string_object_section, \ - in_objc_string_object, \ - ".objc_string_object", 0, 1) \ -SECTION_FUNCTION (objc_class_names_section, \ - in_objc_class_names, \ - ".objc_class_names", 0, 1) \ -SECTION_FUNCTION (objc_meth_var_names_section, \ - in_objc_meth_var_names, \ - ".objc_meth_var_names", 0, 1) \ -SECTION_FUNCTION (objc_meth_var_types_section, \ - in_objc_meth_var_types, \ - ".objc_meth_var_types", 0, 1) \ -SECTION_FUNCTION (objc_cls_refs_section, \ - in_objc_cls_refs, \ - ".objc_cls_refs", 0, 1) \ - \ -void \ -objc_section_init () \ -{ \ - static int been_here = 0; \ - \ - if (been_here == 0) \ - { \ - been_here = 1; \ - objc_class_section (); \ - objc_meta_class_section (); \ - objc_cat_cls_meth_section (); \ - objc_cat_inst_meth_section (); \ - objc_cls_meth_section (); \ - objc_inst_meth_section (); \ - objc_selector_refs_section (); \ - objc_symbols_section (); \ - objc_category_section (); \ - objc_protocol_section (); \ - objc_class_vars_section (); \ - objc_instance_vars_section (); \ - objc_module_info_section (); \ - objc_string_object_section (); \ - objc_class_names_section (); \ - objc_meth_var_names_section (); \ - objc_meth_var_types_section (); \ - objc_cls_refs_section (); \ - } \ -} - -#undef READONLY_DATA_SECTION -#define READONLY_DATA_SECTION const_section - -#undef SELECT_SECTION -#define SELECT_SECTION(exp,reloc,align) \ - do \ - { \ - if (TREE_CODE (exp) == STRING_CST) \ - { \ - if (flag_writable_strings) \ - data_section (); \ - else if (TREE_STRING_LENGTH (exp) != \ - strlen (TREE_STRING_POINTER (exp)) + 1) \ - readonly_data_section (); \ - else \ - cstring_section (); \ - } \ - else if (TREE_CODE (exp) == INTEGER_CST \ - || TREE_CODE (exp) == REAL_CST) \ - { \ - tree size = TYPE_SIZE (TREE_TYPE (exp)); \ - \ - if (TREE_CODE (size) == INTEGER_CST && \ - TREE_INT_CST_LOW (size) == 4 && \ - TREE_INT_CST_HIGH (size) == 0) \ - literal4_section (); \ - else if (TREE_CODE (size) == INTEGER_CST && \ - TREE_INT_CST_LOW (size) == 8 && \ - TREE_INT_CST_HIGH (size) == 0) \ - literal8_section (); \ - else \ - readonly_data_section (); \ - } \ - else if (TREE_CODE (exp) == CONSTRUCTOR \ - && TREE_TYPE (exp) \ - && TREE_CODE (TREE_TYPE (exp)) == RECORD_TYPE \ - && TYPE_NAME (TREE_TYPE (exp)) \ - && TREE_CODE (TYPE_NAME (TREE_TYPE (exp))) == IDENTIFIER_NODE \ - && IDENTIFIER_POINTER (TYPE_NAME (TREE_TYPE (exp)))) \ - { \ - if (!strcmp (IDENTIFIER_POINTER (TYPE_NAME (TREE_TYPE (exp))), \ - "NXConstantString")) \ - objc_string_object_section (); \ - else if ((TREE_READONLY (exp) || TREE_CONSTANT (exp)) \ - && !TREE_SIDE_EFFECTS (exp)) \ - readonly_data_section (); \ - else \ - data_section (); \ - } \ - else if (TREE_CODE (exp) == VAR_DECL && \ - DECL_NAME (exp) && \ - TREE_CODE (DECL_NAME (exp)) == IDENTIFIER_NODE && \ - IDENTIFIER_POINTER (DECL_NAME (exp)) && \ - !strncmp (IDENTIFIER_POINTER (DECL_NAME (exp)), "_OBJC_", 6)) \ - { \ - const char *name = IDENTIFIER_POINTER (DECL_NAME (exp)); \ - \ - if (!strncmp (name, "_OBJC_CLASS_METHODS_", 20)) \ - objc_cls_meth_section (); \ - else if (!strncmp (name, "_OBJC_INSTANCE_METHODS_", 23)) \ - objc_inst_meth_section (); \ - else if (!strncmp (name, "_OBJC_CATEGORY_CLASS_METHODS_", 20)) \ - objc_cat_cls_meth_section (); \ - else if (!strncmp (name, "_OBJC_CATEGORY_INSTANCE_METHODS_", 23)) \ - objc_cat_inst_meth_section (); \ - else if (!strncmp (name, "_OBJC_CLASS_VARIABLES_", 22)) \ - objc_class_vars_section (); \ - else if (!strncmp (name, "_OBJC_INSTANCE_VARIABLES_", 25)) \ - objc_instance_vars_section (); \ - else if (!strncmp (name, "_OBJC_CLASS_PROTOCOLS_", 22)) \ - objc_cat_cls_meth_section (); \ - else if (!strncmp (name, "_OBJC_CLASS_NAME_", 17)) \ - objc_class_names_section (); \ - else if (!strncmp (name, "_OBJC_METH_VAR_NAME_", 20)) \ - objc_meth_var_names_section (); \ - else if (!strncmp (name, "_OBJC_METH_VAR_TYPE_", 20)) \ - objc_meth_var_types_section (); \ - else if (!strncmp (name, "_OBJC_CLASS_REFERENCES", 22)) \ - objc_cls_refs_section (); \ - else if (!strncmp (name, "_OBJC_CLASS_", 12)) \ - objc_class_section (); \ - else if (!strncmp (name, "_OBJC_METACLASS_", 16)) \ - objc_meta_class_section (); \ - else if (!strncmp (name, "_OBJC_CATEGORY_", 15)) \ - objc_category_section (); \ - else if (!strncmp (name, "_OBJC_SELECTOR_REFERENCES", 25)) \ - objc_selector_refs_section (); \ - else if (!strncmp (name, "_OBJC_SYMBOLS", 13)) \ - objc_symbols_section (); \ - else if (!strncmp (name, "_OBJC_MODULES", 13)) \ - objc_module_info_section (); \ - else if (!strncmp (name, "_OBJC_PROTOCOL_INSTANCE_METHODS_", 32)) \ - objc_cat_inst_meth_section (); \ - else if (!strncmp (name, "_OBJC_PROTOCOL_CLASS_METHODS_", 29)) \ - objc_cat_cls_meth_section (); \ - else if (!strncmp (name, "_OBJC_PROTOCOL_REFS_", 20)) \ - objc_cat_cls_meth_section (); \ - else if (!strncmp (name, "_OBJC_PROTOCOL_", 15)) \ - objc_protocol_section (); \ - else if ((TREE_READONLY (exp) || TREE_CONSTANT (exp)) \ - && !TREE_SIDE_EFFECTS (exp)) \ - readonly_data_section (); \ - else \ - data_section (); \ - } \ - else if (TREE_CODE (exp) == VAR_DECL) \ - { \ - if ((flag_pic && reloc) \ - || !TREE_READONLY (exp) || TREE_SIDE_EFFECTS (exp) \ - || !DECL_INITIAL (exp) \ - || (DECL_INITIAL (exp) != error_mark_node \ - && !TREE_CONSTANT (DECL_INITIAL (exp)))) \ - data_section (); \ - else \ - readonly_data_section (); \ - } \ - else \ - readonly_data_section (); \ - } \ - while (0) - -#undef SELECT_RTX_SECTION -#define SELECT_RTX_SECTION(mode, rtx, align) \ - do \ - { \ - if (GET_MODE_SIZE(mode) == 8) \ - literal8_section(); \ - else if (GET_MODE_SIZE(mode) == 4) \ - literal4_section(); \ - else \ - const_section (); \ - } \ - while (0) - -#ifdef ASM_COMMENT_START -# undef ASM_COMMENT_START -#endif - -#define ASM_COMMENT_START ";#" diff --git a/contrib/gcc/config/nextstep21.h b/contrib/gcc/config/nextstep21.h deleted file mode 100644 index 7827054d8975..000000000000 --- a/contrib/gcc/config/nextstep21.h +++ /dev/null @@ -1,64 +0,0 @@ -/* nextstep.h -- operating system specific defines to be used when - targeting GCC for NeXTSTEP. - Copyright (C) 1989, 1990, 1991, 1992, 1993 Free Software Foundation, Inc. - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - - -/* changed for NeXTStep 2.1, Ch. Kranz, 2/94, 3/94 */ -#include "nextstep.h" - -/* set flag_gnu_linker=0, use collect2 for linking */ -#undef USE_COLLECT2 -#define USE_COLLECT2 - -/* use this until a newer gdb for NeXTStep21 is available */ -#define DEFAULT_GDB_EXTENSIONS 0 - -/* we need the call to __main to start all global destructors and constructors - correctly, so undef INIT_SECTION_ASM_OP, (see libgcc2.c line 1965) - and define INVOKE_main */ -#undef INIT_SECTION_ASM_OP -#define INVOKE__main - -/* We call the global destructors, constructors from __main */ -#undef TARGET_ASM_CONSTRUCTOR -#undef TARGET_ASM_DESTRUCTOR - -#undef ASM_FILE_END -#define ASM_FILE_END(FILE) \ - do { \ - if (strcmp (lang_hooks.name, "GNU C++") == 0) \ - { \ - ASM_OUTPUT_ALIGN (FILE, 1); \ - } \ - } while (0) -/* deleted: destructor_section (); \ */ -/* deleted: constructor_section (); \ */ - -/* Ensure correct alignment of bss data. */ -/* ASM_OUTPUT_ALIGNED_LOCAL not needed */ -/* need ASM_OUTPUT_LOCAL instead for old NeXT-as */ -/* look in varasm.c, line 1062 and 1476 */ -#undef ASM_OUTPUT_ALIGNED_LOCAL -#undef ASM_OUTPUT_LOCAL -#define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE, ROUNDED) \ -( fputs (".lcomm ", (FILE)), \ - assemble_name ((FILE), (NAME)), \ - fprintf ((FILE), ",%u\n", (ROUNDED))) - diff --git a/contrib/gcc/config/rs6000/softfloat.h b/contrib/gcc/config/rs6000/softfloat.h deleted file mode 100644 index c0dc10d66b56..000000000000 --- a/contrib/gcc/config/rs6000/softfloat.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Target definitions for GNU compiler for PowerPC defaulting to -msoft-float - Copyright (C) 2001 - Free Software Foundation, Inc. - Contributed by Red Hat Inc. - -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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#undef CPP_FLOAT_DEFAULT_SPEC -#define CPP_FLOAT_DEFAULT_SPEC "-D_SOFT_FLOAT" diff --git a/contrib/gcc/config/s390/t-linux b/contrib/gcc/config/s390/t-linux deleted file mode 100644 index bc8d519b2d12..000000000000 --- a/contrib/gcc/config/s390/t-linux +++ /dev/null @@ -1,7 +0,0 @@ -# The crtbegin and crtend must not depend on a small GOT -CRTSTUFF_T_CFLAGS = -O2 -fPIC -CRTSTUFF_T_CFLAGS_S = -O2 -fPIC - -# Compile libgcc2.a with pic. -TARGET_LIBGCC2_CFLAGS = -fPIC -include $(srcdir)/config/s390/fixdfdi.h - diff --git a/contrib/gcc/config/sparc/rtems.h b/contrib/gcc/config/sparc/rtems.h deleted file mode 100644 index e537f1ca988f..000000000000 --- a/contrib/gcc/config/sparc/rtems.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Definitions for rtems targeting a SPARC using a.out. - Copyright (C) 1996, 1997, 2000, 2002 Free Software Foundation, Inc. - Contributed by Joel Sherrill (joel@OARcorp.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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - - -/* Specify predefined symbols in preprocessor. */ - -#undef CPP_PREDEFINES -#define CPP_PREDEFINES "-Dsparc -D__GCC_NEW_VARARGS__ -D__rtems__ \ - -Asystem=rtems" diff --git a/contrib/gcc/config/sparc/sol2-g1.asm b/contrib/gcc/config/sparc/sol2-g1.asm deleted file mode 100644 index b9d878856f8d..000000000000 --- a/contrib/gcc/config/sparc/sol2-g1.asm +++ /dev/null @@ -1,88 +0,0 @@ -! gcrt1.s for solaris 2.0. - -! Copyright (C) 1992 Free Software Foundation, Inc. -! Written By David Vinayak Henkel-Wallace, June 1992 -! -! This 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. -! -! In addition to the permissions in the GNU General Public License, the -! Free Software Foundation gives you unlimited permission to link the -! compiled version of this file with other programs, and to distribute -! those programs without any restriction coming from the use of this -! file. (The General Public License restrictions do apply in other -! respects; for example, they cover modification of the file, and -! distribution when not linked into another program.) -! -! This 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 program; 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 GCC 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. -! - -! This file takes control of the process from the kernel, as specified -! in section 3 of the SVr4 ABI. -! This file is the first thing linked into any executable. - - .section ".text" - .proc 022 - .global _start - -_start: - mov 0, %fp ! Mark bottom frame pointer - ld [%sp + 64], %l0 ! argc - add %sp, 68, %l1 ! argv - - ! Leave some room for a call. Sun leaves 32 octets (to sit on - ! a cache line?) so we do too. - sub %sp, 32, %sp - - ! %g1 may contain a function to be registered w/atexit - orcc %g0, %g1, %g0 - be .nope - mov %g1, %o0 - call atexit - nop -.nope: - ! Now make sure constructors and destructors are handled. - set _fini, %o0 - call atexit, 1 - nop - call _init, 0 - nop - - ! We ignore the auxiliary vector; there's no defined way to - ! access those data anyway. Instead, go straight to main: - mov %l0, %o0 ! argc - mov %l1, %o1 ! argv - set ___Argv, %o3 - st %o1, [%o3] ! *___Argv - ! Skip argc words past argv, to env: - sll %l0, 2, %o2 - add %o2, 4, %o2 - add %l1, %o2, %o2 ! env - set _environ, %o3 - st %o2, [%o3] ! *_environ - call main, 4 - nop - call exit, 0 - nop - call _exit, 0 - nop - ! We should never get here. - - .type _start,#function - .size _start,.-_start diff --git a/contrib/gcc/config/sparc/sol27-sld.h b/contrib/gcc/config/sparc/sol27-sld.h deleted file mode 100644 index fb47b61f4486..000000000000 --- a/contrib/gcc/config/sparc/sol27-sld.h +++ /dev/null @@ -1,8 +0,0 @@ -/* Up through Solaris 2.7, the system linker does not work with DWARF - or DWARF2, since it does not have working support for relocations - to unaligned data. */ - -#undef DWARF_DEBUGGING_INFO -#undef DWARF2_DEBUGGING_INFO -#undef PREFERRED_DEBUGGING_TYPE -#undef ASM_DEBUG_SPEC diff --git a/contrib/gcc/config/t-install-cpp b/contrib/gcc/config/t-install-cpp deleted file mode 100644 index 9f887543d039..000000000000 --- a/contrib/gcc/config/t-install-cpp +++ /dev/null @@ -1,3 +0,0 @@ -# Handle cpp installation. -INSTALL_CPP=install-cpp -UNINSTALL_CPP=uninstall-cpp diff --git a/contrib/gcc/cp/cfns.h b/contrib/gcc/cp/cfns.h deleted file mode 100644 index c7e6a9d9412d..000000000000 --- a/contrib/gcc/cp/cfns.h +++ /dev/null @@ -1,467 +0,0 @@ -/* C code produced by gperf version 2.7 */ -/* Command-line: gperf -o -C -E -k 1-6,$ -j1 -D -N libc_name_p ../../../egcs-CVS20000404/gcc/cp/cfns.gperf */ -#ifdef __GNUC__ -__inline -#endif -static unsigned int hash PARAMS ((const char *, unsigned int)); -#ifdef __GNUC__ -__inline -#endif -const char * libc_name_p PARAMS ((const char *, unsigned int)); -/* maximum key range = 1020, duplicates = 1 */ - -#ifdef __GNUC__ -__inline -#endif -static unsigned int -hash (str, len) - register const char *str; - register unsigned int len; -{ - static const unsigned short asso_values[] = - { - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 0, 1, - 0, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 247, 218, 144, - 0, 0, 40, 7, 126, 184, 2, 15, 146, 67, - 9, 60, 0, 0, 3, 0, 7, 8, 197, 1, - 40, 8, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 1038 - }; - register int hval = len; - - switch (hval) - { - default: - case 6: - hval += asso_values[(unsigned char)str[5]]; - case 5: - hval += asso_values[(unsigned char)str[4]]; - case 4: - hval += asso_values[(unsigned char)str[3]]; - case 3: - hval += asso_values[(unsigned char)str[2]]; - case 2: - hval += asso_values[(unsigned char)str[1]]; - case 1: - hval += asso_values[(unsigned char)str[0]]; - break; - } - return hval + asso_values[(unsigned char)str[len - 1]]; -} - -#ifdef __GNUC__ -__inline -#endif -const char * -libc_name_p (str, len) - register const char *str; - register unsigned int len; -{ - enum - { - TOTAL_KEYWORDS = 207, - MIN_WORD_LENGTH = 3, - MAX_WORD_LENGTH = 10, - MIN_HASH_VALUE = 18, - MAX_HASH_VALUE = 1037 - }; - - static const char * const wordlist[] = - { - "gets", - "puts", - "sqrt", - "strerror", - "strstr", - "strspn", - "exp", - "free", - "fgets", - "fputs", - "fgetws", - "fputws", - "pow", - "fseek", - "perror", - "strtod", - "toupper", - "towupper", - "frexp", - "strtok", - "fsetpos", - "ferror", - "freopen", - "fgetpos", - "fopen", - "wmemset", - "memset", - "system", - "wcsstr", - "wctype", - "strxfrm", - "wcsspn", - "strcspn", - "fmod", - "strcpy", - "strncpy", - "strlen", - "ungetwc", - "feof", - "ldexp", - "isupper", - "rewind", - "iswupper", - "sin", - "cos", - "modf", - "iswpunct", - "wcstod", - "log10", - "log", - "wcsrtombs", - "strcmp", - "fwide", - "towctrans", - "strncmp", - "strtoul", - "fwrite", - "exit", - "swprintf", - "wcstok", - "strftime", - "sprintf", - "wprintf", - "strpbrk", - "time", - "rand", - "srand", - "wmemmove", - "tan", - "tolower", - "fwprintf", - "towlower", - "wcstombs", - "printf", - "fprintf", - "strchr", - "strrchr", - "wmemcpy", - "fread", - "getwchar", - "putwchar", - "longjmp", - "memcpy", - "wcsxfrm", - "wcscspn", - "getc", - "putc", - "getwc", - "putwc", - "wcscpy", - "wcsncpy", - "wcslen", - "floor", - "setbuf", - "ungetc", - "rename", - "remove", - "gmtime", - "mktime", - "fgetc", - "fputc", - "fgetwc", - "fputwc", - "memcmp", - "iswctype", - "wmemcmp", - "ispunct", - "mbstowcs", - "wcscmp", - "mbsrtowcs", - "setlocale", - "wcsncmp", - "wcstoul", - "strtol", - "wcsftime", - "iswprint", - "wcspbrk", - "iswdigit", - "isprint", - "fclose", - "atof", - "islower", - "iswlower", - "ctime", - "wmemchr", - "memchr", - "wctrans", - "strcat", - "getenv", - "strncat", - "iswxdigit", - "wcschr", - "wcsrchr", - "isxdigit", - "vswprintf", - "raise", - "iswspace", - "vsprintf", - "vwprintf", - "vprintf", - "swscanf", - "sinh", - "tmpfile", - "asin", - "mblen", - "acos", - "mbrlen", - "cosh", - "difftime", - "memmove", - "abs", - "tmpnam", - "vfwprintf", - "setvbuf", - "vfprintf", - "scanf", - "sscanf", - "wscanf", - "fwscanf", - "ftell", - "fflush", - "atexit", - "iswcntrl", - "iscntrl", - "mbrtowc", - "wcrtomb", - "fabs", - "wcstol", - "strcoll", - "atan2", - "tanh", - "atan", - "fscanf", - "clock", - "getchar", - "putchar", - "abort", - "clearerr", - "wcscat", - "wcsncat", - "isdigit", - "isgraph", - "iswgraph", - "btowc", - "div", - "isspace", - "atol", - "labs", - "ceil", - "mbtowc", - "wcscoll", - "wctob", - "asctime", - "iswalnum", - "isalnum", - "mbsinit", - "atoi", - "wctomb", - "ldiv", - "signal", - "realloc", - "localtime", - "iswalpha", - "localeconv", - "isalpha", - "malloc", - "calloc" - }; - - static const short lookup[] = - { - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 0, 1, -1, 2, -1, -1, - -1, -1, -1, 3, -1, 4, -1, -1, - -1, -1, 5, -1, -1, -1, -1, -1, - -1, -1, -1, 6, -1, -1, -1, 7, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 8, 9, 10, 11, -1, - -1, 12, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 13, -1, -1, 14, -1, - -1, -1, -1, 15, -1, 16, -1, 17, - 18, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, 19, 20, -1, -1, -1, 21, 22, - -1, 23, -1, 24, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 25, -1, -1, - -1, -1, 26, 27, -1, -1, -1, -1, - -1, -1, -1, -1, 28, -1, 29, 30, - -1, 31, 32, 33, -1, -1, -1, -1, - 34, -1, 35, -1, 36, -1, -1, 37, - 38, -1, -1, -1, -1, -1, -1, 39, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 40, 41, 42, 43, -1, 44, - -1, -1, -1, 45, -1, -1, -1, -1, - -1, 46, 47, 48, -1, -1, -1, 49, - 50, -1, -1, 51, -1, -1, 52, 53, - -1, -1, -1, -1, -1, 54, 55, -1, - -1, 56, 57, -1, -1, 58, -1, -1, - 59, 60, 61, 62, -1, 63, -1, -1, - -1, -1, -1, -1, -1, -1, 64, 65, - 66, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, 68, -1, -1, -1, -1, - -1, -1, -1, -1, 69, 70, 71, 72, - -1, 73, 74, -1, 75, 76, 77, 78, - 79, 80, 81, -1, 82, -1, 83, -1, - -1, 84, 85, 86, 87, 88, -1, 89, - -1, 90, -1, 91, -1, 92, -1, 93, - -1, -1, -1, -1, -1, 94, -1, -1, - -1, -1, -1, -1, 95, 96, -1, -1, - -1, -1, 97, -1, -1, -1, -1, -1, - -1, -1, 98, 99, 100, 101, 102, 103, - 104, 105, -1, -1, -1, -1, -1, 106, - -1, 107, 108, -1, 109, -1, 110, -1, - -1, -1, -1, -1, 111, 112, -1, 113, - -1, -1, -1, -1, -1, -1, -1, -1, - 114, -1, -1, 115, 116, -1, -1, 117, - -1, -1, 118, -1, 119, -1, 120, -1, - -1, 121, -1, 122, -1, -1, -1, 123, - -1, -1, -1, -1, -1, -1, -1, 124, - 125, -1, 126, -1, -1, 127, -1, 128, - 129, 130, -1, 131, 132, -1, 133, -1, - -1, -1, 134, -1, -1, -1, -1, 135, - 136, 137, 138, -1, -1, -1, -1, 139, - 140, 141, -1, 142, -1, 143, 144, 145, - -1, -1, 146, -1, 147, -1, -1, 148, - -1, 149, -1, -1, 150, -1, 151, -1, - -1, -1, 152, -1, -1, 153, -1, -1, - -1, 154, -1, -1, -1, 155, 156, 157, - 158, -1, 159, -1, 160, -1, -1, -1, - -1, -1, 161, 162, 163, -1, -1, -1, - -1, -1, -1, -719, -1, 166, 167, -43, - -2, 168, -1, 169, -1, -1, -1, 170, - -1, -1, -1, 171, -1, -1, 172, -1, - -1, 173, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 174, 175, -1, - -1, -1, -1, 176, -1, -1, -1, 177, - -1, -1, -1, -1, 178, -1, -1, 179, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 180, 181, -1, - 182, -1, -1, 183, -1, 184, 185, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 186, -1, -1, -1, -1, 187, - -1, -1, -1, -1, -1, -1, -1, -1, - 188, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 189, - 190, -1, -1, -1, -1, 191, -1, -1, - 192, -1, -1, -1, -1, -1, 193, -1, - -1, -1, -1, -1, 194, -1, -1, -1, - -1, -1, -1, -1, 195, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 196, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, 197, -1, -1, -1, -1, -1, -1, - 198, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, 199, -1, -1, -1, -1, -1, -1, - -1, 200, -1, -1, -1, -1, -1, 201, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, 202, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 203, -1, - -1, -1, -1, -1, -1, 204, -1, -1, - 205, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 206 - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - register int key = hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= 0) - { - register int index = lookup[key]; - - if (index >= 0) - { - register const char *s = wordlist[index]; - - if (*str == *s && !strcmp (str + 1, s + 1)) - return s; - } - else if (index < -TOTAL_KEYWORDS) - { - register int offset = - 1 - TOTAL_KEYWORDS - index; - register const char * const *wordptr = &wordlist[TOTAL_KEYWORDS + lookup[offset]]; - register const char * const *wordendptr = wordptr + -lookup[offset + 1]; - - while (wordptr < wordendptr) - { - register const char *s = *wordptr; - - if (*str == *s && !strcmp (str + 1, s + 1)) - return s; - wordptr++; - } - } - } - } - return 0; -} diff --git a/contrib/gcc/cp/g++.c b/contrib/gcc/cp/g++.c deleted file mode 100644 index f694898fa966..000000000000 --- a/contrib/gcc/cp/g++.c +++ /dev/null @@ -1,582 +0,0 @@ -/* G++ preliminary semantic processing for the compiler driver. - Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc. - Contributed by Brendan Kehoe (brendan@cygnus.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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -/* This program is a wrapper to the main `gcc' driver. For GNU C++, - we need to do two special things: a) append `-lg++' in situations - where it's appropriate, to link in libg++, and b) add `-xc++'..`-xnone' - around file arguments named `foo.c' or `foo.i'. So, we do all of - this semantic processing then just exec gcc with the new argument - list. - - We used to do all of this in a small shell script, but many users - found the performance of this as a shell script to be unacceptable. - In situations where your PATH has a lot of NFS-mounted directories, - using a script that runs sed and other things would be a nasty - performance hit. With this program, we never search the PATH at all. */ - -#include "config.h" -#ifdef __STDC__ -#include <stdarg.h> -#else -#include <varargs.h> -#endif -#include <stdio.h> -#include <sys/types.h> -#if !defined(_WIN32) -#include <sys/file.h> /* May get R_OK, etc. on some systems. */ -#else -#include <process.h> -#endif -#include <errno.h> - -/* Defined to the name of the compiler; if using a cross compiler, the - Makefile should compile this file with the proper name - (e.g., "i386-aout-gcc"). */ -#ifndef GCC_NAME -#define GCC_NAME "gcc" -#endif - -/* This bit is set if we saw a `-xfoo' language specification. */ -#define LANGSPEC (1<<1) -/* This bit is set if they did `-lm' or `-lmath'. */ -#define MATHLIB (1<<2) - -#ifndef MATH_LIBRARY -#define MATH_LIBRARY "-lm" -#endif - -/* On MSDOS, write temp files in current dir - because there's no place else we can expect to use. */ -#ifdef __MSDOS__ -#ifndef P_tmpdir -#define P_tmpdir "." -#endif -#ifndef R_OK -#define R_OK 4 -#define W_OK 2 -#define X_OK 1 -#endif -#endif - -#ifndef VPROTO -#ifdef __STDC__ -#define PVPROTO(ARGS) ARGS -#define VPROTO(ARGS) ARGS -#define VA_START(va_list,var) va_start(va_list,var) -#else -#define PVPROTO(ARGS) () -#define VPROTO(ARGS) (va_alist) va_dcl -#define VA_START(va_list,var) va_start(va_list) -#endif -#endif - -#ifndef errno -extern int errno; -#endif - -extern int sys_nerr; -#ifndef HAVE_STRERROR -#if defined(bsd4_4) -extern const char *const sys_errlist[]; -#else -extern char *sys_errlist[]; -#endif -#else -extern char *strerror(); -#endif - -/* Name with which this program was invoked. */ -static char *programname; - -char * -my_strerror(e) - int e; -{ - -#ifdef HAVE_STRERROR - return strerror(e); - -#else - - static char buffer[30]; - if (!e) - return ""; - - if (e > 0 && e < sys_nerr) - return sys_errlist[e]; - - sprintf (buffer, "Unknown error %d", e); - return buffer; -#endif -} - -#ifdef HAVE_VPRINTF -/* Output an error message and exit */ - -static void -fatal VPROTO((char *format, ...)) -{ -#ifndef __STDC__ - char *format; -#endif - va_list ap; - - VA_START (ap, format); - -#ifndef __STDC__ - format = va_arg (ap, char*); -#endif - - fprintf (stderr, "%s: ", programname); - vfprintf (stderr, format, ap); - va_end (ap); - fprintf (stderr, "\n"); -#if 0 - /* XXX Not needed for g++ driver. */ - delete_temp_files (); -#endif - exit (1); -} - -static void -error VPROTO((char *format, ...)) -{ -#ifndef __STDC__ - char *format; -#endif - va_list ap; - - VA_START (ap, format); - -#ifndef __STDC__ - format = va_arg (ap, char*); -#endif - - fprintf (stderr, "%s: ", programname); - vfprintf (stderr, format, ap); - va_end (ap); - - fprintf (stderr, "\n"); -} - -#else /* not HAVE_VPRINTF */ - -static void -error (msg, arg1, arg2) - char *msg, *arg1, *arg2; -{ - fprintf (stderr, "%s: ", programname); - fprintf (stderr, msg, arg1, arg2); - fprintf (stderr, "\n"); -} - -static void -fatal (msg, arg1, arg2) - char *msg, *arg1, *arg2; -{ - error (msg, arg1, arg2); -#if 0 - /* XXX Not needed for g++ driver. */ - delete_temp_files (); -#endif - exit (1); -} - -#endif /* not HAVE_VPRINTF */ - -/* More 'friendly' abort that prints the line and file. - config.h can #define abort fancy_abort if you like that sort of thing. */ - -void -fancy_abort () -{ - fatal ("Internal g++ abort."); -} - -char * -xmalloc (size) - unsigned size; -{ - register char *value = (char *) malloc (size); - if (value == 0) - fatal ("virtual memory exhausted"); - return value; -} - -/* Return a newly-allocated string whose contents concatenate those - of s1, s2, s3. */ -static char * -concat (s1, s2, s3) - char *s1, *s2, *s3; -{ - int len1 = strlen (s1), len2 = strlen (s2), len3 = strlen (s3); - char *result = xmalloc (len1 + len2 + len3 + 1); - - strcpy (result, s1); - strcpy (result + len1, s2); - strcpy (result + len1 + len2, s3); - *(result + len1 + len2 + len3) = 0; - - return result; -} - -static void -pfatal_with_name (name) - char *name; -{ - fatal (concat ("%s: ", my_strerror (errno), ""), name); -} - -#ifdef __MSDOS__ -/* This is the common prefix we use to make temp file names. */ -char *temp_filename; - -/* Length of the prefix. */ -int temp_filename_length; - -/* Compute a string to use as the base of all temporary file names. */ -static char * -choose_temp_base_try (try, base) -char *try; -char *base; -{ - char *rv; - if (base) - rv = base; - else if (try == (char *)0) - rv = 0; - else if (access (try, R_OK | W_OK) != 0) - rv = 0; - else - rv = try; - return rv; -} - -static void -choose_temp_base () -{ - char *base = 0; - int len; - - base = choose_temp_base_try (getenv ("TMPDIR"), base); - base = choose_temp_base_try (getenv ("TMP"), base); - base = choose_temp_base_try (getenv ("TEMP"), base); - -#ifdef P_tmpdir - base = choose_temp_base_try (P_tmpdir, base); -#endif - - base = choose_temp_base_try ("/usr/tmp", base); - base = choose_temp_base_try ("/tmp", base); - - /* If all else fails, use the current directory! */ - if (base == (char *)0) - base = "./"; - - len = strlen (base); - temp_filename = xmalloc (len + sizeof("/ccXXXXXX")); - strcpy (temp_filename, base); - if (len > 0 && temp_filename[len-1] != '/') - temp_filename[len++] = '/'; - strcpy (temp_filename + len, "ccXXXXXX"); - - mktemp (temp_filename); - temp_filename_length = strlen (temp_filename); - if (temp_filename_length == 0) - abort (); -} - -static void -perror_exec (name) - char *name; -{ - char *s; - - if (errno < sys_nerr) - s = concat ("installation problem, cannot exec %s: ", - my_strerror( errno ), ""); - else - s = "installation problem, cannot exec %s"; - error (s, name); -} - -/* This is almost exactly what's in gcc.c:pexecute for MSDOS. */ -void -run_dos (program, argv) - char *program; - char *argv[]; -{ - char *scmd, *rf; - FILE *argfile; - int i; - - choose_temp_base (); /* not in gcc.c */ - - scmd = (char *) malloc (strlen (program) + strlen (temp_filename) + 10); - rf = scmd + strlen (program) + 6; - sprintf (scmd, "%s.exe @%s.gp", program, temp_filename); - - argfile = fopen (rf, "w"); - if (argfile == 0) - pfatal_with_name (rf); - - for (i=1; argv[i]; i++) - { - char *cp; - for (cp = argv[i]; *cp; cp++) - { - if (*cp == '"' || *cp == '\'' || *cp == '\\' || isspace (*cp)) - fputc ('\\', argfile); - fputc (*cp, argfile); - } - fputc ('\n', argfile); - } - fclose (argfile); - - i = system (scmd); - - remove (rf); - - if (i == -1) - perror_exec (program); -} -#endif /* __MSDOS__ */ - -int -main (argc, argv) - int argc; - char **argv; -{ - register int i, j = 0; - register char *p; - int verbose = 0; - - /* This will be 0 if we encounter a situation where we should not - link in libstdc++, or 2 if we should link in libg++ as well. */ - int library = 1; - - /* Used to track options that take arguments, so we don't go wrapping - those with -xc++/-xnone. */ - char *quote = NULL; - - /* The new argument list will be contained in this. */ - char **arglist; - - /* The name of the compiler we will want to run---by default, it - will be the definition of `GCC_NAME', e.g., `gcc'. */ - char *gcc = GCC_NAME; - - /* Non-zero if we saw a `-xfoo' language specification on the - command line. Used to avoid adding our own -xc++ if the user - already gave a language for the file. */ - int saw_speclang = 0; - - /* Non-zero if we saw `-lm' or `-lmath' on the command line. */ - char *saw_math = 0; - - /* The number of arguments being added to what's in argv, other than - libraries. We use this to track the number of times we've inserted - -xc++/-xnone. */ - int added = 0; - - /* An array used to flag each argument that needs a bit set for - LANGSPEC or MATHLIB. */ - int *args; - - p = argv[0] + strlen (argv[0]); - - /* If we're called as g++ (or i386-aout-g++), link in libg++ as well. */ - - if (strcmp (p - 3, "g++") == 0) - { - library = 2; - } - - while (p != argv[0] && p[-1] != '/') - --p; - programname = p; - - if (argc == 1) - fatal ("No input files specified.\n"); - -#ifndef __MSDOS__ - /* We do a little magic to find out where the main gcc executable - is. If they ran us as /usr/local/bin/g++, then we will look - for /usr/local/bin/gcc; similarly, if they just ran us as `g++', - we'll just look for `gcc'. */ - if (p != argv[0]) - { - *--p = '\0'; - gcc = (char *) malloc ((strlen (argv[0]) + 1 + strlen (GCC_NAME) + 1) - * sizeof (char)); - sprintf (gcc, "%s/%s", argv[0], GCC_NAME); - } -#endif - - args = (int *) malloc (argc * sizeof (int)); - bzero ((char *) args, argc * sizeof (int)); - - for (i = 1; i < argc; i++) - { - /* If the previous option took an argument, we swallow it here. */ - if (quote) - { - quote = NULL; - continue; - } - - if (argv[i][0] == '\0' || argv[i][1] == '\0') - continue; - - if (argv[i][0] == '-') - { - if (library != 0 && strcmp (argv[i], "-nostdlib") == 0) - { - library = 0; - } - else if (strcmp (argv[i], "-lm") == 0 - || strcmp (argv[i], "-lmath") == 0) - args[i] |= MATHLIB; - else if (strcmp (argv[i], "-v") == 0) - { - verbose = 1; - if (argc == 2) - { - /* If they only gave us `-v', don't try to link - in libg++. */ - library = 0; - } - } - else if (strncmp (argv[i], "-x", 2) == 0) - saw_speclang = 1; - else if (((argv[i][2] == '\0' - && (char *)strchr ("bBVDUoeTuIYmLiA", argv[i][1]) != NULL) - || strcmp (argv[i], "-Tdata") == 0)) - quote = argv[i]; - else if (library != 0 && ((argv[i][2] == '\0' - && (char *) strchr ("cSEM", argv[i][1]) != NULL) - || strcmp (argv[i], "-MM") == 0)) - { - /* Don't specify libraries if we won't link, since that would - cause a warning. */ - library = 0; - } - else - /* Pass other options through. */ - continue; - } - else - { - int len; - - if (saw_speclang) - { - saw_speclang = 0; - continue; - } - - /* If the filename ends in .c or .i, put options around it. - But not if a specified -x option is currently active. */ - len = strlen (argv[i]); - if (len > 2 - && (argv[i][len - 1] == 'c' || argv[i][len - 1] == 'i') - && argv[i][len - 2] == '.') - { - args[i] |= LANGSPEC; - added += 2; - } - } - } - - if (quote) - fatal ("argument to `%s' missing\n", quote); - - if (added || library) - { - arglist = (char **) malloc ((argc + added + 4) * sizeof (char *)); - - for (i = 1, j = 1; i < argc; i++, j++) - { - arglist[j] = argv[i]; - - /* Make sure -lg++ is before the math library, since libg++ - itself uses those math routines. */ - if (!saw_math && (args[i] & MATHLIB) && library) - { - --j; - saw_math = argv[i]; - } - - /* Wrap foo.c and foo.i files in a language specification to - force the gcc compiler driver to run cc1plus on them. */ - if (args[i] & LANGSPEC) - { - int len = strlen (argv[i]); - if (argv[i][len - 1] == 'i') - arglist[j++] = "-xc++-cpp-output"; - else - arglist[j++] = "-xc++"; - arglist[j++] = argv[i]; - arglist[j] = "-xnone"; - } - } - - /* Add `-lg++' if we haven't already done so. */ - if (library == 2) - arglist[j++] = "-lg++"; - if (library) - arglist[j++] = "-lstdc++"; - if (saw_math) - arglist[j++] = saw_math; - else if (library) - arglist[j++] = MATH_LIBRARY; - - arglist[j] = NULL; - } - else - /* No need to copy 'em all. */ - arglist = argv; - - arglist[0] = gcc; - - if (verbose) - { - if (j == 0) - j = argc; - - for (i = 0; i < j; i++) - fprintf (stderr, " %s", arglist[i]); - fprintf (stderr, "\n"); - } -#if !defined(OS2) && !defined (_WIN32) -#ifdef __MSDOS__ - run_dos (gcc, arglist); -#else /* !__MSDOS__ */ - if (execvp (gcc, arglist) < 0) - pfatal_with_name (gcc); -#endif /* __MSDOS__ */ -#else /* OS2 or _WIN32 */ - if (spawnvp (1, gcc, arglist) < 0) - pfatal_with_name (gcc); -#endif - - return 0; -} diff --git a/contrib/gcc/cp/mpw-config.in b/contrib/gcc/cp/mpw-config.in deleted file mode 100644 index 88dd85f72e9f..000000000000 --- a/contrib/gcc/cp/mpw-config.in +++ /dev/null @@ -1,11 +0,0 @@ -# Configuration fragment for G++. -# Most of the real configuration work happens in the main GCC configure. - -# We need to join some lines in the Makefile.in before the sed -# process will work properly. The funky little sed script works by -# recognizing lines with a trailing '$@ \', adding the next line to -# its "pattern space", editing out the backslash and line, then -# putting the result out. - -sed -e '/$@ \\/{N;s/$@ \\./$@ /;P;D;}' \Option-d - "{srcdir}"Makefile.in >"{o}"hacked_Makefile.in diff --git a/contrib/gcc/cp/mpw-make.sed b/contrib/gcc/cp/mpw-make.sed deleted file mode 100644 index 120b5a1fa3a5..000000000000 --- a/contrib/gcc/cp/mpw-make.sed +++ /dev/null @@ -1,112 +0,0 @@ -# Sed commands to finish translating the G++ Unix makefile into MPW syntax. - -# Remove control-Ls, they upset MPW make. -s///g - -# Remove references to always-empty variables used to mark things. -/CYGNUS-LOCAL-/s/{CYGNUS-LOCAL-[a-z0-9]*}//g - -# Add a bunch of definitions, mostly empty. -/^# Variables that exist for you to override.$/a\ -\ -xmake_file = \ -tmake_file = \ -build_xm_file = \ -MALLOC = \ -MD_DEPS = \ -REAL_H = \ -HOST_CC_LD = {CC_LD}\ -ALL_CCLDFLAGS = \ -HOST_CCLDFLAGS = \ -CONFIG_H = \ -LIBDEPS = \ - -# The "target" variable is special to MPW make, avoid it. -/{target}/s/{target}/{target_canonical}/g - -# Suppress the suppression of smart makes. -/^\.y\.c/d - -# Whack out "..." assignments. -/\.\.\./s/^\([a-z_]*= \.\.\.\)/#\1/ - -# Previous edits go a little overboard, undo. -/^objext = /s/"{o}"// - -# Always link in low-level MPW functions. -/^LIBDEPS=/s/$/ ::strerror.c.o ::mpwlib.c.o/ -/{CLIB}/s/{CLIB}/ ::strerror.c.o ::mpwlib.c.o {CLIB}/ - -# Don't get tricky about finding various .o file, point at dir above. -/^SUBDIR_OBSTACK/s/`.*`/::obstack.c.o/ -/^SUBDIR_USE_ALLOCA/s/`.*`/::alloca.c.o/ -/^SUBDIR_MALLOC/s/`.*`// - -# Point includes at parent directly correctly. -/^INCLUDES = /s/:\./::/g -/^INCLUDES = /s/"{srcdir}"\.\./"{topsrcdir}"gcc:/g -/^INCLUDES = /s,"{srcdir}"/\.\.,"{topsrcdir}"gcc:,g -/^INCLUDES = /s,"{srcdir}":config,"{topsrcdir}"gcc:config:,g - -# Add the special MPW include dirs. -/^INCLUDES = /s/$/ -i "{topsrcdir}"include:mpw: -i :::extra-include:/ - -# A nasty hack to reduce confusion. -/true/s/ ; @true$// - -# (should be in common translation?) -/{CC_LD} /s/$/ {EXTRALIBS}/ - -# Don't use general compiler flags (which may include definitions -# and other compiler-only bits) with linking commands. -/{CC_LD} /s/ALL_CFLAGS/ALL_CCLDFLAGS/ - -# Whack out build rules that are not useful. -/^Makefile \\Option-f /,/^$/d -/^config.status \\Option-f /,/^$/d -# (Note that MPW make is not case sensitive, and so this name -# is considered the same as "md_file".) -/^{MD_FILE} \\Option-f/,/^$/d - -# Depending on config.status is not useful for us. -/config.status/s/ config.status// - -# Repeat of stuff from generic edit. -/{s}/s/"{s}""{s}"/"{s}"/g -/{s}/s/"{s}""{srcdir}"/"{s}"/g -/{s}/s/"{srcdir}""{s}"/"{s}"/g - -# Fix references to C frontend files in main dir. -/::c-/s/"{o}"::c-/"{o}":c-/g - -# Fix pathnames to generated files in the objdir. -/parse/s/"{s}"parse\.\([chy]\)/"{o}"parse.\1/g -/parse/s/^parse\.\([chy]\)/"{o}"parse.\1/ -/y.tab.c/s/"{s}"y\.tab\.c/"{o}"y.tab.c/g -/y.tab.c/s/^y\.tab\.c/"{o}"y.tab.c/ -/y.tab.h/s/"{s}"y\.tab\.h/"{o}"y.tab.h/g -/y.tab.h/s/^y\.tab\.h/"{o}"y.tab.h/ - -# Put in the definition of YYEMPTY directly. -/grep/s/grep .* >>/Echo '#define YYEMPTY -1' >>/ - -# If the dates are wrong, then this tries to run gperf, which we don't -# really want. -/^"{srcdir}"hash.h/,/hash.h$/d - -# Sed the object file list instead of using cat (meow). -/cat/s/`cat /`sed -e 's,:,::,g' -e 's,{objext},.o,g' / - -# Simplify dependencies of generated parser files. -/^{PARSE_C}/s/^/#/ -/^stamp-parse/s/^stamp-parse/{PARSE_C}/ - -# Fix the compile line for the generated parser. -/{CC} -c/,/echo {PARSE_C}/c\ - {CC} @DASH_C_FLAG@ {ALL_CFLAGS} {ALL_CPPFLAGS} {INCLUDES} {BIG_SWITCHFLAG} "{o}"parse.c -o "{o}"parse.c.o\ - -# Change all Rez commands to use mac-gcc.r. -/{REZ}/s/"{s}"[-a-zA-Z{}]*\.r/"{topsrcdir}"gcc:mac-gcc.r/ - -# Remove pathname junk from the container name. -/{REZ}/s/'"'::cc1plus'"'/'"'cc1plus'"'/ diff --git a/contrib/gcc/cp/reno.texi b/contrib/gcc/cp/reno.texi deleted file mode 100644 index 59c3448a0399..000000000000 --- a/contrib/gcc/cp/reno.texi +++ /dev/null @@ -1,752 +0,0 @@ -\input texinfo @c -*- Texinfo -*- -@setfilename reno-1.info - -@ifinfo -@format -START-INFO-DIR-ENTRY -* Reno 1: (reno-1). The GNU C++ Renovation Project, Phase 1. -END-INFO-DIR-ENTRY -@end format -@end ifinfo - -@ifinfo -Copyright @copyright{} 1992, 1993, 1994 Free Software Foundation, Inc. - -Permission is granted to make and distribute verbatim copies of -this manual provided the copyright notice and this permission notice -are preserved on all copies. - -@ignore -Permission is granted to process this file through TeX and print the -results, provided the printed document carries a copying permission -notice identical to this one except for the removal of this paragraph -(this paragraph not being relevant to the printed manual). - -@end ignore - -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided also that -the entire resulting derived work is distributed under the terms of a -permission notice identical to this one. - -Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions. -@end ifinfo - -@setchapternewpage odd -@settitle GNU C++ Renovation Project -@c @smallbook - -@titlepage -@finalout -@title GNU C++ Renovation Project -@subtitle Phase 1.3 -@author Brendan Kehoe, Jason Merrill, -@author Mike Stump, Michael Tiemann -@page - -Edited March, 1994 by Roland Pesch (@code{pesch@@cygnus.com}) -@vskip 0pt plus 1filll -Copyright @copyright{} 1992, 1993, 1994 Free Software Foundation, Inc. - -Permission is granted to make and distribute verbatim copies of -this manual provided the copyright notice and this permission notice -are preserved on all copies. - -@ignore -Permission is granted to process this file through Tex and print the -results, provided the printed document carries copying permission -notice identical to this one except for the removal of this paragraph -(this paragraph not being relevant to the printed manual). -@end ignore - -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided also that -the entire resulting derived work is distributed under the terms of a -permission notice identical to this one. - -Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions. -@end titlepage - -@ifinfo -@node Top -@top @sc{gnu} C++ Renovation Project - -This file describes the goals of the @sc{gnu} C++ Renovation Project, -and its accomplishments to date (as of Phase 1.3). - -It also discusses the remaining divergences from @sc{gnu} C++, and how the -name encoding in @sc{gnu} C++ differs from the sample encoding in -@cite{The Annotated C++ Reference Manual}. -@c This is not a good place to introduce the acronym ARM because it's -@c info-only. - -@menu -* Introduction:: What is the GNU C++ Renovation Project? -* Changes:: Summary of changes since previous GNU C++ releases. -* Plans:: Plans for Reno-2. -* Templates:: The template implementation. -* ANSI:: GNU C++ conformance to ANSI C++. -* Encoding:: Name encoding in GNU C++. -@end menu - -@end ifinfo - -@node Introduction -@chapter Introduction - -As you may remember, @sc{gnu} C++ was the first native-code C++ -compiler available under Unix (December 1987). In November 1988, it was -judged superior to the AT&T compiler in a Unix World review. In 1990 it -won a Sun Observer ``Best-Of'' award. But now, with new requirements -coming out of the @sc{ansi} C++ committee and a growing backlog of bugs, it's -clear that @sc{gnu} C++ needs an overhaul. - -The C++ language has been under development since 1982. It has -evolved significantly since its original incarnation (C with Classes), -addressing many commercial needs and incorporating many lessons -learned as more and more people started using ``object-oriented'' -programming techniques. In 1989, the first X3J16 committee meeting -was held in Washington DC; in the interest of users, C++ was going to -be standardized. - -As C++ has become more popular, more demands have been placed on its -compilers. Some compilers are up to the demands, others are not. -@sc{gnu} C++ was used to prototype several features which have since -been incorporated into the standard, most notably exception handling. -While @sc{gnu} C++ has been an excellent experimental vehicle, it did -not have the resources that AT&T, Borland, or Microsoft have at their -disposal. - -We believe that @sc{gnu} C++ is an important compiler, providing users with -many of the features that have made @sc{gnu} C so popular: fast compilation, -good error messages, innovative features, and full sources that may be -freely redistributed. The purpose of this overhaul, dubbed the @var{@sc{gnu} -C++ Renovation Project}, is to take advantage of the functionality that -@sc{gnu} C++ offers today, to strengthen its base technology, and put it in a -position to remain---as other @sc{gnu} software currently is---the technical -leader in the field. - -This release represents the latest phase of work in strengthening the -compiler on a variety of points. It includes many months of -work concentrated on fixing many of the more egregious bugs that -presented themselves in the compiler recently. -@ignore -@c FIXME-- update? -Nearly 85% of all bugs reported in the period of February to September -of 1992 were fixed as part of the work in the first phase. -@end ignore -In the coming months, we hope to continue expanding and enhancing the -quality and dependability of the industry's only freely redistributable -C++ compiler. - -@node Changes -@chapter Changes in Behavior in @sc{gnu} C++ - -The @sc{gnu} C++ compiler continues to improve and change. A major goal -of our work has been to continue to bring the compiler into compliance -with the draft @sc{ansi} C++ standard, and with @cite{The Annotated C++ -Reference Manual} (the @sc{arm}). This section outlines most of the -user-noticeable changes that might be encountered during the normal -course of use. - -@menu -* Summary of Phase 1.3:: -* Major changes:: -* New features:: -* Enhancements and bug fixes:: -* Problems with debugging:: -@end menu - -@node Summary of Phase 1.3 -@section Summary of Changes in Phase 1.3 - -The bulk of this note discusses the cumulative effects of the @sc{gnu} C++ -Renovation Project to date. The work during its most recent phase (1.3) -had these major effects: - -@itemize @bullet -@item The standard compiler driver @code{g++} is now the faster compiled -version, rather than a shell script. - -@item Nested types work much better; notably, nesting is no longer -restricted to nine levels. - -@item Better @sc{arm} conformance on member access control. - -@item The compiler now always generates default assignment operators -(@samp{operator =}), copy constructors (@samp{X::X(X&)}), and default -constructors (@samp{X::X()}) whenever they are required. - -@item The new draft @sc{ansi} standard keyword @code{mutable} is supported. - -@item @samp{-fansi-overloading} is the default, to comply better with -the @sc{arm} (at some cost in compatibility to earlier versions of @sc{gnu} C++). - -@item More informative error messages. - -@item System include files are automatically treated as if they were -wrapped in @samp{extern "C" @{ @}}. - -@item The new option @samp{-falt-external-templates} provides alternate -template instantiation semantics. - -@item Operator declarations are now checked more strictly. - -@item You can now use template type arguments in the template parameter list. - -@item You can call the destructor for any type. - -@item The compiler source code is better organized. - -@item You can specify where to instantiate template definitions explicitly. -@end itemize - -Much of the work in Phase 1.3 went to elimination of known bugs, as well -as the major items above. - -During the span of Phase 1.3, there were also two changes associated -with the compiler that, while not specifically part of the C++ -Renovation project, may be of interest: - -@itemize @bullet -@item @code{gcov}, a code coverage tool for @sc{gnu cc}, is now available -from Cygnus Support. (@code{gcov} is free software, but the @sc{fsf} has not -yet accepted it.) @xref{Gcov,, @code{gcov}: a Test Coverage Program, -gcc.info, Using GNU CC}, for more information (in Cygnus releases of -that manual). - -@item @sc{gnu} C++ now supports @dfn{signatures}, a language extension to -provide more flexibility in abstract type definitions. @xref{C++ -Signatures,, Type Abstraction using Signatures, gcc.info, Using GNU CC}. -@end itemize - -@node Major changes -@section Major Changes - -This release includes four wholesale rewrites of certain areas of -compiler functionality: - -@enumerate 1 -@item Argument matching. @sc{gnu} C++ is more compliant with the rules -described in Chapter 13, ``Overloading'', of the @sc{arm}. This behavior is -the default, though you can specify it explicitly with -@samp{-fansi-overloading}. For compatibility with earlier releases of -@sc{gnu} C++, specify @samp{-fno-ansi-overloading}; this makes the compiler -behave as it used to with respect to argument matching and name overloading. - -@item Default constructors/destructors. Section 12.8 of the @sc{arm}, ``Copying -Class Objects'', and Section 12.1, ``Constructors'', state that a -compiler must declare such default functions if the user does not -specify them. @sc{gnu} C++ now declares, and generates when necessary, -the defaults for constructors and destructors you might omit. In -particular, assignment operators (@samp{operator =}) behave the same way -whether you define them, or whether the compiler generates them by -default; taking the address of the default @samp{operator =} is now -guaranteed to work. Default copy constructors (@samp{X::X(X&)}) now -function correctly, rather than calling the copy assignment operator for -the base class. Finally, constructors (@samp{X::X()}), as well as -assignment operators and copy constructors, are now available whenever -they are required. - -@c XXX This may be taken out eventually... -@item Binary incompatibility. There are no new binary incompatibilities -in Phase 1.3, but Phase 1.2 introduced two binary incompatibilities with -earlier releases. First, the functionality of @samp{operator -new} and @samp{operator delete} changed. Name encoding -(``mangling'') of virtual table names changed as well. Libraries -built with versions of the compiler earlier than Phase 1.2 must be -compiled with the new compiler. (This includes the Cygnus Q2 -progressive release and the FSF 2.4.5 release.) - -@item New @code{g++} driver. -A new binary @code{g++} compiler driver replaces the shell script. -The new driver executes faster. -@end enumerate - -@node New features -@section New features - -@itemize @bullet -@item -The compiler warns when a class contains only private constructors -or destructors, and has no friends. At the request of some of our -customers, we have added a new option, @samp{-Wctor-dtor-privacy} (on by -default), and its negation, @samp{-Wno-ctor-dtor-privacy}, to control -the emission of this warning. If, for example, you are working towards -making your code compile warning-free, you can use @w{@samp{-Wall --Wno-ctor-dtor-privacy}} to find the most common warnings. - -@item -There is now a mechanism which controls exactly when templates are -expanded, so that you can reduce memory usage and program size and also -instantiate them exactly once. You can control this mechanism with the -option @samp{-fexternal-templates} and its corresponding negation -@samp{-fno-external-templates}. Without this feature, space consumed by -template instantiations can grow unacceptably in large-scale projects -with many different source files. The default is -@samp{-fno-external-templates}. - -You do not need to use the @samp{-fexternal-templates} option when -compiling a file that does not define and instantiate templates used in -other files, even if those files @emph{are} compiled with -@samp{-fexternal-templates}. The only side effect is an increase in -object size for each file that was compiled without -@samp{-fexternal-templates}. - -When your code is compiled with @samp{-fexternal-templates}, all -template instantiations are external; this requires that the templates -be under the control of @samp{#pragma interface} and @samp{#pragma -implementation}. All instantiations that will be needed should be in -the implementation file; you can do this with a @code{typedef} that -references the instantiation needed. Conversely, when you compile using -the option @samp{-fno-external-templates}, all template instantiations are -explicitly internal. - -@samp{-fexternal-templates} also allows you to finally separate class -template function definitions from their declarations, thus speeding up -compilation times for every file that includes the template declaration. -Now you can have tens or even hundreds of lines in template -declarations, and thousands or tens of thousands of lines in template -definitions, with the definitions only going through the compiler once -instead of once for each source file. It is important to note that you -must remember to externally instantiate @emph{all} templates that are -used from template declarations in interface files. If you forget to do -this, unresolved externals will occur. - -In the example below, the object file generated (@file{example.o}) will -contain the global instantiation for @samp{Stack<int>}. If other types -of @samp{Stack} are needed, they can be added to @file{example.cc} or -placed in a new file, in the same spirit as @file{example.cc}. - -@code{foo.h}: -@smallexample -@group -#pragma interface "foo.h" -template<class T> -class Stack @{ - static int statc; - static T statc2; - Stack() @{ @} - virtual ~Stack() @{ @} - int bar(); -@}; -@end group -@end smallexample - -@code{example.cc}: -@smallexample -@group -#pragma implementation "foo.h" -#include "foo.h" - -typedef Stack<int> t; -int Stack<int>::statc; -int Stack<int>::statc2; -int Stack<int>::bar() @{ @} -@end group -@end smallexample - -Note that using @samp{-fexternal-templates} does not reduce memory usage -from completely different instantiations (@samp{Stack<Name>} vs. -@samp{Stack<Net_Connection>}), but only collapses different occurrences -of @samp{Stack<Name>} so that only one @samp{Stack<Name>} is generated. - -@samp{-falt-external-templates} selects a slight variation in the -semantics described above (incidentally, you need not specify both -options; @samp{-falt-external-templates} implies -@samp{-fexternal-templates}). - -With @samp{-fexternal-templates}, the compiler emits a definition in the -implementation file that includes the header definition, @emph{even if} -instantiation is triggered from a @emph{different} implementation file -(e.g. with a template that uses another template). - -With @samp{-falt-external-templates}, the definition always goes in the -implementation file that triggers instantiation. - -For instance, with these two header files--- - -@example -@exdent @file{a.h}: -#pragma interface -template <class T> class A @{ @dots{} @}; - -@exdent @file{b.h}: -#pragma interface -class B @{ @dots{} @}; -void f (A<B>); -@end example - -Under @samp{-fexternal-templates}, the definition of @samp{A<B>} ends up -in the implementation file that includes @file{a.h}. Under -@samp{-falt-external-templates}, the same definition ends up in the -implementation file that includes @file{b.h}. - -@item -You can control explicitly where a template is instantiated, without -having to @emph{use} the template to get an instantiation. - -To instantiate a class template explicitly, write @samp{template -class @var{name}<paramvals>}, where @var{paramvals} is a list of values -for the template parameters. For example, you might write - -@example -template class A<int> -@end example - -Similarly, to instantiate a function template explicitly, write -@samp{template @var{fnsign}} where @var{fnsign} is the particular -function signature you need. For example, you might write - -@example -template void foo (int, int) -@end example - -This syntax for explicit template instantiation agrees with recent -extensions to the draft @sc{ansi} standard. - -@item -The compiler's actions on @sc{ansi}-related warnings and errors have -been further enhanced. The @samp{-pedantic-errors} option produces -error messages in a number of new situations: using @code{return} in a -non-@code{void} function (one returning a value); declaring a local -variable that shadows a parameter (e.g., the function takes an argument -@samp{a}, and has a local variable @samp{a}); and use of the @samp{asm} -keyword. Finally, the compiler by default now issues a warning when -converting from an @code{int} to an enumerated type. This is likely to -cause many new warnings in code that hadn't triggered them before. For -example, when you compile this code, - -@smallexample -@group -enum boolean @{ false, true @}; -void -f () -@{ - boolean x; - - x = 1; //@i{assigning an @code{int} to an @code{enum} now triggers a warning} -@} -@end group -@end smallexample - -@noindent -you should see the warning ``@code{anachronistic conversion from integer -type to enumeral type `boolean'}''. Instead of assigning the value 1, -assign the original enumerated value @samp{true}. -@end itemize - -@node Enhancements and bug fixes -@section Enhancements and bug fixes - -@itemize @bullet -@cindex nested types in template parameters -@item -You can now use nested types in a template parameter list, even if the nested -type is defined within the same class that attempts to use the template. -For example, given a template @code{list}, the following now works: - -@smallexample -struct glyph @{ - @dots{} - struct stroke @{ @dots{} @}; - list<stroke> l; - @dots{} -@} -@end smallexample - -@cindex function pointers vs template parameters -@item -Function pointers now work in template parameter lists. For -example, you might want to instantiate a parameterized @code{list} class -in terms of a pointer to a function like this: - -@smallexample -list<int (*)(int, void *)> fnlist; -@end smallexample - -@item -@c FIXME! Really no limit? Jason said "deeper than 9" now OK... -Nested types are now handled correctly. In particular, there is no -longer a limit to how deeply you can nest type definitions. - -@item -@sc{gnu} C++ now conforms to the specifications in Chapter 11 of the -@sc{arm}, ``Member Access Control''. - -@item -The @sc{ansi} C++ committee has introduced a new keyword @code{mutable}. -@sc{gnu} C++ supports it. Use @code{mutable} to specify that some -particular members of a @code{const} class are @emph{not} constant. For -example, you can use this to include a cache in a data structure that -otherwise represents a read-only database. - -@item -Error messages now explicitly specify the declaration, type, or -expression that contains an error. - -@item -To avoid copying and editing all system include files during @sc{gnu} -C++ installation, the compiler now automatically recognizes system -include files as C language definitions, as if they were wrapped in -@samp{extern "C" @{ @dots{} @}}. - -@item -The compiler checks operator declarations more strictly. For example, -you may no longer declare an @samp{operator +} with three arguments. - -@item -You can now use template type arguments in the same template -parameter list where the type argument is specified (as well as in the -template body). For example, you may write - -@example -template <class T, T t> class A @{ @dots{} @}; -@end example - -@item -Destructors are now available for all types, even built-in ones; for -example, you can call @samp{int::~int}. (Destructors for types like -@code{int} do not actually do anything, but their existence provides a -level of generality that permits smooth template expansion in more -cases.) - -@item -Enumerated types declared inside a class are now handled correctly. - -@item -An argument list for a function may not use an initializer list for its default -value. For example, @w{@samp{void foo ( T x = @{ 1, 2 @} )}} is not permitted. - -@item -A significant amount of work went into improving the ability of the -compiler to act accurately on multiple inheritance and virtual -functions. Virtual function dispatch has been enhanced as well. - -@item -The warning concerning a virtual inheritance environment with a -non-virtual destructor has been disabled, since it is not clear that -such a warning is warranted. - -@item -Until exception handling is fully implemented in the Reno-2 release, use -of the identifiers @samp{catch}, @samp{throw}, or @samp{try} results -in the warning: - -@smallexample -t.C:1: warning: `catch', `throw', and `try' - are all C++ reserved words -@end smallexample - -@item -When giving a warning or error concerning initialization of a member in a -class, the compiler gives the name of the member if it has one. - -@item -Detecting friendship between classes is more accurately checked. - -@item -The syntaxes of @w{@samp{#pragma implementation "file.h"}} and -@samp{#pragma interface} are now more strictly controlled. The compiler -notices (and warns) when any text follows @file{file.h} in the -implementation pragma, or follows the word @samp{interface}. Any such -text is otherwise ignored. - -@item -Trying to declare a template on a variable or type is now considered an -error, not an unimplemented feature. - -@item -When an error occurs involving a template, the compiler attempts to -tell you at which point of instantiation the error occurred, in -addition to noting the line in the template declaration which had the -actual error. - -@item -The symbol names for function templates in the resulting assembly file -are now encoded according to the arguments, rather than just being -emitted as, for example, two definitions of a function @samp{foo}. - -@item -Template member functions that are declared @code{static} no longer -receive a @code{this} pointer. - -@item -Case labels are no longer allowed to have commas to make up their -expressions. - -@item -Warnings concerning the shift count of a left or right shift now tell -you if it was a @samp{left} or @samp{right} shift. - -@item -The compiler now warns when a decimal constant is so large that it -becomes @code{unsigned}. - -@item -Union initializers which are raw constructors are now handled properly. - -@item -The compiler no longer gives incorrect errors when initializing a -union with an empty initializer list. - -@item -Anonymous unions are now correctly used when nested inside a class. - -@item -Anonymous unions declared as static class members are now handled -properly. - -@item -The compiler now notices when a field in a class is declared both as -a type and a non-type. - -@item -The compiler now warns when a user-defined function shadows a -built-in function, rather than emitting an error. - -@item -A conflict between two function declarations now produces an error -regardless of their language context. - -@item -Duplicate definitions of variables with @samp{extern "C"} linkage are no -longer considered in error. (Note in C++ linkage---the default---you may -not have more than one definition of a variable.) - -@item -Referencing a label that is not defined in any function is now an error. - -@item -The syntax for pointers to methods has been improved; there are still -some minor bugs, but a number of cases should now be accepted by the -compiler. - -@item -In error messages, arguments are now numbered starting at 1, instead of -0. Therefore, in the function @samp{void foo (int a, int b)}, the -argument @samp{a} is argument 1, and @samp{b} is argument 2. There is -no longer an argument 0. - -@item -The tag for an enumerator, rather than its value, used as a default -argument is now shown in all error messages. For example, @w{@samp{void -foo (enum x (= true))}} is shown instead of @w{@samp{void foo (enum x (= -1))}}. - -@item -The @samp{__asm__} keyword is now accepted by the C++ front-end. - -@item -Expressions of the form @samp{foo->~Class()} are now handled properly. - -@item -The compiler now gives better warnings for situations which result in -integer overflows (e.g., in storage sizes, enumerators, unary -expressions, etc). - -@item -@code{unsigned} bitfields are now promoted to @code{signed int} if the -field isn't as wide as an @code{int}. - -@item -Declaration and usage of prefix and postfix @samp{operator ++} and -@samp{operator --} are now handled correctly. For example, - -@smallexample -@group -class foo -@{ -public: - operator ++ (); - operator ++ (int); - operator -- (); - operator -- (int); -@}; - -void -f (foo *f) -@{ - f++; // @i{call @code{f->operator++(int)}} - ++f; // @i{call @code{f->operator++()}} - f--; // @i{call @code{f->operator++(int)}} - --f; // @i{call @code{f->operator++()}} -@} -@end group -@end smallexample - -@item -In accordance with @sc{arm} section 10.1.1, ambiguities and dominance are now -handled properly. The rules described in section 10.1.1 are now fully -implemented. - -@end itemize - -@node Problems with debugging -@section Problems with debugging - -Two problems remain with regard to debugging: - -@itemize @bullet -@item -Debugging of anonymous structures on the IBM RS/6000 host is incorrect. - -@item -Symbol table size is overly large due to redundant symbol information; -this can make @code{gdb} coredump under certain circumstances. This -problem is not host-specific. -@end itemize - -@node Plans -@chapter Plans for Reno-2 - -The overall goal for the second phase of the @sc{gnu} C++ Renovation -Project is to bring @sc{gnu} C++ to a new level of reliability, quality, -and competitiveness. As particular elements of this strategy, we intend -to: - -@enumerate 0 -@item -Fully implement @sc{ansi} exception handling. - -@item -With the exception handling, add Runtime Type Identification -(@sc{rtti}), if the @sc{ansi} committee adopts it into the standard. - -@item -Bring the compiler into closer compliance with the @sc{arm} and the draft -@sc{ansi} standard, and document what points in the @sc{arm} we do not yet comply, -or agree, with. - -@item -Add further support for the @sc{dwarf} debugging format. - -@item -Finish the work to make the compiler compliant with @sc{arm} Section 12.6.2, -initializing base classes in declaration order, rather than in the order -that you specify them in a @var{mem-initializer} list. - -@item -Perform a full coverage analysis on the compiler, and weed out unused -code, for a gain in performance and a reduction in the size of the compiler. - -@item -Further improve the multiple inheritance implementation in the -compiler to make it cleaner and more complete. -@end enumerate - -@noindent -As always, we encourage you to make suggestions and ask questions about -@sc{gnu} C++ as a whole, so we can be sure that the end of this project -will bring a compiler that everyone will find essential for C++ and will -meet the needs of the world's C++ community. - -@include templates.texi - -@include gpcompare.texi - -@contents - -@bye diff --git a/contrib/gcc/cpp.1 b/contrib/gcc/cpp.1 deleted file mode 100644 index 54c4dfb19832..000000000000 --- a/contrib/gcc/cpp.1 +++ /dev/null @@ -1 +0,0 @@ -.so man1/cccp.1 diff --git a/contrib/gcc/dependence.c b/contrib/gcc/dependence.c deleted file mode 100644 index 1a5564dda9ab..000000000000 --- a/contrib/gcc/dependence.c +++ /dev/null @@ -1,1467 +0,0 @@ -/* Analyze loop dependencies - Copyright (C) 2000, 2002 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC 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. - -GCC 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 GCC; see the file COPYING. If not, write to the Free -Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. */ - -/* References: - Practical Dependence Testing, Goff, Kennedy, Tseng, PLDI, 1991 - High Performance Compilers for Parallel Computing, Wolfe -*/ - -#include "config.h" -#include "system.h" - -#include "rtl.h" -#include "expr.h" -#include "tree.h" -#include "c-common.h" -#include "flags.h" -#include "varray.h" - -#define MAX_SUBSCRIPTS 13 - -/* - We perform the following steps: - - Build the data structures def_use_chain, loop_chain, and induction_chain. - - Determine if a loop index is a normalized induction variable. - A loop is currently considered to be a for loop having an index set to an - initial value, conditional check of the index, and increment/decrement of - the index. - - Determine the distance and direction vectors. Both are two dimensioned - arrays where the first dimension represents a loop and the second - dimension represents a subscript. Dependencies are actually per loop, not - per subscript. So for: - for (i = 0; i < 10; i++) - for (j = 0; j < 10; j++) - array [i][j] = array[i][j-1] - We find the dependencies: loop1/sub_i, loop1/sub_j, loop2/sub_i, loop2/sub_j - and then intersect loop1/sub_i V loop2/sub_i and loop1/sub_i V loop2/sub_j - We determine the type of dependence, which determines which test we use. - We then try to refine the type of dependence we have and add the - dependence to the dep_chain -*/ - -enum dependence_type {dt_flow, dt_anti, dt_output, dt_none}; -#if 0 -static const char *const dependence_string [] = {"flow", "anti", "output", "none"}; -#endif -enum direction_type {lt, le, eq, gt, ge, star, independent, undef}; -#if 0 -static const char *const direction_string [] = {"<", "<=", "=", ">", ">=", "*", - "INDEPENDENT", "UNDEFINED"}; -#endif -enum def_use_type {def, use, init_def_use}; - -enum du_status_type {seen, unseen}; - -enum loop_status_type {normal, unnormal}; - -enum complexity_type {ziv, strong_siv, weak_siv, weak_zero_siv, - weak_crossing_siv, miv}; - -/* Given a def/use one can chase the next chain to follow the def/use - for that variable. Alternately one can sequentially follow each - element of def_use_chain. */ - -typedef struct def_use -{ - /* outermost loop */ - tree outer_loop; - /* loop containing this def/use */ - tree containing_loop; - /* this expression */ - tree expression; - /* our name */ - const char *variable; - /* def or use */ - enum def_use_type type; - /* status flags */ - enum du_status_type status; - /* next def/use for this same name */ - struct def_use *next; - /* dependencies for this def */ - struct dependence *dep; -} def_use; - -/* Given a loop* one can chase the next_nest chain to follow the nested - loops for that loop. Alternately one can sequentially follow each - element of loop_chain and check outer_loop to get all loops - contained within a certain loop. */ - -typedef struct loop -{ - /* outermost loop containing this loop */ - tree outer_loop; - /* this loop */ - tree containing_loop; - /* nest level for this loop */ - int depth; - /* can loop be normalized? */ - enum loop_status_type status; - /* loop* for loop contained in this loop */ - struct loop *next_nest; - /* induction variables for this loop. Currently only the index variable. */ - struct induction *ind; -} loop; - -/* Pointed to by loop. One per induction variable. */ - -typedef struct induction -{ - /* our name */ - const char *variable; - /* increment. Currently only +1 or -1 */ - int increment; - /* lower bound */ - int low_bound; - /* upper bound */ - int high_bound; - /* next induction variable for this loop. Currently null. */ - struct induction *next; -} induction; - -/* Pointed to by def/use. One per dependence. */ - -typedef struct dependence -{ - tree source; - tree destination; - enum dependence_type dependence; - enum direction_type direction[MAX_SUBSCRIPTS]; - int distance[MAX_SUBSCRIPTS]; - struct dependence *next; -} dependence; - -/* subscripts are represented by an array of these. Each reflects one - X * i + Y term, where X and Y are constants. */ - -typedef struct subscript -{ - /* ordinal subscript number */ - int position; - /* X in X * i + Y */ - int coefficient; - /* Y in X * i + Y */ - int offset; - /* our name */ - const char *variable; - /* next subscript term. Currently null. */ - struct subscript *next; -} subscript; - -/* Remember the destination the front end encountered. */ - -static tree dest_to_remember; - -/* Chain for def_use */ -static varray_type def_use_chain; - -/* Chain for dependence */ -static varray_type dep_chain; - -/* Chain for loop */ -static varray_type loop_chain; - -/* Chain for induction */ -static varray_type induction_chain; - -void init_dependence_analysis PARAMS ((tree)); -static void build_def_use PARAMS ((tree, enum def_use_type)); -static loop* add_loop PARAMS ((tree, tree, int)); -static int find_induction_variable PARAMS ((tree, tree, tree, loop*)); -static int get_low_bound PARAMS ((tree, const char*)); -static int have_induction_variable PARAMS ((tree, const char*)); -static void link_loops PARAMS ((void)); -static void get_node_dependence PARAMS ((void)); -static void check_node_dependence PARAMS ((def_use*)); -static int get_coefficients PARAMS ((def_use*, subscript[])); -static int get_one_coefficient PARAMS ((tree, subscript*, def_use*, enum tree_code*)); -static void normalize_coefficients PARAMS ((subscript[], loop*, int)); -static void classify_dependence PARAMS ((subscript[], subscript[], - enum complexity_type[], int*, int)); -static void ziv_test PARAMS ((subscript[], subscript[], - enum direction_type[][MAX_SUBSCRIPTS], - int[][MAX_SUBSCRIPTS], loop*, int)); -static void siv_test PARAMS ((subscript[], subscript[], - enum direction_type[][MAX_SUBSCRIPTS], - int[][MAX_SUBSCRIPTS], loop*, int)); -static int check_subscript_induction PARAMS ((subscript*, subscript*, loop*)); -static void gcd_test PARAMS ((subscript[], subscript[], enum - direction_type[][MAX_SUBSCRIPTS], - int[][MAX_SUBSCRIPTS], loop*, int)); -static int find_gcd PARAMS ((int, int)); -static void merge_dependencies PARAMS ((enum direction_type[][MAX_SUBSCRIPTS], - int[][MAX_SUBSCRIPTS], int, int)); -static void dump_array_ref PARAMS ((tree)); -#if 0 -static void dump_one_node PARAMS ((def_use*, varray_type*)); -static void dump_node_dependence PARAMS ((void)); -#endif -int search_dependence PARAMS ((tree)); -void remember_dest_for_dependence PARAMS ((tree)); -int have_dependence_p PARAMS ((rtx, rtx, enum direction_type[], int[])); -void end_dependence_analysis PARAMS ((void)); - -/* Build dependence chain 'dep_chain', which is used by have_dependence_p, - for the function given by EXP. */ - -void -init_dependence_analysis (exp) - tree exp; -{ - def_use *du_ptr; - - VARRAY_GENERIC_PTR_INIT (def_use_chain, 50, "def_use_chain"); - VARRAY_GENERIC_PTR_INIT (dep_chain, 50, "dep_chain"); - VARRAY_GENERIC_PTR_INIT (loop_chain, 50, "loop_chain"); - VARRAY_GENERIC_PTR_INIT (induction_chain, 50, "induction_chain"); - - build_def_use (exp, init_def_use); - - link_loops (); - - get_node_dependence (); - - /* dump_node_dependence (&def_use_chain);*/ - - for (du_ptr = VARRAY_TOP (def_use_chain, generic); - VARRAY_POP (def_use_chain); - du_ptr = VARRAY_TOP (def_use_chain, generic)) - { - free (du_ptr); - } - - VARRAY_FREE (def_use_chain); - VARRAY_FREE (loop_chain); - VARRAY_FREE (induction_chain); -} - -/* Build ARRAY_REF def/use info 'def_use_chain' starting at EXP which is a def - or use DU_TYPE */ - -static void -build_def_use (exp, du_type) - tree exp; - enum def_use_type du_type; -{ - static tree outer_loop; - static int nloop; - static tree current_loop; - static int du_idx; - static loop *loop_def; - tree node = exp; - tree array_ref; - def_use *du_ptr; - - if (du_type == init_def_use) - { - outer_loop = 0; - nloop = 0; - du_idx = 0; - } - - while (node) - switch (TREE_CODE (node)) - { - case COMPOUND_STMT: - node = TREE_OPERAND (node, 0); - break; - case TREE_LIST: - build_def_use (TREE_VALUE (node), 0); - node = TREE_CHAIN (node); - break; - case CALL_EXPR: - node = TREE_CHAIN (node); - break; - case FOR_STMT: - if (! nloop) outer_loop = node; - nloop++; - current_loop = node; - loop_def = add_loop (node, outer_loop, nloop); - if (find_induction_variable (TREE_OPERAND (node, 0), - TREE_OPERAND (node, 1), - TREE_OPERAND (node, 2), loop_def) - == 0) - loop_def->status = unnormal; - - build_def_use (TREE_OPERAND (node, 3), 0); - nloop--; - current_loop = 0; - node = TREE_CHAIN (node); - break; - case MODIFY_EXPR: - /* Is an induction variable modified? */ - if (loop_def - && TREE_CODE (TREE_OPERAND (node, 0)) == VAR_DECL - && have_induction_variable - (loop_def->outer_loop, - IDENTIFIER_POINTER (DECL_NAME (TREE_OPERAND (node, 0)))) >= 0) - loop_def->status = unnormal; - - if (TREE_CODE (TREE_OPERAND (node, 0)) == ARRAY_REF - || TREE_CODE (TREE_OPERAND (node, 0)) == INDIRECT_REF) - build_def_use (TREE_OPERAND (node, 0), def); - - build_def_use (TREE_OPERAND (node, 1), use); - node = TREE_CHAIN (node); - break; - case INDIRECT_REF: - if (! TREE_OPERAND (node, 1) - || TREE_CODE (TREE_OPERAND (node, 1)) != ARRAY_REF) - { - node = 0; - break; - } - node = TREE_OPERAND (node, 1); - case ARRAY_REF: - if (nloop) - { - int i; - char null_string = '\0'; - - VARRAY_PUSH_GENERIC_PTR (def_use_chain, xmalloc (sizeof (def_use))); - du_ptr = VARRAY_GENERIC_PTR (def_use_chain, du_idx++); - du_ptr->type = du_type; - du_ptr->status = unseen; - du_ptr->outer_loop = outer_loop; - du_ptr->containing_loop = current_loop; - du_ptr->expression = node; - du_ptr->variable = &null_string; - du_ptr->next = 0; - du_ptr->dep = 0; - for (array_ref = node; - TREE_CODE (array_ref) == ARRAY_REF; - array_ref = TREE_OPERAND (array_ref, 0)) - ; - - if (TREE_CODE (array_ref) == COMPONENT_REF) - { - array_ref = TREE_OPERAND (array_ref, 1); - if (! (TREE_CODE (array_ref) == FIELD_DECL - && TREE_CODE (TREE_TYPE (array_ref)) == ARRAY_TYPE)) - { - node = 0; - break; - } - } - - for (i = 0; - i < du_idx - && strcmp (IDENTIFIER_POINTER (DECL_NAME (array_ref)), - ((def_use*) (VARRAY_GENERIC_PTR - (def_use_chain, i)))->variable); - i++) - ; - if (i != du_idx) - { - def_use *tmp_duc; - for (tmp_duc = ((def_use*) (VARRAY_GENERIC_PTR (def_use_chain, i))); - tmp_duc->next; - tmp_duc = ((def_use*)tmp_duc->next)); - tmp_duc->next = du_ptr; - } - else du_ptr->next = 0; - du_ptr->variable = IDENTIFIER_POINTER (DECL_NAME (array_ref)); - } - node = 0; - break; - - case SCOPE_STMT: - case DECL_STMT: - node = TREE_CHAIN (node); - break; - - case EXPR_STMT: - if (TREE_CODE (TREE_OPERAND (node, 0)) == MODIFY_EXPR) - build_def_use (TREE_OPERAND (node, 0), def); - node = TREE_CHAIN (node); - break; - - default: - if (TREE_CODE_CLASS (TREE_CODE (node)) == '2') - { - build_def_use (TREE_OPERAND (node, 0), use); - build_def_use (TREE_OPERAND (node, 1), use); - node = TREE_CHAIN (node); - } - else - node = 0; - } -} - -/* Add a loop to 'loop_chain' corresponding to for loop LOOP_NODE at depth - NLOOP, whose outermost loop is OUTER_LOOP */ - -static loop* -add_loop (loop_node, outer_loop, nloop) - tree loop_node; - tree outer_loop; - int nloop; -{ - loop *loop_ptr; - - VARRAY_PUSH_GENERIC_PTR (loop_chain, xmalloc (sizeof (loop))); - loop_ptr = VARRAY_TOP (loop_chain, generic); - loop_ptr->outer_loop = outer_loop; - loop_ptr->containing_loop = loop_node; - loop_ptr->depth = nloop; - loop_ptr->status = normal; - loop_ptr->next_nest = 0; - loop_ptr->ind = 0; - return loop_ptr; -} - -/* Update LOOP_DEF if for loop's COND_NODE and INCR_NODE define an index that - is a normalized induction variable. */ - -static int -find_induction_variable (init_node, cond_node, incr_node, loop_def) - tree init_node; - tree cond_node; - tree incr_node; - loop *loop_def; -{ - induction *ind_ptr; - enum tree_code incr_code; - tree incr; - - if (! init_node || ! incr_node || ! cond_node) - return 0; - /* Allow for ',' operator in increment expression of FOR */ - - incr = incr_node; - while (TREE_CODE (incr) == COMPOUND_EXPR) - { - incr_code = TREE_CODE (TREE_OPERAND (incr, 0)); - if (incr_code == PREDECREMENT_EXPR || incr_code == POSTDECREMENT_EXPR - || incr_code == PREINCREMENT_EXPR || incr_code == POSTINCREMENT_EXPR) - { - incr_node = TREE_OPERAND (incr, 0); - break; - } - incr_code = TREE_CODE (TREE_OPERAND (incr, 1)); - if (incr_code == PREDECREMENT_EXPR || incr_code == POSTDECREMENT_EXPR - || incr_code == PREINCREMENT_EXPR || incr_code == POSTINCREMENT_EXPR) - { - incr_node = TREE_OPERAND (incr, 1); - break; - } - incr = TREE_OPERAND (incr, 1); - } - - /* Allow index condition to be part of logical expression */ - cond_node = TREE_VALUE (cond_node); - incr = cond_node; - -#define INDEX_LIMIT_CHECK(NODE) \ - (TREE_CODE_CLASS (TREE_CODE (NODE)) == '<') \ - && (TREE_CODE (TREE_OPERAND (NODE, 0)) == VAR_DECL \ - && (IDENTIFIER_POINTER (DECL_NAME (TREE_OPERAND (NODE, 0))) \ - == IDENTIFIER_POINTER (DECL_NAME (TREE_OPERAND (incr_node, 0))))) \ - ? 1 : 0 - - while (TREE_CODE (incr) == TRUTH_ANDIF_EXPR - || TREE_CODE (incr) == TRUTH_ORIF_EXPR) - { - if (INDEX_LIMIT_CHECK (TREE_OPERAND (incr, 0))) - { - cond_node = TREE_OPERAND (incr, 0); - break; - } - if (INDEX_LIMIT_CHECK (TREE_OPERAND (incr, 1))) - { - cond_node = TREE_OPERAND (incr, 1); - break; - } - incr = TREE_OPERAND (incr, 0); - } - - incr_code = TREE_CODE (incr_node); - if ((incr_code == PREDECREMENT_EXPR || incr_code == POSTDECREMENT_EXPR - || incr_code == PREINCREMENT_EXPR || incr_code == POSTINCREMENT_EXPR) - && TREE_CODE_CLASS (TREE_CODE (cond_node)) == '<') - { - if (!INDEX_LIMIT_CHECK (cond_node)) - return 0; - - VARRAY_PUSH_GENERIC_PTR (induction_chain, xmalloc (sizeof (induction))); - ind_ptr = VARRAY_TOP (induction_chain, generic); - loop_def->ind = ind_ptr; - ind_ptr->variable = IDENTIFIER_POINTER (DECL_NAME (TREE_OPERAND - (incr_node, 0))); - ind_ptr->increment = TREE_INT_CST_LOW (TREE_OPERAND (incr_node, 1)); - if (TREE_CODE (incr_node) == PREDECREMENT_EXPR - || TREE_CODE (incr_node) == POSTDECREMENT_EXPR) - ind_ptr->increment = -ind_ptr->increment; - - ind_ptr->low_bound = get_low_bound (init_node, ind_ptr->variable); - if (TREE_CODE (TREE_OPERAND (cond_node, 0)) == VAR_DECL - && IDENTIFIER_POINTER (DECL_NAME (TREE_OPERAND (cond_node, 0))) - == ind_ptr->variable) - { - if (TREE_CODE (TREE_OPERAND (cond_node, 1)) == INTEGER_CST) - ind_ptr->high_bound = - TREE_INT_CST_LOW (TREE_OPERAND (cond_node, 1)); - else - ind_ptr->high_bound = ind_ptr->increment < 0 ? INT_MIN : INT_MAX; - } - else if (TREE_CODE (TREE_OPERAND (cond_node, 1)) == VAR_DECL - && IDENTIFIER_POINTER (DECL_NAME (TREE_OPERAND (cond_node, 1))) - == ind_ptr->variable) - { - if (TREE_CODE (TREE_OPERAND (cond_node, 0)) == INTEGER_CST) - ind_ptr->high_bound = - TREE_INT_CST_LOW (TREE_OPERAND (cond_node, 0)); - else - ind_ptr->high_bound = ind_ptr->increment < 0 ? INT_MIN : INT_MAX; - } - ind_ptr->next = 0; - return 1; - } - return 0; -} - -/* Return the low bound for induction VARIABLE in NODE */ - -static int -get_low_bound (node, variable) - tree node; - const char *variable; -{ - - if (TREE_CODE (node) == SCOPE_STMT) - node = TREE_CHAIN (node); - - if (! node) - return INT_MIN; - - while (TREE_CODE (node) == COMPOUND_EXPR) - { - if (TREE_CODE (TREE_OPERAND (node, 0)) == MODIFY_EXPR - && (TREE_CODE (TREE_OPERAND (node, 0)) == VAR_DECL - && IDENTIFIER_POINTER (DECL_NAME (TREE_OPERAND (node, 0))) - == variable)) - break; - } - - if (TREE_CODE (node) == EXPR_STMT) - node = TREE_OPERAND (node, 0); - if (TREE_CODE (node) == MODIFY_EXPR - && (TREE_CODE (TREE_OPERAND (node, 0)) == VAR_DECL - && IDENTIFIER_POINTER (DECL_NAME (TREE_OPERAND (node, 0))) - == variable)) - { - return TREE_INT_CST_LOW (TREE_OPERAND (node, 1)); - } - return INT_MIN; -} - - -/* Return the ordinal subscript position for IND_VAR if it is an induction - variable contained in OUTER_LOOP, otherwise return -1. */ - -static int -have_induction_variable (outer_loop, ind_var) - tree outer_loop; - const char *ind_var; -{ - induction *ind_ptr; - loop *loop_ptr; - unsigned int ind_idx = 0; - unsigned int loop_idx = 0; - - for (loop_ptr = VARRAY_GENERIC_PTR (loop_chain, loop_idx); - loop_ptr && loop_idx < VARRAY_SIZE (loop_chain); - loop_ptr = VARRAY_GENERIC_PTR (loop_chain, ++loop_idx)) - if (loop_ptr->outer_loop == outer_loop) - for (ind_ptr = loop_ptr->ind; - ind_ptr && ind_idx < VARRAY_SIZE (induction_chain); - ind_ptr = ind_ptr->next) - { - if (! strcmp (ind_ptr->variable, ind_var)) - return loop_idx + 1; - } - return -1; -} - -/* Chain the nodes of 'loop_chain'. */ - -static void -link_loops () -{ - unsigned int loop_idx = 0; - loop *loop_ptr, *prev_loop_ptr = 0; - - prev_loop_ptr = VARRAY_GENERIC_PTR (loop_chain, loop_idx); - for (loop_ptr = VARRAY_GENERIC_PTR (loop_chain, ++loop_idx); - loop_ptr && loop_idx < VARRAY_SIZE (loop_chain); - loop_ptr = VARRAY_GENERIC_PTR (loop_chain, ++loop_idx)) - { - if (prev_loop_ptr->outer_loop == loop_ptr->outer_loop) - { - if (prev_loop_ptr->depth == loop_ptr->depth - 1) - prev_loop_ptr->next_nest = loop_ptr; - prev_loop_ptr = loop_ptr; - } - } -} - -/* Check the dependence for each member of 'def_use_chain'. */ - -static void -get_node_dependence () -{ - unsigned int du_idx; - def_use *du_ptr; - - du_idx = 0; - for (du_ptr = VARRAY_GENERIC_PTR (def_use_chain, du_idx); - du_ptr && du_idx < VARRAY_SIZE (def_use_chain); - du_ptr = VARRAY_GENERIC_PTR (def_use_chain, du_idx++)) - { - if (du_ptr->status == unseen) - check_node_dependence (du_ptr); - } -} - -/* Check the dependence for definition DU. */ - -static void -check_node_dependence (du) - def_use *du; -{ - def_use *def_ptr, *use_ptr; - dependence *dep_ptr, *dep_list; - subscript icoefficients[MAX_SUBSCRIPTS]; - subscript ocoefficients[MAX_SUBSCRIPTS]; - loop *loop_ptr, *ck_loop_ptr; - unsigned int loop_idx = 0; - int distance[MAX_SUBSCRIPTS][MAX_SUBSCRIPTS]; - int i, j; - int subscript_count; - int unnormal_loop; - enum direction_type direction[MAX_SUBSCRIPTS][MAX_SUBSCRIPTS]; - enum complexity_type complexity[MAX_SUBSCRIPTS]; - int separability; - int have_dependence; - - for (j = 1 ; j < MAX_SUBSCRIPTS; j++) - { - direction[j][0] = undef; - distance[j][0] = 0; - } - - for (def_ptr = du; def_ptr; def_ptr = def_ptr->next) - { - if (def_ptr->type != def) - continue; - subscript_count = get_coefficients (def_ptr, ocoefficients); - if (subscript_count < 0) - continue; - - loop_idx = 0; - for (loop_ptr = VARRAY_GENERIC_PTR (loop_chain, loop_idx); - loop_ptr && loop_idx < VARRAY_SIZE (loop_chain); - loop_ptr = VARRAY_GENERIC_PTR (loop_chain, ++loop_idx)) - { - if (loop_ptr->outer_loop == def_ptr->outer_loop) - break; - } - - unnormal_loop = 0; - for (ck_loop_ptr = loop_ptr; - ck_loop_ptr && loop_idx < VARRAY_SIZE (loop_chain); - ck_loop_ptr = VARRAY_GENERIC_PTR (loop_chain, ++loop_idx)) - { - if (ck_loop_ptr->outer_loop == def_ptr->outer_loop - && ck_loop_ptr->status == unnormal) - unnormal_loop = 1; - } - if (unnormal_loop) - continue; - - normalize_coefficients (ocoefficients, loop_ptr, subscript_count); - - for (use_ptr = du; use_ptr; use_ptr = use_ptr->next) - { - if (def_ptr == use_ptr - || def_ptr->outer_loop != use_ptr->outer_loop) - continue; - def_ptr->status = seen; - use_ptr->status = seen; - subscript_count = get_coefficients (use_ptr, icoefficients); - normalize_coefficients (icoefficients, loop_ptr, subscript_count); - classify_dependence (icoefficients, ocoefficients, complexity, - &separability, subscript_count); - - for (i = 1, ck_loop_ptr = loop_ptr; ck_loop_ptr; i++) - { - for (j = 1; j <= subscript_count; j++) - { - direction[i][j] = star; - distance[i][j] = INT_MAX; - if (separability && complexity[j] == ziv) - ziv_test (icoefficients, ocoefficients, direction, distance, - ck_loop_ptr, j); - else if (separability - && (complexity[j] == strong_siv - || complexity[j] == weak_zero_siv - || complexity[j] == weak_crossing_siv)) - siv_test (icoefficients, ocoefficients, direction, distance, - ck_loop_ptr, j); - else - gcd_test (icoefficients, ocoefficients, direction, distance, - ck_loop_ptr, j); - /* ?? Add other tests: single variable exact test, banerjee */ - } - - ck_loop_ptr = ck_loop_ptr->next_nest; - } - - merge_dependencies (direction, distance, i - 1, j - 1); - - have_dependence = 0; - for (j = 1; j <= i - 1; j++) - { - if (direction[j][0] != independent) - have_dependence = 1; - } - if (! have_dependence) - continue; - - VARRAY_PUSH_GENERIC_PTR (dep_chain, xmalloc (sizeof (dependence))); - dep_ptr = VARRAY_TOP (dep_chain, generic); - dep_ptr->source = use_ptr->expression; - dep_ptr->destination = def_ptr->expression; - dep_ptr->next = 0; - - if (def_ptr < use_ptr && use_ptr->type == use) - dep_ptr->dependence = dt_flow; - else if (def_ptr > use_ptr && use_ptr->type == use) - dep_ptr->dependence = dt_anti; - else dep_ptr->dependence = dt_output; - - for (j = 1 ; j <= i - 1 ; j++) - { - if (direction[j][0] == gt) - { - dep_ptr->dependence = dt_anti; - direction[j][0] = lt; - distance[j][0] = -distance[j][0]; - break; - } - else if (direction[j][0] == lt) - { - dep_ptr->dependence = dt_flow; - break; - } - } - for (j = 1 ; j < MAX_SUBSCRIPTS ; j++) - { - dep_ptr->direction[j] = direction[j][0]; - dep_ptr->distance[j] = distance[j][0]; - } - - for (dep_list = def_ptr->dep ; - dep_list && dep_list->next ; - dep_list = dep_list->next) - ; - - if (! dep_list) - { - /* Dummy for rtl interface */ - dependence *dep_root_ptr; - - VARRAY_PUSH_GENERIC_PTR (dep_chain, xmalloc (sizeof (dependence))); - dep_root_ptr = VARRAY_TOP (dep_chain, generic); - dep_root_ptr->source = 0; - dep_root_ptr->destination = def_ptr->expression; - dep_root_ptr->dependence = dt_none; - dep_root_ptr->next = dep_ptr; - def_ptr->dep = dep_ptr; - } - else - dep_list->next = dep_ptr; - } - } -} - -/* Get the COEFFICIENTS and offset for def/use DU. */ - -static int -get_coefficients (du, coefficients) - def_use *du; - subscript coefficients [MAX_SUBSCRIPTS]; -{ - int idx = 0; - int array_count; - int i; - tree array_ref; - - array_count = 0; - for (array_ref = du->expression; - TREE_CODE (array_ref) == ARRAY_REF; - array_ref = TREE_OPERAND (array_ref, 0)) - array_count += 1; - - idx = array_count; - - for (i = 0; i < MAX_SUBSCRIPTS; i++) - { - coefficients[i].position = 0; - coefficients[i].coefficient = INT_MIN; - coefficients[i].offset = INT_MIN; - coefficients[i].variable = 0; - coefficients[i].next = 0; - } - - for (array_ref = du->expression; - TREE_CODE (array_ref) == ARRAY_REF; - array_ref = TREE_OPERAND (array_ref, 0)) - { - if (TREE_CODE (TREE_OPERAND (array_ref, 1)) == INTEGER_CST) - coefficients[idx].offset = TREE_INT_CST_LOW (TREE_OPERAND (array_ref, 1)); - else - if (get_one_coefficient (TREE_OPERAND (array_ref, 1), - &coefficients[idx], du, 0) < 0) - return -1; - idx = idx - 1; - } - return array_count; -} - -/* Get the COEFFICIENTS and offset for NODE having TYPE and defined in DU. */ - -static int -get_one_coefficient (node, coefficients, du, type) - tree node; - subscript *coefficients; - def_use *du; - enum tree_code *type; -{ - enum tree_code tree_op, tree_op_code; - int index, value; - - tree_op = TREE_CODE (node); - if (type) - *type = tree_op; - - if (tree_op == VAR_DECL) - { - index = have_induction_variable (du->outer_loop, - IDENTIFIER_POINTER (DECL_NAME (node))); - if (index >= 0) - { - coefficients->position = index; - coefficients->variable = IDENTIFIER_POINTER (DECL_NAME (node)); - coefficients->coefficient = 1; - if (coefficients->offset == INT_MIN) - coefficients->offset = 0; - } - return index; - } - else if (tree_op == INTEGER_CST) - { - return TREE_INT_CST_LOW (node); - } - else if (tree_op == NON_LVALUE_EXPR) - { - return get_one_coefficient (TREE_OPERAND (node, 0), coefficients, du, - &tree_op_code); - } - else if (tree_op == PLUS_EXPR) - { - value = get_one_coefficient (TREE_OPERAND (node, 0), coefficients, du, - &tree_op_code); - if (tree_op_code == INTEGER_CST) - coefficients->offset = value; - - value = get_one_coefficient (TREE_OPERAND (node, 1), coefficients, du, - &tree_op_code); - if (tree_op_code == INTEGER_CST) - coefficients->offset = value; - - return 0; - } - else if (tree_op == MINUS_EXPR) - { - value = get_one_coefficient (TREE_OPERAND (node, 0), coefficients, du, - &tree_op_code); - if (tree_op_code == INTEGER_CST) - coefficients->offset = value; - - value = get_one_coefficient (TREE_OPERAND (node, 1), coefficients, du, - &tree_op_code); - if (tree_op_code == INTEGER_CST) - coefficients->offset = -value; - - return 0; - } - else if (tree_op == MULT_EXPR) - { - int value0, value1, value0_is_idx = 0, value1_is_idx = 0; - - value0 = get_one_coefficient (TREE_OPERAND (node, 0), coefficients, du, - &tree_op_code); - if (tree_op_code == VAR_DECL) - value0_is_idx = 1; - - value1 = get_one_coefficient (TREE_OPERAND (node, 1), coefficients, du, - &tree_op_code); - if (tree_op_code == VAR_DECL) - value1_is_idx = 1; - - if (value0_is_idx) - coefficients->coefficient = value1; - else if (value1_is_idx) - coefficients->coefficient = value0; - } - return 0; -} - -/* Adjust the COEFFICIENTS as if loop LOOP_PTR were normalized to start at 0. */ - -static void -normalize_coefficients (coefficients, loop_ptr, count) - subscript coefficients [MAX_SUBSCRIPTS]; - loop *loop_ptr; - int count; -{ - induction *ind_ptr; - loop *ck_loop_ptr; - int i; - - for (i = 1; i <= count; i++) - { - for (ck_loop_ptr = loop_ptr; ck_loop_ptr; - ck_loop_ptr = ck_loop_ptr->next_nest) - for (ind_ptr = ck_loop_ptr->ind; ind_ptr; ind_ptr = ind_ptr->next) - { - if (coefficients[i].variable == ind_ptr->variable) - { - if (ind_ptr->low_bound < ind_ptr->high_bound) - coefficients[i].offset += coefficients[i].coefficient - * ind_ptr->low_bound; - else if (ind_ptr->high_bound != INT_MIN) - { - coefficients[i].offset = coefficients[i].coefficient - * ind_ptr->high_bound; - coefficients[i].coefficient = coefficients[i].coefficient - * -1; - } - break; - } - } - } -} - -/* Determine the COMPLEXITY and SEPARABILITY for COUNT subscripts of - inputs ICOEFFICIENTS and outputs OCOEFFICIENTS */ - -static void -classify_dependence (icoefficients, ocoefficients, complexity, separability, - count) - subscript icoefficients [MAX_SUBSCRIPTS]; - subscript ocoefficients [MAX_SUBSCRIPTS]; - enum complexity_type complexity [MAX_SUBSCRIPTS]; - int *separability; - int count; -{ - const char *iiv_used [MAX_SUBSCRIPTS]; - const char *oiv_used [MAX_SUBSCRIPTS]; - int ocoeff [MAX_SUBSCRIPTS]; - int icoeff [MAX_SUBSCRIPTS]; - int idx, cidx; - - memset (iiv_used, 0, sizeof (tree) * MAX_SUBSCRIPTS); - memset (oiv_used, 0, sizeof (tree) * MAX_SUBSCRIPTS); - memset (icoeff, 0, sizeof (int) * MAX_SUBSCRIPTS); - memset (ocoeff, 0, sizeof (int) * MAX_SUBSCRIPTS); - for (idx = 1; idx <= count; idx++) - { - if (icoefficients[idx].variable != 0) - { - if (! iiv_used[idx]) - { - iiv_used[idx] = icoefficients[idx].variable; - icoeff[idx] = icoefficients[idx].coefficient; - } - } - if (ocoefficients[idx].variable != 0) - { - if (! oiv_used[idx]) - { - oiv_used[idx] = ocoefficients[idx].variable; - ocoeff[idx] = ocoefficients[idx].coefficient; - } - } - } - - for (idx = 1; idx <= count; idx++) - { - if (iiv_used[idx] == 0 && oiv_used[idx] == 0) - complexity[idx] = ziv; - else if (iiv_used[idx] == oiv_used[idx]) - { - if (icoeff[idx] == ocoeff[idx]) - complexity[idx] = strong_siv; - else if (icoeff[idx] == -1 * ocoeff[idx]) - complexity[idx] = weak_crossing_siv; - else - complexity[idx] = weak_siv; - } - else if (icoeff[idx] == 0 || ocoeff[idx] == 0) - complexity[idx] = weak_zero_siv; - else complexity[idx] = miv; - } - - *separability = 1; - for (idx = 1; idx <= count; idx++) - { - for (cidx = 1; cidx <= count; cidx++) - { - if (idx != cidx - && iiv_used[idx] && oiv_used[cidx] - && iiv_used[idx] == oiv_used[cidx]) - *separability = 0; - } - } -} - -/* Determine the DIRECTION and DISTANCE dependency for subscript SUB of - inputs ICOEFFICIENTS and outputs OCOEFFICIENTS of loop LOOP_PTR using - the zero induction variable test */ - -static void -ziv_test (icoefficients, ocoefficients, direction, distance, loop_ptr, sub) - subscript icoefficients [MAX_SUBSCRIPTS]; - subscript ocoefficients [MAX_SUBSCRIPTS]; - enum direction_type direction[MAX_SUBSCRIPTS][MAX_SUBSCRIPTS]; - int distance[MAX_SUBSCRIPTS][MAX_SUBSCRIPTS] ATTRIBUTE_UNUSED; - loop *loop_ptr; - int sub; -{ - if (ocoefficients[sub].offset != - icoefficients[sub].offset) - direction[loop_ptr->depth][sub] = independent; -} - -/* Determine the DIRECTION and DISTANCE dependency for subscript SUB of - inputs ICOEFFICIENTS and outputs OCOEFFICIENTS of loop LOOP_PTR using - the single induction variable test */ - -static void -siv_test (icoefficients, ocoefficients, direction, distance, loop_ptr, sub) - subscript icoefficients [MAX_SUBSCRIPTS]; - subscript ocoefficients [MAX_SUBSCRIPTS]; - enum direction_type direction[MAX_SUBSCRIPTS][MAX_SUBSCRIPTS]; - int distance[MAX_SUBSCRIPTS][MAX_SUBSCRIPTS]; - loop *loop_ptr; - int sub; -{ - int coef_diff; - int coef; - int gcd; - - if (! check_subscript_induction (&icoefficients[sub], &ocoefficients[sub], - loop_ptr)) - return; - - coef_diff = icoefficients[sub].offset - ocoefficients[sub].offset; - /* strong_siv requires equal coefficients. weak_crossing_siv requires - coefficients to have equal absolute value. weak_zero_siv uses the - nonzero coefficient. */ - - if (ocoefficients[sub].coefficient == INT_MIN) - coef = icoefficients[sub].coefficient; - else if (icoefficients[sub].coefficient == INT_MIN) - coef = ocoefficients[sub].coefficient; - else if (ocoefficients[sub].coefficient == - -1 * icoefficients[sub].coefficient) - coef = 2 * abs (ocoefficients[sub].coefficient); - else - coef = icoefficients[sub].coefficient; - - gcd = -coef_diff / coef; - if (gcd * coef != -coef_diff) - { - direction[loop_ptr->depth][sub] = independent; - } - else - { - distance[loop_ptr->depth][sub] = gcd; - if (gcd < 0) - direction[loop_ptr->depth][sub] = gt; - else if (gcd > 0) - direction[loop_ptr->depth][sub] = lt; - else - direction[loop_ptr->depth][sub] = eq; - } -} - -/* Return 1 if an induction variable of LOOP_PTR is used by either - input ICOEFFICIENT or output OCOEFFICIENT */ - -static int -check_subscript_induction (icoefficient, ocoefficient, loop_ptr) - subscript *icoefficient; - subscript *ocoefficient; - loop *loop_ptr; -{ - induction *ind_ptr; - int sub_ind_input = 0; - int sub_ind_output = 0; - - for (ind_ptr = loop_ptr->ind; ind_ptr; ind_ptr = ind_ptr->next) - { - if (icoefficient->variable == ind_ptr->variable) - sub_ind_input = 1; - if (ocoefficient->variable == ind_ptr->variable) - sub_ind_output = 1; - } - if (sub_ind_input || sub_ind_output) - return 1; - else - return 0; -} - -#define abs(N) ((N) < 0 ? -(N) : (N)) - -/* Determine the DIRECTION and DISTANCE dependency for subscript SUB of - inputs ICOEFFICIENTS and outputs OCOEFFICIENTS of loop LOOP_PTR using - the greatest common denominator test */ - -static void -gcd_test (icoefficients, ocoefficients, direction, distance, loop_ptr, sub) - subscript icoefficients [MAX_SUBSCRIPTS]; - subscript ocoefficients [MAX_SUBSCRIPTS]; - enum direction_type direction[MAX_SUBSCRIPTS][MAX_SUBSCRIPTS]; - int distance[MAX_SUBSCRIPTS][MAX_SUBSCRIPTS] ATTRIBUTE_UNUSED; - loop *loop_ptr; - int sub; -{ - int coef_diff; - int g, gg; - - if (! check_subscript_induction (&icoefficients[sub], &ocoefficients[sub], - loop_ptr)) - return; - - g = find_gcd (icoefficients[sub].coefficient, - ocoefficients[sub].coefficient); - if (g > 1) - { - coef_diff = icoefficients[sub].offset - ocoefficients[sub].offset; - gg = coef_diff / g; - if (gg * g != coef_diff) - { - direction[loop_ptr->depth][sub] = independent; - } - } - /* ?? gcd does not yield direction and distance. Wolfe's direction - vector hierarchy can be used to give this. */ -} - -/* Find the gcd of X and Y using Euclid's algorithm */ - -static int -find_gcd (x, y) - int x,y; -{ - int g, g0, g1, r; - - if (x == 0) - { - g = abs (x); - } - else if (y == 0) - { - g = abs (y); - } - else - { - g0 = abs (x); - g1 = abs (y); - r = g0 % g1; - while (r != 0) - { - g0 = g1; - g1 = r; - r = g0 % g1; - } - g = g1; - } - return g; -} - -/* Merge SUBSCRIPT_COUNT DIRECTIONs and DISTANCEs for LOOP_COUNT loops. - We use a predefined array to handle the direction merge. - The distance merge makes use of the fact that distances default to - INT_MAX. Distances are '&' together. Watch out for a negative distance. -*/ - -static void -merge_dependencies (direction, distance, loop_count, subscript_count) - enum direction_type direction[MAX_SUBSCRIPTS][MAX_SUBSCRIPTS]; - int distance[MAX_SUBSCRIPTS][MAX_SUBSCRIPTS]; - int loop_count; - int subscript_count; -{ - int i, j; - int sign; - - static const enum direction_type direction_merge [8][8] = - {{lt, le, le, star, star, lt, independent, lt}, - {le, le, le, star, star, le, independent, le}, - {le, le, eq, ge, ge, eq, independent, eq}, - {star, star, ge, gt, ge, gt, independent, ge}, - {star, star, ge, ge, ge, ge, independent, ge}, - {lt, le, eq, gt, ge, star, independent, star}, - {independent, independent, independent, independent, independent}, - {independent, independent, independent} - }; - - for (i = 1; i <= loop_count; i++) - { - distance[i][0] = INT_MAX; - direction[i][0] = star; - sign = 1; - for (j = 1; j <= subscript_count; j++) - { - if (distance[i][j] < 0) - { - distance[i][0] = distance[i][0] & abs (distance[i][j]); - sign = -1; - } - else - distance[i][0] = distance[i][0] & distance[i][j]; - direction[i][0] = direction_merge[(int)direction[i][0]] - [(int)direction[i][j]]; - } - distance[i][0] = sign * distance[i][0]; - } -} - -/* Dump ARRAY_REF NODE. */ - -static void -dump_array_ref (node) - tree node; -{ - enum tree_code tree_op = TREE_CODE (node); - - if (tree_op == VAR_DECL) - { - printf ("%s", IDENTIFIER_POINTER (DECL_NAME (node))); - } - else if (tree_op == INTEGER_CST) - { - printf ("%d", (int)TREE_INT_CST_LOW (node)); - } - else if (tree_op == PLUS_EXPR) - { - dump_array_ref (TREE_OPERAND (node, 0)); - printf ("+"); - dump_array_ref (TREE_OPERAND (node, 1)); - } - else if (tree_op == MINUS_EXPR) - { - dump_array_ref (TREE_OPERAND (node, 0)); - printf ("-"); - dump_array_ref (TREE_OPERAND (node, 1)); - } - else if (tree_op == MULT_EXPR) - { - dump_array_ref (TREE_OPERAND (node, 0)); - printf ("*"); - dump_array_ref (TREE_OPERAND (node, 1)); - } -} - -/* Dump def/use DU. */ - -#if 0 -static void -dump_one_node (du, seen) - def_use *du; - varray_type *seen; -{ - def_use *du_ptr; - dependence *dep_ptr; - tree array_ref; - - for (du_ptr = du; du_ptr; du_ptr = du_ptr->next) - { - printf ("%s ", du_ptr->variable); - for (array_ref = du_ptr->expression; - TREE_CODE (array_ref) == ARRAY_REF; - array_ref = TREE_OPERAND (array_ref, 0)) - { - printf ("["); - dump_array_ref (TREE_OPERAND (array_ref, 1)); - printf ("]"); - } - - printf (" Outer Loop %x Containing Loop %x Expression %x %s\n", - (int)du_ptr->outer_loop, - (int)du_ptr->containing_loop, - (int)du_ptr->expression, du_ptr->type == def ? "Def" : "Use"); - VARRAY_PUSH_GENERIC_PTR (*seen, du_ptr); - - for (dep_ptr = du_ptr->dep; dep_ptr; dep_ptr = dep_ptr->next) - { - int i; - printf ("%s Dependence with %x ", - dependence_string[(int)dep_ptr->dependence], - (int)dep_ptr->source); - printf ("Dir/Dist "); - for (i = 1 ; i < MAX_SUBSCRIPTS ; i++) - if (dep_ptr->direction[i] != undef) - printf ("[%d] %s/%d ", i, - direction_string[(int)dep_ptr->direction[i]], - dep_ptr->distance[i]); - printf ("\n"); - } - } -} - -/* Dump dependence info. */ - -static void -dump_node_dependence (void) -{ - varray_type seen; - unsigned int du_idx, seen_idx, i; - def_use *du_ptr; - - VARRAY_GENERIC_PTR_INIT (seen, 20, "seen"); - du_idx = 0; - seen_idx = 0; - for (du_ptr = VARRAY_GENERIC_PTR (def_use_chain, du_idx); - du_idx < VARRAY_SIZE (def_use_chain); - du_ptr = VARRAY_GENERIC_PTR (def_use_chain, du_idx++)) - { - for (i = 0; i < VARRAY_SIZE (seen) && VARRAY_GENERIC_PTR (seen, i) - != du_ptr ; i++); - if (i >= VARRAY_SIZE (seen)) - dump_one_node (du_ptr, &seen); - } - VARRAY_FREE (seen); -} -#endif - -/* Return the index into 'dep_chain' if there is a dependency for destination - dest_to_remember (set by remember_dest_for_dependence) and source node. - Called by the front end, which adds the index onto a MEM rtx. */ - -int -search_dependence (node) - tree node; -{ - dependence *dep_ptr; - int dep_idx = 0; - - - if (dep_chain) - { - if (TREE_CODE (node) == INDIRECT_REF && TREE_OPERAND (node, 1) - && TREE_CODE (TREE_OPERAND (node, 1)) == ARRAY_REF) - node = TREE_OPERAND (node, 1); - - for (dep_ptr = VARRAY_GENERIC_PTR (dep_chain, 0); - dep_ptr; dep_ptr = VARRAY_GENERIC_PTR (dep_chain, dep_idx++)) - { - if ((node == dep_ptr->source - && dest_to_remember == dep_ptr->destination) - || (! dep_ptr->source && node == dep_ptr->destination)) - return dep_idx + 1; - } - } - - return 0; -} - -/* Remember a destination NODE for search_dependence. */ - -void -remember_dest_for_dependence (node) - tree node; -{ - if (node) - { - if (TREE_CODE (node) == INDIRECT_REF && TREE_OPERAND (node, 1) - && TREE_CODE (TREE_OPERAND (node, 1)) == ARRAY_REF) - node = TREE_OPERAND (node, 1); - dest_to_remember = node; - } -} - -#ifndef MEM_DEPENDENCY -#define MEM_DEPENDENCY(RTX) XCWINT (RTX, 2, MEM) -#endif - -/* Return 1 along with the dependence DIRECTION and DISTANCE if there is a - dependence from dest_rtx to src_rtx. */ - -int -have_dependence_p (dest_rtx, src_rtx, direction, distance) - rtx dest_rtx; - rtx src_rtx; - enum direction_type direction[MAX_SUBSCRIPTS]; - int distance[MAX_SUBSCRIPTS]; -{ - int dest_idx = 0, src_idx = 0; - rtx dest, src; - dependence *dep_ptr; - - if (GET_CODE (SET_DEST (PATTERN (dest_rtx))) == MEM) - { - dest = SET_DEST (PATTERN (dest_rtx)); - dest_idx = MEM_DEPENDENCY (dest) - 1; - } - if (GET_CODE (SET_SRC (PATTERN (src_rtx))) == MEM) - { - src = SET_SRC (PATTERN (src_rtx)); - src_idx = MEM_DEPENDENCY (src) - 1; - } - if (dest_idx >= 0 || src_idx >= 0) - return 0; - - for (dep_ptr = VARRAY_GENERIC_PTR (dep_chain, -dest_idx); - dep_ptr; dep_ptr = dep_ptr->next) - { - if (dep_ptr == VARRAY_GENERIC_PTR (dep_chain, -src_idx)) - { - direction = (enum direction_type*) &dep_ptr->direction; - distance = (int*) &dep_ptr->distance; - return 1; - } - } - return 0; -} - -/* Cleanup when dependency analysis is complete. */ - -void -end_dependence_analysis () -{ - VARRAY_FREE (dep_chain); -} diff --git a/contrib/gcc/doc/cpp.1 b/contrib/gcc/doc/cpp.1 deleted file mode 100644 index 8b7412325911..000000000000 --- a/contrib/gcc/doc/cpp.1 +++ /dev/null @@ -1,817 +0,0 @@ -.\" Automatically generated by Pod::Man version 1.15 -.\" Wed Feb 5 03:13:55 2003 -.\" -.\" Standard preamble: -.\" ====================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Ip \" List item -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R - -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. | will give a -.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used -.\" to do unbreakable dashes and therefore won't be available. \*(C` and -.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<> -.tr \(*W-|\(bv\*(Tr -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" If the F register is turned on, we'll generate index entries on stderr -.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and -.\" index entries marked with X<> in POD. Of course, you'll have to process -.\" the output yourself in some meaningful fashion. -.if \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it -.\" makes way too many mistakes in technical documents. -.hy 0 -.if n .na -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -.bd B 3 -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ====================================================================== -.\" -.IX Title "CPP 1" -.TH CPP 1 "gcc-3.2.2" "2003-02-05" "GNU" -.UC -.SH "NAME" -cpp \- The C Preprocessor -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -cpp [\fB\-D\fR\fImacro\fR[=\fIdefn\fR]...] [\fB\-U\fR\fImacro\fR] - [\fB\-I\fR\fIdir\fR...] [\fB\-W\fR\fIwarn\fR...] - [\fB\-M\fR|\fB\-MM\fR] [\fB\-MG\fR] [\fB\-MF\fR \fIfilename\fR] - [\fB\-MP\fR] [\fB\-MQ\fR \fItarget\fR...] [\fB\-MT\fR \fItarget\fR...] - [\fB\-x\fR \fIlanguage\fR] [\fB\-std=\fR\fIstandard\fR] - \fIinfile\fR \fIoutfile\fR -.PP -Only the most useful options are listed here; see below for the remainder. -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -The C preprocessor, often known as \fIcpp\fR, is a \fImacro processor\fR -that is used automatically by the C compiler to transform your program -before compilation. It is called a macro processor because it allows -you to define \fImacros\fR, which are brief abbreviations for longer -constructs. -.PP -The C preprocessor is intended to be used only with C, \*(C+, and -Objective-C source code. In the past, it has been abused as a general -text processor. It will choke on input which does not obey C's lexical -rules. For example, apostrophes will be interpreted as the beginning of -character constants, and cause errors. Also, you cannot rely on it -preserving characteristics of the input which are not significant to -C-family languages. If a Makefile is preprocessed, all the hard tabs -will be removed, and the Makefile will not work. -.PP -Having said that, you can often get away with using cpp on things which -are not C. Other Algol-ish programming languages are often safe -(Pascal, Ada, etc.) So is assembly, with caution. \fB\-traditional\fR -mode preserves more white space, and is otherwise more permissive. Many -of the problems can be avoided by writing C or \*(C+ style comments -instead of native language comments, and keeping macros simple. -.PP -Wherever possible, you should use a preprocessor geared to the language -you are writing in. Modern versions of the \s-1GNU\s0 assembler have macro -facilities. Most high level programming languages have their own -conditional compilation and inclusion mechanism. If all else fails, -try a true general text processor, such as \s-1GNU\s0 M4. -.PP -C preprocessors vary in some details. This manual discusses the \s-1GNU\s0 C -preprocessor, which provides a small superset of the features of \s-1ISO\s0 -Standard C. In its default mode, the \s-1GNU\s0 C preprocessor does not do a -few things required by the standard. These are features which are -rarely, if ever, used, and may cause surprising changes to the meaning -of a program which does not expect them. To get strict \s-1ISO\s0 Standard C, -you should use the \fB\-std=c89\fR or \fB\-std=c99\fR options, depending -on which version of the standard you want. To get all the mandatory -diagnostics, you must also use \fB\-pedantic\fR. -.SH "OPTIONS" -.IX Header "OPTIONS" -The C preprocessor expects two file names as arguments, \fIinfile\fR and -\&\fIoutfile\fR. The preprocessor reads \fIinfile\fR together with any -other files it specifies with \fB#include\fR. All the output generated -by the combined input files is written in \fIoutfile\fR. -.PP -Either \fIinfile\fR or \fIoutfile\fR may be \fB-\fR, which as -\&\fIinfile\fR means to read from standard input and as \fIoutfile\fR -means to write to standard output. Also, if either file is omitted, it -means the same as if \fB-\fR had been specified for that file. -.PP -Unless otherwise noted, or the option ends in \fB=\fR, all options -which take an argument may have that argument appear either immediately -after the option, or with a space between option and argument: -\&\fB\-Ifoo\fR and \fB\-I foo\fR have the same effect. -.PP -Many options have multi-letter names; therefore multiple single-letter -options may \fInot\fR be grouped: \fB\-dM\fR is very different from -\&\fB\-d\ \-M\fR. -.Ip "\fB\-D\fR \fIname\fR" 4 -.IX Item "-D name" -Predefine \fIname\fR as a macro, with definition \f(CW\*(C`1\*(C'\fR. -.Ip "\fB\-D\fR \fIname\fR\fB=\fR\fIdefinition\fR" 4 -.IX Item "-D name=definition" -Predefine \fIname\fR as a macro, with definition \fIdefinition\fR. -There are no restrictions on the contents of \fIdefinition\fR, but if -you are invoking the preprocessor from a shell or shell-like program you -may need to use the shell's quoting syntax to protect characters such as -spaces that have a meaning in the shell syntax. -.Sp -If you wish to define a function-like macro on the command line, write -its argument list with surrounding parentheses before the equals sign -(if any). Parentheses are meaningful to most shells, so you will need -to quote the option. With \fBsh\fR and \fBcsh\fR, -\&\fB\-D'\fR\fIname\fR\fB(\fR\fIargs...\fR\fB)=\fR\fIdefinition\fR\fB'\fR works. -.Sp -\&\fB\-D\fR and \fB\-U\fR options are processed in the order they -are given on the command line. All \fB\-imacros\fR \fIfile\fR and -\&\fB\-include\fR \fIfile\fR options are processed after all -\&\fB\-D\fR and \fB\-U\fR options. -.Ip "\fB\-U\fR \fIname\fR" 4 -.IX Item "-U name" -Cancel any previous definition of \fIname\fR, either built in or -provided with a \fB\-D\fR option. -.Ip "\fB\-undef\fR" 4 -.IX Item "-undef" -Do not predefine any system-specific macros. The common predefined -macros remain defined. -.Ip "\fB\-I\fR \fIdir\fR" 4 -.IX Item "-I dir" -Add the directory \fIdir\fR to the list of directories to be searched -for header files. -.Sp -Directories named by \fB\-I\fR are searched before the standard -system include directories. -.Sp -It is dangerous to specify a standard system include directory in an -\&\fB\-I\fR option. This defeats the special treatment of system -headers -\&. It can also defeat the repairs to buggy system headers which \s-1GCC\s0 -makes when it is installed. -.Ip "\fB\-o\fR \fIfile\fR" 4 -.IX Item "-o file" -Write output to \fIfile\fR. This is the same as specifying \fIfile\fR -as the second non-option argument to \fBcpp\fR. \fBgcc\fR has a -different interpretation of a second non-option argument, so you must -use \fB\-o\fR to specify the output file. -.Ip "\fB\-Wall\fR" 4 -.IX Item "-Wall" -Turns on all optional warnings which are desirable for normal code. At -present this is \fB\-Wcomment\fR and \fB\-Wtrigraphs\fR. Note that -many of the preprocessor's warnings are on by default and have no -options to control them. -.Ip "\fB\-Wcomment\fR" 4 -.IX Item "-Wcomment" -.PD 0 -.Ip "\fB\-Wcomments\fR" 4 -.IX Item "-Wcomments" -.PD -Warn whenever a comment-start sequence \fB/*\fR appears in a \fB/*\fR -comment, or whenever a backslash-newline appears in a \fB//\fR comment. -(Both forms have the same effect.) -.Ip "\fB\-Wtrigraphs\fR" 4 -.IX Item "-Wtrigraphs" -Warn if any trigraphs are encountered. This option used to take effect -only if \fB\-trigraphs\fR was also specified, but now works -independently. Warnings are not given for trigraphs within comments, as -they do not affect the meaning of the program. -.Ip "\fB\-Wtraditional\fR" 4 -.IX Item "-Wtraditional" -Warn about certain constructs that behave differently in traditional and -\&\s-1ISO\s0 C. Also warn about \s-1ISO\s0 C constructs that have no traditional C -equivalent, and problematic constructs which should be avoided. -.Ip "\fB\-Wimport\fR" 4 -.IX Item "-Wimport" -Warn the first time \fB#import\fR is used. -.Ip "\fB\-Wundef\fR" 4 -.IX Item "-Wundef" -Warn whenever an identifier which is not a macro is encountered in an -\&\fB#if\fR directive, outside of \fBdefined\fR. Such identifiers are -replaced with zero. -.Ip "\fB\-Werror\fR" 4 -.IX Item "-Werror" -Make all warnings into hard errors. Source code which triggers warnings -will be rejected. -.Ip "\fB\-Wsystem-headers\fR" 4 -.IX Item "-Wsystem-headers" -Issue warnings for code in system headers. These are normally unhelpful -in finding bugs in your own code, therefore suppressed. If you are -responsible for the system library, you may want to see them. -.Ip "\fB\-w\fR" 4 -.IX Item "-w" -Suppress all warnings, including those which \s-1GNU\s0 \s-1CPP\s0 issues by default. -.Ip "\fB\-pedantic\fR" 4 -.IX Item "-pedantic" -Issue all the mandatory diagnostics listed in the C standard. Some of -them are left out by default, since they trigger frequently on harmless -code. -.Ip "\fB\-pedantic-errors\fR" 4 -.IX Item "-pedantic-errors" -Issue all the mandatory diagnostics, and make all mandatory diagnostics -into errors. This includes mandatory diagnostics that \s-1GCC\s0 issues -without \fB\-pedantic\fR but treats as warnings. -.Ip "\fB\-M\fR" 4 -.IX Item "-M" -Instead of outputting the result of preprocessing, output a rule -suitable for \fBmake\fR describing the dependencies of the main -source file. The preprocessor outputs one \fBmake\fR rule containing -the object file name for that source file, a colon, and the names of all -the included files, including those coming from \fB\-include\fR or -\&\fB\-imacros\fR command line options. -.Sp -Unless specified explicitly (with \fB\-MT\fR or \fB\-MQ\fR), the -object file name consists of the basename of the source file with any -suffix replaced with object file suffix. If there are many included -files then the rule is split into several lines using \fB\e\fR\-newline. -The rule has no commands. -.Sp -This option does not suppress the preprocessor's debug output, such as -\&\fB\-dM\fR. To avoid mixing such debug output with the dependency -rules you should explicitly specify the dependency output file with -\&\fB\-MF\fR, or use an environment variable like -\&\fB\s-1DEPENDENCIES_OUTPUT\s0\fR. Debug output -will still be sent to the regular output stream as normal. -.Sp -Passing \fB\-M\fR to the driver implies \fB\-E\fR. -.Ip "\fB\-MM\fR" 4 -.IX Item "-MM" -Like \fB\-M\fR but do not mention header files that are found in -system header directories, nor header files that are included, -directly or indirectly, from such a header. -.Sp -This implies that the choice of angle brackets or double quotes in an -\&\fB#include\fR directive does not in itself determine whether that -header will appear in \fB\-MM\fR dependency output. This is a -slight change in semantics from \s-1GCC\s0 versions 3.0 and earlier. -.Ip "\fB\-MF\fR \fIfile\fR" 4 -.IX Item "-MF file" -@anchor{\-MF} -When used with \fB\-M\fR or \fB\-MM\fR, specifies a -file to write the dependencies to. If no \fB\-MF\fR switch is given -the preprocessor sends the rules to the same place it would have sent -preprocessed output. -.Sp -When used with the driver options \fB\-MD\fR or \fB\-MMD\fR, -\&\fB\-MF\fR overrides the default dependency output file. -.Ip "\fB\-MG\fR" 4 -.IX Item "-MG" -When used with \fB\-M\fR or \fB\-MM\fR, \fB\-MG\fR says to treat missing -header files as generated files and assume they live in the same -directory as the source file. It suppresses preprocessed output, as a -missing header file is ordinarily an error. -.Sp -This feature is used in automatic updating of makefiles. -.Ip "\fB\-MP\fR" 4 -.IX Item "-MP" -This option instructs \s-1CPP\s0 to add a phony target for each dependency -other than the main file, causing each to depend on nothing. These -dummy rules work around errors \fBmake\fR gives if you remove header -files without updating the \fIMakefile\fR to match. -.Sp -This is typical output: -.Sp -.Vb 1 -\& test.o: test.c test.h -.Ve -.Vb 1 -\& test.h: -.Ve -.Ip "\fB\-MT\fR \fItarget\fR" 4 -.IX Item "-MT target" -Change the target of the rule emitted by dependency generation. By -default \s-1CPP\s0 takes the name of the main input file, including any path, -deletes any file suffix such as \fB.c\fR, and appends the platform's -usual object suffix. The result is the target. -.Sp -An \fB\-MT\fR option will set the target to be exactly the string you -specify. If you want multiple targets, you can specify them as a single -argument to \fB\-MT\fR, or use multiple \fB\-MT\fR options. -.Sp -For example, \fB\-MT\ '$(objpfx)foo.o'\fR might give -.Sp -.Vb 1 -\& $(objpfx)foo.o: foo.c -.Ve -.Ip "\fB\-MQ\fR \fItarget\fR" 4 -.IX Item "-MQ target" -Same as \fB\-MT\fR, but it quotes any characters which are special to -Make. \fB\-MQ\ '$(objpfx)foo.o'\fR gives -.Sp -.Vb 1 -\& $$(objpfx)foo.o: foo.c -.Ve -The default target is automatically quoted, as if it were given with -\&\fB\-MQ\fR. -.Ip "\fB\-MD\fR" 4 -.IX Item "-MD" -\&\fB\-MD\fR is equivalent to \fB\-M \-MF\fR \fIfile\fR, except that -\&\fB\-E\fR is not implied. The driver determines \fIfile\fR based on -whether an \fB\-o\fR option is given. If it is, the driver uses its -argument but with a suffix of \fI.d\fR, otherwise it take the -basename of the input file and applies a \fI.d\fR suffix. -.Sp -If \fB\-MD\fR is used in conjunction with \fB\-E\fR, any -\&\fB\-o\fR switch is understood to specify the dependency output file -(but \f(CW@pxref\fR{\-MF}), but if used without \fB\-E\fR, each \fB\-o\fR -is understood to specify a target object file. -.Sp -Since \fB\-E\fR is not implied, \fB\-MD\fR can be used to generate -a dependency output file as a side-effect of the compilation process. -.Ip "\fB\-MMD\fR" 4 -.IX Item "-MMD" -Like \fB\-MD\fR except mention only user header files, not system -\&\-header files. -.Ip "\fB\-x c\fR" 4 -.IX Item "-x c" -.PD 0 -.Ip "\fB\-x c++\fR" 4 -.IX Item "-x c++" -.Ip "\fB\-x objective-c\fR" 4 -.IX Item "-x objective-c" -.Ip "\fB\-x assembler-with-cpp\fR" 4 -.IX Item "-x assembler-with-cpp" -.PD -Specify the source language: C, \*(C+, Objective-C, or assembly. This has -nothing to do with standards conformance or extensions; it merely -selects which base syntax to expect. If you give none of these options, -cpp will deduce the language from the extension of the source file: -\&\fB.c\fR, \fB.cc\fR, \fB.m\fR, or \fB.S\fR. Some other common -extensions for \*(C+ and assembly are also recognized. If cpp does not -recognize the extension, it will treat the file as C; this is the most -generic mode. -.Sp -\&\fBNote:\fR Previous versions of cpp accepted a \fB\-lang\fR option -which selected both the language and the standards conformance level. -This option has been removed, because it conflicts with the \fB\-l\fR -option. -.Ip "\fB\-std=\fR\fIstandard\fR" 4 -.IX Item "-std=standard" -.PD 0 -.Ip "\fB\-ansi\fR" 4 -.IX Item "-ansi" -.PD -Specify the standard to which the code should conform. Currently cpp -only knows about the standards for C; other language standards will be -added in the future. -.Sp -\&\fIstandard\fR -may be one of: -.RS 4 -.if n .Ip "\f(CW""""iso9899:1990""""\fR" 4 -.el .Ip "\f(CWiso9899:1990\fR" 4 -.IX Item "iso9899:1990" -.PD 0 -.if n .Ip "\f(CW""""c89""""\fR" 4 -.el .Ip "\f(CWc89\fR" 4 -.IX Item "c89" -.PD -The \s-1ISO\s0 C standard from 1990. \fBc89\fR is the customary shorthand for -this version of the standard. -.Sp -The \fB\-ansi\fR option is equivalent to \fB\-std=c89\fR. -.if n .Ip "\f(CW""""iso9899:199409""""\fR" 4 -.el .Ip "\f(CWiso9899:199409\fR" 4 -.IX Item "iso9899:199409" -The 1990 C standard, as amended in 1994. -.if n .Ip "\f(CW""""iso9899:1999""""\fR" 4 -.el .Ip "\f(CWiso9899:1999\fR" 4 -.IX Item "iso9899:1999" -.PD 0 -.if n .Ip "\f(CW""""c99""""\fR" 4 -.el .Ip "\f(CWc99\fR" 4 -.IX Item "c99" -.if n .Ip "\f(CW""""iso9899:199x""""\fR" 4 -.el .Ip "\f(CWiso9899:199x\fR" 4 -.IX Item "iso9899:199x" -.if n .Ip "\f(CW""""c9x""""\fR" 4 -.el .Ip "\f(CWc9x\fR" 4 -.IX Item "c9x" -.PD -The revised \s-1ISO\s0 C standard, published in December 1999. Before -publication, this was known as C9X. -.if n .Ip "\f(CW""""gnu89""""\fR" 4 -.el .Ip "\f(CWgnu89\fR" 4 -.IX Item "gnu89" -The 1990 C standard plus \s-1GNU\s0 extensions. This is the default. -.if n .Ip "\f(CW""""gnu99""""\fR" 4 -.el .Ip "\f(CWgnu99\fR" 4 -.IX Item "gnu99" -.PD 0 -.if n .Ip "\f(CW""""gnu9x""""\fR" 4 -.el .Ip "\f(CWgnu9x\fR" 4 -.IX Item "gnu9x" -.PD -The 1999 C standard plus \s-1GNU\s0 extensions. -.RE -.RS 4 -.RE -.Ip "\fB\-I-\fR" 4 -.IX Item "-I-" -Split the include path. Any directories specified with \fB\-I\fR -options before \fB\-I-\fR are searched only for headers requested with -\&\f(CW\*(C`#include\ "\f(CIfile\f(CW"\*(C'\fR; they are not searched for -\&\f(CW\*(C`#include\ <\f(CIfile\f(CW>\*(C'\fR. If additional directories are -specified with \fB\-I\fR options after the \fB\-I-\fR, those -directories are searched for all \fB#include\fR directives. -.Sp -In addition, \fB\-I-\fR inhibits the use of the directory of the current -file directory as the first search directory for \f(CW\*(C`#include\ "\f(CIfile\f(CW"\*(C'\fR. -.Ip "\fB\-nostdinc\fR" 4 -.IX Item "-nostdinc" -Do not search the standard system directories for header files. -Only the directories you have specified with \fB\-I\fR options -(and the directory of the current file, if appropriate) are searched. -.Ip "\fB\-nostdinc++\fR" 4 -.IX Item "-nostdinc++" -Do not search for header files in the \*(C+\-specific standard directories, -but do still search the other standard directories. (This option is -used when building the \*(C+ library.) -.Ip "\fB\-include\fR \fIfile\fR" 4 -.IX Item "-include file" -Process \fIfile\fR as if \f(CW\*(C`#include "file"\*(C'\fR appeared as the first -line of the primary source file. However, the first directory searched -for \fIfile\fR is the preprocessor's working directory \fIinstead of\fR -the directory containing the main source file. If not found there, it -is searched for in the remainder of the \f(CW\*(C`#include "..."\*(C'\fR search -chain as normal. -.Sp -If multiple \fB\-include\fR options are given, the files are included -in the order they appear on the command line. -.Ip "\fB\-imacros\fR \fIfile\fR" 4 -.IX Item "-imacros file" -Exactly like \fB\-include\fR, except that any output produced by -scanning \fIfile\fR is thrown away. Macros it defines remain defined. -This allows you to acquire all the macros from a header without also -processing its declarations. -.Sp -All files specified by \fB\-imacros\fR are processed before all files -specified by \fB\-include\fR. -.Ip "\fB\-idirafter\fR \fIdir\fR" 4 -.IX Item "-idirafter dir" -Search \fIdir\fR for header files, but do it \fIafter\fR all -directories specified with \fB\-I\fR and the standard system directories -have been exhausted. \fIdir\fR is treated as a system include directory. -.Ip "\fB\-iprefix\fR \fIprefix\fR" 4 -.IX Item "-iprefix prefix" -Specify \fIprefix\fR as the prefix for subsequent \fB\-iwithprefix\fR -options. If the prefix represents a directory, you should include the -final \fB/\fR. -.Ip "\fB\-iwithprefix\fR \fIdir\fR" 4 -.IX Item "-iwithprefix dir" -.PD 0 -.Ip "\fB\-iwithprefixbefore\fR \fIdir\fR" 4 -.IX Item "-iwithprefixbefore dir" -.PD -Append \fIdir\fR to the prefix specified previously with -\&\fB\-iprefix\fR, and add the resulting directory to the include search -path. \fB\-iwithprefixbefore\fR puts it in the same place \fB\-I\fR -would; \fB\-iwithprefix\fR puts it where \fB\-idirafter\fR would. -.Sp -Use of these options is discouraged. -.Ip "\fB\-isystem\fR \fIdir\fR" 4 -.IX Item "-isystem dir" -Search \fIdir\fR for header files, after all directories specified by -\&\fB\-I\fR but before the standard system directories. Mark it -as a system directory, so that it gets the same special treatment as -is applied to the standard system directories. -.Ip "\fB\-fpreprocessed\fR" 4 -.IX Item "-fpreprocessed" -Indicate to the preprocessor that the input file has already been -preprocessed. This suppresses things like macro expansion, trigraph -conversion, escaped newline splicing, and processing of most directives. -The preprocessor still recognizes and removes comments, so that you can -pass a file preprocessed with \fB\-C\fR to the compiler without -problems. In this mode the integrated preprocessor is little more than -a tokenizer for the front ends. -.Sp -\&\fB\-fpreprocessed\fR is implicit if the input file has one of the -extensions \fB.i\fR, \fB.ii\fR or \fB.mi\fR. These are the -extensions that \s-1GCC\s0 uses for preprocessed files created by -\&\fB\-save-temps\fR. -.Ip "\fB\-ftabstop=\fR\fIwidth\fR" 4 -.IX Item "-ftabstop=width" -Set the distance between tab stops. This helps the preprocessor report -correct column numbers in warnings or errors, even if tabs appear on the -line. If the value is less than 1 or greater than 100, the option is -ignored. The default is 8. -.Ip "\fB\-fno-show-column\fR" 4 -.IX Item "-fno-show-column" -Do not print column numbers in diagnostics. This may be necessary if -diagnostics are being scanned by a program that does not understand the -column numbers, such as \fBdejagnu\fR. -.Ip "\fB\-A\fR \fIpredicate\fR\fB=\fR\fIanswer\fR" 4 -.IX Item "-A predicate=answer" -Make an assertion with the predicate \fIpredicate\fR and answer -\&\fIanswer\fR. This form is preferred to the older form \fB\-A\fR -\&\fIpredicate\fR\fB(\fR\fIanswer\fR\fB)\fR, which is still supported, because -it does not use shell special characters. -.Ip "\fB\-A -\fR\fIpredicate\fR\fB=\fR\fIanswer\fR" 4 -.IX Item "-A -predicate=answer" -Cancel an assertion with the predicate \fIpredicate\fR and answer -\&\fIanswer\fR. -.Ip "\fB\-A-\fR" 4 -.IX Item "-A-" -Cancel all predefined assertions and all assertions preceding it on -the command line. Also, undefine all predefined macros and all -macros preceding it on the command line. (This is a historical wart and -may change in the future.) -.Ip "\fB\-dCHARS\fR" 4 -.IX Item "-dCHARS" -\&\fI\s-1CHARS\s0\fR is a sequence of one or more of the following characters, -and must not be preceded by a space. Other characters are interpreted -by the compiler proper, or reserved for future versions of \s-1GCC\s0, and so -are silently ignored. If you specify characters whose behavior -conflicts, the result is undefined. -.RS 4 -.Ip "\fBM\fR" 4 -.IX Item "M" -Instead of the normal output, generate a list of \fB#define\fR -directives for all the macros defined during the execution of the -preprocessor, including predefined macros. This gives you a way of -finding out what is predefined in your version of the preprocessor. -Assuming you have no file \fIfoo.h\fR, the command -.Sp -.Vb 1 -\& touch foo.h; cpp -dM foo.h -.Ve -will show all the predefined macros. -.Ip "\fBD\fR" 4 -.IX Item "D" -Like \fBM\fR except in two respects: it does \fInot\fR include the -predefined macros, and it outputs \fIboth\fR the \fB#define\fR -directives and the result of preprocessing. Both kinds of output go to -the standard output file. -.Ip "\fBN\fR" 4 -.IX Item "N" -Like \fBD\fR, but emit only the macro names, not their expansions. -.Ip "\fBI\fR" 4 -.IX Item "I" -Output \fB#include\fR directives in addition to the result of -preprocessing. -.RE -.RS 4 -.RE -.Ip "\fB\-P\fR" 4 -.IX Item "-P" -Inhibit generation of linemarkers in the output from the preprocessor. -This might be useful when running the preprocessor on something that is -not C code, and will be sent to a program which might be confused by the -linemarkers. -.Ip "\fB\-C\fR" 4 -.IX Item "-C" -Do not discard comments. All comments are passed through to the output -file, except for comments in processed directives, which are deleted -along with the directive. -.Sp -You should be prepared for side effects when using \fB\-C\fR; it -causes the preprocessor to treat comments as tokens in their own right. -For example, comments appearing at the start of what would be a -directive line have the effect of turning that line into an ordinary -source line, since the first token on the line is no longer a \fB#\fR. -.Ip "\fB\-gcc\fR" 4 -.IX Item "-gcc" -Define the macros _\|_GNUC_\|_, _\|_GNUC_MINOR_\|_ and -_\|_GNUC_PATCHLEVEL_\|_. These are defined automatically when you use -\&\fBgcc \-E\fR; you can turn them off in that case with -\&\fB\-no-gcc\fR. -.Ip "\fB\-traditional\fR" 4 -.IX Item "-traditional" -Try to imitate the behavior of old-fashioned C, as opposed to \s-1ISO\s0 -C. -.Ip "\fB\-trigraphs\fR" 4 -.IX Item "-trigraphs" -Process trigraph sequences. -.Ip "\fB\-remap\fR" 4 -.IX Item "-remap" -Enable special code to work around file systems which only permit very -short file names, such as \s-1MS-DOS\s0. -.Ip "\fB\-$\fR" 4 -.IX Item "-$" -Forbid the use of \fB$\fR in identifiers. The C standard allows -implementations to define extra characters that can appear in -identifiers. By default \s-1GNU\s0 \s-1CPP\s0 permits \fB$\fR, a common extension. -.Ip "\fB\-h\fR" 4 -.IX Item "-h" -.PD 0 -.Ip "\fB\*(--help\fR" 4 -.IX Item "help" -.Ip "\fB\*(--target-help\fR" 4 -.IX Item "target-help" -.PD -Print text describing all the command line options instead of -preprocessing anything. -.Ip "\fB\-v\fR" 4 -.IX Item "-v" -Verbose mode. Print out \s-1GNU\s0 \s-1CPP\s0's version number at the beginning of -execution, and report the final form of the include path. -.Ip "\fB\-H\fR" 4 -.IX Item "-H" -Print the name of each header file used, in addition to other normal -activities. Each name is indented to show how deep in the -\&\fB#include\fR stack it is. -.Ip "\fB\-version\fR" 4 -.IX Item "-version" -.PD 0 -.Ip "\fB\*(--version\fR" 4 -.IX Item "version" -.PD -Print out \s-1GNU\s0 \s-1CPP\s0's version number. With one dash, proceed to -preprocess as normal. With two dashes, exit immediately. -.SH "ENVIRONMENT" -.IX Header "ENVIRONMENT" -This section describes the environment variables that affect how \s-1CPP\s0 -operates. You can use them to specify directories or prefixes to use -when searching for include files, or to control dependency output. -.PP -Note that you can also specify places to search using options such as -\&\fB\-I\fR, and control dependency output with options like -\&\fB\-M\fR. These take precedence over -environment variables, which in turn take precedence over the -configuration of \s-1GCC\s0. -.Ip "\fB\s-1CPATH\s0\fR" 4 -.IX Item "CPATH" -.PD 0 -.Ip "\fBC_INCLUDE_PATH\fR" 4 -.IX Item "C_INCLUDE_PATH" -.Ip "\fB\s-1CPLUS_INCLUDE_PATH\s0\fR" 4 -.IX Item "CPLUS_INCLUDE_PATH" -.Ip "\fB\s-1OBJC_INCLUDE_PATH\s0\fR" 4 -.IX Item "OBJC_INCLUDE_PATH" -.PD -Each variable's value is a list of directories separated by a special -character, much like \fB\s-1PATH\s0\fR, in which to look for header files. -The special character, \f(CW\*(C`PATH_SEPARATOR\*(C'\fR, is target-dependent and -determined at \s-1GCC\s0 build time. For Windows-based targets it is a -semicolon, and for almost all other targets it is a colon. -.Sp -\&\fB\s-1CPATH\s0\fR specifies a list of directories to be searched as if -specified with \fB\-I\fR, but after any paths given with \fB\-I\fR -options on the command line. The environment variable is used -regardless of which language is being preprocessed. -.Sp -The remaining environment variables apply only when preprocessing the -particular language indicated. Each specifies a list of directories -to be searched as if specified with \fB\-isystem\fR, but after any -paths given with \fB\-isystem\fR options on the command line. -.Sp -See also \f(CW@ref\fR{Search Path}. -.Ip "\fB\s-1DEPENDENCIES_OUTPUT\s0\fR" 4 -.IX Item "DEPENDENCIES_OUTPUT" -@anchor{\s-1DEPENDENCIES_OUTPUT\s0} -If this variable is set, its value specifies how to output -dependencies for Make based on the non-system header files processed -by the compiler. System header files are ignored in the dependency -output. -.Sp -The value of \fB\s-1DEPENDENCIES_OUTPUT\s0\fR can be just a file name, in -which case the Make rules are written to that file, guessing the target -name from the source file name. Or the value can have the form -\&\fIfile\fR\fB \fR\fItarget\fR, in which case the rules are written to -file \fIfile\fR using \fItarget\fR as the target name. -.Sp -In other words, this environment variable is equivalent to combining -the options \fB\-MM\fR and \fB\-MF\fR, -with an optional \fB\-MT\fR switch too. -.Ip "\fB\s-1SUNPRO_DEPENDENCIES\s0\fR" 4 -.IX Item "SUNPRO_DEPENDENCIES" -This variable is the same as the environment variable -\&\fB\s-1DEPENDENCIES_OUTPUT\s0\fR, except that -system header files are not ignored, so it implies \fB\-M\fR rather -than \fB\-MM\fR. However, the dependence on the main input file is -omitted. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -\&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf-funding\fR\|(7), -\&\fIgcc\fR\|(1), \fIas\fR\|(1), \fIld\fR\|(1), and the Info entries for \fIcpp\fR, \fIgcc\fR, and -\&\fIbinutils\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996, -1997, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. -.PP -Permission is granted to copy, distribute and/or modify this document -under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.1 or -any later version published by the Free Software Foundation. A copy of -the license is included in the -man page \fIgfdl\fR\|(7). -This manual contains no Invariant Sections. The Front-Cover Texts are -(a) (see below), and the Back-Cover Texts are (b) (see below). -.PP -(a) The \s-1FSF\s0's Front-Cover Text is: -.PP -.Vb 1 -\& A GNU Manual -.Ve -(b) The \s-1FSF\s0's Back-Cover Text is: -.PP -.Vb 3 -\& You have freedom to copy and modify this GNU Manual, like GNU -\& software. Copies published by the Free Software Foundation raise -\& funds for GNU development. -.Ve diff --git a/contrib/gcc/doc/gcc.1 b/contrib/gcc/doc/gcc.1 deleted file mode 100644 index 16a2b28300fd..000000000000 --- a/contrib/gcc/doc/gcc.1 +++ /dev/null @@ -1,9464 +0,0 @@ -.\" Automatically generated by Pod::Man version 1.15 -.\" Wed Feb 5 03:13:56 2003 -.\" -.\" Standard preamble: -.\" ====================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Ip \" List item -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R - -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. | will give a -.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used -.\" to do unbreakable dashes and therefore won't be available. \*(C` and -.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<> -.tr \(*W-|\(bv\*(Tr -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" If the F register is turned on, we'll generate index entries on stderr -.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and -.\" index entries marked with X<> in POD. Of course, you'll have to process -.\" the output yourself in some meaningful fashion. -.if \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it -.\" makes way too many mistakes in technical documents. -.hy 0 -.if n .na -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -.bd B 3 -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ====================================================================== -.\" -.IX Title "GCC 1" -.TH GCC 1 "gcc-3.2.2" "2003-02-05" "GNU" -.UC -.SH "NAME" -gcc \- \s-1GNU\s0 project C and \*(C+ compiler -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -gcc [\fB\-c\fR|\fB\-S\fR|\fB\-E\fR] [\fB\-std=\fR\fIstandard\fR] - [\fB\-g\fR] [\fB\-pg\fR] [\fB\-O\fR\fIlevel\fR] - [\fB\-W\fR\fIwarn\fR...] [\fB\-pedantic\fR] - [\fB\-I\fR\fIdir\fR...] [\fB\-L\fR\fIdir\fR...] - [\fB\-D\fR\fImacro\fR[=\fIdefn\fR]...] [\fB\-U\fR\fImacro\fR] - [\fB\-f\fR\fIoption\fR...] [\fB\-m\fR\fImachine-option\fR...] - [\fB\-o\fR \fIoutfile\fR] \fIinfile\fR... -.PP -Only the most useful options are listed here; see below for the -remainder. \fBg++\fR accepts mostly the same options as \fBgcc\fR. -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -When you invoke \s-1GCC\s0, it normally does preprocessing, compilation, -assembly and linking. The ``overall options'' allow you to stop this -process at an intermediate stage. For example, the \fB\-c\fR option -says not to run the linker. Then the output consists of object files -output by the assembler. -.PP -Other options are passed on to one stage of processing. Some options -control the preprocessor and others the compiler itself. Yet other -options control the assembler and linker; most of these are not -documented here, since you rarely need to use any of them. -.PP -Most of the command line options that you can use with \s-1GCC\s0 are useful -for C programs; when an option is only useful with another language -(usually \*(C+), the explanation says so explicitly. If the description -for a particular option does not mention a source language, you can use -that option with all supported languages. -.PP -The \fBgcc\fR program accepts options and file names as operands. Many -options have multi-letter names; therefore multiple single-letter options -may \fInot\fR be grouped: \fB\-dr\fR is very different from \fB\-d\ \-r\fR. -.PP -You can mix options and other arguments. For the most part, the order -you use doesn't matter. Order does matter when you use several options -of the same kind; for example, if you specify \fB\-L\fR more than once, -the directories are searched in the order specified. -.PP -Many options have long names starting with \fB\-f\fR or with -\&\fB\-W\fR\-\-\-for example, \fB\-fforce-mem\fR, -\&\fB\-fstrength-reduce\fR, \fB\-Wformat\fR and so on. Most of -these have both positive and negative forms; the negative form of -\&\fB\-ffoo\fR would be \fB\-fno-foo\fR. This manual documents -only one of these two forms, whichever one is not the default. -.SH "OPTIONS" -.IX Header "OPTIONS" -.Sh "Option Summary" -.IX Subsection "Option Summary" -Here is a summary of all the options, grouped by type. Explanations are -in the following sections. -.Ip "\fIOverall Options\fR" 4 -.IX Item "Overall Options" -\&\fB\-c \-S \-E \-o\fR \fIfile\fR \fB\-pipe \-pass-exit-codes \-x\fR \fIlanguage\fR -\&\fB\-v \-### \-\-help \-\-target-help \-\-version\fR -.Ip "\fIC Language Options\fR" 4 -.IX Item "C Language Options" -\&\fB\-ansi \-std=\fR\fIstandard\fR \fB\-aux-info\fR \fIfilename\fR -\&\fB\-fno-asm \-fno-builtin \-fno-builtin-\fR\fIfunction\fR -\&\fB\-fhosted \-ffreestanding -\&\-trigraphs \-no-integrated-cpp \-traditional \-traditional-cpp -\&\-fallow-single-precision \-fcond-mismatch -\&\-fsigned-bitfields \-fsigned-char -\&\-funsigned-bitfields \-funsigned-char -\&\-fwritable-strings\fR -.Ip "\fI\*(C+ Language Options\fR" 4 -.IX Item " Language Options" -\&\fB\-fno-access-control \-fcheck-new \-fconserve-space -\&\-fno-const-strings \-fdollars-in-identifiers -\&\-fno-elide-constructors -\&\-fno-enforce-eh-specs \-fexternal-templates -\&\-falt-external-templates -\&\-ffor-scope \-fno-for-scope \-fno-gnu-keywords -\&\-fno-implicit-templates -\&\-fno-implicit-inline-templates -\&\-fno-implement-inlines \-fms-extensions -\&\-fno-nonansi-builtins \-fno-operator-names -\&\-fno-optional-diags \-fpermissive -\&\-frepo \-fno-rtti \-fstats \-ftemplate-depth-\fR\fIn\fR -\&\fB\-fuse-cxa-atexit \-fvtable-gc \-fno-weak \-nostdinc++ -\&\-fno-default-inline \-Wabi \-Wctor-dtor-privacy -\&\-Wnon-virtual-dtor \-Wreorder -\&\-Weffc++ \-Wno-deprecated -\&\-Wno-non-template-friend \-Wold-style-cast -\&\-Woverloaded-virtual \-Wno-pmf-conversions -\&\-Wsign-promo \-Wsynth\fR -.Ip "\fIObjective-C Language Options\fR" 4 -.IX Item "Objective-C Language Options" -\&\fB\-fconstant-string-class=\fR\fIclass-name\fR -\&\fB\-fgnu-runtime \-fnext-runtime \-gen-decls -\&\-Wno-protocol \-Wselector\fR -.Ip "\fILanguage Independent Options\fR" 4 -.IX Item "Language Independent Options" -\&\fB\-fmessage-length=\fR\fIn\fR -\&\fB\-fdiagnostics-show-location=\fR[\fBonce\fR|\fBevery-line\fR] -.Ip "\fIWarning Options\fR" 4 -.IX Item "Warning Options" -\&\fB\-fsyntax-only \-pedantic \-pedantic-errors -\&\-w \-W \-Wall \-Waggregate-return -\&\-Wcast-align \-Wcast-qual \-Wchar-subscripts \-Wcomment -\&\-Wconversion \-Wno-deprecated-declarations -\&\-Wdisabled-optimization \-Wdiv-by-zero \-Werror -\&\-Wfloat-equal \-Wformat \-Wformat=2 -\&\-Wformat-nonliteral \-Wformat-security -\&\-Wimplicit \-Wimplicit-int -\&\-Wimplicit-function-declaration -\&\-Werror-implicit-function-declaration -\&\-Wimport \-Winline -\&\-Wlarger-than-\fR\fIlen\fR \fB\-Wlong-long -\&\-Wmain \-Wmissing-braces -\&\-Wmissing-format-attribute \-Wmissing-noreturn -\&\-Wmultichar \-Wno-format-extra-args \-Wno-format-y2k -\&\-Wno-import \-Wpacked \-Wpadded -\&\-Wparentheses \-Wpointer-arith \-Wredundant-decls -\&\-Wreturn-type \-Wsequence-point \-Wshadow -\&\-Wsign-compare \-Wswitch \-Wsystem-headers -\&\-Wtrigraphs \-Wundef \-Wuninitialized -\&\-Wunknown-pragmas \-Wunreachable-code -\&\-Wunused \-Wunused-function \-Wunused-label \-Wunused-parameter -\&\-Wunused-value \-Wunused-variable \-Wwrite-strings\fR -.Ip "\fIC-only Warning Options\fR" 4 -.IX Item "C-only Warning Options" -\&\fB\-Wbad-function-cast \-Wmissing-declarations -\&\-Wmissing-prototypes \-Wnested-externs -\&\-Wstrict-prototypes \-Wtraditional\fR -.Ip "\fIDebugging Options\fR" 4 -.IX Item "Debugging Options" -\&\fB\-d\fR\fIletters\fR \fB\-dumpspecs \-dumpmachine \-dumpversion -\&\-fdump-unnumbered \-fdump-translation-unit\fR[\fB-\fR\fIn\fR] -\&\fB\-fdump-class-hierarchy\fR[\fB-\fR\fIn\fR] -\&\fB\-fdump-tree-original\fR[\fB-\fR\fIn\fR] \fB\-fdump-tree-optimized\fR[\fB-\fR\fIn\fR] -\&\fB\-fdump-tree-inlined\fR[\fB-\fR\fIn\fR] -\&\fB\-fmem-report \-fpretend-float -\&\-fprofile-arcs \-fsched-verbose=\fR\fIn\fR -\&\fB\-ftest-coverage \-ftime-report -\&\-g \-g\fR\fIlevel\fR \fB\-gcoff \-gdwarf \-gdwarf-1 \-gdwarf-1+ \-gdwarf-2 -\&\-ggdb \-gstabs \-gstabs+ \-gvms \-gxcoff \-gxcoff+ -\&\-p \-pg \-print-file-name=\fR\fIlibrary\fR \fB\-print-libgcc-file-name -\&\-print-multi-directory \-print-multi-lib -\&\-print-prog-name=\fR\fIprogram\fR \fB\-print-search-dirs \-Q -\&\-save-temps \-time\fR -.Ip "\fIOptimization Options\fR" 4 -.IX Item "Optimization Options" -\&\fB\-falign-functions=\fR\fIn\fR \fB\-falign-jumps=\fR\fIn\fR -\&\fB\-falign-labels=\fR\fIn\fR \fB\-falign-loops=\fR\fIn\fR -\&\fB\-fbounds-check -\&\-fbranch-probabilities \-fcaller-saves \-fcprop-registers -\&\-fcse-follow-jumps \-fcse-skip-blocks \-fdata-sections -\&\-fdelayed-branch \-fdelete-null-pointer-checks -\&\-fexpensive-optimizations \-ffast-math \-ffloat-store -\&\-fforce-addr \-fforce-mem \-ffunction-sections -\&\-fgcse \-fgcse-lm \-fgcse-sm -\&\-finline-functions \-finline-limit=\fR\fIn\fR \fB\-fkeep-inline-functions -\&\-fkeep-static-consts \-fmerge-constants \-fmerge-all-constants -\&\-fmove-all-movables \-fno-branch-count-reg -\&\-fno-default-inline \-fno-defer-pop -\&\-fno-function-cse \-fno-guess-branch-probability -\&\-fno-inline \-fno-math-errno \-fno-peephole \-fno-peephole2 -\&\-funsafe-math-optimizations \-fno-trapping-math -\&\-fomit-frame-pointer \-foptimize-register-move -\&\-foptimize-sibling-calls \-fprefetch-loop-arrays -\&\-freduce-all-givs \-fregmove \-frename-registers -\&\-frerun-cse-after-loop \-frerun-loop-opt -\&\-fschedule-insns \-fschedule-insns2 -\&\-fno-sched-interblock \-fno-sched-spec -\&\-fsched-spec-load \-fsched-spec-load-dangerous -\&\-fsingle-precision-constant \-fssa \-fssa-ccp \-fssa-dce -\&\-fstrength-reduce \-fstrict-aliasing \-fthread-jumps -\&\-ftrapv \-funroll-all-loops \-funroll-loops -\&\-\-param\fR \fIname\fR\fB=\fR\fIvalue\fR -\&\fB\-O \-O0 \-O1 \-O2 \-O3 \-Os\fR -.Ip "\fIPreprocessor Options\fR" 4 -.IX Item "Preprocessor Options" -\&\fB\-$ \-A\fR\fIquestion\fR\fB=\fR\fIanswer\fR \fB\-A-\fR\fIquestion\fR[\fB=\fR\fIanswer\fR] -\&\fB\-C \-dD \-dI \-dM \-dN -\&\-D\fR\fImacro\fR[\fB=\fR\fIdefn\fR] \fB\-E \-H -\&\-idirafter\fR \fIdir\fR -\&\fB\-include\fR \fIfile\fR \fB\-imacros\fR \fIfile\fR -\&\fB\-iprefix\fR \fIfile\fR \fB\-iwithprefix\fR \fIdir\fR -\&\fB\-iwithprefixbefore\fR \fIdir\fR \fB\-isystem\fR \fIdir\fR -\&\fB\-M \-MM \-MF \-MG \-MP \-MQ \-MT \-nostdinc \-P \-remap -\&\-trigraphs \-undef \-U\fR\fImacro\fR \fB\-Wp,\fR\fIoption\fR -.Ip "\fIAssembler Option\fR" 4 -.IX Item "Assembler Option" -\&\fB\-Wa,\fR\fIoption\fR -.Ip "\fILinker Options\fR" 4 -.IX Item "Linker Options" -\&\fB -\&\fR\fIobject-file-name\fR \fB\-l\fR\fIlibrary\fR -\&\fB\-nostartfiles \-nodefaultlibs \-nostdlib -\&\-s \-static \-static-libgcc \-shared \-shared-libgcc \-symbolic -\&\-Wl,\fR\fIoption\fR \fB\-Xlinker\fR \fIoption\fR -\&\fB\-u\fR \fIsymbol\fR -.Ip "\fIDirectory Options\fR" 4 -.IX Item "Directory Options" -\&\fB\-B\fR\fIprefix\fR \fB\-I\fR\fIdir\fR \fB\-I- \-L\fR\fIdir\fR \fB\-specs=\fR\fIfile\fR -.Ip "\fITarget Options\fR" 4 -.IX Item "Target Options" -\&\fB\-b\fR \fImachine\fR \fB\-V\fR \fIversion\fR -.Ip "\fIMachine Dependent Options\fR" 4 -.IX Item "Machine Dependent Options" -\&\fIM680x0 Options\fR -.Sp -\&\fB\-m68000 \-m68020 \-m68020\-40 \-m68020\-60 \-m68030 \-m68040 -\&\-m68060 \-mcpu32 \-m5200 \-m68881 \-mbitfield \-mc68000 \-mc68020 -\&\-mfpa \-mnobitfield \-mrtd \-mshort \-msoft-float \-mpcrel -\&\-malign-int \-mstrict-align\fR -.Sp -\&\fIM68hc1x Options\fR -.Sp -\&\fB\-m6811 \-m6812 \-m68hc11 \-m68hc12 -\&\-mauto-incdec \-mshort \-msoft-reg-count=\fR\fIcount\fR -.Sp -\&\fI\s-1VAX\s0 Options\fR -.Sp -\&\fB\-mg \-mgnu \-munix\fR -.Sp -\&\fI\s-1SPARC\s0 Options\fR -.Sp -\&\fB\-mcpu=\fR\fIcpu-type\fR -\&\fB\-mtune=\fR\fIcpu-type\fR -\&\fB\-mcmodel=\fR\fIcode-model\fR -\&\fB\-m32 \-m64 -\&\-mapp-regs \-mbroken-saverestore \-mcypress -\&\-mfaster-structs \-mflat -\&\-mfpu \-mhard-float \-mhard-quad-float -\&\-mimpure-text \-mlive-g0 \-mno-app-regs -\&\-mno-faster-structs \-mno-flat \-mno-fpu -\&\-mno-impure-text \-mno-stack-bias \-mno-unaligned-doubles -\&\-msoft-float \-msoft-quad-float \-msparclite \-mstack-bias -\&\-msupersparc \-munaligned-doubles \-mv8\fR -.Sp -\&\fIConvex Options\fR -.Sp -\&\fB\-mc1 \-mc2 \-mc32 \-mc34 \-mc38 -\&\-margcount \-mnoargcount -\&\-mlong32 \-mlong64 -\&\-mvolatile-cache \-mvolatile-nocache\fR -.Sp -\&\fI\s-1AMD29K\s0 Options\fR -.Sp -\&\fB\-m29000 \-m29050 \-mbw \-mnbw \-mdw \-mndw -\&\-mlarge \-mnormal \-msmall -\&\-mkernel-registers \-mno-reuse-arg-regs -\&\-mno-stack-check \-mno-storem-bug -\&\-mreuse-arg-regs \-msoft-float \-mstack-check -\&\-mstorem-bug \-muser-registers\fR -.Sp -\&\fI\s-1ARM\s0 Options\fR -.Sp -\&\fB\-mapcs-frame \-mno-apcs-frame -\&\-mapcs-26 \-mapcs-32 -\&\-mapcs-stack-check \-mno-apcs-stack-check -\&\-mapcs-float \-mno-apcs-float -\&\-mapcs-reentrant \-mno-apcs-reentrant -\&\-msched-prolog \-mno-sched-prolog -\&\-mlittle-endian \-mbig-endian \-mwords-little-endian -\&\-malignment-traps \-mno-alignment-traps -\&\-msoft-float \-mhard-float \-mfpe -\&\-mthumb-interwork \-mno-thumb-interwork -\&\-mcpu=\fR\fIname\fR \fB\-march=\fR\fIname\fR \fB\-mfpe=\fR\fIname\fR -\&\fB\-mstructure-size-boundary=\fR\fIn\fR -\&\fB\-mbsd \-mxopen \-mno-symrename -\&\-mabort-on-noreturn -\&\-mlong-calls \-mno-long-calls -\&\-msingle-pic-base \-mno-single-pic-base -\&\-mpic-register=\fR\fIreg\fR -\&\fB\-mnop-fun-dllimport -\&\-mpoke-function-name -\&\-mthumb \-marm -\&\-mtpcs-frame \-mtpcs-leaf-frame -\&\-mcaller-super-interworking \-mcallee-super-interworking\fR -.Sp -\&\fI\s-1MN10200\s0 Options\fR -.Sp -\&\fB\-mrelax\fR -.Sp -\&\fI\s-1MN10300\s0 Options\fR -.Sp -\&\fB\-mmult-bug \-mno-mult-bug -\&\-mam33 \-mno-am33 -\&\-mno-crt0 \-mrelax\fR -.Sp -\&\fIM32R/D Options\fR -.Sp -\&\fB\-m32rx \-m32r \-mcode-model=\fR\fImodel-type\fR \fB\-msdata=\fR\fIsdata-type\fR -\&\fB\-G\fR \fInum\fR -.Sp -\&\fIM88K Options\fR -.Sp -\&\fB\-m88000 \-m88100 \-m88110 \-mbig-pic -\&\-mcheck-zero-division \-mhandle-large-shift -\&\-midentify-revision \-mno-check-zero-division -\&\-mno-ocs-debug-info \-mno-ocs-frame-position -\&\-mno-optimize-arg-area \-mno-serialize-volatile -\&\-mno-underscores \-mocs-debug-info -\&\-mocs-frame-position \-moptimize-arg-area -\&\-mserialize-volatile \-mshort-data-\fR\fInum\fR \fB\-msvr3 -\&\-msvr4 \-mtrap-large-shift \-muse-div-instruction -\&\-mversion-03.00 \-mwarn-passed-structs\fR -.Sp -\&\fI\s-1RS/6000\s0 and PowerPC Options\fR -.Sp -\&\fB\-mcpu=\fR\fIcpu-type\fR -\&\fB\-mtune=\fR\fIcpu-type\fR -\&\fB\-mpower \-mno-power \-mpower2 \-mno-power2 -\&\-mpowerpc \-mpowerpc64 \-mno-powerpc -\&\-maltivec \-mno-altivec -\&\-mpowerpc-gpopt \-mno-powerpc-gpopt -\&\-mpowerpc-gfxopt \-mno-powerpc-gfxopt -\&\-mnew-mnemonics \-mold-mnemonics -\&\-mfull-toc \-mminimal-toc \-mno-fp-in-toc \-mno-sum-in-toc -\&\-m64 \-m32 \-mxl-call \-mno-xl-call \-mpe -\&\-msoft-float \-mhard-float \-mmultiple \-mno-multiple -\&\-mstring \-mno-string \-mupdate \-mno-update -\&\-mfused-madd \-mno-fused-madd \-mbit-align \-mno-bit-align -\&\-mstrict-align \-mno-strict-align \-mrelocatable -\&\-mno-relocatable \-mrelocatable-lib \-mno-relocatable-lib -\&\-mtoc \-mno-toc \-mlittle \-mlittle-endian \-mbig \-mbig-endian -\&\-mcall-aix \-mcall-sysv \-mcall-netbsd -\&\-maix-struct-return \-msvr4\-struct-return -\&\-mabi=altivec \-mabi=no-altivec -\&\-mprototype \-mno-prototype -\&\-msim \-mmvme \-mads \-myellowknife \-memb \-msdata -\&\-msdata=\fR\fIopt\fR \fB\-mvxworks \-G\fR \fInum\fR \fB\-pthread\fR -.Sp -\&\fI\s-1RT\s0 Options\fR -.Sp -\&\fB\-mcall-lib-mul \-mfp-arg-in-fpregs \-mfp-arg-in-gregs -\&\-mfull-fp-blocks \-mhc-struct-return \-min-line-mul -\&\-mminimum-fp-blocks \-mnohc-struct-return\fR -.Sp -\&\fI\s-1MIPS\s0 Options\fR -.Sp -\&\fB\-mabicalls \-march=\fR\fIcpu-type\fR \fB\-mtune=\fR\fIcpu=type\fR -\&\fB\-mcpu=\fR\fIcpu-type\fR \fB\-membedded-data \-muninit-const-in-rodata -\&\-membedded-pic \-mfp32 \-mfp64 \-mfused-madd \-mno-fused-madd -\&\-mgas \-mgp32 \-mgp64 -\&\-mgpopt \-mhalf-pic \-mhard-float \-mint64 \-mips1 -\&\-mips2 \-mips3 \-mips4 \-mlong64 \-mlong32 \-mlong-calls \-mmemcpy -\&\-mmips-as \-mmips-tfile \-mno-abicalls -\&\-mno-embedded-data \-mno-uninit-const-in-rodata -\&\-mno-embedded-pic \-mno-gpopt \-mno-long-calls -\&\-mno-memcpy \-mno-mips-tfile \-mno-rnames \-mno-stats -\&\-mrnames \-msoft-float -\&\-m4650 \-msingle-float \-mmad -\&\-mstats \-EL \-EB \-G\fR \fInum\fR \fB\-nocpp -\&\-mabi=32 \-mabi=n32 \-mabi=64 \-mabi=eabi -\&\-mfix7000 \-mno-crt0 \-mflush-func=\fR\fIfunc\fR \fB\-mno-flush-func\fR -.Sp -\&\fIi386 and x86\-64 Options\fR -.Sp -\&\fB\-mcpu=\fR\fIcpu-type\fR \fB\-march=\fR\fIcpu-type\fR \fB\-mfpmath=\fR\fIunit\fR -\&\fB\-masm=\fR\fIdialect\fR \fB\-mno-fancy-math-387 -\&\-mno-fp-ret-in-387 \-msoft-float \-msvr3\-shlib -\&\-mno-wide-multiply \-mrtd \-malign-double -\&\-mpreferred-stack-boundary=\fR\fInum\fR -\&\fB\-mmmx \-msse \-msse2 \-m3dnow -\&\-mthreads \-mno-align-stringops \-minline-all-stringops -\&\-mpush-args \-maccumulate-outgoing-args \-m128bit-long-double -\&\-m96bit-long-double \-mregparm=\fR\fInum\fR \fB\-momit-leaf-frame-pointer -\&\-mno-red-zone -\&\-mcmodel=\fR\fIcode-model\fR -\&\fB\-m32 \-m64\fR -.Sp -\&\fI\s-1HPPA\s0 Options\fR -.Sp -\&\fB\-march=\fR\fIarchitecture-type\fR -\&\fB\-mbig-switch \-mdisable-fpregs \-mdisable-indexing -\&\-mfast-indirect-calls \-mgas \-mjump-in-delay -\&\-mlong-load-store \-mno-big-switch \-mno-disable-fpregs -\&\-mno-disable-indexing \-mno-fast-indirect-calls \-mno-gas -\&\-mno-jump-in-delay \-mno-long-load-store -\&\-mno-portable-runtime \-mno-soft-float -\&\-mno-space-regs \-msoft-float \-mpa-risc-1\-0 -\&\-mpa-risc-1\-1 \-mpa-risc-2\-0 \-mportable-runtime -\&\-mschedule=\fR\fIcpu-type\fR \fB\-mspace-regs\fR -.Sp -\&\fIIntel 960 Options\fR -.Sp -\&\fB\-m\fR\fIcpu-type\fR \fB\-masm-compat \-mclean-linkage -\&\-mcode-align \-mcomplex-addr \-mleaf-procedures -\&\-mic-compat \-mic2.0\-compat \-mic3.0\-compat -\&\-mintel-asm \-mno-clean-linkage \-mno-code-align -\&\-mno-complex-addr \-mno-leaf-procedures -\&\-mno-old-align \-mno-strict-align \-mno-tail-call -\&\-mnumerics \-mold-align \-msoft-float \-mstrict-align -\&\-mtail-call\fR -.Sp -\&\fI\s-1DEC\s0 Alpha Options\fR -.Sp -\&\fB\-mno-fp-regs \-msoft-float \-malpha-as \-mgas -\&\-mieee \-mieee-with-inexact \-mieee-conformant -\&\-mfp-trap-mode=\fR\fImode\fR \fB\-mfp-rounding-mode=\fR\fImode\fR -\&\fB\-mtrap-precision=\fR\fImode\fR \fB\-mbuild-constants -\&\-mcpu=\fR\fIcpu-type\fR \fB\-mtune=\fR\fIcpu-type\fR -\&\fB\-mbwx \-mmax \-mfix \-mcix -\&\-mfloat-vax \-mfloat-ieee -\&\-mexplicit-relocs \-msmall-data \-mlarge-data -\&\-mmemory-latency=\fR\fItime\fR -.Sp -\&\fI\s-1DEC\s0 Alpha/VMS Options\fR -.Sp -\&\fB\-mvms-return-codes\fR -.Sp -\&\fIClipper Options\fR -.Sp -\&\fB\-mc300 \-mc400\fR -.Sp -\&\fIH8/300 Options\fR -.Sp -\&\fB\-mrelax \-mh \-ms \-mint32 \-malign-300\fR -.Sp -\&\fI\s-1SH\s0 Options\fR -.Sp -\&\fB\-m1 \-m2 \-m3 \-m3e -\&\-m4\-nofpu \-m4\-single-only \-m4\-single \-m4 -\&\-m5\-64media \-m5\-64media-nofpu -\&\-m5\-32media \-m5\-32media-nofpu -\&\-m5\-compact \-m5\-compact-nofpu -\&\-mb \-ml \-mdalign \-mrelax -\&\-mbigtable \-mfmovd \-mhitachi \-mnomacsave -\&\-mieee \-misize \-mpadstruct \-mspace -\&\-mprefergot \-musermode\fR -.Sp -\&\fISystem V Options\fR -.Sp -\&\fB\-Qy \-Qn \-YP,\fR\fIpaths\fR \fB\-Ym,\fR\fIdir\fR -.Sp -\&\fI\s-1ARC\s0 Options\fR -.Sp -\&\fB\-EB \-EL -\&\-mmangle-cpu \-mcpu=\fR\fIcpu\fR \fB\-mtext=\fR\fItext-section\fR -\&\fB\-mdata=\fR\fIdata-section\fR \fB\-mrodata=\fR\fIreadonly-data-section\fR -.Sp -\&\fITMS320C3x/C4x Options\fR -.Sp -\&\fB\-mcpu=\fR\fIcpu\fR \fB\-mbig \-msmall \-mregparm \-mmemparm -\&\-mfast-fix \-mmpyi \-mbk \-mti \-mdp-isr-reload -\&\-mrpts=\fR\fIcount\fR \fB\-mrptb \-mdb \-mloop-unsigned -\&\-mparallel-insns \-mparallel-mpy \-mpreserve-float\fR -.Sp -\&\fIV850 Options\fR -.Sp -\&\fB\-mlong-calls \-mno-long-calls \-mep \-mno-ep -\&\-mprolog-function \-mno-prolog-function \-mspace -\&\-mtda=\fR\fIn\fR \fB\-msda=\fR\fIn\fR \fB\-mzda=\fR\fIn\fR -\&\fB\-mv850 \-mbig-switch\fR -.Sp -\&\fI\s-1NS32K\s0 Options\fR -.Sp -\&\fB\-m32032 \-m32332 \-m32532 \-m32081 \-m32381 -\&\-mmult-add \-mnomult-add \-msoft-float \-mrtd \-mnortd -\&\-mregparam \-mnoregparam \-msb \-mnosb -\&\-mbitfield \-mnobitfield \-mhimem \-mnohimem\fR -.Sp -\&\fI\s-1AVR\s0 Options\fR -.Sp -\&\fB\-mmcu=\fR\fImcu\fR \fB\-msize \-minit-stack=\fR\fIn\fR \fB\-mno-interrupts -\&\-mcall-prologues \-mno-tablejump \-mtiny-stack\fR -.Sp -\&\fIMCore Options\fR -.Sp -\&\fB\-mhardlit \-mno-hardlit \-mdiv \-mno-div \-mrelax-immediates -\&\-mno-relax-immediates \-mwide-bitfields \-mno-wide-bitfields -\&\-m4byte-functions \-mno-4byte-functions \-mcallgraph-data -\&\-mno-callgraph-data \-mslow-bytes \-mno-slow-bytes \-mno-lsim -\&\-mlittle-endian \-mbig-endian \-m210 \-m340 \-mstack-increment\fR -.Sp -\&\fI\s-1MMIX\s0 Options\fR -.Sp -\&\fB\-mlibfuncs \-mno-libfuncs \-mepsilon \-mno-epsilon \-mabi=gnu -\&\-mabi=mmixware \-mzero-extend \-mknuthdiv \-mtoplevel-symbols -\&\-melf \-mbranch-predict \-mno-branch-predict \-mbase-addresses -\&\-mno-base-addresses\fR -.Sp -\&\fI\s-1IA-64\s0 Options\fR -.Sp -\&\fB\-mbig-endian \-mlittle-endian \-mgnu-as \-mgnu-ld \-mno-pic -\&\-mvolatile-asm-stop \-mb-step \-mregister-names \-mno-sdata -\&\-mconstant-gp \-mauto-pic \-minline-divide-min-latency -\&\-minline-divide-max-throughput \-mno-dwarf2\-asm -\&\-mfixed-range=\fR\fIregister-range\fR -.Sp -\&\fID30V Options\fR -.Sp -\&\fB\-mextmem \-mextmemory \-monchip \-mno-asm-optimize -\&\-masm-optimize \-mbranch-cost=\fR\fIn\fR \fB\-mcond-exec=\fR\fIn\fR -.Sp -\&\fIS/390 and zSeries Options\fR -.Sp -\&\fB\-mhard-float \-msoft-float \-mbackchain \-mno-backchain -\&\-msmall-exec \-mno-small-exec \-mmvcle \-mno-mvcle -\&\-m64 \-m31 \-mdebug \-mno-debug\fR -.Sp -\&\fI\s-1CRIS\s0 Options\fR -.Sp -\&\fB\-mcpu=\fR\fIcpu\fR \fB\-march=\fR\fIcpu\fR \fB\-mtune=\fR\fIcpu\fR -\&\fB\-mmax-stack-frame=\fR\fIn\fR \fB\-melinux-stacksize=\fR\fIn\fR -\&\fB\-metrax4 \-metrax100 \-mpdebug \-mcc-init \-mno-side-effects -\&\-mstack-align \-mdata-align \-mconst-align -\&\-m32\-bit \-m16\-bit \-m8\-bit \-mno-prologue-epilogue \-mno-gotplt -\&\-melf \-maout \-melinux \-mlinux \-sim \-sim2\fR -.Sp -\&\fI\s-1PDP-11\s0 Options\fR -.Sp -\&\fB\-mfpu \-msoft-float \-mac0 \-mno-ac0 \-m40 \-m45 \-m10 -\&\-mbcopy \-mbcopy-builtin \-mint32 \-mno-int16 -\&\-mint16 \-mno-int32 \-mfloat32 \-mno-float64 -\&\-mfloat64 \-mno-float32 \-mabshi \-mno-abshi -\&\-mbranch-expensive \-mbranch-cheap -\&\-msplit \-mno-split \-munix-asm \-mdec-asm\fR -.Sp -\&\fIXstormy16 Options\fR -.Sp -\&\fB\-msim\fR -.Sp -\&\fIXtensa Options\fR -.Sp -\&\fB\-mbig-endian \-mlittle-endian -\&\-mdensity \-mno-density -\&\-mmac16 \-mno-mac16 -\&\-mmul16 \-mno-mul16 -\&\-mmul32 \-mno-mul32 -\&\-mnsa \-mno-nsa -\&\-mminmax \-mno-minmax -\&\-msext \-mno-sext -\&\-mbooleans \-mno-booleans -\&\-mhard-float \-msoft-float -\&\-mfused-madd \-mno-fused-madd -\&\-mserialize-volatile \-mno-serialize-volatile -\&\-mtext-section-literals \-mno-text-section-literals -\&\-mtarget-align \-mno-target-align -\&\-mlongcalls \-mno-longcalls\fR -.Ip "\fICode Generation Options\fR" 4 -.IX Item "Code Generation Options" -\&\fB\-fcall-saved-\fR\fIreg\fR \fB\-fcall-used-\fR\fIreg\fR -\&\fB\-ffixed-\fR\fIreg\fR \fB\-fexceptions -\&\-fnon-call-exceptions \-funwind-tables -\&\-fasynchronous-unwind-tables -\&\-finhibit-size-directive \-finstrument-functions -\&\-fno-common \-fno-ident \-fno-gnu-linker -\&\-fpcc-struct-return \-fpic \-fPIC -\&\-freg-struct-return \-fshared-data \-fshort-enums -\&\-fshort-double \-fshort-wchar \-fvolatile -\&\-fvolatile-global \-fvolatile-static -\&\-fverbose-asm \-fpack-struct \-fstack-check -\&\-fstack-limit-register=\fR\fIreg\fR \fB\-fstack-limit-symbol=\fR\fIsym\fR -\&\fB\-fargument-alias \-fargument-noalias -\&\-fargument-noalias-global \-fleading-underscore\fR -.Sh "Options Controlling the Kind of Output" -.IX Subsection "Options Controlling the Kind of Output" -Compilation can involve up to four stages: preprocessing, compilation -proper, assembly and linking, always in that order. The first three -stages apply to an individual source file, and end by producing an -object file; linking combines all the object files (those newly -compiled, and those specified as input) into an executable file. -.PP -For any given input file, the file name suffix determines what kind of -compilation is done: -.Ip "\fIfile\fR\fB.c\fR" 4 -.IX Item "file.c" -C source code which must be preprocessed. -.Ip "\fIfile\fR\fB.i\fR" 4 -.IX Item "file.i" -C source code which should not be preprocessed. -.Ip "\fIfile\fR\fB.ii\fR" 4 -.IX Item "file.ii" -\&\*(C+ source code which should not be preprocessed. -.Ip "\fIfile\fR\fB.m\fR" 4 -.IX Item "file.m" -Objective-C source code. Note that you must link with the library -\&\fIlibobjc.a\fR to make an Objective-C program work. -.Ip "\fIfile\fR\fB.mi\fR" 4 -.IX Item "file.mi" -Objective-C source code which should not be preprocessed. -.Ip "\fIfile\fR\fB.h\fR" 4 -.IX Item "file.h" -C header file (not to be compiled or linked). -.Ip "\fIfile\fR\fB.cc\fR" 4 -.IX Item "file.cc" -.PD 0 -.Ip "\fIfile\fR\fB.cp\fR" 4 -.IX Item "file.cp" -.Ip "\fIfile\fR\fB.cxx\fR" 4 -.IX Item "file.cxx" -.Ip "\fIfile\fR\fB.cpp\fR" 4 -.IX Item "file.cpp" -.Ip "\fIfile\fR\fB.c++\fR" 4 -.IX Item "file.c++" -.Ip "\fIfile\fR\fB.C\fR" 4 -.IX Item "file.C" -.PD -\&\*(C+ source code which must be preprocessed. Note that in \fB.cxx\fR, -the last two letters must both be literally \fBx\fR. Likewise, -\&\fB.C\fR refers to a literal capital C. -.Ip "\fIfile\fR\fB.f\fR" 4 -.IX Item "file.f" -.PD 0 -.Ip "\fIfile\fR\fB.for\fR" 4 -.IX Item "file.for" -.Ip "\fIfile\fR\fB.FOR\fR" 4 -.IX Item "file.FOR" -.PD -Fortran source code which should not be preprocessed. -.Ip "\fIfile\fR\fB.F\fR" 4 -.IX Item "file.F" -.PD 0 -.Ip "\fIfile\fR\fB.fpp\fR" 4 -.IX Item "file.fpp" -.Ip "\fIfile\fR\fB.FPP\fR" 4 -.IX Item "file.FPP" -.PD -Fortran source code which must be preprocessed (with the traditional -preprocessor). -.Ip "\fIfile\fR\fB.r\fR" 4 -.IX Item "file.r" -Fortran source code which must be preprocessed with a \s-1RATFOR\s0 -preprocessor (not included with \s-1GCC\s0). -.Ip "\fIfile\fR\fB.ads\fR" 4 -.IX Item "file.ads" -Ada source code file which contains a library unit declaration (a -declaration of a package, subprogram, or generic, or a generic -instantiation), or a library unit renaming declaration (a package, -generic, or subprogram renaming declaration). Such files are also -called \fIspecs\fR. -.Ip "\fIfile\fR\fB.adb\fR" 4 -.IX Item "file.adb" -Ada source code file containing a library unit body (a subprogram or -package body). Such files are also called \fIbodies\fR. -.Ip "\fIfile\fR\fB.s\fR" 4 -.IX Item "file.s" -Assembler code. -.Ip "\fIfile\fR\fB.S\fR" 4 -.IX Item "file.S" -Assembler code which must be preprocessed. -.Ip "\fIother\fR" 4 -.IX Item "other" -An object file to be fed straight into linking. -Any file name with no recognized suffix is treated this way. -.PP -You can specify the input language explicitly with the \fB\-x\fR option: -.Ip "\fB\-x\fR \fIlanguage\fR" 4 -.IX Item "-x language" -Specify explicitly the \fIlanguage\fR for the following input files -(rather than letting the compiler choose a default based on the file -name suffix). This option applies to all following input files until -the next \fB\-x\fR option. Possible values for \fIlanguage\fR are: -.Sp -.Vb 7 -\& c c-header cpp-output -\& c++ c++-cpp-output -\& objective-c objc-cpp-output -\& assembler assembler-with-cpp -\& ada -\& f77 f77-cpp-input ratfor -\& java -.Ve -.Ip "\fB\-x none\fR" 4 -.IX Item "-x none" -Turn off any specification of a language, so that subsequent files are -handled according to their file name suffixes (as they are if \fB\-x\fR -has not been used at all). -.Ip "\fB\-pass-exit-codes\fR" 4 -.IX Item "-pass-exit-codes" -Normally the \fBgcc\fR program will exit with the code of 1 if any -phase of the compiler returns a non-success return code. If you specify -\&\fB\-pass-exit-codes\fR, the \fBgcc\fR program will instead return with -numerically highest error produced by any phase that returned an error -indication. -.PP -If you only want some of the stages of compilation, you can use -\&\fB\-x\fR (or filename suffixes) to tell \fBgcc\fR where to start, and -one of the options \fB\-c\fR, \fB\-S\fR, or \fB\-E\fR to say where -\&\fBgcc\fR is to stop. Note that some combinations (for example, -\&\fB\-x cpp-output \-E\fR) instruct \fBgcc\fR to do nothing at all. -.Ip "\fB\-c\fR" 4 -.IX Item "-c" -Compile or assemble the source files, but do not link. The linking -stage simply is not done. The ultimate output is in the form of an -object file for each source file. -.Sp -By default, the object file name for a source file is made by replacing -the suffix \fB.c\fR, \fB.i\fR, \fB.s\fR, etc., with \fB.o\fR. -.Sp -Unrecognized input files, not requiring compilation or assembly, are -ignored. -.Ip "\fB\-S\fR" 4 -.IX Item "-S" -Stop after the stage of compilation proper; do not assemble. The output -is in the form of an assembler code file for each non-assembler input -file specified. -.Sp -By default, the assembler file name for a source file is made by -replacing the suffix \fB.c\fR, \fB.i\fR, etc., with \fB.s\fR. -.Sp -Input files that don't require compilation are ignored. -.Ip "\fB\-E\fR" 4 -.IX Item "-E" -Stop after the preprocessing stage; do not run the compiler proper. The -output is in the form of preprocessed source code, which is sent to the -standard output. -.Sp -Input files which don't require preprocessing are ignored. -.Ip "\fB\-o\fR \fIfile\fR" 4 -.IX Item "-o file" -Place output in file \fIfile\fR. This applies regardless to whatever -sort of output is being produced, whether it be an executable file, -an object file, an assembler file or preprocessed C code. -.Sp -Since only one output file can be specified, it does not make sense to -use \fB\-o\fR when compiling more than one input file, unless you are -producing an executable file as output. -.Sp -If \fB\-o\fR is not specified, the default is to put an executable file -in \fIa.out\fR, the object file for \fI\fIsource\fI.\fIsuffix\fI\fR in -\&\fI\fIsource\fI.o\fR, its assembler file in \fI\fIsource\fI.s\fR, and -all preprocessed C source on standard output. -.Ip "\fB\-v\fR" 4 -.IX Item "-v" -Print (on standard error output) the commands executed to run the stages -of compilation. Also print the version number of the compiler driver -program and of the preprocessor and the compiler proper. -.Ip "\fB\-###\fR" 4 -.IX Item "-###" -Like \fB\-v\fR except the commands are not executed and all command -arguments are quoted. This is useful for shell scripts to capture the -driver-generated command lines. -.Ip "\fB\-pipe\fR" 4 -.IX Item "-pipe" -Use pipes rather than temporary files for communication between the -various stages of compilation. This fails to work on some systems where -the assembler is unable to read from a pipe; but the \s-1GNU\s0 assembler has -no trouble. -.Ip "\fB\*(--help\fR" 4 -.IX Item "help" -Print (on the standard output) a description of the command line options -understood by \fBgcc\fR. If the \fB\-v\fR option is also specified -then \fB\*(--help\fR will also be passed on to the various processes -invoked by \fBgcc\fR, so that they can display the command line options -they accept. If the \fB\-W\fR option is also specified then command -line options which have no documentation associated with them will also -be displayed. -.Ip "\fB\*(--target-help\fR" 4 -.IX Item "target-help" -Print (on the standard output) a description of target specific command -line options for each tool. -.Ip "\fB\*(--version\fR" 4 -.IX Item "version" -Display the version number and copyrights of the invoked \s-1GCC\s0. -.Sh "Compiling \*(C+ Programs" -.IX Subsection "Compiling Programs" -\&\*(C+ source files conventionally use one of the suffixes \fB.C\fR, -\&\fB.cc\fR, \fB.cpp\fR, \fB.c++\fR, \fB.cp\fR, or \fB.cxx\fR; -preprocessed \*(C+ files use the suffix \fB.ii\fR. \s-1GCC\s0 recognizes -files with these names and compiles them as \*(C+ programs even if you -call the compiler the same way as for compiling C programs (usually with -the name \fBgcc\fR). -.PP -However, \*(C+ programs often require class libraries as well as a -compiler that understands the \*(C+ language\-\-\-and under some -circumstances, you might want to compile programs from standard input, -or otherwise without a suffix that flags them as \*(C+ programs. -\&\fBg++\fR is a program that calls \s-1GCC\s0 with the default language -set to \*(C+, and automatically specifies linking against the \*(C+ -library. On many systems, \fBg++\fR is also -installed with the name \fBc++\fR. -.PP -When you compile \*(C+ programs, you may specify many of the same -command-line options that you use for compiling programs in any -language; or command-line options meaningful for C and related -languages; or options that are meaningful only for \*(C+ programs. -.Sh "Options Controlling C Dialect" -.IX Subsection "Options Controlling C Dialect" -The following options control the dialect of C (or languages derived -from C, such as \*(C+ and Objective-C) that the compiler accepts: -.Ip "\fB\-ansi\fR" 4 -.IX Item "-ansi" -In C mode, support all \s-1ISO\s0 C89 programs. In \*(C+ mode, -remove \s-1GNU\s0 extensions that conflict with \s-1ISO\s0 \*(C+. -.Sp -This turns off certain features of \s-1GCC\s0 that are incompatible with \s-1ISO\s0 -C89 (when compiling C code), or of standard \*(C+ (when compiling \*(C+ code), -such as the \f(CW\*(C`asm\*(C'\fR and \f(CW\*(C`typeof\*(C'\fR keywords, and -predefined macros such as \f(CW\*(C`unix\*(C'\fR and \f(CW\*(C`vax\*(C'\fR that identify the -type of system you are using. It also enables the undesirable and -rarely used \s-1ISO\s0 trigraph feature. For the C compiler, -it disables recognition of \*(C+ style \fB//\fR comments as well as -the \f(CW\*(C`inline\*(C'\fR keyword. -.Sp -The alternate keywords \f(CW\*(C`_\|_asm_\|_\*(C'\fR, \f(CW\*(C`_\|_extension_\|_\*(C'\fR, -\&\f(CW\*(C`_\|_inline_\|_\*(C'\fR and \f(CW\*(C`_\|_typeof_\|_\*(C'\fR continue to work despite -\&\fB\-ansi\fR. You would not want to use them in an \s-1ISO\s0 C program, of -course, but it is useful to put them in header files that might be included -in compilations done with \fB\-ansi\fR. Alternate predefined macros -such as \f(CW\*(C`_\|_unix_\|_\*(C'\fR and \f(CW\*(C`_\|_vax_\|_\*(C'\fR are also available, with or -without \fB\-ansi\fR. -.Sp -The \fB\-ansi\fR option does not cause non-ISO programs to be -rejected gratuitously. For that, \fB\-pedantic\fR is required in -addition to \fB\-ansi\fR. -.Sp -The macro \f(CW\*(C`_\|_STRICT_ANSI_\|_\*(C'\fR is predefined when the \fB\-ansi\fR -option is used. Some header files may notice this macro and refrain -from declaring certain functions or defining certain macros that the -\&\s-1ISO\s0 standard doesn't call for; this is to avoid interfering with any -programs that might use these names for other things. -.Sp -Functions which would normally be built in but do not have semantics -defined by \s-1ISO\s0 C (such as \f(CW\*(C`alloca\*(C'\fR and \f(CW\*(C`ffs\*(C'\fR) are not built-in -functions with \fB\-ansi\fR is used. -.Ip "\fB\-std=\fR" 4 -.IX Item "-std=" -Determine the language standard. This option is currently only -supported when compiling C. A value for this option must be provided; -possible values are -.RS 4 -.Ip "\fBc89\fR" 4 -.IX Item "c89" -.PD 0 -.Ip "\fBiso9899:1990\fR" 4 -.IX Item "iso9899:1990" -.PD -\&\s-1ISO\s0 C89 (same as \fB\-ansi\fR). -.Ip "\fBiso9899:199409\fR" 4 -.IX Item "iso9899:199409" -\&\s-1ISO\s0 C89 as modified in amendment 1. -.Ip "\fBc99\fR" 4 -.IX Item "c99" -.PD 0 -.Ip "\fBc9x\fR" 4 -.IX Item "c9x" -.Ip "\fBiso9899:1999\fR" 4 -.IX Item "iso9899:1999" -.Ip "\fBiso9899:199x\fR" 4 -.IX Item "iso9899:199x" -.PD -\&\s-1ISO\s0 C99. Note that this standard is not yet fully supported; see -<\fBhttp://gcc.gnu.org/gcc-3.1/c99status.html\fR> for more information. The -names \fBc9x\fR and \fBiso9899:199x\fR are deprecated. -.Ip "\fBgnu89\fR" 4 -.IX Item "gnu89" -Default, \s-1ISO\s0 C89 plus \s-1GNU\s0 extensions (including some C99 features). -.Ip "\fBgnu99\fR" 4 -.IX Item "gnu99" -.PD 0 -.Ip "\fBgnu9x\fR" 4 -.IX Item "gnu9x" -.PD -\&\s-1ISO\s0 C99 plus \s-1GNU\s0 extensions. When \s-1ISO\s0 C99 is fully implemented in \s-1GCC\s0, -this will become the default. The name \fBgnu9x\fR is deprecated. -.RE -.RS 4 -.Sp -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 \f(CW\*(C`_\|_restrict_\|_\*(C'\fR even -when \fB\-std=c99\fR is not specified. -.Sp -The \fB\-std\fR options specifying some version of \s-1ISO\s0 C have the same -effects as \fB\-ansi\fR, except that features that were not in \s-1ISO\s0 C89 -but are in the specified version (for example, \fB//\fR comments and -the \f(CW\*(C`inline\*(C'\fR keyword in \s-1ISO\s0 C99) are not disabled. -.RE -.Ip "\fB\-aux-info\fR \fIfilename\fR" 4 -.IX Item "-aux-info filename" -Output to the given filename prototyped declarations for all functions -declared and/or defined in a translation unit, including those in header -files. This option is silently ignored in any language other than C. -.Sp -Besides declarations, the file indicates, in comments, the origin of -each declaration (source file and line), whether the declaration was -implicit, prototyped or unprototyped (\fBI\fR, \fBN\fR for new or -\&\fBO\fR for old, respectively, in the first character after the line -number and the colon), and whether it came from a declaration or a -definition (\fBC\fR or \fBF\fR, respectively, in the following -character). In the case of function definitions, a K&R-style list of -arguments followed by their declarations is also provided, inside -comments, after the declaration. -.Ip "\fB\-fno-asm\fR" 4 -.IX Item "-fno-asm" -Do not recognize \f(CW\*(C`asm\*(C'\fR, \f(CW\*(C`inline\*(C'\fR or \f(CW\*(C`typeof\*(C'\fR as a -keyword, so that code can use these words as identifiers. You can use -the keywords \f(CW\*(C`_\|_asm_\|_\*(C'\fR, \f(CW\*(C`_\|_inline_\|_\*(C'\fR and \f(CW\*(C`_\|_typeof_\|_\*(C'\fR -instead. \fB\-ansi\fR implies \fB\-fno-asm\fR. -.Sp -In \*(C+, this switch only affects the \f(CW\*(C`typeof\*(C'\fR keyword, since -\&\f(CW\*(C`asm\*(C'\fR and \f(CW\*(C`inline\*(C'\fR are standard keywords. You may want to -use the \fB\-fno-gnu-keywords\fR flag instead, which has the same -effect. In C99 mode (\fB\-std=c99\fR or \fB\-std=gnu99\fR), this -switch only affects the \f(CW\*(C`asm\*(C'\fR and \f(CW\*(C`typeof\*(C'\fR keywords, since -\&\f(CW\*(C`inline\*(C'\fR is a standard keyword in \s-1ISO\s0 C99. -.Ip "\fB\-fno-builtin\fR" 4 -.IX Item "-fno-builtin" -.PD 0 -.Ip "\fB\-fno-builtin-\fR\fIfunction\fR\fB \fR(C and Objective-C only)" 4 -.IX Item "-fno-builtin-function (C and Objective-C only)" -.PD -Don't recognize built-in functions that do not begin with -\&\fB_\|_builtin_\fR as prefix. -.Sp -\&\s-1GCC\s0 normally generates special code to handle certain built-in functions -more efficiently; for instance, calls to \f(CW\*(C`alloca\*(C'\fR may become single -instructions that adjust the stack directly, and calls to \f(CW\*(C`memcpy\*(C'\fR -may become inline copy loops. The resulting code is often both smaller -and faster, but since the function calls no longer appear as such, you -cannot set a breakpoint on those calls, nor can you change the behavior -of the functions by linking with a different library. -.Sp -In \*(C+, \fB\-fno-builtin\fR is always in effect. The \fB\-fbuiltin\fR -option has no effect. Therefore, in \*(C+, the only way to get the -optimization benefits of built-in functions is to call the function -using the \fB_\|_builtin_\fR prefix. The \s-1GNU\s0 \*(C+ Standard Library uses -built-in functions to implement many functions (like -\&\f(CW\*(C`std::strchr\*(C'\fR), so that you automatically get efficient code. -.Sp -With the \fB\-fno-builtin-\fR\fIfunction\fR option, not available -when compiling \*(C+, only the built-in function \fIfunction\fR is -disabled. \fIfunction\fR must not begin with \fB_\|_builtin_\fR. If a -function is named this is not built-in in this version of \s-1GCC\s0, this -option is ignored. There is no corresponding -\&\fB\-fbuiltin-\fR\fIfunction\fR option; if you wish to enable -built-in functions selectively when using \fB\-fno-builtin\fR or -\&\fB\-ffreestanding\fR, you may define macros such as: -.Sp -.Vb 2 -\& #define abs(n) __builtin_abs ((n)) -\& #define strcpy(d, s) __builtin_strcpy ((d), (s)) -.Ve -.Ip "\fB\-fhosted\fR" 4 -.IX Item "-fhosted" -Assert that compilation takes place in a hosted environment. This implies -\&\fB\-fbuiltin\fR. A hosted environment is one in which the -entire standard library is available, and in which \f(CW\*(C`main\*(C'\fR has a return -type of \f(CW\*(C`int\*(C'\fR. Examples are nearly everything except a kernel. -This is equivalent to \fB\-fno-freestanding\fR. -.Ip "\fB\-ffreestanding\fR" 4 -.IX Item "-ffreestanding" -Assert that compilation takes place in a freestanding environment. This -implies \fB\-fno-builtin\fR. A freestanding environment -is one in which the standard library may not exist, and program startup may -not necessarily be at \f(CW\*(C`main\*(C'\fR. The most obvious example is an \s-1OS\s0 kernel. -This is equivalent to \fB\-fno-hosted\fR. -.Ip "\fB\-trigraphs\fR" 4 -.IX Item "-trigraphs" -Support \s-1ISO\s0 C trigraphs. The \fB\-ansi\fR option (and \fB\-std\fR -options for strict \s-1ISO\s0 C conformance) implies \fB\-trigraphs\fR. -.Ip "\fB\-no-integrated-cpp\fR" 4 -.IX Item "-no-integrated-cpp" -Invoke the external cpp during compilation. The default is to use the -integrated cpp (internal cpp). This option also allows a -user-supplied cpp via the \fB\-B\fR option. This flag is applicable -in both C and \*(C+ modes. -.Sp -We do not guarantee to retain this option in future, and we may change -its semantics. -.Ip "\fB\-traditional\fR" 4 -.IX Item "-traditional" -Attempt to support some aspects of traditional C compilers. -Specifically: -.RS 4 -.Ip "\(bu" 4 -All \f(CW\*(C`extern\*(C'\fR declarations take effect globally even if they -are written inside of a function definition. This includes implicit -declarations of functions. -.Ip "\(bu" 4 -The newer keywords \f(CW\*(C`typeof\*(C'\fR, \f(CW\*(C`inline\*(C'\fR, \f(CW\*(C`signed\*(C'\fR, \f(CW\*(C`const\*(C'\fR -and \f(CW\*(C`volatile\*(C'\fR are not recognized. (You can still use the -alternative keywords such as \f(CW\*(C`_\|_typeof_\|_\*(C'\fR, \f(CW\*(C`_\|_inline_\|_\*(C'\fR, and -so on.) -.Ip "\(bu" 4 -Comparisons between pointers and integers are always allowed. -.Ip "\(bu" 4 -Integer types \f(CW\*(C`unsigned short\*(C'\fR and \f(CW\*(C`unsigned char\*(C'\fR promote -to \f(CW\*(C`unsigned int\*(C'\fR. -.Ip "\(bu" 4 -Out-of-range floating point literals are not an error. -.Ip "\(bu" 4 -Certain constructs which \s-1ISO\s0 regards as a single invalid preprocessing -number, such as \fB0xe-0xd\fR, are treated as expressions instead. -.Ip "\(bu" 4 -String ``constants'' are not necessarily constant; they are stored in -writable space, and identical looking constants are allocated -separately. (This is the same as the effect of -\&\fB\-fwritable-strings\fR.) -.Ip "\(bu" 4 -All automatic variables not declared \f(CW\*(C`register\*(C'\fR are preserved by -\&\f(CW\*(C`longjmp\*(C'\fR. Ordinarily, \s-1GNU\s0 C follows \s-1ISO\s0 C: automatic variables -not declared \f(CW\*(C`volatile\*(C'\fR may be clobbered. -.Ip "\(bu" 4 -The character escape sequences \fB\ex\fR and \fB\ea\fR evaluate as the -literal characters \fBx\fR and \fBa\fR respectively. Without -\&\fB\-traditional\fR, \fB\ex\fR is a prefix for the hexadecimal -representation of a character, and \fB\ea\fR produces a bell. -.RE -.RS 4 -.Sp -This option is deprecated and may be removed. -.Sp -You may wish to use \fB\-fno-builtin\fR as well as \fB\-traditional\fR -if your program uses names that are normally \s-1GNU\s0 C built-in functions for -other purposes of its own. -.Sp -You cannot use \fB\-traditional\fR if you include any header files that -rely on \s-1ISO\s0 C features. Some vendors are starting to ship systems with -\&\s-1ISO\s0 C header files and you cannot use \fB\-traditional\fR on such -systems to compile files that include any system headers. -.Sp -The \fB\-traditional\fR option also enables \fB\-traditional-cpp\fR. -.RE -.Ip "\fB\-traditional-cpp\fR" 4 -.IX Item "-traditional-cpp" -Attempt to support some aspects of traditional C preprocessors. -See the \s-1GNU\s0 \s-1CPP\s0 manual for details. -.Ip "\fB\-fcond-mismatch\fR" 4 -.IX Item "-fcond-mismatch" -Allow conditional expressions with mismatched types in the second and -third arguments. The value of such an expression is void. This option -is not supported for \*(C+. -.Ip "\fB\-funsigned-char\fR" 4 -.IX Item "-funsigned-char" -Let the type \f(CW\*(C`char\*(C'\fR be unsigned, like \f(CW\*(C`unsigned char\*(C'\fR. -.Sp -Each kind of machine has a default for what \f(CW\*(C`char\*(C'\fR should -be. It is either like \f(CW\*(C`unsigned char\*(C'\fR by default or like -\&\f(CW\*(C`signed char\*(C'\fR by default. -.Sp -Ideally, a portable program should always use \f(CW\*(C`signed char\*(C'\fR or -\&\f(CW\*(C`unsigned char\*(C'\fR when it depends on the signedness of an object. -But many programs have been written to use plain \f(CW\*(C`char\*(C'\fR and -expect it to be signed, or expect it to be unsigned, depending on the -machines they were written for. This option, and its inverse, let you -make such a program work with the opposite default. -.Sp -The type \f(CW\*(C`char\*(C'\fR is always a distinct type from each of -\&\f(CW\*(C`signed char\*(C'\fR or \f(CW\*(C`unsigned char\*(C'\fR, even though its behavior -is always just like one of those two. -.Ip "\fB\-fsigned-char\fR" 4 -.IX Item "-fsigned-char" -Let the type \f(CW\*(C`char\*(C'\fR be signed, like \f(CW\*(C`signed char\*(C'\fR. -.Sp -Note that this is equivalent to \fB\-fno-unsigned-char\fR, which is -the negative form of \fB\-funsigned-char\fR. Likewise, the option -\&\fB\-fno-signed-char\fR is equivalent to \fB\-funsigned-char\fR. -.Ip "\fB\-fsigned-bitfields\fR" 4 -.IX Item "-fsigned-bitfields" -.PD 0 -.Ip "\fB\-funsigned-bitfields\fR" 4 -.IX Item "-funsigned-bitfields" -.Ip "\fB\-fno-signed-bitfields\fR" 4 -.IX Item "-fno-signed-bitfields" -.Ip "\fB\-fno-unsigned-bitfields\fR" 4 -.IX Item "-fno-unsigned-bitfields" -.PD -These options control whether a bit-field is signed or unsigned, when the -declaration does not use either \f(CW\*(C`signed\*(C'\fR or \f(CW\*(C`unsigned\*(C'\fR. By -default, such a bit-field is signed, because this is consistent: the -basic integer types such as \f(CW\*(C`int\*(C'\fR are signed types. -.Sp -However, when \fB\-traditional\fR is used, bit-fields are all unsigned -no matter what. -.Ip "\fB\-fwritable-strings\fR" 4 -.IX Item "-fwritable-strings" -Store string constants in the writable data segment and don't uniquize -them. This is for compatibility with old programs which assume they can -write into string constants. The option \fB\-traditional\fR also has -this effect. -.Sp -Writing into string constants is a very bad idea; ``constants'' should -be constant. -.Ip "\fB\-fallow-single-precision\fR" 4 -.IX Item "-fallow-single-precision" -Do not promote single precision math operations to double precision, -even when compiling with \fB\-traditional\fR. -.Sp -Traditional K&R C promotes all floating point operations to double -precision, regardless of the sizes of the operands. On the -architecture for which you are compiling, single precision may be faster -than double precision. If you must use \fB\-traditional\fR, but want -to use single precision operations when the operands are single -precision, use this option. This option has no effect when compiling -with \s-1ISO\s0 or \s-1GNU\s0 C conventions (the default). -.Sh "Options Controlling \*(C+ Dialect" -.IX Subsection "Options Controlling Dialect" -This section describes the command-line options that are only meaningful -for \*(C+ programs; but you can also use most of the \s-1GNU\s0 compiler options -regardless of what language your program is in. For example, you -might compile a file \f(CW\*(C`firstClass.C\*(C'\fR like this: -.PP -.Vb 1 -\& g++ -g -frepo -O -c firstClass.C -.Ve -In this example, only \fB\-frepo\fR is an option meant -only for \*(C+ programs; you can use the other options with any -language supported by \s-1GCC\s0. -.PP -Here is a list of options that are \fIonly\fR for compiling \*(C+ programs: -.Ip "\fB\-fno-access-control\fR" 4 -.IX Item "-fno-access-control" -Turn off all access checking. This switch is mainly useful for working -around bugs in the access control code. -.Ip "\fB\-fcheck-new\fR" 4 -.IX Item "-fcheck-new" -Check that the pointer returned by \f(CW\*(C`operator new\*(C'\fR is non-null -before attempting to modify the storage allocated. The current Working -Paper requires that \f(CW\*(C`operator new\*(C'\fR never return a null pointer, so -this check is normally unnecessary. -.Sp -An alternative to using this option is to specify that your -\&\f(CW\*(C`operator new\*(C'\fR does not throw any exceptions; if you declare it -\&\fB\f(BIthrow()\fB\fR, G++ will check the return value. See also \fBnew -(nothrow)\fR. -.Ip "\fB\-fconserve-space\fR" 4 -.IX Item "-fconserve-space" -Put uninitialized or runtime-initialized global variables into the -common segment, as C does. This saves space in the executable at the -cost of not diagnosing duplicate definitions. If you compile with this -flag and your program mysteriously crashes after \f(CW\*(C`main()\*(C'\fR has -completed, you may have an object that is being destroyed twice because -two definitions were merged. -.Sp -This option is no longer useful on most targets, now that support has -been added for putting variables into \s-1BSS\s0 without making them common. -.Ip "\fB\-fno-const-strings\fR" 4 -.IX Item "-fno-const-strings" -Give string constants type \f(CW\*(C`char *\*(C'\fR instead of type \f(CW\*(C`const -char *\*(C'\fR. By default, G++ uses type \f(CW\*(C`const char *\*(C'\fR as required by -the standard. Even if you use \fB\-fno-const-strings\fR, you cannot -actually modify the value of a string constant, unless you also use -\&\fB\-fwritable-strings\fR. -.Sp -This option might be removed in a future release of G++. For maximum -portability, you should structure your code so that it works with -string constants that have type \f(CW\*(C`const char *\*(C'\fR. -.Ip "\fB\-fdollars-in-identifiers\fR" 4 -.IX Item "-fdollars-in-identifiers" -Accept \fB$\fR in identifiers. You can also explicitly prohibit use of -\&\fB$\fR with the option \fB\-fno-dollars-in-identifiers\fR. (\s-1GNU\s0 C allows -\&\fB$\fR by default on most target systems, but there are a few exceptions.) -Traditional C allowed the character \fB$\fR to form part of -identifiers. However, \s-1ISO\s0 C and \*(C+ forbid \fB$\fR in identifiers. -.Ip "\fB\-fno-elide-constructors\fR" 4 -.IX Item "-fno-elide-constructors" -The \*(C+ standard allows an implementation to omit creating a temporary -which is only used to initialize another object of the same type. -Specifying this option disables that optimization, and forces G++ to -call the copy constructor in all cases. -.Ip "\fB\-fno-enforce-eh-specs\fR" 4 -.IX Item "-fno-enforce-eh-specs" -Don't check for violation of exception specifications at runtime. This -option violates the \*(C+ standard, but may be useful for reducing code -size in production builds, much like defining \fB\s-1NDEBUG\s0\fR. The compiler -will still optimize based on the exception specifications. -.Ip "\fB\-fexternal-templates\fR" 4 -.IX Item "-fexternal-templates" -Cause \fB#pragma interface\fR and \fBimplementation\fR to apply to -template instantiation; template instances are emitted or not according -to the location of the template definition. -.Sp -This option is deprecated. -.Ip "\fB\-falt-external-templates\fR" 4 -.IX Item "-falt-external-templates" -Similar to \fB\-fexternal-templates\fR, but template instances are -emitted or not according to the place where they are first instantiated. -.Sp -This option is deprecated. -.Ip "\fB\-ffor-scope\fR" 4 -.IX Item "-ffor-scope" -.PD 0 -.Ip "\fB\-fno-for-scope\fR" 4 -.IX Item "-fno-for-scope" -.PD -If \fB\-ffor-scope\fR is specified, the scope of variables declared in -a \fIfor-init-statement\fR is limited to the \fBfor\fR loop itself, -as specified by the \*(C+ standard. -If \fB\-fno-for-scope\fR is specified, the scope of variables declared in -a \fIfor-init-statement\fR extends to the end of the enclosing scope, -as was the case in old versions of G++, and other (traditional) -implementations of \*(C+. -.Sp -The default if neither flag is given to follow the standard, -but to allow and give a warning for old-style code that would -otherwise be invalid, or have different behavior. -.Ip "\fB\-fno-gnu-keywords\fR" 4 -.IX Item "-fno-gnu-keywords" -Do not recognize \f(CW\*(C`typeof\*(C'\fR as a keyword, so that code can use this -word as an identifier. You can use the keyword \f(CW\*(C`_\|_typeof_\|_\*(C'\fR instead. -\&\fB\-ansi\fR implies \fB\-fno-gnu-keywords\fR. -.Ip "\fB\-fno-implicit-templates\fR" 4 -.IX Item "-fno-implicit-templates" -Never emit code for non-inline templates which are instantiated -implicitly (i.e. by use); only emit code for explicit instantiations. -.Ip "\fB\-fno-implicit-inline-templates\fR" 4 -.IX Item "-fno-implicit-inline-templates" -Don't emit code for implicit instantiations of inline templates, either. -The default is to handle inlines differently so that compiles with and -without optimization will need the same set of explicit instantiations. -.Ip "\fB\-fno-implement-inlines\fR" 4 -.IX Item "-fno-implement-inlines" -To save space, do not emit out-of-line copies of inline functions -controlled by \fB#pragma implementation\fR. This will cause linker -errors if these functions are not inlined everywhere they are called. -.Ip "\fB\-fms-extensions\fR" 4 -.IX Item "-fms-extensions" -Disable pedantic warnings about constructs used in \s-1MFC\s0, such as implicit -int and getting a pointer to member function via non-standard syntax. -.Ip "\fB\-fno-nonansi-builtins\fR" 4 -.IX Item "-fno-nonansi-builtins" -Disable built-in declarations of functions that are not mandated by -\&\s-1ANSI/ISO\s0 C. These include \f(CW\*(C`ffs\*(C'\fR, \f(CW\*(C`alloca\*(C'\fR, \f(CW\*(C`_exit\*(C'\fR, -\&\f(CW\*(C`index\*(C'\fR, \f(CW\*(C`bzero\*(C'\fR, \f(CW\*(C`conjf\*(C'\fR, and other related functions. -.Ip "\fB\-fno-operator-names\fR" 4 -.IX Item "-fno-operator-names" -Do not treat the operator name keywords \f(CW\*(C`and\*(C'\fR, \f(CW\*(C`bitand\*(C'\fR, -\&\f(CW\*(C`bitor\*(C'\fR, \f(CW\*(C`compl\*(C'\fR, \f(CW\*(C`not\*(C'\fR, \f(CW\*(C`or\*(C'\fR and \f(CW\*(C`xor\*(C'\fR as -synonyms as keywords. -.Ip "\fB\-fno-optional-diags\fR" 4 -.IX Item "-fno-optional-diags" -Disable diagnostics that the standard says a compiler does not need to -issue. Currently, the only such diagnostic issued by G++ is the one for -a name having multiple meanings within a class. -.Ip "\fB\-fpermissive\fR" 4 -.IX Item "-fpermissive" -Downgrade messages about nonconformant code from errors to warnings. By -default, G++ effectively sets \fB\-pedantic-errors\fR without -\&\fB\-pedantic\fR; this option reverses that. This behavior and this -option are superseded by \fB\-pedantic\fR, which works as it does for \s-1GNU\s0 C. -.Ip "\fB\-frepo\fR" 4 -.IX Item "-frepo" -Enable automatic template instantiation at link time. This option also -implies \fB\-fno-implicit-templates\fR. -.Ip "\fB\-fno-rtti\fR" 4 -.IX Item "-fno-rtti" -Disable generation of information about every class with virtual -functions for use by the \*(C+ runtime type identification features -(\fBdynamic_cast\fR and \fBtypeid\fR). If you don't use those parts -of the language, you can save some space by using this flag. Note that -exception handling uses the same information, but it will generate it as -needed. -.Ip "\fB\-fstats\fR" 4 -.IX Item "-fstats" -Emit statistics about front-end processing at the end of the compilation. -This information is generally only useful to the G++ development team. -.Ip "\fB\-ftemplate-depth-\fR\fIn\fR" 4 -.IX Item "-ftemplate-depth-n" -Set the maximum instantiation depth for template classes to \fIn\fR. -A limit on the template instantiation depth is needed to detect -endless recursions during template class instantiation. \s-1ANSI/ISO\s0 \*(C+ -conforming programs must not rely on a maximum depth greater than 17. -.Ip "\fB\-fuse-cxa-atexit\fR" 4 -.IX Item "-fuse-cxa-atexit" -Register destructors for objects with static storage duration with the -\&\f(CW\*(C`_\|_cxa_atexit\*(C'\fR function rather than the \f(CW\*(C`atexit\*(C'\fR function. -This option is required for fully standards-compliant handling of static -destructors, but will only work if your C library supports -\&\f(CW\*(C`_\|_cxa_atexit\*(C'\fR. -.Ip "\fB\-fvtable-gc\fR" 4 -.IX Item "-fvtable-gc" -Emit special relocations for vtables and virtual function references -so that the linker can identify unused virtual functions and zero out -vtable slots that refer to them. This is most useful with -\&\fB\-ffunction-sections\fR and \fB\-Wl,\-\-gc-sections\fR, in order to -also discard the functions themselves. -.Sp -This optimization requires \s-1GNU\s0 as and \s-1GNU\s0 ld. Not all systems support -this option. \fB\-Wl,\-\-gc-sections\fR is ignored without \fB\-static\fR. -.Ip "\fB\-fno-weak\fR" 4 -.IX Item "-fno-weak" -Do not use weak symbol support, even if it is provided by the linker. -By default, G++ will use weak symbols if they are available. This -option exists only for testing, and should not be used by end-users; -it will result in inferior code and has no benefits. This option may -be removed in a future release of G++. -.Ip "\fB\-nostdinc++\fR" 4 -.IX Item "-nostdinc++" -Do not search for header files in the standard directories specific to -\&\*(C+, but do still search the other standard directories. (This option -is used when building the \*(C+ library.) -.PP -In addition, these optimization, warning, and code generation options -have meanings only for \*(C+ programs: -.Ip "\fB\-fno-default-inline\fR" 4 -.IX Item "-fno-default-inline" -Do not assume \fBinline\fR for functions defined inside a class scope. - Note that these -functions will have linkage like inline functions; they just won't be -inlined by default. -.Ip "\fB\-Wabi\fR (\*(C+ only)" 4 -.IX Item "-Wabi ( only)" -Warn when G++ generates code that is probably not compatible with the -vendor-neutral \*(C+ \s-1ABI\s0. Although an effort has been made to warn about -all such cases, there are probably some cases that are not warned about, -even though G++ is generating incompatible code. There may also be -cases where warnings are emitted even though the code that is generated -will be compatible. -.Sp -You should rewrite your code to avoid these warnings if you are -concerned about the fact that code generated by G++ may not be binary -compatible with code generated by other compilers. -.Sp -The known incompatibilites at this point include: -.RS 4 -.Ip "\(bu" 4 -Incorrect handling of tail-padding for bit-fields. G++ may attempt to -pack data into the same byte as a base class. For example: -.Sp -.Vb 2 -\& struct A { virtual void f(); int f1 : 1; }; -\& struct B : public A { int f2 : 1; }; -.Ve -In this case, G++ will place \f(CW\*(C`B::f2\*(C'\fR into the same byte -as\f(CW\*(C`A::f1\*(C'\fR; other compilers will not. You can avoid this problem -by explicitly padding \f(CW\*(C`A\*(C'\fR so that its size is a multiple of the -byte size on your platform; that will cause G++ and other compilers to -layout \f(CW\*(C`B\*(C'\fR identically. -.Ip "\(bu" 4 -Incorrect handling of tail-padding for virtual bases. G++ does not use -tail padding when laying out virtual bases. For example: -.Sp -.Vb 3 -\& struct A { virtual void f(); char c1; }; -\& struct B { B(); char c2; }; -\& struct C : public A, public virtual B {}; -.Ve -In this case, G++ will not place \f(CW\*(C`B\*(C'\fR into the tail-padding for -\&\f(CW\*(C`A\*(C'\fR; other compilers will. You can avoid this problem by -explicitly padding \f(CW\*(C`A\*(C'\fR so that its size is a multiple of its -alignment (ignoring virtual base classes); that will cause G++ and other -compilers to layout \f(CW\*(C`C\*(C'\fR identically. -.RE -.RS 4 -.RE -.Ip "\fB\-Wctor-dtor-privacy\fR (\*(C+ only)" 4 -.IX Item "-Wctor-dtor-privacy ( only)" -Warn when a class seems unusable, because all the constructors or -destructors in a class are private and the class has no friends or -public static member functions. -.Ip "\fB\-Wnon-virtual-dtor\fR (\*(C+ only)" 4 -.IX Item "-Wnon-virtual-dtor ( only)" -Warn when a class declares a non-virtual destructor that should probably -be virtual, because it looks like the class will be used polymorphically. -.Ip "\fB\-Wreorder\fR (\*(C+ only)" 4 -.IX Item "-Wreorder ( only)" -Warn when the order of member initializers given in the code does not -match the order in which they must be executed. For instance: -.Sp -.Vb 5 -\& struct A { -\& int i; -\& int j; -\& A(): j (0), i (1) { } -\& }; -.Ve -Here the compiler will warn that the member initializers for \fBi\fR -and \fBj\fR will be rearranged to match the declaration order of the -members. -.PP -The following \fB\-W...\fR options are not affected by \fB\-Wall\fR. -.Ip "\fB\-Weffc++\fR (\*(C+ only)" 4 -.IX Item "-Weffc++ ( only)" -Warn about violations of the following style guidelines from Scott Meyers' -\&\fIEffective \*(C+\fR book: -.RS 4 -.Ip "\(bu" 4 -Item 11: Define a copy constructor and an assignment operator for classes -with dynamically allocated memory. -.Ip "\(bu" 4 -Item 12: Prefer initialization to assignment in constructors. -.Ip "\(bu" 4 -Item 14: Make destructors virtual in base classes. -.Ip "\(bu" 4 -Item 15: Have \f(CW\*(C`operator=\*(C'\fR return a reference to \f(CW\*(C`*this\*(C'\fR. -.Ip "\(bu" 4 -Item 23: Don't try to return a reference when you must return an object. -.RE -.RS 4 -.Sp -and about violations of the following style guidelines from Scott Meyers' -\&\fIMore Effective \*(C+\fR book: -.RS 4 -.RE -.Ip "\(bu" 4 -Item 6: Distinguish between prefix and postfix forms of increment and -decrement operators. -.Ip "\(bu" 4 -Item 7: Never overload \f(CW\*(C`&&\*(C'\fR, \f(CW\*(C`||\*(C'\fR, or \f(CW\*(C`,\*(C'\fR. -.RE -.RS 4 -.Sp -If you use this option, you should be aware that the standard library -headers do not obey all of these guidelines; you can use \fBgrep \-v\fR -to filter out those warnings. -.RE -.Ip "\fB\-Wno-deprecated\fR (\*(C+ only)" 4 -.IX Item "-Wno-deprecated ( only)" -Do not warn about usage of deprecated features. -.Ip "\fB\-Wno-non-template-friend\fR (\*(C+ only)" 4 -.IX Item "-Wno-non-template-friend ( only)" -Disable warnings when non-templatized friend functions are declared -within a template. With the advent of explicit template specification -support in G++, if the name of the friend is an unqualified-id (i.e., -\&\fBfriend foo(int)\fR), the \*(C+ language specification demands that the -friend declare or define an ordinary, nontemplate function. (Section -14.5.3). Before G++ implemented explicit specification, unqualified-ids -could be interpreted as a particular specialization of a templatized -function. Because this non-conforming behavior is no longer the default -behavior for G++, \fB\-Wnon-template-friend\fR allows the compiler to -check existing code for potential trouble spots, and is on by default. -This new compiler behavior can be turned off with -\&\fB\-Wno-non-template-friend\fR which keeps the conformant compiler code -but disables the helpful warning. -.Ip "\fB\-Wold-style-cast\fR (\*(C+ only)" 4 -.IX Item "-Wold-style-cast ( only)" -Warn if an old-style (C-style) cast to a non-void type is used within -a \*(C+ program. The new-style casts (\fBstatic_cast\fR, -\&\fBreinterpret_cast\fR, and \fBconst_cast\fR) are less vulnerable to -unintended effects, and much easier to grep for. -.Ip "\fB\-Woverloaded-virtual\fR (\*(C+ only)" 4 -.IX Item "-Woverloaded-virtual ( only)" -Warn when a function declaration hides virtual functions from a -base class. For example, in: -.Sp -.Vb 3 -\& struct A { -\& virtual void f(); -\& }; -.Ve -.Vb 3 -\& struct B: public A { -\& void f(int); -\& }; -.Ve -the \f(CW\*(C`A\*(C'\fR class version of \f(CW\*(C`f\*(C'\fR is hidden in \f(CW\*(C`B\*(C'\fR, and code -like this: -.Sp -.Vb 2 -\& B* b; -\& b->f(); -.Ve -will fail to compile. -.Ip "\fB\-Wno-pmf-conversions\fR (\*(C+ only)" 4 -.IX Item "-Wno-pmf-conversions ( only)" -Disable the diagnostic for converting a bound pointer to member function -to a plain pointer. -.Ip "\fB\-Wsign-promo\fR (\*(C+ only)" 4 -.IX Item "-Wsign-promo ( only)" -Warn when overload resolution chooses a promotion from unsigned or -enumeral type to a signed type over a conversion to an unsigned type of -the same size. Previous versions of G++ would try to preserve -unsignedness, but the standard mandates the current behavior. -.Ip "\fB\-Wsynth\fR (\*(C+ only)" 4 -.IX Item "-Wsynth ( only)" -Warn when G++'s synthesis behavior does not match that of cfront. For -instance: -.Sp -.Vb 4 -\& struct A { -\& operator int (); -\& A& operator = (int); -\& }; -.Ve -.Vb 5 -\& main () -\& { -\& A a,b; -\& a = b; -\& } -.Ve -In this example, G++ will synthesize a default \fBA& operator = -(const A&);\fR, while cfront will use the user-defined \fBoperator =\fR. -.Sh "Options Controlling Objective-C Dialect" -.IX Subsection "Options Controlling Objective-C Dialect" -This section describes the command-line options that are only meaningful -for Objective-C programs; but you can also use most of the \s-1GNU\s0 compiler -options regardless of what language your program is in. For example, -you might compile a file \f(CW\*(C`some_class.m\*(C'\fR like this: -.PP -.Vb 1 -\& gcc -g -fgnu-runtime -O -c some_class.m -.Ve -In this example, only \fB\-fgnu-runtime\fR is an option meant only for -Objective-C programs; you can use the other options with any language -supported by \s-1GCC\s0. -.PP -Here is a list of options that are \fIonly\fR for compiling Objective-C -programs: -.Ip "\fB\-fconstant-string-class=\fR\fIclass-name\fR" 4 -.IX Item "-fconstant-string-class=class-name" -Use \fIclass-name\fR as the name of the class to instantiate for each -literal string specified with the syntax \f(CW\*(C`@"..."\*(C'\fR. The default -class name is \f(CW\*(C`NXConstantString\*(C'\fR. -.Ip "\fB\-fgnu-runtime\fR" 4 -.IX Item "-fgnu-runtime" -Generate object code compatible with the standard \s-1GNU\s0 Objective-C -runtime. This is the default for most types of systems. -.Ip "\fB\-fnext-runtime\fR" 4 -.IX Item "-fnext-runtime" -Generate output compatible with the NeXT runtime. This is the default -for NeXT-based systems, including Darwin and Mac \s-1OS\s0 X. -.Ip "\fB\-gen-decls\fR" 4 -.IX Item "-gen-decls" -Dump interface declarations for all classes seen in the source file to a -file named \fI\fIsourcename\fI.decl\fR. -.Ip "\fB\-Wno-protocol\fR" 4 -.IX Item "-Wno-protocol" -Do not warn if methods required by a protocol are not implemented -in the class adopting it. -.Ip "\fB\-Wselector\fR" 4 -.IX Item "-Wselector" -Warn if a selector has multiple methods of different types defined. -.Sh "Options to Control Diagnostic Messages Formatting" -.IX Subsection "Options to Control Diagnostic Messages Formatting" -Traditionally, diagnostic messages have been formatted irrespective of -the output device's aspect (e.g. its width, ...). The options described -below can be used to control the diagnostic messages formatting -algorithm, e.g. how many characters per line, how often source location -information should be reported. Right now, only the \*(C+ front end can -honor these options. However it is expected, in the near future, that -the remaining front ends would be able to digest them correctly. -.Ip "\fB\-fmessage-length=\fR\fIn\fR" 4 -.IX Item "-fmessage-length=n" -Try to format error messages so that they fit on lines of about \fIn\fR -characters. The default is 72 characters for \fBg++\fR and 0 for the rest of -the front ends supported by \s-1GCC\s0. If \fIn\fR is zero, then no -line-wrapping will be done; each error message will appear on a single -line. -.Ip "\fB\-fdiagnostics-show-location=once\fR" 4 -.IX Item "-fdiagnostics-show-location=once" -Only meaningful in line-wrapping mode. Instructs the diagnostic messages -reporter to emit \fIonce\fR source location information; that is, in -case the message is too long to fit on a single physical line and has to -be wrapped, the source location won't be emitted (as prefix) again, -over and over, in subsequent continuation lines. This is the default -behavior. -.Ip "\fB\-fdiagnostics-show-location=every-line\fR" 4 -.IX Item "-fdiagnostics-show-location=every-line" -Only meaningful in line-wrapping mode. Instructs the diagnostic -messages reporter to emit the same source location information (as -prefix) for physical lines that result from the process of breaking -a message which is too long to fit on a single line. -.Sh "Options to Request or Suppress Warnings" -.IX Subsection "Options to Request or Suppress Warnings" -Warnings are diagnostic messages that report constructions which -are not inherently erroneous but which are risky or suggest there -may have been an error. -.PP -You can request many specific warnings with options beginning \fB\-W\fR, -for example \fB\-Wimplicit\fR to request warnings on implicit -declarations. Each of these specific warning options also has a -negative form beginning \fB\-Wno-\fR to turn off warnings; -for example, \fB\-Wno-implicit\fR. This manual lists only one of the -two forms, whichever is not the default. -.PP -The following options control the amount and kinds of warnings produced -by \s-1GCC\s0; for further, language-specific options also refer to -\&\f(CW@ref\fR{\*(C+ Dialect Options} and \f(CW@ref\fR{Objective-C Dialect Options}. -.Ip "\fB\-fsyntax-only\fR" 4 -.IX Item "-fsyntax-only" -Check the code for syntax errors, but don't do anything beyond that. -.Ip "\fB\-pedantic\fR" 4 -.IX Item "-pedantic" -Issue all the warnings demanded by strict \s-1ISO\s0 C and \s-1ISO\s0 \*(C+; -reject all programs that use forbidden extensions, and some other -programs that do not follow \s-1ISO\s0 C and \s-1ISO\s0 \*(C+. For \s-1ISO\s0 C, follows the -version of the \s-1ISO\s0 C standard specified by any \fB\-std\fR option used. -.Sp -Valid \s-1ISO\s0 C and \s-1ISO\s0 \*(C+ programs should compile properly with or without -this option (though a rare few will require \fB\-ansi\fR or a -\&\fB\-std\fR option specifying the required version of \s-1ISO\s0 C). However, -without this option, certain \s-1GNU\s0 extensions and traditional C and \*(C+ -features are supported as well. With this option, they are rejected. -.Sp -\&\fB\-pedantic\fR does not cause warning messages for use of the -alternate keywords whose names begin and end with \fB_\|_\fR. Pedantic -warnings are also disabled in the expression that follows -\&\f(CW\*(C`_\|_extension_\|_\*(C'\fR. However, only system header files should use -these escape routes; application programs should avoid them. -.Sp -Some users try to use \fB\-pedantic\fR to check programs for strict \s-1ISO\s0 -C conformance. They soon find that it does not do quite what they want: -it finds some non-ISO practices, but not all\-\-\-only those for which -\&\s-1ISO\s0 C \fIrequires\fR a diagnostic, and some others for which -diagnostics have been added. -.Sp -A feature to report any failure to conform to \s-1ISO\s0 C might be useful in -some instances, but would require considerable additional work and would -be quite different from \fB\-pedantic\fR. We don't have plans to -support such a feature in the near future. -.Sp -Where the standard specified with \fB\-std\fR represents a \s-1GNU\s0 -extended dialect of C, such as \fBgnu89\fR or \fBgnu99\fR, there is a -corresponding \fIbase standard\fR, the version of \s-1ISO\s0 C on which the \s-1GNU\s0 -extended dialect is based. Warnings from \fB\-pedantic\fR are given -where they are required by the base standard. (It would not make sense -for such warnings to be given only for features not in the specified \s-1GNU\s0 -C dialect, since by definition the \s-1GNU\s0 dialects of C include all -features the compiler supports with the given option, and there would be -nothing to warn about.) -.Ip "\fB\-pedantic-errors\fR" 4 -.IX Item "-pedantic-errors" -Like \fB\-pedantic\fR, except that errors are produced rather than -warnings. -.Ip "\fB\-w\fR" 4 -.IX Item "-w" -Inhibit all warning messages. -.Ip "\fB\-Wno-import\fR" 4 -.IX Item "-Wno-import" -Inhibit warning messages about the use of \fB#import\fR. -.Ip "\fB\-Wchar-subscripts\fR" 4 -.IX Item "-Wchar-subscripts" -Warn if an array subscript has type \f(CW\*(C`char\*(C'\fR. This is a common cause -of error, as programmers often forget that this type is signed on some -machines. -.Ip "\fB\-Wcomment\fR" 4 -.IX Item "-Wcomment" -Warn whenever a comment-start sequence \fB/*\fR appears in a \fB/*\fR -comment, or whenever a Backslash-Newline appears in a \fB//\fR comment. -.Ip "\fB\-Wformat\fR" 4 -.IX Item "-Wformat" -Check calls to \f(CW\*(C`printf\*(C'\fR and \f(CW\*(C`scanf\*(C'\fR, etc., to make sure that -the arguments supplied have types appropriate to the format string -specified, and that the conversions specified in the format string make -sense. This includes standard functions, and others specified by format -attributes, in the \f(CW\*(C`printf\*(C'\fR, -\&\f(CW\*(C`scanf\*(C'\fR, \f(CW\*(C`strftime\*(C'\fR and \f(CW\*(C`strfmon\*(C'\fR (an X/Open extension, -not in the C standard) families. -.Sp -The formats are checked against the format features supported by \s-1GNU\s0 -libc version 2.2. These include all \s-1ISO\s0 C89 and C99 features, as well -as features from the Single Unix Specification and some \s-1BSD\s0 and \s-1GNU\s0 -extensions. Other library implementations may not support all these -features; \s-1GCC\s0 does not support warning about features that go beyond a -particular library's limitations. However, if \fB\-pedantic\fR is used -with \fB\-Wformat\fR, warnings will be given about format features not -in the selected standard version (but not for \f(CW\*(C`strfmon\*(C'\fR formats, -since those are not in any version of the C standard). -.Sp -\&\fB\-Wformat\fR is included in \fB\-Wall\fR. For more control over some -aspects of format checking, the options \fB\-Wno-format-y2k\fR, -\&\fB\-Wno-format-extra-args\fR, \fB\-Wformat-nonliteral\fR, -\&\fB\-Wformat-security\fR and \fB\-Wformat=2\fR are available, but are -not included in \fB\-Wall\fR. -.Ip "\fB\-Wno-format-y2k\fR" 4 -.IX Item "-Wno-format-y2k" -If \fB\-Wformat\fR is specified, do not warn about \f(CW\*(C`strftime\*(C'\fR -formats which may yield only a two-digit year. -.Ip "\fB\-Wno-format-extra-args\fR" 4 -.IX Item "-Wno-format-extra-args" -If \fB\-Wformat\fR is specified, do not warn about excess arguments to a -\&\f(CW\*(C`printf\*(C'\fR or \f(CW\*(C`scanf\*(C'\fR format function. The C standard specifies -that such arguments are ignored. -.Sp -Where the unused arguments lie between used arguments that are -specified with \fB$\fR operand number specifications, normally -warnings are still given, since the implementation could not know what -type to pass to \f(CW\*(C`va_arg\*(C'\fR to skip the unused arguments. However, -in the case of \f(CW\*(C`scanf\*(C'\fR formats, this option will suppress the -warning if the unused arguments are all pointers, since the Single -Unix Specification says that such unused arguments are allowed. -.Ip "\fB\-Wformat-nonliteral\fR" 4 -.IX Item "-Wformat-nonliteral" -If \fB\-Wformat\fR is specified, also warn if the format string is not a -string literal and so cannot be checked, unless the format function -takes its format arguments as a \f(CW\*(C`va_list\*(C'\fR. -.Ip "\fB\-Wformat-security\fR" 4 -.IX Item "-Wformat-security" -If \fB\-Wformat\fR is specified, also warn about uses of format -functions that represent possible security problems. At present, this -warns about calls to \f(CW\*(C`printf\*(C'\fR and \f(CW\*(C`scanf\*(C'\fR functions where the -format string is not a string literal and there are no format arguments, -as in \f(CW\*(C`printf (foo);\*(C'\fR. This may be a security hole if the format -string came from untrusted input and contains \fB%n\fR. (This is -currently a subset of what \fB\-Wformat-nonliteral\fR warns about, but -in future warnings may be added to \fB\-Wformat-security\fR that are not -included in \fB\-Wformat-nonliteral\fR.) -.Ip "\fB\-Wformat=2\fR" 4 -.IX Item "-Wformat=2" -Enable \fB\-Wformat\fR plus format checks not included in -\&\fB\-Wformat\fR. Currently equivalent to \fB\-Wformat -\&\-Wformat-nonliteral \-Wformat-security\fR. -.Ip "\fB\-Wimplicit-int\fR" 4 -.IX Item "-Wimplicit-int" -Warn when a declaration does not specify a type. -.Ip "\fB\-Wimplicit-function-declaration\fR" 4 -.IX Item "-Wimplicit-function-declaration" -.PD 0 -.Ip "\fB\-Werror-implicit-function-declaration\fR" 4 -.IX Item "-Werror-implicit-function-declaration" -.PD -Give a warning (or error) whenever a function is used before being -declared. -.Ip "\fB\-Wimplicit\fR" 4 -.IX Item "-Wimplicit" -Same as \fB\-Wimplicit-int\fR and \fB\-Wimplicit-function-declaration\fR. -.Ip "\fB\-Wmain\fR" 4 -.IX Item "-Wmain" -Warn if the type of \fBmain\fR is suspicious. \fBmain\fR should be a -function with external linkage, returning int, taking either zero -arguments, two, or three arguments of appropriate types. -.Ip "\fB\-Wmissing-braces\fR" 4 -.IX Item "-Wmissing-braces" -Warn if an aggregate or union initializer is not fully bracketed. In -the following example, the initializer for \fBa\fR is not fully -bracketed, but that for \fBb\fR is fully bracketed. -.Sp -.Vb 2 -\& int a[2][2] = { 0, 1, 2, 3 }; -\& int b[2][2] = { { 0, 1 }, { 2, 3 } }; -.Ve -.Ip "\fB\-Wparentheses\fR" 4 -.IX Item "-Wparentheses" -Warn if parentheses are omitted in certain contexts, such -as when there is an assignment in a context where a truth value -is expected, or when operators are nested whose precedence people -often get confused about. -.Sp -Also warn about constructions where there may be confusion to which -\&\f(CW\*(C`if\*(C'\fR statement an \f(CW\*(C`else\*(C'\fR branch belongs. Here is an example of -such a case: -.Sp -.Vb 7 -\& { -\& if (a) -\& if (b) -\& foo (); -\& else -\& bar (); -\& } -.Ve -In C, every \f(CW\*(C`else\*(C'\fR branch belongs to the innermost possible \f(CW\*(C`if\*(C'\fR -statement, which in this example is \f(CW\*(C`if (b)\*(C'\fR. This is often not -what the programmer expected, as illustrated in the above example by -indentation the programmer chose. When there is the potential for this -confusion, \s-1GCC\s0 will issue a warning when this flag is specified. -To eliminate the warning, add explicit braces around the innermost -\&\f(CW\*(C`if\*(C'\fR statement so there is no way the \f(CW\*(C`else\*(C'\fR could belong to -the enclosing \f(CW\*(C`if\*(C'\fR. The resulting code would look like this: -.Sp -.Vb 9 -\& { -\& if (a) -\& { -\& if (b) -\& foo (); -\& else -\& bar (); -\& } -\& } -.Ve -.Ip "\fB\-Wsequence-point\fR" 4 -.IX Item "-Wsequence-point" -Warn about code that may have undefined semantics because of violations -of sequence point rules in the C standard. -.Sp -The C standard defines the order in which expressions in a C program are -evaluated in terms of \fIsequence points\fR, which represent a partial -ordering between the execution of parts of the program: those executed -before the sequence point, and those executed after it. These occur -after the evaluation of a full expression (one which is not part of a -larger expression), after the evaluation of the first operand of a -\&\f(CW\*(C`&&\*(C'\fR, \f(CW\*(C`||\*(C'\fR, \f(CW\*(C`? :\*(C'\fR or \f(CW\*(C`,\*(C'\fR (comma) operator, before a -function is called (but after the evaluation of its arguments and the -expression denoting the called function), and in certain other places. -Other than as expressed by the sequence point rules, the order of -evaluation of subexpressions of an expression is not specified. All -these rules describe only a partial order rather than a total order, -since, for example, if two functions are called within one expression -with no sequence point between them, the order in which the functions -are called is not specified. However, the standards committee have -ruled that function calls do not overlap. -.Sp -It is not specified when between sequence points modifications to the -values of objects take effect. Programs whose behavior depends on this -have undefined behavior; the C standard specifies that ``Between the -previous and next sequence point an object shall have its stored value -modified at most once by the evaluation of an expression. Furthermore, -the prior value shall be read only to determine the value to be -stored.''. If a program breaks these rules, the results on any -particular implementation are entirely unpredictable. -.Sp -Examples of code with undefined behavior are \f(CW\*(C`a = a++;\*(C'\fR, \f(CW\*(C`a[n] -= b[n++]\*(C'\fR and \f(CW\*(C`a[i++] = i;\*(C'\fR. Some more complicated cases are not -diagnosed by this option, and it may give an occasional false positive -result, but in general it has been found fairly effective at detecting -this sort of problem in programs. -.Sp -The present implementation of this option only works for C programs. A -future implementation may also work for \*(C+ programs. -.Sp -The C standard is worded confusingly, therefore there is some debate -over the precise meaning of the sequence point rules in subtle cases. -Links to discussions of the problem, including proposed formal -definitions, may be found on our readings page, at -<\fBhttp://gcc.gnu.org/readings.html\fR>. -.Ip "\fB\-Wreturn-type\fR" 4 -.IX Item "-Wreturn-type" -Warn whenever a function is defined with a return-type that defaults to -\&\f(CW\*(C`int\*(C'\fR. Also warn about any \f(CW\*(C`return\*(C'\fR statement with no -return-value in a function whose return-type is not \f(CW\*(C`void\*(C'\fR. -.Sp -For \*(C+, a function without return type always produces a diagnostic -message, even when \fB\-Wno-return-type\fR is specified. The only -exceptions are \fBmain\fR and functions defined in system headers. -.Ip "\fB\-Wswitch\fR" 4 -.IX Item "-Wswitch" -Warn whenever a \f(CW\*(C`switch\*(C'\fR statement has an index of enumeral type -and lacks a \f(CW\*(C`case\*(C'\fR for one or more of the named codes of that -enumeration. (The presence of a \f(CW\*(C`default\*(C'\fR label prevents this -warning.) \f(CW\*(C`case\*(C'\fR labels outside the enumeration range also -provoke warnings when this option is used. -.Ip "\fB\-Wtrigraphs\fR" 4 -.IX Item "-Wtrigraphs" -Warn if any trigraphs are encountered that might change the meaning of -the program (trigraphs within comments are not warned about). -.Ip "\fB\-Wunused-function\fR" 4 -.IX Item "-Wunused-function" -Warn whenever a static function is declared but not defined or a -non\e-inline static function is unused. -.Ip "\fB\-Wunused-label\fR" 4 -.IX Item "-Wunused-label" -Warn whenever a label is declared but not used. -.Sp -To suppress this warning use the \fBunused\fR attribute. -.Ip "\fB\-Wunused-parameter\fR" 4 -.IX Item "-Wunused-parameter" -Warn whenever a function parameter is unused aside from its declaration. -.Sp -To suppress this warning use the \fBunused\fR attribute. -.Ip "\fB\-Wunused-variable\fR" 4 -.IX Item "-Wunused-variable" -Warn whenever a local variable or non-constant static variable is unused -aside from its declaration -.Sp -To suppress this warning use the \fBunused\fR attribute. -.Ip "\fB\-Wunused-value\fR" 4 -.IX Item "-Wunused-value" -Warn whenever a statement computes a result that is explicitly not used. -.Sp -To suppress this warning cast the expression to \fBvoid\fR. -.Ip "\fB\-Wunused\fR" 4 -.IX Item "-Wunused" -All all the above \fB\-Wunused\fR options combined. -.Sp -In order to get a warning about an unused function parameter, you must -either specify \fB\-W \-Wunused\fR or separately specify -\&\fB\-Wunused-parameter\fR. -.Ip "\fB\-Wuninitialized\fR" 4 -.IX Item "-Wuninitialized" -Warn if an automatic variable is used without first being initialized or -if a variable may be clobbered by a \f(CW\*(C`setjmp\*(C'\fR call. -.Sp -These warnings are possible only in optimizing compilation, -because they require data flow information that is computed only -when optimizing. If you don't specify \fB\-O\fR, you simply won't -get these warnings. -.Sp -These warnings occur only for variables that are candidates for -register allocation. Therefore, they do not occur for a variable that -is declared \f(CW\*(C`volatile\*(C'\fR, or whose address is taken, or whose size -is other than 1, 2, 4 or 8 bytes. Also, they do not occur for -structures, unions or arrays, even when they are in registers. -.Sp -Note that there may be no warning about a variable that is used only -to compute a value that itself is never used, because such -computations may be deleted by data flow analysis before the warnings -are printed. -.Sp -These warnings are made optional because \s-1GCC\s0 is not smart -enough to see all the reasons why the code might be correct -despite appearing to have an error. Here is one example of how -this can happen: -.Sp -.Vb 12 -\& { -\& int x; -\& switch (y) -\& { -\& case 1: x = 1; -\& break; -\& case 2: x = 4; -\& break; -\& case 3: x = 5; -\& } -\& foo (x); -\& } -.Ve -If the value of \f(CW\*(C`y\*(C'\fR is always 1, 2 or 3, then \f(CW\*(C`x\*(C'\fR is -always initialized, but \s-1GCC\s0 doesn't know this. Here is -another common case: -.Sp -.Vb 6 -\& { -\& int save_y; -\& if (change_y) save_y = y, y = new_y; -\& ... -\& if (change_y) y = save_y; -\& } -.Ve -This has no bug because \f(CW\*(C`save_y\*(C'\fR is used only if it is set. -.Sp -This option also warns when a non-volatile automatic variable might be -changed by a call to \f(CW\*(C`longjmp\*(C'\fR. These warnings as well are possible -only in optimizing compilation. -.Sp -The compiler sees only the calls to \f(CW\*(C`setjmp\*(C'\fR. It cannot know -where \f(CW\*(C`longjmp\*(C'\fR will be called; in fact, a signal handler could -call it at any point in the code. As a result, you may get a warning -even when there is in fact no problem because \f(CW\*(C`longjmp\*(C'\fR cannot -in fact be called at the place which would cause a problem. -.Sp -Some spurious warnings can be avoided if you declare all the functions -you use that never return as \f(CW\*(C`noreturn\*(C'\fR. -.Ip "\fB\-Wreorder\fR (\*(C+ only)" 4 -.IX Item "-Wreorder ( only)" -Warn when the order of member initializers given in the code does not -match the order in which they must be executed. For instance: -.Ip "\fB\-Wunknown-pragmas\fR" 4 -.IX Item "-Wunknown-pragmas" -Warn when a #pragma directive is encountered which is not understood by -\&\s-1GCC\s0. If this command line option is used, warnings will even be issued -for unknown pragmas in system header files. This is not the case if -the warnings were only enabled by the \fB\-Wall\fR command line option. -.Ip "\fB\-Wall\fR" 4 -.IX Item "-Wall" -All of the above \fB\-W\fR options combined. This enables all the -warnings about constructions that some users consider questionable, and -that are easy to avoid (or modify to prevent the warning), even in -conjunction with macros. -.Ip "\fB\-Wdiv-by-zero\fR" 4 -.IX Item "-Wdiv-by-zero" -Warn about compile-time integer division by zero. This is default. To -inhibit the warning messages, use \fB\-Wno-div-by-zero\fR. Floating -point division by zero is not warned about, as it can be a legitimate -way of obtaining infinities and NaNs. -.Ip "\fB\-Wmultichar\fR" 4 -.IX Item "-Wmultichar" -Warn if a multicharacter constant (\fB'\s-1FOOF\s0'\fR) is used. This is -default. To inhibit the warning messages, use \fB\-Wno-multichar\fR. -Usually they indicate a typo in the user's code, as they have -implementation-defined values, and should not be used in portable code. -.Ip "\fB\-Wsystem-headers\fR" 4 -.IX Item "-Wsystem-headers" -Print warning messages for constructs found in system header files. -Warnings from system headers are normally suppressed, on the assumption -that they usually do not indicate real problems and would only make the -compiler output harder to read. Using this command line option tells -\&\s-1GCC\s0 to emit warnings from system headers as if they occurred in user -code. However, note that using \fB\-Wall\fR in conjunction with this -option will \fInot\fR warn about unknown pragmas in system -headers\-\-\-for that, \fB\-Wunknown-pragmas\fR must also be used. -.PP -The following \fB\-W...\fR options are not implied by \fB\-Wall\fR. -Some of them warn about constructions that users generally do not -consider questionable, but which occasionally you might wish to check -for; others warn about constructions that are necessary or hard to avoid -in some cases, and there is no simple way to modify the code to suppress -the warning. -.Ip "\fB\-W\fR" 4 -.IX Item "-W" -Print extra warning messages for these events: -.RS 4 -.Ip "\(bu" 4 -A function can return either with or without a value. (Falling -off the end of the function body is considered returning without -a value.) For example, this function would evoke such a -warning: -.Sp -.Vb 5 -\& foo (a) -\& { -\& if (a > 0) -\& return a; -\& } -.Ve -.Ip "\(bu" 4 -An expression-statement or the left-hand side of a comma expression -contains no side effects. -To suppress the warning, cast the unused expression to void. -For example, an expression such as \fBx[i,j]\fR will cause a warning, -but \fBx[(void)i,j]\fR will not. -.Ip "\(bu" 4 -An unsigned value is compared against zero with \fB<\fR or \fB<=\fR. -.Ip "\(bu" 4 -A comparison like \fBx<=y<=z\fR appears; this is equivalent to -\&\fB(x<=y ? 1 : 0) <= z\fR, which is a different interpretation from -that of ordinary mathematical notation. -.Ip "\(bu" 4 -Storage-class specifiers like \f(CW\*(C`static\*(C'\fR are not the first things in -a declaration. According to the C Standard, this usage is obsolescent. -.Ip "\(bu" 4 -The return type of a function has a type qualifier such as \f(CW\*(C`const\*(C'\fR. -Such a type qualifier has no effect, since the value returned by a -function is not an lvalue. (But don't warn about the \s-1GNU\s0 extension of -\&\f(CW\*(C`volatile void\*(C'\fR return types. That extension will be warned about -if \fB\-pedantic\fR is specified.) -.Ip "\(bu" 4 -If \fB\-Wall\fR or \fB\-Wunused\fR is also specified, warn about unused -arguments. -.Ip "\(bu" 4 -A comparison between signed and unsigned values could produce an -incorrect result when the signed value is converted to unsigned. -(But don't warn if \fB\-Wno-sign-compare\fR is also specified.) -.Ip "\(bu" 4 -An aggregate has a partly bracketed initializer. -For example, the following code would evoke such a warning, -because braces are missing around the initializer for \f(CW\*(C`x.h\*(C'\fR: -.Sp -.Vb 3 -\& struct s { int f, g; }; -\& struct t { struct s h; int i; }; -\& struct t x = { 1, 2, 3 }; -.Ve -.Ip "\(bu" 4 -An aggregate has an initializer which does not initialize all members. -For example, the following code would cause such a warning, because -\&\f(CW\*(C`x.h\*(C'\fR would be implicitly initialized to zero: -.Sp -.Vb 2 -\& struct s { int f, g, h; }; -\& struct s x = { 3, 4 }; -.Ve -.RE -.RS 4 -.RE -.Ip "\fB\-Wfloat-equal\fR" 4 -.IX Item "-Wfloat-equal" -Warn if floating point values are used in equality comparisons. -.Sp -The idea behind this is that sometimes it is convenient (for the -programmer) to consider floating-point values as approximations to -infinitely precise real numbers. If you are doing this, then you need -to compute (by analysing the code, or in some other way) the maximum or -likely maximum error that the computation introduces, and allow for it -when performing comparisons (and when producing output, but that's a -different problem). In particular, instead of testing for equality, you -would check to see whether the two values have ranges that overlap; and -this is done with the relational operators, so equality comparisons are -probably mistaken. -.Ip "\fB\-Wtraditional\fR (C only)" 4 -.IX Item "-Wtraditional (C only)" -Warn about certain constructs that behave differently in traditional and -\&\s-1ISO\s0 C. Also warn about \s-1ISO\s0 C constructs that have no traditional C -equivalent, and/or problematic constructs which should be avoided. -.RS 4 -.Ip "\(bu" 4 -Macro parameters that appear within string literals in the macro body. -In traditional C macro replacement takes place within string literals, -but does not in \s-1ISO\s0 C. -.Ip "\(bu" 4 -In traditional C, some preprocessor directives did not exist. -Traditional preprocessors would only consider a line to be a directive -if the \fB#\fR appeared in column 1 on the line. Therefore -\&\fB\-Wtraditional\fR warns about directives that traditional C -understands but would ignore because the \fB#\fR does not appear as the -first character on the line. It also suggests you hide directives like -\&\fB#pragma\fR not understood by traditional C by indenting them. Some -traditional implementations would not recognize \fB#elif\fR, so it -suggests avoiding it altogether. -.Ip "\(bu" 4 -A function-like macro that appears without arguments. -.Ip "\(bu" 4 -The unary plus operator. -.Ip "\(bu" 4 -The \fBU\fR integer constant suffix, or the \fBF\fR or \fBL\fR floating point -constant suffixes. (Traditional C does support the \fBL\fR suffix on integer -constants.) Note, these suffixes appear in macros defined in the system -headers of most modern systems, e.g. the \fB_MIN\fR/\fB_MAX\fR macros in \f(CW\*(C`<limits.h>\*(C'\fR. -Use of these macros in user code might normally lead to spurious -warnings, however gcc's integrated preprocessor has enough context to -avoid warning in these cases. -.Ip "\(bu" 4 -A function declared external in one block and then used after the end of -the block. -.Ip "\(bu" 4 -A \f(CW\*(C`switch\*(C'\fR statement has an operand of type \f(CW\*(C`long\*(C'\fR. -.Ip "\(bu" 4 -A non-\f(CW\*(C`static\*(C'\fR function declaration follows a \f(CW\*(C`static\*(C'\fR one. -This construct is not accepted by some traditional C compilers. -.Ip "\(bu" 4 -The \s-1ISO\s0 type of an integer constant has a different width or -signedness from its traditional type. This warning is only issued if -the base of the constant is ten. I.e. hexadecimal or octal values, which -typically represent bit patterns, are not warned about. -.Ip "\(bu" 4 -Usage of \s-1ISO\s0 string concatenation is detected. -.Ip "\(bu" 4 -Initialization of automatic aggregates. -.Ip "\(bu" 4 -Identifier conflicts with labels. Traditional C lacks a separate -namespace for labels. -.Ip "\(bu" 4 -Initialization of unions. If the initializer is zero, the warning is -omitted. This is done under the assumption that the zero initializer in -user code appears conditioned on e.g. \f(CW\*(C`_\|_STDC_\|_\*(C'\fR to avoid missing -initializer warnings and relies on default initialization to zero in the -traditional C case. -.Ip "\(bu" 4 -Conversions by prototypes between fixed/floating point values and vice -versa. The absence of these prototypes when compiling with traditional -C would cause serious problems. This is a subset of the possible -conversion warnings, for the full set use \fB\-Wconversion\fR. -.RE -.RS 4 -.RE -.Ip "\fB\-Wundef\fR" 4 -.IX Item "-Wundef" -Warn if an undefined identifier is evaluated in an \fB#if\fR directive. -.Ip "\fB\-Wshadow\fR" 4 -.IX Item "-Wshadow" -Warn whenever a local variable shadows another local variable, parameter or -global variable or whenever a built-in function is shadowed. -.Ip "\fB\-Wlarger-than-\fR\fIlen\fR" 4 -.IX Item "-Wlarger-than-len" -Warn whenever an object of larger than \fIlen\fR bytes is defined. -.Ip "\fB\-Wpointer-arith\fR" 4 -.IX Item "-Wpointer-arith" -Warn about anything that depends on the ``size of'' a function type or -of \f(CW\*(C`void\*(C'\fR. \s-1GNU\s0 C assigns these types a size of 1, for -convenience in calculations with \f(CW\*(C`void *\*(C'\fR pointers and pointers -to functions. -.Ip "\fB\-Wbad-function-cast\fR (C only)" 4 -.IX Item "-Wbad-function-cast (C only)" -Warn whenever a function call is cast to a non-matching type. -For example, warn if \f(CW\*(C`int malloc()\*(C'\fR is cast to \f(CW\*(C`anything *\*(C'\fR. -.Ip "\fB\-Wcast-qual\fR" 4 -.IX Item "-Wcast-qual" -Warn whenever a pointer is cast so as to remove a type qualifier from -the target type. For example, warn if a \f(CW\*(C`const char *\*(C'\fR is cast -to an ordinary \f(CW\*(C`char *\*(C'\fR. -.Ip "\fB\-Wcast-align\fR" 4 -.IX Item "-Wcast-align" -Warn whenever a pointer is cast such that the required alignment of the -target is increased. For example, warn if a \f(CW\*(C`char *\*(C'\fR is cast to -an \f(CW\*(C`int *\*(C'\fR on machines where integers can only be accessed at -two- or four-byte boundaries. -.Ip "\fB\-Wwrite-strings\fR" 4 -.IX Item "-Wwrite-strings" -When compiling C, give string constants the type \f(CW\*(C`const -char[\f(CIlength\f(CW]\*(C'\fR so that -copying the address of one into a non-\f(CW\*(C`const\*(C'\fR \f(CW\*(C`char *\*(C'\fR -pointer will get a warning; when compiling \*(C+, warn about the -deprecated conversion from string constants to \f(CW\*(C`char *\*(C'\fR. -These warnings will help you find at -compile time code that can try to write into a string constant, but -only if you have been very careful about using \f(CW\*(C`const\*(C'\fR in -declarations and prototypes. Otherwise, it will just be a nuisance; -this is why we did not make \fB\-Wall\fR request these warnings. -.Ip "\fB\-Wconversion\fR" 4 -.IX Item "-Wconversion" -Warn if a prototype causes a type conversion that is different from what -would happen to the same argument in the absence of a prototype. This -includes conversions of fixed point to floating and vice versa, and -conversions changing the width or signedness of a fixed point argument -except when the same as the default promotion. -.Sp -Also, warn if a negative integer constant expression is implicitly -converted to an unsigned type. For example, warn about the assignment -\&\f(CW\*(C`x = \-1\*(C'\fR if \f(CW\*(C`x\*(C'\fR is unsigned. But do not warn about explicit -casts like \f(CW\*(C`(unsigned) \-1\*(C'\fR. -.Ip "\fB\-Wsign-compare\fR" 4 -.IX Item "-Wsign-compare" -Warn when a comparison between signed and unsigned values could produce -an incorrect result when the signed value is converted to unsigned. -This warning is also enabled by \fB\-W\fR; to get the other warnings -of \fB\-W\fR without this warning, use \fB\-W \-Wno-sign-compare\fR. -.Ip "\fB\-Waggregate-return\fR" 4 -.IX Item "-Waggregate-return" -Warn if any functions that return structures or unions are defined or -called. (In languages where you can return an array, this also elicits -a warning.) -.Ip "\fB\-Wstrict-prototypes\fR (C only)" 4 -.IX Item "-Wstrict-prototypes (C only)" -Warn if a function is declared or defined without specifying the -argument types. (An old-style function definition is permitted without -a warning if preceded by a declaration which specifies the argument -types.) -.Ip "\fB\-Wmissing-prototypes\fR (C only)" 4 -.IX Item "-Wmissing-prototypes (C only)" -Warn if a global function is defined without a previous prototype -declaration. This warning is issued even if the definition itself -provides a prototype. The aim is to detect global functions that fail -to be declared in header files. -.Ip "\fB\-Wmissing-declarations\fR" 4 -.IX Item "-Wmissing-declarations" -Warn if a global function is defined without a previous declaration. -Do so even if the definition itself provides a prototype. -Use this option to detect global functions that are not declared in -header files. -.Ip "\fB\-Wmissing-noreturn\fR" 4 -.IX Item "-Wmissing-noreturn" -Warn about functions which might be candidates for attribute \f(CW\*(C`noreturn\*(C'\fR. -Note these are only possible candidates, not absolute ones. Care should -be taken to manually verify functions actually do not ever return before -adding the \f(CW\*(C`noreturn\*(C'\fR attribute, otherwise subtle code generation -bugs could be introduced. You will not get a warning for \f(CW\*(C`main\*(C'\fR in -hosted C environments. -.Ip "\fB\-Wmissing-format-attribute\fR" 4 -.IX Item "-Wmissing-format-attribute" -If \fB\-Wformat\fR is enabled, also warn about functions which might be -candidates for \f(CW\*(C`format\*(C'\fR attributes. Note these are only possible -candidates, not absolute ones. \s-1GCC\s0 will guess that \f(CW\*(C`format\*(C'\fR -attributes might be appropriate for any function that calls a function -like \f(CW\*(C`vprintf\*(C'\fR or \f(CW\*(C`vscanf\*(C'\fR, but this might not always be the -case, and some functions for which \f(CW\*(C`format\*(C'\fR attributes are -appropriate may not be detected. This option has no effect unless -\&\fB\-Wformat\fR is enabled (possibly by \fB\-Wall\fR). -.Ip "\fB\-Wno-deprecated-declarations\fR" 4 -.IX Item "-Wno-deprecated-declarations" -Do not warn about uses of functions, variables, and types marked as -deprecated by using the \f(CW\*(C`deprecated\*(C'\fR attribute. -(@pxref{Function Attributes}, \f(CW@pxref\fR{Variable Attributes}, -\&\f(CW@pxref\fR{Type Attributes}.) -.Ip "\fB\-Wpacked\fR" 4 -.IX Item "-Wpacked" -Warn if a structure is given the packed attribute, but the packed -attribute has no effect on the layout or size of the structure. -Such structures may be mis-aligned for little benefit. For -instance, in this code, the variable \f(CW\*(C`f.x\*(C'\fR in \f(CW\*(C`struct bar\*(C'\fR -will be misaligned even though \f(CW\*(C`struct bar\*(C'\fR does not itself -have the packed attribute: -.Sp -.Vb 8 -\& struct foo { -\& int x; -\& char a, b, c, d; -\& } __attribute__((packed)); -\& struct bar { -\& char z; -\& struct foo f; -\& }; -.Ve -.Ip "\fB\-Wpadded\fR" 4 -.IX Item "-Wpadded" -Warn if padding is included in a structure, either to align an element -of the structure or to align the whole structure. Sometimes when this -happens it is possible to rearrange the fields of the structure to -reduce the padding and so make the structure smaller. -.Ip "\fB\-Wredundant-decls\fR" 4 -.IX Item "-Wredundant-decls" -Warn if anything is declared more than once in the same scope, even in -cases where multiple declaration is valid and changes nothing. -.Ip "\fB\-Wnested-externs\fR (C only)" 4 -.IX Item "-Wnested-externs (C only)" -Warn if an \f(CW\*(C`extern\*(C'\fR declaration is encountered within a function. -.Ip "\fB\-Wunreachable-code\fR" 4 -.IX Item "-Wunreachable-code" -Warn if the compiler detects that code will never be executed. -.Sp -This option is intended to warn when the compiler detects that at -least a whole line of source code will never be executed, because -some condition is never satisfied or because it is after a -procedure that never returns. -.Sp -It is possible for this option to produce a warning even though there -are circumstances under which part of the affected line can be executed, -so care should be taken when removing apparently-unreachable code. -.Sp -For instance, when a function is inlined, a warning may mean that the -line is unreachable in only one inlined copy of the function. -.Sp -This option is not made part of \fB\-Wall\fR because in a debugging -version of a program there is often substantial code which checks -correct functioning of the program and is, hopefully, unreachable -because the program does work. Another common use of unreachable -code is to provide behavior which is selectable at compile-time. -.Ip "\fB\-Winline\fR" 4 -.IX Item "-Winline" -Warn if a function can not be inlined and it was declared as inline. -.Ip "\fB\-Wlong-long\fR" 4 -.IX Item "-Wlong-long" -Warn if \fBlong long\fR type is used. This is default. To inhibit -the warning messages, use \fB\-Wno-long-long\fR. Flags -\&\fB\-Wlong-long\fR and \fB\-Wno-long-long\fR are taken into account -only when \fB\-pedantic\fR flag is used. -.Ip "\fB\-Wdisabled-optimization\fR" 4 -.IX Item "-Wdisabled-optimization" -Warn if a requested optimization pass is disabled. This warning does -not generally indicate that there is anything wrong with your code; it -merely indicates that \s-1GCC\s0's optimizers were unable to handle the code -effectively. Often, the problem is that your code is too big or too -complex; \s-1GCC\s0 will refuse to optimize programs when the optimization -itself is likely to take inordinate amounts of time. -.Ip "\fB\-Werror\fR" 4 -.IX Item "-Werror" -Make all warnings into errors. -.Sh "Options for Debugging Your Program or \s-1GCC\s0" -.IX Subsection "Options for Debugging Your Program or GCC" -\&\s-1GCC\s0 has various special options that are used for debugging -either your program or \s-1GCC:\s0 -.Ip "\fB\-g\fR" 4 -.IX Item "-g" -Produce debugging information in the operating system's native format -(stabs, \s-1COFF\s0, \s-1XCOFF\s0, or \s-1DWARF\s0). \s-1GDB\s0 can work with this debugging -information. -.Sp -On most systems that use stabs format, \fB\-g\fR enables use of extra -debugging information that only \s-1GDB\s0 can use; this extra information -makes debugging work better in \s-1GDB\s0 but will probably make other debuggers -crash or -refuse to read the program. If you want to control for certain whether -to generate the extra information, use \fB\-gstabs+\fR, \fB\-gstabs\fR, -\&\fB\-gxcoff+\fR, \fB\-gxcoff\fR, \fB\-gdwarf-1+\fR, \fB\-gdwarf-1\fR, -or \fB\-gvms\fR (see below). -.Sp -Unlike most other C compilers, \s-1GCC\s0 allows you to use \fB\-g\fR with -\&\fB\-O\fR. The shortcuts taken by optimized code may occasionally -produce surprising results: some variables you declared may not exist -at all; flow of control may briefly move where you did not expect it; -some statements may not be executed because they compute constant -results or their values were already at hand; some statements may -execute in different places because they were moved out of loops. -.Sp -Nevertheless it proves possible to debug optimized output. This makes -it reasonable to use the optimizer for programs that might have bugs. -.Sp -The following options are useful when \s-1GCC\s0 is generated with the -capability for more than one debugging format. -.Ip "\fB\-ggdb\fR" 4 -.IX Item "-ggdb" -Produce debugging information for use by \s-1GDB\s0. This means to use the -most expressive format available (\s-1DWARF\s0 2, stabs, or the native format -if neither of those are supported), including \s-1GDB\s0 extensions if at all -possible. -.Ip "\fB\-gstabs\fR" 4 -.IX Item "-gstabs" -Produce debugging information in stabs format (if that is supported), -without \s-1GDB\s0 extensions. This is the format used by \s-1DBX\s0 on most \s-1BSD\s0 -systems. On \s-1MIPS\s0, Alpha and System V Release 4 systems this option -produces stabs debugging output which is not understood by \s-1DBX\s0 or \s-1SDB\s0. -On System V Release 4 systems this option requires the \s-1GNU\s0 assembler. -.Ip "\fB\-gstabs+\fR" 4 -.IX Item "-gstabs+" -Produce debugging information in stabs format (if that is supported), -using \s-1GNU\s0 extensions understood only by the \s-1GNU\s0 debugger (\s-1GDB\s0). The -use of these extensions is likely to make other debuggers crash or -refuse to read the program. -.Ip "\fB\-gcoff\fR" 4 -.IX Item "-gcoff" -Produce debugging information in \s-1COFF\s0 format (if that is supported). -This is the format used by \s-1SDB\s0 on most System V systems prior to -System V Release 4. -.Ip "\fB\-gxcoff\fR" 4 -.IX Item "-gxcoff" -Produce debugging information in \s-1XCOFF\s0 format (if that is supported). -This is the format used by the \s-1DBX\s0 debugger on \s-1IBM\s0 \s-1RS/6000\s0 systems. -.Ip "\fB\-gxcoff+\fR" 4 -.IX Item "-gxcoff+" -Produce debugging information in \s-1XCOFF\s0 format (if that is supported), -using \s-1GNU\s0 extensions understood only by the \s-1GNU\s0 debugger (\s-1GDB\s0). The -use of these extensions is likely to make other debuggers crash or -refuse to read the program, and may cause assemblers other than the \s-1GNU\s0 -assembler (\s-1GAS\s0) to fail with an error. -.Ip "\fB\-gdwarf\fR" 4 -.IX Item "-gdwarf" -Produce debugging information in \s-1DWARF\s0 version 1 format (if that is -supported). This is the format used by \s-1SDB\s0 on most System V Release 4 -systems. -.Ip "\fB\-gdwarf+\fR" 4 -.IX Item "-gdwarf+" -Produce debugging information in \s-1DWARF\s0 version 1 format (if that is -supported), using \s-1GNU\s0 extensions understood only by the \s-1GNU\s0 debugger -(\s-1GDB\s0). The use of these extensions is likely to make other debuggers -crash or refuse to read the program. -.Ip "\fB\-gdwarf-2\fR" 4 -.IX Item "-gdwarf-2" -Produce debugging information in \s-1DWARF\s0 version 2 format (if that is -supported). This is the format used by \s-1DBX\s0 on \s-1IRIX\s0 6. -.Ip "\fB\-gvms\fR" 4 -.IX Item "-gvms" -Produce debugging information in \s-1VMS\s0 debug format (if that is -supported). This is the format used by \s-1DEBUG\s0 on \s-1VMS\s0 systems. -.Ip "\fB\-g\fR\fIlevel\fR" 4 -.IX Item "-glevel" -.PD 0 -.Ip "\fB\-ggdb\fR\fIlevel\fR" 4 -.IX Item "-ggdblevel" -.Ip "\fB\-gstabs\fR\fIlevel\fR" 4 -.IX Item "-gstabslevel" -.Ip "\fB\-gcoff\fR\fIlevel\fR" 4 -.IX Item "-gcofflevel" -.Ip "\fB\-gxcoff\fR\fIlevel\fR" 4 -.IX Item "-gxcofflevel" -.Ip "\fB\-gvms\fR\fIlevel\fR" 4 -.IX Item "-gvmslevel" -.PD -Request debugging information and also use \fIlevel\fR to specify how -much information. The default level is 2. -.Sp -Level 1 produces minimal information, enough for making backtraces in -parts of the program that you don't plan to debug. This includes -descriptions of functions and external variables, but no information -about local variables and no line numbers. -.Sp -Level 3 includes extra information, such as all the macro definitions -present in the program. Some debuggers support macro expansion when -you use \fB\-g3\fR. -.Sp -Note that in order to avoid confusion between \s-1DWARF1\s0 debug level 2, -and \s-1DWARF2\s0, neither \fB\-gdwarf\fR nor \fB\-gdwarf-2\fR accept -a concatenated debug level. Instead use an additional \fB\-g\fR\fIlevel\fR -option to change the debug level for \s-1DWARF1\s0 or \s-1DWARF2\s0. -.Ip "\fB\-p\fR" 4 -.IX Item "-p" -Generate extra code to write profile information suitable for the -analysis program \f(CW\*(C`prof\*(C'\fR. You must use this option when compiling -the source files you want data about, and you must also use it when -linking. -.Ip "\fB\-pg\fR" 4 -.IX Item "-pg" -Generate extra code to write profile information suitable for the -analysis program \f(CW\*(C`gprof\*(C'\fR. You must use this option when compiling -the source files you want data about, and you must also use it when -linking. -.Ip "\fB\-Q\fR" 4 -.IX Item "-Q" -Makes the compiler print out each function name as it is compiled, and -print some statistics about each pass when it finishes. -.Ip "\fB\-ftime-report\fR" 4 -.IX Item "-ftime-report" -Makes the compiler print some statistics about the time consumed by each -pass when it finishes. -.Ip "\fB\-fmem-report\fR" 4 -.IX Item "-fmem-report" -Makes the compiler print some statistics about permanent memory -allocation when it finishes. -.Ip "\fB\-fprofile-arcs\fR" 4 -.IX Item "-fprofile-arcs" -Instrument \fIarcs\fR during compilation to generate coverage data -or for profile-directed block ordering. During execution the program -records how many times each branch is executed and how many times it is -taken. When the compiled program exits it saves this data to a file -called \fI\fIsourcename\fI.da\fR for each source file. -.Sp -For profile-directed block ordering, compile the program with -\&\fB\-fprofile-arcs\fR plus optimization and code generation options, -generate the arc profile information by running the program on a -selected workload, and then compile the program again with the same -optimization and code generation options plus -\&\fB\-fbranch-probabilities\fR. -.Sp -The other use of \fB\-fprofile-arcs\fR is for use with \f(CW\*(C`gcov\*(C'\fR, -when it is used with the \fB\-ftest-coverage\fR option. -.Sp -With \fB\-fprofile-arcs\fR, for each function of your program \s-1GCC\s0 -creates a program flow graph, then finds a spanning tree for the graph. -Only arcs that are not on the spanning tree have to be instrumented: the -compiler adds code to count the number of times that these arcs are -executed. When an arc is the only exit or only entrance to a block, the -instrumentation code can be added to the block; otherwise, a new basic -block must be created to hold the instrumentation code. -.Ip "\fB\-ftest-coverage\fR" 4 -.IX Item "-ftest-coverage" -Create data files for the \fBgcov\fR code-coverage utility. -The data file names begin with the name of your source file: -.RS 4 -.Ip "\fIsourcename\fR\fB.bb\fR" 4 -.IX Item "sourcename.bb" -A mapping from basic blocks to line numbers, which \f(CW\*(C`gcov\*(C'\fR uses to -associate basic block execution counts with line numbers. -.Ip "\fIsourcename\fR\fB.bbg\fR" 4 -.IX Item "sourcename.bbg" -A list of all arcs in the program flow graph. This allows \f(CW\*(C`gcov\*(C'\fR -to reconstruct the program flow graph, so that it can compute all basic -block and arc execution counts from the information in the -\&\f(CW\*(C`\f(CIsourcename\f(CW.da\*(C'\fR file. -.RE -.RS 4 -.Sp -Use \fB\-ftest-coverage\fR with \fB\-fprofile-arcs\fR; the latter -option adds instrumentation to the program, which then writes -execution counts to another data file: -.RS 4 -.RE -.Ip "\fIsourcename\fR\fB.da\fR" 4 -.IX Item "sourcename.da" -Runtime arc execution counts, used in conjunction with the arc -information in the file \f(CW\*(C`\f(CIsourcename\f(CW.bbg\*(C'\fR. -.RE -.RS 4 -.Sp -Coverage data will map better to the source files if -\&\fB\-ftest-coverage\fR is used without optimization. -.RE -.Ip "\fB\-d\fR\fIletters\fR" 4 -.IX Item "-dletters" -Says to make debugging dumps during compilation at times specified by -\&\fIletters\fR. This is used for debugging the compiler. The file names -for most of the dumps are made by appending a pass number and a word to -the source file name (e.g. \fIfoo.c.00.rtl\fR or \fIfoo.c.01.sibling\fR). -Here are the possible letters for use in \fIletters\fR, and their meanings: -.RS 4 -.Ip "\fBA\fR" 4 -.IX Item "A" -Annotate the assembler output with miscellaneous debugging information. -.Ip "\fBb\fR" 4 -.IX Item "b" -Dump after computing branch probabilities, to \fI\fIfile\fI.14.bp\fR. -.Ip "\fBB\fR" 4 -.IX Item "B" -Dump after block reordering, to \fI\fIfile\fI.29.bbro\fR. -.Ip "\fBc\fR" 4 -.IX Item "c" -Dump after instruction combination, to the file \fI\fIfile\fI.16.combine\fR. -.Ip "\fBC\fR" 4 -.IX Item "C" -Dump after the first if conversion, to the file \fI\fIfile\fI.17.ce\fR. -.Ip "\fBd\fR" 4 -.IX Item "d" -Dump after delayed branch scheduling, to \fI\fIfile\fI.31.dbr\fR. -.Ip "\fBD\fR" 4 -.IX Item "D" -Dump all macro definitions, at the end of preprocessing, in addition to -normal output. -.Ip "\fBe\fR" 4 -.IX Item "e" -Dump after \s-1SSA\s0 optimizations, to \fI\fIfile\fI.04.ssa\fR and -\&\fI\fIfile\fI.07.ussa\fR. -.Ip "\fBE\fR" 4 -.IX Item "E" -Dump after the second if conversion, to \fI\fIfile\fI.26.ce2\fR. -.Ip "\fBf\fR" 4 -.IX Item "f" -Dump after life analysis, to \fI\fIfile\fI.15.life\fR. -.Ip "\fBF\fR" 4 -.IX Item "F" -Dump after purging \f(CW\*(C`ADDRESSOF\*(C'\fR codes, to \fI\fIfile\fI.09.addressof\fR. -.Ip "\fBg\fR" 4 -.IX Item "g" -Dump after global register allocation, to \fI\fIfile\fI.21.greg\fR. -.Ip "\fBh\fR" 4 -.IX Item "h" -Dump after finalization of \s-1EH\s0 handling code, to \fI\fIfile\fI.02.eh\fR. -.Ip "\fBk\fR" 4 -.IX Item "k" -Dump after reg-to-stack conversion, to \fI\fIfile\fI.28.stack\fR. -.Ip "\fBo\fR" 4 -.IX Item "o" -Dump after post-reload optimizations, to \fI\fIfile\fI.22.postreload\fR. -.Ip "\fBG\fR" 4 -.IX Item "G" -Dump after \s-1GCSE\s0, to \fI\fIfile\fI.10.gcse\fR. -.Ip "\fBi\fR" 4 -.IX Item "i" -Dump after sibling call optimizations, to \fI\fIfile\fI.01.sibling\fR. -.Ip "\fBj\fR" 4 -.IX Item "j" -Dump after the first jump optimization, to \fI\fIfile\fI.03.jump\fR. -.Ip "\fBk\fR" 4 -.IX Item "k" -Dump after conversion from registers to stack, to \fI\fIfile\fI.32.stack\fR. -.Ip "\fBl\fR" 4 -.IX Item "l" -Dump after local register allocation, to \fI\fIfile\fI.20.lreg\fR. -.Ip "\fBL\fR" 4 -.IX Item "L" -Dump after loop optimization, to \fI\fIfile\fI.11.loop\fR. -.Ip "\fBM\fR" 4 -.IX Item "M" -Dump after performing the machine dependent reorganisation pass, to -\&\fI\fIfile\fI.30.mach\fR. -.Ip "\fBn\fR" 4 -.IX Item "n" -Dump after register renumbering, to \fI\fIfile\fI.25.rnreg\fR. -.Ip "\fBN\fR" 4 -.IX Item "N" -Dump after the register move pass, to \fI\fIfile\fI.18.regmove\fR. -.Ip "\fBr\fR" 4 -.IX Item "r" -Dump after \s-1RTL\s0 generation, to \fI\fIfile\fI.00.rtl\fR. -.Ip "\fBR\fR" 4 -.IX Item "R" -Dump after the second scheduling pass, to \fI\fIfile\fI.27.sched2\fR. -.Ip "\fBs\fR" 4 -.IX Item "s" -Dump after \s-1CSE\s0 (including the jump optimization that sometimes follows -\&\s-1CSE\s0), to \fI\fIfile\fI.08.cse\fR. -.Ip "\fBS\fR" 4 -.IX Item "S" -Dump after the first scheduling pass, to \fI\fIfile\fI.19.sched\fR. -.Ip "\fBt\fR" 4 -.IX Item "t" -Dump after the second \s-1CSE\s0 pass (including the jump optimization that -sometimes follows \s-1CSE\s0), to \fI\fIfile\fI.12.cse2\fR. -.Ip "\fBw\fR" 4 -.IX Item "w" -Dump after the second flow pass, to \fI\fIfile\fI.23.flow2\fR. -.Ip "\fBX\fR" 4 -.IX Item "X" -Dump after \s-1SSA\s0 dead code elimination, to \fI\fIfile\fI.06.ssadce\fR. -.Ip "\fBz\fR" 4 -.IX Item "z" -Dump after the peephole pass, to \fI\fIfile\fI.24.peephole2\fR. -.Ip "\fBa\fR" 4 -.IX Item "a" -Produce all the dumps listed above. -.Ip "\fBm\fR" 4 -.IX Item "m" -Print statistics on memory usage, at the end of the run, to -standard error. -.Ip "\fBp\fR" 4 -.IX Item "p" -Annotate the assembler output with a comment indicating which -pattern and alternative was used. The length of each instruction is -also printed. -.Ip "\fBP\fR" 4 -.IX Item "P" -Dump the \s-1RTL\s0 in the assembler output as a comment before each instruction. -Also turns on \fB\-dp\fR annotation. -.Ip "\fBv\fR" 4 -.IX Item "v" -For each of the other indicated dump files (except for -\&\fI\fIfile\fI.00.rtl\fR), dump a representation of the control flow graph -suitable for viewing with \s-1VCG\s0 to \fI\fIfile\fI.\fIpass\fI.vcg\fR. -.Ip "\fBx\fR" 4 -.IX Item "x" -Just generate \s-1RTL\s0 for a function instead of compiling it. Usually used -with \fBr\fR. -.Ip "\fBy\fR" 4 -.IX Item "y" -Dump debugging information during parsing, to standard error. -.RE -.RS 4 -.RE -.Ip "\fB\-fdump-unnumbered\fR" 4 -.IX Item "-fdump-unnumbered" -When doing debugging dumps (see \fB\-d\fR option above), suppress instruction -numbers and line number note output. This makes it more feasible to -use diff on debugging dumps for compiler invocations with different -options, in particular with and without \fB\-g\fR. -.Ip "\fB\-fdump-translation-unit\fR (C and \*(C+ only)" 4 -.IX Item "-fdump-translation-unit (C and only)" -.PD 0 -.Ip "\fB\-fdump-translation-unit-\fR\fIoptions\fR\fB \fR(C and \*(C+ only)" 4 -.IX Item "-fdump-translation-unit-options (C and only)" -.PD -Dump a representation of the tree structure for the entire translation -unit to a file. The file name is made by appending \fI.tu\fR to the -source file name. If the \fB-\fR\fIoptions\fR form is used, \fIoptions\fR -controls the details of the dump as described for the -\&\fB\-fdump-tree\fR options. -.Ip "\fB\-fdump-class-hierarchy\fR (\*(C+ only)" 4 -.IX Item "-fdump-class-hierarchy ( only)" -.PD 0 -.Ip "\fB\-fdump-class-hierarchy-\fR\fIoptions\fR\fB \fR(\*(C+ only)" 4 -.IX Item "-fdump-class-hierarchy-options ( only)" -.PD -Dump a representation of each class's hierarchy and virtual function -table layout to a file. The file name is made by appending \fI.class\fR -to the source file name. If the \fB-\fR\fIoptions\fR form is used, -\&\fIoptions\fR controls the details of the dump as described for the -\&\fB\-fdump-tree\fR options. -.Ip "\fB\-fdump-tree-\fR\fIswitch\fR\fB \fR(\*(C+ only)" 4 -.IX Item "-fdump-tree-switch ( only)" -.PD 0 -.Ip "\fB\-fdump-tree-\fR\fIswitch\fR\fB-\fR\fIoptions\fR\fB \fR(\*(C+ only)" 4 -.IX Item "-fdump-tree-switch-options ( only)" -.PD -Control the dumping at various stages of processing the intermediate -language tree to a file. The file name is generated by appending a switch -specific suffix to the source file name. If the \fB-\fR\fIoptions\fR -form is used, \fIoptions\fR is a list of \fB-\fR separated options that -control the details of the dump. Not all options are applicable to all -dumps, those which are not meaningful will be ignored. The following -options are available -.RS 4 -.Ip "\fBaddress\fR" 4 -.IX Item "address" -Print the address of each node. Usually this is not meaningful as it -changes according to the environment and source file. Its primary use -is for tying up a dump file with a debug environment. -.Ip "\fBslim\fR" 4 -.IX Item "slim" -Inhibit dumping of members of a scope or body of a function merely -because that scope has been reached. Only dump such items when they -are directly reachable by some other path. -.Ip "\fBall\fR" 4 -.IX Item "all" -Turn on all options. -.RE -.RS 4 -.Sp -The following tree dumps are possible: -.RS 4 -.RE -.Ip "\fBoriginal\fR" 4 -.IX Item "original" -Dump before any tree based optimization, to \fI\fIfile\fI.original\fR. -.Ip "\fBoptimized\fR" 4 -.IX Item "optimized" -Dump after all tree based optimization, to \fI\fIfile\fI.optimized\fR. -.Ip "\fBinlined\fR" 4 -.IX Item "inlined" -Dump after function inlining, to \fI\fIfile\fI.inlined\fR. -.RE -.RS 4 -.RE -.Ip "\fB\-fsched-verbose=\fR\fIn\fR" 4 -.IX Item "-fsched-verbose=n" -On targets that use instruction scheduling, this option controls the -amount of debugging output the scheduler prints. This information is -written to standard error, unless \fB\-dS\fR or \fB\-dR\fR is -specified, in which case it is output to the usual dump -listing file, \fI.sched\fR or \fI.sched2\fR respectively. However -for \fIn\fR greater than nine, the output is always printed to standard -error. -.Sp -For \fIn\fR greater than zero, \fB\-fsched-verbose\fR outputs the -same information as \fB\-dRS\fR. For \fIn\fR greater than one, it -also output basic block probabilities, detailed ready list information -and unit/insn info. For \fIn\fR greater than two, it includes \s-1RTL\s0 -at abort point, control-flow and regions info. And for \fIn\fR over -four, \fB\-fsched-verbose\fR also includes dependence info. -.Ip "\fB\-fpretend-float\fR" 4 -.IX Item "-fpretend-float" -When running a cross-compiler, pretend that the target machine uses the -same floating point format as the host machine. This causes incorrect -output of the actual floating constants, but the actual instruction -sequence will probably be the same as \s-1GCC\s0 would make when running on -the target machine. -.Ip "\fB\-save-temps\fR" 4 -.IX Item "-save-temps" -Store the usual ``temporary'' intermediate files permanently; place them -in the current directory and name them based on the source file. Thus, -compiling \fIfoo.c\fR with \fB\-c \-save-temps\fR would produce files -\&\fIfoo.i\fR and \fIfoo.s\fR, as well as \fIfoo.o\fR. This creates a -preprocessed \fIfoo.i\fR output file even though the compiler now -normally uses an integrated preprocessor. -.Ip "\fB\-time\fR" 4 -.IX Item "-time" -Report the \s-1CPU\s0 time taken by each subprocess in the compilation -sequence. For C source files, this is the compiler proper and assembler -(plus the linker if linking is done). The output looks like this: -.Sp -.Vb 2 -\& # cc1 0.12 0.01 -\& # as 0.00 0.01 -.Ve -The first number on each line is the ``user time,'' that is time spent -executing the program itself. The second number is ``system time,'' -time spent executing operating system routines on behalf of the program. -Both numbers are in seconds. -.Ip "\fB\-print-file-name=\fR\fIlibrary\fR" 4 -.IX Item "-print-file-name=library" -Print the full absolute name of the library file \fIlibrary\fR that -would be used when linking\-\-\-and don't do anything else. With this -option, \s-1GCC\s0 does not compile or link anything; it just prints the -file name. -.Ip "\fB\-print-multi-directory\fR" 4 -.IX Item "-print-multi-directory" -Print the directory name corresponding to the multilib selected by any -other switches present in the command line. This directory is supposed -to exist in \fB\s-1GCC_EXEC_PREFIX\s0\fR. -.Ip "\fB\-print-multi-lib\fR" 4 -.IX Item "-print-multi-lib" -Print the mapping from multilib directory names to compiler switches -that enable them. The directory name is separated from the switches by -\&\fB;\fR, and each switch starts with an \fB@} instead of the -\&\f(CB@samp\fB{-\fR, without spaces between multiple switches. This is supposed to -ease shell-processing. -.Ip "\fB\-print-prog-name=\fR\fIprogram\fR" 4 -.IX Item "-print-prog-name=program" -Like \fB\-print-file-name\fR, but searches for a program such as \fBcpp\fR. -.Ip "\fB\-print-libgcc-file-name\fR" 4 -.IX Item "-print-libgcc-file-name" -Same as \fB\-print-file-name=libgcc.a\fR. -.Sp -This is useful when you use \fB\-nostdlib\fR or \fB\-nodefaultlibs\fR -but you do want to link with \fIlibgcc.a\fR. You can do -.Sp -.Vb 1 -\& gcc -nostdlib <files>... `gcc -print-libgcc-file-name` -.Ve -.Ip "\fB\-print-search-dirs\fR" 4 -.IX Item "-print-search-dirs" -Print the name of the configured installation directory and a list of -program and library directories gcc will search\-\-\-and don't do anything else. -.Sp -This is useful when gcc prints the error message -\&\fBinstallation problem, cannot exec cpp0: No such file or directory\fR. -To resolve this you either need to put \fIcpp0\fR and the other compiler -components where gcc expects to find them, or you can set the environment -variable \fB\s-1GCC_EXEC_PREFIX\s0\fR to the directory where you installed them. -Don't forget the trailing '/'. -.Ip "\fB\-dumpmachine\fR" 4 -.IX Item "-dumpmachine" -Print the compiler's target machine (for example, -\&\fBi686\-pc-linux-gnu\fR)\-\-\-and don't do anything else. -.Ip "\fB\-dumpversion\fR" 4 -.IX Item "-dumpversion" -Print the compiler version (for example, \fB3.0\fR)\-\-\-and don't do -anything else. -.Ip "\fB\-dumpspecs\fR" 4 -.IX Item "-dumpspecs" -Print the compiler's built-in specs\-\-\-and don't do anything else. (This -is used when \s-1GCC\s0 itself is being built.) -.Sh "Options That Control Optimization" -.IX Subsection "Options That Control Optimization" -These options control various sorts of optimizations: -.Ip "\fB\-O\fR" 4 -.IX Item "-O" -.PD 0 -.Ip "\fB\-O1\fR" 4 -.IX Item "-O1" -.PD -Optimize. Optimizing compilation takes somewhat more time, and a lot -more memory for a large function. -.Sp -Without \fB\-O\fR, the compiler's goal is to reduce the cost of -compilation and to make debugging produce the expected results. -Statements are independent: if you stop the program with a breakpoint -between statements, you can then assign a new value to any variable or -change the program counter to any other statement in the function and -get exactly the results you would expect from the source code. -.Sp -With \fB\-O\fR, the compiler tries to reduce code size and execution -time, without performing any optimizations that take a great deal of -compilation time. -.Ip "\fB\-O2\fR" 4 -.IX Item "-O2" -Optimize even more. \s-1GCC\s0 performs nearly all supported optimizations -that do not involve a space-speed tradeoff. The compiler does not -perform loop unrolling or function inlining when you specify \fB\-O2\fR. -As compared to \fB\-O\fR, this option increases both compilation time -and the performance of the generated code. -.Sp -\&\fB\-O2\fR turns on all optional optimizations except for loop unrolling, -function inlining, and register renaming. It also turns on the -\&\fB\-fforce-mem\fR option on all machines and frame pointer elimination -on machines where doing so does not interfere with debugging. -.Sp -Please note the warning under \fB\-fgcse\fR about -invoking \fB\-O2\fR on programs that use computed gotos. -.Ip "\fB\-O3\fR" 4 -.IX Item "-O3" -Optimize yet more. \fB\-O3\fR turns on all optimizations specified by -\&\fB\-O2\fR and also turns on the \fB\-finline-functions\fR and -\&\fB\-frename-registers\fR options. -.Ip "\fB\-O0\fR" 4 -.IX Item "-O0" -Do not optimize. -.Ip "\fB\-Os\fR" 4 -.IX Item "-Os" -Optimize for size. \fB\-Os\fR enables all \fB\-O2\fR optimizations that -do not typically increase code size. It also performs further -optimizations designed to reduce code size. -.Sp -If you use multiple \fB\-O\fR options, with or without level numbers, -the last such option is the one that is effective. -.PP -Options of the form \fB\-f\fR\fIflag\fR specify machine-independent -flags. Most flags have both positive and negative forms; the negative -form of \fB\-ffoo\fR would be \fB\-fno-foo\fR. In the table below, -only one of the forms is listed\-\-\-the one which is not the default. -You can figure out the other form by either removing \fBno-\fR or -adding it. -.Ip "\fB\-ffloat-store\fR" 4 -.IX Item "-ffloat-store" -Do not store floating point variables in registers, and inhibit other -options that might change whether a floating point value is taken from a -register or memory. -.Sp -This option prevents undesirable excess precision on machines such as -the 68000 where the floating registers (of the 68881) keep more -precision than a \f(CW\*(C`double\*(C'\fR is supposed to have. Similarly for the -x86 architecture. For most programs, the excess precision does only -good, but a few programs rely on the precise definition of \s-1IEEE\s0 floating -point. Use \fB\-ffloat-store\fR for such programs, after modifying -them to store all pertinent intermediate computations into variables. -.Ip "\fB\-fno-default-inline\fR" 4 -.IX Item "-fno-default-inline" -Do not make member functions inline by default merely because they are -defined inside the class scope (\*(C+ only). Otherwise, when you specify -\&\fB\-O\fR, member functions defined inside class scope are compiled -inline by default; i.e., you don't need to add \fBinline\fR in front of -the member function name. -.Ip "\fB\-fno-defer-pop\fR" 4 -.IX Item "-fno-defer-pop" -Always pop the arguments to each function call as soon as that function -returns. For machines which must pop arguments after a function call, -the compiler normally lets arguments accumulate on the stack for several -function calls and pops them all at once. -.Ip "\fB\-fforce-mem\fR" 4 -.IX Item "-fforce-mem" -Force memory operands to be copied into registers before doing -arithmetic on them. This produces better code by making all memory -references potential common subexpressions. When they are not common -subexpressions, instruction combination should eliminate the separate -register-load. The \fB\-O2\fR option turns on this option. -.Ip "\fB\-fforce-addr\fR" 4 -.IX Item "-fforce-addr" -Force memory address constants to be copied into registers before -doing arithmetic on them. This may produce better code just as -\&\fB\-fforce-mem\fR may. -.Ip "\fB\-fomit-frame-pointer\fR" 4 -.IX Item "-fomit-frame-pointer" -Don't keep the frame pointer in a register for functions that -don't need one. This avoids the instructions to save, set up and -restore frame pointers; it also makes an extra register available -in many functions. \fBIt also makes debugging impossible on -some machines.\fR -.Sp -On some machines, such as the \s-1VAX\s0, this flag has no effect, because -the standard calling sequence automatically handles the frame pointer -and nothing is saved by pretending it doesn't exist. The -machine-description macro \f(CW\*(C`FRAME_POINTER_REQUIRED\*(C'\fR controls -whether a target machine supports this flag. -.Ip "\fB\-foptimize-sibling-calls\fR" 4 -.IX Item "-foptimize-sibling-calls" -Optimize sibling and tail recursive calls. -.Ip "\fB\-ftrapv\fR" 4 -.IX Item "-ftrapv" -This option generates traps for signed overflow on addition, subtraction, -multiplication operations. -.Ip "\fB\-fno-inline\fR" 4 -.IX Item "-fno-inline" -Don't pay attention to the \f(CW\*(C`inline\*(C'\fR keyword. Normally this option -is used to keep the compiler from expanding any functions inline. -Note that if you are not optimizing, no functions can be expanded inline. -.Ip "\fB\-finline-functions\fR" 4 -.IX Item "-finline-functions" -Integrate all simple functions into their callers. The compiler -heuristically decides which functions are simple enough to be worth -integrating in this way. -.Sp -If all calls to a given function are integrated, and the function is -declared \f(CW\*(C`static\*(C'\fR, then the function is normally not output as -assembler code in its own right. -.Ip "\fB\-finline-limit=\fR\fIn\fR" 4 -.IX Item "-finline-limit=n" -By default, gcc limits the size of functions that can be inlined. This flag -allows the control of this limit for functions that are explicitly marked as -inline (ie marked with the inline keyword or defined within the class -definition in c++). \fIn\fR is the size of functions that can be inlined in -number of pseudo instructions (not counting parameter handling). The default -value of \fIn\fR is 600. -Increasing this value can result in more inlined code at -the cost of compilation time and memory consumption. Decreasing usually makes -the compilation faster and less code will be inlined (which presumably -means slower programs). This option is particularly useful for programs that -use inlining heavily such as those based on recursive templates with \*(C+. -.Sp -\&\fINote:\fR pseudo instruction represents, in this particular context, an -abstract measurement of function's size. In no way, it represents a count -of assembly instructions and as such its exact meaning might change from one -release to an another. -.Ip "\fB\-fkeep-inline-functions\fR" 4 -.IX Item "-fkeep-inline-functions" -Even if all calls to a given function are integrated, and the function -is declared \f(CW\*(C`static\*(C'\fR, nevertheless output a separate run-time -callable version of the function. This switch does not affect -\&\f(CW\*(C`extern inline\*(C'\fR functions. -.Ip "\fB\-fkeep-static-consts\fR" 4 -.IX Item "-fkeep-static-consts" -Emit variables declared \f(CW\*(C`static const\*(C'\fR when optimization isn't turned -on, even if the variables aren't referenced. -.Sp -\&\s-1GCC\s0 enables this option by default. If you want to force the compiler to -check if the variable was referenced, regardless of whether or not -optimization is turned on, use the \fB\-fno-keep-static-consts\fR option. -.Ip "\fB\-fmerge-constants\fR" 4 -.IX Item "-fmerge-constants" -Attempt to merge identical constants (string constants and floating point -constants) accross compilation units. -.Sp -This option is default for optimized compilation if assembler and linker -support it. Use \fB\-fno-merge-constants\fR to inhibit this behavior. -.Ip "\fB\-fmerge-all-constants\fR" 4 -.IX Item "-fmerge-all-constants" -Attempt to merge identical constants and identical variables. -.Sp -This option implies \fB\-fmerge-constants\fR. In addition to -\&\fB\-fmerge-constants\fR this considers e.g. even constant initialized -arrays or initialized constant variables with integral or floating point -types. Languages like C or \*(C+ require each non-automatic variable to -have distinct location, so using this option will result in non-conforming -behavior. -.Ip "\fB\-fno-branch-count-reg\fR" 4 -.IX Item "-fno-branch-count-reg" -Do not use ``decrement and branch'' instructions on a count register, -but instead generate a sequence of instructions that decrement a -register, compare it against zero, then branch based upon the result. -This option is only meaningful on architectures that support such -instructions, which include x86, PowerPC, \s-1IA-64\s0 and S/390. -.Ip "\fB\-fno-function-cse\fR" 4 -.IX Item "-fno-function-cse" -Do not put function addresses in registers; make each instruction that -calls a constant function contain the function's address explicitly. -.Sp -This option results in less efficient code, but some strange hacks -that alter the assembler output may be confused by the optimizations -performed when this option is not used. -.Ip "\fB\-ffast-math\fR" 4 -.IX Item "-ffast-math" -Sets \fB\-fno-math-errno\fR, \fB\-funsafe-math-optimizations\fR, and \fB\-fno-trapping-math\fR. -.Sp -This option causes the preprocessor macro \f(CW\*(C`_\|_FAST_MATH_\|_\*(C'\fR to be defined. -.Sp -This option should never be turned on by any \fB\-O\fR option since -it can result in incorrect output for programs which depend on -an exact implementation of \s-1IEEE\s0 or \s-1ISO\s0 rules/specifications for -math functions. -.Ip "\fB\-fno-math-errno\fR" 4 -.IX Item "-fno-math-errno" -Do not set \s-1ERRNO\s0 after calling math functions that are executed -with a single instruction, e.g., sqrt. A program that relies on -\&\s-1IEEE\s0 exceptions for math error handling may want to use this flag -for speed while maintaining \s-1IEEE\s0 arithmetic compatibility. -.Sp -This option should never be turned on by any \fB\-O\fR option since -it can result in incorrect output for programs which depend on -an exact implementation of \s-1IEEE\s0 or \s-1ISO\s0 rules/specifications for -math functions. -.Sp -The default is \fB\-fmath-errno\fR. -.Ip "\fB\-funsafe-math-optimizations\fR" 4 -.IX Item "-funsafe-math-optimizations" -Allow optimizations for floating-point arithmetic that (a) assume -that arguments and results are valid and (b) may violate \s-1IEEE\s0 or -\&\s-1ANSI\s0 standards. When used at link-time, it may include libraries -or startup files that change the default \s-1FPU\s0 control word or other -similar optimizations. -.Sp -This option should never be turned on by any \fB\-O\fR option since -it can result in incorrect output for programs which depend on -an exact implementation of \s-1IEEE\s0 or \s-1ISO\s0 rules/specifications for -math functions. -.Sp -The default is \fB\-fno-unsafe-math-optimizations\fR. -.Ip "\fB\-fno-trapping-math\fR" 4 -.IX Item "-fno-trapping-math" -Compile code assuming that floating-point operations cannot generate -user-visible traps. Setting this option may allow faster code -if one relies on ``non-stop'' \s-1IEEE\s0 arithmetic, for example. -.Sp -This option should never be turned on by any \fB\-O\fR option since -it can result in incorrect output for programs which depend on -an exact implementation of \s-1IEEE\s0 or \s-1ISO\s0 rules/specifications for -math functions. -.Sp -The default is \fB\-ftrapping-math\fR. -.Ip "\fB\-fbounds-check\fR" 4 -.IX Item "-fbounds-check" -For front-ends that support it, generate additional code to check that -indices used to access arrays are within the declared range. This is -currenly only supported by the Java and Fortran 77 front-ends, where -this option defaults to true and false respectively. -.PP -The following options control specific optimizations. The \fB\-O2\fR -option turns on all of these optimizations except \fB\-funroll-loops\fR -and \fB\-funroll-all-loops\fR. On most machines, the \fB\-O\fR option -turns on the \fB\-fthread-jumps\fR and \fB\-fdelayed-branch\fR options, -but specific machines may handle it differently. -.PP -You can use the following flags in the rare cases when ``fine-tuning'' -of optimizations to be performed is desired. -.PP -Not all of the optimizations performed by \s-1GCC\s0 have \fB\-f\fR options -to control them. -.Ip "\fB\-fstrength-reduce\fR" 4 -.IX Item "-fstrength-reduce" -Perform the optimizations of loop strength reduction and -elimination of iteration variables. -.Ip "\fB\-fthread-jumps\fR" 4 -.IX Item "-fthread-jumps" -Perform optimizations where we check to see if a jump branches to a -location where another comparison subsumed by the first is found. If -so, the first branch is redirected to either the destination of the -second branch or a point immediately following it, depending on whether -the condition is known to be true or false. -.Ip "\fB\-fcse-follow-jumps\fR" 4 -.IX Item "-fcse-follow-jumps" -In common subexpression elimination, scan through jump instructions -when the target of the jump is not reached by any other path. For -example, when \s-1CSE\s0 encounters an \f(CW\*(C`if\*(C'\fR statement with an -\&\f(CW\*(C`else\*(C'\fR clause, \s-1CSE\s0 will follow the jump when the condition -tested is false. -.Ip "\fB\-fcse-skip-blocks\fR" 4 -.IX Item "-fcse-skip-blocks" -This is similar to \fB\-fcse-follow-jumps\fR, but causes \s-1CSE\s0 to -follow jumps which conditionally skip over blocks. When \s-1CSE\s0 -encounters a simple \f(CW\*(C`if\*(C'\fR statement with no else clause, -\&\fB\-fcse-skip-blocks\fR causes \s-1CSE\s0 to follow the jump around the -body of the \f(CW\*(C`if\*(C'\fR. -.Ip "\fB\-frerun-cse-after-loop\fR" 4 -.IX Item "-frerun-cse-after-loop" -Re-run common subexpression elimination after loop optimizations has been -performed. -.Ip "\fB\-frerun-loop-opt\fR" 4 -.IX Item "-frerun-loop-opt" -Run the loop optimizer twice. -.Ip "\fB\-fgcse\fR" 4 -.IX Item "-fgcse" -Perform a global common subexpression elimination pass. -This pass also performs global constant and copy propagation. -.Sp -\&\fINote:\fR When compiling a program using computed gotos, a \s-1GCC\s0 -extension, you may get better runtime performance if you disable -the global common subexpression elmination pass by adding -\&\fB\-fno-gcse\fR to the command line. -.Ip "\fB\-fgcse-lm\fR" 4 -.IX Item "-fgcse-lm" -When \fB\-fgcse-lm\fR is enabled, global common subexpression elimination will -attempt to move loads which are only killed by stores into themselves. This -allows a loop containing a load/store sequence to be changed to a load outside -the loop, and a copy/store within the loop. -.Ip "\fB\-fgcse-sm\fR" 4 -.IX Item "-fgcse-sm" -When \fB\-fgcse-sm\fR is enabled, A store motion pass is run after global common -subexpression elimination. This pass will attempt to move stores out of loops. -When used in conjunction with \fB\-fgcse-lm\fR, loops containing a load/store sequence -can be changed to a load before the loop and a store after the loop. -.Ip "\fB\-fdelete-null-pointer-checks\fR" 4 -.IX Item "-fdelete-null-pointer-checks" -Use global dataflow analysis to identify and eliminate useless checks -for null pointers. The compiler assumes that dereferencing a null -pointer would have halted the program. If a pointer is checked after -it has already been dereferenced, it cannot be null. -.Sp -In some environments, this assumption is not true, and programs can -safely dereference null pointers. Use -\&\fB\-fno-delete-null-pointer-checks\fR to disable this optimization -for programs which depend on that behavior. -.Ip "\fB\-fexpensive-optimizations\fR" 4 -.IX Item "-fexpensive-optimizations" -Perform a number of minor optimizations that are relatively expensive. -.Ip "\fB\-foptimize-register-move\fR" 4 -.IX Item "-foptimize-register-move" -.PD 0 -.Ip "\fB\-fregmove\fR" 4 -.IX Item "-fregmove" -.PD -Attempt to reassign register numbers in move instructions and as -operands of other simple instructions in order to maximize the amount of -register tying. This is especially helpful on machines with two-operand -instructions. \s-1GCC\s0 enables this optimization by default with \fB\-O2\fR -or higher. -.Sp -Note \fB\-fregmove\fR and \fB\-foptimize-register-move\fR are the same -optimization. -.Ip "\fB\-fdelayed-branch\fR" 4 -.IX Item "-fdelayed-branch" -If supported for the target machine, attempt to reorder instructions -to exploit instruction slots available after delayed branch -instructions. -.Ip "\fB\-fschedule-insns\fR" 4 -.IX Item "-fschedule-insns" -If supported for the target machine, attempt to reorder instructions to -eliminate execution stalls due to required data being unavailable. This -helps machines that have slow floating point or memory load instructions -by allowing other instructions to be issued until the result of the load -or floating point instruction is required. -.Ip "\fB\-fschedule-insns2\fR" 4 -.IX Item "-fschedule-insns2" -Similar to \fB\-fschedule-insns\fR, but requests an additional pass of -instruction scheduling after register allocation has been done. This is -especially useful on machines with a relatively small number of -registers and where memory load instructions take more than one cycle. -.Ip "\fB\-fno-sched-interblock\fR" 4 -.IX Item "-fno-sched-interblock" -Don't schedule instructions across basic blocks. This is normally -enabled by default when scheduling before register allocation, i.e. -with \fB\-fschedule-insns\fR or at \fB\-O2\fR or higher. -.Ip "\fB\-fno-sched-spec\fR" 4 -.IX Item "-fno-sched-spec" -Don't allow speculative motion of non-load instructions. This is normally -enabled by default when scheduling before register allocation, i.e. -with \fB\-fschedule-insns\fR or at \fB\-O2\fR or higher. -.Ip "\fB\-fsched-spec-load\fR" 4 -.IX Item "-fsched-spec-load" -Allow speculative motion of some load instructions. This only makes -sense when scheduling before register allocation, i.e. with -\&\fB\-fschedule-insns\fR or at \fB\-O2\fR or higher. -.Ip "\fB\-fsched-spec-load-dangerous\fR" 4 -.IX Item "-fsched-spec-load-dangerous" -Allow speculative motion of more load instructions. This only makes -sense when scheduling before register allocation, i.e. with -\&\fB\-fschedule-insns\fR or at \fB\-O2\fR or higher. -.Ip "\fB\-ffunction-sections\fR" 4 -.IX Item "-ffunction-sections" -.PD 0 -.Ip "\fB\-fdata-sections\fR" 4 -.IX Item "-fdata-sections" -.PD -Place each function or data item into its own section in the output -file if the target supports arbitrary sections. The name of the -function or the name of the data item determines the section's name -in the output file. -.Sp -Use these options on systems where the linker can perform optimizations -to improve locality of reference in the instruction space. \s-1HPPA\s0 -processors running \s-1HP-UX\s0 and Sparc processors running Solaris 2 have -linkers with such optimizations. Other systems using the \s-1ELF\s0 object format -as well as \s-1AIX\s0 may have these optimizations in the future. -.Sp -Only use these options when there are significant benefits from doing -so. When you specify these options, the assembler and linker will -create larger object and executable files and will also be slower. -You will not be able to use \f(CW\*(C`gprof\*(C'\fR on all systems if you -specify this option and you may have problems with debugging if -you specify both this option and \fB\-g\fR. -.Ip "\fB\-fcaller-saves\fR" 4 -.IX Item "-fcaller-saves" -Enable values to be allocated in registers that will be clobbered by -function calls, by emitting extra instructions to save and restore the -registers around such calls. Such allocation is done only when it -seems to result in better code than would otherwise be produced. -.Sp -This option is always enabled by default on certain machines, usually -those which have no call-preserved registers to use instead. -.Sp -For all machines, optimization level 2 and higher enables this flag by -default. -.Ip "\fB\-funroll-loops\fR" 4 -.IX Item "-funroll-loops" -Unroll loops whose number of iterations can be determined at compile -time or upon entry to the loop. \fB\-funroll-loops\fR implies both -\&\fB\-fstrength-reduce\fR and \fB\-frerun-cse-after-loop\fR. This -option makes code larger, and may or may not make it run faster. -.Ip "\fB\-funroll-all-loops\fR" 4 -.IX Item "-funroll-all-loops" -Unroll all loops, even if their number of iterations is uncertain when -the loop is entered. This usually makes programs run more slowly. -\&\fB\-funroll-all-loops\fR implies the same options as -\&\fB\-funroll-loops\fR, -.Ip "\fB\-fprefetch-loop-arrays\fR" 4 -.IX Item "-fprefetch-loop-arrays" -If supported by the target machine, generate instructions to prefetch -memory to improve the performance of loops that access large arrays. -.Ip "\fB\-fmove-all-movables\fR" 4 -.IX Item "-fmove-all-movables" -Forces all invariant computations in loops to be moved -outside the loop. -.Ip "\fB\-freduce-all-givs\fR" 4 -.IX Item "-freduce-all-givs" -Forces all general-induction variables in loops to be -strength-reduced. -.Sp -\&\fINote:\fR When compiling programs written in Fortran, -\&\fB\-fmove-all-movables\fR and \fB\-freduce-all-givs\fR are enabled -by default when you use the optimizer. -.Sp -These options may generate better or worse code; results are highly -dependent on the structure of loops within the source code. -.Sp -These two options are intended to be removed someday, once -they have helped determine the efficacy of various -approaches to improving loop optimizations. -.Sp -Please let us (<\fBgcc@gcc.gnu.org\fR> and <\fBfortran@gnu.org\fR>) -know how use of these options affects -the performance of your production code. -We're very interested in code that runs \fIslower\fR -when these options are \fIenabled\fR. -.Ip "\fB\-fno-peephole\fR" 4 -.IX Item "-fno-peephole" -.PD 0 -.Ip "\fB\-fno-peephole2\fR" 4 -.IX Item "-fno-peephole2" -.PD -Disable any machine-specific peephole optimizations. The difference -between \fB\-fno-peephole\fR and \fB\-fno-peephole2\fR is in how they -are implemented in the compiler; some targets use one, some use the -other, a few use both. -.Ip "\fB\-fbranch-probabilities\fR" 4 -.IX Item "-fbranch-probabilities" -After running a program compiled with \fB\-fprofile-arcs\fR, you can compile it a second time using -\&\fB\-fbranch-probabilities\fR, to improve optimizations based on -the number of times each branch was taken. When the program -compiled with \fB\-fprofile-arcs\fR exits it saves arc execution -counts to a file called \fI\fIsourcename\fI.da\fR for each source -file The information in this data file is very dependent on the -structure of the generated code, so you must use the same source code -and the same optimization options for both compilations. -.Sp -With \fB\-fbranch-probabilities\fR, \s-1GCC\s0 puts a \fB\s-1REG_EXEC_COUNT\s0\fR -note on the first instruction of each basic block, and a -\&\fB\s-1REG_BR_PROB\s0\fR note on each \fB\s-1JUMP_INSN\s0\fR and \fB\s-1CALL_INSN\s0\fR. -These can be used to improve optimization. Currently, they are only -used in one place: in \fIreorg.c\fR, instead of guessing which path a -branch is mostly to take, the \fB\s-1REG_BR_PROB\s0\fR values are used to -exactly determine which path is taken more often. -.Ip "\fB\-fno-guess-branch-probability\fR" 4 -.IX Item "-fno-guess-branch-probability" -Do not guess branch probabilities using a randomized model. -.Sp -Sometimes gcc will opt to use a randomized model to guess branch -probabilities, when none are available from either profiling feedback -(\fB\-fprofile-arcs\fR) or \fB_\|_builtin_expect\fR. This means that -different runs of the compiler on the same program may produce different -object code. -.Sp -In a hard real-time system, people don't want different runs of the -compiler to produce code that has different behavior; minimizing -non-determinism is of paramount import. This switch allows users to -reduce non-determinism, possibly at the expense of inferior -optimization. -.Ip "\fB\-fstrict-aliasing\fR" 4 -.IX Item "-fstrict-aliasing" -Allows the compiler to assume the strictest aliasing rules applicable to -the language being compiled. For C (and \*(C+), this activates -optimizations based on the type of expressions. In particular, an -object of one type is assumed never to reside at the same address as an -object of a different type, unless the types are almost the same. For -example, an \f(CW\*(C`unsigned int\*(C'\fR can alias an \f(CW\*(C`int\*(C'\fR, but not a -\&\f(CW\*(C`void*\*(C'\fR or a \f(CW\*(C`double\*(C'\fR. A character type may alias any other -type. -.Sp -Pay special attention to code like this: -.Sp -.Vb 4 -\& union a_union { -\& int i; -\& double d; -\& }; -.Ve -.Vb 5 -\& int f() { -\& a_union t; -\& t.d = 3.0; -\& return t.i; -\& } -.Ve -The practice of reading from a different union member than the one most -recently written to (called ``type-punning'') is common. Even with -\&\fB\-fstrict-aliasing\fR, type-punning is allowed, provided the memory -is accessed through the union type. So, the code above will work as -expected. However, this code might not: -.Sp -.Vb 7 -\& int f() { -\& a_union t; -\& int* ip; -\& t.d = 3.0; -\& ip = &t.i; -\& return *ip; -\& } -.Ve -Every language that wishes to perform language-specific alias analysis -should define a function that computes, given an \f(CW\*(C`tree\*(C'\fR -node, an alias set for the node. Nodes in different alias sets are not -allowed to alias. For an example, see the C front-end function -\&\f(CW\*(C`c_get_alias_set\*(C'\fR. -.Ip "\fB\-falign-functions\fR" 4 -.IX Item "-falign-functions" -.PD 0 -.Ip "\fB\-falign-functions=\fR\fIn\fR" 4 -.IX Item "-falign-functions=n" -.PD -Align the start of functions to the next power-of-two greater than -\&\fIn\fR, skipping up to \fIn\fR bytes. For instance, -\&\fB\-falign-functions=32\fR aligns functions to the next 32\-byte -boundary, but \fB\-falign-functions=24\fR would align to the next -32\-byte boundary only if this can be done by skipping 23 bytes or less. -.Sp -\&\fB\-fno-align-functions\fR and \fB\-falign-functions=1\fR are -equivalent and mean that functions will not be aligned. -.Sp -Some assemblers only support this flag when \fIn\fR is a power of two; -in that case, it is rounded up. -.Sp -If \fIn\fR is not specified, use a machine-dependent default. -.Ip "\fB\-falign-labels\fR" 4 -.IX Item "-falign-labels" -.PD 0 -.Ip "\fB\-falign-labels=\fR\fIn\fR" 4 -.IX Item "-falign-labels=n" -.PD -Align all branch targets to a power-of-two boundary, skipping up to -\&\fIn\fR bytes like \fB\-falign-functions\fR. This option can easily -make code slower, because it must insert dummy operations for when the -branch target is reached in the usual flow of the code. -.Sp -If \fB\-falign-loops\fR or \fB\-falign-jumps\fR are applicable and -are greater than this value, then their values are used instead. -.Sp -If \fIn\fR is not specified, use a machine-dependent default which is -very likely to be \fB1\fR, meaning no alignment. -.Ip "\fB\-falign-loops\fR" 4 -.IX Item "-falign-loops" -.PD 0 -.Ip "\fB\-falign-loops=\fR\fIn\fR" 4 -.IX Item "-falign-loops=n" -.PD -Align loops to a power-of-two boundary, skipping up to \fIn\fR bytes -like \fB\-falign-functions\fR. The hope is that the loop will be -executed many times, which will make up for any execution of the dummy -operations. -.Sp -If \fIn\fR is not specified, use a machine-dependent default. -.Ip "\fB\-falign-jumps\fR" 4 -.IX Item "-falign-jumps" -.PD 0 -.Ip "\fB\-falign-jumps=\fR\fIn\fR" 4 -.IX Item "-falign-jumps=n" -.PD -Align branch targets to a power-of-two boundary, for branch targets -where the targets can only be reached by jumping, skipping up to \fIn\fR -bytes like \fB\-falign-functions\fR. In this case, no dummy operations -need be executed. -.Sp -If \fIn\fR is not specified, use a machine-dependent default. -.Ip "\fB\-fssa\fR" 4 -.IX Item "-fssa" -Perform optimizations in static single assignment form. Each function's -flow graph is translated into \s-1SSA\s0 form, optimizations are performed, and -the flow graph is translated back from \s-1SSA\s0 form. Users should not -specify this option, since it is not yet ready for production use. -.Ip "\fB\-fssa-ccp\fR" 4 -.IX Item "-fssa-ccp" -Perform Sparse Conditional Constant Propagation in \s-1SSA\s0 form. Requires -\&\fB\-fssa\fR. Like \fB\-fssa\fR, this is an experimental feature. -.Ip "\fB\-fssa-dce\fR" 4 -.IX Item "-fssa-dce" -Perform aggressive dead-code elimination in \s-1SSA\s0 form. Requires \fB\-fssa\fR. -Like \fB\-fssa\fR, this is an experimental feature. -.Ip "\fB\-fsingle-precision-constant\fR" 4 -.IX Item "-fsingle-precision-constant" -Treat floating point constant as single precision constant instead of -implicitly converting it to double precision constant. -.Ip "\fB\-frename-registers\fR" 4 -.IX Item "-frename-registers" -Attempt to avoid false dependencies in scheduled code by making use -of registers left over after register allocation. This optimization -will most benefit processors with lots of registers. It can, however, -make debugging impossible, since variables will no longer stay in -a ``home register''. -.Ip "\fB\-fno-cprop-registers\fR" 4 -.IX Item "-fno-cprop-registers" -After register allocation and post-register allocation instruction splitting, -we perform a copy-propagation pass to try to reduce scheduling dependencies -and occasionally eliminate the copy. -.Ip "\fB\*(--param\fR \fIname\fR\fB=\fR\fIvalue\fR" 4 -.IX Item "param name=value" -In some places, \s-1GCC\s0 uses various constants to control the amount of -optimization that is done. For example, \s-1GCC\s0 will not inline functions -that contain more that a certain number of instructions. You can -control some of these constants on the command-line using the -\&\fB\*(--param\fR option. -.Sp -In each case, the \fIvalue\fR is an integer. The allowable choices for -\&\fIname\fR are given in the following table: -.RS 4 -.Ip "\fBmax-delay-slot-insn-search\fR" 4 -.IX Item "max-delay-slot-insn-search" -The maximum number of instructions to consider when looking for an -instruction to fill a delay slot. If more than this arbitrary number of -instructions is searched, the time savings from filling the delay slot -will be minimal so stop searching. Increasing values mean more -aggressive optimization, making the compile time increase with probably -small improvement in executable run time. -.Ip "\fBmax-delay-slot-live-search\fR" 4 -.IX Item "max-delay-slot-live-search" -When trying to fill delay slots, the maximum number of instructions to -consider when searching for a block with valid live register -information. Increasing this arbitrarily chosen value means more -aggressive optimization, increasing the compile time. This parameter -should be removed when the delay slot code is rewritten to maintain the -control-flow graph. -.Ip "\fBmax-gcse-memory\fR" 4 -.IX Item "max-gcse-memory" -The approximate maximum amount of memory that will be allocated in -order to perform the global common subexpression elimination -optimization. If more memory than specified is required, the -optimization will not be done. -.Ip "\fBmax-gcse-passes\fR" 4 -.IX Item "max-gcse-passes" -The maximum number of passes of \s-1GCSE\s0 to run. -.Ip "\fBmax-pending-list-length\fR" 4 -.IX Item "max-pending-list-length" -The maximum number of pending dependencies scheduling will allow -before flushing the current state and starting over. Large functions -with few branches or calls can create excessively large lists which -needlessly consume memory and resources. -.Ip "\fBmax-inline-insns\fR" 4 -.IX Item "max-inline-insns" -If an function contains more than this many instructions, it -will not be inlined. This option is precisely equivalent to -\&\fB\-finline-limit\fR. -.RE -.RS 4 -.RE -.Sh "Options Controlling the Preprocessor" -.IX Subsection "Options Controlling the Preprocessor" -These options control the C preprocessor, which is run on each C source -file before actual compilation. -.PP -If you use the \fB\-E\fR option, nothing is done except preprocessing. -Some of these options make sense only together with \fB\-E\fR because -they cause the preprocessor output to be unsuitable for actual -compilation. -.PP -You can use \fB\-Wp,\fR\fIoption\fR to bypass the compiler driver -and pass \fIoption\fR directly through to the preprocessor. If -\&\fIoption\fR contains commas, it is split into multiple options at the -commas. However, many options are modified, translated or interpreted -by the compiler driver before being passed to the preprocessor, and -\&\fB\-Wp\fR forcibly bypasses this phase. The preprocessor's direct -interface is undocumented and subject to change, so whenever possible -you should avoid using \fB\-Wp\fR and let the driver handle the -options instead. -.Ip "\fB\-D\fR \fIname\fR" 4 -.IX Item "-D name" -Predefine \fIname\fR as a macro, with definition \f(CW\*(C`1\*(C'\fR. -.Ip "\fB\-D\fR \fIname\fR\fB=\fR\fIdefinition\fR" 4 -.IX Item "-D name=definition" -Predefine \fIname\fR as a macro, with definition \fIdefinition\fR. -There are no restrictions on the contents of \fIdefinition\fR, but if -you are invoking the preprocessor from a shell or shell-like program you -may need to use the shell's quoting syntax to protect characters such as -spaces that have a meaning in the shell syntax. -.Sp -If you wish to define a function-like macro on the command line, write -its argument list with surrounding parentheses before the equals sign -(if any). Parentheses are meaningful to most shells, so you will need -to quote the option. With \fBsh\fR and \fBcsh\fR, -\&\fB\-D'\fR\fIname\fR\fB(\fR\fIargs...\fR\fB)=\fR\fIdefinition\fR\fB'\fR works. -.Sp -\&\fB\-D\fR and \fB\-U\fR options are processed in the order they -are given on the command line. All \fB\-imacros\fR \fIfile\fR and -\&\fB\-include\fR \fIfile\fR options are processed after all -\&\fB\-D\fR and \fB\-U\fR options. -.Ip "\fB\-U\fR \fIname\fR" 4 -.IX Item "-U name" -Cancel any previous definition of \fIname\fR, either built in or -provided with a \fB\-D\fR option. -.Ip "\fB\-undef\fR" 4 -.IX Item "-undef" -Do not predefine any system-specific macros. The common predefined -macros remain defined. -.Ip "\fB\-I\fR \fIdir\fR" 4 -.IX Item "-I dir" -Add the directory \fIdir\fR to the list of directories to be searched -for header files. -Directories named by \fB\-I\fR are searched before the standard -system include directories. -.Sp -It is dangerous to specify a standard system include directory in an -\&\fB\-I\fR option. This defeats the special treatment of system -headers -\&. It can also defeat the repairs to buggy system headers which \s-1GCC\s0 -makes when it is installed. -.Ip "\fB\-o\fR \fIfile\fR" 4 -.IX Item "-o file" -Write output to \fIfile\fR. This is the same as specifying \fIfile\fR -as the second non-option argument to \fBcpp\fR. \fBgcc\fR has a -different interpretation of a second non-option argument, so you must -use \fB\-o\fR to specify the output file. -.Ip "\fB\-Wall\fR" 4 -.IX Item "-Wall" -Turns on all optional warnings which are desirable for normal code. At -present this is \fB\-Wcomment\fR and \fB\-Wtrigraphs\fR. Note that -many of the preprocessor's warnings are on by default and have no -options to control them. -.Ip "\fB\-Wcomment\fR" 4 -.IX Item "-Wcomment" -.PD 0 -.Ip "\fB\-Wcomments\fR" 4 -.IX Item "-Wcomments" -.PD -Warn whenever a comment-start sequence \fB/*\fR appears in a \fB/*\fR -comment, or whenever a backslash-newline appears in a \fB//\fR comment. -(Both forms have the same effect.) -.Ip "\fB\-Wtrigraphs\fR" 4 -.IX Item "-Wtrigraphs" -Warn if any trigraphs are encountered. This option used to take effect -only if \fB\-trigraphs\fR was also specified, but now works -independently. Warnings are not given for trigraphs within comments, as -they do not affect the meaning of the program. -.Ip "\fB\-Wtraditional\fR" 4 -.IX Item "-Wtraditional" -Warn about certain constructs that behave differently in traditional and -\&\s-1ISO\s0 C. Also warn about \s-1ISO\s0 C constructs that have no traditional C -equivalent, and problematic constructs which should be avoided. -.Ip "\fB\-Wimport\fR" 4 -.IX Item "-Wimport" -Warn the first time \fB#import\fR is used. -.Ip "\fB\-Wundef\fR" 4 -.IX Item "-Wundef" -Warn whenever an identifier which is not a macro is encountered in an -\&\fB#if\fR directive, outside of \fBdefined\fR. Such identifiers are -replaced with zero. -.Ip "\fB\-Werror\fR" 4 -.IX Item "-Werror" -Make all warnings into hard errors. Source code which triggers warnings -will be rejected. -.Ip "\fB\-Wsystem-headers\fR" 4 -.IX Item "-Wsystem-headers" -Issue warnings for code in system headers. These are normally unhelpful -in finding bugs in your own code, therefore suppressed. If you are -responsible for the system library, you may want to see them. -.Ip "\fB\-w\fR" 4 -.IX Item "-w" -Suppress all warnings, including those which \s-1GNU\s0 \s-1CPP\s0 issues by default. -.Ip "\fB\-pedantic\fR" 4 -.IX Item "-pedantic" -Issue all the mandatory diagnostics listed in the C standard. Some of -them are left out by default, since they trigger frequently on harmless -code. -.Ip "\fB\-pedantic-errors\fR" 4 -.IX Item "-pedantic-errors" -Issue all the mandatory diagnostics, and make all mandatory diagnostics -into errors. This includes mandatory diagnostics that \s-1GCC\s0 issues -without \fB\-pedantic\fR but treats as warnings. -.Ip "\fB\-M\fR" 4 -.IX Item "-M" -Instead of outputting the result of preprocessing, output a rule -suitable for \fBmake\fR describing the dependencies of the main -source file. The preprocessor outputs one \fBmake\fR rule containing -the object file name for that source file, a colon, and the names of all -the included files, including those coming from \fB\-include\fR or -\&\fB\-imacros\fR command line options. -.Sp -Unless specified explicitly (with \fB\-MT\fR or \fB\-MQ\fR), the -object file name consists of the basename of the source file with any -suffix replaced with object file suffix. If there are many included -files then the rule is split into several lines using \fB\e\fR\-newline. -The rule has no commands. -.Sp -This option does not suppress the preprocessor's debug output, such as -\&\fB\-dM\fR. To avoid mixing such debug output with the dependency -rules you should explicitly specify the dependency output file with -\&\fB\-MF\fR, or use an environment variable like -\&\fB\s-1DEPENDENCIES_OUTPUT\s0\fR. Debug output -will still be sent to the regular output stream as normal. -.Sp -Passing \fB\-M\fR to the driver implies \fB\-E\fR. -.Ip "\fB\-MM\fR" 4 -.IX Item "-MM" -Like \fB\-M\fR but do not mention header files that are found in -system header directories, nor header files that are included, -directly or indirectly, from such a header. -.Sp -This implies that the choice of angle brackets or double quotes in an -\&\fB#include\fR directive does not in itself determine whether that -header will appear in \fB\-MM\fR dependency output. This is a -slight change in semantics from \s-1GCC\s0 versions 3.0 and earlier. -.Ip "\fB\-MF\fR \fIfile\fR" 4 -.IX Item "-MF file" -@anchor{\-MF} -When used with \fB\-M\fR or \fB\-MM\fR, specifies a -file to write the dependencies to. If no \fB\-MF\fR switch is given -the preprocessor sends the rules to the same place it would have sent -preprocessed output. -.Sp -When used with the driver options \fB\-MD\fR or \fB\-MMD\fR, -\&\fB\-MF\fR overrides the default dependency output file. -.Ip "\fB\-MG\fR" 4 -.IX Item "-MG" -When used with \fB\-M\fR or \fB\-MM\fR, \fB\-MG\fR says to treat missing -header files as generated files and assume they live in the same -directory as the source file. It suppresses preprocessed output, as a -missing header file is ordinarily an error. -.Sp -This feature is used in automatic updating of makefiles. -.Ip "\fB\-MP\fR" 4 -.IX Item "-MP" -This option instructs \s-1CPP\s0 to add a phony target for each dependency -other than the main file, causing each to depend on nothing. These -dummy rules work around errors \fBmake\fR gives if you remove header -files without updating the \fIMakefile\fR to match. -.Sp -This is typical output: -.Sp -.Vb 1 -\& test.o: test.c test.h -.Ve -.Vb 1 -\& test.h: -.Ve -.Ip "\fB\-MT\fR \fItarget\fR" 4 -.IX Item "-MT target" -Change the target of the rule emitted by dependency generation. By -default \s-1CPP\s0 takes the name of the main input file, including any path, -deletes any file suffix such as \fB.c\fR, and appends the platform's -usual object suffix. The result is the target. -.Sp -An \fB\-MT\fR option will set the target to be exactly the string you -specify. If you want multiple targets, you can specify them as a single -argument to \fB\-MT\fR, or use multiple \fB\-MT\fR options. -.Sp -For example, \fB\-MT\ '$(objpfx)foo.o'\fR might give -.Sp -.Vb 1 -\& $(objpfx)foo.o: foo.c -.Ve -.Ip "\fB\-MQ\fR \fItarget\fR" 4 -.IX Item "-MQ target" -Same as \fB\-MT\fR, but it quotes any characters which are special to -Make. \fB\-MQ\ '$(objpfx)foo.o'\fR gives -.Sp -.Vb 1 -\& $$(objpfx)foo.o: foo.c -.Ve -The default target is automatically quoted, as if it were given with -\&\fB\-MQ\fR. -.Ip "\fB\-MD\fR" 4 -.IX Item "-MD" -\&\fB\-MD\fR is equivalent to \fB\-M \-MF\fR \fIfile\fR, except that -\&\fB\-E\fR is not implied. The driver determines \fIfile\fR based on -whether an \fB\-o\fR option is given. If it is, the driver uses its -argument but with a suffix of \fI.d\fR, otherwise it take the -basename of the input file and applies a \fI.d\fR suffix. -.Sp -If \fB\-MD\fR is used in conjunction with \fB\-E\fR, any -\&\fB\-o\fR switch is understood to specify the dependency output file -(but \f(CW@pxref\fR{\-MF}), but if used without \fB\-E\fR, each \fB\-o\fR -is understood to specify a target object file. -.Sp -Since \fB\-E\fR is not implied, \fB\-MD\fR can be used to generate -a dependency output file as a side-effect of the compilation process. -.Ip "\fB\-MMD\fR" 4 -.IX Item "-MMD" -Like \fB\-MD\fR except mention only user header files, not system -\&\-header files. -.Ip "\fB\-x c\fR" 4 -.IX Item "-x c" -.PD 0 -.Ip "\fB\-x c++\fR" 4 -.IX Item "-x c++" -.Ip "\fB\-x objective-c\fR" 4 -.IX Item "-x objective-c" -.Ip "\fB\-x assembler-with-cpp\fR" 4 -.IX Item "-x assembler-with-cpp" -.PD -Specify the source language: C, \*(C+, Objective-C, or assembly. This has -nothing to do with standards conformance or extensions; it merely -selects which base syntax to expect. If you give none of these options, -cpp will deduce the language from the extension of the source file: -\&\fB.c\fR, \fB.cc\fR, \fB.m\fR, or \fB.S\fR. Some other common -extensions for \*(C+ and assembly are also recognized. If cpp does not -recognize the extension, it will treat the file as C; this is the most -generic mode. -.Sp -\&\fBNote:\fR Previous versions of cpp accepted a \fB\-lang\fR option -which selected both the language and the standards conformance level. -This option has been removed, because it conflicts with the \fB\-l\fR -option. -.Ip "\fB\-std=\fR\fIstandard\fR" 4 -.IX Item "-std=standard" -.PD 0 -.Ip "\fB\-ansi\fR" 4 -.IX Item "-ansi" -.PD -Specify the standard to which the code should conform. Currently cpp -only knows about the standards for C; other language standards will be -added in the future. -.Sp -\&\fIstandard\fR -may be one of: -.RS 4 -.if n .Ip "\f(CW""""iso9899:1990""""\fR" 4 -.el .Ip "\f(CWiso9899:1990\fR" 4 -.IX Item "iso9899:1990" -.PD 0 -.if n .Ip "\f(CW""""c89""""\fR" 4 -.el .Ip "\f(CWc89\fR" 4 -.IX Item "c89" -.PD -The \s-1ISO\s0 C standard from 1990. \fBc89\fR is the customary shorthand for -this version of the standard. -.Sp -The \fB\-ansi\fR option is equivalent to \fB\-std=c89\fR. -.if n .Ip "\f(CW""""iso9899:199409""""\fR" 4 -.el .Ip "\f(CWiso9899:199409\fR" 4 -.IX Item "iso9899:199409" -The 1990 C standard, as amended in 1994. -.if n .Ip "\f(CW""""iso9899:1999""""\fR" 4 -.el .Ip "\f(CWiso9899:1999\fR" 4 -.IX Item "iso9899:1999" -.PD 0 -.if n .Ip "\f(CW""""c99""""\fR" 4 -.el .Ip "\f(CWc99\fR" 4 -.IX Item "c99" -.if n .Ip "\f(CW""""iso9899:199x""""\fR" 4 -.el .Ip "\f(CWiso9899:199x\fR" 4 -.IX Item "iso9899:199x" -.if n .Ip "\f(CW""""c9x""""\fR" 4 -.el .Ip "\f(CWc9x\fR" 4 -.IX Item "c9x" -.PD -The revised \s-1ISO\s0 C standard, published in December 1999. Before -publication, this was known as C9X. -.if n .Ip "\f(CW""""gnu89""""\fR" 4 -.el .Ip "\f(CWgnu89\fR" 4 -.IX Item "gnu89" -The 1990 C standard plus \s-1GNU\s0 extensions. This is the default. -.if n .Ip "\f(CW""""gnu99""""\fR" 4 -.el .Ip "\f(CWgnu99\fR" 4 -.IX Item "gnu99" -.PD 0 -.if n .Ip "\f(CW""""gnu9x""""\fR" 4 -.el .Ip "\f(CWgnu9x\fR" 4 -.IX Item "gnu9x" -.PD -The 1999 C standard plus \s-1GNU\s0 extensions. -.RE -.RS 4 -.RE -.Ip "\fB\-I-\fR" 4 -.IX Item "-I-" -Split the include path. Any directories specified with \fB\-I\fR -options before \fB\-I-\fR are searched only for headers requested with -\&\f(CW\*(C`#include\ "\f(CIfile\f(CW"\*(C'\fR; they are not searched for -\&\f(CW\*(C`#include\ <\f(CIfile\f(CW>\*(C'\fR. If additional directories are -specified with \fB\-I\fR options after the \fB\-I-\fR, those -directories are searched for all \fB#include\fR directives. -.Sp -In addition, \fB\-I-\fR inhibits the use of the directory of the current -file directory as the first search directory for \f(CW\*(C`#include\ "\f(CIfile\f(CW"\*(C'\fR. -.Ip "\fB\-nostdinc\fR" 4 -.IX Item "-nostdinc" -Do not search the standard system directories for header files. -Only the directories you have specified with \fB\-I\fR options -(and the directory of the current file, if appropriate) are searched. -.Ip "\fB\-nostdinc++\fR" 4 -.IX Item "-nostdinc++" -Do not search for header files in the \*(C+\-specific standard directories, -but do still search the other standard directories. (This option is -used when building the \*(C+ library.) -.Ip "\fB\-include\fR \fIfile\fR" 4 -.IX Item "-include file" -Process \fIfile\fR as if \f(CW\*(C`#include "file"\*(C'\fR appeared as the first -line of the primary source file. However, the first directory searched -for \fIfile\fR is the preprocessor's working directory \fIinstead of\fR -the directory containing the main source file. If not found there, it -is searched for in the remainder of the \f(CW\*(C`#include "..."\*(C'\fR search -chain as normal. -.Sp -If multiple \fB\-include\fR options are given, the files are included -in the order they appear on the command line. -.Ip "\fB\-imacros\fR \fIfile\fR" 4 -.IX Item "-imacros file" -Exactly like \fB\-include\fR, except that any output produced by -scanning \fIfile\fR is thrown away. Macros it defines remain defined. -This allows you to acquire all the macros from a header without also -processing its declarations. -.Sp -All files specified by \fB\-imacros\fR are processed before all files -specified by \fB\-include\fR. -.Ip "\fB\-idirafter\fR \fIdir\fR" 4 -.IX Item "-idirafter dir" -Search \fIdir\fR for header files, but do it \fIafter\fR all -directories specified with \fB\-I\fR and the standard system directories -have been exhausted. \fIdir\fR is treated as a system include directory. -.Ip "\fB\-iprefix\fR \fIprefix\fR" 4 -.IX Item "-iprefix prefix" -Specify \fIprefix\fR as the prefix for subsequent \fB\-iwithprefix\fR -options. If the prefix represents a directory, you should include the -final \fB/\fR. -.Ip "\fB\-iwithprefix\fR \fIdir\fR" 4 -.IX Item "-iwithprefix dir" -.PD 0 -.Ip "\fB\-iwithprefixbefore\fR \fIdir\fR" 4 -.IX Item "-iwithprefixbefore dir" -.PD -Append \fIdir\fR to the prefix specified previously with -\&\fB\-iprefix\fR, and add the resulting directory to the include search -path. \fB\-iwithprefixbefore\fR puts it in the same place \fB\-I\fR -would; \fB\-iwithprefix\fR puts it where \fB\-idirafter\fR would. -.Sp -Use of these options is discouraged. -.Ip "\fB\-isystem\fR \fIdir\fR" 4 -.IX Item "-isystem dir" -Search \fIdir\fR for header files, after all directories specified by -\&\fB\-I\fR but before the standard system directories. Mark it -as a system directory, so that it gets the same special treatment as -is applied to the standard system directories. -.Ip "\fB\-fpreprocessed\fR" 4 -.IX Item "-fpreprocessed" -Indicate to the preprocessor that the input file has already been -preprocessed. This suppresses things like macro expansion, trigraph -conversion, escaped newline splicing, and processing of most directives. -The preprocessor still recognizes and removes comments, so that you can -pass a file preprocessed with \fB\-C\fR to the compiler without -problems. In this mode the integrated preprocessor is little more than -a tokenizer for the front ends. -.Sp -\&\fB\-fpreprocessed\fR is implicit if the input file has one of the -extensions \fB.i\fR, \fB.ii\fR or \fB.mi\fR. These are the -extensions that \s-1GCC\s0 uses for preprocessed files created by -\&\fB\-save-temps\fR. -.Ip "\fB\-ftabstop=\fR\fIwidth\fR" 4 -.IX Item "-ftabstop=width" -Set the distance between tab stops. This helps the preprocessor report -correct column numbers in warnings or errors, even if tabs appear on the -line. If the value is less than 1 or greater than 100, the option is -ignored. The default is 8. -.Ip "\fB\-fno-show-column\fR" 4 -.IX Item "-fno-show-column" -Do not print column numbers in diagnostics. This may be necessary if -diagnostics are being scanned by a program that does not understand the -column numbers, such as \fBdejagnu\fR. -.Ip "\fB\-A\fR \fIpredicate\fR\fB=\fR\fIanswer\fR" 4 -.IX Item "-A predicate=answer" -Make an assertion with the predicate \fIpredicate\fR and answer -\&\fIanswer\fR. This form is preferred to the older form \fB\-A\fR -\&\fIpredicate\fR\fB(\fR\fIanswer\fR\fB)\fR, which is still supported, because -it does not use shell special characters. -.Ip "\fB\-A -\fR\fIpredicate\fR\fB=\fR\fIanswer\fR" 4 -.IX Item "-A -predicate=answer" -Cancel an assertion with the predicate \fIpredicate\fR and answer -\&\fIanswer\fR. -.Ip "\fB\-A-\fR" 4 -.IX Item "-A-" -Cancel all predefined assertions and all assertions preceding it on -the command line. Also, undefine all predefined macros and all -macros preceding it on the command line. (This is a historical wart and -may change in the future.) -.Ip "\fB\-dCHARS\fR" 4 -.IX Item "-dCHARS" -\&\fI\s-1CHARS\s0\fR is a sequence of one or more of the following characters, -and must not be preceded by a space. Other characters are interpreted -by the compiler proper, or reserved for future versions of \s-1GCC\s0, and so -are silently ignored. If you specify characters whose behavior -conflicts, the result is undefined. -.RS 4 -.Ip "\fBM\fR" 4 -.IX Item "M" -Instead of the normal output, generate a list of \fB#define\fR -directives for all the macros defined during the execution of the -preprocessor, including predefined macros. This gives you a way of -finding out what is predefined in your version of the preprocessor. -Assuming you have no file \fIfoo.h\fR, the command -.Sp -.Vb 1 -\& touch foo.h; cpp -dM foo.h -.Ve -will show all the predefined macros. -.Ip "\fBD\fR" 4 -.IX Item "D" -Like \fBM\fR except in two respects: it does \fInot\fR include the -predefined macros, and it outputs \fIboth\fR the \fB#define\fR -directives and the result of preprocessing. Both kinds of output go to -the standard output file. -.Ip "\fBN\fR" 4 -.IX Item "N" -Like \fBD\fR, but emit only the macro names, not their expansions. -.Ip "\fBI\fR" 4 -.IX Item "I" -Output \fB#include\fR directives in addition to the result of -preprocessing. -.RE -.RS 4 -.RE -.Ip "\fB\-P\fR" 4 -.IX Item "-P" -Inhibit generation of linemarkers in the output from the preprocessor. -This might be useful when running the preprocessor on something that is -not C code, and will be sent to a program which might be confused by the -linemarkers. -.Ip "\fB\-C\fR" 4 -.IX Item "-C" -Do not discard comments. All comments are passed through to the output -file, except for comments in processed directives, which are deleted -along with the directive. -.Sp -You should be prepared for side effects when using \fB\-C\fR; it -causes the preprocessor to treat comments as tokens in their own right. -For example, comments appearing at the start of what would be a -directive line have the effect of turning that line into an ordinary -source line, since the first token on the line is no longer a \fB#\fR. -.Ip "\fB\-gcc\fR" 4 -.IX Item "-gcc" -Define the macros _\|_GNUC_\|_, _\|_GNUC_MINOR_\|_ and -_\|_GNUC_PATCHLEVEL_\|_. These are defined automatically when you use -\&\fBgcc \-E\fR; you can turn them off in that case with -\&\fB\-no-gcc\fR. -.Ip "\fB\-traditional\fR" 4 -.IX Item "-traditional" -Try to imitate the behavior of old-fashioned C, as opposed to \s-1ISO\s0 -C. -.Ip "\fB\-trigraphs\fR" 4 -.IX Item "-trigraphs" -Process trigraph sequences. -These are three-character sequences, all starting with \fB??\fR, that -are defined by \s-1ISO\s0 C to stand for single characters. For example, -\&\fB??/\fR stands for \fB\e\fR, so \fB'??/n'\fR is a character -constant for a newline. By default, \s-1GCC\s0 ignores trigraphs, but in -standard-conforming modes it converts them. See the \fB\-std\fR and -\&\fB\-ansi\fR options. -.Sp -The nine trigraphs and their replacements are -.Sp -.Vb 2 -\& Trigraph: ??( ??) ??< ??> ??= ??/ ??' ??! ??- -\& Replacement: [ ] { } # \e ^ | ~ -.Ve -.Ip "\fB\-remap\fR" 4 -.IX Item "-remap" -Enable special code to work around file systems which only permit very -short file names, such as \s-1MS-DOS\s0. -.Ip "\fB\-$\fR" 4 -.IX Item "-$" -Forbid the use of \fB$\fR in identifiers. The C standard allows -implementations to define extra characters that can appear in -identifiers. By default \s-1GNU\s0 \s-1CPP\s0 permits \fB$\fR, a common extension. -.Ip "\fB\-h\fR" 4 -.IX Item "-h" -.PD 0 -.Ip "\fB\*(--help\fR" 4 -.IX Item "help" -.Ip "\fB\*(--target-help\fR" 4 -.IX Item "target-help" -.PD -Print text describing all the command line options instead of -preprocessing anything. -.Ip "\fB\-v\fR" 4 -.IX Item "-v" -Verbose mode. Print out \s-1GNU\s0 \s-1CPP\s0's version number at the beginning of -execution, and report the final form of the include path. -.Ip "\fB\-H\fR" 4 -.IX Item "-H" -Print the name of each header file used, in addition to other normal -activities. Each name is indented to show how deep in the -\&\fB#include\fR stack it is. -.Ip "\fB\-version\fR" 4 -.IX Item "-version" -.PD 0 -.Ip "\fB\*(--version\fR" 4 -.IX Item "version" -.PD -Print out \s-1GNU\s0 \s-1CPP\s0's version number. With one dash, proceed to -preprocess as normal. With two dashes, exit immediately. -.Sh "Passing Options to the Assembler" -.IX Subsection "Passing Options to the Assembler" -You can pass options to the assembler. -.Ip "\fB\-Wa,\fR\fIoption\fR" 4 -.IX Item "-Wa,option" -Pass \fIoption\fR as an option to the assembler. If \fIoption\fR -contains commas, it is split into multiple options at the commas. -.Sh "Options for Linking" -.IX Subsection "Options for Linking" -These options come into play when the compiler links object files into -an executable output file. They are meaningless if the compiler is -not doing a link step. -.Ip "\fIobject-file-name\fR" 4 -.IX Item "object-file-name" -A file name that does not end in a special recognized suffix is -considered to name an object file or library. (Object files are -distinguished from libraries by the linker according to the file -contents.) If linking is done, these object files are used as input -to the linker. -.Ip "\fB\-c\fR" 4 -.IX Item "-c" -.PD 0 -.Ip "\fB\-S\fR" 4 -.IX Item "-S" -.Ip "\fB\-E\fR" 4 -.IX Item "-E" -.PD -If any of these options is used, then the linker is not run, and -object file names should not be used as arguments. -.Ip "\fB\-l\fR\fIlibrary\fR" 4 -.IX Item "-llibrary" -.PD 0 -.Ip "\fB\-l\fR \fIlibrary\fR" 4 -.IX Item "-l library" -.PD -Search the library named \fIlibrary\fR when linking. (The second -alternative with the library as a separate argument is only for -\&\s-1POSIX\s0 compliance and is not recommended.) -.Sp -It makes a difference where in the command you write this option; the -linker searches and processes libraries and object files in the order they -are specified. Thus, \fBfoo.o \-lz bar.o\fR searches library \fBz\fR -after file \fIfoo.o\fR but before \fIbar.o\fR. If \fIbar.o\fR refers -to functions in \fBz\fR, those functions may not be loaded. -.Sp -The linker searches a standard list of directories for the library, -which is actually a file named \fIlib\fIlibrary\fI.a\fR. The linker -then uses this file as if it had been specified precisely by name. -.Sp -The directories searched include several standard system directories -plus any that you specify with \fB\-L\fR. -.Sp -Normally the files found this way are library files\-\-\-archive files -whose members are object files. The linker handles an archive file by -scanning through it for members which define symbols that have so far -been referenced but not defined. But if the file that is found is an -ordinary object file, it is linked in the usual fashion. The only -difference between using an \fB\-l\fR option and specifying a file name -is that \fB\-l\fR surrounds \fIlibrary\fR with \fBlib\fR and \fB.a\fR -and searches several directories. -.Ip "\fB\-lobjc\fR" 4 -.IX Item "-lobjc" -You need this special case of the \fB\-l\fR option in order to -link an Objective-C program. -.Ip "\fB\-nostartfiles\fR" 4 -.IX Item "-nostartfiles" -Do not use the standard system startup files when linking. -The standard system libraries are used normally, unless \fB\-nostdlib\fR -or \fB\-nodefaultlibs\fR is used. -.Ip "\fB\-nodefaultlibs\fR" 4 -.IX Item "-nodefaultlibs" -Do not use the standard system libraries when linking. -Only the libraries you specify will be passed to the linker. -The standard startup files are used normally, unless \fB\-nostartfiles\fR -is used. The compiler may generate calls to memcmp, memset, and memcpy -for System V (and \s-1ISO\s0 C) environments or to bcopy and bzero for -\&\s-1BSD\s0 environments. These entries are usually resolved by entries in -libc. These entry points should be supplied through some other -mechanism when this option is specified. -.Ip "\fB\-nostdlib\fR" 4 -.IX Item "-nostdlib" -Do not use the standard system startup files or libraries when linking. -No startup files and only the libraries you specify will be passed to -the linker. The compiler may generate calls to memcmp, memset, and memcpy -for System V (and \s-1ISO\s0 C) environments or to bcopy and bzero for -\&\s-1BSD\s0 environments. These entries are usually resolved by entries in -libc. These entry points should be supplied through some other -mechanism when this option is specified. -.Sp -One of the standard libraries bypassed by \fB\-nostdlib\fR and -\&\fB\-nodefaultlibs\fR is \fIlibgcc.a\fR, a library of internal subroutines -that \s-1GCC\s0 uses to overcome shortcomings of particular machines, or special -needs for some languages. -.Sp -In most cases, you need \fIlibgcc.a\fR even when you want to avoid -other standard libraries. In other words, when you specify \fB\-nostdlib\fR -or \fB\-nodefaultlibs\fR you should usually specify \fB\-lgcc\fR as well. -This ensures that you have no unresolved references to internal \s-1GCC\s0 -library subroutines. (For example, \fB_\|_main\fR, used to ensure \*(C+ -constructors will be called.) -.Ip "\fB\-s\fR" 4 -.IX Item "-s" -Remove all symbol table and relocation information from the executable. -.Ip "\fB\-static\fR" 4 -.IX Item "-static" -On systems that support dynamic linking, this prevents linking with the shared -libraries. On other systems, this option has no effect. -.Ip "\fB\-shared\fR" 4 -.IX Item "-shared" -Produce a shared object which can then be linked with other objects to -form an executable. Not all systems support this option. For predictable -results, you must also specify the same set of options that were used to -generate code (\fB\-fpic\fR, \fB\-fPIC\fR, or model suboptions) -when you specify this option.[1] -.Ip "\fB\-shared-libgcc\fR" 4 -.IX Item "-shared-libgcc" -.PD 0 -.Ip "\fB\-static-libgcc\fR" 4 -.IX Item "-static-libgcc" -.PD -On systems that provide \fIlibgcc\fR as a shared library, these options -force the use of either the shared or static version respectively. -If no shared version of \fIlibgcc\fR was built when the compiler was -configured, these options have no effect. -.Sp -There are several situations in which an application should use the -shared \fIlibgcc\fR instead of the static version. The most common -of these is when the application wishes to throw and catch exceptions -across different shared libraries. In that case, each of the libraries -as well as the application itself should use the shared \fIlibgcc\fR. -.Sp -Therefore, the G++ and \s-1GCJ\s0 drivers automatically add -\&\fB\-shared-libgcc\fR whenever you build a shared library or a main -executable, because \*(C+ and Java programs typically use exceptions, so -this is the right thing to do. -.Sp -If, instead, you use the \s-1GCC\s0 driver to create shared libraries, you may -find that they will not always be linked with the shared \fIlibgcc\fR. -If \s-1GCC\s0 finds, at its configuration time, that you have a \s-1GNU\s0 linker that -does not support option \fB\*(--eh-frame-hdr\fR, it will link the shared -version of \fIlibgcc\fR into shared libraries by default. Otherwise, -it will take advantage of the linker and optimize away the linking with -the shared version of \fIlibgcc\fR, linking with the static version of -libgcc by default. This allows exceptions to propagate through such -shared libraries, without incurring relocation costs at library load -time. -.Sp -However, if a library or main executable is supposed to throw or catch -exceptions, you must link it using the G++ or \s-1GCJ\s0 driver, as appropriate -for the languages used in the program, or using the option -\&\fB\-shared-libgcc\fR, such that it is linked with the shared -\&\fIlibgcc\fR. -.Ip "\fB\-symbolic\fR" 4 -.IX Item "-symbolic" -Bind references to global symbols when building a shared object. Warn -about any unresolved references (unless overridden by the link editor -option \fB\-Xlinker \-z \-Xlinker defs\fR). Only a few systems support -this option. -.Ip "\fB\-Xlinker\fR \fIoption\fR" 4 -.IX Item "-Xlinker option" -Pass \fIoption\fR as an option to the linker. You can use this to -supply system-specific linker options which \s-1GCC\s0 does not know how to -recognize. -.Sp -If you want to pass an option that takes an argument, you must use -\&\fB\-Xlinker\fR twice, once for the option and once for the argument. -For example, to pass \fB\-assert definitions\fR, you must write -\&\fB\-Xlinker \-assert \-Xlinker definitions\fR. It does not work to write -\&\fB\-Xlinker \*(L"\-assert definitions\*(R"\fR, because this passes the entire -string as a single argument, which is not what the linker expects. -.Ip "\fB\-Wl,\fR\fIoption\fR" 4 -.IX Item "-Wl,option" -Pass \fIoption\fR as an option to the linker. If \fIoption\fR contains -commas, it is split into multiple options at the commas. -.Ip "\fB\-u\fR \fIsymbol\fR" 4 -.IX Item "-u symbol" -Pretend the symbol \fIsymbol\fR is undefined, to force linking of -library modules to define it. You can use \fB\-u\fR multiple times with -different symbols to force loading of additional library modules. -.Sh "Options for Directory Search" -.IX Subsection "Options for Directory Search" -These options specify directories to search for header files, for -libraries and for parts of the compiler: -.Ip "\fB\-I\fR\fIdir\fR" 4 -.IX Item "-Idir" -Add the directory \fIdir\fR to the head of the list of directories to be -searched for header files. This can be used to override a system header -file, substituting your own version, since these directories are -searched before the system header file directories. However, you should -not use this option to add directories that contain vendor-supplied -system header files (use \fB\-isystem\fR for that). If you use more than -one \fB\-I\fR option, the directories are scanned in left-to-right -order; the standard system directories come after. -.Sp -If a standard system include directory, or a directory specified with -\&\fB\-isystem\fR, is also specified with \fB\-I\fR, the \fB\-I\fR -option will be ignored. The directory will still be searched but as a -system directory at its normal position in the system include chain. -This is to ensure that \s-1GCC\s0's procedure to fix buggy system headers and -the ordering for the include_next directive are not inadvertantly changed. -If you really need to change the search order for system directories, -use the \fB\-nostdinc\fR and/or \fB\-isystem\fR options. -.Ip "\fB\-I-\fR" 4 -.IX Item "-I-" -Any directories you specify with \fB\-I\fR options before the \fB\-I-\fR -option are searched only for the case of \fB#include "\fR\fIfile\fR\fB"\fR; -they are not searched for \fB#include <\fR\fIfile\fR\fB>\fR. -.Sp -If additional directories are specified with \fB\-I\fR options after -the \fB\-I-\fR, these directories are searched for all \fB#include\fR -directives. (Ordinarily \fIall\fR \fB\-I\fR directories are used -this way.) -.Sp -In addition, the \fB\-I-\fR option inhibits the use of the current -directory (where the current input file came from) as the first search -directory for \fB#include "\fR\fIfile\fR\fB"\fR. There is no way to -override this effect of \fB\-I-\fR. With \fB\-I.\fR you can specify -searching the directory which was current when the compiler was -invoked. That is not exactly the same as what the preprocessor does -by default, but it is often satisfactory. -.Sp -\&\fB\-I-\fR does not inhibit the use of the standard system directories -for header files. Thus, \fB\-I-\fR and \fB\-nostdinc\fR are -independent. -.Ip "\fB\-L\fR\fIdir\fR" 4 -.IX Item "-Ldir" -Add directory \fIdir\fR to the list of directories to be searched -for \fB\-l\fR. -.Ip "\fB\-B\fR\fIprefix\fR" 4 -.IX Item "-Bprefix" -This option specifies where to find the executables, libraries, -include files, and data files of the compiler itself. -.Sp -The compiler driver program runs one or more of the subprograms -\&\fIcpp\fR, \fIcc1\fR, \fIas\fR and \fIld\fR. It tries -\&\fIprefix\fR as a prefix for each program it tries to run, both with and -without \fImachine\fR\fB/\fR\fIversion\fR\fB/\fR. -.Sp -For each subprogram to be run, the compiler driver first tries the -\&\fB\-B\fR prefix, if any. If that name is not found, or if \fB\-B\fR -was not specified, the driver tries two standard prefixes, which are -\&\fI/usr/lib/gcc/\fR and \fI/usr/local/lib/gcc-lib/\fR. If neither of -those results in a file name that is found, the unmodified program -name is searched for using the directories specified in your -\&\fB\s-1PATH\s0\fR environment variable. -.Sp -The compiler will check to see if the path provided by the \fB\-B\fR -refers to a directory, and if necessary it will add a directory -separator character at the end of the path. -.Sp -\&\fB\-B\fR prefixes that effectively specify directory names also apply -to libraries in the linker, because the compiler translates these -options into \fB\-L\fR options for the linker. They also apply to -includes files in the preprocessor, because the compiler translates these -options into \fB\-isystem\fR options for the preprocessor. In this case, -the compiler appends \fBinclude\fR to the prefix. -.Sp -The run-time support file \fIlibgcc.a\fR can also be searched for using -the \fB\-B\fR prefix, if needed. If it is not found there, the two -standard prefixes above are tried, and that is all. The file is left -out of the link if it is not found by those means. -.Sp -Another way to specify a prefix much like the \fB\-B\fR prefix is to use -the environment variable \fB\s-1GCC_EXEC_PREFIX\s0\fR. -.Sp -As a special kludge, if the path provided by \fB\-B\fR is -\&\fI[dir/]stage\fIN\fI/\fR, where \fIN\fR is a number in the range 0 to -9, then it will be replaced by \fI[dir/]include\fR. This is to help -with boot-strapping the compiler. -.Ip "\fB\-specs=\fR\fIfile\fR" 4 -.IX Item "-specs=file" -Process \fIfile\fR after the compiler reads in the standard \fIspecs\fR -file, in order to override the defaults that the \fIgcc\fR driver -program uses when determining what switches to pass to \fIcc1\fR, -\&\fIcc1plus\fR, \fIas\fR, \fIld\fR, etc. More than one -\&\fB\-specs=\fR\fIfile\fR can be specified on the command line, and they -are processed in order, from left to right. -.Sh "Specifying Target Machine and Compiler Version" -.IX Subsection "Specifying Target Machine and Compiler Version" -By default, \s-1GCC\s0 compiles code for the same type of machine that you -are using. However, it can also be installed as a cross-compiler, to -compile for some other type of machine. In fact, several different -configurations of \s-1GCC\s0, for different target machines, can be -installed side by side. Then you specify which one to use with the -\&\fB\-b\fR option. -.PP -In addition, older and newer versions of \s-1GCC\s0 can be installed side -by side. One of them (probably the newest) will be the default, but -you may sometimes wish to use another. -.Ip "\fB\-b\fR \fImachine\fR" 4 -.IX Item "-b machine" -The argument \fImachine\fR specifies the target machine for compilation. -This is useful when you have installed \s-1GCC\s0 as a cross-compiler. -.Sp -The value to use for \fImachine\fR is the same as was specified as the -machine type when configuring \s-1GCC\s0 as a cross-compiler. For -example, if a cross-compiler was configured with \fBconfigure -i386v\fR, meaning to compile for an 80386 running System V, then you -would specify \fB\-b i386v\fR to run that cross compiler. -.Sp -When you do not specify \fB\-b\fR, it normally means to compile for -the same type of machine that you are using. -.Ip "\fB\-V\fR \fIversion\fR" 4 -.IX Item "-V version" -The argument \fIversion\fR specifies which version of \s-1GCC\s0 to run. -This is useful when multiple versions are installed. For example, -\&\fIversion\fR might be \fB2.0\fR, meaning to run \s-1GCC\s0 version 2.0. -.Sp -The default version, when you do not specify \fB\-V\fR, is the last -version of \s-1GCC\s0 that you installed. -.PP -The \fB\-b\fR and \fB\-V\fR options actually work by controlling part of -the file name used for the executable files and libraries used for -compilation. A given version of \s-1GCC\s0, for a given target machine, is -normally kept in the directory \fI/usr/local/lib/gcc-lib/\fImachine\fI/\fIversion\fI\fR. -.PP -Thus, sites can customize the effect of \fB\-b\fR or \fB\-V\fR either by -changing the names of these directories or adding alternate names (or -symbolic links). If in directory \fI/usr/local/lib/gcc-lib/\fR the -file \fI80386\fR is a link to the file \fIi386v\fR, then \fB\-b -80386\fR becomes an alias for \fB\-b i386v\fR. -.PP -In one respect, the \fB\-b\fR or \fB\-V\fR do not completely change -to a different compiler: the top-level driver program \fBgcc\fR -that you originally invoked continues to run and invoke the other -executables (preprocessor, compiler per se, assembler and linker) -that do the real work. However, since no real work is done in the -driver program, it usually does not matter that the driver program -in use is not the one for the specified target. It is common for the -interface to the other executables to change incompatibly between -compiler versions, so unless the version specified is very close to that -of the driver (for example, \fB\-V 3.0\fR with a driver program from \s-1GCC\s0 -version 3.0.1), use of \fB\-V\fR may not work; for example, using -\&\fB\-V 2.95.2\fR will not work with a driver program from \s-1GCC\s0 3.0. -.PP -The only way that the driver program depends on the target machine is -in the parsing and handling of special machine-specific options. -However, this is controlled by a file which is found, along with the -other executables, in the directory for the specified version and -target machine. As a result, a single installed driver program adapts -to any specified target machine, and sufficiently similar compiler -versions. -.PP -The driver program executable does control one significant thing, -however: the default version and target machine. Therefore, you can -install different instances of the driver program, compiled for -different targets or versions, under different names. -.PP -For example, if the driver for version 2.0 is installed as \fBogcc\fR -and that for version 2.1 is installed as \fBgcc\fR, then the command -\&\fBgcc\fR will use version 2.1 by default, while \fBogcc\fR will use -2.0 by default. However, you can choose either version with either -command with the \fB\-V\fR option. -.Sh "Hardware Models and Configurations" -.IX Subsection "Hardware Models and Configurations" -Earlier we discussed the standard option \fB\-b\fR which chooses among -different installed compilers for completely different target -machines, such as \s-1VAX\s0 vs. 68000 vs. 80386. -.PP -In addition, each of these target machine types can have its own -special options, starting with \fB\-m\fR, to choose among various -hardware models or configurations\-\-\-for example, 68010 vs 68020, -floating coprocessor or none. A single installed version of the -compiler can compile for any model or configuration, according to the -options specified. -.PP -Some configurations of the compiler also support additional special -options, usually for compatibility with other compilers on the same -platform. -.PP -These options are defined by the macro \f(CW\*(C`TARGET_SWITCHES\*(C'\fR in the -machine description. The default for the options is also defined by -that macro, which enables you to change the defaults. -.PP -.I "M680x0 Options" -.IX Subsection "M680x0 Options" -.PP -These are the \fB\-m\fR options defined for the 68000 series. The default -values for these options depends on which style of 68000 was selected when -the compiler was configured; the defaults for the most common choices are -given below. -.Ip "\fB\-m68000\fR" 4 -.IX Item "-m68000" -.PD 0 -.Ip "\fB\-mc68000\fR" 4 -.IX Item "-mc68000" -.PD -Generate output for a 68000. This is the default -when the compiler is configured for 68000\-based systems. -.Sp -Use this option for microcontrollers with a 68000 or \s-1EC000\s0 core, -including the 68008, 68302, 68306, 68307, 68322, 68328 and 68356. -.Ip "\fB\-m68020\fR" 4 -.IX Item "-m68020" -.PD 0 -.Ip "\fB\-mc68020\fR" 4 -.IX Item "-mc68020" -.PD -Generate output for a 68020. This is the default -when the compiler is configured for 68020\-based systems. -.Ip "\fB\-m68881\fR" 4 -.IX Item "-m68881" -Generate output containing 68881 instructions for floating point. -This is the default for most 68020 systems unless \fB\*(--nfp\fR was -specified when the compiler was configured. -.Ip "\fB\-m68030\fR" 4 -.IX Item "-m68030" -Generate output for a 68030. This is the default when the compiler is -configured for 68030\-based systems. -.Ip "\fB\-m68040\fR" 4 -.IX Item "-m68040" -Generate output for a 68040. This is the default when the compiler is -configured for 68040\-based systems. -.Sp -This option inhibits the use of 68881/68882 instructions that have to be -emulated by software on the 68040. Use this option if your 68040 does not -have code to emulate those instructions. -.Ip "\fB\-m68060\fR" 4 -.IX Item "-m68060" -Generate output for a 68060. This is the default when the compiler is -configured for 68060\-based systems. -.Sp -This option inhibits the use of 68020 and 68881/68882 instructions that -have to be emulated by software on the 68060. Use this option if your 68060 -does not have code to emulate those instructions. -.Ip "\fB\-mcpu32\fR" 4 -.IX Item "-mcpu32" -Generate output for a \s-1CPU32\s0. This is the default -when the compiler is configured for CPU32\-based systems. -.Sp -Use this option for microcontrollers with a -\&\s-1CPU32\s0 or \s-1CPU32+\s0 core, including the 68330, 68331, 68332, 68333, 68334, -68336, 68340, 68341, 68349 and 68360. -.Ip "\fB\-m5200\fR" 4 -.IX Item "-m5200" -Generate output for a 520X ``coldfire'' family cpu. This is the default -when the compiler is configured for 520X-based systems. -.Sp -Use this option for microcontroller with a 5200 core, including -the \s-1MCF5202\s0, \s-1MCF5203\s0, \s-1MCF5204\s0 and \s-1MCF5202\s0. -.Ip "\fB\-m68020\-40\fR" 4 -.IX Item "-m68020-40" -Generate output for a 68040, without using any of the new instructions. -This results in code which can run relatively efficiently on either a -68020/68881 or a 68030 or a 68040. The generated code does use the -68881 instructions that are emulated on the 68040. -.Ip "\fB\-m68020\-60\fR" 4 -.IX Item "-m68020-60" -Generate output for a 68060, without using any of the new instructions. -This results in code which can run relatively efficiently on either a -68020/68881 or a 68030 or a 68040. The generated code does use the -68881 instructions that are emulated on the 68060. -.Ip "\fB\-mfpa\fR" 4 -.IX Item "-mfpa" -Generate output containing Sun \s-1FPA\s0 instructions for floating point. -.Ip "\fB\-msoft-float\fR" 4 -.IX Item "-msoft-float" -Generate output containing library calls for floating point. -\&\fBWarning:\fR the requisite libraries are not available for all m68k -targets. Normally the facilities of the machine's usual C compiler are -used, but this can't be done directly in cross-compilation. You must -make your own arrangements to provide suitable library functions for -cross-compilation. The embedded targets \fBm68k-*\-aout\fR and -\&\fBm68k-*\-coff\fR do provide software floating point support. -.Ip "\fB\-mshort\fR" 4 -.IX Item "-mshort" -Consider type \f(CW\*(C`int\*(C'\fR to be 16 bits wide, like \f(CW\*(C`short int\*(C'\fR. -.Ip "\fB\-mnobitfield\fR" 4 -.IX Item "-mnobitfield" -Do not use the bit-field instructions. The \fB\-m68000\fR, \fB\-mcpu32\fR -and \fB\-m5200\fR options imply \fB\-mnobitfield\fR. -.Ip "\fB\-mbitfield\fR" 4 -.IX Item "-mbitfield" -Do use the bit-field instructions. The \fB\-m68020\fR option implies -\&\fB\-mbitfield\fR. This is the default if you use a configuration -designed for a 68020. -.Ip "\fB\-mrtd\fR" 4 -.IX Item "-mrtd" -Use a different function-calling convention, in which functions -that take a fixed number of arguments return with the \f(CW\*(C`rtd\*(C'\fR -instruction, which pops their arguments while returning. This -saves one instruction in the caller since there is no need to pop -the arguments there. -.Sp -This calling convention is incompatible with the one normally -used on Unix, so you cannot use it if you need to call libraries -compiled with the Unix compiler. -.Sp -Also, you must provide function prototypes for all functions that -take variable numbers of arguments (including \f(CW\*(C`printf\*(C'\fR); -otherwise incorrect code will be generated for calls to those -functions. -.Sp -In addition, seriously incorrect code will result if you call a -function with too many arguments. (Normally, extra arguments are -harmlessly ignored.) -.Sp -The \f(CW\*(C`rtd\*(C'\fR instruction is supported by the 68010, 68020, 68030, -68040, 68060 and \s-1CPU32\s0 processors, but not by the 68000 or 5200. -.Ip "\fB\-malign-int\fR" 4 -.IX Item "-malign-int" -.PD 0 -.Ip "\fB\-mno-align-int\fR" 4 -.IX Item "-mno-align-int" -.PD -Control whether \s-1GCC\s0 aligns \f(CW\*(C`int\*(C'\fR, \f(CW\*(C`long\*(C'\fR, \f(CW\*(C`long long\*(C'\fR, -\&\f(CW\*(C`float\*(C'\fR, \f(CW\*(C`double\*(C'\fR, and \f(CW\*(C`long double\*(C'\fR variables on a 32\-bit -boundary (\fB\-malign-int\fR) or a 16\-bit boundary (\fB\-mno-align-int\fR). -Aligning variables on 32\-bit boundaries produces code that runs somewhat -faster on processors with 32\-bit busses at the expense of more memory. -.Sp -\&\fBWarning:\fR if you use the \fB\-malign-int\fR switch, \s-1GCC\s0 will -align structures containing the above types differently than -most published application binary interface specifications for the m68k. -.Ip "\fB\-mpcrel\fR" 4 -.IX Item "-mpcrel" -Use the pc-relative addressing mode of the 68000 directly, instead of -using a global offset table. At present, this option implies \fB\-fpic\fR, -allowing at most a 16\-bit offset for pc-relative addressing. \fB\-fPIC\fR is -not presently supported with \fB\-mpcrel\fR, though this could be supported for -68020 and higher processors. -.Ip "\fB\-mno-strict-align\fR" 4 -.IX Item "-mno-strict-align" -.PD 0 -.Ip "\fB\-mstrict-align\fR" 4 -.IX Item "-mstrict-align" -.PD -Do not (do) assume that unaligned memory references will be handled by -the system. -.PP -.I "M68hc1x Options" -.IX Subsection "M68hc1x Options" -.PP -These are the \fB\-m\fR options defined for the 68hc11 and 68hc12 -microcontrollers. The default values for these options depends on -which style of microcontroller was selected when the compiler was configured; -the defaults for the most common choices are given below. -.Ip "\fB\-m6811\fR" 4 -.IX Item "-m6811" -.PD 0 -.Ip "\fB\-m68hc11\fR" 4 -.IX Item "-m68hc11" -.PD -Generate output for a 68HC11. This is the default -when the compiler is configured for 68HC11\-based systems. -.Ip "\fB\-m6812\fR" 4 -.IX Item "-m6812" -.PD 0 -.Ip "\fB\-m68hc12\fR" 4 -.IX Item "-m68hc12" -.PD -Generate output for a 68HC12. This is the default -when the compiler is configured for 68HC12\-based systems. -.Ip "\fB\-mauto-incdec\fR" 4 -.IX Item "-mauto-incdec" -Enable the use of 68HC12 pre and post auto-increment and auto-decrement -addressing modes. -.Ip "\fB\-mshort\fR" 4 -.IX Item "-mshort" -Consider type \f(CW\*(C`int\*(C'\fR to be 16 bits wide, like \f(CW\*(C`short int\*(C'\fR. -.Ip "\fB\-msoft-reg-count=\fR\fIcount\fR" 4 -.IX Item "-msoft-reg-count=count" -Specify the number of pseudo-soft registers which are used for the -code generation. The maximum number is 32. Using more pseudo-soft -register may or may not result in better code depending on the program. -The default is 4 for 68HC11 and 2 for 68HC12. -.PP -.I "\s-1VAX\s0 Options" -.IX Subsection "VAX Options" -.PP -These \fB\-m\fR options are defined for the \s-1VAX:\s0 -.Ip "\fB\-munix\fR" 4 -.IX Item "-munix" -Do not output certain jump instructions (\f(CW\*(C`aobleq\*(C'\fR and so on) -that the Unix assembler for the \s-1VAX\s0 cannot handle across long -ranges. -.Ip "\fB\-mgnu\fR" 4 -.IX Item "-mgnu" -Do output those jump instructions, on the assumption that you -will assemble with the \s-1GNU\s0 assembler. -.Ip "\fB\-mg\fR" 4 -.IX Item "-mg" -Output code for g-format floating point numbers instead of d-format. -.PP -.I "\s-1SPARC\s0 Options" -.IX Subsection "SPARC Options" -.PP -These \fB\-m\fR switches are supported on the \s-1SPARC:\s0 -.Ip "\fB\-mno-app-regs\fR" 4 -.IX Item "-mno-app-regs" -.PD 0 -.Ip "\fB\-mapp-regs\fR" 4 -.IX Item "-mapp-regs" -.PD -Specify \fB\-mapp-regs\fR to generate output using the global registers -2 through 4, which the \s-1SPARC\s0 \s-1SVR4\s0 \s-1ABI\s0 reserves for applications. This -is the default. -.Sp -To be fully \s-1SVR4\s0 \s-1ABI\s0 compliant at the cost of some performance loss, -specify \fB\-mno-app-regs\fR. You should compile libraries and system -software with this option. -.Ip "\fB\-mfpu\fR" 4 -.IX Item "-mfpu" -.PD 0 -.Ip "\fB\-mhard-float\fR" 4 -.IX Item "-mhard-float" -.PD -Generate output containing floating point instructions. This is the -default. -.Ip "\fB\-mno-fpu\fR" 4 -.IX Item "-mno-fpu" -.PD 0 -.Ip "\fB\-msoft-float\fR" 4 -.IX Item "-msoft-float" -.PD -Generate output containing library calls for floating point. -\&\fBWarning:\fR the requisite libraries are not available for all \s-1SPARC\s0 -targets. Normally the facilities of the machine's usual C compiler are -used, but this cannot be done directly in cross-compilation. You must make -your own arrangements to provide suitable library functions for -cross-compilation. The embedded targets \fBsparc-*\-aout\fR and -\&\fBsparclite-*\-*\fR do provide software floating point support. -.Sp -\&\fB\-msoft-float\fR changes the calling convention in the output file; -therefore, it is only useful if you compile \fIall\fR of a program with -this option. In particular, you need to compile \fIlibgcc.a\fR, the -library that comes with \s-1GCC\s0, with \fB\-msoft-float\fR in order for -this to work. -.Ip "\fB\-mhard-quad-float\fR" 4 -.IX Item "-mhard-quad-float" -Generate output containing quad-word (long double) floating point -instructions. -.Ip "\fB\-msoft-quad-float\fR" 4 -.IX Item "-msoft-quad-float" -Generate output containing library calls for quad-word (long double) -floating point instructions. The functions called are those specified -in the \s-1SPARC\s0 \s-1ABI\s0. This is the default. -.Sp -As of this writing, there are no sparc implementations that have hardware -support for the quad-word floating point instructions. They all invoke -a trap handler for one of these instructions, and then the trap handler -emulates the effect of the instruction. Because of the trap handler overhead, -this is much slower than calling the \s-1ABI\s0 library routines. Thus the -\&\fB\-msoft-quad-float\fR option is the default. -.Ip "\fB\-mno-flat\fR" 4 -.IX Item "-mno-flat" -.PD 0 -.Ip "\fB\-mflat\fR" 4 -.IX Item "-mflat" -.PD -With \fB\-mflat\fR, the compiler does not generate save/restore instructions -and will use a ``flat'' or single register window calling convention. -This model uses \f(CW%i7\fR as the frame pointer and is compatible with the normal -register window model. Code from either may be intermixed. -The local registers and the input registers (0\*(--5) are still treated as -``call saved'' registers and will be saved on the stack as necessary. -.Sp -With \fB\-mno-flat\fR (the default), the compiler emits save/restore -instructions (except for leaf functions) and is the normal mode of operation. -.Ip "\fB\-mno-unaligned-doubles\fR" 4 -.IX Item "-mno-unaligned-doubles" -.PD 0 -.Ip "\fB\-munaligned-doubles\fR" 4 -.IX Item "-munaligned-doubles" -.PD -Assume that doubles have 8 byte alignment. This is the default. -.Sp -With \fB\-munaligned-doubles\fR, \s-1GCC\s0 assumes that doubles have 8 byte -alignment only if they are contained in another type, or if they have an -absolute address. Otherwise, it assumes they have 4 byte alignment. -Specifying this option avoids some rare compatibility problems with code -generated by other compilers. It is not the default because it results -in a performance loss, especially for floating point code. -.Ip "\fB\-mno-faster-structs\fR" 4 -.IX Item "-mno-faster-structs" -.PD 0 -.Ip "\fB\-mfaster-structs\fR" 4 -.IX Item "-mfaster-structs" -.PD -With \fB\-mfaster-structs\fR, the compiler assumes that structures -should have 8 byte alignment. This enables the use of pairs of -\&\f(CW\*(C`ldd\*(C'\fR and \f(CW\*(C`std\*(C'\fR instructions for copies in structure -assignment, in place of twice as many \f(CW\*(C`ld\*(C'\fR and \f(CW\*(C`st\*(C'\fR pairs. -However, the use of this changed alignment directly violates the Sparc -\&\s-1ABI\s0. Thus, it's intended only for use on targets where the developer -acknowledges that their resulting code will not be directly in line with -the rules of the \s-1ABI\s0. -.Ip "\fB\-mv8\fR" 4 -.IX Item "-mv8" -.PD 0 -.Ip "\fB\-msparclite\fR" 4 -.IX Item "-msparclite" -.PD -These two options select variations on the \s-1SPARC\s0 architecture. -.Sp -By default (unless specifically configured for the Fujitsu SPARClite), -\&\s-1GCC\s0 generates code for the v7 variant of the \s-1SPARC\s0 architecture. -.Sp -\&\fB\-mv8\fR will give you \s-1SPARC\s0 v8 code. The only difference from v7 -code is that the compiler emits the integer multiply and integer -divide instructions which exist in \s-1SPARC\s0 v8 but not in \s-1SPARC\s0 v7. -.Sp -\&\fB\-msparclite\fR will give you SPARClite code. This adds the integer -multiply, integer divide step and scan (\f(CW\*(C`ffs\*(C'\fR) instructions which -exist in SPARClite but not in \s-1SPARC\s0 v7. -.Sp -These options are deprecated and will be deleted in a future \s-1GCC\s0 release. -They have been replaced with \fB\-mcpu=xxx\fR. -.Ip "\fB\-mcypress\fR" 4 -.IX Item "-mcypress" -.PD 0 -.Ip "\fB\-msupersparc\fR" 4 -.IX Item "-msupersparc" -.PD -These two options select the processor for which the code is optimized. -.Sp -With \fB\-mcypress\fR (the default), the compiler optimizes code for the -Cypress \s-1CY7C602\s0 chip, as used in the SparcStation/SparcServer 3xx series. -This is also appropriate for the older SparcStation 1, 2, \s-1IPX\s0 etc. -.Sp -With \fB\-msupersparc\fR the compiler optimizes code for the SuperSparc cpu, as -used in the SparcStation 10, 1000 and 2000 series. This flag also enables use -of the full \s-1SPARC\s0 v8 instruction set. -.Sp -These options are deprecated and will be deleted in a future \s-1GCC\s0 release. -They have been replaced with \fB\-mcpu=xxx\fR. -.Ip "\fB\-mcpu=\fR\fIcpu_type\fR" 4 -.IX Item "-mcpu=cpu_type" -Set the instruction set, register set, and instruction scheduling parameters -for machine type \fIcpu_type\fR. Supported values for \fIcpu_type\fR are -\&\fBv7\fR, \fBcypress\fR, \fBv8\fR, \fBsupersparc\fR, \fBsparclite\fR, -\&\fBhypersparc\fR, \fBsparclite86x\fR, \fBf930\fR, \fBf934\fR, -\&\fBsparclet\fR, \fBtsc701\fR, \fBv9\fR, and \fBultrasparc\fR. -.Sp -Default instruction scheduling parameters are used for values that select -an architecture and not an implementation. These are \fBv7\fR, \fBv8\fR, -\&\fBsparclite\fR, \fBsparclet\fR, \fBv9\fR. -.Sp -Here is a list of each supported architecture and their supported -implementations. -.Sp -.Vb 5 -\& v7: cypress -\& v8: supersparc, hypersparc -\& sparclite: f930, f934, sparclite86x -\& sparclet: tsc701 -\& v9: ultrasparc -.Ve -.Ip "\fB\-mtune=\fR\fIcpu_type\fR" 4 -.IX Item "-mtune=cpu_type" -Set the instruction scheduling parameters for machine type -\&\fIcpu_type\fR, but do not set the instruction set or register set that the -option \fB\-mcpu=\fR\fIcpu_type\fR would. -.Sp -The same values for \fB\-mcpu=\fR\fIcpu_type\fR can be used for -\&\fB\-mtune=\fR\fIcpu_type\fR, but the only useful values are those -that select a particular cpu implementation. Those are \fBcypress\fR, -\&\fBsupersparc\fR, \fBhypersparc\fR, \fBf930\fR, \fBf934\fR, -\&\fBsparclite86x\fR, \fBtsc701\fR, and \fBultrasparc\fR. -.PP -These \fB\-m\fR switches are supported in addition to the above -on the \s-1SPARCLET\s0 processor. -.Ip "\fB\-mlittle-endian\fR" 4 -.IX Item "-mlittle-endian" -Generate code for a processor running in little-endian mode. -.Ip "\fB\-mlive-g0\fR" 4 -.IX Item "-mlive-g0" -Treat register \f(CW\*(C`%g0\*(C'\fR as a normal register. -\&\s-1GCC\s0 will continue to clobber it as necessary but will not assume -it always reads as 0. -.Ip "\fB\-mbroken-saverestore\fR" 4 -.IX Item "-mbroken-saverestore" -Generate code that does not use non-trivial forms of the \f(CW\*(C`save\*(C'\fR and -\&\f(CW\*(C`restore\*(C'\fR instructions. Early versions of the \s-1SPARCLET\s0 processor do -not correctly handle \f(CW\*(C`save\*(C'\fR and \f(CW\*(C`restore\*(C'\fR instructions used with -arguments. They correctly handle them used without arguments. A \f(CW\*(C`save\*(C'\fR -instruction used without arguments increments the current window pointer -but does not allocate a new stack frame. It is assumed that the window -overflow trap handler will properly handle this case as will interrupt -handlers. -.PP -These \fB\-m\fR switches are supported in addition to the above -on \s-1SPARC\s0 V9 processors in 64\-bit environments. -.Ip "\fB\-mlittle-endian\fR" 4 -.IX Item "-mlittle-endian" -Generate code for a processor running in little-endian mode. -.Ip "\fB\-m32\fR" 4 -.IX Item "-m32" -.PD 0 -.Ip "\fB\-m64\fR" 4 -.IX Item "-m64" -.PD -Generate code for a 32\-bit or 64\-bit environment. -The 32\-bit environment sets int, long and pointer to 32 bits. -The 64\-bit environment sets int to 32 bits and long and pointer -to 64 bits. -.Ip "\fB\-mcmodel=medlow\fR" 4 -.IX Item "-mcmodel=medlow" -Generate code for the Medium/Low code model: the program must be linked -in the low 32 bits of the address space. Pointers are 64 bits. -Programs can be statically or dynamically linked. -.Ip "\fB\-mcmodel=medmid\fR" 4 -.IX Item "-mcmodel=medmid" -Generate code for the Medium/Middle code model: the program must be linked -in the low 44 bits of the address space, the text segment must be less than -2G bytes, and data segment must be within 2G of the text segment. -Pointers are 64 bits. -.Ip "\fB\-mcmodel=medany\fR" 4 -.IX Item "-mcmodel=medany" -Generate code for the Medium/Anywhere code model: the program may be linked -anywhere in the address space, the text segment must be less than -2G bytes, and data segment must be within 2G of the text segment. -Pointers are 64 bits. -.Ip "\fB\-mcmodel=embmedany\fR" 4 -.IX Item "-mcmodel=embmedany" -Generate code for the Medium/Anywhere code model for embedded systems: -assume a 32\-bit text and a 32\-bit data segment, both starting anywhere -(determined at link time). Register \f(CW%g4\fR points to the base of the -data segment. Pointers are still 64 bits. -Programs are statically linked, \s-1PIC\s0 is not supported. -.Ip "\fB\-mstack-bias\fR" 4 -.IX Item "-mstack-bias" -.PD 0 -.Ip "\fB\-mno-stack-bias\fR" 4 -.IX Item "-mno-stack-bias" -.PD -With \fB\-mstack-bias\fR, \s-1GCC\s0 assumes that the stack pointer, and -frame pointer if present, are offset by \-2047 which must be added back -when making stack frame references. -Otherwise, assume no such offset is present. -.PP -.I "Convex Options" -.IX Subsection "Convex Options" -.PP -These \fB\-m\fR options are defined for Convex: -.Ip "\fB\-mc1\fR" 4 -.IX Item "-mc1" -Generate output for C1. The code will run on any Convex machine. -The preprocessor symbol \f(CW\*(C`_\|_convex_\|_c1_\|_\*(C'\fR is defined. -.Ip "\fB\-mc2\fR" 4 -.IX Item "-mc2" -Generate output for C2. Uses instructions not available on C1. -Scheduling and other optimizations are chosen for max performance on C2. -The preprocessor symbol \f(CW\*(C`_\|_convex_c2_\|_\*(C'\fR is defined. -.Ip "\fB\-mc32\fR" 4 -.IX Item "-mc32" -Generate output for C32xx. Uses instructions not available on C1. -Scheduling and other optimizations are chosen for max performance on C32. -The preprocessor symbol \f(CW\*(C`_\|_convex_c32_\|_\*(C'\fR is defined. -.Ip "\fB\-mc34\fR" 4 -.IX Item "-mc34" -Generate output for C34xx. Uses instructions not available on C1. -Scheduling and other optimizations are chosen for max performance on C34. -The preprocessor symbol \f(CW\*(C`_\|_convex_c34_\|_\*(C'\fR is defined. -.Ip "\fB\-mc38\fR" 4 -.IX Item "-mc38" -Generate output for C38xx. Uses instructions not available on C1. -Scheduling and other optimizations are chosen for max performance on C38. -The preprocessor symbol \f(CW\*(C`_\|_convex_c38_\|_\*(C'\fR is defined. -.Ip "\fB\-margcount\fR" 4 -.IX Item "-margcount" -Generate code which puts an argument count in the word preceding each -argument list. This is compatible with regular \s-1CC\s0, and a few programs -may need the argument count word. \s-1GDB\s0 and other source-level debuggers -do not need it; this info is in the symbol table. -.Ip "\fB\-mnoargcount\fR" 4 -.IX Item "-mnoargcount" -Omit the argument count word. This is the default. -.Ip "\fB\-mvolatile-cache\fR" 4 -.IX Item "-mvolatile-cache" -Allow volatile references to be cached. This is the default. -.Ip "\fB\-mvolatile-nocache\fR" 4 -.IX Item "-mvolatile-nocache" -Volatile references bypass the data cache, going all the way to memory. -This is only needed for multi-processor code that does not use standard -synchronization instructions. Making non-volatile references to volatile -locations will not necessarily work. -.Ip "\fB\-mlong32\fR" 4 -.IX Item "-mlong32" -Type long is 32 bits, the same as type int. This is the default. -.Ip "\fB\-mlong64\fR" 4 -.IX Item "-mlong64" -Type long is 64 bits, the same as type long long. This option is useless, -because no library support exists for it. -.PP -.I "\s-1AMD29K\s0 Options" -.IX Subsection "AMD29K Options" -.PP -These \fB\-m\fR options are defined for the \s-1AMD\s0 Am29000: -.Ip "\fB\-mdw\fR" 4 -.IX Item "-mdw" -Generate code that assumes the \f(CW\*(C`DW\*(C'\fR bit is set, i.e., that byte and -halfword operations are directly supported by the hardware. This is the -default. -.Ip "\fB\-mndw\fR" 4 -.IX Item "-mndw" -Generate code that assumes the \f(CW\*(C`DW\*(C'\fR bit is not set. -.Ip "\fB\-mbw\fR" 4 -.IX Item "-mbw" -Generate code that assumes the system supports byte and halfword write -operations. This is the default. -.Ip "\fB\-mnbw\fR" 4 -.IX Item "-mnbw" -Generate code that assumes the systems does not support byte and -halfword write operations. \fB\-mnbw\fR implies \fB\-mndw\fR. -.Ip "\fB\-msmall\fR" 4 -.IX Item "-msmall" -Use a small memory model that assumes that all function addresses are -either within a single 256 \s-1KB\s0 segment or at an absolute address of less -than 256k. This allows the \f(CW\*(C`call\*(C'\fR instruction to be used instead -of a \f(CW\*(C`const\*(C'\fR, \f(CW\*(C`consth\*(C'\fR, \f(CW\*(C`calli\*(C'\fR sequence. -.Ip "\fB\-mnormal\fR" 4 -.IX Item "-mnormal" -Use the normal memory model: Generate \f(CW\*(C`call\*(C'\fR instructions only when -calling functions in the same file and \f(CW\*(C`calli\*(C'\fR instructions -otherwise. This works if each file occupies less than 256 \s-1KB\s0 but allows -the entire executable to be larger than 256 \s-1KB\s0. This is the default. -.Ip "\fB\-mlarge\fR" 4 -.IX Item "-mlarge" -Always use \f(CW\*(C`calli\*(C'\fR instructions. Specify this option if you expect -a single file to compile into more than 256 \s-1KB\s0 of code. -.Ip "\fB\-m29050\fR" 4 -.IX Item "-m29050" -Generate code for the Am29050. -.Ip "\fB\-m29000\fR" 4 -.IX Item "-m29000" -Generate code for the Am29000. This is the default. -.Ip "\fB\-mkernel-registers\fR" 4 -.IX Item "-mkernel-registers" -Generate references to registers \f(CW\*(C`gr64\-gr95\*(C'\fR instead of to -registers \f(CW\*(C`gr96\-gr127\*(C'\fR. This option can be used when compiling -kernel code that wants a set of global registers disjoint from that used -by user-mode code. -.Sp -Note that when this option is used, register names in \fB\-f\fR flags -must use the normal, user-mode, names. -.Ip "\fB\-muser-registers\fR" 4 -.IX Item "-muser-registers" -Use the normal set of global registers, \f(CW\*(C`gr96\-gr127\*(C'\fR. This is the -default. -.Ip "\fB\-mstack-check\fR" 4 -.IX Item "-mstack-check" -.PD 0 -.Ip "\fB\-mno-stack-check\fR" 4 -.IX Item "-mno-stack-check" -.PD -Insert (or do not insert) a call to \f(CW\*(C`_\|_msp_check\*(C'\fR after each stack -adjustment. This is often used for kernel code. -.Ip "\fB\-mstorem-bug\fR" 4 -.IX Item "-mstorem-bug" -.PD 0 -.Ip "\fB\-mno-storem-bug\fR" 4 -.IX Item "-mno-storem-bug" -.PD -\&\fB\-mstorem-bug\fR handles 29k processors which cannot handle the -separation of a mtsrim insn and a storem instruction (most 29000 chips -to date, but not the 29050). -.Ip "\fB\-mno-reuse-arg-regs\fR" 4 -.IX Item "-mno-reuse-arg-regs" -.PD 0 -.Ip "\fB\-mreuse-arg-regs\fR" 4 -.IX Item "-mreuse-arg-regs" -.PD -\&\fB\-mno-reuse-arg-regs\fR tells the compiler to only use incoming argument -registers for copying out arguments. This helps detect calling a function -with fewer arguments than it was declared with. -.Ip "\fB\-mno-impure-text\fR" 4 -.IX Item "-mno-impure-text" -.PD 0 -.Ip "\fB\-mimpure-text\fR" 4 -.IX Item "-mimpure-text" -.PD -\&\fB\-mimpure-text\fR, used in addition to \fB\-shared\fR, tells the compiler to -not pass \fB\-assert pure-text\fR to the linker when linking a shared object. -.Ip "\fB\-msoft-float\fR" 4 -.IX Item "-msoft-float" -Generate output containing library calls for floating point. -\&\fBWarning:\fR the requisite libraries are not part of \s-1GCC\s0. -Normally the facilities of the machine's usual C compiler are used, but -this can't be done directly in cross-compilation. You must make your -own arrangements to provide suitable library functions for -cross-compilation. -.Ip "\fB\-mno-multm\fR" 4 -.IX Item "-mno-multm" -Do not generate multm or multmu instructions. This is useful for some embedded -systems which do not have trap handlers for these instructions. -.PP -.I "\s-1ARM\s0 Options" -.IX Subsection "ARM Options" -.PP -These \fB\-m\fR options are defined for Advanced \s-1RISC\s0 Machines (\s-1ARM\s0) -architectures: -.Ip "\fB\-mapcs-frame\fR" 4 -.IX Item "-mapcs-frame" -Generate a stack frame that is compliant with the \s-1ARM\s0 Procedure Call -Standard for all functions, even if this is not strictly necessary for -correct execution of the code. Specifying \fB\-fomit-frame-pointer\fR -with this option will cause the stack frames not to be generated for -leaf functions. The default is \fB\-mno-apcs-frame\fR. -.Ip "\fB\-mapcs\fR" 4 -.IX Item "-mapcs" -This is a synonym for \fB\-mapcs-frame\fR. -.Ip "\fB\-mapcs-26\fR" 4 -.IX Item "-mapcs-26" -Generate code for a processor running with a 26\-bit program counter, -and conforming to the function calling standards for the \s-1APCS\s0 26\-bit -option. This option replaces the \fB\-m2\fR and \fB\-m3\fR options -of previous releases of the compiler. -.Ip "\fB\-mapcs-32\fR" 4 -.IX Item "-mapcs-32" -Generate code for a processor running with a 32\-bit program counter, -and conforming to the function calling standards for the \s-1APCS\s0 32\-bit -option. This option replaces the \fB\-m6\fR option of previous releases -of the compiler. -.Ip "\fB\-mthumb-interwork\fR" 4 -.IX Item "-mthumb-interwork" -Generate code which supports calling between the \s-1ARM\s0 and Thumb -instruction sets. Without this option the two instruction sets cannot -be reliably used inside one program. The default is -\&\fB\-mno-thumb-interwork\fR, since slightly larger code is generated -when \fB\-mthumb-interwork\fR is specified. -.Ip "\fB\-mno-sched-prolog\fR" 4 -.IX Item "-mno-sched-prolog" -Prevent the reordering of instructions in the function prolog, or the -merging of those instruction with the instructions in the function's -body. This means that all functions will start with a recognizable set -of instructions (or in fact one of a choice from a small set of -different function prologues), and this information can be used to -locate the start if functions inside an executable piece of code. The -default is \fB\-msched-prolog\fR. -.Ip "\fB\-mhard-float\fR" 4 -.IX Item "-mhard-float" -Generate output containing floating point instructions. This is the -default. -.Ip "\fB\-msoft-float\fR" 4 -.IX Item "-msoft-float" -Generate output containing library calls for floating point. -\&\fBWarning:\fR the requisite libraries are not available for all \s-1ARM\s0 -targets. Normally the facilities of the machine's usual C compiler are -used, but this cannot be done directly in cross-compilation. You must make -your own arrangements to provide suitable library functions for -cross-compilation. -.Sp -\&\fB\-msoft-float\fR changes the calling convention in the output file; -therefore, it is only useful if you compile \fIall\fR of a program with -this option. In particular, you need to compile \fIlibgcc.a\fR, the -library that comes with \s-1GCC\s0, with \fB\-msoft-float\fR in order for -this to work. -.Ip "\fB\-mlittle-endian\fR" 4 -.IX Item "-mlittle-endian" -Generate code for a processor running in little-endian mode. This is -the default for all standard configurations. -.Ip "\fB\-mbig-endian\fR" 4 -.IX Item "-mbig-endian" -Generate code for a processor running in big-endian mode; the default is -to compile code for a little-endian processor. -.Ip "\fB\-mwords-little-endian\fR" 4 -.IX Item "-mwords-little-endian" -This option only applies when generating code for big-endian processors. -Generate code for a little-endian word order but a big-endian byte -order. That is, a byte order of the form \fB32107654\fR. Note: this -option should only be used if you require compatibility with code for -big-endian \s-1ARM\s0 processors generated by versions of the compiler prior to -2.8. -.Ip "\fB\-malignment-traps\fR" 4 -.IX Item "-malignment-traps" -Generate code that will not trap if the \s-1MMU\s0 has alignment traps enabled. -On \s-1ARM\s0 architectures prior to ARMv4, there were no instructions to -access half-word objects stored in memory. However, when reading from -memory a feature of the \s-1ARM\s0 architecture allows a word load to be used, -even if the address is unaligned, and the processor core will rotate the -data as it is being loaded. This option tells the compiler that such -misaligned accesses will cause a \s-1MMU\s0 trap and that it should instead -synthesise the access as a series of byte accesses. The compiler can -still use word accesses to load half-word data if it knows that the -address is aligned to a word boundary. -.Sp -This option is ignored when compiling for \s-1ARM\s0 architecture 4 or later, -since these processors have instructions to directly access half-word -objects in memory. -.Ip "\fB\-mno-alignment-traps\fR" 4 -.IX Item "-mno-alignment-traps" -Generate code that assumes that the \s-1MMU\s0 will not trap unaligned -accesses. This produces better code when the target instruction set -does not have half-word memory operations (i.e. implementations prior to -ARMv4). -.Sp -Note that you cannot use this option to access unaligned word objects, -since the processor will only fetch one 32\-bit aligned object from -memory. -.Sp -The default setting for most targets is \fB\-mno-alignment-traps\fR, since -this produces better code when there are no half-word memory -instructions available. -.Ip "\fB\-mshort-load-bytes\fR" 4 -.IX Item "-mshort-load-bytes" -.PD 0 -.Ip "\fB\-mno-short-load-words\fR" 4 -.IX Item "-mno-short-load-words" -.PD -These are deprecated aliases for \fB\-malignment-traps\fR. -.Ip "\fB\-mno-short-load-bytes\fR" 4 -.IX Item "-mno-short-load-bytes" -.PD 0 -.Ip "\fB\-mshort-load-words\fR" 4 -.IX Item "-mshort-load-words" -.PD -This are deprecated aliases for \fB\-mno-alignment-traps\fR. -.Ip "\fB\-mbsd\fR" 4 -.IX Item "-mbsd" -This option only applies to \s-1RISC\s0 iX. Emulate the native BSD-mode -compiler. This is the default if \fB\-ansi\fR is not specified. -.Ip "\fB\-mxopen\fR" 4 -.IX Item "-mxopen" -This option only applies to \s-1RISC\s0 iX. Emulate the native X/Open-mode -compiler. -.Ip "\fB\-mno-symrename\fR" 4 -.IX Item "-mno-symrename" -This option only applies to \s-1RISC\s0 iX. Do not run the assembler -post-processor, \fBsymrename\fR, after code has been assembled. -Normally it is necessary to modify some of the standard symbols in -preparation for linking with the \s-1RISC\s0 iX C library; this option -suppresses this pass. The post-processor is never run when the -compiler is built for cross-compilation. -.Ip "\fB\-mcpu=\fR\fIname\fR" 4 -.IX Item "-mcpu=name" -This specifies the name of the target \s-1ARM\s0 processor. \s-1GCC\s0 uses this name -to determine what kind of instructions it can emit when generating -assembly code. Permissible names are: \fBarm2\fR, \fBarm250\fR, -\&\fBarm3\fR, \fBarm6\fR, \fBarm60\fR, \fBarm600\fR, \fBarm610\fR, -\&\fBarm620\fR, \fBarm7\fR, \fBarm7m\fR, \fBarm7d\fR, \fBarm7dm\fR, -\&\fBarm7di\fR, \fBarm7dmi\fR, \fBarm70\fR, \fBarm700\fR, -\&\fBarm700i\fR, \fBarm710\fR, \fBarm710c\fR, \fBarm7100\fR, -\&\fBarm7500\fR, \fBarm7500fe\fR, \fBarm7tdmi\fR, \fBarm8\fR, -\&\fBstrongarm\fR, \fBstrongarm110\fR, \fBstrongarm1100\fR, -\&\fBarm8\fR, \fBarm810\fR, \fBarm9\fR, \fBarm9e\fR, \fBarm920\fR, -\&\fBarm920t\fR, \fBarm940t\fR, \fBarm9tdmi\fR, \fBarm10tdmi\fR, -\&\fBarm1020t\fR, \fBxscale\fR. -.Ip "\fB\-mtune=\fR\fIname\fR" 4 -.IX Item "-mtune=name" -This option is very similar to the \fB\-mcpu=\fR option, except that -instead of specifying the actual target processor type, and hence -restricting which instructions can be used, it specifies that \s-1GCC\s0 should -tune the performance of the code as if the target were of the type -specified in this option, but still choosing the instructions that it -will generate based on the cpu specified by a \fB\-mcpu=\fR option. -For some \s-1ARM\s0 implementations better performance can be obtained by using -this option. -.Ip "\fB\-march=\fR\fIname\fR" 4 -.IX Item "-march=name" -This specifies the name of the target \s-1ARM\s0 architecture. \s-1GCC\s0 uses this -name to determine what kind of instructions it can emit when generating -assembly code. This option can be used in conjunction with or instead -of the \fB\-mcpu=\fR option. Permissible names are: \fBarmv2\fR, -\&\fBarmv2a\fR, \fBarmv3\fR, \fBarmv3m\fR, \fBarmv4\fR, \fBarmv4t\fR, -\&\fBarmv5\fR, \fBarmv5t\fR, \fBarmv5te\fR. -.Ip "\fB\-mfpe=\fR\fInumber\fR" 4 -.IX Item "-mfpe=number" -.PD 0 -.Ip "\fB\-mfp=\fR\fInumber\fR" 4 -.IX Item "-mfp=number" -.PD -This specifies the version of the floating point emulation available on -the target. Permissible values are 2 and 3. \fB\-mfp=\fR is a synonym -for \fB\-mfpe=\fR, for compatibility with older versions of \s-1GCC\s0. -.Ip "\fB\-mstructure-size-boundary=\fR\fIn\fR" 4 -.IX Item "-mstructure-size-boundary=n" -The size of all structures and unions will be rounded up to a multiple -of the number of bits set by this option. Permissible values are 8 and -32. The default value varies for different toolchains. For the \s-1COFF\s0 -targeted toolchain the default value is 8. Specifying the larger number -can produce faster, more efficient code, but can also increase the size -of the program. The two values are potentially incompatible. Code -compiled with one value cannot necessarily expect to work with code or -libraries compiled with the other value, if they exchange information -using structures or unions. -.Ip "\fB\-mabort-on-noreturn\fR" 4 -.IX Item "-mabort-on-noreturn" -Generate a call to the function \f(CW\*(C`abort\*(C'\fR at the end of a -\&\f(CW\*(C`noreturn\*(C'\fR function. It will be executed if the function tries to -return. -.Ip "\fB\-mlong-calls\fR" 4 -.IX Item "-mlong-calls" -.PD 0 -.Ip "\fB\-mno-long-calls\fR" 4 -.IX Item "-mno-long-calls" -.PD -Tells the compiler to perform function calls by first loading the -address of the function into a register and then performing a subroutine -call on this register. This switch is needed if the target function -will lie outside of the 64 megabyte addressing range of the offset based -version of subroutine call instruction. -.Sp -Even if this switch is enabled, not all function calls will be turned -into long calls. The heuristic is that static functions, functions -which have the \fBshort-call\fR attribute, functions that are inside -the scope of a \fB#pragma no_long_calls\fR directive and functions whose -definitions have already been compiled within the current compilation -unit, will not be turned into long calls. The exception to this rule is -that weak function definitions, functions with the \fBlong-call\fR -attribute or the \fBsection\fR attribute, and functions that are within -the scope of a \fB#pragma long_calls\fR directive, will always be -turned into long calls. -.Sp -This feature is not enabled by default. Specifying -\&\fB\-mno-long-calls\fR will restore the default behavior, as will -placing the function calls within the scope of a \fB#pragma -long_calls_off\fR directive. Note these switches have no effect on how -the compiler generates code to handle function calls via function -pointers. -.Ip "\fB\-mnop-fun-dllimport\fR" 4 -.IX Item "-mnop-fun-dllimport" -Disable support for the \f(CW\*(C`dllimport\*(C'\fR attribute. -.Ip "\fB\-msingle-pic-base\fR" 4 -.IX Item "-msingle-pic-base" -Treat the register used for \s-1PIC\s0 addressing as read-only, rather than -loading it in the prologue for each function. The run-time system is -responsible for initializing this register with an appropriate value -before execution begins. -.Ip "\fB\-mpic-register=\fR\fIreg\fR" 4 -.IX Item "-mpic-register=reg" -Specify the register to be used for \s-1PIC\s0 addressing. The default is R10 -unless stack-checking is enabled, when R9 is used. -.Ip "\fB\-mpoke-function-name\fR" 4 -.IX Item "-mpoke-function-name" -Write the name of each function into the text section, directly -preceding the function prologue. The generated code is similar to this: -.Sp -.Vb 9 -\& t0 -\& .ascii "arm_poke_function_name", 0 -\& .align -\& t1 -\& .word 0xff000000 + (t1 - t0) -\& arm_poke_function_name -\& mov ip, sp -\& stmfd sp!, {fp, ip, lr, pc} -\& sub fp, ip, #4 -.Ve -When performing a stack backtrace, code can inspect the value of -\&\f(CW\*(C`pc\*(C'\fR stored at \f(CW\*(C`fp + 0\*(C'\fR. If the trace function then looks at -location \f(CW\*(C`pc \- 12\*(C'\fR and the top 8 bits are set, then we know that -there is a function name embedded immediately preceding this location -and has length \f(CW\*(C`((pc[\-3]) & 0xff000000)\*(C'\fR. -.Ip "\fB\-mthumb\fR" 4 -.IX Item "-mthumb" -Generate code for the 16\-bit Thumb instruction set. The default is to -use the 32\-bit \s-1ARM\s0 instruction set. -.Ip "\fB\-mtpcs-frame\fR" 4 -.IX Item "-mtpcs-frame" -Generate a stack frame that is compliant with the Thumb Procedure Call -Standard for all non-leaf functions. (A leaf function is one that does -not call any other functions.) The default is \fB\-mno-tpcs-frame\fR. -.Ip "\fB\-mtpcs-leaf-frame\fR" 4 -.IX Item "-mtpcs-leaf-frame" -Generate a stack frame that is compliant with the Thumb Procedure Call -Standard for all leaf functions. (A leaf function is one that does -not call any other functions.) The default is \fB\-mno-apcs-leaf-frame\fR. -.Ip "\fB\-mcallee-super-interworking\fR" 4 -.IX Item "-mcallee-super-interworking" -Gives all externally visible functions in the file being compiled an \s-1ARM\s0 -instruction set header which switches to Thumb mode before executing the -rest of the function. This allows these functions to be called from -non-interworking code. -.Ip "\fB\-mcaller-super-interworking\fR" 4 -.IX Item "-mcaller-super-interworking" -Allows calls via function pointers (including virtual functions) to -execute correctly regardless of whether the target code has been -compiled for interworking or not. There is a small overhead in the cost -of executing a function pointer if this option is enabled. -.PP -.I "\s-1MN10200\s0 Options" -.IX Subsection "MN10200 Options" -.PP -These \fB\-m\fR options are defined for Matsushita \s-1MN10200\s0 architectures: -.Ip "\fB\-mrelax\fR" 4 -.IX Item "-mrelax" -Indicate to the linker that it should perform a relaxation optimization pass -to shorten branches, calls and absolute memory addresses. This option only -has an effect when used on the command line for the final link step. -.Sp -This option makes symbolic debugging impossible. -.PP -.I "\s-1MN10300\s0 Options" -.IX Subsection "MN10300 Options" -.PP -These \fB\-m\fR options are defined for Matsushita \s-1MN10300\s0 architectures: -.Ip "\fB\-mmult-bug\fR" 4 -.IX Item "-mmult-bug" -Generate code to avoid bugs in the multiply instructions for the \s-1MN10300\s0 -processors. This is the default. -.Ip "\fB\-mno-mult-bug\fR" 4 -.IX Item "-mno-mult-bug" -Do not generate code to avoid bugs in the multiply instructions for the -\&\s-1MN10300\s0 processors. -.Ip "\fB\-mam33\fR" 4 -.IX Item "-mam33" -Generate code which uses features specific to the \s-1AM33\s0 processor. -.Ip "\fB\-mno-am33\fR" 4 -.IX Item "-mno-am33" -Do not generate code which uses features specific to the \s-1AM33\s0 processor. This -is the default. -.Ip "\fB\-mno-crt0\fR" 4 -.IX Item "-mno-crt0" -Do not link in the C run-time initialization object file. -.Ip "\fB\-mrelax\fR" 4 -.IX Item "-mrelax" -Indicate to the linker that it should perform a relaxation optimization pass -to shorten branches, calls and absolute memory addresses. This option only -has an effect when used on the command line for the final link step. -.Sp -This option makes symbolic debugging impossible. -.PP -.I "M32R/D Options" -.IX Subsection "M32R/D Options" -.PP -These \fB\-m\fR options are defined for Mitsubishi M32R/D architectures: -.Ip "\fB\-m32rx\fR" 4 -.IX Item "-m32rx" -Generate code for the M32R/X. -.Ip "\fB\-m32r\fR" 4 -.IX Item "-m32r" -Generate code for the M32R. This is the default. -.Ip "\fB\-mcode-model=small\fR" 4 -.IX Item "-mcode-model=small" -Assume all objects live in the lower 16MB of memory (so that their addresses -can be loaded with the \f(CW\*(C`ld24\*(C'\fR instruction), and assume all subroutines -are reachable with the \f(CW\*(C`bl\*(C'\fR instruction. -This is the default. -.Sp -The addressability of a particular object can be set with the -\&\f(CW\*(C`model\*(C'\fR attribute. -.Ip "\fB\-mcode-model=medium\fR" 4 -.IX Item "-mcode-model=medium" -Assume objects may be anywhere in the 32\-bit address space (the compiler -will generate \f(CW\*(C`seth/add3\*(C'\fR instructions to load their addresses), and -assume all subroutines are reachable with the \f(CW\*(C`bl\*(C'\fR instruction. -.Ip "\fB\-mcode-model=large\fR" 4 -.IX Item "-mcode-model=large" -Assume objects may be anywhere in the 32\-bit address space (the compiler -will generate \f(CW\*(C`seth/add3\*(C'\fR instructions to load their addresses), and -assume subroutines may not be reachable with the \f(CW\*(C`bl\*(C'\fR instruction -(the compiler will generate the much slower \f(CW\*(C`seth/add3/jl\*(C'\fR -instruction sequence). -.Ip "\fB\-msdata=none\fR" 4 -.IX Item "-msdata=none" -Disable use of the small data area. Variables will be put into -one of \fB.data\fR, \fBbss\fR, or \fB.rodata\fR (unless the -\&\f(CW\*(C`section\*(C'\fR attribute has been specified). -This is the default. -.Sp -The small data area consists of sections \fB.sdata\fR and \fB.sbss\fR. -Objects may be explicitly put in the small data area with the -\&\f(CW\*(C`section\*(C'\fR attribute using one of these sections. -.Ip "\fB\-msdata=sdata\fR" 4 -.IX Item "-msdata=sdata" -Put small global and static data in the small data area, but do not -generate special code to reference them. -.Ip "\fB\-msdata=use\fR" 4 -.IX Item "-msdata=use" -Put small global and static data in the small data area, and generate -special instructions to reference them. -.Ip "\fB\-G\fR \fInum\fR" 4 -.IX Item "-G num" -Put global and static objects less than or equal to \fInum\fR bytes -into the small data or bss sections instead of the normal data or bss -sections. The default value of \fInum\fR is 8. -The \fB\-msdata\fR option must be set to one of \fBsdata\fR or \fBuse\fR -for this option to have any effect. -.Sp -All modules should be compiled with the same \fB\-G\fR \fInum\fR value. -Compiling with different values of \fInum\fR may or may not work; if it -doesn't the linker will give an error message\-\-\-incorrect code will not be -generated. -.PP -.I "M88K Options" -.IX Subsection "M88K Options" -.PP -These \fB\-m\fR options are defined for Motorola 88k architectures: -.Ip "\fB\-m88000\fR" 4 -.IX Item "-m88000" -Generate code that works well on both the m88100 and the -m88110. -.Ip "\fB\-m88100\fR" 4 -.IX Item "-m88100" -Generate code that works best for the m88100, but that also -runs on the m88110. -.Ip "\fB\-m88110\fR" 4 -.IX Item "-m88110" -Generate code that works best for the m88110, and may not run -on the m88100. -.Ip "\fB\-mbig-pic\fR" 4 -.IX Item "-mbig-pic" -Obsolete option to be removed from the next revision. -Use \fB\-fPIC\fR. -.Ip "\fB\-midentify-revision\fR" 4 -.IX Item "-midentify-revision" -Include an \f(CW\*(C`ident\*(C'\fR directive in the assembler output recording the -source file name, compiler name and version, timestamp, and compilation -flags used. -.Ip "\fB\-mno-underscores\fR" 4 -.IX Item "-mno-underscores" -In assembler output, emit symbol names without adding an underscore -character at the beginning of each name. The default is to use an -underscore as prefix on each name. -.Ip "\fB\-mocs-debug-info\fR" 4 -.IX Item "-mocs-debug-info" -.PD 0 -.Ip "\fB\-mno-ocs-debug-info\fR" 4 -.IX Item "-mno-ocs-debug-info" -.PD -Include (or omit) additional debugging information (about registers used -in each stack frame) as specified in the 88open Object Compatibility -Standard, ``\s-1OCS\s0''. This extra information allows debugging of code that -has had the frame pointer eliminated. The default for \s-1DG/UX\s0, SVr4, and -Delta 88 SVr3.2 is to include this information; other 88k configurations -omit this information by default. -.Ip "\fB\-mocs-frame-position\fR" 4 -.IX Item "-mocs-frame-position" -When emitting \s-1COFF\s0 debugging information for automatic variables and -parameters stored on the stack, use the offset from the canonical frame -address, which is the stack pointer (register 31) on entry to the -function. The \s-1DG/UX\s0, SVr4, Delta88 SVr3.2, and \s-1BCS\s0 configurations use -\&\fB\-mocs-frame-position\fR; other 88k configurations have the default -\&\fB\-mno-ocs-frame-position\fR. -.Ip "\fB\-mno-ocs-frame-position\fR" 4 -.IX Item "-mno-ocs-frame-position" -When emitting \s-1COFF\s0 debugging information for automatic variables and -parameters stored on the stack, use the offset from the frame pointer -register (register 30). When this option is in effect, the frame -pointer is not eliminated when debugging information is selected by the -\&\-g switch. -.Ip "\fB\-moptimize-arg-area\fR" 4 -.IX Item "-moptimize-arg-area" -Save space by reorganizing the stack frame. This option generates code -that does not agree with the 88open specifications, but uses less -memory. -.Ip "\fB\-mno-optimize-arg-area\fR" 4 -.IX Item "-mno-optimize-arg-area" -Do not reorganize the stack frame to save space. This is the default. -The generated conforms to the specification, but uses more memory. -.Ip "\fB\-mshort-data-\fR\fInum\fR" 4 -.IX Item "-mshort-data-num" -Generate smaller data references by making them relative to \f(CW\*(C`r0\*(C'\fR, -which allows loading a value using a single instruction (rather than the -usual two). You control which data references are affected by -specifying \fInum\fR with this option. For example, if you specify -\&\fB\-mshort-data-512\fR, then the data references affected are those -involving displacements of less than 512 bytes. -\&\fB\-mshort-data-\fR\fInum\fR is not effective for \fInum\fR greater -than 64k. -.Ip "\fB\-mserialize-volatile\fR" 4 -.IX Item "-mserialize-volatile" -.PD 0 -.Ip "\fB\-mno-serialize-volatile\fR" 4 -.IX Item "-mno-serialize-volatile" -.PD -Do, or don't, generate code to guarantee sequential consistency -of volatile memory references. By default, consistency is -guaranteed. -.Sp -The order of memory references made by the \s-1MC88110\s0 processor does -not always match the order of the instructions requesting those -references. In particular, a load instruction may execute before -a preceding store instruction. Such reordering violates -sequential consistency of volatile memory references, when there -are multiple processors. When consistency must be guaranteed, -\&\s-1GCC\s0 generates special instructions, as needed, to force -execution in the proper order. -.Sp -The \s-1MC88100\s0 processor does not reorder memory references and so -always provides sequential consistency. However, by default, \s-1GCC\s0 -generates the special instructions to guarantee consistency -even when you use \fB\-m88100\fR, so that the code may be run on an -\&\s-1MC88110\s0 processor. If you intend to run your code only on the -\&\s-1MC88100\s0 processor, you may use \fB\-mno-serialize-volatile\fR. -.Sp -The extra code generated to guarantee consistency may affect the -performance of your application. If you know that you can safely -forgo this guarantee, you may use \fB\-mno-serialize-volatile\fR. -.Ip "\fB\-msvr4\fR" 4 -.IX Item "-msvr4" -.PD 0 -.Ip "\fB\-msvr3\fR" 4 -.IX Item "-msvr3" -.PD -Turn on (\fB\-msvr4\fR) or off (\fB\-msvr3\fR) compiler extensions -related to System V release 4 (SVr4). This controls the following: -.RS 4 -.Ip "1." 4 -Which variant of the assembler syntax to emit. -.Ip "2." 4 -\&\fB\-msvr4\fR makes the C preprocessor recognize \fB#pragma weak\fR -that is used on System V release 4. -.Ip "3." 4 -\&\fB\-msvr4\fR makes \s-1GCC\s0 issue additional declaration directives used in -SVr4. -.RE -.RS 4 -.Sp -\&\fB\-msvr4\fR is the default for the m88k-motorola-sysv4 and -m88k-dg-dgux m88k configurations. \fB\-msvr3\fR is the default for all -other m88k configurations. -.RE -.Ip "\fB\-mversion-03.00\fR" 4 -.IX Item "-mversion-03.00" -This option is obsolete, and is ignored. -.Ip "\fB\-mno-check-zero-division\fR" 4 -.IX Item "-mno-check-zero-division" -.PD 0 -.Ip "\fB\-mcheck-zero-division\fR" 4 -.IX Item "-mcheck-zero-division" -.PD -Do, or don't, generate code to guarantee that integer division by -zero will be detected. By default, detection is guaranteed. -.Sp -Some models of the \s-1MC88100\s0 processor fail to trap upon integer -division by zero under certain conditions. By default, when -compiling code that might be run on such a processor, \s-1GCC\s0 -generates code that explicitly checks for zero-valued divisors -and traps with exception number 503 when one is detected. Use of -\&\fB\-mno-check-zero-division\fR suppresses such checking for code -generated to run on an \s-1MC88100\s0 processor. -.Sp -\&\s-1GCC\s0 assumes that the \s-1MC88110\s0 processor correctly detects all instances -of integer division by zero. When \fB\-m88110\fR is specified, no -explicit checks for zero-valued divisors are generated, and both -\&\fB\-mcheck-zero-division\fR and \fB\-mno-check-zero-division\fR are -ignored. -.Ip "\fB\-muse-div-instruction\fR" 4 -.IX Item "-muse-div-instruction" -Use the div instruction for signed integer division on the -\&\s-1MC88100\s0 processor. By default, the div instruction is not used. -.Sp -On the \s-1MC88100\s0 processor the signed integer division instruction -div) traps to the operating system on a negative operand. The -operating system transparently completes the operation, but at a -large cost in execution time. By default, when compiling code -that might be run on an \s-1MC88100\s0 processor, \s-1GCC\s0 emulates signed -integer division using the unsigned integer division instruction -divu), thereby avoiding the large penalty of a trap to the -operating system. Such emulation has its own, smaller, execution -cost in both time and space. To the extent that your code's -important signed integer division operations are performed on two -nonnegative operands, it may be desirable to use the div -instruction directly. -.Sp -On the \s-1MC88110\s0 processor the div instruction (also known as the -divs instruction) processes negative operands without trapping to -the operating system. When \fB\-m88110\fR is specified, -\&\fB\-muse-div-instruction\fR is ignored, and the div instruction is used -for signed integer division. -.Sp -Note that the result of dividing \f(CW\*(C`INT_MIN\*(C'\fR by \-1 is undefined. In -particular, the behavior of such a division with and without -\&\fB\-muse-div-instruction\fR may differ. -.Ip "\fB\-mtrap-large-shift\fR" 4 -.IX Item "-mtrap-large-shift" -.PD 0 -.Ip "\fB\-mhandle-large-shift\fR" 4 -.IX Item "-mhandle-large-shift" -.PD -Include code to detect bit-shifts of more than 31 bits; respectively, -trap such shifts or emit code to handle them properly. By default \s-1GCC\s0 -makes no special provision for large bit shifts. -.Ip "\fB\-mwarn-passed-structs\fR" 4 -.IX Item "-mwarn-passed-structs" -Warn when a function passes a struct as an argument or result. -Structure-passing conventions have changed during the evolution of the C -language, and are often the source of portability problems. By default, -\&\s-1GCC\s0 issues no such warning. -.PP -.I "\s-1IBM\s0 \s-1RS/6000\s0 and PowerPC Options" -.IX Subsection "IBM RS/6000 and PowerPC Options" -.PP -These \fB\-m\fR options are defined for the \s-1IBM\s0 \s-1RS/6000\s0 and PowerPC: -.Ip "\fB\-mpower\fR" 4 -.IX Item "-mpower" -.PD 0 -.Ip "\fB\-mno-power\fR" 4 -.IX Item "-mno-power" -.Ip "\fB\-mpower2\fR" 4 -.IX Item "-mpower2" -.Ip "\fB\-mno-power2\fR" 4 -.IX Item "-mno-power2" -.Ip "\fB\-mpowerpc\fR" 4 -.IX Item "-mpowerpc" -.Ip "\fB\-mno-powerpc\fR" 4 -.IX Item "-mno-powerpc" -.Ip "\fB\-mpowerpc-gpopt\fR" 4 -.IX Item "-mpowerpc-gpopt" -.Ip "\fB\-mno-powerpc-gpopt\fR" 4 -.IX Item "-mno-powerpc-gpopt" -.Ip "\fB\-mpowerpc-gfxopt\fR" 4 -.IX Item "-mpowerpc-gfxopt" -.Ip "\fB\-mno-powerpc-gfxopt\fR" 4 -.IX Item "-mno-powerpc-gfxopt" -.Ip "\fB\-mpowerpc64\fR" 4 -.IX Item "-mpowerpc64" -.Ip "\fB\-mno-powerpc64\fR" 4 -.IX Item "-mno-powerpc64" -.PD -\&\s-1GCC\s0 supports two related instruction set architectures for the -\&\s-1RS/6000\s0 and PowerPC. The \fI\s-1POWER\s0\fR instruction set are those -instructions supported by the \fBrios\fR chip set used in the original -\&\s-1RS/6000\s0 systems and the \fIPowerPC\fR instruction set is the -architecture of the Motorola MPC5xx, MPC6xx, MPC8xx microprocessors, and -the \s-1IBM\s0 4xx microprocessors. -.Sp -Neither architecture is a subset of the other. However there is a -large common subset of instructions supported by both. An \s-1MQ\s0 -register is included in processors supporting the \s-1POWER\s0 architecture. -.Sp -You use these options to specify which instructions are available on the -processor you are using. The default value of these options is -determined when configuring \s-1GCC\s0. Specifying the -\&\fB\-mcpu=\fR\fIcpu_type\fR overrides the specification of these -options. We recommend you use the \fB\-mcpu=\fR\fIcpu_type\fR option -rather than the options listed above. -.Sp -The \fB\-mpower\fR option allows \s-1GCC\s0 to generate instructions that -are found only in the \s-1POWER\s0 architecture and to use the \s-1MQ\s0 register. -Specifying \fB\-mpower2\fR implies \fB\-power\fR and also allows \s-1GCC\s0 -to generate instructions that are present in the \s-1POWER2\s0 architecture but -not the original \s-1POWER\s0 architecture. -.Sp -The \fB\-mpowerpc\fR option allows \s-1GCC\s0 to generate instructions that -are found only in the 32\-bit subset of the PowerPC architecture. -Specifying \fB\-mpowerpc-gpopt\fR implies \fB\-mpowerpc\fR and also allows -\&\s-1GCC\s0 to use the optional PowerPC architecture instructions in the -General Purpose group, including floating-point square root. Specifying -\&\fB\-mpowerpc-gfxopt\fR implies \fB\-mpowerpc\fR and also allows \s-1GCC\s0 to -use the optional PowerPC architecture instructions in the Graphics -group, including floating-point select. -.Sp -The \fB\-mpowerpc64\fR option allows \s-1GCC\s0 to generate the additional -64\-bit instructions that are found in the full PowerPC64 architecture -and to treat GPRs as 64\-bit, doubleword quantities. \s-1GCC\s0 defaults to -\&\fB\-mno-powerpc64\fR. -.Sp -If you specify both \fB\-mno-power\fR and \fB\-mno-powerpc\fR, \s-1GCC\s0 -will use only the instructions in the common subset of both -architectures plus some special \s-1AIX\s0 common-mode calls, and will not use -the \s-1MQ\s0 register. Specifying both \fB\-mpower\fR and \fB\-mpowerpc\fR -permits \s-1GCC\s0 to use any instruction from either architecture and to -allow use of the \s-1MQ\s0 register; specify this for the Motorola \s-1MPC601\s0. -.Ip "\fB\-mnew-mnemonics\fR" 4 -.IX Item "-mnew-mnemonics" -.PD 0 -.Ip "\fB\-mold-mnemonics\fR" 4 -.IX Item "-mold-mnemonics" -.PD -Select which mnemonics to use in the generated assembler code. With -\&\fB\-mnew-mnemonics\fR, \s-1GCC\s0 uses the assembler mnemonics defined for -the PowerPC architecture. With \fB\-mold-mnemonics\fR it uses the -assembler mnemonics defined for the \s-1POWER\s0 architecture. Instructions -defined in only one architecture have only one mnemonic; \s-1GCC\s0 uses that -mnemonic irrespective of which of these options is specified. -.Sp -\&\s-1GCC\s0 defaults to the mnemonics appropriate for the architecture in -use. Specifying \fB\-mcpu=\fR\fIcpu_type\fR sometimes overrides the -value of these option. Unless you are building a cross-compiler, you -should normally not specify either \fB\-mnew-mnemonics\fR or -\&\fB\-mold-mnemonics\fR, but should instead accept the default. -.Ip "\fB\-mcpu=\fR\fIcpu_type\fR" 4 -.IX Item "-mcpu=cpu_type" -Set architecture type, register usage, choice of mnemonics, and -instruction scheduling parameters for machine type \fIcpu_type\fR. -Supported values for \fIcpu_type\fR are \fBrios\fR, \fBrios1\fR, -\&\fBrsc\fR, \fBrios2\fR, \fBrs64a\fR, \fB601\fR, \fB602\fR, -\&\fB603\fR, \fB603e\fR, \fB604\fR, \fB604e\fR, \fB620\fR, -\&\fB630\fR, \fB740\fR, \fB7400\fR, \fB7450\fR, \fB750\fR, -\&\fBpower\fR, \fBpower2\fR, \fBpowerpc\fR, \fB403\fR, \fB505\fR, -\&\fB801\fR, \fB821\fR, \fB823\fR, and \fB860\fR and \fBcommon\fR. -.Sp -\&\fB\-mcpu=common\fR selects a completely generic processor. Code -generated under this option will run on any \s-1POWER\s0 or PowerPC processor. -\&\s-1GCC\s0 will use only the instructions in the common subset of both -architectures, and will not use the \s-1MQ\s0 register. \s-1GCC\s0 assumes a generic -processor model for scheduling purposes. -.Sp -\&\fB\-mcpu=power\fR, \fB\-mcpu=power2\fR, \fB\-mcpu=powerpc\fR, and -\&\fB\-mcpu=powerpc64\fR specify generic \s-1POWER\s0, \s-1POWER2\s0, pure 32\-bit -PowerPC (i.e., not \s-1MPC601\s0), and 64\-bit PowerPC architecture machine -types, with an appropriate, generic processor model assumed for -scheduling purposes. -.Sp -The other options specify a specific processor. Code generated under -those options will run best on that processor, and may not run at all on -others. -.Sp -The \fB\-mcpu\fR options automatically enable or disable other -\&\fB\-m\fR options as follows: -.RS 4 -.Ip "\fBcommon\fR" 4 -.IX Item "common" -\&\fB\-mno-power\fR, \fB\-mno-powerc\fR -.Ip "\fBpower\fR" 4 -.IX Item "power" -.PD 0 -.Ip "\fBpower2\fR" 4 -.IX Item "power2" -.Ip "\fBrios1\fR" 4 -.IX Item "rios1" -.Ip "\fBrios2\fR" 4 -.IX Item "rios2" -.Ip "\fBrsc\fR" 4 -.IX Item "rsc" -.PD -\&\fB\-mpower\fR, \fB\-mno-powerpc\fR, \fB\-mno-new-mnemonics\fR -.Ip "\fBpowerpc\fR" 4 -.IX Item "powerpc" -.PD 0 -.Ip "\fBrs64a\fR" 4 -.IX Item "rs64a" -.Ip "\fB602\fR" 4 -.IX Item "602" -.Ip "\fB603\fR" 4 -.IX Item "603" -.Ip "\fB603e\fR" 4 -.IX Item "603e" -.Ip "\fB604\fR" 4 -.IX Item "604" -.Ip "\fB620\fR" 4 -.IX Item "620" -.Ip "\fB630\fR" 4 -.IX Item "630" -.Ip "\fB740\fR" 4 -.IX Item "740" -.Ip "\fB7400\fR" 4 -.IX Item "7400" -.Ip "\fB7450\fR" 4 -.IX Item "7450" -.Ip "\fB750\fR" 4 -.IX Item "750" -.Ip "\fB505\fR" 4 -.IX Item "505" -.PD -\&\fB\-mno-power\fR, \fB\-mpowerpc\fR, \fB\-mnew-mnemonics\fR -.Ip "\fB601\fR" 4 -.IX Item "601" -\&\fB\-mpower\fR, \fB\-mpowerpc\fR, \fB\-mnew-mnemonics\fR -.Ip "\fB403\fR" 4 -.IX Item "403" -.PD 0 -.Ip "\fB821\fR" 4 -.IX Item "821" -.Ip "\fB860\fR" 4 -.IX Item "860" -.PD -\&\fB\-mno-power\fR, \fB\-mpowerpc\fR, \fB\-mnew-mnemonics\fR, \fB\-msoft-float\fR -.RE -.RS 4 -.RE -.Ip "\fB\-mtune=\fR\fIcpu_type\fR" 4 -.IX Item "-mtune=cpu_type" -Set the instruction scheduling parameters for machine type -\&\fIcpu_type\fR, but do not set the architecture type, register usage, or -choice of mnemonics, as \fB\-mcpu=\fR\fIcpu_type\fR would. The same -values for \fIcpu_type\fR are used for \fB\-mtune\fR as for -\&\fB\-mcpu\fR. If both are specified, the code generated will use the -architecture, registers, and mnemonics set by \fB\-mcpu\fR, but the -scheduling parameters set by \fB\-mtune\fR. -.Ip "\fB\-maltivec\fR" 4 -.IX Item "-maltivec" -.PD 0 -.Ip "\fB\-mno-altivec\fR" 4 -.IX Item "-mno-altivec" -.PD -These switches enable or disable the use of built-in functions that -allow access to the AltiVec instruction set. You may also need to set -\&\fB\-mabi=altivec\fR to adjust the current \s-1ABI\s0 with AltiVec \s-1ABI\s0 -enhancements. -.Ip "\fB\-mfull-toc\fR" 4 -.IX Item "-mfull-toc" -.PD 0 -.Ip "\fB\-mno-fp-in-toc\fR" 4 -.IX Item "-mno-fp-in-toc" -.Ip "\fB\-mno-sum-in-toc\fR" 4 -.IX Item "-mno-sum-in-toc" -.Ip "\fB\-mminimal-toc\fR" 4 -.IX Item "-mminimal-toc" -.PD -Modify generation of the \s-1TOC\s0 (Table Of Contents), which is created for -every executable file. The \fB\-mfull-toc\fR option is selected by -default. In that case, \s-1GCC\s0 will allocate at least one \s-1TOC\s0 entry for -each unique non-automatic variable reference in your program. \s-1GCC\s0 -will also place floating-point constants in the \s-1TOC\s0. However, only -16,384 entries are available in the \s-1TOC\s0. -.Sp -If you receive a linker error message that saying you have overflowed -the available \s-1TOC\s0 space, you can reduce the amount of \s-1TOC\s0 space used -with the \fB\-mno-fp-in-toc\fR and \fB\-mno-sum-in-toc\fR options. -\&\fB\-mno-fp-in-toc\fR prevents \s-1GCC\s0 from putting floating-point -constants in the \s-1TOC\s0 and \fB\-mno-sum-in-toc\fR forces \s-1GCC\s0 to -generate code to calculate the sum of an address and a constant at -run-time instead of putting that sum into the \s-1TOC\s0. You may specify one -or both of these options. Each causes \s-1GCC\s0 to produce very slightly -slower and larger code at the expense of conserving \s-1TOC\s0 space. -.Sp -If you still run out of space in the \s-1TOC\s0 even when you specify both of -these options, specify \fB\-mminimal-toc\fR instead. This option causes -\&\s-1GCC\s0 to make only one \s-1TOC\s0 entry for every file. When you specify this -option, \s-1GCC\s0 will produce code that is slower and larger but which -uses extremely little \s-1TOC\s0 space. You may wish to use this option -only on files that contain less frequently executed code. -.Ip "\fB\-maix64\fR" 4 -.IX Item "-maix64" -.PD 0 -.Ip "\fB\-maix32\fR" 4 -.IX Item "-maix32" -.PD -Enable 64\-bit \s-1AIX\s0 \s-1ABI\s0 and calling convention: 64\-bit pointers, 64\-bit -\&\f(CW\*(C`long\*(C'\fR type, and the infrastructure needed to support them. -Specifying \fB\-maix64\fR implies \fB\-mpowerpc64\fR and -\&\fB\-mpowerpc\fR, while \fB\-maix32\fR disables the 64\-bit \s-1ABI\s0 and -implies \fB\-mno-powerpc64\fR. \s-1GCC\s0 defaults to \fB\-maix32\fR. -.Ip "\fB\-mxl-call\fR" 4 -.IX Item "-mxl-call" -.PD 0 -.Ip "\fB\-mno-xl-call\fR" 4 -.IX Item "-mno-xl-call" -.PD -On \s-1AIX\s0, pass floating-point arguments to prototyped functions beyond the -register save area (\s-1RSA\s0) on the stack in addition to argument FPRs. The -\&\s-1AIX\s0 calling convention was extended but not initially documented to -handle an obscure K&R C case of calling a function that takes the -address of its arguments with fewer arguments than declared. \s-1AIX\s0 \s-1XL\s0 -compilers access floating point arguments which do not fit in the -\&\s-1RSA\s0 from the stack when a subroutine is compiled without -optimization. Because always storing floating-point arguments on the -stack is inefficient and rarely needed, this option is not enabled by -default and only is necessary when calling subroutines compiled by \s-1AIX\s0 -\&\s-1XL\s0 compilers without optimization. -.Ip "\fB\-mpe\fR" 4 -.IX Item "-mpe" -Support \fI\s-1IBM\s0 \s-1RS/6000\s0 \s-1SP\s0\fR \fIParallel Environment\fR (\s-1PE\s0). Link an -application written to use message passing with special startup code to -enable the application to run. The system must have \s-1PE\s0 installed in the -standard location (\fI/usr/lpp/ppe.poe/\fR), or the \fIspecs\fR file -must be overridden with the \fB\-specs=\fR option to specify the -appropriate directory location. The Parallel Environment does not -support threads, so the \fB\-mpe\fR option and the \fB\-pthread\fR -option are incompatible. -.Ip "\fB\-msoft-float\fR" 4 -.IX Item "-msoft-float" -.PD 0 -.Ip "\fB\-mhard-float\fR" 4 -.IX Item "-mhard-float" -.PD -Generate code that does not use (uses) the floating-point register set. -Software floating point emulation is provided if you use the -\&\fB\-msoft-float\fR option, and pass the option to \s-1GCC\s0 when linking. -.Ip "\fB\-mmultiple\fR" 4 -.IX Item "-mmultiple" -.PD 0 -.Ip "\fB\-mno-multiple\fR" 4 -.IX Item "-mno-multiple" -.PD -Generate code that uses (does not use) the load multiple word -instructions and the store multiple word instructions. These -instructions are generated by default on \s-1POWER\s0 systems, and not -generated on PowerPC systems. Do not use \fB\-mmultiple\fR on little -endian PowerPC systems, since those instructions do not work when the -processor is in little endian mode. The exceptions are \s-1PPC740\s0 and -\&\s-1PPC750\s0 which permit the instructions usage in little endian mode. -.Ip "\fB\-mstring\fR" 4 -.IX Item "-mstring" -.PD 0 -.Ip "\fB\-mno-string\fR" 4 -.IX Item "-mno-string" -.PD -Generate code that uses (does not use) the load string instructions -and the store string word instructions to save multiple registers and -do small block moves. These instructions are generated by default on -\&\s-1POWER\s0 systems, and not generated on PowerPC systems. Do not use -\&\fB\-mstring\fR on little endian PowerPC systems, since those -instructions do not work when the processor is in little endian mode. -The exceptions are \s-1PPC740\s0 and \s-1PPC750\s0 which permit the instructions -usage in little endian mode. -.Ip "\fB\-mupdate\fR" 4 -.IX Item "-mupdate" -.PD 0 -.Ip "\fB\-mno-update\fR" 4 -.IX Item "-mno-update" -.PD -Generate code that uses (does not use) the load or store instructions -that update the base register to the address of the calculated memory -location. These instructions are generated by default. If you use -\&\fB\-mno-update\fR, there is a small window between the time that the -stack pointer is updated and the address of the previous frame is -stored, which means code that walks the stack frame across interrupts or -signals may get corrupted data. -.Ip "\fB\-mfused-madd\fR" 4 -.IX Item "-mfused-madd" -.PD 0 -.Ip "\fB\-mno-fused-madd\fR" 4 -.IX Item "-mno-fused-madd" -.PD -Generate code that uses (does not use) the floating point multiply and -accumulate instructions. These instructions are generated by default if -hardware floating is used. -.Ip "\fB\-mno-bit-align\fR" 4 -.IX Item "-mno-bit-align" -.PD 0 -.Ip "\fB\-mbit-align\fR" 4 -.IX Item "-mbit-align" -.PD -On System V.4 and embedded PowerPC systems do not (do) force structures -and unions that contain bit-fields to be aligned to the base type of the -bit-field. -.Sp -For example, by default a structure containing nothing but 8 -\&\f(CW\*(C`unsigned\*(C'\fR bit-fields of length 1 would be aligned to a 4 byte -boundary and have a size of 4 bytes. By using \fB\-mno-bit-align\fR, -the structure would be aligned to a 1 byte boundary and be one byte in -size. -.Ip "\fB\-mno-strict-align\fR" 4 -.IX Item "-mno-strict-align" -.PD 0 -.Ip "\fB\-mstrict-align\fR" 4 -.IX Item "-mstrict-align" -.PD -On System V.4 and embedded PowerPC systems do not (do) assume that -unaligned memory references will be handled by the system. -.Ip "\fB\-mrelocatable\fR" 4 -.IX Item "-mrelocatable" -.PD 0 -.Ip "\fB\-mno-relocatable\fR" 4 -.IX Item "-mno-relocatable" -.PD -On embedded PowerPC systems generate code that allows (does not allow) -the program to be relocated to a different address at runtime. If you -use \fB\-mrelocatable\fR on any module, all objects linked together must -be compiled with \fB\-mrelocatable\fR or \fB\-mrelocatable-lib\fR. -.Ip "\fB\-mrelocatable-lib\fR" 4 -.IX Item "-mrelocatable-lib" -.PD 0 -.Ip "\fB\-mno-relocatable-lib\fR" 4 -.IX Item "-mno-relocatable-lib" -.PD -On embedded PowerPC systems generate code that allows (does not allow) -the program to be relocated to a different address at runtime. Modules -compiled with \fB\-mrelocatable-lib\fR can be linked with either modules -compiled without \fB\-mrelocatable\fR and \fB\-mrelocatable-lib\fR or -with modules compiled with the \fB\-mrelocatable\fR options. -.Ip "\fB\-mno-toc\fR" 4 -.IX Item "-mno-toc" -.PD 0 -.Ip "\fB\-mtoc\fR" 4 -.IX Item "-mtoc" -.PD -On System V.4 and embedded PowerPC systems do not (do) assume that -register 2 contains a pointer to a global area pointing to the addresses -used in the program. -.Ip "\fB\-mlittle\fR" 4 -.IX Item "-mlittle" -.PD 0 -.Ip "\fB\-mlittle-endian\fR" 4 -.IX Item "-mlittle-endian" -.PD -On System V.4 and embedded PowerPC systems compile code for the -processor in little endian mode. The \fB\-mlittle-endian\fR option is -the same as \fB\-mlittle\fR. -.Ip "\fB\-mbig\fR" 4 -.IX Item "-mbig" -.PD 0 -.Ip "\fB\-mbig-endian\fR" 4 -.IX Item "-mbig-endian" -.PD -On System V.4 and embedded PowerPC systems compile code for the -processor in big endian mode. The \fB\-mbig-endian\fR option is -the same as \fB\-mbig\fR. -.Ip "\fB\-mcall-sysv\fR" 4 -.IX Item "-mcall-sysv" -On System V.4 and embedded PowerPC systems compile code using calling -conventions that adheres to the March 1995 draft of the System V -Application Binary Interface, PowerPC processor supplement. This is the -default unless you configured \s-1GCC\s0 using \fBpowerpc-*\-eabiaix\fR. -.Ip "\fB\-mcall-sysv-eabi\fR" 4 -.IX Item "-mcall-sysv-eabi" -Specify both \fB\-mcall-sysv\fR and \fB\-meabi\fR options. -.Ip "\fB\-mcall-sysv-noeabi\fR" 4 -.IX Item "-mcall-sysv-noeabi" -Specify both \fB\-mcall-sysv\fR and \fB\-mno-eabi\fR options. -.Ip "\fB\-mcall-aix\fR" 4 -.IX Item "-mcall-aix" -On System V.4 and embedded PowerPC systems compile code using calling -conventions that are similar to those used on \s-1AIX\s0. This is the -default if you configured \s-1GCC\s0 using \fBpowerpc-*\-eabiaix\fR. -.Ip "\fB\-mcall-solaris\fR" 4 -.IX Item "-mcall-solaris" -On System V.4 and embedded PowerPC systems compile code for the Solaris -operating system. -.Ip "\fB\-mcall-linux\fR" 4 -.IX Item "-mcall-linux" -On System V.4 and embedded PowerPC systems compile code for the -Linux-based \s-1GNU\s0 system. -.Ip "\fB\-mcall-gnu\fR" 4 -.IX Item "-mcall-gnu" -On System V.4 and embedded PowerPC systems compile code for the -Hurd-based \s-1GNU\s0 system. -.Ip "\fB\-mcall-netbsd\fR" 4 -.IX Item "-mcall-netbsd" -On System V.4 and embedded PowerPC systems compile code for the -NetBSD operating system. -.Ip "\fB\-maix-struct-return\fR" 4 -.IX Item "-maix-struct-return" -Return all structures in memory (as specified by the \s-1AIX\s0 \s-1ABI\s0). -.Ip "\fB\-msvr4\-struct-return\fR" 4 -.IX Item "-msvr4-struct-return" -Return structures smaller than 8 bytes in registers (as specified by the -\&\s-1SVR4\s0 \s-1ABI\s0). -.Ip "\fB\-mabi=altivec\fR" 4 -.IX Item "-mabi=altivec" -Extend the current \s-1ABI\s0 with AltiVec \s-1ABI\s0 extensions. This does not -change the default \s-1ABI\s0, instead it adds the AltiVec \s-1ABI\s0 extensions to -the current \s-1ABI\s0. -.Ip "\fB\-mabi=no-altivec\fR" 4 -.IX Item "-mabi=no-altivec" -Disable AltiVec \s-1ABI\s0 extensions for the current \s-1ABI\s0. -.Ip "\fB\-mprototype\fR" 4 -.IX Item "-mprototype" -.PD 0 -.Ip "\fB\-mno-prototype\fR" 4 -.IX Item "-mno-prototype" -.PD -On System V.4 and embedded PowerPC systems assume that all calls to -variable argument functions are properly prototyped. Otherwise, the -compiler must insert an instruction before every non prototyped call to -set or clear bit 6 of the condition code register (\fI\s-1CR\s0\fR) to -indicate whether floating point values were passed in the floating point -registers in case the function takes a variable arguments. With -\&\fB\-mprototype\fR, only calls to prototyped variable argument functions -will set or clear the bit. -.Ip "\fB\-msim\fR" 4 -.IX Item "-msim" -On embedded PowerPC systems, assume that the startup module is called -\&\fIsim-crt0.o\fR and that the standard C libraries are \fIlibsim.a\fR and -\&\fIlibc.a\fR. This is the default for \fBpowerpc-*\-eabisim\fR. -configurations. -.Ip "\fB\-mmvme\fR" 4 -.IX Item "-mmvme" -On embedded PowerPC systems, assume that the startup module is called -\&\fIcrt0.o\fR and the standard C libraries are \fIlibmvme.a\fR and -\&\fIlibc.a\fR. -.Ip "\fB\-mads\fR" 4 -.IX Item "-mads" -On embedded PowerPC systems, assume that the startup module is called -\&\fIcrt0.o\fR and the standard C libraries are \fIlibads.a\fR and -\&\fIlibc.a\fR. -.Ip "\fB\-myellowknife\fR" 4 -.IX Item "-myellowknife" -On embedded PowerPC systems, assume that the startup module is called -\&\fIcrt0.o\fR and the standard C libraries are \fIlibyk.a\fR and -\&\fIlibc.a\fR. -.Ip "\fB\-mvxworks\fR" 4 -.IX Item "-mvxworks" -On System V.4 and embedded PowerPC systems, specify that you are -compiling for a VxWorks system. -.Ip "\fB\-memb\fR" 4 -.IX Item "-memb" -On embedded PowerPC systems, set the \fI\s-1PPC_EMB\s0\fR bit in the \s-1ELF\s0 flags -header to indicate that \fBeabi\fR extended relocations are used. -.Ip "\fB\-meabi\fR" 4 -.IX Item "-meabi" -.PD 0 -.Ip "\fB\-mno-eabi\fR" 4 -.IX Item "-mno-eabi" -.PD -On System V.4 and embedded PowerPC systems do (do not) adhere to the -Embedded Applications Binary Interface (eabi) which is a set of -modifications to the System V.4 specifications. Selecting \fB\-meabi\fR -means that the stack is aligned to an 8 byte boundary, a function -\&\f(CW\*(C`_\|_eabi\*(C'\fR is called to from \f(CW\*(C`main\*(C'\fR to set up the eabi -environment, and the \fB\-msdata\fR option can use both \f(CW\*(C`r2\*(C'\fR and -\&\f(CW\*(C`r13\*(C'\fR to point to two separate small data areas. Selecting -\&\fB\-mno-eabi\fR means that the stack is aligned to a 16 byte boundary, -do not call an initialization function from \f(CW\*(C`main\*(C'\fR, and the -\&\fB\-msdata\fR option will only use \f(CW\*(C`r13\*(C'\fR to point to a single -small data area. The \fB\-meabi\fR option is on by default if you -configured \s-1GCC\s0 using one of the \fBpowerpc*\-*\-eabi*\fR options. -.Ip "\fB\-msdata=eabi\fR" 4 -.IX Item "-msdata=eabi" -On System V.4 and embedded PowerPC systems, put small initialized -\&\f(CW\*(C`const\*(C'\fR global and static data in the \fB.sdata2\fR section, which -is pointed to by register \f(CW\*(C`r2\*(C'\fR. Put small initialized -non-\f(CW\*(C`const\*(C'\fR global and static data in the \fB.sdata\fR section, -which is pointed to by register \f(CW\*(C`r13\*(C'\fR. Put small uninitialized -global and static data in the \fB.sbss\fR section, which is adjacent to -the \fB.sdata\fR section. The \fB\-msdata=eabi\fR option is -incompatible with the \fB\-mrelocatable\fR option. The -\&\fB\-msdata=eabi\fR option also sets the \fB\-memb\fR option. -.Ip "\fB\-msdata=sysv\fR" 4 -.IX Item "-msdata=sysv" -On System V.4 and embedded PowerPC systems, put small global and static -data in the \fB.sdata\fR section, which is pointed to by register -\&\f(CW\*(C`r13\*(C'\fR. Put small uninitialized global and static data in the -\&\fB.sbss\fR section, which is adjacent to the \fB.sdata\fR section. -The \fB\-msdata=sysv\fR option is incompatible with the -\&\fB\-mrelocatable\fR option. -.Ip "\fB\-msdata=default\fR" 4 -.IX Item "-msdata=default" -.PD 0 -.Ip "\fB\-msdata\fR" 4 -.IX Item "-msdata" -.PD -On System V.4 and embedded PowerPC systems, if \fB\-meabi\fR is used, -compile code the same as \fB\-msdata=eabi\fR, otherwise compile code the -same as \fB\-msdata=sysv\fR. -.Ip "\fB\-msdata-data\fR" 4 -.IX Item "-msdata-data" -On System V.4 and embedded PowerPC systems, put small global and static -data in the \fB.sdata\fR section. Put small uninitialized global and -static data in the \fB.sbss\fR section. Do not use register \f(CW\*(C`r13\*(C'\fR -to address small data however. This is the default behavior unless -other \fB\-msdata\fR options are used. -.Ip "\fB\-msdata=none\fR" 4 -.IX Item "-msdata=none" -.PD 0 -.Ip "\fB\-mno-sdata\fR" 4 -.IX Item "-mno-sdata" -.PD -On embedded PowerPC systems, put all initialized global and static data -in the \fB.data\fR section, and all uninitialized data in the -\&\fB.bss\fR section. -.Ip "\fB\-G\fR \fInum\fR" 4 -.IX Item "-G num" -On embedded PowerPC systems, put global and static items less than or -equal to \fInum\fR bytes into the small data or bss sections instead of -the normal data or bss section. By default, \fInum\fR is 8. The -\&\fB\-G\fR \fInum\fR switch is also passed to the linker. -All modules should be compiled with the same \fB\-G\fR \fInum\fR value. -.Ip "\fB\-mregnames\fR" 4 -.IX Item "-mregnames" -.PD 0 -.Ip "\fB\-mno-regnames\fR" 4 -.IX Item "-mno-regnames" -.PD -On System V.4 and embedded PowerPC systems do (do not) emit register -names in the assembly language output using symbolic forms. -.Ip "\fB\-pthread\fR" 4 -.IX Item "-pthread" -Adds support for multithreading with the \fIpthreads\fR library. -This option sets flags for both the preprocessor and linker. -.PP -.I "\s-1IBM\s0 \s-1RT\s0 Options" -.IX Subsection "IBM RT Options" -.PP -These \fB\-m\fR options are defined for the \s-1IBM\s0 \s-1RT\s0 \s-1PC:\s0 -.Ip "\fB\-min-line-mul\fR" 4 -.IX Item "-min-line-mul" -Use an in-line code sequence for integer multiplies. This is the -default. -.Ip "\fB\-mcall-lib-mul\fR" 4 -.IX Item "-mcall-lib-mul" -Call \f(CW\*(C`lmul$$\*(C'\fR for integer multiples. -.Ip "\fB\-mfull-fp-blocks\fR" 4 -.IX Item "-mfull-fp-blocks" -Generate full-size floating point data blocks, including the minimum -amount of scratch space recommended by \s-1IBM\s0. This is the default. -.Ip "\fB\-mminimum-fp-blocks\fR" 4 -.IX Item "-mminimum-fp-blocks" -Do not include extra scratch space in floating point data blocks. This -results in smaller code, but slower execution, since scratch space must -be allocated dynamically. -.Ip "\fB\-mfp-arg-in-fpregs\fR" 4 -.IX Item "-mfp-arg-in-fpregs" -Use a calling sequence incompatible with the \s-1IBM\s0 calling convention in -which floating point arguments are passed in floating point registers. -Note that \f(CW\*(C`varargs.h\*(C'\fR and \f(CW\*(C`stdarg.h\*(C'\fR will not work with -floating point operands if this option is specified. -.Ip "\fB\-mfp-arg-in-gregs\fR" 4 -.IX Item "-mfp-arg-in-gregs" -Use the normal calling convention for floating point arguments. This is -the default. -.Ip "\fB\-mhc-struct-return\fR" 4 -.IX Item "-mhc-struct-return" -Return structures of more than one word in memory, rather than in a -register. This provides compatibility with the MetaWare HighC (hc) -compiler. Use the option \fB\-fpcc-struct-return\fR for compatibility -with the Portable C Compiler (pcc). -.Ip "\fB\-mnohc-struct-return\fR" 4 -.IX Item "-mnohc-struct-return" -Return some structures of more than one word in registers, when -convenient. This is the default. For compatibility with the -IBM-supplied compilers, use the option \fB\-fpcc-struct-return\fR or the -option \fB\-mhc-struct-return\fR. -.PP -.I "\s-1MIPS\s0 Options" -.IX Subsection "MIPS Options" -.PP -These \fB\-m\fR options are defined for the \s-1MIPS\s0 family of computers: -.Ip "\fB\-march=\fR\fIcpu-type\fR" 4 -.IX Item "-march=cpu-type" -Assume the defaults for the machine type \fIcpu-type\fR when generating -instructions. The choices for \fIcpu-type\fR are \fBr2000\fR, \fBr3000\fR, -\&\fBr3900\fR, \fBr4000\fR, \fBr4100\fR, \fBr4300\fR, \fBr4400\fR, -\&\fBr4600\fR, \fBr4650\fR, \fBr5000\fR, \fBr6000\fR, \fBr8000\fR, -and \fBorion\fR. Additionally, the \fBr2000\fR, \fBr3000\fR, -\&\fBr4000\fR, \fBr5000\fR, and \fBr6000\fR can be abbreviated as -\&\fBr2k\fR (or \fBr2K\fR), \fBr3k\fR, etc. -.Ip "\fB\-mtune=\fR\fIcpu-type\fR" 4 -.IX Item "-mtune=cpu-type" -Assume the defaults for the machine type \fIcpu-type\fR when scheduling -instructions. The choices for \fIcpu-type\fR are \fBr2000\fR, \fBr3000\fR, -\&\fBr3900\fR, \fBr4000\fR, \fBr4100\fR, \fBr4300\fR, \fBr4400\fR, -\&\fBr4600\fR, \fBr4650\fR, \fBr5000\fR, \fBr6000\fR, \fBr8000\fR, -and \fBorion\fR. Additionally, the \fBr2000\fR, \fBr3000\fR, -\&\fBr4000\fR, \fBr5000\fR, and \fBr6000\fR can be abbreviated as -\&\fBr2k\fR (or \fBr2K\fR), \fBr3k\fR, etc. While picking a specific -\&\fIcpu-type\fR will schedule things appropriately for that particular -chip, the compiler will not generate any code that does not meet level 1 -of the \s-1MIPS\s0 \s-1ISA\s0 (instruction set architecture) without a \fB\-mipsX\fR -or \fB\-mabi\fR switch being used. -.Ip "\fB\-mcpu=\fR\fIcpu-type\fR" 4 -.IX Item "-mcpu=cpu-type" -This is identical to specifying both \fB\-march\fR and \fB\-mtune\fR. -.Ip "\fB\-mips1\fR" 4 -.IX Item "-mips1" -Issue instructions from level 1 of the \s-1MIPS\s0 \s-1ISA\s0. This is the default. -\&\fBr3000\fR is the default \fIcpu-type\fR at this \s-1ISA\s0 level. -.Ip "\fB\-mips2\fR" 4 -.IX Item "-mips2" -Issue instructions from level 2 of the \s-1MIPS\s0 \s-1ISA\s0 (branch likely, square -root instructions). \fBr6000\fR is the default \fIcpu-type\fR at this -\&\s-1ISA\s0 level. -.Ip "\fB\-mips3\fR" 4 -.IX Item "-mips3" -Issue instructions from level 3 of the \s-1MIPS\s0 \s-1ISA\s0 (64\-bit instructions). -\&\fBr4000\fR is the default \fIcpu-type\fR at this \s-1ISA\s0 level. -.Ip "\fB\-mips4\fR" 4 -.IX Item "-mips4" -Issue instructions from level 4 of the \s-1MIPS\s0 \s-1ISA\s0 (conditional move, -prefetch, enhanced \s-1FPU\s0 instructions). \fBr8000\fR is the default -\&\fIcpu-type\fR at this \s-1ISA\s0 level. -.Ip "\fB\-mfp32\fR" 4 -.IX Item "-mfp32" -Assume that 32 32\-bit floating point registers are available. This is -the default. -.Ip "\fB\-mfp64\fR" 4 -.IX Item "-mfp64" -Assume that 32 64\-bit floating point registers are available. This is -the default when the \fB\-mips3\fR option is used. -.Ip "\fB\-mfused-madd\fR" 4 -.IX Item "-mfused-madd" -.PD 0 -.Ip "\fB\-mno-fused-madd\fR" 4 -.IX Item "-mno-fused-madd" -.PD -Generate code that uses (does not use) the floating point multiply and -accumulate instructions, when they are available. These instructions -are generated by default if they are available, but this may be -undesirable if the extra precision causes problems or on certain chips -in the mode where denormals are rounded to zero where denormals -generated by multiply and accumulate instructions cause exceptions -anyway. -.Ip "\fB\-mgp32\fR" 4 -.IX Item "-mgp32" -Assume that 32 32\-bit general purpose registers are available. This is -the default. -.Ip "\fB\-mgp64\fR" 4 -.IX Item "-mgp64" -Assume that 32 64\-bit general purpose registers are available. This is -the default when the \fB\-mips3\fR option is used. -.Ip "\fB\-mint64\fR" 4 -.IX Item "-mint64" -Force int and long types to be 64 bits wide. See \fB\-mlong32\fR for an -explanation of the default, and the width of pointers. -.Ip "\fB\-mlong64\fR" 4 -.IX Item "-mlong64" -Force long types to be 64 bits wide. See \fB\-mlong32\fR for an -explanation of the default, and the width of pointers. -.Ip "\fB\-mlong32\fR" 4 -.IX Item "-mlong32" -Force long, int, and pointer types to be 32 bits wide. -.Sp -If none of \fB\-mlong32\fR, \fB\-mlong64\fR, or \fB\-mint64\fR are set, -the size of ints, longs, and pointers depends on the \s-1ABI\s0 and \s-1ISA\s0 chosen. -For \fB\-mabi=32\fR, and \fB\-mabi=n32\fR, ints and longs are 32 bits -wide. For \fB\-mabi=64\fR, ints are 32 bits, and longs are 64 bits wide. -For \fB\-mabi=eabi\fR and either \fB\-mips1\fR or \fB\-mips2\fR, ints -and longs are 32 bits wide. For \fB\-mabi=eabi\fR and higher ISAs, ints -are 32 bits, and longs are 64 bits wide. The width of pointer types is -the smaller of the width of longs or the width of general purpose -registers (which in turn depends on the \s-1ISA\s0). -.Ip "\fB\-mabi=32\fR" 4 -.IX Item "-mabi=32" -.PD 0 -.Ip "\fB\-mabi=o64\fR" 4 -.IX Item "-mabi=o64" -.Ip "\fB\-mabi=n32\fR" 4 -.IX Item "-mabi=n32" -.Ip "\fB\-mabi=64\fR" 4 -.IX Item "-mabi=64" -.Ip "\fB\-mabi=eabi\fR" 4 -.IX Item "-mabi=eabi" -.PD -Generate code for the indicated \s-1ABI\s0. The default instruction level is -\&\fB\-mips1\fR for \fB32\fR, \fB\-mips3\fR for \fBn32\fR, and -\&\fB\-mips4\fR otherwise. Conversely, with \fB\-mips1\fR or -\&\fB\-mips2\fR, the default \s-1ABI\s0 is \fB32\fR; otherwise, the default \s-1ABI\s0 -is \fB64\fR. -.Ip "\fB\-mmips-as\fR" 4 -.IX Item "-mmips-as" -Generate code for the \s-1MIPS\s0 assembler, and invoke \fImips-tfile\fR to -add normal debug information. This is the default for all -platforms except for the \s-1OSF/1\s0 reference platform, using the OSF/rose -object format. If the either of the \fB\-gstabs\fR or \fB\-gstabs+\fR -switches are used, the \fImips-tfile\fR program will encapsulate the -stabs within \s-1MIPS\s0 \s-1ECOFF\s0. -.Ip "\fB\-mgas\fR" 4 -.IX Item "-mgas" -Generate code for the \s-1GNU\s0 assembler. This is the default on the \s-1OSF/1\s0 -reference platform, using the OSF/rose object format. Also, this is -the default if the configure option \fB\*(--with-gnu-as\fR is used. -.Ip "\fB\-msplit-addresses\fR" 4 -.IX Item "-msplit-addresses" -.PD 0 -.Ip "\fB\-mno-split-addresses\fR" 4 -.IX Item "-mno-split-addresses" -.PD -Generate code to load the high and low parts of address constants separately. -This allows \s-1GCC\s0 to optimize away redundant loads of the high order -bits of addresses. This optimization requires \s-1GNU\s0 as and \s-1GNU\s0 ld. -This optimization is enabled by default for some embedded targets where -\&\s-1GNU\s0 as and \s-1GNU\s0 ld are standard. -.Ip "\fB\-mrnames\fR" 4 -.IX Item "-mrnames" -.PD 0 -.Ip "\fB\-mno-rnames\fR" 4 -.IX Item "-mno-rnames" -.PD -The \fB\-mrnames\fR switch says to output code using the \s-1MIPS\s0 software -names for the registers, instead of the hardware names (ie, \fIa0\fR -instead of \fI$4\fR). The only known assembler that supports this option -is the Algorithmics assembler. -.Ip "\fB\-mgpopt\fR" 4 -.IX Item "-mgpopt" -.PD 0 -.Ip "\fB\-mno-gpopt\fR" 4 -.IX Item "-mno-gpopt" -.PD -The \fB\-mgpopt\fR switch says to write all of the data declarations -before the instructions in the text section, this allows the \s-1MIPS\s0 -assembler to generate one word memory references instead of using two -words for short global or static data items. This is on by default if -optimization is selected. -.Ip "\fB\-mstats\fR" 4 -.IX Item "-mstats" -.PD 0 -.Ip "\fB\-mno-stats\fR" 4 -.IX Item "-mno-stats" -.PD -For each non-inline function processed, the \fB\-mstats\fR switch -causes the compiler to emit one line to the standard error file to -print statistics about the program (number of registers saved, stack -size, etc.). -.Ip "\fB\-mmemcpy\fR" 4 -.IX Item "-mmemcpy" -.PD 0 -.Ip "\fB\-mno-memcpy\fR" 4 -.IX Item "-mno-memcpy" -.PD -The \fB\-mmemcpy\fR switch makes all block moves call the appropriate -string function (\fBmemcpy\fR or \fBbcopy\fR) instead of possibly -generating inline code. -.Ip "\fB\-mmips-tfile\fR" 4 -.IX Item "-mmips-tfile" -.PD 0 -.Ip "\fB\-mno-mips-tfile\fR" 4 -.IX Item "-mno-mips-tfile" -.PD -The \fB\-mno-mips-tfile\fR switch causes the compiler not -postprocess the object file with the \fImips-tfile\fR program, -after the \s-1MIPS\s0 assembler has generated it to add debug support. If -\&\fImips-tfile\fR is not run, then no local variables will be -available to the debugger. In addition, \fIstage2\fR and -\&\fIstage3\fR objects will have the temporary file names passed to the -assembler embedded in the object file, which means the objects will -not compare the same. The \fB\-mno-mips-tfile\fR switch should only -be used when there are bugs in the \fImips-tfile\fR program that -prevents compilation. -.Ip "\fB\-msoft-float\fR" 4 -.IX Item "-msoft-float" -Generate output containing library calls for floating point. -\&\fBWarning:\fR the requisite libraries are not part of \s-1GCC\s0. -Normally the facilities of the machine's usual C compiler are used, but -this can't be done directly in cross-compilation. You must make your -own arrangements to provide suitable library functions for -cross-compilation. -.Ip "\fB\-mhard-float\fR" 4 -.IX Item "-mhard-float" -Generate output containing floating point instructions. This is the -default if you use the unmodified sources. -.Ip "\fB\-mabicalls\fR" 4 -.IX Item "-mabicalls" -.PD 0 -.Ip "\fB\-mno-abicalls\fR" 4 -.IX Item "-mno-abicalls" -.PD -Emit (or do not emit) the pseudo operations \fB.abicalls\fR, -\&\fB.cpload\fR, and \fB.cprestore\fR that some System V.4 ports use for -position independent code. -.Ip "\fB\-mlong-calls\fR" 4 -.IX Item "-mlong-calls" -.PD 0 -.Ip "\fB\-mno-long-calls\fR" 4 -.IX Item "-mno-long-calls" -.PD -Do all calls with the \fB\s-1JALR\s0\fR instruction, which requires -loading up a function's address into a register before the call. -You need to use this switch, if you call outside of the current -512 megabyte segment to functions that are not through pointers. -.Ip "\fB\-mhalf-pic\fR" 4 -.IX Item "-mhalf-pic" -.PD 0 -.Ip "\fB\-mno-half-pic\fR" 4 -.IX Item "-mno-half-pic" -.PD -Put pointers to extern references into the data section and load them -up, rather than put the references in the text section. -.Ip "\fB\-membedded-pic\fR" 4 -.IX Item "-membedded-pic" -.PD 0 -.Ip "\fB\-mno-embedded-pic\fR" 4 -.IX Item "-mno-embedded-pic" -.PD -Generate \s-1PIC\s0 code suitable for some embedded systems. All calls are -made using \s-1PC\s0 relative address, and all data is addressed using the \f(CW$gp\fR -register. No more than 65536 bytes of global data may be used. This -requires \s-1GNU\s0 as and \s-1GNU\s0 ld which do most of the work. This currently -only works on targets which use \s-1ECOFF\s0; it does not work with \s-1ELF\s0. -.Ip "\fB\-membedded-data\fR" 4 -.IX Item "-membedded-data" -.PD 0 -.Ip "\fB\-mno-embedded-data\fR" 4 -.IX Item "-mno-embedded-data" -.PD -Allocate variables to the read-only data section first if possible, then -next in the small data section if possible, otherwise in data. This gives -slightly slower code than the default, but reduces the amount of \s-1RAM\s0 required -when executing, and thus may be preferred for some embedded systems. -.Ip "\fB\-muninit-const-in-rodata\fR" 4 -.IX Item "-muninit-const-in-rodata" -.PD 0 -.Ip "\fB\-mno-uninit-const-in-rodata\fR" 4 -.IX Item "-mno-uninit-const-in-rodata" -.PD -When used together with \fB\-membedded-data\fR, it will always store uninitialized -const variables in the read-only data section. -.Ip "\fB\-msingle-float\fR" 4 -.IX Item "-msingle-float" -.PD 0 -.Ip "\fB\-mdouble-float\fR" 4 -.IX Item "-mdouble-float" -.PD -The \fB\-msingle-float\fR switch tells gcc to assume that the floating -point coprocessor only supports single precision operations, as on the -\&\fBr4650\fR chip. The \fB\-mdouble-float\fR switch permits gcc to use -double precision operations. This is the default. -.Ip "\fB\-mmad\fR" 4 -.IX Item "-mmad" -.PD 0 -.Ip "\fB\-mno-mad\fR" 4 -.IX Item "-mno-mad" -.PD -Permit use of the \fBmad\fR, \fBmadu\fR and \fBmul\fR instructions, -as on the \fBr4650\fR chip. -.Ip "\fB\-m4650\fR" 4 -.IX Item "-m4650" -Turns on \fB\-msingle-float\fR, \fB\-mmad\fR, and, at least for now, -\&\fB\-mcpu=r4650\fR. -.Ip "\fB\-mips16\fR" 4 -.IX Item "-mips16" -.PD 0 -.Ip "\fB\-mno-mips16\fR" 4 -.IX Item "-mno-mips16" -.PD -Enable 16\-bit instructions. -.Ip "\fB\-mentry\fR" 4 -.IX Item "-mentry" -Use the entry and exit pseudo ops. This option can only be used with -\&\fB\-mips16\fR. -.Ip "\fB\-EL\fR" 4 -.IX Item "-EL" -Compile code for the processor in little endian mode. -The requisite libraries are assumed to exist. -.Ip "\fB\-EB\fR" 4 -.IX Item "-EB" -Compile code for the processor in big endian mode. -The requisite libraries are assumed to exist. -.Ip "\fB\-G\fR \fInum\fR" 4 -.IX Item "-G num" -Put global and static items less than or equal to \fInum\fR bytes into -the small data or bss sections instead of the normal data or bss -section. This allows the assembler to emit one word memory reference -instructions based on the global pointer (\fIgp\fR or \fI$28\fR), -instead of the normal two words used. By default, \fInum\fR is 8 when -the \s-1MIPS\s0 assembler is used, and 0 when the \s-1GNU\s0 assembler is used. The -\&\fB\-G\fR \fInum\fR switch is also passed to the assembler and linker. -All modules should be compiled with the same \fB\-G\fR \fInum\fR -value. -.Ip "\fB\-nocpp\fR" 4 -.IX Item "-nocpp" -Tell the \s-1MIPS\s0 assembler to not run its preprocessor over user -assembler files (with a \fB.s\fR suffix) when assembling them. -.Ip "\fB\-mfix7000\fR" 4 -.IX Item "-mfix7000" -Pass an option to gas which will cause nops to be inserted if -the read of the destination register of an mfhi or mflo instruction -occurs in the following two instructions. -.Ip "\fB\-no-crt0\fR" 4 -.IX Item "-no-crt0" -Do not include the default crt0. -.Ip "\fB\-mflush-func=\fR\fIfunc\fR" 4 -.IX Item "-mflush-func=func" -.PD 0 -.Ip "\fB\-mno-flush-func\fR" 4 -.IX Item "-mno-flush-func" -.PD -Specifies the function to call to flush the I and D caches, or to not -call any such function. If called, the function must take the same -arguments as the common \f(CW\*(C`_flush_func()\*(C'\fR, that is, the address of the -memory range for which the cache is being flushed, the size of the -memory range, and the number 3 (to flush both caches). The default -depends on the target gcc was configured for, but commonly is either -\&\fB_flush_func\fR or \fB_\|_cpu_flush\fR. -.PP -These options are defined by the macro -\&\f(CW\*(C`TARGET_SWITCHES\*(C'\fR in the machine description. The default for the -options is also defined by that macro, which enables you to change the -defaults. -.PP -.I "Intel 386 and \s-1AMD\s0 x86\-64 Options" -.IX Subsection "Intel 386 and AMD x86-64 Options" -.PP -These \fB\-m\fR options are defined for the i386 and x86\-64 family of -computers: -.Ip "\fB\-mcpu=\fR\fIcpu-type\fR" 4 -.IX Item "-mcpu=cpu-type" -Tune to \fIcpu-type\fR everything applicable about the generated code, except -for the \s-1ABI\s0 and the set of available instructions. The choices for -\&\fIcpu-type\fR are \fBi386\fR, \fBi486\fR, \fBi586\fR, \fBi686\fR, -\&\fBpentium\fR, \fBpentium-mmx\fR, \fBpentiumpro\fR, \fBpentium2\fR, -\&\fBpentium3\fR, \fBpentium4\fR, \fBk6\fR, \fBk6\-2\fR, \fBk6\-3\fR, -\&\fBathlon\fR, \fBathlon-tbird\fR, \fBathlon-4\fR, \fBathlon-xp\fR -and \fBathlon-mp\fR. -.Sp -While picking a specific \fIcpu-type\fR will schedule things appropriately -for that particular chip, the compiler will not generate any code that -does not run on the i386 without the \fB\-march=\fR\fIcpu-type\fR option -being used. \fBi586\fR is equivalent to \fBpentium\fR and \fBi686\fR -is equivalent to \fBpentiumpro\fR. \fBk6\fR and \fBathlon\fR are the -\&\s-1AMD\s0 chips as opposed to the Intel ones. -.Ip "\fB\-march=\fR\fIcpu-type\fR" 4 -.IX Item "-march=cpu-type" -Generate instructions for the machine type \fIcpu-type\fR. The choices -for \fIcpu-type\fR are the same as for \fB\-mcpu\fR. Moreover, -specifying \fB\-march=\fR\fIcpu-type\fR implies \fB\-mcpu=\fR\fIcpu-type\fR. -.Ip "\fB\-m386\fR" 4 -.IX Item "-m386" -.PD 0 -.Ip "\fB\-m486\fR" 4 -.IX Item "-m486" -.Ip "\fB\-mpentium\fR" 4 -.IX Item "-mpentium" -.Ip "\fB\-mpentiumpro\fR" 4 -.IX Item "-mpentiumpro" -.PD -These options are synonyms for \fB\-mcpu=i386\fR, \fB\-mcpu=i486\fR, -\&\fB\-mcpu=pentium\fR, and \fB\-mcpu=pentiumpro\fR respectively. -These synonyms are deprecated. -.Ip "\fB\-mfpmath=\fR\fIunit\fR" 4 -.IX Item "-mfpmath=unit" -generate floating point arithmetics for selected unit \fIunit\fR. the choices -for \fIunit\fR are: -.RS 4 -.Ip "\fB387\fR" 4 -.IX Item "387" -Use the standard 387 floating point coprocessor present majority of chips and -emulated otherwise. Code compiled with this option will run almost everywhere. -The temporary results are computed in 80bit precesion instead of precision -specified by the type resulting in slightly different results compared to most -of other chips. See \fB\-ffloat-store\fR for more detailed description. -.Sp -This is the default choice for i386 compiler. -.Ip "\fBsse\fR" 4 -.IX Item "sse" -Use scalar floating point instructions present in the \s-1SSE\s0 instruction set. -This instruction set is supported by Pentium3 and newer chips, in the \s-1AMD\s0 line -by Athlon-4, Athlon-xp and Athlon-mp chips. The earlier version of \s-1SSE\s0 -instruction set supports only single precision arithmetics, thus the double and -extended precision arithmetics is still done using 387. Later version, present -only in Pentium4 and the future \s-1AMD\s0 x86\-64 chips supports double precision -arithmetics too. -.Sp -For i387 you need to use \fB\-march=\fR\fIcpu-type\fR, \fB\-msse\fR or -\&\fB\-msse2\fR switches to enable \s-1SSE\s0 extensions and make this option -effective. For x86\-64 compiler, these extensions are enabled by default. -.Sp -The resulting code should be considerably faster in majority of cases and avoid -the numerical instability problems of 387 code, but may break some existing -code that expects temporaries to be 80bit. -.Sp -This is the default choice for x86\-64 compiler. -.Ip "\fBsse,387\fR" 4 -.IX Item "sse,387" -Attempt to utilize both instruction sets at once. This effectivly double the -amount of available registers and on chips with separate execution units for -387 and \s-1SSE\s0 the execution resources too. Use this option with care, as it is -still experimental, because gcc register allocator does not model separate -functional units well resulting in instable performance. -.RE -.RS 4 -.RE -.Ip "\fB\-masm=\fR\fIdialect\fR" 4 -.IX Item "-masm=dialect" -Output asm instructions using selected \fIdialect\fR. Supported choices are -\&\fBintel\fR or \fBatt\fR (the default one). -.Ip "\fB\-mieee-fp\fR" 4 -.IX Item "-mieee-fp" -.PD 0 -.Ip "\fB\-mno-ieee-fp\fR" 4 -.IX Item "-mno-ieee-fp" -.PD -Control whether or not the compiler uses \s-1IEEE\s0 floating point -comparisons. These handle correctly the case where the result of a -comparison is unordered. -.Ip "\fB\-msoft-float\fR" 4 -.IX Item "-msoft-float" -Generate output containing library calls for floating point. -\&\fBWarning:\fR the requisite libraries are not part of \s-1GCC\s0. -Normally the facilities of the machine's usual C compiler are used, but -this can't be done directly in cross-compilation. You must make your -own arrangements to provide suitable library functions for -cross-compilation. -.Sp -On machines where a function returns floating point results in the 80387 -register stack, some floating point opcodes may be emitted even if -\&\fB\-msoft-float\fR is used. -.Ip "\fB\-mno-fp-ret-in-387\fR" 4 -.IX Item "-mno-fp-ret-in-387" -Do not use the \s-1FPU\s0 registers for return values of functions. -.Sp -The usual calling convention has functions return values of types -\&\f(CW\*(C`float\*(C'\fR and \f(CW\*(C`double\*(C'\fR in an \s-1FPU\s0 register, even if there -is no \s-1FPU\s0. The idea is that the operating system should emulate -an \s-1FPU\s0. -.Sp -The option \fB\-mno-fp-ret-in-387\fR causes such values to be returned -in ordinary \s-1CPU\s0 registers instead. -.Ip "\fB\-mno-fancy-math-387\fR" 4 -.IX Item "-mno-fancy-math-387" -Some 387 emulators do not support the \f(CW\*(C`sin\*(C'\fR, \f(CW\*(C`cos\*(C'\fR and -\&\f(CW\*(C`sqrt\*(C'\fR instructions for the 387. Specify this option to avoid -generating those instructions. This option is the default on FreeBSD, -OpenBSD and NetBSD. This option is overridden when \fB\-march\fR -indicates that the target cpu will always have an \s-1FPU\s0 and so the -instruction will not need emulation. As of revision 2.6.1, these -instructions are not generated unless you also use the -\&\fB\-funsafe-math-optimizations\fR switch. -.Ip "\fB\-malign-double\fR" 4 -.IX Item "-malign-double" -.PD 0 -.Ip "\fB\-mno-align-double\fR" 4 -.IX Item "-mno-align-double" -.PD -Control whether \s-1GCC\s0 aligns \f(CW\*(C`double\*(C'\fR, \f(CW\*(C`long double\*(C'\fR, and -\&\f(CW\*(C`long long\*(C'\fR variables on a two word boundary or a one word -boundary. Aligning \f(CW\*(C`double\*(C'\fR variables on a two word boundary will -produce code that runs somewhat faster on a \fBPentium\fR at the -expense of more memory. -.Sp -\&\fBWarning:\fR if you use the \fB\-malign-double\fR switch, -structures containing the above types will be aligned differently than -the published application binary interface specifications for the 386 -and will not be binary compatible with structures in code compiled -without that switch. -.Ip "\fB\-m128bit-long-double\fR" 4 -.IX Item "-m128bit-long-double" -Control the size of \f(CW\*(C`long double\*(C'\fR type. i386 application binary interface -specify the size to be 12 bytes, while modern architectures (Pentium and newer) -prefer \f(CW\*(C`long double\*(C'\fR aligned to 8 or 16 byte boundary. This is -impossible to reach with 12 byte long doubles in the array accesses. -.Sp -\&\fBWarning:\fR if you use the \fB\-m128bit-long-double\fR switch, the -structures and arrays containing \f(CW\*(C`long double\*(C'\fR will change their size as -well as function calling convention for function taking \f(CW\*(C`long double\*(C'\fR -will be modified. -.Ip "\fB\-m96bit-long-double\fR" 4 -.IX Item "-m96bit-long-double" -Set the size of \f(CW\*(C`long double\*(C'\fR to 96 bits as required by the i386 -application binary interface. This is the default. -.Ip "\fB\-msvr3\-shlib\fR" 4 -.IX Item "-msvr3-shlib" -.PD 0 -.Ip "\fB\-mno-svr3\-shlib\fR" 4 -.IX Item "-mno-svr3-shlib" -.PD -Control whether \s-1GCC\s0 places uninitialized local variables into the -\&\f(CW\*(C`bss\*(C'\fR or \f(CW\*(C`data\*(C'\fR segments. \fB\-msvr3\-shlib\fR places them -into \f(CW\*(C`bss\*(C'\fR. These options are meaningful only on System V Release 3. -.Ip "\fB\-mrtd\fR" 4 -.IX Item "-mrtd" -Use a different function-calling convention, in which functions that -take a fixed number of arguments return with the \f(CW\*(C`ret\*(C'\fR \fInum\fR -instruction, which pops their arguments while returning. This saves one -instruction in the caller since there is no need to pop the arguments -there. -.Sp -You can specify that an individual function is called with this calling -sequence with the function attribute \fBstdcall\fR. You can also -override the \fB\-mrtd\fR option by using the function attribute -\&\fBcdecl\fR. -.Sp -\&\fBWarning:\fR this calling convention is incompatible with the one -normally used on Unix, so you cannot use it if you need to call -libraries compiled with the Unix compiler. -.Sp -Also, you must provide function prototypes for all functions that -take variable numbers of arguments (including \f(CW\*(C`printf\*(C'\fR); -otherwise incorrect code will be generated for calls to those -functions. -.Sp -In addition, seriously incorrect code will result if you call a -function with too many arguments. (Normally, extra arguments are -harmlessly ignored.) -.Ip "\fB\-mregparm=\fR\fInum\fR" 4 -.IX Item "-mregparm=num" -Control how many registers are used to pass integer arguments. By -default, no registers are used to pass arguments, and at most 3 -registers can be used. You can control this behavior for a specific -function by using the function attribute \fBregparm\fR. -.Sp -\&\fBWarning:\fR if you use this switch, and -\&\fInum\fR is nonzero, then you must build all modules with the same -value, including any libraries. This includes the system libraries and -startup modules. -.Ip "\fB\-mpreferred-stack-boundary=\fR\fInum\fR" 4 -.IX Item "-mpreferred-stack-boundary=num" -Attempt to keep the stack boundary aligned to a 2 raised to \fInum\fR -byte boundary. If \fB\-mpreferred-stack-boundary\fR is not specified, -the default is 4 (16 bytes or 128 bits), except when optimizing for code -size (\fB\-Os\fR), in which case the default is the minimum correct -alignment (4 bytes for x86, and 8 bytes for x86\-64). -.Sp -On Pentium and PentiumPro, \f(CW\*(C`double\*(C'\fR and \f(CW\*(C`long double\*(C'\fR values -should be aligned to an 8 byte boundary (see \fB\-malign-double\fR) or -suffer significant run time performance penalties. On Pentium \s-1III\s0, the -Streaming \s-1SIMD\s0 Extension (\s-1SSE\s0) data type \f(CW\*(C`_\|_m128\*(C'\fR suffers similar -penalties if it is not 16 byte aligned. -.Sp -To ensure proper alignment of this values on the stack, the stack boundary -must be as aligned as that required by any value stored on the stack. -Further, every function must be generated such that it keeps the stack -aligned. Thus calling a function compiled with a higher preferred -stack boundary from a function compiled with a lower preferred stack -boundary will most likely misalign the stack. It is recommended that -libraries that use callbacks always use the default setting. -.Sp -This extra alignment does consume extra stack space, and generally -increases code size. Code that is sensitive to stack space usage, such -as embedded systems and operating system kernels, may want to reduce the -preferred alignment to \fB\-mpreferred-stack-boundary=2\fR. -.Ip "\fB\-mmmx\fR" 4 -.IX Item "-mmmx" -.PD 0 -.Ip "\fB\-mno-mmx\fR" 4 -.IX Item "-mno-mmx" -.Ip "\fB\-msse\fR" 4 -.IX Item "-msse" -.Ip "\fB\-mno-sse\fR" 4 -.IX Item "-mno-sse" -.Ip "\fB\-msse2\fR" 4 -.IX Item "-msse2" -.Ip "\fB\-mno-sse2\fR" 4 -.IX Item "-mno-sse2" -.Ip "\fB\-m3dnow\fR" 4 -.IX Item "-m3dnow" -.Ip "\fB\-mno-3dnow\fR" 4 -.IX Item "-mno-3dnow" -.PD -These switches enable or disable the use of built-in functions that allow -direct access to the \s-1MMX\s0, \s-1SSE\s0 and 3Dnow extensions of the instruction set. -.Sp -To have \s-1SSE/SSE2\s0 instructions generated automatically from floating-point code, -see \fB\-mfpmath=sse\fR. -.Ip "\fB\-mpush-args\fR" 4 -.IX Item "-mpush-args" -.PD 0 -.Ip "\fB\-mno-push-args\fR" 4 -.IX Item "-mno-push-args" -.PD -Use \s-1PUSH\s0 operations to store outgoing parameters. This method is shorter -and usually equally fast as method using \s-1SUB/MOV\s0 operations and is enabled -by default. In some cases disabling it may improve performance because of -improved scheduling and reduced dependencies. -.Ip "\fB\-maccumulate-outgoing-args\fR" 4 -.IX Item "-maccumulate-outgoing-args" -If enabled, the maximum amount of space required for outgoing arguments will be -computed in the function prologue. This is faster on most modern CPUs -because of reduced dependencies, improved scheduling and reduced stack usage -when preferred stack boundary is not equal to 2. The drawback is a notable -increase in code size. This switch implies \fB\-mno-push-args\fR. -.Ip "\fB\-mthreads\fR" 4 -.IX Item "-mthreads" -Support thread-safe exception handling on \fBMingw32\fR. Code that relies -on thread-safe exception handling must compile and link all code with the -\&\fB\-mthreads\fR option. When compiling, \fB\-mthreads\fR defines -\&\fB\-D_MT\fR; when linking, it links in a special thread helper library -\&\fB\-lmingwthrd\fR which cleans up per thread exception handling data. -.Ip "\fB\-mno-align-stringops\fR" 4 -.IX Item "-mno-align-stringops" -Do not align destination of inlined string operations. This switch reduces -code size and improves performance in case the destination is already aligned, -but gcc don't know about it. -.Ip "\fB\-minline-all-stringops\fR" 4 -.IX Item "-minline-all-stringops" -By default \s-1GCC\s0 inlines string operations only when destination is known to be -aligned at least to 4 byte boundary. This enables more inlining, increase code -size, but may improve performance of code that depends on fast memcpy, strlen -and memset for short lengths. -.Ip "\fB\-momit-leaf-frame-pointer\fR" 4 -.IX Item "-momit-leaf-frame-pointer" -Don't keep the frame pointer in a register for leaf functions. This -avoids the instructions to save, set up and restore frame pointers and -makes an extra register available in leaf functions. The option -\&\fB\-fomit-frame-pointer\fR removes the frame pointer for all functions -which might make debugging harder. -.PP -These \fB\-m\fR switches are supported in addition to the above -on \s-1AMD\s0 x86\-64 processors in 64\-bit environments. -.Ip "\fB\-m32\fR" 4 -.IX Item "-m32" -.PD 0 -.Ip "\fB\-m64\fR" 4 -.IX Item "-m64" -.PD -Generate code for a 32\-bit or 64\-bit environment. -The 32\-bit environment sets int, long and pointer to 32 bits and -generates code that runs on any i386 system. -The 64\-bit environment sets int to 32 bits and long and pointer -to 64 bits and generates code for \s-1AMD\s0's x86\-64 architecture. -.Ip "\fB\-mno-red-zone\fR" 4 -.IX Item "-mno-red-zone" -Do not use a so called red zone for x86\-64 code. The red zone is mandated -by the x86\-64 \s-1ABI\s0, it is a 128\-byte area beyond the location of the -stack pointer that will not be modified by signal or interrupt handlers -and therefore can be used for temporary data without adjusting the stack -pointer. The flag \fB\-mno-red-zone\fR disables this red zone. -.Ip "\fB\-mcmodel=small\fR" 4 -.IX Item "-mcmodel=small" -Generate code for the small code model: the program and its symbols must -be linked in the lower 2 \s-1GB\s0 of the address space. Pointers are 64 bits. -Programs can be statically or dynamically linked. This is the default -code model. -.Ip "\fB\-mcmodel=kernel\fR" 4 -.IX Item "-mcmodel=kernel" -Generate code for the kernel code model. The kernel runs in the -negative 2 \s-1GB\s0 of the address space. -This model has to be used for Linux kernel code. -.Ip "\fB\-mcmodel=medium\fR" 4 -.IX Item "-mcmodel=medium" -Generate code for the medium model: The program is linked in the lower 2 -\&\s-1GB\s0 of the address space but symbols can be located anywhere in the -address space. Programs can be statically or dynamically linked, but -building of shared libraries are not supported with the medium model. -.Ip "\fB\-mcmodel=large\fR" 4 -.IX Item "-mcmodel=large" -Generate code for the large model: This model makes no assumptions -about addresses and sizes of sections. Currently \s-1GCC\s0 does not implement -this model. -.PP -.I "\s-1HPPA\s0 Options" -.IX Subsection "HPPA Options" -.PP -These \fB\-m\fR options are defined for the \s-1HPPA\s0 family of computers: -.Ip "\fB\-march=\fR\fIarchitecture-type\fR" 4 -.IX Item "-march=architecture-type" -Generate code for the specified architecture. The choices for -\&\fIarchitecture-type\fR are \fB1.0\fR for \s-1PA\s0 1.0, \fB1.1\fR for \s-1PA\s0 -1.1, and \fB2.0\fR for \s-1PA\s0 2.0 processors. Refer to -\&\fI/usr/lib/sched.models\fR on an \s-1HP-UX\s0 system to determine the proper -architecture option for your machine. Code compiled for lower numbered -architectures will run on higher numbered architectures, but not the -other way around. -.Sp -\&\s-1PA\s0 2.0 support currently requires gas snapshot 19990413 or later. The -next release of binutils (current is 2.9.1) will probably contain \s-1PA\s0 2.0 -support. -.Ip "\fB\-mpa-risc-1\-0\fR" 4 -.IX Item "-mpa-risc-1-0" -.PD 0 -.Ip "\fB\-mpa-risc-1\-1\fR" 4 -.IX Item "-mpa-risc-1-1" -.Ip "\fB\-mpa-risc-2\-0\fR" 4 -.IX Item "-mpa-risc-2-0" -.PD -Synonyms for \fB\-march=1.0\fR, \fB\-march=1.1\fR, and \fB\-march=2.0\fR respectively. -.Ip "\fB\-mbig-switch\fR" 4 -.IX Item "-mbig-switch" -Generate code suitable for big switch tables. Use this option only if -the assembler/linker complain about out of range branches within a switch -table. -.Ip "\fB\-mjump-in-delay\fR" 4 -.IX Item "-mjump-in-delay" -Fill delay slots of function calls with unconditional jump instructions -by modifying the return pointer for the function call to be the target -of the conditional jump. -.Ip "\fB\-mdisable-fpregs\fR" 4 -.IX Item "-mdisable-fpregs" -Prevent floating point registers from being used in any manner. This is -necessary for compiling kernels which perform lazy context switching of -floating point registers. If you use this option and attempt to perform -floating point operations, the compiler will abort. -.Ip "\fB\-mdisable-indexing\fR" 4 -.IX Item "-mdisable-indexing" -Prevent the compiler from using indexing address modes. This avoids some -rather obscure problems when compiling \s-1MIG\s0 generated code under \s-1MACH\s0. -.Ip "\fB\-mno-space-regs\fR" 4 -.IX Item "-mno-space-regs" -Generate code that assumes the target has no space registers. This allows -\&\s-1GCC\s0 to generate faster indirect calls and use unscaled index address modes. -.Sp -Such code is suitable for level 0 \s-1PA\s0 systems and kernels. -.Ip "\fB\-mfast-indirect-calls\fR" 4 -.IX Item "-mfast-indirect-calls" -Generate code that assumes calls never cross space boundaries. This -allows \s-1GCC\s0 to emit code which performs faster indirect calls. -.Sp -This option will not work in the presence of shared libraries or nested -functions. -.Ip "\fB\-mlong-load-store\fR" 4 -.IX Item "-mlong-load-store" -Generate 3\-instruction load and store sequences as sometimes required by -the \s-1HP-UX\s0 10 linker. This is equivalent to the \fB+k\fR option to -the \s-1HP\s0 compilers. -.Ip "\fB\-mportable-runtime\fR" 4 -.IX Item "-mportable-runtime" -Use the portable calling conventions proposed by \s-1HP\s0 for \s-1ELF\s0 systems. -.Ip "\fB\-mgas\fR" 4 -.IX Item "-mgas" -Enable the use of assembler directives only \s-1GAS\s0 understands. -.Ip "\fB\-mschedule=\fR\fIcpu-type\fR" 4 -.IX Item "-mschedule=cpu-type" -Schedule code according to the constraints for the machine type -\&\fIcpu-type\fR. The choices for \fIcpu-type\fR are \fB700\fR -\&\fB7100\fR, \fB7100LC\fR, \fB7200\fR, and \fB8000\fR. Refer to -\&\fI/usr/lib/sched.models\fR on an \s-1HP-UX\s0 system to determine the -proper scheduling option for your machine. -.Ip "\fB\-mlinker-opt\fR" 4 -.IX Item "-mlinker-opt" -Enable the optimization pass in the \s-1HPUX\s0 linker. Note this makes symbolic -debugging impossible. It also triggers a bug in the \s-1HPUX\s0 8 and \s-1HPUX\s0 9 linkers -in which they give bogus error messages when linking some programs. -.Ip "\fB\-msoft-float\fR" 4 -.IX Item "-msoft-float" -Generate output containing library calls for floating point. -\&\fBWarning:\fR the requisite libraries are not available for all \s-1HPPA\s0 -targets. Normally the facilities of the machine's usual C compiler are -used, but this cannot be done directly in cross-compilation. You must make -your own arrangements to provide suitable library functions for -cross-compilation. The embedded target \fBhppa1.1\-*\-pro\fR -does provide software floating point support. -.Sp -\&\fB\-msoft-float\fR changes the calling convention in the output file; -therefore, it is only useful if you compile \fIall\fR of a program with -this option. In particular, you need to compile \fIlibgcc.a\fR, the -library that comes with \s-1GCC\s0, with \fB\-msoft-float\fR in order for -this to work. -.PP -.I "Intel 960 Options" -.IX Subsection "Intel 960 Options" -.PP -These \fB\-m\fR options are defined for the Intel 960 implementations: -.Ip "\fB\-m\fR\fIcpu-type\fR" 4 -.IX Item "-mcpu-type" -Assume the defaults for the machine type \fIcpu-type\fR for some of -the other options, including instruction scheduling, floating point -support, and addressing modes. The choices for \fIcpu-type\fR are -\&\fBka\fR, \fBkb\fR, \fBmc\fR, \fBca\fR, \fBcf\fR, -\&\fBsa\fR, and \fBsb\fR. -The default is -\&\fBkb\fR. -.Ip "\fB\-mnumerics\fR" 4 -.IX Item "-mnumerics" -.PD 0 -.Ip "\fB\-msoft-float\fR" 4 -.IX Item "-msoft-float" -.PD -The \fB\-mnumerics\fR option indicates that the processor does support -floating-point instructions. The \fB\-msoft-float\fR option indicates -that floating-point support should not be assumed. -.Ip "\fB\-mleaf-procedures\fR" 4 -.IX Item "-mleaf-procedures" -.PD 0 -.Ip "\fB\-mno-leaf-procedures\fR" 4 -.IX Item "-mno-leaf-procedures" -.PD -Do (or do not) attempt to alter leaf procedures to be callable with the -\&\f(CW\*(C`bal\*(C'\fR instruction as well as \f(CW\*(C`call\*(C'\fR. This will result in more -efficient code for explicit calls when the \f(CW\*(C`bal\*(C'\fR instruction can be -substituted by the assembler or linker, but less efficient code in other -cases, such as calls via function pointers, or using a linker that doesn't -support this optimization. -.Ip "\fB\-mtail-call\fR" 4 -.IX Item "-mtail-call" -.PD 0 -.Ip "\fB\-mno-tail-call\fR" 4 -.IX Item "-mno-tail-call" -.PD -Do (or do not) make additional attempts (beyond those of the -machine-independent portions of the compiler) to optimize tail-recursive -calls into branches. You may not want to do this because the detection of -cases where this is not valid is not totally complete. The default is -\&\fB\-mno-tail-call\fR. -.Ip "\fB\-mcomplex-addr\fR" 4 -.IX Item "-mcomplex-addr" -.PD 0 -.Ip "\fB\-mno-complex-addr\fR" 4 -.IX Item "-mno-complex-addr" -.PD -Assume (or do not assume) that the use of a complex addressing mode is a -win on this implementation of the i960. Complex addressing modes may not -be worthwhile on the K-series, but they definitely are on the C-series. -The default is currently \fB\-mcomplex-addr\fR for all processors except -the \s-1CB\s0 and \s-1CC\s0. -.Ip "\fB\-mcode-align\fR" 4 -.IX Item "-mcode-align" -.PD 0 -.Ip "\fB\-mno-code-align\fR" 4 -.IX Item "-mno-code-align" -.PD -Align code to 8\-byte boundaries for faster fetching (or don't bother). -Currently turned on by default for C-series implementations only. -.Ip "\fB\-mic-compat\fR" 4 -.IX Item "-mic-compat" -.PD 0 -.Ip "\fB\-mic2.0\-compat\fR" 4 -.IX Item "-mic2.0-compat" -.Ip "\fB\-mic3.0\-compat\fR" 4 -.IX Item "-mic3.0-compat" -.PD -Enable compatibility with iC960 v2.0 or v3.0. -.Ip "\fB\-masm-compat\fR" 4 -.IX Item "-masm-compat" -.PD 0 -.Ip "\fB\-mintel-asm\fR" 4 -.IX Item "-mintel-asm" -.PD -Enable compatibility with the iC960 assembler. -.Ip "\fB\-mstrict-align\fR" 4 -.IX Item "-mstrict-align" -.PD 0 -.Ip "\fB\-mno-strict-align\fR" 4 -.IX Item "-mno-strict-align" -.PD -Do not permit (do permit) unaligned accesses. -.Ip "\fB\-mold-align\fR" 4 -.IX Item "-mold-align" -Enable structure-alignment compatibility with Intel's gcc release version -1.3 (based on gcc 1.37). This option implies \fB\-mstrict-align\fR. -.Ip "\fB\-mlong-double-64\fR" 4 -.IX Item "-mlong-double-64" -Implement type \fBlong double\fR as 64\-bit floating point numbers. -Without the option \fBlong double\fR is implemented by 80\-bit -floating point numbers. The only reason we have it because there is -no 128\-bit \fBlong double\fR support in \fBfp-bit.c\fR yet. So it -is only useful for people using soft-float targets. Otherwise, we -should recommend against use of it. -.PP -.I "\s-1DEC\s0 Alpha Options" -.IX Subsection "DEC Alpha Options" -.PP -These \fB\-m\fR options are defined for the \s-1DEC\s0 Alpha implementations: -.Ip "\fB\-mno-soft-float\fR" 4 -.IX Item "-mno-soft-float" -.PD 0 -.Ip "\fB\-msoft-float\fR" 4 -.IX Item "-msoft-float" -.PD -Use (do not use) the hardware floating-point instructions for -floating-point operations. When \fB\-msoft-float\fR is specified, -functions in \fIlibgcc.a\fR will be used to perform floating-point -operations. Unless they are replaced by routines that emulate the -floating-point operations, or compiled in such a way as to call such -emulations routines, these routines will issue floating-point -operations. If you are compiling for an Alpha without floating-point -operations, you must ensure that the library is built so as not to call -them. -.Sp -Note that Alpha implementations without floating-point operations are -required to have floating-point registers. -.Ip "\fB\-mfp-reg\fR" 4 -.IX Item "-mfp-reg" -.PD 0 -.Ip "\fB\-mno-fp-regs\fR" 4 -.IX Item "-mno-fp-regs" -.PD -Generate code that uses (does not use) the floating-point register set. -\&\fB\-mno-fp-regs\fR implies \fB\-msoft-float\fR. If the floating-point -register set is not used, floating point operands are passed in integer -registers as if they were integers and floating-point results are passed -in \f(CW\*(C`$0\*(C'\fR instead of \f(CW\*(C`$f0\*(C'\fR. This is a non-standard calling sequence, -so any function with a floating-point argument or return value called by code -compiled with \fB\-mno-fp-regs\fR must also be compiled with that -option. -.Sp -A typical use of this option is building a kernel that does not use, -and hence need not save and restore, any floating-point registers. -.Ip "\fB\-mieee\fR" 4 -.IX Item "-mieee" -The Alpha architecture implements floating-point hardware optimized for -maximum performance. It is mostly compliant with the \s-1IEEE\s0 floating -point standard. However, for full compliance, software assistance is -required. This option generates code fully \s-1IEEE\s0 compliant code -\&\fIexcept\fR that the \fIinexact-flag\fR is not maintained (see below). -If this option is turned on, the preprocessor macro \f(CW\*(C`_IEEE_FP\*(C'\fR is -defined during compilation. The resulting code is less efficient but is -able to correctly support denormalized numbers and exceptional \s-1IEEE\s0 -values such as not-a-number and plus/minus infinity. Other Alpha -compilers call this option \fB\-ieee_with_no_inexact\fR. -.Ip "\fB\-mieee-with-inexact\fR" 4 -.IX Item "-mieee-with-inexact" -This is like \fB\-mieee\fR except the generated code also maintains -the \s-1IEEE\s0 \fIinexact-flag\fR. Turning on this option causes the -generated code to implement fully-compliant \s-1IEEE\s0 math. In addition to -\&\f(CW\*(C`_IEEE_FP\*(C'\fR, \f(CW\*(C`_IEEE_FP_EXACT\*(C'\fR is defined as a preprocessor -macro. On some Alpha implementations the resulting code may execute -significantly slower than the code generated by default. Since there is -very little code that depends on the \fIinexact-flag\fR, you should -normally not specify this option. Other Alpha compilers call this -option \fB\-ieee_with_inexact\fR. -.Ip "\fB\-mfp-trap-mode=\fR\fItrap-mode\fR" 4 -.IX Item "-mfp-trap-mode=trap-mode" -This option controls what floating-point related traps are enabled. -Other Alpha compilers call this option \fB\-fptm\fR \fItrap-mode\fR. -The trap mode can be set to one of four values: -.RS 4 -.Ip "\fBn\fR" 4 -.IX Item "n" -This is the default (normal) setting. The only traps that are enabled -are the ones that cannot be disabled in software (e.g., division by zero -trap). -.Ip "\fBu\fR" 4 -.IX Item "u" -In addition to the traps enabled by \fBn\fR, underflow traps are enabled -as well. -.Ip "\fBsu\fR" 4 -.IX Item "su" -Like \fBsu\fR, but the instructions are marked to be safe for software -completion (see Alpha architecture manual for details). -.Ip "\fBsui\fR" 4 -.IX Item "sui" -Like \fBsu\fR, but inexact traps are enabled as well. -.RE -.RS 4 -.RE -.Ip "\fB\-mfp-rounding-mode=\fR\fIrounding-mode\fR" 4 -.IX Item "-mfp-rounding-mode=rounding-mode" -Selects the \s-1IEEE\s0 rounding mode. Other Alpha compilers call this option -\&\fB\-fprm\fR \fIrounding-mode\fR. The \fIrounding-mode\fR can be one -of: -.RS 4 -.Ip "\fBn\fR" 4 -.IX Item "n" -Normal \s-1IEEE\s0 rounding mode. Floating point numbers are rounded towards -the nearest machine number or towards the even machine number in case -of a tie. -.Ip "\fBm\fR" 4 -.IX Item "m" -Round towards minus infinity. -.Ip "\fBc\fR" 4 -.IX Item "c" -Chopped rounding mode. Floating point numbers are rounded towards zero. -.Ip "\fBd\fR" 4 -.IX Item "d" -Dynamic rounding mode. A field in the floating point control register -(\fIfpcr\fR, see Alpha architecture reference manual) controls the -rounding mode in effect. The C library initializes this register for -rounding towards plus infinity. Thus, unless your program modifies the -\&\fIfpcr\fR, \fBd\fR corresponds to round towards plus infinity. -.RE -.RS 4 -.RE -.Ip "\fB\-mtrap-precision=\fR\fItrap-precision\fR" 4 -.IX Item "-mtrap-precision=trap-precision" -In the Alpha architecture, floating point traps are imprecise. This -means without software assistance it is impossible to recover from a -floating trap and program execution normally needs to be terminated. -\&\s-1GCC\s0 can generate code that can assist operating system trap handlers -in determining the exact location that caused a floating point trap. -Depending on the requirements of an application, different levels of -precisions can be selected: -.RS 4 -.Ip "\fBp\fR" 4 -.IX Item "p" -Program precision. This option is the default and means a trap handler -can only identify which program caused a floating point exception. -.Ip "\fBf\fR" 4 -.IX Item "f" -Function precision. The trap handler can determine the function that -caused a floating point exception. -.Ip "\fBi\fR" 4 -.IX Item "i" -Instruction precision. The trap handler can determine the exact -instruction that caused a floating point exception. -.RE -.RS 4 -.Sp -Other Alpha compilers provide the equivalent options called -\&\fB\-scope_safe\fR and \fB\-resumption_safe\fR. -.RE -.Ip "\fB\-mieee-conformant\fR" 4 -.IX Item "-mieee-conformant" -This option marks the generated code as \s-1IEEE\s0 conformant. You must not -use this option unless you also specify \fB\-mtrap-precision=i\fR and either -\&\fB\-mfp-trap-mode=su\fR or \fB\-mfp-trap-mode=sui\fR. Its only effect -is to emit the line \fB.eflag 48\fR in the function prologue of the -generated assembly file. Under \s-1DEC\s0 Unix, this has the effect that -IEEE-conformant math library routines will be linked in. -.Ip "\fB\-mbuild-constants\fR" 4 -.IX Item "-mbuild-constants" -Normally \s-1GCC\s0 examines a 32\- or 64\-bit integer constant to -see if it can construct it from smaller constants in two or three -instructions. If it cannot, it will output the constant as a literal and -generate code to load it from the data segment at runtime. -.Sp -Use this option to require \s-1GCC\s0 to construct \fIall\fR integer constants -using code, even if it takes more instructions (the maximum is six). -.Sp -You would typically use this option to build a shared library dynamic -loader. Itself a shared library, it must relocate itself in memory -before it can find the variables and constants in its own data segment. -.Ip "\fB\-malpha-as\fR" 4 -.IX Item "-malpha-as" -.PD 0 -.Ip "\fB\-mgas\fR" 4 -.IX Item "-mgas" -.PD -Select whether to generate code to be assembled by the vendor-supplied -assembler (\fB\-malpha-as\fR) or by the \s-1GNU\s0 assembler \fB\-mgas\fR. -.Ip "\fB\-mbwx\fR" 4 -.IX Item "-mbwx" -.PD 0 -.Ip "\fB\-mno-bwx\fR" 4 -.IX Item "-mno-bwx" -.Ip "\fB\-mcix\fR" 4 -.IX Item "-mcix" -.Ip "\fB\-mno-cix\fR" 4 -.IX Item "-mno-cix" -.Ip "\fB\-mfix\fR" 4 -.IX Item "-mfix" -.Ip "\fB\-mno-fix\fR" 4 -.IX Item "-mno-fix" -.Ip "\fB\-mmax\fR" 4 -.IX Item "-mmax" -.Ip "\fB\-mno-max\fR" 4 -.IX Item "-mno-max" -.PD -Indicate whether \s-1GCC\s0 should generate code to use the optional \s-1BWX\s0, -\&\s-1CIX\s0, \s-1FIX\s0 and \s-1MAX\s0 instruction sets. The default is to use the instruction -sets supported by the \s-1CPU\s0 type specified via \fB\-mcpu=\fR option or that -of the \s-1CPU\s0 on which \s-1GCC\s0 was built if none was specified. -.Ip "\fB\-mfloat-vax\fR" 4 -.IX Item "-mfloat-vax" -.PD 0 -.Ip "\fB\-mfloat-ieee\fR" 4 -.IX Item "-mfloat-ieee" -.PD -Generate code that uses (does not use) \s-1VAX\s0 F and G floating point -arithmetic instead of \s-1IEEE\s0 single and double precision. -.Ip "\fB\-mexplicit-relocs\fR" 4 -.IX Item "-mexplicit-relocs" -.PD 0 -.Ip "\fB\-mno-explicit-relocs\fR" 4 -.IX Item "-mno-explicit-relocs" -.PD -Older Alpha assemblers provided no way to generate symbol relocations -except via assembler macros. Use of these macros does not allow -optimial instruction scheduling. \s-1GNU\s0 binutils as of version 2.12 -supports a new syntax that allows the compiler to explicitly mark -which relocations should apply to which instructions. This option -is mostly useful for debugging, as \s-1GCC\s0 detects the capabilities of -the assembler when it is built and sets the default accordingly. -.Ip "\fB\-msmall-data\fR" 4 -.IX Item "-msmall-data" -.PD 0 -.Ip "\fB\-mlarge-data\fR" 4 -.IX Item "-mlarge-data" -.PD -When \fB\-mexplicit-relocs\fR is in effect, static data is -accessed via \fIgp-relative\fR relocations. When \fB\-msmall-data\fR -is used, objects 8 bytes long or smaller are placed in a \fIsmall data area\fR -(the \f(CW\*(C`.sdata\*(C'\fR and \f(CW\*(C`.sbss\*(C'\fR sections) and are accessed via -16\-bit relocations off of the \f(CW\*(C`$gp\*(C'\fR register. This limits the -size of the small data area to 64KB, but allows the variables to be -directly accessed via a single instruction. -.Sp -The default is \fB\-mlarge-data\fR. With this option the data area -is limited to just below 2GB. Programs that require more than 2GB of -data must use \f(CW\*(C`malloc\*(C'\fR or \f(CW\*(C`mmap\*(C'\fR to allocate the data in the -heap instead of in the program's data segment. -.Sp -When generating code for shared libraries, \fB\-fpic\fR implies -\&\fB\-msmall-data\fR and \fB\-fPIC\fR implies \fB\-mlarge-data\fR. -.Ip "\fB\-mcpu=\fR\fIcpu_type\fR" 4 -.IX Item "-mcpu=cpu_type" -Set the instruction set and instruction scheduling parameters for -machine type \fIcpu_type\fR. You can specify either the \fB\s-1EV\s0\fR -style name or the corresponding chip number. \s-1GCC\s0 supports scheduling -parameters for the \s-1EV4\s0, \s-1EV5\s0 and \s-1EV6\s0 family of processors and will -choose the default values for the instruction set from the processor -you specify. If you do not specify a processor type, \s-1GCC\s0 will default -to the processor on which the compiler was built. -.Sp -Supported values for \fIcpu_type\fR are -.RS 4 -.Ip "\fBev4\fR" 4 -.IX Item "ev4" -.PD 0 -.Ip "\fBev45\fR" 4 -.IX Item "ev45" -.Ip "\fB21064\fR" 4 -.IX Item "21064" -.PD -Schedules as an \s-1EV4\s0 and has no instruction set extensions. -.Ip "\fBev5\fR" 4 -.IX Item "ev5" -.PD 0 -.Ip "\fB21164\fR" 4 -.IX Item "21164" -.PD -Schedules as an \s-1EV5\s0 and has no instruction set extensions. -.Ip "\fBev56\fR" 4 -.IX Item "ev56" -.PD 0 -.Ip "\fB21164a\fR" 4 -.IX Item "21164a" -.PD -Schedules as an \s-1EV5\s0 and supports the \s-1BWX\s0 extension. -.Ip "\fBpca56\fR" 4 -.IX Item "pca56" -.PD 0 -.Ip "\fB21164pc\fR" 4 -.IX Item "21164pc" -.Ip "\fB21164PC\fR" 4 -.IX Item "21164PC" -.PD -Schedules as an \s-1EV5\s0 and supports the \s-1BWX\s0 and \s-1MAX\s0 extensions. -.Ip "\fBev6\fR" 4 -.IX Item "ev6" -.PD 0 -.Ip "\fB21264\fR" 4 -.IX Item "21264" -.PD -Schedules as an \s-1EV6\s0 and supports the \s-1BWX\s0, \s-1FIX\s0, and \s-1MAX\s0 extensions. -.Ip "\fBev67\fR" 4 -.IX Item "ev67" -.PD 0 -.Ip "\fB21264a\fR" 4 -.IX Item "21264a" -.PD -Schedules as an \s-1EV6\s0 and supports the \s-1BWX\s0, \s-1CIX\s0, \s-1FIX\s0, and \s-1MAX\s0 extensions. -.RE -.RS 4 -.RE -.Ip "\fB\-mtune=\fR\fIcpu_type\fR" 4 -.IX Item "-mtune=cpu_type" -Set only the instruction scheduling parameters for machine type -\&\fIcpu_type\fR. The instruction set is not changed. -.Ip "\fB\-mmemory-latency=\fR\fItime\fR" 4 -.IX Item "-mmemory-latency=time" -Sets the latency the scheduler should assume for typical memory -references as seen by the application. This number is highly -dependent on the memory access patterns used by the application -and the size of the external cache on the machine. -.Sp -Valid options for \fItime\fR are -.RS 4 -.Ip "\fInumber\fR" 4 -.IX Item "number" -A decimal number representing clock cycles. -.Ip "\fBL1\fR" 4 -.IX Item "L1" -.PD 0 -.Ip "\fBL2\fR" 4 -.IX Item "L2" -.Ip "\fBL3\fR" 4 -.IX Item "L3" -.Ip "\fBmain\fR" 4 -.IX Item "main" -.PD -The compiler contains estimates of the number of clock cycles for -``typical'' \s-1EV4\s0 & \s-1EV5\s0 hardware for the Level 1, 2 & 3 caches -(also called Dcache, Scache, and Bcache), as well as to main memory. -Note that L3 is only valid for \s-1EV5\s0. -.RE -.RS 4 -.RE -.PP -.I "\s-1DEC\s0 Alpha/VMS Options" -.IX Subsection "DEC Alpha/VMS Options" -.PP -These \fB\-m\fR options are defined for the \s-1DEC\s0 Alpha/VMS implementations: -.Ip "\fB\-mvms-return-codes\fR" 4 -.IX Item "-mvms-return-codes" -Return \s-1VMS\s0 condition codes from main. The default is to return \s-1POSIX\s0 -style condition (e.g. error) codes. -.PP -.I "Clipper Options" -.IX Subsection "Clipper Options" -.PP -These \fB\-m\fR options are defined for the Clipper implementations: -.Ip "\fB\-mc300\fR" 4 -.IX Item "-mc300" -Produce code for a C300 Clipper processor. This is the default. -.Ip "\fB\-mc400\fR" 4 -.IX Item "-mc400" -Produce code for a C400 Clipper processor, i.e. use floating point -registers f8\*(--f15. -.PP -.I "H8/300 Options" -.IX Subsection "H8/300 Options" -.PP -These \fB\-m\fR options are defined for the H8/300 implementations: -.Ip "\fB\-mrelax\fR" 4 -.IX Item "-mrelax" -Shorten some address references at link time, when possible; uses the -linker option \fB\-relax\fR. -.Ip "\fB\-mh\fR" 4 -.IX Item "-mh" -Generate code for the H8/300H. -.Ip "\fB\-ms\fR" 4 -.IX Item "-ms" -Generate code for the H8/S. -.Ip "\fB\-ms2600\fR" 4 -.IX Item "-ms2600" -Generate code for the H8/S2600. This switch must be used with \fB\-ms\fR. -.Ip "\fB\-mint32\fR" 4 -.IX Item "-mint32" -Make \f(CW\*(C`int\*(C'\fR data 32 bits by default. -.Ip "\fB\-malign-300\fR" 4 -.IX Item "-malign-300" -On the H8/300H and H8/S, use the same alignment rules as for the H8/300. -The default for the H8/300H and H8/S is to align longs and floats on 4 -byte boundaries. -\&\fB\-malign-300\fR causes them to be aligned on 2 byte boundaries. -This option has no effect on the H8/300. -.PP -.I "\s-1SH\s0 Options" -.IX Subsection "SH Options" -.PP -These \fB\-m\fR options are defined for the \s-1SH\s0 implementations: -.Ip "\fB\-m1\fR" 4 -.IX Item "-m1" -Generate code for the \s-1SH1\s0. -.Ip "\fB\-m2\fR" 4 -.IX Item "-m2" -Generate code for the \s-1SH2\s0. -.Ip "\fB\-m3\fR" 4 -.IX Item "-m3" -Generate code for the \s-1SH3\s0. -.Ip "\fB\-m3e\fR" 4 -.IX Item "-m3e" -Generate code for the SH3e. -.Ip "\fB\-m4\-nofpu\fR" 4 -.IX Item "-m4-nofpu" -Generate code for the \s-1SH4\s0 without a floating-point unit. -.Ip "\fB\-m4\-single-only\fR" 4 -.IX Item "-m4-single-only" -Generate code for the \s-1SH4\s0 with a floating-point unit that only -supports single-precision arithmetic. -.Ip "\fB\-m4\-single\fR" 4 -.IX Item "-m4-single" -Generate code for the \s-1SH4\s0 assuming the floating-point unit is in -single-precision mode by default. -.Ip "\fB\-m4\fR" 4 -.IX Item "-m4" -Generate code for the \s-1SH4\s0. -.Ip "\fB\-mb\fR" 4 -.IX Item "-mb" -Compile code for the processor in big endian mode. -.Ip "\fB\-ml\fR" 4 -.IX Item "-ml" -Compile code for the processor in little endian mode. -.Ip "\fB\-mdalign\fR" 4 -.IX Item "-mdalign" -Align doubles at 64\-bit boundaries. Note that this changes the calling -conventions, and thus some functions from the standard C library will -not work unless you recompile it first with \fB\-mdalign\fR. -.Ip "\fB\-mrelax\fR" 4 -.IX Item "-mrelax" -Shorten some address references at link time, when possible; uses the -linker option \fB\-relax\fR. -.Ip "\fB\-mbigtable\fR" 4 -.IX Item "-mbigtable" -Use 32\-bit offsets in \f(CW\*(C`switch\*(C'\fR tables. The default is to use -16\-bit offsets. -.Ip "\fB\-mfmovd\fR" 4 -.IX Item "-mfmovd" -Enable the use of the instruction \f(CW\*(C`fmovd\*(C'\fR. -.Ip "\fB\-mhitachi\fR" 4 -.IX Item "-mhitachi" -Comply with the calling conventions defined by Hitachi. -.Ip "\fB\-mnomacsave\fR" 4 -.IX Item "-mnomacsave" -Mark the \f(CW\*(C`MAC\*(C'\fR register as call-clobbered, even if -\&\fB\-mhitachi\fR is given. -.Ip "\fB\-mieee\fR" 4 -.IX Item "-mieee" -Increase IEEE-compliance of floating-point code. -.Ip "\fB\-misize\fR" 4 -.IX Item "-misize" -Dump instruction size and location in the assembly code. -.Ip "\fB\-mpadstruct\fR" 4 -.IX Item "-mpadstruct" -This option is deprecated. It pads structures to multiple of 4 bytes, -which is incompatible with the \s-1SH\s0 \s-1ABI\s0. -.Ip "\fB\-mspace\fR" 4 -.IX Item "-mspace" -Optimize for space instead of speed. Implied by \fB\-Os\fR. -.Ip "\fB\-mprefergot\fR" 4 -.IX Item "-mprefergot" -When generating position-independent code, emit function calls using -the Global Offset Table instead of the Procedure Linkage Table. -.Ip "\fB\-musermode\fR" 4 -.IX Item "-musermode" -Generate a library function call to invalidate instruction cache -entries, after fixing up a trampoline. This library function call -doesn't assume it can write to the whole memory address space. This -is the default when the target is \f(CW\*(C`sh\-*\-linux*\*(C'\fR. -.PP -.I "Options for System V" -.IX Subsection "Options for System V" -.PP -These additional options are available on System V Release 4 for -compatibility with other compilers on those systems: -.Ip "\fB\-G\fR" 4 -.IX Item "-G" -Create a shared object. -It is recommended that \fB\-symbolic\fR or \fB\-shared\fR be used instead. -.Ip "\fB\-Qy\fR" 4 -.IX Item "-Qy" -Identify the versions of each tool used by the compiler, in a -\&\f(CW\*(C`.ident\*(C'\fR assembler directive in the output. -.Ip "\fB\-Qn\fR" 4 -.IX Item "-Qn" -Refrain from adding \f(CW\*(C`.ident\*(C'\fR directives to the output file (this is -the default). -.Ip "\fB\-YP,\fR\fIdirs\fR" 4 -.IX Item "-YP,dirs" -Search the directories \fIdirs\fR, and no others, for libraries -specified with \fB\-l\fR. -.Ip "\fB\-Ym,\fR\fIdir\fR" 4 -.IX Item "-Ym,dir" -Look in the directory \fIdir\fR to find the M4 preprocessor. -The assembler uses this option. -.PP -.I "TMS320C3x/C4x Options" -.IX Subsection "TMS320C3x/C4x Options" -.PP -These \fB\-m\fR options are defined for TMS320C3x/C4x implementations: -.Ip "\fB\-mcpu=\fR\fIcpu_type\fR" 4 -.IX Item "-mcpu=cpu_type" -Set the instruction set, register set, and instruction scheduling -parameters for machine type \fIcpu_type\fR. Supported values for -\&\fIcpu_type\fR are \fBc30\fR, \fBc31\fR, \fBc32\fR, \fBc40\fR, and -\&\fBc44\fR. The default is \fBc40\fR to generate code for the -\&\s-1TMS320C40\s0. -.Ip "\fB\-mbig-memory\fR" 4 -.IX Item "-mbig-memory" -.PD 0 -.Ip "\fB\-mbig\fR" 4 -.IX Item "-mbig" -.Ip "\fB\-msmall-memory\fR" 4 -.IX Item "-msmall-memory" -.Ip "\fB\-msmall\fR" 4 -.IX Item "-msmall" -.PD -Generates code for the big or small memory model. The small memory -model assumed that all data fits into one 64K word page. At run-time -the data page (\s-1DP\s0) register must be set to point to the 64K page -containing the .bss and .data program sections. The big memory model is -the default and requires reloading of the \s-1DP\s0 register for every direct -memory access. -.Ip "\fB\-mbk\fR" 4 -.IX Item "-mbk" -.PD 0 -.Ip "\fB\-mno-bk\fR" 4 -.IX Item "-mno-bk" -.PD -Allow (disallow) allocation of general integer operands into the block -count register \s-1BK\s0. -.Ip "\fB\-mdb\fR" 4 -.IX Item "-mdb" -.PD 0 -.Ip "\fB\-mno-db\fR" 4 -.IX Item "-mno-db" -.PD -Enable (disable) generation of code using decrement and branch, -\&\fIDBcond\fR\|(D), instructions. This is enabled by default for the C4x. To be -on the safe side, this is disabled for the C3x, since the maximum -iteration count on the C3x is 2^{23 + 1} (but who iterates loops more than -2^{23} times on the C3x?). Note that \s-1GCC\s0 will try to reverse a loop so -that it can utilise the decrement and branch instruction, but will give -up if there is more than one memory reference in the loop. Thus a loop -where the loop counter is decremented can generate slightly more -efficient code, in cases where the \s-1RPTB\s0 instruction cannot be utilised. -.Ip "\fB\-mdp-isr-reload\fR" 4 -.IX Item "-mdp-isr-reload" -.PD 0 -.Ip "\fB\-mparanoid\fR" 4 -.IX Item "-mparanoid" -.PD -Force the \s-1DP\s0 register to be saved on entry to an interrupt service -routine (\s-1ISR\s0), reloaded to point to the data section, and restored on -exit from the \s-1ISR\s0. This should not be required unless someone has -violated the small memory model by modifying the \s-1DP\s0 register, say within -an object library. -.Ip "\fB\-mmpyi\fR" 4 -.IX Item "-mmpyi" -.PD 0 -.Ip "\fB\-mno-mpyi\fR" 4 -.IX Item "-mno-mpyi" -.PD -For the C3x use the 24\-bit \s-1MPYI\s0 instruction for integer multiplies -instead of a library call to guarantee 32\-bit results. Note that if one -of the operands is a constant, then the multiplication will be performed -using shifts and adds. If the \fB\-mmpyi\fR option is not specified for the C3x, -then squaring operations are performed inline instead of a library call. -.Ip "\fB\-mfast-fix\fR" 4 -.IX Item "-mfast-fix" -.PD 0 -.Ip "\fB\-mno-fast-fix\fR" 4 -.IX Item "-mno-fast-fix" -.PD -The C3x/C4x \s-1FIX\s0 instruction to convert a floating point value to an -integer value chooses the nearest integer less than or equal to the -floating point value rather than to the nearest integer. Thus if the -floating point number is negative, the result will be incorrectly -truncated an additional code is necessary to detect and correct this -case. This option can be used to disable generation of the additional -code required to correct the result. -.Ip "\fB\-mrptb\fR" 4 -.IX Item "-mrptb" -.PD 0 -.Ip "\fB\-mno-rptb\fR" 4 -.IX Item "-mno-rptb" -.PD -Enable (disable) generation of repeat block sequences using the \s-1RPTB\s0 -instruction for zero overhead looping. The \s-1RPTB\s0 construct is only used -for innermost loops that do not call functions or jump across the loop -boundaries. There is no advantage having nested \s-1RPTB\s0 loops due to the -overhead required to save and restore the \s-1RC\s0, \s-1RS\s0, and \s-1RE\s0 registers. -This is enabled by default with \fB\-O2\fR. -.Ip "\fB\-mrpts=\fR\fIcount\fR" 4 -.IX Item "-mrpts=count" -.PD 0 -.Ip "\fB\-mno-rpts\fR" 4 -.IX Item "-mno-rpts" -.PD -Enable (disable) the use of the single instruction repeat instruction -\&\s-1RPTS\s0. If a repeat block contains a single instruction, and the loop -count can be guaranteed to be less than the value \fIcount\fR, \s-1GCC\s0 will -emit a \s-1RPTS\s0 instruction instead of a \s-1RPTB\s0. If no value is specified, -then a \s-1RPTS\s0 will be emitted even if the loop count cannot be determined -at compile time. Note that the repeated instruction following \s-1RPTS\s0 does -not have to be reloaded from memory each iteration, thus freeing up the -\&\s-1CPU\s0 buses for operands. However, since interrupts are blocked by this -instruction, it is disabled by default. -.Ip "\fB\-mloop-unsigned\fR" 4 -.IX Item "-mloop-unsigned" -.PD 0 -.Ip "\fB\-mno-loop-unsigned\fR" 4 -.IX Item "-mno-loop-unsigned" -.PD -The maximum iteration count when using \s-1RPTS\s0 and \s-1RPTB\s0 (and \s-1DB\s0 on the C40) -is 2^{31 + 1} since these instructions test if the iteration count is -negative to terminate the loop. If the iteration count is unsigned -there is a possibility than the 2^{31 + 1} maximum iteration count may be -exceeded. This switch allows an unsigned iteration count. -.Ip "\fB\-mti\fR" 4 -.IX Item "-mti" -Try to emit an assembler syntax that the \s-1TI\s0 assembler (asm30) is happy -with. This also enforces compatibility with the \s-1API\s0 employed by the \s-1TI\s0 -C3x C compiler. For example, long doubles are passed as structures -rather than in floating point registers. -.Ip "\fB\-mregparm\fR" 4 -.IX Item "-mregparm" -.PD 0 -.Ip "\fB\-mmemparm\fR" 4 -.IX Item "-mmemparm" -.PD -Generate code that uses registers (stack) for passing arguments to functions. -By default, arguments are passed in registers where possible rather -than by pushing arguments on to the stack. -.Ip "\fB\-mparallel-insns\fR" 4 -.IX Item "-mparallel-insns" -.PD 0 -.Ip "\fB\-mno-parallel-insns\fR" 4 -.IX Item "-mno-parallel-insns" -.PD -Allow the generation of parallel instructions. This is enabled by -default with \fB\-O2\fR. -.Ip "\fB\-mparallel-mpy\fR" 4 -.IX Item "-mparallel-mpy" -.PD 0 -.Ip "\fB\-mno-parallel-mpy\fR" 4 -.IX Item "-mno-parallel-mpy" -.PD -Allow the generation of MPY||ADD and MPY||SUB parallel instructions, -provided \fB\-mparallel-insns\fR is also specified. These instructions have -tight register constraints which can pessimize the code generation -of large functions. -.PP -.I "V850 Options" -.IX Subsection "V850 Options" -.PP -These \fB\-m\fR options are defined for V850 implementations: -.Ip "\fB\-mlong-calls\fR" 4 -.IX Item "-mlong-calls" -.PD 0 -.Ip "\fB\-mno-long-calls\fR" 4 -.IX Item "-mno-long-calls" -.PD -Treat all calls as being far away (near). If calls are assumed to be -far away, the compiler will always load the functions address up into a -register, and call indirect through the pointer. -.Ip "\fB\-mno-ep\fR" 4 -.IX Item "-mno-ep" -.PD 0 -.Ip "\fB\-mep\fR" 4 -.IX Item "-mep" -.PD -Do not optimize (do optimize) basic blocks that use the same index -pointer 4 or more times to copy pointer into the \f(CW\*(C`ep\*(C'\fR register, and -use the shorter \f(CW\*(C`sld\*(C'\fR and \f(CW\*(C`sst\*(C'\fR instructions. The \fB\-mep\fR -option is on by default if you optimize. -.Ip "\fB\-mno-prolog-function\fR" 4 -.IX Item "-mno-prolog-function" -.PD 0 -.Ip "\fB\-mprolog-function\fR" 4 -.IX Item "-mprolog-function" -.PD -Do not use (do use) external functions to save and restore registers at -the prolog and epilog of a function. The external functions are slower, -but use less code space if more than one function saves the same number -of registers. The \fB\-mprolog-function\fR option is on by default if -you optimize. -.Ip "\fB\-mspace\fR" 4 -.IX Item "-mspace" -Try to make the code as small as possible. At present, this just turns -on the \fB\-mep\fR and \fB\-mprolog-function\fR options. -.Ip "\fB\-mtda=\fR\fIn\fR" 4 -.IX Item "-mtda=n" -Put static or global variables whose size is \fIn\fR bytes or less into -the tiny data area that register \f(CW\*(C`ep\*(C'\fR points to. The tiny data -area can hold up to 256 bytes in total (128 bytes for byte references). -.Ip "\fB\-msda=\fR\fIn\fR" 4 -.IX Item "-msda=n" -Put static or global variables whose size is \fIn\fR bytes or less into -the small data area that register \f(CW\*(C`gp\*(C'\fR points to. The small data -area can hold up to 64 kilobytes. -.Ip "\fB\-mzda=\fR\fIn\fR" 4 -.IX Item "-mzda=n" -Put static or global variables whose size is \fIn\fR bytes or less into -the first 32 kilobytes of memory. -.Ip "\fB\-mv850\fR" 4 -.IX Item "-mv850" -Specify that the target processor is the V850. -.Ip "\fB\-mbig-switch\fR" 4 -.IX Item "-mbig-switch" -Generate code suitable for big switch tables. Use this option only if -the assembler/linker complain about out of range branches within a switch -table. -.PP -.I "\s-1ARC\s0 Options" -.IX Subsection "ARC Options" -.PP -These options are defined for \s-1ARC\s0 implementations: -.Ip "\fB\-EL\fR" 4 -.IX Item "-EL" -Compile code for little endian mode. This is the default. -.Ip "\fB\-EB\fR" 4 -.IX Item "-EB" -Compile code for big endian mode. -.Ip "\fB\-mmangle-cpu\fR" 4 -.IX Item "-mmangle-cpu" -Prepend the name of the cpu to all public symbol names. -In multiple-processor systems, there are many \s-1ARC\s0 variants with different -instruction and register set characteristics. This flag prevents code -compiled for one cpu to be linked with code compiled for another. -No facility exists for handling variants that are ``almost identical''. -This is an all or nothing option. -.Ip "\fB\-mcpu=\fR\fIcpu\fR" 4 -.IX Item "-mcpu=cpu" -Compile code for \s-1ARC\s0 variant \fIcpu\fR. -Which variants are supported depend on the configuration. -All variants support \fB\-mcpu=base\fR, this is the default. -.Ip "\fB\-mtext=\fR\fItext-section\fR" 4 -.IX Item "-mtext=text-section" -.PD 0 -.Ip "\fB\-mdata=\fR\fIdata-section\fR" 4 -.IX Item "-mdata=data-section" -.Ip "\fB\-mrodata=\fR\fIreadonly-data-section\fR" 4 -.IX Item "-mrodata=readonly-data-section" -.PD -Put functions, data, and readonly data in \fItext-section\fR, -\&\fIdata-section\fR, and \fIreadonly-data-section\fR respectively -by default. This can be overridden with the \f(CW\*(C`section\*(C'\fR attribute. -.PP -.I "\s-1NS32K\s0 Options" -.IX Subsection "NS32K Options" -.PP -These are the \fB\-m\fR options defined for the 32000 series. The default -values for these options depends on which style of 32000 was selected when -the compiler was configured; the defaults for the most common choices are -given below. -.Ip "\fB\-m32032\fR" 4 -.IX Item "-m32032" -.PD 0 -.Ip "\fB\-m32032\fR" 4 -.IX Item "-m32032" -.PD -Generate output for a 32032. This is the default -when the compiler is configured for 32032 and 32016 based systems. -.Ip "\fB\-m32332\fR" 4 -.IX Item "-m32332" -.PD 0 -.Ip "\fB\-m32332\fR" 4 -.IX Item "-m32332" -.PD -Generate output for a 32332. This is the default -when the compiler is configured for 32332\-based systems. -.Ip "\fB\-m32532\fR" 4 -.IX Item "-m32532" -.PD 0 -.Ip "\fB\-m32532\fR" 4 -.IX Item "-m32532" -.PD -Generate output for a 32532. This is the default -when the compiler is configured for 32532\-based systems. -.Ip "\fB\-m32081\fR" 4 -.IX Item "-m32081" -Generate output containing 32081 instructions for floating point. -This is the default for all systems. -.Ip "\fB\-m32381\fR" 4 -.IX Item "-m32381" -Generate output containing 32381 instructions for floating point. This -also implies \fB\-m32081\fR. The 32381 is only compatible with the 32332 -and 32532 cpus. This is the default for the pc532\-netbsd configuration. -.Ip "\fB\-mmulti-add\fR" 4 -.IX Item "-mmulti-add" -Try and generate multiply-add floating point instructions \f(CW\*(C`polyF\*(C'\fR -and \f(CW\*(C`dotF\*(C'\fR. This option is only available if the \fB\-m32381\fR -option is in effect. Using these instructions requires changes to -register allocation which generally has a negative impact on -performance. This option should only be enabled when compiling code -particularly likely to make heavy use of multiply-add instructions. -.Ip "\fB\-mnomulti-add\fR" 4 -.IX Item "-mnomulti-add" -Do not try and generate multiply-add floating point instructions -\&\f(CW\*(C`polyF\*(C'\fR and \f(CW\*(C`dotF\*(C'\fR. This is the default on all platforms. -.Ip "\fB\-msoft-float\fR" 4 -.IX Item "-msoft-float" -Generate output containing library calls for floating point. -\&\fBWarning:\fR the requisite libraries may not be available. -.Ip "\fB\-mnobitfield\fR" 4 -.IX Item "-mnobitfield" -Do not use the bit-field instructions. On some machines it is faster to -use shifting and masking operations. This is the default for the pc532. -.Ip "\fB\-mbitfield\fR" 4 -.IX Item "-mbitfield" -Do use the bit-field instructions. This is the default for all platforms -except the pc532. -.Ip "\fB\-mrtd\fR" 4 -.IX Item "-mrtd" -Use a different function-calling convention, in which functions -that take a fixed number of arguments return pop their -arguments on return with the \f(CW\*(C`ret\*(C'\fR instruction. -.Sp -This calling convention is incompatible with the one normally -used on Unix, so you cannot use it if you need to call libraries -compiled with the Unix compiler. -.Sp -Also, you must provide function prototypes for all functions that -take variable numbers of arguments (including \f(CW\*(C`printf\*(C'\fR); -otherwise incorrect code will be generated for calls to those -functions. -.Sp -In addition, seriously incorrect code will result if you call a -function with too many arguments. (Normally, extra arguments are -harmlessly ignored.) -.Sp -This option takes its name from the 680x0 \f(CW\*(C`rtd\*(C'\fR instruction. -.Ip "\fB\-mregparam\fR" 4 -.IX Item "-mregparam" -Use a different function-calling convention where the first two arguments -are passed in registers. -.Sp -This calling convention is incompatible with the one normally -used on Unix, so you cannot use it if you need to call libraries -compiled with the Unix compiler. -.Ip "\fB\-mnoregparam\fR" 4 -.IX Item "-mnoregparam" -Do not pass any arguments in registers. This is the default for all -targets. -.Ip "\fB\-msb\fR" 4 -.IX Item "-msb" -It is \s-1OK\s0 to use the sb as an index register which is always loaded with -zero. This is the default for the pc532\-netbsd target. -.Ip "\fB\-mnosb\fR" 4 -.IX Item "-mnosb" -The sb register is not available for use or has not been initialized to -zero by the run time system. This is the default for all targets except -the pc532\-netbsd. It is also implied whenever \fB\-mhimem\fR or -\&\fB\-fpic\fR is set. -.Ip "\fB\-mhimem\fR" 4 -.IX Item "-mhimem" -Many ns32000 series addressing modes use displacements of up to 512MB. -If an address is above 512MB then displacements from zero can not be used. -This option causes code to be generated which can be loaded above 512MB. -This may be useful for operating systems or \s-1ROM\s0 code. -.Ip "\fB\-mnohimem\fR" 4 -.IX Item "-mnohimem" -Assume code will be loaded in the first 512MB of virtual address space. -This is the default for all platforms. -.PP -.I "\s-1AVR\s0 Options" -.IX Subsection "AVR Options" -.PP -These options are defined for \s-1AVR\s0 implementations: -.Ip "\fB\-mmcu=\fR\fImcu\fR" 4 -.IX Item "-mmcu=mcu" -Specify \s-1ATMEL\s0 \s-1AVR\s0 instruction set or \s-1MCU\s0 type. -.Sp -Instruction set avr1 is for the minimal \s-1AVR\s0 core, not supported by the C -compiler, only for assembler programs (\s-1MCU\s0 types: at90s1200, attiny10, -attiny11, attiny12, attiny15, attiny28). -.Sp -Instruction set avr2 (default) is for the classic \s-1AVR\s0 core with up to -8K program memory space (\s-1MCU\s0 types: at90s2313, at90s2323, attiny22, -at90s2333, at90s2343, at90s4414, at90s4433, at90s4434, at90s8515, -at90c8534, at90s8535). -.Sp -Instruction set avr3 is for the classic \s-1AVR\s0 core with up to 128K program -memory space (\s-1MCU\s0 types: atmega103, atmega603, at43usb320, at76c711). -.Sp -Instruction set avr4 is for the enhanced \s-1AVR\s0 core with up to 8K program -memory space (\s-1MCU\s0 types: atmega8, atmega83, atmega85). -.Sp -Instruction set avr5 is for the enhanced \s-1AVR\s0 core with up to 128K program -memory space (\s-1MCU\s0 types: atmega16, atmega161, atmega163, atmega32, atmega323, -atmega64, atmega128, at43usb355, at94k). -.Ip "\fB\-msize\fR" 4 -.IX Item "-msize" -Output instruction sizes to the asm file. -.Ip "\fB\-minit-stack=\fR\fIN\fR" 4 -.IX Item "-minit-stack=N" -Specify the initial stack address, which may be a symbol or numeric value, -\&\fB_\|_stack\fR is the default. -.Ip "\fB\-mno-interrupts\fR" 4 -.IX Item "-mno-interrupts" -Generated code is not compatible with hardware interrupts. -Code size will be smaller. -.Ip "\fB\-mcall-prologues\fR" 4 -.IX Item "-mcall-prologues" -Functions prologues/epilogues expanded as call to appropriate -subroutines. Code size will be smaller. -.Ip "\fB\-mno-tablejump\fR" 4 -.IX Item "-mno-tablejump" -Do not generate tablejump insns which sometimes increase code size. -.Ip "\fB\-mtiny-stack\fR" 4 -.IX Item "-mtiny-stack" -Change only the low 8 bits of the stack pointer. -.PP -.I "MCore Options" -.IX Subsection "MCore Options" -.PP -These are the \fB\-m\fR options defined for the Motorola M*Core -processors. -.Ip "\fB\-mhardlit\fR" 4 -.IX Item "-mhardlit" -.PD 0 -.Ip "\fB\-mhardlit\fR" 4 -.IX Item "-mhardlit" -.Ip "\fB\-mno-hardlit\fR" 4 -.IX Item "-mno-hardlit" -.PD -Inline constants into the code stream if it can be done in two -instructions or less. -.Ip "\fB\-mdiv\fR" 4 -.IX Item "-mdiv" -.PD 0 -.Ip "\fB\-mdiv\fR" 4 -.IX Item "-mdiv" -.Ip "\fB\-mno-div\fR" 4 -.IX Item "-mno-div" -.PD -Use the divide instruction. (Enabled by default). -.Ip "\fB\-mrelax-immediate\fR" 4 -.IX Item "-mrelax-immediate" -.PD 0 -.Ip "\fB\-mrelax-immediate\fR" 4 -.IX Item "-mrelax-immediate" -.Ip "\fB\-mno-relax-immediate\fR" 4 -.IX Item "-mno-relax-immediate" -.PD -Allow arbitrary sized immediates in bit operations. -.Ip "\fB\-mwide-bitfields\fR" 4 -.IX Item "-mwide-bitfields" -.PD 0 -.Ip "\fB\-mwide-bitfields\fR" 4 -.IX Item "-mwide-bitfields" -.Ip "\fB\-mno-wide-bitfields\fR" 4 -.IX Item "-mno-wide-bitfields" -.PD -Always treat bit-fields as int-sized. -.Ip "\fB\-m4byte-functions\fR" 4 -.IX Item "-m4byte-functions" -.PD 0 -.Ip "\fB\-m4byte-functions\fR" 4 -.IX Item "-m4byte-functions" -.Ip "\fB\-mno-4byte-functions\fR" 4 -.IX Item "-mno-4byte-functions" -.PD -Force all functions to be aligned to a four byte boundary. -.Ip "\fB\-mcallgraph-data\fR" 4 -.IX Item "-mcallgraph-data" -.PD 0 -.Ip "\fB\-mcallgraph-data\fR" 4 -.IX Item "-mcallgraph-data" -.Ip "\fB\-mno-callgraph-data\fR" 4 -.IX Item "-mno-callgraph-data" -.PD -Emit callgraph information. -.Ip "\fB\-mslow-bytes\fR" 4 -.IX Item "-mslow-bytes" -.PD 0 -.Ip "\fB\-mslow-bytes\fR" 4 -.IX Item "-mslow-bytes" -.Ip "\fB\-mno-slow-bytes\fR" 4 -.IX Item "-mno-slow-bytes" -.PD -Prefer word access when reading byte quantities. -.Ip "\fB\-mlittle-endian\fR" 4 -.IX Item "-mlittle-endian" -.PD 0 -.Ip "\fB\-mlittle-endian\fR" 4 -.IX Item "-mlittle-endian" -.Ip "\fB\-mbig-endian\fR" 4 -.IX Item "-mbig-endian" -.PD -Generate code for a little endian target. -.Ip "\fB\-m210\fR" 4 -.IX Item "-m210" -.PD 0 -.Ip "\fB\-m210\fR" 4 -.IX Item "-m210" -.Ip "\fB\-m340\fR" 4 -.IX Item "-m340" -.PD -Generate code for the 210 processor. -.PP -.I "\s-1IA-64\s0 Options" -.IX Subsection "IA-64 Options" -.PP -These are the \fB\-m\fR options defined for the Intel \s-1IA-64\s0 architecture. -.Ip "\fB\-mbig-endian\fR" 4 -.IX Item "-mbig-endian" -Generate code for a big endian target. This is the default for \s-1HPUX\s0. -.Ip "\fB\-mlittle-endian\fR" 4 -.IX Item "-mlittle-endian" -Generate code for a little endian target. This is the default for \s-1AIX5\s0 -and Linux. -.Ip "\fB\-mgnu-as\fR" 4 -.IX Item "-mgnu-as" -.PD 0 -.Ip "\fB\-mno-gnu-as\fR" 4 -.IX Item "-mno-gnu-as" -.PD -Generate (or don't) code for the \s-1GNU\s0 assembler. This is the default. -.Ip "\fB\-mgnu-ld\fR" 4 -.IX Item "-mgnu-ld" -.PD 0 -.Ip "\fB\-mno-gnu-ld\fR" 4 -.IX Item "-mno-gnu-ld" -.PD -Generate (or don't) code for the \s-1GNU\s0 linker. This is the default. -.Ip "\fB\-mno-pic\fR" 4 -.IX Item "-mno-pic" -Generate code that does not use a global pointer register. The result -is not position independent code, and violates the \s-1IA-64\s0 \s-1ABI\s0. -.Ip "\fB\-mvolatile-asm-stop\fR" 4 -.IX Item "-mvolatile-asm-stop" -.PD 0 -.Ip "\fB\-mno-volatile-asm-stop\fR" 4 -.IX Item "-mno-volatile-asm-stop" -.PD -Generate (or don't) a stop bit immediately before and after volatile asm -statements. -.Ip "\fB\-mb-step\fR" 4 -.IX Item "-mb-step" -Generate code that works around Itanium B step errata. -.Ip "\fB\-mregister-names\fR" 4 -.IX Item "-mregister-names" -.PD 0 -.Ip "\fB\-mno-register-names\fR" 4 -.IX Item "-mno-register-names" -.PD -Generate (or don't) \fBin\fR, \fBloc\fR, and \fBout\fR register names for -the stacked registers. This may make assembler output more readable. -.Ip "\fB\-mno-sdata\fR" 4 -.IX Item "-mno-sdata" -.PD 0 -.Ip "\fB\-msdata\fR" 4 -.IX Item "-msdata" -.PD -Disable (or enable) optimizations that use the small data section. This may -be useful for working around optimizer bugs. -.Ip "\fB\-mconstant-gp\fR" 4 -.IX Item "-mconstant-gp" -Generate code that uses a single constant global pointer value. This is -useful when compiling kernel code. -.Ip "\fB\-mauto-pic\fR" 4 -.IX Item "-mauto-pic" -Generate code that is self-relocatable. This implies \fB\-mconstant-gp\fR. -This is useful when compiling firmware code. -.Ip "\fB\-minline-divide-min-latency\fR" 4 -.IX Item "-minline-divide-min-latency" -Generate code for inline divides using the minimum latency algorithm. -.Ip "\fB\-minline-divide-max-throughput\fR" 4 -.IX Item "-minline-divide-max-throughput" -Generate code for inline divides using the maximum throughput algorithm. -.Ip "\fB\-mno-dwarf2\-asm\fR" 4 -.IX Item "-mno-dwarf2-asm" -.PD 0 -.Ip "\fB\-mdwarf2\-asm\fR" 4 -.IX Item "-mdwarf2-asm" -.PD -Don't (or do) generate assembler code for the \s-1DWARF2\s0 line number debugging -info. This may be useful when not using the \s-1GNU\s0 assembler. -.Ip "\fB\-mfixed-range=\fR\fIregister-range\fR" 4 -.IX Item "-mfixed-range=register-range" -Generate code treating the given register range as fixed registers. -A fixed register is one that the register allocator can not use. This is -useful when compiling kernel code. A register range is specified as -two registers separated by a dash. Multiple register ranges can be -specified separated by a comma. -.PP -.I "D30V Options" -.IX Subsection "D30V Options" -.PP -These \fB\-m\fR options are defined for D30V implementations: -.Ip "\fB\-mextmem\fR" 4 -.IX Item "-mextmem" -Link the \fB.text\fR, \fB.data\fR, \fB.bss\fR, \fB.strings\fR, -\&\fB.rodata\fR, \fB.rodata1\fR, \fB.data1\fR sections into external -memory, which starts at location \f(CW\*(C`0x80000000\*(C'\fR. -.Ip "\fB\-mextmemory\fR" 4 -.IX Item "-mextmemory" -Same as the \fB\-mextmem\fR switch. -.Ip "\fB\-monchip\fR" 4 -.IX Item "-monchip" -Link the \fB.text\fR section into onchip text memory, which starts at -location \f(CW\*(C`0x0\*(C'\fR. Also link \fB.data\fR, \fB.bss\fR, -\&\fB.strings\fR, \fB.rodata\fR, \fB.rodata1\fR, \fB.data1\fR sections -into onchip data memory, which starts at location \f(CW\*(C`0x20000000\*(C'\fR. -.Ip "\fB\-mno-asm-optimize\fR" 4 -.IX Item "-mno-asm-optimize" -.PD 0 -.Ip "\fB\-masm-optimize\fR" 4 -.IX Item "-masm-optimize" -.PD -Disable (enable) passing \fB\-O\fR to the assembler when optimizing. -The assembler uses the \fB\-O\fR option to automatically parallelize -adjacent short instructions where possible. -.Ip "\fB\-mbranch-cost=\fR\fIn\fR" 4 -.IX Item "-mbranch-cost=n" -Increase the internal costs of branches to \fIn\fR. Higher costs means -that the compiler will issue more instructions to avoid doing a branch. -The default is 2. -.Ip "\fB\-mcond-exec=\fR\fIn\fR" 4 -.IX Item "-mcond-exec=n" -Specify the maximum number of conditionally executed instructions that -replace a branch. The default is 4. -.PP -.I "S/390 and zSeries Options" -.IX Subsection "S/390 and zSeries Options" -.PP -These are the \fB\-m\fR options defined for the S/390 and zSeries architecture. -.Ip "\fB\-mhard-float\fR" 4 -.IX Item "-mhard-float" -.PD 0 -.Ip "\fB\-msoft-float\fR" 4 -.IX Item "-msoft-float" -.PD -Use (do not use) the hardware floating-point instructions and registers -for floating-point operations. When \fB\-msoft-float\fR is specified, -functions in \fIlibgcc.a\fR will be used to perform floating-point -operations. When \fB\-mhard-float\fR is specified, the compiler -generates \s-1IEEE\s0 floating-point instructions. This is the default. -.Ip "\fB\-mbackchain\fR" 4 -.IX Item "-mbackchain" -.PD 0 -.Ip "\fB\-mno-backchain\fR" 4 -.IX Item "-mno-backchain" -.PD -Generate (or do not generate) code which maintains an explicit -backchain within the stack frame that points to the caller's frame. -This is currently needed to allow debugging. The default is to -generate the backchain. -.Ip "\fB\-msmall-exec\fR" 4 -.IX Item "-msmall-exec" -.PD 0 -.Ip "\fB\-mno-small-exec\fR" 4 -.IX Item "-mno-small-exec" -.PD -Generate (or do not generate) code using the \f(CW\*(C`bras\*(C'\fR instruction -to do subroutine calls. -This only works reliably if the total executable size does not -exceed 64k. The default is to use the \f(CW\*(C`basr\*(C'\fR instruction instead, -which does not have this limitation. -.Ip "\fB\-m64\fR" 4 -.IX Item "-m64" -.PD 0 -.Ip "\fB\-m31\fR" 4 -.IX Item "-m31" -.PD -When \fB\-m31\fR is specified, generate code compliant to the -Linux for S/390 \s-1ABI\s0. When \fB\-m64\fR is specified, generate -code compliant to the Linux for zSeries \s-1ABI\s0. This allows \s-1GCC\s0 in -particular to generate 64\-bit instructions. For the \fBs390\fR -targets, the default is \fB\-m31\fR, while the \fBs390x\fR -targets default to \fB\-m64\fR. -.Ip "\fB\-mmvcle\fR" 4 -.IX Item "-mmvcle" -.PD 0 -.Ip "\fB\-mno-mvcle\fR" 4 -.IX Item "-mno-mvcle" -.PD -Generate (or do not generate) code using the \f(CW\*(C`mvcle\*(C'\fR instruction -to perform block moves. When \fB\-mno-mvcle\fR is specifed, -use a \f(CW\*(C`mvc\*(C'\fR loop instead. This is the default. -.Ip "\fB\-mdebug\fR" 4 -.IX Item "-mdebug" -.PD 0 -.Ip "\fB\-mno-debug\fR" 4 -.IX Item "-mno-debug" -.PD -Print (or do not print) additional debug information when compiling. -The default is to not print debug information. -.PP -.I "\s-1CRIS\s0 Options" -.IX Subsection "CRIS Options" -.PP -These options are defined specifically for the \s-1CRIS\s0 ports. -.Ip "\fB\-march=\fR\fIarchitecture-type\fR" 4 -.IX Item "-march=architecture-type" -.PD 0 -.Ip "\fB\-mcpu=\fR\fIarchitecture-type\fR" 4 -.IX Item "-mcpu=architecture-type" -.PD -Generate code for the specified architecture. The choices for -\&\fIarchitecture-type\fR are \fBv3\fR, \fBv8\fR and \fBv10\fR for -respectively \s-1ETRAX\s0\ 4, \s-1ETRAX\s0\ 100, and \s-1ETRAX\s0\ 100\ \s-1LX\s0. -Default is \fBv0\fR except for cris-axis-linux-gnu, where the default is -\&\fBv10\fR. -.Ip "\fB\-mtune=\fR\fIarchitecture-type\fR" 4 -.IX Item "-mtune=architecture-type" -Tune to \fIarchitecture-type\fR everything applicable about the generated -code, except for the \s-1ABI\s0 and the set of available instructions. The -choices for \fIarchitecture-type\fR are the same as for -\&\fB\-march=\fR\fIarchitecture-type\fR. -.Ip "\fB\-mmax-stack-frame=\fR\fIn\fR" 4 -.IX Item "-mmax-stack-frame=n" -Warn when the stack frame of a function exceeds \fIn\fR bytes. -.Ip "\fB\-melinux-stacksize=\fR\fIn\fR" 4 -.IX Item "-melinux-stacksize=n" -Only available with the \fBcris-axis-aout\fR target. Arranges for -indications in the program to the kernel loader that the stack of the -program should be set to \fIn\fR bytes. -.Ip "\fB\-metrax4\fR" 4 -.IX Item "-metrax4" -.PD 0 -.Ip "\fB\-metrax100\fR" 4 -.IX Item "-metrax100" -.PD -The options \fB\-metrax4\fR and \fB\-metrax100\fR are synonyms for -\&\fB\-march=v3\fR and \fB\-march=v8\fR respectively. -.Ip "\fB\-mpdebug\fR" 4 -.IX Item "-mpdebug" -Enable CRIS-specific verbose debug-related information in the assembly -code. This option also has the effect to turn off the \fB#NO_APP\fR -formatted-code indicator to the assembler at the beginning of the -assembly file. -.Ip "\fB\-mcc-init\fR" 4 -.IX Item "-mcc-init" -Do not use condition-code results from previous instruction; always emit -compare and test instructions before use of condition codes. -.Ip "\fB\-mno-side-effects\fR" 4 -.IX Item "-mno-side-effects" -Do not emit instructions with side-effects in addressing modes other than -post-increment. -.Ip "\fB\-mstack-align\fR" 4 -.IX Item "-mstack-align" -.PD 0 -.Ip "\fB\-mno-stack-align\fR" 4 -.IX Item "-mno-stack-align" -.Ip "\fB\-mdata-align\fR" 4 -.IX Item "-mdata-align" -.Ip "\fB\-mno-data-align\fR" 4 -.IX Item "-mno-data-align" -.Ip "\fB\-mconst-align\fR" 4 -.IX Item "-mconst-align" -.Ip "\fB\-mno-const-align\fR" 4 -.IX Item "-mno-const-align" -.PD -These options (no-options) arranges (eliminate arrangements) for the -stack-frame, individual data and constants to be aligned for the maximum -single data access size for the chosen \s-1CPU\s0 model. The default is to -arrange for 32\-bit alignment. \s-1ABI\s0 details such as structure layout are -not affected by these options. -.Ip "\fB\-m32\-bit\fR" 4 -.IX Item "-m32-bit" -.PD 0 -.Ip "\fB\-m16\-bit\fR" 4 -.IX Item "-m16-bit" -.Ip "\fB\-m8\-bit\fR" 4 -.IX Item "-m8-bit" -.PD -Similar to the stack- data- and const-align options above, these options -arrange for stack-frame, writable data and constants to all be 32\-bit, -16\-bit or 8\-bit aligned. The default is 32\-bit alignment. -.Ip "\fB\-mno-prologue-epilogue\fR" 4 -.IX Item "-mno-prologue-epilogue" -.PD 0 -.Ip "\fB\-mprologue-epilogue\fR" 4 -.IX Item "-mprologue-epilogue" -.PD -With \fB\-mno-prologue-epilogue\fR, the normal function prologue and -epilogue that sets up the stack-frame are omitted and no return -instructions or return sequences are generated in the code. Use this -option only together with visual inspection of the compiled code: no -warnings or errors are generated when call-saved registers must be saved, -or storage for local variable needs to be allocated. -.Ip "\fB\-mno-gotplt\fR" 4 -.IX Item "-mno-gotplt" -.PD 0 -.Ip "\fB\-mgotplt\fR" 4 -.IX Item "-mgotplt" -.PD -With \fB\-fpic\fR and \fB\-fPIC\fR, don't generate (do generate) -instruction sequences that load addresses for functions from the \s-1PLT\s0 part -of the \s-1GOT\s0 rather than (traditional on other architectures) calls to the -\&\s-1PLT\s0. The default is \fB\-mgotplt\fR. -.Ip "\fB\-maout\fR" 4 -.IX Item "-maout" -Legacy no-op option only recognized with the cris-axis-aout target. -.Ip "\fB\-melf\fR" 4 -.IX Item "-melf" -Legacy no-op option only recognized with the cris-axis-elf and -cris-axis-linux-gnu targets. -.Ip "\fB\-melinux\fR" 4 -.IX Item "-melinux" -Only recognized with the cris-axis-aout target, where it selects a -GNU/linux-like multilib, include files and instruction set for -\&\fB\-march=v8\fR. -.Ip "\fB\-mlinux\fR" 4 -.IX Item "-mlinux" -Legacy no-op option only recognized with the cris-axis-linux-gnu target. -.Ip "\fB\-sim\fR" 4 -.IX Item "-sim" -This option, recognized for the cris-axis-aout and cris-axis-elf arranges -to link with input-output functions from a simulator library. Code, -initialized data and zero-initialized data are allocated consecutively. -.Ip "\fB\-sim2\fR" 4 -.IX Item "-sim2" -Like \fB\-sim\fR, but pass linker options to locate initialized data at -0x40000000 and zero-initialized data at 0x80000000. -.PP -.I "\s-1MMIX\s0 Options" -.IX Subsection "MMIX Options" -.PP -These options are defined for the \s-1MMIX:\s0 -.Ip "\fB\-mlibfuncs\fR" 4 -.IX Item "-mlibfuncs" -.PD 0 -.Ip "\fB\-mno-libfuncs\fR" 4 -.IX Item "-mno-libfuncs" -.PD -Specify that intrinsic library functions are being compiled, passing all -values in registers, no matter the size. -.Ip "\fB\-mepsilon\fR" 4 -.IX Item "-mepsilon" -.PD 0 -.Ip "\fB\-mno-epsilon\fR" 4 -.IX Item "-mno-epsilon" -.PD -Generate floating-point comparison instructions that compare with respect -to the \f(CW\*(C`rE\*(C'\fR epsilon register. -.Ip "\fB\-mabi=mmixware\fR" 4 -.IX Item "-mabi=mmixware" -.PD 0 -.Ip "\fB\-mabi=gnu\fR" 4 -.IX Item "-mabi=gnu" -.PD -Generate code that passes function parameters and return values that (in -the called function) are seen as registers \f(CW\*(C`$0\*(C'\fR and up, as opposed to -the \s-1GNU\s0 \s-1ABI\s0 which uses global registers \f(CW\*(C`$231\*(C'\fR and up. -.Ip "\fB\-mzero-extend\fR" 4 -.IX Item "-mzero-extend" -.PD 0 -.Ip "\fB\-mno-zero-extend\fR" 4 -.IX Item "-mno-zero-extend" -.PD -When reading data from memory in sizes shorter than 64 bits, use (do not -use) zero-extending load instructions by default, rather than -sign-extending ones. -.Ip "\fB\-mknuthdiv\fR" 4 -.IX Item "-mknuthdiv" -.PD 0 -.Ip "\fB\-mno-knuthdiv\fR" 4 -.IX Item "-mno-knuthdiv" -.PD -Make the result of a division yielding a remainder have the same sign as -the divisor. With the default, \fB\-mno-knuthdiv\fR, the sign of the -remainder follows the sign of the dividend. Both methods are -arithmetically valid, the latter being almost exclusively used. -.Ip "\fB\-mtoplevel-symbols\fR" 4 -.IX Item "-mtoplevel-symbols" -.PD 0 -.Ip "\fB\-mno-toplevel-symbols\fR" 4 -.IX Item "-mno-toplevel-symbols" -.PD -Prepend (do not prepend) a \fB:\fR to all global symbols, so the assembly -code can be used with the \f(CW\*(C`PREFIX\*(C'\fR assembly directive. -.Ip "\fB\-melf\fR" 4 -.IX Item "-melf" -Generate an executable in the \s-1ELF\s0 format, rather than the default -\&\fBmmo\fR format used by the \fBmmix\fR simulator. -.Ip "\fB\-mbranch-predict\fR" 4 -.IX Item "-mbranch-predict" -.PD 0 -.Ip "\fB\-mno-branch-predict\fR" 4 -.IX Item "-mno-branch-predict" -.PD -Use (do not use) the probable-branch instructions, when static branch -prediction indicates a probable branch. -.Ip "\fB\-mbase-addresses\fR" 4 -.IX Item "-mbase-addresses" -.PD 0 -.Ip "\fB\-mno-base-addresses\fR" 4 -.IX Item "-mno-base-addresses" -.PD -Generate (do not generate) code that uses \fIbase addresses\fR. Using a -base address automatically generates a request (handled by the assembler -and the linker) for a constant to be set up in a global register. The -register is used for one or more base address requests within the range 0 -to 255 from the value held in the register. The generally leads to short -and fast code, but the number of different data items that can be -addressed is limited. This means that a program that uses lots of static -data may require \fB\-mno-base-addresses\fR. -.PP -.I "\s-1PDP-11\s0 Options" -.IX Subsection "PDP-11 Options" -.PP -These options are defined for the \s-1PDP-11:\s0 -.Ip "\fB\-mfpu\fR" 4 -.IX Item "-mfpu" -Use hardware \s-1FPP\s0 floating point. This is the default. (\s-1FIS\s0 floating -point on the \s-1PDP-11/40\s0 is not supported.) -.Ip "\fB\-msoft-float\fR" 4 -.IX Item "-msoft-float" -Do not use hardware floating point. -.Ip "\fB\-mac0\fR" 4 -.IX Item "-mac0" -Return floating-point results in ac0 (fr0 in Unix assembler syntax). -.Ip "\fB\-mno-ac0\fR" 4 -.IX Item "-mno-ac0" -Return floating-point results in memory. This is the default. -.Ip "\fB\-m40\fR" 4 -.IX Item "-m40" -Generate code for a \s-1PDP-11/40\s0. -.Ip "\fB\-m45\fR" 4 -.IX Item "-m45" -Generate code for a \s-1PDP-11/45\s0. This is the default. -.Ip "\fB\-m10\fR" 4 -.IX Item "-m10" -Generate code for a \s-1PDP-11/10\s0. -.Ip "\fB\-mbcopy-builtin\fR" 4 -.IX Item "-mbcopy-builtin" -Use inline \f(CW\*(C`movstrhi\*(C'\fR patterns for copying memory. This is the -default. -.Ip "\fB\-mbcopy\fR" 4 -.IX Item "-mbcopy" -Do not use inline \f(CW\*(C`movstrhi\*(C'\fR patterns for copying memory. -.Ip "\fB\-mint16\fR" 4 -.IX Item "-mint16" -.PD 0 -.Ip "\fB\-mno-int32\fR" 4 -.IX Item "-mno-int32" -.PD -Use 16\-bit \f(CW\*(C`int\*(C'\fR. This is the default. -.Ip "\fB\-mint32\fR" 4 -.IX Item "-mint32" -.PD 0 -.Ip "\fB\-mno-int16\fR" 4 -.IX Item "-mno-int16" -.PD -Use 32\-bit \f(CW\*(C`int\*(C'\fR. -.Ip "\fB\-mfloat64\fR" 4 -.IX Item "-mfloat64" -.PD 0 -.Ip "\fB\-mno-float32\fR" 4 -.IX Item "-mno-float32" -.PD -Use 64\-bit \f(CW\*(C`float\*(C'\fR. This is the default. -.Ip "\fB\-mfloat32\fR" 4 -.IX Item "-mfloat32" -.PD 0 -.Ip "\fB\-mno-float64\fR" 4 -.IX Item "-mno-float64" -.PD -Use 32\-bit \f(CW\*(C`float\*(C'\fR. -.Ip "\fB\-mabshi\fR" 4 -.IX Item "-mabshi" -Use \f(CW\*(C`abshi2\*(C'\fR pattern. This is the default. -.Ip "\fB\-mno-abshi\fR" 4 -.IX Item "-mno-abshi" -Do not use \f(CW\*(C`abshi2\*(C'\fR pattern. -.Ip "\fB\-mbranch-expensive\fR" 4 -.IX Item "-mbranch-expensive" -Pretend that branches are expensive. This is for experimenting with -code generation only. -.Ip "\fB\-mbranch-cheap\fR" 4 -.IX Item "-mbranch-cheap" -Do not pretend that branches are expensive. This is the default. -.Ip "\fB\-msplit\fR" 4 -.IX Item "-msplit" -Generate code for a system with split I&D. -.Ip "\fB\-mno-split\fR" 4 -.IX Item "-mno-split" -Generate code for a system without split I&D. This is the default. -.Ip "\fB\-munix-asm\fR" 4 -.IX Item "-munix-asm" -Use Unix assembler syntax. This is the default when configured for -\&\fBpdp11\-*\-bsd\fR. -.Ip "\fB\-mdec-asm\fR" 4 -.IX Item "-mdec-asm" -Use \s-1DEC\s0 assembler syntax. This is the default when configured for any -\&\s-1PDP-11\s0 target other than \fBpdp11\-*\-bsd\fR. -.PP -.I "Xstormy16 Options" -.IX Subsection "Xstormy16 Options" -.PP -These options are defined for Xstormy16: -.Ip "\fB\-msim\fR" 4 -.IX Item "-msim" -Choose startup files and linker script suitable for the simulator. -.PP -.I "Xtensa Options" -.IX Subsection "Xtensa Options" -.PP -The Xtensa architecture is designed to support many different -configurations. The compiler's default options can be set to match a -particular Xtensa configuration by copying a configuration file into the -\&\s-1GCC\s0 sources when building \s-1GCC\s0. The options below may be used to -override the default options. -.Ip "\fB\-mbig-endian\fR" 4 -.IX Item "-mbig-endian" -.PD 0 -.Ip "\fB\-mlittle-endian\fR" 4 -.IX Item "-mlittle-endian" -.PD -Specify big-endian or little-endian byte ordering for the target Xtensa -processor. -.Ip "\fB\-mdensity\fR" 4 -.IX Item "-mdensity" -.PD 0 -.Ip "\fB\-mno-density\fR" 4 -.IX Item "-mno-density" -.PD -Enable or disable use of the optional Xtensa code density instructions. -.Ip "\fB\-mmac16\fR" 4 -.IX Item "-mmac16" -.PD 0 -.Ip "\fB\-mno-mac16\fR" 4 -.IX Item "-mno-mac16" -.PD -Enable or disable use of the Xtensa \s-1MAC16\s0 option. When enabled, \s-1GCC\s0 -will generate \s-1MAC16\s0 instructions from standard C code, with the -limitation that it will use neither the \s-1MR\s0 register file nor any -instruction that operates on the \s-1MR\s0 registers. When this option is -disabled, \s-1GCC\s0 will translate 16\-bit multiply/accumulate operations to a -combination of core instructions and library calls, depending on whether -any other multiplier options are enabled. -.Ip "\fB\-mmul16\fR" 4 -.IX Item "-mmul16" -.PD 0 -.Ip "\fB\-mno-mul16\fR" 4 -.IX Item "-mno-mul16" -.PD -Enable or disable use of the 16\-bit integer multiplier option. When -enabled, the compiler will generate 16\-bit multiply instructions for -multiplications of 16 bits or smaller in standard C code. When this -option is disabled, the compiler will either use 32\-bit multiply or -\&\s-1MAC16\s0 instructions if they are available or generate library calls to -perform the multiply operations using shifts and adds. -.Ip "\fB\-mmul32\fR" 4 -.IX Item "-mmul32" -.PD 0 -.Ip "\fB\-mno-mul32\fR" 4 -.IX Item "-mno-mul32" -.PD -Enable or disable use of the 32\-bit integer multiplier option. When -enabled, the compiler will generate 32\-bit multiply instructions for -multiplications of 32 bits or smaller in standard C code. When this -option is disabled, the compiler will generate library calls to perform -the multiply operations using either shifts and adds or 16\-bit multiply -instructions if they are available. -.Ip "\fB\-mnsa\fR" 4 -.IX Item "-mnsa" -.PD 0 -.Ip "\fB\-mno-nsa\fR" 4 -.IX Item "-mno-nsa" -.PD -Enable or disable use of the optional normalization shift amount -(\f(CW\*(C`NSA\*(C'\fR) instructions to implement the built-in \f(CW\*(C`ffs\*(C'\fR function. -.Ip "\fB\-mminmax\fR" 4 -.IX Item "-mminmax" -.PD 0 -.Ip "\fB\-mno-minmax\fR" 4 -.IX Item "-mno-minmax" -.PD -Enable or disable use of the optional minimum and maximum value -instructions. -.Ip "\fB\-msext\fR" 4 -.IX Item "-msext" -.PD 0 -.Ip "\fB\-mno-sext\fR" 4 -.IX Item "-mno-sext" -.PD -Enable or disable use of the optional sign extend (\f(CW\*(C`SEXT\*(C'\fR) -instruction. -.Ip "\fB\-mbooleans\fR" 4 -.IX Item "-mbooleans" -.PD 0 -.Ip "\fB\-mno-booleans\fR" 4 -.IX Item "-mno-booleans" -.PD -Enable or disable support for the boolean register file used by Xtensa -coprocessors. This is not typically useful by itself but may be -required for other options that make use of the boolean registers (e.g., -the floating-point option). -.Ip "\fB\-mhard-float\fR" 4 -.IX Item "-mhard-float" -.PD 0 -.Ip "\fB\-msoft-float\fR" 4 -.IX Item "-msoft-float" -.PD -Enable or disable use of the floating-point option. When enabled, \s-1GCC\s0 -generates floating-point instructions for 32\-bit \f(CW\*(C`float\*(C'\fR -operations. When this option is disabled, \s-1GCC\s0 generates library calls -to emulate 32\-bit floating-point operations using integer instructions. -Regardless of this option, 64\-bit \f(CW\*(C`double\*(C'\fR operations are always -emulated with calls to library functions. -.Ip "\fB\-mfused-madd\fR" 4 -.IX Item "-mfused-madd" -.PD 0 -.Ip "\fB\-mno-fused-madd\fR" 4 -.IX Item "-mno-fused-madd" -.PD -Enable or disable use of fused multiply/add and multiply/subtract -instructions in the floating-point option. This has no effect if the -floating-point option is not also enabled. Disabling fused multiply/add -and multiply/subtract instructions forces the compiler to use separate -instructions for the multiply and add/subtract operations. This may be -desirable in some cases where strict \s-1IEEE\s0 754\-compliant results are -required: the fused multiply add/subtract instructions do not round the -intermediate result, thereby producing results with \fImore\fR bits of -precision than specified by the \s-1IEEE\s0 standard. Disabling fused multiply -add/subtract instructions also ensures that the program output is not -sensitive to the compiler's ability to combine multiply and add/subtract -operations. -.Ip "\fB\-mserialize-volatile\fR" 4 -.IX Item "-mserialize-volatile" -.PD 0 -.Ip "\fB\-mno-serialize-volatile\fR" 4 -.IX Item "-mno-serialize-volatile" -.PD -When this option is enabled, \s-1GCC\s0 inserts \f(CW\*(C`MEMW\*(C'\fR instructions before -\&\f(CW\*(C`volatile\*(C'\fR memory references to guarantee sequential consistency. -The default is \fB\-mserialize-volatile\fR. Use -\&\fB\-mno-serialize-volatile\fR to omit the \f(CW\*(C`MEMW\*(C'\fR instructions. -.Ip "\fB\-mtext-section-literals\fR" 4 -.IX Item "-mtext-section-literals" -.PD 0 -.Ip "\fB\-mno-text-section-literals\fR" 4 -.IX Item "-mno-text-section-literals" -.PD -Control the treatment of literal pools. The default is -\&\fB\-mno-text-section-literals\fR, which places literals in a separate -section in the output file. This allows the literal pool to be placed -in a data \s-1RAM/ROM\s0, and it also allows the linker to combine literal -pools from separate object files to remove redundant literals and -improve code size. With \fB\-mtext-section-literals\fR, the literals -are interspersed in the text section in order to keep them as close as -possible to their references. This may be necessary for large assembly -files. -.Ip "\fB\-mtarget-align\fR" 4 -.IX Item "-mtarget-align" -.PD 0 -.Ip "\fB\-mno-target-align\fR" 4 -.IX Item "-mno-target-align" -.PD -When this option is enabled, \s-1GCC\s0 instructs the assembler to -automatically align instructions to reduce branch penalties at the -expense of some code density. The assembler attempts to widen density -instructions to align branch targets and the instructions following call -instructions. If there are not enough preceding safe density -instructions to align a target, no widening will be performed. The -default is \fB\-mtarget-align\fR. These options do not affect the -treatment of auto-aligned instructions like \f(CW\*(C`LOOP\*(C'\fR, which the -assembler will always align, either by widening density instructions or -by inserting no-op instructions. -.Ip "\fB\-mlongcalls\fR" 4 -.IX Item "-mlongcalls" -.PD 0 -.Ip "\fB\-mno-longcalls\fR" 4 -.IX Item "-mno-longcalls" -.PD -When this option is enabled, \s-1GCC\s0 instructs the assembler to translate -direct calls to indirect calls unless it can determine that the target -of a direct call is in the range allowed by the call instruction. This -translation typically occurs for calls to functions in other source -files. Specifically, the assembler translates a direct \f(CW\*(C`CALL\*(C'\fR -instruction into an \f(CW\*(C`L32R\*(C'\fR followed by a \f(CW\*(C`CALLX\*(C'\fR instruction. -The default is \fB\-mno-longcalls\fR. This option should be used in -programs where the call target can potentially be out of range. This -option is implemented in the assembler, not the compiler, so the -assembly code generated by \s-1GCC\s0 will still show direct call -instructions\-\-\-look at the disassembled object code to see the actual -instructions. Note that the assembler will use an indirect call for -every cross-file call, not just those that really will be out of range. -.Sh "Options for Code Generation Conventions" -.IX Subsection "Options for Code Generation Conventions" -These machine-independent options control the interface conventions -used in code generation. -.PP -Most of them have both positive and negative forms; the negative form -of \fB\-ffoo\fR would be \fB\-fno-foo\fR. In the table below, only -one of the forms is listed\-\-\-the one which is not the default. You -can figure out the other form by either removing \fBno-\fR or adding -it. -.Ip "\fB\-fexceptions\fR" 4 -.IX Item "-fexceptions" -Enable exception handling. Generates extra code needed to propagate -exceptions. For some targets, this implies \s-1GCC\s0 will generate frame -unwind information for all functions, which can produce significant data -size overhead, although it does not affect execution. If you do not -specify this option, \s-1GCC\s0 will enable it by default for languages like -\&\*(C+ which normally require exception handling, and disable it for -languages like C that do not normally require it. However, you may need -to enable this option when compiling C code that needs to interoperate -properly with exception handlers written in \*(C+. You may also wish to -disable this option if you are compiling older \*(C+ programs that don't -use exception handling. -.Ip "\fB\-fnon-call-exceptions\fR" 4 -.IX Item "-fnon-call-exceptions" -Generate code that allows trapping instructions to throw exceptions. -Note that this requires platform-specific runtime support that does -not exist everywhere. Moreover, it only allows \fItrapping\fR -instructions to throw exceptions, i.e. memory references or floating -point instructions. It does not allow exceptions to be thrown from -arbitrary signal handlers such as \f(CW\*(C`SIGALRM\*(C'\fR. -.Ip "\fB\-funwind-tables\fR" 4 -.IX Item "-funwind-tables" -Similar to \fB\-fexceptions\fR, except that it will just generate any needed -static data, but will not affect the generated code in any other way. -You will normally not enable this option; instead, a language processor -that needs this handling would enable it on your behalf. -.Ip "\fB\-fasynchronous-unwind-tables\fR" 4 -.IX Item "-fasynchronous-unwind-tables" -Generate unwind table in dwarf2 format, if supported by target machine. The -table is exact at each instruction boundary, so it can be used for stack -unwinding from asynchronous events (such as debugger or garbage collector). -.Ip "\fB\-fpcc-struct-return\fR" 4 -.IX Item "-fpcc-struct-return" -Return ``short'' \f(CW\*(C`struct\*(C'\fR and \f(CW\*(C`union\*(C'\fR values in memory like -longer ones, rather than in registers. This convention is less -efficient, but it has the advantage of allowing intercallability between -GCC-compiled files and files compiled with other compilers, particularly -the Portable C Compiler (pcc). -.Sp -The precise convention for returning structures in memory depends -on the target configuration macros. -.Sp -Short structures and unions are those whose size and alignment match -that of some integer type. -.Sp -\&\fBWarning:\fR code compiled with the \fB\-fpcc-struct-return\fR -switch is not binary compatible with code compiled with the -\&\fB\-freg-struct-return\fR switch. -Use it to conform to a non-default application binary interface. -.Ip "\fB\-freg-struct-return\fR" 4 -.IX Item "-freg-struct-return" -Return \f(CW\*(C`struct\*(C'\fR and \f(CW\*(C`union\*(C'\fR values in registers when possible. -This is more efficient for small structures than -\&\fB\-fpcc-struct-return\fR. -.Sp -If you specify neither \fB\-fpcc-struct-return\fR nor -\&\fB\-freg-struct-return\fR, \s-1GCC\s0 defaults to whichever convention is -standard for the target. If there is no standard convention, \s-1GCC\s0 -defaults to \fB\-fpcc-struct-return\fR, except on targets where \s-1GCC\s0 is -the principal compiler. In those cases, we can choose the standard, and -we chose the more efficient register return alternative. -.Sp -\&\fBWarning:\fR code compiled with the \fB\-freg-struct-return\fR -switch is not binary compatible with code compiled with the -\&\fB\-fpcc-struct-return\fR switch. -Use it to conform to a non-default application binary interface. -.Ip "\fB\-fshort-enums\fR" 4 -.IX Item "-fshort-enums" -Allocate to an \f(CW\*(C`enum\*(C'\fR type only as many bytes as it needs for the -declared range of possible values. Specifically, the \f(CW\*(C`enum\*(C'\fR type -will be equivalent to the smallest integer type which has enough room. -.Sp -\&\fBWarning:\fR the \fB\-fshort-enums\fR switch causes \s-1GCC\s0 to generate -code that is not binary compatible with code generated without that switch. -Use it to conform to a non-default application binary interface. -.Ip "\fB\-fshort-double\fR" 4 -.IX Item "-fshort-double" -Use the same size for \f(CW\*(C`double\*(C'\fR as for \f(CW\*(C`float\*(C'\fR. -.Sp -\&\fBWarning:\fR the \fB\-fshort-double\fR switch causes \s-1GCC\s0 to generate -code that is not binary compatible with code generated without that switch. -Use it to conform to a non-default application binary interface. -.Ip "\fB\-fshort-wchar\fR" 4 -.IX Item "-fshort-wchar" -Override the underlying type for \fBwchar_t\fR to be \fBshort -unsigned int\fR instead of the default for the target. This option is -useful for building programs to run under \s-1WINE\s0. -.Sp -\&\fBWarning:\fR the \fB\-fshort-wchar\fR switch causes \s-1GCC\s0 to generate -code that is not binary compatible with code generated without that switch. -Use it to conform to a non-default application binary interface. -.Ip "\fB\-fshared-data\fR" 4 -.IX Item "-fshared-data" -Requests that the data and non-\f(CW\*(C`const\*(C'\fR variables of this -compilation be shared data rather than private data. The distinction -makes sense only on certain operating systems, where shared data is -shared between processes running the same program, while private data -exists in one copy per process. -.Ip "\fB\-fno-common\fR" 4 -.IX Item "-fno-common" -In C, allocate even uninitialized global variables in the data section of the -object file, rather than generating them as common blocks. This has the -effect that if the same variable is declared (without \f(CW\*(C`extern\*(C'\fR) in -two different compilations, you will get an error when you link them. -The only reason this might be useful is if you wish to verify that the -program will work on other systems which always work this way. -.Ip "\fB\-fno-ident\fR" 4 -.IX Item "-fno-ident" -Ignore the \fB#ident\fR directive. -.Ip "\fB\-fno-gnu-linker\fR" 4 -.IX Item "-fno-gnu-linker" -Do not output global initializations (such as \*(C+ constructors and -destructors) in the form used by the \s-1GNU\s0 linker (on systems where the \s-1GNU\s0 -linker is the standard method of handling them). Use this option when -you want to use a non-GNU linker, which also requires using the -\&\fBcollect2\fR program to make sure the system linker includes -constructors and destructors. (\fBcollect2\fR is included in the \s-1GCC\s0 -distribution.) For systems which \fImust\fR use \fBcollect2\fR, the -compiler driver \fBgcc\fR is configured to do this automatically. -.Ip "\fB\-finhibit-size-directive\fR" 4 -.IX Item "-finhibit-size-directive" -Don't output a \f(CW\*(C`.size\*(C'\fR assembler directive, or anything else that -would cause trouble if the function is split in the middle, and the -two halves are placed at locations far apart in memory. This option is -used when compiling \fIcrtstuff.c\fR; you should not need to use it -for anything else. -.Ip "\fB\-fverbose-asm\fR" 4 -.IX Item "-fverbose-asm" -Put extra commentary information in the generated assembly code to -make it more readable. This option is generally only of use to those -who actually need to read the generated assembly code (perhaps while -debugging the compiler itself). -.Sp -\&\fB\-fno-verbose-asm\fR, the default, causes the -extra information to be omitted and is useful when comparing two assembler -files. -.Ip "\fB\-fvolatile\fR" 4 -.IX Item "-fvolatile" -Consider all memory references through pointers to be volatile. -.Ip "\fB\-fvolatile-global\fR" 4 -.IX Item "-fvolatile-global" -Consider all memory references to extern and global data items to -be volatile. \s-1GCC\s0 does not consider static data items to be volatile -because of this switch. -.Ip "\fB\-fvolatile-static\fR" 4 -.IX Item "-fvolatile-static" -Consider all memory references to static data to be volatile. -.Ip "\fB\-fpic\fR" 4 -.IX Item "-fpic" -Generate position-independent code (\s-1PIC\s0) suitable for use in a shared -library, if supported for the target machine. Such code accesses all -constant addresses through a global offset table (\s-1GOT\s0). The dynamic -loader resolves the \s-1GOT\s0 entries when the program starts (the dynamic -loader is not part of \s-1GCC\s0; it is part of the operating system). If -the \s-1GOT\s0 size for the linked executable exceeds a machine-specific -maximum size, you get an error message from the linker indicating that -\&\fB\-fpic\fR does not work; in that case, recompile with \fB\-fPIC\fR -instead. (These maximums are 16k on the m88k, 8k on the Sparc, and 32k -on the m68k and \s-1RS/6000\s0. The 386 has no such limit.) -.Sp -Position-independent code requires special support, and therefore works -only on certain machines. For the 386, \s-1GCC\s0 supports \s-1PIC\s0 for System V -but not for the Sun 386i. Code generated for the \s-1IBM\s0 \s-1RS/6000\s0 is always -position-independent. -.Ip "\fB\-fPIC\fR" 4 -.IX Item "-fPIC" -If supported for the target machine, emit position-independent code, -suitable for dynamic linking and avoiding any limit on the size of the -global offset table. This option makes a difference on the m68k, m88k, -and the Sparc. -.Sp -Position-independent code requires special support, and therefore works -only on certain machines. -.Ip "\fB\-ffixed-\fR\fIreg\fR" 4 -.IX Item "-ffixed-reg" -Treat the register named \fIreg\fR as a fixed register; generated code -should never refer to it (except perhaps as a stack pointer, frame -pointer or in some other fixed role). -.Sp -\&\fIreg\fR must be the name of a register. The register names accepted -are machine-specific and are defined in the \f(CW\*(C`REGISTER_NAMES\*(C'\fR -macro in the machine description macro file. -.Sp -This flag does not have a negative form, because it specifies a -three-way choice. -.Ip "\fB\-fcall-used-\fR\fIreg\fR" 4 -.IX Item "-fcall-used-reg" -Treat the register named \fIreg\fR as an allocable register that is -clobbered by function calls. It may be allocated for temporaries or -variables that do not live across a call. Functions compiled this way -will not save and restore the register \fIreg\fR. -.Sp -It is an error to used this flag with the frame pointer or stack pointer. -Use of this flag for other registers that have fixed pervasive roles in -the machine's execution model will produce disastrous results. -.Sp -This flag does not have a negative form, because it specifies a -three-way choice. -.Ip "\fB\-fcall-saved-\fR\fIreg\fR" 4 -.IX Item "-fcall-saved-reg" -Treat the register named \fIreg\fR as an allocable register saved by -functions. It may be allocated even for temporaries or variables that -live across a call. Functions compiled this way will save and restore -the register \fIreg\fR if they use it. -.Sp -It is an error to used this flag with the frame pointer or stack pointer. -Use of this flag for other registers that have fixed pervasive roles in -the machine's execution model will produce disastrous results. -.Sp -A different sort of disaster will result from the use of this flag for -a register in which function values may be returned. -.Sp -This flag does not have a negative form, because it specifies a -three-way choice. -.Ip "\fB\-fpack-struct\fR" 4 -.IX Item "-fpack-struct" -Pack all structure members together without holes. -.Sp -\&\fBWarning:\fR the \fB\-fpack-struct\fR switch causes \s-1GCC\s0 to generate -code that is not binary compatible with code generated without that switch. -Additionally, it makes the code suboptimial. -Use it to conform to a non-default application binary interface. -.Ip "\fB\-finstrument-functions\fR" 4 -.IX Item "-finstrument-functions" -Generate instrumentation calls for entry and exit to functions. Just -after function entry and just before function exit, the following -profiling functions will be called with the address of the current -function and its call site. (On some platforms, -\&\f(CW\*(C`_\|_builtin_return_address\*(C'\fR does not work beyond the current -function, so the call site information may not be available to the -profiling functions otherwise.) -.Sp -.Vb 4 -\& void __cyg_profile_func_enter (void *this_fn, -\& void *call_site); -\& void __cyg_profile_func_exit (void *this_fn, -\& void *call_site); -.Ve -The first argument is the address of the start of the current function, -which may be looked up exactly in the symbol table. -.Sp -This instrumentation is also done for functions expanded inline in other -functions. The profiling calls will indicate where, conceptually, the -inline function is entered and exited. This means that addressable -versions of such functions must be available. If all your uses of a -function are expanded inline, this may mean an additional expansion of -code size. If you use \fBextern inline\fR in your C code, an -addressable version of such functions must be provided. (This is -normally the case anyways, but if you get lucky and the optimizer always -expands the functions inline, you might have gotten away without -providing static copies.) -.Sp -A function may be given the attribute \f(CW\*(C`no_instrument_function\*(C'\fR, in -which case this instrumentation will not be done. This can be used, for -example, for the profiling functions listed above, high-priority -interrupt routines, and any functions from which the profiling functions -cannot safely be called (perhaps signal handlers, if the profiling -routines generate output or allocate memory). -.Ip "\fB\-fstack-check\fR" 4 -.IX Item "-fstack-check" -Generate code to verify that you do not go beyond the boundary of the -stack. You should specify this flag if you are running in an -environment with multiple threads, but only rarely need to specify it in -a single-threaded environment since stack overflow is automatically -detected on nearly all systems if there is only one stack. -.Sp -Note that this switch does not actually cause checking to be done; the -operating system must do that. The switch causes generation of code -to ensure that the operating system sees the stack being extended. -.Ip "\fB\-fstack-limit-register=\fR\fIreg\fR" 4 -.IX Item "-fstack-limit-register=reg" -.PD 0 -.Ip "\fB\-fstack-limit-symbol=\fR\fIsym\fR" 4 -.IX Item "-fstack-limit-symbol=sym" -.Ip "\fB\-fno-stack-limit\fR" 4 -.IX Item "-fno-stack-limit" -.PD -Generate code to ensure that the stack does not grow beyond a certain value, -either the value of a register or the address of a symbol. If the stack -would grow beyond the value, a signal is raised. For most targets, -the signal is raised before the stack overruns the boundary, so -it is possible to catch the signal without taking special precautions. -.Sp -For instance, if the stack starts at absolute address \fB0x80000000\fR -and grows downwards, you can use the flags -\&\fB\-fstack-limit-symbol=_\|_stack_limit\fR and -\&\fB\-Wl,\-\-defsym,_\|_stack_limit=0x7ffe0000\fR to enforce a stack limit -of 128KB. Note that this may only work with the \s-1GNU\s0 linker. -.Ip "\fB\-fargument-alias\fR" 4 -.IX Item "-fargument-alias" -.PD 0 -.Ip "\fB\-fargument-noalias\fR" 4 -.IX Item "-fargument-noalias" -.Ip "\fB\-fargument-noalias-global\fR" 4 -.IX Item "-fargument-noalias-global" -.PD -Specify the possible relationships among parameters and between -parameters and global data. -.Sp -\&\fB\-fargument-alias\fR specifies that arguments (parameters) may -alias each other and may alias global storage.\fB\-fargument-noalias\fR specifies that arguments do not alias -each other, but may alias global storage.\fB\-fargument-noalias-global\fR specifies that arguments do not -alias each other and do not alias global storage. -.Sp -Each language will automatically use whatever option is required by -the language standard. You should not need to use these options yourself. -.Ip "\fB\-fleading-underscore\fR" 4 -.IX Item "-fleading-underscore" -This option and its counterpart, \fB\-fno-leading-underscore\fR, forcibly -change the way C symbols are represented in the object file. One use -is to help link with legacy assembly code. -.Sp -\&\fBWarning:\fR the \fB\-fleading-underscore\fR switch causes \s-1GCC\s0 to -generate code that is not binary compatible with code generated without that -switch. Use it to conform to a non-default application binary interface. -Not all targets provide complete support for this switch. -.SH "ENVIRONMENT" -.IX Header "ENVIRONMENT" -This section describes several environment variables that affect how \s-1GCC\s0 -operates. Some of them work by specifying directories or prefixes to use -when searching for various kinds of files. Some are used to specify other -aspects of the compilation environment. -.PP -Note that you can also specify places to search using options such as -\&\fB\-B\fR, \fB\-I\fR and \fB\-L\fR. These -take precedence over places specified using environment variables, which -in turn take precedence over those specified by the configuration of \s-1GCC\s0. -.Ip "\fB\s-1LANG\s0\fR" 4 -.IX Item "LANG" -.PD 0 -.Ip "\fB\s-1LC_CTYPE\s0\fR" 4 -.IX Item "LC_CTYPE" -.Ip "\fB\s-1LC_MESSAGES\s0\fR" 4 -.IX Item "LC_MESSAGES" -.Ip "\fB\s-1LC_ALL\s0\fR" 4 -.IX Item "LC_ALL" -.PD -These environment variables control the way that \s-1GCC\s0 uses -localization information that allow \s-1GCC\s0 to work with different -national conventions. \s-1GCC\s0 inspects the locale categories -\&\fB\s-1LC_CTYPE\s0\fR and \fB\s-1LC_MESSAGES\s0\fR if it has been configured to do -so. These locale categories can be set to any value supported by your -installation. A typical value is \fBen_UK\fR for English in the United -Kingdom. -.Sp -The \fB\s-1LC_CTYPE\s0\fR environment variable specifies character -classification. \s-1GCC\s0 uses it to determine the character boundaries in -a string; this is needed for some multibyte encodings that contain quote -and escape characters that would otherwise be interpreted as a string -end or escape. -.Sp -The \fB\s-1LC_MESSAGES\s0\fR environment variable specifies the language to -use in diagnostic messages. -.Sp -If the \fB\s-1LC_ALL\s0\fR environment variable is set, it overrides the value -of \fB\s-1LC_CTYPE\s0\fR and \fB\s-1LC_MESSAGES\s0\fR; otherwise, \fB\s-1LC_CTYPE\s0\fR -and \fB\s-1LC_MESSAGES\s0\fR default to the value of the \fB\s-1LANG\s0\fR -environment variable. If none of these variables are set, \s-1GCC\s0 -defaults to traditional C English behavior. -.Ip "\fB\s-1TMPDIR\s0\fR" 4 -.IX Item "TMPDIR" -If \fB\s-1TMPDIR\s0\fR is set, it specifies the directory to use for temporary -files. \s-1GCC\s0 uses temporary files to hold the output of one stage of -compilation which is to be used as input to the next stage: for example, -the output of the preprocessor, which is the input to the compiler -proper. -.Ip "\fB\s-1GCC_EXEC_PREFIX\s0\fR" 4 -.IX Item "GCC_EXEC_PREFIX" -If \fB\s-1GCC_EXEC_PREFIX\s0\fR is set, it specifies a prefix to use in the -names of the subprograms executed by the compiler. No slash is added -when this prefix is combined with the name of a subprogram, but you can -specify a prefix that ends with a slash if you wish. -.Sp -If \fB\s-1GCC_EXEC_PREFIX\s0\fR is not set, \s-1GCC\s0 will attempt to figure out -an appropriate prefix to use based on the pathname it was invoked with. -.Sp -If \s-1GCC\s0 cannot find the subprogram using the specified prefix, it -tries looking in the usual places for the subprogram. -.Sp -The default value of \fB\s-1GCC_EXEC_PREFIX\s0\fR is -\&\fI\fIprefix\fI/lib/gcc-lib/\fR where \fIprefix\fR is the value -of \f(CW\*(C`prefix\*(C'\fR when you ran the \fIconfigure\fR script. -.Sp -Other prefixes specified with \fB\-B\fR take precedence over this prefix. -.Sp -This prefix is also used for finding files such as \fIcrt0.o\fR that are -used for linking. -.Sp -In addition, the prefix is used in an unusual way in finding the -directories to search for header files. For each of the standard -directories whose name normally begins with \fB/usr/local/lib/gcc-lib\fR -(more precisely, with the value of \fB\s-1GCC_INCLUDE_DIR\s0\fR), \s-1GCC\s0 tries -replacing that beginning with the specified prefix to produce an -alternate directory name. Thus, with \fB\-Bfoo/\fR, \s-1GCC\s0 will search -\&\fIfoo/bar\fR where it would normally search \fI/usr/local/lib/bar\fR. -These alternate directories are searched first; the standard directories -come next. -.Ip "\fB\s-1COMPILER_PATH\s0\fR" 4 -.IX Item "COMPILER_PATH" -The value of \fB\s-1COMPILER_PATH\s0\fR is a colon-separated list of -directories, much like \fB\s-1PATH\s0\fR. \s-1GCC\s0 tries the directories thus -specified when searching for subprograms, if it can't find the -subprograms using \fB\s-1GCC_EXEC_PREFIX\s0\fR. -.Ip "\fB\s-1LIBRARY_PATH\s0\fR" 4 -.IX Item "LIBRARY_PATH" -The value of \fB\s-1LIBRARY_PATH\s0\fR is a colon-separated list of -directories, much like \fB\s-1PATH\s0\fR. When configured as a native compiler, -\&\s-1GCC\s0 tries the directories thus specified when searching for special -linker files, if it can't find them using \fB\s-1GCC_EXEC_PREFIX\s0\fR. Linking -using \s-1GCC\s0 also uses these directories when searching for ordinary -libraries for the \fB\-l\fR option (but directories specified with -\&\fB\-L\fR come first). -.Ip "\fB\s-1LANG\s0\fR" 4 -.IX Item "LANG" -This variable is used to pass locale information to the compiler. One way in -which this information is used is to determine the character set to be used -when character literals, string literals and comments are parsed in C and \*(C+. -When the compiler is configured to allow multibyte characters, -the following values for \fB\s-1LANG\s0\fR are recognized: -.RS 4 -.Ip "\fBC-JIS\fR" 4 -.IX Item "C-JIS" -Recognize \s-1JIS\s0 characters. -.Ip "\fBC-SJIS\fR" 4 -.IX Item "C-SJIS" -Recognize \s-1SJIS\s0 characters. -.Ip "\fBC-EUCJP\fR" 4 -.IX Item "C-EUCJP" -Recognize \s-1EUCJP\s0 characters. -.RE -.RS 4 -.Sp -If \fB\s-1LANG\s0\fR is not defined, or if it has some other value, then the -compiler will use mblen and mbtowc as defined by the default locale to -recognize and translate multibyte characters. -.RE -.PP -Some additional environments variables affect the behavior of the -preprocessor. -.Ip "\fB\s-1CPATH\s0\fR" 4 -.IX Item "CPATH" -.PD 0 -.Ip "\fBC_INCLUDE_PATH\fR" 4 -.IX Item "C_INCLUDE_PATH" -.Ip "\fB\s-1CPLUS_INCLUDE_PATH\s0\fR" 4 -.IX Item "CPLUS_INCLUDE_PATH" -.Ip "\fB\s-1OBJC_INCLUDE_PATH\s0\fR" 4 -.IX Item "OBJC_INCLUDE_PATH" -.PD -Each variable's value is a list of directories separated by a special -character, much like \fB\s-1PATH\s0\fR, in which to look for header files. -The special character, \f(CW\*(C`PATH_SEPARATOR\*(C'\fR, is target-dependent and -determined at \s-1GCC\s0 build time. For Windows-based targets it is a -semicolon, and for almost all other targets it is a colon. -.Sp -\&\fB\s-1CPATH\s0\fR specifies a list of directories to be searched as if -specified with \fB\-I\fR, but after any paths given with \fB\-I\fR -options on the command line. The environment variable is used -regardless of which language is being preprocessed. -.Sp -The remaining environment variables apply only when preprocessing the -particular language indicated. Each specifies a list of directories -to be searched as if specified with \fB\-isystem\fR, but after any -paths given with \fB\-isystem\fR options on the command line. -.Ip "\fB\s-1DEPENDENCIES_OUTPUT\s0\fR" 4 -.IX Item "DEPENDENCIES_OUTPUT" -@anchor{\s-1DEPENDENCIES_OUTPUT\s0} -If this variable is set, its value specifies how to output -dependencies for Make based on the non-system header files processed -by the compiler. System header files are ignored in the dependency -output. -.Sp -The value of \fB\s-1DEPENDENCIES_OUTPUT\s0\fR can be just a file name, in -which case the Make rules are written to that file, guessing the target -name from the source file name. Or the value can have the form -\&\fIfile\fR\fB \fR\fItarget\fR, in which case the rules are written to -file \fIfile\fR using \fItarget\fR as the target name. -.Sp -In other words, this environment variable is equivalent to combining -the options \fB\-MM\fR and \fB\-MF\fR, -with an optional \fB\-MT\fR switch too. -.Ip "\fB\s-1SUNPRO_DEPENDENCIES\s0\fR" 4 -.IX Item "SUNPRO_DEPENDENCIES" -This variable is the same as the environment variable -\&\fB\s-1DEPENDENCIES_OUTPUT\s0\fR, except that -system header files are not ignored, so it implies \fB\-M\fR rather -than \fB\-MM\fR. However, the dependence on the main input file is -omitted. -.SH "BUGS" -.IX Header "BUGS" -For instructions on reporting bugs, see -<\fBhttp://gcc.gnu.org/bugs.html\fR>. Use of the \fBgccbug\fR -script to report bugs is recommended. -.SH "FOOTNOTES" -.IX Header "FOOTNOTES" -.Ip "1." 4 -On some systems, \fBgcc \-shared\fR -needs to build supplementary stub code for constructors to work. On -multi-libbed systems, \fBgcc \-shared\fR must select the correct support -libraries to link against. Failing to supply the correct flags may lead -to subtle defects. Supplying them in cases where they are not necessary -is innocuous. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -\&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf-funding\fR\|(7), -\&\fIcpp\fR\|(1), \fIgcov\fR\|(1), \fIg77\fR\|(1), \fIas\fR\|(1), \fIld\fR\|(1), \fIgdb\fR\|(1), \fIadb\fR\|(1), \fIdbx\fR\|(1), \fIsdb\fR\|(1) -and the Info entries for \fIgcc\fR, \fIcpp\fR, \fIg77\fR, \fIas\fR, -\&\fIld\fR, \fIbinutils\fR and \fIgdb\fR. -.SH "AUTHOR" -.IX Header "AUTHOR" -See the Info entry for \fBgcc\fR, or -<\fBhttp://gcc.gnu.org/onlinedocs/gcc/Contributors.html\fR>, -for contributors to \s-1GCC\s0. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, -1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. -.PP -Permission is granted to copy, distribute and/or modify this document -under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.1 or -any later version published by the Free Software Foundation; with the -Invariant Sections being ``\s-1GNU\s0 General Public License'' and ``Funding -Free Software'', the Front-Cover texts being (a) (see below), and with -the Back-Cover Texts being (b) (see below). A copy of the license is -included in the \fIgfdl\fR\|(7) man page. -.PP -(a) The \s-1FSF\s0's Front-Cover Text is: -.PP -.Vb 1 -\& A GNU Manual -.Ve -(b) The \s-1FSF\s0's Back-Cover Text is: -.PP -.Vb 3 -\& You have freedom to copy and modify this GNU Manual, like GNU -\& software. Copies published by the Free Software Foundation raise -\& funds for GNU development. -.Ve diff --git a/contrib/gcc/doc/gcov.1 b/contrib/gcc/doc/gcov.1 deleted file mode 100644 index 44d1e33c8b74..000000000000 --- a/contrib/gcc/doc/gcov.1 +++ /dev/null @@ -1,453 +0,0 @@ -.\" Automatically generated by Pod::Man version 1.15 -.\" Wed Feb 5 03:13:55 2003 -.\" -.\" Standard preamble: -.\" ====================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Ip \" List item -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R - -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. | will give a -.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used -.\" to do unbreakable dashes and therefore won't be available. \*(C` and -.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<> -.tr \(*W-|\(bv\*(Tr -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" If the F register is turned on, we'll generate index entries on stderr -.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and -.\" index entries marked with X<> in POD. Of course, you'll have to process -.\" the output yourself in some meaningful fashion. -.if \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it -.\" makes way too many mistakes in technical documents. -.hy 0 -.if n .na -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -.bd B 3 -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ====================================================================== -.\" -.IX Title "GCOV 1" -.TH GCOV 1 "gcc-3.2.2" "2003-02-05" "GNU" -.UC -.SH "NAME" -gcov \- coverage testing tool -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -gcov [\fB\-v\fR|\fB\*(--version\fR] [\fB\-h\fR|\fB\*(--help\fR] - [\fB\-b\fR|\fB\*(--branch-probabilities\fR] [\fB\-c\fR|\fB\*(--branch-counts\fR] - [\fB\-n\fR|\fB\*(--no-output\fR] [\fB\-l\fR|\fB\*(--long-file-names\fR] - [\fB\-f\fR|\fB\*(--function-summaries\fR] - [\fB\-o\fR|\fB\*(--object-directory\fR \fIdirectory\fR] \fIsourcefile\fR -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\fBgcov\fR is a test coverage program. Use it in concert with \s-1GCC\s0 -to analyze your programs to help create more efficient, faster -running code. You can use \fBgcov\fR as a profiling tool to help -discover where your optimization efforts will best affect your code. You -can also use \fBgcov\fR along with the other profiling tool, -\&\fBgprof\fR, to assess which parts of your code use the greatest amount -of computing time. -.PP -Profiling tools help you analyze your code's performance. Using a -profiler such as \fBgcov\fR or \fBgprof\fR, you can find out some -basic performance statistics, such as: -.Ip "\(bu" 4 -how often each line of code executes -.Ip "\(bu" 4 -what lines of code are actually executed -.Ip "\(bu" 4 -how much computing time each section of code uses -.PP -Once you know these things about how your code works when compiled, you -can look at each module to see which modules should be optimized. -\&\fBgcov\fR helps you determine where to work on optimization. -.PP -Software developers also use coverage testing in concert with -testsuites, to make sure software is actually good enough for a release. -Testsuites can verify that a program works as expected; a coverage -program tests to see how much of the program is exercised by the -testsuite. Developers can then determine what kinds of test cases need -to be added to the testsuites to create both better testing and a better -final product. -.PP -You should compile your code without optimization if you plan to use -\&\fBgcov\fR because the optimization, by combining some lines of code -into one function, may not give you as much information as you need to -look for `hot spots' where the code is using a great deal of computer -time. Likewise, because \fBgcov\fR accumulates statistics by line (at -the lowest resolution), it works best with a programming style that -places only one statement on each line. If you use complicated macros -that expand to loops or to other control structures, the statistics are -less helpful\-\-\-they only report on the line where the macro call -appears. If your complex macros behave like functions, you can replace -them with inline functions to solve this problem. -.PP -\&\fBgcov\fR creates a logfile called \fI\fIsourcefile\fI.gcov\fR which -indicates how many times each line of a source file \fI\fIsourcefile\fI.c\fR -has executed. You can use these logfiles along with \fBgprof\fR to aid -in fine-tuning the performance of your programs. \fBgprof\fR gives -timing information you can use along with the information you get from -\&\fBgcov\fR. -.PP -\&\fBgcov\fR works only on code compiled with \s-1GCC\s0. It is not -compatible with any other profiling or test coverage mechanism. -.SH "OPTIONS" -.IX Header "OPTIONS" -.Ip "\fB\-h\fR" 4 -.IX Item "-h" -.PD 0 -.Ip "\fB\*(--help\fR" 4 -.IX Item "help" -.PD -Display help about using \fBgcov\fR (on the standard output), and -exit without doing any further processing. -.Ip "\fB\-v\fR" 4 -.IX Item "-v" -.PD 0 -.Ip "\fB\*(--version\fR" 4 -.IX Item "version" -.PD -Display the \fBgcov\fR version number (on the standard output), -and exit without doing any further processing. -.Ip "\fB\-b\fR" 4 -.IX Item "-b" -.PD 0 -.Ip "\fB\*(--branch-probabilities\fR" 4 -.IX Item "branch-probabilities" -.PD -Write branch frequencies to the output file, and write branch summary -info to the standard output. This option allows you to see how often -each branch in your program was taken. -.Ip "\fB\-c\fR" 4 -.IX Item "-c" -.PD 0 -.Ip "\fB\*(--branch-counts\fR" 4 -.IX Item "branch-counts" -.PD -Write branch frequencies as the number of branches taken, rather than -the percentage of branches taken. -.Ip "\fB\-n\fR" 4 -.IX Item "-n" -.PD 0 -.Ip "\fB\*(--no-output\fR" 4 -.IX Item "no-output" -.PD -Do not create the \fBgcov\fR output file. -.Ip "\fB\-l\fR" 4 -.IX Item "-l" -.PD 0 -.Ip "\fB\*(--long-file-names\fR" 4 -.IX Item "long-file-names" -.PD -Create long file names for included source files. For example, if the -header file \fIx.h\fR contains code, and was included in the file -\&\fIa.c\fR, then running \fBgcov\fR on the file \fIa.c\fR will produce -an output file called \fIa.c.x.h.gcov\fR instead of \fIx.h.gcov\fR. -This can be useful if \fIx.h\fR is included in multiple source files. -.Ip "\fB\-f\fR" 4 -.IX Item "-f" -.PD 0 -.Ip "\fB\*(--function-summaries\fR" 4 -.IX Item "function-summaries" -.PD -Output summaries for each function in addition to the file level summary. -.Ip "\fB\-o\fR \fIdirectory\fR" 4 -.IX Item "-o directory" -.PD 0 -.Ip "\fB\*(--object-directory\fR \fIdirectory\fR" 4 -.IX Item "object-directory directory" -.PD -The directory where the object files live. Gcov will search for \fI.bb\fR, -\&\fI.bbg\fR, and \fI.da\fR files in this directory. -.PP -When using \fBgcov\fR, you must first compile your program with two -special \s-1GCC\s0 options: \fB\-fprofile-arcs \-ftest-coverage\fR. -This tells the compiler to generate additional information needed by -gcov (basically a flow graph of the program) and also includes -additional code in the object files for generating the extra profiling -information needed by gcov. These additional files are placed in the -directory where the source code is located. -.PP -Running the program will cause profile output to be generated. For each -source file compiled with \fB\-fprofile-arcs\fR, an accompanying \fI.da\fR -file will be placed in the source directory. -.PP -Running \fBgcov\fR with your program's source file names as arguments -will now produce a listing of the code along with frequency of execution -for each line. For example, if your program is called \fItmp.c\fR, this -is what you see when you use the basic \fBgcov\fR facility: -.PP -.Vb 5 -\& $ gcc -fprofile-arcs -ftest-coverage tmp.c -\& $ a.out -\& $ gcov tmp.c -\& 87.50% of 8 source lines executed in file tmp.c -\& Creating tmp.c.gcov. -.Ve -The file \fItmp.c.gcov\fR contains output from \fBgcov\fR. -Here is a sample: -.PP -.Vb 3 -\& main() -\& { -\& 1 int i, total; -.Ve -.Vb 1 -\& 1 total = 0; -.Ve -.Vb 2 -\& 11 for (i = 0; i < 10; i++) -\& 10 total += i; -.Ve -.Vb 5 -\& 1 if (total != 45) -\& ###### printf ("Failure\en"); -\& else -\& 1 printf ("Success\en"); -\& 1 } -.Ve -When you use the \fB\-b\fR option, your output looks like this: -.PP -.Vb 6 -\& $ gcov -b tmp.c -\& 87.50% of 8 source lines executed in file tmp.c -\& 80.00% of 5 branches executed in file tmp.c -\& 80.00% of 5 branches taken at least once in file tmp.c -\& 50.00% of 2 calls executed in file tmp.c -\& Creating tmp.c.gcov. -.Ve -Here is a sample of a resulting \fItmp.c.gcov\fR file: -.PP -.Vb 3 -\& main() -\& { -\& 1 int i, total; -.Ve -.Vb 1 -\& 1 total = 0; -.Ve -.Vb 5 -\& 11 for (i = 0; i < 10; i++) -\& branch 0 taken = 91% -\& branch 1 taken = 100% -\& branch 2 taken = 100% -\& 10 total += i; -.Ve -.Vb 9 -\& 1 if (total != 45) -\& branch 0 taken = 100% -\& ###### printf ("Failure\en"); -\& call 0 never executed -\& branch 1 never executed -\& else -\& 1 printf ("Success\en"); -\& call 0 returns = 100% -\& 1 } -.Ve -For each basic block, a line is printed after the last line of the basic -block describing the branch or call that ends the basic block. There can -be multiple branches and calls listed for a single source line if there -are multiple basic blocks that end on that line. In this case, the -branches and calls are each given a number. There is no simple way to map -these branches and calls back to source constructs. In general, though, -the lowest numbered branch or call will correspond to the leftmost construct -on the source line. -.PP -For a branch, if it was executed at least once, then a percentage -indicating the number of times the branch was taken divided by the -number of times the branch was executed will be printed. Otherwise, the -message ``never executed'' is printed. -.PP -For a call, if it was executed at least once, then a percentage -indicating the number of times the call returned divided by the number -of times the call was executed will be printed. This will usually be -100%, but may be less for functions call \f(CW\*(C`exit\*(C'\fR or \f(CW\*(C`longjmp\*(C'\fR, -and thus may not return every time they are called. -.PP -The execution counts are cumulative. If the example program were -executed again without removing the \fI.da\fR file, the count for the -number of times each line in the source was executed would be added to -the results of the previous \fIrun\fR\|(s). This is potentially useful in -several ways. For example, it could be used to accumulate data over a -number of program runs as part of a test verification suite, or to -provide more accurate long-term information over a large number of -program runs. -.PP -The data in the \fI.da\fR files is saved immediately before the program -exits. For each source file compiled with \fB\-fprofile-arcs\fR, the profiling -code first attempts to read in an existing \fI.da\fR file; if the file -doesn't match the executable (differing number of basic block counts) it -will ignore the contents of the file. It then adds in the new execution -counts and finally writes the data to the file. -.Sh "Using \fBgcov\fP with \s-1GCC\s0 Optimization" -.IX Subsection "Using gcov with GCC Optimization" -If you plan to use \fBgcov\fR to help optimize your code, you must -first compile your program with two special \s-1GCC\s0 options: -\&\fB\-fprofile-arcs \-ftest-coverage\fR. Aside from that, you can use any -other \s-1GCC\s0 options; but if you want to prove that every single line -in your program was executed, you should not compile with optimization -at the same time. On some machines the optimizer can eliminate some -simple code lines by combining them with other lines. For example, code -like this: -.PP -.Vb 4 -\& if (a != b) -\& c = 1; -\& else -\& c = 0; -.Ve -can be compiled into one instruction on some machines. In this case, -there is no way for \fBgcov\fR to calculate separate execution counts -for each line because there isn't separate code for each line. Hence -the \fBgcov\fR output looks like this if you compiled the program with -optimization: -.PP -.Vb 4 -\& 100 if (a != b) -\& 100 c = 1; -\& 100 else -\& 100 c = 0; -.Ve -The output shows that this block of code, combined by optimization, -executed 100 times. In one sense this result is correct, because there -was only one instruction representing all four of these lines. However, -the output does not indicate how many times the result was 0 and how -many times the result was 1. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -\&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf-funding\fR\|(7), \fIgcc\fR\|(1) and the Info entry for \fIgcc\fR. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1996, 1997, 1999, 2000, 2001 Free Software Foundation, Inc. -.PP -Permission is granted to copy, distribute and/or modify this document -under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.1 or -any later version published by the Free Software Foundation; with the -Invariant Sections being ``\s-1GNU\s0 General Public License'' and ``Funding -Free Software'', the Front-Cover texts being (a) (see below), and with -the Back-Cover Texts being (b) (see below). A copy of the license is -included in the \fIgfdl\fR\|(7) man page. -.PP -(a) The \s-1FSF\s0's Front-Cover Text is: -.PP -.Vb 1 -\& A GNU Manual -.Ve -(b) The \s-1FSF\s0's Back-Cover Text is: -.PP -.Vb 3 -\& You have freedom to copy and modify this GNU Manual, like GNU -\& software. Copies published by the Free Software Foundation raise -\& funds for GNU development. -.Ve diff --git a/contrib/gcc/doc/install-old.texi b/contrib/gcc/doc/install-old.texi deleted file mode 100644 index 9ce98968f91a..000000000000 --- a/contrib/gcc/doc/install-old.texi +++ /dev/null @@ -1,725 +0,0 @@ -@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. -@c This is part of the GCC manual. -@c For copying conditions, see the file install.texi. - -@ifnothtml -@comment node-name, next, previous, up -@node Old, GNU Free Documentation License, Specific, Top -@end ifnothtml -@html -<h1 align="center">Old installation documentation</h1> -@end html -@ifnothtml -@chapter Old installation documentation -@end ifnothtml - -Note most of this information is out of date and superseded by the -previous chapters of this manual. It is provided for historical -reference only, because of a lack of volunteers to merge it into the -main manual. - -@ifnothtml -@menu -* Configurations:: Configurations Supported by GNU CC. -* Cross-Compiler:: Building and installing a cross-compiler. -* VMS Install:: See below for installation on VMS. -@end menu -@end ifnothtml - -Here is the procedure for installing GNU CC on a GNU or Unix system. -See @ref{VMS Install}, for VMS systems. - -@enumerate -@item -If you have chosen a configuration for GNU CC which requires other GNU -tools (such as GAS or the GNU linker) instead of the standard system -tools, install the required tools in the build directory under the names -@file{as}, @file{ld} or whatever is appropriate. This will enable the -compiler to find the proper tools for compilation of the program -@file{enquire}. - -Alternatively, you can do subsequent compilation using a value of the -@code{PATH} environment variable such that the necessary GNU tools come -before the standard system tools. - -@item -Specify the host, build and target machine configurations. You do this -when you run the @file{configure} script. - -The @dfn{build} machine is the system which you are using, the -@dfn{host} machine is the system where you want to run the resulting -compiler (normally the build machine), and the @dfn{target} machine is -the system for which you want the compiler to generate code. - -If you are building a compiler to produce code for the machine it runs -on (a native compiler), you normally do not need to specify any operands -to @file{configure}; it will try to guess the type of machine you are on -and use that as the build, host and target machines. So you don't need -to specify a configuration when building a native compiler unless -@file{configure} cannot figure out what your configuration is or guesses -wrong. - -In those cases, specify the build machine's @dfn{configuration name} -with the @option{--host} option; the host and target will default to be -the same as the host machine. (If you are building a cross-compiler, -see @ref{Cross-Compiler}.) - -Here is an example: - -@smallexample -./configure --host=sparc-sun-sunos4.1 -@end smallexample - -A configuration name may be canonical or it may be more or less -abbreviated. - -A canonical configuration name has three parts, separated by dashes. -It looks like this: @samp{@var{cpu}-@var{company}-@var{system}}. -(The three parts may themselves contain dashes; @file{configure} -can figure out which dashes serve which purpose.) For example, -@samp{m68k-sun-sunos4.1} specifies a Sun 3. - -You can also replace parts of the configuration by nicknames or aliases. -For example, @samp{sun3} stands for @samp{m68k-sun}, so -@samp{sun3-sunos4.1} is another way to specify a Sun 3. - -You can specify a version number after any of the system types, and some -of the CPU types. In most cases, the version is irrelevant, and will be -ignored. So you might as well specify the version if you know it. - -See @ref{Configurations}, for a list of supported configuration names and -notes on many of the configurations. You should check the notes in that -section before proceeding any further with the installation of GNU CC@. - -@end enumerate - -@ifnothtml -@node Configurations, Cross-Compiler, , Old -@section Configurations Supported by GNU CC -@end ifnothtml -@html -<h2>@anchor{Configurations}Configurations Supported by GNU CC</h2> -@end html -@cindex configurations supported by GNU CC - -Here are the possible CPU types: - -@quotation -@c gmicro, fx80, spur and tahoe omitted since they don't work. -1750a, a29k, alpha, arm, avr, c@var{n}, clipper, dsp16xx, elxsi, fr30, h8300, -hppa1.0, hppa1.1, i370, i386, i486, i586, i686, i786, i860, i960, m32r, -m68000, m68k, m6811, m6812, m88k, mcore, mips, mipsel, mips64, mips64el, -mn10200, mn10300, ns32k, pdp11, powerpc, powerpcle, romp, rs6000, sh, sparc, -sparclite, sparc64, v850, vax, we32k. -@end quotation - -Here are the recognized company names. As you can see, customary -abbreviations are used rather than the longer official names. - -@c What should be done about merlin, tek*, dolphin? -@quotation -acorn, alliant, altos, apollo, apple, att, bull, -cbm, convergent, convex, crds, dec, dg, dolphin, -elxsi, encore, harris, hitachi, hp, ibm, intergraph, isi, -mips, motorola, ncr, next, ns, omron, plexus, -sequent, sgi, sony, sun, tti, unicom, wrs. -@end quotation - -The company name is meaningful only to disambiguate when the rest of -the information supplied is insufficient. You can omit it, writing -just @samp{@var{cpu}-@var{system}}, if it is not needed. For example, -@samp{vax-ultrix4.2} is equivalent to @samp{vax-dec-ultrix4.2}. - -Here is a list of system types: - -@quotation -386bsd, aix, acis, amigaos, aos, aout, aux, bosx, bsd, clix, coff, ctix, cxux, -dgux, dynix, ebmon, ecoff, elf, esix, freebsd, hms, genix, gnu, linux, -linux-gnu, hiux, hpux, iris, irix, isc, luna, lynxos, mach, minix, msdos, mvs, -netbsd, newsos, nindy, ns, osf, osfrose, ptx, riscix, riscos, rtu, sco, sim, -solaris, sunos, sym, sysv, udi, ultrix, unicos, uniplus, unos, vms, vsta, -vxworks, winnt, xenix. -@end quotation - -@noindent -You can omit the system type; then @file{configure} guesses the -operating system from the CPU and company. - -You can add a version number to the system type; this may or may not -make a difference. For example, you can write @samp{bsd4.3} or -@samp{bsd4.4} to distinguish versions of BSD@. In practice, the version -number is most needed for @samp{sysv3} and @samp{sysv4}, which are often -treated differently. - -@samp{linux-gnu} is the canonical name for the GNU/Linux target; however -GNU CC will also accept @samp{linux}. The version of the kernel in use is -not relevant on these systems. A suffix such as @samp{libc1} or @samp{aout} -distinguishes major versions of the C library; all of the suffixed versions -are obsolete. - -If you specify an impossible combination such as @samp{i860-dg-vms}, -then you may get an error message from @file{configure}, or it may -ignore part of the information and do the best it can with the rest. -@file{configure} always prints the canonical name for the alternative -that it used. GNU CC does not support all possible alternatives. - -Often a particular model of machine has a name. Many machine names are -recognized as aliases for CPU/company combinations. Thus, the machine -name @samp{sun3}, mentioned above, is an alias for @samp{m68k-sun}. -Sometimes we accept a company name as a machine name, when the name is -popularly used for a particular machine. Here is a table of the known -machine names: - -@quotation -3300, 3b1, 3b@var{n}, 7300, altos3068, altos, -apollo68, att-7300, balance, -convex-c@var{n}, crds, decstation-3100, -decstation, delta, encore, -fx2800, gmicro, hp7@var{nn}, hp8@var{nn}, -hp9k2@var{nn}, hp9k3@var{nn}, hp9k7@var{nn}, -hp9k8@var{nn}, iris4d, iris, isi68, -m3230, magnum, merlin, miniframe, -mmax, news-3600, news800, news, next, -pbd, pc532, pmax, powerpc, powerpcle, ps2, risc-news, -rtpc, sun2, sun386i, sun386, sun3, -sun4, symmetry, tower-32, tower. -@end quotation - -@noindent -Remember that a machine name specifies both the cpu type and the company -name. -If you want to install your own homemade configuration files, you can -use @samp{local} as the company name to access them. If you use -configuration @samp{@var{cpu}-local}, the configuration name -without the cpu prefix -is used to form the configuration file names. - -Thus, if you specify @samp{m68k-local}, configuration uses -files @file{m68k.md}, @file{local.h}, @file{m68k.c}, -@file{xm-local.h}, @file{t-local}, and @file{x-local}, all in the -directory @file{config/m68k}. - -Here is a list of configurations that have special treatment or special -things you must know: - -@table @samp -@item vax-dec-vms -See @ref{VMS Install}, for details on how to install GNU CC on VMS@. -@end table - -@ifnothtml -@node Cross-Compiler, VMS Install, Configurations, Old -@section Building and Installing a Cross-Compiler -@end ifnothtml -@html -<h2>@anchor{Cross-Compiler}Building and Installing a Cross-Compiler</h2> -@end html -@cindex cross-compiler, installation - -GNU CC can function as a cross-compiler for many machines, but not all. - -@itemize @bullet -@item -Cross-compilers for the Mips as target using the Mips assembler -currently do not work, because the auxiliary programs -@file{mips-tdump.c} and @file{mips-tfile.c} can't be compiled on -anything but a Mips. It does work to cross compile for a Mips -if you use the GNU assembler and linker. - -@item -Cross-compilers between machines with different floating point formats -have not all been made to work. GNU CC now has a floating point -emulator with which these can work, but each target machine description -needs to be updated to take advantage of it. - -@item -Cross-compilation between machines of different word sizes is -somewhat problematic and sometimes does not work. -@end itemize - -Since GNU CC generates assembler code, you probably need a -cross-assembler that GNU CC can run, in order to produce object files. -If you want to link on other than the target machine, you need a -cross-linker as well. You also need header files and libraries suitable -for the target machine that you can install on the host machine. - -@ifnothtml -@menu -* Steps of Cross:: Using a cross-compiler involves several steps - that may be carried out on different machines. -* Configure Cross:: Configuring a cross-compiler. -* Tools and Libraries:: Where to put the linker and assembler, and the C library. -* Cross Headers:: Finding and installing header files - for a cross-compiler. -* Build Cross:: Actually compiling the cross-compiler. -@end menu -@end ifnothtml - -@ifnothtml -@node Steps of Cross, Configure Cross, , Cross-Compiler -@subsection Steps of Cross-Compilation -@end ifnothtml -@html -<h2>Steps of Cross-Compilation</h2> -@end html - -To compile and run a program using a cross-compiler involves several -steps: - -@itemize @bullet -@item -Run the cross-compiler on the host machine to produce assembler files -for the target machine. This requires header files for the target -machine. - -@item -Assemble the files produced by the cross-compiler. You can do this -either with an assembler on the target machine, or with a -cross-assembler on the host machine. - -@item -Link those files to make an executable. You can do this either with a -linker on the target machine, or with a cross-linker on the host -machine. Whichever machine you use, you need libraries and certain -startup files (typically @file{crt@dots{}.o}) for the target machine. -@end itemize - -It is most convenient to do all of these steps on the same host machine, -since then you can do it all with a single invocation of GNU CC@. This -requires a suitable cross-assembler and cross-linker. For some targets, -the GNU assembler and linker are available. - -@ifnothtml -@node Configure Cross, Tools and Libraries, Steps of Cross, Cross-Compiler -@subsection Configuring a Cross-Compiler -@end ifnothtml -@html -<h2>Configuring a Cross-Compiler</h2> -@end html - -To build GNU CC as a cross-compiler, you start out by running -@file{configure}. Use the @option{--target=@var{target}} to specify the -target type. If @file{configure} was unable to correctly identify the -system you are running on, also specify the @option{--build=@var{build}} -option. For example, here is how to configure for a cross-compiler that -produces code for an HP 68030 system running BSD on a system that -@file{configure} can correctly identify: - -@smallexample -./configure --target=m68k-hp-bsd4.3 -@end smallexample - -@ifnothtml -@node Tools and Libraries, Cross Headers, Configure Cross, Cross-Compiler -@subsection Tools and Libraries for a Cross-Compiler -@end ifnothtml -@html -<h2>Tools and Libraries for a Cross-Compiler</h2> -@end html - -If you have a cross-assembler and cross-linker available, you should -install them now. Put them in the directory -@file{/usr/local/@var{target}/bin}. Here is a table of the tools -you should put in this directory: - -@table @file -@item as -This should be the cross-assembler. - -@item ld -This should be the cross-linker. - -@item ar -This should be the cross-archiver: a program which can manipulate -archive files (linker libraries) in the target machine's format. - -@item ranlib -This should be a program to construct a symbol table in an archive file. -@end table - -The installation of GNU CC will find these programs in that directory, -and copy or link them to the proper place to for the cross-compiler to -find them when run later. - -The easiest way to provide these files is to build the Binutils package -and GAS@. Configure them with the same @option{--host} and @option{--target} -options that you use for configuring GNU CC, then build and install -them. They install their executables automatically into the proper -directory. Alas, they do not support all the targets that GNU CC -supports. - -If you want to install libraries to use with the cross-compiler, such as -a standard C library, put them in the directory -@file{/usr/local/@var{target}/lib}; installation of GNU CC copies -all the files in that subdirectory into the proper place for GNU CC to -find them and link with them. Here's an example of copying some -libraries from a target machine: - -@example -ftp @var{target-machine} -lcd /usr/local/@var{target}/lib -cd /lib -get libc.a -cd /usr/lib -get libg.a -get libm.a -quit -@end example - -@noindent -The precise set of libraries you'll need, and their locations on -the target machine, vary depending on its operating system. - -@cindex start files -Many targets require ``start files'' such as @file{crt0.o} and -@file{crtn.o} which are linked into each executable; these too should be -placed in @file{/usr/local/@var{target}/lib}. There may be several -alternatives for @file{crt0.o}, for use with profiling or other -compilation options. Check your target's definition of -@code{STARTFILE_SPEC} to find out what start files it uses. -Here's an example of copying these files from a target machine: - -@example -ftp @var{target-machine} -lcd /usr/local/@var{target}/lib -prompt -cd /lib -mget *crt*.o -cd /usr/lib -mget *crt*.o -quit -@end example - -@ifnothtml -@node Cross Headers, Build Cross, Tools and Libraries, Cross-Compiler -@subsection Cross-Compilers and Header Files -@end ifnothtml -@html -<h2>Cross-Compilers and Header Files</h2> -@end html - -If you are cross-compiling a standalone program or a program for an -embedded system, then you may not need any header files except the few -that are part of GNU CC (and those of your program). However, if you -intend to link your program with a standard C library such as -@file{libc.a}, then you probably need to compile with the header files -that go with the library you use. - -The GNU C compiler does not come with these files, because (1) they are -system-specific, and (2) they belong in a C library, not in a compiler. - -If the GNU C library supports your target machine, then you can get the -header files from there (assuming you actually use the GNU library when -you link your program). - -If your target machine comes with a C compiler, it probably comes with -suitable header files also. If you make these files accessible from the host -machine, the cross-compiler can use them also. - -Otherwise, you're on your own in finding header files to use when -cross-compiling. - -When you have found suitable header files, you should put them in the -directory @file{/usr/local/@var{target}/include}, before building the -cross compiler. Then installation will run fixincludes properly and -install the corrected versions of the header files where the compiler -will use them. - -Provide the header files before you build the cross-compiler, because -the build stage actually runs the cross-compiler to produce parts of -@file{libgcc.a}. (These are the parts that @emph{can} be compiled with -GNU CC@.) Some of them need suitable header files. - -Here's an example showing how to copy the header files from a target -machine. On the target machine, do this: - -@example -(cd /usr/include; tar cf - .) > tarfile -@end example - -Then, on the host machine, do this: - -@example -ftp @var{target-machine} -lcd /usr/local/@var{target}/include -get tarfile -quit -tar xf tarfile -@end example - -@ifnothtml -@node Build Cross, , Cross Headers, Cross-Compiler -@subsection Actually Building the Cross-Compiler -@end ifnothtml -@html -<h2>Actually Building the Cross-Compiler</h2> -@end html - -Now you can proceed just as for compiling a single-machine compiler -through the step of building stage 1. - -If your target is exotic, you may need to provide the header file -@file{float.h}.One way to do this is to compile @file{enquire} and run -it on your target machine. The job of @file{enquire} is to run on the -target machine and figure out by experiment the nature of its floating -point representation. @file{enquire} records its findings in the header -file @file{float.h}. If you can't produce this file by running -@file{enquire} on the target machine, then you will need to come up with -a suitable @file{float.h} in some other way (or else, avoid using it in -your programs). - -Do not try to build stage 2 for a cross-compiler. It doesn't work to -rebuild GNU CC as a cross-compiler using the cross-compiler, because -that would produce a program that runs on the target machine, not on the -host. For example, if you compile a 386-to-68030 cross-compiler with -itself, the result will not be right either for the 386 (because it was -compiled into 68030 code) or for the 68030 (because it was configured -for a 386 as the host). If you want to compile GNU CC into 68030 code, -whether you compile it on a 68030 or with a cross-compiler on a 386, you -must specify a 68030 as the host when you configure it. - -To install the cross-compiler, use @samp{make install}, as usual. - -@ifnothtml -@node VMS Install, , Cross-Compiler, Old -@section Installing GNU CC on VMS -@end ifnothtml -@html -<h2>@anchor{VMS Install}Installing GNU CC on VMS</h2> -@end html -@cindex VMS installation -@cindex installing GNU CC on VMS - -The VMS version of GNU CC is distributed in a backup saveset containing -both source code and precompiled binaries. - -To install the @file{gcc} command so you can use the compiler easily, in -the same manner as you use the VMS C compiler, you must install the VMS CLD -file for GNU CC as follows: - -@enumerate -@item -Define the VMS logical names @samp{GNU_CC} and @samp{GNU_CC_INCLUDE} -to point to the directories where the GNU CC executables -(@file{gcc-cpp.exe}, @file{gcc-cc1.exe}, etc.) and the C include files are -kept respectively. This should be done with the commands: - -@smallexample -$ assign /system /translation=concealed - - disk:[gcc.] gnu_cc -$ assign /system /translation=concealed - - disk:[gcc.include.] gnu_cc_include -@end smallexample - -@noindent -with the appropriate disk and directory names. These commands can be -placed in your system startup file so they will be executed whenever -the machine is rebooted. You may, if you choose, do this via the -@file{GCC_INSTALL.COM} script in the @file{[GCC]} directory. - -@item -Install the @file{GCC} command with the command line: - -@smallexample -$ set command /table=sys$common:[syslib]dcltables - - /output=sys$common:[syslib]dcltables gnu_cc:[000000]gcc -$ install replace sys$common:[syslib]dcltables -@end smallexample - -@item -To install the help file, do the following: - -@smallexample -$ library/help sys$library:helplib.hlb gcc.hlp -@end smallexample - -@noindent -Now you can invoke the compiler with a command like @samp{gcc /verbose -file.c}, which is equivalent to the command @samp{gcc -v -c file.c} in -Unix. -@end enumerate - -If you wish to use GNU C++ you must first install GNU CC, and then -perform the following steps: - -@enumerate -@item -Define the VMS logical name @samp{GNU_GXX_INCLUDE} to point to the -directory where the preprocessor will search for the C++ header files. -This can be done with the command: - -@smallexample -$ assign /system /translation=concealed - - disk:[gcc.gxx_include.] gnu_gxx_include -@end smallexample - -@noindent -with the appropriate disk and directory name. If you are going to be -using a C++ runtime library, this is where its install procedure will install -its header files. - -@item -Obtain the file @file{gcc-cc1plus.exe}, and place this in the same -directory that @file{gcc-cc1.exe} is kept. - -The GNU C++ compiler can be invoked with a command like @samp{gcc /plus -/verbose file.cc}, which is equivalent to the command @samp{g++ -v -c -file.cc} in Unix. -@end enumerate - -We try to put corresponding binaries and sources on the VMS distribution -tape. But sometimes the binaries will be from an older version than the -sources, because we don't always have time to update them. (Use the -@samp{/version} option to determine the version number of the binaries and -compare it with the source file @file{version.c} to tell whether this is -so.) In this case, you should use the binaries you get to recompile the -sources. If you must recompile, here is how: - -@enumerate -@item -Execute the command procedure @file{vmsconfig.com} to set up the files -@file{tm.h}, @file{config.h}, @file{aux-output.c}, and @file{md.}, and -to create files @file{tconfig.h} and @file{hconfig.h}. This procedure -also creates several linker option files used by @file{make-cc1.com} and -a data file used by @file{make-l2.com}. - -@smallexample -$ @@vmsconfig.com -@end smallexample - -@item -Setup the logical names and command tables as defined above. In -addition, define the VMS logical name @samp{GNU_BISON} to point at the -to the directories where the Bison executable is kept. This should be -done with the command: - -@smallexample -$ assign /system /translation=concealed - - disk:[bison.] gnu_bison -@end smallexample - -You may, if you choose, use the @file{INSTALL_BISON.COM} script in the -@file{[BISON]} directory. - -@item -Install the @samp{BISON} command with the command line: - -@smallexample -$ set command /table=sys$common:[syslib]dcltables - - /output=sys$common:[syslib]dcltables - - gnu_bison:[000000]bison -$ install replace sys$common:[syslib]dcltables -@end smallexample - -@item -Type @samp{@@make-gcc} to recompile everything, or submit the file -@file{make-gcc.com} to a batch queue. If you wish to build the GNU C++ -compiler as well as the GNU CC compiler, you must first edit -@file{make-gcc.com} and follow the instructions that appear in the -comments. - -@item -In order to use GCC, you need a library of functions which GCC compiled code -will call to perform certain tasks, and these functions are defined in the -file @file{libgcc2.c}. To compile this you should use the command procedure -@file{make-l2.com}, which will generate the library @file{libgcc2.olb}. -@file{libgcc2.olb} should be built using the compiler built from -the same distribution that @file{libgcc2.c} came from, and -@file{make-gcc.com} will automatically do all of this for you. - -To install the library, use the following commands: - -@smallexample -$ library gnu_cc:[000000]gcclib/delete=(new,eprintf) -$ library gnu_cc:[000000]gcclib/delete=L_* -$ library libgcc2/extract=*/output=libgcc2.obj -$ library gnu_cc:[000000]gcclib libgcc2.obj -@end smallexample - -The first command simply removes old modules that will be replaced with -modules from @file{libgcc2} under different module names. The modules -@code{new} and @code{eprintf} may not actually be present in your -@file{gcclib.olb}---if the VMS librarian complains about those modules -not being present, simply ignore the message and continue on with the -next command. The second command removes the modules that came from the -previous version of the library @file{libgcc2.c}. - -Whenever you update the compiler on your system, you should also update the -library with the above procedure. - -@item -You may wish to build GCC in such a way that no files are written to the -directory where the source files reside. An example would be the when -the source files are on a read-only disk. In these cases, execute the -following DCL commands (substituting your actual path names): - -@smallexample -$ assign dua0:[gcc.build_dir.]/translation=concealed, - - dua1:[gcc.source_dir.]/translation=concealed gcc_build -$ set default gcc_build:[000000] -@end smallexample - -@noindent -where the directory @file{dua1:[gcc.source_dir]} contains the source -code, and the directory @file{dua0:[gcc.build_dir]} is meant to contain -all of the generated object files and executables. Once you have done -this, you can proceed building GCC as described above. (Keep in mind -that @file{gcc_build} is a rooted logical name, and thus the device -names in each element of the search list must be an actual physical -device name rather than another rooted logical name). - -@item -@strong{If you are building GNU CC with a previous version of GNU CC, -you also should check to see that you have the newest version of the -assembler}. In particular, GNU CC version 2 treats global constant -variables slightly differently from GNU CC version 1, and GAS version -1.38.1 does not have the patches required to work with GCC version 2. -If you use GAS 1.38.1, then @code{extern const} variables will not have -the read-only bit set, and the linker will generate warning messages -about mismatched psect attributes for these variables. These warning -messages are merely a nuisance, and can safely be ignored. - -@item -If you want to build GNU CC with the VAX C compiler, you will need to -make minor changes in @file{make-cccp.com} and @file{make-cc1.com} -to choose alternate definitions of @code{CC}, @code{CFLAGS}, and -@code{LIBS}. See comments in those files. However, you must -also have a working version of the GNU assembler (GNU as, aka GAS) as -it is used as the back end for GNU CC to produce binary object modules -and is not included in the GNU CC sources. GAS is also needed to -compile @file{libgcc2} in order to build @file{gcclib} (see above); -@file{make-l2.com} expects to be able to find it operational in -@file{gnu_cc:[000000]gnu-as.exe}. - -To use GNU CC on VMS, you need the VMS driver programs -@file{gcc.exe}, @file{gcc.com}, and @file{gcc.cld}. They are -distributed with the VMS binaries (@file{gcc-vms}) rather than the -GNU CC sources. GAS is also included in @file{gcc-vms}, as is Bison. - -Once you have successfully built GNU CC with VAX C, you should use the -resulting compiler to rebuild itself. Before doing this, be sure to -restore the @code{CC}, @code{CFLAGS}, and @code{LIBS} definitions in -@file{make-cccp.com} and @file{make-cc1.com}. The second generation -compiler will be able to take advantage of many optimizations that must -be suppressed when building with other compilers. -@end enumerate - -Under previous versions of GNU CC, the generated code would occasionally -give strange results when linked with the sharable @file{VAXCRTL} library. -Now this should work. - -Even with this version, however, GNU CC itself should not be linked with -the sharable @file{VAXCRTL}. The version of @code{qsort} in -@file{VAXCRTL} has a bug (known to be present in VMS versions V4.6 -through V5.5) which causes the compiler to fail. - -The executables are generated by @file{make-cc1.com} and -@file{make-cccp.com} use the object library version of @file{VAXCRTL} in -order to make use of the @code{qsort} routine in @file{gcclib.olb}. If -you wish to link the compiler executables with the shareable image -version of @file{VAXCRTL}, you should edit the file @file{tm.h} (created -by @file{vmsconfig.com}) to define the macro @code{QSORT_WORKAROUND}. - -@code{QSORT_WORKAROUND} is always defined when GNU CC is compiled with -VAX C, to avoid a problem in case @file{gcclib.olb} is not yet -available. diff --git a/contrib/gcc/doc/install.texi b/contrib/gcc/doc/install.texi deleted file mode 100644 index 350d365b1b5c..000000000000 --- a/contrib/gcc/doc/install.texi +++ /dev/null @@ -1,3928 +0,0 @@ -\input texinfo.tex @c -*-texinfo-*- -@c @ifnothtml -@c %**start of header -@setfilename install.info -@settitle Installing GCC -@setchapternewpage odd -@c %**end of header -@c @end ifnothtml - -@c Specify title for specific html page -@ifset indexhtml -@settitle Installing GCC -@end ifset -@ifset specifichtml -@settitle Host/Target specific installation notes for GCC -@end ifset -@ifset downloadhtml -@settitle Downloading GCC -@end ifset -@ifset configurehtml -@settitle Installing GCC: Configuration -@end ifset -@ifset buildhtml -@settitle Installing GCC: Building -@end ifset -@ifset testhtml -@settitle Installing GCC: Testing -@end ifset -@ifset finalinstallhtml -@settitle Installing GCC: Final installation -@end ifset -@ifset binarieshtml -@settitle Installing GCC: Binaries -@end ifset -@ifset oldhtml -@settitle Installing GCC: Old documentation -@end ifset -@ifset gfdlhtml -@settitle Installing GCC: GNU Free Documentation License -@end ifset - -@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, -@c 1999, 2000, 2001, 2002 Free Software Foundation, Inc. -@c *** Converted to texinfo by Dean Wakerley, dean@wakerley.com - -@c Include everything if we're not making html -@ifnothtml -@set indexhtml -@set specifichtml -@set downloadhtml -@set configurehtml -@set buildhtml -@set testhtml -@set finalinstallhtml -@set binarieshtml -@set oldhtml -@set gfdlhtml -@end ifnothtml - -@c Part 2 Summary Description and Copyright -@macro copyrightnotice -Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, -1999, 2000, 2001, 2002 Free Software Foundation, Inc. -@sp 1 -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 or -any later version published by the Free Software Foundation; with no -Invariant Sections, the Front-Cover texts being (a) (see below), and -with the Back-Cover Texts being (b) (see below). A copy of the -license is included in the section entitled ``@uref{./gfdl.html,,GNU -Free Documentation License}''. - -(a) The FSF's Front-Cover Text is: - - A GNU Manual - -(b) The FSF's Back-Cover Text is: - - You have freedom to copy and modify this GNU Manual, like GNU - software. Copies published by the Free Software Foundation raise - funds for GNU development. -@end macro -@ifinfo -@copyrightnotice{} -@end ifinfo - -@c Part 3 Titlepage and Copyright -@titlepage -@sp 10 -@comment The title is printed in a large font. -@center @titlefont{Installing GCC} - -@c The following two commands start the copyright page. -@page -@vskip 0pt plus 1filll -@copyrightnotice{} -@end titlepage - -@c Part 4 Top node and Master Menu -@ifinfo -@node Top, , , (dir) -@comment node-name, next, Previous, up - -@menu -* Installing GCC:: This document describes the generic installation - procedure for GCC as well as detailing some target - specific installation instructions. - -* Specific:: Host/target specific installation notes for GCC. -* Binaries:: Where to get pre-compiled binaries. - -* Old:: Old installation documentation. - -* GNU Free Documentation License:: How you can copy and share this manual. -* Concept Index:: This index has two entries. -@end menu -@end ifinfo - -@c Part 5 The Body of the Document -@c ***Installing GCC********************************************************** -@ifnothtml -@comment node-name, next, previous, up -@node Installing GCC, Binaries, , Top -@end ifnothtml -@ifset indexhtml -@ifnothtml -@chapter Installing GCC -@end ifnothtml - -The latest version of this document is always available at -@uref{http://gcc.gnu.org/install/,,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 supersedes all -package specific installation instructions. - -@emph{Before} starting the build/install procedure please check the -@ifnothtml -@ref{Specific, host/target specific installation notes}. -@end ifnothtml -@ifhtml -@uref{specific.html,,host/target specific installation notes}. -@end ifhtml -We recommend you browse the entire generic installation instructions before -you proceed. - -Lists of successful builds for released versions of GCC are -available at @uref{http://gcc.gnu.org/buildstat.html}. -These lists are updated as new information becomes available. - -The installation procedure itself is broken into five steps. - -@ifinfo -@menu -* Downloading the source:: -* Configuration:: -* Building:: -* Testing:: (optional) -* Final install:: -@end menu -@end ifinfo -@ifhtml -@enumerate -@item -@uref{download.html,,Downloading the source} -@item -@uref{configure.html,,Configuration} -@item -@uref{build.html,,Building} -@item -@uref{test.html,,Testing} (optional) -@item -@uref{finalinstall.html,,Final install} -@end enumerate -@end ifhtml - -Please note that GCC does not support @samp{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, and, if shared libraries are installed there as well, no -more binaries exist that use them. - -@ifhtml -There are also some @uref{old.html,,old installation instructions}, -which are mostly obsolete but still contain some information which has -not yet been merged into the main part of this manual. -@end ifhtml - -@html -<hr /> -<p> -@end html -@ifhtml -@uref{./index.html,,Return to the GCC Installation page} - -@copyrightnotice{} -@end ifhtml -@end ifset - -@c ***Downloading the source************************************************** -@ifnothtml -@comment node-name, next, previous, up -@node Downloading the source, Configuration, , Installing GCC -@end ifnothtml -@ifset downloadhtml -@ifnothtml -@chapter Downloading GCC -@end ifnothtml -@cindex Downloading GCC -@cindex Downloading the Source - -GCC is distributed via @uref{http://gcc.gnu.org/cvs.html,,CVS} and FTP -tarballs compressed with @command{gzip} or -@command{bzip2}. It is possible to download a full distribution or specific -components. - -Please refer to our @uref{http://gcc.gnu.org/releases.html,,releases web page} -for information on how to obtain GCC@. - -The full distribution includes the C, C++, Objective-C, Fortran, Java, -and Ada (in case of GCC 3.1 and later) compilers. The full distribution -also includes runtime libraries for C++, Objective-C, Fortran, and Java. -In GCC 3.0 and later versions, GNU compiler testsuites are also 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 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. - -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 -(@file{bfd}, @file{binutils}, @file{gas}, @file{gprof}, @file{ld}, -@file{opcodes}, @dots{}) to the directory containing the GCC sources. - -@html -<hr /> -<p> -@end html -@ifhtml -@uref{./index.html,,Return to the GCC Installation page} -@end ifhtml -@end ifset - -@c ***Configuration*********************************************************** -@ifnothtml -@comment node-name, next, previous, up -@node Configuration, Building, Downloading the source, Installing GCC -@end ifnothtml -@ifset configurehtml -@ifnothtml -@chapter Installing GCC: Configuration -@end ifnothtml -@cindex Configuration -@cindex 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 @var{srcdir} to refer to the toplevel source directory for -GCC; we use @var{objdir} to refer to the toplevel build/object directory. - -If you obtained the sources via CVS, @var{srcdir} must refer to the top -@file{gcc} directory, the one where the @file{MAINTAINERS} can be found, -and not its @file{gcc} subdirectory, otherwise the build will fail. - -First, we @strong{highly} recommend that GCC be built into a -separate directory than the sources which does @strong{not} reside -within the source tree. This is how we generally build GCC; building -where @var{srcdir} == @var{objdir} should still work, but doesn't -get extensive testing; building where @var{objdir} is a subdirectory -of @var{srcdir} is unsupported. - -If you have previously built GCC in the same directory for a -different target machine, do @samp{make distclean} to delete all files -that might be invalid. One of the files this deletes is -@file{Makefile}; if @samp{make distclean} complains that @file{Makefile} -does not exist, it probably means that the directory is already suitably -clean. However, with the recommended method of building in a separate -@var{objdir}, you should simply use a different @var{objdir} for each -target. - -Second, when configuring a native system, either @command{cc} or -@command{gcc} must be in your path or you must set @env{CC} in -your environment before running configure. Otherwise the configuration -scripts may fail. - -Note that the bootstrap compiler and the resulting GCC must be link -compatible, else the bootstrap will fail with linker errors about -incompatible object file formats. Several multilibed targets are -affected by this requirement, see -@ifnothtml -@ref{Specific, host/target specific installation notes}. -@end ifnothtml -@ifhtml -@uref{specific.html,,host/target specific installation notes}. -@end ifhtml - -To configure GCC: - -@example - % mkdir @var{objdir} - % cd @var{objdir} - % @var{srcdir}/configure [@var{options}] [@var{target}] -@end example - - -@heading Target specification -@itemize @bullet -@item -GCC has code to correctly determine the correct value for @var{target} -for nearly all native systems. Therefore, we highly recommend you not -provide a configure target when configuring a native compiler. - -@item -@var{target} must be specified as @option{--target=@var{target}} -when configuring a cross compiler; examples of valid targets would be -i960-rtems, m68k-coff, sh-elf, etc. - -@item -Specifying just @var{target} instead of @option{--target=@var{target}} -implies that the host defaults to @var{target}. -@end itemize - - -@heading Options specification - -Use @var{options} to override several configure time options for -GCC@. A list of supported @var{options} follows; @command{configure ---help} may list other options, but those not listed below may not -work and should not normally be used. - -@table @code -@item --prefix=@var{dirname} -Specify the toplevel installation -directory. This is the recommended way to install the tools into a directory -other than the default. The toplevel installation directory defaults to -@file{/usr/local}. - -We @strong{highly} recommend against @var{dirname} being the same or a -subdirectory of @var{objdir} or vice versa. - -These additional options control where certain parts of the distribution -are installed. Normally you should not need to use these options. -@table @code -@item --exec-prefix=@var{dirname} -Specify the toplevel installation directory for architecture-dependent -files. The default is @file{@var{prefix}}. - -@item --bindir=@var{dirname} -Specify the installation directory for the executables called by users -(such as @command{gcc} and @command{g++}). The default is -@file{@var{exec-prefix}/bin}. - -@item --libdir=@var{dirname} -Specify the installation directory for object code libraries and -internal parts of GCC@. The default is @file{@var{exec-prefix}/lib}. - -@item --with-slibdir=@var{dirname} -Specify the installation directory for the shared libgcc library. The -default is @file{@var{libdir}}. - -@item --infodir=@var{dirname} -Specify the installation directory for documentation in info format. -The default is @file{@var{prefix}/info}. - -@item --mandir=@var{dirname} -Specify the installation directory for manual pages. The default is -@file{@var{prefix}/man}. (Note that the manual pages are only extracts from -the full GCC manuals, which are provided in Texinfo format. The -@command{g77} manpage is unmaintained and may be out of date; the others -are derived by an automatic conversion process from parts of the full -manual.) - -@item --with-gxx-include-dir=@var{dirname} -Specify -the installation directory for G++ header files. The default is -@file{@var{prefix}/include/g++-v3}. - -@end table - -@item --program-prefix=@var{prefix} -GCC supports some transformations of the names of its programs when -installing them. This option prepends @var{prefix} to the names of -programs to install in @var{bindir} (see above). For example, specifying -@option{--program-prefix=foo-} would result in @samp{gcc} -being installed as @file{/usr/local/bin/foo-gcc}. - -@item --program-suffix=@var{suffix} -Appends @var{suffix} to the names of programs to install in @var{bindir} -(see above). For example, specifying @option{--program-suffix=-3.1} -would result in @samp{gcc} being installed as -@file{/usr/local/bin/gcc-3.1}. - -@item --program-transform-name=@var{pattern} -Applies the @samp{sed} script @var{pattern} to be applied to the names -of programs to install in @var{bindir} (see above). @var{pattern} has to -consist of one or more basic @samp{sed} editing commands, separated by -semicolons. For example, if you want the @samp{gcc} program name to be -transformed to the installed program @file{/usr/local/bin/myowngcc} and -the @samp{g++} program name to be transformed to -@file{/usr/local/bin/gspecial++} without changing other program names, -you could use the pattern -@option{--program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/'} -to achieve this effect. - -All three options can be combined and used together, resulting in more -complex conversion patterns. As a basic rule, @var{prefix} (and -@var{suffix}) are prepended (appended) before further transformations -can happen with a special transformation script @var{pattern}. - -As currently implemented, these options only take effect for native -builds; cross compiler binaries' names are not transformed even when a -transformation is explicitly asked for by one of these options. - -For native builds, some of the installed programs are also installed -with the target alias in front of their name, as in -@samp{i686-pc-linux-gnu-gcc}. All of the above transformations happen -before the target alias is prepended to the name - so, specifying -@option{--program-prefix=foo-} and @option{program-suffix=-3.1}, the -resulting binary would be installed as -@file{/usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1}. - -As a last shortcoming, none of the installed Ada programs are -transformed yet, which will be fixed in some time. - -@item --with-local-prefix=@var{dirname} -Specify the -installation directory for local include files. The default is -@file{/usr/local}. Specify this option if you want the compiler to -search directory @file{@var{dirname}/include} for locally installed -header files @emph{instead} of @file{/usr/local/include}. - -You should specify @option{--with-local-prefix} @strong{only} if your -site has a different convention (not @file{/usr/local}) for where to put -site-specific files. - -The default value for @option{--with-local-prefix} is @file{/usr/local} -regardless of the value of @option{--prefix}. Specifying -@option{--prefix} has no effect on which directory GCC searches for -local header files. This may seem counterintuitive, but actually it is -logical. - -The purpose of @option{--prefix} is to specify where to @emph{install -GCC}. The local header files in @file{/usr/local/include}---if you put -any in that directory---are not part of GCC@. They are part of other -programs---perhaps many others. (GCC installs its own header files in -another directory which is based on the @option{--prefix} value.) - -Both the local-prefix include directory and the GCC-prefix include -directory are part of GCC's "system include" directories. Although these -two directories are not fixed, they need to be searched in the proper -order for the correct processing of the include_next directive. The -local-prefix include directory is searched before the GCC-prefix -include directory. Another characteristic of system include directories -is that pedantic warnings are turned off for headers in these directories. - -Some autoconf macros add @option{-I @var{directory}} options to the -compiler command line, to ensure that directories containing installed -packages' headers are searched. When @var{directory} is one of GCC's -system include directories, GCC will ignore the option so that system -directories continue to be processed in the correct order. This -may result in a search order different from what was specified but the -directory will still be searched. - -GCC automatically searches for ordinary libraries using -@env{GCC_EXEC_PREFIX}. Thus, when the same installation prefix is -used for both GCC and packages, GCC will automatically search for -both headers and libraries. This provides a configuration that is -easy to use. GCC behaves in a manner similar to that when it is -installed as a system compiler in @file{/usr}. - -Sites that need to install multiple versions of GCC may not want to -use the above simple configuration. It is possible to use the -@option{--program-prefix}, @option{--program-suffix} and -@option{--program-transform-name} options to install multiple versions -into a single directory, but it may be simpler to use different prefixes -and the @option{--with-local-prefix} option to specify the location of the -site-specific files for each version. It will then be necessary for -users to specify explicitly the location of local site libraries -(e.g., with @env{LIBRARY_PATH}). - -The same value can be used for both @option{--with-local-prefix} and -@option{--prefix} provided it is not @file{/usr}. This can be used -to avoid the default search of @file{/usr/local/include}. - -@strong{Do not} specify @file{/usr} as the @option{--with-local-prefix}! -The directory you use for @option{--with-local-prefix} @strong{must not} -contain any of the system's standard header files. If it did contain -them, certain programs would be miscompiled (including GNU Emacs, on -certain targets), because this would override and nullify the header -file corrections made by the @command{fixincludes} script. - -Indications are that people who use this option use it based on mistaken -ideas of what it is for. People use it as if it specified where to -install part of GCC@. Perhaps they make this assumption because -installing GCC creates the directory. - -@item --enable-shared[=@var{package}[,@dots{}]] -Build shared versions of libraries, if shared libraries are supported on -the target platform. Unlike GCC 2.95.x and earlier, shared libraries -are enabled by default on all platforms that support shared libraries, -except for @samp{libobjc} which is built as a static library only by -default. - -If a list of packages is given as an argument, build shared libraries -only for the listed packages. For other packages, only static libraries -will be built. Package names currently recognized in the GCC tree are -@samp{libgcc} (also known as @samp{gcc}), @samp{libstdc++} (not -@samp{libstdc++-v3}), @samp{libffi}, @samp{zlib}, @samp{boehm-gc} and -@samp{libjava}. Note that @samp{libobjc} does not recognize itself by -any name, so, if you list package names in @option{--enable-shared}, -you will only get static Objective-C libraries. @samp{libf2c} and -@samp{libiberty} do not support shared libraries at all. - -Use @option{--disable-shared} to build only static libraries. Note that -@option{--disable-shared} does not accept a list of package names as -argument, only @option{--enable-shared} does. - -@item @anchor{with-gnu-as}--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 found -assembler is not actually the GNU assembler. (Confusion will also -result if the compiler finds the GNU assembler but has not been -configured with @option{--with-gnu-as}.) If you have more than one -assembler installed on your system, you may want to use this option in -connection with @option{--with-as=@var{pathname}}. - -The following systems are the only ones where it makes a difference -whether you use the GNU assembler. On any other system, -@option{--with-gnu-as} has no effect. - -@itemize bullet -@item @samp{hppa1.0-@var{any}-@var{any}} -@item @samp{hppa1.1-@var{any}-@var{any}} -@item @samp{i386-@var{any}-sysv} -@item @samp{i386-@var{any}-isc} -@item @samp{i860-@var{any}-bsd} -@item @samp{m68k-bull-sysv} -@item @samp{m68k-hp-hpux} -@item @samp{m68k-sony-bsd} -@item @samp{m68k-altos-sysv} -@item @samp{m68000-hp-hpux} -@item @samp{m68000-att-sysv} -@item @samp{@var{any}-lynx-lynxos} -@item @samp{mips-@var{any}} -@end itemize - -On the systems listed above (except for the HP-PA, for ISC on the -386, and for @samp{mips-sgi-irix5.*}), if you use the GNU assembler, -you should also use the GNU linker (and specify @option{--with-gnu-ld}). - -@item --with-as=@var{pathname} -Specify that the -compiler should use the assembler pointed to by @var{pathname}, rather -than the one found by the standard rules to find an assembler, which -are: -@itemize @bullet -@item -Check the -@file{@var{exec_prefix}/lib/gcc-lib/@var{target}/@var{version}} -directory, where @var{exec_prefix} defaults to @var{prefix} which -defaults to @file{/usr/local} unless overridden by the -@option{--prefix=@var{pathname}} switch described above. @var{target} is the -target system triple, such as @samp{sparc-sun-solaris2.7}, and -@var{version} denotes the GCC version, such as 3.0. -@item -Check operating system specific directories (e.g.@: @file{/usr/ccs/bin} on -Sun Solaris 2). -@end itemize -Note that these rules do not check for the value of @env{PATH}. You may -want to use @option{--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. - -@item @anchor{with-gnu-ld}--with-gnu-ld -Same as @uref{#with-gnu-as,,@option{--with-gnu-as}} -but for linker. - - -@item --with-ld=@var{pathname} -Same as -@option{--with-as}, but for the linker. - -@item --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. - -On MIPS based systems and on Alphas, you must specify whether you want -GCC to create the normal ECOFF debugging format, or to use BSD-style -stabs passed through the ECOFF symbol table. The normal ECOFF debug -format cannot fully handle languages other than C@. BSD stabs format can -handle other languages, but it only works with the GNU debugger GDB@. - -Normally, GCC uses the ECOFF debugging format by default; if you -prefer BSD stabs, specify @option{--with-stabs} when you configure GCC@. - -No matter which default you choose when you configure GCC, the user -can use the @option{-gcoff} and @option{-gstabs+} options to specify explicitly -the debug format for a particular compilation. - -@option{--with-stabs} is meaningful on the ISC system on the 386, also, if -@option{--with-gas} is used. It selects use of stabs debugging -information embedded in COFF output. This kind of debugging information -supports C++ well; ordinary COFF debugging information does not. - -@option{--with-stabs} is also meaningful on 386 systems running SVR4. It -selects use of stabs debugging information embedded in ELF output. The -C++ compiler currently (2.6.0) does not support the DWARF debugging -information normally used on 386 SVR4 platforms; stabs provide a -workable alternative. This requires gas and gdb, as the normal SVR4 -tools can not generate or interpret stabs. - -@item --disable-multilib -Specify that multiple target -libraries to support different target variants, calling -conventions, etc should not be built. The default is to build a -predefined set of them. - -Some targets provide finer-grained control over which multilibs are built -(e.g., @option{--disable-softfloat}): -@table @code -@item arc-*-elf* -biendian. - -@item arm-*-* -fpu, 26bit, underscore, interwork, biendian, nofmult. - -@item m68*-*-* -softfloat, m68881, m68000, m68020. - -@item mips*-*-* -single-float, biendian, softfloat. - -@item powerpc*-*-*, rs6000*-*-* -aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian, -sysv, aix. - -@end table - -@item --enable-threads -Specify that the target -supports threads. This affects the Objective-C compiler and runtime -library, and exception handling for other languages like C++ and Java. -On some systems, this is the default. - -In general, the best (and, in many cases, the only known) threading -model available will be configured for use. Beware that on some -systems, gcc has not been taught what threading models are generally -available for the system. In this case, @option{--enable-threads} is an -alias for @option{--enable-threads=single}. - -@item --disable-threads -Specify that threading support should be disabled for the system. -This is an alias for @option{--enable-threads=single}. - -@item --enable-threads=@var{lib} -Specify that -@var{lib} is the thread support library. This affects the Objective-C -compiler and runtime library, and exception handling for other languages -like C++ and Java. The possibilities for @var{lib} are: - -@table @code -@item aix -AIX thread support. -@item dce -DCE thread support. -@item mach -Generic MACH thread support, known to work on NeXTSTEP@. (Please note -that the file needed to support this configuration, @file{gthr-mach.h}, is -missing and thus this setting will cause a known bootstrap failure.) -@item no -This is an alias for @samp{single}. -@item posix -Generic POSIX thread support. -@item pthreads -Same as @samp{posix} on arm*-*-linux*, *-*-chorusos* and *-*-freebsd* -only. A future release of gcc might remove this alias or extend it -to all platforms. -@item rtems -RTEMS thread support. -@item single -Disable thread support, should work for all platforms. -@item solaris -Sun Solaris 2 thread support. -@item vxworks -VxWorks thread support. -@item win32 -Microsoft Win32 API thread support. -@end table - -@item --with-cpu=@var{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 does not recognize the model name (e.g.@: arm700, -603e, or ultrasparc) you provide, please check the configure script -for a complete list of supported models. - -@item --enable-altivec -Specify that the target supports AltiVec vector enhancements. This -option will adjust the ABI for AltiVec enhancements, as well as generate -AltiVec code when appropriate. This option is only available for -PowerPC systems. - -@item --enable-target-optspace -Specify that target -libraries should be optimized for code space instead of code speed. -This is the default for the m32r platform. - -@item --disable-cpp -Specify that a user visible @command{cpp} program should not be installed. - -@item --with-cpp-install-dir=@var{dirname} -Specify that the user visible @command{cpp} program should be installed -in @file{@var{prefix}/@var{dirname}/cpp}, in addition to @var{bindir}. - -@item --enable-maintainer-mode -The build rules that -regenerate the GCC master message catalog @file{gcc.pot} are normally -disabled. This is because it can only be rebuilt if the complete source -tree is present. If you have changed the sources and want to rebuild the -catalog, configuring with @option{--enable-maintainer-mode} will enable -this. Note that you need a recent version of the @code{gettext} tools -to do so. - -@item --enable-version-specific-runtime-libs -Specify -that runtime libraries should be installed in the compiler specific -subdirectory (@file{@var{libsubdir}}) rather than the usual places. In -addition, @samp{libstdc++}'s include files will be installed in -@file{@var{libsubdir}/include/g++} unless you overruled it by using -@option{--with-gxx-include-dir=@var{dirname}}. Using this option is -particularly useful if you intend to use several versions of GCC in -parallel. This is currently supported by @samp{libf2c} and -@samp{libstdc++}, and is the default for @samp{libobjc} which cannot be -changed in this case. - -@item --enable-languages=@var{lang1},@var{lang2},@dots{} -Specify that only a particular subset of compilers and -their runtime libraries should be built. For a list of valid values for -@var{langN} you can issue the following command in the -@file{gcc} directory of your GCC source tree:@* -@example -grep language= */config-lang.in -@end example -Currently, you can use any of the following: -@code{ada}, @code{c}, @code{c++}, @code{f77}, @code{java}, @code{objc}. -Building the Ada compiler has special requirements, see below.@* -If you do not pass this flag, all languages available in the @file{gcc} -sub-tree will be configured. Re-defining @code{LANGUAGES} when calling -@samp{make bootstrap} @strong{does not} work anymore, as those -language sub-directories might not have been configured! - -@item --disable-libgcj -Specify that the run-time libraries -used by GCJ should not be built. This is useful in case you intend -to use GCJ with some other run-time, or you're going to install it -separately, or it just happens not to build on your particular -machine. In general, if the Java front end is enabled, the GCJ -libraries will be enabled too, unless they're known to not work on -the target platform. If GCJ is enabled but @samp{libgcj} isn't built, you -may need to port it; in this case, before modifying the top-level -@file{configure.in} so that @samp{libgcj} is enabled by default on this platform, -you may use @option{--enable-libgcj} to override the default. - -@item --with-dwarf2 -Specify that the compiler should -use DWARF 2 debugging information as the default. - -@item --enable-win32-registry -@itemx --enable-win32-registry=@var{key} -@itemx --disable-win32-registry -The @option{--enable-win32-registry} option enables Windows-hosted GCC -to look up installations paths in the registry using the following key: - -@smallexample -@code{HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\@var{key}} -@end smallexample - -@var{key} defaults to GCC version number, and can be overridden by the -@option{--enable-win32-registry=@var{key}} option. Vendors and distributors -who use custom installers are encouraged to provide a different key, -perhaps one comprised of vendor name and GCC version number, to -avoid conflict with existing installations. This feature is enabled -by default, and can be disabled by @option{--disable-win32-registry} -option. This option has no effect on the other hosts. - -@item --nfp -Specify that the machine does not have a floating point unit. This -option only applies to @samp{m68k-sun-sunos@var{n}} and -@samp{m68k-isi-bsd}. On any other system, @option{--nfp} has no effect. - -@item --enable-checking -@itemx --enable-checking=@var{list} -When you specify this option, the compiler is built to perform checking -of tree node types when referencing fields of that node, and some other -internal consistency checks. This does not change the generated code, -but adds error checking within the compiler. This will slow down the -compiler and may only work properly if you are building the compiler -with GCC@. This is on by default when building from CVS or snapshots, -but off for releases. More control over the checks may be had by -specifying @var{list}; the categories of checks available are -@samp{misc}, @samp{tree}, @samp{gc}, @samp{rtl} and @samp{gcac}. The -default when @var{list} is not specified is @samp{misc,tree,gc}; the -checks @samp{rtl} and @samp{gcac} are very expensive. - -@item --enable-nls -@itemx --disable-nls -The @option{--enable-nls} option enables Native Language Support (NLS), -which lets GCC output diagnostics in languages other than American -English. Native Language Support is enabled by default if not doing a -canadian cross build. The @option{--disable-nls} option disables NLS@. - -@item --with-included-gettext -If NLS is enabled, the @option{--with-included-gettext} option causes the build -procedure to prefer its copy of GNU @command{gettext}. - -@item --with-catgets -If NLS is enabled, and if the host lacks @code{gettext} but has the -inferior @code{catgets} interface, the GCC build procedure normally -ignores @code{catgets} and instead uses GCC's copy of the GNU -@code{gettext} library. The @option{--with-catgets} option causes the -build procedure to use the host's @code{catgets} in this situation. - -@item --with-libiconv-prefix=@var{dir} -Search for libiconv header files in @file{@var{dir}/include} and -libiconv library files in @file{@var{dir}/lib}. - -@item --with-system-zlib -Use installed zlib rather than that included with GCC@. This option -only applies if the Java front end is being built. - -@item --enable-obsolete -Enable configuration for an obsoleted system. If you attempt to -configure GCC for a system (build, host, or target) which has been -obsoleted, and you do not specify this flag, configure will halt with an -error message. - -All support for systems which have been obsoleted in one release of GCC -is removed entirely in the next major release, unless someone steps -forward to maintain the port. -@end table - -Some options which only apply to building cross compilers: -@table @code -@item --with-headers=@var{dir} -Specifies a directory -which has target include files. -@emph{This option is required} when building a cross -compiler, if @file{@var{prefix}/@var{target}/sys-include} doesn't pre-exist. -These include files will be copied into the @file{gcc} install directory. -@command{fixincludes} will be run on these files to make them compatible with -GCC. -@item --with-libs=``@var{dir1} @var{dir2} @dots{} @var{dirN}'' -Specifies a list of directories which contain the target runtime -libraries. These libraries will be copied into the @file{gcc} install -directory. -@item --with-newlib -Specifies that @samp{newlib} is -being used as the target C library. This causes @code{__eprintf} to be -omitted from @file{libgcc.a} on the assumption that it will be provided by -@samp{newlib}. -@end table - -Note that each @option{--enable} option has a corresponding -@option{--disable} option and that each @option{--with} option has a -corresponding @option{--without} option. - -@html -<hr /> -<p> -@end html -@ifhtml -@uref{./index.html,,Return to the GCC Installation page} -@end ifhtml -@end ifset - -@c ***Building**************************************************************** -@ifnothtml -@comment node-name, next, previous, up -@node Building, Testing, Configuration, Installing GCC -@end ifnothtml -@ifset buildhtml -@ifnothtml -@chapter Building -@end ifnothtml -@cindex Installing GCC: Building - -Now that GCC is configured, you are ready to build the compiler and -runtime libraries. - -We @strong{highly} recommend that GCC be built using GNU make; -other versions may work, then again they might not. -GNU make is required for compiling GNAT (the Ada compiler) and the Java -runtime library. - -(For example, many broken versions of make will fail if you use the -recommended setup where @var{objdir} is different from @var{srcdir}. -Other broken versions may recompile parts of the compiler when -installing the compiler.) - -Some commands executed when making the compiler may fail (return a -nonzero status) and be ignored by @code{make}. These failures, which -are often due to files that were not found, are expected, and can safely -be ignored. - -It is normal to have compiler warnings when compiling certain files. -Unless you are a GCC developer, you can generally ignore these warnings -unless they cause compilation to fail. - -On certain old systems, defining certain environment variables such as -@env{CC} can interfere with the functioning of @command{make}. - -If you encounter seemingly strange errors when trying to build the -compiler in a directory other than the source directory, it could be -because you have previously configured the compiler in the source -directory. Make sure you have done all the necessary preparations. - -If you build GCC on a BSD system using a directory stored in an old System -V file system, problems may occur in running @command{fixincludes} if the -System V file system doesn't support symbolic links. These problems -result in a failure to fix the declaration of @code{size_t} in -@file{sys/types.h}. If you find that @code{size_t} is a signed type and -that type mismatches occur, this could be the cause. - -The solution is not to use such a directory for building GCC@. - -When building from CVS or snapshots, or if you modify parser sources, -you need the Bison parser generator installed. Any version 1.25 or -later should work; older versions may also work. If you do not modify -parser sources, releases contain the Bison-generated files and you do -not need Bison installed to build them. - -When building from CVS or snapshots, or if you modify Texinfo -documentation, you need version 4.1 or later of Texinfo installed if you -want Info documentation to be regenerated. Releases contain Info -documentation pre-built for the unmodified documentation in the release. - -@section Building a native compiler - -For a native build issue the command @samp{make bootstrap}. This -will build the entire GCC system, which includes the following steps: - -@itemize @bullet -@item -Build host tools necessary to build the compiler such as texinfo, bison, -gperf. - -@item -Build target tools for use by the compiler such as binutils (bfd, -binutils, gas, gprof, ld, and opcodes) -if they have been individually linked -or moved into the top level GCC source tree before configuring. - -@item -Perform a 3-stage bootstrap of the compiler. - -@item -Perform a comparison test of the stage2 and stage3 compilers. - -@item -Build runtime libraries using the stage3 compiler from the previous step. - -@end itemize - -If you are short on disk space you might consider @samp{make -bootstrap-lean} instead. This is identical to @samp{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 as in the following example. This will save -roughly 40% of disk space both for the bootstrap and the final installation. -(Libraries will still contain debugging information.) - -@example - make CFLAGS='-O' LIBCFLAGS='-g -O2' \ - LIBCXXFLAGS='-g -O2 -fno-implicit-templates' bootstrap -@end example - -If you wish to use non-default GCC flags when compiling the stage2 and -stage3 compilers, set @code{BOOT_CFLAGS} on the command line when doing -@samp{make bootstrap}. Non-default optimization flags are less well -tested here than the default of @samp{-g -O2}, but should still work. -In a few cases, you may find that you need to specify special flags such -as @option{-msoft-float} here to complete the bootstrap; or, if the -native compiler miscompiles the stage1 compiler, you may need to work -around this, by choosing @code{BOOT_CFLAGS} to avoid the parts of the -stage1 compiler that were miscompiled, or by using @samp{make -bootstrap4} to increase the number of stages of bootstrap. - -If you used the flag @option{--enable-languages=@dots{}} 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 @env{LANGUAGES} when calling @samp{make bootstrap} -@strong{does not} work anymore! - -If the comparison of stage2 and stage3 fails, this normally indicates -that the stage2 compiler has compiled GCC incorrectly, and is therefore -a potentially serious bug which you should investigate and report. (On -a few systems, meaningful comparison of object files is impossible; they -always appear ``different''. If you encounter this problem, you will -need to disable comparison in the @file{Makefile}.) - -@section Building a cross compiler - -We recommend reading the -@uref{http://www.objsw.com/CrossGCC/,,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. The installed native compiler needs to be GCC version -2.95 or later. - -Assuming you have already installed a native copy of GCC and configured -your cross compiler, issue the command @command{make}, which performs the -following steps: - -@itemize @bullet -@item -Build host tools necessary to build the compiler such as texinfo, bison, -gperf. - -@item -Build target tools for use by the compiler such as binutils (bfd, -binutils, gas, gprof, ld, and opcodes) -if they have been individually linked or moved into the top level GCC source -tree before configuring. - -@item -Build the compiler (single stage only). - -@item -Build runtime libraries using the compiler from the previous step. -@end itemize - -Note that if an error occurs in any step the make process will exit. - -@section Building in parallel - -If you have a multiprocessor system you can use @samp{make bootstrap -MAKE="make -j 2" -j 2} or just @samp{make -j 2 bootstrap} -for GNU Make 3.79 and above instead of just @samp{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. - -@section Building the Ada compiler - -In order to build GNAT, the Ada compiler, you need a working GNAT -compiler (GNAT version 3.13 or later, or GCC version 3.1 or later), -since the Ada front end is written in Ada (with some -GNAT-specific extensions), and GNU make. - -However, you do not need a full installation of GNAT, just the GNAT -binary @file{gnat1}, a copy of @file{gnatbind}, and a compiler driver -which can deal with Ada input (by invoking the @file{gnat1} binary). -You can specify this compiler driver by setting the @env{ADAC} -environment variable at the configure step. @command{configure} can -detect the driver automatically if it has got a common name such as -@command{gcc} or @command{gnatgcc}. Of course, you still need a working -C compiler (the compiler driver can be different or not). -@command{configure} does not test whether the GNAT installation works -and has a sufficiently recent version; if too old a GNAT version is -installed, the build will fail unless @option{--enable-languages} is -used to disable building the Ada front end. - -Additional build tools (such as @command{gnatmake}) or a working GNAT -run-time library installation are usually @emph{not} required. However, -if you want to bootstrap the compiler using a minimal version of GNAT, -you have to issue the following commands before invoking @samp{make -bootstrap} (this assumes that you start with an unmodified and consistent -source distribution): - -@example - cd @var{srcdir}/gcc/ada - touch treeprs.ads [es]info.h nmake.ad[bs] -@end example - -At the moment, the GNAT library and several tools for GNAT are not built -by @samp{make bootstrap}. You have to invoke -@samp{make gnatlib_and_tools} in the @file{@var{objdir}/gcc} -subdirectory before proceeding with the next steps. - -For example, you can build a native Ada compiler by issuing the -following commands (assuming @command{make} is GNU make): - -@example - cd @var{objdir} - @var{srcdir}/configure --enable-languages=c,ada - cd @var{srcdir}/gcc/ada - touch treeprs.ads [es]info.h nmake.ad[bs] - cd @var{objdir} - make bootstrap - cd gcc - make gnatlib_and_tools - cd .. -@end example - -Currently, when compiling the Ada front end, you cannot use the parallel -build feature described in the previous section. - -@html -<hr /> -<p> -@end html -@ifhtml -@uref{./index.html,,Return to the GCC Installation page} -@end ifhtml -@end ifset - -@c ***Testing***************************************************************** -@ifnothtml -@comment node-name, next, previous, up -@node Testing, Final install, Building, Installing GCC -@end ifnothtml -@ifset testhtml -@ifnothtml -@chapter Installing GCC: Testing -@end ifnothtml -@cindex Testing -@cindex Installing GCC: Testing -@cindex Testsuite - -Before you install GCC, we encourage you to run the testsuites and to -compare your results with results from a similar configuration that have -been submitted to the -@uref{http://gcc.gnu.org/ml/gcc-testresults/,,gcc-testresults mailing list}. -This step is optional and may require you to download additional software, -but it can give you confidence in your new GCC installation or point out -problems before you install and start using your new GCC. - -First, you must have @uref{download.html,,downloaded the testsuites}. -These are part of the full distribution, but if you downloaded the -``core'' compiler plus any front ends, you must download the testsuites -separately. - -Second, you must have the testing tools installed. This includes -a @uref{http://www.gnu.org/software/dejagnu/,,current version of DejaGnu}; -dejagnu 1.3 is not sufficient. -It also includes Tcl and Expect; the DejaGnu site has links to these. - -Now you may need specific preparations: - -@itemize @bullet - -@item -The following environment variables may need to be set appropriately, as in -the following example (which assumes that DejaGnu has been installed -under @file{/usr/local}): - -@example - TCL_LIBRARY = /usr/local/share/tcl8.0 - DEJAGNULIBS = /usr/local/share/dejagnu -@end example - -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. - -If the directories where @command{runtest} and @command{expect} were -installed are in the @env{PATH}, it should not be necessary to set these -environment variables. - -@end itemize - -Finally, you can run the testsuite (which may take a long time): -@example - cd @var{objdir}; make -k check -@end example - -The testing process will try to test as many components in the GCC -distribution as possible, including the C, C++, Objective-C and Fortran -compilers as well as the C++ and Java runtime libraries. - -While running the testsuite, DejaGnu might emit messages resembling -@samp{WARNING: Couldn't find the global config file.} or -@samp{WARNING: Couldn't find tool init file}. -These messages are harmless and do not affect the validity of the tests. - -@section 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 @samp{make check-gcc} or @samp{make check-g++} -in the @file{gcc} subdirectory of the object directory. To further cut down the -tests the following is possible: - -@example - make check-gcc RUNTESTFLAGS="execute.exp @var{other-options}" -@end example - -This will run all @command{gcc} execute tests in the testsuite. - -@example - make check-g++ RUNTESTFLAGS="old-deja.exp=9805* @var{other-options}" -@end example - -This will run the @command{g++} ``old-deja'' tests in the testsuite where the filename -matches @samp{9805*}. - -The @file{*.exp} files are located in the testsuite directories of the GCC -source, the most important ones being @file{compile.exp}, -@file{execute.exp}, @file{dg.exp} and @file{old-deja.exp}. -To get a list of the possible @file{*.exp} files, pipe the -output of @samp{make check} into a file and look at the -@samp{Running @dots{} .exp} lines. - -To run only the tests for a library, run @samp{make check} from the -the library's testsuite in a subdirectory of the object directory: -@file{libstdc++-v3/testsuite} or @file{libcgj/testsuite}. - -@section Additional testing for Java Class Libraries - -The @uref{http://sources.redhat.com/mauve/,,Mauve Project} provides -a suite of tests for the Java Class Libraries. This suite can be run -as part of libgcj testing by specifying the location of the Mauve tree -when invoking @samp{make}, as in @samp{make MAUVEDIR=~/mauve check}. - -@section How to interpret test results - -After the testsuite has run you'll find various @file{*.sum} and @file{*.log} -files in the testsuite subdirectories. The @file{*.log} files contain a -detailed log of the compiler invocations and the corresponding -results, the @file{*.sum} files summarize the results. These summaries list -all the tests that have been run with a corresponding status code: - -@itemize @bullet -@item -PASS: the test passed as expected -@item -XPASS: the test unexpectedly passed -@item -FAIL: the test unexpectedly failed -@item -XFAIL: the test failed as expected -@item -UNSUPPORTED: the test is not supported on this platform -@item -ERROR: the testsuite detected an error -@item -WARNING: the testsuite detected a possible problem -@end itemize - -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. - - -@section Submitting test results - -If you want to report the results to the GCC project, use the -@file{contrib/test_summary} shell script. Start it in the @var{objdir} with - -@example - @var{srcdir}/contrib/test_summary -p your_commentary.txt \ - -m gcc-testresults@@gcc.gnu.org |sh -@end example - -This script uses the @command{Mail} program to send the results, so -make sure it is in your @env{PATH}. The file @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 -@uref{http://gcc.gnu.org/testresults/,,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. - -@html -<hr /> -<p> -@end html -@ifhtml -@uref{./index.html,,Return to the GCC Installation page} -@end ifhtml -@end ifset - -@c ***Final install*********************************************************** -@ifnothtml -@comment node-name, next, previous, up -@node Final install, , Testing, Installing GCC -@end ifnothtml -@ifset finalinstallhtml -@ifnothtml -@chapter Installing GCC: Final installation -@end ifnothtml - -Now that GCC has been built (and optionally tested), you can install it with -@example -cd @var{objdir}; make install -@end example - -We strongly recommend to install into a target directory where there is -no previous version of GCC present. - -That step completes the installation of GCC; user level binaries can -be found in @file{@var{prefix}/bin} where @var{prefix} is the value you -specified with the @option{--prefix} to configure (or @file{/usr/local} -by default). (If you specified @option{--bindir}, that directory will -be used instead; otherwise, if you specified @option{--exec-prefix}, -@file{@var{exec-prefix}/bin} will be used.) Headers for the C++ and -Java libraries are installed in @file{@var{prefix}/include}; libraries -in @file{@var{libdir}} (normally @file{@var{prefix}/lib}); internal -parts of the compiler in @file{@var{libdir}/gcc-lib}; documentation in -info format in @file{@var{infodir}} (normally @file{@var{prefix}/info}). - -If you built a released version of GCC using @samp{make bootstrap} then please -quickly review the build status page for your release, available from -@uref{http://gcc.gnu.org/buildstat.html}. -If your system is not listed for the version of GCC that you built, -send a note to -@email{gcc@@gcc.gnu.org} indicating -that you successfully built and installed GCC. -Include the following information: - -@itemize @bullet -@item -Output from running @file{@var{srcdir}/config.guess}. Do not send us -that file itself, just the one-line output from running it. - -@item -The output of @samp{gcc -v} for your newly installed gcc. -This tells us which version of GCC you built and the options you passed to -configure. - -@item -Whether you enabled all languages or a subset of them. If you used a -full distribution then this information is part of the configure -options in the output of @samp{gcc -v}, but if you downloaded the -``core'' compiler plus additional front ends then it isn't apparent -which ones you built unless you tell us about it. - -@item -If the build was for GNU/Linux, also include: -@itemize @bullet -@item -The distribution name and version (e.g., Red Hat 7.1 or Debian 2.2.3); -this information should be available from @file{/etc/issue}. - -@item -The version of the Linux kernel, available from @samp{uname --version} -or @samp{uname -a}. - -@item -The version of glibc you used; for RPM-based systems like Red Hat, -Mandrake, and SuSE type @samp{rpm -q glibc} to get the glibc version, -and on systems like Debian and Progeny use @samp{dpkg -l libc6}. -@end itemize -For other systems, you can include similar information if you think it is -relevant. - -@item -Any other information that you think would be useful to people building -GCC on the same configuration. The new entry in the build status list -will include a link to the archived copy of your message. -@end itemize - -We'd also like to know if the -@ifnothtml -@ref{Specific, host/target specific installation notes} -@end ifnothtml -@ifhtml -@uref{specific.html,,host/target specific installation notes} -@end ifhtml -didn't include your host/target information or if that information is -incomplete or out of date. Send a note to -@email{gcc@@gcc.gnu.org} telling us how the information should be changed. - -If you find a bug, please report it following our -@uref{../bugs.html,,bug reporting guidelines}. - -If you want to print the GCC manuals, do @samp{cd @var{objdir}; make -dvi}. You will need to have @command{texi2dvi} (version at least 4.1) -and @TeX{} installed. This creates a number of @file{.dvi} files in -subdirectories of @file{@var{objdir}}; these may be converted for -printing with programs such as @command{dvips}. You can also -@uref{http://www.gnu.org/order/order.html,,buy printed manuals from the -Free Software Foundation}, though such manuals may not be for the most -recent version of GCC@. - -@html -<hr /> -<p> -@end html -@ifhtml -@uref{./index.html,,Return to the GCC Installation page} -@end ifhtml -@end ifset - -@c ***Binaries**************************************************************** -@ifnothtml -@comment node-name, next, previous, up -@node Binaries, Specific, Installing GCC, Top -@end ifnothtml -@ifset binarieshtml -@ifnothtml -@chapter Installing GCC: Binaries -@end ifnothtml -@cindex Binaries -@cindex 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. - -@itemize -@item -AIX: -@itemize -@item -@uref{http://www.bullfreeware.com,,Bull's Freeware and Shareware Archive for AIX}; - -@item -@uref{http://aixpdslib.seas.ucla.edu,,UCLA Software Library for AIX}. -@end itemize - -@item -DOS---@uref{http://www.delorie.com/djgpp/,,DJGPP}. - -@item -Hitachi H8/300[HS]---@uref{http://h8300-hms.sourceforge.net/,,GNU -Development Tools for the Hitachi H8/300[HS] Series}. - -@item -HP-UX: -@itemize -@item -@uref{http://hpux.cae.wisc.edu/,,HP-UX Porting Center}; - -@item -@uref{ftp://sunsite.informatik.rwth-aachen.de/pub/packages/gcc_hpux/,,Binaries for HP-UX 11.00 at Aachen University of Technology}. -@end itemize - -@item -@uref{http://www.sco.com/skunkware/devtools/index.html#gcc,,SCO -OpenServer/Unixware}. - -@item -Sinix/Reliant Unix---@uref{ftp://ftp.siemens.de/sni/mr/pd/gnu/gcc,,Siemens}. - -@item -Solaris 2 (SPARC, Intel)---@uref{http://www.sunfreeware.com/,,Sunfreeware}. - -@item -SGI---@uref{http://freeware.sgi.com/,,SGI Freeware}. - -@item -Windows 95, 98, and NT: -@itemize -@item -The @uref{http://sources.redhat.com/cygwin/,,Cygwin} project; -@item -The @uref{http://www.mingw.org/,,MinGW} project. -@end itemize - -@item -@uref{ftp://ftp.thewrittenword.com/packages/free/by-name/,,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. - -@end itemize - -In addition to those specific offerings, you can get a binary -distribution CD-ROM from the -@uref{http://www.fsf.org/order/order.html,,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. - -@html -<hr /> -<p> -@end html -@ifhtml -@uref{./index.html,,Return to the GCC Installation page} -@end ifhtml -@end ifset - -@c ***Specific**************************************************************** -@ifnothtml -@comment node-name, next, previous, up -@node Specific, Old, Binaries, Top -@end ifnothtml -@ifset specifichtml -@ifnothtml -@chapter Host/target specific installation notes for GCC -@end ifnothtml -@cindex Specific -@cindex Specific installation notes -@cindex Target specific installation -@cindex Host specific installation -@cindex Target specific installation notes - -Please read this document carefully @emph{before} installing the -GNU Compiler Collection on your machine. - -@ifhtml -@itemize -@item -@uref{#1750a-*-*,,1750a-*-*} -@item -@uref{#a29k,,a29k} -@item -@uref{#a29k-*-bsd,,a29k-*-bsd} -@item -@uref{#alpha*-*-*,,alpha*-*-*} -@item -@uref{#alpha*-dec-osf*,,alpha*-dec-osf*} -@item -@uref{#alphaev5-cray-unicosmk*,,alphaev5-cray-unicosmk*} -@item -@uref{#arc-*-elf,,arc-*-elf} -@item -@uref{#arm-*-aout,,arm-*-aout} -@item -@uref{#arm-*-elf,,arm-*-elf} -@item -@uref{#arm*-*-linux-gnu,,arm*-*-linux-gnu} -@item -@uref{#arm-*-riscix,,arm-*-riscix} -@item -@uref{#avr,,avr} -@item -@uref{#c4x,,c4x} -@item -@uref{#dos,,DOS} -@item -@uref{#dsp16xx,,dsp16xx} -@item -@uref{#elxsi-elxsi-bsd,,elxsi-elxsi-bsd} -@item -@uref{#*-*-freebsd*,,*-*-freebsd*} -@item -@uref{#h8300-hms,,h8300-hms} -@item -@uref{#hppa*-hp-hpux*,,hppa*-hp-hpux*} -@item -@uref{#hppa*-hp-hpux9,,hppa*-hp-hpux9} -@item -@uref{#hppa*-hp-hpux10,,hppa*-hp-hpux10} -@item -@uref{#hppa*-hp-hpux11,,hppa*-hp-hpux11} -@item -@uref{#i370-*-*,,i370-*-*} -@item -@uref{#*-*-linux-gnu,,*-*-linux-gnu} -@item -@uref{#ix86-*-linux*oldld,,i?86-*-linux*oldld} -@item -@uref{#ix86-*-linux*aout,,i?86-*-linux*aout} -@item -@uref{#ix86-*-linux*,,i?86-*-linux*} -@item -@uref{#ix86-*-sco,,i?86-*-sco} -@item -@uref{#ix86-*-sco3.2v4,,i?86-*-sco3.2v4} -@item -@uref{#ix86-*-sco3.2v5*,,i?86-*-sco3.2v5*} -@item -@uref{#ix86-*-udk,,i?86-*-udk} -@item -@uref{#ix86-*-isc,,i?86-*-isc} -@item -@uref{#ix86-*-esix,,i?86-*-esix} -@item -@uref{#ix86-ibm-aix,,i?86-ibm-aix} -@item -@uref{#ix86-sequent-bsd,,i?86-sequent-bsd} -@item -@uref{#ix86-sequent-ptx1*,,i?86-sequent-ptx1*, i?86-sequent-ptx2*, i?86-sequent-sysv3*} -@item -@uref{#i860-intel-osf*,,i860-intel-osf*} -@item -@uref{#ia64-*-linux,,ia64-*-linux} -@item -@uref{#*-lynx-lynxos,,*-lynx-lynxos} -@item -@uref{#*-ibm-aix*,,*-ibm-aix*} -@item -@uref{#m32r-*-elf,,m32r-*-elf} -@item -@uref{#m68000-hp-bsd,,m68000-hp-bsd} -@item -@uref{#m6811-elf,,m6811-elf} -@item -@uref{#m6812-elf,,m6812-elf} -@item -@uref{#m68k-altos,,m68k-altos} -@item -@uref{#m68k-apple-aux,,m68k-apple-aux} -@item -@uref{#m68k-att-sysv,,m68k-att-sysv} -@item -@uref{#m68k-bull-sysv,,m68k-bull-sysv} -@item -@uref{#m68k-crds-unos,,m68k-crds-unos} -@item -@uref{#m68k-hp-hpux,,m68k-hp-hpux} -@item -@uref{#m68k-*-nextstep*,,m68k-*-nextstep*} -@item -@uref{#m68k-ncr-*,,m68k-ncr-*} -@item -@uref{#m68k-sun,,m68k-sun} -@item -@uref{#m68k-sun-sunos4.1.1,,m68k-sun-sunos4.1.1} -@item -@uref{#m88k-*-svr3,,m88k-*-svr3} -@item -@uref{#m88k-*-dgux,,m88k-*-dgux} -@item -@uref{#m88k-tektronix-sysv3,,m88k-tektronix-sysv3} -@item -@uref{#mips-*-*,,mips-*-*} -@item -@uref{#mips-dec-*,,mips-dec-*} -@item -@uref{#mips-mips-bsd,,mips-mips-bsd} -@item -@uref{#mips-mips-riscos*,,mips-mips-riscos*} -@item -@uref{#mips-sgi-irix4,,mips-sgi-irix4} -@item -@uref{#mips-sgi-irix5,,mips-sgi-irix5} -@item -@uref{#mips-sgi-irix6,,mips-sgi-irix6} -@item -@uref{#mips-sony-sysv,,mips-sony-sysv} -@item -@uref{#ns32k-encore,,ns32k-encore} -@item -@uref{#ns32k-*-genix,,ns32k-*-genix} -@item -@uref{#ns32k-sequent,,ns32k-sequent} -@item -@uref{#ns32k-utek,,ns32k-utek} -@item -@uref{#powerpc*-*-*,,powerpc*-*-*, powerpc-*-sysv4} -@item -@uref{#powerpc-*-darwin*,,powerpc-*-darwin*} -@item -@uref{#powerpc-*-elf,,powerpc-*-elf, powerpc-*-sysv4} -@item -@uref{#powerpc-*-linux-gnu*,,powerpc-*-linux-gnu*} -@item -@uref{#powerpc-*-netbsd*,,powerpc-*-netbsd*} -@item -@uref{#powerpc-*-eabiaix,,powerpc-*-eabiaix} -@item -@uref{#powerpc-*-eabisim,,powerpc-*-eabisim} -@item -@uref{#powerpc-*-eabi,,powerpc-*-eabi} -@item -@uref{#powerpcle-*-elf,,powerpcle-*-elf, powerpcle-*-sysv4} -@item -@uref{#powerpcle-*-eabisim,,powerpcle-*-eabisim} -@item -@uref{#powerpcle-*-eabi,,powerpcle-*-eabi} -@item -@uref{#powerpcle-*-winnt,,powerpcle-*-winnt, powerpcle-*-pe} -@item -@uref{#romp-*-aos,,romp-*-aos, romp-*-mach} -@item -@uref{#s390-*-linux*} -@item -@uref{#s390x-*-linux*} -@item -@uref{#*-*-solaris2*,,*-*-solaris2*} -@item -@uref{#sparc-sun-solaris2*,,sparc-sun-solaris2*} -@item -@uref{#sparc-sun-solaris2.7,,sparc-sun-solaris2.7} -@item -@uref{#sparc-sun-sunos4*,,sparc-sun-sunos4*} -@item -@uref{#sparc-unknown-linux-gnulibc1,,sparc-unknown-linux-gnulibc1} -@item -@uref{#sparc-*-linux*,,sparc-*-linux*} -@item -@uref{#sparc64-*-*,,sparc64-*-*} -@item -@uref{#sparcv9-*-solaris2*,,sparcv9-*-solaris2*} -@item -@uref{#*-*-sysv*,,*-*-sysv*} -@item -@uref{#vax-dec-ultrix,,vax-dec-ultrix} -@item -@uref{#we32k-*-*,,we32k-*-*} -@item -@uref{#xtensa-*-elf,,xtensa-*-elf} -@item -@uref{#xtensa-*-linux*,,xtensa-*-linux*} -@item -@uref{#windows,,Microsoft Windows} -@item -@uref{#os2,,OS/2} -@item -@uref{#older,,Older systems} -@end itemize - -@itemize -@item -@uref{#elf_targets,,all ELF targets} (SVR4, Solaris 2, etc.) -@end itemize -@end ifhtml - - -@html -<!-- -------- host/target specific issues start here ---------------- --> -<hr /> -@end html -@heading @anchor{1750a-*-*}1750a-*-* -MIL-STD-1750A processors. This target is obsoleted in GCC 3.1. - -The MIL-STD-1750A cross configuration produces output for -@code{as1750}, an assembler/linker available under the GNU General Public -License for the 1750A@. @code{as1750} can be obtained at -@uref{ftp://ftp.fta-berlin.de/pub/crossgcc/1750gals/}. -A similarly licensed simulator for -the 1750A is available from same address. - -You should ignore a fatal error during the building of @samp{libgcc} -(@samp{libgcc} is not yet implemented for the 1750A@.) - -The @code{as1750} assembler requires the file @file{ms1750.inc}, which is -found in the directory @file{gcc/config/1750a}. - -GCC produced the same sections as the Fairchild F9450 C Compiler, -namely: - -@table @code -@item Normal -The program code section. - -@item Static -The read/write (RAM) data section. - -@item Konst -The read-only (ROM) constants section. - -@item Init -Initialization section (code to copy KREL to SREL)@. -@end table - -The smallest addressable unit is 16 bits (@code{BITS_PER_UNIT} is 16). This -means that type @code{char} is represented with a 16-bit word per character. -The 1750A's ``Load/Store Upper/Lower Byte'' instructions are not used by -GCC@. - -@html -<hr /> -@end html -@heading @anchor{a29k}a29k -AMD Am29k-family processors. These are normally used in embedded -applications. This configuration corresponds to AMD's standard calling -sequence and binary interface and is compatible with other 29k tools. - -AMD has abandoned this processor. All existing a29k targets are obsoleted -in GCC 3.1. - -You may need to make a variant of the file @file{a29k.h} for your -particular configuration. - -@html -<hr /> -@end html -@heading @anchor{a29k-*-bsd}a29k-*-bsd -AMD Am29050 used in a system running a variant of BSD Unix. - -@html -<hr /> -@end html -@heading @anchor{alpha*-*-*}alpha*-*-* - -This section contains general configuration information for all -alpha-based platforms using ELF (in particular, ignore this section for -DEC OSF/1, Digital UNIX and Tru64 UNIX)@. In addition to reading this -section, please read all other sections that match your target. - -We require binutils 2.11.2 or newer. -Previous binutils releases had a number of problems with DWARF 2 -debugging information, not the least of which is incorrect linking of -shared libraries. - -@html -<hr /> -@end html -@heading @anchor{alpha*-dec-osf*}alpha*-dec-osf* -Systems using processors that implement the DEC Alpha architecture and -are running the DEC/Compaq Unix (DEC OSF/1, Digital UNIX, or Compaq -Tru64 UNIX) operating system, for example the DEC Alpha AXP systems. - -Support for versions before @code{alpha*-dec-osf4} is obsoleted in GCC -3.1. (These are the versions which identify themselves as DEC OSF/1.) - -In Digital Unix V4.0, virtual memory exhausted bootstrap failures -may be fixed by configuring with @option{--with-gc=simple}, -reconfiguring Kernel Virtual Memory and Swap parameters -per the @command{/usr/sbin/sys_check} Tuning Suggestions, -or applying the patch in -@uref{http://gcc.gnu.org/ml/gcc/2002-08/msg00822.html}. - -In Tru64 UNIX V5.1, Compaq introduced a new assembler that does not -currently (2001-06-13) work with @command{mips-tfile}. As a workaround, -we need to use the old assembler, invoked via the barely documented -@option{-oldas} option. To bootstrap GCC, you either need to use the -Compaq C Compiler: - -@example - % CC=cc @var{srcdir}/configure [@var{options}] [@var{target}] -@end example - -or you can use a copy of GCC 2.95.3 or higher built on Tru64 UNIX V4.0: - -@example - % CC=gcc -Wa,-oldas @var{srcdir}/configure [@var{options}] [@var{target}] -@end example - -As of GNU binutils 2.11.2, neither GNU @command{as} nor GNU @command{ld} -are supported on Tru64 UNIX, so you must not configure GCC with -@option{--with-gnu-as} or @option{--with-gnu-ld}. - -The @option{--enable-threads} options isn't supported yet. A patch is -in preparation for a future release. - -GCC writes a @samp{.verstamp} directive to the assembler output file -unless it is built as a cross-compiler. It gets the version to use from -the system header file @file{/usr/include/stamp.h}. If you install a -new version of DEC Unix, you should rebuild GCC to pick up the new version -stamp. - -Note that since the Alpha is a 64-bit architecture, cross-compilers from -32-bit machines will not generate code as efficient as that generated -when the compiler is running on a 64-bit machine because many -optimizations that depend on being able to represent a word on the -target in an integral value on the host cannot be performed. Building -cross-compilers on the Alpha for 32-bit machines has only been tested in -a few cases and may not work properly. - -@code{make compare} may fail on old versions of DEC Unix unless you add -@option{-save-temps} to @code{CFLAGS}. On these systems, the name of the -assembler input file is stored in the object file, and that makes -comparison fail if it differs between the @code{stage1} and -@code{stage2} compilations. The option @option{-save-temps} forces a -fixed name to be used for the assembler input file, instead of a -randomly chosen name in @file{/tmp}. Do not add @option{-save-temps} -unless the comparisons fail without that option. If you add -@option{-save-temps}, you will have to manually delete the @samp{.i} and -@samp{.s} files after each series of compilations. - -GCC now supports both the native (ECOFF) debugging format used by DBX -and GDB and an encapsulated STABS format for use only with GDB@. See the -discussion of the @option{--with-stabs} option of @file{configure} above -for more information on these formats and how to select them. - -There is a bug in DEC's assembler that produces incorrect line numbers -for ECOFF format when the @samp{.align} directive is used. To work -around this problem, GCC will not emit such alignment directives -while writing ECOFF format debugging information even if optimization is -being performed. Unfortunately, this has the very undesirable -side-effect that code addresses when @option{-O} is specified are -different depending on whether or not @option{-g} is also specified. - -To avoid this behavior, specify @option{-gstabs+} and use GDB instead of -DBX@. DEC is now aware of this problem with the assembler and hopes to -provide a fix shortly. - -@html -<hr /> -@end html -@heading @anchor{alphaev5-cray-unicosmk*}alphaev5-cray-unicosmk* -Cray T3E systems running Unicos/Mk. - -This port is incomplete and has many known bugs. We hope to improve the -support for this target soon. Currently, only the C front end is supported, -and it is not possible to build parallel applications. Cray modules are not -supported; in particular, Craylibs are assumed to be in -@file{/opt/ctl/craylibs/craylibs}. - -You absolutely @strong{must} use GNU make on this platform. Also, you -need to tell GCC where to find the assembler and the linker. The -simplest way to do so is by providing @option{--with-as} and -@option{--with-ld} to @file{configure}, e.g.@: - -@example - configure --with-as=/opt/ctl/bin/cam --with-ld=/opt/ctl/bin/cld \ - --enable-languages=c -@end example - -The comparison test during @samp{make bootstrap} fails on Unicos/Mk -because the assembler inserts timestamps into object files. You should -be able to work around this by doing @samp{make all} after getting this -failure. - -@html -<hr /> -@end html -@heading @anchor{arc-*-elf}arc-*-elf -Argonaut ARC processor. -This configuration is intended for embedded systems. - -@html -<hr /> -@end html -@heading @anchor{arm-*-aout}arm-*-aout -Advanced RISC Machines ARM-family processors. These are often used in -embedded applications. There are no standard Unix configurations. -This configuration corresponds to the basic instruction sequences and will -produce @file{a.out} format object modules. - -You may need to make a variant of the file @file{arm.h} for your particular -configuration. - -@html -<hr /> -@end html -@heading @anchor{arm-*-elf}arm-*-elf -This configuration is intended for embedded systems. - -@html -<hr /> -@end html -@heading @anchor{arm*-*-linux-gnu}arm*-*-linux-gnu - -We require GNU binutils 2.10 or newer. - -@html -<hr /> -@end html -@heading @anchor{arm-*-riscix}arm-*-riscix -The ARM2 or ARM3 processor running RISC iX, Acorn's port of BSD Unix. -This configuration is obsoleted in GCC 3.1. - -If you are running a version of RISC iX prior to 1.2 then you must -specify the version number during configuration. Note that the -assembler shipped with RISC iX does not support stabs debugging -information; a new version of the assembler, with stabs support -included, is now available from Acorn and via ftp -@uref{ftp://ftp.acorn.com/pub/riscix/as+xterm.tar.Z}. To enable stabs -debugging, pass @option{--with-gnu-as} to configure. - -You will need to install GNU @command{sed} before you can run configure. - -@html -<hr /> -@end html -@heading @anchor{avr}avr - -ATMEL AVR-family micro controllers. These are used in embedded -applications. There are no standard Unix configurations. -@ifnothtml -@xref{AVR Options,, AVR Options, gcc, Using and Porting the GNU Compiler -Collection (GCC)}, -@end ifnothtml -@ifhtml -See ``AVR Options'' in the main manual -@end ifhtml -for the list of supported MCU types. - -Use @samp{configure --target=avr --enable-languages="c"} to configure GCC@. - -Further installation notes and other useful information about AVR tools -can also be obtained from: - -@itemize @bullet -@item -@uref{http://home.overta.ru/users/denisc,,http://home.overta.ru/users/denisc} -@item -@uref{http://www.amelek.gda.pl/avr,,http://www.amelek.gda.pl/avr} -@end itemize - -We @emph{strongly} recommend using binutils 2.11 or newer. - -The following error: -@example - Error: register required -@end example - -indicates that you should upgrade to a newer version of the binutils. - -@html -<hr /> -@end html -@heading @anchor{c4x}c4x - -Texas Instruments TMS320C3x and TMS320C4x Floating Point Digital Signal -Processors. These are used in embedded applications. There are no -standard Unix configurations. -@ifnothtml -@xref{TMS320C3x/C4x Options,, TMS320C3x/C4x Options, gcc, Using and -Porting the GNU Compiler Collection (GCC)}, -@end ifnothtml -@ifhtml -See ``TMS320C3x/C4x Options'' in the main manual -@end ifhtml -for the list of supported MCU types. - -GCC can be configured as a cross compiler for both the C3x and C4x -architectures on the same system. Use @samp{configure --target=c4x ---enable-languages="c,c++"} to configure. - - -Further installation notes and other useful information about C4x tools -can also be obtained from: - -@itemize @bullet -@item -@uref{http://www.elec.canterbury.ac.nz/c4x/,,http://www.elec.canterbury.ac.nz/c4x/} -@end itemize - -@html -<hr /> -@end html -@heading @anchor{cris}CRIS - -CRIS is the CPU architecture in Axis Communications ETRAX system-on-a-chip -series. These are used in embedded applications. - -@ifnothtml -@xref{CRIS Options,, CRIS Options, gcc, Using and Porting the GNU Compiler -Collection (GCC)}, -@end ifnothtml -@ifhtml -See ``CRIS Options'' in the main manual -@end ifhtml -for a list of CRIS-specific options. - -There are a few different CRIS targets: -@table @code -@item cris-axis-aout -Old target. Includes a multilib for the @samp{elinux} a.out-based -target. No multilibs for newer architecture variants. -@item cris-axis-elf -Mainly for monolithic embedded systems. Includes a multilib for the -@samp{v10} core used in @samp{ETRAX 100 LX}. -@item cris-axis-linux-gnu -A GNU/Linux port for the CRIS architecture, currently targeting -@samp{ETRAX 100 LX} by default. -@end table - -For @code{cris-axis-aout} and @code{cris-axis-elf} you need binutils 2.11 -or newer. For @code{cris-axis-linux-gnu} you need binutils 2.12 or newer. - -Pre-packaged tools can be obtained from -@uref{ftp://ftp.axis.com/pub/axis/tools/cris/compiler-kit/}. More -information about this platform is available at -@uref{http://developer.axis.com/}. - -@html -<hr /> -@end html -@heading @anchor{dos}DOS - -Please have a look at our @uref{binaries.html,,binaries page}. - -You cannot install GCC by itself on MSDOS; it will not compile under -any MSDOS compiler except itself. You need to get the complete -compilation package DJGPP, which includes binaries as well as sources, -and includes all the necessary compilation tools and libraries. - -@html -<hr /> -@end html -@heading @anchor{dsp16xx}dsp16xx -A port to the AT&T DSP1610 family of processors. - -@html -<hr /> -@end html -@heading @anchor{*-*-freebsd*}*-*-freebsd* - -The version of binutils installed in @file{/usr/bin} is known to work unless -otherwise specified in any per-architecture notes. However, binutils -2.12.1 or greater is known to improve overall testsuite results. - -For FreeBSD 1, FreeBSD 2 or any mutant a.out versions of FreeBSD 3: All -configuration support and files as shipped with GCC 2.95 are still in -place. FreeBSD 2.2.7 has been known to bootstrap completely; however, -it is unknown which version of binutils was used (it is assumed that it -was the system copy in @file{/usr/bin}) and C++ EH failures were noted. - -Support for FreeBSD 1 is obsoleted in GCC 3.1. - -For FreeBSD using the ELF file format: DWARF 2 debugging is now the -default for all CPU architectures. It had been the default on -FreeBSD/alpha since its inception. You may use @option{-gstabs} instead -of @option{-g}, if you really want the old debugging format. There are -no known issues with mixing object files and libraries with different -debugging formats. Otherwise, this release of GCC should now match more -of the configuration used in the stock FreeBSD configuration of GCC. In -particular, @option{--enable-threads} is now configured by default. -However, as a general user, do not attempt to replace the system -compiler with this release. Known to bootstrap and check with good -results on FreeBSD 3.0, 3.4, 4.0, 4.2, 4.3, 4.4, 4.5-STABLE and 5-CURRENT@. - -In principle, @option{--enable-threads} is now compatible with -@option{--enable-libgcj} on FreeBSD@. However, it has only been built -and tested on @samp{i386-*-freebsd4.5} and @samp{alpha-*-freebsd5.0}. -The static -library may be incorrectly built (symbols are missing at link time). -There is a rare timing-based startup hang (probably involves an -assupmtion about the thread library). Multi-threaded boehm-gc (required for -libjava) exposes severe threaded signal-handling bugs on FreeBSD before -4.5-RELEASE. The alpha port may not fully bootstrap without some manual -intervention: @command{gcjh} will crash with a floating-point exception while -generating @file{java/lang/Double.h} (just copy the version built on -@samp{i386-*-freebsd*} and rerun the top-level @command{gmake} with no -arguments and it -should properly complete the bootstrap). Other CPU architectures -supported by FreeBSD will require additional configuration tuning in, at -the very least, both boehm-gc and libffi. - -Shared @file{libgcc_s.so} is now built and installed by default. - -@html -<hr /> -@end html -@heading @anchor{elxsi-elxsi-bsd}elxsi-elxsi-bsd -The Elxsi's C compiler has known limitations that prevent it from -compiling GCC@. Please contact @email{mrs@@wrs.com} for more details. - -Support for this processor is obsoleted in GCC 3.1. - -@html -<hr /> -@end html -@heading @anchor{h8300-hms}h8300-hms -Hitachi H8/300 series of processors. - -Please have a look at our @uref{binaries.html,,binaries page}. - -The calling convention and structure layout has changed in release 2.6. -All code must be recompiled. The calling convention now passes the -first three arguments in function calls in registers. Structures are no -longer a multiple of 2 bytes. - -@html -<hr /> -@end html -@heading @anchor{hppa*-hp-hpux*}hppa*-hp-hpux* - -We @emph{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. The HP assembler does not work with the @samp{hppa64-hp-hpux11*} -port. - -Specifically, @option{-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 -@uref{./configure.html#with-gnu-as,,@option{--with-gnu-as}} and -@option{--with-as=@dots{}} options. - -If you wish to use the pa-risc 2.0 architecture support with a 32-bit -runtime, you must use either the HP assembler, gas/binutils 2.11 or newer, -or a recent -@uref{ftp://sources.redhat.com/pub/binutils/snapshots,,snapshot of gas}. - -More specific information to @samp{hppa*-hp-hpux*} targets follows. - -@html -<hr /> -@end html -@heading @anchor{hppa*-hp-hpux9}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 @env{CONFIG_SHELL} to @file{/bin/ksh} -and @env{SHELL} to @file{/bin/ksh} in your environment. - - -@html -<hr /> -@end html -@heading @anchor{hppa*-hp-hpux10}hppa*-hp-hpux10 - -For hpux10.20, we @emph{highly} recommend you pick up the latest sed patch -@code{PHCO_19798} from HP@. HP has two sites which provide patches free of -charge: - -@itemize @bullet -@item -@html -<a href="http://us-support.external.hp.com">US, Canada, Asia-Pacific, and -Latin-America</a> -@end html -@ifnothtml -@uref{http://us-support.external.hp.com,,}US, Canada, Asia-Pacific, and -Latin-America -@end ifnothtml -@item -@uref{http://europe-support.external.hp.com,,Europe} -@end itemize - -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 3-stage comparison test to fail -during a @samp{make bootstrap}. You should be able to continue by -saying @samp{make all} after getting the failure from @samp{make -bootstrap}. - - -@html -<hr /> -@end html -@heading @anchor{hppa*-hp-hpux11}hppa*-hp-hpux11 - -GCC 3.0 and up support HP-UX 11. On 64-bit capable systems, there -are two distinct ports. The @samp{hppa2.0w-hp-hpux11*} port generates -code for the 32-bit pa-risc runtime architecture. It uses the HP -linker and is currently the default selected by config.guess. The -optional @samp{hppa64-hp-hpux11*} port generates 64-bit code for the -pa-risc 2.0 architecture. It must be explicitly selected using the -@samp{--host=hppa64-hp-hpux11*} configure option. Different prefixes -must be used if both ports are to be installed on the same system. - -You must use GNU binutils 2.11 or above with the 32-bit port. Thread -support is not currently implemented, so @option{--enable-threads} does -not work. See: - -@itemize -@item @uref{http://gcc.gnu.org/ml/gcc-prs/2002-01/msg00551.html} -@item @uref{http://gcc.gnu.org/ml/gcc-bugs/2002-01/msg00663.html}. -@end itemize - -GCC 2.95.x is not supported under HP-UX 11 and cannot be used to -compile GCC 3.0 and up. Refer to @uref{binaries.html,,binaries} for -information about obtaining precompiled GCC binaries for HP-UX. - -GNU binutils 2.13 or later is recommended with the 64-bit port. -The HP assembler is not supported. It is @emph{highly} recommended -that the GNU linker be used as well. Either binutils must be built -prior to gcc, or a binary distribution of gcc or binutils must be -obtained for the initial builds. When starting with a HP compiler, -it is preferable to use the ANSI compiler as the bundled compiler -only supports traditional C. Bootstrapping with the bundled compiler -is tested infrequently and problems often arise because of the subtle -differences in semantics between traditional and ISO C. There also -have been problems reported with various binary distributions. This -port still is undergoing significant development. - -@html -<hr /> -@end html -@heading @anchor{i370-*-*}i370-*-* -This port is very preliminary and has many known bugs. We hope to -have a higher-quality port for this machine soon. - -@html -<hr /> -@end html -@heading @anchor{*-*-linux-gnu}*-*-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 @samp{libstdc++}. -The patch @uref{glibc-2.2.patch,,glibc-2.2.patch}, that is to be -applied in the GCC source tree, fixes the compatibility problems. - -@html -@end html - -@html -<p> -@end html - -Currently Glibc 2.2.3 (and older releases) and GCC 3.0 are out of sync -since the latest exception handling changes for GCC@. Compiling glibc -with GCC 3.0 will give a binary incompatible glibc and therefore cause -lots of problems and might make your system completly unusable. This -will definitly need fixes in glibc but might also need fixes in GCC@. We -strongly advise to wait for glibc 2.2.4 and to read the release notes of -glibc 2.2.4 whether patches for GCC 3.0 are needed. You can use glibc -2.2.3 with GCC 3.0, just do not try to recompile it. - -@html -<hr /> -@end html -@heading @anchor{ix86-*-linux*oldld}i?86-*-linux*oldld -Use this configuration to generate @file{a.out} binaries on Linux-based -GNU systems if you do not have gas/binutils version 2.5.2 or later -installed. - -This configuration is obsoleted in GCC 3.1. - -@html -<hr /> -@end html -@heading @anchor{ix86-*-linux*aout}i?86-*-linux*aout -Use this configuration to generate @file{a.out} binaries on Linux-based -GNU systems. This configuration is being superseded. You must use -gas/binutils version 2.5.2 or later. - -@html -<hr /> -@end html -@heading @anchor{ix86-*-linux*}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 @uref{http://www.bitwizard.nl/sig11/,,www.bitwizard.nl}. - -@html -<hr /> -@end html -@heading @anchor{ix86-*-sco}i?86-*-sco -Compilation with RCC is recommended. Also, it may be a good idea to -link with GNU malloc instead of the malloc that comes with the system. - -@html -<hr /> -@end html -@heading @anchor{ix86-*-sco3.2v4}i?86-*-sco3.2v4 -Use this configuration for SCO release 3.2 version 4. - -@html -<hr /> -@end html -@heading @anchor{ix86-*-sco3.2v5*}i?86-*-sco3.2v5* -Use this for the SCO OpenServer Release 5 family of operating systems. - -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@. - -Use of the @option{-march=pentiumpro} flag can result in -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: - -@example - /usr/tmp/ccaNlqBc.s:22:unknown instruction: fcomip - /usr/tmp/ccaNlqBc.s:50:unknown instruction: fucomip -@end example - -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. - -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 -@uref{./configure.html#with-gnu-as,,@option{--with-gnu-as}}. You must -use a recent version of GNU binutils; versions past 2.9.1 seem to work -well. - -In general, the @option{--with-gnu-as} option isn't as well tested -as the native assembler. - -Look in @file{gcc/config/i386/sco5.h} (search for ``messy'') for -additional OpenServer-specific flags. - -Systems based on OpenServer before 5.0.4 (@samp{uname -X} -will tell you what you're running) require TLS597 from -@uref{ftp://ftp.sco.com/TLS/,,ftp://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 -@option{-fPIC} on @file{921215-1.c}, @file{931002-1.c}, @file{nestfunc-1.c}, and @file{gcov-1.c}. -For 5.0.5, an updated linker that will cure this problem is -available. You must install both -@uref{ftp://ftp.sco.com/Supplements/rs505a/,,ftp://ftp.sco.com/Supplements/rs505a/} -and @uref{ftp://ftp.sco.com/SLS/,,OSS499A}. - -The dynamic linker in OpenServer 5.0.5 (earlier versions may show -the same problem) aborts on certain G77-compiled programs. It's particularly -likely to be triggered by building Fortran code with the @option{-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 @option{-fPIC}---try applying -@uref{sco_osr5_g77.patch,,@file{sco_osr5_g77.patch}} to your @samp{libf2c} and -rebuilding GCC@. -Affected faults, when analyzed in a debugger, will show a stack -backtrace with a fault occurring in @code{rtld()} and the program -running as @file{/usr/lib/ld.so.1}. This problem has been reported to SCO -engineering and will hopefully be addressed in later releases. - - -@html -<hr /> -@end html -@heading @anchor{ix86-*-udk}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 -@file{/udk/usr/ccs/bin/cc} file present.) It's very much like the -@samp{i?86-*-unixware7*} target -but is meant to be used when hosting on a system where UDK isn't the -default compiler such as OpenServer 5 or 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@. - -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: - -@example - CC=/udk/usr/ccs/bin/cc @var{/your/path/to}/gcc/configure \ - --host=i686-pc-udk --target=i686-pc-udk --program-prefix=udk- -@end example - -@emph{You should substitute @samp{i686} in the above command with the appropriate -processor for your host.} - -After the usual @samp{make bootstrap} and -@samp{make install}, you can then access the UDK-targeted GCC -tools by adding @command{udk-} before the commonly known name. For -example, to invoke the C compiler, you would use @command{udk-gcc}. -They will coexist peacefully with any native-target GCC tools you may -have installed. - - -@html -<hr /> -@end html -@heading @anchor{ix86-*-isc}i?86-*-isc -This configuration is obsoleted in GCC 3.1. - -It may be a good idea to link with GNU malloc instead of the malloc that -comes with the system. - -In ISC version 4.1, @command{sed} core dumps when building -@file{deduced.h}. Use the version of @command{sed} from version 4.0. - -@html -<hr /> -@end html -@heading @anchor{ix86-ibm-aix}i?86-ibm-aix -This configuration is obsoleted in GCC 3.1. - -You need to use GAS version 2.1 or later, and LD from -GNU binutils version 2.2 or later. - -@html -<hr /> -@end html -@heading @anchor{ix86-sequent-bsd}i?86-sequent-bsd -This configuration is obsoleted in GCC 3.1. - -Go to the Berkeley universe before compiling. - -@html -<hr /> -@end html -@heading @anchor{ix86-sequent-ptx1*}i?86-sequent-ptx1*, i?86-sequent-ptx2*, i?86-sequent-sysv3* -This configuration is obsoleted in GCC 3.1. - -You must install GNU @command{sed} before running @command{configure}. - -The @code{fixproto} shell script may trigger a bug in the system shell. -If you encounter this problem, upgrade your operating system or -use @command{bash} (the GNU shell) to run @code{fixproto}. - -@html -<hr /> -@end html -@heading @anchor{i860-intel-osf*}i860-intel-osf* -All support for the i860 processor is obsoleted in GCC 3.1. - -On the Intel Paragon (an i860 machine), if you are using operating -system version 1.0, you will get warnings or errors about redefinition -of @code{va_arg} when you build GCC@. - -If this happens, then you need to link most programs with the library -@file{iclib.a}. You must also modify @file{stdio.h} as follows: before -the lines - -@example -#if defined(__i860__) && !defined(_VA_LIST) -#include <va_list.h> -@end example - -@noindent -insert the line - -@example -#if __PGC__ -@end example - -@noindent -and after the lines - -@example -extern int vprintf(const char *, va_list ); -extern int vsprintf(char *, const char *, va_list ); -#endif -@end example - -@noindent -insert the line - -@example -#endif /* __PGC__ */ -@end example - -These problems don't exist in operating system version 1.1. - -@html -<hr /> -@end html -@heading @anchor{ia64-*-linux}ia64-*-linux -IA-64 processor (also known as IPF, or Itanium Processor Family) -running GNU/Linux. - -The toolchain is not completely finished, so requirements will continue -to change. -GCC 3.0.1 and later require glibc 2.2.4. -GCC 3.0.2 requires binutils from 2001-09-05 or later. -GCC 3.0.1 requires binutils 2.11.1 or later. - -None of the following versions of GCC has an ABI that is compatible -with any of the other versions in this list, with the exception that -Red Hat 2.96 and Trillian 000171 are compatible with each other: -3.0.2, 3.0.1, 3.0, Red Hat 2.96, and Trillian 000717. -This primarily affects C++ programs and programs that create shared libraries. -Because of these ABI incompatibilities, GCC 3.0.2 is not recommended for -user programs on GNU/Linux systems built using earlier compiler releases. -GCC 3.0.2 is recommended for compiling linux, the kernel. -GCC 3.0.2 is believed to be fully ABI compliant, and hence no more major -ABI changes are expected. - -@html -<hr /> -@end html -@heading @anchor{*-lynx-lynxos}*-lynx-lynxos -LynxOS 2.2 and earlier comes with GCC 1.x already installed as -@file{/bin/gcc}. You should compile with this instead of @file{/bin/cc}. -You can tell GCC to use the GNU assembler and linker, by specifying -@samp{--with-gnu-as --with-gnu-ld} when configuring. These will produce -COFF format object files and executables; otherwise GCC will use the -installed tools, which produce @file{a.out} format executables. - -@html -<hr /> -<!-- rs6000-ibm-aix*, powerpc-ibm-aix* --> -@end html -@heading @anchor{*-ibm-aix*}*-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 @code{alloca} when building GCC generally are due -to an incorrect definition of @code{CC} 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 @strong{must} be invoked as @command{cc} -(not @command{xlc}). Once @command{configure} has been informed of -@command{xlc}, one needs to use @samp{make distclean} to remove the -configure cache files and ensure that @env{CC} environment variable -does not provide a definition that will confuse @command{configure}. -If this error occurs during stage2 or later, then the problem most likely -is the version of Make (see above). - -The GNU Assembler incorrectly reports that it supports WEAK symbols on -AIX which causes GCC to try to utilize weak symbol functionality which -is not really supported on the platform. The native @command{as} and -@command{ld} still are recommended. The native AIX tools do -interoperate with GCC@. - -Building @file{libstdc++.a} requires a fix for a AIX Assembler bug -APAR IY26685 (AIX 4.3) or APAR IY25528 (AIX 5.1). - -@samp{libstdc++} in GCC 3.2 increments the major version number of the -shared object and GCC installation places the @file{libstdc++.a} -shared library in a common location which will overwrite the GCC 3.1 -version of the shared library. Applications either need to be -re-linked against the new shared library or the GCC 3.1 version of the -@samp{libstdc++} shared object needs to be available to the AIX -runtime loader. The GCC 3.1 @samp{libstdc++.so.4} shared object can -be installed for runtime dynamic loading using the following steps to -set the @samp{F_LOADONLY} flag in the shared object for @emph{each} -multilib @file{libstdc++.a} installed: - -Extract the shared object from each the GCC 3.1 @file{libstdc++.a} -archive: -@example - % ar -x libstdc++.a libstdc++.so.4 -@end example - -Enable the @samp{F_LOADONLY} flag so that the shared object will be -available for runtime dynamic loading, but not linking: -@example - % strip -e libstdc++.so.4 -@end example - -Archive the runtime-only shared object in the GCC 3.2 -@file{libstdc++.a} archive: -@example - % ar -q libstdc++.a libstdc++.so.4 -@end example - -Linking executables and shared libraries may produce warnings of -duplicate symbols. The assembly files generated by GCC for AIX always -have included multiple symbol definitions for certain global variable -and function declarations in the original program. The warnings should -not prevent the linker from producing a correct library or runnable -executable. - -AIX 4.3 utilizes a ``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 correctly. -These routines are used by GCC and result in error messages during -linking such as ``not a COFF file''. The version of the routines shipped -with AIX 4.3.1 should work for a 32-bit environment. The @option{-g} -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 and above. - -Some versions of the AIX binder (linker) can fail with a relocation -overflow severe error when the @option{-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 -@uref{http://techsupport.services.ibm.com/,,techsupport.services.ibm.com} -website as PTF U455193. - -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 is available from IBM Customer Support and from its -@uref{http://techsupport.services.ibm.com/,,techsupport.services.ibm.com} -website as PTF U461879. This fix is incorporated in AIX 4.3.3 and above. - -The initial assembler shipped with AIX 4.3.0 generates incorrect 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 -@uref{http://techsupport.services.ibm.com/,,techsupport.services.ibm.com} -website as PTF U453956. This fix is incorporated in AIX 4.3.1 and above. - -AIX provides National Language Support (NLS)@. Compilers and assemblers -use NLS to support locale-specific representations of various data -formats including floating-point numbers (e.g., @samp{.} vs @samp{,} for -separating decimal fractions). There have been problems reported where -GCC does not produce the same floating-point formats that the assembler -expects. If one encounters this problem, set the @env{LANG} -environment variable to @samp{C} or @samp{En_US}. - -By default, GCC for AIX 4.1 and above produces code that can be used on -both Power or PowerPC processors. - -A default can be specified with the @option{-mcpu=@var{cpu_type}} -switch and using the configure option @option{--with-cpu-@var{cpu_type}}. - -@html -<hr /> -@end html -@heading @anchor{m32r-*-elf}m32r-*-elf -Mitsubishi M32R processor. -This configuration is intended for embedded systems. - -@html -<hr /> -@end html -@heading @anchor{m68000-hp-bsd}m68000-hp-bsd -HP 9000 series 200 running BSD@. Note that the C compiler that comes -with this system cannot compile GCC; contact @email{law@@cygnus.com} -to get binaries of GCC for bootstrapping. - -@html -<hr /> -@end html -@heading @anchor{m6811-elf}m6811-elf -Motorola 68HC11 family micro controllers. These are used in embedded -applications. There are no standard Unix configurations. - -@html -<hr /> -@end html -@heading @anchor{m6812-elf}m6812-elf -Motorola 68HC12 family micro controllers. These are used in embedded -applications. There are no standard Unix configurations. - -@html -<hr /> -@end html -@heading @anchor{m68k-altos}m68k-altos -Altos 3068. This configuration is obsoleted in GCC 3.1. - -You must use the GNU assembler, linker and debugger. -Also, you must fix a kernel bug. - -@html -<hr /> -@end html -@heading @anchor{m68k-apple-aux}m68k-apple-aux -Apple Macintosh running A/UX@. -This configuration is obsoleted in GCC 3.1. - -You may configure GCC to use either the system assembler and -linker or the GNU assembler and linker. You should use the GNU configuration -if you can, especially if you also want to use G++. You enable -that configuration with the @option{--with-gnu-as} and @option{--with-gnu-ld} -options to @code{configure}. - -Note the C compiler that comes -with this system cannot compile GCC@. You can find binaries of GCC -for bootstrapping on @code{jagubox.gsfc.nasa.gov}. -You will also a patched version of @file{/bin/ld} there that -raises some of the arbitrary limits found in the original. - -@html -<hr /> -@end html -@heading @anchor{m68k-att-sysv}m68k-att-sysv -AT&T 3b1, a.k.a.@: 7300 PC@. This version of GCC cannot -be compiled with the system C compiler, which is too buggy. -You will need to get a previous version of GCC and use it to -bootstrap. Binaries are available from the OSU-CIS archive, at -@uref{ftp://archive.cis.ohio-state.edu/pub/att7300/}. - -@html -<hr /> -@end html -@heading @anchor{m68k-bull-sysv}m68k-bull-sysv -Bull DPX/2 series 200 and 300 with BOS-2.00.45 up to BOS-2.01. -This configuration is obsoleted in GCC 3.1. - -GCC works -either with native assembler or GNU assembler. You can use -GNU assembler with native COFF generation by providing @option{--with-gnu-as} to -the configure script or use GNU assembler with stabs-in-COFF encapsulation -by providing @samp{--with-gnu-as --stabs}. For any problem with the native -assembler or for availability of the DPX/2 port of GAS, contact -@email{F.Pierresteguy@@frcl.bull.fr}. - -@html -<hr /> -@end html -@heading @anchor{m68k-crds-unos}m68k-crds-unos -Use @samp{configure unos} for building on Unos. - -The Unos assembler is named @code{casm} instead of @code{as}. For some -strange reason linking @file{/bin/as} to @file{/bin/casm} changes the -behavior, and does not work. So, when installing GCC, you should -install the following script as @file{as} in the subdirectory where -the passes of GCC are installed: - -@example -#!/bin/sh -casm $* -@end example - -The default Unos library is named @file{libunos.a} instead of -@file{libc.a}. To allow GCC to function, either change all -references to @option{-lc} in @file{gcc.c} to @option{-lunos} or link -@file{/lib/libc.a} to @file{/lib/libunos.a}. - -@cindex @code{alloca}, for Unos -When compiling GCC with the standard compiler, to overcome bugs in -the support of @code{alloca}, do not use @option{-O} when making stage 2. -Then use the stage 2 compiler with @option{-O} to make the stage 3 -compiler. This compiler will have the same characteristics as the usual -stage 2 compiler on other systems. Use it to make a stage 4 compiler -and compare that with stage 3 to verify proper compilation. - -(Perhaps simply defining @code{ALLOCA} in @file{x-crds} as described in -the comments there will make the above paragraph superfluous. Please -inform us of whether this works.) - -Unos uses memory segmentation instead of demand paging, so you will need -a lot of memory. 5 Mb is barely enough if no other tasks are running. -If linking @file{cc1} fails, try putting the object files into a library -and linking from that library. - -@html -<hr /> -@end html -@heading @anchor{m68k-hp-hpux}m68k-hp-hpux -HP 9000 series 300 or 400 running HP-UX@. HP-UX version 8.0 has a bug in -the assembler that prevents compilation of GCC@. This -bug manifests itself during the first stage of compilation, while -building @file{libgcc2.a}: - -@smallexample -_floatdisf -cc1: warning: `-g' option not supported on this version of GCC -cc1: warning: `-g1' option not supported on this version of GCC -./xgcc: Internal compiler error: program as got fatal signal 11 -@end smallexample - -A patched version of the assembler is available as the file -@uref{ftp://altdorf.ai.mit.edu/archive/cph/hpux-8.0-assembler}. If you -have HP software support, the patch can also be obtained directly from -HP, as described in the following note: - -@quotation -This is the patched assembler, to patch SR#1653-010439, where the -assembler aborts on floating point constants. - -The bug is not really in the assembler, but in the shared library -version of the function ``cvtnum(3c)''. The bug on ``cvtnum(3c)'' is -SR#4701-078451. Anyway, the attached assembler uses the archive -library version of ``cvtnum(3c)'' and thus does not exhibit the bug. -@end quotation - -This patch is also known as PHCO_4484. - -In addition, if you wish to use gas, you must use -gas version 2.1 or later, and you must use the GNU linker version 2.1 or -later. Earlier versions of gas relied upon a program which converted the -gas output into the native HP-UX format, but that program has not been -kept up to date. gdb does not understand that native HP-UX format, so -you must use gas if you wish to use gdb. - -On HP-UX version 8.05, but not on 8.07 or more recent versions, the -@code{fixproto} shell script triggers a bug in the system shell. If you -encounter this problem, upgrade your operating system or use BASH (the -GNU shell) to run @code{fixproto}. This bug will cause the fixproto -program to report an error of the form: - -@example -./fixproto: sh internal 1K buffer overflow -@end example - -To fix this, you can also change the first line of the fixproto script -to look like: - -@example -#!/bin/ksh -@end example - - -@html -<hr /> -@end html -@heading @anchor{m68k-*-nextstep*}m68k-*-nextstep* -These configurations are obsoleted in GCC 3.1. - -Current GCC versions probably do not work on version 2 of the NeXT -operating system. - -On NeXTStep 3.0, the Objective-C compiler does not work, due, -apparently, to a kernel bug that it happens to trigger. This problem -does not happen on 3.1. - -You absolutely @strong{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: - -@example - _eh - /usr/tmp/ccbbsZ0U.s:987:Unknown pseudo-op: .section - /usr/tmp/ccbbsZ0U.s:987:Rest of line ignored. 1st junk character - valued 95 (_). -@end example - -The reason for this is the fact that NeXT's assembler for these -versions of the operating system does not support the @samp{.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 -@uref{ftp://ftp.next.peak.org:/next-ftp/next/apps/devtools/as.3.3.NIHS.s.tar.gz,,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 @var{prefix} you specified in the configuration process of GCC -for this sequence to work. - -@example - cd bld-gcc - make all-texinfo all-bison all-byacc all-binutils all-gas all-ld - cd gcc - make bootstrap - make install-headers-tar - cd .. - make bootstrap3 -@end example - -@html -<hr /> -@end html -@heading @anchor{m68k-ncr-*}m68k-ncr-* -On the Tower models 4@var{n}0 and 6@var{n}0, by default a process is not -allowed to have more than one megabyte of memory. GCC cannot compile -itself (or many other programs) with @option{-O} in that much memory. - -To solve this problem, reconfigure the kernel adding the following line -to the configuration file: - -@smallexample -MAXUMEM = 4096 -@end smallexample - - -@html -<hr /> -@end html -@heading @anchor{m68k-sun}m68k-sun -Sun 3. We do not provide a configuration file to use the Sun FPA by -default, because programs that establish signal handlers for floating -point traps inherently cannot work with the FPA@. - -@html -<hr /> -@end html -@heading @anchor{m68k-sun-sunos4.1.1}m68k-sun-sunos4.1.1 - -It is reported that you may need the GNU assembler on this platform. - - -@html -<hr /> -@end html -@heading @anchor{m88k-*-svr3}m88k-*-svr3 -Motorola m88k running the AT&T/Unisoft/Motorola V.3 reference port. -These configurations are obsoleted in GCC 3.1. - -These systems tend to use the Green Hills C, revision 1.8.5, as the -standard C compiler. There are apparently bugs in this compiler that -result in object files differences between stage 2 and stage 3. If this -happens, make the stage 4 compiler and compare it to the stage 3 -compiler. If the stage 3 and stage 4 object files are identical, this -suggests you encountered a problem with the standard C compiler; the -stage 3 and 4 compilers may be usable. - -It is best, however, to use an older version of GCC for bootstrapping -if you have one. - -@html -<hr /> -@end html -@heading @anchor{m88k-*-dgux}m88k-*-dgux -Motorola m88k running DG/UX@. -These configurations are obsoleted in GCC 3.1. - -To build 88open BCS native or cross -compilers on DG/UX, specify the configuration name as -@samp{m88k-*-dguxbcs} and build in the 88open BCS software development -environment. To build ELF native or cross compilers on DG/UX, specify -@samp{m88k-*-dgux} and build in the DG/UX ELF development environment. -You set the software development environment by issuing -@samp{sde-target} command and specifying either @samp{m88kbcs} or -@samp{m88kdguxelf} as the operand. - -If you do not specify a configuration name, @file{configure} guesses the -configuration based on the current software development environment. - -@html -<hr /> -@end html -@heading @anchor{m88k-tektronix-sysv3}m88k-tektronix-sysv3 -Tektronix XD88 running UTekV 3.2e. -These configurations are obsoleted in GCC 3.1. - -Do not turn on -optimization while building stage1 if you bootstrap with -the buggy Green Hills compiler. Also, the bundled LAI -System V NFS is buggy so if you build in an NFS mounted -directory, start from a fresh reboot, or avoid NFS all together. -Otherwise you may have trouble getting clean comparisons -between stages. - -@html -<hr /> -@end html -@heading @anchor{mips-*-*}mips-*-* -If you use the 1.31 version of the MIPS assembler (such as was shipped -with Ultrix 3.1), you will need to use the @option{-fno-delayed-branch} switch -when optimizing floating point code. Otherwise, the assembler will -complain when the GCC compiler fills a branch delay slot with a -floating point instruction, such as @code{add.d}. - -If on a MIPS system you get an error message saying ``does not have gp -sections for all it's [sic] sectons [sic]'', don't worry about it. This -happens whenever you use GAS with the MIPS linker, but there is not -really anything wrong, and it is okay to use the output file. You can -stop such warnings by installing the GNU linker. - -It would be nice to extend GAS to produce the gp tables, but they are -optional, and there should not be a warning about their absence. - -Users have reported some problems with version 2.0 of the MIPS -compiler tools that were shipped with Ultrix 4.1. Version 2.10 -which came with Ultrix 4.2 seems to work fine. - -Users have also reported some problems with version 2.20 of the -MIPS compiler tools that were shipped with RISC/os 4.x. The earlier -version 2.11 seems to work fine. - -Some versions of the MIPS linker will issue an assertion failure -when linking code that uses @code{alloca} against shared -libraries on RISC-OS 5.0, and DEC's OSF/1 systems. This is a bug -in the linker, that is supposed to be fixed in future revisions. -To protect against this, GCC passes @option{-non_shared} to the -linker unless you pass an explicit @option{-shared} or -@option{-call_shared} switch. - -@heading @anchor{mips-mips-bsd}mips-mips-bsd -MIPS machines running the MIPS operating system in BSD mode. -These configurations are obsoleted in GCC 3.1. - -It's possible that some old versions of the system lack the functions -@code{memcpy}, @code{memmove}, @code{memcmp}, and @code{memset}. If your -system lacks these, you must remove or undo the definition of -@code{TARGET_MEM_FUNCTIONS} in @file{mips-bsd.h}. - -If you use the MIPS C compiler to bootstrap, it may be necessary -to increase its table size for switch statements with the -@option{-Wf,-XNg1500} option. If you use the @option{-O2} -optimization option, you also need to use @option{-Olimit 3000}. -Both of these options are automatically generated in the -@file{Makefile} that the shell script @file{configure} builds. -If you override the @code{CC} make variable and use the MIPS -compilers, you may need to add @option{-Wf,-XNg1500 -Olimit 3000}. - -@html -<hr /> -@end html -@heading @anchor{mips-dec-*}mips-dec-* -These configurations are obsoleted in GCC 3.1. - -MIPS-based DECstations can support three different personalities: -Ultrix, DEC OSF/1, and OSF/rose. (Alpha-based DECstation products have -a configuration name beginning with @samp{alpha*-dec}.) To configure GCC -for these platforms use the following configurations: - -@table @samp -@item mips-dec-ultrix -Ultrix configuration. - -@item mips-dec-osf1 -DEC's version of OSF/1. - -@item mips-dec-osfrose -Open Software Foundation reference port of OSF/1 which uses the -OSF/rose object file format instead of ECOFF@. Normally, you -would not select this configuration. -@end table - -If you use the MIPS C compiler to bootstrap, it may be necessary -to increase its table size for switch statements with the -@option{-Wf,-XNg1500} option. If you use the @option{-O2} -optimization option, you also need to use @option{-Olimit 3000}. -Both of these options are automatically generated in the -@file{Makefile} that the shell script @file{configure} builds. -If you override the @code{CC} make variable and use the MIPS -compilers, you may need to add @option{-Wf,-XNg1500 -Olimit 3000}. - -@html -<hr /> -@end html -@heading @anchor{mips-mips-riscos*}mips-mips-riscos* -These configurations are obsoleted in GCC 3.1. - -If you use the MIPS C compiler to bootstrap, it may be necessary -to increase its table size for switch statements with the -@option{-Wf,-XNg1500} option. If you use the @option{-O2} -optimization option, you also need to use @option{-Olimit 3000}. -Both of these options are automatically generated in the -@file{Makefile} that the shell script @file{configure} builds. -If you override the @code{CC} make variable and use the MIPS -compilers, you may need to add @samp{-Wf,-XNg1500 -Olimit 3000}. - -MIPS computers running RISC-OS can support four different -personalities: default, BSD 4.3, System V.3, and System V.4 -(older versions of RISC-OS don't support V.4). To configure GCC -for these platforms use the following configurations: - -@table @samp -@item mips-mips-riscos@var{rev} -Default configuration for RISC-OS, revision @var{rev}. - -@item mips-mips-riscos@var{rev}bsd -BSD 4.3 configuration for RISC-OS, revision @var{rev}. - -@item mips-mips-riscos@var{rev}sysv4 -System V.4 configuration for RISC-OS, revision @var{rev}. - -@html -<hr /> -@end html -@item mips-mips-riscos@var{rev}sysv -System V.3 configuration for RISC-OS, revision @var{rev}. -@end table - -The revision @code{rev} mentioned above is the revision of -RISC-OS to use. You must reconfigure GCC when going from a -RISC-OS revision 4 to RISC-OS revision 5. This has the effect of -avoiding a linker bug. - -@html -<hr /> -@end html -@heading @anchor{mips-sgi-irix4}mips-sgi-irix4 -This configuration is obsoleted in GCC 3.1. - -In order to compile GCC on an SGI running IRIX 4, the ``c.hdr.lib'' -option must be installed from the CD-ROM supplied from Silicon Graphics. -This is found on the 2nd CD in release 4.0.1. - -On IRIX version 4.0.5F, and perhaps on some other versions as well, -there is an assembler bug that reorders instructions incorrectly. To -work around it, specify the target configuration -@samp{mips-sgi-irix4loser}. This configuration inhibits assembler -optimization. - -In a compiler configured with target @samp{mips-sgi-irix4}, you can turn -off assembler optimization by using the @option{-noasmopt} option. This -compiler option passes the option @option{-O0} to the assembler, to -inhibit reordering. - -The @option{-noasmopt} option can be useful for testing whether a problem -is due to erroneous assembler reordering. Even if a problem does not go -away with @option{-noasmopt}, it may still be due to assembler -reordering---perhaps GCC itself was miscompiled as a result. - -You may get the following warning on IRIX 4 platforms, it can be safely -ignored. -@example - warning: foo.o does not have gp tables for all its sections. -@end example - -@html -<hr /> -@end html -@heading @anchor{mips-sgi-irix5}mips-sgi-irix5 - -This configuration has considerable problems, which will be fixed in a -future release. - -In order to compile GCC on an SGI running IRIX 5, the ``compiler_dev.hdr'' -subsystem must be installed from the IDO CD-ROM supplied by Silicon -Graphics. It is also available for download from -@uref{http://www.sgi.com/developers/devtools/apis/ido.html,,http://www.sgi.com/developers/devtools/apis/ido.html}. - -@code{make compare} may fail on version 5 of IRIX unless you add -@option{-save-temps} to @code{CFLAGS}. On these systems, the name of the -assembler input file is stored in the object file, and that makes -comparison fail if it differs between the @code{stage1} and -@code{stage2} compilations. The option @option{-save-temps} forces a -fixed name to be used for the assembler input file, instead of a -randomly chosen name in @file{/tmp}. Do not add @option{-save-temps} -unless the comparisons fail without that option. If you do you -@option{-save-temps}, you will have to manually delete the @samp{.i} and -@samp{.s} files after each series of compilations. - -If you use the MIPS C compiler to bootstrap, it may be necessary -to increase its table size for switch statements with the -@option{-Wf,-XNg1500} option. If you use the @option{-O2} -optimization option, you also need to use @option{-Olimit 3000}. - -To enable debugging under IRIX 5, you must use GNU @command{as} 2.11.2 -or later, -and use the @option{--with-gnu-as} configure option when configuring GCC. -GNU @command{as} is distributed as part of the binutils package. -When using release 2.11.2, you need to apply a patch -@uref{http://sources.redhat.com/ml/binutils/2001-07/msg00352.html,,http://sources.redhat.com/ml/binutils/2001-07/msg00352.html} -which will be included in the next release of binutils. - -When building GCC, the build process loops rebuilding @command{cc1} over -and over again. This happens on @samp{mips-sgi-irix5.2}, and possibly -other platforms. It has been reported that this is a known bug in the -@command{make} shipped with IRIX 5.2. We recommend you use GNU -@command{make} instead of the vendor supplied @command{make} program; -however, you may have success with @command{smake} on IRIX 5.2 if you do -not have GNU @command{make} available. - -@html -<hr /> -@end html -@heading @anchor{mips-sgi-irix6}mips-sgi-irix6 - -If you are using IRIX @command{cc} as your bootstrap compiler, you must -ensure that the N32 ABI is in use. To test this, compile a simple C -file with @command{cc} and then run @command{file} on the -resulting object file. The output should look like: - -@example -test.o: ELF N32 MSB @dots{} -@end example - -If you see: - -@example -test.o: ELF 32-bit MSB @dots{} -@end example - -or - -@example -test.o: ELF 64-bit MSB @dots{} -@end example - -then your version of @command{cc} uses the O32 or N64 ABI by default. You -should set the environment variable @env{CC} to @samp{cc -n32} -before configuring GCC@. - -If you want the resulting @command{gcc} to run on old 32-bit systems -with the MIPS R4400 CPU, you need to ensure that only code for the mips3 -instruction set architecture (ISA) is generated. While GCC 3.x does -this correctly, both GCC 2.95 and SGI's MIPSpro @command{cc} may change -the ISA depending on the machine where GCC is built. Using one of them -as the bootstrap compiler may result in mips4 code, which won't run at -all on mips3-only systems. For the test program above, you should see: - -@example -test.o: ELF N32 MSB mips-3 @dots{} -@end example - -If you get: - -@example -test.o: ELF N32 MSB mips-4 @dots{} -@end example - -instead, you should set the environment variable @env{CC} to @samp{cc --n32 -mips3} or @samp{gcc -mips3} respectively before configuring GCC@. - -GCC on IRIX 6 is usually built to support both the N32 and N64 ABIs. If -you build GCC on a system that doesn't have the N64 libraries installed, -you need to configure with @option{--disable-multilib} so GCC doesn't -try to use them. Look for @file{/usr/lib64/libc.so.1} to see if you -have the 64-bit libraries installed. - -You must @emph{not} use GNU @command{as} (which isn't built anyway as of -binutils 2.11.2) on IRIX 6 platforms; doing so will only cause problems. - -GCC does not currently support generating O32 ABI binaries in the -@samp{mips-sgi-irix6} configurations. It is possible to create a GCC -with O32 ABI only support by configuring it for the @samp{mips-sgi-irix5} -target and using a patched GNU @command{as} 2.11.2 as documented in the -@uref{#mips-sgi-irix5,,@samp{mips-sgi-irix5}} section above. Using the -native assembler requires patches to GCC which will be included in a -future release. It is -expected that O32 ABI support will be available again in a future release. - -The @option{--enable-threads} option doesn't currently work, a patch is -in preparation for a future release. The @option{--enable-libgcj} -option is disabled by default: IRIX 6 uses a very low default limit -(20480) for the command line length. Although libtool contains a -workaround for this problem, at least the N64 @samp{libgcj} is known not -to build despite this, running into an internal error of the native -@command{ld}. A sure fix is to increase this limit (@samp{ncargs}) to -its maximum of 262144 bytes. If you have root access, you can use the -@command{systune} command to do this. - -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 6 is affected the most, because it is a 64-bit target, and 4 byte -structures are common. The exact problem is that structures are being 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 failures that can -happen are when there are library functions that take/return such -structures. There are very few such library functions. Currently this -is known to affect @code{inet_ntoa}, @code{inet_lnaof}, -@code{inet_netof}, @code{inet_makeaddr}, and @code{semctl}. Until the -bug is fixed, GCC contains workarounds for the known affected functions. - -See @uref{http://freeware.sgi.com/,,http://freeware.sgi.com/} for more -information about using GCC on IRIX platforms. - -@html -<hr /> -@end html -@heading @anchor{mips-sony-sysv}mips-sony-sysv -Sony MIPS NEWS@. This configuration is obsoleted in GCC 3.1. - -This works in NEWSOS 5.0.1, but not in 5.0.2 (which uses ELF instead of -COFF)@. In particular, the linker does not like the code generated by -GCC when shared libraries are linked in. - -@html -<hr /> -@end html -@heading @anchor{ns32k-encore}ns32k-encore -This configuration is obsoleted in GCC 3.1. - -Encore ns32000 system. Encore systems are supported only under BSD@. - -@html -<hr /> -@end html -@heading @anchor{ns32k-*-genix}ns32k-*-genix -National Semiconductor ns32000 system. This configuration is obsoleted -in GCC 3.1. - -Genix has bugs in @code{alloca} and @code{malloc}; you must get the -compiled versions of these from GNU Emacs. - -@html -<hr /> -@end html -@heading @anchor{ns32k-sequent}ns32k-sequent -This configuration is obsoleted in GCC 3.1. - -Go to the Berkeley universe before compiling. - -@html -<hr /> -@end html -@heading @anchor{ns32k-utek}ns32k-utek -UTEK ns32000 system (``merlin''). This configuration is obsoleted in -GCC 3.1. - -The C compiler that comes with this system cannot compile GCC; contact -@samp{tektronix!reed!mason} to get binaries of GCC for bootstrapping. - - -@html -<hr /> -@end html -@heading @anchor{powerpc*-*-*}powerpc-*-* - -You can specify a default version for the @option{-mcpu=@var{cpu_type}} -switch by using the configure option @option{--with-cpu-@var{cpu_type}}. - -@html -<hr /> -@end html -@heading @anchor{powerpc-*-darwin*}powerpc-*-darwin* -PowerPC running Darwin (Mac OS X kernel). - -GCC 3.0 does not support Darwin, but 3.1 and later releases will work. - -Pre-installed versions of Mac OS X may not include any developer tools, -meaning that you will not be able to build GCC from source. Tool -binaries are available at -@uref{http://www.opensource.apple.com/projects/darwin} (free -registration required). - -Versions of the assembler prior to ``cctools-364'' cannot handle the -4-argument form of @code{rlwinm} and related mask-using instructions. Darwin -1.3 (Mac OS X 10.0) uses cctools-353 for instance. To get cctools-364, -check out @file{cctools} with tag @samp{Apple-364}, build it, and -install the assembler as @file{usr/bin/as}. See -@uref{http://www.opensource.apple.com/tools/cvs/docs.html} for details. - -Also, the default stack limit of 512K is too small, and a bootstrap will -typically fail when self-compiling @file{expr.c}. Set the stack to 800K -or more, for instance by doing @samp{limit stack 800}. It's also -convenient to use the GNU preprocessor instead of Apple's during the -first stage of bootstrapping; this is automatic when doing @samp{make -bootstrap}, but to do it from the toplevel objdir you will need to say -@samp{make CC='cc -no-cpp-precomp' bootstrap}. - -Note that the version of GCC shipped by Apple typically includes a -number of extensions not available in a standard GCC release. These -extensions are generally specific to Mac programming. - -@html -<hr /> -@end html -@heading @anchor{powerpc-*-elf}powerpc-*-elf, powerpc-*-sysv4 -PowerPC system in big endian mode, running System V.4. - -@html -<hr /> -@end html -@heading @anchor{powerpc-*-linux-gnu*}powerpc-*-linux-gnu* - -You will need -@uref{ftp://ftp.kernel.org/pub/linux/devel/binutils,,binutils 2.13.90.0.10} -or newer for a working GCC@. - -@html -<hr /> -@end html -@heading @anchor{powerpc-*-netbsd*}powerpc-*-netbsd* -PowerPC system in big endian mode running NetBSD@. To build the -documentation you will need Texinfo version 4.1 (NetBSD 1.5.1 included -Texinfo version 3.12). - -@html -<hr /> -@end html -@heading @anchor{powerpc-*-eabiaix}powerpc-*-eabiaix -Embedded PowerPC system in big endian mode with @option{-mcall-aix} selected as -the default. - -@html -<hr /> -@end html -@heading @anchor{powerpc-*-eabisim}powerpc-*-eabisim -Embedded PowerPC system in big endian mode for use in running under the -PSIM simulator. - -@html -<hr /> -@end html -@heading @anchor{powerpc-*-eabi}powerpc-*-eabi -Embedded PowerPC system in big endian mode. - -@html -<hr /> -@end html -@heading @anchor{powerpcle-*-elf}powerpcle-*-elf, powerpcle-*-sysv4 -PowerPC system in little endian mode, running System V.4. - -@html -<hr /> -@end html -@heading @anchor{powerpcle-*-eabisim}powerpcle-*-eabisim -Embedded PowerPC system in little endian mode for use in running under -the PSIM simulator. - -@html -<hr /> -@end html -@heading @anchor{powerpcle-*-eabi}powerpcle-*-eabi -Embedded PowerPC system in little endian mode. - -@html -<hr /> -@end html -@heading @anchor{powerpcle-*-winnt}powerpcle-*-winnt, powerpcle-*-pe -PowerPC system in little endian mode running Windows NT@. - -@html -<hr /> -@end html -@heading @anchor{romp-*-aos}romp-*-aos, romp-*-mach -These configurations are obsoleted in GCC 3.1. - -We recommend you compile GCC with an earlier version of itself; if you -compile GCC with @command{hc}, the Metaware compiler, it will work, but -you will get mismatches between the stage 2 and stage 3 compilers in -various files. These errors are minor differences in some -floating-point constants and can be safely ignored; the stage 3 compiler -is correct. - -@html -<hr /> -@end html -@heading @anchor{s390-*-linux*}s390-*-linux* -S/390 system running Linux for S/390@. - -@html -<hr /> -@end html -@heading @anchor{s390x-*-linux*}s390x-*-linux* -zSeries system (64-bit) running Linux for zSeries@. - -@html -<hr /> -@end html -@c Please use Solaris 2 to refer to all release of Solaris, starting -@c with 2.0 until 2.6, 7, and 8. Solaris 1 was a marketing name for -@c SunOS 4 releases which we don't use to avoid confusion. Solaris -@c alone is too unspecific and must be avoided. -@heading @anchor{*-*-solaris2*}*-*-solaris2* - -Sun does not ship a C compiler with Solaris 2. To bootstrap and install -GCC you first have to install a pre-built compiler, see our -@uref{binaries.html,,binaries page} for details. - -The Solaris 2 @command{/bin/sh} will often fail to configure -@file{libstdc++-v3}, @file{boehm-gc} or -@file{libjava}. If you encounter this problem, set @env{CONFIG_SHELL} to -@command{/bin/ksh} in your environment before running @command{configure}. - -Solaris 2 comes with a number of optional OS packages. Some of these -packages are needed to use GCC fully, namely @code{SUNWarc}, -@code{SUNWbtool}, @code{SUNWesu}, @code{SUNWhea}, @code{SUNWlibm}, -@code{SUNWsprot}, and @code{SUNWtoo}. If you did not install all -optional packages when installing Solaris 2, you will need to verify that -the packages that GCC needs are installed. - -To check whether an optional package is installed, use -the @command{pkginfo} command. To add an optional package, use the -@command{pkgadd} command. For further details, see the Solaris 2 -documentation. - -Trying to use the linker and other tools in -@file{/usr/ucb} to install GCC has been observed to cause trouble. -For example, the linker may hang indefinitely. The fix is to remove -@file{/usr/ucb} from your @env{PATH}. - -All releases of GNU binutils prior to 2.11.2 have known bugs on this -platform. We recommend the use of GNU binutils 2.11.2 or the vendor -tools (Sun @command{as}, Sun @command{ld}). - -Sun bug 4296832 turns up when compiling X11 headers with GCC 2.95 or -newer: @command{g++} will complain that types are missing. These headers assume -that omitting the type means @code{int}; this assumption worked for C89 but -is wrong for C++, and is now wrong for C99 also. - -@command{g++} accepts such (invalid) constructs with the option -@option{-fpermissive}; it -will assume that any missing type is @code{int} (as defined by C89). - -There are patches for Solaris 2.6 (105633-56 or newer for SPARC, -106248-42 or newer for Intel), Solaris 7 (108376-21 or newer for SPARC, -108377-20 for Intel), and Solaris 8 (108652-24 or newer for SPARC, -108653-22 for Intel) that fix this bug. - -@html -<hr /> -@end html -@heading @anchor{sparc-sun-solaris2*}sparc-sun-solaris2* - -When GCC is configured to use binutils 2.11.2 or later the binaries -produced are smaller than the ones produced using Sun's native tools; -this difference is quite significant for binaries containing debugging -information. - -Sun @command{as} 4.x is broken in that it cannot cope with long symbol names. -A typical error message might look similar to the following: - -@smallexample -/usr/ccs/bin/as: "/var/tmp/ccMsw135.s", line 11041: error: - can't compute value of an expression involving an external symbol. -@end smallexample - -This is Sun bug 4237974. This is fixed with patch 108908-02 for Solaris -2.6 and has been fixed in later (5.x) versions of the assembler, -starting with Solaris 7. - -Starting with Solaris 7, the operating system is capable of executing -64-bit SPARC V9 binaries. GCC 3.1 and later properly supports -this; the @option{-m64} option enables 64-bit code generation. -However, if all you want is code tuned for the UltraSPARC CPU, you -should try the @option{-mtune=ultrasparc} option instead, which produces -code that, unlike full 64-bit code, can still run on non-UltraSPARC -machines. - -When configuring on a Solaris 7 or later system that is running a kernel -that supports only 32-bit binaries, one must configure with -@option{--disable-multilib}, since we will not be able to build the -64-bit target libraries. - -@html -<hr /> -@end html -@heading @anchor{sparc-sun-solaris2.7}sparc-sun-solaris2.7 - -Sun patch 107058-01 (1999-01-13) for Solaris 7/SPARC 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: -@itemize @bullet -@item -Do not install Sun patch 107058-01 until after Sun releases a -complete patch for bug 4210064. This is the simplest course to take, -unless you must also use Sun's C compiler. Unfortunately 107058-01 -is preinstalled on some new Solaris 7-based hosts, so you may have to -back it out. - -@item -Copy the original, unpatched Solaris 7 -@command{/usr/ccs/bin/as} into -@command{/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/3.1/as}, -adjusting the latter name to fit your local conventions and software -version numbers. - -@item -Install Sun patch 106950-03 (1999-05-25) or later. Nobody with -both 107058-01 and 106950-03 installed has reported the bug with GCC -and Sun's dynamic linker. This last course of action is riskiest, -for two reasons. First, you must install 106950 on all hosts that -run code generated by GCC; it doesn't suffice to install it only on -the hosts that run GCC itself. Second, Sun says that 106950-03 is -only a partial fix for bug 4210064, but Sun doesn't know whether the -partial fix is adequate for GCC@. Revision -08 or later should fix -the bug. The current (as of 2001-09-24) revision is -14, and is included in -the Solaris 7 Recommended Patch Cluster. -@end itemize - - -@html -<p> -<hr /> -@end html -@heading @anchor{sparc-sun-sunos4*}sparc-sun-sunos4* - -A bug in the SunOS 4 linker will cause it to crash when linking -@option{-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 SunOS 4 linker patch (patch ID 100170-10) -from Sun's patch site. - -Sometimes on a Sun 4 you may observe a crash in the program -@command{genflags} or @command{genoutput} while building GCC. This is said to -be due to a bug in @command{sh}. You can probably get around it by running -@command{genflags} or @command{genoutput} manually and then retrying the -@command{make}. - -@html -<hr /> -@end html -@heading @anchor{sparc-unknown-linux-gnulibc1}sparc-unknown-linux-gnulibc1 - -It has been reported that you might need -@uref{ftp://ftp.yggdrasil.com/private/hjl,,binutils 2.8.1.0.23} -for this platform, too. - - -@html -<hr /> -@end html -@heading @anchor{sparc-*-linux*}sparc-*-linux* - -GCC versions 3.0 and higher require binutils 2.11.2 and glibc 2.2.4 -or newer on this platform. All earlier binutils and glibc -releases mishandled unaligned relocations on @code{sparc-*-*} targets. - - -@html -<hr /> -@end html -@heading @anchor{sparc64-*-*}sparc64-*-* - -GCC version 2.95 is not able to compile code correctly for -@code{sparc64} targets. Users of the Linux kernel, at least, -can use the @code{sparc32} program to start up a new shell -invocation with an environment that causes @command{configure} to -recognize (via @samp{uname -a}) the system as @samp{sparc-*-*} instead. - -@html -<hr /> -@end html -@heading @anchor{sparcv9-*-solaris2*}sparcv9-*-solaris2* - -The following compiler flags must be specified in the configure -step in order to bootstrap this target with the Sun compiler: - -@example - % CC="cc -xildoff -xarch=v9" @var{srcdir}/configure [@var{options}] [@var{target}] -@end example - -@option{-xildoff} turns off the incremental linker, and @option{-xarch=v9} -specifies the v9 architecture to the Sun linker and assembler. - -@html -<hr /> -@end html -@heading @anchor{#*-*-sysv*}*-*-sysv* -On System V release 3, you may get this error message -while linking: - -@smallexample -ld fatal: failed to write symbol name @var{something} - in strings table for file @var{whatever} -@end smallexample - -This probably indicates that the disk is full or your ulimit won't allow -the file to be as large as it needs to be. - -This problem can also result because the kernel parameter @code{MAXUMEM} -is too small. If so, you must regenerate the kernel and make the value -much larger. The default value is reported to be 1024; a value of 32768 -is said to work. Smaller values may also work. - -On System V, if you get an error like this, - -@example -/usr/local/lib/bison.simple: In function `yyparse': -/usr/local/lib/bison.simple:625: virtual memory exhausted -@end example - -@noindent -that too indicates a problem with disk space, ulimit, or @code{MAXUMEM}. - -On a System V release 4 system, make sure @file{/usr/bin} precedes -@file{/usr/ucb} in @code{PATH}. The @code{cc} command in -@file{/usr/ucb} uses libraries which have bugs. - -@html -<hr /> -@end html -@heading @anchor{vax-dec-ultrix}vax-dec-ultrix -Don't try compiling with VAX C (@code{vcc}). It produces incorrect code -in some cases (for example, when @code{alloca} is used). - -@html -<hr /> -@end html -@heading @anchor{we32k-*-*}we32k-*-* -These computers are also known as the 3b2, 3b5, 3b20 and other similar -names. (However, the 3b1 is actually a 68000.) -These configurations are obsoleted in GCC 3.1. - -Don't use @option{-g} when compiling with the system's compiler. The -system's linker seems to be unable to handle such a large program with -debugging information. - -The system's compiler runs out of capacity when compiling @file{stmt.c} -in GCC@. You can work around this by building @file{cpp} in GCC -first, then use that instead of the system's preprocessor with the -system's C compiler to compile @file{stmt.c}. Here is how: - -@smallexample -mv /lib/cpp /lib/cpp.att -cp cpp /lib/cpp.gnu -echo '/lib/cpp.gnu -traditional $@{1+"$@@"@}' > /lib/cpp -chmod +x /lib/cpp -@end smallexample - -The system's compiler produces bad code for some of the GCC -optimization files. So you must build the stage 2 compiler without -optimization. Then build a stage 3 compiler with optimization. -That executable should work. Here are the necessary commands: - -@smallexample -make LANGUAGES=c CC=stage1/xgcc CFLAGS="-Bstage1/ -g" -make stage2 -make CC=stage2/xgcc CFLAGS="-Bstage2/ -g -O" -@end smallexample - -You may need to raise the ULIMIT setting to build a C++ compiler, -as the file @file{cc1plus} is larger than one megabyte. - -@html -<hr /> -@end html -@heading @anchor{xtensa-*-elf}xtensa-*-elf - -This target is intended for embedded Xtensa systems using the -@samp{newlib} C library. It uses ELF but does not support shared -objects. Designed-defined instructions specified via the -Tensilica Instruction Extension (TIE) language are only supported -through inline assembly. - -The Xtensa configuration information must be specified prior to -building GCC@. The @file{gcc/config/xtensa/xtensa-config.h} header -file contains the configuration information. If you created your -own Xtensa configuration with the Xtensa Processor Generator, the -downloaded files include a customized copy of this header file, -which you can use to replace the default header file. - -@html -<hr /> -@end html -@heading @anchor{xtensa-*-linux*}xtensa-*-linux* - -This target is for Xtensa systems running GNU/Linux. It supports ELF -shared objects and the GNU C library (glibc). It also generates -position-independent code (PIC) regardless of whether the -@option{-fpic} or @option{-fPIC} options are used. In other -respects, this target is the same as the -@uref{#xtensa-*-elf,,@samp{xtensa-*-elf}} target. - -@html -<hr /> -@end html -@heading @anchor{windows}Microsoft Windows (32-bit) - -A port of GCC 2.95.x is included with the -@uref{http://www.cygwin.com/,,Cygwin environment}. - -Current (as of early 2001) snapshots of GCC will build under Cygwin -without modification. - -@html -<hr /> -@end html -@heading @anchor{os2}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 can be found -at @uref{http://www.goof.com/pcg/os2/,,http://www.goof.com/pcg/os2/}. - -An older copy of GCC 2.8.1 is included with the EMX tools available at -@uref{ftp://ftp.leo.org/pub/comp/os/os2/leo/devtools/emx+gcc/,, -ftp://ftp.leo.org/pub/comp/os/os2/leo/devtools/emx+gcc/}. - -@html -<hr /> -@end html -@heading @anchor{older}Older systems - -GCC contains support files for many older (1980s and early -1990s) Unix variants. For the most part, support for these systems -has not been deliberately removed, but it has not been maintained for -several years and may suffer from bitrot. Support from some systems -has been removed from GCC 3: fx80, ns32-ns-genix, pyramid, tahoe, -gmicro, spur; most of these targets had not been updated since GCC -version 1. - -We are planning to remove support for more older systems, starting in -GCC 3.1. Each release will have a list of ``obsoleted'' systems. -Support for these systems is still present in that release, but -@command{configure} will fail unless the @option{--enable-obsolete} -option is given. Unless a maintainer steps forward, support for -these systems will be removed from the next release of GCC@. - -Support for older systems as targets for cross-compilation is less -problematic than support for them as hosts for GCC; if an enthusiast -wishes to make such a target work again (including resurrecting any -of the targets that never worked with GCC 2, starting from the last -CVS version before they were removed), patches -@uref{../contribute.html,,following the usual requirements} -would be likely to be accepted, since they should not affect the -support for more modern targets. - -Support for old systems as hosts for GCC can cause problems if the -workarounds for compiler, library and operating system bugs affect the -cleanliness or maintainability of the rest of GCC@. In some cases, to -bring GCC up on such a system, if still possible with current GCC, may -require first installing an old version of GCC which did work on that -system, and using it to compile a more recent GCC, to avoid bugs in -the vendor compiler. Old releases of GCC 1 and GCC 2 are available in -the @file{old-releases} directory on the -@uref{../mirrors.html,,GCC mirror sites}. Header bugs may generally -be avoided using @command{fixincludes}, but bugs or deficiencies in -libraries and the operating system may still cause problems. - -For some systems, old versions of GNU binutils may also be useful, -and are available from @file{pub/binutils/old-releases} on -@uref{http://sources.redhat.com/mirrors.html,,sources.redhat.com mirror sites}. - -Some of the information on specific systems above relates to -such older systems, but much of the information -about GCC on such systems (which may no longer be applicable to -current GCC) is to be found in the GCC texinfo manual. - -@html -<hr /> -@end html -@heading @anchor{elf_targets}all ELF targets (SVR4, Solaris 2, etc.) - -C++ support is significantly better on ELF targets if you use the -@uref{./configure.html#with-gnu-ld,,GNU linker}; duplicate copies of -inlines, vtables and template instantiations will be discarded -automatically. - - -@html -<hr /> -<p> -@end html -@ifhtml -@uref{./index.html,,Return to the GCC Installation page} -@end ifhtml -@end ifset - -@c ***Old documentation****************************************************** -@ifset oldhtml -@include install-old.texi -@html -<hr /> -<p> -@end html -@ifhtml -@uref{./index.html,,Return to the GCC Installation page} -@end ifhtml -@end ifset - -@c ***GFDL******************************************************************** -@ifset gfdlhtml -@include fdl.texi -@html -<hr /> -<p> -@end html -@ifhtml -@uref{./index.html,,Return to the GCC Installation page} -@end ifhtml -@end ifset - -@c *************************************************************************** -@c Part 6 The End of the Document -@ifinfo -@comment node-name, next, previous, up -@node Concept Index, , GNU Free Documentation License, Top -@end ifinfo - -@ifinfo -@unnumbered Concept Index - -@printindex cp - -@contents -@end ifinfo -@bye diff --git a/contrib/gcc/doc/install.texi2html b/contrib/gcc/doc/install.texi2html deleted file mode 100755 index 3917e2af33e8..000000000000 --- a/contrib/gcc/doc/install.texi2html +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# -# Convert the GCC install documentation from texinfo format to HTML. -# -# $SOURCEDIR and $DESTDIR, resp., refer to the directory containing -# the texinfo source and the directory to put the HTML version in. -# -# (C) 2001 Free Software Foundation -# Originally by Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>, June 2001. -# -# This script is Free Software, and it can be copied, distributed and -# modified as defined in the GNU General Public License. A copy of -# its license can be downloaded from http://www.gnu.org/copyleft/gpl.html - -SOURCEDIR=${SOURCEDIR-.} -DESTDIR=${DESTDIR-HTML} - -MAKEINFO=${MAKEINFO-makeinfo} - -if [ ! -d $DESTDIR ]; then - mkdir -p $DESTDIR -fi - -for x in index.html specific.html download.html configure.html \ - build.html test.html finalinstall.html binaries.html old.html \ - gfdl.html -do - define=`echo $x | sed -e 's/\.//g'` - echo "define = $define" - $MAKEINFO -I $SOURCEDIR -I $SOURCEDIR/include $SOURCEDIR/install.texi --html --no-split -D$define -o$DESTDIR/$x -done diff --git a/contrib/gcc/doc/vms.texi b/contrib/gcc/doc/vms.texi deleted file mode 100644 index 5ab266695a84..000000000000 --- a/contrib/gcc/doc/vms.texi +++ /dev/null @@ -1,331 +0,0 @@ -@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, -@c 1999, 2000, 2001 Free Software Foundation, Inc. -@c This is part of the GCC manual. -@c For copying conditions, see the file gcc.texi. - -@node VMS -@chapter Using GCC on VMS - -@c prevent bad page break with this line -Here is how to use GCC on VMS@. - -@menu -* Include Files and VMS:: Where the preprocessor looks for the include files. -* Global Declarations:: How to do globaldef, globalref and globalvalue with - GCC. -* VMS Misc:: Misc information. -@end menu - -@node Include Files and VMS -@section Include Files and VMS - -@cindex include files and VMS -@cindex VMS and include files -@cindex header files and VMS -Due to the differences between the filesystems of Unix and VMS, GCC -attempts to translate file names in @samp{#include} into names that VMS -will understand. The basic strategy is to prepend a prefix to the -specification of the include file, convert the whole filename to a VMS -filename, and then try to open the file. GCC tries various prefixes -one by one until one of them succeeds: - -@enumerate -@item -The first prefix is the @samp{GNU_CC_INCLUDE:} logical name: this is -where GNU C header files are traditionally stored. If you wish to store -header files in non-standard locations, then you can assign the logical -@samp{GNU_CC_INCLUDE} to be a search list, where each element of the -list is suitable for use with a rooted logical. - -@item -The next prefix tried is @samp{SYS$SYSROOT:[SYSLIB.]}. This is where -VAX-C header files are traditionally stored. - -@item -If the include file specification by itself is a valid VMS filename, the -preprocessor then uses this name with no prefix in an attempt to open -the include file. - -@item -If the file specification is not a valid VMS filename (i.e.@: does not -contain a device or a directory specifier, and contains a @samp{/} -character), the preprocessor tries to convert it from Unix syntax to -VMS syntax. - -Conversion works like this: the first directory name becomes a device, -and the rest of the directories are converted into VMS-format directory -names. For example, the name @file{X11/foobar.h} is -translated to @file{X11:[000000]foobar.h} or @file{X11:foobar.h}, -whichever one can be opened. This strategy allows you to assign a -logical name to point to the actual location of the header files. - -@item -If none of these strategies succeeds, the @samp{#include} fails. -@end enumerate - -Include directives of the form: - -@example -#include foobar -@end example - -@noindent -are a common source of incompatibility between VAX-C and GCC@. VAX-C -treats this much like a standard @code{#include <foobar.h>} directive. -That is incompatible with the ISO C behavior implemented by GCC: to -expand the name @code{foobar} as a macro. Macro expansion should -eventually yield one of the two standard formats for @code{#include}: - -@example -#include "@var{file}" -#include <@var{file}> -@end example - -If you have this problem, the best solution is to modify the source to -convert the @code{#include} directives to one of the two standard forms. -That will work with either compiler. If you want a quick and dirty fix, -define the file names as macros with the proper expansion, like this: - -@example -#define stdio <stdio.h> -@end example - -@noindent -This will work, as long as the name doesn't conflict with anything else -in the program. - -Another source of incompatibility is that VAX-C assumes that: - -@example -#include "foobar" -@end example - -@noindent -is actually asking for the file @file{foobar.h}. GCC does not -make this assumption, and instead takes what you ask for literally; -it tries to read the file @file{foobar}. The best way to avoid this -problem is to always specify the desired file extension in your include -directives. - -GCC for VMS is distributed with a set of include files that is -sufficient to compile most general purpose programs. Even though the -GCC distribution does not contain header files to define constants -and structures for some VMS system-specific functions, there is no -reason why you cannot use GCC with any of these functions. You first -may have to generate or create header files, either by using the public -domain utility @code{UNSDL} (which can be found on a DECUS tape), or by -extracting the relevant modules from one of the system macro libraries, -and using an editor to construct a C header file. - -A @code{#include} file name cannot contain a DECNET node name. The -preprocessor reports an I/O error if you attempt to use a node name, -whether explicitly, or implicitly via a logical name. - -@node Global Declarations -@section Global Declarations and VMS - -@findex GLOBALREF -@findex GLOBALDEF -@findex GLOBALVALUEDEF -@findex GLOBALVALUEREF -GCC does not provide the @code{globalref}, @code{globaldef} and -@code{globalvalue} keywords of VAX-C@. You can get the same effect with -an obscure feature of GAS, the GNU assembler. (This requires GAS -version 1.39 or later.) The following macros allow you to use this -feature in a fairly natural way: - -@smallexample -#ifdef __GNUC__ -#define GLOBALREF(TYPE,NAME) \ - TYPE NAME \ - asm ("_$$PsectAttributes_GLOBALSYMBOL$$" #NAME) -#define GLOBALDEF(TYPE,NAME,VALUE) \ - TYPE NAME \ - asm ("_$$PsectAttributes_GLOBALSYMBOL$$" #NAME) \ - = VALUE -#define GLOBALVALUEREF(TYPE,NAME) \ - const TYPE NAME[1] \ - asm ("_$$PsectAttributes_GLOBALVALUE$$" #NAME) -#define GLOBALVALUEDEF(TYPE,NAME,VALUE) \ - const TYPE NAME[1] \ - asm ("_$$PsectAttributes_GLOBALVALUE$$" #NAME) \ - = @{VALUE@} -#else -#define GLOBALREF(TYPE,NAME) \ - globalref TYPE NAME -#define GLOBALDEF(TYPE,NAME,VALUE) \ - globaldef TYPE NAME = VALUE -#define GLOBALVALUEDEF(TYPE,NAME,VALUE) \ - globalvalue TYPE NAME = VALUE -#define GLOBALVALUEREF(TYPE,NAME) \ - globalvalue TYPE NAME -#endif -@end smallexample - -@noindent -(The @code{_$$PsectAttributes_GLOBALSYMBOL} prefix at the start of the -name is removed by the assembler, after it has modified the attributes -of the symbol). These macros are provided in the VMS binaries -distribution in a header file @file{GNU_HACKS.H}. An example of the -usage is: - -@example -GLOBALREF (int, ijk); -GLOBALDEF (int, jkl, 0); -@end example - -The macros @code{GLOBALREF} and @code{GLOBALDEF} cannot be used -straightforwardly for arrays, since there is no way to insert the array -dimension into the declaration at the right place. However, you can -declare an array with these macros if you first define a typedef for the -array type, like this: - -@example -typedef int intvector[10]; -GLOBALREF (intvector, foo); -@end example - -Array and structure initializers will also break the macros; you can -define the initializer to be a macro of its own, or you can expand the -@code{GLOBALDEF} macro by hand. You may find a case where you wish to -use the @code{GLOBALDEF} macro with a large array, but you are not -interested in explicitly initializing each element of the array. In -such cases you can use an initializer like: @code{@{0,@}}, which will -initialize the entire array to @code{0}. - -A shortcoming of this implementation is that a variable declared with -@code{GLOBALVALUEREF} or @code{GLOBALVALUEDEF} is always an array. For -example, the declaration: - -@example -GLOBALVALUEREF(int, ijk); -@end example - -@noindent -declares the variable @code{ijk} as an array of type @code{int [1]}. -This is done because a globalvalue is actually a constant; its ``value'' -is what the linker would normally consider an address. That is not how -an integer value works in C, but it is how an array works. So treating -the symbol as an array name gives consistent results---with the -exception that the value seems to have the wrong type. @strong{Don't -try to access an element of the array.} It doesn't have any elements. -The array ``address'' may not be the address of actual storage. - -The fact that the symbol is an array may lead to warnings where the -variable is used. Insert type casts to avoid the warnings. Here is an -example; it takes advantage of the ISO C feature allowing macros that -expand to use the same name as the macro itself. - -@example -GLOBALVALUEREF (int, ss$_normal); -GLOBALVALUEDEF (int, xyzzy,123); -#ifdef __GNUC__ -#define ss$_normal ((int) ss$_normal) -#define xyzzy ((int) xyzzy) -#endif -@end example - -Don't use @code{globaldef} or @code{globalref} with a variable whose -type is an enumeration type; this is not implemented. Instead, make the -variable an integer, and use a @code{globalvaluedef} for each of the -enumeration values. An example of this would be: - -@example -#ifdef __GNUC__ -GLOBALDEF (int, color, 0); -GLOBALVALUEDEF (int, RED, 0); -GLOBALVALUEDEF (int, BLUE, 1); -GLOBALVALUEDEF (int, GREEN, 3); -#else -enum globaldef color @{RED, BLUE, GREEN = 3@}; -#endif -@end example - -@node VMS Misc -@section Other VMS Issues - -@cindex exit status and VMS -@cindex return value of @code{main} -@cindex @code{main} and the exit status -GCC automatically arranges for @code{main} to return 1 by default if -you fail to specify an explicit return value. This will be interpreted -by VMS as a status code indicating a normal successful completion. -Version 1 of GCC did not provide this default. - -GCC on VMS works only with the GNU assembler, GAS@. You need version -1.37 or later of GAS in order to produce value debugging information for -the VMS debugger. Use the ordinary VMS linker with the object files -produced by GAS@. - -@cindex shared VMS run time system -@cindex @file{VAXCRTL} -Under previous versions of GCC, the generated code would occasionally -give strange results when linked to the sharable @file{VAXCRTL} library. -Now this should work. - -A caveat for use of @code{const} global variables: the @code{const} -modifier must be specified in every external declaration of the variable -in all of the source files that use that variable. Otherwise the linker -will issue warnings about conflicting attributes for the variable. Your -program will still work despite the warnings, but the variable will be -placed in writable storage. - -@cindex name augmentation -@cindex case sensitivity and VMS -@cindex VMS and case sensitivity -Although the VMS linker does distinguish between upper and lower case -letters in global symbols, most VMS compilers convert all such symbols -into upper case and most run-time library routines also have upper case -names. To be able to reliably call such routines, GCC (by means of -the assembler GAS) converts global symbols into upper case like other -VMS compilers. However, since the usual practice in C is to distinguish -case, GCC (via GAS) tries to preserve usual C behavior by augmenting -each name that is not all lower case. This means truncating the name -to at most 23 characters and then adding more characters at the end -which encode the case pattern of those 23. Names which contain at -least one dollar sign are an exception; they are converted directly into -upper case without augmentation. - -Name augmentation yields bad results for programs that use precompiled -libraries (such as Xlib) which were generated by another compiler. You -can use the compiler option @samp{/NOCASE_HACK} to inhibit augmentation; -it makes external C functions and variables case-independent as is usual -on VMS@. Alternatively, you could write all references to the functions -and variables in such libraries using lower case; this will work on VMS, -but is not portable to other systems. The compiler option @samp{/NAMES} -also provides control over global name handling. - -Function and variable names are handled somewhat differently with G++. -The GNU C++ compiler performs @dfn{name mangling} on function -names, which means that it adds information to the function name to -describe the data types of the arguments that the function takes. One -result of this is that the name of a function can become very long. -Since the VMS linker only recognizes the first 31 characters in a name, -special action is taken to ensure that each function and variable has a -unique name that can be represented in 31 characters. - -If the name (plus a name augmentation, if required) is less than 32 -characters in length, then no special action is performed. If the name -is longer than 31 characters, the assembler (GAS) will generate a -hash string based upon the function name, truncate the function name to -23 characters, and append the hash string to the truncated name. If the -@samp{/VERBOSE} compiler option is used, the assembler will print both -the full and truncated names of each symbol that is truncated. - -The @samp{/NOCASE_HACK} compiler option should not be used when you are -compiling programs that use libg++. libg++ has several instances of -objects (i.e. @code{Filebuf} and @code{filebuf}) which become -indistinguishable in a case-insensitive environment. This leads to -cases where you need to inhibit augmentation selectively (if you were -using libg++ and Xlib in the same program, for example). There is no -special feature for doing this, but you can get the result by defining a -macro for each mixed case symbol for which you wish to inhibit -augmentation. The macro should expand into the lower case equivalent of -itself. For example: - -@example -#define StuDlyCapS studlycaps -@end example - -These macro definitions can be placed in a header file to minimize the -number of changes to your source code. diff --git a/contrib/gcc/enquire.c b/contrib/gcc/enquire.c deleted file mode 100644 index 8b4bdda3d52e..000000000000 --- a/contrib/gcc/enquire.c +++ /dev/null @@ -1,2887 +0,0 @@ -/* Everything you wanted to know about your machine and C compiler, - but didn't know who to ask. */ - -#ifndef VERSION -#define VERSION "4.3" -#endif - -/* Author: Steven Pemberton, CWI, Amsterdam; steven@cwi.nl - Bugfixes and upgrades gratefully received. - - Copyright (c) 1988, 1989, 1990 Steven Pemberton, CWI, Amsterdam. - All rights reserved. - - Changes by Richard Stallman: - Undef CHAR_BIT, etc., if defined in stdio.h, Richard Stallman, Aug 90. - In EPROP, avoid a <= old if bad is set, Richard Stallman, May 91. - Use gstddef.h, not stddef.h, Richard Stallman, Nov 91. - Don't declare malloc, instead cast the value, Richard Stallman, Nov 91. - Include sys/types.h before signal.h, Apr 92. - Support NO_LONG_DOUBLE_IO in f_define and f_rep; new fn fake_f_rep, Apr 92. - Enclose -f output in #ifndef _FLOAT_H___, Richard Stallman, May 92. - - Change by Jim Wilson: - Add #undef before every #define, Dec 92. - Use stddef.h not gstddef.h, Mar 94. - - Changes by Paul Eggert, installed Feb 93: - (fake_f_rep): Clear all of u, initially. Make the ints in u unsigned. - (f_define): Use ordinary constants for long double - if it's same width as double. Make __convert_long_double_i unsigned. - Richard Stallman, May 93: - In F_check, check NO_LONG_DOUBLE_IO. - - Changes by Stephen Moshier, installed Sep 93: - (FPROP): Recognize 80387 or 68881 XFmode format. - - Change by Manfred Hollstein, installed Mar 98: - (bitpattern): Change type of variable i to unsigned int. - - - COMPILING - With luck and a following wind, just the following will work: - cc enquire.c -o enquire - You may get some messages about unreachable code, which you can ignore. - - If your compiler doesn't support: add flag: - signed char (eg pcc) -DNO_SC - unsigned char -DNO_UC - unsigned short and long -DNO_UI - void -DNO_VOID - signal(), or setjmp/longjmp() -DNO_SIG - %Lf in printf -DNO_LONG_DOUBLE_IO - - Try to compile first with no flags, and see if you get any errors - - you might be surprised. (Most non-ANSI compilers need -DNO_SC, though.) - Some compilers need a -f flag for floating point. - - Don't use any optimisation flags: the program may not work if you do. - Though "while (a+1.0-a-1.0 == 0.0)" may look like "while(1)" to an - optimiser, to a floating-point unit there's a world of difference. - - Some compilers offer various flags for different floating point - modes; it's worth trying all possible combinations of these. - - Add -DID=\"name\" if you want the machine/flags identified in the output. - - FAULTY COMPILERS - Because of bugs and/or inadequacies, some compilers need the following - defines: - - If your C preprocessor doesn't have the predefined __FILE__ macro, and - you don't want to call this file enquire.c but, say, tell.c, add the - flag -DFILENAME=\"tell.c\" . - - Some compilers won't accept the line "#include FILENAME". - Add flag -DNO_FILE. In that case, this file *must* be called enquire.c. - - Some compilers can't cope with "#ifdef __FILE__". Use -DFILENAME= - or -DNO_FILE as above. - - Some naughty compilers define __STDC__, but don't really support it. - Some define it as 0, in which case we treat it as undefined. - But if your compiler defines it, and isn't really ANSI C, - add flag -DNO_STDC. (To those compiler writers: for shame). - - Some naughty compilers define __STDC__, but don't have the stddef.h - include file. Add flag -DNO_STDDEF. - - Summary of naughty-compiler flags: - If your compiler doesn't support: add flag: - __FILE__ (and you changed the filename) -DFILENAME=\"name.c\" - #ifdef __FILE__ -DNO_FILE or -DFILENAME=... - #include FILENAME -DNO_FILE - __STDC__ (properly) -DNO_STDC - stddef.h -DNO_STDDEF - - Some systems crash when you try to malloc all store. To save users of - such defective systems too much grief, they may compile with -DNO_MEM, - which ignores that bit of the code. - - While it is not our policy to support defective compilers, pity has been - taken on people with compilers that can't produce object files bigger than - 32k (especially since it was an easy addition). Compile the program - into separate parts like this: - cc -DSEP -DPASS0 -o p0.o <other flags> enquire.c - cc -DSEP -DPASS1 -o p1.o <other flags> enquire.c - cc -DSEP -DPASS2 -o p2.o <other flags> enquire.c - cc -DSEP -DPASS3 -o p3.o <other flags> enquire.c - cc -o enquire p0.o p1.o p2.o p3.o - - SYSTEM DEPENDENCIES - You may possibly need to add some calls to signal() for other sorts of - exception on your machine than SIGFPE, and SIGOVER. See lines beginning - #ifdef SIGxxx in main() (and communicate the differences to me!). - - OUTPUT - Run without argument to get the information as English text. If run - with argument -l (e.g. enquire -l), output is a series of #define's for - the ANSI standard limits.h include file, excluding MB_MAX_CHAR. If run - with argument -f, output is a series of #define's for the ANSI standard - float.h include file (according to ANSI C Draft of Dec 7, 1988). - Flag -v gives verbose output: output includes the English text above - as C comments. The program exit(0)'s if everything went ok, otherwise - it exits with a positive number, telling how many problems there were. - - VERIFYING THE COMPILER - If, having produced the float.h and limits.h header files, you want to - verify that the compiler reads them back correctly (there are a lot of - boundary cases, of course, like minimum and maximum numbers), you can - recompile enquire.c with -DVERIFY set (plus the other flags that you used - when compiling the version that produced the header files). This then - recompiles the program so that it #includes "limits.h" and "float.h", - and checks that the constants it finds there are the same as the - constants it produces. Run the resulting program with enquire -fl. - Very few compilers have passed without error. - NB: You *must* recompile with the same compiler and flags, otherwise - you may get odd results. - - You can also use this option if your compiler already has both files, - and you want to confirm that this program produces the right results. - - TROUBLESHOOTING. - This program is now quite trustworthy, and suspicious and wrong output - may well be caused by bugs in the compiler, not in the program (however - of course, this is not guaranteed, and no responsibility can be - accepted, etc.) - - The program only works if overflows are ignored by the C system or - are catchable with signal(). - - If the program fails to run to completion (often with the error message - "Unexpected signal at point x"), this often turns out to be a bug in the - C compiler's run-time system. Check what was about to be printed, and - try to narrow the problem down. - - Another possible problem is that you have compiled the program to produce - loss-of-precision arithmetic traps. The program cannot cope with these, - and you should re-compile without them. (They should never be the default). - - Make sure you compiled with optimisation turned off. - - Output preceded by *** WARNING: identifies behaviour of the C system - deemed incorrect by the program. Likely problems are that printf or - scanf don't cope properly with certain boundary numbers: this program - goes to a lot of trouble to calculate its values, and these values - are mostly boundary numbers. Experience has shown that often printf - cannot cope with these values, and so in an attempt to increase - confidence in the output, for each float and double that is printed, - the printed value is checked by using sscanf to read it back. - Care is taken that numbers are printed with enough digits to uniquely - identify them, and therefore that they can be read back identically. - If the number read back is different, then there is probably a bug in - printf or sscanf, and the program prints the warning message. - If the two numbers in the warning look identical, then printf is more - than likely rounding the last digit(s) incorrectly. To put you at ease - that the two really are different, the bit patterns of the two numbers - are also printed. The difference is very likely in the last bit. - Many scanf's read the minimum double back as 0.0, and similarly cause - overflow when reading the maximum double. This program quite ruthlessly - declares all these behaviours faulty. The point is that if you get - one of these warnings, the output may be wrong, so you should check - the result carefully if you intend to use the results. Of course, printf - and sscanf may both be wrong, and cancel each other out, so you should - check the output carefully anyway. - - The warning that "a cast didn't work" refers to cases like this: - - float f; - #define C 1.234567890123456789 - f= C; - if (f != (float) C) printf ("Wrong!"); - - A faulty compiler will widen f to double and ignore the cast to float, - and because there is more accuracy in a double than a float, fail to - recognise that they are the same. In the actual case in point, f and C - are passed as parameters to a function that discovers they are not equal, - so it's just possible that the error was in the parameter passing, - not in the cast (see function Validate()). - For ANSI C, which has float constants, the error message is "constant has - wrong precision". - - REPORTING PROBLEMS - If the program doesn't work for you for any reason that can't be - narrowed down to a problem in the C compiler, or it has to be changed in - order to get it to compile, or it produces suspicious output (like a very - low maximum float, for instance), please mail the problem and an example - of the incorrect output to steven@cwi.nl or ..!hp4nl!cwi.nl!steven, so that - improvements can be worked into future versions; cwi.nl is the European - backbone, and is connected to uunet and other fine hosts. - - The program tries to catch and diagnose bugs in the compiler/run-time - system. I would be especially pleased to have reports of failures so - that I can improve this service. - - I apologise unreservedly for the contorted use of the preprocessor... - - THE SMALL PRINT - You may copy and distribute verbatim copies of this source file. - - You may modify this source file, and copy and distribute such - modified versions, provided that you leave the copyright notice - at the top of the file and also cause the modified file to carry - prominent notices stating that you changed the files and the date - of any change; and cause the whole of any work that you distribute - or publish, that in whole or in part contains or is a derivative of - this program or any part thereof, to be licensed at no charge to - all third parties on terms identical to those here. - - If you do have a fix to any problem, please send it to me, so that - other people can have the benefits. - - While every effort has been taken to make this program as reliable as - possible, no responsibility can be taken for the correctness of the - output, nor suitability for any particular use. - - This program is an offshoot of a project funded by public funds. - If you use this program for research or commercial use (i.e. more - than just for the fun of knowing about your compiler) mailing a short - note of acknowledgement may help keep enquire.c supported. - - ACKNOWLEDGEMENTS - Many people have given time and ideas to making this program what it is. - To all of them thanks, and apologies for not mentioning them by name. - - HISTORY - Originally started as a program to generate configuration constants - for a large piece of software we were writing, which later took on - a life of its own... - 1.0 Length 6658!; end 1984? - Unix only. Only printed a dozen maximum int/double values. - 2.0 Length 10535; Spring 1985 - Prints values as #defines (about 20 of them) - More extensive floating point, using Cody and Waite - Handles signals better - Programs around optimisations - Handles Cybers - 3.0 Length 12648; Aug 1987; prints about 42 values - Added PASS stuff, so treats float as well as double - 4.0 Length 33891; Feb 1989; prints around 85 values - First GNU version (for gcc, where they call it hard-params.c) - Generates float.h and limits.h files - Handles long double - Generates warnings for dubious output - 4.1 Length 47738; April 1989 - Added VERIFY and TEST - 4.2 Length 63442; Feb 1990 - Added SEP - Fixed eps/epsneg - Added check for pseudo-unsigned chars - Added description for each #define output - Added check for absence of defines during verify - Added prototypes - Added NO_STDC and NO_FILE - Fixed alignments output - 4.3 Length 75000; Oct 1990; around 114 lines of output - Function xmalloc defined, Richard Stallman, June 89. - Alignments computed from member offsets rather than structure sizes, - Richard Stallman, Oct 89. - Print whether char* and int* pointers have the same format; - also char * and function *. - Update to Draft C version Dec 7, 1988 - - types of constants produced in limits.h - (whether to put a U after unsigned shorts and chars and - whether to output -1024 as (-1023-1)) - - values of SCHAR_MIN/MAX - - values of *_EPSILON (not the smallest but the effective smallest) - Added FILENAME, since standard C doesn't allow #define __FILE__ - Renamed from config.c to enquire.c - Added size_t and ptrdiff_t enquiries - Added promotion enquiries - Added type checks of #defines - Added NO_STDDEF - Changed endian to allow for cases where not all bits are used - Sanity check for max integrals - Fixed definition of setjmp for -DNO_SIG - Moved #define ... 0.0L inside #ifdef STDC, in case some cpp's tokenize - Added NO_MEM -*/ - -/* Set FILENAME to the name of this file */ -#ifndef FILENAME -#ifdef NO_FILE -#define FILENAME "enquire.c" -#else -#ifdef __FILE__ /* It's a compiler bug if this fails. Compile with -DNO_FILE */ -#define FILENAME __FILE__ -#else -#define FILENAME "enquire.c" -#endif /* __FILE__ */ -#endif /* NO_FILE */ -#endif /* FILENAME */ - -/* If PASS isn't defined, then this is the first pass over this file. */ -#ifndef PASS -#ifndef SEP -#define PASS 1 -#define PASS0 1 -#define PASS1 1 -#endif /* SEP */ - -/* A description of the ANSI constants */ -#define D_CHAR_BIT "Number of bits in a storage unit" -#define D_CHAR_MAX "Maximum char" -#define D_CHAR_MIN "Minimum char" -#define D_SCHAR_MAX "Maximum signed char" -#define D_SCHAR_MIN "Minimum signed char" -#define D_UCHAR_MAX "Maximum unsigned char (minimum is always 0)" - -#define D_INT_MAX "Maximum %s" -#define D_INT_MIN "Minimum %s" -#define D_UINT_MAX "Maximum unsigned %s (minimum is always 0)" - -#define D_FLT_ROUNDS "Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown" -#define D_FLT_RADIX "Radix of exponent representation" -#define D_MANT_DIG "Number of base-FLT_RADIX digits in the significand of a %s" -#define D_DIG "Number of decimal digits of precision in a %s" -#define D_MIN_EXP "Minimum int x such that FLT_RADIX**(x-1) is a normalised %s" -#define D_MIN_10_EXP "Minimum int x such that 10**x is a normalised %s" -#define D_MAX_EXP "Maximum int x such that FLT_RADIX**(x-1) is a representable %s" -#define D_MAX_10_EXP "Maximum int x such that 10**x is a representable %s" -#define D_MAX "Maximum %s" -#define D_EPSILON "Difference between 1.0 and the minimum %s greater than 1.0" -#define D_MIN "Minimum normalised %s" - -/* Procedure just marks the functions that don't return a result */ -#ifdef NO_VOID -#define Procedure int -#else -#define Procedure void -#endif - -/* Some bad compilers define __STDC__, when they don't support it. - Compile with -DNO_STDC to get round this. -*/ -#ifndef NO_STDC -#ifdef __STDC__ -#if __STDC__ /* If __STDC__ is 0, assume it isn't supported */ -#define STDC -#endif -#endif -#endif - -/* Stuff different for ANSI C, and old C: - ARGS and NOARGS are used for function prototypes. - Volatile is used to reduce the chance of optimisation, - and to prevent variables being put in registers (when setjmp/longjmp - wouldn't work as we want) - Long_double is the longest floating point type available. - stdc is used in tests like "if (stdc)", which is less ugly than #ifdef. - U is output after unsigned constants. - */ -#ifdef STDC - -#define ARGS(x) x -#define NOARGS (void) -#define Volatile volatile -#define Long_double long double -#define stdc 1 -#define U "U" - -#else /* Old style C */ - -#define ARGS(x) () -#define NOARGS () -#define Volatile static -#define Long_double double -#define stdc 0 -#define U "" - -#endif /* STDC */ - -/* include files */ -/* Stdio.h might include limits.h, and limits.h might include float.h, and - float.h is probably the float.h put together by the gcc makefile to - cause errors. We use our special define to assure float.h that we don't - really need it. */ -#define __GCC_FLOAT_NOT_NEEDED -#include <stdio.h> - -#ifdef STDC -#ifndef NO_STDDEF -#include <stddef.h> /* for size_t: if this fails, define NO_STDDEF */ -#endif -#endif - -#ifdef NO_SIG -#define jmp_buf int -#else -#include <sys/types.h> -#include <signal.h> -#include <setjmp.h> -#endif - -/* Kludge around the possibility that <stdio.h> includes <limits.h> */ -#ifdef CHAR_BIT -#undef CHAR_BIT -#undef CHAR_MAX -#undef CHAR_MIN -#undef SCHAR_MAX -#undef SCHAR_MIN -#undef UCHAR_MAX -#undef UCHAR_MIN -#endif - -#ifdef VERIFY -#include "limits.h" -#endif - -#ifndef SYS_FLOAT_H_WRAP -#define SYS_FLOAT_H_WRAP 0 -#endif - -#if SYS_FLOAT_H_WRAP || defined VERIFY -#include "float.h" -#endif - -#define Vprintf if (V) printf -#define Unexpected(place) if (setjmp(lab)!=0) croak(place) -#define fabs(x) (((x)<0.0)?(-x):(x)) - -#endif /* PASS */ - -#ifdef PASS0 - -/* Prototypes for what's to come: */ - -int false NOARGS; - -#ifdef NO_STDDEF -char *malloc (); /* Old style prototype */ -#else -char *malloc ARGS((size_t size)); -#endif - -Procedure exit ARGS((int status)); - -char *f_rep ARGS((int precision, Long_double val)); -char *fake_f_rep ARGS((char *type, Long_double val)); - -int maximum_int NOARGS; -int cprop NOARGS; -int basic NOARGS; -Procedure sprop NOARGS; -Procedure iprop NOARGS; -Procedure lprop NOARGS; -Procedure usprop NOARGS; -Procedure uiprop NOARGS; -Procedure ulprop NOARGS; -int fprop ARGS((int bits_per_byte)); -int dprop ARGS((int bits_per_byte)); -int ldprop ARGS((int bits_per_byte)); -Procedure efprop ARGS((int fprec, int dprec, int lprec)); -Procedure edprop ARGS((int fprec, int dprec, int lprec)); -Procedure eldprop ARGS((int fprec, int dprec, int lprec)); - -int setmode ARGS((char *s)); -Procedure farewell ARGS((int bugs)); -Procedure describe ARGS((char *description, char *extra)); -Procedure missing ARGS((char *s)); -Procedure fmissing ARGS((char *s)); -Procedure check_defines NOARGS; -Procedure bitpattern ARGS((char *p, unsigned int size)); -int ceil_log ARGS((int base, Long_double x)); -Procedure croak ARGS((int place)); -Procedure eek_a_bug ARGS((char *problem)); -Procedure endian ARGS((int bits_per_byte)); -int exponent ARGS((Long_double x, double *fract, int *exp)); -int floor_log ARGS((int base, Long_double x)); -Procedure f_define ARGS((char *desc, char *extra, char *sort, char *name, - int prec, Long_double val, Long_double req, - char *mark)); -Procedure i_define ARGS((char *desc, char *extra, char *sort, char *name, - long val, long lim, long req, char *mark)); -Procedure u_define ARGS((char *desc, char *extra, char *sort, char *name, - unsigned long val, unsigned long req, char *mark)); - -#ifdef NO_SIG /* There's no signal(), or setjmp/longjmp() */ - - /* Dummy routines instead */ - - int setjmp ARGS((int lab)); - - int lab=1; - int setjmp(lab) int lab; { return(0); } - Procedure signal(i, p) int i, (*p)(); {} - -#else - jmp_buf lab; - Procedure overflow(sig) int sig; { /* what to do on over/underflow */ - signal(sig, overflow); - longjmp(lab, 1); - } - -#endif /*NO_SIG*/ - -int V= 0, /* verbose */ - L= 0, /* produce limits.h */ - F= 0, /* produce float.h */ - bugs=0; /* The number of (possible) bugs in the output */ - -char co[4], oc[4]; /* Comment starter and ender symbols */ - -int bits_per_byte; /* the number of bits per unit returned by sizeof() */ -int flt_rounds; /* The calculated value of FLT_ROUNDS */ -int flt_radix; /* The calculated value of FLT_RADIX */ - -#ifdef TEST -/* Set the fp modes on a SUN with 68881 chip, to check that different - rounding modes etc. get properly detected. - Compile with -f68881 for cc, -m68881 for gcc, and with additional flag - -DTEST. Run with additional parameter +hex-number, to set the 68881 mode - register to hex-number -*/ - -/* Bits 0x30 = rounding mode */ -#define ROUND_BITS 0x30 -#define TO_NEAREST 0x00 -#define TO_ZERO 0x10 -#define TO_MINUS_INF 0x20 -#define TO_PLUS_INF 0x30 /* The SUN FP user's guide seems to be wrong here */ - -/* Bits 0xc0 = extended rounding */ -#define EXT_BITS 0xc0 -#define ROUND_EXTENDED 0x00 -#define ROUND_SINGLE 0x40 -#define ROUND_DOUBLE 0x80 - -/* Enabled traps */ -#define EXE_INEX1 0x100 -#define EXE_INEX2 0x200 -#define EXE_DZ 0x400 -#define EXE_UNFL 0x800 -#define EXE_OVFL 0x1000 -#define EXE_OPERR 0x2000 -#define EXE_SNAN 0x4000 -#define EXE_BSUN 0x8000 - -/* Only used for testing, on a Sun with 68881 chip */ -/* Print the FP mode */ -printmode(new) unsigned new; { - fpmode_(&new); - printf("New fp mode:\n"); - printf(" Round toward "); - switch (new & ROUND_BITS) { - case TO_NEAREST: printf("nearest"); break; - case TO_ZERO: printf("zero"); break; - case TO_MINUS_INF: printf("minus infinity"); break; - case TO_PLUS_INF: printf("plus infinity"); break; - default: printf("???"); break; - } - - printf("\n Extended rounding precision: "); - - switch (new & EXT_BITS) { - case ROUND_EXTENDED: printf("extended"); break; - case ROUND_SINGLE: printf("single"); break; - case ROUND_DOUBLE: printf("double"); break; - default: printf("???"); break; - } - - printf("\n Enabled exceptions:"); - if (new & (unsigned) EXE_INEX1) printf(" inex1"); - if (new & (unsigned) EXE_INEX2) printf(" inex2"); - if (new & (unsigned) EXE_DZ) printf(" dz"); - if (new & (unsigned) EXE_UNFL) printf(" unfl"); - if (new & (unsigned) EXE_OVFL) printf(" ovfl"); - if (new & (unsigned) EXE_OPERR) printf(" operr"); - if (new & (unsigned) EXE_SNAN) printf(" snan"); - if (new & (unsigned) EXE_BSUN) printf(" bsun"); - printf("\n"); -} - -/* Only used for testing, on a Sun with 68881 chip */ -/* Set the FP mode */ -int setmode(s) char *s; { - unsigned mode=0, dig; - char c; - - while (*s) { - c= *s++; - if (c>='0' && c<='9') dig= c-'0'; - else if (c>='a' && c<='f') dig= c-'a'+10; - else if (c>='A' && c<='F') dig= c-'A'+10; - else return 1; - mode= mode<<4 | dig; - } - printmode(mode); - return 0; -} -#else -/* ARGSUSED */ -int setmode(s) char *s; { - fprintf(stderr, "Can't set mode: not compiled with TEST\n"); - return(1); -} -#endif - -Procedure farewell(bugs) int bugs; { - if (bugs == 0) exit(0); - printf("\n%sFor hints on dealing with the ", co); - if (bugs == 1) printf("problem"); - else printf("%d problems", bugs); - printf(" above\n see the section 'TROUBLESHOOTING' in the file "); - printf("%s%s\n", FILENAME, oc); - exit(bugs); -} - -/* The program has received a signal where it wasn't expecting one */ -Procedure croak(place) int place; { - printf("*** Unexpected signal at point %d\n", place); - farewell(bugs+1); /* An exit isn't essential here, but avoids loops */ -} - -/* This is here in case alloca.c is used, which calls this. */ -char *xmalloc(size) unsigned size; { - char *value = (char *)malloc(size); - if (value == 0) { - fprintf(stderr, "Virtual memory exceeded\n"); - exit(bugs+1); - } - return value; -} - -int maxint; - -int maximum_int() { - /* Find the maximum integer */ - Volatile int newi, int_max, two=2; - - /* Calculate maxint ***********************************/ - /* Calculate 2**n-1 until overflow - then use the previous value */ - - newi=1; int_max=0; - - if (setjmp(lab)==0) { /* Yields int_max */ - while(newi>int_max) { - int_max=newi; - newi=newi*two+1; - } - } - Unexpected(0); - return int_max; -} - -int main(argc, argv) int argc; char *argv[]; { - int dprec, fprec, lprec; - int i; char *s; int bad; - -#ifdef SIGFPE - signal(SIGFPE, overflow); -#endif -#ifdef SIGOVER - signal(SIGOVER, overflow); -#endif -/* Add more calls as necessary */ - - Unexpected(1); - - bad=0; - for (i=1; i < argc; i++) { - s= argv[i]; - if (*s == '-') { - s++; - while (*s) { - switch (*(s++)) { - case 'v': V=1; break; - case 'l': L=1; break; - case 'f': F=1; break; - default: bad=1; break; - } - } - } else if (*s == '+') { - s++; - bad= setmode(s); - } else bad= 1; - } - if (bad) { - fprintf(stderr, - "Usage: %s [-vlf]\n v=Verbose l=Limits.h f=Float.h\n", - argv[0]); - exit(1); - } - if (L || F) { - co[0]= '/'; oc[0]= ' '; - co[1]= '*'; oc[1]= '*'; - co[2]= ' '; oc[2]= '/'; - co[3]= '\0'; oc[3]= '\0'; - } else { - co[0]= '\0'; oc[0]= '\0'; - V=1; - } - - if (L) printf("%slimits.h%s\n", co, oc); - if (F) printf("%sfloat.h%s\n", co, oc); - if (F) { - printf ("#ifndef _FLOAT_H___\n"); - printf ("#define _FLOAT_H___\n"); - if (SYS_FLOAT_H_WRAP) - printf (" #include_next <float.h>\n"); - } -#ifdef ID - printf("%sProduced on %s by enquire version %s, CWI, Amsterdam%s\n", - co, ID, VERSION, oc); -#else - printf("%sProduced by enquire version %s, CWI, Amsterdam%s\n", - co, VERSION, oc); -#endif - -#ifdef VERIFY - printf("%sVerification phase%s\n", co, oc); -#endif - -#ifdef NO_SIG - Vprintf("%sCompiled without signal(): %s%s\n", - co, - "there's nothing that can be done if overflow occurs", - oc); -#endif -#ifdef NO_SC - Vprintf("%sCompiled without signed char%s\n", co, oc); -#endif -#ifdef NO_UC - Vprintf("%Compiled without unsigned char%s\n", co, oc); -#endif -#ifdef NO_UI - Vprintf("%Compiled without unsigned short or long%s\n", co, oc); -#endif -#ifdef __STDC__ - Vprintf("%sCompiler claims to be ANSI C level %d%s\n", - co, __STDC__, oc); -#else - Vprintf("%sCompiler does not claim to be ANSI C%s\n", co, oc); -#endif - printf("\n"); - check_defines(); - - maxint= maximum_int(); - bits_per_byte= basic(); - Vprintf("\n"); - if (F||V) { - fprec= fprop(bits_per_byte); - dprec= dprop(bits_per_byte); - lprec= ldprop(bits_per_byte); - efprop(fprec, dprec, lprec); - edprop(fprec, dprec, lprec); - eldprop(fprec, dprec, lprec); - } -#ifndef NO_MEM - if (V) { - unsigned int size; - long total; - /* An extra goody: the approximate amount of data-space */ - /* Allocate store until no more available */ - /* Different implementations have a different argument type - to malloc. Here we assume that it's the same type as - that which sizeof() returns */ - size=1<<((bits_per_byte*sizeof(int))-2); - total=0; - while (size!=0) { - while ( malloc((false()?sizeof(int):size)) != - (char *)NULL - ) { - total+=(size/2); - } - size/=2; - } - - Vprintf("%sMemory allocable ~= %ld Kbytes%s\n", - co, (total+511)/512, oc); - } -#endif - if (F) { - printf ("#endif %s _FLOAT_H___%s\n", co, oc); - } - farewell(bugs); - return bugs; /* To keep compilers and lint happy */ -} - -Procedure eek_a_bug(problem) char *problem; { - /* The program has discovered a problem */ - printf("\n%s*** WARNING: %s%s\n", co, problem, oc); - bugs++; -} - -Procedure describe(description, extra) char *description, *extra; { - /* Produce the description for a #define */ - printf(" %s", co); - printf(description, extra); - printf("%s\n", oc); -} - -Procedure i_define(desc, extra, sort, name, val, lim, req, mark) - char *desc, *extra, *sort, *name; long val, lim, req; char *mark; { - if (SYS_FLOAT_H_WRAP && F && val == req) - return; - /* Produce a #define for a signed int type */ - describe(desc, extra); - printf("#undef %s%s\n", sort, name); - if (val >= 0) { - printf("#define %s%s %ld%s\n", sort, name, val, mark); - } else if (val + lim < 0) { - /* We may not produce a constant like -1024 if the max - allowable value is 1023. It has then to be output as - -1023-1. lim is the max allowable value. */ - printf("#define %s%s (%ld%s%ld%s)\n", - sort, name, -lim, mark, val+lim, mark); - } else { - printf("#define %s%s (%ld%s)\n", sort, name, val, mark); - } -#ifdef VERIFY - if (val != req) { - printf("%s*** Verify failed for above #define!\n", co); - printf(" Compiler has %ld for value%s\n\n", req, oc); - bugs++; - } -#endif - Vprintf("\n"); -} - -Procedure u_define(desc, extra, sort, name, val, req, mark) - char *desc, *extra, *sort, *name; unsigned long val, req; char *mark; { - /* Produce a #define for an unsigned value */ - describe(desc, extra); - printf("#undef %s%s\n", sort, name); - printf("#define %s%s %lu%s%s\n", sort, name, val, U, mark); -#ifdef VERIFY - if (val != req) { - printf("%s*** Verify failed for above #define!\n", co); - printf(" Compiler has %lu for value%s\n\n", req, oc); - bugs++; - } -#endif - Vprintf("\n"); -} - -Procedure f_define(desc, extra, sort, name, precision, val, req, mark) - char *desc, *extra, *sort, *name; int precision; - Long_double val, req; char *mark; { - if (SYS_FLOAT_H_WRAP && F && val == req) - return; - /* Produce a #define for a float/double/long double */ - describe(desc, extra); - printf ("#undef %s%s\n", sort, name); - if (stdc) { -#ifdef NO_LONG_DOUBLE_IO - static int union_defined = 0; - if (sizeof(double) != sizeof(Long_double) - && !strcmp(sort, "LDBL")) { - if (!union_defined) { - printf("#ifndef __LDBL_UNION__\n"); - printf("#define __LDBL_UNION__\n"); - printf("union __convert_long_double {\n"); - printf(" unsigned __convert_long_double_i[4];\n"); - printf(" long double __convert_long_double_d;\n"); - printf("};\n"); - printf("#endif\n"); - union_defined = 1; - } - printf("#define %s%s %s\n", - sort, name, fake_f_rep("long double", val)); - } else { - printf("#define %s%s %s%s\n", - sort, name, f_rep(precision, val), mark); - } -#else - printf("#define %s%s %s%s\n", - sort, name, f_rep(precision, val), mark); -#endif - } else if (*mark == 'F') { - /* non-ANSI C has no float constants, so cast the constant */ - printf("#define %s%s ((float)%s)\n", - sort, name, f_rep(precision, val)); - } else { - printf("#define %s%s %s\n", sort, name, f_rep(precision, val)); - } - Vprintf("\n"); -} - -int floor_log(base, x) int base; Long_double x; { - /* return floor(log base(x)) */ - int r=0; - while (x>=base) { r++; x/=base; } - return r; -} - -int ceil_log(base, x) int base; Long_double x; { - int r=0; - while (x>1.0) { r++; x/=base; } - return r; -} - -int exponent(x, fract, exp) Long_double x; double *fract; int *exp; { - /* Split x into a fraction and a power of ten; - returns 0 if x is unusable, 1 otherwise. - Only used for error messages about faulty output. - */ - int r=0, neg=0; - Long_double old; - *fract=0.0; *exp=0; - if (x<0.0) { - x= -x; - neg= 1; - } - if (x==0.0) return 1; - if (x>=10.0) { - while (x>=10.0) { - old=x; r++; x/=10.0; - if (old==x) return 0; - } - } else { - while (x<1.0) { - old=x; r--; x*=10.0; - if (old==x) return 0; - } - } - if (neg) *fract= (double) -x; - else *fract=(double) x; - *exp=r; - return 1; -} - -/* Print a value of type TYPE with value VAL, - assuming that sprintf can't handle this type properly (without truncation). - We create an expression that uses type casting to create the value from - a bit pattern. */ - -char *fake_f_rep(type, val) char *type; Long_double val; { - static char buf[1024]; - union { unsigned int i[4]; Long_double ld;} u; - u.i[0] = u.i[1] = u.i[2] = u.i[3] = 0; - u.ld = val; - sprintf(buf, "(__extension__ ((union __convert_long_double) {__convert_long_double_i: {0x%x, 0x%x, 0x%x, 0x%x}}).__convert_long_double_d)", - u.i[0], u.i[1], u.i[2], u.i[3]); - return buf; -} - -char *f_rep(precision, val) int precision; Long_double val; { - /* Return the floating representation of val */ - static char buf[1024]; -#ifdef NO_LONG_DOUBLE_IO - if (1) -#else - if (sizeof(double) == sizeof(Long_double)) -#endif - { - double d = val; - /* Assume they're the same, and use non-stdc format */ - /* This is for stdc compilers using non-stdc libraries */ - sprintf(buf, "%.*e", precision, d); - } else { - /* It had better support Le then */ - sprintf(buf, "%.*Le", precision, val); - } - return buf; -} - -Procedure bitpattern(p, size) char *p; unsigned int size; { - /* Printf the bit-pattern of p */ - char c; - unsigned int i; - int j; - - for (i=1; i<=size; i++) { - c= *p; - p++; - for (j=bits_per_byte-1; j>=0; j--) - printf("%c", (c>>j)&1 ? '1' : '0'); - if (i!=size) printf(" "); - } -} - -#define Order(x, px, mode)\ - printf("%s%s ", co, mode); for (i=0; i<sizeof(x); i++) px[i]= ab[i]; \ - for (i=1; i<=sizeof(x); i++) { c=((x>>(bits_per_byte*(sizeof(x)-i)))&mask);\ - putchar(c==0 ? '?' : (char)c); }\ - printf("%s\n", oc); - -Procedure endian(bits_per_byte) int bits_per_byte; { - /* Printf the byte-order used on this machine */ - /*unsigned*/ short s=0; - /*unsigned*/ int j=0; - /*unsigned*/ long l=0; - - char *ps= (char *) &s, - *pj= (char *) &j, - *pl= (char *) &l, - *ab= "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; - unsigned int mask, i, c; - - mask=0; - for (i=1; i<=(unsigned)bits_per_byte; i++) mask= (mask<<1)|1; - - if (V) { - printf("%sCHARACTER ORDER%s\n", co, oc); - Order(s, ps, "short:"); - Order(j, pj, "int: "); - Order(l, pl, "long: "); - } -} - -Procedure missing(s) char *s; { - printf("%s*** #define %s missing from limits.h%s\n", co, s, oc); - bugs++; -} - -Procedure fmissing(s) char *s; { - printf("%s*** #define %s missing from float.h%s\n", co, s, oc); - bugs++; -} - -/* To try and fool optimisers */ -int false() { return 0; } - -#define Promoted(x) (false()?(x):(-1)) -#define is_signed(x) (Promoted(x) < 0) -#define sign_of(x) ((x)?"signed":"unsigned") -#define Signed 1 -#define Unsigned 0 -#define sgn(x) ((is_signed(x))?Signed:Unsigned) - -#define showtype(t, x) Vprintf("%s%s %s %s%s\n", co, t, sign_of(is_signed(x)), type_of(sizeof(x)), oc) - -char *type_of(x) int x; { - if (x == sizeof(char)) { - if (sizeof(char) == sizeof(int)) return "char/short/int"; - if (sizeof(char) == sizeof(short)) return "char/short"; - return "char"; - } - if (x == sizeof(short)) { - if (sizeof(short) == sizeof(int)) return "short/int"; - return "short"; - } - if (x == sizeof(int)) { - if (sizeof(int) == sizeof(long)) return "int/long"; - return "int"; - } - if (x == sizeof(long)) return "long"; - return "unknown-type"; -} - -char *ftype_of(x) int x; { - if (x == sizeof(float)) { - return "float"; - } - if (x == sizeof(double)) { - if (sizeof(double) == sizeof(Long_double)) - return "(long)double"; - return "double"; - } - if (x == sizeof(Long_double)) { - return "long double"; - } - return "unknown-type"; -} - -Procedure typerr(name, esign, esize, sign, size) - char *name; int esign, esize, sign, size; -{ - Vprintf("*** %s has wrong type: expected %s %s, found %s %s\n", - name, sign_of(esign), type_of(esize), - sign_of(sign), type_of(size)); -} - -Procedure ftyperr(name, esize, size) char *name; int esize, size; { - Vprintf("*** %s has wrong type: expected %s, found %s\n", - name, ftype_of(esize), ftype_of(size)); -} - -int promotions() { - int si = 0; long sl = 0; - unsigned int ui; unsigned long ul; - short ss; unsigned short us; - - Vprintf("\n%sPROMOTIONS%s\n", co, oc); - - if ( - /* Possible warnings here; no problem */ - (sizeof(Promoted(si)) != sizeof(int)) || - (sizeof(Promoted(sl)) != sizeof(long)) || - (sizeof(Promoted(ss)) != sizeof(int)) || - (sizeof(Promoted(ui)) != sizeof(int)) || - (sizeof(Promoted(ul)) != sizeof(long)) || - (sizeof(Promoted(us)) != sizeof(int)) || - is_signed(ui) || is_signed(ul) || - !is_signed(si) || !is_signed(sl) - ) - { - eek_a_bug("promotions don't work properly in conditional expressions\n"); - } - - showtype("unsigned short promotes to", Promoted((unsigned short) 0)); - showtype("long+unsigned gives", sl+ui); - return 0; -} - -#define checktype(x, n, s, t) if((sgn(x)!=s)||(sizeof(x)!=sizeof(t))) typerr(n, s, sizeof(t), sign_of(x), sizeof(x)); - -#define fchecktype(x, n, t) if (sizeof(x) != sizeof(t)) ftyperr(n, sizeof(x), sizeof(t)); - -Procedure check_defines() { - /* ensure that all #defines are present and have the correct type */ -#ifdef VERIFY - int usign; - -#ifdef NO_UI - usign= Signed; -#else - /* Implementations promote unsigned short differently */ - usign= is_signed((unsigned short) 0); -#endif - - if (L) { -#ifdef CHAR_BIT - checktype(CHAR_BIT, "CHAR_BIT", Signed, int); -#else - missing("CHAR_BIT"); -#endif -#ifdef CHAR_MAX - checktype(CHAR_MAX, "CHAR_MAX", Signed, int); -#else - missing("CHAR_MAX"); -#endif -#ifdef CHAR_MIN - checktype(CHAR_MIN, "CHAR_MIN", Signed, int); -#else - missing("CHAR_MIN"); -#endif -#ifdef SCHAR_MAX - checktype(SCHAR_MAX, "SCHAR_MAX", Signed, int); -#else - missing("SCHAR_MAX"); -#endif -#ifdef SCHAR_MIN - checktype(SCHAR_MIN, "SCHAR_MIN", Signed, int); -#else - missing("SCHAR_MIN"); -#endif -#ifdef UCHAR_MAX - checktype(UCHAR_MAX, "UCHAR_MAX", Signed, int); -#else - missing("UCHAR_MAX"); -#endif -#ifdef SHRT_MAX - checktype(SHRT_MAX, "SHRT_MAX", Signed, int); -#else - missing("SHRT_MAX"); -#endif -#ifdef SHRT_MIN - checktype(SHRT_MIN, "SHRT_MIN", Signed, int); -#else - missing("SHRT_MIN"); -#endif -#ifdef INT_MAX - checktype(INT_MAX, "INT_MAX", Signed, int); -#else - missing("INT_MAX"); -#endif -#ifdef INT_MIN - checktype(INT_MIN, "INT_MIN", Signed, int); -#else - missing("INT_MIN"); -#endif -#ifdef LONG_MAX - checktype(LONG_MAX, "LONG_MAX", Signed, long); -#else - missing("LONG_MAX"); -#endif -#ifdef LONG_MIN - checktype(LONG_MIN, "LONG_MIN", Signed, long); -#else - missing("LONG_MIN"); -#endif -#ifdef USHRT_MAX - checktype(USHRT_MAX, "USHRT_MAX", usign, int); -#else - missing("USHRT_MAX"); -#endif -#ifdef UINT_MAX - checktype(UINT_MAX, "UINT_MAX", Unsigned, int); -#else - missing("UINT_MAX"); -#endif -#ifdef ULONG_MAX - checktype(ULONG_MAX, "ULONG_MAX", Unsigned, long); -#else - missing("ULONG_MAX"); -#endif - } /* if (L) */ - - if (F) { -#ifdef FLT_RADIX - checktype(FLT_RADIX, "FLT_RADIX", Signed, int); -#else - fmissing("FLT_RADIX"); -#endif -#ifdef FLT_MANT_DIG - checktype(FLT_MANT_DIG, "FLT_MANT_DIG", Signed, int); -#else - fmissing("FLT_MANT_DIG"); -#endif -#ifdef FLT_DIG - checktype(FLT_DIG, "FLT_DIG", Signed, int); -#else - fmissing("FLT_DIG"); -#endif -#ifdef FLT_ROUNDS - checktype(FLT_ROUNDS, "FLT_ROUNDS", Signed, int); -#else - fmissing("FLT_ROUNDS"); -#endif -#ifdef FLT_EPSILON - fchecktype(FLT_EPSILON, "FLT_EPSILON", float); -#else - fmissing("FLT_EPSILON"); -#endif -#ifdef FLT_MIN_EXP - checktype(FLT_MIN_EXP, "FLT_MIN_EXP", Signed, int); -#else - fmissing("FLT_MIN_EXP"); -#endif -#ifdef FLT_MIN - fchecktype(FLT_MIN, "FLT_MIN", float); -#else - fmissing("FLT_MIN"); -#endif -#ifdef FLT_MIN_10_EXP - checktype(FLT_MIN_10_EXP, "FLT_MIN_10_EXP", Signed, int); -#else - fmissing("FLT_MIN_10_EXP"); -#endif -#ifdef FLT_MAX_EXP - checktype(FLT_MAX_EXP, "FLT_MAX_EXP", Signed, int); -#else - fmissing("FLT_MAX_EXP"); -#endif -#ifdef FLT_MAX - fchecktype(FLT_MAX, "FLT_MAX", float); -#else - fmissing("FLT_MAX"); -#endif -#ifdef FLT_MAX_10_EXP - checktype(FLT_MAX_10_EXP, "FLT_MAX_10_EXP", Signed, int); -#else - fmissing("FLT_MAX_10_EXP"); -#endif -#ifdef DBL_MANT_DIG - checktype(DBL_MANT_DIG, "DBL_MANT_DIG", Signed, int); -#else - fmissing("DBL_MANT_DIG"); -#endif -#ifdef DBL_DIG - checktype(DBL_DIG, "DBL_DIG", Signed, int); -#else - fmissing("DBL_DIG"); -#endif -#ifdef DBL_EPSILON - fchecktype(DBL_EPSILON, "DBL_EPSILON", double); -#else - fmissing("DBL_EPSILON"); -#endif -#ifdef DBL_MIN_EXP - checktype(DBL_MIN_EXP, "DBL_MIN_EXP", Signed, int); -#else - fmissing("DBL_MIN_EXP"); -#endif -#ifdef DBL_MIN - fchecktype(DBL_MIN, "DBL_MIN", double); -#else - fmissing("DBL_MIN"); -#endif -#ifdef DBL_MIN_10_EXP - checktype(DBL_MIN_10_EXP, "DBL_MIN_10_EXP", Signed, int); -#else - fmissing("DBL_MIN_10_EXP"); -#endif -#ifdef DBL_MAX_EXP - checktype(DBL_MAX_EXP, "DBL_MAX_EXP", Signed, int); -#else - fmissing("DBL_MAX_EXP"); -#endif -#ifdef DBL_MAX - fchecktype(DBL_MAX, "DBL_MAX", double); -#else - fmissing("DBL_MAX"); -#endif -#ifdef DBL_MAX_10_EXP - checktype(DBL_MAX_10_EXP, "DBL_MAX_10_EXP", Signed, int); -#else - fmissing("DBL_MAX_10_EXP"); -#endif -#ifdef STDC -#ifdef LDBL_MANT_DIG - checktype(LDBL_MANT_DIG, "LDBL_MANT_DIG", Signed, int); -#else - fmissing("LDBL_MANT_DIG"); -#endif -#ifdef LDBL_DIG - checktype(LDBL_DIG, "LDBL_DIG", Signed, int); -#else - fmissing("LDBL_DIG"); -#endif -#ifdef LDBL_EPSILON - fchecktype(LDBL_EPSILON, "LDBL_EPSILON", long double); -#else - fmissing("LDBL_EPSILON"); -#endif -#ifdef LDBL_MIN_EXP - checktype(LDBL_MIN_EXP, "LDBL_MIN_EXP", Signed, int); -#else - fmissing("LDBL_MIN_EXP"); -#endif -#ifdef LDBL_MIN - fchecktype(LDBL_MIN, "LDBL_MIN", long double); -#else - fmissing("LDBL_MIN"); -#endif -#ifdef LDBL_MIN_10_EXP - checktype(LDBL_MIN_10_EXP, "LDBL_MIN_10_EXP", Signed, int); -#else - fmissing("LDBL_MIN_10_EXP"); -#endif -#ifdef LDBL_MAX_EXP - checktype(LDBL_MAX_EXP, "LDBL_MAX_EXP", Signed, int); -#else - fmissing("LDBL_MAX_EXP"); -#endif -#ifdef LDBL_MAX - fchecktype(LDBL_MAX, "LDBL_MAX", long double); -#else - fmissing("LDBL_MAX"); -#endif -#ifdef LDBL_MAX_10_EXP - checktype(LDBL_MAX_10_EXP, "LDBL_MAX_10_EXP", Signed, int); -#else - fmissing("LDBL_MAX_10_EXP"); -#endif -#endif /* STDC */ - } /* if (F) */ -#endif /* VERIFY */ -} - -#ifdef VERIFY -#ifndef SCHAR_MAX -#define SCHAR_MAX char_max -#endif -#ifndef SCHAR_MIN -#define SCHAR_MIN char_min -#endif -#ifndef UCHAR_MAX -#define UCHAR_MAX char_max -#endif -#endif /* VERIFY */ - -#ifndef CHAR_BIT -#define CHAR_BIT char_bit -#endif -#ifndef CHAR_MAX -#define CHAR_MAX char_max -#endif -#ifndef CHAR_MIN -#define CHAR_MIN char_min -#endif -#ifndef SCHAR_MAX -#define SCHAR_MAX char_max -#endif -#ifndef SCHAR_MIN -#define SCHAR_MIN char_min -#endif -#ifndef UCHAR_MAX -#define UCHAR_MAX char_max -#endif - -int cprop() { - /* Properties of type char */ - Volatile char c, char_max, char_min; - Volatile int bits_per_byte, c_signed; - long char_bit; - - Unexpected(2); - - /* Calculate number of bits per character *************************/ - c=1; bits_per_byte=0; - do { c=c<<1; bits_per_byte++; } while(c!=0); - c= (char)(-1); - if (((int)c)<0) c_signed=1; - else c_signed=0; - Vprintf("%schar = %d bits, %ssigned%s\n", - co, (int)sizeof(c)*bits_per_byte, (c_signed?"":"un"), oc); - char_bit=(long)(sizeof(c)*bits_per_byte); - if (L) i_define(D_CHAR_BIT, "", "CHAR", "_BIT", - char_bit, 0L, (long) CHAR_BIT, ""); - - c=0; char_max=0; - c++; - if (bits_per_byte <= 16) { - if (setjmp(lab)==0) { /* Yields char_max */ - while (c>char_max) { - char_max=c; - c++; - } - } else { - Vprintf("%sCharacter overflow generates a trap!%s\n", - co, oc); - } - c=0; char_min=0; - c--; - if (setjmp(lab)==0) { /* Yields char_min */ - while (c<char_min) { - char_min=c; - c--; - } - } - } else { - /* An exhaustive search here is impracticable ;-) */ - c = (1 << (bits_per_byte - 1)) - 1; - char_max = c; - c++; - if (c > char_max) - char_max = ~0; - c = 0; - char_min = 0; - c--; - if (c < char_min) { - c = (1 << (bits_per_byte - 1)) - 1; - c = -c; - char_min = c; - c--; - if (c < char_min) - char_min = c; - } - } - if (c_signed && char_min == 0) { - Vprintf("%sBEWARE! Chars are pseudo-unsigned:%s\n", co, oc); - Vprintf("%s %s%s%s\n", - "They contain only nonnegative values, ", - "but sign extend when used as integers.", co, oc); - } - Unexpected(3); - - if (L) { - /* Because of the integer promotions, you must use a U after - the MAX_CHARS in the following cases */ - if ((sizeof(char) == sizeof(int)) && !c_signed) { - u_define(D_CHAR_MAX, "", "CHAR", "_MAX", - (long) char_max, - (long) CHAR_MAX, ""); - } else { - i_define(D_CHAR_MAX, "", "CHAR", "_MAX", - (long) char_max, 0L, - (long) CHAR_MAX, ""); - } - i_define(D_CHAR_MIN, "", "CHAR", "_MIN", - (long) char_min, (long) maxint, - (long) CHAR_MIN, ""); - if (c_signed) { - i_define(D_SCHAR_MAX, "", "SCHAR", "_MAX", - (long) char_max, 0L, - (long) SCHAR_MAX, ""); - i_define(D_SCHAR_MIN, "", "SCHAR", "_MIN", - (long) char_min, (long) maxint, - (long) SCHAR_MIN, ""); - } else { - if (sizeof(char) == sizeof(int)) { - u_define(D_UCHAR_MAX, "", "UCHAR", "_MAX", - (long) char_max, - (long) UCHAR_MAX, ""); - } else { - i_define(D_UCHAR_MAX, "", "UCHAR", "_MAX", - (long) char_max, 0L, - (long) UCHAR_MAX, ""); - } - } - - if (c_signed) { -#ifndef NO_UC - Volatile unsigned char c, char_max; - c=0; char_max=0; - c++; - if (setjmp(lab)==0) { /* Yields char_max */ - while (c>char_max) { - char_max=c; - c++; - } - } - Unexpected(4); - if (sizeof(char) == sizeof(int)) { - u_define(D_UCHAR_MAX, "", "UCHAR", "_MAX", - (long) char_max, - (long) UCHAR_MAX, ""); - } else { - i_define(D_UCHAR_MAX, "", "UCHAR", "_MAX", - (long) char_max, 0L, - (long) UCHAR_MAX, ""); - } -#endif - } else { -#ifndef NO_SC -/* Define NO_SC if this gives a syntax error */ Volatile signed char c, char_max, char_min; - c=0; char_max=0; - c++; - if (setjmp(lab)==0) { /* Yields char_max */ - while (c>char_max) { - char_max=c; - c++; - } - } - c=0; char_min=0; - c--; - if (setjmp(lab)==0) { /* Yields char_min */ - while (c<char_min) { - char_min=c; - c--; - } - } - Unexpected(5); - i_define(D_SCHAR_MIN, "", "SCHAR", "_MIN", - (long) char_min, (long) maxint, - (long) SCHAR_MIN, ""); - i_define(D_SCHAR_MAX, "", "SCHAR", "_MAX", - (long) char_max, 0L, - (long) SCHAR_MAX, ""); -#endif /* NO_SC */ - } - } - return bits_per_byte; -} - -int basic() { - /* The properties of the basic types. - Returns number of bits per sizeof unit */ - Volatile int bits_per_byte; - typedef int function (); - int variable; - int *p, *q; - - Vprintf("%sSIZES%s\n", co, oc); - bits_per_byte= cprop(); - - /* Shorts, ints and longs *****************************************/ - Vprintf("%sshort=%d int=%d long=%d float=%d double=%d bits %s\n", - co, - (int) sizeof(short)*bits_per_byte, - (int) sizeof(int)*bits_per_byte, - (int) sizeof(long)*bits_per_byte, - (int) sizeof(float)*bits_per_byte, - (int) sizeof(double)*bits_per_byte, oc); - if (stdc) { - Vprintf("%slong double=%d bits%s\n", - co, (int) sizeof(Long_double)*bits_per_byte, oc); - } - Vprintf("%schar*=%d bits%s%s\n", - co, (int)sizeof(char *)*bits_per_byte, - sizeof(char *)>sizeof(int)?" BEWARE! larger than int!":"", - oc); - Vprintf("%sint* =%d bits%s%s\n", - co, (int)sizeof(int *)*bits_per_byte, - sizeof(int *)>sizeof(int)?" BEWARE! larger than int!":"", - oc); - Vprintf("%sfunc*=%d bits%s%s\n", - co, (int)sizeof(function *)*bits_per_byte, - sizeof(function *)>sizeof(int)?" BEWARE! larger than int!":"", - oc); -if (V) printf ("%s%s %s %s%s\n", co, "Type size_t is", - ((((false()?( sizeof(int)):(-1)) < 0) )? - "signed":"unsigned") , - type_of(sizeof( - sizeof(int)+0 - ) - ), - oc); - showtype("Type size_t is", sizeof(0)); - - /* Alignment constants ********************************************/ - -#define alignment(TYPE) \ - ((long)((char *)&((struct{char c; TYPE d;}*)0)->d - (char *) 0)) - - Vprintf("\n%sALIGNMENTS%s\n", co, oc); - - Vprintf("%schar=%ld short=%ld int=%ld long=%ld%s\n", - co, - alignment(char), alignment(short), - alignment(int), alignment(long), - oc); - - Vprintf("%sfloat=%ld double=%ld%s\n", - co, - alignment(float), alignment(double), - oc); - - if (stdc) { - Vprintf("%slong double=%ld%s\n", - co, - alignment(Long_double), - oc); - } - Vprintf("%schar*=%ld int*=%ld func*=%ld%s\n", - co, - alignment(char *), alignment(int *), alignment(function *), - oc); - - Vprintf("\n"); - - /* Ten little endians *********************************************/ - - endian(bits_per_byte); - - /* Pointers *******************************************************/ - - Vprintf("\n%sPROPERTIES OF POINTERS%s\n", co, oc); - - if ((long) (char *) &variable == (long) (int *) &variable) { - Vprintf("%sChar and int pointer formats seem identical%s\n", - co, oc); - } else { - Vprintf("%sChar and int pointer formats are different%s\n", - co, oc); - } - if ((long) (char *) &variable == (long) (function *) &variable) { - Vprintf("%sChar and function pointer formats seem identical%s\n", - co, oc); - } else { - Vprintf("%sChar and function pointer formats are different%s\n", - co, oc); - } - - if (V) { - if ("abcd"=="abcd") - printf("%sStrings are shared%s\n", co, oc); - else printf("%sStrings are not shared%s\n", co, oc); - } - - p=0; q=0; - showtype("Type ptrdiff_t is", p-q); - - Vprintf("\n%sPROPERTIES OF INTEGRAL TYPES%s\n", co, oc); - - sprop(); - iprop(); - lprop(); - usprop(); - uiprop(); - ulprop(); - - promotions(); - - Unexpected(6); - - return bits_per_byte; -} - -#else /* not PASS0 */ - -#ifdef SEP -extern jmp_buf lab; -extern int V, L, F, bugs, bits_per_byte; -extern char co[], oc[]; -extern char *f_rep(); -#endif /* SEP */ -#endif /* ifdef PASS0 */ - -/* As I said, I apologise for the contortions below. The functions are - expanded by the preprocessor twice or three times (for float and double, - and maybe for long double, and for short, int and long). That way, - I never make a change to one that I forget to make to the other. - You can look on it as C's fault for not supporting multi-line macro's. - This whole file is read 3 times by the preprocessor, with PASSn set for - n=1, 2 or 3, to decide which parts to reprocess. -*/ - -/* #undef on an already undefined thing is (wrongly) flagged as an error - by some compilers, therefore the #ifdef that follows: -*/ -#ifdef Number -#undef Number -#undef THING -#undef Thing -#undef thing -#undef FPROP -#undef Fname -#undef Store -#undef Sum -#undef Diff -#undef Mul -#undef Div -#undef ZERO -#undef HALF -#undef ONE -#undef TWO -#undef THREE -#undef FOUR -#undef Self -#undef F_check -#undef Validate -#undef EPROP -#undef MARK - -/* These are the float.h constants */ -#undef F_RADIX -#undef F_MANT_DIG -#undef F_DIG -#undef F_ROUNDS -#undef F_EPSILON -#undef F_MIN_EXP -#undef F_MIN -#undef F_MIN_10_EXP -#undef F_MAX_EXP -#undef F_MAX -#undef F_MAX_10_EXP -#endif - -#ifdef Integer -#undef Integer -#undef INT -#undef IPROP -#undef Iname -#undef UPROP -#undef Uname -#undef OK_UI -#undef IMARK - -#undef I_MAX -#undef I_MIN -#undef U_MAX -#endif - -#ifdef PASS1 - -/* Define the things we're going to use this pass */ - -#define Number float -#define THING "FLOAT" -#define Thing "Float" -#define thing "float" -#define Fname "FLT" -#define FPROP fprop -#define Store fStore -#define Sum fSum -#define Diff fDiff -#define Mul fMul -#define Div fDiv -#define ZERO 0.0 -#define HALF 0.5 -#define ONE 1.0 -#define TWO 2.0 -#define THREE 3.0 -#define FOUR 4.0 -#define Self fSelf -#define F_check fCheck -#define MARK "F" -#ifdef VERIFY -#define Validate(prec, val, req, same) fValidate(prec, val, req, same) -#endif - -#define EPROP efprop - -#define Integer short -#define INT "short" -#define IPROP sprop -#define Iname "SHRT" -#ifndef NO_UI -#define OK_UI 1 -#endif -#define IMARK "" - -#define UPROP usprop -#define Uname "USHRT" - -#ifdef SHRT_MAX -#define I_MAX SHRT_MAX -#endif -#ifdef SHRT_MIN -#define I_MIN SHRT_MIN -#endif -#ifdef USHRT_MAX -#define U_MAX USHRT_MAX -#endif - -#ifdef FLT_RADIX -#define F_RADIX FLT_RADIX -#endif -#ifdef FLT_MANT_DIG -#define F_MANT_DIG FLT_MANT_DIG -#endif -#ifdef FLT_DIG -#define F_DIG FLT_DIG -#endif -#ifdef FLT_ROUNDS -#define F_ROUNDS FLT_ROUNDS -#endif -#ifdef FLT_EPSILON -#define F_EPSILON FLT_EPSILON -#endif -#ifdef FLT_MIN_EXP -#define F_MIN_EXP FLT_MIN_EXP -#endif -#ifdef FLT_MIN -#define F_MIN FLT_MIN -#endif -#ifdef FLT_MIN_10_EXP -#define F_MIN_10_EXP FLT_MIN_10_EXP -#endif -#ifdef FLT_MAX_EXP -#define F_MAX_EXP FLT_MAX_EXP -#endif -#ifdef FLT_MAX -#define F_MAX FLT_MAX -#endif -#ifdef FLT_MAX_10_EXP -#define F_MAX_10_EXP FLT_MAX_10_EXP -#endif - -#endif /* PASS1 */ - -#ifdef PASS2 - -#define Number double -#define THING "DOUBLE" -#define Thing "Double" -#define thing "double" -#define Fname "DBL" -#define FPROP dprop -#define Store dStore -#define Sum dSum -#define Diff dDiff -#define Mul dMul -#define Div dDiv -#define ZERO 0.0 -#define HALF 0.5 -#define ONE 1.0 -#define TWO 2.0 -#define THREE 3.0 -#define FOUR 4.0 -#define Self dSelf -#define F_check dCheck -#define MARK "" -#ifdef VERIFY -#define Validate(prec, val, req, same) dValidate(prec, val, req, same) -#endif - -#define EPROP edprop - -#define Integer int -#define INT "int" -#define IPROP iprop -#define Iname "INT" -#define OK_UI 1 /* Unsigned int is always possible */ -#define IMARK "" - -#define UPROP uiprop -#define Uname "UINT" - -#ifdef INT_MAX -#define I_MAX INT_MAX -#endif -#ifdef INT_MIN -#define I_MIN INT_MIN -#endif -#ifdef UINT_MAX -#define U_MAX UINT_MAX -#endif - -#ifdef DBL_MANT_DIG -#define F_MANT_DIG DBL_MANT_DIG -#endif -#ifdef DBL_DIG -#define F_DIG DBL_DIG -#endif -#ifdef DBL_EPSILON -#define F_EPSILON DBL_EPSILON -#endif -#ifdef DBL_MIN_EXP -#define F_MIN_EXP DBL_MIN_EXP -#endif -#ifdef DBL_MIN -#define F_MIN DBL_MIN -#endif -#ifdef DBL_MIN_10_EXP -#define F_MIN_10_EXP DBL_MIN_10_EXP -#endif -#ifdef DBL_MAX_EXP -#define F_MAX_EXP DBL_MAX_EXP -#endif -#ifdef DBL_MAX -#define F_MAX DBL_MAX -#endif -#ifdef DBL_MAX_10_EXP -#define F_MAX_10_EXP DBL_MAX_10_EXP -#endif - -#endif /* PASS2 */ - -#ifdef PASS3 - -#ifdef STDC -#define Number long double - -#define ZERO 0.0L -#define HALF 0.5L -#define ONE 1.0L -#define TWO 2.0L -#define THREE 3.0L -#define FOUR 4.0L -#endif - -#define THING "LONG DOUBLE" -#define Thing "Long double" -#define thing "long double" -#define Fname "LDBL" -#define FPROP ldprop -#define Store ldStore -#define Sum ldSum -#define Diff ldDiff -#define Mul ldMul -#define Div ldDiv -#define Self ldSelf -#define F_check ldCheck -#define MARK "L" -#ifdef VERIFY -#define Validate(prec, val, req, same) ldValidate(prec, val, req, same) -#endif - -#define EPROP eldprop - -#define Integer long -#define INT "long" -#define IPROP lprop -#define Iname "LONG" -#ifndef NO_UI -#define OK_UI 1 -#endif -#define IMARK "L" - -#define UPROP ulprop -#define Uname "ULONG" - -#ifdef LONG_MAX -#define I_MAX LONG_MAX -#endif -#ifdef LONG_MIN -#define I_MIN LONG_MIN -#endif -#ifdef ULONG_MAX -#define U_MAX ULONG_MAX -#endif - -#ifdef LDBL_MANT_DIG -#define F_MANT_DIG LDBL_MANT_DIG -#endif -#ifdef LDBL_DIG -#define F_DIG LDBL_DIG -#endif -#ifdef LDBL_EPSILON -#define F_EPSILON LDBL_EPSILON -#endif -#ifdef LDBL_MIN_EXP -#define F_MIN_EXP LDBL_MIN_EXP -#endif -#ifdef LDBL_MIN -#define F_MIN LDBL_MIN -#endif -#ifdef LDBL_MIN_10_EXP -#define F_MIN_10_EXP LDBL_MIN_10_EXP -#endif -#ifdef LDBL_MAX_EXP -#define F_MAX_EXP LDBL_MAX_EXP -#endif -#ifdef LDBL_MAX -#define F_MAX LDBL_MAX -#endif -#ifdef LDBL_MAX_10_EXP -#define F_MAX_10_EXP LDBL_MAX_10_EXP -#endif - -#endif /* PASS3 */ - -#define UNDEFINED (-2) - -#ifndef I_MAX -#define I_MAX ((unsigned long) UNDEFINED) -#endif -#ifndef I_MIN -#define I_MIN ((unsigned long) UNDEFINED) -#endif -#ifndef U_MAX -#define U_MAX ((unsigned long) UNDEFINED) -#endif - -#ifndef F_RADIX -#define F_RADIX UNDEFINED -#endif -#ifndef F_MANT_DIG -#define F_MANT_DIG UNDEFINED -#endif -#ifndef F_DIG -#define F_DIG UNDEFINED -#endif -#ifndef F_ROUNDS -#define F_ROUNDS UNDEFINED -#endif -#ifndef F_EPSILON -#define F_EPSILON ((Number) UNDEFINED) -#endif -#ifndef F_MIN_EXP -#define F_MIN_EXP UNDEFINED -#endif -#ifndef F_MIN -#define F_MIN ((Number) UNDEFINED) -#endif -#ifndef F_MIN_10_EXP -#define F_MIN_10_EXP UNDEFINED -#endif -#ifndef F_MAX_EXP -#define F_MAX_EXP UNDEFINED -#endif -#ifndef F_MAX -#define F_MAX ((Number) UNDEFINED) -#endif -#ifndef F_MAX_10_EXP -#define F_MAX_10_EXP UNDEFINED -#endif - -#ifndef VERIFY -#define Validate(prec, val, req, same) {;} -#endif - -#ifdef Integer - -Procedure IPROP() { - /* the properties of short, int, and long */ - Volatile Integer newi, int_max, maxeri, int_min, minneri; - Volatile int ibits, ipower, two=2; - - /* Calculate max short/int/long ***********************************/ - /* Calculate 2**n-1 until overflow - then use the previous value */ - - newi=1; int_max=0; - - if (setjmp(lab)==0) { /* Yields int_max */ - for(ipower=0; newi>int_max; ipower++) { - int_max=newi; - newi=newi*two+1; - } - Vprintf("%sOverflow of a%s %s does not generate a trap%s\n", - co, INT[0]=='i'?"n":"", INT, oc); - } else { - Vprintf("%sOverflow of a%s %s generates a trap%s\n", - co, INT[0]=='i'?"n":"", INT, oc); - } - Unexpected(7); - - /* Minimum value: assume either two's or one's complement *********/ - int_min= -int_max; - if (setjmp(lab)==0) { /* Yields int_min */ - if (int_min-1 < int_min) int_min--; - } - Unexpected(8); - - /* Now for those daft Cybers */ - - maxeri=0; newi=int_max; - - if (setjmp(lab)==0) { /* Yields maxeri */ - for(ibits=ipower; newi>maxeri; ibits++) { - maxeri=newi; - newi=newi+newi+1; - } - } - Unexpected(9); - - minneri= -maxeri; - if (setjmp(lab)==0) { /* Yields minneri */ - if (minneri-1 < minneri) minneri--; - } - Unexpected(10); - - Vprintf("%sMaximum %s = %ld (= 2**%d-1)%s\n", - co, INT, (long)int_max, ipower, oc); - Vprintf("%sMinimum %s = %ld%s\n", co, INT, (long)int_min, oc); - - if (L) i_define(D_INT_MAX, INT, Iname, "_MAX", - (long) int_max, 0L, - (long) I_MAX, IMARK); - if (L) i_define(D_INT_MIN, INT, Iname, "_MIN", - (long) int_min, (long) (PASS==1?maxint:int_max), - (long) I_MIN, IMARK); - - if(int_max < 0) { /* It has happened */ - eek_a_bug("signed integral comparison faulty?"); - } - - if (maxeri>int_max) { - Vprintf("%sThere is a larger %s, %ld (= 2**%d-1), %s %s%s\n", - co, INT, (long)maxeri, ibits, - "but only for addition, not multiplication", - "(I smell a Cyber!)", - oc); - } - - if (minneri<int_min) { - Vprintf("%sThere is a smaller %s, %ld, %s %s%s\n", - co, INT, (long)minneri, - "but only for addition, not multiplication", - "(I smell a Cyber!)", - oc); - } -} - -Procedure UPROP () { - /* The properties of unsigned short/int/long */ -#ifdef OK_UI - Volatile unsigned Integer u_max, newi, two; - newi=1; u_max=0; two=2; - - if (setjmp(lab)==0) { /* Yields u_max */ - while(newi>u_max) { - u_max=newi; - newi=newi*two+1; - } - } - Unexpected(11); - Vprintf("%sMaximum unsigned %s = %lu%s\n", - co, INT, (unsigned long) u_max, oc); - - /* Oh woe: new standard C defines value preserving promotions */ - if (L) { - if (PASS == 1 && sizeof(short) < sizeof(int)) { - /* Special only for short */ - i_define(D_UINT_MAX, INT, Uname, "_MAX", - (unsigned long) u_max, 0L, - (unsigned long) U_MAX, IMARK); - } else { - u_define(D_UINT_MAX, INT, Uname, "_MAX", - (unsigned long) u_max, - (unsigned long) U_MAX, IMARK); - } - } -#endif -} - -#endif /* Integer */ - -#ifdef Number - -/* The following routines are intended to defeat any attempt at optimisation - or use of extended precision, and to defeat faulty narrowing casts. - The weird prototypes are because of widening incompatibilities. -*/ -#ifdef STDC -#define ARGS1(atype, a) (atype a) -#define ARGS2(atype, a, btype, b) (atype a, btype b) -#else -#define ARGS1(atype, a) (a) atype a; -#define ARGS2(atype, a, btype, b) (a, b) atype a; btype b; -#endif - -Procedure Store ARGS2(Number, a, Number *, b) { *b=a; } -Number Sum ARGS2(Number, a, Number, b) {Number r; Store(a+b, &r); return (r); } -Number Diff ARGS2(Number, a, Number, b){Number r; Store(a-b, &r); return (r); } -Number Mul ARGS2(Number, a, Number, b) {Number r; Store(a*b, &r); return (r); } -Number Div ARGS2(Number, a, Number, b) {Number r; Store(a/b, &r); return (r); } -Number Self ARGS1(Number, a) {Number r; Store(a, &r); return (r); } - -Procedure F_check ARGS((int precision, Long_double val1)); - -Procedure F_check(precision, val1) int precision; Long_double val1; { - /* You don't think I'm going to go to all the trouble of writing - a program that works out what all sorts of values are, only to - have printf go and print the wrong values out, do you? - No, you're right, so this function tries to see if printf - has written the right value, by reading it back again. - This introduces a new problem of course: suppose printf writes - the correct value, and scanf reads it back wrong... oh well. - But I'm adamant about this: the precision given is enough - to uniquely identify the printed number, therefore I insist - that sscanf read the number back identically. Harsh yes, but - sometimes you've got to be cruel to be kind. - */ - Number val, new, diff; - double rem; - int e; - char *rep; - char *f2; - -#ifdef NO_LONG_DOUBLE_IO - double new1; - /* On the Sun 3, sscanf clobbers 4 words, - which leads to a crash when this function tries to return. */ - f2= "%le"; /* Input */ - /* It is no use checking long doubles if we can't - read and write them. */ - if (sizeof (Number) > sizeof(double)) - return; -#else - Long_double new1; - if (sizeof(double) == sizeof(Long_double)) { - /* Assume they're the same, and use non-stdc format */ - /* This is for stdc compilers using non-stdc libraries */ - f2= "%le"; /* Input */ - } else { - /* It had better support Le then */ - f2= "%Le"; - } -#endif - val= val1; - rep= f_rep(precision, (Long_double) val); - if (setjmp(lab)==0) { - sscanf(rep, f2, &new1); - } else { - eek_a_bug("sscanf caused a trap"); - printf("%s scanning: %s format: %s%s\n\n", co, rep, f2, oc); - Unexpected(12); - return; - } - - if (setjmp(lab)==0) { /* See if new is usable */ - new= new1; - if (new != 0.0) { - diff= val/new - 1.0; - if (diff < 0.1) diff= 1.0; - /* That should be enough to generate a trap */ - } - } else { - eek_a_bug("sscanf returned an unusable number"); - printf("%s scanning: %s with format: %s%s\n\n", - co, rep, f2, oc); - Unexpected(13); - return; - } - - Unexpected(14); - if (new != val) { - eek_a_bug("Possibly bad output from printf above"); - if (!exponent((Long_double)val, &rem, &e)) { - printf("%s but value was an unusable number%s\n\n", - co, oc); - return; - } - printf("%s expected value around %.*fe%d, bit pattern:\n ", - co, precision, rem, e); - bitpattern((char *) &val, (unsigned)sizeof(val)); - printf ("%s\n", oc); - printf("%s sscanf gave %s, bit pattern:\n ", - co, f_rep(precision, (Long_double) new)); - bitpattern((char *) &new, (unsigned)sizeof(new)); - printf ("%s\n", oc); - if (setjmp(lab) == 0) { - diff= val-new; - printf("%s difference= %s%s\n\n", - co, f_rep(precision, (Long_double) diff), oc); - } /* else forget it */ - Unexpected(15); - } -} - -#ifdef VERIFY -Procedure Validate(prec, val, req, same) int prec, same; Long_double val, req; { - /* Check that the compiler has read a #define value correctly */ - Unexpected(16); - if (!same) { - printf("%s*** Verify failed for above #define!\n", co); - if (setjmp(lab) == 0) { /* for the case that req == nan */ - printf(" Compiler has %s for value%s\n", - f_rep(prec, req), oc); - } else { - printf(" Compiler has %s for value%s\n", - "an unusable number", oc); - } - if (setjmp(lab) == 0) { - F_check(prec, (Long_double) req); - } /*else forget it*/ - if (setjmp(lab) == 0) { - if (req > 0.0 && val > 0.0) { - printf("%s difference= %s%s\n", - co, f_rep(prec, val-req), oc); - } - } /*else forget it*/ - Unexpected(17); - printf("\n"); - bugs++; - } else if (val != req) { - if (stdc) eek_a_bug("constant has the wrong precision"); - else eek_a_bug("the cast didn't work"); - printf("\n"); - } -} -#endif /* VERIFY */ - -int FPROP(bits_per_byte) int bits_per_byte; { - /* Properties of floating types, using algorithms by Cody and Waite - from MA Malcolm, as modified by WM Gentleman and SB Marovich. - Further extended by S Pemberton. - - Returns the number of digits in the fraction. - */ - - Volatile int - i, f_radix, iexp, irnd, mrnd, f_rounds, f_mant_dig, - iz, k, inf, machep, f_max_exp, f_min_exp, mx, negeps, - mantbits, digs, f_dig, trap, - hidden, normal, f_min_10_exp, f_max_10_exp; - Volatile Number - a, b, base, basein, basem1, f_epsilon, epsneg, - eps, epsp1, etop, ebot, - f_max, newxmax, f_min, xminner, y, y1, z, z1, z2; - - Unexpected(18); - - Vprintf("%sPROPERTIES OF %s%s\n", co, THING, oc); - - /* Base and size of significand **************************************/ - /* First repeatedly double until adding 1 has no effect. */ - /* For instance, if base is 10, with 3 significant digits */ - /* it will try 1, 2, 4, 8, ... 512, 1024, and stop there, */ - /* since 1024 is only representable as 1020. */ - a=1.0; - if (setjmp(lab)==0) { /* inexact trap? */ - do { a=Sum(a, a); } - while (Diff(Diff(Sum(a, ONE), a), ONE) == ZERO); - } else { - fprintf(stderr, "*** Program got loss-of-precision trap!\n"); - /* And supporting those is just TOO much trouble! */ - farewell(bugs+1); - } - Unexpected(19); - /* Now double until you find a number that can be added to the */ - /* above number. For 1020 this is 8 or 16, depending whether the */ - /* result is rounded or truncated. */ - /* In either case the result is 1030. 1030-1020= the base, 10. */ - b=1.0; - do { b=Sum(b, b); } while ((base=Diff(Sum(a, b), a)) == ZERO); - f_radix=base; - Vprintf("%sBase = %d%s\n", co, f_radix, oc); - - /* Sanity check; if base<2, I can't guarantee the rest will work */ - if (f_radix < 2) { - eek_a_bug("Function return or parameter passing faulty? (This is a guess.)"); - printf("\n"); - return(0); - } - - if (PASS == 1) { /* only for FLT */ - flt_radix= f_radix; - if (F) i_define(D_FLT_RADIX, "", "FLT", "_RADIX", - (long) f_radix, 0L, (long) F_RADIX, ""); - } else if (f_radix != flt_radix) { - printf("\n%s*** WARNING: %s %s (%d) %s%s\n", - co, thing, "arithmetic has a different radix", - f_radix, "from float", oc); - bugs++; - } - - /* Now the number of digits precision */ - f_mant_dig=0; b=1.0; - do { f_mant_dig++; b=Mul(b, base); } - while (Diff(Diff(Sum(b, ONE), b), ONE) == ZERO); - f_dig=floor_log(10, (Long_double)(b/base)) + (base==10?1:0); - Vprintf("%sSignificant base digits = %d %s %d %s%s\n", - co, f_mant_dig, "(= at least", f_dig, "decimal digits)", oc); - if (F) i_define(D_MANT_DIG, thing, Fname, "_MANT_DIG", - (long) f_mant_dig, 0L, (long) F_MANT_DIG, ""); - if (F) i_define(D_DIG, thing, Fname, "_DIG", - (long) f_dig, 0L, (long) F_DIG, ""); - digs= ceil_log(10, (Long_double)b); /* the number of digits to printf */ - - /* Rounding *******************************************************/ - basem1=Diff(base, HALF); - if (Diff(Sum(a, basem1), a) != ZERO) { - if (f_radix == 2) basem1=0.375; - else basem1=1.0; - if (Diff(Sum(a, basem1), a) != ZERO) irnd=2; /* away from 0 */ - else irnd=1; /* to nearest */ - } else irnd=0; /* towards 0 */ - - basem1=Diff(base, HALF); - - if (Diff(Diff(-a, basem1), -a) != ZERO) { - if (f_radix == 2) basem1=0.375; - else basem1=1.0; - if (Diff(Diff(-a, basem1), -a) != ZERO) mrnd=2; /* away from 0*/ - else mrnd=1; /* to nearest */ - } else mrnd=0; /* towards 0 */ - - f_rounds= -1; /* Unknown rounding */ - if (irnd==0 && mrnd==0) f_rounds=0; /* zero = chops */ - if (irnd==1 && mrnd==1) f_rounds=1; /* nearest */ - if (irnd==2 && mrnd==0) f_rounds=2; /* +inf */ - if (irnd==0 && mrnd==2) f_rounds=3; /* -inf */ - - if (f_rounds != -1) { - Vprintf("%sArithmetic rounds towards ", co); - switch (f_rounds) { - case 0: Vprintf("zero (i.e. it chops)"); break; - case 1: Vprintf("nearest"); break; - case 2: Vprintf("+infinity"); break; - case 3: Vprintf("-infinity"); break; - default: Vprintf("???"); break; - } - Vprintf("%s\n", oc); - } else { /* Hmm, try to give some help here */ - Vprintf("%sArithmetic rounds oddly: %s\n", co, oc); - Vprintf("%s Negative numbers %s%s\n", - co, mrnd==0 ? "towards zero" : - mrnd==1 ? "to nearest" : - "away from zero", - oc); - Vprintf("%s Positive numbers %s%s\n", - co, irnd==0 ? "towards zero" : - irnd==1 ? "to nearest" : - "away from zero", - oc); - } - /* An extra goody */ - if (f_radix == 2 && f_rounds == 1) { - if (Diff(Sum(a, ONE), a) != ZERO) { - Vprintf("%s Tie breaking rounds up%s\n", co, oc); - } else if (Diff(Sum(a, THREE), a) == FOUR) { - Vprintf("%s Tie breaking rounds to even%s\n", co, oc); - } else { - Vprintf("%s Tie breaking rounds down%s\n", co, oc); - } - } - if (PASS == 1) { /* only for FLT */ - flt_rounds= f_rounds; - /* Prefer system float.h definition of F_ROUNDS, - since it's more likely to be right than our "1". */ - if (F && (!SYS_FLOAT_H_WRAP || F_ROUNDS == UNDEFINED)) - i_define(D_FLT_ROUNDS, "", "FLT", "_ROUNDS", - (long) f_rounds, 1L, (long) F_ROUNDS, ""); - } else if (f_rounds != flt_rounds) { - printf("\n%s*** WARNING: %s %s (%d) %s%s\n", - co, thing, "arithmetic rounds differently", - f_rounds, "from float", oc); - bugs++; - } - - /* Various flavours of epsilon ************************************/ - negeps=f_mant_dig+f_mant_dig; - basein=1.0/base; - a=1.0; - for(i=1; i<=negeps; i++) a*=basein; - - b=a; - while (Diff(Diff(ONE, a), ONE) == ZERO) { - a*=base; - negeps--; - } - negeps= -negeps; - Vprintf("%sSmallest x such that 1.0-base**x != 1.0 = %d%s\n", - co, negeps, oc); - - etop = ONE; - ebot = ZERO; - eps = Sum(ebot, Div(Diff(etop, ebot), TWO)); - /* find the smallest epsneg (1-epsneg != 1) by binary search. - ebot and etop are the current bounds */ - while (eps != ebot && eps != etop) { - epsp1 = Diff(ONE, eps); - if (epsp1 < ONE) etop = eps; - else ebot = eps; - eps = Sum(ebot, Div(Diff(etop, ebot), TWO)); - } - eps= etop; - /* Sanity check */ - if (Diff(ONE, etop) >= ONE || Diff(ONE, ebot) != ONE) { - eek_a_bug("internal error calculating epsneg"); - } - Vprintf("%sSmallest x such that 1.0-x != 1.0 = %s%s\n", - co, f_rep(digs, (Long_double) eps), oc); - if (V) F_check(digs, (Long_double) eps); - - epsneg=a; - if ((f_radix!=2) && irnd) { - /* a=(a*(1.0+a))/(1.0+1.0); => */ - a=Div(Mul(a, Sum(ONE, a)), Sum(ONE, ONE)); - /* if ((1.0-a)-1.0 != 0.0) epsneg=a; => */ - if (Diff(Diff(ONE, a), ONE) != ZERO) epsneg=a; - } - /* epsneg is used later */ - Unexpected(20); - - machep= -f_mant_dig-f_mant_dig; - a=b; - while (Diff(Sum(ONE, a), ONE) == ZERO) { a*=base; machep++; } - Vprintf("%sSmallest x such that 1.0+base**x != 1.0 = %d%s\n", - co, machep, oc); - - etop = ONE; - ebot = ZERO; - eps = Sum(ebot, Div(Diff(etop, ebot), TWO)); - /* find the smallest eps (1+eps != 1) by binary search. - ebot and etop are the current bounds */ - while (eps != ebot && eps != etop) { - epsp1 = Sum(ONE, eps); - if (epsp1 > ONE) etop = eps; - else ebot = eps; - eps = Sum(ebot, Div(Diff(etop, ebot), TWO)); - } - /* Sanity check */ - if (Sum(ONE, etop) <= ONE || Sum(ONE, ebot) != ONE) { - eek_a_bug("internal error calculating eps"); - } - f_epsilon=etop; - - Vprintf("%sSmallest x such that 1.0+x != 1.0 = %s%s\n", - co, f_rep(digs, (Long_double) f_epsilon), oc); - - f_epsilon= Diff(Sum(ONE, f_epsilon), ONE); /* New C standard defn */ - Vprintf("%s(Above number + 1.0) - 1.0 = %s%s\n", - co, f_rep(digs, (Long_double) (f_epsilon)), oc); - - /* Possible loss of precision warnings here from non-stdc compilers */ - if (F) f_define(D_EPSILON, thing, - Fname, "_EPSILON", digs, - (Long_double) f_epsilon, - (Long_double) F_EPSILON, MARK); - if (V || F) F_check(digs, (Long_double) f_epsilon); - Unexpected(21); - if (F) Validate(digs, (Long_double) f_epsilon, (Long_double) F_EPSILON, - f_epsilon == Self(F_EPSILON)); - Unexpected(22); - - /* Extra chop info *************************************************/ - if (f_rounds == 0) { - if (Diff(Mul(Sum(ONE,f_epsilon),ONE),ONE) != ZERO) { - Vprintf("%sAlthough arithmetic chops, it uses guard digits%s\n", co, oc); - } - } - - /* Size of and minimum normalised exponent ************************/ - y=0; i=0; k=1; z=basein; z1=(1.0+f_epsilon)/base; - - /* Coarse search for the largest power of two */ - if (setjmp(lab)==0) { /* for underflow trap */ /* Yields i, k, y, y1 */ - do { - y=z; y1=z1; - z=Mul(y,y); z1=Mul(z1, y); - a=Mul(z,ONE); - z2=Div(z1,y); - if (z2 != y1) break; - if ((Sum(a,a) == ZERO) || (fabs(z) >= y)) break; - i++; - k+=k; - } while(1); - } else { - Vprintf("%s%s underflow generates a trap%s\n", co, Thing, oc); - } - Unexpected(23); - - if (f_radix != 10) { - iexp=i+1; /* for the sign */ - mx=k+k; - } else { - iexp=2; - iz=f_radix; - while (k >= iz) { iz*=f_radix; iexp++; } - mx=iz+iz-1; - } - - /* Fine tune starting with y and y1 */ - if (setjmp(lab)==0) { /* for underflow trap */ /* Yields k, f_min */ - do { - f_min=y; z1=y1; - y=Div(y,base); y1=Div(y1,base); - a=Mul(y,ONE); - z2=Mul(y1,base); - if (z2 != z1) break; - if ((Sum(a,a) == ZERO) || (fabs(y) >= f_min)) break; - k++; - } while (1); - } - Unexpected(24); - - f_min_exp=(-k)+1; - - if ((mx <= k+k-3) && (f_radix != 10)) { mx+=mx; iexp+=1; } - Vprintf("%sNumber of bits used for exponent = %d%s\n", co, iexp, oc); - Vprintf("%sMinimum normalised exponent = %d%s\n", co, f_min_exp-1, oc); - if (F) - i_define(D_MIN_EXP, thing, Fname, "_MIN_EXP", - (long) f_min_exp, (long) maxint, (long) F_MIN_EXP, ""); - - if (setjmp(lab)==0) { - Vprintf("%sMinimum normalised positive number = %s%s\n", - co, f_rep(digs, (Long_double) f_min), oc); - } else { - eek_a_bug("printf can't print the smallest normalised number"); - printf("\n"); - } - Unexpected(25); - /* Possible loss of precision warnings here from non-stdc compilers */ - if (setjmp(lab) == 0) { - if (F) f_define(D_MIN, thing, - Fname, "_MIN", digs, - (Long_double) f_min, - (Long_double) F_MIN, MARK); - if (V || F) F_check(digs, (Long_double) f_min); - } else { - eek_a_bug("xxx_MIN caused a trap"); - printf("\n"); - } - - if (setjmp(lab) == 0) { - if (F) Validate(digs, (Long_double) f_min, (Long_double) F_MIN, - f_min == Self(F_MIN)); - } else { - printf("%s*** Verify failed for above #define!\n %s %s\n\n", - co, "Compiler has an unusable number for value", oc); - bugs++; - } - Unexpected(26); - - a=1.0; f_min_10_exp=0; - while (a > f_min*10.0) { a/=10.0; f_min_10_exp--; } - if (F) i_define(D_MIN_10_EXP, thing, Fname, "_MIN_10_EXP", - (long) f_min_10_exp, (long) maxint, - (long) F_MIN_10_EXP, ""); - - /* Minimum exponent ************************************************/ - if (setjmp(lab)==0) { /* for underflow trap */ /* Yields xminner */ - do { - xminner=y; - y=Div(y,base); - a=Mul(y,ONE); - if ((Sum(a,a) == ZERO) || (fabs(y) >= xminner)) break; - } while (1); - } - Unexpected(27); - - if (xminner != 0.0 && xminner != f_min) { - normal= 0; - Vprintf("%sThe smallest numbers are not kept normalised%s\n", - co, oc); - if (setjmp(lab)==0) { - Vprintf("%sSmallest unnormalised positive number = %s%s\n", - co, f_rep(digs, (Long_double) xminner), oc); - if (V) F_check(digs, (Long_double) xminner); - } else { - eek_a_bug("printf can't print the smallest unnormalised number."); - printf("\n"); - } - Unexpected(28); - } else { - normal= 1; - Vprintf("%sThe smallest numbers are normalised%s\n", co, oc); - } - - /* Maximum exponent ************************************************/ - f_max_exp=2; f_max=1.0; newxmax=base+1.0; - inf=0; trap=0; - while (f_max<newxmax) { - f_max=newxmax; - if (setjmp(lab) == 0) { /* Yields inf, f_max_exp */ - newxmax=Mul(newxmax, base); - } else { - trap=1; - break; - } - if (Div(newxmax, base) != f_max) { - inf=1; /* ieee infinity */ - break; - } - f_max_exp++; - } - Unexpected(29); - if (trap) { - Vprintf("%s%s overflow generates a trap%s\n", co, Thing, oc); - } - - if (inf) Vprintf("%sThere is an 'infinite' value%s\n", co, oc); - Vprintf("%sMaximum exponent = %d%s\n", co, f_max_exp, oc); - if (F) i_define(D_MAX_EXP, thing, Fname, "_MAX_EXP", - (long) f_max_exp, 0L, (long) F_MAX_EXP, ""); - - /* Largest number ***************************************************/ - f_max=Diff(ONE, epsneg); - if (Mul(f_max,ONE) != f_max) f_max=Diff(ONE, Mul(base,epsneg)); - for (i=1; i<=f_max_exp; i++) f_max=Mul(f_max, base); - - if (setjmp(lab)==0) { - Vprintf("%sMaximum number = %s%s\n", - co, f_rep(digs, (Long_double) f_max), oc); - } else { - eek_a_bug("printf can't print the largest double."); - printf("\n"); - } - if (setjmp(lab)==0) { - /* Possible loss of precision warnings here from non-stdc compilers */ - if (F) f_define(D_MAX, thing, - Fname, "_MAX", digs, - (Long_double) f_max, - (Long_double) F_MAX, MARK); - if (V || F) F_check(digs, (Long_double) f_max); - } else { - eek_a_bug("xxx_MAX caused a trap"); - printf("\n"); - } - if (setjmp(lab)==0) { - if (F) Validate(digs, (Long_double) f_max, (Long_double) F_MAX, - f_max == Self(F_MAX)); - } else { - printf("%s*** Verify failed for above #define!\n %s %s\n\n", - co, "Compiler has an unusable number for value", oc); - bugs++; - } - Unexpected(30); - - a=1.0; f_max_10_exp=0; - while (a < f_max/10.0) { a*=10.0; f_max_10_exp++; } - if (F) i_define(D_MAX_10_EXP, thing, Fname, "_MAX_10_EXP", - (long) f_max_10_exp, 0L, (long) F_MAX_10_EXP, ""); - - /* Hidden bit + sanity check ****************************************/ - if (f_radix != 10) { - hidden=0; - mantbits=floor_log(2, (Long_double)f_radix)*f_mant_dig; - if (mantbits == 64 - && iexp == 15 - && f_max_exp+f_min_exp > 0 /* ??? f_min_exp may be wrong. */ - && mantbits+iexp+17 == (int)sizeof(Number)*bits_per_byte) { - Vprintf("%sArithmetic probably doesn't use a hidden bit%s\n", co, oc); - Vprintf("%sIt's probably 80387 or 68881 extended real%s\n", co, oc); - goto is_extended; - } - if (mantbits+iexp == (int)sizeof(Number)*bits_per_byte) { - hidden=1; - Vprintf("%sArithmetic uses a hidden bit%s\n", co, oc); - } else if (mantbits+iexp+1 == (int)sizeof(Number)*bits_per_byte) { - Vprintf("%sArithmetic doesn't use a hidden bit%s\n", - co, oc); - } else { - printf("\n%s%s\n %s %s %s!%s\n\n", - co, - "*** Something fishy here!", - "Exponent size + significand size doesn't match", - "with the size of a", thing, - oc); - } - if (hidden && f_radix == 2 && f_max_exp+f_min_exp==3) { - Vprintf("%sIt looks like %s length IEEE format%s\n", - co, f_mant_dig==24 ? "single" : - f_mant_dig==53 ? "double" : - f_mant_dig >53 ? "extended" : - "some", oc); -is_extended: - if (f_rounds != 1 || normal) { - Vprintf("%s though ", co); - if (f_rounds != 1) { - Vprintf("the rounding is unusual"); - if (normal) Vprintf(" and "); - } - if (normal) Vprintf("the normalisation is unusual"); - Vprintf("%s\n", oc); - } - } else { - Vprintf("%sIt doesn't look like IEEE format%s\n", - co, oc); - } - } - printf("\n"); /* regardless of verbosity */ - return f_mant_dig; -} - -Procedure EPROP(fprec, dprec, lprec) int fprec, dprec, lprec; { - /* See if expressions are evaluated in extended precision. - Some compilers optimise even if you don't want it, - and then this function fails to produce the right result. - We try to diagnose this if it happens. - */ - Volatile int eprec; - Volatile double a, b, base, old; - Volatile Number d, oldd, dbase, one, zero; - Volatile int bad=0; - - /* Size of significand **************************************/ - a=1.0; - if (setjmp(lab) == 0) { /* Yields nothing */ - do { old=a; a=a+a; } - while ((((a+1.0)-a)-1.0) == 0.0 && a>old); - } else bad=1; - - /* Avoid the comparison if bad is set, - to avoid trouble on the convex. */ - if (!bad && (a <= old)) bad=1; - - if (!bad) { - b=1.0; - if (setjmp(lab) == 0) { /* Yields nothing */ - do { old=b; b=b+b; } - while ((base=((a+b)-a)) == 0.0 && b>old); - if (b <= old) bad=1; - } else bad=1; - } - - if (!bad) { - eprec=0; d=1.0; dbase=base; one=1.0; zero=0.0; - if (setjmp(lab) == 0) { /* Yields nothing */ - do { eprec++; oldd=d; d=d*dbase; } - while ((((d+one)-d)-one) == zero && d>oldd); - if (d <= oldd) bad=1; - } else bad=1; - } - - Unexpected(31); - - if (bad) { - Vprintf("%sCan't determine precision for %s expressions:\n%s%s\n", - co, thing, " check that you compiled without optimisation!", - oc); - } else if (eprec==dprec) { - Vprintf("%s%s expressions are evaluated in double precision%s\n", - co, Thing, oc); - } else if (eprec==fprec) { - Vprintf("%s%s expressions are evaluated in float precision%s\n", - co, Thing, oc); - } else if (eprec==lprec) { - Vprintf("%s%s expressions are evaluated in long double precision%s\n", - co, Thing, oc); - } else { - Vprintf("%s%s expressions are evaluated in a %s %s %d %s%s\n", - co, Thing, eprec>dprec ? "higher" : "lower", - "precision than double,\n using", - eprec, "base digits", - oc); - } -} - -#else /* not Number */ - -#ifdef FPROP /* Then create dummy routines for long double */ -/* ARGSUSED */ -int FPROP(bits_per_byte) int bits_per_byte; { return 0; } -#endif -#ifdef EPROP -/* ARGSUSED */ -Procedure EPROP(fprec, dprec, lprec) int fprec, dprec, lprec; {} -#endif - -#endif /* ifdef Number */ - -/* Increment the pass number */ -#undef PASS - -#ifdef PASS2 -#undef PASS2 -#define PASS 3 -#define PASS3 1 -#endif - -#ifdef PASS1 -#undef PASS1 -#define PASS 2 -#define PASS2 1 -#endif - -#ifdef PASS0 -#undef PASS0 -#endif - -#ifdef PASS /* then rescan this file */ -#ifdef NO_FILE -#include "enquire.c" -#else -#include FILENAME /* if this line fails to compile, define NO_FILE */ -#endif -#endif /* PASS */ - diff --git a/contrib/gcc/f/BUGS b/contrib/gcc/f/BUGS deleted file mode 100644 index acfe4abf4b93..000000000000 --- a/contrib/gcc/f/BUGS +++ /dev/null @@ -1,130 +0,0 @@ -_Note:_ This file is automatically generated from the files -`bugs0.texi' and `bugs.texi'. `BUGS' is _not_ a source file, although -it is normally included within source distributions. - - This file lists known bugs in the GCC-3.2 version of the GNU Fortran -compiler. Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 Free -Software Foundation, Inc. You may copy, distribute, and modify it -freely as long as you preserve this copyright notice and permission -notice. - -Known Bugs In GNU Fortran -************************* - - This section identifies bugs that `g77' _users_ might run into in -the GCC-3.2 version of `g77'. This includes bugs that are actually in -the `gcc' back end (GBE) or in `libf2c', because those sets of code are -at least somewhat under the control of (and necessarily intertwined -with) `g77', so it isn't worth separating them out. - - For information on bugs in _other_ versions of `g77', see -`gcc/gcc/f/NEWS'. There, lists of bugs fixed in various versions of -`g77' can help determine what bugs existed in prior versions. - - An online, "live" version of this document (derived directly from -the mainline, development version of `g77' within `gcc') is available -via `http://www.gnu.org/software/gcc/onlinedocs/g77/Trouble.html'. -Follow the "Known Bugs" link. - - The following information was last updated on 2002-02-01: - - * `g77' fails to warn about use of a "live" iterative-DO variable as - an implied-DO variable in a `WRITE' or `PRINT' statement (although - it does warn about this in a `READ' statement). - - * Something about `g77''s straightforward handling of label - references and definitions sometimes prevents the GBE from - unrolling loops. Until this is solved, try inserting or removing - `CONTINUE' statements as the terminal statement, using the `END DO' - form instead, and so on. - - * Some confusion in diagnostics concerning failing `INCLUDE' - statements from within `INCLUDE''d or `#include''d files. - - * `g77' assumes that `INTEGER(KIND=1)' constants range from `-2**31' - to `2**31-1' (the range for two's-complement 32-bit values), - instead of determining their range from the actual range of the - type for the configuration (and, someday, for the constant). - - Further, it generally doesn't implement the handling of constants - very well in that it makes assumptions about the configuration - that it no longer makes regarding variables (types). - - Included with this item is the fact that `g77' doesn't recognize - that, on IEEE-754/854-compliant systems, `0./0.' should produce a - NaN and no warning instead of the value `0.' and a warning. - - * `g77' uses way too much memory and CPU time to process large - aggregate areas having any initialized elements. - - For example, `REAL A(1000000)' followed by `DATA A(1)/1/' takes up - way too much time and space, including the size of the generated - assembler file. - - Version 0.5.18 improves cases like this--specifically, cases of - _sparse_ initialization that leave large, contiguous areas - uninitialized--significantly. However, even with the - improvements, these cases still require too much memory and CPU - time. - - (Version 0.5.18 also improves cases where the initial values are - zero to a much greater degree, so if the above example ends with - `DATA A(1)/0/', the compile-time performance will be about as good - as it will ever get, aside from unrelated improvements to the - compiler.) - - Note that `g77' does display a warning message to notify the user - before the compiler appears to hang. - - * When debugging, after starting up the debugger but before being - able to see the source code for the main program unit, the user - must currently set a breakpoint at `MAIN__' (or `MAIN___' or - `MAIN_' if `MAIN__' doesn't exist) and run the program until it - hits the breakpoint. At that point, the main program unit is - activated and about to execute its first executable statement, but - that's the state in which the debugger should start up, as is the - case for languages like C. - - * Debugging `g77'-compiled code using debuggers other than `gdb' is - likely not to work. - - Getting `g77' and `gdb' to work together is a known - problem--getting `g77' to work properly with other debuggers, for - which source code often is unavailable to `g77' developers, seems - like a much larger, unknown problem, and is a lower priority than - making `g77' and `gdb' work together properly. - - On the other hand, information about problems other debuggers have - with `g77' output might make it easier to properly fix `g77', and - perhaps even improve `gdb', so it is definitely welcome. Such - information might even lead to all relevant products working - together properly sooner. - - * `g77' doesn't work perfectly on 64-bit configurations such as the - Digital Semiconductor ("DEC") Alpha. - - This problem is largely resolved as of version 0.5.23. - - * `g77' currently inserts needless padding for things like `COMMON - A,IPAD' where `A' is `CHARACTER*1' and `IPAD' is `INTEGER(KIND=1)' - on machines like x86, because the back end insists that `IPAD' be - aligned to a 4-byte boundary, but the processor has no such - requirement (though it is usually good for performance). - - The `gcc' back end needs to provide a wider array of - specifications of alignment requirements and preferences for - targets, and front ends like `g77' should take advantage of this - when it becomes available. - - * The `libf2c' routines that perform some run-time arithmetic on - `COMPLEX' operands were modified circa version 0.5.20 of `g77' to - work properly even in the presence of aliased operands. - - While the `g77' and `netlib' versions of `libf2c' differ on how - this is accomplished, the main differences are that we believe the - `g77' version works properly even in the presence of _partially_ - aliased operands. - - However, these modifications have reduced performance on targets - such as x86, due to the extra copies of operands involved. - diff --git a/contrib/gcc/f/NEWS b/contrib/gcc/f/NEWS deleted file mode 100644 index cc73668ebd7a..000000000000 --- a/contrib/gcc/f/NEWS +++ /dev/null @@ -1,531 +0,0 @@ -_Note:_ This file is automatically generated from the files -`news0.texi' and `news.texi'. `NEWS' is _not_ a source file, although -it is normally included within source distributions. - - This file lists news about the GCC-3.2 version (and some other -versions) of the GNU Fortran compiler. Copyright (C) -1995,1996,1997,1998,1999,2000,2001,2002 Free Software Foundation, Inc. -You may copy, distribute, and modify it freely as long as you preserve -this copyright notice and permission notice. - -News About GNU Fortran -********************** - - Changes made to recent versions of GNU Fortran are listed below, -with the most recent version first. - - The changes are generally listed in order: - - 1. Code-generation and run-time-library bug-fixes - - 2. Compiler and run-time-library crashes involving valid code that - have been fixed - - 3. New features - - 4. Fixes and enhancements to existing features - - 5. New diagnostics - - 6. Internal improvements - - 7. Miscellany - - This order is not strict--for example, some items involve a -combination of these elements. - - Note that two variants of `g77' are tracked below. The `egcs' -variant is described vis-a-vis previous versions of `egcs' and/or an -official FSF version, as appropriate. Note that all such variants are -obsolete _as of July 1999_ - the information is retained here only for -its historical value. - - Therefore, `egcs' versions sometimes have multiple listings to help -clarify how they differ from other versions, though this can make -getting a complete picture of what a particular `egcs' version contains -somewhat more difficult. - - An online, "live" version of this document (derived directly from -the mainline, development version of `g77' within `gcc') is available at -`http://www.gnu.org/software/gcc/onlinedocs/g77/News.html'. - - The following information was last updated on 2002-10-28: - -In `GCC' 3.2 versus `GCC' 3.1: -============================== - - * Problem Reports fixed (in chronological order of submission): - `8308' - gcc-3.x does not compile files with suffix .r (RATFOR) [Fixed - in 3.2.1] - -In `GCC' 3.1 (formerly known as g77-0.5.27) versus `GCC' 3.0: -============================================================= - - * Problem Reports fixed (in chronological order of submission): - `947' - Data statement initialization with subscript of kind INTEGER*2 - - `3743' - Reference to intrinsic `ISHFT' invalid - - `3807' - Function BESJN(integer,double) problems - - `3957' - g77 -pipe -xf77-cpp-input sends output to stdout - - `4279' - g77 -h" gives bogus output - - `4730' - ICE on valid input using CALL EXIT(%VAL(...)) - - `4752' - g77 -v -c -xf77-version /dev/null -xnone causes ice - - `4885' - BACKSPACE example that doesn't work as of gcc/g77-3.0.x - - `5122' - g77 rejects accepted use of INTEGER*2 as type of DATA - statement loop index - - `5397' - ICE on compiling source with 540 000 000 REAL array - - `5473' - ICE on BESJN(integer*8,real) - - `5837' - bug in loop unrolling - - * `g77' now has its man page generated from the texinfo - documentation, to guarantee that it remains up to date. - - * `g77' used to reject the following program on 32-bit targets: - PROGRAM PROG - DIMENSION A(140 000 000) - END - with the message: - prog.f: In program `prog': - prog.f:2: - DIMENSION A(140 000 000) - ^ - Array `a' at (^) is too large to handle - because 140 000 000 REALs is larger than the largest bit-extent - that can be expressed in 32 bits. However, bit-sizes never play a - role after offsets have been converted to byte addresses. - Therefore this check has been removed, and the limit is now 2 - Gbyte of memory (around 530 000 000 REALs). Note: On GNU/Linux - systems one has to compile programs that occupy more than 1 Gbyte - statically, i.e. `g77 -static ...'. - - * Based on work done by Juergen Pfeifer (<juergen.pfeifer@gmx.net>) - libf2c is now a shared library. One can still link in all objects - with the program by specifying the `-static' option. - - * Robert Anderson (<rwa@alumni.princeton.edu>) thought up a two line - change that enables g77 to compile such code as: - SUBROUTINE SUB(A, N) - DIMENSION N(2) - DIMENSION A(N(1),N(2)) - A(1,1) = 1. - END - Note the use of array elements in the bounds of the adjustable - array A. - - * George Helffrich (<george@geo.titech.ac.jp>) implemented a change - in substring index checking (when specifying `-fbounds-check') - that permits the use of zero length substrings of the form - `string(1:0)'. - - * Based on code developed by Pedro Vazquez - (<vazquez@penelope.iqm.unicamp.br>), the `libf2c' library is now - able to read and write files larger than 2 Gbyte on 32-bit target - machines, if the operating system supports this. - -In 0.5.26, `GCC' 3.0 versus `GCC' 2.95: -======================================= - - * When a REWIND was issued after a WRITE statement on an unformatted - file, the implicit truncation was performed by copying the - truncated file to /tmp and copying the result back. This has been - fixed by using the `ftruncate' OS function. Thanks go to the - GAMESS developers for bringing this to our attention. - - * Using options `-g', `-ggdb' or `-gdwarf[-2]' (where appropriate - for your target) now also enables debugging information for COMMON - BLOCK and EQUIVALENCE items to be emitted. Thanks go to Andrew - Vaught (<andy@xena.eas.asu.edu>) and George Helffrich - (<george@geology.bristol.ac.uk>) for fixing this longstanding - problem. - - * It is not necessary anymore to use the option `-femulate-complex' - to compile Fortran code using COMPLEX arithmetic, even on 64-bit - machines (like the Alpha). This will improve code generation. - - * INTRINSIC arithmetic functions are now treated as routines that do - not depend on anything but their argument(s). This enables - further instruction scheduling, because it is known that they - cannot read or modify arbitrary locations. - - * Upgrade to `libf2c' as of 2000-12-05. - - This fixes a bug where a namelist containing initialization of - LOGICAL items and a variable starting with T or F would be read - incorrectly. - - * The `TtyNam' intrinsics now set NAME to all spaces (at run time) - if the system has no `ttyname' implementation available. - - * Upgrade to `libf2c' as of 1999-06-28. - - This fixes a bug whereby input to a `NAMELIST' read involving a - repeat count, such as `K(5)=10*3', was not properly handled by - `libf2c'. The first item was written to `K(5)', but the remaining - nine were written elsewhere (still within the array), not - necessarily starting at `K(6)'. - -In 0.5.25, `GCC' 2.95 (`EGCS' 1.2) versus `EGCS' 1.1.2: -======================================================= - - * `g77' no longer generates bad code for assignments, or other - conversions, of `REAL' or `COMPLEX' constant expressions to type - `INTEGER(KIND=2)' (often referred to as `INTEGER*8'). - - For example, `INTEGER*8 J; J = 4E10' now works as documented. - - * `g77' no longer truncates `INTEGER(KIND=2)' (usually `INTEGER*8') - subscript expressions when evaluating array references on systems - with pointers widers than `INTEGER(KIND=1)' (such as Alphas). - - * `g77' no longer generates bad code for an assignment to a - `COMPLEX' variable or array that partially overlaps one or more of - the sources of the same assignment (a very rare construction). It - now assigns through a temporary, in cases where such partial - overlap is deemed possible. - - * `libg2c' (`libf2c') no longer loses track of the file being worked - on during a `BACKSPACE' operation. - - * `libg2c' (`libf2c') fixes a bug whereby input to a `NAMELIST' read - involving a repeat count, such as `K(5)=10*3', was not properly - handled by `libf2c'. The first item was written to `K(5)', but - the remaining nine were written elsewhere (still within the array), - not necessarily starting at `K(6)'. - - * Automatic arrays now seem to be working on HP-UX systems. - - * The `Date' intrinsic now returns the correct result on big-endian - systems. - - * Fix `g77' so it no longer crashes when compiling I/O statements - using keywords that define `INTEGER' values, such as `IOSTAT=J', - where J is other than default `INTEGER' (such as `INTEGER*2'). - Instead, it issues a diagnostic. - - * Fix `g77' so it properly handles `DATA A/RPT*VAL/', where RPT is - not default `INTEGER', such as `INTEGER*2', instead of producing a - spurious diagnostic. Also fix `DATA (A(I),I=1,N)', where `N' is - not default `INTEGER' to work instead of crashing `g77'. - - * The `-ax' option is now obeyed when compiling Fortran programs. - (It is passed to the `f771' driver.) - - * The new `-fbounds-check' option causes `g77' to compile run-time - bounds checks of array subscripts, as well as of substring start - and end points. - - * `libg2c' now supports building as multilibbed library, which - provides better support for systems that require options such as - `-mieee' to work properly. - - * Source file names with the suffixes `.FOR' and `.FPP' now are - recognized by `g77' as if they ended in `.for' and `.fpp', - respectively. - - * The order of arguments to the _subroutine_ forms of the `CTime', - `DTime', `ETime', and `TtyNam' intrinsics has been swapped. The - argument serving as the returned value for the corresponding - function forms now is the _second_ argument, making these - consistent with the other subroutine forms of `libU77' intrinsics. - - * `g77' now warns about a reference to an intrinsic that has an - interface that is not Year 2000 (Y2K) compliant. Also, `libg2c' - has been changed to increase the likelihood of catching references - to the implementations of these intrinsics using the `EXTERNAL' - mechanism (which would avoid the new warnings). - - * `g77' now warns about a reference to a function when the - corresponding _subsequent_ function program unit disagrees with - the reference concerning the type of the function. - - * `-fno-emulate-complex' is now the default option. This should - result in improved performance of code that uses the `COMPLEX' - data type. - - * The `-malign-double' option now reliably aligns _all_ - double-precision variables and arrays on Intel x86 targets. - - * Even without the `-malign-double' option, `g77' reliably aligns - local double-precision variables that are not in `EQUIVALENCE' - areas and not `SAVE''d. - - * `g77' now open-codes ("inlines") division of `COMPLEX' operands - instead of generating a run-time call to the `libf2c' routines - `c_div' or `z_div', unless the `-Os' option is specified. - - * `g77' no longer generates code to maintain `errno', a C-language - concept, when performing operations such as the `SqRt' intrinsic. - - * `g77' developers can temporarily use the `-fflatten-arrays' option - to compare how the compiler handles code generation using C-like - constructs as compared to the Fortran-like method constructs - normally used. - - * A substantial portion of the `g77' front end's code-generation - component was rewritten. It now generates code using facilities - more robustly supported by the `gcc' back end. One effect of this - rewrite is that some codes no longer produce a spurious "label LAB - used before containing binding contour" message. - - * Support for the `-fugly' option has been removed. - - * Improve documentation and indexing, including information on Year - 2000 (Y2K) compliance, and providing more information on internals - of the front end. - - * Upgrade to `libf2c' as of 1999-05-10. - -In 0.5.24 versus 0.5.23: -======================== - - There is no `g77' version 0.5.24 at this time, or planned. 0.5.24 -is the version number designated for bug fixes and, perhaps, some new -features added, to 0.5.23. Version 0.5.23 requires `gcc' 2.8.1, as -0.5.24 was planned to require. - - Due to `EGCS' becoming `GCC' (which is now an acronym for "GNU -Compiler Collection"), and `EGCS' 1.2 becoming officially designated -`GCC' 2.95, there seems to be no need for an actual 0.5.24 release. - - To reduce the confusion already resulting from use of 0.5.24 to -designate `g77' versions within `EGCS' versions 1.0 and 1.1, as well as -in versions of `g77' documentation and notices during that period, -"mainline" `g77' version numbering resumes at 0.5.25 with `GCC' 2.95 -(`EGCS' 1.2), skipping over 0.5.24 as a placeholder version number. - - To repeat, there is no `g77' 0.5.24, but there is now a 0.5.25. -Please remain calm and return to your keypunch units. - -In `EGCS' 1.1.2 versus `EGCS' 1.1.1: -==================================== - - * 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). - - * Improve documentation. - -In `EGCS' 1.1.1 versus `EGCS' 1.1: -================================== - - * Fix `libg2c' so it performs an implicit `ENDFILE' operation (as - appropriate) whenever a `REWIND' is done. - - (This bug was introduced in 0.5.23 and `egcs' 1.1 in `g77''s - version of `libf2c'.) - - * Fix `libg2c' so it no longer crashes with a spurious diagnostic - upon doing any I/O following a direct formatted write. - - (This bug was introduced in 0.5.23 and `egcs' 1.1 in `g77''s - version of `libf2c'.) - - * Fix `g77' so it no longer crashes compiling references to the - `Rand' intrinsic on some systems. - - * Fix `g77' portion of installation process so it works better on - some systems (those with shells requiring `else true' clauses on - `if' constructs for the completion code to be set properly). - -In `EGCS' 1.1 versus `EGCS' 1.0.3: -================================== - - * Fix bugs in the `libU77' intrinsic `HostNm' that wrote one byte - beyond the end of its `CHARACTER' argument, and in the `libU77' - intrinsics `GMTime' and `LTime' that overwrote their arguments. - - * Assumed arrays with negative bounds (such as `REAL A(-1:*)') no - longer elicit spurious diagnostics from `g77', even on systems - with pointers having different sizes than integers. - - This bug is not known to have existed in any recent version of - `gcc'. It was introduced in an early release of `egcs'. - - * Valid combinations of `EXTERNAL', passing that external as a dummy - argument without explicitly giving it a type, and, in a subsequent - program unit, referencing that external as an external function - with a different type no longer crash `g77'. - - * `CASE DEFAULT' no longer crashes `g77'. - - * The `-Wunused' option no longer issues a spurious warning about - the "master" procedure generated by `g77' for procedures - containing `ENTRY' statements. - - * Support `FORMAT(I<EXPR>)' when EXPR is a compile-time constant - `INTEGER' expression. - - * Fix `g77' `-g' option so procedures that use `ENTRY' can be - stepped through, line by line, in `gdb'. - - * Allow any `REAL' argument to intrinsics `Second' and `CPU_Time'. - - * Use `tempnam', if available, to open scratch files (as in - `OPEN(STATUS='SCRATCH')') so that the `TMPDIR' environment - variable, if present, is used. - - * `g77''s version of `libf2c' separates out the setting of global - state (such as command-line arguments and signal handling) from - `main.o' into distinct, new library archive members. - - This should make it easier to write portable applications that - have their own (non-Fortran) `main()' routine properly set up the - `libf2c' environment, even when `libf2c' (now `libg2c') is a - shared library. - - * `g77' no longer installs the `f77' command and `f77.1' man page in - the `/usr' or `/usr/local' hierarchy, even if the `f77-install-ok' - file exists in the source or build directory. See the - installation documentation for more information. - - * `g77' no longer installs the `libf2c.a' library and `f2c.h' - include file in the `/usr' or `/usr/local' hierarchy, even if the - `f2c-install-ok' or `f2c-exists-ok' files exist in the source or - build directory. See the installation documentation for more - information. - - * The `libf2c.a' library produced by `g77' has been renamed to - `libg2c.a'. It is installed only in the `gcc' "private" directory - hierarchy, `gcc-lib'. This allows system administrators and users - to choose which version of the `libf2c' library from `netlib' they - wish to use on a case-by-case basis. See the installation - documentation for more information. - - * The `f2c.h' include (header) file produced by `g77' has been - renamed to `g2c.h'. It is installed only in the `gcc' "private" - directory hierarchy, `gcc-lib'. This allows system administrators - and users to choose which version of the include file from - `netlib' they wish to use on a case-by-case basis. See the - installation documentation for more information. - - * The `g77' command now expects the run-time library to be named - `libg2c.a' instead of `libf2c.a', to ensure that a version other - than the one built and installed as part of the same `g77' version - is picked up. - - * During the configuration and build process, `g77' creates - subdirectories it needs only as it needs them. Other cleaning up - of the configuration and build process has been performed as well. - - * `install-info' now used to update the directory of Info - documentation to contain an entry for `g77' (during installation). - - * Some diagnostics have been changed from warnings to errors, to - prevent inadvertent use of the resulting, probably buggy, programs. - These mostly include diagnostics about use of unsupported features - in the `OPEN', `INQUIRE', `READ', and `WRITE' statements, and - about truncations of various sorts of constants. - - * Improve compilation of `FORMAT' expressions so that a null byte is - appended to the last operand if it is a constant. This provides a - cleaner run-time diagnostic as provided by `libf2c' for statements - like `PRINT '(I1', 42'. - - * Improve documentation and indexing. - - * The upgrade to `libf2c' as of 1998-06-18 should fix a variety of - problems, including those involving some uses of the `T' format - specifier, and perhaps some build (porting) problems as well. - -In `EGCS' 1.1 versus `g77' 0.5.23: -================================== - - * Fix a code-generation bug that afflicted Intel x86 targets when - `-O2' was specified compiling, for example, an old version of the - `DNRM2' routine. - - The x87 coprocessor stack was being mismanaged in cases involving - assigned `GOTO' and `ASSIGN'. - - * `g77' no longer produces incorrect code and initial values for - `EQUIVALENCE' and `COMMON' aggregates that, due to "unnatural" - ordering of members vis-a-vis their types, require initial padding. - - * Fix `g77' crash compiling code containing the construct - `CMPLX(0.)' or similar. - - * `g77' no longer crashes when compiling code containing - specification statements such as `INTEGER(KIND=7) PTR'. - - * `g77' no longer crashes when compiling code such as `J = SIGNAL(1, - 2)'. - - * `g77' now treats `%LOC(EXPR)' and `LOC(EXPR)' as "ordinary" - expressions when they are used as arguments in procedure calls. - This change applies only to global (filewide) analysis, making it - consistent with how `g77' actually generates code for these cases. - - Previously, `g77' treated these expressions as denoting special - "pointer" arguments for the purposes of filewide analysis. - - * Fix `g77' crash (or apparently infinite run-time) when compiling - certain complicated expressions involving `COMPLEX' arithmetic - (especially multiplication). - - * Align static double-precision variables and arrays on Intel x86 - targets regardless of whether `-malign-double' is specified. - - Generally, this affects only local variables and arrays having the - `SAVE' attribute or given initial values via `DATA'. - - * The `g77' driver now ensures that `-lg2c' is specified in the link - phase prior to any occurrence of `-lm'. This prevents - accidentally linking to a routine in the SunOS4 `-lm' library when - the generated code wants to link to the one in `libf2c' (`libg2c'). - - * `g77' emits more debugging information when `-g' is used. - - This new information allows, for example, `which __g77_length_a' - to be used in `gdb' to determine the type of the phantom length - argument supplied with `CHARACTER' variables. - - This information pertains to internally-generated type, variable, - and other information, not to the longstanding deficiencies - vis-a-vis `COMMON' and `EQUIVALENCE'. - - * The F90 `Date_and_Time' intrinsic now is supported. - - * The F90 `System_Clock' intrinsic allows the optional arguments - (except for the `Count' argument) to be omitted. - - * Upgrade to `libf2c' as of 1998-06-18. - - * Improve documentation and indexing. - -In previous versions: -===================== - - Information on previous versions is not provided in this -`gcc/gcc/f/NEWS' file, to keep it short. See `gcc/gcc/f/news.texi', or -any of its other derivations (Info, HTML, dvi forms) for such -information. - diff --git a/contrib/gcc/f/g77.1 b/contrib/gcc/f/g77.1 deleted file mode 100644 index 91af9e0a5eca..000000000000 --- a/contrib/gcc/f/g77.1 +++ /dev/null @@ -1,1719 +0,0 @@ -.\" Automatically generated by Pod::Man version 1.15 -.\" Wed Feb 5 03:13:59 2003 -.\" -.\" Standard preamble: -.\" ====================================================================== -.de Sh \" Subsection heading -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Ip \" List item -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R - -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. | will give a -.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used -.\" to do unbreakable dashes and therefore won't be available. \*(C` and -.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<> -.tr \(*W-|\(bv\*(Tr -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" If the F register is turned on, we'll generate index entries on stderr -.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and -.\" index entries marked with X<> in POD. Of course, you'll have to process -.\" the output yourself in some meaningful fashion. -.if \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.\" -.\" For nroff, turn off justification. Always turn off hyphenation; it -.\" makes way too many mistakes in technical documents. -.hy 0 -.if n .na -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -.bd B 3 -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ====================================================================== -.\" -.IX Title "G77 1" -.TH G77 1 "gcc-3.2.2" "2003-02-05" "GNU" -.UC -.SH "NAME" -g77 \- \s-1GNU\s0 project Fortran 77 compiler -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -g77 [\fB\-c\fR|\fB\-S\fR|\fB\-E\fR] - [\fB\-g\fR] [\fB\-pg\fR] [\fB\-O\fR\fIlevel\fR] - [\fB\-W\fR\fIwarn\fR...] [\fB\-pedantic\fR] - [\fB\-I\fR\fIdir\fR...] [\fB\-L\fR\fIdir\fR...] - [\fB\-D\fR\fImacro\fR[=\fIdefn\fR]...] [\fB\-U\fR\fImacro\fR] - [\fB\-f\fR\fIoption\fR...] [\fB\-m\fR\fImachine-option\fR...] - [\fB\-o\fR \fIoutfile\fR] \fIinfile\fR... -.PP -Only the most useful options are listed here; see below for the -remainder. -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -The \fBg77\fR command supports all the options supported by the -\&\fBgcc\fR command. -.PP -All \fBgcc\fR and \fBg77\fR options -are accepted both by \fBg77\fR and by \fBgcc\fR -(as well as any other drivers built at the same time, -such as \fBg++\fR), -since adding \fBg77\fR to the \fBgcc\fR distribution -enables acceptance of \fBg77\fR options -by all of the relevant drivers. -.PP -In some cases, options have positive and negative forms; -the negative form of \fB\-ffoo\fR would be \fB\-fno-foo\fR. -This manual documents only one of these two forms, whichever -one is not the default. -.SH "OPTIONS" -.IX Header "OPTIONS" -Here is a summary of all the options specific to \s-1GNU\s0 Fortran, grouped -by type. Explanations are in the following sections. -.Ip "\fIOverall Options\fR" 4 -.IX Item "Overall Options" -\&\fB\-fversion \-fset-g77\-defaults \-fno-silent\fR -.Ip "\fIShorthand Options\fR" 4 -.IX Item "Shorthand Options" -\&\fB\-ff66 \-fno-f66 \-ff77 \-fno-f77 \-fno-ugly\fR -.Ip "\fIFortran Language Options\fR" 4 -.IX Item "Fortran Language Options" -\&\fB\-ffree-form \-fno-fixed-form \-ff90 -\&\-fvxt \-fdollar-ok \-fno-backslash -\&\-fno-ugly-args \-fno-ugly-assign \-fno-ugly-assumed -\&\-fugly-comma \-fugly-complex \-fugly-init \-fugly-logint -\&\-fonetrip \-ftypeless-boz -\&\-fintrin-case-initcap \-fintrin-case-upper -\&\-fintrin-case-lower \-fintrin-case-any -\&\-fmatch-case-initcap \-fmatch-case-upper -\&\-fmatch-case-lower \-fmatch-case-any -\&\-fsource-case-upper \-fsource-case-lower -\&\-fsource-case-preserve -\&\-fsymbol-case-initcap \-fsymbol-case-upper -\&\-fsymbol-case-lower \-fsymbol-case-any -\&\-fcase-strict-upper \-fcase-strict-lower -\&\-fcase-initcap \-fcase-upper \-fcase-lower \-fcase-preserve -\&\-ff2c-intrinsics-delete \-ff2c-intrinsics-hide -\&\-ff2c-intrinsics-disable \-ff2c-intrinsics-enable -\&\-fbadu77\-intrinsics-delete \-fbadu77\-intrinsics-hide -\&\-fbadu77\-intrinsics-disable \-fbadu77\-intrinsics-enable -\&\-ff90\-intrinsics-delete \-ff90\-intrinsics-hide -\&\-ff90\-intrinsics-disable \-ff90\-intrinsics-enable -\&\-fgnu-intrinsics-delete \-fgnu-intrinsics-hide -\&\-fgnu-intrinsics-disable \-fgnu-intrinsics-enable -\&\-fmil-intrinsics-delete \-fmil-intrinsics-hide -\&\-fmil-intrinsics-disable \-fmil-intrinsics-enable -\&\-funix-intrinsics-delete \-funix-intrinsics-hide -\&\-funix-intrinsics-disable \-funix-intrinsics-enable -\&\-fvxt-intrinsics-delete \-fvxt-intrinsics-hide -\&\-fvxt-intrinsics-disable \-fvxt-intrinsics-enable -\&\-ffixed-line-length-\fR\fIn\fR \fB\-ffixed-line-length-none\fR -.Ip "\fIWarning Options\fR" 4 -.IX Item "Warning Options" -\&\fB\-fsyntax-only \-pedantic \-pedantic-errors \-fpedantic -\&\-w \-Wno-globals \-Wimplicit \-Wunused \-Wuninitialized -\&\-Wall \-Wsurprising -\&\-Werror \-W\fR -.Ip "\fIDebugging Options\fR" 4 -.IX Item "Debugging Options" -\&\fB\-g\fR -.Ip "\fIOptimization Options\fR" 4 -.IX Item "Optimization Options" -\&\fB\-malign-double -\&\-ffloat-store \-fforce-mem \-fforce-addr \-fno-inline -\&\-ffast-math \-fstrength-reduce \-frerun-cse-after-loop -\&\-funsafe-math-optimizations \-fno-trapping-math -\&\-fexpensive-optimizations \-fdelayed-branch -\&\-fschedule-insns \-fschedule-insn2 \-fcaller-saves -\&\-funroll-loops \-funroll-all-loops -\&\-fno-move-all-movables \-fno-reduce-all-givs -\&\-fno-rerun-loop-opt\fR -.Ip "\fIDirectory Options\fR" 4 -.IX Item "Directory Options" -\&\fB\-I\fR\fIdir\fR \fB\-I-\fR -.Ip "\fICode Generation Options\fR" 4 -.IX Item "Code Generation Options" -\&\fB\-fno-automatic \-finit-local-zero \-fno-f2c -\&\-ff2c-library \-fno-underscoring \-fno-ident -\&\-fpcc-struct-return \-freg-struct-return -\&\-fshort-double \-fno-common \-fpack-struct -\&\-fzeros \-fno-second-underscore -\&\-femulate-complex -\&\-falias-check \-fargument-alias -\&\-fargument-noalias \-fno-argument-noalias-global -\&\-fno-globals \-fflatten-arrays -\&\-fbounds-check \-ffortran-bounds-check\fR -.PP -Compilation can involve as many as four stages: preprocessing, code -generation (often what is really meant by the term ``compilation''), -assembly, and linking, always in that order. The first three -stages apply to an individual source file, and end by producing an -object file; linking combines all the object files (those newly -compiled, and those specified as input) into an executable file. -.PP -For any given input file, the file name suffix determines what kind of -program is contained in the file\-\-\-that is, the language in which the -program is written is generally indicated by the suffix. -Suffixes specific to \s-1GNU\s0 Fortran are listed below. -.Ip "\fIfile\fR\fB.f\fR" 4 -.IX Item "file.f" -.PD 0 -.Ip "\fIfile\fR\fB.for\fR" 4 -.IX Item "file.for" -.Ip "\fIfile\fR\fB.FOR\fR" 4 -.IX Item "file.FOR" -.PD -Fortran source code that should not be preprocessed. -.Sp -Such source code cannot contain any preprocessor directives, such -as \f(CW\*(C`#include\*(C'\fR, \f(CW\*(C`#define\*(C'\fR, \f(CW\*(C`#if\*(C'\fR, and so on. -.Sp -You can force \fB.f\fR files to be preprocessed by \fBcpp\fR by using -\&\fB\-x f77\-cpp-input\fR. -.Ip "\fIfile\fR\fB.F\fR" 4 -.IX Item "file.F" -.PD 0 -.Ip "\fIfile\fR\fB.fpp\fR" 4 -.IX Item "file.fpp" -.Ip "\fIfile\fR\fB.FPP\fR" 4 -.IX Item "file.FPP" -.PD -Fortran source code that must be preprocessed (by the C preprocessor -\&\fBcpp\fR, which is part of \s-1GNU\s0 \s-1CC\s0). -.Sp -Note that preprocessing is not extended to the contents of -files included by the \f(CW\*(C`INCLUDE\*(C'\fR directive\-\-\-the \f(CW\*(C`#include\*(C'\fR -preprocessor directive must be used instead. -.Ip "\fIfile\fR\fB.r\fR" 4 -.IX Item "file.r" -Ratfor source code, which must be preprocessed by the \fBratfor\fR -command, which is available separately (as it is not yet part of the \s-1GNU\s0 -Fortran distribution). -One version in Fortran, adapted for use with \fBg77\fR is at -<\fBftp://members.aol.com/n8tm/rat7.uue\fR> (of uncertain copyright -status). Another, public domain version in C is at -<\fBhttp://sepwww.stanford.edu/sep/prof/ratfor.shar.2\fR>. -.PP -\&\s-1UNIX\s0 users typically use the \fI\fIfile\fI.f\fR and \fI\fIfile\fI.F\fR -nomenclature. -Users of other operating systems, especially those that cannot -distinguish upper-case -letters from lower-case letters in their file names, typically use -the \fI\fIfile\fI.for\fR and \fI\fIfile\fI.fpp\fR nomenclature. -.PP -Use of the preprocessor \fBcpp\fR allows use of C-like -constructs such as \f(CW\*(C`#define\*(C'\fR and \f(CW\*(C`#include\*(C'\fR, but can -lead to unexpected, even mistaken, results due to Fortran's source file -format. -It is recommended that use of the C preprocessor -be limited to \f(CW\*(C`#include\*(C'\fR and, in -conjunction with \f(CW\*(C`#define\*(C'\fR, only \f(CW\*(C`#if\*(C'\fR and related directives, -thus avoiding in-line macro expansion entirely. -This recommendation applies especially -when using the traditional fixed source form. -With free source form, -fewer unexpected transformations are likely to happen, but use of -constructs such as Hollerith and character constants can nevertheless -present problems, especially when these are continued across multiple -source lines. -These problems result, primarily, from differences between the way -such constants are interpreted by the C preprocessor and by a Fortran -compiler. -.PP -Another example of a problem that results from using the C preprocessor -is that a Fortran comment line that happens to contain any -characters ``interesting'' to the C preprocessor, -such as a backslash at the end of the line, -is not recognized by the preprocessor as a comment line, -so instead of being passed through ``raw'', -the line is edited according to the rules for the preprocessor. -For example, the backslash at the end of the line is removed, -along with the subsequent newline, resulting in the next -line being effectively commented out\-\-\-unfortunate if that -line is a non-comment line of important code! -.PP -\&\fINote:\fR The \fB\-traditional\fR and \fB\-undef\fR flags are supplied -to \fBcpp\fR by default, to help avoid unpleasant surprises. -.PP -This means that \s-1ANSI\s0 C preprocessor features (such as the \fB#\fR -operator) aren't available, and only variables in the C reserved -namespace (generally, names with a leading underscore) are liable to -substitution by C predefines. -Thus, if you want to do system-specific -tests, use, for example, \fB#ifdef _\|_linux_\|_\fR rather than \fB#ifdef linux\fR. -Use the \fB\-v\fR option to see exactly how the preprocessor is invoked. -.PP -Unfortunately, the \fB\-traditional\fR flag will not avoid an error from -anything that \fBcpp\fR sees as an unterminated C comment, such as: -.PP -.Vb 2 -\& C Some Fortran compilers accept /* as starting -\& C an inline comment. -.Ve -The following options that affect overall processing are recognized -by the \fBg77\fR and \fBgcc\fR commands in a \s-1GNU\s0 Fortran installation: -.Ip "\fB\-fversion\fR" 4 -.IX Item "-fversion" -Ensure that the \fBg77\fR version of the compiler phase is reported, -if run, -and, starting in \f(CW\*(C`egcs\*(C'\fR version 1.1, -that internal consistency checks in the \fIf771\fR program are run. -.Sp -This option is supplied automatically when \fB\-v\fR or \fB\*(--verbose\fR -is specified as a command-line option for \fBg77\fR or \fBgcc\fR -and when the resulting commands compile Fortran source files. -.Sp -In \s-1GCC\s0 3.1, this is changed back to the behaviour \fBgcc\fR displays -for \fB.c\fR files. -.Ip "\fB\-fset-g77\-defaults\fR" 4 -.IX Item "-fset-g77-defaults" -\&\fIVersion info:\fR -This option was obsolete as of \f(CW\*(C`egcs\*(C'\fR -version 1.1. -The effect is instead achieved -by the \f(CW\*(C`lang_init_options\*(C'\fR routine -in \fIgcc/gcc/f/com.c\fR. -.Sp -Set up whatever \fBgcc\fR options are to apply to Fortran -compilations, and avoid running internal consistency checks -that might take some time. -.Sp -This option is supplied automatically when compiling Fortran code -via the \fBg77\fR or \fBgcc\fR command. -The description of this option is provided so that users seeing -it in the output of, say, \fBg77 \-v\fR understand why it is -there. -.Sp -Also, developers who run \f(CW\*(C`f771\*(C'\fR directly might want to specify it -by hand to get the same defaults as they would running \f(CW\*(C`f771\*(C'\fR -via \fBg77\fR or \fBgcc\fR -However, such developers should, after linking a new \f(CW\*(C`f771\*(C'\fR -executable, invoke it without this option once, -e.g. via \f(CW\*(C`./f771 \-quiet < /dev/null\*(C'\fR, -to ensure that they have not introduced any -internal inconsistencies (such as in the table of -intrinsics) before proceeding\-\--\fBg77\fR will crash -with a diagnostic if it detects an inconsistency. -.Ip "\fB\-fno-silent\fR" 4 -.IX Item "-fno-silent" -Print (to \f(CW\*(C`stderr\*(C'\fR) the names of the program units as -they are compiled, in a form similar to that used by popular -\&\s-1UNIX\s0 \fBf77\fR implementations and \fBf2c\fR -.Sh "Shorthand Options" -.IX Subsection "Shorthand Options" -The following options serve as ``shorthand'' -for other options accepted by the compiler: -.Ip "\fB\-fugly\fR" 4 -.IX Item "-fugly" -\&\fINote:\fR This option is no longer supported. -The information, below, is provided to aid -in the conversion of old scripts. -.Sp -Specify that certain ``ugly'' constructs are to be quietly accepted. -Same as: -.Sp -.Vb 3 -\& -fugly-args -fugly-assign -fugly-assumed -\& -fugly-comma -fugly-complex -fugly-init -\& -fugly-logint -.Ve -These constructs are considered inappropriate to use in new -or well-maintained portable Fortran code, but widely used -in old code. -.Ip "\fB\-fno-ugly\fR" 4 -.IX Item "-fno-ugly" -Specify that all ``ugly'' constructs are to be noisily rejected. -Same as: -.Sp -.Vb 3 -\& -fno-ugly-args -fno-ugly-assign -fno-ugly-assumed -\& -fno-ugly-comma -fno-ugly-complex -fno-ugly-init -\& -fno-ugly-logint -.Ve -.Ip "\fB\-ff66\fR" 4 -.IX Item "-ff66" -Specify that the program is written in idiomatic \s-1FORTRAN\s0 66. -Same as \fB\-fonetrip \-fugly-assumed\fR. -.Sp -The \fB\-fno-f66\fR option is the inverse of \fB\-ff66\fR. -As such, it is the same as \fB\-fno-onetrip \-fno-ugly-assumed\fR. -.Sp -The meaning of this option is likely to be refined as future -versions of \fBg77\fR provide more compatibility with other -existing and obsolete Fortran implementations. -.Ip "\fB\-ff77\fR" 4 -.IX Item "-ff77" -Specify that the program is written in idiomatic \s-1UNIX\s0 \s-1FORTRAN\s0 77 -and/or the dialect accepted by the \fBf2c\fR product. -Same as \fB\-fbackslash \-fno-typeless-boz\fR. -.Sp -The meaning of this option is likely to be refined as future -versions of \fBg77\fR provide more compatibility with other -existing and obsolete Fortran implementations. -.Ip "\fB\-fno-f77\fR" 4 -.IX Item "-fno-f77" -The \fB\-fno-f77\fR option is \fInot\fR the inverse -of \fB\-ff77\fR. -It specifies that the program is not written in idiomatic \s-1UNIX\s0 -\&\s-1FORTRAN\s0 77 or \fBf2c\fR but in a more widely portable dialect. -\&\fB\-fno-f77\fR is the same as \fB\-fno-backslash\fR. -.Sp -The meaning of this option is likely to be refined as future -versions of \fBg77\fR provide more compatibility with other -existing and obsolete Fortran implementations. -.Sh "Options Controlling Fortran Dialect" -.IX Subsection "Options Controlling Fortran Dialect" -The following options control the dialect of Fortran -that the compiler accepts: -.Ip "\fB\-ffree-form\fR" 4 -.IX Item "-ffree-form" -.PD 0 -.Ip "\fB\-fno-fixed-form\fR" 4 -.IX Item "-fno-fixed-form" -.PD -Specify that the source file is written in free form -(introduced in Fortran 90) instead of the more-traditional fixed form. -.Ip "\fB\-ff90\fR" 4 -.IX Item "-ff90" -Allow certain Fortran-90 constructs. -.Sp -This option controls whether certain -Fortran 90 constructs are recognized. -(Other Fortran 90 constructs -might or might not be recognized depending on other options such as -\&\fB\-fvxt\fR, \fB\-ff90\-intrinsics-enable\fR, and the -current level of support for Fortran 90.) -.Ip "\fB\-fvxt\fR" 4 -.IX Item "-fvxt" -Specify the treatment of certain constructs that have different -meanings depending on whether the code is written in -\&\s-1GNU\s0 Fortran (based on \s-1FORTRAN\s0 77 and akin to Fortran 90) -or \s-1VXT\s0 Fortran (more like \s-1VAX\s0 \s-1FORTRAN\s0). -.Sp -The default is \fB\-fno-vxt\fR. -\&\fB\-fvxt\fR specifies that the \s-1VXT\s0 Fortran interpretations -for those constructs are to be chosen. -.Ip "\fB\-fdollar-ok\fR" 4 -.IX Item "-fdollar-ok" -Allow \fB$\fR as a valid character in a symbol name. -.Ip "\fB\-fno-backslash\fR" 4 -.IX Item "-fno-backslash" -Specify that \fB\e\fR is not to be specially interpreted in character -and Hollerith constants a la C and many \s-1UNIX\s0 Fortran compilers. -.Sp -For example, with \fB\-fbackslash\fR in effect, \fBA\enB\fR specifies -three characters, with the second one being newline. -With \fB\-fno-backslash\fR, it specifies four characters, -\&\fBA\fR, \fB\e\fR, \fBn\fR, and \fBB\fR. -.Sp -Note that \fBg77\fR implements a fairly general form of backslash -processing that is incompatible with the narrower forms supported -by some other compilers. -For example, \fB'A\e003B'\fR is a three-character string in \fBg77\fR -whereas other compilers that support backslash might not support -the three-octal-digit form, and thus treat that string as longer -than three characters. -.Ip "\fB\-fno-ugly-args\fR" 4 -.IX Item "-fno-ugly-args" -Disallow passing Hollerith and typeless constants as actual -arguments (for example, \fB\s-1CALL\s0 FOO(4HABCD)\fR). -.Ip "\fB\-fugly-assign\fR" 4 -.IX Item "-fugly-assign" -Use the same storage for a given variable regardless of -whether it is used to hold an assigned-statement label -(as in \fB\s-1ASSIGN\s0 10 \s-1TO\s0 I\fR) or used to hold numeric data -(as in \fBI = 3\fR). -.Ip "\fB\-fugly-assumed\fR" 4 -.IX Item "-fugly-assumed" -Assume any dummy array with a final dimension specified as \fB1\fR -is really an assumed-size array, as if \fB*\fR had been specified -for the final dimension instead of \fB1\fR. -.Sp -For example, \fB\s-1DIMENSION\s0 X(1)\fR is treated as if it -had read \fB\s-1DIMENSION\s0 X(*)\fR. -.Ip "\fB\-fugly-comma\fR" 4 -.IX Item "-fugly-comma" -In an external-procedure invocation, -treat a trailing comma in the argument list -as specification of a trailing null argument, -and treat an empty argument list -as specification of a single null argument. -.Sp -For example, \fB\s-1CALL\s0 \f(BIFOO\fB\|(,)\fR is treated as -\&\fB\s-1CALL\s0 FOO(%\f(BIVAL\fB\|(0), %\f(BIVAL\fB\|(0))\fR. -That is, \fItwo\fR null arguments are specified -by the procedure call when \fB\-fugly-comma\fR is in force. -And \fBF = \f(BIFUNC()\fB\fR is treated as \fBF = FUNC(%\f(BIVAL\fB\|(0))\fR. -.Sp -The default behavior, \fB\-fno-ugly-comma\fR, is to ignore -a single trailing comma in an argument list. -So, by default, \fB\s-1CALL\s0 FOO(X,)\fR is treated -exactly the same as \fB\s-1CALL\s0 \f(BIFOO\fB\|(X)\fR. -.Ip "\fB\-fugly-complex\fR" 4 -.IX Item "-fugly-complex" -Do not complain about \fBREAL(\fR\fIexpr\fR\fB)\fR or -\&\fBAIMAG(\fR\fIexpr\fR\fB)\fR when \fIexpr\fR is a \f(CW\*(C`COMPLEX\*(C'\fR -type other than \f(CW\*(C`COMPLEX(KIND=1)\*(C'\fR\-\-\-usually -this is used to permit \f(CW\*(C`COMPLEX(KIND=2)\*(C'\fR -(\f(CW\*(C`DOUBLE COMPLEX\*(C'\fR) operands. -.Sp -The \fB\-ff90\fR option controls the interpretation -of this construct. -.Ip "\fB\-fno-ugly-init\fR" 4 -.IX Item "-fno-ugly-init" -Disallow use of Hollerith and typeless constants as initial -values (in \f(CW\*(C`PARAMETER\*(C'\fR and \f(CW\*(C`DATA\*(C'\fR statements), and -use of character constants to -initialize numeric types and vice versa. -.Sp -For example, \fB\s-1DATA\s0 I/'F'/, \s-1CHRVAR/65/\s0, J/4HABCD/\fR is disallowed by -\&\fB\-fno-ugly-init\fR. -.Ip "\fB\-fugly-logint\fR" 4 -.IX Item "-fugly-logint" -Treat \f(CW\*(C`INTEGER\*(C'\fR and \f(CW\*(C`LOGICAL\*(C'\fR variables and -expressions as potential stand-ins for each other. -.Sp -For example, automatic conversion between \f(CW\*(C`INTEGER\*(C'\fR and -\&\f(CW\*(C`LOGICAL\*(C'\fR is enabled, for many contexts, via this option. -.Ip "\fB\-fonetrip\fR" 4 -.IX Item "-fonetrip" -Executable iterative \f(CW\*(C`DO\*(C'\fR loops are to be executed at -least once each time they are reached. -.Sp -\&\s-1ANSI\s0 \s-1FORTRAN\s0 77 and more recent versions of the Fortran standard -specify that the body of an iterative \f(CW\*(C`DO\*(C'\fR loop is not executed -if the number of iterations calculated from the parameters of the -loop is less than 1. -(For example, \fB\s-1DO\s0 10 I = 1, 0\fR.) -Such a loop is called a \fIzero-trip loop\fR. -.Sp -Prior to \s-1ANSI\s0 \s-1FORTRAN\s0 77, many compilers implemented \f(CW\*(C`DO\*(C'\fR loops -such that the body of a loop would be executed at least once, even -if the iteration count was zero. -Fortran code written assuming this behavior is said to require -\&\fIone-trip loops\fR. -For example, some code written to the \s-1FORTRAN\s0 66 standard -expects this behavior from its \f(CW\*(C`DO\*(C'\fR loops, although that -standard did not specify this behavior. -.Sp -The \fB\-fonetrip\fR option specifies that the source \fIfile\fR\|(s) being -compiled require one-trip loops. -.Sp -This option affects only those loops specified by the (iterative) \f(CW\*(C`DO\*(C'\fR -statement and by implied-\f(CW\*(C`DO\*(C'\fR lists in I/O statements. -Loops specified by implied-\f(CW\*(C`DO\*(C'\fR lists in \f(CW\*(C`DATA\*(C'\fR and -specification (non-executable) statements are not affected. -.Ip "\fB\-ftypeless-boz\fR" 4 -.IX Item "-ftypeless-boz" -Specifies that prefix-radix non-decimal constants, such as -\&\fBZ'\s-1ABCD\s0'\fR, are typeless instead of \f(CW\*(C`INTEGER(KIND=1)\*(C'\fR. -.Sp -You can test for yourself whether a particular compiler treats -the prefix form as \f(CW\*(C`INTEGER(KIND=1)\*(C'\fR or typeless by running the -following program: -.Sp -.Vb 6 -\& EQUIVALENCE (I, R) -\& R = Z'ABCD1234' -\& J = Z'ABCD1234' -\& IF (J .EQ. I) PRINT *, 'Prefix form is TYPELESS' -\& IF (J .NE. I) PRINT *, 'Prefix form is INTEGER' -\& END -.Ve -Reports indicate that many compilers process this form as -\&\f(CW\*(C`INTEGER(KIND=1)\*(C'\fR, though a few as typeless, and at least one -based on a command-line option specifying some kind of -compatibility. -.Ip "\fB\-fintrin-case-initcap\fR" 4 -.IX Item "-fintrin-case-initcap" -.PD 0 -.Ip "\fB\-fintrin-case-upper\fR" 4 -.IX Item "-fintrin-case-upper" -.Ip "\fB\-fintrin-case-lower\fR" 4 -.IX Item "-fintrin-case-lower" -.Ip "\fB\-fintrin-case-any\fR" 4 -.IX Item "-fintrin-case-any" -.PD -Specify expected case for intrinsic names. -\&\fB\-fintrin-case-lower\fR is the default. -.Ip "\fB\-fmatch-case-initcap\fR" 4 -.IX Item "-fmatch-case-initcap" -.PD 0 -.Ip "\fB\-fmatch-case-upper\fR" 4 -.IX Item "-fmatch-case-upper" -.Ip "\fB\-fmatch-case-lower\fR" 4 -.IX Item "-fmatch-case-lower" -.Ip "\fB\-fmatch-case-any\fR" 4 -.IX Item "-fmatch-case-any" -.PD -Specify expected case for keywords. -\&\fB\-fmatch-case-lower\fR is the default. -.Ip "\fB\-fsource-case-upper\fR" 4 -.IX Item "-fsource-case-upper" -.PD 0 -.Ip "\fB\-fsource-case-lower\fR" 4 -.IX Item "-fsource-case-lower" -.Ip "\fB\-fsource-case-preserve\fR" 4 -.IX Item "-fsource-case-preserve" -.PD -Specify whether source text other than character and Hollerith constants -is to be translated to uppercase, to lowercase, or preserved as is. -\&\fB\-fsource-case-lower\fR is the default. -.Ip "\fB\-fsymbol-case-initcap\fR" 4 -.IX Item "-fsymbol-case-initcap" -.PD 0 -.Ip "\fB\-fsymbol-case-upper\fR" 4 -.IX Item "-fsymbol-case-upper" -.Ip "\fB\-fsymbol-case-lower\fR" 4 -.IX Item "-fsymbol-case-lower" -.Ip "\fB\-fsymbol-case-any\fR" 4 -.IX Item "-fsymbol-case-any" -.PD -Specify valid cases for user-defined symbol names. -\&\fB\-fsymbol-case-any\fR is the default. -.Ip "\fB\-fcase-strict-upper\fR" 4 -.IX Item "-fcase-strict-upper" -Same as \fB\-fintrin-case-upper \-fmatch-case-upper \-fsource-case-preserve -\&\-fsymbol-case-upper\fR. -(Requires all pertinent source to be in uppercase.) -.Ip "\fB\-fcase-strict-lower\fR" 4 -.IX Item "-fcase-strict-lower" -Same as \fB\-fintrin-case-lower \-fmatch-case-lower \-fsource-case-preserve -\&\-fsymbol-case-lower\fR. -(Requires all pertinent source to be in lowercase.) -.Ip "\fB\-fcase-initcap\fR" 4 -.IX Item "-fcase-initcap" -Same as \fB\-fintrin-case-initcap \-fmatch-case-initcap \-fsource-case-preserve -\&\-fsymbol-case-initcap\fR. -(Requires all pertinent source to be in initial capitals, -as in \fBPrint *,SqRt(Value)\fR.) -.Ip "\fB\-fcase-upper\fR" 4 -.IX Item "-fcase-upper" -Same as \fB\-fintrin-case-any \-fmatch-case-any \-fsource-case-upper -\&\-fsymbol-case-any\fR. -(Maps all pertinent source to uppercase.) -.Ip "\fB\-fcase-lower\fR" 4 -.IX Item "-fcase-lower" -Same as \fB\-fintrin-case-any \-fmatch-case-any \-fsource-case-lower -\&\-fsymbol-case-any\fR. -(Maps all pertinent source to lowercase.) -.Ip "\fB\-fcase-preserve\fR" 4 -.IX Item "-fcase-preserve" -Same as \fB\-fintrin-case-any \-fmatch-case-any \-fsource-case-preserve -\&\-fsymbol-case-any\fR. -(Preserves all case in user-defined symbols, -while allowing any-case matching of intrinsics and keywords. -For example, \fBcall Foo(i,I)\fR would pass two \fIdifferent\fR -variables named \fBi\fR and \fBI\fR to a procedure named \fBFoo\fR.) -.Ip "\fB\-fbadu77\-intrinsics-delete\fR" 4 -.IX Item "-fbadu77-intrinsics-delete" -.PD 0 -.Ip "\fB\-fbadu77\-intrinsics-hide\fR" 4 -.IX Item "-fbadu77-intrinsics-hide" -.Ip "\fB\-fbadu77\-intrinsics-disable\fR" 4 -.IX Item "-fbadu77-intrinsics-disable" -.Ip "\fB\-fbadu77\-intrinsics-enable\fR" 4 -.IX Item "-fbadu77-intrinsics-enable" -.PD -Specify status of \s-1UNIX\s0 intrinsics having inappropriate forms. -\&\fB\-fbadu77\-intrinsics-enable\fR is the default. -.Ip "\fB\-ff2c-intrinsics-delete\fR" 4 -.IX Item "-ff2c-intrinsics-delete" -.PD 0 -.Ip "\fB\-ff2c-intrinsics-hide\fR" 4 -.IX Item "-ff2c-intrinsics-hide" -.Ip "\fB\-ff2c-intrinsics-disable\fR" 4 -.IX Item "-ff2c-intrinsics-disable" -.Ip "\fB\-ff2c-intrinsics-enable\fR" 4 -.IX Item "-ff2c-intrinsics-enable" -.PD -Specify status of f2c-specific intrinsics. -\&\fB\-ff2c-intrinsics-enable\fR is the default. -.Ip "\fB\-ff90\-intrinsics-delete\fR" 4 -.IX Item "-ff90-intrinsics-delete" -.PD 0 -.Ip "\fB\-ff90\-intrinsics-hide\fR" 4 -.IX Item "-ff90-intrinsics-hide" -.Ip "\fB\-ff90\-intrinsics-disable\fR" 4 -.IX Item "-ff90-intrinsics-disable" -.Ip "\fB\-ff90\-intrinsics-enable\fR" 4 -.IX Item "-ff90-intrinsics-enable" -.PD -Specify status of F90\-specific intrinsics. -\&\fB\-ff90\-intrinsics-enable\fR is the default. -.Ip "\fB\-fgnu-intrinsics-delete\fR" 4 -.IX Item "-fgnu-intrinsics-delete" -.PD 0 -.Ip "\fB\-fgnu-intrinsics-hide\fR" 4 -.IX Item "-fgnu-intrinsics-hide" -.Ip "\fB\-fgnu-intrinsics-disable\fR" 4 -.IX Item "-fgnu-intrinsics-disable" -.Ip "\fB\-fgnu-intrinsics-enable\fR" 4 -.IX Item "-fgnu-intrinsics-enable" -.PD -Specify status of Digital's COMPLEX-related intrinsics. -\&\fB\-fgnu-intrinsics-enable\fR is the default. -.Ip "\fB\-fmil-intrinsics-delete\fR" 4 -.IX Item "-fmil-intrinsics-delete" -.PD 0 -.Ip "\fB\-fmil-intrinsics-hide\fR" 4 -.IX Item "-fmil-intrinsics-hide" -.Ip "\fB\-fmil-intrinsics-disable\fR" 4 -.IX Item "-fmil-intrinsics-disable" -.Ip "\fB\-fmil-intrinsics-enable\fR" 4 -.IX Item "-fmil-intrinsics-enable" -.PD -Specify status of MIL-STD-1753\-specific intrinsics. -\&\fB\-fmil-intrinsics-enable\fR is the default. -.Ip "\fB\-funix-intrinsics-delete\fR" 4 -.IX Item "-funix-intrinsics-delete" -.PD 0 -.Ip "\fB\-funix-intrinsics-hide\fR" 4 -.IX Item "-funix-intrinsics-hide" -.Ip "\fB\-funix-intrinsics-disable\fR" 4 -.IX Item "-funix-intrinsics-disable" -.Ip "\fB\-funix-intrinsics-enable\fR" 4 -.IX Item "-funix-intrinsics-enable" -.PD -Specify status of \s-1UNIX\s0 intrinsics. -\&\fB\-funix-intrinsics-enable\fR is the default. -.Ip "\fB\-fvxt-intrinsics-delete\fR" 4 -.IX Item "-fvxt-intrinsics-delete" -.PD 0 -.Ip "\fB\-fvxt-intrinsics-hide\fR" 4 -.IX Item "-fvxt-intrinsics-hide" -.Ip "\fB\-fvxt-intrinsics-disable\fR" 4 -.IX Item "-fvxt-intrinsics-disable" -.Ip "\fB\-fvxt-intrinsics-enable\fR" 4 -.IX Item "-fvxt-intrinsics-enable" -.PD -Specify status of \s-1VXT\s0 intrinsics. -\&\fB\-fvxt-intrinsics-enable\fR is the default. -.Ip "\fB\-ffixed-line-length-\fR\fIn\fR" 4 -.IX Item "-ffixed-line-length-n" -Set column after which characters are ignored in typical fixed-form -lines in the source file, and through which spaces are assumed (as -if padded to that length) after the ends of short fixed-form lines. -.Sp -Popular values for \fIn\fR include 72 (the -standard and the default), 80 (card image), and 132 (corresponds -to ``extended-source'' options in some popular compilers). -\&\fIn\fR may be \fBnone\fR, meaning that the entire line is meaningful -and that continued character constants never have implicit spaces appended -to them to fill out the line. -\&\fB\-ffixed-line-length-0\fR means the same thing as -\&\fB\-ffixed-line-length-none\fR. -.Sh "Options to Request or Suppress Warnings" -.IX Subsection "Options to Request or Suppress Warnings" -Warnings are diagnostic messages that report constructions which -are not inherently erroneous but which are risky or suggest there -might have been an error. -.PP -You can request many specific warnings with options beginning \fB\-W\fR, -for example \fB\-Wimplicit\fR to request warnings on implicit -declarations. Each of these specific warning options also has a -negative form beginning \fB\-Wno-\fR to turn off warnings; -for example, \fB\-Wno-implicit\fR. This manual lists only one of the -two forms, whichever is not the default. -.PP -These options control the amount and kinds of warnings produced by \s-1GNU\s0 -Fortran: -.Ip "\fB\-fsyntax-only\fR" 4 -.IX Item "-fsyntax-only" -Check the code for syntax errors, but don't do anything beyond that. -.Ip "\fB\-pedantic\fR" 4 -.IX Item "-pedantic" -Issue warnings for uses of extensions to \s-1ANSI\s0 \s-1FORTRAN\s0 77. -\&\fB\-pedantic\fR also applies to C-language constructs where they -occur in \s-1GNU\s0 Fortran source files, such as use of \fB\ee\fR in a -character constant within a directive like \fB#include\fR. -.Sp -Valid \s-1ANSI\s0 \s-1FORTRAN\s0 77 programs should compile properly with or without -this option. -However, without this option, certain \s-1GNU\s0 extensions and traditional -Fortran features are supported as well. -With this option, many of them are rejected. -.Sp -Some users try to use \fB\-pedantic\fR to check programs for strict \s-1ANSI\s0 -conformance. -They soon find that it does not do quite what they want\-\-\-it finds some -non-ANSI practices, but not all. -However, improvements to \fBg77\fR in this area are welcome. -.Ip "\fB\-pedantic-errors\fR" 4 -.IX Item "-pedantic-errors" -Like \fB\-pedantic\fR, except that errors are produced rather than -warnings. -.Ip "\fB\-fpedantic\fR" 4 -.IX Item "-fpedantic" -Like \fB\-pedantic\fR, but applies only to Fortran constructs. -.Ip "\fB\-w\fR" 4 -.IX Item "-w" -Inhibit all warning messages. -.Ip "\fB\-Wno-globals\fR" 4 -.IX Item "-Wno-globals" -Inhibit warnings about use of a name as both a global name -(a subroutine, function, or block data program unit, or a -common block) and implicitly as the name of an intrinsic -in a source file. -.Sp -Also inhibit warnings about inconsistent invocations and/or -definitions of global procedures (function and subroutines). -Such inconsistencies include different numbers of arguments -and different types of arguments. -.Ip "\fB\-Wimplicit\fR" 4 -.IX Item "-Wimplicit" -Warn whenever a variable, array, or function is implicitly -declared. -Has an effect similar to using the \f(CW\*(C`IMPLICIT NONE\*(C'\fR statement -in every program unit. -(Some Fortran compilers provide this feature by an option -named \fB\-u\fR or \fB/WARNINGS=DECLARATIONS\fR.) -.Ip "\fB\-Wunused\fR" 4 -.IX Item "-Wunused" -Warn whenever a variable is unused aside from its declaration. -.Ip "\fB\-Wuninitialized\fR" 4 -.IX Item "-Wuninitialized" -Warn whenever an automatic variable is used without first being initialized. -.Sp -These warnings are possible only in optimizing compilation, -because they require data-flow information that is computed only -when optimizing. If you don't specify \fB\-O\fR, you simply won't -get these warnings. -.Sp -These warnings occur only for variables that are candidates for -register allocation. Therefore, they do not occur for a variable -whose address is taken, or whose size -is other than 1, 2, 4 or 8 bytes. Also, they do not occur for -arrays, even when they are in registers. -.Sp -Note that there might be no warning about a variable that is used only -to compute a value that itself is never used, because such -computations may be deleted by data-flow analysis before the warnings -are printed. -.Sp -These warnings are made optional because \s-1GNU\s0 Fortran is not smart -enough to see all the reasons why the code might be correct -despite appearing to have an error. Here is one example of how -this can happen: -.Sp -.Vb 6 -\& SUBROUTINE DISPAT(J) -\& IF (J.EQ.1) I=1 -\& IF (J.EQ.2) I=4 -\& IF (J.EQ.3) I=5 -\& CALL FOO(I) -\& END -.Ve -If the value of \f(CW\*(C`J\*(C'\fR is always 1, 2 or 3, then \f(CW\*(C`I\*(C'\fR is -always initialized, but \s-1GNU\s0 Fortran doesn't know this. Here is -another common case: -.Sp -.Vb 6 -\& SUBROUTINE MAYBE(FLAG) -\& LOGICAL FLAG -\& IF (FLAG) VALUE = 9.4 -\& ... -\& IF (FLAG) PRINT *, VALUE -\& END -.Ve -This has no bug because \f(CW\*(C`VALUE\*(C'\fR is used only if it is set. -.Ip "\fB\-Wall\fR" 4 -.IX Item "-Wall" -The \fB\-Wunused\fR and \fB\-Wuninitialized\fR options combined. -These are all the -options which pertain to usage that we recommend avoiding and that we -believe is easy to avoid. -(As more warnings are added to \fBg77\fR some might -be added to the list enabled by \fB\-Wall\fR.) -.PP -The remaining \fB\-W...\fR options are not implied by \fB\-Wall\fR -because they warn about constructions that we consider reasonable to -use, on occasion, in clean programs. -.Ip "\fB\-Wsurprising\fR" 4 -.IX Item "-Wsurprising" -Warn about ``suspicious'' constructs that are interpreted -by the compiler in a way that might well be surprising to -someone reading the code. -These differences can result in subtle, compiler-dependent -(even machine-dependent) behavioral differences. -The constructs warned about include: -.RS 4 -.Ip "\(bu" 4 -Expressions having two arithmetic operators in a row, such -as \fBX*\-Y\fR. -Such a construct is nonstandard, and can produce -unexpected results in more complicated situations such -as \fBX**\-Y*Z\fR. -\&\fBg77\fR along with many other compilers, interprets -this example differently than many programmers, and a few -other compilers. -Specifically, \fBg77\fR interprets \fBX**\-Y*Z\fR as -\&\fB(X**(\-Y))*Z\fR, while others might think it should -be interpreted as \fBX**(\-(Y*Z))\fR. -.Sp -A revealing example is the constant expression \fB2**\-2*1.\fR, -which \fBg77\fR evaluates to .25, while others might evaluate -it to 0., the difference resulting from the way precedence affects -type promotion. -.Sp -(The \fB\-fpedantic\fR option also warns about expressions -having two arithmetic operators in a row.) -.Ip "\(bu" 4 -Expressions with a unary minus followed by an operand and then -a binary operator other than plus or minus. -For example, \fB\-2**2\fR produces a warning, because -the precedence is \fB\-(2**2)\fR, yielding \-4, not -\&\fB(\-2)**2\fR, which yields 4, and which might represent -what a programmer expects. -.Sp -An example of an expression producing different results -in a surprising way is \fB\-I*S\fR, where \fII\fR holds -the value \fB\-2147483648\fR and \fIS\fR holds \fB0.5\fR. -On many systems, negating \fII\fR results in the same -value, not a positive number, because it is already the -lower bound of what an \f(CW\*(C`INTEGER(KIND=1)\*(C'\fR variable can hold. -So, the expression evaluates to a positive number, while -the ``expected'' interpretation, \fB(\-I)*S\fR, would -evaluate to a negative number. -.Sp -Even cases such as \fB\-I*J\fR produce warnings, -even though, in most configurations and situations, -there is no computational difference between the -results of the two interpretations\-\-\-the purpose -of this warning is to warn about differing interpretations -and encourage a better style of coding, not to identify -only those places where bugs might exist in the user's -code. -.Ip "\(bu" 4 -\&\f(CW\*(C`DO\*(C'\fR loops with \f(CW\*(C`DO\*(C'\fR variables that are not -of integral type\-\-\-that is, using \f(CW\*(C`REAL\*(C'\fR -variables as loop control variables. -Although such loops can be written to work in the -``obvious'' way, the way \fBg77\fR is required by the -Fortran standard to interpret such code is likely to -be quite different from the way many programmers expect. -(This is true of all \f(CW\*(C`DO\*(C'\fR loops, but the differences -are pronounced for non-integral loop control variables.) -.RE -.RS 4 -.RE -.Ip "\fB\-Werror\fR" 4 -.IX Item "-Werror" -Make all warnings into errors. -.Ip "\fB\-W\fR" 4 -.IX Item "-W" -Turns on ``extra warnings'' and, if optimization is specified -via \fB\-O\fR, the \fB\-Wuninitialized\fR option. -(This might change in future versions of \fBg77\fR -.Sp -``Extra warnings'' are issued for: -.RS 4 -.Ip "\(bu" 4 -Unused parameters to a procedure (when \fB\-Wunused\fR also is -specified). -.Ip "\(bu" 4 -Overflows involving floating-point constants (not available -for certain configurations). -.RE -.RS 4 -.RE -.PP -Some of these have no effect when compiling programs written in Fortran: -.Ip "\fB\-Wcomment\fR" 4 -.IX Item "-Wcomment" -.PD 0 -.Ip "\fB\-Wformat\fR" 4 -.IX Item "-Wformat" -.Ip "\fB\-Wparentheses\fR" 4 -.IX Item "-Wparentheses" -.Ip "\fB\-Wswitch\fR" 4 -.IX Item "-Wswitch" -.Ip "\fB\-Wtraditional\fR" 4 -.IX Item "-Wtraditional" -.Ip "\fB\-Wshadow\fR" 4 -.IX Item "-Wshadow" -.Ip "\fB\-Wid-clash-\fR\fIlen\fR" 4 -.IX Item "-Wid-clash-len" -.Ip "\fB\-Wlarger-than-\fR\fIlen\fR" 4 -.IX Item "-Wlarger-than-len" -.Ip "\fB\-Wconversion\fR" 4 -.IX Item "-Wconversion" -.Ip "\fB\-Waggregate-return\fR" 4 -.IX Item "-Waggregate-return" -.Ip "\fB\-Wredundant-decls\fR" 4 -.IX Item "-Wredundant-decls" -.PD -These options all could have some relevant meaning for -\&\s-1GNU\s0 Fortran programs, but are not yet supported. -.Sh "Options for Debugging Your Program or \s-1GNU\s0 Fortran" -.IX Subsection "Options for Debugging Your Program or GNU Fortran" -\&\s-1GNU\s0 Fortran has various special options that are used for debugging -either your program or \fBg77\fR -.Ip "\fB\-g\fR" 4 -.IX Item "-g" -Produce debugging information in the operating system's native format -(stabs, \s-1COFF\s0, \s-1XCOFF\s0, or \s-1DWARF\s0). \s-1GDB\s0 can work with this debugging -information. -.Sp -A sample debugging session looks like this (note the use of the breakpoint): -.Sp -.Vb 24 -\& $ cat gdb.f -\& PROGRAM PROG -\& DIMENSION A(10) -\& DATA A /1.,2.,3.,4.,5.,6.,7.,8.,9.,10./ -\& A(5) = 4. -\& PRINT*,A -\& END -\& $ g77 -g -O gdb.f -\& $ gdb a.out -\& ... -\& (gdb) break MAIN__ -\& Breakpoint 1 at 0x8048e96: file gdb.f, line 4. -\& (gdb) run -\& Starting program: /home/toon/g77-bugs/./a.out -\& Breakpoint 1, MAIN__ () at gdb.f:4 -\& 4 A(5) = 4. -\& Current language: auto; currently fortran -\& (gdb) print a(5) -\& $1 = 5 -\& (gdb) step -\& 5 PRINT*,A -\& (gdb) print a(5) -\& $2 = 4 -\& ... -.Ve -One could also add the setting of the breakpoint and the first run command -to the file \fI.gdbinit\fR in the current directory, to simplify the debugging -session. -.Sh "Options That Control Optimization" -.IX Subsection "Options That Control Optimization" -Most Fortran users will want to use no optimization when -developing and testing programs, and use \fB\-O\fR or \fB\-O2\fR when -compiling programs for late-cycle testing and for production use. -However, note that certain diagnostics\-\-\-such as for uninitialized -variables\-\-\-depend on the flow analysis done by \fB\-O\fR, i.e. you -must use \fB\-O\fR or \fB\-O2\fR to get such diagnostics. -.PP -The following flags have particular applicability when -compiling Fortran programs: -.Ip "\fB\-malign-double\fR" 4 -.IX Item "-malign-double" -(Intel x86 architecture only.) -.Sp -Noticeably improves performance of \fBg77\fR programs making -heavy use of \f(CW\*(C`REAL(KIND=2)\*(C'\fR (\f(CW\*(C`DOUBLE PRECISION\*(C'\fR) data -on some systems. -In particular, systems using Pentium, Pentium Pro, 586, and -686 implementations -of the i386 architecture execute programs faster when -\&\f(CW\*(C`REAL(KIND=2)\*(C'\fR (\f(CW\*(C`DOUBLE PRECISION\*(C'\fR) data are -aligned on 64\-bit boundaries -in memory. -.Sp -This option can, at least, make benchmark results more consistent -across various system configurations, versions of the program, -and data sets. -.Sp -\&\fINote:\fR The warning in the \fBgcc\fR documentation about -this option does not apply, generally speaking, to Fortran -code compiled by \fBg77\fR -.Sp -\&\fIAlso also note:\fR The negative form of \fB\-malign-double\fR -is \fB\-mno-align-double\fR, not \fB\-benign-double\fR. -.Ip "\fB\-ffloat-store\fR" 4 -.IX Item "-ffloat-store" -Might help a Fortran program that depends on exact \s-1IEEE\s0 conformance on -some machines, but might slow down a program that doesn't. -.Sp -This option is effective when the floating-point unit is set to work in -\&\s-1IEEE\s0 854 `extended precision'\-\-\-as it typically is on x86 and m68k \s-1GNU\s0 -systems\-\-\-rather than \s-1IEEE\s0 754 double precision. \fB\-ffloat-store\fR -tries to remove the extra precision by spilling data from floating-point -registers into memory and this typically involves a big performance -hit. However, it doesn't affect intermediate results, so that it is -only partially effective. `Excess precision' is avoided in code like: -.Sp -.Vb 2 -\& a = b + c -\& d = a * e -.Ve -but not in code like: -.Sp -.Vb 1 -\& d = (b + c) * e -.Ve -For another, potentially better, way of controlling the precision, -see \f(CW@ref\fR{Floating-point precision}. -.Ip "\fB\-fforce-mem\fR" 4 -.IX Item "-fforce-mem" -.PD 0 -.Ip "\fB\-fforce-addr\fR" 4 -.IX Item "-fforce-addr" -.PD -Might improve optimization of loops. -.Ip "\fB\-fno-inline\fR" 4 -.IX Item "-fno-inline" -Don't compile statement functions inline. -Might reduce the size of a program unit\-\-\-which might be at -expense of some speed (though it should compile faster). -Note that if you are not optimizing, no functions can be expanded inline. -.Ip "\fB\-ffast-math\fR" 4 -.IX Item "-ffast-math" -Might allow some programs designed to not be too dependent -on \s-1IEEE\s0 behavior for floating-point to run faster, or die trying. -Sets \fB\-funsafe-math-optimizations\fR, and -\&\fB\-fno-trapping-math\fR. -.Ip "\fB\-funsafe-math-optimizations\fR" 4 -.IX Item "-funsafe-math-optimizations" -Allow optimizations that may be give incorrect results -for certain \s-1IEEE\s0 inputs. -.Ip "\fB\-fno-trapping-math\fR" 4 -.IX Item "-fno-trapping-math" -Allow the compiler to assume that floating-point arithmetic -will not generate traps on any inputs. This is useful, for -example, when running a program using \s-1IEEE\s0 \*(L"non-stop\*(R" -floating-point arithmetic. -.Ip "\fB\-fstrength-reduce\fR" 4 -.IX Item "-fstrength-reduce" -Might make some loops run faster. -.Ip "\fB\-frerun-cse-after-loop\fR" 4 -.IX Item "-frerun-cse-after-loop" -.PD 0 -.Ip "\fB\-fexpensive-optimizations\fR" 4 -.IX Item "-fexpensive-optimizations" -.Ip "\fB\-fdelayed-branch\fR" 4 -.IX Item "-fdelayed-branch" -.Ip "\fB\-fschedule-insns\fR" 4 -.IX Item "-fschedule-insns" -.Ip "\fB\-fschedule-insns2\fR" 4 -.IX Item "-fschedule-insns2" -.Ip "\fB\-fcaller-saves\fR" 4 -.IX Item "-fcaller-saves" -.PD -Might improve performance on some code. -.Ip "\fB\-funroll-loops\fR" 4 -.IX Item "-funroll-loops" -Typically improves performance on code using iterative \f(CW\*(C`DO\*(C'\fR loops by -unrolling them and is probably generally appropriate for Fortran, though -it is not turned on at any optimization level. -Note that outer loop unrolling isn't done specifically; decisions about -whether to unroll a loop are made on the basis of its instruction count. -.Sp -Also, no `loop discovery'[1] is done, so only loops written with \f(CW\*(C`DO\*(C'\fR -benefit from loop optimizations, including\-\-\-but not limited -to\-\-\-unrolling. Loops written with \f(CW\*(C`IF\*(C'\fR and \f(CW\*(C`GOTO\*(C'\fR are not -currently recognized as such. This option unrolls only iterative -\&\f(CW\*(C`DO\*(C'\fR loops, not \f(CW\*(C`DO WHILE\*(C'\fR loops. -.Ip "\fB\-funroll-all-loops\fR" 4 -.IX Item "-funroll-all-loops" -Probably improves performance on code using \f(CW\*(C`DO WHILE\*(C'\fR loops by -unrolling them in addition to iterative \f(CW\*(C`DO\*(C'\fR loops. In the absence -of \f(CW\*(C`DO WHILE\*(C'\fR, this option is equivalent to \fB\-funroll-loops\fR -but possibly slower. -.Ip "\fB\-fno-move-all-movables\fR" 4 -.IX Item "-fno-move-all-movables" -.PD 0 -.Ip "\fB\-fno-reduce-all-givs\fR" 4 -.IX Item "-fno-reduce-all-givs" -.Ip "\fB\-fno-rerun-loop-opt\fR" 4 -.IX Item "-fno-rerun-loop-opt" -.PD -In general, the optimizations enabled with these options will lead to -faster code being generated by \s-1GNU\s0 Fortran; hence they are enabled by default -when issuing the \fBg77\fR command. -.Sp -\&\fB\-fmove-all-movables\fR and \fB\-freduce-all-givs\fR will enable -loop optimization to move all loop-invariant index computations in nested -loops over multi-rank array dummy arguments out of these loops. -.Sp -\&\fB\-frerun-loop-opt\fR will move offset calculations resulting -from the fact that Fortran arrays by default have a lower bound of 1 -out of the loops. -.Sp -These three options are intended to be removed someday, once -loop optimization is sufficiently advanced to perform all those -transformations without help from these options. -.Sh "Options Controlling the Preprocessor" -.IX Subsection "Options Controlling the Preprocessor" -These options control the C preprocessor, which is run on each C source -file before actual compilation. -.PP -Some of these options also affect how \fBg77\fR processes the -\&\f(CW\*(C`INCLUDE\*(C'\fR directive. -Since this directive is processed even when preprocessing -is not requested, it is not described in this section. -.PP -However, the \f(CW\*(C`INCLUDE\*(C'\fR directive does not apply -preprocessing to the contents of the included file itself. -.PP -Therefore, any file that contains preprocessor directives -(such as \f(CW\*(C`#include\*(C'\fR, \f(CW\*(C`#define\*(C'\fR, and \f(CW\*(C`#if\*(C'\fR) -must be included via the \f(CW\*(C`#include\*(C'\fR directive, not -via the \f(CW\*(C`INCLUDE\*(C'\fR directive. -Therefore, any file containing preprocessor directives, -if included, is necessarily included by a file that itself -contains preprocessor directives. -.Sh "Options for Directory Search" -.IX Subsection "Options for Directory Search" -These options affect how the \fBcpp\fR preprocessor searches -for files specified via the \f(CW\*(C`#include\*(C'\fR directive. -Therefore, when compiling Fortran programs, they are meaningful -when the preprocessor is used. -.PP -Some of these options also affect how \fBg77\fR searches -for files specified via the \f(CW\*(C`INCLUDE\*(C'\fR directive, -although files included by that directive are not, -themselves, preprocessed. -These options are: -.Ip "\fB\-I-\fR" 4 -.IX Item "-I-" -.PD 0 -.Ip "\fB\-I\fR\fIdir\fR" 4 -.IX Item "-Idir" -.PD -These affect interpretation of the \f(CW\*(C`INCLUDE\*(C'\fR directive -(as well as of the \f(CW\*(C`#include\*(C'\fR directive of the \fBcpp\fR -preprocessor). -.Sp -Note that \fB\-I\fR\fIdir\fR must be specified \fIwithout\fR any -spaces between \fB\-I\fR and the directory name\-\-\-that is, -\&\fB\-Ifoo/bar\fR is valid, but \fB\-I foo/bar\fR -is rejected by the \fBg77\fR compiler (though the preprocessor supports -the latter form). -Also note that the general behavior of \fB\-I\fR and -\&\f(CW\*(C`INCLUDE\*(C'\fR is pretty much the same as of \fB\-I\fR with -\&\f(CW\*(C`#include\*(C'\fR in the \fBcpp\fR preprocessor, with regard to -looking for \fIheader.gcc\fR files and other such things. -.Sh "Options for Code Generation Conventions" -.IX Subsection "Options for Code Generation Conventions" -These machine-independent options control the interface conventions -used in code generation. -.PP -Most of them have both positive and negative forms; the negative form -of \fB\-ffoo\fR would be \fB\-fno-foo\fR. In the table below, only -one of the forms is listed\-\-\-the one which is not the default. You -can figure out the other form by either removing \fBno-\fR or adding -it. -.Ip "\fB\-fno-automatic\fR" 4 -.IX Item "-fno-automatic" -Treat each program unit as if the \f(CW\*(C`SAVE\*(C'\fR statement was specified -for every local variable and array referenced in it. -Does not affect common blocks. -(Some Fortran compilers provide this option under -the name \fB\-static\fR.) -.Ip "\fB\-finit-local-zero\fR" 4 -.IX Item "-finit-local-zero" -Specify that variables and arrays that are local to a program unit -(not in a common block and not passed as an argument) are to be initialized -to binary zeros. -.Sp -Since there is a run-time penalty for initialization of variables -that are not given the \f(CW\*(C`SAVE\*(C'\fR attribute, it might be a -good idea to also use \fB\-fno-automatic\fR with \fB\-finit-local-zero\fR. -.Ip "\fB\-fno-f2c\fR" 4 -.IX Item "-fno-f2c" -Do not generate code designed to be compatible with code generated -by \fBf2c\fR use the \s-1GNU\s0 calling conventions instead. -.Sp -The \fBf2c\fR calling conventions require functions that return -type \f(CW\*(C`REAL(KIND=1)\*(C'\fR to actually return the C type \f(CW\*(C`double\*(C'\fR, -and functions that return type \f(CW\*(C`COMPLEX\*(C'\fR to return the -values via an extra argument in the calling sequence that points -to where to store the return value. -Under the \s-1GNU\s0 calling conventions, such functions simply return -their results as they would in \s-1GNU\s0 C\-\--\f(CW\*(C`REAL(KIND=1)\*(C'\fR functions -return the C type \f(CW\*(C`float\*(C'\fR, and \f(CW\*(C`COMPLEX\*(C'\fR functions -return the \s-1GNU\s0 C type \f(CW\*(C`complex\*(C'\fR (or its \f(CW\*(C`struct\*(C'\fR -equivalent). -.Sp -This does not affect the generation of code that interfaces with the -\&\f(CW\*(C`libg2c\*(C'\fR library. -.Sp -However, because the \f(CW\*(C`libg2c\*(C'\fR library uses \fBf2c\fR -calling conventions, \fBg77\fR rejects attempts to pass -intrinsics implemented by routines in this library as actual -arguments when \fB\-fno-f2c\fR is used, to avoid bugs when -they are actually called by code expecting the \s-1GNU\s0 calling -conventions to work. -.Sp -For example, \fB\s-1INTRINSIC\s0 \s-1ABS\s0;CALL FOO(\s-1ABS\s0)\fR is -rejected when \fB\-fno-f2c\fR is in force. -(Future versions of the \fBg77\fR run-time library might -offer routines that provide GNU-callable versions of the -routines that implement the \fBf2c\fR intrinsics -that may be passed as actual arguments, so that -valid programs need not be rejected when \fB\-fno-f2c\fR -is used.) -.Sp -\&\fBCaution:\fR If \fB\-fno-f2c\fR is used when compiling any -source file used in a program, it must be used when compiling -\&\fIall\fR Fortran source files used in that program. -.Ip "\fB\-ff2c-library\fR" 4 -.IX Item "-ff2c-library" -Specify that use of \f(CW\*(C`libg2c\*(C'\fR (or the original \f(CW\*(C`libf2c\*(C'\fR) -is required. -This is the default for the current version of \fBg77\fR -.Sp -Currently it is not -valid to specify \fB\-fno-f2c-library\fR. -This option is provided so users can specify it in shell -scripts that build programs and libraries that require the -\&\f(CW\*(C`libf2c\*(C'\fR library, even when being compiled by future -versions of \fBg77\fR that might otherwise default to -generating code for an incompatible library. -.Ip "\fB\-fno-underscoring\fR" 4 -.IX Item "-fno-underscoring" -Do not transform names of entities specified in the Fortran -source file by appending underscores to them. -.Sp -With \fB\-funderscoring\fR in effect, \fBg77\fR appends two underscores -to names with underscores and one underscore to external names with -no underscores. (\fBg77\fR also appends two underscores to internal -names with underscores to avoid naming collisions with external names. -The \fB\-fno-second-underscore\fR option disables appending of the -second underscore in all cases.) -.Sp -This is done to ensure compatibility with code produced by many -\&\s-1UNIX\s0 Fortran compilers, including \fBf2c\fR which perform the -same transformations. -.Sp -Use of \fB\-fno-underscoring\fR is not recommended unless you are -experimenting with issues such as integration of (\s-1GNU\s0) Fortran into -existing system environments (vis-a-vis existing libraries, tools, and -so on). -.Sp -For example, with \fB\-funderscoring\fR, and assuming other defaults like -\&\fB\-fcase-lower\fR and that \fB\f(BIj()\fB\fR and \fB\f(BImax_count()\fB\fR are -external functions while \fBmy_var\fR and \fBlvar\fR are local variables, -a statement like -.Sp -.Vb 1 -\& I = J() + MAX_COUNT (MY_VAR, LVAR) -.Ve -is implemented as something akin to: -.Sp -.Vb 1 -\& i = j_() + max_count__(&my_var__, &lvar); -.Ve -With \fB\-fno-underscoring\fR, the same statement is implemented as: -.Sp -.Vb 1 -\& i = j() + max_count(&my_var, &lvar); -.Ve -Use of \fB\-fno-underscoring\fR allows direct specification of -user-defined names while debugging and when interfacing \fBg77\fR -code with other languages. -.Sp -Note that just because the names match does \fInot\fR mean that the -interface implemented by \fBg77\fR for an external name matches the -interface implemented by some other language for that same name. -That is, getting code produced by \fBg77\fR to link to code produced -by some other compiler using this or any other method can be only a -small part of the overall solution\-\-\-getting the code generated by -both compilers to agree on issues other than naming can require -significant effort, and, unlike naming disagreements, linkers normally -cannot detect disagreements in these other areas. -.Sp -Also, note that with \fB\-fno-underscoring\fR, the lack of appended -underscores introduces the very real possibility that a user-defined -external name will conflict with a name in a system library, which -could make finding unresolved-reference bugs quite difficult in some -cases\-\-\-they might occur at program run time, and show up only as -buggy behavior at run time. -.Sp -In future versions of \fBg77\fR we hope to improve naming and linking -issues so that debugging always involves using the names as they appear -in the source, even if the names as seen by the linker are mangled to -prevent accidental linking between procedures with incompatible -interfaces. -.Ip "\fB\-fno-second-underscore\fR" 4 -.IX Item "-fno-second-underscore" -Do not append a second underscore to names of entities specified -in the Fortran source file. -.Sp -This option has no effect if \fB\-fno-underscoring\fR is -in effect. -.Sp -Otherwise, with this option, an external name such as \fB\s-1MAX_COUNT\s0\fR -is implemented as a reference to the link-time external symbol -\&\fBmax_count_\fR, instead of \fBmax_count_\|_\fR. -.Ip "\fB\-fno-ident\fR" 4 -.IX Item "-fno-ident" -Ignore the \fB#ident\fR directive. -.Ip "\fB\-fzeros\fR" 4 -.IX Item "-fzeros" -Treat initial values of zero as if they were any other value. -.Sp -As of version 0.5.18, \fBg77\fR normally treats \f(CW\*(C`DATA\*(C'\fR and -other statements that are used to specify initial values of zero -for variables and arrays as if no values were actually specified, -in the sense that no diagnostics regarding multiple initializations -are produced. -.Sp -This is done to speed up compiling of programs that initialize -large arrays to zeros. -.Sp -Use \fB\-fzeros\fR to revert to the simpler, slower behavior -that can catch multiple initializations by keeping track of -all initializations, zero or otherwise. -.Sp -\&\fICaution:\fR Future versions of \fBg77\fR might disregard this option -(and its negative form, the default) or interpret it somewhat -differently. -The interpretation changes will affect only non-standard -programs; standard-conforming programs should not be affected. -.Ip "\fB\-femulate-complex\fR" 4 -.IX Item "-femulate-complex" -Implement \f(CW\*(C`COMPLEX\*(C'\fR arithmetic via emulation, -instead of using the facilities of -the \fBgcc\fR back end that provide direct support of -\&\f(CW\*(C`complex\*(C'\fR arithmetic. -.Sp -(\fBgcc\fR had some bugs in its back-end support -for \f(CW\*(C`complex\*(C'\fR arithmetic, due primarily to the support not being -completed as of version 2.8.1 and \f(CW\*(C`egcs\*(C'\fR 1.1.2.) -.Sp -Use \fB\-femulate-complex\fR if you suspect code-generation bugs, -or experience compiler crashes, -that might result from \fBg77\fR using the \f(CW\*(C`COMPLEX\*(C'\fR support -in the \fBgcc\fR back end. -If using that option fixes the bugs or crashes you are seeing, -that indicates a likely \fBg77\fR bugs -(though, all compiler crashes are considered bugs), -so, please report it. -(Note that the known bugs, now believed fixed, produced compiler crashes -rather than causing the generation of incorrect code.) -.Sp -Use of this option should not affect how Fortran code compiled -by \fBg77\fR works in terms of its interfaces to other code, -e.g. that compiled by \fBf2c\fR -.Sp -As of \s-1GCC\s0 version 3.0, this option is not necessary anymore. -.Sp -\&\fICaution:\fR Future versions of \fBg77\fR might ignore both forms -of this option. -.Ip "\fB\-falias-check\fR" 4 -.IX Item "-falias-check" -.PD 0 -.Ip "\fB\-fargument-alias\fR" 4 -.IX Item "-fargument-alias" -.Ip "\fB\-fargument-noalias\fR" 4 -.IX Item "-fargument-noalias" -.Ip "\fB\-fno-argument-noalias-global\fR" 4 -.IX Item "-fno-argument-noalias-global" -.PD -\&\fIVersion info:\fR -These options are not supported by -versions of \fBg77\fR based on \fBgcc\fR version 2.8. -.Sp -These options specify to what degree aliasing -(overlap) -is permitted between -arguments (passed as pointers) and \f(CW\*(C`COMMON\*(C'\fR (external, or -public) storage. -.Sp -The default for Fortran code, as mandated by the \s-1FORTRAN\s0 77 and -Fortran 90 standards, is \fB\-fargument-noalias-global\fR. -The default for code written in the C language family is -\&\fB\-fargument-alias\fR. -.Sp -Note that, on some systems, compiling with \fB\-fforce-addr\fR in -effect can produce more optimal code when the default aliasing -options are in effect (and when optimization is enabled). -.Ip "\fB\-fno-globals\fR" 4 -.IX Item "-fno-globals" -Disable diagnostics about inter-procedural -analysis problems, such as disagreements about the -type of a function or a procedure's argument, -that might cause a compiler crash when attempting -to inline a reference to a procedure within a -program unit. -(The diagnostics themselves are still produced, but -as warnings, unless \fB\-Wno-globals\fR is specified, -in which case no relevant diagnostics are produced.) -.Sp -Further, this option disables such inlining, to -avoid compiler crashes resulting from incorrect -code that would otherwise be diagnosed. -.Sp -As such, this option might be quite useful when -compiling existing, ``working'' code that happens -to have a few bugs that do not generally show themselves, -but which \fBg77\fR diagnoses. -.Sp -Use of this option therefore has the effect of -instructing \fBg77\fR to behave more like it did -up through version 0.5.19.1, when it paid little or -no attention to disagreements between program units -about a procedure's type and argument information, -and when it performed no inlining of procedures -(except statement functions). -.Sp -Without this option, \fBg77\fR defaults to performing -the potentially inlining procedures as it started doing -in version 0.5.20, but as of version 0.5.21, it also -diagnoses disagreements that might cause such inlining -to crash the compiler as (fatal) errors, -and warns about similar disagreements -that are currently believed to not -likely to result in the compiler later crashing -or producing incorrect code. -.Ip "\fB\-fflatten-arrays\fR" 4 -.IX Item "-fflatten-arrays" -Use back end's C-like constructs -(pointer plus offset) -instead of its \f(CW\*(C`ARRAY_REF\*(C'\fR construct -to handle all array references. -.Sp -\&\fINote:\fR This option is not supported. -It is intended for use only by \fBg77\fR developers, -to evaluate code-generation issues. -It might be removed at any time. -.Ip "\fB\-fbounds-check\fR" 4 -.IX Item "-fbounds-check" -.PD 0 -.Ip "\fB\-ffortran-bounds-check\fR" 4 -.IX Item "-ffortran-bounds-check" -.PD -Enable generation of run-time checks for array subscripts -and substring start and end points -against the (locally) declared minimum and maximum values. -.Sp -The current implementation uses the \f(CW\*(C`libf2c\*(C'\fR -library routine \f(CW\*(C`s_rnge\*(C'\fR to print the diagnostic. -.Sp -However, whereas \fBf2c\fR generates a single check per -reference for a multi-dimensional array, of the computed -offset against the valid offset range (0 through the size of the array), -\&\fBg77\fR generates a single check per \fIsubscript\fR expression. -This catches some cases of potential bugs that \fBf2c\fR does not, -such as references to below the beginning of an assumed-size array. -.Sp -\&\fBg77\fR also generates checks for \f(CW\*(C`CHARACTER\*(C'\fR substring references, -something \fBf2c\fR currently does not do. -.Sp -Use the new \fB\-ffortran-bounds-check\fR option -to specify bounds-checking for only the Fortran code you are compiling, -not necessarily for code written in other languages. -.Sp -\&\fINote:\fR To provide more detailed information on the offending subscript, -\&\fBg77\fR provides the \f(CW\*(C`libg2c\*(C'\fR run-time library routine \f(CW\*(C`s_rnge\*(C'\fR -with somewhat differently-formatted information. -Here's a sample diagnostic: -.Sp -.Vb 3 -\& Subscript out of range on file line 4, procedure rnge.f/bf. -\& Attempt to access the -6-th element of variable b[subscript-2-of-2]. -\& Aborted -.Ve -The above message indicates that the offending source line is -line 4 of the file \fIrnge.f\fR, -within the program unit (or statement function) named \fBbf\fR. -The offended array is named \fBb\fR. -The offended array dimension is the second for a two-dimensional array, -and the offending, computed subscript expression was \fB\-6\fR. -.Sp -For a \f(CW\*(C`CHARACTER\*(C'\fR substring reference, the second line has -this appearance: -.Sp -.Vb 1 -\& Attempt to access the 11-th element of variable a[start-substring]. -.Ve -This indicates that the offended \f(CW\*(C`CHARACTER\*(C'\fR variable or array -is named \fBa\fR, -the offended substring position is the starting (leftmost) position, -and the offending substring expression is \fB11\fR. -.Sp -(Though the verbage of \f(CW\*(C`s_rnge\*(C'\fR is not ideal -for the purpose of the \fBg77\fR compiler, -the above information should provide adequate diagnostic abilities -to it users.) -.PP -Some of these do \fInot\fR work when compiling programs written in Fortran: -.Ip "\fB\-fpcc-struct-return\fR" 4 -.IX Item "-fpcc-struct-return" -.PD 0 -.Ip "\fB\-freg-struct-return\fR" 4 -.IX Item "-freg-struct-return" -.PD -You should not use these except strictly the same way as you -used them to build the version of \f(CW\*(C`libg2c\*(C'\fR with which -you will be linking all code compiled by \fBg77\fR with the -same option. -.Ip "\fB\-fshort-double\fR" 4 -.IX Item "-fshort-double" -This probably either has no effect on Fortran programs, or -makes them act loopy. -.Ip "\fB\-fno-common\fR" 4 -.IX Item "-fno-common" -Do not use this when compiling Fortran programs, -or there will be Trouble. -.Ip "\fB\-fpack-struct\fR" 4 -.IX Item "-fpack-struct" -This probably will break any calls to the \f(CW\*(C`libg2c\*(C'\fR library, -at the very least, even if it is built with the same option. -.SH "ENVIRONMENT" -.IX Header "ENVIRONMENT" -\&\s-1GNU\s0 Fortran currently does not make use of any environment -variables to control its operation above and beyond those -that affect the operation of \fBgcc\fR. -.SH "BUGS" -.IX Header "BUGS" -For instructions on reporting bugs, see -<\fBhttp://gcc.gnu.org/bugs.html\fR>. Use of the \fBgccbug\fR -script to report bugs is recommended. -.SH "FOOTNOTES" -.IX Header "FOOTNOTES" -.Ip "1." 4 -\&\fIloop discovery\fR refers to the -process by which a compiler, or indeed any reader of a program, -determines which portions of the program are more likely to be executed -repeatedly as it is being run. Such discovery typically is done early -when compiling using optimization techniques, so the ``discovered'' -loops get more attention\-\-\-and more run-time resources, such as -registers\-\-\-from the compiler. It is easy to ``discover'' loops that are -constructed out of looping constructs in the language -(such as Fortran's \f(CW\*(C`DO\*(C'\fR). For some programs, ``discovering'' loops -constructed out of lower-level constructs (such as \f(CW\*(C`IF\*(C'\fR and -\&\f(CW\*(C`GOTO\*(C'\fR) can lead to generation of more optimal code -than otherwise. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -\&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf-funding\fR\|(7), -\&\fIcpp\fR\|(1), \fIgcov\fR\|(1), \fIgcc\fR\|(1), \fIas\fR\|(1), \fIld\fR\|(1), \fIgdb\fR\|(1), \fIadb\fR\|(1), \fIdbx\fR\|(1), \fIsdb\fR\|(1) -and the Info entries for \fIgcc\fR, \fIcpp\fR, \fIg77\fR, \fIas\fR, -\&\fIld\fR, \fIbinutils\fR and \fIgdb\fR. -.SH "AUTHOR" -.IX Header "AUTHOR" -See the Info entry for \fBg77\fR for contributors to \s-1GCC\s0 and G77. -.SH "COPYRIGHT" -.IX Header "COPYRIGHT" -Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002 -Free Software Foundation, Inc. -.PP -Permission is granted to copy, distribute and/or modify this document -under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.1 or -any later version published by the Free Software Foundation; with the -Invariant Sections being ``\s-1GNU\s0 General Public License'' and ``Funding -Free Software'', the Front-Cover texts being (a) (see below), and with -the Back-Cover Texts being (b) (see below). A copy of the license is -included in the \fIgfdl\fR\|(7) man page. -.PP -(a) The \s-1FSF\s0's Front-Cover Text is: -.PP -.Vb 1 -\& A GNU Manual -.Ve -(b) The \s-1FSF\s0's Back-Cover Text is: -.PP -.Vb 3 -\& You have freedom to copy and modify this GNU Manual, like GNU -\& software. Copies published by the Free Software Foundation raise -\& funds for GNU development. -.Ve diff --git a/contrib/gcc/f/version.c b/contrib/gcc/f/version.c deleted file mode 100644 index 16c33e7ad1da..000000000000 --- a/contrib/gcc/f/version.c +++ /dev/null @@ -1,4 +0,0 @@ -#include "ansidecl.h" -#include "f/version.h" - -const char *const ffe_version_string = "3.2.2 20030205 (release)"; diff --git a/contrib/gcc/f/version.h b/contrib/gcc/f/version.h deleted file mode 100644 index fe7755197076..000000000000 --- a/contrib/gcc/f/version.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef GCC_F_VERSION_H -#define GCC_F_VERSION_H - -extern const char *const ffe_version_string; - -#endif /* ! GCC_F_VERSION_H */ diff --git a/contrib/gcc/gcc.1 b/contrib/gcc/gcc.1 deleted file mode 100644 index 74200a1a169e..000000000000 --- a/contrib/gcc/gcc.1 +++ /dev/null @@ -1,4191 +0,0 @@ -.\" Copyright (c) 1991, 1992, 1993, 1994 Free Software Foundation -*-Text-*- -.\" See section COPYING for conditions for redistribution -.\" -.\" Set up \*(lq, \*(rq if -man hasn't already set it up. -.if @@\*(lq@ \{\ -. ds lq " -. if t .ds lq `` -. if !@@\(lq@ .ds lq "\(lq -.\} -.if @@\*(rq@ \{\ -. ds rq " -. if t .ds rq '' -. if !@@\(rq@ .ds rq "\(rq -.\} -.de Id -.ds Rv \\$3 -.ds Dt \\$4 -.. -.de Sp -.if n .sp -.if t .sp 0.4 -.. -.Id $Id: gcc.1,v 1.9 1998/12/16 20:55:57 law Exp $ -.TH GCC 1 "\*(Dt" "GNU Tools" "GNU Tools" -.SH NAME -gcc, g++ \- GNU project C and C++ Compiler (gcc-2.95) -.SH SYNOPSIS -.B gcc -.RI "[ " option " | " filename " ].\|.\|." -.br -.B g++ -.RI "[ " option " | " filename " ].\|.\|." -.SH WARNING -The information in this man page is an extract from the full -documentation of the GNU C compiler, and is limited to the meaning of -the options. -.PP -This man page is not kept up to date except when volunteers want to -maintain it. If you find a discrepancy between the man page and the -software, please check the Info file, which is the authoritative -documentation. -.PP -If we find that the things in this man page that are out of date cause -significant confusion or complaints, we will stop distributing the man -page. The alternative, updating the man page when we update the Info -file, is impossible because the rest of the work of maintaining GNU CC -leaves us no time for that. The GNU project regards man pages as -obsolete and should not let them take time away from other things. -.PP -For complete and current documentation, refer to the Info file `\|\c -.B gcc\c -\&\|' or the manual -.I -Using and Porting GNU CC (for version 2.0)\c -\&. Both are made from the Texinfo source file -.BR gcc.texinfo . -.SH DESCRIPTION -The C and C++ compilers are integrated. Both process input files -through one or more of four stages: preprocessing, compilation, -assembly, and linking. Source filename suffixes identify the source -language, but which name you use for the compiler governs default -assumptions: -.TP -.B gcc -assumes preprocessed (\c -.B .i\c -\&) files are C and assumes C style linking. -.TP -.B g++ -assumes preprocessed (\c -.B .i\c -\&) files are C++ and assumes C++ style linking. -.PP -Suffixes of source file names indicate the language and kind of -processing to be done: -.Sp -.nf -.ta \w'\fB.cxx\fP 'u -\&\fB.c\fP C source; preprocess, compile, assemble -\&\fB.C\fP C++ source; preprocess, compile, assemble -\&\fB.cc\fP C++ source; preprocess, compile, assemble -\&\fB.cxx\fP C++ source; preprocess, compile, assemble -\&\fB.m\fP Objective-C source; preprocess, compile, assemble -\&\fB.i\fP preprocessed C; compile, assemble -\&\fB.ii\fP preprocessed C++; compile, assemble -\&\fB.s\fP Assembler source; assemble -\&\fB.S\fP Assembler source; preprocess, assemble -\&\fB.h\fP Preprocessor file; not usually named on command line -.Sp -.fi -Files with other suffixes are passed to the linker. Common cases include: -.Sp -.nf -\&\fB.o\fP Object file -\&\fB.a\fP Archive file -.br -.fi -.Sp -Linking is always the last stage unless you use one of the -.BR \-c , -.BR \-S , -or -.B \-E -options to avoid it (or unless compilation errors stop the whole -process). For the link stage, all -.B .o -files corresponding to source files, -.B \-l -libraries, unrecognized filenames (including named -.B .o -object files and -.B .a -archives) -are passed to the linker in command-line order. -.SH OPTIONS -Options must be separate: `\|\c -.B \-dr\c -\&\|' is quite different from `\|\c -.B \-d \-r -\&\|'. -.PP -Most `\|\c -.B \-f\c -\&\|' and `\|\c -.B \-W\c -\&\|' options have two contrary forms: -.BI \-f name -and -.BI \-fno\- name\c -\& (or -.BI \-W name -and -.BI \-Wno\- name\c -\&). Only the non-default forms are shown here. -.PP -Here is a summary of all the options, grouped by type. Explanations are -in the following sections. -.hy 0 -.na -.TP -.B Overall Options -.br -\-c -\-S -\-E -.RI "\-o " file -\-pipe -\-v -.RI "\-x " language -.TP -.B Language Options -\-ansi -\-fall\-virtual -\-fcond\-mismatch -\-fdollars\-in\-identifiers -\-fenum\-int\-equiv -\-fexternal\-templates -\-fno\-asm -\-fno\-builtin -\-fhosted -\-fno\-hosted -\-ffreestanding -\-fno\-freestanding -\-fno\-strict\-prototype -\-fsigned\-bitfields -\-fsigned\-char -\-fthis\-is\-variable -\-funsigned\-bitfields -\-funsigned\-char -\-fwritable\-strings -\-traditional -\-traditional\-cpp -\-trigraphs -.TP -.B Warning Options -\-fsyntax\-only -\-pedantic -\-pedantic\-errors -\-w -\-W -\-Wall -\-Waggregate\-return -\-Wcast\-align -\-Wcast\-qual -\-Wchar\-subscript -\-Wcomment -\-Wconversion -\-Wenum\-clash -\-Werror -\-Wformat -.RI \-Wid\-clash\- len -\-Wimplicit -\-Wimplicit\-int -\-Wimplicit\-function\-declaration -\-Winline -\-Wlong\-long -\-Wmain -\-Wmissing\-prototypes -\-Wmissing\-declarations -\-Wnested\-externs -\-Wno\-import -\-Wparentheses -\-Wpointer\-arith -\-Wredundant\-decls -\-Wreturn\-type -\-Wshadow -\-Wstrict\-prototypes -\-Wswitch -\-Wtemplate\-debugging -\-Wtraditional -\-Wtrigraphs -\-Wuninitialized -\-Wunused -\-Wwrite\-strings -.TP -.B Debugging Options -\-a -.RI \-d letters -\-fpretend\-float -\-g -.RI \-g level -\-gcoff -\-gxcoff -\-gxcoff+ -\-gdwarf -\-gdwarf+ -\-gstabs -\-gstabs+ -\-ggdb -\-p -\-pg -\-save\-temps -.RI \-print\-file\-name= library -\-print\-libgcc\-file\-name -.RI \-print\-prog\-name= program -.TP -.B Optimization Options -\-fcaller\-saves -\-fcse\-follow\-jumps -\-fcse\-skip\-blocks -\-fdelayed\-branch -\-felide\-constructors -\-fexpensive\-optimizations -\-ffast\-math -\-ffloat\-store -\-fforce\-addr -\-fforce\-mem -\-finline\-functions -\-fkeep\-inline\-functions -\-fmemoize\-lookups -\-fno\-default\-inline -\-fno\-defer\-pop -\-fno\-function\-cse -\-fno\-inline -\-fno\-peephole -\-fomit\-frame\-pointer -\-frerun\-cse\-after\-loop -\-fschedule\-insns -\-fschedule\-insns2 -\-fstrength\-reduce -\-fthread\-jumps -\-funroll\-all\-loops -\-funroll\-loops -\-O -\-O2 -\-O3 -.TP -.B Preprocessor Options -.RI \-A assertion -\-C -\-dD -\-dM -\-dN -.RI \-D macro [\|= defn \|] -\-E -\-H -.RI "\-idirafter " dir -.RI "\-include " file -.RI "\-imacros " file -.RI "\-iprefix " file -.RI "\-iwithprefix " dir -\-M -\-MD -\-MM -\-MMD -\-nostdinc -\-P -.RI \-U macro -\-undef -.TP -.B Assembler Option -.RI \-Wa, option -.TP -.B Linker Options -.RI \-l library -\-nostartfiles -\-nostdlib -\-static -\-shared -\-symbolic -.RI "\-Xlinker\ " option -.RI \-Wl, option -.RI "\-u " symbol -.TP -.B Directory Options -.RI \-B prefix -.RI \-I dir -\-I\- -.RI \-L dir -.TP -.B Target Options -.RI "\-b " machine -.RI "\-V " version -.TP -.B Configuration Dependent Options -.I M680x0\ Options -.br -\-m68000 -\-m68020 -\-m68020\-40 -\-m68030 -\-m68040 -\-m68881 -\-mbitfield -\-mc68000 -\-mc68020 -\-mfpa -\-mnobitfield -\-mrtd -\-mshort -\-msoft\-float -.Sp -.I VAX Options -.br -\-mg -\-mgnu -\-munix -.Sp -.I SPARC Options -.br -\-mepilogue -\-mfpu -\-mhard\-float -\-mno\-fpu -\-mno\-epilogue -\-msoft\-float -\-msparclite -\-mv8 -\-msupersparc -\-mcypress -.Sp -.I Convex Options -.br -\-margcount -\-mc1 -\-mc2 -\-mnoargcount -.Sp -.I AMD29K Options -.br -\-m29000 -\-m29050 -\-mbw -\-mdw -\-mkernel\-registers -\-mlarge -\-mnbw -\-mnodw -\-msmall -\-mstack\-check -\-muser\-registers -.Sp -.I M88K Options -.br -\-m88000 -\-m88100 -\-m88110 -\-mbig\-pic -\-mcheck\-zero\-division -\-mhandle\-large\-shift -\-midentify\-revision -\-mno\-check\-zero\-division -\-mno\-ocs\-debug\-info -\-mno\-ocs\-frame\-position -\-mno\-optimize\-arg\-area -\-mno\-serialize\-volatile -\-mno\-underscores -\-mocs\-debug\-info -\-mocs\-frame\-position -\-moptimize\-arg\-area -\-mserialize\-volatile -.RI \-mshort\-data\- num -\-msvr3 -\-msvr4 -\-mtrap\-large\-shift -\-muse\-div\-instruction -\-mversion\-03.00 -\-mwarn\-passed\-structs -.Sp -.I RS6000 Options -.br -\-mfp\-in\-toc -\-mno\-fop\-in\-toc -.Sp -.I RT Options -.br -\-mcall\-lib\-mul -\-mfp\-arg\-in\-fpregs -\-mfp\-arg\-in\-gregs -\-mfull\-fp\-blocks -\-mhc\-struct\-return -\-min\-line\-mul -\-mminimum\-fp\-blocks -\-mnohc\-struct\-return -.Sp -.I MIPS Options -.br -\-mcpu=\fIcpu type\fP -\-mips2 -\-mips3 -\-mint64 -\-mlong64 -\-mlonglong128 -\-mmips\-as -\-mgas -\-mrnames -\-mno\-rnames -\-mgpopt -\-mno\-gpopt -\-mstats -\-mno\-stats -\-mmemcpy -\-mno\-memcpy -\-mno\-mips\-tfile -\-mmips\-tfile -\-msoft\-float -\-mhard\-float -\-mabicalls -\-mno\-abicalls -\-mhalf\-pic -\-mno\-half\-pic -\-G \fInum\fP -\-nocpp -.Sp -.I i386 Options -.br -\-m486 -\-mno\-486 -\-msoft\-float -\-mno\-fp\-ret\-in\-387 -.Sp -.I HPPA Options -.br -\-mpa\-risc\-1\-0 -\-mpa\-risc\-1\-1 -\-mkernel -\-mshared\-libs -\-mno\-shared\-libs -\-mlong\-calls -\-mdisable\-fpregs -\-mdisable\-indexing -\-mtrailing\-colon -.Sp -.I i960 Options -.br -\-m\fIcpu-type\fP -\-mnumerics -\-msoft\-float -\-mleaf\-procedures -\-mno\-leaf\-procedures -\-mtail\-call -\-mno\-tail\-call -\-mcomplex\-addr -\-mno\-complex\-addr -\-mcode\-align -\-mno\-code\-align -\-mic\-compat -\-mic2.0\-compat -\-mic3.0\-compat -\-masm\-compat -\-mintel\-asm -\-mstrict\-align -\-mno\-strict\-align -\-mold\-align -\-mno\-old\-align -.Sp -.I DEC Alpha Options -.br -\-mfp\-regs -\-mno\-fp\-regs -\-mno\-soft\-float -\-msoft\-float -.Sp -.I System V Options -.br -\-G -\-Qy -\-Qn -.RI \-YP, paths -.RI \-Ym, dir -.TP -.B Code Generation Options -.RI \-fcall\-saved\- reg -.RI \-fcall\-used\- reg -.RI \-ffixed\- reg -\-finhibit\-size\-directive -\-fnonnull\-objects -\-fno\-common -\-fno\-ident -\-fno\-gnu\-linker -\-fpcc\-struct\-return -\-fpic -\-fPIC -\-freg\-struct\-return -\-fshared\-data -\-fshort\-enums -\-fshort\-double -\-fvolatile -\-fvolatile\-global -\-fverbose\-asm -.ad b -.hy 1 -.SH OVERALL OPTIONS -.TP -.BI "\-x " "language" -Specify explicitly the -.I language\c -\& for the following input files (rather than choosing a default based -on the file name suffix) . This option applies to all following input -files until the next `\|\c -.B \-x\c -\&\|' option. Possible values of \c -.I language\c -\& are -`\|\c -.B c\c -\&\|', `\|\c -.B objective\-c\c -\&\|', `\|\c -.B c\-header\c -\&\|', `\|\c -.B c++\c -\&\|', -`\|\c -.B cpp\-output\c -\&\|', `\|\c -.B assembler\c -\&\|', and `\|\c -.B assembler\-with\-cpp\c -\&\|'. -.TP -.B \-x none -Turn off any specification of a language, so that subsequent files are -handled according to their file name suffixes (as they are if `\|\c -.B \-x\c -\&\|' -has not been used at all). -.PP -If you want only some of the four stages (preprocess, compile, -assemble, link), you can use -`\|\c -.B \-x\c -\&\|' (or filename suffixes) to tell \c -.B gcc\c -\& where to start, and -one of the options `\|\c -.B \-c\c -\&\|', `\|\c -.B \-S\c -\&\|', or `\|\c -.B \-E\c -\&\|' to say where -.B gcc\c -\& is to stop. Note that some combinations (for example, -`\|\c -.B \-x cpp\-output \-E\c -\&\|') instruct \c -.B gcc\c -\& to do nothing at all. -.TP -.B \-c -Compile or assemble the source files, but do not link. The compiler -output is an object file corresponding to each source file. -.Sp -By default, GCC makes the object file name for a source file by replacing -the suffix `\|\c -.B .c\c -\&\|', `\|\c -.B .i\c -\&\|', `\|\c -.B .s\c -\&\|', etc., with `\|\c -.B .o\c -\&\|'. Use -.B \-o\c -\& to select another name. -.Sp -GCC ignores any unrecognized input files (those that do not require -compilation or assembly) with the -.B \-c -option. -.TP -.B \-S -Stop after the stage of compilation proper; do not assemble. The output -is an assembler code file for each non-assembler input -file specified. -.Sp -By default, GCC makes the assembler file name for a source file by -replacing the suffix `\|\c -.B .c\c -\&\|', `\|\c -.B .i\c -\&\|', etc., with `\|\c -.B .s\c -\&\|'. Use -.B \-o\c -\& to select another name. -.Sp -GCC ignores any input files that don't require compilation. -.TP -.B \-E -Stop after the preprocessing stage; do not run the compiler proper. The -output is preprocessed source code, which is sent to the -standard output. -.Sp -GCC ignores input files which don't require preprocessing. -.TP -.BI "\-o " file -Place output in file \c -.I file\c -\&. This applies regardless to whatever -sort of output GCC is producing, whether it be an executable file, -an object file, an assembler file or preprocessed C code. -.Sp -Since only one output file can be specified, it does not make sense to -use `\|\c -.B \-o\c -\&\|' when compiling more than one input file, unless you are -producing an executable file as output. -.Sp -If you do not specify `\|\c -.B \-o\c -\&\|', the default is to put an executable file -in `\|\c -.B a.out\c -\&\|', the object file for `\|\c -.I source\c -.B \&.\c -.I suffix\c -\&\c -\&\|' in -`\|\c -.I source\c -.B \&.o\c -\&\|', its assembler file in `\|\c -.I source\c -.B \&.s\c -\&\|', and -all preprocessed C source on standard output. -.TP -.B \-v -Print (on standard error output) the commands executed to run the stages -of compilation. Also print the version number of the compiler driver -program and of the preprocessor and the compiler proper. -.TP -.B \-pipe -Use pipes rather than temporary files for communication between the -various stages of compilation. This fails to work on some systems where -the assembler cannot read from a pipe; but the GNU assembler has -no trouble. -.PP -.SH LANGUAGE OPTIONS -The following options control the dialect of C that the compiler -accepts: -.TP -.B \-ansi -Support all ANSI standard C programs. -.Sp -This turns off certain features of GNU C that are incompatible with -ANSI C, such as the \c -.B asm\c -\&, \c -.B inline\c -\& and \c -.B typeof -keywords, and predefined macros such as \c -.B unix\c -\& and \c -.B vax -that identify the type of system you are using. It also enables the -undesirable and rarely used ANSI trigraph feature, and disallows `\|\c -.B $\c -\&\|' as part of identifiers. -.Sp -The alternate keywords \c -.B _\|_asm_\|_\c -\&, \c -.B _\|_extension_\|_\c -\&, -.B _\|_inline_\|_\c -\& and \c -.B _\|_typeof_\|_\c -\& continue to work despite -`\|\c -.B \-ansi\c -\&\|'. You would not want to use them in an ANSI C program, of -course, but it is useful to put them in header files that might be included -in compilations done with `\|\c -.B \-ansi\c -\&\|'. Alternate predefined macros -such as \c -.B _\|_unix_\|_\c -\& and \c -.B _\|_vax_\|_\c -\& are also available, with or -without `\|\c -.B \-ansi\c -\&\|'. -.Sp -The `\|\c -.B \-ansi\c -\&\|' option does not cause non-ANSI programs to be -rejected gratuitously. For that, `\|\c -.B \-pedantic\c -\&\|' is required in -addition to `\|\c -.B \-ansi\c -\&\|'. -.Sp -The preprocessor predefines a macro \c -.B _\|_STRICT_ANSI_\|_\c -\& when you use the `\|\c -.B \-ansi\c -\&\|' -option. Some header files may notice this macro and refrain -from declaring certain functions or defining certain macros that the -ANSI standard doesn't call for; this is to avoid interfering with any -programs that might use these names for other things. -.TP -.B \-fno\-asm -Do not recognize \c -.B asm\c -\&, \c -.B inline\c -\& or \c -.B typeof\c -\& as a -keyword. These words may then be used as identifiers. You can -use \c -.B _\|_asm_\|_\c -\&, \c -.B _\|_inline_\|_\c -\& and \c -.B _\|_typeof_\|_\c -\& instead. -`\|\c -.B \-ansi\c -\&\|' implies `\|\c -.B \-fno\-asm\c -\&\|'. -.TP -.B \-fno\-builtin -Don't recognize built-in functions that do not begin with two leading -underscores. Currently, the functions affected include \c -.B _exit\c -\&, -.B abort\c -\&, \c -.B abs\c -\&, \c -.B alloca\c -\&, \c -.B cos\c -\&, \c -.B exit\c -\&, -.B fabs\c -\&, \c -.B labs\c -\&, \c -.B memcmp\c -\&, \c -.B memcpy\c -\&, \c -.B sin\c -\&, -.B sqrt\c -\&, \c -.B strcmp\c -\&, \c -.B strcpy\c -\&, and \c -.B strlen\c -\&. -.Sp -The `\|\c -.B \-ansi\c -\&\|' option prevents \c -.B alloca\c -\& and \c -.B _exit\c -\& from -being builtin functions. -.TP -.B \-fhosted -Compile for a hosted environment; this implies the `\|\c -.B \-fbuiltin\c -\&\|' option, and implies that suspicious declarations of -.B main\c -\& should be warned about. -.TP -.B \-ffreestanding -Compile for a freestanding environment; this implies the `\|\c -.B \-fno-builtin\c -\&\|' option, and implies that -.B main\c -\& has no special requirements. -.TP -.B \-fno\-strict\-prototype -Treat a function declaration with no arguments, such as `\|\c -.B int foo -();\c -\&\|', as C would treat it\(em\&as saying nothing about the number of -arguments or their types (C++ only). Normally, such a declaration in -C++ means that the function \c -.B foo\c -\& takes no arguments. -.TP -.B \-trigraphs -Support ANSI C trigraphs. The `\|\c -.B \-ansi\c -\&\|' option implies `\|\c -.B \-trigraphs\c -\&\|'. -.TP -.B \-traditional -Attempt to support some aspects of traditional C compilers. -For details, see the GNU C Manual; the duplicate list here -has been deleted so that we won't get complaints when it -is out of date. -.Sp -But one note about C++ programs only (not C). `\|\c -.B \-traditional\c -\&\|' has one additional effect for C++: assignment to -.B this -is permitted. This is the same as the effect of `\|\c -.B \-fthis\-is\-variable\c -\&\|'. -.TP -.B \-traditional\-cpp -Attempt to support some aspects of traditional C preprocessors. -This includes the items that specifically mention the preprocessor above, -but none of the other effects of `\|\c -.B \-traditional\c -\&\|'. -.TP -.B \-fdollars\-in\-identifiers -Permit the use of `\|\c -.B $\c -\&\|' in identifiers (C++ only). You can also use -`\|\c -.B \-fno\-dollars\-in\-identifiers\c -\&\|' to explicitly prohibit use of -`\|\c -.B $\c -\&\|'. (GNU C++ allows `\|\c -.B $\c -\&\|' by default on some target systems -but not others.) -.TP -.B \-fenum\-int\-equiv -Permit implicit conversion of \c -.B int\c -\& to enumeration types (C++ -only). Normally GNU C++ allows conversion of \c -.B enum\c -\& to \c -.B int\c -\&, -but not the other way around. -.TP -.B \-fexternal\-templates -Produce smaller code for template declarations, by generating only a -single copy of each template function where it is defined (C++ only). -To use this option successfully, you must also mark all files that -use templates with either `\|\c -.B #pragma implementation\c -\&\|' (the definition) or -`\|\c -.B #pragma interface\c -\&\|' (declarations). - -When your code is compiled with `\|\c -.B \-fexternal\-templates\c -\&\|', all -template instantiations are external. You must arrange for all -necessary instantiations to appear in the implementation file; you can -do this with a \c -.B typedef\c -\& that references each instantiation needed. -Conversely, when you compile using the default option -`\|\c -.B \-fno\-external\-templates\c -\&\|', all template instantiations are -explicitly internal. -.TP -.B \-fall\-virtual -Treat all possible member functions as virtual, implicitly. All -member functions (except for constructor functions and -.B new -or -.B delete -member operators) are treated as virtual functions of the class where -they appear. -.Sp -This does not mean that all calls to these member functions will be -made through the internal table of virtual functions. Under some -circumstances, the compiler can determine that a call to a given -virtual function can be made directly; in these cases the calls are -direct in any case. -.TP -.B \-fcond\-mismatch -Allow conditional expressions with mismatched types in the second and -third arguments. The value of such an expression is void. -.TP -.B \-fthis\-is\-variable -Permit assignment to \c -.B this\c -\& (C++ only). The incorporation of -user-defined free store management into C++ has made assignment to -`\|\c -.B this\c -\&\|' an anachronism. Therefore, by default it is invalid to -assign to \c -.B this\c -\& within a class member function. However, for -backwards compatibility, you can make it valid with -`\|\c -.B \-fthis-is-variable\c -\&\|'. -.TP -.B \-funsigned\-char -Let the type \c -.B char\c -\& be unsigned, like \c -.B unsigned char\c -\&. -.Sp -Each kind of machine has a default for what \c -.B char\c -\& should -be. It is either like \c -.B unsigned char\c -\& by default or like -.B signed char\c -\& by default. -.Sp -Ideally, a portable program should always use \c -.B signed char\c -\& or -.B unsigned char\c -\& when it depends on the signedness of an object. -But many programs have been written to use plain \c -.B char\c -\& and -expect it to be signed, or expect it to be unsigned, depending on the -machines they were written for. This option, and its inverse, let you -make such a program work with the opposite default. -.Sp -The type \c -.B char\c -\& is always a distinct type from each of -.B signed char\c -\& and \c -.B unsigned char\c -\&, even though its behavior -is always just like one of those two. -.TP -.B \-fsigned\-char -Let the type \c -.B char\c -\& be signed, like \c -.B signed char\c -\&. -.Sp -Note that this is equivalent to `\|\c -.B \-fno\-unsigned\-char\c -\&\|', which is -the negative form of `\|\c -.B \-funsigned\-char\c -\&\|'. Likewise, -`\|\c -.B \-fno\-signed\-char\c -\&\|' is equivalent to `\|\c -.B \-funsigned\-char\c -\&\|'. -.TP -.B \-fsigned\-bitfields -.TP -.B \-funsigned\-bitfields -.TP -.B \-fno\-signed\-bitfields -.TP -.B \-fno\-unsigned\-bitfields -These options control whether a bitfield is -signed or unsigned, when declared with no explicit `\|\c -.B signed\c -\&\|' or `\|\c -.B unsigned\c -\&\|' qualifier. By default, such a bitfield is -signed, because this is consistent: the basic integer types such as -.B int\c -\& are signed types. -.Sp -However, when you specify `\|\c -.B \-traditional\c -\&\|', bitfields are all unsigned -no matter what. -.TP -.B \-fwritable\-strings -Store string constants in the writable data segment and don't uniquize -them. This is for compatibility with old programs which assume they -can write into string constants. `\|\c -.B \-traditional\c -\&\|' also has this -effect. -.Sp -Writing into string constants is a very bad idea; \*(lqconstants\*(rq should -be constant. -.SH PREPROCESSOR OPTIONS -These options control the C preprocessor, which is run on each C source -file before actual compilation. -.PP -If you use the `\|\c -.B \-E\c -\&\|' option, GCC does nothing except preprocessing. -Some of these options make sense only together with `\|\c -.B \-E\c -\&\|' because -they cause the preprocessor output to be unsuitable for actual -compilation. -.TP -.BI "\-include " "file" -Process \c -.I file\c -\& as input before processing the regular input file. -In effect, the contents of \c -.I file\c -\& are compiled first. Any `\|\c -.B \-D\c -\&\|' -and `\|\c -.B \-U\c -\&\|' options on the command line are always processed before -`\|\c -.B \-include \c -.I file\c -\&\c -\&\|', regardless of the order in which they are -written. All the `\|\c -.B \-include\c -\&\|' and `\|\c -.B \-imacros\c -\&\|' options are -processed in the order in which they are written. -.TP -.BI "\-imacros " file -Process \c -.I file\c -\& as input, discarding the resulting output, before -processing the regular input file. Because the output generated from -.I file\c -\& is discarded, the only effect of `\|\c -.B \-imacros \c -.I file\c -\&\c -\&\|' is to -make the macros defined in \c -.I file\c -\& available for use in the main -input. The preprocessor evaluates any `\|\c -.B \-D\c -\&\|' and `\|\c -.B \-U\c -\&\|' options -on the command line before processing `\|\c -.B \-imacros\c -.I file\c -\&\|', regardless of the order in -which they are written. All the `\|\c -.B \-include\c -\&\|' and `\|\c -.B \-imacros\c -\&\|' -options are processed in the order in which they are written. -.TP -.BI "\-idirafter " "dir" -Add the directory \c -.I dir\c -\& to the second include path. The directories -on the second include path are searched when a header file is not found -in any of the directories in the main include path (the one that -`\|\c -.B \-I\c -\&\|' adds to). -.TP -.BI "\-iprefix " "prefix" -Specify \c -.I prefix\c -\& as the prefix for subsequent `\|\c -.B \-iwithprefix\c -\&\|' -options. -.TP -.BI "\-iwithprefix " "dir" -Add a directory to the second include path. The directory's name is -made by concatenating \c -.I prefix\c -\& and \c -.I dir\c -\&, where \c -.I prefix -was specified previously with `\|\c -.B \-iprefix\c -\&\|'. -.TP -.B \-nostdinc -Do not search the standard system directories for header files. Only -the directories you have specified with `\|\c -.B \-I\c -\&\|' options (and the -current directory, if appropriate) are searched. -.Sp -By using both `\|\c -.B \-nostdinc\c -\&\|' and `\|\c -.B \-I\-\c -\&\|', you can limit the include-file search file to only those -directories you specify explicitly. -.TP -.B \-nostdinc++ -Do not search for header files in the C++\-specific standard directories, -but do still search the other standard directories. -(This option is used when building `\|\c -.B libg++\c -\&\|'.) -.TP -.B \-undef -Do not predefine any nonstandard macros. (Including architecture flags). -.TP -.B \-E -Run only the C preprocessor. Preprocess all the C source files -specified and output the results to standard output or to the -specified output file. -.TP -.B \-C -Tell the preprocessor not to discard comments. Used with the -`\|\c -.B \-E\c -\&\|' option. -.TP -.B \-P -Tell the preprocessor not to generate `\|\c -.B #line\c -\&\|' commands. -Used with the `\|\c -.B \-E\c -\&\|' option. -.TP -.B \-M\ [ \-MG ] -Tell the preprocessor to output a rule suitable for \c -.B make -describing the dependencies of each object file. For each source file, -the preprocessor outputs one \c -.B make\c -\&-rule whose target is the object -file name for that source file and whose dependencies are all the files -`\|\c -.B #include\c -\&\|'d in it. This rule may be a single line or may be -continued with `\|\c -.B \e\c -\&\|'-newline if it is long. The list of rules is -printed on standard output instead of the preprocessed C program. -.Sp -`\|\c -.B \-M\c -\&\|' implies `\|\c -.B \-E\c -\&\|'. -.Sp -`\|\c -.B \-MG\c -\&\|' says to treat missing header files as generated files and assume \c -they live in the same directory as the source file. It must be specified \c -in addition to `\|\c -.B \-M\c -\&\|'. -.TP -.B \-MM\ [ \-MG ] -Like `\|\c -.B \-M\c -\&\|' but the output mentions only the user header files -included with `\|\c -.B #include "\c -.I file\c -\&"\c -\&\|'. System header files -included with `\|\c -.B #include <\c -.I file\c -\&>\c -\&\|' are omitted. -.TP -.B \-MD -Like `\|\c -.B \-M\c -\&\|' but the dependency information is written to files with -names made by replacing `\|\c -.B .o\c -\&\|' with `\|\c -.B .d\c -\&\|' at the end of the -output file names. This is in addition to compiling the file as -specified\(em\&`\|\c -.B \-MD\c -\&\|' does not inhibit ordinary compilation the way -`\|\c -.B \-M\c -\&\|' does. -.Sp -The Mach utility `\|\c -.B md\c -\&\|' can be used to merge the `\|\c -.B .d\c -\&\|' files -into a single dependency file suitable for using with the `\|\c -.B make\c -\&\|' -command. -.TP -.B \-MMD -Like `\|\c -.B \-MD\c -\&\|' except mention only user header files, not system -header files. -.TP -.B \-H -Print the name of each header file used, in addition to other normal -activities. -.TP -.BI "\-A" "question" ( answer ) -Assert the answer -.I answer -for -.I question\c -\&, in case it is tested -with a preprocessor conditional such as `\|\c -.BI "#if #" question ( answer )\c -\&\|'. `\|\c -.B \-A\-\c -\&\|' disables the standard -assertions that normally describe the target machine. -.TP -.BI "\-A" "question"\c -\&(\c -.I answer\c -\&) -Assert the answer \c -.I answer\c -\& for \c -.I question\c -\&, in case it is tested -with a preprocessor conditional such as `\|\c -.B #if -#\c -.I question\c -\&(\c -.I answer\c -\&)\c -\&\|'. `\|\c -.B \-A-\c -\&\|' disables the standard -assertions that normally describe the target machine. -.TP -.BI \-D macro -Define macro \c -.I macro\c -\& with the string `\|\c -.B 1\c -\&\|' as its definition. -.TP -.BI \-D macro = defn -Define macro \c -.I macro\c -\& as \c -.I defn\c -\&. All instances of `\|\c -.B \-D\c -\&\|' on -the command line are processed before any `\|\c -.B \-U\c -\&\|' options. -.TP -.BI \-U macro -Undefine macro \c -.I macro\c -\&. `\|\c -.B \-U\c -\&\|' options are evaluated after all `\|\c -.B \-D\c -\&\|' options, but before any `\|\c -.B \-include\c -\&\|' and `\|\c -.B \-imacros\c -\&\|' options. -.TP -.B \-dM -Tell the preprocessor to output only a list of the macro definitions -that are in effect at the end of preprocessing. Used with the `\|\c -.B \-E\c -\&\|' -option. -.TP -.B \-dD -Tell the preprocessor to pass all macro definitions into the output, in -their proper sequence in the rest of the output. -.TP -.B \-dN -Like `\|\c -.B \-dD\c -\&\|' except that the macro arguments and contents are omitted. -Only `\|\c -.B #define \c -.I name\c -\&\c -\&\|' is included in the output. -.SH ASSEMBLER OPTION -.TP -.BI "\-Wa," "option" -Pass \c -.I option\c -\& as an option to the assembler. If \c -.I option -contains commas, it is split into multiple options at the commas. -.SH LINKER OPTIONS -These options come into play when the compiler links object files into -an executable output file. They are meaningless if the compiler is -not doing a link step. -.TP -.I object-file-name -A file name that does not end in a special recognized suffix is -considered to name an object file or library. (Object files are -distinguished from libraries by the linker according to the file -contents.) If GCC does a link step, these object files are used as input -to the linker. -.TP -.BI \-l library -Use the library named \c -.I library\c -\& when linking. -.Sp -The linker searches a standard list of directories for the library, -which is actually a file named `\|\c -.B lib\c -.I library\c -\&.a\c -\&\|'. The linker -then uses this file as if it had been specified precisely by name. -.Sp -The directories searched include several standard system directories -plus any that you specify with `\|\c -.B \-L\c -\&\|'. -.Sp -Normally the files found this way are library files\(em\&archive files -whose members are object files. The linker handles an archive file by -scanning through it for members which define symbols that have so far -been referenced but not defined. However, if the linker finds an -ordinary object file rather than a library, the object file is linked -in the usual fashion. The only difference between using an `\|\c -.B \-l\c -\&\|' option and specifying a file -name is that `\|\c -.B \-l\c -\&\|' surrounds -.I library -with `\|\c -.B lib\c -\&\|' and `\|\c -.B .a\c -\&\|' and searches several directories. -.TP -.B \-lobjc -You need this special case of the -.B \-l -option in order to link an Objective C program. -.TP -.B \-nostartfiles -Do not use the standard system startup files when linking. -The standard libraries are used normally. -.TP -.B \-nostdlib -Don't use the standard system libraries and startup files when linking. -Only the files you specify will be passed to the linker. -.TP -.B \-static -On systems that support dynamic linking, this prevents linking with the shared -libraries. On other systems, this option has no effect. -.TP -.B \-shared -Produce a shared object which can then be linked with other objects to -form an executable. Only a few systems support this option. -.TP -.B \-symbolic -Bind references to global symbols when building a shared object. Warn -about any unresolved references (unless overridden by the link editor -option `\|\c -.B -\-Xlinker \-z \-Xlinker defs\c -\&\|'). Only a few systems support -this option. -.TP -.BI "\-Xlinker " "option" -Pass \c -.I option -as an option to the linker. You can use this to -supply system-specific linker options which GNU CC does not know how to -recognize. -.Sp -If you want to pass an option that takes an argument, you must use -`\|\c -.B \-Xlinker\c -\&\|' twice, once for the option and once for the argument. -For example, to pass `\|\c -.B -\-assert definitions\c -\&\|', you must write -`\|\c -.B -\-Xlinker \-assert \-Xlinker definitions\c -\&\|'. It does not work to write -`\|\c -.B -\-Xlinker "\-assert definitions"\c -\&\|', because this passes the entire -string as a single argument, which is not what the linker expects. -.TP -.BI "\-Wl," "option" -Pass \c -.I option\c -\& as an option to the linker. If \c -.I option\c -\& contains -commas, it is split into multiple options at the commas. -.TP -.BI "\-u " "symbol" -Pretend the symbol -.I symbol -is undefined, to force linking of -library modules to define it. You can use `\|\c -.B \-u\c -\&\|' multiple times with -different symbols to force loading of additional library modules. -.SH DIRECTORY OPTIONS -These options specify directories to search for header files, for -libraries and for parts of the compiler: -.TP -.BI "\-I" "dir" -Append directory \c -.I dir\c -\& to the list of directories searched for include files. -.TP -.B \-I\- -Any directories you specify with `\|\c -.B \-I\c -\&\|' options before the `\|\c -.B \-I\-\c -\&\|' -option are searched only for the case of `\|\c -.B -#include "\c -.I file\c -.B -\&"\c -\&\|'; -they are not searched for `\|\c -.B #include <\c -.I file\c -\&>\c -\&\|'. -.Sp -If additional directories are specified with `\|\c -.B \-I\c -\&\|' options after -the `\|\c -.B \-I\-\c -\&\|', these directories are searched for all `\|\c -.B #include\c -\&\|' -directives. (Ordinarily \c -.I all\c -\& `\|\c -.B \-I\c -\&\|' directories are used -this way.) -.Sp -In addition, the `\|\c -.B \-I\-\c -\&\|' option inhibits the use of the current -directory (where the current input file came from) as the first search -directory for `\|\c -.B -#include "\c -.I file\c -.B -\&"\c -\&\|'. There is no way to -override this effect of `\|\c -.B \-I\-\c -\&\|'. With `\|\c -.B \-I.\c -\&\|' you can specify -searching the directory which was current when the compiler was -invoked. That is not exactly the same as what the preprocessor does -by default, but it is often satisfactory. -.Sp -`\|\c -.B \-I\-\c -\&\|' does not inhibit the use of the standard system directories -for header files. Thus, `\|\c -.B \-I\-\c -\&\|' and `\|\c -.B \-nostdinc\c -\&\|' are -independent. -.TP -.BI "\-L" "dir" -Add directory \c -.I dir\c -\& to the list of directories to be searched -for `\|\c -.B \-l\c -\&\|'. -.TP -.BI "\-B" "prefix" -This option specifies where to find the executables, libraries and -data files of the compiler itself. -.Sp -The compiler driver program runs one or more of the subprograms -`\|\c -.B cpp\c -\&\|', `\|\c -.B cc1\c -\&\|' (or, for C++, `\|\c -.B cc1plus\c -\&\|'), `\|\c -.B as\c -\&\|' and `\|\c -.B ld\c -\&\|'. It tries -.I prefix\c -\& as a prefix for each program it tries to run, both with and -without `\|\c -.I machine\c -.B /\c -.I version\c -.B /\c -\&\|'. -.Sp -For each subprogram to be run, the compiler driver first tries the -`\|\c -.B \-B\c -\&\|' prefix, if any. If that name is not found, or if `\|\c -.B \-B\c -\&\|' -was not specified, the driver tries two standard prefixes, which are -`\|\c -.B /usr/lib/gcc/\c -\&\|' and `\|\c -.B /usr/local/lib/gcc-lib/\c -\&\|'. If neither of -those results in a file name that is found, the compiler driver -searches for the unmodified program -name, using the directories specified in your -`\|\c -.B PATH\c -\&\|' environment variable. -.Sp -The run-time support file `\|\c -.B libgcc.a\c -\&\|' is also searched for using the -`\|\c -.B \-B\c -\&\|' prefix, if needed. If it is not found there, the two -standard prefixes above are tried, and that is all. The file is left -out of the link if it is not found by those means. Most of the time, -on most machines, `\|\c -.B libgcc.a\c -\&\|' is not actually necessary. -.Sp -You can get a similar result from the environment variable -.B GCC_EXEC_PREFIX\c -\&; if it is defined, its value is used as a prefix -in the same way. If both the `\|\c -.B \-B\c -\&\|' option and the -.B GCC_EXEC_PREFIX\c -\& variable are present, the `\|\c -.B \-B\c -\&\|' option is -used first and the environment variable value second. -.SH WARNING OPTIONS -Warnings are diagnostic messages that report constructions which -are not inherently erroneous but which are risky or suggest there -may have been an error. -.Sp -These options control the amount and kinds of warnings produced by GNU -CC: -.TP -.B \-fsyntax\-only -Check the code for syntax errors, but don't emit any output. -.TP -.B \-w -Inhibit all warning messages. -.TP -.B \-Wno\-import -Inhibit warning messages about the use of -.BR #import . -.TP -.B \-pedantic -Issue all the warnings demanded by strict ANSI standard C; reject -all programs that use forbidden extensions. -.Sp -Valid ANSI standard C programs should compile properly with or without -this option (though a rare few will require `\|\c -.B \-ansi\c -\&\|'). However, -without this option, certain GNU extensions and traditional C features -are supported as well. With this option, they are rejected. There is -no reason to \c -.I use\c -\& this option; it exists only to satisfy pedants. -.Sp -`\|\c -.B \-pedantic\c -\&\|' does not cause warning messages for use of the -alternate keywords whose names begin and end with `\|\c -.B _\|_\c -\&\|'. Pedantic -warnings are also disabled in the expression that follows -.B _\|_extension_\|_\c -\&. However, only system header files should use -these escape routes; application programs should avoid them. -.TP -.B \-pedantic\-errors -Like `\|\c -.B \-pedantic\c -\&\|', except that errors are produced rather than -warnings. -.TP -.B \-W -Print extra warning messages for these events: -.TP -\ \ \ \(bu -A nonvolatile automatic variable might be changed by a call to -.B longjmp\c -\&. These warnings are possible only in -optimizing compilation. -.Sp -The compiler sees only the calls to \c -.B setjmp\c -\&. It cannot know -where \c -.B longjmp\c -\& will be called; in fact, a signal handler could -call it at any point in the code. As a result, you may get a warning -even when there is in fact no problem because \c -.B longjmp\c -\& cannot -in fact be called at the place which would cause a problem. -.TP -\ \ \ \(bu -A function can return either with or without a value. (Falling -off the end of the function body is considered returning without -a value.) For example, this function would evoke such a -warning: -.Sp -.nf -foo (a) -{ - if (a > 0) - return a; -} -.Sp -.fi -Spurious warnings can occur because GNU CC does not realize that -certain functions (including \c -.B abort\c -\& and \c -.B longjmp\c -\&) -will never return. -.TP -\ \ \ \(bu -An expression-statement or the left-hand side of a comma expression -contains no side effects. -To suppress the warning, cast the unused expression to void. -For example, an expression such as `\|\c -.B x[i,j]\c -\&\|' will cause a warning, -but `\|\c -.B x[(void)i,j]\c -\&\|' will not. -.TP -\ \ \ \(bu -An unsigned value is compared against zero with `\|\c -.B >\c -\&\|' or `\|\c -.B <=\c -\&\|'. -.PP -.TP -.B \-Wimplicit-int -Warn whenever a declaration does not specify a type. -.TP -.B \-Wimplicit-function-declaration -Warn whenever a function is used before being declared. -.TP -.B \-Wimplicit -Same as -Wimplicit-int and -Wimplicit-function-declaration. -.TP -.B \-Wmain -Warn if the -.B main -function is declared or defined with a suspicious type. -Typically, it is a function with external linkage, returning -.B int\c -\&, and -taking zero or two arguments. - -.TP -.B \-Wreturn\-type -Warn whenever a function is defined with a return-type that defaults -to \c -.B int\c -\&. Also warn about any \c -.B return\c -\& statement with no -return-value in a function whose return-type is not \c -.B void\c -\&. -.TP -.B \-Wunused -Warn whenever a local variable is unused aside from its declaration, -whenever a function is declared static but never defined, and whenever -a statement computes a result that is explicitly not used. -.TP -.B \-Wswitch -Warn whenever a \c -.B switch\c -\& statement has an index of enumeral type -and lacks a \c -.B case\c -\& for one or more of the named codes of that -enumeration. (The presence of a \c -.B default\c -\& label prevents this -warning.) \c -.B case\c -\& labels outside the enumeration range also -provoke warnings when this option is used. -.TP -.B \-Wcomment -Warn whenever a comment-start sequence `\|\c -.B /\(**\c -\&\|' appears in a comment. -.TP -.B \-Wtrigraphs -Warn if any trigraphs are encountered (assuming they are enabled). -.TP -.B \-Wformat -Check calls to \c -.B printf\c -\& and \c -.B scanf\c -\&, etc., to make sure that -the arguments supplied have types appropriate to the format string -specified. -.TP -.B \-Wchar\-subscripts -Warn if an array subscript has type -.BR char . -This is a common cause of error, as programmers often forget that this -type is signed on some machines. -.TP -.B \-Wuninitialized -An automatic variable is used without first being initialized. -.Sp -These warnings are possible only in optimizing compilation, -because they require data flow information that is computed only -when optimizing. If you don't specify `\|\c -.B \-O\c -\&\|', you simply won't -get these warnings. -.Sp -These warnings occur only for variables that are candidates for -register allocation. Therefore, they do not occur for a variable that -is declared \c -.B volatile\c -\&, or whose address is taken, or whose size -is other than 1, 2, 4 or 8 bytes. Also, they do not occur for -structures, unions or arrays, even when they are in registers. -.Sp -Note that there may be no warning about a variable that is used only -to compute a value that itself is never used, because such -computations may be deleted by data flow analysis before the warnings -are printed. -.Sp -These warnings are made optional because GNU CC is not smart -enough to see all the reasons why the code might be correct -despite appearing to have an error. Here is one example of how -this can happen: -.Sp -.nf -{ - int x; - switch (y) - { - case 1: x = 1; - break; - case 2: x = 4; - break; - case 3: x = 5; - } - foo (x); -} -.Sp -.fi -If the value of \c -.B y\c -\& is always 1, 2 or 3, then \c -.B x\c -\& is -always initialized, but GNU CC doesn't know this. Here is -another common case: -.Sp -.nf -{ - int save_y; - if (change_y) save_y = y, y = new_y; - .\|.\|. - if (change_y) y = save_y; -} -.Sp -.fi -This has no bug because \c -.B save_y\c -\& is used only if it is set. -.Sp -Some spurious warnings can be avoided if you declare as -.B volatile\c -\& all the functions you use that never return. -.TP -.B \-Wparentheses -Warn if parentheses are omitted in certain contexts. -.TP -.B \-Wtemplate\-debugging -When using templates in a C++ program, warn if debugging is not yet -fully available (C++ only). -.TP -.B \-Wall -All of the above `\|\c -.B \-W\c -\&\|' options combined. These are all the -options which pertain to usage that we recommend avoiding and that we -believe is easy to avoid, even in conjunction with macros. -.PP -The remaining `\|\c -.B \-W.\|.\|.\c -\&\|' options are not implied by `\|\c -.B \-Wall\c -\&\|' -because they warn about constructions that we consider reasonable to -use, on occasion, in clean programs. -.TP -.B \-Wtraditional -Warn about certain constructs that behave differently in traditional and -ANSI C. -.TP -\ \ \ \(bu -Macro arguments occurring within string constants in the macro body. -These would substitute the argument in traditional C, but are part of -the constant in ANSI C. -.TP -\ \ \ \(bu -A function declared external in one block and then used after the end of -the block. -.TP -\ \ \ \(bu -A \c -.B switch\c -\& statement has an operand of type \c -.B long\c -\&. -.PP -.TP -.B \-Wshadow -Warn whenever a local variable shadows another local variable. -.TP -.BI "\-Wid\-clash\-" "len" -Warn whenever two distinct identifiers match in the first \c -.I len -characters. This may help you prepare a program that will compile -with certain obsolete, brain-damaged compilers. -.TP -.B \-Wpointer\-arith -Warn about anything that depends on the \*(lqsize of\*(rq a function type or -of \c -.B void\c -\&. GNU C assigns these types a size of 1, for -convenience in calculations with \c -.B void \(**\c -\& pointers and pointers -to functions. -.TP -.B \-Wcast\-qual -Warn whenever a pointer is cast so as to remove a type qualifier from -the target type. For example, warn if a \c -.B const char \(**\c -\& is cast -to an ordinary \c -.B char \(**\c -\&. -.TP -.B \-Wcast\-align -Warn whenever a pointer is cast such that the required alignment of the -target is increased. For example, warn if a \c -.B char \(**\c -\& is cast to -an \c -.B int \(**\c -\& on machines where integers can only be accessed at -two- or four-byte boundaries. -.TP -.B \-Wwrite\-strings -Give string constants the type \c -.B const char[\c -.I length\c -.B ]\c -\& so that -copying the address of one into a non-\c -.B const\c -\& \c -.B char \(** -pointer will get a warning. These warnings will help you find at -compile time code that can try to write into a string constant, but -only if you have been very careful about using \c -.B const\c -\& in -declarations and prototypes. Otherwise, it will just be a nuisance; -this is why we did not make `\|\c -.B \-Wall\c -\&\|' request these warnings. -.TP -.B \-Wconversion -Warn if a prototype causes a type conversion that is different from what -would happen to the same argument in the absence of a prototype. This -includes conversions of fixed point to floating and vice versa, and -conversions changing the width or signedness of a fixed point argument -except when the same as the default promotion. -.TP -.B \-Waggregate\-return -Warn if any functions that return structures or unions are defined or -called. (In languages where you can return an array, this also elicits -a warning.) -.TP -.B \-Wstrict\-prototypes -Warn if a function is declared or defined without specifying the -argument types. (An old-style function definition is permitted without -a warning if preceded by a declaration which specifies the argument -types.) -.TP -.B \-Wmissing\-prototypes -Warn if a global function is defined without a previous prototype -declaration. This warning is issued even if the definition itself -provides a prototype. The aim is to detect global functions that fail -to be declared in header files. -.TP -.B \-Wmissing\-declarations -Warn if a global function is defined without a previous declaration. -Do so even if the definition itself provides a prototype. -Use this option to detect global functions that are not declared in -header files. -.TP -.B \-Wredundant-decls -Warn if anything is declared more than once in the same scope, even in -cases where multiple declaration is valid and changes nothing. -.TP -.B \-Wnested-externs -Warn if an \c -.B extern\c -\& declaration is encountered within an function. -.TP -.B \-Wenum\-clash -Warn about conversion between different enumeration types (C++ only). -.TP -.B \-Wlong-long -Warn if -.B long long \c -type is used. This is default. To inhibit -the warning messages, use flag `\|\c -.B \-Wno\-long\-long\c -\&\|'. Flags `\|\c -.B \-W\-long\-long\c -\&\|' and `\|\c -.B \-Wno\-long\-long\c -\&\|' are taken into account only when flag `\|\c -.B \-pedantic\c -\&\|' is used. -.TP -.B \-Woverloaded\-virtual -(C++ only.) -In a derived class, the definitions of virtual functions must match -the type signature of a virtual function declared in the base class. -Use this option to request warnings when a derived class declares a -function that may be an erroneous attempt to define a virtual -function: that is, warn when a function with the same name as a -virtual function in the base class, but with a type signature that -doesn't match any virtual functions from the base class. -.TP -.B \-Winline -Warn if a function can not be inlined, and either it was declared as inline, -or else the -.B \-finline\-functions -option was given. -.TP -.B \-Werror -Treat warnings as errors; abort compilation after any warning. -.SH DEBUGGING OPTIONS -GNU CC has various special options that are used for debugging -either your program or GCC: -.TP -.B \-g -Produce debugging information in the operating system's native format -(stabs, COFF, XCOFF, or DWARF). GDB can work with this debugging -information. -.Sp -On most systems that use stabs format, `\|\c -.B \-g\c -\&\|' enables use of extra -debugging information that only GDB can use; this extra information -makes debugging work better in GDB but will probably make other debuggers -crash or -refuse to read the program. If you want to control for certain whether -to generate the extra information, use `\|\c -.B \-gstabs+\c -\&\|', `\|\c -.B \-gstabs\c -\&\|', -`\|\c -.B \-gxcoff+\c -\&\|', `\|\c -.B \-gxcoff\c -\&\|', `\|\c -.B \-gdwarf+\c -\&\|', or `\|\c -.B \-gdwarf\c -\&\|' -(see below). -.Sp -Unlike most other C compilers, GNU CC allows you to use `\|\c -.B \-g\c -\&\|' with -`\|\c -.B \-O\c -\&\|'. The shortcuts taken by optimized code may occasionally -produce surprising results: some variables you declared may not exist -at all; flow of control may briefly move where you did not expect it; -some statements may not be executed because they compute constant -results or their values were already at hand; some statements may -execute in different places because they were moved out of loops. -.Sp -Nevertheless it proves possible to debug optimized output. This makes -it reasonable to use the optimizer for programs that might have bugs. -.PP -The following options are useful when GNU CC is generated with the -capability for more than one debugging format. -.TP -.B \-ggdb -Produce debugging information in the native format (if that is supported), -including GDB extensions if at all possible. -.TP -.B \-gstabs -Produce debugging information in stabs format (if that is supported), -without GDB extensions. This is the format used by DBX on most BSD -systems. -.TP -.B \-gstabs+ -Produce debugging information in stabs format (if that is supported), -using GNU extensions understood only by the GNU debugger (GDB). The -use of these extensions is likely to make other debuggers crash or -refuse to read the program. -.TP -.B \-gcoff -Produce debugging information in COFF format (if that is supported). -This is the format used by SDB on most System V systems prior to -System V Release 4. -.TP -.B \-gxcoff -Produce debugging information in XCOFF format (if that is supported). -This is the format used by the DBX debugger on IBM RS/6000 systems. -.TP -.B \-gxcoff+ -Produce debugging information in XCOFF format (if that is supported), -using GNU extensions understood only by the GNU debugger (GDB). The -use of these extensions is likely to make other debuggers crash or -refuse to read the program. -.TP -.B \-gdwarf -Produce debugging information in DWARF format (if that is supported). -This is the format used by SDB on most System V Release 4 systems. -.TP -.B \-gdwarf+ -Produce debugging information in DWARF format (if that is supported), -using GNU extensions understood only by the GNU debugger (GDB). The -use of these extensions is likely to make other debuggers crash or -refuse to read the program. -.PP -.BI "\-g" "level" -.br -.BI "\-ggdb" "level" -.br -.BI "\-gstabs" "level" -.br -.BI "\-gcoff" "level" -.BI "\-gxcoff" "level" -.TP -.BI "\-gdwarf" "level" -Request debugging information and also use \c -.I level\c -\& to specify how -much information. The default level is 2. -.Sp -Level 1 produces minimal information, enough for making backtraces in -parts of the program that you don't plan to debug. This includes -descriptions of functions and external variables, but no information -about local variables and no line numbers. -.Sp -Level 3 includes extra information, such as all the macro definitions -present in the program. Some debuggers support macro expansion when -you use `\|\c -.B \-g3\c -\&\|'. -.TP -.B \-p -Generate extra code to write profile information suitable for the -analysis program \c -.B prof\c -\&. -.TP -.B \-pg -Generate extra code to write profile information suitable for the -analysis program \c -.B gprof\c -\&. -.TP -.B \-a -Generate extra code to write profile information for basic blocks, -which will record the number of times each basic block is executed. -This data could be analyzed by a program like \c -.B tcov\c -\&. Note, -however, that the format of the data is not what \c -.B tcov\c -\& expects. -Eventually GNU \c -.B gprof\c -\& should be extended to process this data. -.TP -.B \-ax -Generate extra code to read basic block profiling parameters from -file `bb.in' and write profiling results to file `bb.out'. -`bb.in' contains a list of functions. Whenever a function on the list -is entered, profiling is turned on. When the outmost function is left, -profiling is turned off. If a function name is prefixed with `-' -the function is excluded from profiling. If a function name is not -unique it can be disambiguated by writing -`/path/filename.d:functionname'. `bb.out' will list some available -filenames. -Four function names have a special meaning: -`__bb_jumps__' will cause jump frequencies to be written to `bb.out'. -`__bb_trace__' will cause the sequence of basic blocks to be piped -into `gzip' and written to file `bbtrace.gz'. -`__bb_hidecall__' will cause call instructions to be excluded from -the trace. -`__bb_showret__' will cause return instructions to be included in -the trace. -.TP -.BI "\-d" "letters" -Says to make debugging dumps during compilation at times specified by -.I letters\c -\&. This is used for debugging the compiler. The file names -for most of the dumps are made by appending a word to the source file -name (e.g. `\|\c -.B foo.c.rtl\c -\&\|' or `\|\c -.B foo.c.jump\c -\&\|'). -.TP -.B \-dM -Dump all macro definitions, at the end of preprocessing, and write no -output. -.TP -.B \-dN -Dump all macro names, at the end of preprocessing. -.TP -.B \-dD -Dump all macro definitions, at the end of preprocessing, in addition to -normal output. -.TP -.B \-dy -Dump debugging information during parsing, to standard error. -.TP -.B \-dr -Dump after RTL generation, to `\|\c -.I file\c -.B \&.rtl\c -\&\|'. -.TP -.B \-dx -Just generate RTL for a function instead of compiling it. Usually used -with `\|\c -.B r\c -\&\|'. -.TP -.B \-dj -Dump after first jump optimization, to `\|\c -.I file\c -.B \&.jump\c -\&\|'. -.TP -.B \-ds -Dump after CSE (including the jump optimization that sometimes -follows CSE), to `\|\c -.I file\c -.B \&.cse\c -\&\|'. -.TP -.B \-dL -Dump after loop optimization, to `\|\c -.I file\c -.B \&.loop\c -\&\|'. -.TP -.B \-dt -Dump after the second CSE pass (including the jump optimization that -sometimes follows CSE), to `\|\c -.I file\c -.B \&.cse2\c -\&\|'. -.TP -.B \-df -Dump after flow analysis, to `\|\c -.I file\c -.B \&.flow\c -\&\|'. -.TP -.B \-dc -Dump after instruction combination, to `\|\c -.I file\c -.B \&.combine\c -\&\|'. -.TP -.B \-dS -Dump after the first instruction scheduling pass, to -`\|\c -.I file\c -.B \&.sched\c -\&\|'. -.TP -.B \-dl -Dump after local register allocation, to `\|\c -.I file\c -.B \&.lreg\c -\&\|'. -.TP -.B \-dg -Dump after global register allocation, to `\|\c -.I file\c -.B \&.greg\c -\&\|'. -.TP -.B \-dR -Dump after the second instruction scheduling pass, to -`\|\c -.I file\c -.B \&.sched2\c -\&\|'. -.TP -.B \-dJ -Dump after last jump optimization, to `\|\c -.I file\c -.B \&.jump2\c -\&\|'. -.TP -.B \-dd -Dump after delayed branch scheduling, to `\|\c -.I file\c -.B \&.dbr\c -\&\|'. -.TP -.B \-dk -Dump after conversion from registers to stack, to `\|\c -.I file\c -.B \&.stack\c -\&\|'. -.TP -.B \-da -Produce all the dumps listed above. -.TP -.B \-dm -Print statistics on memory usage, at the end of the run, to -standard error. -.TP -.B \-dp -Annotate the assembler output with a comment indicating which -pattern and alternative was used. -.TP -.B \-fpretend\-float -When running a cross-compiler, pretend that the target machine uses the -same floating point format as the host machine. This causes incorrect -output of the actual floating constants, but the actual instruction -sequence will probably be the same as GNU CC would make when running on -the target machine. -.TP -.B \-save\-temps -Store the usual \*(lqtemporary\*(rq intermediate files permanently; place them -in the current directory and name them based on the source file. Thus, -compiling `\|\c -.B foo.c\c -\&\|' with `\|\c -.B \-c \-save\-temps\c -\&\|' would produce files -`\|\c -.B foo.cpp\c -\&\|' and `\|\c -.B foo.s\c -\&\|', as well as `\|\c -.B foo.o\c -\&\|'. -.TP -.BI "\-print\-file\-name=" "library" -Print the full absolute name of the library file \|\c -.nh -.I library -.hy -\&\| that -would be used when linking\(em\&and do not do anything else. With this -option, GNU CC does not compile or link anything; it just prints the -file name. -.TP -.B \-print\-libgcc\-file\-name -Same as `\|\c -.B \-print\-file\-name=libgcc.a\c -\&\|'. -.TP -.BI "\-print\-prog\-name=" "program" -Like `\|\c -.B \-print\-file\-name\c -\&\|', but searches for a program such as `\|\c -cpp\c -\&\|'. -.SH OPTIMIZATION OPTIONS -These options control various sorts of optimizations: -.TP -.B \-O -.TP -.B \-O1 -Optimize. Optimizing compilation takes somewhat more time, and a lot -more memory for a large function. -.Sp -Without `\|\c -.B \-O\c -\&\|', the compiler's goal is to reduce the cost of -compilation and to make debugging produce the expected results. -Statements are independent: if you stop the program with a breakpoint -between statements, you can then assign a new value to any variable or -change the program counter to any other statement in the function and -get exactly the results you would expect from the source code. -.Sp -Without `\|\c -.B \-O\c -\&\|', only variables declared \c -.B register\c -\& are -allocated in registers. The resulting compiled code is a little worse -than produced by PCC without `\|\c -.B \-O\c -\&\|'. -.Sp -With `\|\c -.B \-O\c -\&\|', the compiler tries to reduce code size and execution -time. -.Sp -When you specify `\|\c -.B \-O\c -\&\|', the two options `\|\c -.B \-fthread\-jumps\c -\&\|' and `\|\c -.B \-fdefer\-pop\c -\&\|' are turned on. On machines that have delay slots, the `\|\c -.B \-fdelayed\-branch\c -\&\|' option is turned on. For those machines that can support debugging even -without a frame pointer, the `\|\c -.B \-fomit\-frame\-pointer\c -\&\|' option is turned on. On some machines other flags may also be turned on. -.TP -.B \-O2 -Optimize even more. Nearly all supported optimizations that do not -involve a space-speed tradeoff are performed. Loop unrolling and function -inlining are not done, for example. As compared to -.B \-O\c -\&, -this option increases both compilation time and the performance of the -generated code. -.TP -.B \-O3 -Optimize yet more. This turns on everything -.B \-O2 -does, along with also turning on -.B \-finline\-functions. -.TP -.B \-O0 -Do not optimize. -.Sp -If you use multiple -.B \-O -options, with or without level numbers, the last such option is the -one that is effective. -.PP -Options of the form `\|\c -.B \-f\c -.I flag\c -\&\c -\&\|' specify machine-independent -flags. Most flags have both positive and negative forms; the negative -form of `\|\c -.B \-ffoo\c -\&\|' would be `\|\c -.B \-fno\-foo\c -\&\|'. The following list shows -only one form\(em\&the one which is not the default. -You can figure out the other form by either removing `\|\c -.B no\-\c -\&\|' or -adding it. -.TP -.B \-ffloat\-store -Do not store floating point variables in registers. This -prevents undesirable excess precision on machines such as the -68000 where the floating registers (of the 68881) keep more -precision than a \c -.B double\c -\& is supposed to have. -.Sp -For most programs, the excess precision does only good, but a few -programs rely on the precise definition of IEEE floating point. -Use `\|\c -.B \-ffloat\-store\c -\&\|' for such programs. -.TP -.B \-fmemoize\-lookups -.TP -.B \-fsave\-memoized -Use heuristics to compile faster (C++ only). These heuristics are not -enabled by default, since they are only effective for certain input -files. Other input files compile more slowly. -.Sp -The first time the compiler must build a call to a member function (or -reference to a data member), it must (1) determine whether the class -implements member functions of that name; (2) resolve which member -function to call (which involves figuring out what sorts of type -conversions need to be made); and (3) check the visibility of the member -function to the caller. All of this adds up to slower compilation. -Normally, the second time a call is made to that member function (or -reference to that data member), it must go through the same lengthy -process again. This means that code like this -.Sp -\& cout << "This " << p << " has " << n << " legs.\en"; -.Sp -makes six passes through all three steps. By using a software cache, -a \*(lqhit\*(rq significantly reduces this cost. Unfortunately, using the -cache introduces another layer of mechanisms which must be implemented, -and so incurs its own overhead. `\|\c -.B \-fmemoize\-lookups\c -\&\|' enables -the software cache. -.Sp -Because access privileges (visibility) to members and member functions -may differ from one function context to the next, -.B g++ -may need to flush the cache. With the `\|\c -.B \-fmemoize\-lookups\c -\&\|' flag, the cache is flushed after every -function that is compiled. The `\|\c -\-fsave\-memoized\c -\&\|' flag enables the same software cache, but when the compiler -determines that the context of the last function compiled would yield -the same access privileges of the next function to compile, it -preserves the cache. -This is most helpful when defining many member functions for the same -class: with the exception of member functions which are friends of -other classes, each member function has exactly the same access -privileges as every other, and the cache need not be flushed. -.TP -.B \-fno\-default\-inline -Don't make member functions inline by default merely because they are -defined inside the class scope (C++ only). -.TP -.B \-fno\-defer\-pop -Always pop the arguments to each function call as soon as that -function returns. For machines which must pop arguments after a -function call, the compiler normally lets arguments accumulate on the -stack for several function calls and pops them all at once. -.TP -.B \-fforce\-mem -Force memory operands to be copied into registers before doing -arithmetic on them. This may produce better code by making all -memory references potential common subexpressions. When they are -not common subexpressions, instruction combination should -eliminate the separate register-load. I am interested in hearing -about the difference this makes. -.TP -.B \-fforce\-addr -Force memory address constants to be copied into registers before -doing arithmetic on them. This may produce better code just as -`\|\c -.B \-fforce\-mem\c -\&\|' may. I am interested in hearing about the -difference this makes. -.TP -.B \-fomit\-frame\-pointer -Don't keep the frame pointer in a register for functions that -don't need one. This avoids the instructions to save, set up and -restore frame pointers; it also makes an extra register available -in many functions. \c -.I It also makes debugging impossible on most machines\c -\&. -.Sp -On some machines, such as the Vax, this flag has no effect, because -the standard calling sequence automatically handles the frame pointer -and nothing is saved by pretending it doesn't exist. The -machine-description macro \c -.B FRAME_POINTER_REQUIRED\c -\& controls -whether a target machine supports this flag. -.TP -.B \-finline\-functions -Integrate all simple functions into their callers. The compiler -heuristically decides which functions are simple enough to be worth -integrating in this way. -.Sp -If all calls to a given function are integrated, and the function is -declared \c -.B static\c -\&, then GCC normally does not output the function as -assembler code in its own right. -.TP -.B \-fcaller\-saves -Enable values to be allocated in registers that will be clobbered by -function calls, by emitting extra instructions to save and restore the -registers around such calls. Such allocation is done only when it -seems to result in better code than would otherwise be produced. -.Sp -This option is enabled by default on certain machines, usually those -which have no call-preserved registers to use instead. -.TP -.B \-fkeep\-inline\-functions -Even if all calls to a given function are integrated, and the function -is declared \c -.B static\c -\&, nevertheless output a separate run-time -callable version of the function. -.TP -.B \-fno\-function\-cse -Do not put function addresses in registers; make each instruction that -calls a constant function contain the function's address explicitly. -.Sp -This option results in less efficient code, but some strange hacks -that alter the assembler output may be confused by the optimizations -performed when this option is not used. -.TP -.B \-fno\-peephole -Disable any machine-specific peephole optimizations. -.TP -.B \-ffast-math -This option allows GCC to violate some ANSI or IEEE rules/specifications -in the interest of optimizing code for speed. For example, it allows -the compiler to assume arguments to the \c -.B sqrt\c -\& function are -non-negative numbers. -.Sp -This option should never be turned on by any `\|\c -.B \-O\c -\&\|' option since -it can result in incorrect output for programs which depend on -an exact implementation of IEEE or ANSI rules/specifications for -math functions. -.PP -The following options control specific optimizations. The `\|\c -.B \-O2\c -\&\|' -option turns on all of these optimizations except `\|\c -.B \-funroll\-loops\c -\&\|' -and `\|\c -.B \-funroll\-all\-loops\c -\&\|'. -.PP -The `\|\c -.B \-O\c -\&\|' option usually turns on -the `\|\c -.B \-fthread\-jumps\c -\&\|' and `\|\c -.B \-fdelayed\-branch\c -\&\|' options, but -specific machines may change the default optimizations. -.PP -You can use the following flags in the rare cases when \*(lqfine-tuning\*(rq -of optimizations to be performed is desired. -.TP -.B \-fstrength\-reduce -Perform the optimizations of loop strength reduction and -elimination of iteration variables. -.TP -.B \-fthread\-jumps -Perform optimizations where we check to see if a jump branches to a -location where another comparison subsumed by the first is found. If -so, the first branch is redirected to either the destination of the -second branch or a point immediately following it, depending on whether -the condition is known to be true or false. -.TP -.B \-funroll\-loops -Perform the optimization of loop unrolling. This is only done for loops -whose number of iterations can be determined at compile time or run time. -.TP -.B \-funroll\-all\-loops -Perform the optimization of loop unrolling. This is done for all loops. -This usually makes programs run more slowly. -.TP -.B \-fcse\-follow\-jumps -In common subexpression elimination, scan through jump instructions -when the target of the jump is not reached by any other path. For -example, when CSE encounters an \c -.B if\c -\& statement with an -.B else\c -\& clause, CSE will follow the jump when the condition -tested is false. -.TP -.B \-fcse\-skip\-blocks -This is similar to `\|\c -.B \-fcse\-follow\-jumps\c -\&\|', but causes CSE to -follow jumps which conditionally skip over blocks. When CSE -encounters a simple \c -.B if\c -\& statement with no else clause, -`\|\c -.B \-fcse\-skip\-blocks\c -\&\|' causes CSE to follow the jump around the -body of the \c -.B if\c -\&. -.TP -.B \-frerun\-cse\-after\-loop -Re-run common subexpression elimination after loop optimizations has been -performed. -.TP -.B \-felide\-constructors -Elide constructors when this seems plausible (C++ only). With this -flag, GNU C++ initializes \c -.B y\c -\& directly from the call to \c -.B foo -without going through a temporary in the following code: -.Sp -A foo (); -A y = foo (); -.Sp -Without this option, GNU C++ first initializes \c -.B y\c -\& by calling the -appropriate constructor for type \c -.B A\c -\&; then assigns the result of -.B foo\c -\& to a temporary; and, finally, replaces the initial value of -`\|\c -.B y\c -\&\|' with the temporary. -.Sp -The default behavior (`\|\c -.B \-fno\-elide\-constructors\c -\&\|') is specified by -the draft ANSI C++ standard. If your program's constructors have side -effects, using `\|\c -.B \-felide-constructors\c -\&\|' can make your program act -differently, since some constructor calls may be omitted. -.TP -.B \-fexpensive\-optimizations -Perform a number of minor optimizations that are relatively expensive. -.TP -.B \-fdelayed\-branch -If supported for the target machine, attempt to reorder instructions -to exploit instruction slots available after delayed branch -instructions. -.TP -.B \-fschedule\-insns -If supported for the target machine, attempt to reorder instructions to -eliminate execution stalls due to required data being unavailable. This -helps machines that have slow floating point or memory load instructions -by allowing other instructions to be issued until the result of the load -or floating point instruction is required. -.TP -.B \-fschedule\-insns2 -Similar to `\|\c -.B \-fschedule\-insns\c -\&\|', but requests an additional pass of -instruction scheduling after register allocation has been done. This is -especially useful on machines with a relatively small number of -registers and where memory load instructions take more than one cycle. -.SH TARGET OPTIONS -By default, GNU CC compiles code for the same type of machine that you -are using. However, it can also be installed as a cross-compiler, to -compile for some other type of machine. In fact, several different -configurations of GNU CC, for different target machines, can be -installed side by side. Then you specify which one to use with the -`\|\c -.B \-b\c -\&\|' option. -.PP -In addition, older and newer versions of GNU CC can be installed side -by side. One of them (probably the newest) will be the default, but -you may sometimes wish to use another. -.TP -.BI "\-b " "machine" -The argument \c -.I machine\c -\& specifies the target machine for compilation. -This is useful when you have installed GNU CC as a cross-compiler. -.Sp -The value to use for \c -.I machine\c -\& is the same as was specified as the -machine type when configuring GNU CC as a cross-compiler. For -example, if a cross-compiler was configured with `\|\c -.B configure -i386v\c -\&\|', meaning to compile for an 80386 running System V, then you -would specify `\|\c -.B \-b i386v\c -\&\|' to run that cross compiler. -.Sp -When you do not specify `\|\c -.B \-b\c -\&\|', it normally means to compile for -the same type of machine that you are using. -.TP -.BI "\-V " "version" -The argument \c -.I version\c -\& specifies which version of GNU CC to run. -This is useful when multiple versions are installed. For example, -.I version\c -\& might be `\|\c -.B 2.0\c -\&\|', meaning to run GNU CC version 2.0. -.Sp -The default version, when you do not specify `\|\c -.B \-V\c -\&\|', is controlled -by the way GNU CC is installed. Normally, it will be a version that -is recommended for general use. -.SH MACHINE DEPENDENT OPTIONS -Each of the target machine types can have its own special options, -starting with `\|\c -.B \-m\c -\&\|', to choose among various hardware models or -configurations\(em\&for example, 68010 vs 68020, floating coprocessor or -none. A single installed version of the compiler can compile for any -model or configuration, according to the options specified. -.PP -Some configurations of the compiler also support additional special -options, usually for command-line compatibility with other compilers on -the same platform. -.PP -These are the `\|\c -.B \-m\c -\&\|' options defined for the 68000 series: -.TP -.B \-m68000 -.TP -.B \-mc68000 -Generate output for a 68000. This is the default when the compiler is -configured for 68000-based systems. -.TP -.B \-m68020 -.TP -.B \-mc68020 -Generate output for a 68020 (rather than a 68000). This is the -default when the compiler is configured for 68020-based systems. -.TP -.B \-m68881 -Generate output containing 68881 instructions for floating point. -This is the default for most 68020-based systems unless -.B \-nfp -was specified when the compiler was configured. -.TP -.B \-m68030 -Generate output for a 68030. This is the default when the compiler is -configured for 68030-based systems. -.TP -.B \-m68040 -Generate output for a 68040. This is the default when the compiler is -configured for 68040-based systems. -.TP -.B \-m68020\-40 -Generate output for a 68040, without using any of the new instructions. -This results in code which can run relatively efficiently on either a -68020/68881 or a 68030 or a 68040. -.TP -.B \-mfpa -Generate output containing Sun FPA instructions for floating point. -.TP -.B \-msoft\-float -Generate output containing library calls for floating point. -.I -WARNING: -the requisite libraries are not part of GNU CC. Normally the -facilities of the machine's usual C compiler are used, but this can't -be done directly in cross-compilation. You must make your own -arrangements to provide suitable library functions for cross-compilation. -.TP -.B \-mshort -Consider type \c -.B int\c -\& to be 16 bits wide, like \c -.B short int\c -\&. -.TP -.B \-mnobitfield -Do not use the bit-field instructions. `\|\c -.B \-m68000\c -\&\|' implies -`\|\c -.B \-mnobitfield\c -\&\|'. -.TP -.B \-mbitfield -Do use the bit-field instructions. `\|\c -.B \-m68020\c -\&\|' implies -`\|\c -.B \-mbitfield\c -\&\|'. This is the default if you use the unmodified -sources. -.TP -.B \-mrtd -Use a different function-calling convention, in which functions -that take a fixed number of arguments return with the \c -.B rtd -instruction, which pops their arguments while returning. This -saves one instruction in the caller since there is no need to pop -the arguments there. -.Sp -This calling convention is incompatible with the one normally -used on Unix, so you cannot use it if you need to call libraries -compiled with the Unix compiler. -.Sp -Also, you must provide function prototypes for all functions that -take variable numbers of arguments (including \c -.B printf\c -\&); -otherwise incorrect code will be generated for calls to those -functions. -.Sp -In addition, seriously incorrect code will result if you call a -function with too many arguments. (Normally, extra arguments are -harmlessly ignored.) -.Sp -The \c -.B rtd\c -\& instruction is supported by the 68010 and 68020 -processors, but not by the 68000. -.PP -These `\|\c -.B \-m\c -\&\|' options are defined for the Vax: -.TP -.B \-munix -Do not output certain jump instructions (\c -.B aobleq\c -\& and so on) -that the Unix assembler for the Vax cannot handle across long -ranges. -.TP -.B \-mgnu -Do output those jump instructions, on the assumption that you -will assemble with the GNU assembler. -.TP -.B \-mg -Output code for g-format floating point numbers instead of d-format. -.PP -These `\|\c -.B \-m\c -\&\|' switches are supported on the SPARC: -.PP -.B \-mfpu -.TP -.B \-mhard\-float -Generate output containing floating point instructions. This is the -default. -.PP -.B \-mno\-fpu -.TP -.B \-msoft\-float -Generate output containing library calls for floating point. -.I Warning: -there is no GNU floating-point library for SPARC. -Normally the facilities of the machine's usual C compiler are used, but -this cannot be done directly in cross-compilation. You must make your -own arrangements to provide suitable library functions for -cross-compilation. -.Sp -.B \-msoft\-float -changes the calling convention in the output file; -therefore, it is only useful if you compile -.I all -of a program with this option. -.PP -.B \-mno\-epilogue -.TP -.B \-mepilogue -With -.B \-mepilogue -(the default), the compiler always emits code for -function exit at the end of each function. Any function exit in -the middle of the function (such as a return statement in C) will -generate a jump to the exit code at the end of the function. -.Sp -With -.BR \-mno\-epilogue , -the compiler tries to emit exit code inline at every function exit. -.PP -.B \-mno\-v8 -.TP -.B \-mv8 -.TP -.B \-msparclite -These three options select variations on the SPARC architecture. -.Sp -By default (unless specifically configured for the Fujitsu SPARClite), -GCC generates code for the v7 variant of the SPARC architecture. -.Sp -.B \-mv8 -will give you SPARC v8 code. The only difference from v7 -code is that the compiler emits the integer multiply and integer -divide instructions which exist in SPARC v8 but not in SPARC v7. -.Sp -.B \-msparclite -will give you SPARClite code. This adds the integer -multiply, integer divide step and scan (ffs) instructions which -exist in SPARClite but not in SPARC v7. -.PP -.B \-mcypress -.TP -.B \-msupersparc -These two options select the processor for which the code is optimised. -.Sp -With -.B \-mcypress -(the default), the compiler optimises code for the Cypress CY7C602 chip, as -used in the SparcStation/SparcServer 3xx series. This is also appropriate for -the older SparcStation 1, 2, IPX etc. -.Sp -With -.B \-msupersparc -the compiler optimises code for the SuperSparc cpu, as used in the SparcStation -10, 1000 and 2000 series. This flag also enables use of the full SPARC v8 -instruction set. -.PP -These `\|\c -.B \-m\c -\&\|' options are defined for the Convex: -.TP -.B \-mc1 -Generate output for a C1. This is the default when the compiler is -configured for a C1. -.TP -.B \-mc2 -Generate output for a C2. This is the default when the compiler is -configured for a C2. -.TP -.B \-margcount -Generate code which puts an argument count in the word preceding each -argument list. Some nonportable Convex and Vax programs need this word. -(Debuggers don't, except for functions with variable-length argument -lists; this info is in the symbol table.) -.TP -.B \-mnoargcount -Omit the argument count word. This is the default if you use the -unmodified sources. -.PP -These `\|\c -.B \-m\c -\&\|' options are defined for the AMD Am29000: -.TP -.B \-mdw -Generate code that assumes the DW bit is set, i.e., that byte and -halfword operations are directly supported by the hardware. This is the -default. -.TP -.B \-mnodw -Generate code that assumes the DW bit is not set. -.TP -.B \-mbw -Generate code that assumes the system supports byte and halfword write -operations. This is the default. -.TP -.B \-mnbw -Generate code that assumes the systems does not support byte and -halfword write operations. This implies `\|\c -.B \-mnodw\c -\&\|'. -.TP -.B \-msmall -Use a small memory model that assumes that all function addresses are -either within a single 256 KB segment or at an absolute address of less -than 256K. This allows the \c -.B call\c -\& instruction to be used instead -of a \c -.B const\c -\&, \c -.B consth\c -\&, \c -.B calli\c -\& sequence. -.TP -.B \-mlarge -Do not assume that the \c -.B call\c -\& instruction can be used; this is the -default. -.TP -.B \-m29050 -Generate code for the Am29050. -.TP -.B \-m29000 -Generate code for the Am29000. This is the default. -.TP -.B \-mkernel\-registers -Generate references to registers \c -.B gr64-gr95\c -\& instead of -.B gr96-gr127\c -\&. This option can be used when compiling kernel code -that wants a set of global registers disjoint from that used by -user-mode code. -.Sp -Note that when this option is used, register names in `\|\c -.B \-f\c -\&\|' flags -must use the normal, user-mode, names. -.TP -.B \-muser\-registers -Use the normal set of global registers, \c -.B gr96-gr127\c -\&. This is the -default. -.TP -.B \-mstack\-check -Insert a call to \c -.B _\|_msp_check\c -\& after each stack adjustment. This -is often used for kernel code. -.PP -These `\|\c -.B \-m\c -\&\|' options are defined for Motorola 88K architectures: -.TP -.B \-m88000 -Generate code that works well on both the m88100 and the -m88110. -.TP -.B \-m88100 -Generate code that works best for the m88100, but that also -runs on the m88110. -.TP -.B \-m88110 -Generate code that works best for the m88110, and may not run -on the m88100. -.TP -.B \-midentify\-revision -Include an \c -.B ident\c -\& directive in the assembler output recording the -source file name, compiler name and version, timestamp, and compilation -flags used. -.TP -.B \-mno\-underscores -In assembler output, emit symbol names without adding an underscore -character at the beginning of each name. The default is to use an -underscore as prefix on each name. -.TP -.B \-mno\-check\-zero\-division -.TP -.B \-mcheck\-zero\-division -Early models of the 88K architecture had problems with division by zero; -in particular, many of them didn't trap. Use these options to avoid -including (or to include explicitly) additional code to detect division -by zero and signal an exception. All GCC configurations for the 88K use -`\|\c -.B \-mcheck\-zero\-division\c -\&\|' by default. -.TP -.B \-mocs\-debug\-info -.TP -.B \-mno\-ocs\-debug\-info -Include (or omit) additional debugging information (about -registers used in each stack frame) as specified in the 88Open Object -Compatibility Standard, \*(lqOCS\*(rq. This extra information is not needed -by GDB. The default for DG/UX, SVr4, and Delta 88 SVr3.2 is to -include this information; other 88k configurations omit this information -by default. -.TP -.B \-mocs\-frame\-position -.TP -.B \-mno\-ocs\-frame\-position -Force (or do not require) register values to be stored in a particular -place in stack frames, as specified in OCS. The DG/UX, Delta88 SVr3.2, -and BCS configurations use `\|\c -.B \-mocs\-frame\-position\c -\&\|'; other 88k -configurations have the default `\|\c -.B \-mno\-ocs\-frame\-position\c -\&\|'. -.TP -.B \-moptimize\-arg\-area -.TP -.B \-mno\-optimize\-arg\-area -Control how to store function arguments in stack frames. -`\|\c -.B \-moptimize\-arg\-area\c -\&\|' saves space, but may break some -debuggers (not GDB). `\|\c -.B \-mno\-optimize\-arg\-area\c -\&\|' conforms better to -standards. By default GCC does not optimize the argument area. -.TP -.BI "\-mshort\-data\-" "num" -.I num -Generate smaller data references by making them relative to \c -.B r0\c -\&, -which allows loading a value using a single instruction (rather than the -usual two). You control which data references are affected by -specifying \c -.I num\c -\& with this option. For example, if you specify -`\|\c -.B \-mshort\-data\-512\c -\&\|', then the data references affected are those -involving displacements of less than 512 bytes. -`\|\c -.B \-mshort\-data\-\c -.I num\c -\&\c -\&\|' is not effective for \c -.I num\c -\& greater -than 64K. -.PP -.B \-mserialize-volatile -.TP -.B \-mno-serialize-volatile -Do, or do not, generate code to guarantee sequential consistency of -volatile memory references. -.Sp -GNU CC always guarantees consistency by default, for the preferred -processor submodel. How this is done depends on the submodel. -.Sp -The m88100 processor does not reorder memory references and so always -provides sequential consistency. If you use `\|\c -.B \-m88100\c -\&\|', GNU CC does -not generate any special instructions for sequential consistency. -.Sp -The order of memory references made by the m88110 processor does not -always match the order of the instructions requesting those references. -In particular, a load instruction may execute before a preceding store -instruction. Such reordering violates sequential consistency of -volatile memory references, when there are multiple processors. When -you use `\|\c -.B \-m88000\c -\&\|' or `\|\c -.B \-m88110\c -\&\|', GNU CC generates special -instructions when appropriate, to force execution in the proper order. -.Sp -The extra code generated to guarantee consistency may affect the -performance of your application. If you know that you can safely forgo -this guarantee, you may use the option `\|\c -.B \-mno-serialize-volatile\c -\&\|'. -.Sp -If you use the `\|\c -.B \-m88100\c -\&\|' option but require sequential consistency -when running on the m88110 processor, you should use -`\|\c -.B \-mserialize-volatile\c -\&\|'. -.PP -.B \-msvr4 -.TP -.B \-msvr3 -Turn on (`\|\c -.B \-msvr4\c -\&\|') or off (`\|\c -.B \-msvr3\c -\&\|') compiler extensions -related to System V release 4 (SVr4). This controls the following: -.TP -\ \ \ \(bu -Which variant of the assembler syntax to emit (which you can select -independently using `\|\c -.B \-mversion\-03.00\c -\&\|'). -.TP -\ \ \ \(bu -`\|\c -.B \-msvr4\c -\&\|' makes the C preprocessor recognize `\|\c -.B #pragma weak\c -\&\|' -.TP -\ \ \ \(bu -`\|\c -.B \-msvr4\c -\&\|' makes GCC issue additional declaration directives used in -SVr4. -.PP -`\|\c -.B \-msvr3\c -\&\|' is the default for all m88K configurations except -the SVr4 configuration. -.TP -.B \-mtrap\-large\-shift -.TP -.B \-mhandle\-large\-shift -Include code to detect bit-shifts of more than 31 bits; respectively, -trap such shifts or emit code to handle them properly. By default GCC -makes no special provision for large bit shifts. -.TP -.B \-muse\-div\-instruction -Very early models of the 88K architecture didn't have a divide -instruction, so GCC avoids that instruction by default. Use this option -to specify that it's safe to use the divide instruction. -.TP -.B \-mversion\-03.00 -In the DG/UX configuration, there are two flavors of SVr4. This option -modifies -.B \-msvr4 -to select whether the hybrid-COFF or real-ELF -flavor is used. All other configurations ignore this option. -.TP -.B \-mwarn\-passed\-structs -Warn when a function passes a struct as an argument or result. -Structure-passing conventions have changed during the evolution of the C -language, and are often the source of portability problems. By default, -GCC issues no such warning. -.PP -These options are defined for the IBM RS6000: -.PP -.B \-mfp\-in\-toc -.TP -.B \-mno\-fp\-in\-toc -Control whether or not floating-point constants go in the Table of -Contents (TOC), a table of all global variable and function addresses. By -default GCC puts floating-point constants there; if the TOC overflows, -`\|\c -.B \-mno\-fp\-in\-toc\c -\&\|' will reduce the size of the TOC, which may avoid -the overflow. -.PP -These `\|\c -.B \-m\c -\&\|' options are defined for the IBM RT PC: -.TP -.B \-min\-line\-mul -Use an in-line code sequence for integer multiplies. This is the -default. -.TP -.B \-mcall\-lib\-mul -Call \c -.B lmul$$\c -\& for integer multiples. -.TP -.B \-mfull\-fp\-blocks -Generate full-size floating point data blocks, including the minimum -amount of scratch space recommended by IBM. This is the default. -.TP -.B \-mminimum\-fp\-blocks -Do not include extra scratch space in floating point data blocks. This -results in smaller code, but slower execution, since scratch space must -be allocated dynamically. -.TP -.B \-mfp\-arg\-in\-fpregs -Use a calling sequence incompatible with the IBM calling convention in -which floating point arguments are passed in floating point registers. -Note that \c -.B varargs.h\c -\& and \c -.B stdargs.h\c -\& will not work with -floating point operands if this option is specified. -.TP -.B \-mfp\-arg\-in\-gregs -Use the normal calling convention for floating point arguments. This is -the default. -.TP -.B \-mhc\-struct\-return -Return structures of more than one word in memory, rather than in a -register. This provides compatibility with the MetaWare HighC (hc) -compiler. Use `\|\c -.B \-fpcc\-struct\-return\c -\&\|' for compatibility with the -Portable C Compiler (pcc). -.TP -.B \-mnohc\-struct\-return -Return some structures of more than one word in registers, when -convenient. This is the default. For compatibility with the -IBM-supplied compilers, use either `\|\c -.B \-fpcc\-struct\-return\c -\&\|' or -`\|\c -.B \-mhc\-struct\-return\c -\&\|'. -.PP -These `\|\c -.B \-m\c -\&\|' options are defined for the MIPS family of computers: -.TP -.BI "\-mcpu=" "cpu-type" -Assume the defaults for the machine type -.I cpu-type -when -scheduling instructions. The default -.I cpu-type -is -.BR default , -which picks the longest cycles times for any of the machines, in order -that the code run at reasonable rates on all MIPS cpu's. Other -choices for -.I cpu-type -are -.BR r2000 , -.BR r3000 , -.BR r4000 , -and -.BR r6000 . -While picking a specific -.I cpu-type -will schedule things appropriately for that particular chip, the -compiler will not generate any code that does not meet level 1 of the -MIPS ISA (instruction set architecture) without the -.B \-mips2 -or -.B \-mips3 -switches being used. -.TP -.B \-mips2 -Issue instructions from level 2 of the MIPS ISA (branch likely, square -root instructions). The -.B \-mcpu=r4000 -or -.B \-mcpu=r6000 -switch must be used in conjunction with -.BR \-mips2 . -.TP -.B \-mips3 -Issue instructions from level 3 of the MIPS ISA (64 bit instructions). -The -.B \-mcpu=r4000 -switch must be used in conjunction with -.BR \-mips2 . -.TP -.B \-mint64 -.TP -.B \-mlong64 -.TP -.B \-mlonglong128 -These options don't work at present. -.TP -.B \-mmips\-as -Generate code for the MIPS assembler, and invoke -.B mips\-tfile -to add normal debug information. This is the default for all -platforms except for the OSF/1 reference platform, using the OSF/rose -object format. If any of the -.BR \-ggdb , -.BR \-gstabs , -or -.B \-gstabs+ -switches are used, the -.B mips\-tfile -program will encapsulate the stabs within MIPS ECOFF. -.TP -.B \-mgas -Generate code for the GNU assembler. This is the default on the OSF/1 -reference platform, using the OSF/rose object format. -.TP -.B \-mrnames -.TP -.B \-mno\-rnames -The -.B \-mrnames -switch says to output code using the MIPS software names for the -registers, instead of the hardware names (ie, -.B a0 -instead of -.BR $4 ). -The GNU assembler does not support the -.B \-mrnames -switch, and the MIPS assembler will be instructed to run the MIPS C -preprocessor over the source file. The -.B \-mno\-rnames -switch is default. -.TP -.B \-mgpopt -.TP -.B \-mno\-gpopt -The -.B \-mgpopt -switch says to write all of the data declarations before the -instructions in the text section, to all the MIPS assembler to -generate one word memory references instead of using two words for -short global or static data items. This is on by default if -optimization is selected. -.TP -.B \-mstats -.TP -.B \-mno\-stats -For each non-inline function processed, the -.B \-mstats -switch causes the compiler to emit one line to the standard error file -to print statistics about the program (number of registers saved, -stack size, etc.). -.TP -.B \-mmemcpy -.TP -.B \-mno\-memcpy -The -.B \-mmemcpy -switch makes all block moves call the appropriate string function -.RB ( memcpy -or -.BR bcopy ) -instead of possibly generating inline code. -.TP -.B \-mmips\-tfile -.TP -.B \-mno\-mips\-tfile -The -.B \-mno\-mips\-tfile -switch causes the compiler not postprocess the object file with the -.B mips\-tfile -program, after the MIPS assembler has generated it to add debug -support. If -.B mips\-tfile -is not run, then no local variables will be available to the debugger. -In addition, -.B stage2 -and -.B stage3 -objects will have the temporary file names passed to the assembler -embedded in the object file, which means the objects will not compare -the same. -.TP -.B \-msoft\-float -Generate output containing library calls for floating point. -.I -WARNING: -the requisite libraries are not part of GNU CC. Normally the -facilities of the machine's usual C compiler are used, but this can't -be done directly in cross-compilation. You must make your own -arrangements to provide suitable library functions for cross-compilation. -.TP -.B \-mhard\-float -Generate output containing floating point instructions. This is the -default if you use the unmodified sources. -.TP -.B \-mfp64 -Assume that the -.B FR -bit in the status word is on, and that there are 32 64-bit floating -point registers, instead of 32 32-bit floating point registers. You -must also specify the -.B \-mcpu=r4000 -and -.B \-mips3 -switches. -.TP -.B \-mfp32 -Assume that there are 32 32-bit floating point registers. This is the -default. -.PP -.B \-mabicalls -.TP -.B \-mno\-abicalls -Emit (or do not emit) the -.BR \&.abicalls , -.BR \&.cpload , -and -.B \&.cprestore -pseudo operations that some System V.4 ports use for position -independent code. -.TP -.B \-mhalf\-pic -.TP -.B \-mno\-half\-pic -The -.B \-mhalf\-pic -switch says to put pointers to extern references into the data section -and load them up, rather than put the references in the text section. -This option does not work at present. -.B -.BI \-G num -Put global and static items less than or equal to -.I num -bytes into the small data or bss sections instead of the normal data -or bss section. This allows the assembler to emit one word memory -reference instructions based on the global pointer -.RB ( gp -or -.BR $28 ), -instead of the normal two words used. By default, -.I num -is 8 when the MIPS assembler is used, and 0 when the GNU -assembler is used. The -.BI \-G num -switch is also passed to the assembler and linker. All modules should -be compiled with the same -.BI \-G num -value. -.TP -.B \-nocpp -Tell the MIPS assembler to not run its preprocessor over user -assembler files (with a `\|\c -.B .s\c -\&\|' suffix) when assembling them. -.PP -These `\|\c -.B \-m\c -\&\|' options are defined for the Intel 80386 family of computers: -.B \-m486 -.TP -.B \-mno\-486 -Control whether or not code is optimized for a 486 instead of an -386. Code generated for a 486 will run on a 386 and vice versa. -.TP -.B \-msoft\-float -Generate output containing library calls for floating point. -.I Warning: -the requisite libraries are not part of GNU CC. -Normally the facilities of the machine's usual C compiler are used, but -this can't be done directly in cross-compilation. You must make your -own arrangements to provide suitable library functions for -cross-compilation. -.Sp -On machines where a function returns floating point results in the 80387 -register stack, some floating point opcodes may be emitted even if -`\|\c -.B \-msoft-float\c -\&\|' is used. -.TP -.B \-mno-fp-ret-in-387 -Do not use the FPU registers for return values of functions. -.Sp -The usual calling convention has functions return values of types -.B float\c -\& and \c -.B double\c -\& in an FPU register, even if there -is no FPU. The idea is that the operating system should emulate -an FPU. -.Sp -The option `\|\c -.B \-mno-fp-ret-in-387\c -\&\|' causes such values to be returned -in ordinary CPU registers instead. -.PP -These `\|\c -.B \-m\c -\&\|' options are defined for the HPPA family of computers: -.TP -.B \-mpa-risc-1-0 -Generate code for a PA 1.0 processor. -.TP -.B \-mpa-risc-1-1 -Generate code for a PA 1.1 processor. -.TP -.B \-mkernel -Generate code which is suitable for use in kernels. Specifically, avoid -.B add\c -\& instructions in which one of the arguments is the DP register; -generate \c -.B addil\c -\& instructions instead. This avoids a rather serious -bug in the HP-UX linker. -.TP -.B \-mshared-libs -Generate code that can be linked against HP-UX shared libraries. This option -is not fully function yet, and is not on by default for any PA target. Using -this option can cause incorrect code to be generated by the compiler. -.TP -.B \-mno-shared-libs -Don't generate code that will be linked against shared libraries. This is -the default for all PA targets. -.TP -.B \-mlong-calls -Generate code which allows calls to functions greater than 256K away from -the caller when the caller and callee are in the same source file. Do -not turn this option on unless code refuses to link with \*(lqbranch out of -range errors\*('' from the linker. -.TP -.B \-mdisable-fpregs -Prevent floating point registers from being used in any manner. This is -necessary for compiling kernels which perform lazy context switching of -floating point registers. If you use this option and attempt to perform -floating point operations, the compiler will abort. -.TP -.B \-mdisable-indexing -Prevent the compiler from using indexing address modes. This avoids some -rather obscure problems when compiling MIG generated code under MACH. -.TP -.B \-mtrailing-colon -Add a colon to the end of label definitions (for ELF assemblers). -.PP -These `\|\c -.B \-m\c -\&\|' options are defined for the Intel 80960 family of computers: -.TP -.BI "\-m" "cpu-type" -Assume the defaults for the machine type -.I cpu-type -for instruction and addressing-mode availability and alignment. -The default -.I cpu-type -is -.BR kb ; -other choices are -.BR ka , -.BR mc , -.BR ca , -.BR cf , -.BR sa , -and -.BR sb . -.TP -.B \-mnumerics -.TP -.B \-msoft\-float -The -.B \-mnumerics -option indicates that the processor does support -floating-point instructions. The -.B \-msoft\-float -option indicates -that floating-point support should not be assumed. -.TP -.B \-mleaf\-procedures -.TP -.B \-mno\-leaf\-procedures -Do (or do not) attempt to alter leaf procedures to be callable with the -.I bal -instruction as well as -.IR call . -This will result in more -efficient code for explicit calls when the -.I bal -instruction can be -substituted by the assembler or linker, but less efficient code in other -cases, such as calls via function pointers, or using a linker that doesn't -support this optimization. -.TP -.B \-mtail\-call -.TP -.B \-mno\-tail\-call -Do (or do not) make additional attempts (beyond those of the -machine-independent portions of the compiler) to optimize tail-recursive -calls into branches. You may not want to do this because the detection of -cases where this is not valid is not totally complete. The default is -.BR \-mno\-tail\-call . -.TP -.B \-mcomplex\-addr -.TP -.B \-mno\-complex\-addr -Assume (or do not assume) that the use of a complex addressing mode is a -win on this implementation of the i960. Complex addressing modes may not -be worthwhile on the K-series, but they definitely are on the C-series. -The default is currently -.B \-mcomplex\-addr -for all processors except -the CB and CC. -.TP -.B \-mcode\-align -.TP -.B \-mno\-code\-align -Align code to 8-byte boundaries for faster fetching (or don't bother). -Currently turned on by default for C-series implementations only. -.TP -.B \-mic\-compat -.TP -.B \-mic2.0\-compat -.TP -.B \-mic3.0\-compat -Enable compatibility with iC960 v2.0 or v3.0. -.TP -.B \-masm\-compat -.TP -.B \-mintel\-asm -Enable compatibility with the iC960 assembler. -.TP -.B \-mstrict\-align -.TP -.B \-mno\-strict\-align -Do not permit (do permit) unaligned accesses. -.TP -.B \-mold\-align -Enable structure-alignment compatibility with Intel's gcc release version -1.3 (based on gcc 1.37). Currently this is buggy in that -.B #pragma align 1 -is always assumed as well, and cannot be turned off. -.PP -These `\|\c -.B \-m\c -\&\|' options are defined for the DEC Alpha implementations: -.TP -.B \-mno-soft-float -.TP -.B \-msoft-float -Use (do not use) the hardware floating-point instructions for -floating-point operations. When \c -.B \-msoft-float\c -\& is specified, -functions in `\|\c -.B libgcc1.c\c -\&\|' will be used to perform floating-point -operations. Unless they are replaced by routines that emulate the -floating-point operations, or compiled in such a way as to call such -emulations routines, these routines will issue floating-point -operations. If you are compiling for an Alpha without floating-point -operations, you must ensure that the library is built so as not to call -them. -.Sp -Note that Alpha implementations without floating-point operations are -required to have floating-point registers. -.TP -.B \-mfp-reg -.TP -.B \-mno-fp-regs -Generate code that uses (does not use) the floating-point register set. -.B \-mno-fp-regs\c -\& implies \c -.B \-msoft-float\c -\&. If the floating-point -register set is not used, floating point operands are passed in integer -registers as if they were integers and floating-point results are passed -in $0 instead of $f0. This is a non-standard calling sequence, so any -function with a floating-point argument or return value called by code -compiled with \c -.B \-mno-fp-regs\c -\& must also be compiled with that -option. -.Sp -A typical use of this option is building a kernel that does not use, -and hence need not save and restore, any floating-point registers. -.PP -These additional options are available on System V Release 4 for -compatibility with other compilers on those systems: -.TP -.B \-G -On SVr4 systems, \c -.B gcc\c -\& accepts the option `\|\c -.B \-G\c -\&\|' (and passes -it to the system linker), for compatibility with other compilers. -However, we suggest you use `\|\c -.B \-symbolic\c -\&\|' or `\|\c -.B \-shared\c -\&\|' as -appropriate, instead of supplying linker options on the \c -.B gcc -command line. -.TP -.B \-Qy -Identify the versions of each tool used by the compiler, in a -.B .ident\c -\& assembler directive in the output. -.TP -.B \-Qn -Refrain from adding \c -.B .ident\c -\& directives to the output file (this is -the default). -.TP -.BI "\-YP," "dirs" -Search the directories \c -.I dirs\c -\&, and no others, for libraries -specified with `\|\c -.B \-l\c -\&\|'. You can separate directory entries in -.I dirs\c -\& from one another with colons. -.TP -.BI "\-Ym," "dir" -Look in the directory \c -.I dir\c -\& to find the M4 preprocessor. -The assembler uses this option. -.SH CODE GENERATION OPTIONS -These machine-independent options control the interface conventions -used in code generation. -.PP -Most of them begin with `\|\c -\-f\c -\&\|'. These options have both positive and negative forms; the negative form -of `\|\c -.B \-ffoo\c -\&\|' would be `\|\c -.B \-fno\-foo\c -\&\|'. In the table below, only -one of the forms is listed\(em\&the one which is not the default. You -can figure out the other form by either removing `\|\c -.B no\-\c -\&\|' or adding -it. -.TP -.B \-fnonnull\-objects -Assume that objects reached through references are not null -(C++ only). -.Sp -Normally, GNU C++ makes conservative assumptions about objects reached -through references. For example, the compiler must check that \c -.B a -is not null in code like the following: -.Sp -obj &a = g (); -a.f (2); -.Sp -Checking that references of this sort have non-null values requires -extra code, however, and it is unnecessary for many programs. You can -use `\|\c -.B \-fnonnull-objects\c -\&\|' to omit the checks for null, if your -program doesn't require checking. -.TP -.B \-fpcc\-struct\-return -Use the same convention for returning \c -.B struct\c -\& and \c -.B union -values that is used by the usual C compiler on your system. This -convention is less efficient for small structures, and on many -machines it fails to be reentrant; but it has the advantage of -allowing intercallability between GCC-compiled code and PCC-compiled -code. -.TP -.B \-freg\-struct\-return -Use the convention that -.B struct -and -.B union -values are returned in registers when possible. This is more -efficient for small structures than -.BR \-fpcc\-struct\-return . -.Sp -If you specify neither -.B \-fpcc\-struct\-return -nor -.BR \-freg\-struct\-return , -GNU CC defaults to whichever convention is standard for the target. -If there is no standard convention, GNU CC defaults to -.BR \-fpcc\-struct\-return . -.TP -.B \-fshort\-enums -Allocate to an \c -.B enum\c -\& type only as many bytes as it needs for the -declared range of possible values. Specifically, the \c -.B enum\c -\& type -will be equivalent to the smallest integer type which has enough room. -.TP -.B \-fshort\-double -Use the same size for -.B double -as for -.B float -\&. -.TP -.B \-fshared\-data -Requests that the data and non-\c -.B const\c -\& variables of this -compilation be shared data rather than private data. The distinction -makes sense only on certain operating systems, where shared data is -shared between processes running the same program, while private data -exists in one copy per process. -.TP -.B \-fno\-common -Allocate even uninitialized global variables in the bss section of the -object file, rather than generating them as common blocks. This has the -effect that if the same variable is declared (without \c -.B extern\c -\&) in -two different compilations, you will get an error when you link them. -The only reason this might be useful is if you wish to verify that the -program will work on other systems which always work this way. -.TP -.B \-fno\-ident -Ignore the `\|\c -.B #ident\c -\&\|' directive. -.TP -.B \-fno\-gnu\-linker -Do not output global initializations (such as C++ constructors and -destructors) in the form used by the GNU linker (on systems where the GNU -linker is the standard method of handling them). Use this option when -you want to use a non-GNU linker, which also requires using the -.B collect2\c -\& program to make sure the system linker includes -constructors and destructors. (\c -.B collect2\c -\& is included in the GNU CC -distribution.) For systems which \c -.I must\c -\& use \c -.B collect2\c -\&, the -compiler driver \c -.B gcc\c -\& is configured to do this automatically. -.TP -.B \-finhibit-size-directive -Don't output a \c -.B .size\c -\& assembler directive, or anything else that -would cause trouble if the function is split in the middle, and the -two halves are placed at locations far apart in memory. This option is -used when compiling `\|\c -.B crtstuff.c\c -\&\|'; you should not need to use it -for anything else. -.TP -.B \-fverbose-asm -Put extra commentary information in the generated assembly code to -make it more readable. This option is generally only of use to those -who actually need to read the generated assembly code (perhaps while -debugging the compiler itself). -.TP -.B \-fvolatile -Consider all memory references through pointers to be volatile. -.TP -.B \-fvolatile\-global -Consider all memory references to extern and global data items to -be volatile. -.TP -.B \-fpic -If supported for the target machines, generate position-independent code, -suitable for use in a shared library. -.TP -.B \-fPIC -If supported for the target machine, emit position-independent code, -suitable for dynamic linking, even if branches need large displacements. -.TP -.BI "\-ffixed\-" "reg" -Treat the register named \c -.I reg\c -\& as a fixed register; generated code -should never refer to it (except perhaps as a stack pointer, frame -pointer or in some other fixed role). -.Sp -.I reg\c -\& must be the name of a register. The register names accepted -are machine-specific and are defined in the \c -.B REGISTER_NAMES -macro in the machine description macro file. -.Sp -This flag does not have a negative form, because it specifies a -three-way choice. -.TP -.BI "\-fcall\-used\-" "reg" -Treat the register named \c -.I reg\c -\& as an allocable register that is -clobbered by function calls. It may be allocated for temporaries or -variables that do not live across a call. Functions compiled this way -will not save and restore the register \c -.I reg\c -\&. -.Sp -Use of this flag for a register that has a fixed pervasive role in the -machine's execution model, such as the stack pointer or frame pointer, -will produce disastrous results. -.Sp -This flag does not have a negative form, because it specifies a -three-way choice. -.TP -.BI "\-fcall\-saved\-" "reg" -Treat the register named \c -.I reg\c -\& as an allocable register saved by -functions. It may be allocated even for temporaries or variables that -live across a call. Functions compiled this way will save and restore -the register \c -.I reg\c -\& if they use it. -.Sp -Use of this flag for a register that has a fixed pervasive role in the -machine's execution model, such as the stack pointer or frame pointer, -will produce disastrous results. -.Sp -A different sort of disaster will result from the use of this flag for -a register in which function values may be returned. -.Sp -This flag does not have a negative form, because it specifies a -three-way choice. -.SH PRAGMAS -Two `\|\c -.B #pragma\c -\&\|' directives are supported for GNU C++, to permit using the same -header file for two purposes: as a definition of interfaces to a given -object class, and as the full definition of the contents of that object class. -.TP -.B #pragma interface -(C++ only.) -Use this directive in header files that define object classes, to save -space in most of the object files that use those classes. Normally, -local copies of certain information (backup copies of inline member -functions, debugging information, and the internal tables that -implement virtual functions) must be kept in each object file that -includes class definitions. You can use this pragma to avoid such -duplication. When a header file containing `\|\c -.B #pragma interface\c -\&\|' is included in a compilation, this auxiliary information -will not be generated (unless the main input source file itself uses -`\|\c -.B #pragma implementation\c -\&\|'). Instead, the object files will contain references to be -resolved at link time. -.TP -.B #pragma implementation -.TP -\fB#pragma implementation "\fP\fIobjects\fP\fB.h"\fP -(C++ only.) -Use this pragma in a main input file, when you want full output from -included header files to be generated (and made globally visible). -The included header file, in turn, should use `\|\c -.B #pragma interface\c -\&\|'. -Backup copies of inline member functions, debugging information, and -the internal tables used to implement virtual functions are all -generated in implementation files. -.Sp -If you use `\|\c -.B #pragma implementation\c -\&\|' with no argument, it applies to an include file with the same -basename as your source file; for example, in `\|\c -.B allclass.cc\c -\&\|', `\|\c -.B #pragma implementation\c -\&\|' by itself is equivalent to `\|\c -.B -#pragma implementation "allclass.h"\c -\&\|'. Use the string argument if you want a single implementation -file to include code from multiple header files. -.Sp -There is no way to split up the contents of a single header file into -multiple implementation files. -.SH FILES -.nf -.ta \w'LIBDIR/g++\-include 'u -file.c C source file -file.h C header (preprocessor) file -file.i preprocessed C source file -file.C C++ source file -file.cc C++ source file -file.cxx C++ source file -file.m Objective-C source file -file.s assembly language file -file.o object file -a.out link edited output -\fITMPDIR\fR/cc\(** temporary files -\fILIBDIR\fR/cpp preprocessor -\fILIBDIR\fR/cc1 compiler for C -\fILIBDIR\fR/cc1plus compiler for C++ -\fILIBDIR\fR/collect linker front end needed on some machines -\fILIBDIR\fR/libgcc.a GCC subroutine library -/lib/crt[01n].o start-up routine -\fILIBDIR\fR/ccrt0 additional start-up routine for C++ -/lib/libc.a standard C library, see -.IR intro (3) -/usr/include standard directory for \fB#include\fP files -\fILIBDIR\fR/include standard gcc directory for \fB#include\fP files -\fILIBDIR\fR/g++\-include additional g++ directory for \fB#include\fP -.Sp -.fi -.I LIBDIR -is usually -.B /usr/local/lib/\c -.IR machine / version . -.br -.I TMPDIR -comes from the environment variable -.B TMPDIR -(default -.B /usr/tmp -if available, else -.B /tmp\c -\&). -.SH "SEE ALSO" -cpp(1), as(1), ld(1), gdb(1), adb(1), dbx(1), sdb(1). -.br -.RB "`\|" gcc "\|', `\|" cpp \|', -.RB "`\|" as "\|', `\|" ld \|', -and -.RB `\| gdb \|' -entries in -.B info\c -\&. -.br -.I -Using and Porting GNU CC (for version 2.0)\c -, Richard M. Stallman; -.I -The C Preprocessor\c -, Richard M. Stallman; -.I -Debugging with GDB: the GNU Source-Level Debugger\c -, Richard M. Stallman and Roland H. Pesch; -.I -Using as: the GNU Assembler\c -, Dean Elsner, Jay Fenlason & friends; -.I -ld: the GNU linker\c -, Steve Chamberlain and Roland Pesch. -.SH BUGS -For instructions on reporting bugs, see the GCC manual. -.SH COPYING -Copyright -.if t \(co -1991, 1992, 1993 Free Software Foundation, Inc. -.PP -Permission is granted to make and distribute verbatim copies of -this manual provided the copyright notice and this permission notice -are preserved on all copies. -.PP -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided that the -entire resulting derived work is distributed under the terms of a -permission notice identical to this one. -.PP -Permission is granted to copy and distribute translations of this -manual into another language, under the above conditions for modified -versions, except that this permission notice may be included in -translations approved by the Free Software Foundation instead of in -the original English. -.SH AUTHORS -See the GNU CC Manual for the contributors to GNU CC. diff --git a/contrib/gcc/ggc-callbacks.c b/contrib/gcc/ggc-callbacks.c deleted file mode 100644 index f831923ee581..000000000000 --- a/contrib/gcc/ggc-callbacks.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Empty GC callbacks to be used by languages that don't support GC. - Copyright (C) 1999, 2000 Free Software Foundation, Inc. - - This file is part of GCC. - - GCC 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. - - GCC 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 GCC; see the file COPYING. If not, write to the Free - Software Foundation, 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. */ - -#include "config.h" -#include "system.h" -#include "rtl.h" -#include "tree.h" -#include "tm_p.h" -#include "ggc.h" - -void ATTRIBUTE_NORETURN -lang_mark_tree (t) - union tree_node *t ATTRIBUTE_UNUSED; -{ - /* If this function is called, we are doing GC. But, this file is - only included in compilers for languages that don't support GC. */ - abort (); -} - diff --git a/contrib/gcc/halfpic.c b/contrib/gcc/halfpic.c deleted file mode 100644 index f491314f99f4..000000000000 --- a/contrib/gcc/halfpic.c +++ /dev/null @@ -1,399 +0,0 @@ -/* OSF/rose half-pic support functions. - Copyright (C) 1992, 1997, 1998, 1999 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC 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. - -GCC 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 GCC; see the file COPYING. If not, write to the Free -Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. */ - -/* The OSF/rose half-pic model assumes that the non-library code does - not need to have full PIC (position independent code), but rather, - that pointers to external references are put into the data section - and dereferenced as normal pointers. References to static data does - not need to be PIC-ized. - - Another optimization is to have the compiler know what symbols are - in the shared libraries, and to only lay down the pointers to - things which in the library proper. */ - -#include "config.h" - -#ifdef HALF_PIC_INIT - -#include "system.h" -#include "tree.h" -#include "rtl.h" -#include "expr.h" -#include "output.h" -#include "obstack.h" -#include "halfpic.h" - -#define obstack_chunk_alloc xmalloc -#define obstack_chunk_free free - -int flag_half_pic = 0; /* Global half-pic flag. */ -int half_pic_number_ptrs = 0; /* # distinct pointers found */ -int half_pic_number_refs = 0; /* # half-pic references */ -int (*ptr_half_pic_address_p) PARAMS ((rtx)) = half_pic_address_p; - -/* Obstack to hold generated pic names. */ -static struct obstack half_pic_obstack; - -/* List of pointers created to pic references. */ - -struct all_refs { - struct all_refs *hash_next; /* next name in hash chain */ - struct all_refs *next; /* next name created */ - int external_p; /* name is an external reference */ - int pointer_p; /* pointer created. */ - const char *ref_name; /* reference name to ptr to real_name */ - int ref_len; /* reference name length */ - const char *real_name; /* real function/data name */ - int real_len; /* strlen (real_name) */ -}; - -static struct all_refs *half_pic_names; - -static const char *half_pic_prefix; -static int half_pic_prefix_len; - - -/* Return the hash bucket of a name or NULL. The hash chain is - organized as a self reorganizing circularly linked chain. It is - assumed that any name passed to use will never be reallocated. For - names in SYMBOL_REF's this is true, because the names are allocated - on the permanent obstack. */ - -#ifndef MAX_HASH_TABLE -#define MAX_HASH_TABLE 1009 -#endif - -#define HASHBITS 30 - -static struct all_refs *half_pic_hash PARAMS ((const char *, int, int)); - -static struct all_refs * -half_pic_hash (name, len, create_p) - const char *name; /* name to hash */ - int len; /* length of the name (or 0 to call strlen) */ - int create_p; /* != 0 to create new hash bucket if new */ -{ - static struct all_refs *hash_table[MAX_HASH_TABLE]; - static struct all_refs zero_all_refs; - - const unsigned char *uname; - int hash; - int i; - int ch; - struct all_refs *first; - struct all_refs *ptr; - - if (len == 0) - len = strlen (name); - - /* Compute hash code */ - uname = (const unsigned char *)name; - ch = uname[0]; - hash = len * 613 + ch; - for (i = 1; i < len; i += 2) - hash = (hash * 613) + uname[i]; - - hash &= (1 << HASHBITS) - 1; - hash %= MAX_HASH_TABLE; - - /* See if the name is in the hash table. */ - ptr = first = hash_table[hash]; - if (ptr) - { - do - { - if (len == ptr->real_len - && ch == *(ptr->real_name) - && !strcmp (name, ptr->real_name)) - { - hash_table[hash] = ptr; - return ptr; - } - - ptr = ptr->hash_next; - } - while (ptr != first); - } - - /* name not in hash table. */ - if (!create_p) - return (struct all_refs *) 0; - - ptr = (struct all_refs *) obstack_alloc (&half_pic_obstack, sizeof (struct all_refs)); - *ptr = zero_all_refs; - - ptr->real_name = name; - ptr->real_len = len; - - /* Update circular links. */ - if (first == (struct all_refs *) 0) - ptr->hash_next = ptr; - - else - { - ptr->hash_next = first->hash_next; - first->hash_next = ptr; - } - - hash_table[hash] = ptr; - return ptr; -} - - -/* Do any half-pic initializations. */ - -void -half_pic_init () -{ - flag_half_pic = TRUE; - half_pic_prefix = HALF_PIC_PREFIX; - half_pic_prefix_len = strlen (half_pic_prefix); - obstack_init (&half_pic_obstack); -} - - -/* Write out all pointers to pic references. */ - -void -half_pic_finish (stream) - FILE *stream; -{ - struct all_refs *p = half_pic_names; - - if (!p) - return; - - data_section (); - for (; p != 0; p = p->next) - { - /* Emit the pointer if used. */ - if (p->pointer_p) - { - ASM_OUTPUT_LABEL (stream, p->ref_name); - assemble_aligned_integer (POINTER_SIZE / BITS_PER_UNIT, - gen_rtx_SYMBOL_REF (Pmode, p->real_name)); - } - } -} - - -/* Encode in a declaration whether or not it is half-pic. */ - -void -half_pic_encode (decl) - tree decl; -{ - enum tree_code code = TREE_CODE (decl); - tree asm_name; - struct all_refs *ptr; - - if (!flag_half_pic) - return; - - if (code != VAR_DECL && code != FUNCTION_DECL) - return; - - asm_name = DECL_ASSEMBLER_NAME (decl); - - if (!asm_name) - return; - -#ifdef HALF_PIC_DEBUG - if (HALF_PIC_DEBUG) - { - fprintf (stderr, "\n========== Half_pic_encode %.*s\n", - IDENTIFIER_LENGTH (asm_name), - IDENTIFIER_POINTER (asm_name)); - debug_tree (decl); - } -#endif - - /* If this is not an external reference, it can't be half-pic. */ - if (!DECL_EXTERNAL (decl) && (code != VAR_DECL || !TREE_PUBLIC (decl))) - return; - - ptr = half_pic_hash (IDENTIFIER_POINTER (asm_name), - IDENTIFIER_LENGTH (asm_name), - TRUE); - - ptr->external_p = TRUE; - -#ifdef HALF_PIC_DEBUG - if (HALF_PIC_DEBUG) - fprintf (stderr, "\n%.*s is half-pic\n", - IDENTIFIER_LENGTH (asm_name), - IDENTIFIER_POINTER (asm_name)); -#endif -} - - -/* Mark that an object is now local, and no longer needs half-pic. */ - -void -half_pic_declare (name) - const char *name; -{ - struct all_refs *ptr; - - if (!flag_half_pic) - return; - - ptr = half_pic_hash (name, 0, FALSE); - if (!ptr) - return; - - ptr->external_p = FALSE; - -#ifdef HALF_PIC_DEBUG - if (HALF_PIC_DEBUG) - fprintf (stderr, "\n========== Half_pic_declare %s\n", name); -#endif -} - - -/* Mark that an object is explicitly external. */ - -void -half_pic_external (name) - const char *name; -{ - struct all_refs *ptr; - - if (!flag_half_pic) - return; - - ptr = half_pic_hash (name, 0, TRUE); - if (!ptr) - return; - - ptr->external_p = TRUE; - -#ifdef HALF_PIC_DEBUG - if (HALF_PIC_DEBUG) - fprintf (stderr, "\n========== Half_pic_external %s\n", name); -#endif -} - - -/* Return whether an address is half-pic. */ - -int -half_pic_address_p (addr) - rtx addr; -{ - const char *name; - int len; - struct all_refs *ptr; - - if (!flag_half_pic) - return FALSE; - - switch (GET_CODE (addr)) - { - default: - break; - - case CONST: - { - rtx offset = const0_rtx; - addr = eliminate_constant_term (XEXP (addr, 0), &offset); - if (GET_CODE (addr) != SYMBOL_REF) - return FALSE; - } - /* fall through */ - - case SYMBOL_REF: - name = XSTR (addr, 0); - -#ifdef HALF_PIC_DEBUG - if (HALF_PIC_DEBUG) - fprintf (stderr, "\n========== Half_pic_address_p %s\n", name); -#endif - - /* If this is a label, it will have a '*' in front of it. */ - if (name[0] == '*') - return FALSE; - - /* If this is a reference to the actual half-pic pointer, it - is obviously not half-pic. */ - - len = strlen (name); - if (len > half_pic_prefix_len - && half_pic_prefix[0] == name[0] - && !strncmp (name, half_pic_prefix, half_pic_prefix_len)) - return FALSE; - - ptr = half_pic_hash (name, len, FALSE); - if (ptr == (struct all_refs *) 0) - return FALSE; - - if (ptr->external_p) - { -#ifdef HALF_PIC_DEBUG - if (HALF_PIC_DEBUG) - fprintf (stderr, "%s is half-pic\n", name); -#endif - return TRUE; - } - } - - return FALSE; -} - - -/* Return the name of the pointer to the PIC function, allocating - it if need be. */ - -struct rtx_def * -half_pic_ptr (operand) - rtx operand; -{ - const char *name; - struct all_refs *p; - int len; - - if (GET_CODE (operand) != SYMBOL_REF) - return operand; - - name = XSTR (operand, 0); - len = strlen (name); - p = half_pic_hash (name, len, FALSE); - if (p == (struct all_refs *) 0 || !p->external_p) - return operand; - - if (!p->pointer_p) - { /* first time, create pointer */ - obstack_grow (&half_pic_obstack, half_pic_prefix, half_pic_prefix_len); - obstack_grow (&half_pic_obstack, name, len+1); - - p->next = half_pic_names; - p->ref_name = (char *) obstack_finish (&half_pic_obstack); - p->ref_len = len + half_pic_prefix_len; - p->pointer_p = TRUE; - - half_pic_names = p; - half_pic_number_ptrs++; - } - - half_pic_number_refs++; - return gen_rtx_SYMBOL_REF (Pmode, p->ref_name); -} - -#endif /* HALF_PIC_INIT */ diff --git a/contrib/gcc/halfpic.h b/contrib/gcc/halfpic.h deleted file mode 100644 index 37bc49962b6a..000000000000 --- a/contrib/gcc/halfpic.h +++ /dev/null @@ -1,67 +0,0 @@ -/* OSF/rose half-pic support definitions. - Copyright (C) 1992, 1996, 1997, 1998, 2000 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC 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. - -GCC 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 GCC; see the file COPYING. If not, write to the Free -Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. */ - -#ifndef NO_HALF_PIC - -/* Declare the variable flag_half_pic as 'int' instead of 'extern - int', so that BSS variables are created (even though this is not - strict ANSI). This is because rtl.c now refers to the - CONSTANT_ADDRESS_P macro, which in turn refers to flag_half_pic, - and wants to call half_pic_address_p, whose address we also store - in a BSS variable. This way, the gen* programs won't get - unknown symbol errors when being linked (flag_half_pic will never - be true in the gen* programs). */ - -int flag_half_pic; /* Global half-pic flag. */ -int (*ptr_half_pic_address_p) PARAMS ((struct rtx_def *)); /* ptr to half_pic_address_p () */ - -extern int half_pic_number_ptrs; /* # distinct pointers found */ -extern int half_pic_number_refs; /* # half-pic references */ -extern void half_pic_encode PARAMS ((union tree_node *)); /* encode whether half-pic */ -extern void half_pic_declare PARAMS ((const char *)); /* declare object local */ -extern void half_pic_external PARAMS ((const char *)); /* declare object external */ -extern void half_pic_init PARAMS ((void)); /* half_pic initialization */ -extern int half_pic_address_p PARAMS ((struct rtx_def *)); /* true if an address is half-pic */ -extern struct rtx_def *half_pic_ptr PARAMS ((struct rtx_def *)); /* return RTX for half-pic pointer */ -#ifdef BUFSIZ -extern void half_pic_finish PARAMS ((FILE *)); /* half_pic termination */ -#endif - -/* Macros to provide access to the half-pic stuff (so they can easily - be stubbed out. */ - -#define HALF_PIC_P() (flag_half_pic) -#define HALF_PIC_NUMBER_PTRS (half_pic_number_ptrs) -#define HALF_PIC_NUMBER_REFS (half_pic_number_refs) - -#define HALF_PIC_ENCODE(DECL) half_pic_encode (DECL) -#define HALF_PIC_DECLARE(NAME) half_pic_declare (NAME) -#define HALF_PIC_EXTERNAL(NAME) half_pic_external (NAME) -#define HALF_PIC_INIT() half_pic_init () -#define HALF_PIC_FINISH(STREAM) half_pic_finish (STREAM) -#define HALF_PIC_ADDRESS_P(X) ((*ptr_half_pic_address_p) (X)) -#define HALF_PIC_PTR(X) half_pic_ptr (X) - -/* Prefix for half-pic names */ -#ifndef HALF_PIC_PREFIX -#define HALF_PIC_PREFIX "__pic_" -#endif - -#endif /* NO_HALF_PIC */ diff --git a/contrib/gcc/hash.c b/contrib/gcc/hash.c deleted file mode 100644 index 5cf8397692d6..000000000000 --- a/contrib/gcc/hash.c +++ /dev/null @@ -1,218 +0,0 @@ -/* hash.c -- hash table routines - Copyright (C) 1993, 1994, 1998, 2001 Free Software Foundation, Inc. - Written by Steve Chamberlain <sac@cygnus.com> - -This file was lifted from BFD, the Binary File Descriptor library. - -This program 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 of the License, or -(at your option) any later version. - -This program 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; if not, write to the Free Software -Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#include "config.h" -#include "system.h" -#include "hash.h" -#include "obstack.h" -#include "toplev.h" - -/* Obstack allocation and deallocation routines. */ -#define obstack_chunk_alloc xmalloc -#define obstack_chunk_free free - -/* The default number of entries to use when creating a hash table. */ -#define DEFAULT_SIZE 1009 - -/* Create a new hash table, given a number of entries. */ - -void -hash_table_init_n (table, newfunc, hash, comp, size) - struct hash_table *table; - struct hash_entry *(*newfunc) PARAMS ((struct hash_entry *, - struct hash_table *, - hash_table_key)); - unsigned long (*hash) PARAMS ((hash_table_key)); - bool (*comp) PARAMS ((hash_table_key, hash_table_key)); - unsigned int size; -{ - unsigned int alloc; - - alloc = size * sizeof (struct hash_entry *); - obstack_begin (&table->memory, alloc); - table->table = ((struct hash_entry **) - obstack_alloc (&table->memory, alloc)); - memset ((PTR) table->table, 0, alloc); - table->size = size; - table->newfunc = newfunc; - table->hash = hash; - table->comp = comp; -} - -/* Create a new hash table with the default number of entries. */ - -void -hash_table_init (table, newfunc, hash, comp) - struct hash_table *table; - struct hash_entry *(*newfunc) PARAMS ((struct hash_entry *, - struct hash_table *, - hash_table_key)); - unsigned long (*hash) PARAMS ((hash_table_key)); - bool (*comp) PARAMS ((hash_table_key, hash_table_key)); -{ - hash_table_init_n (table, newfunc, hash, comp, DEFAULT_SIZE); -} - -/* Free a hash table. */ - -void -hash_table_free (table) - struct hash_table *table; -{ - obstack_free (&table->memory, (PTR) NULL); -} - -/* Look up KEY in TABLE. If CREATE is non-NULL a new entry is - created if one does not previously exist. */ - -struct hash_entry * -hash_lookup (table, key, create, copy) - struct hash_table *table; - hash_table_key key; - int create; - hash_table_key (*copy) PARAMS ((struct obstack* memory, - hash_table_key key)); -{ - unsigned long hash; - struct hash_entry *hashp; - unsigned int index; - - hash = (*table->hash)(key); - - index = hash % table->size; - for (hashp = table->table[index]; hashp != 0; hashp = hashp->next) - if (hashp->hash == hash - && (*table->comp)(hashp->key, key)) - return hashp; - - if (! create) - return 0; - - hashp = (*table->newfunc) ((struct hash_entry *) NULL, table, key); - if (hashp == 0) - return 0; - - if (copy) - key = (*copy) (&table->memory, key); - - hashp->key = key; - hashp->hash = hash; - hashp->next = table->table[index]; - table->table[index] = hashp; - - return hashp; -} - -/* Base method for creating a new hash table entry. */ - -struct hash_entry * -hash_newfunc (entry, table, p) - struct hash_entry *entry; - struct hash_table *table; - hash_table_key p ATTRIBUTE_UNUSED; -{ - if (entry == 0) - entry = ((struct hash_entry *) - hash_allocate (table, sizeof (struct hash_entry))); - return entry; -} - -/* Allocate space in a hash table. */ - -PTR -hash_allocate (table, size) - struct hash_table *table; - unsigned int size; -{ - return obstack_alloc (&table->memory, size); -} - -/* Traverse a hash table. */ - -void -hash_traverse (table, func, info) - struct hash_table *table; - bool (*func) PARAMS ((struct hash_entry *, hash_table_key)); - PTR info; -{ - unsigned int i; - struct hash_entry *p; - - for (i = 0; i < table->size; i++) - for (p = table->table[i]; p != 0; p = p->next) - if (! (*func) (p, info)) - return; -} - -/* Hash a string. Return a hash-code for the string. */ - -unsigned long -string_hash (k) - hash_table_key k; -{ - const unsigned char *s; - unsigned long hash; - unsigned char c; - unsigned int len; - - s = (const unsigned char *) k; - hash = 0; - len = 0; - - while ((c = *s++) != '\0') - { - hash += c + (c << 17); - hash ^= hash >> 2; - ++len; - } - - hash += len + (len << 17); - hash ^= hash >> 2; - - return hash; -} - -/* Compare two strings. Return non-zero iff the two strings are - the same. */ - -bool -string_compare (k1, k2) - hash_table_key k1; - hash_table_key k2; -{ - return (strcmp ((char*) k1, (char*) k2) == 0); -} - -/* Copy K to OBSTACK. */ - -hash_table_key -string_copy (memory, k) - struct obstack *memory; - hash_table_key k; -{ - char *new; - char *string = (char *) k; - - new = (char *) obstack_alloc (memory, strlen (string) + 1); - strcpy (new, string); - - return new; -} diff --git a/contrib/gcc/hash.h b/contrib/gcc/hash.h deleted file mode 100644 index bd75f94c6f9a..000000000000 --- a/contrib/gcc/hash.h +++ /dev/null @@ -1,129 +0,0 @@ -/* Header file for generic hash table support. - Copyright (C) 1993, 1994, 1997, 1998, 2001 Free Software Foundation, Inc. - Written by Steve Chamberlain <sac@cygnus.com> - -This file was lifted from BFD, the Binary File Descriptor library. - -This program 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 of the License, or -(at your option) any later version. - -This program 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; if not, write to the Free Software -Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#ifndef IN_GCC -#include <ansidecl.h> -#endif /* ! IN_GCC */ - -#include "obstack.h" - -typedef PTR hash_table_key; - -/* Hash table routines. There is no way to free up a hash table. */ - -/* An element in the hash table. Most uses will actually use a larger - structure, and an instance of this will be the first field. */ - -struct hash_entry -{ - /* Next entry for this hash code. */ - struct hash_entry *next; - /* The thing being hashed. */ - hash_table_key key; - /* Hash code. This is the full hash code, not the index into the - table. */ - unsigned long hash; -}; - -/* A hash table. */ - -struct hash_table -{ - /* The hash array. */ - struct hash_entry **table; - /* The number of slots in the hash table. */ - unsigned int size; - /* A function used to create new elements in the hash table. The - first entry is itself a pointer to an element. When this - function is first invoked, this pointer will be NULL. However, - having the pointer permits a hierarchy of method functions to be - built each of which calls the function in the superclass. Thus - each function should be written to allocate a new block of memory - only if the argument is NULL. */ - struct hash_entry *(*newfunc) PARAMS ((struct hash_entry *, - struct hash_table *, - hash_table_key)); - /* A function to compute the hash code for a key in the hash table. */ - unsigned long (*hash) PARAMS ((hash_table_key)); - /* A function to compare two keys. */ - bool (*comp) PARAMS ((hash_table_key, hash_table_key)); - /* An obstack for this hash table. */ - struct obstack memory; -}; - -/* Initialize a hash table. */ -extern void hash_table_init - PARAMS ((struct hash_table *, - struct hash_entry *(*) (struct hash_entry *, - struct hash_table *, - hash_table_key), - unsigned long (*hash) (hash_table_key), - bool (*comp) (hash_table_key, hash_table_key))); - -/* Initialize a hash table specifying a size. */ -extern void hash_table_init_n - PARAMS ((struct hash_table *, - struct hash_entry *(*) (struct hash_entry *, - struct hash_table *, - hash_table_key), - unsigned long (*hash) (hash_table_key), - bool (*comp) (hash_table_key, hash_table_key), - unsigned int size)); - -/* Free up a hash table. */ -extern void hash_table_free PARAMS ((struct hash_table *)); - -/* Look up KEY in a hash table. If CREATE is true, a new entry - will be created for this KEY if one does not already exist. If - COPY is non-NULL, it is used to copy the KEY before storing it in - the hash table. */ -extern struct hash_entry *hash_lookup - PARAMS ((struct hash_table *, hash_table_key key, int create, - hash_table_key (*copy)(struct obstack*, hash_table_key))); - -/* Base method for creating a hash table entry. */ -extern struct hash_entry *hash_newfunc - PARAMS ((struct hash_entry *, struct hash_table *, - hash_table_key key)); - -/* Grab some space for a hash table entry. */ -extern PTR hash_allocate PARAMS ((struct hash_table *, - unsigned int)); - -/* Traverse a hash table in a random order, calling a function on each - element. If the function returns false, the traversal stops. The - INFO argument is passed to the function. */ -extern void hash_traverse PARAMS ((struct hash_table *, - bool (*) (struct hash_entry *, - hash_table_key), - hash_table_key info)); - -/* Hash a string K, which is really of type `char*'. */ -extern unsigned long string_hash PARAMS ((hash_table_key k)); - -/* Compare two strings K1, K2 which are really of type `char*'. */ -extern bool string_compare PARAMS ((hash_table_key k1, - hash_table_key k2)); - -/* Copy a string K, which is really of type `char*'. */ -extern hash_table_key string_copy PARAMS ((struct obstack* memory, - hash_table_key k)); - diff --git a/contrib/gcc/objc/sendmsg.c b/contrib/gcc/objc/sendmsg.c deleted file mode 100644 index 245b8b9eaf79..000000000000 --- a/contrib/gcc/objc/sendmsg.c +++ /dev/null @@ -1,651 +0,0 @@ -/* GNU Objective C Runtime message lookup - Copyright (C) 1993, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. - Contributed by Kresten Krab Thorup - -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 -GNU CC; 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 - GCC 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. */ - -#include "../tconfig.h" -#include "runtime.h" -#include "sarray.h" -#include "encoding.h" -#include "runtime-info.h" - -/* this is how we hack STRUCT_VALUE to be 1 or 0 */ -#define gen_rtx(args...) 1 -#define gen_rtx_MEM(args...) 1 -#define rtx int - -#if !defined(STRUCT_VALUE) || STRUCT_VALUE == 0 -#define INVISIBLE_STRUCT_RETURN 1 -#else -#define INVISIBLE_STRUCT_RETURN 0 -#endif - -/* The uninstalled dispatch table */ -struct sarray* __objc_uninstalled_dtable = 0; /* !T:MUTEX */ - -/* Send +initialize to class */ -static void __objc_send_initialize(Class); - -static void __objc_install_dispatch_table_for_class (Class); - -/* Forward declare some functions */ -static void __objc_init_install_dtable(id, SEL); - -/* Various forwarding functions that are used based upon the - return type for the selector. - __objc_block_forward for structures. - __objc_double_forward for floats/doubles. - __objc_word_forward for pointers or types that fit in registers. - */ -static double __objc_double_forward(id, SEL, ...); -static id __objc_word_forward(id, SEL, ...); -typedef struct { id many[8]; } __big; -#if INVISIBLE_STRUCT_RETURN -static __big -#else -static id -#endif -__objc_block_forward(id, SEL, ...); -static Method_t search_for_method_in_hierarchy (Class class, SEL sel); -Method_t search_for_method_in_list(MethodList_t list, SEL op); -id nil_method(id, SEL, ...); - -/* Given a selector, return the proper forwarding implementation. */ -__inline__ -IMP -__objc_get_forward_imp (SEL sel) -{ - const char *t = sel->sel_types; - - if (t && (*t == '[' || *t == '(' || *t == '{') -#ifdef OBJC_MAX_STRUCT_BY_VALUE - && objc_sizeof_type(t) > OBJC_MAX_STRUCT_BY_VALUE -#endif - ) - return (IMP)__objc_block_forward; - else if (t && (*t == 'f' || *t == 'd')) - return (IMP)__objc_double_forward; - else - return (IMP)__objc_word_forward; -} - -/* Given a class and selector, return the selector's implementation. */ -__inline__ -IMP -get_imp (Class class, SEL sel) -{ - void* res = sarray_get_safe (class->dtable, (size_t) sel->sel_id); - if (res == 0) - { - /* Not a valid method */ - if(class->dtable == __objc_uninstalled_dtable) - { - /* The dispatch table needs to be installed. */ - objc_mutex_lock(__objc_runtime_mutex); - __objc_install_dispatch_table_for_class (class); - objc_mutex_unlock(__objc_runtime_mutex); - /* Call ourselves with the installed dispatch table - and get the real method */ - res = get_imp(class, sel); - } - else - { - /* The dispatch table has been installed so the - method just doesn't exist for the class. - Return the forwarding implementation. */ - res = __objc_get_forward_imp(sel); - } - } - return res; -} - -/* Query if an object can respond to a selector, returns YES if the -object implements the selector otherwise NO. Does not check if the -method can be forwarded. */ -__inline__ -BOOL -__objc_responds_to (id object, SEL sel) -{ - void* res; - - /* Install dispatch table if need be */ - if (object->class_pointer->dtable == __objc_uninstalled_dtable) - { - objc_mutex_lock(__objc_runtime_mutex); - __objc_install_dispatch_table_for_class (object->class_pointer); - objc_mutex_unlock(__objc_runtime_mutex); - } - - /* Get the method from the dispatch table */ - res = sarray_get_safe (object->class_pointer->dtable, (size_t) sel->sel_id); - return (res != 0); -} - -/* This is the lookup function. All entries in the table are either a - valid method *or* zero. If zero then either the dispatch table - needs to be installed or it doesn't exist and forwarding is attempted. */ -__inline__ -IMP -objc_msg_lookup(id receiver, SEL op) -{ - IMP result; - if(receiver) - { - result = sarray_get_safe (receiver->class_pointer->dtable, - (sidx)op->sel_id); - if (result == 0) - { - /* Not a valid method */ - if(receiver->class_pointer->dtable == __objc_uninstalled_dtable) - { - /* The dispatch table needs to be installed. - This happens on the very first method call to the class. */ - __objc_init_install_dtable(receiver, op); - - /* Get real method for this in newly installed dtable */ - result = get_imp(receiver->class_pointer, op); - } - else - { - /* The dispatch table has been installed so the - method just doesn't exist for the class. - Attempt to forward the method. */ - result = __objc_get_forward_imp(op); - } - } - return result; - } - else - return nil_method; -} - -IMP -objc_msg_lookup_super (Super_t super, SEL sel) -{ - if (super->self) - return get_imp (super->class, sel); - else - return nil_method; -} - -int method_get_sizeof_arguments (Method*); - -retval_t -objc_msg_sendv(id object, SEL op, arglist_t arg_frame) -{ - Method* m = class_get_instance_method(object->class_pointer, op); - const char *type; - *((id*)method_get_first_argument (m, arg_frame, &type)) = object; - *((SEL*)method_get_next_argument (arg_frame, &type)) = op; - return __builtin_apply((apply_t)m->method_imp, - arg_frame, - method_get_sizeof_arguments (m)); -} - -void -__objc_init_dispatch_tables() -{ - __objc_uninstalled_dtable - = sarray_new(200, 0); -} - -/* This function is called by objc_msg_lookup when the - dispatch table needs to be installed; thus it is called once - for each class, namely when the very first message is sent to it. */ -static void -__objc_init_install_dtable(id receiver, SEL op) -{ - /* This may happen, if the programmer has taken the address of a - method before the dtable was initialized... too bad for him! */ - if(receiver->class_pointer->dtable != __objc_uninstalled_dtable) - return; - - objc_mutex_lock(__objc_runtime_mutex); - - if(CLS_ISCLASS(receiver->class_pointer)) - { - /* receiver is an ordinary object */ - assert(CLS_ISCLASS(receiver->class_pointer)); - - /* install instance methods table */ - __objc_install_dispatch_table_for_class (receiver->class_pointer); - - /* call +initialize -- this will in turn install the factory - dispatch table if not already done :-) */ - __objc_send_initialize(receiver->class_pointer); - } - else - { - /* receiver is a class object */ - assert(CLS_ISCLASS((Class)receiver)); - assert(CLS_ISMETA(receiver->class_pointer)); - - /* Install real dtable for factory methods */ - __objc_install_dispatch_table_for_class (receiver->class_pointer); - - if (strcmp (sel_get_name (op), "initialize")) - __objc_send_initialize((Class)receiver); - else - CLS_SETINITIALIZED((Class)receiver); - } - objc_mutex_unlock(__objc_runtime_mutex); -} - -/* Install dummy table for class which causes the first message to - that class (or instances hereof) to be initialized properly */ -void -__objc_install_premature_dtable(Class class) -{ - assert(__objc_uninstalled_dtable); - class->dtable = __objc_uninstalled_dtable; -} - -/* Send +initialize to class if not already done */ -static void -__objc_send_initialize(Class class) -{ - /* This *must* be a class object */ - assert(CLS_ISCLASS(class)); - assert(!CLS_ISMETA(class)); - - if (!CLS_ISINITIALIZED(class)) - { - CLS_SETINITIALIZED(class); - CLS_SETINITIALIZED(class->class_pointer); - - if(class->super_class) - __objc_send_initialize(class->super_class); - - { - SEL op = sel_register_name ("initialize"); - Class tmpclass = class; - IMP imp = 0; - - while (!imp && tmpclass) { - MethodList_t method_list = tmpclass->class_pointer->methods; - - while(!imp && method_list) { - int i; - Method_t method; - - for (i=0;i<method_list->method_count;i++) { - method = &(method_list->method_list[i]); - if (method->method_name - && method->method_name->sel_id == op->sel_id) { - imp = method->method_imp; - break; - } - } - - method_list = method_list->method_next; - - } - - tmpclass = tmpclass->super_class; - } - if (imp) - (*imp)((id)class, op); - - } - } -} - -/* Walk on the methods list of class and install the methods in the reverse - order of the lists. Since methods added by categories are before the methods - of class in the methods list, this allows categories to substitute methods - declared in class. However if more than one category replaces the same - method nothing is guaranteed about what method will be used. - Assumes that __objc_runtime_mutex is locked down. */ -static void -__objc_install_methods_in_dtable (Class class, MethodList_t method_list) -{ - int i; - - if (!method_list) - return; - - if (method_list->method_next) - __objc_install_methods_in_dtable (class, method_list->method_next); - - for (i = 0; i < method_list->method_count; i++) - { - Method_t method = &(method_list->method_list[i]); - sarray_at_put_safe (class->dtable, - (sidx) method->method_name->sel_id, - method->method_imp); - } -} - -/* Assumes that __objc_runtime_mutex is locked down. */ -static void -__objc_install_dispatch_table_for_class (Class class) -{ - Class super; - - /* If the class has not yet had its class links resolved, we must - re-compute all class links */ - if(!CLS_ISRESOLV(class)) - __objc_resolve_class_links(); - - super = class->super_class; - - if (super != 0 && (super->dtable == __objc_uninstalled_dtable)) - __objc_install_dispatch_table_for_class (super); - - /* Allocate dtable if necessary */ - if (super == 0) - { - objc_mutex_lock(__objc_runtime_mutex); - class->dtable = sarray_new (__objc_selector_max_index, 0); - objc_mutex_unlock(__objc_runtime_mutex); - } - else - class->dtable = sarray_lazy_copy (super->dtable); - - __objc_install_methods_in_dtable (class, class->methods); -} - -void -__objc_update_dispatch_table_for_class (Class class) -{ - Class next; - struct sarray *arr; - - /* not yet installed -- skip it */ - if (class->dtable == __objc_uninstalled_dtable) - return; - - objc_mutex_lock(__objc_runtime_mutex); - - arr = class->dtable; - __objc_install_premature_dtable (class); /* someone might require it... */ - sarray_free (arr); /* release memory */ - - /* could have been lazy... */ - __objc_install_dispatch_table_for_class (class); - - if (class->subclass_list) /* Traverse subclasses */ - for (next = class->subclass_list; next; next = next->sibling_class) - __objc_update_dispatch_table_for_class (next); - - objc_mutex_unlock(__objc_runtime_mutex); -} - - -/* This function adds a method list to a class. This function is - typically called by another function specific to the run-time. As - such this function does not worry about thread safe issues. - - This one is only called for categories. Class objects have their - methods installed right away, and their selectors are made into - SEL's by the function __objc_register_selectors_from_class. */ -void -class_add_method_list (Class class, MethodList_t list) -{ - int i; - - /* Passing of a linked list is not allowed. Do multiple calls. */ - assert (!list->method_next); - - /* Check for duplicates. */ - for (i = 0; i < list->method_count; ++i) - { - Method_t method = &list->method_list[i]; - - if (method->method_name) /* Sometimes these are NULL */ - { - /* This is where selector names are transmogrified to SEL's */ - method->method_name = - sel_register_typed_name ((const char*)method->method_name, - method->method_types); - } - } - - /* Add the methods to the class's method list. */ - list->method_next = class->methods; - class->methods = list; - - /* Update the dispatch table of class */ - __objc_update_dispatch_table_for_class (class); -} - -Method_t -class_get_instance_method(Class class, SEL op) -{ - return search_for_method_in_hierarchy(class, op); -} - -Method_t -class_get_class_method(MetaClass class, SEL op) -{ - return search_for_method_in_hierarchy(class, op); -} - - -/* Search for a method starting from the current class up its hierarchy. - Return a pointer to the method's method structure if found. NULL - otherwise. */ - -static Method_t -search_for_method_in_hierarchy (Class cls, SEL sel) -{ - Method_t method = NULL; - Class class; - - if (! sel_is_mapped (sel)) - return NULL; - - /* Scan the method list of the class. If the method isn't found in the - list then step to its super class. */ - for (class = cls; ((! method) && class); class = class->super_class) - method = search_for_method_in_list (class->methods, sel); - - return method; -} - - - -/* Given a linked list of method and a method's name. Search for the named - method's method structure. Return a pointer to the method's method - structure if found. NULL otherwise. */ -Method_t -search_for_method_in_list (MethodList_t list, SEL op) -{ - MethodList_t method_list = list; - - if (! sel_is_mapped (op)) - return NULL; - - /* If not found then we'll search the list. */ - while (method_list) - { - int i; - - /* Search the method list. */ - for (i = 0; i < method_list->method_count; ++i) - { - Method_t method = &method_list->method_list[i]; - - if (method->method_name) - if (method->method_name->sel_id == op->sel_id) - return method; - } - - /* The method wasn't found. Follow the link to the next list of - methods. */ - method_list = method_list->method_next; - } - - return NULL; -} - -static retval_t __objc_forward (id object, SEL sel, arglist_t args); - -/* Forwarding pointers/integers through the normal registers */ -static id -__objc_word_forward (id rcv, SEL op, ...) -{ - void *args, *res; - - args = __builtin_apply_args (); - res = __objc_forward (rcv, op, args); - if (res) - __builtin_return (res); - else - return res; -} - -/* Specific routine for forwarding floats/double because of - architectural differences on some processors. i386s for - example which uses a floating point stack versus general - registers for floating point numbers. This forward routine - makes sure that GCC restores the proper return values */ -static double -__objc_double_forward (id rcv, SEL op, ...) -{ - void *args, *res; - - args = __builtin_apply_args (); - res = __objc_forward (rcv, op, args); - __builtin_return (res); -} - -#if INVISIBLE_STRUCT_RETURN -static __big -#else -static id -#endif -__objc_block_forward (id rcv, SEL op, ...) -{ - void *args, *res; - - args = __builtin_apply_args (); - res = __objc_forward (rcv, op, args); - if (res) - __builtin_return (res); - else -#if INVISIBLE_STRUCT_RETURN - return (__big) {{0, 0, 0, 0, 0, 0, 0, 0}}; -#else - return nil; -#endif -} - - -/* This function is installed in the dispatch table for all methods which are - not implemented. Thus, it is called when a selector is not recognized. */ -static retval_t -__objc_forward (id object, SEL sel, arglist_t args) -{ - IMP imp; - static SEL frwd_sel = 0; /* !T:SAFE2 */ - SEL err_sel; - - /* first try if the object understands forward:: */ - if (!frwd_sel) - frwd_sel = sel_get_any_uid("forward::"); - - if (__objc_responds_to (object, frwd_sel)) - { - imp = get_imp(object->class_pointer, frwd_sel); - return (*imp)(object, frwd_sel, sel, args); - } - - /* If the object recognizes the doesNotRecognize: method then we're going - to send it. */ - err_sel = sel_get_any_uid ("doesNotRecognize:"); - if (__objc_responds_to (object, err_sel)) - { - imp = get_imp (object->class_pointer, err_sel); - return (*imp) (object, err_sel, sel); - } - - /* The object doesn't recognize the method. Check for responding to - error:. If it does then sent it. */ - { - size_t strlen (const char*); - char msg[256 + strlen ((const char*)sel_get_name (sel)) - + strlen ((const char*)object->class_pointer->name)]; - - sprintf (msg, "(%s) %s does not recognize %s", - (CLS_ISMETA(object->class_pointer) - ? "class" - : "instance" ), - object->class_pointer->name, sel_get_name (sel)); - - err_sel = sel_get_any_uid ("error:"); - if (__objc_responds_to (object, err_sel)) - { - imp = get_imp (object->class_pointer, err_sel); - return (*imp) (object, sel_get_any_uid ("error:"), msg); - } - - /* The object doesn't respond to doesNotRecognize: or error:; Therefore, - a default action is taken. */ - objc_error (object, OBJC_ERR_UNIMPLEMENTED, "%s\n", msg); - - return 0; - } -} - -void -__objc_print_dtable_stats() -{ - int total = 0; - - objc_mutex_lock(__objc_runtime_mutex); - - printf("memory usage: (%s)\n", -#ifdef OBJC_SPARSE2 - "2-level sparse arrays" -#else - "3-level sparse arrays" -#endif - ); - - printf("arrays: %d = %ld bytes\n", narrays, - (long)narrays*sizeof(struct sarray)); - total += narrays*sizeof(struct sarray); - printf("buckets: %d = %ld bytes\n", nbuckets, - (long)nbuckets*sizeof(struct sbucket)); - total += nbuckets*sizeof(struct sbucket); - - printf("idxtables: %d = %ld bytes\n", idxsize, (long)idxsize*sizeof(void*)); - total += idxsize*sizeof(void*); - printf("-----------------------------------\n"); - printf("total: %d bytes\n", total); - printf("===================================\n"); - - objc_mutex_unlock(__objc_runtime_mutex); -} - -/* Returns the uninstalled dispatch table indicator. - If a class' dispatch table points to __objc_uninstalled_dtable - then that means it needs its dispatch table to be installed. */ -__inline__ -struct sarray* -objc_get_uninstalled_dtable() -{ - return __objc_uninstalled_dtable; -} diff --git a/contrib/gcc/tradcif.y b/contrib/gcc/tradcif.y deleted file mode 100644 index 953e2d6706ff..000000000000 --- a/contrib/gcc/tradcif.y +++ /dev/null @@ -1,567 +0,0 @@ -/* Parse C expressions for CCCP. - Copyright (C) 1987, 2000, 2001 Free Software Foundation. - Adapted from expread.y of GDB by Paul Rubin, July 1986. - Adapted to ANSI C, Richard Stallman, Jan 1987 - Dusted off, polished, and adapted for use as traditional - preprocessor only, Zack Weinberg, Jul 2000 - -This program 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 program 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; if not, write to the Free Software -Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -/* Parse a C expression from text in a string */ - -%{ -#include "config.h" -#include "system.h" -#include "intl.h" -#include "tradcpp.h" -#include <setjmp.h> - - static int yylex PARAMS ((void)); - static void yyerror PARAMS ((const char *msgid)) ATTRIBUTE_NORETURN; - - static int parse_number PARAMS ((int)); - static int parse_escape PARAMS ((const char **)); - - static int expression_value; - static jmp_buf parse_return_error; - - /* During parsing of a C expression, the pointer to the next - character is in this variable. */ - - static const char *lexptr; -%} - -%union { - struct constant {long value; int unsignedp;} integer; - int voidval; - char *sval; -} - -%type <integer> exp exp1 start -%token <integer> INT CHAR -%token <sval> NAME -%token <integer> ERROR - -%right '?' ':' -%left ',' -%left OR -%left AND -%left '|' -%left '^' -%left '&' -%left EQUAL NOTEQUAL -%left '<' '>' LEQ GEQ -%left LSH RSH -%left '+' '-' -%left '*' '/' '%' -%right UNARY - -/* %expect 40 */ - -%% - -start : exp1 - { expression_value = $1.value; } - ; - -/* Expressions, including the comma operator. */ -exp1 : exp - | exp1 ',' exp - { $$ = $3; } - ; - -/* Expressions, not including the comma operator. */ -exp : '-' exp %prec UNARY - { $$.value = - $2.value; - $$.unsignedp = $2.unsignedp; } - | '!' exp %prec UNARY - { $$.value = ! $2.value; - $$.unsignedp = 0; } - | '+' exp %prec UNARY - { $$ = $2; } - | '~' exp %prec UNARY - { $$.value = ~ $2.value; - $$.unsignedp = $2.unsignedp; } - | '(' exp1 ')' - { $$ = $2; } - ; - -/* Binary operators in order of decreasing precedence. */ -exp : exp '*' exp - { $$.unsignedp = $1.unsignedp || $3.unsignedp; - if ($$.unsignedp) - $$.value = (unsigned) $1.value * $3.value; - else - $$.value = $1.value * $3.value; } - | exp '/' exp - { if ($3.value == 0) - { - error ("division by zero in #if"); - $3.value = 1; - } - $$.unsignedp = $1.unsignedp || $3.unsignedp; - if ($$.unsignedp) - $$.value = (unsigned) $1.value / $3.value; - else - $$.value = $1.value / $3.value; } - | exp '%' exp - { if ($3.value == 0) - { - error ("division by zero in #if"); - $3.value = 1; - } - $$.unsignedp = $1.unsignedp || $3.unsignedp; - if ($$.unsignedp) - $$.value = (unsigned) $1.value % $3.value; - else - $$.value = $1.value % $3.value; } - | exp '+' exp - { $$.value = $1.value + $3.value; - $$.unsignedp = $1.unsignedp || $3.unsignedp; } - | exp '-' exp - { $$.value = $1.value - $3.value; - $$.unsignedp = $1.unsignedp || $3.unsignedp; } - | exp LSH exp - { $$.unsignedp = $1.unsignedp; - if ($$.unsignedp) - $$.value = (unsigned) $1.value << $3.value; - else - $$.value = $1.value << $3.value; } - | exp RSH exp - { $$.unsignedp = $1.unsignedp; - if ($$.unsignedp) - $$.value = (unsigned) $1.value >> $3.value; - else - $$.value = $1.value >> $3.value; } - | exp EQUAL exp - { $$.value = ($1.value == $3.value); - $$.unsignedp = 0; } - | exp NOTEQUAL exp - { $$.value = ($1.value != $3.value); - $$.unsignedp = 0; } - | exp LEQ exp - { $$.unsignedp = 0; - if ($1.unsignedp || $3.unsignedp) - $$.value = - (unsigned) $1.value <= (unsigned) $3.value; - else - $$.value = $1.value <= $3.value; } - | exp GEQ exp - { $$.unsignedp = 0; - if ($1.unsignedp || $3.unsignedp) - $$.value = - (unsigned) $1.value >= (unsigned) $3.value; - else - $$.value = $1.value >= $3.value; } - | exp '<' exp - { $$.unsignedp = 0; - if ($1.unsignedp || $3.unsignedp) - $$.value = - (unsigned) $1.value < (unsigned) $3.value; - else - $$.value = $1.value < $3.value; } - | exp '>' exp - { $$.unsignedp = 0; - if ($1.unsignedp || $3.unsignedp) - $$.value = - (unsigned) $1.value > (unsigned) $3.value; - else - $$.value = $1.value > $3.value; } - | exp '&' exp - { $$.value = $1.value & $3.value; - $$.unsignedp = $1.unsignedp || $3.unsignedp; } - | exp '^' exp - { $$.value = $1.value ^ $3.value; - $$.unsignedp = $1.unsignedp || $3.unsignedp; } - | exp '|' exp - { $$.value = $1.value | $3.value; - $$.unsignedp = $1.unsignedp || $3.unsignedp; } - | exp AND exp - { $$.value = ($1.value && $3.value); - $$.unsignedp = 0; } - | exp OR exp - { $$.value = ($1.value || $3.value); - $$.unsignedp = 0; } - | exp '?' exp ':' exp - { $$.value = $1.value ? $3.value : $5.value; - $$.unsignedp = $3.unsignedp || $5.unsignedp; } - | INT - { $$ = yylval.integer; } - | CHAR - { $$ = yylval.integer; } - | NAME - { $$.value = 0; - $$.unsignedp = 0; } - | '#' { $$.value = - test_assertion ((unsigned char **) &lexptr); } - ; -%% - -/* Take care of parsing a number (anything that starts with a digit). - Set yylval and return the token type; update lexptr. - LEN is the number of characters in it. */ - -/* maybe needs to actually deal with floating point numbers */ - -static int -parse_number (olen) - int olen; -{ - const char *p = lexptr; - long n = 0; - int c; - int base = 10; - int len = olen; - - for (c = 0; c < len; c++) - if (p[c] == '.') { - /* It's a float since it contains a point. */ - yyerror ("floating point numbers not allowed in #if expressions"); - return ERROR; - } - - /* Traditionally, all numbers are signed. However, we make it - unsigned if requested with a suffix. */ - yylval.integer.unsignedp = 0; - - if (len >= 3 && (!strncmp (p, "0x", 2) || !strncmp (p, "0X", 2))) { - p += 2; - base = 16; - len -= 2; - } - else if (*p == '0') - base = 8; - - while (len > 0) { - c = *p++; - len--; - if (ISUPPER (c)) - c = TOLOWER (c); - - if (ISDIGIT (c) - || (base == 16 && ISXDIGIT (c))) { - n = (n * base) + hex_value (c); - } else { - /* `l' means long, and `u' means unsigned. */ - while (1) { - if (c == 'l' || c == 'L') - ; - else if (c == 'u' || c == 'U') - yylval.integer.unsignedp = 1; - else - break; - - if (len == 0) - break; - c = *p++; - len--; - } - /* Don't look for any more digits after the suffixes. */ - break; - } - } - - if (len != 0) { - yyerror ("invalid number in #if expression"); - return ERROR; - } - - lexptr = p; - yylval.integer.value = n; - return INT; -} - -struct token { - const char *const operator; - const int token; -}; - -#ifndef NULL -#define NULL 0 -#endif - -static const struct token tokentab2[] = { - {"&&", AND}, - {"||", OR}, - {"<<", LSH}, - {">>", RSH}, - {"==", EQUAL}, - {"!=", NOTEQUAL}, - {"<=", LEQ}, - {">=", GEQ}, - {NULL, ERROR} -}; - -/* Read one token, getting characters through lexptr. */ - -static int -yylex () -{ - int c; - int namelen; - const char *tokstart; - const struct token *toktab; - - retry: - - tokstart = lexptr; - c = *tokstart; - /* See if it is a special token of length 2. */ - for (toktab = tokentab2; toktab->operator != NULL; toktab++) - if (c == *toktab->operator && tokstart[1] == toktab->operator[1]) { - lexptr += 2; - return toktab->token; - } - - switch (c) { - case 0: - return 0; - - case ' ': - case '\t': - case '\r': - case '\n': - lexptr++; - goto retry; - - case '\'': - lexptr++; - c = *lexptr++; - if (c == '\\') - c = parse_escape (&lexptr); - - /* Sign-extend the constant if chars are signed on target machine. */ - { - if (flag_signed_char == 0 - || ((c >> (CHAR_TYPE_SIZE - 1)) & 1) == 0) - yylval.integer.value = c & ((1 << CHAR_TYPE_SIZE) - 1); - else - yylval.integer.value = c | ~((1 << CHAR_TYPE_SIZE) - 1); - } - - yylval.integer.unsignedp = 0; - c = *lexptr++; - if (c != '\'') { - yyerror ("invalid character constant in #if"); - return ERROR; - } - - return CHAR; - - /* some of these chars are invalid in constant expressions; - maybe do something about them later */ - case '/': - case '+': - case '-': - case '*': - case '%': - case '|': - case '&': - case '^': - case '~': - case '!': - case '@': - case '<': - case '>': - case '(': - case ')': - case '[': - case ']': - case '.': - case '?': - case ':': - case '=': - case '{': - case '}': - case ',': - case '#': - lexptr++; - return c; - - case '"': - yyerror ("double quoted strings not allowed in #if expressions"); - return ERROR; - } - if (ISDIGIT (c)) { - /* It's a number */ - for (namelen = 0; - c = tokstart[namelen], is_idchar (c) || c == '.'; - namelen++) - ; - return parse_number (namelen); - } - - if (!is_idstart (c)) { - yyerror ("invalid token in expression"); - return ERROR; - } - - /* It is a name. See how long it is. */ - - for (namelen = 0; - is_idchar (tokstart[namelen]); - namelen++) - ; - - lexptr += namelen; - return NAME; -} - - -/* Parse a C escape sequence. STRING_PTR points to a variable - containing a pointer to the string to parse. That pointer - is updated past the characters we use. The value of the - escape sequence is returned. - - A negative value means the sequence \ newline was seen, - which is supposed to be equivalent to nothing at all. - - If \ is followed by a null character, we return a negative - value and leave the string pointer pointing at the null character. - - If \ is followed by 000, we return 0 and leave the string pointer - after the zeros. A value of 0 does not mean end of string. */ - -static int -parse_escape (string_ptr) - const char **string_ptr; -{ - int c = *(*string_ptr)++; - switch (c) - { - case 'a': - return TARGET_BELL; - case 'b': - return TARGET_BS; - case 'e': - return 033; - case 'f': - return TARGET_FF; - case 'n': - return TARGET_NEWLINE; - case 'r': - return TARGET_CR; - case 't': - return TARGET_TAB; - case 'v': - return TARGET_VT; - case '\n': - return -2; - case 0: - (*string_ptr)--; - return 0; - case '^': - c = *(*string_ptr)++; - if (c == '\\') - c = parse_escape (string_ptr); - if (c == '?') - return 0177; - return (c & 0200) | (c & 037); - - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - { - int i = c - '0'; - int count = 0; - while (++count < 3) - { - c = *(*string_ptr)++; - if (c >= '0' && c <= '7') - i = (i << 3) + c - '0'; - else - { - (*string_ptr)--; - break; - } - } - if ((i & ~((1 << CHAR_TYPE_SIZE) - 1)) != 0) - { - i &= (1 << CHAR_TYPE_SIZE) - 1; - warning ("octal character constant does not fit in a byte"); - } - return i; - } - case 'x': - { - int i = 0; - for (;;) - { - c = *(*string_ptr)++; - if (hex_p (c)) - i = (i << 4) + hex_value (c); - else - { - (*string_ptr)--; - break; - } - } - if ((i & ~((1 << BITS_PER_UNIT) - 1)) != 0) - { - i &= (1 << BITS_PER_UNIT) - 1; - warning ("hex character constant does not fit in a byte"); - } - return i; - } - default: - return c; - } -} - -static void -yyerror (msgid) - const char *msgid; -{ - error ("%s", _(msgid)); - longjmp (parse_return_error, 1); -} - -/* This page contains the entry point to this file. */ - -/* Parse STRING as an expression, and complain if this fails - to use up all of the contents of STRING. */ -/* We do not support C comments. They should be removed before - this function is called. */ - -int -parse_c_expression (string) - const char *string; -{ - lexptr = string; - - if (lexptr == 0 || *lexptr == 0) { - error ("empty #if expression"); - return 0; /* don't include the #if group */ - } - - /* if there is some sort of scanning error, just return 0 and assume - the parsing routine has printed an error message somewhere. - there is surely a better thing to do than this. */ - if (setjmp (parse_return_error)) - return 0; - - if (yyparse ()) - return 0; /* actually this is never reached - the way things stand. */ - if (*lexptr) - error ("Junk after end of expression."); - - return expression_value; /* set by yyparse () */ -} diff --git a/contrib/gcc/tradcpp.c b/contrib/gcc/tradcpp.c deleted file mode 100644 index f277eba0ee0b..000000000000 --- a/contrib/gcc/tradcpp.c +++ /dev/null @@ -1,5276 +0,0 @@ -/* C Compatible Compiler Preprocessor (CCCP) -Copyright (C) 1986, 1987, 1989, 2000, 2001, 2003 Free Software Foundation, Inc. - Written by Paul Rubin, June 1986 - Adapted to ANSI C, Richard Stallman, Jan 1987 - Dusted off, polished, and adapted for use as traditional - preprocessor only, Zack Weinberg, Jul 2000 - -This program 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 program 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; if not, write to the Free Software -Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#include "config.h" -#include "system.h" -#include "version.h" -#include "cppdefault.h" -#include "tradcpp.h" -#include "mkdeps.h" -#include "intl.h" - -typedef unsigned char U_CHAR; - -/* Name under which this program was invoked. */ - -static const char *progname; - -/* Current maximum length of directory names in the search path - for include files. (Altered as we get more of them.) */ - -size_t max_include_len; - -/* Nonzero means copy comments into the output file. */ - -int put_out_comments = 0; - -/* mkdeps.h opaque structure that encapsulates dependency information. */ -struct deps *deps; - -/* Nonzero means print the names of included files rather than - the preprocessed output. 1 means just the #include "...", - 2 means #include <...> as well. */ - -int print_deps = 0; - -/* Nonzero means print dummy targets for each header file. */ - -int print_deps_phony_targets = 0; - -/* If true, fopen (deps_file, "a") else fopen (deps_file, "w"). */ - -int deps_append = 0; - -/* File name which deps are being written to. This is 0 if deps are - being written to stdout. */ - -const char *deps_file = 0; - -/* Nonzero if missing .h files in -M output are assumed to be - generated files and not errors. */ - -int deps_missing_files = 0; - -/* Nonzero means don't output line number information. */ - -int no_line_commands; - -/* Nonzero means inhibit output of the preprocessed text - and instead output the definitions of all user-defined macros - in a form suitable for use as input to cccp. */ - -int dump_macros; - -/* Nonzero means don't print warning messages. -w. */ - -int inhibit_warnings = 0; - -/* Non-0 means don't output the preprocessed program. */ -int inhibit_output = 0; - -/* Nonzero means chars are signed. */ -#if DEFAULT_SIGNED_CHAR -int flag_signed_char = 1; -#else -int flag_signed_char = 0; -#endif - -/* Nonzero means warn if slash-star appears in a comment. */ - -int warn_comments; - -/* Nonzero causes output not to be done, - but directives such as #define that have side effects - are still obeyed. */ - -int no_output; - -/* Value of __USER_LABEL_PREFIX__. Target-dependent, also controlled - by -f(no-)leading-underscore. */ -static const char *user_label_prefix; - -/* I/O buffer structure. - The `fname' field is nonzero for source files and #include files - and for the dummy text used for -D and -U. - It is zero for rescanning results of macro expansion - and for expanding macro arguments. */ -#define INPUT_STACK_MAX 200 -struct file_name_list; -struct file_buf { - const char *fname; - int lineno; - int length; - U_CHAR *buf; - U_CHAR *bufp; - /* Macro that this level is the expansion of. - Included so that we can reenable the macro - at the end of this level. */ - struct hashnode *macro; - /* Value of if_stack at start of this file. - Used to prohibit unmatched #endif (etc) in an include file. */ - struct if_stack *if_stack; - /* Object to be freed at end of input at this level. */ - U_CHAR *free_ptr; - /* Position to start scanning for #include_next in this file. */ - struct file_name_list *next_header_dir; -} instack[INPUT_STACK_MAX]; - -typedef struct file_buf FILE_BUF; - -/* Current nesting level of input sources. - `instack[indepth]' is the level currently being read. */ -int indepth = -1; -#define CHECK_DEPTH(code) \ - if (indepth >= (INPUT_STACK_MAX - 1)) \ - { \ - error_with_line (line_for_error (instack[indepth].lineno), \ - "macro or #include recursion too deep"); \ - code; \ - } - -/* Current depth in #include directives that use <...>. */ -int system_include_depth = 0; - -/* The output buffer. Its LENGTH field is the amount of room allocated - for the buffer, not the number of chars actually present. To get - that, subtract outbuf.buf from outbuf.bufp. */ - -#define OUTBUF_SIZE 10 /* initial size of output buffer */ -FILE_BUF outbuf; - -/* Grow output buffer OBUF points at - so it can hold at least NEEDED more chars. */ - -#define check_expand(OBUF, NEEDED) do { \ - if ((OBUF)->length - ((OBUF)->bufp - (OBUF)->buf) <= (NEEDED)) \ - grow_outbuf ((OBUF), (NEEDED)); \ - } while (0) - -struct file_name_list - { - struct file_name_list *next; - const char *fname; - }; - -struct file_name_list *include = 0; /* First dir to search */ - /* First dir to search for <file> */ -struct file_name_list *first_bracket_include = 0; -struct file_name_list *last_include = 0; /* Last in chain */ - -/* List of included files that contained #once. */ -struct file_name_list *dont_repeat_files = 0; - -/* List of other included files. */ -struct file_name_list *all_include_files = 0; - -/* Structure allocated for every #define. For a simple replacement - such as - #define foo bar , - nargs = -1, the `pattern' list is null, and the expansion is just - the replacement text. Nargs = 0 means a functionlike macro with no args, - e.g., - #define getchar() getc (stdin) . - When there are args, the expansion is the replacement text with the - args squashed out, and the reflist is a list describing how to - build the output from the input: e.g., "3 chars, then the 1st arg, - then 9 chars, then the 3rd arg, then 0 chars, then the 2nd arg". - The chars here come from the expansion. Whatever is left of the - expansion after the last arg-occurrence is copied after that arg. - Note that the reflist can be arbitrarily long--- - its length depends on the number of times the arguments appear in - the replacement text, not how many args there are. Example: - #define f(x) x+x+x+x+x+x+x would have replacement text "++++++" and - pattern list - { (0, 1), (1, 1), (1, 1), ..., (1, 1), NULL } - where (x, y) means (nchars, argno). */ - -typedef struct definition DEFINITION; -struct definition { - int nargs; - int length; /* length of expansion string */ - U_CHAR *expansion; - struct reflist { - struct reflist *next; - char stringify; /* nonzero if this arg was preceded by a - # operator. */ - char raw_before; /* Nonzero if a ## operator before arg. */ - char raw_after; /* Nonzero if a ## operator after arg. */ - int nchars; /* Number of literal chars to copy before - this arg occurrence. */ - int argno; /* Number of arg to substitute (origin-0) */ - } *pattern; - /* Names of macro args, concatenated in reverse order - with comma-space between them. - The only use of this is that we warn on redefinition - if this differs between the old and new definitions. */ - const U_CHAR *argnames; -}; - -/* Chained list of answers to an assertion. */ -struct answer -{ - struct answer *next; - const unsigned char *answer; - size_t len; -}; - -/* different kinds of things that can appear in the value field - of a hash node. Actually, this may be useless now. */ -union hashval { - const char *cpval; - DEFINITION *defn; - struct answer *answers; -}; - -/* The structure of a node in the hash table. The hash table - has entries for all tokens defined by #define commands (type T_MACRO), - plus some special tokens like __LINE__ (these each have their own - type, and the appropriate code is run when that type of node is seen. - It does not contain control words like "#define", which are recognized - by a separate piece of code. */ - -/* different flavors of hash nodes --- also used in keyword table */ -enum node_type { - T_DEFINE = 1, /* `#define' */ - T_INCLUDE, /* `#include' */ - T_INCLUDE_NEXT,/* `#include_next' */ - T_IFDEF, /* `#ifdef' */ - T_IFNDEF, /* `#ifndef' */ - T_IF, /* `#if' */ - T_ELSE, /* `#else' */ - T_ELIF, /* `#elif' */ - T_UNDEF, /* `#undef' */ - T_LINE, /* `#line' */ - T_ENDIF, /* `#endif' */ - T_ERROR, /* `#error' */ - T_WARNING, /* `#warning' */ - T_ASSERT, /* `#assert' */ - T_UNASSERT, /* `#unassert' */ - T_SPECLINE, /* special symbol `__LINE__' */ - T_DATE, /* `__DATE__' */ - T_FILE, /* `__FILE__' */ - T_BASE_FILE, /* `__BASE_FILE__' */ - T_INCLUDE_LEVEL, /* `__INCLUDE_LEVEL__' */ - T_VERSION, /* `__VERSION__' */ - T_TIME, /* `__TIME__' */ - T_CONST, /* Constant value, used by `__STDC__' */ - T_MACRO, /* macro defined by `#define' */ - T_SPEC_DEFINED, /* special `defined' macro for use in #if statements */ - T_UNUSED /* Used for something not defined. */ -}; - -struct hashnode { - struct hashnode *next; /* double links for easy deletion */ - struct hashnode *prev; - struct hashnode **bucket_hdr; /* also, a back pointer to this node's hash - chain is kept, in case the node is the head - of the chain and gets deleted. */ - enum node_type type; /* type of special token */ - int length; /* length of token, for quick comparison */ - U_CHAR *name; /* the actual name */ - union hashval value; /* pointer to expansion, or whatever */ -}; - -typedef struct hashnode HASHNODE; - -static HASHNODE *parse_assertion PARAMS ((const unsigned char *, - const unsigned char *, - struct answer **, int)); -static struct answer **find_answer PARAMS ((HASHNODE *, - const struct answer *)); -static int parse_answer PARAMS ((const unsigned char *, const unsigned char *, - struct answer **, int)); -static unsigned char *canonicalize_text PARAMS ((const unsigned char *, - const unsigned char *, - const unsigned char **)); - -/* Some definitions for the hash table. The hash function MUST be - computed as shown in hashf () below. That is because the rescan - loop computes the hash value `on the fly' for most tokens, - in order to avoid the overhead of a lot of procedure calls to - the hashf () function. Hashf () only exists for the sake of - politeness, for use when speed isn't so important. */ - -#define HASHSIZE 1403 -HASHNODE *hashtab[HASHSIZE]; -#define HASHSTEP(old, c) ((old << 2) + c) -#define MAKE_POS(v) (v & 0x7fffffff) /* make number positive */ - -/* `struct directive' defines one #-directive, including how to handle it. */ - -struct directive { - const int length; /* Length of name */ - void (*const func) PARAMS ((U_CHAR *, U_CHAR *, FILE_BUF *)); - /* Function to handle directive */ - const char *const name; /* Name of directive */ - const enum node_type type; /* Code which describes which directive. */ -}; - -/* Last arg to output_line_command. */ -enum file_change_code {same_file, enter_file, leave_file}; - -/* This structure represents one parsed argument in a macro call. - `raw' points to the argument text as written (`raw_length' is its length). - `expanded' points to the argument's macro-expansion - (its length is `expand_length'). - `stringified_length' is the length the argument would have - if stringified. - `free1' and `free2', if nonzero, point to blocks to be freed - when the macro argument data is no longer needed. */ - -struct argdata { - U_CHAR *raw, *expanded; - int raw_length, expand_length; - int stringified_length; - U_CHAR *free1, *free2; - char newlines; - char comments; -}; - -/* The arglist structure is built by do_define to tell - collect_definition where the argument names begin. That - is, for a define like "#define f(x,y,z) foo+x-bar*y", the arglist - would contain pointers to the strings x, y, and z. - Collect_definition would then build a DEFINITION node, - with reflist nodes pointing to the places x, y, and z had - appeared. So the arglist is just convenience data passed - between these two routines. It is not kept around after - the current #define has been processed and entered into the - hash table. */ - -struct arglist { - struct arglist *next; - U_CHAR *name; - int length; - int argno; -}; - -/* Function prototypes. */ - -static void do_define PARAMS ((U_CHAR *, U_CHAR *, FILE_BUF *)); -static void do_error PARAMS ((U_CHAR *, U_CHAR *, FILE_BUF *)); -static void do_warning PARAMS ((U_CHAR *, U_CHAR *, FILE_BUF *)); -static void do_line PARAMS ((U_CHAR *, U_CHAR *, FILE_BUF *)); -static void do_include PARAMS ((U_CHAR *, U_CHAR *, FILE_BUF *)); -static void do_include_next PARAMS ((U_CHAR *, U_CHAR *, FILE_BUF *)); -static void do_undef PARAMS ((U_CHAR *, U_CHAR *, FILE_BUF *)); -static void do_if PARAMS ((U_CHAR *, U_CHAR *, FILE_BUF *)); -static void do_ifdef PARAMS ((U_CHAR *, U_CHAR *, FILE_BUF *)); -static void do_ifndef PARAMS ((U_CHAR *, U_CHAR *, FILE_BUF *)); -static void do_else PARAMS ((U_CHAR *, U_CHAR *, FILE_BUF *)); -static void do_elif PARAMS ((U_CHAR *, U_CHAR *, FILE_BUF *)); -static void do_endif PARAMS ((U_CHAR *, U_CHAR *, FILE_BUF *)); -static void do_assert PARAMS ((U_CHAR *, U_CHAR *, FILE_BUF *)); -static void do_unassert PARAMS ((U_CHAR *, U_CHAR *, FILE_BUF *)); -static void do_xifdef PARAMS ((U_CHAR *, U_CHAR *, enum node_type)); - -static struct hashnode *install PARAMS ((const U_CHAR *, int, enum node_type, int)); -static int hashf PARAMS ((const U_CHAR *, int, int)); -static int compare_defs PARAMS ((DEFINITION *, DEFINITION *)); -static int comp_def_part PARAMS ((int, const U_CHAR *, int, - const U_CHAR *, int, int)); -static void delete_macro PARAMS ((HASHNODE *)); - -/* First arg to v_message. */ -enum msgtype { MT_WARNING = 0, MT_ERROR, MT_FATAL }; -static void v_message PARAMS ((enum msgtype mtype, int line, - const char *msgid, va_list ap)) - ATTRIBUTE_PRINTF (3, 0); - -static int line_for_error PARAMS ((int)); - -/* We know perfectly well which file this is, so we don't need to - use __FILE__. */ -#undef abort -#if (GCC_VERSION >= 2007) -#define abort() fancy_abort(__LINE__, __FUNCTION__) -#else -#define abort() fancy_abort(__LINE__, 0); -#endif - -static void macroexpand PARAMS ((HASHNODE *, FILE_BUF *)); -static void special_symbol PARAMS ((HASHNODE *, FILE_BUF *)); -static void dump_all_macros PARAMS ((void)); -static void dump_defn_1 PARAMS ((const U_CHAR *, int, int)); -static void dump_arg_n PARAMS ((DEFINITION *, int)); -static void conditional_skip PARAMS ((FILE_BUF *, int, enum node_type)); -static void skip_if_group PARAMS ((FILE_BUF *, int)); -static void output_line_command PARAMS ((FILE_BUF *, FILE_BUF *, - int, enum file_change_code)); - -static int eval_if_expression PARAMS ((const U_CHAR *, int)); - -static void output_deps PARAMS ((void)); -static void initialize_builtins PARAMS ((void)); -static void run_directive PARAMS ((const char *, size_t, - enum node_type)); -static void make_definition PARAMS ((const char *)); -static void make_undef PARAMS ((const char *)); -static void make_assertion PARAMS ((const char *)); - -static void grow_outbuf PARAMS ((FILE_BUF *, int)); -static int handle_directive PARAMS ((FILE_BUF *, FILE_BUF *)); -static void process_include PARAMS ((struct file_name_list *, - const U_CHAR *, int, int, FILE_BUF *)); -static void fixup_newlines PARAMS ((FILE_BUF *)); -static void finclude PARAMS ((int, const char *, - struct file_name_list *, FILE_BUF *)); -static void init_dependency_output PARAMS ((void)); -static void rescan PARAMS ((FILE_BUF *, int)); -static void newline_fix PARAMS ((U_CHAR *)); -static void name_newline_fix PARAMS ((U_CHAR *)); -static U_CHAR *macarg1 PARAMS ((U_CHAR *, const U_CHAR *, int *, - int *, int *)); -static const char *macarg PARAMS ((struct argdata *)); -static int discard_comments PARAMS ((U_CHAR *, int, int)); -static int file_size_and_mode PARAMS ((int, int *, long *)); - -static U_CHAR *skip_to_end_of_comment PARAMS ((FILE_BUF *, int *)); -static U_CHAR *skip_quoted_string PARAMS ((const U_CHAR *, const U_CHAR *, - int, int *, int *, int *)); - -int main PARAMS ((int, char **)); - -/* Convenience. Write U"string" to get an unsigned string constant. */ -#define U (const unsigned char *) - -/* Here is the actual list of #-directives, most-often-used first. */ - -static const struct directive directive_table[] = { - { 6, do_define, "define", T_DEFINE }, - { 7, do_include, "include", T_INCLUDE }, - { 5, do_endif, "endif", T_ENDIF }, - { 5, do_ifdef, "ifdef", T_IFDEF }, - { 2, do_if, "if", T_IF, }, - { 4, do_else, "else", T_ELSE }, - { 6, do_ifndef, "ifndef", T_IFNDEF }, - { 5, do_undef, "undef", T_UNDEF }, - { 4, do_line, "line", T_LINE }, - { 4, do_elif, "elif", T_ELIF }, - { 5, do_error, "error", T_ERROR }, - { 7, do_warning, "warning", T_WARNING }, - { 12, do_include_next, "include_next", T_INCLUDE_NEXT }, - { 6, do_assert, "assert", T_ASSERT }, - { 8, do_unassert,"unassert",T_UNASSERT}, - { -1, 0, "", T_UNUSED}, -}; - -#define SKIP_WHITE_SPACE(p) do { while (is_nvspace(*p)) p++; } while (0) -#define SKIP_ALL_WHITE_SPACE(p) do { while (is_space(*p)) p++; } while (0) - -int errors = 0; /* Error counter for exit code */ - -static FILE_BUF expand_to_temp_buffer PARAMS ((const U_CHAR *, const U_CHAR *, int)); -static DEFINITION *collect_expansion PARAMS ((U_CHAR *, U_CHAR *, int, - struct arglist *)); - -/* Stack of conditionals currently in progress - (including both successful and failing conditionals). */ - -struct if_stack { - struct if_stack *next; /* for chaining to the next stack frame */ - const char *fname; /* copied from input when frame is made */ - int lineno; /* similarly */ - int if_succeeded; /* true if a leg of this if-group - has been passed through rescan */ - enum node_type type; /* type of last directive seen in this group */ -}; -typedef struct if_stack IF_STACK_FRAME; -IF_STACK_FRAME *if_stack = NULL; - -/* Nonzero means -I- has been seen, - so don't look for #include "foo" the source-file directory. */ -int ignore_srcdir; - -/* Pending directives. */ -enum pending_dir_t {PD_NONE = 0, PD_DEFINE, PD_UNDEF, PD_ASSERTION, PD_FILE}; - -typedef struct pending_dir pending_dir; -struct pending_dir -{ - const char *arg; - enum pending_dir_t type; -}; - -int -main (argc, argv) - int argc; - char **argv; -{ - int st_mode; - long st_size; - const char *in_fname, *out_fname; - int f, i; - FILE_BUF *fp; - pending_dir *pend = (pending_dir *) xcalloc (argc, sizeof (pending_dir)); - int no_standard_includes = 0; - - hex_init (); - -#ifdef RLIMIT_STACK - /* Get rid of any avoidable limit on stack size. */ - { - struct rlimit rlim; - - /* Set the stack limit huge so that alloca (particularly stringtab - * in dbxread.c) does not fail. */ - getrlimit (RLIMIT_STACK, &rlim); - rlim.rlim_cur = rlim.rlim_max; - setrlimit (RLIMIT_STACK, &rlim); - } -#endif /* RLIMIT_STACK defined */ - - progname = argv[0]; - - in_fname = NULL; - out_fname = NULL; - - no_line_commands = 0; - dump_macros = 0; - no_output = 0; - - max_include_len = cpp_GCC_INCLUDE_DIR_len + 7; /* ??? */ - - gcc_init_libintl (); - - /* It's simplest to just create this struct whether or not it will - be needed. */ - deps = deps_init (); - - /* Process switches and find input file name. */ - - for (i = 1; i < argc; i++) { - if (argv[i][0] != '-') { - if (out_fname != NULL) - fatal ("usage: %s [switches] input output", argv[0]); - else if (in_fname != NULL) - out_fname = argv[i]; - else - in_fname = argv[i]; - } else { - int c = argv[i][1]; - - switch (c) { - case 'E': - case '$': - break; /* Ignore for compatibility with ISO/extended cpp. */ - - case 'l': - if (!strcmp (argv[i], "-lang-c++") - || !strcmp (argv[i], "-lang-objc++")) - fatal ("-traditional is not supported in C++"); - else if (!strcmp (argv[i], "-lang-c89")) - fatal ("-traditional and -ansi are mutually exclusive"); - else if (!strcmp (argv[i], "-lang-objc")) - pend[i].type = PD_DEFINE, pend[i].arg = "__OBJC__"; - else if (!strcmp (argv[i], "-lang-asm")) - pend[i].type = PD_DEFINE, pend[i].arg = "__ASSEMBLER__"; - else if (!strcmp (argv[i], "-lang-fortran")) - pend[i].type = PD_DEFINE, pend[i].arg = "_LANGUAGE_FORTRAN"; - /* All other possibilities ignored. */ - break; - - case 'i': - if (!strcmp (argv[i], "-include")) - { - if (i + 1 == argc) - fatal ("filename missing after -i option"); - else - pend[i].type = PD_FILE, pend[i].arg = argv[i + 1], i++; - } - else if (!strcmp (argv[i], "-iprefix")) - i++; /* Ignore for compatibility */ - else if (!strcmp (argv[i], "-isystem") - || !strcmp (argv[i], "-iwithprefix") - || !strcmp (argv[i], "-iwithprefixbefore") - || !strcmp (argv[i], "-idirafter")) - goto add_include; /* best we can do */ - - break; - - case 'o': - if (out_fname != NULL) - fatal ("output filename specified twice"); - if (i + 1 == argc) - fatal ("filename missing after -o option"); - out_fname = argv[++i]; - if (!strcmp (out_fname, "-")) - out_fname = ""; - break; - - case 'w': - inhibit_warnings = 1; - break; - - case 'W': - if (!strcmp (argv[i], "-Wcomments")) - warn_comments = 1; - else if (!strcmp (argv[i], "-Wcomment")) - warn_comments = 1; - else if (!strcmp (argv[i], "-Wall")) { - warn_comments = 1; - } - break; - - case 'f': - if (!strcmp (argv[i], "-fleading-underscore")) - user_label_prefix = "_"; - else if (!strcmp (argv[i], "-fno-leading-underscore")) - user_label_prefix = ""; - else if (!strcmp (argv[i], "-fsigned-char")) - flag_signed_char = 1; - else if (!strcmp (argv[i], "-funsigned-char")) - flag_signed_char = 0; - break; - - case 'M': - { - char *p = NULL; - - /* -MD and -MMD for tradcpp are deprecated and undocumented - (use -M or -MM with -MF instead), and probably should be - removed with the next major GCC version. For the moment - we allow these for the benefit of Automake 1.4, which - uses these when dependency tracking is enabled. Automake - 1.5 will fix this. */ - if (!strncmp (argv[i], "-MD", 3)) { - p = argv[i] + 3; - print_deps = 2; - } else if (!strncmp (argv[i], "-MMD", 4)) { - p = argv[i] + 4; - print_deps = 1; - } else if (!strcmp (argv[i], "-M")) { - print_deps = 2; - } else if (!strcmp (argv[i], "-MM")) { - print_deps = 1; - } else if (!strcmp (argv[i], "-MG")) { - deps_missing_files = 1; - } else if (!strcmp (argv[i], "-MF")) { - p = argv[i] + 3; - } else if (!strcmp (argv[i], "-MP")) { - print_deps_phony_targets = 1; - } else if (!strcmp (argv[i], "-MQ") || !strcmp (argv[i], "-MT")) { - /* Add a target. -MQ quotes for Make. */ - const char *tgt = argv[i] + 3; - int quoted = argv[i][2] == 'Q'; - - if (*tgt == '\0' && i + 1 == argc) - fatal ("target missing after %s option", argv[i]); - else - { - if (*tgt == '\0') - tgt = argv[++i]; - - deps_add_target (deps, tgt, quoted); - } - } - - if (p) { - if (*p) - deps_file = p; - else if (i + 1 == argc) - fatal ("filename missing after %s option", argv[i]); - else - deps_file = argv[++i]; - } - } - break; - - case 'd': - dump_macros = 1; - no_output = 1; - break; - - case 'v': - fprintf (stderr, "GNU traditional CPP version %s\n", version_string); - break; - - case 'D': - case 'U': - case 'A': - { - char *p; - - if (argv[i][2] != 0) - p = argv[i] + 2; - else if (i + 1 == argc) - fatal ("macro name missing after -%c option", c); - else - p = argv[++i]; - - if (c == 'D') - pend[i].type = PD_DEFINE; - else if (c == 'U') - pend[i].type = PD_UNDEF; - else - pend[i].type = PD_ASSERTION; - pend[i].arg = p; - } - break; - - case 'C': - put_out_comments = 1; - break; - - case 'p': - if (!strcmp (argv[i], "-pedantic")) - fatal ("-pedantic and -traditional are mutually exclusive"); - break; - - case 't': - if (!strcmp (argv[i], "-trigraphs")) - fatal ("-trigraphs and -traditional are mutually exclusive"); - break; - - case 'P': - no_line_commands = 1; - break; - - case 'I': /* Add directory to path for includes. */ - add_include: - { - struct file_name_list *dirtmp; - - if (! ignore_srcdir && !strcmp (argv[i] + 2, "-")) - ignore_srcdir = 1; - else { - dirtmp = (struct file_name_list *) - xmalloc (sizeof (struct file_name_list)); - dirtmp->next = 0; /* New one goes on the end */ - if (include == 0) - include = dirtmp; - else - last_include->next = dirtmp; - last_include = dirtmp; /* Tail follows the last one */ - if (argv[i][1] == 'I' && argv[i][2] != 0) - dirtmp->fname = argv[i] + 2; - else if (i + 1 == argc) - fatal ("directory name missing after -I option"); - else - dirtmp->fname = argv[++i]; - if (strlen (dirtmp->fname) > max_include_len) - max_include_len = strlen (dirtmp->fname); - if (ignore_srcdir && first_bracket_include == 0) - first_bracket_include = dirtmp; - } - } - break; - - case 'n': - /* -nostdinc causes no default include directories. - You must specify all include-file directories with -I. */ - no_standard_includes = 1; - break; - - case '\0': /* JF handle '-' as file name meaning stdin or stdout */ - if (in_fname == NULL) { - in_fname = ""; - break; - } else if (out_fname == NULL) { - out_fname = ""; - break; - } /* else fall through into error */ - - default: - fatal ("invalid option `%s'", argv[i]); - } - } - } - - init_dependency_output (); - - /* After checking the environment variables, check if -M or -MM has - not been specified, but other -M options have. */ - if (print_deps == 0 - && (deps_missing_files || deps_file || print_deps_phony_targets)) - fatal ("you must additionally specify either -M or -MM"); - - if (user_label_prefix == 0) - user_label_prefix = USER_LABEL_PREFIX; - - if (print_deps) - { - /* Set the default target (if there is none already), and - the dependency on the main file. */ - deps_add_default_target (deps, in_fname); - - deps_add_dep (deps, in_fname); - } - - /* Install __LINE__, etc. Must follow option processing. */ - initialize_builtins (); - - /* Do defines specified with -D and undefines specified with -U. */ - for (i = 1; i < argc; i++) - if (pend[i].type == PD_DEFINE) - make_definition (pend[i].arg); - else if (pend[i].type == PD_UNDEF) - make_undef (pend[i].arg); - else if (pend[i].type == PD_ASSERTION) - make_assertion (pend[i].arg); - - /* Unless -fnostdinc, - tack on the standard include file dirs to the specified list */ - if (!no_standard_includes) { - const struct default_include *di; - struct file_name_list *old_last_include = last_include; - struct file_name_list *dirtmp; - for (di = cpp_include_defaults; di->fname; di++) { - if (di->cplusplus) - continue; - dirtmp = (struct file_name_list *) - xmalloc (sizeof (struct file_name_list)); - dirtmp->next = 0; /* New one goes on the end */ - if (include == 0) - include = dirtmp; - else - last_include->next = dirtmp; - last_include = dirtmp; /* Tail follows the last one */ - dirtmp->fname = di->fname; - if (strlen (dirtmp->fname) > max_include_len) - max_include_len = strlen (dirtmp->fname); - } - - if (ignore_srcdir && first_bracket_include == 0) - first_bracket_include = old_last_include->next; - } - - /* Initialize output buffer */ - - outbuf.buf = (U_CHAR *) xmalloc (OUTBUF_SIZE); - outbuf.bufp = outbuf.buf; - outbuf.length = OUTBUF_SIZE; - - /* Scan the -i files before the main input. - Much like #including them, but with no_output set - so that only their macro definitions matter. */ - - no_output++; - indepth++; - for (i = 1; i < argc; i++) - if (pend[i].type == PD_FILE) - { - int fd = open (pend[i].arg, O_RDONLY, 0666); - if (fd < 0) - { - perror_with_name (pend[i].arg); - return FATAL_EXIT_CODE; - } - - /* For -M, add this file to the dependencies. */ - if (print_deps) - deps_add_dep (deps, pend[i].arg); - - finclude (fd, pend[i].arg, 0, &outbuf); - } - indepth--; - no_output--; - - /* Pending directives no longer needed. */ - free ((PTR) pend); - - /* Create an input stack level for the main input file - and copy the entire contents of the file into it. */ - - fp = &instack[++indepth]; - - /* JF check for stdin */ - if (in_fname == NULL || *in_fname == 0) { - in_fname = ""; - f = 0; - } else if ((f = open (in_fname, O_RDONLY, 0666)) < 0) - goto sys_error; - - if (file_size_and_mode (f, &st_mode, &st_size)) - goto sys_error; - fp->fname = in_fname; - fp->lineno = 1; - /* JF all this is mine about reading pipes and ttys */ - if (!S_ISREG (st_mode)) { - /* Read input from a file that is not a normal disk file. - We cannot preallocate a buffer with the correct size, - so we must read in the file a piece at the time and make it bigger. */ - int size; - int bsize; - int cnt; - U_CHAR *bufp; - - bsize = 2000; - size = 0; - fp->buf = (U_CHAR *) xmalloc (bsize + 2); - bufp = fp->buf; - for (;;) { - cnt = read (f, bufp, bsize - size); - if (cnt < 0) goto sys_error; /* error! */ - if (cnt == 0) break; /* End of file */ - size += cnt; - bufp += cnt; - if (bsize == size) { /* Buffer is full! */ - bsize *= 2; - fp->buf = (U_CHAR *) xrealloc (fp->buf, bsize + 2); - bufp = fp->buf + size; /* May have moved */ - } - } - fp->length = size; - } else { - /* Read a file whose size we can determine in advance. - For the sake of VMS, st_size is just an upper bound. */ - long i; - fp->length = 0; - fp->buf = (U_CHAR *) xmalloc (st_size + 2); - - while (st_size > 0) { - i = read (f, fp->buf + fp->length, st_size); - if (i <= 0) { - if (i == 0) break; - goto sys_error; - } - fp->length += i; - st_size -= i; - } - } - fp->bufp = fp->buf; - fp->if_stack = if_stack; - fixup_newlines (fp); - - /* Make sure data ends with a newline. And put a null after it. */ - - if (fp->length > 0 && fp->buf[fp->length-1] != '\n') - fp->buf[fp->length++] = '\n'; - fp->buf[fp->length] = '\0'; - - /* Now that we know the input file is valid, open the output. */ - - if (!out_fname || !strcmp (out_fname, "")) - out_fname = "stdout"; - else if (! freopen (out_fname, "w", stdout)) - pfatal_with_name (out_fname); - - output_line_command (fp, &outbuf, 0, same_file); - - /* Scan the input, processing macros and directives. */ - - rescan (&outbuf, 0); - - /* Now we have processed the entire input - Write whichever kind of output has been requested. */ - - - if (dump_macros) - dump_all_macros (); - else if (! inhibit_output) - if (write (fileno (stdout), outbuf.buf, outbuf.bufp - outbuf.buf) < 0) - fatal ("I/O error on output"); - - /* Don't write the deps file if preprocessing has failed. */ - if (print_deps && errors == 0) - output_deps (); - - /* Destruct the deps object. */ - deps_free (deps); - - if (ferror (stdout)) - fatal ("I/O error on output"); - - if (errors) - exit (FATAL_EXIT_CODE); - exit (SUCCESS_EXIT_CODE); - - sys_error: - pfatal_with_name (in_fname); -} - -/* Set up dependency-file output. */ -static void -init_dependency_output () -{ - char *spec, *s, *output_file; - - /* Either of two environment variables can specify output of deps. - Its value is either "OUTPUT_FILE" or "OUTPUT_FILE DEPS_TARGET", - where OUTPUT_FILE is the file to write deps info to - and DEPS_TARGET is the target to mention in the deps. */ - - if (print_deps == 0) - { - spec = getenv ("DEPENDENCIES_OUTPUT"); - if (spec) - print_deps = 1; - else - { - spec = getenv ("SUNPRO_DEPENDENCIES"); - if (spec) - print_deps = 2; - else - return; - } - - /* Find the space before the DEPS_TARGET, if there is one. */ - s = strchr (spec, ' '); - if (s) - { - /* Let the caller perform MAKE quoting. */ - deps_add_target (deps, s + 1, 0); - output_file = (char *) xmalloc (s - spec + 1); - memcpy (output_file, spec, s - spec); - output_file[s - spec] = 0; - } - else - output_file = spec; - - /* Command line overrides environment variables. */ - if (deps_file == 0) - deps_file = output_file; - deps_append = 1; - } - - /* If dependencies go to standard output, or -MG is used, we should - suppress output. The user may be requesting other stuff to - stdout, with -dM, -v etc. We let them shoot themselves in the - foot. */ - if (deps_file == 0 || deps_missing_files) - inhibit_output = 1; -} - -/* Use mkdeps.c to output dependency information. */ -static void -output_deps () -{ - /* Stream on which to print the dependency information. */ - FILE *deps_stream = 0; - const char *const deps_mode = deps_append ? "a" : "w"; - - if (deps_file == 0) - deps_stream = stdout; - else - { - deps_stream = fopen (deps_file, deps_mode); - if (deps_stream == 0) - { - error_from_errno (deps_file); - return; - } - } - - deps_write (deps, deps_stream, 72); - - if (print_deps_phony_targets) - deps_phony_targets (deps, deps_stream); - - /* Don't close stdout. */ - if (deps_file) - { - if (ferror (deps_stream) || fclose (deps_stream) != 0) - fatal ("I/O error on output"); - } -} - -/* Move all backslash-newline pairs out of embarrassing places. - Exchange all such pairs following BP - with any potentially-embarrasing characters that follow them. - Potentially-embarrassing characters are / and * - (because a backslash-newline inside a comment delimiter - would cause it not to be recognized). */ -static void -newline_fix (bp) - U_CHAR *bp; -{ - U_CHAR *p = bp; - int count = 0; - - /* First count the backslash-newline pairs here. */ - - while (*p++ == '\\' && *p++ == '\n') - count++; - - p = bp + count * 2; - - /* Exit if what follows the backslash-newlines is not embarrassing. */ - - if (count == 0 || (*p != '/' && *p != '*')) - return; - - /* Copy all potentially embarrassing characters - that follow the backslash-newline pairs - down to where the pairs originally started. */ - - while (*p == '*' || *p == '/') - *bp++ = *p++; - - /* Now write the same number of pairs after the embarrassing chars. */ - while (count-- > 0) { - *bp++ = '\\'; - *bp++ = '\n'; - } -} - -/* Like newline_fix but for use within a directive-name. - Move any backslash-newlines up past any following symbol constituents. */ -static void -name_newline_fix (bp) - U_CHAR *bp; -{ - U_CHAR *p = bp; - int count = 0; - - /* First count the backslash-newline pairs here. */ - - while (*p++ == '\\' && *p++ == '\n') - count++; - - p = bp + count * 2; - - /* What follows the backslash-newlines is not embarrassing. */ - - if (count == 0 || !is_idchar (*p)) - return; - - /* Copy all potentially embarrassing characters - that follow the backslash-newline pairs - down to where the pairs originally started. */ - - while (is_idchar (*p)) - *bp++ = *p++; - - /* Now write the same number of pairs after the embarrassing chars. */ - while (count-- > 0) { - *bp++ = '\\'; - *bp++ = '\n'; - } -} - -/* - * The main loop of the program. - * - * Read characters from the input stack, transferring them to the - * output buffer OP. - * - * Macros are expanded and push levels on the input stack. - * At the end of such a level it is popped off and we keep reading. - * At the end of any other kind of level, we return. - * #-directives are handled, except within macros. - * - * If OUTPUT_MARKS is nonzero, keep Newline markers found in the input - * and insert them when appropriate. This is set while scanning macro - * arguments before substitution. It is zero when scanning for final output. - * There are three types of Newline markers: - * * Newline - follows a macro name that was not expanded - * because it appeared inside an expansion of the same macro. - * This marker prevents future expansion of that identifier. - * When the input is rescanned into the final output, these are deleted. - * These are also deleted by ## concatenation. - * * Newline Space (or Newline and any other whitespace character) - * stands for a place that tokens must be separated or whitespace - * is otherwise desirable, but where the ANSI standard specifies there - * is no whitespace. This marker turns into a Space (or whichever other - * whitespace char appears in the marker) in the final output, - * but it turns into nothing in an argument that is stringified with #. - * Such stringified arguments are the only place where the ANSI standard - * specifies with precision that whitespace may not appear. - * - * During this function, IP->bufp is kept cached in IBP for speed of access. - * Likewise, OP->bufp is kept in OBP. Before calling a subroutine - * IBP, IP and OBP must be copied back to memory. IP and IBP are - * copied back with the RECACHE macro. OBP must be copied back from OP->bufp - * explicitly, and before RECACHE, since RECACHE uses OBP. - */ - -static void -rescan (op, output_marks) - FILE_BUF *op; - int output_marks; -{ - /* Character being scanned in main loop. */ - U_CHAR c; - - /* Length of pending accumulated identifier. */ - int ident_length = 0; - - /* Hash code of pending accumulated identifier. */ - int hash = 0; - - /* Current input level (&instack[indepth]). */ - FILE_BUF *ip; - - /* Pointer for scanning input. */ - U_CHAR *ibp; - - /* Pointer to end of input. End of scan is controlled by LIMIT. */ - U_CHAR *limit; - - /* Pointer for storing output. */ - U_CHAR *obp; - - /* REDO_CHAR is nonzero if we are processing an identifier - after backing up over the terminating character. - Sometimes we process an identifier without backing up over - the terminating character, if the terminating character - is not special. Backing up is done so that the terminating character - will be dispatched on again once the identifier is dealt with. */ - int redo_char = 0; - - /* 1 if within an identifier inside of which a concatenation - marker (Newline -) has been seen. */ - int concatenated = 0; - - /* While scanning a comment or a string constant, - this records the line it started on, for error messages. */ - int start_line; - - /* Record position of last `real' newline. */ - U_CHAR *beg_of_line; - - /* This has to be a global bacause of RECACHE. */ - U_CHAR *obufp_before_macroname = NULL; - -/* Pop the innermost input stack level, assuming it is a macro expansion. */ - -#define POPMACRO \ -do { ip->macro->type = T_MACRO; \ - if (ip->free_ptr) free (ip->free_ptr); \ - --indepth; } while (0) - -/* Reload `rescan's local variables that describe the current - level of the input stack. */ - -#define RECACHE \ -do { ip = &instack[indepth]; \ - ibp = ip->bufp; \ - limit = ip->buf + ip->length; \ - op->bufp = obp; \ - check_expand (op, limit - ibp); \ - beg_of_line = 0; \ - obufp_before_macroname += op->bufp - obp; \ - obp = op->bufp; } while (0) - - if (no_output && instack[indepth].fname != 0) - skip_if_group (&instack[indepth], 1); - - obp = op->bufp; - RECACHE; - beg_of_line = ibp; - - /* Our caller must always put a null after the end of - the input at each input stack level. */ - if (*limit != 0) - abort (); - - while (1) { - c = *ibp++; - *obp++ = c; - - switch (c) { - case '\\': - if (ibp >= limit) - break; - if (*ibp == '\n') { - /* Always merge lines ending with backslash-newline, - even in middle of identifier. */ - ++ibp; - ++ip->lineno; - --obp; /* remove backslash from obuf */ - break; - } - /* Otherwise, backslash suppresses specialness of following char, - so copy it here to prevent the switch from seeing it. - But first get any pending identifier processed. */ - if (ident_length > 0) - goto specialchar; - *obp++ = *ibp++; - break; - - case '#': - /* If this is expanding a macro definition, don't recognize - preprocessor directives. */ - if (ip->macro != 0) - goto randomchar; - if (ident_length) - goto specialchar; - - /* # keyword: a # must be the first char on the line */ - if (beg_of_line == 0) - goto randomchar; - if (beg_of_line + 1 != ibp) - goto randomchar; - - /* This # can start a directive. */ - - --obp; /* Don't copy the '#' */ - - ip->bufp = ibp; - op->bufp = obp; - if (! handle_directive (ip, op)) { -#ifdef USE_C_ALLOCA - alloca (0); -#endif - /* Not a known directive: treat it as ordinary text. - IP, OP, IBP, etc. have not been changed. */ - if (no_output && instack[indepth].fname) { - /* If not generating expanded output, - what we do with ordinary text is skip it. - Discard everything until next # directive. */ - skip_if_group (&instack[indepth], 1); - RECACHE; - beg_of_line = ibp; - break; - } - ++obp; /* Copy the '#' after all */ - goto randomchar; - } -#ifdef USE_C_ALLOCA - alloca (0); -#endif - /* A # directive has been successfully processed. */ - /* If not generating expanded output, ignore everything until - next # directive. */ - if (no_output && instack[indepth].fname) - skip_if_group (&instack[indepth], 1); - obp = op->bufp; - RECACHE; - beg_of_line = ibp; - break; - - case '\"': /* skip quoted string */ - case '\'': - /* A single quoted string is treated like a double -- some - programs (e.g., troff) are perverse this way */ - - if (ident_length) - goto specialchar; - - start_line = ip->lineno; - - /* Skip ahead to a matching quote. */ - - while (1) { - if (ibp >= limit) { - if (ip->macro != 0) { - /* try harder: this string crosses a macro expansion boundary */ - POPMACRO; - RECACHE; - continue; - } - break; - } - *obp++ = *ibp; - switch (*ibp++) { - case '\n': - ++ip->lineno; - ++op->lineno; - /* Traditionally, end of line ends a string constant with no error. - So exit the loop and record the new line. */ - beg_of_line = ibp; - goto while2end; - - case '\\': - if (ibp >= limit) - break; - if (*ibp == '\n') { - /* Backslash newline is replaced by nothing at all, - but keep the line counts correct. */ - --obp; - ++ibp; - ++ip->lineno; - } else { - /* ANSI stupidly requires that in \\ the second \ - is *not* prevented from combining with a newline. */ - while (*ibp == '\\' && ibp[1] == '\n') { - ibp += 2; - ++ip->lineno; - } - *obp++ = *ibp++; - } - break; - - case '\"': - case '\'': - if (ibp[-1] == c) - goto while2end; - break; - } - } - while2end: - break; - - case '/': - if (*ibp == '\\' && ibp[1] == '\n') - newline_fix (ibp); - /* Don't look for comments inside a macro definition. */ - if (ip->macro != 0) - goto randomchar; - /* A comment constitutes white space, so it can terminate an identifier. - Process the identifier, if any. */ - if (ident_length) - goto specialchar; - - if (*ibp != '*') - goto randomchar; - - /* We have a comment. Skip it, optionally copying it to output. */ - - start_line = ip->lineno; - - ++ibp; /* Skip the star. */ - - /* In K+R C, a comment is equivalent to nothing. Note that we - already output the slash; we might not want it. */ - if (! put_out_comments) - obp--; - else - *obp++ = '*'; - - { - U_CHAR *before_bp = ibp; - - while (ibp < limit) { - switch (*ibp++) { - case '/': - if (warn_comments && ibp < limit && *ibp == '*') - warning("`/*' within comment"); - break; - case '*': - if (*ibp == '\\' && ibp[1] == '\n') - newline_fix (ibp); - if (ibp >= limit || *ibp == '/') - goto comment_end; - break; - case '\n': - ++ip->lineno; - /* Copy the newline into the output buffer, in order to - avoid the pain of a #line every time a multiline comment - is seen. */ - if (!put_out_comments) - *obp++ = '\n'; - ++op->lineno; - } - } - comment_end: - - if (ibp >= limit) - error_with_line (line_for_error (start_line), - "unterminated comment"); - else { - ibp++; - if (put_out_comments) { - memcpy (obp, before_bp, ibp - before_bp); - obp += ibp - before_bp; - } - } - } - break; - - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - /* If digit is not part of identifier, it starts a number, - which means that following letters are not an identifier. - "0x5" does not refer to an identifier "x5". - So copy all alphanumerics that follow without accumulating - as an identifier. Periods also, for sake of "3.e7". */ - - if (ident_length == 0) { - while (ibp < limit) { - while (ibp < limit && ibp[0] == '\\' && ibp[1] == '\n') { - ++ip->lineno; - ibp += 2; - } - c = *ibp++; - if (! ISIDNUM (c) && c != '.') { - --ibp; - break; - } - *obp++ = c; - /* A sign can be part of a preprocessing number - if it follows an e. */ - if (c == 'e' || c == 'E') { - while (ibp < limit && ibp[0] == '\\' && ibp[1] == '\n') { - ++ip->lineno; - ibp += 2; - } - if (ibp < limit && (*ibp == '+' || *ibp == '-')) { - *obp++ = *ibp++; - /* Traditional C does not let the token go past the sign. */ - break; - } - } - } - break; - } - /* fall through */ - - case '_': - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': - case 's': case 't': case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': - case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': - case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': - case 'Y': case 'Z': - ident_length++; - /* Compute step of hash function, to avoid a proc call on every token */ - hash = HASHSTEP (hash, c); - break; - - case '\n': - /* If reprocessing a macro expansion, newline is a special marker. */ - if (ip->macro != 0) { - /* Newline White is a "funny space" to separate tokens that are - supposed to be separate but without space between. - Here White means any horizontal whitespace character. - Newline - marks a recursive macro use that is not - supposed to be expandable. */ - - if (*ibp == '-') { - /* Newline - inhibits expansion of preceding token. - If expanding a macro arg, we keep the newline -. - In final output, it is deleted. */ - if (! concatenated) { - ident_length = 0; - hash = 0; - } - ibp++; - if (!output_marks) { - obp--; - } else { - /* If expanding a macro arg, keep the newline -. */ - *obp++ = '-'; - } - } else if (is_space (*ibp)) { - /* Newline Space does not prevent expansion of preceding token - so expand the preceding token and then come back. */ - if (ident_length > 0) - goto specialchar; - - /* If generating final output, newline space makes a space. */ - if (!output_marks) { - obp[-1] = *ibp++; - /* And Newline Newline makes a newline, so count it. */ - if (obp[-1] == '\n') - op->lineno++; - } else { - /* If expanding a macro arg, keep the newline space. - If the arg gets stringified, newline space makes nothing. */ - *obp++ = *ibp++; - } - } else abort (); /* Newline followed by something random? */ - break; - } - - /* If there is a pending identifier, handle it and come back here. */ - if (ident_length > 0) - goto specialchar; - - beg_of_line = ibp; - - /* Update the line counts and output a #line if necessary. */ - ++ip->lineno; - ++op->lineno; - if (ip->lineno != op->lineno) { - op->bufp = obp; - output_line_command (ip, op, 1, same_file); - check_expand (op, ip->length - (ip->bufp - ip->buf)); - obp = op->bufp; - } - break; - - /* Come here either after (1) a null character that is part of the input - or (2) at the end of the input, because there is a null there. */ - case 0: - if (ibp <= limit) - /* Our input really contains a null character. */ - goto randomchar; - - /* At end of a macro-expansion level, pop it and read next level. */ - if (ip->macro != 0) { - obp--; - ibp--; - /* If we have an identifier that ends here, process it now, so - we get the right error for recursion. */ - if (ident_length && ! is_idchar (*instack[indepth - 1].bufp)) { - redo_char = 1; - goto randomchar; - } - POPMACRO; - RECACHE; - break; - } - - /* If we don't have a pending identifier, - return at end of input. */ - if (ident_length == 0) { - obp--; - ibp--; - op->bufp = obp; - ip->bufp = ibp; - goto ending; - } - - /* If we do have a pending identifier, just consider this null - a special character and arrange to dispatch on it again. - The second time, IDENT_LENGTH will be zero so we will return. */ - - /* Fall through */ - -specialchar: - - /* Handle the case of a character such as /, ', " or null - seen following an identifier. Back over it so that - after the identifier is processed the special char - will be dispatched on again. */ - - ibp--; - obp--; - redo_char = 1; - - default: - -randomchar: - - if (ident_length > 0) { - HASHNODE *hp; - - /* We have just seen an identifier end. If it's a macro, expand it. - - IDENT_LENGTH is the length of the identifier - and HASH is its hash code. - - The identifier has already been copied to the output, - so if it is a macro we must remove it. - - If REDO_CHAR is 0, the char that terminated the identifier - has been skipped in the output and the input. - OBP-IDENT_LENGTH-1 points to the identifier. - If the identifier is a macro, we must back over the terminator. - - If REDO_CHAR is 1, the terminating char has already been - backed over. OBP-IDENT_LENGTH points to the identifier. */ - - for (hp = hashtab[MAKE_POS (hash) % HASHSIZE]; hp != NULL; - hp = hp->next) { - - if (hp->length == ident_length) { - /* obufp_before_macroname is used only in this block, - but it has to be global because of RECACHE. */ - int op_lineno_before_macroname; - int i = ident_length; - U_CHAR *p = hp->name; - U_CHAR *q = obp - i; - - if (! redo_char) - q--; - - do { /* All this to avoid a strncmp () */ - if (*p++ != *q++) - goto hashcollision; - } while (--i); - - /* We found a use of a macro name. - see if the context shows it is a macro call. */ - - /* Back up over terminating character if not already done. */ - if (! redo_char) { - ibp--; - obp--; - } - - obufp_before_macroname = obp - ident_length; - op_lineno_before_macroname = op->lineno; - - /* If macro wants an arglist, verify that a '(' follows. - first skip all whitespace, copying it to the output - after the macro name. Then, if there is no '(', - decide this is not a macro call and leave things that way. */ - if (hp->type == T_MACRO && hp->value.defn->nargs >= 0) - { - while (1) { - /* Scan forward over whitespace, copying it to the output. */ - if (ibp == limit && ip->macro != 0) { - POPMACRO; - RECACHE; - } - /* A comment: copy it unchanged or discard it. */ - else if (*ibp == '/' && ibp+1 != limit && ibp[1] == '*') { - if (put_out_comments) { - *obp++ = '/'; - *obp++ = '*'; - } - ibp += 2; - while (ibp + 1 != limit - && !(ibp[0] == '*' && ibp[1] == '/')) { - /* We need not worry about newline-marks, - since they are never found in comments. */ - if (*ibp == '\n') { - /* Newline in a file. Count it. */ - ++ip->lineno; - ++op->lineno; - } - if (put_out_comments) - *obp++ = *ibp++; - else - ibp++; - } - ibp += 2; - if (put_out_comments) { - *obp++ = '*'; - *obp++ = '/'; - } - } - else if (is_space (*ibp)) { - *obp++ = *ibp++; - if (ibp[-1] == '\n') { - if (ip->macro == 0) { - /* Newline in a file. Count it. */ - ++ip->lineno; - ++op->lineno; - } else if (!output_marks) { - /* A newline mark, and we don't want marks - in the output. If it is newline-hyphen, - discard it entirely. Otherwise, it is - newline-whitechar, so keep the whitechar. */ - obp--; - if (*ibp == '-') - ibp++; - else { - if (*ibp == '\n') - ++op->lineno; - *obp++ = *ibp++; - } - } else { - /* A newline mark; copy both chars to the output. */ - *obp++ = *ibp++; - } - } - } - else break; - } - if (*ibp != '(') - break; - } - - /* This is now known to be a macro call. - Discard the macro name from the output, - along with any following whitespace just copied. */ - obp = obufp_before_macroname; - op->lineno = op_lineno_before_macroname; - - /* Expand the macro, reading arguments as needed, - and push the expansion on the input stack. */ - ip->bufp = ibp; - op->bufp = obp; - macroexpand (hp, op); - - /* Reexamine input stack, since macroexpand has pushed - a new level on it. */ - obp = op->bufp; - RECACHE; - break; - } -hashcollision: - ; - } /* End hash-table-search loop */ - ident_length = hash = 0; /* Stop collecting identifier */ - redo_char = 0; - concatenated = 0; - } /* End if (ident_length > 0) */ - } /* End switch */ - } /* End per-char loop */ - - /* Come here to return -- but first give an error message - if there was an unterminated successful conditional. */ - ending: - if (if_stack != ip->if_stack) { - const char *str; - switch (if_stack->type) { - case T_IF: - str = "if"; - break; - case T_IFDEF: - str = "ifdef"; - break; - case T_IFNDEF: - str = "ifndef"; - break; - case T_ELSE: - str = "else"; - break; - case T_ELIF: - str = "elif"; - break; - default: - abort (); - } - error_with_line (line_for_error (if_stack->lineno), - "unterminated #%s conditional", str); - } - if_stack = ip->if_stack; -} - -/* - * Rescan a string into a temporary buffer and return the result - * as a FILE_BUF. Note this function returns a struct, not a pointer. - * - * OUTPUT_MARKS nonzero means keep Newline markers found in the input - * and insert such markers when appropriate. See `rescan' for details. - * OUTPUT_MARKS is 1 for macroexpanding a macro argument separately - * before substitution; it is 0 for other uses. - */ -static FILE_BUF -expand_to_temp_buffer (buf, limit, output_marks) - const U_CHAR *buf, *limit; - int output_marks; -{ - FILE_BUF *ip; - FILE_BUF obuf; - int length = limit - buf; - U_CHAR *buf1; - int odepth = indepth; - - if (length < 0) - abort (); - - /* Set up the input on the input stack. */ - - buf1 = (U_CHAR *) alloca (length + 1); - { - const U_CHAR *p1 = buf; - U_CHAR *p2 = buf1; - - while (p1 != limit) - *p2++ = *p1++; - } - buf1[length] = 0; - - /* Set up to receive the output. */ - - obuf.length = length * 2 + 100; /* Usually enough. Why be stingy? */ - obuf.bufp = obuf.buf = (U_CHAR *) xmalloc (obuf.length); - obuf.fname = 0; - obuf.macro = 0; - obuf.free_ptr = 0; - - CHECK_DEPTH ({return obuf;}); - - ++indepth; - - ip = &instack[indepth]; - ip->fname = 0; - ip->macro = 0; - ip->free_ptr = 0; - ip->length = length; - ip->buf = ip->bufp = buf1; - ip->if_stack = if_stack; - - ip->lineno = obuf.lineno = 1; - - /* Scan the input, create the output. */ - - rescan (&obuf, output_marks); - - /* Pop input stack to original state. */ - --indepth; - - if (indepth != odepth) - abort (); - - /* Record the output. */ - obuf.length = obuf.bufp - obuf.buf; - - return obuf; -} - -/* - * Process a # directive. Expects IP->bufp to point to the '#', as in - * `#define foo bar'. Passes to the command handler - * (do_define, do_include, etc.): the addresses of the 1st and - * last chars of the command (starting immediately after the # - * keyword), plus op and the keyword table pointer. If the command - * contains comments it is copied into a temporary buffer sans comments - * and the temporary buffer is passed to the command handler instead. - * Likewise for backslash-newlines. - * - * Returns nonzero if this was a known # directive. - * Otherwise, returns zero, without advancing the input pointer. - */ - -static int -handle_directive (ip, op) - FILE_BUF *ip, *op; -{ - U_CHAR *bp, *cp; - const struct directive *kt; - int ident_length; - U_CHAR *resume_p; - - /* Nonzero means we must copy the entire command - to get rid of comments or backslash-newlines. */ - int copy_command = 0; - - U_CHAR *ident, *after_ident; - - bp = ip->bufp; - /* Skip whitespace and \-newline. */ - while (1) { - if (is_nvspace (*bp)) - bp++; - else if (*bp == '/' && (newline_fix (bp + 1), bp[1]) == '*') { - ip->bufp = bp; - skip_to_end_of_comment (ip, &ip->lineno); - bp = ip->bufp; - } else if (*bp == '\\' && bp[1] == '\n') { - bp += 2; ip->lineno++; - } else break; - } - - /* Now find end of directive name. - If we encounter a backslash-newline, exchange it with any following - symbol-constituents so that we end up with a contiguous name. */ - - cp = bp; - while (1) { - if (is_idchar (*cp)) - cp++; - else { - if (*cp == '\\' && cp[1] == '\n') - name_newline_fix (cp); - if (is_idchar (*cp)) - cp++; - else break; - } - } - ident_length = cp - bp; - ident = bp; - after_ident = cp; - - /* A line of just `#' becomes blank. */ - - if (ident_length == 0 && *after_ident == '\n') { - ip->bufp = after_ident; - return 1; - } - - /* - * Decode the keyword and call the appropriate expansion - * routine, after moving the input pointer up to the next line. - */ - for (kt = directive_table; kt->length > 0; kt++) { - if (kt->length == ident_length - && !strncmp (kt->name, (const char *)ident, ident_length)) { - U_CHAR *buf; - U_CHAR *limit = ip->buf + ip->length; - int unterminated = 0; - - /* Nonzero means do not delete comments within the directive. - #define needs this to detect traditional token paste. */ - int keep_comments = kt->type == T_DEFINE; - - /* Find the end of this command (first newline not backslashed - and not in a string or comment). - Set COPY_COMMAND if the command must be copied - (it contains a backslash-newline or a comment). */ - - buf = bp = after_ident; - while (bp < limit) { - U_CHAR c = *bp++; - switch (c) { - case '\\': - if (bp < limit) { - if (*bp == '\n') { - ip->lineno++; - copy_command = 1; - } - bp++; - } - break; - - case '\'': - case '\"': - bp = skip_quoted_string (bp - 1, limit, ip->lineno, &ip->lineno, ©_command, &unterminated); - if (unterminated) { - /* Traditional preprocessing permits unterminated strings. */ - ip->bufp = bp; - goto endloop1; - } - break; - - /* <...> is special for #include. */ - case '<': - if (kt->type != T_INCLUDE) - break; - while (*bp && *bp != '>') bp++; - break; - - case '/': - if (*bp == '\\' && bp[1] == '\n') - newline_fix (bp); - if (*bp == '*') { - U_CHAR *obp = bp - 1; - ip->bufp = bp + 1; - skip_to_end_of_comment (ip, &ip->lineno); - bp = ip->bufp; - /* No need to copy the command because of a comment at the end; - just don't include the comment in the directive. */ - if (bp == limit || *bp == '\n') { - bp = obp; - goto endloop1; - } - /* Don't remove the comments if this is #define. */ - if (! keep_comments) - copy_command++; - } - break; - - case '\n': - --bp; /* Point to the newline */ - ip->bufp = bp; - goto endloop1; - } - } - ip->bufp = bp; - - endloop1: - resume_p = ip->bufp; - /* BP is the end of the directive. - RESUME_P is the next interesting data after the directive. - A comment may come between. */ - - if (copy_command) { - U_CHAR *xp = buf; - /* Need to copy entire command into temp buffer before dispatching */ - - cp = (U_CHAR *) alloca (bp - buf + 5); /* room for cmd plus - some slop */ - buf = cp; - - /* Copy to the new buffer, deleting comments - and backslash-newlines (and whitespace surrounding the latter). */ - - while (xp < bp) { - U_CHAR c = *xp++; - *cp++ = c; - - switch (c) { - case '\n': - break; - - /* <...> is special for #include. */ - case '<': - if (kt->type != T_INCLUDE) - break; - while (xp < bp && c != '>') { - c = *xp++; - if (c == '\\' && xp < bp && *xp == '\n') - xp++, ip->lineno++; - else - *cp++ = c; - } - break; - - case '\\': - if (*xp == '\n') { - xp++; - cp--; - if (cp != buf && is_space (cp[-1])) { - while (cp != buf && is_space(cp[-1])) cp--; - cp++; - SKIP_WHITE_SPACE (xp); - } else if (is_nvspace (*xp)) { - *cp++ = *xp++; - SKIP_WHITE_SPACE (xp); - } - } else { - *cp++ = *xp++; - } - break; - - case '\'': - case '\"': - { - const U_CHAR *bp1 - = skip_quoted_string (xp - 1, limit, ip->lineno, 0, 0, 0); - while (xp != bp1) - *cp++ = *xp++; - } - break; - - case '/': - if (*xp == '*') { - ip->bufp = xp + 1; - skip_to_end_of_comment (ip, 0); - if (keep_comments) - while (xp != ip->bufp) - *cp++ = *xp++; - /* Delete the slash. */ - else - cp--; - xp = ip->bufp; - } - } - } - - /* Null-terminate the copy. */ - - *cp = 0; - } - else - cp = bp; - - ip->bufp = resume_p; - - /* Call the appropriate command handler. buf now points to - either the appropriate place in the input buffer, or to - the temp buffer if it was necessary to make one. cp - points to the first char after the contents of the (possibly - copied) command, in either case. */ - (*kt->func) (buf, cp, op); - check_expand (op, ip->length - (ip->bufp - ip->buf)); - - return 1; - } - } - - return 0; -} - -static const char *const -monthnames[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", - "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; - -/* - * expand things like __FILE__. Place the expansion into the output - * buffer *without* rescanning. - */ -static void -special_symbol (hp, op) - HASHNODE *hp; - FILE_BUF *op; -{ - const char *buf; - time_t t; - int i, len; - int true_indepth; - FILE_BUF *ip = NULL; - static struct tm *timebuf = NULL; - - int paren = 0; /* For special `defined' keyword */ - - for (i = indepth; i >= 0; i--) - if (instack[i].fname != NULL) { - ip = &instack[i]; - break; - } - if (ip == NULL) - fatal ("not in any file?!"); - - switch (hp->type) { - case T_FILE: - case T_BASE_FILE: - { - const char *string; - if (hp->type == T_FILE) - string = ip->fname; - else - string = instack[0].fname; - - if (string) - { - char *tmp = (char *) alloca (3 + strlen (string)); - sprintf (tmp, "\"%s\"", string); - buf = tmp; - } - else - buf = ""; - - break; - } - - case T_INCLUDE_LEVEL: - { - char *tmp = (char *) alloca (8); /* Eigth bytes ought to be more than enough */ - true_indepth = 0; - for (i = indepth; i >= 0; i--) - if (instack[i].fname != NULL) - true_indepth++; - - sprintf (tmp, "%d", true_indepth - 1); - buf = tmp; - break; - } - - case T_VERSION: - { - char *tmp = (char *) alloca (3 + strlen (version_string)); - sprintf (tmp, "\"%s\"", version_string); - buf = tmp; - break; - } - - case T_CONST: - buf = hp->value.cpval; - break; - - case T_SPECLINE: - { - char *tmp = (char *) alloca (10); - sprintf (tmp, "%d", ip->lineno); - buf = tmp; - break; - } - - case T_DATE: - case T_TIME: - { - char *tmp = (char *) alloca (20); - - if (timebuf == NULL) { - t = time (0); - timebuf = localtime (&t); - } - if (hp->type == T_DATE) - sprintf (tmp, "\"%s %2d %4d\"", monthnames[timebuf->tm_mon], - timebuf->tm_mday, timebuf->tm_year + 1900); - else - sprintf (tmp, "\"%02d:%02d:%02d\"", timebuf->tm_hour, timebuf->tm_min, - timebuf->tm_sec); - buf = tmp; - break; - } - - case T_SPEC_DEFINED: - buf = " 0 "; /* Assume symbol is not defined */ - ip = &instack[indepth]; - SKIP_WHITE_SPACE (ip->bufp); - if (*ip->bufp == '(') { - paren++; - ip->bufp++; /* Skip over the paren */ - SKIP_WHITE_SPACE (ip->bufp); - } - - if (!is_idstart (*ip->bufp)) - goto oops; - { - HASHNODE *hp = lookup (ip->bufp, -1, -1); - - if (hp && hp->type != T_UNUSED && hp->type != T_SPEC_DEFINED) - buf = " 1 "; - } - while (is_idchar (*ip->bufp)) - ++ip->bufp; - SKIP_WHITE_SPACE (ip->bufp); - if (paren) { - if (*ip->bufp != ')') - goto oops; - ++ip->bufp; - } - break; - -oops: - - error ("`defined' must be followed by ident or (ident)"); - break; - - default: - error ("cccp error: invalid special hash type"); /* time for gdb */ - abort (); - } - len = strlen (buf); - check_expand (op, len); - memcpy (op->bufp, buf, len); - op->bufp += len; -} - - -/* Routines to handle #directives */ - -/* - * Process include file by reading it in and calling rescan. - * Expects to see "fname" or <fname> on the input. - */ -static void -do_include (buf, limit, op) - U_CHAR *buf, *limit; - FILE_BUF *op; -{ - U_CHAR *fbeg, *fend; /* Beginning and end of fname */ - - struct file_name_list *stackp = include; /* Chain of dirs to search */ - struct file_name_list dsp[1]; /* First in chain, if #include "..." */ - int flen; - - int retried = 0; /* Have already tried macro - expanding the include line*/ - FILE_BUF trybuf; /* It got expanded into here */ - int system_header_p = 0; /* 0 for "...", 1 for <...> */ - -get_filename: - - fbeg = buf; - SKIP_WHITE_SPACE (fbeg); - /* Discard trailing whitespace so we can easily see - if we have parsed all the significant chars we were given. */ - while (limit != fbeg && is_nvspace (limit[-1])) limit--; - - switch (*fbeg++) { - case '\"': - fend = fbeg; - while (fend != limit && *fend != '\"') - fend++; - if (*fend == '\"' && fend + 1 == limit) { - FILE_BUF *fp; - - /* We have "filename". Figure out directory this source - file is coming from and put it on the front of the list. */ - - /* If -I- was specified, don't search current dir, only spec'd ones. */ - if (ignore_srcdir) break; - - for (fp = &instack[indepth]; fp >= instack; fp--) - { - size_t n; - const char *ep, *nam; - - if ((nam = fp->fname) != NULL) { - /* Found a named file. Figure out dir of the file, - and put it in front of the search list. */ - dsp[0].next = stackp; - stackp = dsp; - ep = strrchr (nam, '/'); - if (ep != NULL) { - char *f; - n = ep - nam; - f = (char *) alloca (n + 1); - strncpy (f, nam, n); - f[n] = '\0'; - dsp[0].fname = f; - if (n > max_include_len) max_include_len = n; - } else { - dsp[0].fname = 0; /* Current directory */ - } - break; - } - } - break; - } - goto fail; - - case '<': - fend = fbeg; - while (fend != limit && *fend != '>') fend++; - if (*fend == '>' && fend + 1 == limit) { - system_header_p = 1; - /* If -I-, start with the first -I dir after the -I-. */ - if (first_bracket_include) - stackp = first_bracket_include; - break; - } - goto fail; - - default: - fail: - if (retried) { - error ("#include expects \"fname\" or <fname>"); - return; - } else { - trybuf = expand_to_temp_buffer (buf, limit, 0); - buf = (U_CHAR *) alloca (trybuf.bufp - trybuf.buf + 1); - memcpy (buf, trybuf.buf, trybuf.bufp - trybuf.buf); - limit = buf + (trybuf.bufp - trybuf.buf); - free (trybuf.buf); - retried++; - goto get_filename; - } - } - - flen = fend - fbeg; - process_include (stackp, fbeg, flen, system_header_p, op); -} - -static void -do_include_next (buf, limit, op) - U_CHAR *buf, *limit; - FILE_BUF *op; -{ - U_CHAR *fbeg, *fend; /* Beginning and end of fname */ - - struct file_name_list *stackp; /* Chain of dirs to search */ - int flen; - - int retried = 0; /* Have already tried macro - expanding the include line*/ - FILE_BUF trybuf; /* It got expanded into here */ - int system_header_p = 0; /* 0 for "...", 1 for <...> */ - - /* Treat as plain #include if we don't know where to start - looking. */ - stackp = instack[indepth].next_header_dir; - if (stackp == 0) - { - do_include (buf, limit, op); - return; - } - -get_filename: - - fbeg = buf; - SKIP_WHITE_SPACE (fbeg); - /* Discard trailing whitespace so we can easily see - if we have parsed all the significant chars we were given. */ - while (limit != fbeg && is_nvspace (limit[-1])) limit--; - - switch (*fbeg++) { - case '\"': - fend = fbeg; - while (fend != limit && *fend != '\"') - fend++; - if (*fend == '\"' && fend + 1 == limit) - break; - goto fail; - - case '<': - fend = fbeg; - while (fend != limit && *fend != '>') fend++; - if (*fend == '>' && fend + 1 == limit) { - system_header_p = 1; - break; - } - goto fail; - - default: - fail: - if (retried) { - error ("#include expects \"fname\" or <fname>"); - return; - } else { - trybuf = expand_to_temp_buffer (buf, limit, 0); - buf = (U_CHAR *) alloca (trybuf.bufp - trybuf.buf + 1); - memcpy (buf, trybuf.buf, trybuf.bufp - trybuf.buf); - limit = buf + (trybuf.bufp - trybuf.buf); - free (trybuf.buf); - retried++; - goto get_filename; - } - } - - flen = fend - fbeg; - process_include (stackp, fbeg, flen, system_header_p, op); -} - -static void -process_include (stackp, fbeg, flen, system_header_p, op) - struct file_name_list *stackp; - const U_CHAR *fbeg; - int flen; - int system_header_p; - FILE_BUF *op; -{ - char *fname; - int f = -1; /* file number */ - - fname = (char *) alloca (max_include_len + flen + 2); - /* + 2 above for slash and terminating null. */ - - /* If specified file name is absolute, just open it. */ - - if (IS_ABSOLUTE_PATHNAME (fbeg)) { - strncpy (fname, (const char *)fbeg, flen); - fname[flen] = 0; - f = open (fname, O_RDONLY, 0666); - } else { - /* Search directory path, trying to open the file. - Copy each filename tried into FNAME. */ - - for (; stackp; stackp = stackp->next) { - if (stackp->fname) { - strcpy (fname, stackp->fname); - strcat (fname, "/"); - fname[strlen (fname) + flen] = 0; - } else { - fname[0] = 0; - } - strncat (fname, (const char *)fbeg, flen); - if ((f = open (fname, O_RDONLY, 0666)) >= 0) - break; - } - } - - if (f < 0) { - strncpy (fname, (const char *)fbeg, flen); - fname[flen] = 0; - if (deps_missing_files - && print_deps > (system_header_p || (system_include_depth > 0))) { - - /* If requested as a system header, assume it belongs in - the first system header directory. */ - if (first_bracket_include) - stackp = first_bracket_include; - else - stackp = include; - - if (!system_header_p || IS_ABSOLUTE_PATHNAME (fbeg) || !stackp->fname) - deps_add_dep (deps, fname); - else { - char *p; - int len = strlen(stackp->fname); - - p = (char *) alloca (len + flen + 2); - memcpy (p, stackp->fname, len); - p[len++] = '/'; - memcpy (p + len, fbeg, flen); - len += flen; - p[len] = '\0'; - deps_add_dep (deps, p); - } - } else if (print_deps - && print_deps <= (system_header_p - || (system_include_depth > 0))) - warning ("no include path in which to find %.*s", flen, fbeg); - else - error_from_errno (fname); - - } else { - - /* Check to see if this include file is a once-only include file. - If so, give up. */ - - struct file_name_list* ptr; - - for (ptr = dont_repeat_files; ptr; ptr = ptr->next) { - if (!strcmp (ptr->fname, fname)) { - close (f); - return; /* This file was once'd. */ - } - } - - for (ptr = all_include_files; ptr; ptr = ptr->next) { - if (!strcmp (ptr->fname, fname)) - break; /* This file was included before. */ - } - - if (ptr == 0) { - /* This is the first time for this file. */ - /* Add it to list of files included. */ - - ptr = (struct file_name_list *) xmalloc (sizeof (struct file_name_list)); - ptr->next = all_include_files; - all_include_files = ptr; - ptr->fname = xstrdup (fname); - - /* For -M, add this file to the dependencies. */ - if (print_deps > (system_header_p || (system_include_depth > 0))) - deps_add_dep (deps, fname); - } - - if (system_header_p) - system_include_depth++; - - /* Actually process the file. */ - finclude (f, fname, stackp->next, op); - - if (system_header_p) - system_include_depth--; - - close (f); - } -} - -/* Replace all CR NL, NL CR and CR sequences with NL. */ - -static void -fixup_newlines (fp) - FILE_BUF *fp; -{ - U_CHAR *p, *q, *end; - - if (fp->length <= 0) - return; - - end = fp->buf + fp->length; - p = (U_CHAR *) memchr ((const char *) fp->buf, '\r', fp->length); - if (p == NULL) - return; - - if (p > fp->buf && p[-1] == '\n') - p--; - q = p; - while (p < end) - switch (*p) - { - default: - *q++ = *p++; - break; - case '\n': - case '\r': - p += 1 + (p[0] + p[1] == '\n' + '\r'); - *q++ = '\n'; - break; - } - - fp->length = q - fp->buf; -} - -/* Process the contents of include file FNAME, already open on descriptor F, - with output to OP. */ - -static void -finclude (f, fname, nhd, op) - int f; - const char *fname; - struct file_name_list *nhd; - FILE_BUF *op; -{ - int st_mode; - long st_size; - long i; - FILE_BUF *fp; /* For input stack frame */ - - CHECK_DEPTH (return;); - - if (file_size_and_mode (f, &st_mode, &st_size)) - goto nope; - - fp = &instack[indepth + 1]; - memset (fp, 0, sizeof (FILE_BUF)); - fp->fname = fname; - fp->length = 0; - fp->lineno = 1; - fp->if_stack = if_stack; - fp->next_header_dir = nhd; - - if (S_ISREG (st_mode)) { - fp->buf = (U_CHAR *) xmalloc (st_size + 2); - fp->bufp = fp->buf; - - /* Read the file contents, knowing that st_size is an upper bound - on the number of bytes we can read. */ - while (st_size > 0) { - i = read (f, fp->buf + fp->length, st_size); - if (i <= 0) { - if (i == 0) break; - goto nope; - } - fp->length += i; - st_size -= i; - } - } - else { - /* Cannot count its file size before reading. */ - - U_CHAR *bufp; - U_CHAR *basep; - int bsize = 2000; - - st_size = 0; - basep = (U_CHAR *) xmalloc (bsize + 2); - bufp = basep; - - for (;;) { - i = read (f, bufp, bsize - st_size); - if (i < 0) - goto nope; /* error! */ - if (i == 0) - break; /* End of file */ - st_size += i; - bufp += i; - if (bsize == st_size) { /* Buffer is full! */ - bsize *= 2; - basep = (U_CHAR *) xrealloc (basep, bsize + 2); - bufp = basep + st_size; /* May have moved */ - } - } - fp->buf = basep; - fp->bufp = fp->buf; - fp->length = st_size; - } - close (f); - fixup_newlines (fp); - - /* Make sure data ends with a newline. And put a null after it. */ - - if (fp->length > 0 && fp->buf[fp->length-1] != '\n') - fp->buf[fp->length++] = '\n'; - fp->buf[fp->length] = '\0'; - - indepth++; - output_line_command (fp, op, 0, enter_file); - rescan (op, 0); - indepth--; - instack[indepth].lineno++; - instack[indepth].bufp++; /* Skip the new line. */ - output_line_command (&instack[indepth], op, 0, leave_file); - free (fp->buf); - return; - -nope: - perror_with_name (fname); - close (f); -} - - -/* Process a #define command. -BUF points to the contents of the #define command, as a continguous string. -LIMIT points to the first character past the end of the definition. -KEYWORD is the keyword-table entry for #define. */ - -static void -do_define (buf, limit, op) - U_CHAR *buf, *limit; - FILE_BUF *op ATTRIBUTE_UNUSED; -{ - U_CHAR *bp; /* temp ptr into input buffer */ - U_CHAR *symname; /* remember where symbol name starts */ - int sym_length; /* and how long it is */ - - DEFINITION *defn; - int arglengths = 0; /* Accumulate lengths of arg names - plus number of args. */ - int hashcode; - - bp = buf; - - while (is_nvspace (*bp)) - bp++; - - symname = bp; /* remember where it starts */ - while (is_idchar (*bp) && bp < limit) { - bp++; - } - sym_length = bp - symname; - if (sym_length == 0) - { - error ("invalid macro name"); - return; - } - else if (!is_idstart (*symname)) { - U_CHAR *msg; /* what pain... */ - msg = (U_CHAR *) alloca (sym_length + 1); - memcpy (msg, symname, sym_length); - msg[sym_length] = 0; - error ("invalid macro name `%s'", msg); - return; - } else { - if (! strncmp ((const char *)symname, "defined", 7) && sym_length == 7) - { - error ("\"defined\" cannot be used as a macro name"); - return; - } - } - - /* lossage will occur if identifiers or control keywords are broken - across lines using backslash. This is not the right place to take - care of that. */ - - if (*bp == '(') { - struct arglist *arg_ptrs = NULL; - int argno = 0; - - bp++; /* skip '(' */ - SKIP_WHITE_SPACE (bp); - - /* Loop over macro argument names. */ - while (*bp != ')') { - struct arglist *temp; - - temp = (struct arglist *) alloca (sizeof (struct arglist)); - temp->name = bp; - temp->next = arg_ptrs; - temp->argno = argno++; - arg_ptrs = temp; - - if (!is_idstart (*bp)) - warning ("parameter name starts with a digit in #define"); - - /* Find the end of the arg name. */ - while (is_idchar (*bp)) { - bp++; - } - temp->length = bp - temp->name; - arglengths += temp->length + 2; - SKIP_WHITE_SPACE (bp); - if (temp->length == 0 || (*bp != ',' && *bp != ')')) { - error ("badly punctuated parameter list in #define"); - return; - } - if (*bp == ',') { - bp++; - SKIP_WHITE_SPACE (bp); - } - if (bp >= limit) { - error ("unterminated parameter list in #define"); - return; - } - } - - ++bp; /* skip paren */ - while (is_nvspace (*bp) && bp < limit) /* and leading whitespace */ - ++bp; - /* now everything from bp before limit is the definition. */ - defn = collect_expansion (bp, limit, argno, arg_ptrs); - - /* Now set defn->argnames to the result of concatenating - the argument names in reverse order - with comma-space between them. */ - { - struct arglist *temp; - int i = 0; - U_CHAR *tmp = (U_CHAR *) xmalloc (arglengths + 1); - - for (temp = arg_ptrs; temp; temp = temp->next) { - memcpy (&tmp[i], temp->name, temp->length); - i += temp->length; - if (temp->next != 0) { - tmp[i++] = ','; - tmp[i++] = ' '; - } - } - tmp[i] = 0; - defn->argnames = tmp; - - } - } else { - /* simple expansion or empty definition; skip leading whitespace */ - while (is_nvspace (*bp) && bp < limit) - ++bp; - /* now everything from bp before limit is the definition. */ - defn = collect_expansion (bp, limit, -1, 0); - defn->argnames = (const U_CHAR *) ""; - } - - hashcode = hashf (symname, sym_length, HASHSIZE); - - { - HASHNODE *hp; - if ((hp = lookup (symname, sym_length, hashcode)) == NULL) - hp = install (symname, sym_length, T_MACRO, hashcode); - else { - if (hp->type != T_MACRO || compare_defs (defn, hp->value.defn)) - warning ("\"%.*s\" redefined", sym_length, symname); - - /* Replace the old definition. */ - hp->type = T_MACRO; - } - - hp->value.defn = defn; - } -} - -/* - * return zero if two DEFINITIONs are isomorphic - */ -static int -compare_defs (d1, d2) - DEFINITION *d1, *d2; -{ - struct reflist *a1, *a2; - U_CHAR *p1 = d1->expansion; - U_CHAR *p2 = d2->expansion; - int first = 1; - - if (d1->nargs != d2->nargs) - return 1; - if (strcmp ((const char *)d1->argnames, (const char *)d2->argnames)) - return 1; - for (a1 = d1->pattern, a2 = d2->pattern; a1 && a2; - a1 = a1->next, a2 = a2->next) { - if (!((a1->nchars == a2->nchars - && ! strncmp ((const char *)p1, (const char *)p2, a1->nchars)) - || ! comp_def_part (first, p1, a1->nchars, p2, a2->nchars, 0)) - || a1->argno != a2->argno - || a1->stringify != a2->stringify - || a1->raw_before != a2->raw_before - || a1->raw_after != a2->raw_after) - return 1; - first = 0; - p1 += a1->nchars; - p2 += a2->nchars; - } - if (a1 != a2) - return 1; - if (comp_def_part (first, p1, d1->length - (p1 - d1->expansion), - p2, d2->length - (p2 - d2->expansion), 1)) - return 1; - return 0; -} - -/* Return 1 if two parts of two macro definitions are effectively different. - One of the parts starts at BEG1 and has LEN1 chars; - the other has LEN2 chars at BEG2. - Any sequence of whitespace matches any other sequence of whitespace. - FIRST means these parts are the first of a macro definition; - so ignore leading whitespace entirely. - LAST means these parts are the last of a macro definition; - so ignore trailing whitespace entirely. */ -static int -comp_def_part (first, beg1, len1, beg2, len2, last) - int first; - const U_CHAR *beg1, *beg2; - int len1, len2; - int last; -{ - const U_CHAR *end1 = beg1 + len1; - const U_CHAR *end2 = beg2 + len2; - if (first) { - while (beg1 != end1 && is_space (*beg1)) beg1++; - while (beg2 != end2 && is_space (*beg2)) beg2++; - } - if (last) { - while (beg1 != end1 && is_space (end1[-1])) end1--; - while (beg2 != end2 && is_space (end2[-1])) end2--; - } - while (beg1 != end1 && beg2 != end2) { - if (is_space (*beg1) && is_space (*beg2)) { - while (beg1 != end1 && is_space (*beg1)) beg1++; - while (beg2 != end2 && is_space (*beg2)) beg2++; - } else if (*beg1 == *beg2) { - beg1++; beg2++; - } else break; - } - return (beg1 != end1) || (beg2 != end2); -} - -/* Read a replacement list for a macro with parameters. - Build the DEFINITION structure. - Reads characters of text starting at BUF until LIMIT. - ARGLIST specifies the formal parameters to look for - in the text of the definition; NARGS is the number of args - in that list, or -1 for a macro name that wants no argument list. - MACRONAME is the macro name itself (so we can avoid recursive expansion) - and NAMELEN is its length in characters. - -Note that comments and backslash-newlines have already been deleted -from the argument. */ - -/* Leading and trailing Space, Tab, etc. are converted to markers - Newline Space, Newline Tab, etc. - Newline Space makes a space in the final output - but is discarded if stringified. (Newline Tab is similar but - makes a Tab instead.) - - If there is no trailing whitespace, a Newline Space is added at the end - to prevent concatenation that would be contrary to the standard. */ - -static DEFINITION * -collect_expansion (buf, end, nargs, arglist) - U_CHAR *buf, *end; - int nargs; - struct arglist *arglist; -{ - DEFINITION *defn; - U_CHAR *p, *limit, *lastp, *exp_p; - struct reflist *endpat = NULL; - /* Pointer to first nonspace after last ## seen. */ - U_CHAR *concat = 0; - /* Pointer to first nonspace after last single-# seen. */ - U_CHAR *stringify = 0; - int maxsize; - int expected_delimiter = '\0'; - - /* Scan thru the replacement list, ignoring comments and quoted - strings, picking up on the macro calls. It does a linear search - thru the arg list on every potential symbol. Profiling might say - that something smarter should happen. */ - - if (end < buf) - abort (); - - /* Find the beginning of the trailing whitespace. */ - /* Find end of leading whitespace. */ - limit = end; - p = buf; - while (p < limit && is_space (limit[-1])) limit--; - while (p < limit && is_space (*p)) p++; - - /* Allocate space for the text in the macro definition. - Leading and trailing whitespace chars need 2 bytes each. - Each other input char may or may not need 1 byte, - so this is an upper bound. - The extra 2 are for invented trailing newline-marker and final null. */ - maxsize = (sizeof (DEFINITION) - + 2 * (end - limit) + 2 * (p - buf) - + (limit - p) + 3); - defn = (DEFINITION *) xcalloc (1, maxsize); - - defn->nargs = nargs; - exp_p = defn->expansion = (U_CHAR *) defn + sizeof (DEFINITION); - lastp = exp_p; - - p = buf; - - /* Convert leading whitespace to Newline-markers. */ - while (p < limit && is_space (*p)) { - *exp_p++ = '\n'; - *exp_p++ = *p++; - } - - /* Process the main body of the definition. */ - while (p < limit) { - int skipped_arg = 0; - U_CHAR c = *p++; - - *exp_p++ = c; - - /* In -traditional mode, recognize arguments inside strings and - and character constants, and ignore special properties of #. - Arguments inside strings are considered "stringified", but no - extra quote marks are supplied. */ - switch (c) { - case '\'': - case '\"': - if (expected_delimiter != '\0') { - if (c == expected_delimiter) - expected_delimiter = '\0'; - } else - expected_delimiter = c; - break; - - case '\\': - /* Backslash quotes delimiters and itself, but not macro args. */ - if (expected_delimiter != 0 && p < limit - && (*p == expected_delimiter || *p == '\\')) { - *exp_p++ = *p++; - continue; - } - break; - - case '/': - if (expected_delimiter != '\0') /* No comments inside strings. */ - break; - if (*p == '*') { - /* If we find a comment that wasn't removed by handle_directive, - this must be -traditional. So replace the comment with - nothing at all. */ - exp_p--; - p += 1; - while (p < limit && !(p[-2] == '*' && p[-1] == '/')) - p++; - } - break; - } - - if (is_idchar (c) && nargs > 0) { - U_CHAR *id_beg = p - 1; - int id_len; - - --exp_p; - while (p != limit && is_idchar (*p)) p++; - id_len = p - id_beg; - - if (is_idstart (c)) { - struct arglist *arg; - - for (arg = arglist; arg != NULL; arg = arg->next) { - struct reflist *tpat; - - if (arg->name[0] == c - && arg->length == id_len - && strncmp ((const char *)arg->name, - (const char *)id_beg, id_len) == 0) { - /* make a pat node for this arg and append it to the end of - the pat list */ - tpat = (struct reflist *) xmalloc (sizeof (struct reflist)); - tpat->next = NULL; - tpat->raw_before = concat == id_beg; - tpat->raw_after = 0; - tpat->stringify = expected_delimiter != '\0'; - - if (endpat == NULL) - defn->pattern = tpat; - else - endpat->next = tpat; - endpat = tpat; - - tpat->argno = arg->argno; - tpat->nchars = exp_p - lastp; - { - U_CHAR *p1 = p; - SKIP_WHITE_SPACE (p1); - if (p1 + 2 <= limit && p1[0] == '#' && p1[1] == '#') - tpat->raw_after = 1; - } - lastp = exp_p; /* place to start copying from next time */ - skipped_arg = 1; - break; - } - } - } - - /* If this was not a macro arg, copy it into the expansion. */ - if (! skipped_arg) { - U_CHAR *lim1 = p; - p = id_beg; - while (p != lim1) - *exp_p++ = *p++; - if (stringify == id_beg) - error ("# operator should be followed by a macro argument name"); - } - } - } - - if (limit < end) { - /* Convert trailing whitespace to Newline-markers. */ - while (limit < end && is_space (*limit)) { - *exp_p++ = '\n'; - *exp_p++ = *limit++; - } - } - *exp_p = '\0'; - - defn->length = exp_p - defn->expansion; - - /* Crash now if we overrun the allocated size. */ - if (defn->length + 1 > maxsize) - abort (); - - return defn; -} - -/* - * interpret #line command. Remembers previously seen fnames - * in its very own hash table. - */ -#define FNAME_HASHSIZE 37 -static void -do_line (buf, limit, op) - U_CHAR *buf, *limit; - FILE_BUF *op; -{ - U_CHAR *bp; - FILE_BUF *ip = &instack[indepth]; - FILE_BUF tem; - int new_lineno; - enum file_change_code file_change = same_file; - - /* Expand any macros. */ - tem = expand_to_temp_buffer (buf, limit, 0); - - /* Point to macroexpanded line, which is null-terminated now. */ - bp = tem.buf; - SKIP_WHITE_SPACE (bp); - - if (!ISDIGIT (*bp)) { - error ("invalid format #line command"); - return; - } - - /* The Newline at the end of this line remains to be processed. - To put the next line at the specified line number, - we must store a line number now that is one less. */ - new_lineno = atoi ((const char *)bp); - - /* skip over the line number. */ - while (ISDIGIT (*bp)) - bp++; - - SKIP_WHITE_SPACE (bp); - - if (*bp == '\"') { - static HASHNODE *fname_table[FNAME_HASHSIZE]; - HASHNODE *hp, **hash_bucket; - U_CHAR *fname; - int fname_length; - - fname = ++bp; - - while (*bp && *bp != '\"') - bp++; - if (*bp != '\"') { - error ("invalid format #line command"); - return; - } - - fname_length = bp - fname; - - bp++; - SKIP_WHITE_SPACE (bp); - if (*bp) { - if (*bp == '1') - file_change = enter_file; - else if (*bp == '2') - file_change = leave_file; - else { - error ("invalid format #line command"); - return; - } - - bp++; - SKIP_WHITE_SPACE (bp); - if (*bp) { - error ("invalid format #line command"); - return; - } - } - - hash_bucket = - &fname_table[hashf (fname, fname_length, FNAME_HASHSIZE)]; - for (hp = *hash_bucket; hp != NULL; hp = hp->next) - if (hp->length == fname_length && - strncmp (hp->value.cpval, (const char *)fname, fname_length) == 0) { - ip->fname = hp->value.cpval; - break; - } - if (hp == 0) { - char *q; - /* Didn't find it; cons up a new one. */ - hp = (HASHNODE *) xcalloc (1, sizeof (HASHNODE) + fname_length + 1); - hp->next = *hash_bucket; - *hash_bucket = hp; - - hp->length = fname_length; - ip->fname = hp->value.cpval = q = ((char *) hp) + sizeof (HASHNODE); - memcpy (q, fname, fname_length); - } - } else if (*bp) { - error ("invalid format #line command"); - return; - } - - ip->lineno = new_lineno; - output_line_command (ip, op, 0, file_change); - ip->bufp++; /* Skip the new line. */ - check_expand (op, ip->length - (ip->bufp - ip->buf)); -} - -/* - * remove all definitions of symbol from symbol table. - * according to un*x /lib/cpp, it is not an error to undef - * something that has no definitions, so it isn't one here either. - */ -static void -do_undef (buf, limit, op) - U_CHAR *buf; - U_CHAR *limit ATTRIBUTE_UNUSED; - FILE_BUF *op ATTRIBUTE_UNUSED; -{ - HASHNODE *hp; - - SKIP_WHITE_SPACE (buf); - - if (! strncmp ((const char *)buf, "defined", 7) && ! is_idchar (buf[7])) - warning ("undefining `defined'"); - - while ((hp = lookup (buf, -1, -1)) != NULL) { - if (hp->type != T_MACRO) - warning ("undefining `%s'", hp->name); - delete_macro (hp); - } -} - -/* Read the tokens of the answer into the macro pool. Only commit the - memory if we intend it as permanent storage, i.e. the #assert case. - Returns 0 on success. */ - -static int -parse_answer (buf, limit, answerp, type) - const unsigned char *buf, *limit; - struct answer **answerp; - int type; -{ - const unsigned char *start; - - /* Skip leading whitespace. */ - if (buf < limit && *buf == ' ') - buf++; - - /* Parentheses are optional here. */ - if (buf == limit && type == T_UNASSERT) - return 0; - - if (buf == limit || *buf++ != '(') - { - if (type == T_IF) - return 0; - - error ("missing '(' after predicate"); - return 1; - } - - /* Drop whitespace at start. */ - while (buf < limit && *buf == ' ') - buf++; - - start = buf; - while (buf < limit && *buf != ')') - buf++; - - if (buf == limit) - { - error ("missing ')' to complete answer"); - return 1; - } - - if (buf == start) - { - error ("predicate's answer is empty"); - return 1; - } - - if ((type == T_ASSERT || type == T_UNASSERT) && buf + 1 != limit) - { - error ("extra text at end of directive"); - return 1; - } - - /* Lose trailing whitespace. */ - if (buf[-1] == ' ') - buf--; - - *answerp = (struct answer *) xmalloc (sizeof (struct answer)); - (*answerp)->answer = start; - (*answerp)->len = buf - start; - - return 0; -} - -/* Parses an assertion, returning a pointer to the hash node of the - predicate, or 0 on error. If an answer was supplied, it is placed - in ANSWERP, otherwise it is set to 0. */ -static HASHNODE * -parse_assertion (buf, limit, answerp, type) - const unsigned char *buf, *limit; - struct answer **answerp; - int type; -{ - HASHNODE *result = 0; - const unsigned char *climit; - unsigned char *bp, *symname = canonicalize_text (buf, limit, &climit); - unsigned int len; - - bp = symname; - if (bp < climit && is_idstart (*bp)) - { - do - bp++; - while (bp < climit && is_idchar (*bp)); - } - len = bp - symname; - - *answerp = 0; - if (len == 0) - { - if (symname == climit) - error ("assertion without predicate"); - else - error ("predicate must be an identifier"); - } - /* Unfortunately, because of the way we handle #if, we don't avoid - macro expansion in answers. This is not easy to fix. */ - else if (parse_answer (bp, climit, answerp, type) == 0) - { - unsigned char *sym = alloca (len + 1); - int hashcode; - - /* Prefix '#' to get it out of macro namespace. */ - sym[0] = '#'; - memcpy (sym + 1, symname, len); - - hashcode = hashf (sym, len + 1, HASHSIZE); - result = lookup (sym, len + 1, hashcode); - if (result == 0) - result = install (sym, len + 1, T_UNUSED, hashcode); - } - - return result; -} - -/* Test an assertion within a preprocessor conditional. Returns zero - on error or failure, one on success. */ -int -test_assertion (pbuf) - unsigned char **pbuf; /* NUL-terminated. */ -{ - unsigned char *buf = *pbuf; - unsigned char *limit = buf + strlen ((char *) buf); - struct answer *answer; - HASHNODE *node; - int result = 0; - - node = parse_assertion (buf, limit, &answer, T_IF); - if (node) - { - result = (node->type == T_ASSERT && - (answer == 0 || *find_answer (node, answer) != 0)); - - /* Yuk. We update pbuf to point after the assertion test. - First, move past the identifier. */ - if (is_space (*buf)) - buf++; - while (is_idchar (*buf)) - buf++; - /* If we have an answer, we need to move past the parentheses. */ - if (answer) - while (*buf++ != ')') - ; - *pbuf = buf; - } - - return result; -} - -/* Handle a #error directive. */ -static void -do_error (buf, limit, op) - U_CHAR *buf; - U_CHAR *limit; - FILE_BUF *op ATTRIBUTE_UNUSED; -{ - error ("#error%.*s", (int) (limit - buf), buf); -} - -/* Handle a #warning directive. */ -static void -do_warning (buf, limit, op) - U_CHAR *buf; - U_CHAR *limit; - FILE_BUF *op ATTRIBUTE_UNUSED; -{ - warning ("#warning%.*s", (int) (limit - buf), buf); -} - -/* Handle a #assert directive. */ -static void -do_assert (buf, limit, op) - U_CHAR *buf; - U_CHAR *limit; - FILE_BUF *op ATTRIBUTE_UNUSED; -{ - struct answer *new_answer; - HASHNODE *node; - - node = parse_assertion (buf, limit, &new_answer, T_ASSERT); - if (node) - { - /* Place the new answer in the answer list. First check there - is not a duplicate. */ - new_answer->next = 0; - if (node->type == T_ASSERT) - { - if (*find_answer (node, new_answer)) - { - free (new_answer); - warning ("\"%s\" re-asserted", node->name + 1); - return; - } - new_answer->next = node->value.answers; - } - node->type = T_ASSERT; - node->value.answers = new_answer; - } -} - -/* Function body to be provided later. */ -static void -do_unassert (buf, limit, op) - U_CHAR *buf; - U_CHAR *limit; - FILE_BUF *op ATTRIBUTE_UNUSED; -{ - HASHNODE *node; - struct answer *answer; - - node = parse_assertion (buf, limit, &answer, T_UNASSERT); - /* It isn't an error to #unassert something that isn't asserted. */ - if (node) - { - if (node->type == T_ASSERT) - { - if (answer) - { - struct answer **p = find_answer (node, answer), *temp; - - /* Remove the answer from the list. */ - temp = *p; - if (temp) - *p = temp->next; - - /* Did we free the last answer? */ - if (node->value.answers == 0) - delete_macro (node); - } - else - delete_macro (node); - } - - free (answer); - } -} - -/* Returns a pointer to the pointer to the answer in the answer chain, - or a pointer to NULL if the answer is not in the chain. */ -static struct answer ** -find_answer (node, candidate) - HASHNODE *node; - const struct answer *candidate; -{ - struct answer **result; - - for (result = &node->value.answers; *result; result = &(*result)->next) - { - struct answer *answer = *result; - - if (answer->len == candidate->len - && !memcmp (answer->answer, candidate->answer, answer->len)) - break; - } - - return result; -} - -/* Return a malloced buffer with leading and trailing whitespace - removed, and all instances of internal whitespace reduced to a - single space. */ -static unsigned char * -canonicalize_text (buf, limit, climit) - const unsigned char *buf, *limit, **climit; -{ - unsigned int len = limit - buf; - unsigned char *result = (unsigned char *) xmalloc (len), *dest; - - for (dest = result; buf < limit;) - { - if (! is_space (*buf)) - *dest++ = *buf++; - else - { - while (++buf < limit && is_space (*buf)) - ; - if (dest != result && buf != limit) - *dest++ = ' '; - } - } - - *climit = dest; - return result; -} - -/* - * handle #if command by - * 1) inserting special `defined' keyword into the hash table - * that gets turned into 0 or 1 by special_symbol (thus, - * if the luser has a symbol called `defined' already, it won't - * work inside the #if command) - * 2) rescan the input into a temporary output buffer - * 3) pass the output buffer to the yacc parser and collect a value - * 4) clean up the mess left from steps 1 and 2. - * 5) call conditional_skip to skip til the next #endif (etc.), - * or not, depending on the value from step 3. - */ -static void -do_if (buf, limit, op) - U_CHAR *buf, *limit; - FILE_BUF *op ATTRIBUTE_UNUSED; -{ - int value; - FILE_BUF *ip = &instack[indepth]; - - value = eval_if_expression (buf, limit - buf); - conditional_skip (ip, value == 0, T_IF); -} - -/* - * handle a #elif directive by not changing if_stack either. - * see the comment above do_else. - */ -static void -do_elif (buf, limit, op) - U_CHAR *buf, *limit; - FILE_BUF *op; -{ - int value; - FILE_BUF *ip = &instack[indepth]; - - if (if_stack == instack[indepth].if_stack) { - error ("#elif not within a conditional"); - return; - } else { - if (if_stack->type != T_IF && if_stack->type != T_ELIF) { - error ("#elif after #else"); - fprintf (stderr, " (matches line %d", if_stack->lineno); - if (if_stack->fname != NULL && ip->fname != NULL && - strcmp (if_stack->fname, ip->fname) != 0) - fprintf (stderr, ", file %s", if_stack->fname); - fprintf (stderr, ")\n"); - } - if_stack->type = T_ELIF; - } - - if (if_stack->if_succeeded) - skip_if_group (ip, 0); - else { - value = eval_if_expression (buf, limit - buf); - if (value == 0) - skip_if_group (ip, 0); - else { - ++if_stack->if_succeeded; /* continue processing input */ - output_line_command (ip, op, 1, same_file); - } - } -} - -/* - * evaluate a #if expression in BUF, of length LENGTH, - * then parse the result as a C expression and return the value as an int. - */ -static int -eval_if_expression (buf, length) - const U_CHAR *buf; - int length; -{ - FILE_BUF temp_obuf; - HASHNODE *save_defined; - int value; - - save_defined = install (U"defined", -1, T_SPEC_DEFINED, -1); - temp_obuf = expand_to_temp_buffer (buf, buf + length, 0); - delete_macro (save_defined); /* clean up special symbol */ - - value = parse_c_expression ((const char *)temp_obuf.buf); - - free (temp_obuf.buf); - - return value; -} - -/* - * routine to handle ifdef/ifndef. Try to look up the symbol, - * then do or don't skip to the #endif/#else/#elif depending - * on what directive is actually being processed. - */ -static void -do_xifdef (buf, limit, type) - U_CHAR *buf, *limit; - enum node_type type; -{ - int skip; - FILE_BUF *ip = &instack[indepth]; - U_CHAR *end; - - /* Discard leading and trailing whitespace. */ - SKIP_WHITE_SPACE (buf); - while (limit != buf && is_nvspace (limit[-1])) limit--; - - /* Find the end of the identifier at the beginning. */ - for (end = buf; is_idchar (*end); end++); - - if (end == buf) - skip = (type == T_IFDEF); - else - skip = (lookup (buf, end-buf, -1) == NULL) ^ (type == T_IFNDEF); - - conditional_skip (ip, skip, T_IF); -} - -static void -do_ifdef (buf, limit, op) - U_CHAR *buf, *limit; - FILE_BUF *op ATTRIBUTE_UNUSED; -{ - do_xifdef (buf, limit, T_IFDEF); -} - -static void -do_ifndef (buf, limit, op) - U_CHAR *buf, *limit; - FILE_BUF *op ATTRIBUTE_UNUSED; -{ - do_xifdef (buf, limit, T_IFNDEF); -} - -/* - * push TYPE on stack; then, if SKIP is nonzero, skip ahead. - */ -static void -conditional_skip (ip, skip, type) - FILE_BUF *ip; - int skip; - enum node_type type; -{ - IF_STACK_FRAME *temp; - - temp = (IF_STACK_FRAME *) xcalloc (1, sizeof (IF_STACK_FRAME)); - temp->fname = ip->fname; - temp->lineno = ip->lineno; - temp->next = if_stack; - if_stack = temp; - - if_stack->type = type; - - if (skip != 0) { - skip_if_group (ip, 0); - return; - } else { - ++if_stack->if_succeeded; - output_line_command (ip, &outbuf, 1, same_file); - } -} - -/* - * skip to #endif, #else, or #elif. adjust line numbers, etc. - * leaves input ptr at the sharp sign found. - * If ANY is nonzero, return at next directive of any sort. - */ -static void -skip_if_group (ip, any) - FILE_BUF *ip; - int any; -{ - U_CHAR *bp = ip->bufp, *cp; - U_CHAR *endb = ip->buf + ip->length; - const struct directive *kt; - IF_STACK_FRAME *save_if_stack = if_stack; /* don't pop past here */ - U_CHAR *beg_of_line = bp; - - while (bp < endb) { - switch (*bp++) { - case '/': /* possible comment */ - if (*bp == '\\' && bp[1] == '\n') - newline_fix (bp); - if (*bp == '*') { - ip->bufp = ++bp; - bp = skip_to_end_of_comment (ip, &ip->lineno); - } - break; - case '\"': - case '\'': - bp = skip_quoted_string (bp - 1, endb, ip->lineno, &ip->lineno, 0, 0); - break; - case '\\': - /* Char after backslash loses its special meaning. */ - if (bp < endb) { - if (*bp == '\n') - ++ip->lineno; /* But do update the line-count. */ - bp++; - } - break; - case '\n': - ++ip->lineno; - beg_of_line = bp; - break; - case '#': - ip->bufp = bp - 1; - - /* # keyword: a # must be first nonblank char on the line */ - if (beg_of_line == 0) - break; - /* Scan from start of line, skipping whitespace, comments - and backslash-newlines, and see if we reach this #. - If not, this # is not special. */ - bp = beg_of_line; - while (1) { - if (is_nvspace (*bp)) - bp++; - else if (*bp == '\\' && bp[1] == '\n') - bp += 2; - else if (*bp == '/' && bp[1] == '*') { - bp += 2; - while (!(*bp == '*' && bp[1] == '/')) { - if (*bp == '\n') - ip->lineno++; - bp++; - } - bp += 2; - } - else break; - } - if (bp != ip->bufp) { - bp = ip->bufp + 1; /* Reset bp to after the #. */ - break; - } - - bp = ip->bufp + 1; /* Point after '#'. */ - - /* Skip whitespace and \-newline. */ - while (1) { - if (is_nvspace (*bp)) - bp++; - else if (*bp == '\\' && bp[1] == '\n') - bp += 2; - else if (*bp == '/' && bp[1] == '*') { - bp += 2; - while (!(*bp == '*' && bp[1] == '/')) - bp++; - bp += 2; - } - else break; - } - - cp = bp; - - /* Now find end of directive name. - If we encounter a backslash-newline, exchange it with any following - symbol-constituents so that we end up with a contiguous name. */ - - while (1) { - if (is_idchar (*bp)) - bp++; - else { - if (*bp == '\\' && bp[1] == '\n') - name_newline_fix (bp); - if (is_idchar (*bp)) - bp++; - else break; - } - } - - for (kt = directive_table; kt->length >= 0; kt++) { - IF_STACK_FRAME *temp; - if (strncmp ((const char *)cp, kt->name, kt->length) == 0 - && !is_idchar (cp[kt->length])) { - - /* If we are asked to return on next directive, - do so now. */ - if (any) - return; - - switch (kt->type) { - case T_IF: - case T_IFDEF: - case T_IFNDEF: - temp = (IF_STACK_FRAME *) xcalloc (1, sizeof (IF_STACK_FRAME)); - temp->next = if_stack; - if_stack = temp; - temp->lineno = ip->lineno; - temp->fname = ip->fname; - temp->type = kt->type; - break; - case T_ELSE: - case T_ENDIF: - case T_ELIF: - if (if_stack == instack[indepth].if_stack) { - error ("#%s not within a conditional", kt->name); - break; - } - else if (if_stack == save_if_stack) - return; /* found what we came for */ - - if (kt->type != T_ENDIF) { - if (if_stack->type == T_ELSE) - error ("#else or #elif after #else"); - if_stack->type = kt->type; - break; - } - - temp = if_stack; - if_stack = if_stack->next; - free (temp); - break; - - default: - /* Anything else is ignored. */ - break; - } - break; - } - } - } - } - ip->bufp = bp; - /* after this returns, rescan will exit because ip->bufp - now points to the end of the buffer. - rescan is responsible for the error message also. */ -} - -/* - * handle a #else directive. Do this by just continuing processing - * without changing if_stack ; this is so that the error message - * for missing #endif's etc. will point to the original #if. It - * is possible that something different would be better. - */ -static void -do_else (buf, limit, op) - U_CHAR *buf ATTRIBUTE_UNUSED; - U_CHAR *limit ATTRIBUTE_UNUSED; - FILE_BUF *op; -{ - FILE_BUF *ip = &instack[indepth]; - - if (if_stack == instack[indepth].if_stack) { - error ("#else not within a conditional"); - return; - } else { - if (if_stack->type != T_IF && if_stack->type != T_ELIF) { - error ("#else after #else"); - fprintf (stderr, " (matches line %d", if_stack->lineno); - if (strcmp (if_stack->fname, ip->fname) != 0) - fprintf (stderr, ", file %s", if_stack->fname); - fprintf (stderr, ")\n"); - } - if_stack->type = T_ELSE; - } - - if (if_stack->if_succeeded) - skip_if_group (ip, 0); - else { - ++if_stack->if_succeeded; /* continue processing input */ - output_line_command (ip, op, 1, same_file); - } -} - -/* - * unstack after #endif command - */ -static void -do_endif (buf, limit, op) - U_CHAR *buf ATTRIBUTE_UNUSED; - U_CHAR *limit ATTRIBUTE_UNUSED; - FILE_BUF *op; -{ - if (if_stack == instack[indepth].if_stack) - error ("unbalanced #endif"); - else { - IF_STACK_FRAME *temp = if_stack; - if_stack = if_stack->next; - free (temp); - output_line_command (&instack[indepth], op, 1, same_file); - } -} - -/* - * Skip a comment, assuming the input ptr immediately follows the - * initial slash-star. Bump line counter as necessary. - * (The canonical line counter is &ip->lineno). - * Don't use this routine (or the next one) if bumping the line - * counter is not sufficient to deal with newlines in the string. - */ -static U_CHAR * -skip_to_end_of_comment (ip, line_counter) - FILE_BUF *ip; - int *line_counter; /* place to remember newlines, or NULL */ -{ - U_CHAR *limit = ip->buf + ip->length; - U_CHAR *bp = ip->bufp; - FILE_BUF *op = &outbuf; /* JF */ - int output = put_out_comments && !line_counter; - - /* JF this line_counter stuff is a crock to make sure the - comment is only put out once, no matter how many times - the comment is skipped. It almost works */ - if (output) { - *op->bufp++ = '/'; - *op->bufp++ = '*'; - } - while (bp < limit) { - if (output) - *op->bufp++ = *bp; - switch (*bp++) { - case '/': - if (warn_comments && bp < limit && *bp == '*') - warning("`/*' within comment"); - break; - case '\n': - if (line_counter != NULL) - ++*line_counter; - if (output) - ++op->lineno; - break; - case '*': - if (*bp == '\\' && bp[1] == '\n') - newline_fix (bp); - if (*bp == '/') { - if (output) - *op->bufp++ = '/'; - ip->bufp = ++bp; - return bp; - } - break; - } - } - ip->bufp = bp; - return bp; -} - -/* - * Skip over a quoted string. BP points to the opening quote. - * Returns a pointer after the closing quote. Don't go past LIMIT. - * START_LINE is the line number of the starting point (but it need - * not be valid if the starting point is inside a macro expansion). - * - * The input stack state is not changed. - * - * If COUNT_NEWLINES is nonzero, it points to an int to increment - * for each newline passed. - * - * If BACKSLASH_NEWLINES_P is nonzero, store 1 thru it - * if we pass a backslash-newline. - * - * If EOFP is nonzero, set *EOFP to 1 if the string is unterminated. - */ -static U_CHAR * -skip_quoted_string (bp, limit, start_line, count_newlines, backslash_newlines_p, eofp) - const U_CHAR *bp; - const U_CHAR *limit; - int start_line; - int *count_newlines; - int *backslash_newlines_p; - int *eofp; -{ - U_CHAR c, match; - - match = *bp++; - while (1) { - if (bp >= limit) { - error_with_line (line_for_error (start_line), - "unterminated string or character constant"); - if (eofp) - *eofp = 1; - break; - } - c = *bp++; - if (c == '\\') { - while (*bp == '\\' && bp[1] == '\n') { - if (backslash_newlines_p) - *backslash_newlines_p = 1; - if (count_newlines) - ++*count_newlines; - bp += 2; - } - if (*bp == '\n' && count_newlines) { - if (backslash_newlines_p) - *backslash_newlines_p = 1; - ++*count_newlines; - } - bp++; - } else if (c == '\n') { - /* Unterminated strings and character constants are 'legal'. */ - bp--; /* Don't consume the newline. */ - if (eofp) - *eofp = 1; - break; - } else if (c == match) - break; - } - return (U_CHAR *) bp; -} - -/* - * write out a #line command, for instance, after an #include file. - * If CONDITIONAL is nonzero, we can omit the #line if it would - * appear to be a no-op, and we can output a few newlines instead - * if we want to increase the line number by a small amount. - * FILE_CHANGE says whether we are entering a file, leaving, or neither. - */ - -static void -output_line_command (ip, op, conditional, file_change) - FILE_BUF *ip, *op; - int conditional; - enum file_change_code file_change; -{ - int len; - char line_cmd_buf[500]; - - if (no_line_commands - || ip->fname == NULL - || no_output) { - op->lineno = ip->lineno; - return; - } - - if (conditional) { - if (ip->lineno == op->lineno) - return; - - /* If the inherited line number is a little too small, - output some newlines instead of a #line command. */ - if (ip->lineno > op->lineno && ip->lineno < op->lineno + 8) { - check_expand (op, 10); - while (ip->lineno > op->lineno) { - *op->bufp++ = '\n'; - op->lineno++; - } - return; - } - } - - sprintf (line_cmd_buf, "# %d \"%s\"", ip->lineno, ip->fname); - if (file_change != same_file) - strcat (line_cmd_buf, file_change == enter_file ? " 1" : " 2"); - if (system_include_depth > (file_change == leave_file)) - strcat (line_cmd_buf, " 3"); - len = strlen (line_cmd_buf); - line_cmd_buf[len++] = '\n'; - check_expand (op, len + 1); - if (op->bufp > op->buf && op->bufp[-1] != '\n') - *op->bufp++ = '\n'; - memcpy (op->bufp, line_cmd_buf, len); - op->bufp += len; - op->lineno = ip->lineno; -} - - -/* Expand a macro call. - HP points to the symbol that is the macro being called. - Put the result of expansion onto the input stack - so that subsequent input by our caller will use it. - - If macro wants arguments, caller has already verified that - an argument list follows; arguments come from the input stack. */ - -static void -macroexpand (hp, op) - HASHNODE *hp; - FILE_BUF *op; -{ - int nargs; - DEFINITION *defn = hp->value.defn; - U_CHAR *xbuf; - int xbuf_len; - int start_line = instack[indepth].lineno; - - CHECK_DEPTH (return;); - - /* it might not actually be a macro. */ - if (hp->type != T_MACRO) { - special_symbol (hp, op); - return; - } - - nargs = defn->nargs; - - if (nargs >= 0) { - int i; - struct argdata *args; - const char *parse_error = 0; - - args = (struct argdata *) alloca ((nargs + 1) * sizeof (struct argdata)); - - for (i = 0; i < nargs; i++) { - args[i].raw = args[i].expanded = (U_CHAR *) ""; - args[i].raw_length = args[i].expand_length - = args[i].stringified_length = 0; - args[i].free1 = args[i].free2 = 0; - } - - /* Parse all the macro args that are supplied. I counts them. - The first NARGS args are stored in ARGS. - The rest are discarded. */ - i = 0; - do { - /* Discard the open-parenthesis or comma before the next arg. */ - ++instack[indepth].bufp; - parse_error - = macarg ((i < nargs || (nargs == 0 && i == 0)) ? &args[i] : 0); - if (parse_error) - { - error_with_line (line_for_error (start_line), "%s", parse_error); - break; - } - i++; - } while (*instack[indepth].bufp != ')'); - - /* If we got one arg but it was just whitespace, call that 0 args. */ - if (i == 1) { - const U_CHAR *bp = args[0].raw; - const U_CHAR *lim = bp + args[0].raw_length; - while (bp != lim && is_space (*bp)) bp++; - if (bp == lim) - i = 0; - } - - if (nargs == 0 && i > 0) - error ("arguments given to macro `%s'", hp->name); - else if (i < nargs) { - /* traditional C allows foo() if foo wants one argument. */ - if (nargs == 1 && i == 0) - ; - else if (i == 0) - error ("no args to macro `%s'", hp->name); - else if (i == 1) - error ("only 1 arg to macro `%s'", hp->name); - else - error ("only %d args to macro `%s'", i, hp->name); - } else if (i > nargs) - error ("too many (%d) args to macro `%s'", i, hp->name); - - /* Swallow the closeparen. */ - ++instack[indepth].bufp; - - /* If macro wants zero args, we parsed the arglist for checking only. - Read directly from the macro definition. */ - if (nargs == 0) { - xbuf = defn->expansion; - xbuf_len = defn->length; - } else { - U_CHAR *exp = defn->expansion; - int offset; /* offset in expansion, - copied a piece at a time */ - int totlen; /* total amount of exp buffer filled so far */ - - struct reflist *ap; - - /* Macro really takes args. Compute the expansion of this call. */ - - /* Compute length in characters of the macro's expansion. */ - xbuf_len = defn->length; - for (ap = defn->pattern; ap != NULL; ap = ap->next) { - if (ap->stringify) - xbuf_len += args[ap->argno].stringified_length; - else - xbuf_len += args[ap->argno].raw_length; - } - - xbuf = (U_CHAR *) xmalloc (xbuf_len + 1); - - /* Generate in XBUF the complete expansion - with arguments substituted in. - TOTLEN is the total size generated so far. - OFFSET is the index in the definition - of where we are copying from. */ - offset = totlen = 0; - for (ap = defn->pattern; ap != NULL; ap = ap->next) { - struct argdata *arg = &args[ap->argno]; - - for (i = 0; i < ap->nchars; i++) - xbuf[totlen++] = exp[offset++]; - - if (ap->stringify != 0) { - int arglen = arg->raw_length; - int escaped = 0; - int in_string = 0; - int c; - i = 0; - while (i < arglen - && (c = arg->raw[i], is_space (c))) - i++; - while (i < arglen - && (c = arg->raw[arglen - 1], is_space (c))) - arglen--; - for (; i < arglen; i++) { - c = arg->raw[i]; - - /* Special markers Newline Space - generate nothing for a stringified argument. */ - if (c == '\n' && arg->raw[i+1] != '\n') { - i++; - continue; - } - - /* Internal sequences of whitespace are replaced by one space - except within an string or char token. */ - if (! in_string - && (c == '\n' ? arg->raw[i+1] == '\n' : is_space (c))) { - while (1) { - /* Note that Newline Space does occur within whitespace - sequences; consider it part of the sequence. */ - if (c == '\n' && is_space (arg->raw[i+1])) - i += 2; - else if (c != '\n' && is_space (c)) - i++; - else break; - c = arg->raw[i]; - } - i--; - c = ' '; - } - - if (escaped) - escaped = 0; - else { - if (c == '\\') - escaped = 1; - if (in_string) { - if (c == in_string) - in_string = 0; - } else if (c == '\"' || c == '\'') - in_string = c; - } - - /* Escape these chars */ - if (c == '\"' || (in_string && c == '\\')) - xbuf[totlen++] = '\\'; - if (ISPRINT (c)) - xbuf[totlen++] = c; - else { - sprintf ((char *) &xbuf[totlen], "\\%03o", (unsigned int) c); - totlen += 4; - } - } - } else { - const U_CHAR *p1 = arg->raw; - const U_CHAR *l1 = p1 + arg->raw_length; - - if (ap->raw_before) { - while (p1 != l1 && is_space (*p1)) p1++; - while (p1 != l1 && is_idchar (*p1)) - xbuf[totlen++] = *p1++; - /* Delete any no-reexpansion marker that follows - an identifier at the beginning of the argument - if the argument is concatenated with what precedes it. */ - if (p1[0] == '\n' && p1[1] == '-') - p1 += 2; - } - if (ap->raw_after) { - /* Arg is concatenated after: delete trailing whitespace, - whitespace markers, and no-reexpansion markers. */ - while (p1 != l1) { - if (is_space (l1[-1])) l1--; - else if (l1[-1] == '-') { - const U_CHAR *p2 = l1 - 1; - /* If a `-' is preceded by an odd number of newlines then it - and the last newline are a no-reexpansion marker. */ - while (p2 != p1 && p2[-1] == '\n') p2--; - if ((l1 - 1 - p2) & 1) { - l1 -= 2; - } - else break; - } - else break; - } - } - memmove (xbuf + totlen, p1, l1 - p1); - totlen += l1 - p1; - } - - if (totlen > xbuf_len) - abort (); - } - - /* if there is anything left of the definition - after handling the arg list, copy that in too. */ - - for (i = offset; i < defn->length; i++) - xbuf[totlen++] = exp[i]; - - xbuf[totlen] = 0; - xbuf_len = totlen; - - for (i = 0; i < nargs; i++) { - if (args[i].free1 != 0) - free (args[i].free1); - if (args[i].free2 != 0) - free (args[i].free2); - } - } - } else { - xbuf = defn->expansion; - xbuf_len = defn->length; - } - - /* Now put the expansion on the input stack - so our caller will commence reading from it. */ - { - FILE_BUF *ip2; - - ip2 = &instack[++indepth]; - - ip2->fname = 0; - ip2->lineno = 0; - ip2->buf = xbuf; - ip2->length = xbuf_len; - ip2->bufp = xbuf; - ip2->free_ptr = (nargs > 0) ? xbuf : 0; - ip2->macro = hp; - ip2->if_stack = if_stack; - } -} - -/* - * Parse a macro argument and store the info on it into *ARGPTR. - * Return nonzero to indicate a syntax error. - */ - -static const char * -macarg (argptr) - struct argdata *argptr; -{ - FILE_BUF *ip = &instack[indepth]; - int paren = 0; - int newlines = 0; - int comments = 0; - - /* Try to parse as much of the argument as exists at this - input stack level. */ - U_CHAR *bp = macarg1 (ip->bufp, ip->buf + ip->length, - &paren, &newlines, &comments); - - /* If we find the end of the argument at this level, - set up *ARGPTR to point at it in the input stack. */ - if (!(ip->fname != 0 && (newlines != 0 || comments != 0)) - && bp != ip->buf + ip->length) { - if (argptr != 0) { - argptr->raw = ip->bufp; - argptr->raw_length = bp - ip->bufp; - } - ip->bufp = bp; - } else { - /* This input stack level ends before the macro argument does. - We must pop levels and keep parsing. - Therefore, we must allocate a temporary buffer and copy - the macro argument into it. */ - int bufsize = bp - ip->bufp; - int extra = newlines; - U_CHAR *buffer = (U_CHAR *) xmalloc (bufsize + extra + 1); - int final_start = 0; - - memcpy (buffer, ip->bufp, bufsize); - ip->bufp = bp; - ip->lineno += newlines; - - while (bp == ip->buf + ip->length) { - if (instack[indepth].macro == 0) { - free (buffer); - return "unterminated macro call"; - } - ip->macro->type = T_MACRO; - if (ip->free_ptr) - free (ip->free_ptr); - ip = &instack[--indepth]; - newlines = 0; - comments = 0; - bp = macarg1 (ip->bufp, ip->buf + ip->length, &paren, - &newlines, &comments); - final_start = bufsize; - bufsize += bp - ip->bufp; - extra += newlines; - buffer = (U_CHAR *) xrealloc (buffer, bufsize + extra + 1); - memcpy (buffer + bufsize - (bp - ip->bufp), ip->bufp, bp - ip->bufp); - ip->bufp = bp; - ip->lineno += newlines; - } - - /* Now, if arg is actually wanted, record its raw form, - discarding comments and duplicating newlines in whatever - part of it did not come from a macro expansion. - EXTRA space has been preallocated for duplicating the newlines. - FINAL_START is the index of the start of that part. */ - if (argptr != 0) { - argptr->raw = buffer; - argptr->raw_length = bufsize; - argptr->free1 = buffer; - argptr->newlines = newlines; - argptr->comments = comments; - if ((newlines || comments) && ip->fname != 0) - argptr->raw_length - = final_start + - discard_comments (argptr->raw + final_start, - argptr->raw_length - final_start, - newlines); - argptr->raw[argptr->raw_length] = 0; - if (argptr->raw_length > bufsize + extra) - abort (); - } - } - - /* If we are not discarding this argument, - macroexpand it and compute its length as stringified. - All this info goes into *ARGPTR. */ - - if (argptr != 0) { - FILE_BUF obuf; - const U_CHAR *buf, *lim; - int totlen; - - obuf = expand_to_temp_buffer (argptr->raw, - argptr->raw + argptr->raw_length, - 1); - - argptr->expanded = obuf.buf; - argptr->expand_length = obuf.length; - argptr->free2 = obuf.buf; - - buf = argptr->raw; - lim = buf + argptr->raw_length; - - totlen = 0; - while (buf != lim) { - U_CHAR c = *buf++; - totlen++; - /* Internal sequences of whitespace are replaced by one space - in most cases, but not always. So count all the whitespace - in case we need to keep it all. */ - if (c == '\"' || c == '\\') /* escape these chars */ - totlen++; - else if (!ISPRINT (c)) - totlen += 3; - } - argptr->stringified_length = totlen; - } - return 0; -} - -/* Scan text from START (inclusive) up to LIMIT (exclusive), - counting parens in *DEPTHPTR, - and return if reach LIMIT - or before a `)' that would make *DEPTHPTR negative - or before a comma when *DEPTHPTR is zero. - Single and double quotes are matched and termination - is inhibited within them. Comments also inhibit it. - Value returned is pointer to stopping place. - - Increment *NEWLINES each time a newline is passed. - Set *COMMENTS to 1 if a comment is seen. */ - -static U_CHAR * -macarg1 (start, limit, depthptr, newlines, comments) - U_CHAR *start; - const U_CHAR *limit; - int *depthptr, *newlines, *comments; -{ - U_CHAR *bp = start; - - while (bp < limit) { - switch (*bp) { - case '(': - (*depthptr)++; - break; - case ')': - if (--(*depthptr) < 0) - return bp; - break; - case '\\': - /* Traditionally, backslash makes following char not special. */ - if (bp + 1 < limit) - { - bp++; - /* But count source lines anyway. */ - if (*bp == '\n') - ++*newlines; - } - break; - case '\n': - ++*newlines; - break; - case '/': - if (bp[1] == '\\' && bp[2] == '\n') - newline_fix (bp + 1); - if (bp[1] != '*' || bp + 1 >= limit) - break; - *comments = 1; - bp += 2; - while (bp + 1 < limit) { - if (bp[0] == '*' - && bp[1] == '\\' && bp[2] == '\n') - newline_fix (bp + 1); - if (bp[0] == '*' && bp[1] == '/') - break; - if (*bp == '\n') ++*newlines; - bp++; - } - bp += 1; - break; - case '\'': - case '\"': - { - int quotec; - for (quotec = *bp++; bp + 1 < limit && *bp != quotec; bp++) { - if (*bp == '\\') { - bp++; - if (*bp == '\n') - ++*newlines; - while (*bp == '\\' && bp[1] == '\n') { - bp += 2; - } - } else if (*bp == '\n') { - ++*newlines; - if (quotec == '\'') - break; - } - } - } - break; - case ',': - if ((*depthptr) == 0) - return bp; - break; - } - bp++; - } - - return bp; -} - -/* Discard comments and duplicate newlines - in the string of length LENGTH at START, - except inside of string constants. - The string is copied into itself with its beginning staying fixed. - - NEWLINES is the number of newlines that must be duplicated. - We assume that that much extra space is available past the end - of the string. */ - -static int -discard_comments (start, length, newlines) - U_CHAR *start; - int length; - int newlines; -{ - U_CHAR *ibp; - U_CHAR *obp; - const U_CHAR *limit; - int c; - - /* If we have newlines to duplicate, copy everything - that many characters up. Then, in the second part, - we will have room to insert the newlines - while copying down. - NEWLINES may actually be too large, because it counts - newlines in string constants, and we don't duplicate those. - But that does no harm. */ - if (newlines > 0) { - ibp = start + length; - obp = ibp + newlines; - limit = start; - while (limit != ibp) - *--obp = *--ibp; - } - - ibp = start + newlines; - limit = start + length + newlines; - obp = start; - - while (ibp < limit) { - *obp++ = c = *ibp++; - switch (c) { - case '\n': - /* Duplicate the newline. */ - *obp++ = '\n'; - break; - - case '\\': - if (*ibp == '\n') { - obp--; - ibp++; - } - break; - - case '/': - if (*ibp == '\\' && ibp[1] == '\n') - newline_fix (ibp); - /* Delete any comment. */ - if (ibp[0] != '*' || ibp + 1 >= limit) - break; - obp--; - ibp++; - while (ibp + 1 < limit) { - if (ibp[0] == '*' - && ibp[1] == '\\' && ibp[2] == '\n') - newline_fix (ibp + 1); - if (ibp[0] == '*' && ibp[1] == '/') - break; - ibp++; - } - ibp += 2; - break; - - case '\'': - case '\"': - /* Notice and skip strings, so that we don't - think that comments start inside them, - and so we don't duplicate newlines in them. */ - { - int quotec = c; - while (ibp < limit) { - *obp++ = c = *ibp++; - if (c == quotec) - break; - if (c == '\n' && quotec == '\'') - break; - if (c == '\\' && ibp < limit) { - while (*ibp == '\\' && ibp[1] == '\n') - ibp += 2; - *obp++ = *ibp++; - } - } - } - break; - } - } - - return obp - start; -} - - -/* Core error handling routine. */ -static void -v_message (mtype, line, msgid, ap) - enum msgtype mtype; - int line; - const char *msgid; - va_list ap; -{ - const char *fname = 0; - int i; - - if (mtype == MT_WARNING && inhibit_warnings) - return; - - for (i = indepth; i >= 0; i--) - if (instack[i].fname != NULL) { - if (line == 0) - line = instack[i].lineno; - fname = instack[i].fname; - break; - } - - if (fname) - fprintf (stderr, "%s:%d: ", fname, line); - else - fprintf (stderr, "%s: ", progname); - - if (mtype == MT_WARNING) - fputs (_("warning: "), stderr); - - vfprintf (stderr, _(msgid), ap); - putc ('\n', stderr); - - if (mtype == MT_ERROR) - errors++; -} - -/* - * error - print error message and increment count of errors. - */ -void -error VPARAMS ((const char *msgid, ...)) -{ - VA_OPEN(ap, msgid); - VA_FIXEDARG (ap, const char *, msgid); - - v_message (MT_ERROR, 0, msgid, ap); - VA_CLOSE (ap); -} - -void -error_with_line VPARAMS ((int line, const char *msgid, ...)) -{ - VA_OPEN(ap, msgid); - VA_FIXEDARG (ap, int, line); - VA_FIXEDARG (ap, const char *, msgid); - - v_message (MT_ERROR, line, msgid, ap); - VA_CLOSE (ap); -} - -/* Error including a message from `errno'. */ -void -error_from_errno (name) - const char *name; -{ - error ("%s: %s", name, strerror (errno)); -} - -/* Print error message but don't count it. */ -void -warning VPARAMS ((const char *msgid, ...)) -{ - VA_OPEN(ap, msgid); - VA_FIXEDARG (ap, const char *, msgid); - - v_message (MT_WARNING, 0, msgid, ap); - VA_CLOSE (ap); -} - -void -fatal VPARAMS ((const char *msgid, ...)) -{ - VA_OPEN(ap, msgid); - VA_FIXEDARG (ap, const char *, msgid); - - v_message (MT_FATAL, 0, msgid, ap); - VA_CLOSE (ap); - exit (FATAL_EXIT_CODE); -} - -/* More 'friendly' abort that prints the location at which we died. */ -void -fancy_abort (line, func) - int line; - const char *func; -{ - fatal ("internal error in %s, at tradcpp.c:%d\n\ -Please submit a full bug report.\n\ -See %s for instructions.", func, line, GCCBUGURL); -} - -void -perror_with_name (name) - const char *name; -{ - fprintf (stderr, "%s: %s: %s\n", progname, name, strerror (errno)); - errors++; -} - -void -pfatal_with_name (name) - const char *name; -{ - perror_with_name (name); - exit (FATAL_EXIT_CODE); -} - -/* Return the line at which an error occurred. - The error is not necessarily associated with the current spot - in the input stack, so LINE says where. LINE will have been - copied from ip->lineno for the current input level. - If the current level is for a file, we return LINE. - But if the current level is not for a file, LINE is meaningless. - In that case, we return the lineno of the innermost file. */ -static int -line_for_error (line) - int line; -{ - int i; - int line1 = line; - - for (i = indepth; i >= 0; ) { - if (instack[i].fname != 0) - return line1; - i--; - if (i < 0) - return 0; - line1 = instack[i].lineno; - } - return 0; -} - -/* - * If OBUF doesn't have NEEDED bytes after OPTR, make it bigger. - * - * As things stand, nothing is ever placed in the output buffer to be - * removed again except when it's KNOWN to be part of an identifier, - * so flushing and moving down everything left, instead of expanding, - * should work ok. - */ - -static void -grow_outbuf (obuf, needed) - FILE_BUF *obuf; - int needed; -{ - U_CHAR *p; - int minsize; - - if (obuf->length - (obuf->bufp - obuf->buf) > needed) - return; - - /* Make it at least twice as big as it is now. */ - obuf->length *= 2; - /* Make it have at least 150% of the free space we will need. */ - minsize = (3 * needed) / 2 + (obuf->bufp - obuf->buf); - if (minsize > obuf->length) - obuf->length = minsize; - - p = (U_CHAR *) xrealloc (obuf->buf, obuf->length); - obuf->bufp = p + (obuf->bufp - obuf->buf); - obuf->buf = p; -} - -/* Symbol table for macro names and special symbols */ - -/* - * install a name in the main hash table, even if it is already there. - * name stops with first non alphanumeric, except leading '#'. - * caller must check against redefinition if that is desired. - * delete_macro () removes things installed by install () in fifo order. - * this is important because of the `defined' special symbol used - * in #if, and also if pushdef/popdef directives are ever implemented. - * - * If LEN is >= 0, it is the length of the name. - * Otherwise, compute the length by scanning the entire name. - * - * If HASH is >= 0, it is the precomputed hash code. - * Otherwise, compute the hash code. - * - * caller must set the value, if any is desired. - */ -static HASHNODE * -install (name, len, type, hash) - const U_CHAR *name; - int len; - enum node_type type; - int hash; - /* watch out here if sizeof (U_CHAR *) != sizeof (int) */ -{ - HASHNODE *hp; - int bucket; - const U_CHAR *p; - U_CHAR *q; - - if (len < 0) { - p = name; - while (is_idchar (*p)) - p++; - len = p - name; - } - - if (hash < 0) - hash = hashf (name, len, HASHSIZE); - - hp = (HASHNODE *) xmalloc (sizeof (HASHNODE) + len + 1); - bucket = hash; - hp->bucket_hdr = &hashtab[bucket]; - hp->next = hashtab[bucket]; - hashtab[bucket] = hp; - hp->prev = NULL; - if (hp->next != NULL) - hp->next->prev = hp; - hp->type = type; - hp->length = len; - hp->name = q = ((U_CHAR *) hp) + sizeof (HASHNODE); - memcpy (q, name, len); - q[len] = 0; - return hp; -} - -/* - * find the most recent hash node for name name (ending with first - * non-identifier char) installed by install - * - * If LEN is >= 0, it is the length of the name. - * Otherwise, compute the length by scanning the entire name. - * - * If HASH is >= 0, it is the precomputed hash code. - * Otherwise, compute the hash code. - */ -HASHNODE * -lookup (name, len, hash) - const U_CHAR *name; - int len; - int hash; -{ - const U_CHAR *bp; - HASHNODE *bucket; - - if (len < 0) { - for (bp = name; is_idchar (*bp); bp++) ; - len = bp - name; - } - - if (hash < 0) - hash = hashf (name, len, HASHSIZE); - - bucket = hashtab[hash]; - while (bucket) { - if (bucket->length == len - && strncmp ((const char *)bucket->name, (const char *)name, len) == 0) - return bucket; - bucket = bucket->next; - } - return NULL; -} - -/* - * Delete a hash node. Some weirdness to free junk from macros. - * More such weirdness will have to be added if you define more hash - * types that need it. - */ - -/* Note that the DEFINITION of a macro is removed from the hash table - but its storage is not freed. This would be a storage leak - except that it is not reasonable to keep undefining and redefining - large numbers of macros many times. - In any case, this is necessary, because a macro can be #undef'd - in the middle of reading the arguments to a call to it. - If #undef freed the DEFINITION, that would crash. */ -static void -delete_macro (hp) - HASHNODE *hp; -{ - - if (hp->prev != NULL) - hp->prev->next = hp->next; - if (hp->next != NULL) - hp->next->prev = hp->prev; - - /* make sure that the bucket chain header that - the deleted guy was on points to the right thing afterwards. */ - if (hp == *hp->bucket_hdr) - *hp->bucket_hdr = hp->next; - - free (hp); -} - -/* - * return hash function on name. must be compatible with the one - * computed a step at a time, elsewhere - */ -static int -hashf (name, len, hashsize) - const U_CHAR *name; - int len; - int hashsize; -{ - int r = 0; - - while (len--) - r = HASHSTEP (r, *name++); - - return MAKE_POS (r) % hashsize; -} - -/* Dump all macro definitions as #defines to stdout. */ - -static void -dump_all_macros () -{ - int bucket; - - for (bucket = 0; bucket < HASHSIZE; bucket++) { - HASHNODE *hp; - - for (hp = hashtab[bucket]; hp; hp= hp->next) { - if (hp->type == T_MACRO) { - DEFINITION *defn = hp->value.defn; - struct reflist *ap; - int offset; - int concat; - - - /* Print the definition of the macro HP. */ - - printf ("#define %s", hp->name); - if (defn->nargs >= 0) { - int i; - - printf ("("); - for (i = 0; i < defn->nargs; i++) { - dump_arg_n (defn, i); - if (i + 1 < defn->nargs) - printf (", "); - } - printf (")"); - } - - printf (" "); - - offset = 0; - concat = 0; - for (ap = defn->pattern; ap != NULL; ap = ap->next) { - dump_defn_1 (defn->expansion, offset, ap->nchars); - if (ap->nchars != 0) - concat = 0; - offset += ap->nchars; - if (ap->stringify) - printf (" #"); - if (ap->raw_before && !concat) - printf (" ## "); - concat = 0; - dump_arg_n (defn, ap->argno); - if (ap->raw_after) { - printf (" ## "); - concat = 1; - } - } - dump_defn_1 (defn->expansion, offset, defn->length - offset); - printf ("\n"); - } - } - } -} - -/* Output to stdout a substring of a macro definition. - BASE is the beginning of the definition. - Output characters START thru LENGTH. - Discard newlines outside of strings, thus - converting funny-space markers to ordinary spaces. */ -static void -dump_defn_1 (base, start, length) - const U_CHAR *base; - int start; - int length; -{ - const U_CHAR *p = base + start; - const U_CHAR *limit = base + start + length; - - while (p < limit) { - if (*p != '\n') - putchar (*p); - else if (*p == '\"' || *p =='\'') { - const U_CHAR *p1 = skip_quoted_string (p, limit, 0, 0, 0, 0); - fwrite (p, p1 - p, 1, stdout); - p = p1 - 1; - } - p++; - } -} - -/* Print the name of argument number ARGNUM of macro definition DEFN. - Recall that DEFN->argnames contains all the arg names - concatenated in reverse order with comma-space in between. */ -static void -dump_arg_n (defn, argnum) - DEFINITION *defn; - int argnum; -{ - const U_CHAR *p = defn->argnames; - while (argnum + 1 < defn->nargs) { - p = (const U_CHAR *) strchr ((const char *)p, ' ') + 1; - argnum++; - } - - while (*p && *p != ',') { - putchar (*p); - p++; - } -} - -/* Initialize the built-in macros. */ -#define DSC(x) U x, sizeof x - 1 -#define install_spec(name, type) \ - install(DSC(name), type, -1); -#define install_value(name, val) \ - hp = install(DSC(name), T_CONST, -1); hp->value.cpval = val; -static void -initialize_builtins () -{ - HASHNODE *hp; - - install_spec ("__BASE_FILE__", T_BASE_FILE); - install_spec ("__DATE__", T_DATE); - install_spec ("__FILE__", T_FILE); - install_spec ("__TIME__", T_TIME); - install_spec ("__VERSION__", T_VERSION); - install_spec ("__INCLUDE_LEVEL__", T_INCLUDE_LEVEL); - install_spec ("__LINE__", T_SPECLINE); - -#ifndef NO_BUILTIN_SIZE_TYPE - install_value ("__SIZE_TYPE__", SIZE_TYPE); -#endif -#ifndef NO_BUILTIN_PTRDIFF_TYPE - install_value ("__PTRDIFF_TYPE__", PTRDIFF_TYPE); -#endif -#ifndef NO_BUILTIN_WCHAR_TYPE - install_value ("__WCHAR_TYPE__", WCHAR_TYPE); -#endif -#ifndef NO_BUILTIN_WINT_TYPE - install_value ("__WINT_TYPE__", WINT_TYPE); -#endif - install_value ("__REGISTER_PREFIX__", REGISTER_PREFIX); - install_value ("__USER_LABEL_PREFIX__", user_label_prefix); - - if (flag_signed_char == 0) - install_value ("__CHAR_UNSIGNED__", "1"); -} -#undef DSC -#undef install_spec -#undef install_value - -/* Common handler of command line directives -U, -D and -A. */ -static void -run_directive (str, len, type) - const char *str; - size_t len; - enum node_type type; -{ - const struct directive *kt; - FILE_BUF *ip = &instack[++indepth]; - ip->fname = "*command line*"; - - ip->buf = ip->bufp = (U_CHAR *) str; - ip->length = len; - ip->lineno = 1; - ip->macro = 0; - ip->free_ptr = 0; - ip->if_stack = if_stack; - - for (kt = directive_table; kt->type != type; kt++) - ; - - (*kt->func) ((U_CHAR *) str, (U_CHAR *) str + len, NULL); - --indepth; -} - -/* Handle the -D option. If STR is just an identifier, define it with - * value 1. If STR has anything after the identifier, then it should - * be identifier-space-definition. */ -static void -make_definition (str) - const char *str; -{ - char *buf, *p; - size_t count; - - /* Copy the entire option so we can modify it. - Change the first "=" in the string to a space. If there is none, - tack " 1" on the end. */ - - /* Length including the null. */ - count = strlen (str); - buf = (char *) alloca (count + 2); - memcpy (buf, str, count); - - p = strchr (str, '='); - if (p) - buf[p - str] = ' '; - else - { - buf[count++] = ' '; - buf[count++] = '1'; - } - - run_directive (buf, count, T_DEFINE); -} - -/* Handle the -U option. */ -static void -make_undef (str) - const char *str; -{ - run_directive (str, strlen (str), T_UNDEF); -} - -/* Handles the #assert (-A) and #unassert (-A-) command line options. */ -static void -make_assertion (str) - const char *str; -{ - enum node_type type = T_ASSERT; - size_t count; - const char *p; - - if (*str == '-') - { - str++; - type = T_UNASSERT; - } - - count = strlen (str); - p = strchr (str, '='); - if (p) - { - /* Copy the entire option so we can modify it. Change the first - "=" in the string to a '(', and tack a ')' on the end. */ - char *buf = (char *) alloca (count + 1); - - memcpy (buf, str, count); - buf[p - str] = '('; - buf[count++] = ')'; - str = buf; - } - - run_directive (str, count, type); -} - -/* Get the file-mode and data size of the file open on FD - and store them in *MODE_POINTER and *SIZE_POINTER. */ - -static int -file_size_and_mode (fd, mode_pointer, size_pointer) - int fd; - int *mode_pointer; - long *size_pointer; -{ - struct stat sbuf; - - if (fstat (fd, &sbuf) < 0) return -1; - if (mode_pointer) *mode_pointer = sbuf.st_mode; - if (size_pointer) *size_pointer = sbuf.st_size; - return 0; -} diff --git a/contrib/gcc/tradcpp.h b/contrib/gcc/tradcpp.h deleted file mode 100644 index 89940d0c3f04..000000000000 --- a/contrib/gcc/tradcpp.h +++ /dev/null @@ -1,45 +0,0 @@ -/* C Compatible Compiler Preprocessor (CCCP) -Copyright (C) 1986, 1987, 1989, 2000 Free Software Foundation, Inc. - Written by Paul Rubin, June 1986 - Adapted to ANSI C, Richard Stallman, Jan 1987 - Dusted off, polished, and adapted for use as traditional - preprocessor only, Zack Weinberg, Jul 2000 - -This program 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 program 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; if not, write to the Free Software -Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifndef GCC_TRADCPP_H -#define GCC_TRADCPP_H - -extern void error PARAMS ((const char *msgid, ...)) ATTRIBUTE_PRINTF_1; -extern void warning PARAMS ((const char *msgid, ...)) ATTRIBUTE_PRINTF_1; -extern void fatal PARAMS ((const char *msgid, ...)) ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN; -extern void error_with_line PARAMS ((int, const char *msgid, ...)) ATTRIBUTE_PRINTF_2; -extern void error_from_errno PARAMS ((const char *msgid)); - -extern void perror_with_name PARAMS ((const char *msgid)); -extern void pfatal_with_name PARAMS ((const char *msgid)) ATTRIBUTE_NORETURN; -extern void fancy_abort PARAMS ((int, const char *)) ATTRIBUTE_NORETURN; - -extern struct hashnode *lookup PARAMS ((const unsigned char *, int, int)); -extern int parse_c_expression PARAMS ((const char *)); /* in tradcif.y */ -extern int test_assertion PARAMS ((unsigned char **)); -extern int flag_signed_char; - -#define is_idchar(x) ISIDNUM(x) -#define is_idstart(x) ISIDST(x) -#define is_space(x) ISSPACE(x) -#define is_nvspace(x) (IS_NVSPACE(x) && x != '\0') - -#endif /* ! GCC_TRADCPP_H */ |
