diff -Nrc3pad gcc-3.2.3/gcc/testsuite/ChangeLog gcc-3.3/gcc/testsuite/ChangeLog *** gcc-3.2.3/gcc/testsuite/ChangeLog 2003-04-22 06:15:15.000000000 +0000 --- gcc-3.3/gcc/testsuite/ChangeLog 2003-05-14 00:10:28.000000000 +0000 *************** *** 1,37 **** ! 2003-04-22 Release Manager ! * GCC 3.2.3 Released. ! 2003-04-16 Gabriel Dos Reis ! Backport from mainline. ! 2003-03-17 Zack Weinberg ! * objc.dg/naming-1.m: Use "(parse|syntax) error". ! * objc.dg/naming-2.m: Likewise. 2003-04-14 Hans-Peter Nilsson PR target/10377 * gcc.dg/20030414-1.c: New test. 2003-04-12 Eric Botcazou * gcc.dg/ultrasp8.c: Fix for 32-bit Sparc. ! 2003-03-29 Kaveh R. Ghazi ! * gcc.c-torture/execute/20020307-2.x: New file, XFAIL mips-irix6. ! 2003-03-29 Arpad Beszedes ! PR middle-end/9967 ! * gcc.c-torture/execute/stdio-opt-1.c: Adjust test for change to ! builtin fputs. ! 2003-03-29 Mikulas Patocka ! * gcc.dg/20030323-1.c: New test. 2003-03-28 Eric Botcazou --- 1,197 ---- ! 2003-05-13 Release Manager ! * GCC 3.3 Released. ! 2003-05-13 Release Manager ! * GCC 3.3 Released. ! 2003-05-13 Release Manager ! ! * GCC 3.3 Released. ! ! 2003-05-08 Kaveh R. Ghazi ! ! * g++.dg/other/packed1.C: Mark xfail for sparc*- not sparc-. ! ! 2003-05-05 Mark Mitchell ! Kean Johnston ! ! * gcc.dg/unused-4.c: Update. ! ! 2003-05-02 Zack Weinberg ! ! PR c/10604 ! * gcc.dg/compare7.c, g++.dg/warn/compare1.C: New testcases. ! ! 2003-05-02 Richard Henderson ! ! PR c++/10570 ! * g++.dg/eh/forced1.C: Expect catch-all handlers to run. ! Verify exception_cleanup not called for rethrows. ! * g++.dg/eh/forced2.C: Test that exception_cleanup is called ! when exiting catch block without rethrowing. ! * g++.dg/eh/forced3.C: New. ! * g++.dg/eh/forced4.C: New. ! ! 2003-04-29 Mark Mitchell ! ! PR c++/10551 ! * g++.dg/template/explicit1.C: New test. ! ! PR c++/10549 ! * g++.dg/other/bitfield1.C: New test. ! ! 2003-04-29 Mark Mitchell ! ! PR c++/10527 ! * g++.dg/init/new7.C: New test. ! ! PR c++/10515 ! * g++.dg/ext/desig1.C: New test. ! * g++.dg/ext/init1.C: Likewise. ! ! 2003-04-29 Mark Mitchell ! ! * g++.old-deja/g++.pt/deduct5.C: Remove unnecessary initializer. ! ! 2003-04-28 Mark Mitchell ! ! PR c++/10180 ! * g++.dg/warn/Winline-1.C: New test. ! ! 2003-04-27 Mark Mitchell ! ! PR c++/10506 ! * g++.dg/init/new6.C: New test. ! ! PR c++/10503 ! * g++.dg/init/ref6.C: New test. ! ! 2003-04-26 David Edelsohn ! ! * g++.dg/warn/weak1.C: XFAIL on AIX4. ! ! 2003-04-25 Mark Mitchell ! ! * g++.old-deja/g++.pt/instantiate12.C: Explicit instantiate ! initialized static data members. ! ! 2003-04-23 Mark Mitchell ! ! PR c++/10471 ! * g++.dg/template/defarg2.C: New test. ! ! 2003-04-23 John David Anglin ! ! * g++.dg/other/packed1.C: XFAIL hppa*-*-*. ! ! 2003-04-23 Mark Mitchell ! ! * g++.dg/parse/typedef1.C: Tweak after fix for PR 10428. ! ! PR c++/10451 ! * g++.dg/parse/crash4.C: New test. ! ! 2003-04-23 Andreas Tobler ! ! * g++.dg/other/packed1.C: Append the missing brace. ! ! 2003-04-22 Devang Patel ! ! * gcc.dg/cpp/trad/funlike-5.c: New test. ! ! 2003-04-22 Mark Mitchell ! ! PR c++/10446 ! * g++.dg/parse/crash3.C: New test. ! ! 2003-04-22 Mark Mitchell ! ! PR c++/10428 ! * g++.dg/parse/elab1.C: New test. ! ! 2003-04-22 Andreas Tobler ! ! * g++.dg/other/packed1.C: Fix dg options. ! ! 2003-04-21 Mark Mitchell ! ! * g++.dg/template/recurse.C: Adjust location of error messages. ! ! 2003-04-21 Nathan Sidwell ! ! PR c++/9881 ! * g++.dg/init/addr-const1.C: New test. ! * g++.dg/other/packed1.C: XFAIL on aligned architectures. ! ! 2003-04-20 Nathan Sidwell ! ! PR c++/10405 ! * g++.dg/lookup/struct-hack1.C: New test. ! ! 2003-04-18 Eric Botcazou ! ! * gcc.c-torture/compile/20030418-1.c: New test. ! ! 2003-04-17 Janis Johnson ! ! * README.compat: Remove; content now in doc/sourcebuild.texi. 2003-04-14 Hans-Peter Nilsson PR target/10377 * gcc.dg/20030414-1.c: New test. + 2003-04-13 Mark Mitchell + + PR c++/10300 + * g++.dg/init/new5.C: New test. + + 2003-04-12 Mark Mitchell + + PR c++/7910 + * g++.dg/ext/dllimport1.C: New test. + 2003-04-12 Eric Botcazou * gcc.dg/ultrasp8.c: Fix for 32-bit Sparc. ! 2003-04-11 Bud Davis ! PR Fortran/9263 ! * g77.f-torture/noncompile/9263.f: New test ! PR Fortran/1832 ! * g77.f-torture/execute/1832.f: New test ! 2003-04-05 Zack Weinberg ! PR optimization/10024 ! * gcc.c-torture/compile/20030405-1.c: New test. ! 2003-04-04 Glen Nakamura ! * gcc.dg/20030324-1.c: Add comments and abort if test fails. ! ! 2003-04-03 Mike Stump ! ! * lib/scanasm.exp (scan-assembler): Add xfail processing for ! target arg. ! (scan-assembler-not): Likewise. ! (scan-assembler-dem, scan-assembler-dem-not): Likewise. ! ! 2003-03-31 Mark Mitchell ! ! PR c/9936 ! * gcc.dg/20030331-2.c: New test. ! ! PR c++/10278 ! * g++.dg/parse/crash2.C: New test. ! ! 2003-03-30 Mark Mitchell ! ! PR c++/7647 ! * g++.dg/lookup-class-member-2.C: New test. 2003-03-28 Eric Botcazou *************** *** 41,85 **** * gcc.dg/ultrasp7.c: New test. 2003-03-28 Eric Botcazou * gcc.dg/sparc-dwarf2.c: New test. 2003-03-26 Eric Botcazou * gcc.dg/ultrasp6.c: New test. 2003-03-25 Eric Botcazou ! * gcc.dg/i386-signbit-1.c: Tweak options. * gcc.dg/i386-signbit-2.c: New test. * gcc.dg/i386-signbit-3.c: New test. ! 2003-03-24 Jakub Jelinek ! * g++.dg/opt/rtti1.C: New test. ! 2003-03-23 Daniel Jacobowitz ! * gcc.c-torture/execute/20030224-2.c: New test. ! 2003-03-19 Eric Botcazou ! * gcc.dg/i386-signbit-1.c: New test. ! 2003-03-19 Jakub Jelinek ! * gcc.c-torture/execute/20030313-1.c: New test. 2003-03-19 Jakub Jelinek * gcc.dg/20030309-1.c: New test. 2003-03-16 Falk Hueffner ! * gcc.c-torture/execute/20030316-1.c: New test case. ! 2003-03-16 Kriang Lerdsuwanakij PR c++/6440 * g++.dg/template/spec7.C: New test. --- 201,327 ---- * gcc.dg/ultrasp7.c: New test. + 2003-03-28 Nathan Sidwell + + PR c++/10047 + * g++.dg/template/inline1.C: New test. + 2003-03-28 Eric Botcazou * gcc.dg/sparc-dwarf2.c: New test. + 2003-03-27 Nathan Sidwell + + PR c++/10158 + * g++.dg/template/friend18.C: New test. + + 2003-03-26 Roger Sayle + + * g77.f-torture/compile/20030326-1.f: New test case. + + 2003-03-26 Janis Johnson + + * gcc.c-torture/execute/20020227-1.x: Don't XFAIL for powerpc64. + + * gcc.c-torture/compile/simd-5.x: Expect XFAIL for powerpc64. + + 2003-03-26 Jakub Jelinek + + * gcc.dg/ia64-sync-3.c: New test. + 2003-03-26 Eric Botcazou * gcc.dg/ultrasp6.c: New test. 2003-03-25 Eric Botcazou ! * gcc.dg/i386-signbit-1.c: New test. * gcc.dg/i386-signbit-2.c: New test. * gcc.dg/i386-signbit-3.c: New test. ! 2003-03-25 Eric Botcazou ! * gcc.dg/ultrasp5.c: Fix options. ! 2003-03-24 Bud Davis ! PR fortran/10197 ! * g77.f-torture/execute/10197.f: New test. ! 2003-03-24 Eric Botcazou ! * gcc.dg/ultrasp5.c: Fix comment. ! 2003-03-24 Glen Nakamura ! PR opt/10087 ! * gcc.dg/20030324-1.c: New test. ! ! 2003-03-24 Nathan Sidwell ! ! PR c++/9898, c++/383 ! * g++.dg/template/conv6.C: New test. ! ! PR c++/10199 ! * g++.dg/lookup/template1.C: New test. ! ! 2003-03-23 Eric Botcazou ! ! * gcc.dg/ultrasp5.c: New test. ! ! 2003-03-23 Arpad Beszedes ! ! PR middle-end/9967 ! * gcc.c-torture/execute/stdio-opt-1.c: Adjust test for change to ! builtin fputs. ! ! 2003-03-23 Mikulas Patocka ! ! PR c/8224 ! * gcc.dg/20030323-1.c: New test. ! ! 2003-03-22 Ulrich Weigand ! ! * gcc.dg/20030321-1.c: New test. ! ! 2003-03-22 Bud Davis ! ! * g77.f-torture/execute/select.f: New test. ! * g77.f-torture/noncompile/select_no_compile.f: New test. ! ! 2003-03-20 Mark Mitchell ! ! PR c++/6412 ! * g++.dg/template/friend17.C: New test. 2003-03-19 Jakub Jelinek * gcc.dg/20030309-1.c: New test. + 2003-03-19 Jakub Jelinek + + * gcc.c-torture/execute/20030313-1.c: New test. + + 2003-03-17 Nathan Sidwell + + PR c++/9629 + * g++.dg/init/ctor2.C: New test. + + 2003-03-16 Mark Mitchell + + PR c++/8805 + * g++.dg/eh/cleanup1.C: New test. + 2003-03-16 Falk Hueffner ! * gcc.c-torture/execute/20030316-1.c: New test case. ! 2003-03-15 John David Anglin ! ! * g++.old-deja/g++.mike/eh33.C: Remove xfail for hppa*-*-*. ! * g++.old-deja/g++.mike/eh50.C: Likewise. ! ! 2003-03-15 Kriang Lerdsuwanakij PR c++/6440 * g++.dg/template/spec7.C: New test. *************** *** 89,94 **** --- 331,360 ---- * gcc.c-torture/compile/20030314-1.c: New test. + 2003-03-13 Mark Mitchell + + * g++.dg/parse/namespace9.C: New test. + + 2003-03-13 Mark Mitchell + + * g++.dg/init/ref5.C: New test. + * g++.dg/parse/ptrmem1.C: Likewise. + + 2003-03-12 John David Anglin + + * gcc.dg/special/ecos.exp (gcsec-1.c): Find linker used by gcc. + * gcc.dg/old-style-asm-1.c (dg-final): Add hpux label alternative to + regular expression. + * gcc.dg/inline-1.c (dg-final): Check for "xyzzy?,%r" on hppa*-*-*. + + 2003-03-12 Steven Bosscher + + * gcc.dg/return-type-3.c: New test. + + 2003-03-12 Daniel Jacobowitz + + * gcc.c-torture/execute/20030224-2.c: New test. + 2003-03-12 Eric Botcazou * gcc.dg/decl-3.c: New test. *************** *** 97,118 **** --- 363,491 ---- * gcc.dg/i386-loop-2.c: New test. + 2003-03-11 Mark Mitchell + + PR c++/9474 + * g++.dg/parse/namespace8.C: New test. + + 2003-03-11 Mark Mitchell + + PR c++/9924 + * g++.dg/overload/builtin2.C: New test. + + 2003-03-10 Devang Patel + + PR c++/9394 + * g++.dg/cpp/c++_cmd_1.C: New test. + * g++.dg/cpp/c++_cmd_1.h: New file. + + 2003-03-09 Mark Mitchell + + PR c++/9373 + * cp-lang.c (cxx_get_alias_set): Use alias set zero for + pointers to member functions. + + 2003-03-09 Mark Mitchell + + PR c++/8534 + * g++.dg/opt/ptrmem1.C: New test. + + 2003-03-09 Mark Mitchell + + PR c++/9912 + * g++.dg/parse/class1.C: New test. + * g++.old-deja/g++.other/decl5.C: Adjust. + 2003-03-09 Eric Botcazou * gcc.dg/i386-loop-1.c: New test. + 2003-03-09 Kriang Lerdsuwanakij + + PR c++/9970 + * g++.dg/lookup/friend1.C: New test. + 2003-03-08 Hans-Peter Nilsson + * gcc.c-torture/execute/20020720-1.x: Add xfail for cris-*-*. + * gcc.dg/old-style-asm-1.c: Tweak to match mmix-knuth-mmixware. + 2003-03-08 Neil Booth + + * gcc.dg/cpp/Wunused.c: Update test. + + 2003-03-08 Mark Mitchell + + PR c++/9809 + * g++.dg/parse/builtin1.C: New test. + + 2003-03-07 Mark Mitchell + + * g++.dg/init/ref4.C: New test. + 2003-03-07 Eric Botcazou * gcc.c-torture/execute/20030307-1.c: New test. + 2003-03-06 Mark Mitchell + + * g++.dg/init/ref3.C: New test. + + 2003-03-06 Mark Mitchell + + PR c++/9965 + * g++.dg/init/ref2.C: New test. + + PR c++/9400 + * g++.dg/warn/Wshadow-2.C: New test. + + 2003-03-06 Mark Mitchell + + PR c++/9791 + * g++.dg/warn/Woverloaded-1.C: New test. + 2003-03-05 Eric Botcazou * gcc.c-torture/compile/20030305-1.c: New test. + 2003-03-04 Roger Sayle + + * g++.old-deja/g++.other/builtins10.C: New test for PR 9367. + * gcc.dg/format/attr-5.c: Handle new conflicting types warning. + + 2003-03-03 Mark Mitchell + + PR c++/9878 + * g++.dg/init/ref1.C: New test. + + 2003-03-02 Stephane Carrez + + * gcc.c-torture/execute/960312-1.x: New file, must pass -mshort + for HC11/HC12 (asm needs two int registers). + * gcc.c-torture/compile/20020312-1.x: New file, don't execute on + HC11/HC12 because the test uses an asm which needs two 32-bit + registers. + + 2003-03-02 Stephane Carrez + + * gcc.c-torture/compile/920501-12.x: New file, must pass -mshort + for HC11/HC12 (array is too large otherwise). + * gcc.c-torture/compile/920501-4.x: New file, likewise. + * gcc.c-torture/compile/20010518-2.x: Likewise. + * gcc.c-torture/compile/980506-1.x: Don't execute this test on + HC11/HC12 (array is too large). + + 2003-02-28 Mark Mitchell + + PR c++/9879 + * testsuite/g++.dg/init/new4.C: New test. + + 2003-02-25 Mark Mitchell + + PR c++/9829 + * g++.dg/parse/namespace1.C: New test. + 2003-02-25 Franz Sirl PR target/9732 *************** *** 128,161 **** PR c++/9602 * g++.dg/template/friend16.C: New test. - 2003-02-23 Hans-Peter Nilsson - - * gcc.dg/asmreg-1.c: New test. - 2003-02-23 Kriang Lerdsuwanakij PR c++/7982 * g++.dg/warn/implicit-typename1.C: New test. 2003-02-21 Glen Nakamura * gcc.c-torture/execute/20030221-1.c: New test. ! 2003-02-20 Randolph Chung ! * gcc.c-torture/compile/20030220-1.c: New test. ! 2003-02-19 Kriang Lerdsuwanakij PR c++/9459 * g++.dg/ext/typeof4.C: New test. ! 2003-02-18 Jakub Jelinek ! * gcc.dg/20030217-1.c: New test. 2003-02-10 Eric Botcazou ! Christian Ehrhardt * gcc.dg/decl-2.c: New test. --- 501,595 ---- PR c++/9602 * g++.dg/template/friend16.C: New test. 2003-02-23 Kriang Lerdsuwanakij PR c++/7982 * g++.dg/warn/implicit-typename1.C: New test. + 2003-02-22 Hans-Peter Nilsson + + * gcc.dg/asmreg-1.c: New test. + + 2003-02-21 Richard Henderson + + * gcc.dg/attr-invalid.c: Allow __used__ on static data. + + 2003-02-21 Mark Mitchell + + PR c++/9749 + * g++.dg/parse/varmod1.C: New test. + + PR c++/9727 + * g++.dg/template/op1.C: New test. + + 2003-02-21 Zack Weinberg + + * gcc.dg/cpp/include3.c: New test. + * gcc.dg/cpp/inc/foo.h: New file. + + 2003-02-21 Mark Mitchell + + PR c++/8906 + * g++.dg/template/nested2.C: New test. + + PR c++/8724 + * g++.dg/expr/dtor1.C: New test. + 2003-02-21 Glen Nakamura * gcc.c-torture/execute/20030221-1.c: New test. ! 2003-02-20 Mark Mitchell ! PR c++/9729 ! * g++.dg/abi/conv1.C: New test. ! 2003-02-20 Jan Hubicka ! ! * gcc.c-torture/execute/20020720-1.x: XFAIL for x86-64. ! ! 2003-02-19 Daniel Jacobowitz ! ! * gcc.c-torture/compile/20030219-1.c: New test. ! ! 2003-02-18 Kazu Hirata ! ! * gcc.c-torture/execute/20030218-1.c: New. ! ! 2003-02-18 Mark Mitchell ! ! PR c++/9704 ! * g++.dg/init/copy5.C: New test. ! ! 2003-02-18 Kriang Lerdsuwanakij PR c++/9459 * g++.dg/ext/typeof4.C: New test. ! 2003-02-12 Jan Hubicka ! * gcc.dg/i386-mmx-3.c: Change -march=k8 to -march=athlon. ! * gcc.dg/i386-ssetype-1.c: Likewise. ! * gcc.dg/i386-ssetype-2.c: Likewise. ! * gcc.dg/i386-ssetype-3.c: Likewise. ! * gcc.dg/i386-ssetype-4.c: Likewise. ! * gcc.dg/i386-ssetype-5.c: Likewise. ! ! 2003-02-14 Josef Zlomek ! ! * gcc.dg/20030213-1.c: Expect warning for unsupported -fpic on ! cris-*-elf* cris-*-aout* and mmix-*-*. ! ! 2003-02-13 Josef Zlomek ! ! * gcc.dg/20030213-1.c: New test. ! ! 2003-02-11 Mark Mitchell ! ! * g++.dg/parse/octal1.C: New file. 2003-02-10 Eric Botcazou ! Christian Ehrhardt * gcc.dg/decl-2.c: New test. *************** *** 173,213 **** * gcc.c-torture/execute/20020227-1.x: Update specific XFAIL conditions for SPARC targets. ! 2003-02-05 Release Manager ! * GCC 3.2.2 Released. ! 2003-01-31 Loren J. Rittle * gcc.dg/struct-ret-libc.c: New test. 2003-01-31 Paolo Carlini Further tweaks for Bison-1.875. ! * gcc.dg/cpp/assert_trad2.c: Test for "(parse|syntax) error". ! * gcc.dg/cpp/direct2s.c: Likewise. ! * g++.dg/lookup/using2.C: Likewise. * g++.dg/parse/angle-bracket.C: Likewise. * g++.dg/template/typename3.C: Likewise. 2003-01-28 Nathan Sidwell - PR c++/9433 * g++.dg/abi/dcast1.C: New test. 2003-01-27 Jeffrey D. Oldham PR c++/47 * g++.old-deja/g++.other/lookup24.C: New test. ! 2003-01-25 Eric Botcazou ! * gcc.c-torture/execute/20030125-1.c: Remove. ! 2003-01-25 Eric Botcazou ! Christian Ehrhardt ! * gcc.c-torture/execute/20030125-1.c: New test. 2003-01-25 Paolo Carlini --- 607,687 ---- * gcc.c-torture/execute/20020227-1.x: Update specific XFAIL conditions for SPARC targets. ! 2003-02-04 Jan Hubicka ! * gcc.dg/i386-ssetype-?.c: Compile using -march=k8; fix for register ! passing convetions. ! 2003-02-03 Mark Mitchell ! ! PR c++/7129 ! * testsuite/g++.dg/ext/max.C: New test. ! ! 2003-02-03 Richard Earnshaw ! ! * gcc.c-torture/exectue/ieee/20000320-1.c: The ARM VFP format is ! 'natural-endian'. ! ! 2003-02-01 Loren J. Rittle * gcc.dg/struct-ret-libc.c: New test. + 2003-01-31 Ulrich Weigand + + * gcc.dg/20030129-1.c: New test. + 2003-01-31 Paolo Carlini Further tweaks for Bison-1.875. ! * g++.dg/lookup/using2.C: Test for "(parse|syntax) error". ! * g++.dg/other/do1.C: Likewise. * g++.dg/parse/angle-bracket.C: Likewise. * g++.dg/template/typename3.C: Likewise. + 2003-01-31 Kriang Lerdsuwanakij + + PR c++/8849 + * g++.dg/template/ptrmem4.C: New test. + + 2003-01-31 Kriang Lerdsuwanakij + + PR c++/9453 + * g++.dg/template/friend14.C: New test. + * g++.dg/template/friend15.C: New test. + * g++.old-deja/g++.other/defarg1.C: Adjust error message. + + 2003-01-29 Nathan Sidwell + + PR c++/9437 + * g++.dg/template/unify4.C: New test. + 2003-01-28 Nathan Sidwell * g++.dg/abi/dcast1.C: New test. + 2003-01-28 Toon Moene + + PR fortran/9258 + * g77.dg/pr9258.f: New test. + 2003-01-27 Jeffrey D. Oldham PR c++/47 * g++.old-deja/g++.other/lookup24.C: New test. ! 2003-01-27 Kaveh R. Ghazi ! PR middle-end/7227 ! * gcc.dg/uninit-C.c: New test. ! 2003-01-25 Jan Hubicka ! PR opt/8492 ! * gcc.c-torture/compile/20030125-1.c ! ! 2003-01-25 Ulrich Weigand ! ! * gcc.dg/20030123-1.c: New test. 2003-01-25 Paolo Carlini *************** *** 233,238 **** --- 707,734 ---- PR c++/9328 * g++.dg/ext/typeof3.C: New test. + 2003-01-20 Kazu Hirata + + * gcc.c-torture/execute/20030120-1.c: New. + + 2003-01-15 Kaveh R. Ghazi + + * gcc.c-torture/execute/builtin-constant.x: XFAIL the test. + + 2003-01-15 Stephane Carrez + + * gcc.c-torture/compile/20000804-1.x: Don't execute this test at + all for HC11/HC12. + * gcc.c-torture/compile/20001205-1.x: Likewise. + * gcc.c-torture/compile/20001226-1.x: Likewise. + * gcc.c-torture/compile/920520-1.x: Likewise. + * gcc.c-torture/compile/961203-1.x: Likewise. + * gcc.c-torture/compile/20020604-1.x: Likewise. + + 2003-01-14 Eric Botcazou + + * gcc.dg/i386-mmx-3.c: New test. + 2003-01-10 Josef Zlomek * gcc.c-torture/compile/20030110-1.c: New test. *************** *** 245,259 **** * gcc.c-torture/execute/20030109-1.c: New test. 2002-12-26 Nathan Sidwell ! * g++.dg/template/qualttp20.C: Adjust expected errors. ! * g++.old-deja/g++.jason/report.C: Likewise. ! * g++.old-deja/g++.other/qual1.C: Likewise. ! 2002-12-21 Eric Botcazou ! * gcc.dg/unroll-1.c: New test. 2002-12-19 Eric Botcazou --- 741,809 ---- * gcc.c-torture/execute/20030109-1.c: New test. + 2003-01-07 Kriang Lerdsuwanakij + + PR c++/9030 + * g++.dg/template/friend12.C: New test. + * g++.dg/template/friend13.C: Likewise. + * g++.old-deja/g++.eh/spec6.C: Add missing error message. + * g++.old-deja/g++.other/defarg1.C: Change expected error message. + + 2003-01-06 Mark Mitchell + + PR c++/9165 + * g++.dg/warn/Wunused-3.C: New test. + + 2003-01-03 Nathan Sidwell + + * g++.dg/template/ntp2.C: New test. + + 2003-01-02 Kazu Hirata + + * gcc.dg/h8300-stack-1.c: New. + + 2002-12-31 Janis Johnson + + * lib/profopt.exp: Change the name of a global variable to avoid + possible clashes with other test suites. + 2002-12-26 Nathan Sidwell ! * g++.dg/warn/inline1.C: New test. ! * g++.old-deja/g++.brendan/crash64.C: Remove spurious inlines. ! * g++.old-deja/g++.jason/synth10.C: Likewise. ! * g++.old-deja/g++.mike/net31.C: Likewise. ! * g++.old-deja/g++.mike/p8786.C: Likewise. ! * g++.dg/template/friend10.C: New test. ! * g++.dg/template/conv5.C: New test. ! 2002-12-24 Nathan Sidwell ! ! * g++.dg/lookup/scoped3.C: New test. ! ! * g++.dg/lookup/decl1.C: New test. ! * g++.dg/lookup/decl2.C: New test. ! ! 2002-12-24 Joseph S. Myers ! ! * g++.dg/init/new1.C, g++.dg/template/alignof1.C, ! gcc.c-torture/compile/20021015-1.c, ! gcc.c-torture/compile/20021015-2.c, ! gcc.c-torture/compile/20021123-1.c, ! gcc.c-torture/compile/20021123-2.c, ! gcc.c-torture/compile/20021123-3.c, ! gcc.c-torture/compile/20021123-4.c, ! gcc.c-torture/execute/20021024-1.c: Add tests previously added ! only to 3.1 or 3.2 branch. ! ! 2002-12-22 Nathan Sidwell ! ! * g++.dg/parse/conv_op1.C: New test. ! ! 2002-12-19 Devang Patel ! ! * gcc.dg/darwin-ld-5.c: Rewrite test to test -dynamic. 2002-12-19 Eric Botcazou *************** *** 261,285 **** 2002-12-18 Kriang Lerdsuwanakij PR c++/8442 * g++.dg/template/type2.C: New test. * g++.dg/template/ttp3.C: Change expected error message. ! 2002-12-17 Jakub Jelinek ! ! * gcc.c-torture/execute/20021118-3.c: New test. 2002-12-12 Eric Botcazou * gcc.c-torture/compile/20021212-1.c: New test. 2002-12-10 Mark Mitchell PR c++/8372 * g++.dg/template/dtor1.C: New test. - 2002-12-10 Mark Mitchell - * g++.old-deja/g++.ext/memconst.C: Use old-deja, not dg, error markers. --- 811,850 ---- 2002-12-18 Kriang Lerdsuwanakij + PR c++/8099 + * g++.dg/template/friend9.C: New test. + + 2002-12-18 Kriang Lerdsuwanakij + + PR c++/3663 + * g++.dg/template/access7.C: New test. + + 2002-12-18 Kriang Lerdsuwanakij + PR c++/8442 * g++.dg/template/type2.C: New test. * g++.dg/template/ttp3.C: Change expected error message. ! 2002-12-12 Devang Patel ! * gcc.dg/darwin-ld-1.c: New test. ! * gcc.dg/darwin-ld-2.c: New test. ! * gcc.dg/darwin-ld-3.c: New test. ! * gcc.dg/darwin-ld-4.c: New test. ! * gcc.dg/darwin-ld-5.c: New test. 2002-12-12 Eric Botcazou * gcc.c-torture/compile/20021212-1.c: New test. + 2002-12-11 Neil Booth + + * gcc.dg/fshort-wchar: New test. + 2002-12-10 Mark Mitchell PR c++/8372 * g++.dg/template/dtor1.C: New test. * g++.old-deja/g++.ext/memconst.C: Use old-deja, not dg, error markers. *************** *** 287,325 **** * g++.dg/parse/parameter-declaration-1.C: Expect error on last line. 2002-12-08 Kaveh R. Ghazi * g++.dg/special/conpr-2.C: Expect failure on solaris2. * g++.dg/special/ecos.exp (conpr-3.C): Likewise. * g++.dg/special/initp1.C: Likewise. ! 2002-12-08 Mark Mitchell ! * g++.dg/template/varmod1.C: Fix typo. 2002-12-04 Eric Botcazou * gcc.c-torture/compile/20021204-1.c: New test. ! 2002-12-04 Jakub Jelinek ! * gcc.c-torture/execute/20020805-1.c: New test. 2002-12-02 Mark Mitchell PR c++/8615 * g++.dg/template/char1.C: New test. 2002-12-01 Mark Mitchell PR c++/5919 * g++.dg/template/varmod1.C: New test. - 2002-12-01 Mark Mitchell - PR c++/8727 * g++.dg/inherit/typeinfo1.C: New test. ! PR c++/8663 * g++.dg/inherit/typedef1.C: New test. --- 852,915 ---- * g++.dg/parse/parameter-declaration-1.C: Expect error on last line. + 2002-12-09 Mark Mitchell + + * g++.dg/template/static1.C: New test. + * g++.dg/template/static2.C: New test. + * g++.old-deja/g++.ext/memconst.C: New test. + 2002-12-08 Kaveh R. Ghazi * g++.dg/special/conpr-2.C: Expect failure on solaris2. * g++.dg/special/ecos.exp (conpr-3.C): Likewise. * g++.dg/special/initp1.C: Likewise. ! 2002-12-06 Jakub Jelinek ! * gcc.c-torture/execute/20021204-1.c: New test. ! ! 2002-12-04 Geoffrey Keating ! ! * gcc.dg/ppc-fmadd-1.c: New file. ! * gcc.dg/ppc-fmadd-2.c: New file. ! * gcc.dg/ppc-fmadd-3.c: New file. 2002-12-04 Eric Botcazou * gcc.c-torture/compile/20021204-1.c: New test. ! 2002-12-03 Mark Mitchell ! PR c++/8688 ! * g++.dg/init/brace3.C: New test. ! ! 2002-12-02 Kazu Hirata ! ! * gcc.dg/20020210-1.c: Fix a comment typo. 2002-12-02 Mark Mitchell + PR c++/8720 + * g++.dg/parse/defarg1.C: New test. + PR c++/8615 * g++.dg/template/char1.C: New test. + * g++.dg/template/varmod1.C: Fix typo. + + 2002-12-02 Kriang Lerdsuwanakij + + DR 180 + * g++.old-deja/g++.pt/crash32.C: Expect error. + 2002-12-01 Mark Mitchell PR c++/5919 * g++.dg/template/varmod1.C: New test. PR c++/8727 * g++.dg/inherit/typeinfo1.C: New test. ! PR c++/8663 * g++.dg/inherit/typedef1.C: New test. *************** *** 329,398 **** PR c++/8493 * g++.dg/template/strlen1.C: New test. ! 2002-11-30 Mark Mitchell PR c++/8214 * g++.dg/init/string1.C: New test. ! 2002-11-26 Neil Booth ! * gcc.dg/cpp/_Pragma5.c: New test. 2002-11-24 Eric Botcazou * gcc.c-torture/compile/20021124-1.c: New test. ! 2002-11-24 Eric Botcazou ! * gcc.c-torture/execute/loop-2e.x: Let the testcase ! XFAIL for all x86 processors. ! * gcc.c-torture/execute/loop-3c.x: Likewise. ! 2002-11-23 Eric Botcazou ! * gcc.c-torture/compile/20021123-4.c: New test. ! 2002-11-23 Eric Botcazou ! * gcc.c-torture/compile/20021123-2.c: New test. ! * gcc.c-torture/compile/20021123-3.c: New test. ! 2002-11-23 Eric Botcazou ! * gcc.c-torture/compile/20021123-1.c: New test. ! 2002-11-22 Eric Botcazou ! * gcc.dg/i386-unroll-1.c: New test. ! 2002-11-19 Release Manager ! * GCC 3.2.1 Released. ! 2002-11-19 Release Manager ! * GCC 3.2.1 Released. ! 2002-11-18 Release Manager ! * GCC 3.2.1 Released. 2002-11-11 Franz Sirl PR c/8467 * gcc.c-torture/execute/20021111-1.c ! 2002-11-11 Nathan Sidwell ! PR c++/7788 ! * g++.dg/rtti/crash1.C: New test. ! 2002-11-07 Hans-Peter Nilsson ! * gcc.dg/wint_t-1.c, gcc.dg/wchar_t-1.c: Remove excess-errors ! markers. ! 2002-11-02 Zack Weinberg * g++.dg/ext/typedef-init.C, gcc.dg/typedef-init.C: Add some more cases. --- 919,1124 ---- PR c++/8493 * g++.dg/template/strlen1.C: New test. ! PR c++/8227 ! * g++.dg/template/ctor2.C: New test. PR c++/8214 * g++.dg/init/string1.C: New test. ! PR c++/8511 ! * g++.dg/template/friend8.C: New test. ! 2002-11-29 Joe Buck ! ! * g++.dg/lookup/anon2.C: New test. ! ! 2002-11-28 Kazu Hirata ! ! * gcc.c-torture/execute/strct-varg-1.x: Remove xfail on the ! h8300 port. ! ! 2002-11-27 Richard Sandiford ! ! * gcc.dg/bitfld-6.c: New test. ! ! 2002-11-27 Jan Hubicka ! ! * gcc.c-torture/execute/20021127.[cx]: New test. ! ! 2002-11-26 Geoffrey Keating ! ! * g++.dg/init/brace2.C: New test. ! * g++.old-deja/g++.mike/p9129.C: Correct. ! ! 2002-11-26 Mark Mitchell ! ! * g++.dg/abi/empty10.C: Don't run on non-x86 targets. ! ! 2002-11-25 Mark Mitchell ! ! * testsuite/g++.dg/abi/empty11.C: New test. ! * testsuite/g++.dg/rtti/cv1.C: New test. ! ! 2002-11-25 Hans-Peter Nilsson ! ! * lib/prune.exp: Prune more -fpic/-fPIC warnings. ! ! 2002-11-24 Mark Mitchell ! ! * g++.dg/abi/empty10.C: New test. 2002-11-24 Eric Botcazou * gcc.c-torture/compile/20021124-1.c: New test. ! 2002-11-22 Mark Mitchell ! * g++.dg/abi/rtti2.C: New test. ! 2002-11-21 Eric Botcazou ! * gcc.dg/i386-unroll-1.c: New test. ! 2002-11-20 Eric Botcazou ! * gcc.c-torture/compile/20021120-1.c: New test. ! * gcc.c-torture/compile/20021120-2.c: New test. ! 2002-11-20 Richard Sandiford ! * gcc.dg/bitfld-5.c: New test. ! 2002-11-20 Richard Sandiford ! * gcc.c-torture/execute/20021120-3.c: New test. ! 2002-11-20 Richard Sandiford ! * gcc.c-torture/execute/20021120-2.c: New test. ! 2002-11-20 Richard Sandiford ! * gcc.c-torture/execute/20021120-1.c: New test. ! 2002-11-20 Jakub Jelinek ! * gcc.c-torture/execute/20021118-3.c: New test. ! ! 2002-11-19 Eric Botcazou ! ! * gcc.c-torture/compile/20021119-1.c: New test. ! ! 2002-11-19 Jason Thorpe ! ! * gcc.dg/duff-1.c: New test. ! * gcc.dg/duff-2.c: New test. ! * gcc.dg/duff-3.c: New test. ! ! 2002-11-18 Neil Booth ! ! * gcc.dg/cpp/_Pragma5.c: New test. ! ! 2002-11-18 Richard Sandiford ! ! * gcc.c-torture/execute/20021118-2.c: New test. ! ! 2002-11-18 Richard Sandiford ! ! * gcc.c-torture/execute/20021118-1.c: New test. ! ! 2002-11-16 Jakub Jelinek ! ! * gcc.dg/20021116-1.c: New test. ! ! 2002-11-14 Mark Mitchell ! ! * g++.dg/abi/vcall1.C: New test. ! ! 2002-11-14 Jakub Jelinek ! ! * gcc.dg/20021029-1.c: New test. ! * gcc.dg/20021029-2.c: New test. ! ! 2002-11-13 John David Anglin ! ! * g++.dg/abi/vague1.C (dg-final): Return if target is hppa*-*-hpux*. ! ! 2002-11-09 Eric Botcazou ! ! PR c/8439 ! * gcc.dg/20021110.c: Move to ... ! * gcc.c-torture/compile/20021110.c: .... here. 2002-11-11 Franz Sirl PR c/8467 * gcc.c-torture/execute/20021111-1.c ! 2002-11-09 Eric Botcazou ! PR c/8439 ! * gcc.dg/20021110.c: New test. ! 2002-11-10 Mark Mitchell ! * g++.dg/abi/vthunk3.C: Run only on x86. ! 2002-11-10 Joseph S. Myers ! ! * gcc.dg/c90-idem-qual-2.c, gcc.dg/c99-idem-qual-2.c: New tests. ! ! 2002-11-09 Hans-Peter Nilsson ! ! * lib/compat.exp (compat-execute): Fix logic error in last ! change. ! ! 2002-11-09 Neil Booth ! ! * gcc.dg/cpp/trad/assembler.S, gcc.dg/cpp/trad/directive.c: Update. ! ! 2002-11-09 Kriang Lerdsuwanakij ! ! PR c++/8389 ! * g++.dg/template/access6.C: New test. ! ! 2002-11-08 Jan Hubicka ! ! * gcc.c-torture/compile/20021108-1.c: New testcase for x86-64 failure. ! ! 2002-11-07 Mark Mitchell ! ! * g++.dg/abi/vthunk3.C: New test. ! ! PR c++/8338 ! * g++.dg/template/crash2.C: New test. ! ! 2002-11-07 Mark Mitchell ! ! * testsuite/g++.dg/abi/dtor1.C: New test. ! * testsuite/g++.dg/abi/dtor2.C: Likewise. ! ! 2002-11-05 Geoffrey Keating ! ! * g++.old-deja/g++.eh/badalloc1.C: XFAIL excess errors test on ! Darwin. ! ! 2002-11-04 Adam Nemet ! ! * gcc.c-torture/execute/941014-1.x: thumb-elf was deprecated, use ! -mthumb. Only xfail with -O0. ! ! 2002-11-03 Mark Mitchell ! ! * g++.dg/abi/thunk1.C: New test. ! * g++.dg/abi/thunk2.C: Likewise. ! * g++.dg/abi/vtt1.C: Likewise. ! ! 2002-11-02 Diego Novillo ! ! PR optimization/8423 ! * gcc.c-torture/execute/builtin-constant.c: New test. ! ! 2002-11-01 Zack Weinberg * g++.dg/ext/typedef-init.C, gcc.dg/typedef-init.C: Add some more cases. *************** *** 410,450 **** PR c++/8149 * g++.dg/template/typename4.C: Likewise. 2002-10-29 Mark Mitchell PR c++/8287 * g++.dg/init/dtor2.C: New test. - * g++.dg/template/alignof1.C: New test. - 2002-10-28 Kaveh R. Ghazi * gcc.dg/20021014-1.c: Bypass errors on solaris2 and irix6. 2002-10-27 Hans-Peter Nilsson * gcc.dg/20021014-1.c: Use dg-error, not dg-build. * gcc.dg/20021014-1.c: Expect build failure on mmix-*-*. 2002-10-25 Zack Weinberg ! * g++.dg/ext/vla1.C, gcc.dg/vla-2.c, ! g++.dg/template/typename3.C: New tests. ! 2002-10-24 Jakub Jelinek ! * gcc.c-torture/execute/20021024-1.c: New test. 2002-10-23 Mark Mitchell PR c++/8067 * g++.dg/lookup/pretty1.C: New test. 2002-10-23 Mark Mitchell PR c++/7679 * g++.dg/parse/inline1.C: New test. 2002-10-22 Mark Mitchell PR c++/6579 --- 1136,1222 ---- PR c++/8149 * g++.dg/template/typename4.C: Likewise. + 2002-10-30 Kriang Lerdsuwanakij + + Core issue 287, PR c++/7639 + * g++.dg/template/instantiate1.C: Adjust error location. + * g++.dg/template/instantiate3.C: New test. + * g++.old-deja/g++.pt/crash10.C: Adjust error location. + * g++.old-deja/g++.pt/derived3.C: Adjust error location. + * g++.old-deja/g++.pt/spec28.C: Reorder declaration. + + 2002-10-29 Hans-Peter Nilsson + + * lib/compat.exp (compat-execute): Don't clean out a gluefile. + 2002-10-29 Mark Mitchell PR c++/8287 * g++.dg/init/dtor2.C: New test. 2002-10-28 Kaveh R. Ghazi * gcc.dg/20021014-1.c: Bypass errors on solaris2 and irix6. + * gcc.dg/nest.c: Bypass errors on irix6. 2002-10-27 Hans-Peter Nilsson + * gcc.dg/nest.c: Expect error for mmix-*-*. * gcc.dg/20021014-1.c: Use dg-error, not dg-build. + + 2002-10-26 Hans-Peter Nilsson + + * gcc.dg/wint_t-1.c, gcc.dg/wchar_t-1.c: Remove excess-errors + markers. + * gcc.dg/20021014-1.c: Expect build failure on mmix-*-*. + 2002-10-25 Mike Stump + + * gcc.dg/warn-1.c: New test. + 2002-10-25 Zack Weinberg ! * g++.dg/template/typename3.C: New test. ! 2002-10-25 Mark Mitchell ! * g++.dg/lookup/ptrmem1.C: New test. ! ! * g++.dg/abi/vthunk2.C: New test. ! ! 2002-10-25 Zack Weinberg ! ! * g++.dg/ext/vla1.C, gcc.dg/vla-2.c: New tests. ! ! 2002-10-24 Mark Mitchell ! ! * g++.dg/abi/empty9.C: New test. ! ! 2002-10-24 Richard Henderson ! ! * g++.dg/inherit/thunk1.C: Enable for ia64. 2002-10-23 Mark Mitchell PR c++/8067 * g++.dg/lookup/pretty1.C: New test. + 2002-10-23 Jakub Jelinek + + * gcc.dg/20021023-1.c: New test. + 2002-10-23 Mark Mitchell PR c++/7679 * g++.dg/parse/inline1.C: New test. + 2002-10-23 Richard Henderson + + * g++.dg/inherit/thunk1.C: Enable for x86_64. + + * g++.dg/inherit/thunk1.C: Enable for s390 and alpha. + 2002-10-22 Mark Mitchell PR c++/6579 *************** *** 452,541 **** 2002-10-22 Nathan Sidwell - PR c++/7209 - * g++.dg/expr: New directory. * g++.dg/expr/cond1.C: New test. 2002-10-21 Zack Weinberg * gcc.dg/noncompile/920923-1.c: Prevent spurious regressions with bison 1.50 or later. ! 2002-10-18 Nathan Sidwell ! PR c++/7676 ! * g++.dg/overload/method2.C: New test. 2002-10-17 Mark Mitchell PR c++/7584 * g++.dg/inherit/using3.C: New test. 2002-10-16 Mark Mitchell PR c++/7478 * g++.dg/template/ref1.C: New test. ! PR c++/8134 ! * g++.dg/init/pm1.C: XFAIL it. PR c++/7524 * g++.dg/init/array7.C: New test. ! 2002-10-15 Ulrich Weigand ! PR target/7370 ! * gcc.c-torture/compile/20021015-1.c: New test. ! PR target/8232 ! * gcc.c-torture/compile/20021015-2.c: New test. 2002-10-15 Ulrich Weigand * gcc.c-torture/execute/20021015-1.c: New test. ! 2002-10-14 Jakub Jelinek ! * gcc.dg/20021014-1.c: New test. 2002-10-14 Mark Mitchell PR optimization/6631 * g++.dg/opt/const2.C: New test. PR c++/7176 * g++.dg/parse/friend1.C: New test. * g++.old-deja/g++.pt/memtemp64.C: Adjust. 2002-10-11 Mark Mitchell PR c++/5661 * g++.dg/ext/vlm1.C: New test. * g++.dg/ext/vlm2.C: Likewise. 2002-10-09 Zack Weinberg PR c/7353 * g++.dg/ext/typedef-init.C: New test. * gcc.dg/typedef-init.c: New test. ! 2002-10-06 Neil Booth ! * gcc.dg/cpp/_Pragma4.c: New test. ! 2002-10-02 Mark Mitchell PR c++/7754 * g++.dg/template/union1.C: New test. 2002-10-02 Mark Mitchell PR c++/7188. ! * testsuite/g++.dg/template/meminit1.C: New test. ! Thu Sep 5 00:34:33 2002 J"orn Rennecke ! * gcc.c-torture/execute/loop-14.c: New test. 2002-09-27 Zack Weinberg --- 1224,1618 ---- 2002-10-22 Nathan Sidwell * g++.dg/expr/cond1.C: New test. + 2002-10-21 Mark Mitchell + + * g++.dg/abi/vbase13.C: New test. + * g++.dg/abi/vbase14.C: Likewise. + + 2002-10-21 Jakub Jelinek + + * gcc.dg/tls/pic-1.c: New test. + * gcc.dg/tls/nonpic-1.c: New test. + * gcc.dg/20021018-1.c: New test. + + 2002-10-21 Ulrich Weigand + + * lib/profopt.exp (profopt-cleanup): New argument TESTCASE. + Remove only files with the same base name as the test case. + (profopt-perf-value): Pass TESTCASE to profopt-cleanup. + (profopt-execute): Likewise. Also, remove old profiling + and performance data files before running the tests. + + * gcc.misc-tests/bprob.exp: Remove profopt-cleanup calls. + * g++.dg/bprob/bprob.exp: Likewise. + * g77.dg/bprob/bprob.exp: Likewise. Also, relax regexp + to allow more general test case names. + + * g++.dg/bprob/bprob-1.C: Rename to ... + * g++.dg/bprob/g++-bprob-1.C: ... this. + + * g77.dg/bprob/bprob-1.f: Rename to ... + * g77.dg/bprob/g77-bprob-1.f: ... this. + 2002-10-21 Zack Weinberg * gcc.dg/noncompile/920923-1.c: Prevent spurious regressions with bison 1.50 or later. ! 2002-10-21 Janis Johnson ! * g++.dg/README: Describe more test directories. ! ! 2002-10-21 Mark Mitchell ! ! * g++.dg/init/array6.C: Add additional tests. ! ! 2002-10-21 Ulrich Weigand ! ! * gcc.dg/weak/typeof-2.c: Handle s390x targets as well. ! * gcc.misc-tests/linkage.exp: Handle s390x targets in -m31 mode. ! ! 2002-10-21 Kazu Hirata ! ! * gcc.c-torture/compile/20020604-1.x: New. ! * gcc.c-torture/compile/simd-5.x: Likewise. ! * gcc.c-torture/execute/920710-1.x: Likewise. ! * gcc.c-torture/execute/20020720-1.x: Disable on h8300. ! ! 2002-10-21 Mark Mitchell ! ! * g++.dg/inherit/override1.C: Add dg-options clause. ! ! 2002-10-20 Zdenek Dvorak ! ! * testsuite/gcc.dg/i386-sse-3.c: Add tests for _mm_srli_si128 and ! _mm_slli_si128. ! ! 2002-10-19 Andreas Schwab ! ! * lib/compat.exp (compat-run): Prepend "./" when $dest has no ! directory component. ! ! 2002-10-18 Mark Mitchell ! ! * g++.dg/inherit/thunk1.C: New test. ! ! * g++.dg/inherit/override1.C: New test. ! ! * g++.dg/abi/mangle11.C: New test. ! * g++.dg/abi/mangle14.C: New test. ! * g++.dg/abi/mangle17.C: New test. ! ! 2002-10-17 Nathan Sidwell ! ! * g++.dg/overload/member2.C: New test. ! ! 2002-10-17 Janis Johnson ! ! * g++.dg/README: Describe new compat directory. ! * g++.dg/dg.exp: Skip tests in compat directory. ! * README.compat: New file. ! * lib/compat.exp: New expect script. ! * g++.dg/compat: New test directory. ! * g++.dg/compat/compat.exp: New expect script. ! * g++.dg/compat/abi: New test directory. ! * g++.dg/compat/abi/bitfield1_x.C, g++.dg/compat/abi/bitfield1_main.C, ! g++.dg/compat/abi/bitfield1_y.C, g++.dg/compat/abi/bitfield1.h, ! g++.dg/compat/abi/bitfield2_x.C, g++.dg/compat/abi/bitfield2_main.C, ! g++.dg/compat/abi/bitfield2_y.C, g++.dg/compat/abi/bitfield2.h, ! g++.dg/compat/abi/vbase8-10_x.C, g++.dg/compat/abi/vbase8-10_main.C, ! g++.dg/compat/abi/vbase8-10_y.C, g++.dg/compat/abi/vbase8-10.h, ! g++.dg/compat/abi/vbase8-21_x.C, g++.dg/compat/abi/vbase8-21_main.C, ! g++.dg/compat/abi/vbase8-21_y.C, g++.dg/compat/abi/vbase8-21.h, ! g++.dg/compat/abi/vbase8-22_x.C, g++.dg/compat/abi/vbase8-22_main.C, ! g++.dg/compat/abi/vbase8-22_y.C, g++.dg/compat/abi/vbase8-22.h, ! g++.dg/compat/abi/vbase8-4_x.C, g++.dg/compat/abi/vbase8-4_main.C, ! g++.dg/compat/abi/vbase8-4_y.C, g++.dg/compat/abi/vbase8-4.h: New files. ! * g++.dg/compat/break: New test directory. ! * g++.dg/compat/break/empty6_x.C, g++.dg/compat/break/empty6_main.C, ! g++.dg/compat/break/empty6_y.C, g++.dg/compat/break/empty6.h, ! g++.dg/compat/break/vbase10_x.C, g++.dg/compat/break/vbase10_main.C, ! g++.dg/compat/break/vbase10_y.C, g++.dg/compat/break/vbase10.h, ! g++.dg/compat/break/vbase11_x.C, g++.dg/compat/break/vbase11_main.C, ! g++.dg/compat/break/vbase11_y.C, g++.dg/compat/break/vbase11.h, ! g++.dg/compat/break/bitfield7_x.C, g++.dg/compat/break/bitfield7_main.C, ! g++.dg/compat/break/bitfield7_y.C, g++.dg/compat/break/bitfield7.h, ! g++.dg/compat/break/bitfield5_x.C, g++.dg/compat/break/bitfield5_main.C, ! g++.dg/compat/break/bitfield5_y.C, g++.dg/compat/break/bitfield5.h, ! g++.dg/compat/break/README: New files. ! * g++.dg/compat/eh: New test directory. ! * g++.dg/compat/eh/ctor1_x.C, g++.dg/compat/eh/ctor1_main.C, ! g++.dg/compat/eh/ctor1_y.C, g++.dg/compat/eh/ctor1.h, ! g++.dg/compat/eh/ctor2_x.C, g++.dg/compat/eh/ctor2_main.C, ! g++.dg/compat/eh/ctor2_y.C, g++.dg/compat/eh/ctor2.h, ! g++.dg/compat/eh/dtor1_x.C, g++.dg/compat/eh/dtor1_main.C, ! g++.dg/compat/eh/dtor1_y.C, g++.dg/compat/eh/dtor1.h, ! g++.dg/compat/eh/filter1_x.C, g++.dg/compat/eh/filter1_main.C, ! g++.dg/compat/eh/filter1_y.C, g++.dg/compat/eh/filter1.h, ! g++.dg/compat/eh/filter2_x.C, g++.dg/compat/eh/filter2_main.C, ! g++.dg/compat/eh/filter2_y.C, ! g++.dg/compat/eh/new1_x.C, g++.dg/compat/eh/new1_main.C, ! g++.dg/compat/eh/new1_y.C, ! g++.dg/compat/eh/nrv1_x.C, g++.dg/compat/eh/nrv1_main.C, ! g++.dg/compat/eh/nrv1_y.C, g++.dg/compat/eh/nrv1.h, ! g++.dg/compat/eh/spec3_x.C, g++.dg/compat/eh/spec3_main.C, ! g++.dg/compat/eh/spec3_y.C, g++.dg/compat/eh/spec3.h, ! g++.dg/compat/eh/template1_x.C, g++.dg/compat/eh/template1_main.C, ! g++.dg/compat/eh/template1_y.C, g++.dg/compat/eh/template1.h, ! g++.dg/compat/eh/unexpected1_x.C, g++.dg/compat/eh/unexpected1_main.C, ! g++.dg/compat/eh/unexpected1_y.C: New files. ! * g++.dg/compat/init: New test directory. ! * g++.dg/compat/init/array5_x.C, g++.dg/compat/init/array5_main.C, ! g++.dg/compat/init/array5_y.C, ! g++.dg/compat/init/byval1_x.C, g++.dg/compat/init/byval1_main.C, ! g++.dg/compat/init/byval1_y.C, g++.dg/compat/init/byval1.h, ! g++.dg/compat/init/dtor1_x.C, g++.dg/compat/init/dtor1_main.C, ! g++.dg/compat/init/dtor1_y.C, g++.dg/compat/init/dtor1.h, ! g++.dg/compat/init/elide1_x.C, g++.dg/compat/init/elide1_main.C, ! g++.dg/compat/init/elide1_y.C, g++.dg/compat/init/elide1.h, ! g++.dg/compat/init/init-ref2_x.C, g++.dg/compat/init/init-ref2_main.C, ! g++.dg/compat/init/init-ref2_y.C: New files. 2002-10-17 Mark Mitchell PR c++/7584 * g++.dg/inherit/using3.C: New test. + 2002-10-17 Jan Hubicka + + * gcc.dg/20021017-2.c: New test. + + 2002-10-17 Mark Mitchell + + * g++.dg/abi/mangle16.C: Adjust. + + * g++.dg/init/array8.C: New test. + + 2002-10-17 Richard Sandiford + + * gcc.dg/special/mips-abi.exp: New test. + * gcc.dg/special/mips-abi.s: Empty file used by the above. + 2002-10-16 Mark Mitchell + * g++.dg/abi/mangle16.C: New test. + * g++.dg/abi/mangle17.C: Likewise. + PR c++/7478 * g++.dg/template/ref1.C: New test. ! 2002-10-16 Kaveh R. Ghazi ! ! * gcc.c-torture/execute/20020720-1.x: Don't XFAIL for mips. ! ! 2002-10-16 Ulrich Weigand ! ! * gcc.dg/weak/typeof-2.c: For S/390 targets, return before baz3 test. ! ! 2002-10-16 Mark Mitchell PR c++/7524 * g++.dg/init/array7.C: New test. ! 2002-10-15 Mark Mitchell ! * g++.dg/init/array6.C: New test. ! * g++.dg/abi/mangle13.C: Likewise. ! * g++.dg/abi/mangle14.C: Likewise. ! * g++.dg/abi/mangle15.C: Likewise. ! ! 2002-10-14 Mark Mitchell ! ! * g++.dg/abi/empty8.C: New test. ! ! 2002-10-15 Nathan Sidwell ! ! * g++.dg/init/ctor1.C: New test. 2002-10-15 Ulrich Weigand * gcc.c-torture/execute/20021015-1.c: New test. ! 2002-10-15 J"orn Rennecke ! * gcc.dg/weak/typeof-2.c: For SH targets, return before baz3 test. ! ! 2002-10-14 Jan Hubicka ! ! * gcc.dg/i386-ssetype-[1-5].c: New tests. ! ! 2002-10-14 Richard Henderson ! ! * gcc.dg/20020219-1.c: Disable for 16-bit targets. 2002-10-14 Mark Mitchell PR optimization/6631 * g++.dg/opt/const2.C: New test. + 2002-10-14 Mark Mitchell + PR c++/7176 * g++.dg/parse/friend1.C: New test. * g++.old-deja/g++.pt/memtemp64.C: Adjust. + 2002-10-14 Jakub Jelinek + + * gcc.dg/20021014-1.c: New test. + 2002-10-11 Mark Mitchell PR c++/5661 * g++.dg/ext/vlm1.C: New test. * g++.dg/ext/vlm2.C: Likewise. + * g++.dg/init/array1.C: Remove invalid braces. + * g++.dg/init/brace1.C: New test. + * g++.dg/init/copy2.C: Likewise. + * g++.dg/init/copy3.C: Likewise. + * g++.old-deja/g++.ext/arrnew.C: Change WARNING to ERROR. + * g++.old-deja/g++.mike/p9129.C: Add ERROR on invalid use of + braces. + + 2002-10-11 Neil Booth + + * gcc.dg/cpp/assembler.S: Don't use -ansi. + + 2002-10-11 Richard Shann + + * gcc.c-torture/compile/simd-5.c: New test. + + 2002-10-10 Jim Wilson + + * gcc.c-torture/execute/20021010-1.c: New test. + 2002-10-09 Zack Weinberg PR c/7353 * g++.dg/ext/typedef-init.C: New test. * gcc.dg/typedef-init.c: New test. ! 2002-10-09 Neil Booth ! * gcc.dg/cpp/paste13.c: New test. ! 2002-10-08 Kaveh R. Ghazi ! ! * gcc.c-torture/execute/20020720-1.x: Take out sparc XFAILs. For ! remaining platforms, XFAIL during compile, not execute. Don't ! XFAIL at -O0. ! ! 2002-10-08 Nathan Sidwell ! ! * gcc.dg/alias-1.c: Tweak expected warning. ! ! 2002-10-06 D.Venkatasubramanian ! ! * gcc.dg/20020411-1.c: Disable for 16-bit "int". ! ! 2002-10-06 Andreas Jaeger ! ! * gcc.dg/cpp/c++98-pedantic.C: Moved to g++.dg/cpp. ! * gcc.dg/cpp/c++98.C: Likewise. ! ! * g++.dg/cpp/c++98-pedantic.C: Moved from gcc.dg/cpp to here. ! * g++.dg/cpp/c++98.C: Likewise. ! ! * g++.dg/README (Subdirectories): Mention cpp directory. ! ! PR target/7559 ! * gcc.dg/20021006-1.c: New test. ! ! 2002-10-05 Kriang Lerdsuwanakij ! ! PR c++/7804 ! * g++.dg/other/warning1.C: New test. ! ! 2002-10-04 Roger Sayle ! ! * gcc.c-torture/execute/20020720-1.x: XFAIL instead of skipping ! the test on failing platforms. Mark sparcv9-*-*, sparc64-*-* ! and sparc-*-* with -m64 as expected failures. See PR 8087. ! ! 2002-10-03 Mark Mitchell ! ! PR c++/7931 ! * g++.dg/template/ptrmem3.C: New test. PR c++/7754 * g++.dg/template/union1.C: New test. + 2002-10-03 Mark Mitchell + + PR c++/8006 + * g++.dg/abi/mangle9.C: New test. + * g++.dg/abi/mangle10.C: New test. + * g++.dg/abi/mangle11.C: New test. + * g++.dg/abi/mangle12.C: New test. + 2002-10-02 Mark Mitchell PR c++/7188. ! * g++.dg/template/meminit1.C: New test. ! * g++.dg/warn/Wreorder-1.C: Likewise. ! * g++.old-deja/g++.mike/warn3.C: Tweak. ! * lib/prune.exp: Ingore "in copy constructor". ! 2002-10-02 Andreas Jaeger ! * gcc.dg/20020919-1.c, gcc.dg/inline-2.c, gcc.dg/980211-1.c, ! gcc.dg/20020103-1.c, gcc.dg/20000614-2.c, ! g++.old-deja/g++.pt/asm1.C, g++.old-deja/g++.other/asm3.C: Enable ! on x86-64. ! ! 2002-10-01 Mark Mitchell ! ! * gcc.dg/empty1.C: Fix typo. ! ! 2002-10-01 Nathan Sidwell ! ! * gcc.dg/alias-1.c: New test. ! ! 2002-10-01 Mark Mitchell ! ! * gcc.dg/empty1.C: New test. ! ! * g++.dg/tls/init-2.C: Tweak error messages. ! ! 2002-10-01 Richard Sandiford ! ! * gcc.c-torture/compile/20020923-1.c: New test. ! ! 2002-09-30 Jason Thorpe ! ! * gcc.c-torture/execute/ffs-1.c: New test. ! * gcc.c-torture/execute/ffs-2.c: Ditto. ! ! 2002-09-30 Nathan Sidwell ! ! * g++.dg/overload/member1.C: New test. ! ! 2002-09-30 Mark Mitchell ! ! * g++.dg/abi/empty7.C: New test. ! * g++.dg/init/pm2.C: Likewise. ! ! 2002-09-29 Nathan Sidwell ! ! * g++.dg/rtti/crash1.C: New test. ! ! 2002-09-29 Hans-Peter Nilsson ! ! * gcc.dg/sibcall-1.c, gcc.dg/sibcall-2.c, gcc.dg/sibcall-3.c, ! gcc.dg/sibcall-4.c: New tests. ! ! 2002-09-28 Roger Sayle ! ! * gcc.c-torture/execute/20020720-1.x: No longer skip test on ! powerpc and MMIX targets. 2002-09-27 Zack Weinberg *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 553,595 **** * gcc.c-torture/execute/loop-15.c: New. 2002-09-25 David S. Miller PR target/7842 * gcc.c-torture/execute/shiftdi.c: New test. 2002-09-20 Hans-Peter Nilsson * gcc.c-torture/execute/ieee/mzero3.c: New test. 2002-09-06 Alan Modra * gcc.c-torture/execute/extzvsi.c: New test. 2002-09-04 Jakub Jelinek * g++.dg/other/cxa-atexit1.C: New test. * gcc.dg/typeof-2.c: New test. ! 2002-09-01 Jakub Jelinek ! * gcc.dg/typeof-1.c: New test. ! * g++.dg/ext/typeof2.C: New test. 2002-08-27 Mark Mitchell * testsuite/g++.dg/abi/bitfield5.C: New test. * testsuite/g++.dg/abi/vbase10.C: Likewise. ! 2002-08-15 Neil Booth ! * gcc.dg/cpp/_Pragma3.c, gcc.dg/cpp/vararg3.c, gcc.dg/cpp/vararg4.c: ! New tests. ! 2002-08-14 Release Manager ! * GCC 3.2 Released. 2002-08-08 Jakub Jelinek --- 1630,2029 ---- * gcc.c-torture/execute/loop-15.c: New. + 2002-09-26 Janis Johnson + + * README.QMTEST: Fix typo. + + 2002-09-26 Ulrich Weigand + + * gcc.dg/20020926-1.c: New test. + 2002-09-25 David S. Miller PR target/7842 * gcc.c-torture/execute/shiftdi.c: New test. + 2002-09-26 Richard Earnshaw + + * lib/gcc.exp (gcc_init): Use a filename for the testglue that is + unique to the tool. + * lib/g77.exp (g77_init): Likewise. + * lib/g++.exp (g++_init): Likewise. + * lib/objc.exp (objc_init): Likewise. + + 2002-09-25 Mark Mitchell + + * gcc/testsuite/g++.dg/abi/empty5.C: New test. + * gcc/testsuite/g++.dg/abi/empty6.C: New test. + * gcc/testsuite/g++.dg/abi/vbase12.C: New test. + + 2002-09-25 Richard Henderson + + * gcc.c-torture/execute/ieee/20010226-1.c: Early exit for + too-small long double. + + 2002-09-23 Hans-Peter Nilsson + + * gcc.dg/20020919-1.c: New test. + + 2002-09-23 Mark Mitchell + + * g++.dg/abi/bitfield6.C: New test. + * g++.dg/abi/bitfield7.C: New test. + * g++.dg/abi/bitfield8.C: New test. + * g++.dg/abi/vbase11.C: New test. + + 2002-09-22 John David Anglin + + * gcc.dg/20020219-1.c: Add "-mdisable-indexing" option for target + hppa*-*-hpux*. Update test comment. + + 2002-09-20 Jakub Jelinek + + * gcc.dg/tls/struct-1.c: New test. + + 2002-09-20 Neil Booth + + * gcc.dg/cpp/tr-warn2.c: Update. + + 2002-09-20 Richard Earnshaw + + * gcc.c-torture/execute/20020720-1.x: Skip test on ARM-based systems. + + 2002-09-20 Richard Earnshaw + + * gcc.c-torture/execute/990208-1.x: XFAIL this at -O3 for ARM-based + systems. + 2002-09-20 Hans-Peter Nilsson * gcc.c-torture/execute/ieee/mzero3.c: New test. + * lib/scanasm.exp (scan-assembler-dem, scan-assembler-dem-not): + Adjust for c++filt moved to binutils. Remove spurious duplicate + setting of cxxfilt. + + 2002-09-19 Geoffrey Keating + + * gcc.dg/20020312-2.c: Update for darwin. + + 2002-09-18 Nathan Sidwell + + * g++.old-deja/g++.other/crash32.C: Mark ICE. + + 2002-09-17 Nicola Pero + + * objc.dg/comp-types-1.m: New test. + * objc.dg/comp-types-2.m: New test. + * objc.dg/comp-types-3.m: New test. + * objc.dg/comp-types-4.m: New test. + * objc.dg/comp-types-5.m: New test. + * objc.dg/comp-types-6.m: New test. + + 2002-09-17 John David Anglin + + * gcc.c-torture/execute/strct-stdarg-1.x: Remove file. + + 2002-09-16 Nathan Sidwell + + * g++.dg/other/do1.C: New test. + + * g++.dg/template/subst1.C: New test. + + 2002-09-16 Steve Ellcey + + * gcc.dg/20020312-2.c: Change __parisc__ to __hppa__. + + 2002-09-16 Nathan Sidwell + + * g++.dg/template/qualttp20.C: Adjust expected errors. + * g++.old-deja/g++.jason/report.C: Likewise. + * g++.old-deja/g++.other/qual1.C: Likewise. + + * g++.dg/lookup/scoped2.C: New test. + + * g++.dg/ext/asm3.C: New test. + + 2002-09-16 Richard Earnshaw + + * objc.dg/bitfield-2.m (dg-options): Add -fsigned-char. + + 2002-09-16 Kazu Hirata + + * ChangeLog: follow spelling conventions. + * g++.old-deja/g++.abi/ptrmem.C: Likewise. + * g++.old-deja/g++.bugs/900210_05.C: Likewise. + * g++.old-deja/g++.bugs/900211_04.C: Likewise. + * g++.old-deja/g++.bugs/900321_02.C: Likewise. + * g++.old-deja/g++.bugs/900404_02.C: Likewise. + * g++.old-deja/g++.bugs/900520_06.C: Likewise. + * g++.old-deja/g++.law/global-init1.C: Likewise. + * g++.old-deja/g++.other/delete4.C: Likewise. + * g++.old-deja/g++.other/inline21.C: Likewise. + * g++.old-deja/g++.other/singleton.C: Likewise. + * g77.dg/strlen0.f: Likewise. + * g77.f-torture/compile/20010519-1.f: Likewise. + * g77.f-torture/compile/980310-4.f: Likewise. + * gcc.c-torture/compile/20000605-1.c: Likewise. + * gcc.c-torture/execute/20020225-1.c: Likewise. + * gcc.dg/c90-hexfloat-2.c: Likewise. + * gcc.dg/c99-bool-1.c: Likewise. + * gcc.dg/c99-hexfloat-2.c: Likewise. + * gcc.dg/dll-2.c: Likewise. + * gcc.dg/wtr-union-init-1.c: Likewise. + * gcc.dg/wtr-union-init-2.c: Likewise. + * gcc.dg/wtr-union-init-3.c: Likewise. + * gcc.dg/cpp/avoidpaste1.c: Likewise. + * gcc.dg/cpp/defined.c: Likewise. + * gcc.dg/cpp/macsyntx.c: Likewise. + * gcc.dg/cpp/paste2.c: Likewise. + * gcc.dg/cpp/trad/defined.c: Likewise. + * gcc.dg/format/c90-printf-1.c: Likewise. + * gcc.dg/format/c90-scanf-1.c: Likewise. + * gcc.dg/format/c99-printf-1.c: Likewise. + * gcc.dg/format/c99-scanf-1.c: Likewise. + * gcc.misc-tests/gcov-8.c: Likewise. + * lib/profopt.exp: Likewise. + + 2002-09-15 Krister Walfridsson + + * lib/old-dejagnu.exp (old-dejagnu) Improve test for ICE. + + 2002-09-15 Nathan Sidwell + + * g++.dg/inherit/using2.C: New test. + + 2002-09-15 Kazu Hirata + + * ChangeLog: Follow spelling conventions. + * g++.dg/template/friend4.C: Likewise. + * g++.old-deja/g++.pt/crash67.C: Likewise. + * gcc.c-torture/execute/20000801-4.c: Likewise. + * gcc.dg/c90-digraph-1.c: Likewise. + * gcc.dg/c94-digraph-1.c: Likewise. + * gcc.dg/c99-digraph-1.c: Likewise. + * gcc.dg/cpp/line5.c: Likewise. + * gcc.dg/cpp/multiline.c: Likewise. + * gcc.dg/cpp/trad/literals-1.c: Likewise. + * gcc.dg/format/attr-3.c: Likewise. + * gcc.dg/format/c90-scanf-3.c: Likewise. + * gcc.dg/format/ext-4.c: Likewise. + + 2002-09-15 Nathan Sidwell + + * g++.dg/template/pretty1.C: New test. + + 2002-09-14 Alan Modra + + * gcc.c-torture/execute/struct-cpy-1.c: New test. + + 2002-09-13 Matt Austern + + * testsuite/g++.dg/other/constref[12].C: New, regression tests for + passing a cast expression to a function by const reference. + + 2002-09-13 Nathan Sidwell + + * g++.dg/template/deduce1.C: New test. + + 2002-09-13 Kazu Hirata + + * gcc.c-torture/execute/simd-1.c: Force all use of int to + 32-bit int. + + 2002-09-10 John David Anglin + + * gcc.dg/struct-ret-1.c: Add prototype for exit function and correct + usage. + + 2002-09-10 Richard Earnshaw + + * gcc.c-torture/compile/20020910-1.c: New test. + + 2002-09-10 Frank Ch. Eigler + + * gcc.c-torture/execute/20010915-1.c: Correct typo in abort call. + + 2002-09-10 Andreas Jaeger + + * gcc.dg/20020312-2.c: Adjust for x86-64. + + 2002-09-08 Toon Moene + + * g77.dg/7388.f: New test case for PR 7388. + + 2002-09-07 Ansgar Esztermann + + * gcc.dg/compare2.c: Remove xfail from cases 10 and 12. + + 2002-09-05 Ziemowit Laski + + * objc.dg/proto-lossage-1.m: New test. + + 2002-09-06 Neil Booth + + * gcc.dg/cpp/_Pragma4.c: Fix typo. + + 2002-09-06 Nicola Pero + + * objc/execute/formal_protocol-6.x: Removed. This testcase is now + expected to pass. + + 2002-09-06 Stan Shebs + David Edelsohn + + * gcc.dg/weak: New directory. + * gcc.dg/weak-[1-9].c: Move to new directory, remove all + target-specific xfail bits. + * gcc.dg/typeof-2.c: Move to new directory. + * gcc.dg/weak.exp: New expect script. + 2002-09-06 Alan Modra * gcc.c-torture/execute/extzvsi.c: New test. + 2002-09-05 Stan Shebs + + * gcc.dg/weak-1.c: xfail on Darwin. + * gcc.dg/weak-2.c: Ditto. + * gcc.dg/weak-3.c: Ditto. + * gcc.dg/weak-4.c: Ditto. + * gcc.dg/weak-5.c: Ditto. + * gcc.dg/weak-6.c: Ditto. + * gcc.dg/weak-7.c: Ditto. + * gcc.dg/weak-8.c: Ditto. + * gcc.dg/weak-9.c: Ditto. + + 2002-09-05 J"orn Rennecke + + * gcc.c-torture/execute/loop-14.c: New test. + 2002-09-04 Jakub Jelinek * g++.dg/other/cxa-atexit1.C: New test. * gcc.dg/typeof-2.c: New test. ! 2002-09-03 Neil Booth ! * gcc.dg/cpp/_Pragma4.c: New test. ! ! 2002-09-03 Nicola Pero ! ! * objc/execute/nil_method-1.m: New testcase. ! ! 2002-09-01 Nicola Pero ! ! * objc/execute/class-tests-1.h (test_class_with_superclass): Call ! [Object class], not [Object initialize]. ! ! 2002-08-31 Roger Sayle ! Hans-Peter Nilsson ! ! * gcc.c-torture/execute/20020720-1.x: Skip test on ! mmix-knuth-mmixware. Correct comment. 2002-08-27 Mark Mitchell * testsuite/g++.dg/abi/bitfield5.C: New test. * testsuite/g++.dg/abi/vbase10.C: Likewise. ! 2002-08-27 Nicola Pero ! * objc.dg/undeclared-selector.m: New test. ! 2002-08-27 Nathan Sidwell ! * g++.dg/other/offsetof1.C: Avoid cast warning. ! ! 2002-08-26 Ziemowit Laski ! ! * objc.dg/super-class-2.m: New test. ! ! 2002-08-24 Matt Austern ! ! * g++.dg/ext/lvaddr.C: New test. ! * g++.dg/ext/lvcast.C: New test. ! ! 2002-08-22 Mark Mitchell ! ! * testsuite/g++.dg/inherit/cond1.C: New test. ! ! 2002-08-22 Geoffrey Keating ! ! * gcc.dg/noncompile/incomplete-1.c: New test. ! ! 2002-08-21 Joseph S. Myers ! ! * gcc.dg/typespec-1.c: New test. ! ! 2002-08-20 Devang Patel ! * objc.dg/proto-hier-2.m: New test. ! ! 2002-08-19 Ziemowit Laski ! ! * objc.dg/bitfield-1.m: New test. ! * objc.dg/bitfield-2.m: New test. ! ! 2002-08-17 Joseph S. Myers ! ! * gcc.dg/c90-flex-array-1.c, gcc.dg/c99-flex-array-3.c, ! gcc.dg/c99-flex-array-4.c: New tests. ! ! 2002-08-16 Stan Shebs ! ! * objc/execute/selector-1.m: Add __NEXT_RUNTIME__ case. ! ! 2002-08-15 Jakub Jelinek ! ! * gcc.dg/typeof-1.c: New test. ! * g++.dg/ext/typeof2.C: New test. ! ! 2002-08-15 Nathan Sidwell ! ! * g++.dg/other/offsetof1.C: New test. ! ! 2002-08-14 Richard Henderson ! ! * gcc.dg/tls/diag-3.c: Fix expected message strings. ! ! 2002-08-14 Neil Booth ! ! * gcc.dg/cpp/_Pragma3.c: New test. ! ! 2002-08-13 Mark Mitchell ! ! * g++.dg/template/inherit3: New test. ! ! 2002-08-10 Nathan Sidwell ! ! * gcc.dg/bitfld-4.c: Add blank options. ! ! 2002-08-09 Mark Mitchell ! ! * g++.dg/template/crash1.C: New test. ! ! 2002-08-08 Jakub Jelinek ! ! * gcc.dg/tls/opt-2.c: New test. ! ! 2002-08-08 Devang Patel ! ! * objc.dg/selector-1.m : New test ! ! 2002-08-08 Nathan Sidwell ! ! * g++.dg/abi/bitfield4.C: New test. ! * gcc.dg/bitfld-4.c: New test. ! ! 2002-08-08 Nathan Sidwell ! ! * g++.dg/other/packed1.C: New test. ! ! 2002-08-07 Mark Mitchell ! ! * g++.dg/abi/offsetof.C: Tweak error messages. ! * g++.old-deja/g++.mike/p10769a.C: Likewise. 2002-08-08 Jakub Jelinek *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 599,654 **** Richard Henderson * gcc.dg/i386-bitfield1.c: New test. * g++.dg/abi/bitfield3.C: New test. 2002-08-01 Benjamin Kosnik * g++.old-deja/g++.abi/ptrflags.C (expect): Change __qualifier_flags to __flags. 2002-07-24 Roger Sayle * gcc.c-torture/execute/memset-3.c: New testcase. ! 2002-06-14 Jason Merrill ! * g++.dg/abi/layout1.C: New test. ! * g++.dg/abi/layout2.C: New test. ! * g++.dg/abi/mangle8.C: New test. ! 2002-05-14 Jason Merrill ! * g++.dg/abi/rtti1.C: New test. ! 2002-01-03 Jakub Jelinek * gcc.dg/gnu89-init-2.c: New test. ! 2002-07-25 Release Manager ! * GCC 3.1.1 Released. 2002-07-15 Jakub Jelinek * gcc.c-torture/compile/20020710-1.c: New test. 2002-07-11 Mark Mitchell PR c++/7224 * g++.dg/overload/error1.C: New test. 2002-07-03 Mark Mitchell PR c++/6706 * g++.dg/debug/debug6.C: New test. * g++.dg/debug/debug7.C: New test. 2002-07-03 Kriang Lerdsuwanakij PR c++/6944 * g++.dg/init/array4.C: New test. * g++.dg/init/array5.C: New test. 2002-07-02 Kriang Lerdsuwanakij PR c++/6716 --- 2033,2354 ---- Richard Henderson * gcc.dg/i386-bitfield1.c: New test. + * g++.dg/abi/bitfield3.C: Update. + + 2002-08-07 Neil Booth + + * objc.dg/const-str-2.m: Update. + * gcc.dg/cpp/c++98.c: Change to C extension. + * gcc.dg/cpp/c++98-pedantic.c: Similarly. + * gcc.dg/cpp/cpp.exp: Process .C extensions too. + + 2002-08-06 Aldy Hernandez + + * testsuite/gcc.dg/tls/diag-3.c: New. + + 2002-08-07 Gabriel Dos Reis + + * g++.dg/README (Subdirectories): Document new subdir expr. + * g++.dg/expr/pmf-1.C: New test. + + 2002-08-06 Neil Booth + + * gcc.dg/cpp/vararg3.c, gcc.dg/cpp/vararg4.c: New tests. + + 2002-08-06 Jakub Jelinek + * g++.dg/abi/bitfield3.C: New test. + 2002-08-05 Nathan Sidwell + + * lib/gcov.exp: Tweak expected line formats. + * gcc.misc-tests/gcov8.c: New test. + * gcc.misc-tests/gcov8.x: New flags. + + 2002-08-05 Jakub Jelinek + + * consistency.vlad/layout/endian.c: Include string.h. + + * gcc.c-torture/execute/20020805-1.c: New test. + + 2002-08-04 Gabriel Dos Reis + + * g++.dg/other/conversion1.C: New test. + + 2002-08-03 Roger Sayle + + * gcc.dg/builtins-1.c: New testcase. + + 2002-08-02 Mark Mitchell + + * g++.dg/inherit/access3.C: New test. + + 2002-08-01 Jakub Jelinek + + * gcc.dg/ia64-visibility-2.c: New test. + 2002-08-01 Benjamin Kosnik * g++.old-deja/g++.abi/ptrflags.C (expect): Change __qualifier_flags to __flags. + 2002-07-31 Mark Mitchell + + * g++.dg/inherit/operator1.C: New test. + * g++.dg/lookup/disamb1.C: Fix typo in comment. + * g++.dg/other/error1.C: Change expected error message. + * g++.dg/template/conv4.C: Likewise. + + 2002-07-26 Neil Booth + + * gcc.dg/cpp/trad/Wunused.c, gcc.dg/cpp/Wunused.c: Add test + for documented behavior. + + 2002-07-25 Roger Sayle + + * gcc.c-torture/execute/20020720-1.x: Skip this test on + several targets known to fail. + + 2002-07-25 Richard Sandiford + + * gcc.dg/mips-args-[123].c: New tests. + + 2002-07-24 Aldy Hernandez + + * gcc.dg/ppc-spe.c: New. + + 2002-07-24 Geoffrey Keating + + * g++.dg/other/ptrmem4.C: New testcase. + + 2002-07-24 Richard Henderson + + * gcc.c-torture/execute/loop-2e.c: Rewrite for 64 bit and no mmap. + + 2002-07-24 Gabriel Dos Reis + + * g++.dg/ext/alignof1.C (main): Return 0 for success. + 2002-07-24 Roger Sayle * gcc.c-torture/execute/memset-3.c: New testcase. ! 2002-07-24 Neil Booth ! * gcc.dg/cpp/trad/Wunused.c, gcc.dg/cpp/trad/Wunused.h, ! gcc.dg/cpp/Wunused.c, gcc.dg/cpp/Wunused.h: New tests. ! 2002-07-23 Kaveh R. Ghazi ! * gcc.c-torture/execute/va-arg-15.x, va-arg-16.x, va-arg-17.x: ! Delete. ! 2002-07-23 J"orn Rennecke ! ! * gcc.c-torture/compile/simd-4.c: New test. ! ! 2002-07-22 Kriang Lerdsuwanakij ! ! PR c++/7347, c++/7348 ! * g++.dg/template/access4.C: New test. ! * g++.dg/template/access5.C: New test. ! * g++.old-deja/g++.pt/memtemp85.C: Fix access problem. ! * g++.old-deja/g++.pt/memtemp86.C: Likewise. ! * g++.old-deja/g++.pt/ttp58.C: Likewise. ! * g++.old-deja/g++.pt/memtemp89.C: Remove XFAIL. ! ! 2002-07-22 Jakub Jelinek * gcc.dg/gnu89-init-2.c: New test. ! 2002-07-21 Gabriel Dos Reis ! * gcc.dg/c90-arraydecl-1.c: Change C89 too C90. ! ! 2002-07-20 Roger Sayle ! ! * gcc.c-torture/execute/20020720-1.c: New testcase. ! ! 2002-07-20 Neil Booth ! ! * gcc.dg/cpp/Wsignprom.c: New tests. ! ! 2002-07-20 Alan Modra ! ! * gcc.c-torture/execute/loop-13.c: New test. ! ! 2002-07-19 Neil Booth ! ! * gcc.dg/cpp/expr.c: New tests. ! ! 2002 07-18 David Edelsohn ! ! * g++.dg/opt/pr6713.C: Add template instantiation. ! ! 2002-07-18 Alan Modra ! ! * gcc.dg/nest.c: New test. ! ! 2002-07-17 Richard Henderson ! ! * g++.dg/opt/pr6713.C: New test. ! ! 2002-07-17 Eric Botcazou ! ! * gcc.c-torture/execute/loop-2e.x: Let the testcase ! XFAIL for all x86 processors. ! ! 2002-07-17 Ian Dall ! ! * gcc.c-torture/execute/20010122-1.x: Do not test with ! -fomit-frame-pointer. ! ! 2002-07-17 Kriang Lerdsuwanakij ! ! * g++.dg/template/instantiate2.C: New test. ! * g++.dg/template/spec4.C: New test. ! ! 2002-07-17 Kriang Lerdsuwanakij ! ! * g++.dg/template/access2.C: New test. ! * g++.dg/template/access3.C: New test. ! ! 2002-07-15 Zack Weinberg ! ! * c-torture/execute/991216-3.c, c-torture/execute/strct-varg-1.c, ! c-torture/execute/va-arg-7.c, c-torture/execute/va-arg-8.c, ! c-torture/execute/va-arg-15.c, c-torture/execute/va-arg-16.c, ! c-torture/execute/va-arg-17.c, c-torture/execute/va-arg-19.c: ! Convert to use . ! * c-torture/execute/va-arg-3.c, c-torture/execute/va-arg-3.x: ! Delete. ! * gcc.dg/va-arg-2.c: New. ! * lib/gcc.exp, lib/objc.exp: Remove code to set -DNO_VARARGS. 2002-07-15 Jakub Jelinek * gcc.c-torture/compile/20020710-1.c: New test. + 2002-07-11 J"orn Rennecke + Andrew Pinski + + gcc.c-torture/compile/simd-2.c: New testcase. + gcc.c-torture/compile/simd-3.c: Likewise. + 2002-07-11 Mark Mitchell PR c++/7224 * g++.dg/overload/error1.C: New test. + 2002-07-11 Rainer Orth + + * gcc.misc-tests/linkage.exp: Handle mips-sgi-irix6*o32 + configuration and IRIX 6 O32 ABI. + + 2002-07-11 Roger Sayle + + * gcc.c-torture/execute/builtin-noret-1.c: Test non-ANSI functions. + + 2002-07-10 Roger Sayle + + * gcc.c-torture/execute/20000217-1.c: Fix usage of "abort". + + 2002-07-10 Jeffrey A Law + + * gcc.c-torture/compile/981006-1.x: Do not use -fpic for mn102. + + * gcc.c-torture/compile/930326-1.x: Remove. No longer needed. + + 2002-07-09 Aldy Hernandez + + * gcc.dg/20020312-2.c: Check for __PPC__. + + 2002-07-09 Diego Novillo + + * gcc.c-torture/compile/20020709-1.c: New test. + + 2002-07-07 Roger Sayle + + * g++.dg/template/qualttp21.C: New test case. + + 2002-07-06 Alexandre Oliva + + * gcc.c-torture/compile/20020706-1.c: New test. + * gcc.c-torture/compile/20020706-2.c: New test. + + 2002-07-06 Brian R. Gaeke + Alexandre Oliva + + * g++.dg/warn/incomplete1.C: New test. + + 2002-07-05 Kaveh R. Ghazi + + PR c++/7099 + * g++.dg/warn/noreturn1.C: New test. + 2002-07-03 Mark Mitchell PR c++/6706 * g++.dg/debug/debug6.C: New test. * g++.dg/debug/debug7.C: New test. + 2002-07-04 J"orn Rennecke + + * gcc.c-torture/compile/simd-3.c: New test. + + 2002-07-03 Chris Demetriou + + * g++.dg/abi/mangle6.C: Run for mipsisa64*-*-* targets. + * gcc.dg/20020620-1.c: Likewise. + 2002-07-03 Kriang Lerdsuwanakij PR c++/6944 * g++.dg/init/array4.C: New test. * g++.dg/init/array5.C: New test. + 2002-07-03 J"orn Rennecke + + * gcc.c-torture/execute/simd-1.c (main): Also test &, |, ^, ~. + * gcc.c-torture/execute/simd-2.c (main): Likewise. + + 2002-07-02 Kaveh R. Ghazi + + * gcc.dg/cpp/tr-warn2.c: Use traditional C style function definitions. + * gcc.dg/wtr-aggr-init-1.c: Likewise. + * gcc.dg/wtr-conversion-1.c: Likewise. + * gcc.dg/wtr-escape-1.c: Likewise. + * gcc.dg/wtr-int-type-1.c: Likewise. + * gcc.dg/wtr-label-1.c: Likewise. + * gcc.dg/wtr-static-1.c: Likewise. + * gcc.dg/wtr-strcat-1.c: Likewise. + * gcc.dg/wtr-suffix-1.c: Likewise. + * gcc.dg/wtr-switch-1.c: Likewise. + * gcc.dg/wtr-unary-plus-1.c: Likewise. + * gcc.dg/wtr-union-init-1.c: Likewise. + * gcc.dg/wtr-union-init-2.c: Likewise. + * gcc.dg/wtr-union-init-3.c: Likewise. + + * gcc.dg/wtr-func-def-1.c: New test. + + 2002-07-02 Devang Patel + + * objc.dg/param-1.m: New test. + + 2002-07-03 Neil Booth + + * gcc.dg/cpp/trad/directive.c: Add test. + * gcc.dg/cpp/trad/macroargs.c: Add test. + * gcc.dg/cpp/trad/recurse-3.c: Add tests. + + 2002-07-02 Neil Booth + + * gcc.dg/cpp/cmdlne-M.c: New test. + + 2002-07-02 Ziemowit Laski + + * objc.dg/desig-init-1.m: New test. + 2002-07-02 Kriang Lerdsuwanakij PR c++/6716 *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 657,682 **** 2002-07-01 Mark Mitchell PR c++/7112 ! * g++.dg/template/sizeof1.C: New test. 2002-07-01 Hans-Peter Nilsson PR target/7177 * gcc.c-torture/compile/20020701-1.c: New test. ! 2002-06-27 Neil Booth ! * gcc.dg/Wunknownprag.c: New tests. 2002-06-27 Mark Mitchell PR c++/6695 * g++.dg/template/friend7.C: New file. 2002-06-23 Andreas Jaeger * gcc.c-torture/execute/complex-6.c: New. 2002-06-20 Kriang Lerdsuwanakij * g++.dg/template/ttp4.C: New test. --- 2357,2482 ---- 2002-07-01 Mark Mitchell PR c++/7112 ! * g++.dg/template/sizeof2.C: New test. ! ! 2002-07-01 Neil Booth ! ! * gcc.dg/cpp/trad/cmdlne-dD.c, gcc.dg/cpp/trad/cmdlne-dM.c, ! gcc.dg/cpp/trad/include.c: New tests. 2002-07-01 Hans-Peter Nilsson PR target/7177 * gcc.c-torture/compile/20020701-1.c: New test. ! 2002-07-01 Stan Shebs ! * lib/objc.exp (objc_target_compile): Add the -I path to ObjC ! header here... ! * lib/objc-torture.exp (objc-torture-compile): ...instead of here ! (objc-torture-execute): or here. ! ! 2002-07-01 J"orn Rennecke ! ! * gcc.c-torture/execute/arith-rand-ll.c: New test. ! ! 2002-07-01 Neil Booth ! ! * gcc.dg/cpp/trad/escaped-nl.c: New test. ! ! 2002-06-30 Devang Patel ! ! * objc.dg/fsyntax-only.m: New test. 2002-06-27 Mark Mitchell PR c++/6695 * g++.dg/template/friend7.C: New file. + 2002-06-27 Aldy Hernandez + + * gcc.c-torture/execute/string-opt-8.c (strncmp): Fix typo in + return type. + + 2002-06-27 J"orn Rennecke + + * gcc.c-torture/execute/simd-2.c (i, j): Add initializer elements to + avoid division by zero. + + 2002-06-27 Neil Booth + + * gcc.dg/Wunknownprag.c: New tests. + + 2002-06-25 J"orn Rennecke + + * gcc.c-torture/execute/simd-2.c: New test. + + 2002-06-25 Neil Booth + + * gcc.dg/cpp/mi7.c, gcc.dg/cpp/mi7a.h, gcc.dg/cpp/mi7b.h, + gcc.dg/cpp/trad/builtins.c, gcc.dg/cpp/trad/builtins.h, + gcc.dg/cpp/trad/cmdlne-C.c, gcc.dg/cpp/trad/cmdlne-C2.c, + gcc.dg/cpp/trad/maccom1.c, gcc.dg/cpp/trad/maccom2.c, + gcc.dg/cpp/trad/maccom3.c, gcc.dg/cpp/trad/maccom4.c, + gcc.dg/cpp/trad/maccom6.c, gcc.dg/cpp/trad/mi1.c, + gcc.dg/cpp/trad/mi1c.h, gcc.dg/cpp/trad/mi1nd.h, + gcc.dg/cpp/trad/mi1ndp.h, gcc.dg/cpp/trad/mi1x.h, + gcc.dg/cpp/trad/mi2.c, gcc.dg/cpp/trad/mi2a.h, + gcc.dg/cpp/trad/mi2b.h, gcc.dg/cpp/trad/mi2c.h + gcc.dg/cpp/trad/mi3.c, gcc.dg/cpp/trad/mi3.def, + gcc.dg/cpp/trad/mi3.h, gcc.dg/cpp/trad/mi4.c, + gcc.dg/cpp/trad/mi5.c, gcc.dg/cpp/trad/mi6.c, + gcc.dg/cpp/trad/mi6a.h, gcc.dg/cpp/trad/mi6b.h, + gcc.dg/cpp/trad/mi6c.h, gcc.dg/cpp/trad/mi6d.h, + gcc.dg/cpp/trad/mi6e.h, gcc.dg/cpp/trad/mi7.c, + gcc.dg/cpp/trad/mi7a.h, gcc.dg/cpp/trad/mi7b.h: New tests. + + 2002-06-24 Neil Booth + + * gcc.dg/cpp/trad/argcout.c, gcc.dg/cpp/trad/assembler.S, + gcc.dg/cpp/trad/argcout.c, gcc.dg/cpp/trad/funlike-4.c, + gcc.dg/cpp/trad/null-drctv.c, gcc.dg/cpp/trad/recurse-1.c, + gcc.dg/cpp/trad/recurse-2.c, gcc.dg/cpp/trad/recurse-3.c: + New tests. + * gcc.dg/cpp/trad/directive.c: Update. + 2002-06-23 Andreas Jaeger * gcc.c-torture/execute/complex-6.c: New. + 2002-06-22 Neil Booth + + * gcc.dg/cpp/trad/comment-2.c. gcc.dg/cpp/trad/funlike-2.c, + gcc.dg/cpp/trad/funlike.c, gcc.dg/cpp/trad/funlike-3.c, + gcc.dg/cpp/trad/literals-1.c, gcc.dg/cpp/trad/literals-2.c, + gcc.dg/cpp/trad/macroargs.c, gcc.dg/cpp/trad/quote.c: New tests. + + 2002-06-21 Neil Booth + + * gcc.dg/cpp/trad: New directory with traditional tests copied + from parent directory. + * gcc.dg/cpp/assert_trad1.c, gcc.dg/cpp/assert_trad2.c, + gcc.dg/cpp/assert_trad3.c, gcc.dg/cpp/defined_trad.c, + gcc.dg/cpp/hash2.c, gcc.dg/cpp/tr-define.c, gcc.dg/cpp/tr-direct.c, + gcc.dg/cpp/tr-sign.c, gcc.dg/cpp/tr-str.c, gcc.dg/cpp/uchar-2.c: + Move to trad/ and rename. + * gcc.dg/cpp/trad/__STDC__.c, gcc.dg/cpp/trad/comment.c, + gcc.dg/cpp/trad/escaped-eof.c, gcc.dg/cpp/trad/redef1.c, + gcc.dg/cpp/trad/redef2.c: New tests. + * gcc.dg/cpp/trad/trad.exp: New driver. + + 2002-06-20 Neil Booth + + * gcc.dg/cpp/assert_trad1.c, gcc.dg/cpp/assert_trad2.c, + gcc.dg/cpp/assert_trad3.c, gcc.dg/cpp/defined_trad.c, + gcc.dg/cpp/hash2.c, gcc.dg/cpp/tr-define.c, gcc.dg/cpp/tr-direct.c, + gcc.dg/cpp/tr-sign.c, gcc.dg/cpp/tr-str.c, gcc.dg/cpp/uchar-2.c: + Remove. + + 2002-06-20 Richard Sandiford + + * gcc.dg/20020620-1.c: New test. + 2002-06-20 Kriang Lerdsuwanakij * g++.dg/template/ttp4.C: New test. *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 685,726 **** * g++.dg/opt/vt1.C: Fix regexp. 2002-06-18 Hans-Peter Nilsson * gcc.c-torture/execute/20020615-1.c: Correct bug-description. 2002-06-15 Hans-Peter Nilsson * gcc.c-torture/execute/20020615-1.c: New test. ! 2002-06-13 Hans-Peter Nilsson ! * gcc.c-torture/execute/20020611-1.c: New test. 2002-06-12 Kriang Lerdsuwanakij * g++.dg/template/typename2.C: Update error message. 2002-06-10 Jakub Jelinek * gcc.c-torture/compile/20020605-1.c: New test. * g++.dg/opt/vt1.C: New test. * gcc.dg/20020530-1.c: New test. * gcc.dg/20020527-1.c: New test. * g++.dg/opt/cse1.C: New test. 2002-05-29 Hans-Peter Nilsson * gcc.c-torture/execute/20020529-1.c: New test. 2002-05-26 Jakub Jelinek * g++.dg/opt/cse2.C: New test. 2002-05-24 Jakub Jelinek * gcc.dg/verbose-asm.c: New test. --- 2485,2663 ---- * g++.dg/opt/vt1.C: Fix regexp. + 2002-06-18 Kaveh R. Ghazi + + * gcc.c-torture/execute/pure-1.c: Make functions static again. + Don't use attribute `noinline'. + + 2002-06-18 Hans-Peter Nilsson + + * gcc.c-torture/execute/20020615-1.c: Fix typo in comment. + + 2002-06-18 Aldy Hernandez + + * gcc.c-torture/execute/simd-1.c: New. + + * gcc.dg/simd-1.c: New. + 2002-06-18 Hans-Peter Nilsson * gcc.c-torture/execute/20020615-1.c: Correct bug-description. + 2002-06-16 Richard Henderson + + * g++.dg/ext/anon-struct1.C: New. + * g++.dg/ext/anon-struct2.C: New. + * g++.dg/ext/anon-struct3.C: New. + * gcc.dg/anon-struct-1.c: New. + * gcc.dg/anon-struct-2.c: New. + * gcc.dg/anon-struct-3.c: New. + * gcc.dg/20011008-1.c: Adjust warning text. + * gcc.dg/20020527-1.c: Add -fms-extensions. + + 2002-06-16 Richard Henderson + + * gcc.dg/20020531-1.c: Add LL specifier to avoid warning. + 2002-06-15 Hans-Peter Nilsson * gcc.c-torture/execute/20020615-1.c: New test. ! 2002-06-15 Roger Sayle ! * gcc.c-tortuture/execute/compare-1.c: New test case. ! * gcc.c-tortuture/execute/compare-2.c: New test case. ! * gcc.c-tortuture/execute/compare-3.c: New test case. ! ! 2002-06-13 Richard Henderson ! ! * g++.old-deja/g++.abi/vtable2.C (INC_VDATA): New. Define for ! ia64 ilp32. 2002-06-12 Kriang Lerdsuwanakij * g++.dg/template/typename2.C: Update error message. + 2002-06-12 Hans-Peter Nilsson + + * gcc.c-torture/execute/20020611-1.c: New test. + + 2002-06-11 Bob Wilson + + * g++.old-deja/g++.pt/static11.C: Add xtensa-*-elf* to the + list of targets to skip. + + 2002-06-10 Bob Wilson + + * gcc.c-torture/compile/20001226-1.x: Only xfail for Xtensa + targets if not optimizing. + 2002-06-10 Jakub Jelinek * gcc.c-torture/compile/20020605-1.c: New test. * g++.dg/opt/vt1.C: New test. + * gcc.dg/20020531-1.c: New test. + * gcc.dg/20020530-1.c: New test. * gcc.dg/20020527-1.c: New test. * g++.dg/opt/cse1.C: New test. + 2002-06-07 Roger Sayle + + * gcc.dg/20020607-2.c: New test case. + + 2002-06-07 Jakub Jelinek + + * gcc.c-torture/compile/20020604-1.c: New test. + + 2002-06-04 Richard Henderson + + * gcc.dg/alpha-base-1.c: Add ext/ins/msk/umulh cases. + * gcc.dg/alpha-max-1.c, gcc.dg/alpha-max-2.c: Use -mcpu=ev67. + * gcc.dg/alpha-cix-1.c, gcc.dg/alpha-cix-2.c: New. + + 2002-06-04 Aldy Hernandez + + * gcc.dg/altivec-2.c: Remove test for invalid vector type V2DF. + + 2002-06-03 Richard Henderson + + * gcc.dg/alpha-base-1.c, gcc.dg/alpha-base-2.c: New. + * gcc.dg/alpha-max-1.c, gcc.dg/alpha-max-2.c: New. + + 2002-06-02 Richard Henderson + + * gcc.c-torture/execute/pure-1.c: Don't mark any of the + test functions static. + + 2002-06-02 Andreas Jaeger + + * gcc.c-torture/execute/loop-3c.x: Remove, the test should pass + now. + + 2002-06-02 Neil Booth + + * gcc.dg/wtr-int-type-1.c, gcc.dg/wtr-suffix-1.c, + gcc.dg/cpp/paste4.c, gcc.dg/cpp/sysmac2.c: + Update for mofified diagnostics. + * gcc.dg/c99-intconst-1.c: No longer fail. + + 2002-06-02 Richard Henderson + + * gcc.dg/uninit-A.c: Remove xfail markers. + + 2002-06-01 Roger Sayle + + * gcc.dg/fnegate-1.c: New test case. + + 2002-05-30 Osku Salerma + + * gcc.c-torture/execute/mayalias-1.c: New file. + + 2002-05-29 Neil Booth + + * gcc.dg/cpp/c++98-pedantic.c, gcc.dg/cpp/c89-pedantic.c, + gcc.dg/cpp/c94-pedantic.c, gcc.dg/cpp/gnuc89-pedantic.c, + gcc.dg/cpp/if-1.c: Update for modified diagnostics. + 2002-05-29 Hans-Peter Nilsson * gcc.c-torture/execute/20020529-1.c: New test. + 2002-05-27 Richard Henderson + + * g++.dg/ext/attrib6.C: New test case. + + 2002-05-27 Kaveh R. Ghazi + + * gcc.c-torture/execute/pure-1.c: New test. + + 2002-05-27 Neil Booth + + * gcc.dg/cpp/arith-2.c: Remove. + + 2002-05-27 Neil Booth + + * gcc.dg/cpp/arith-2.c, gcc.dg/cpp/arith-3.c: New tests. + * gcc.dg/cpp/if-3.c: Remove. + 2002-05-26 Jakub Jelinek * g++.dg/opt/cse2.C: New test. + 2002-05-26 Neil Booth + + * gcc.dg/cpp/arith-1.c: New semantic tests. + * gcc.dg/cpp/if-1.c: Update. + + 2002-05-24 Ben Elliston + + * lib/c-torture.exp (c-torture-execute): Handle multiple sources. + 2002-05-24 Jakub Jelinek * gcc.dg/verbose-asm.c: New test. *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 729,745 **** * gcc.dg/cpp/paste12.c: New test. ! 2002-05-24 Neil Booth * g++.dg/parse/named_ops.C: New test. 2002-05-23 Jakub Jelinek * gcc.dg/20020517-1.c: New test. ! * gcc.dg/20020523-1.c: New test. ! 2002-05-22 Andreas Jaeger * gcc.c-torture/execute/loop-2c.x: Remove, the test should pass now. --- 2666,2743 ---- * gcc.dg/cpp/paste12.c: New test. ! 2002-05-23 Neil Booth * g++.dg/parse/named_ops.C: New test. + 2002-05-23 Mark Mitchell + + * gcc/testsuite/gcc.dg/weak-8.c: New test. + + 2002-05-23 J"orn Rennecke + + * gcc.dg/weak-2.c: Allow optional leading underscore + in scan-assembler symbol name. + * gcc.dg/weak-3.c: Likewise. + * gcc.dg/weak-4.c: Likewise. + * gcc.dg/weak-5.c: Likewise. + 2002-05-23 Jakub Jelinek + * gcc.dg/20020523-1.c: New test. + + 2002-05-23 Neil Booth + + * objc.dg/const-str-2.m: Update now that we stop after + a command line error. + + 2002-05-22 Richard Henderson + + * g++.dg/dg.exp: Fix typo in test pruneing. + + 2002-05-22 Richard Henderson + + * g++.dg/dg.exp: Prune the tls subdirectory. + * g++.dg/tls/tls.exp, g++.dg/tls/trivial.C: New. + * g++.dg/tls/diag-1.C, g++.dg/tls/diag-2.C: New. + * g++.dg/tls/init-1.C: New. + + 2002-05-22 Jakub Jelinek + * gcc.dg/20020517-1.c: New test. ! 2002-05-21 Richard Henderson ! * gcc.dg/tls/tls.exp, gcc.dg/tls/trivial.c, gcc.dg/tls/diag-1.c, ! gcc.dg/tls/diag-2.c, gcc.dg/tls/init-1.c: New directory and files. ! ! 2002-05-21 Brian R. Gaeke ! ! * g++.dg/other/copy2.C: New test. ! ! 2002-05-20 J"orn Rennecke ! ! * gcc.c-torture/execute/memcpy-2.c (SEQUENCE_LENGTH): Define. ! (MAX_COPY): Bump up to 10 times sizeof (long long). ! (main): Use a pattern of SEQUENCE_LENGTH different characters to copy. ! ! * gcc.c-torture/execute/memset-1.c (MAX_COPY): Bump up to 10 times ! sizeof (long long). ! ! * gcc.c-torture/execute/strcpy-1.c: New test. ! ! 2002-05-19 Jason Merrill ! ! * g++.dg/ext/oper1.C: New test. ! ! 2002-05-20 David Billinghurst ! 2002-05-19 Mark Mitchell ! ! * README.QMTEST: New file. ! ! * g++.dg/warn/Wshadow-1.C: Remove unncessary dg-error line. ! ! 2002-05-19 Andreas Jaeger * gcc.c-torture/execute/loop-2c.x: Remove, the test should pass now. *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 759,775 **** * gcc.dg/weak-5.c: Likewise * gcc.dg/weak-7.c: Likewise ! 2002-05-15 Jason Merrill , Alexandre Oliva * g++.dg/init/pm1.C: New test. ! 2002-05-14 Release Manager ! * GCC 3.1 Released. ! 2002-05-14 Release Manager ! * GCC 3.1 Released. 2002-05-09 Jakub Jelinek --- 2757,2794 ---- * gcc.dg/weak-5.c: Likewise * gcc.dg/weak-7.c: Likewise ! 2002-05-16 Jason Merrill ! ! * lib/scanasm.exp (scan-assembler): Use upvar, not uplevel. ! (scan-assembler-not, scan-assembler-dem): Likewise. ! (scan-assembler-dem-not): Likewise. ! ! 2002-05-15 Richard Henderson ! ! * gcc.dg/weak-5.c (vfoo1c, vfoo1g): Warn here. ! ! 2002-05-15 Richard Henderson ! ! * gcc.dg/weak-5.c (vfoo1c): No warning here. ! (vfoo1f): Warning here. ! (vfoo1l): Don't redefine the alias. ! ! 2002-05-14 Jason Merrill , Alexandre Oliva * g++.dg/init/pm1.C: New test. ! 2002-05-12 David S. Miller ! * gcc.c-torture/execute/conversion.c (ldnear): Use long double ! types. ! 2002-05-10 Roger Sayle ! * gcc.c-torture/execute/20020510-1.c: New test case. ! ! 2002-05-10 David S. Miller ! ! * gcc.c-torture/execute/conversion.c: Test long double too. 2002-05-09 Jakub Jelinek *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 778,792 **** * lib/g++.exp (g++_link_flags): Likewise. * lib/objc.exp (objc_target_compile): Likewise. 2002-05-08 Mark Mitchell PR c/6569 * gcc.dg/weak-3.c: Update location of warning messages. * gcc.dg/weak-5.c: Likewise. ! 2002-05-03 Jakub Jelinek ! * gcc.dg/20020503-1.c: New test. * gcc.dg/cpp/cmdlne-dM-M.c: New test. * gcc.dg/cpp/cmdlne-dD-M.c: New test. --- 2797,2850 ---- * lib/g++.exp (g++_link_flags): Likewise. * lib/objc.exp (objc_target_compile): Likewise. + 2002-05-09 Neil Booth + + * gcc.dg/cpp/poison.c: Update. + * gcc.dg/cpp/20000625-2.c: Remove. + * gcc.dg/cpp/direct2s.c: Remove final test. + + 2002-05-08 Tom Rix + + * gcc.c-torture/execute/20020508-1.c: New test. + * gcc.c-torture/execute/20020508-2.c: New test. + * gcc.c-torture/execute/20020508-3.c: New test. + + 2002-05-08 Neil Booth + + * gcc.dg/cpp/charconst-4.c: More tests. + 2002-05-08 Mark Mitchell PR c/6569 * gcc.dg/weak-3.c: Update location of warning messages. * gcc.dg/weak-5.c: Likewise. ! 2002-05-06 Roger Sayle ! * gcc.c-torture/execute/20020506-1.c: New test case. ! ! 2002-05-07 Neil Booth ! ! * gcc.dg/cpp/charconst-3.c: Correct tests accordingly. ! ! 2002-05-06 Neil Booth ! ! * gcc.dg/cpp/charconst-3.c: Run, don't compile. ! ! 2002-05-06 Neil Booth ! ! * gcc.dg/cpp/charconst-3.c: New test. ! ! 2002-05-05 Neil Booth ! ! * gcc.dg/cpp/charconst.c: Update tests. ! ! 2002-05-05 Tim Josling ! ! * treelang: Added directory for new sample language treelang. Also ! lib/treelang.exp: New file to signal treelang should be tested. ! ! 2002-05-03 Jakub Jelinek * gcc.dg/cpp/cmdlne-dM-M.c: New test. * gcc.dg/cpp/cmdlne-dD-M.c: New test. *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 796,801 **** --- 2854,2867 ---- * gcc.dg/cpp/cmdlne-dD-dM.c: New test. * gcc.dg/cpp/cmdlne-dM-dD.c: New test. + 2002-05-03 Joseph S. Myers + + * gcc.dg/format/xopen-2.c: New test. + + 2002-05-03 Jakub Jelinek + + * gcc.dg/20020503-1.c: New test. + 2002-05-02 Mark Mitchell * g++.dg/init/dtor1.C: Make it tougher. *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 804,809 **** --- 2870,2883 ---- * g++.dg/init/dtor1.C: New test. + 2002-05-02 Aldy Hernandez + + * gcc.dg/altivec-8.c: New. + + 2002-05-01 Aldy Hernandez + + * gcc.dg/altivec-7.c: New. + 2002-04-29 Jakub Jelinek * g++.dg/parse/typedef1.C: New test. *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 820,834 **** --- 2894,2922 ---- * g++.dg/warn/effc1.C: New test. + 2002-04-29 Neil Booth + + * gcc.dg/cpp/if-cexp.c: Add a test. + 2002-04-28 Jakub Jelinek * gcc.dg/20020426-2.c: New test. + 2002-04-28 Neil Booth + + * gcc.dg/cpp/if-mop.c: Update. + * gcc.dg/cpp/if-mpar.c: Add test. + * gcc.dg/cpp/if-oppr.c: Update. + 2002-04-28 Franz Sirl PR c/6343 * gcc.dg/weak-[2-7].c: New tests. + 2002-04-26 Alexandre Oliva + + * gcc.dg/enum1.c: New test. + 2002-04-26 Mark Mitchell PR c++/6497 *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 841,850 **** 2002-04-26 Alexandre Oliva - * gcc.dg/enum1.c: New test. - * g++.dg/abi/enum1.C: New test. 2002-04-25 Kaveh R. Ghazi * gcc.c-torture/execute/20020227-1.x: New file, xfail on 64-bit --- 2929,2944 ---- 2002-04-26 Alexandre Oliva * g++.dg/abi/enum1.C: New test. + 2002-04-26 Richard Henderson + + * gcc.dg/c99-bool-1.c: Expect always true warning. + + 2002-04-25 Roger Sayle + + * gcc.dg/i386-memset-1.c: New test case for PR target/6456. + 2002-04-25 Kaveh R. Ghazi * gcc.c-torture/execute/20020227-1.x: New file, xfail on 64-bit *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 852,862 **** 2002-04-24 Mark Mitchell ! * g++.dg/abi/mangle7.C: New test. ! 2002-04-24 Neil Booth ! * gcc.dg/cpp/ucs.c: Update as for 3.2. 2002-04-24 Kaveh R. Ghazi --- 2946,2959 ---- 2002-04-24 Mark Mitchell ! * g++.dg/abi/mange7.C: New test. ! PR c++/6438. ! * g++.dg/parse/stmtexpr2.C: New test. ! 2002-04-24 J"orn Rennecke ! ! * gcc.dg/20020312-2.c: Add SH target. 2002-04-24 Kaveh R. Ghazi *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 867,872 **** --- 2964,2974 ---- * g++.dg/parse/attr1.C: New test. + 2002-04-23 Roger Sayle + + * gcc.c-torture/execute/string-opt-17.c: New test case. + * gcc.c-torture/execute/memset-2.c: New test case. + 2002-04-23 Mark Mitchell PR c++/6256: *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 884,893 **** * gcc.dg/20020415-1.c: Expect warning for unsupported -fpic on cris-*-elf* and mmix-*-*. ! * g77.dg/f77-edit-i-in.f: xfail for cris-*-elf. ! * g77.f-torture/execute/io0.x, g77.f-torture/execute/io1.x, ! g77.f-torture/execute/20001201.x, ! g77.f-torture/execute/u77-test.x: Ditto. * gcc.dg/wint_t-1.c: Mark excess errors for cris-*-elf. * gcc.dg/wchar_t-1.c: Ditto. --- 2986,2995 ---- * gcc.dg/20020415-1.c: Expect warning for unsupported -fpic on cris-*-elf* and mmix-*-*. ! * g77.f-torture/execute/io0.x: xfail for cris-*-elf. ! * g77.f-torture/execute/io1.x, g77.f-torture/execute/20001201.x, ! g77.f-torture/execute/6367.x, g77.f-torture/execute/u77-test.x: ! Ditto. * gcc.dg/wint_t-1.c: Mark excess errors for cris-*-elf. * gcc.dg/wchar_t-1.c: Ditto. *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 896,914 **** * g++.dg/opt/cleanup1.C (C::C()): Initialize member c. Clarify comment. 2002-04-21 Franz Sirl * gcc.c-torture/execute/20000906-1.x: Delete. ! 2002-04-21 Neil Booth ! * gcc.dg/cpp/endif.h, gcc.dg/cpp/endif.c: New tests. 2002-04-19 Mark Mitchell * PR6352 * g++.dg/opt/inline2.C: New test. 2002-04-18 Jakub Jelinek * gcc.dg/20020418-1.c: New test. --- 2998,3031 ---- * g++.dg/opt/cleanup1.C (C::C()): Initialize member c. Clarify comment. + 2002-04-21 Neil Booth + + * gcc.dg/cpp/endif.h, gcc.dg/cpp/endif.c: New tests. + 2002-04-21 Franz Sirl * gcc.c-torture/execute/20000906-1.x: Delete. ! 2002-04-20 David.Billinghurst ! * g77.dg/f77-edit-i-in.f: Restore missing { dg-do run } ! ! 2002-04-19 Toon Moene ! ! * PR6367 ! * g77.f-torture/execute/6367.f: New test. ! * g77.f-torture/execute/6367.x: Disable for MMIX. 2002-04-19 Mark Mitchell * PR6352 * g++.dg/opt/inline2.C: New test. + 2002-04-18 Richard Henderson + + * gcc.dg/20000906-1.c: Enable for all targets. + * gcc.c-torture/compile/iftrap-2.c: New. + 2002-04-18 Jakub Jelinek * gcc.dg/20020418-1.c: New test. *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 924,929 **** --- 3041,3050 ---- * gcc.c-torture/compile/20020418-1.c: New test. + 2002-04-18 Roger Sayle + + * gcc.c-torture/compile/20020415-1.c: New. + 2002-04-18 David S. Miller * gcc.c-torture/execute/20020418-1.c: New test. *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 934,946 **** * g++.dg/opt/inline1.C: New test. - 2002-04-16 Kaveh R. Ghazi - - * gcc.c-torture/execute/20010122-1.x: New file. XFAIL this test - for mips*-sgi-irix6*. - 2002-04-16 Jakub Jelinek * gcc.dg/20020415-1.c: New test. 2002-04-15 Mark Mitchell --- 3055,3064 ---- * g++.dg/opt/inline1.C: New test. 2002-04-16 Jakub Jelinek + * gcc.dg/altivec-5.c: New test. + * gcc.dg/20020415-1.c: New test. 2002-04-15 Mark Mitchell *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 953,958 **** --- 3071,3081 ---- 2002-04-14 David Billinghurst + * g77.dg/f77-edit-i-in.f: Use internal buffer in place + of scratch file. + + 2002-04-13 David Billinghurst + PR c/6277 * gcc.dg/i386-387-1.c: Allow optional leading underscore in scan-assembler function name *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 963,981 **** g77.f-torture/execute/980628-5.x, g77.f-torture/execute/980628-6.x, g77.f-torture/execute/alpha2.x, g77.f-torture/execute/auto0.x, g77.f-torture/execute/auto1.x, ! g77.f-torture/compile/alpha1.x: New, xfail cross-endian tests; ! powerpc-*-* and mmix hosted on i[34567]86-*-*. ! * g77.dg/f77-edit-i-in.f: xfail for mmix-knuth-mmixware. ! * g77.f-torture/execute/io0.x, g77.f-torture/execute/io1.x, ! g77.f-torture/execute/20001201.x, ! g77.f-torture/execute/u77-test.x: New files. ! * gcc.dg/wint_t-1.c: Mark excess errors for mmix-knuth-mmixware. ! * gcc.dg/wchar_t-1.c: Ditto. 2002-04-13 David S. Miller * gcc.c-torture/execute/20020413-1.c: New test. 2002-04-12 Mark Mitchell PR c++ 5373. --- 3086,3103 ---- g77.f-torture/execute/980628-5.x, g77.f-torture/execute/980628-6.x, g77.f-torture/execute/alpha2.x, g77.f-torture/execute/auto0.x, g77.f-torture/execute/auto1.x, ! g77.f-torture/compile/alpha1.x: xfail powerpc-*-* hosted on ! i[34567]86-*-*. 2002-04-13 David S. Miller * gcc.c-torture/execute/20020413-1.c: New test. + 2002-04-13 Richard Sandiford + + * gcc.dg/asm-6.c, + * g++.dg/ext/asm1.C: New tests. + 2002-04-12 Mark Mitchell PR c++ 5373. *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 988,993 **** --- 3110,3120 ---- * gcc.c-torture/execute/20020406-1.c (DUPFFnew): Use calloc. + 2002-04-12 Geoffrey Keating + + * gcc.c-torture/execute/20020412-1.c: New file, renamed from + gcc.c-torture/execute/20020307-2.c. + 2002-04-12 Richard Sandiford * g++.dg/ext/attrib5.C, *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 999,1004 **** --- 3126,3135 ---- * gcc.c-torture/execute/20020411-1.c: New test. + 2002-04-10 Janis Johnson + + * g77.f-torture/execute/6177.f: New test. + 2002-04-10 Jakub Jelinek PR middle-end/6247 *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 1019,1024 **** --- 3150,3163 ---- * gcc.c-torture/execute/loop-12.c: New. + 2002-04-08 Hans-Peter Nilsson + + * g77.f-torture/execute/980628-4.x, + g77.f-torture/execute/980628-5.x, + g77.f-torture/execute/980628-6.x, g77.f-torture/execute/alpha2.x, + g77.f-torture/execute/auto0.x, g77.f-torture/execute/auto1.x, + g77.f-torture/compile/alpha1.x: New, xfail cross-endian tests. + 2002-04-07 Franz Sirl PR optimization/6086 *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 1029,1034 **** --- 3168,3175 ---- PR c++/5571 * g++.dg/opt/static2.C: New test. + 2002-04-06 Mark Mitchell + PR c/5120 * gcc.dg/20020406-1.c: New test. *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 1042,1083 **** * gcc.dg/20020312-2.c: Do not declare global register variable if __PIC__ or __pic__ is defined. 2002-04-03 Kaveh R. Ghazi * gcc.misc-tests/linkage.exp: Update last change to handle sparc*-, not just sparc-. 2002-04-03 Hans-Peter Nilsson ! * g77.dg/bprob/bprob.exp: Skip for mmix-*-* and cris-*-*. ! * gcc.misc-tests/bprob.exp: Ditto. 2002-04-02 David S. Miller * gcc.c-torture/execute/20020402-3.c: New test. 2002-04-02 Franz Sirl * gcc.c-torture/execute/20020402-1.c: New test. 2002-04-01 Richard Henderson ! * gcc.c-torture/compile/920625-1.x: Revert -O1 xfail. 2002-04-01 Kaveh R. Ghazi * gcc.misc-tests/linkage.exp: Special case 64-bit solaris2. ! 2002-04-01 Hans-Peter Nilsson * g++.dg/ext/instantiate1.C, g++.dg/ext/instantiate2.C, g++.dg/ext/instantiate3.C: Tweak match patterns. * g++.old-deja/g++.pt/static11.C: Skip on mmix-knuth-mmixware. ! ! * gcc.dg/weak-1.c: Fix typo in scan-assembler pattern. ! ! * g++.old-deja/g++.law/bit-fields2.C: Skip on mmix-knuth-mmixware. 2002-03-31 Richard Henderson --- 3183,3250 ---- * gcc.dg/20020312-2.c: Do not declare global register variable if __PIC__ or __pic__ is defined. + 2002-04-04 Richard Earnshaw + + * gcc.dg/arm-asm.c: Run this test on ARM chips, not SPARC. Use + __asm__ so that it works correctly even if -ansi -pedantic-errors. + 2002-04-03 Kaveh R. Ghazi * gcc.misc-tests/linkage.exp: Update last change to handle sparc*-, not just sparc-. + 2002-04-03 Richard Henderson + + * gcc.dg/cpp/ucs.c: Improved long UCS test. + 2002-04-03 Hans-Peter Nilsson ! * gcc.dg/wchar_t-1.c, gcc.dg/wchar_t-1.c: Fix typo last change. 2002-04-02 David S. Miller * gcc.c-torture/execute/20020402-3.c: New test. + 2002-04-03 Hans-Peter Nilsson + + * g77.dg/bprob/bprob.exp: Skip for mmix-*-* and cris-*-*. + * g++.dg/bprob/bprob.exp, gcc.misc-tests/bprob.exp: Ditto. + + * g77.dg/f77-edit-i-in.f: xfail for mmix-knuth-mmixware. + * g77.f-torture/execute/io0.x, g77.f-torture/execute/io1.x, + g77.f-torture/execute/20001201.x, + g77.f-torture/execute/u77-test.x: New files. + + * gcc.dg/wint_t-1.c: Mark excess errors for mmix-knuth-mmixware. + * gcc.dg/wchar_t-1.c: Ditto. + 2002-04-02 Franz Sirl * gcc.c-torture/execute/20020402-1.c: New test. 2002-04-01 Richard Henderson ! * gcc.c-torture/compile/920625-1.x: XFAIL -O1. ! ! * g++.dg/other/new1.C: Use __SIZE_TYPE__. 2002-04-01 Kaveh R. Ghazi * gcc.misc-tests/linkage.exp: Special case 64-bit solaris2. ! 2002-04-01 Gabriel Dos Reis ! ! * g++.dg/inherit/template-as-base.C: Expect error. ! * g++.dg/inherit/namespace-as-base.C: Likewise. ! ! 2002-03-31 Hans-Peter Nilsson * g++.dg/ext/instantiate1.C, g++.dg/ext/instantiate2.C, g++.dg/ext/instantiate3.C: Tweak match patterns. * g++.old-deja/g++.pt/static11.C: Skip on mmix-knuth-mmixware. ! * g++.dg/other/static11.C: Copy g++.old-deja/g++.pt/static11.C for ! -da test. 2002-03-31 Richard Henderson *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 1092,1097 **** --- 3259,3277 ---- * gcc.dg/weak-1.c: Disable on h8300 port. + 2002-03-29 Janis Johnson + + * g++.dg/dg.exp: Ignore tests in new directories bprob and gcov. + * g++.dg/bprob/bprob.exp: New driver for profile-directed branch + ordering tests. + * g++.dg/bprob/bprob-1.C: New test. + * g++.dg/gcov/gcov.exp: New driver for gcov tests. + * g++.dg/gcov/gcov-1.C: New test. + * g++.dg/gcov/gcov-1.x: New file. + * g++.dg/gcov/gcov-2.C: New test. + * g++.dg/gcov/gcov-3.C: New test. + * g++.dg/gcov/gcov-3.h: New file. + 2002-03-28 Roger Sayle * g++.old-deja/g++.other/builtins5.C: New test. *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 1106,1129 **** * g++.dg/opt/longbranch1.C: New test. ! 2002-03-27 Richard Henderson ! * g++.dg/ext/instantiate1.C: Use scan-assembler, not link errors. ! * g++.dg/ext/instantiate2.C, g++.dg/ext/instantiate3.C: Likewise; ! move from g++.old-deja/g++.ext/. ! 2002-03-27 Mark Mitchell ! * g++.dg/init/new2.C: New test. 2002-03-27 Richard Henderson ! * g++.old-deja/g++.brendan/crash52.C: Remove return warning marker. ! * g++.old-deja/g++.jason/report.C: Likewise. 2002-03-27 Mark Mitchell ! * g++.dg/init/new1.C: Fix size_t. 2002-03-26 Richard Henderson --- 3286,3310 ---- * g++.dg/opt/longbranch1.C: New test. ! 2002-03-28 Hans-Peter Nilsson ! * gcc.dg/weak-1.c: Fix typo in scan-assembler pattern. ! * g++.old-deja/g++.law/bit-fields2.C: Skip on mmix-knuth-mmixware. ! 2002-03-28 Jeffrey A Law (law@redhat.com) ! ! * gcc.c-torture/execute/20020328-1.c: New test. 2002-03-27 Richard Henderson ! * g++.dg/ext/instantiate1.C: Use scan-assembler, not link errors. ! * g++.dg/ext/instantiate2.C, g++.dg/ext/instantiate3.C: Likewise; ! move from g++.old-deja/g++.ext/. 2002-03-27 Mark Mitchell ! * g++.dg/init/new2.C: New test. 2002-03-26 Richard Henderson *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 1136,1162 **** sparcv9 systems. * gcc.dg/20001102-1.c: Likewise. ! 2002-03-26 Nathan Sidwell ! * g++.dg/abi/vbase9.C: New test. 2002-03-26 Mark Mitchell * g++.dg/init/new1.C: New test. 2002-03-26 Richard Henderson * gcc.c-torture/execute/20020307-2.c (main): Pass a variable sized structure. - 2002-03-26 David Billinghurst - - * lib/g++.exp: Fix handling of LD_LIBRARY_PATH et al - * lib/g77.exp: Likewise - * lib/objc.exp: Likewise - * gcc.dg/weak-1.c: Early return from dg-final on platforms - that do not support weak symbols - 2002-03-25 Richard Henderson * gcc.dg/20001013-1.c: Add -mcpu=ultrasparc. Only run on --- 3317,3349 ---- sparcv9 systems. * gcc.dg/20001102-1.c: Likewise. ! 2002-03-26 Phil Edwards ! * gcc.dg/cpp/endif-pedantic1.c, ! gcc.dg/cpp/endif-pedantic2.c: New tests. 2002-03-26 Mark Mitchell * g++.dg/init/new1.C: New test. + 2002-03-26 Nathan Sidwell + + * g++.dg/abi/vbase9.C: New test. + + 2002-03-26 Richard Earnshaw + + * gcc.dg/arm-asm.c: New test. + + 2002-03-26 Andrew Cagney + + * gcc.dg/Wswitch-enum.c: New test. + Fix PR c/5044. + 2002-03-26 Richard Henderson * gcc.c-torture/execute/20020307-2.c (main): Pass a variable sized structure. 2002-03-25 Richard Henderson * gcc.dg/20001013-1.c: Add -mcpu=ultrasparc. Only run on *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 1165,1170 **** --- 3352,3361 ---- * gcc.c-torture/compile/20011119-1.c (xxx): New. * gcc.c-torture/compile/20011119-2.c (xxx): New. + 2002-03-25 Zack Weinberg + + * gcc.dg/c90-hexfloat-1.c: Adjust error regexps. + 2002-03-25 Bob Wilson * g++.old-deja/g++.jason/thunk3.C: Add xtensa-*-* to list of *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 1172,1216 **** 2002-03-25 Jakub Jelinek - * g++.dg/other/enum1.C: New test. - * gcc.c-torture/compile/20020323-1.c: New test. * g++.dg/opt/conj2.C: New test. 2002-03-24 Richard Henderson - * gcc.c-torture/compile/920625-1.x: XFAIL -O1 too. - * gcc.dg/weak-1.c: Use -fno-common. 2002-03-24 Richard Henderson * objc/execute/formal_protocol-6.x: New XFAIL. ! 2002-03-24 Hans-Peter Nilsson ! * gcc.dg/20020312-2.c [__MMIX__]: No pic register. ! * gcc.c-torture/compile/981006-1.x: Don't use -fpic on cris-*-elf* ! cris-*-aout* mmix-*-*. ! * g++.old-deja/g++.other/local-alloc1.C: Skip on cris-*-elf* ! cris-*-aout* mmix-*-*. ! * g++.dg/debug/debug3.C: Expect warning for unsupported -fpic on ! cris-*-elf* cris-*-aout* and mmix-*-*. ! * gcc.dg/20001009-1.c: Ditto. ! * gcc.dg/20010912-1.c: Ditto. ! * gcc.dg/20020122-4.c: Ditto. ! * gcc.dg/inline-2.c: Ditto. ! 2002-03-22 Alexandre Oliva ! * g++.old-deja/g++.abi/ptrmem.C: Mips puts vbit in delta too. 2002-03-22 Jakub Jelinek * g++.old-deja/g++.other/dwarf2-1.C: Move... * g++.dg/debug/debug5.C: ...here. Convert for dg framework. 2002-03-21 Rainer Orth * g++.old-deja/g++.eh/ia64-1.C: Use [ijkl]_[0-9] as variable names. --- 3363,3441 ---- 2002-03-25 Jakub Jelinek * gcc.c-torture/compile/20020323-1.c: New test. * g++.dg/opt/conj2.C: New test. 2002-03-24 Richard Henderson * gcc.dg/weak-1.c: Use -fno-common. + 2002-03-25 David Billinghurst + + * g77.dg/f77-edit-apostrophe-out.f: New test + * g77.dg/f77-edit-h-out.f: New test + * g77.dg/f77-edit-t-in.f: New test + * g77.dg/f77-edit-t-out.f: New test + * g77.dg/f77-edit-x-out.f: New test + * g77.dg/f77-edit-slash-out.f: New test + * g77.dg/f77-edit-colon-out.f: New test + * g77.dg/f77-edit-s-out.f: New test + 2002-03-24 Richard Henderson * objc/execute/formal_protocol-6.x: New XFAIL. ! 2002-03-25 David Billinghurst ! * gcc.dg/weak-1.c: Early return from dg-final on platforms ! that do not support weak symbols ! 2002-03-25 David Billinghurst ! * lib/g++.exp: Fix handling of LD_LIBRARY_PATH et al ! * lib/g77.exp: Likewise ! * lib/objc.exp: Likewise ! ! 2002-03-23 Andrew Cagney ! ! * gcc.dg/Wswitch-default.c: New test. ! ! 2002-03-23 Jakub Jelinek ! ! * g++.dg/other/enum1.C: New test. ! ! 2002-03-23 Zack Weinberg ! ! * gcc.dg/pragma-ep-3.c: Fix typo. ! ! 2002-03-22 Gabriel Dos Reis ! ! * g++.dg/inherit/template-as-base.C: New test. 2002-03-22 Jakub Jelinek * g++.old-deja/g++.other/dwarf2-1.C: Move... * g++.dg/debug/debug5.C: ...here. Convert for dg framework. + 2002-03-22 Neil Booth + + * gcc.dg/cpp/multiline.c: Update to match. + + 2002-03-22 Alexandre Oliva + + * g++.old-deja/g++.abi/ptrmem.C: Mips puts vbit in delta too. + + 2002-03-22 Phil Edwards + + * gcc.dg/cpp/extratokens2.c: New file. + + 2002-03-21 David Edelsohn + + * gcc.dg/20020312-2.c: Add rs6000 target. + + * gcc.c-torture/compile/20020319-1.c: New test. + 2002-03-21 Rainer Orth * g++.old-deja/g++.eh/ia64-1.C: Use [ijkl]_[0-9] as variable names. *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 1233,1251 **** * gcc.dg/struct-by-value-1.c: New test. ! * gcc.c-torture/compile/20020319-1.c: New test. ! ! 2002-03-18 Neil Booth ! ! * gcc.dg/cpp/wchar-1.c: Fix test. 2002-03-18 Jakub Jelinek * g++.dg/opt/conj1.C: New test. ! 2002-03-17 Richard Earnshaw ! * gcc.dg/weak-1.c: Fix scan tests. 2002-03-15 Mark Mitchell --- 3458,3501 ---- * gcc.dg/struct-by-value-1.c: New test. ! * gcc.dg/20020319-1.c: New test. 2002-03-18 Jakub Jelinek * g++.dg/opt/conj1.C: New test. ! 2002-03-17 Mark Mitchell ! * g++.dg/template/qualttp20.C: Revert previous change. ! * g++.dg/template/qualttp3.C: Likewise. ! * g++.dg/template/qualttp4.C: Likewise ! * g++.dg/template/qualttp5.C: Likewise ! * g++.dg/template/qualttp6.C: Likewise ! * g++.dg/template/qualttp7.C: Likewise ! * g++.dg/template/qualttp8.C: Likewise ! * g++.dg/template/recurse.C: Likewise. ! ! 2002-03-17 Neil Booth ! ! * gcc.dg/cpp/wchar-1.c: Update. ! ! 2002-03-16 Nathan Sidwell ! ! * g++.dg/template/conv1.C: New test. ! * g++.dg/template/conv2.C: New test. ! * g++.dg/template/conv3.C: New test. ! * g++.dg/template/conv4.C: New test. ! ! 2002-03-15 Mark Mitchell ! ! * g++.dg/template/qualttp20.C: Remove unnecessary error tags. ! * g++.dg/template/qualttp3.C: Likewise. ! * g++.dg/template/qualttp4.C: Likewise ! * g++.dg/template/qualttp5.C: Likewise ! * g++.dg/template/qualttp6.C: Likewise ! * g++.dg/template/qualttp7.C: Likewise ! * g++.dg/template/qualttp8.C: Likewise ! * g++.dg/template/recurse.C: Likewise. 2002-03-15 Mark Mitchell *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 1255,1260 **** --- 3505,3532 ---- * gcc.c-torture/compile/20020315-1.c: New test. + 2002-03-15 Richard Earnshaw + + * gcc.dg/weak-1.c: Fix scan tests. + + 2002-03-15 Hans-Peter Nilsson + + * gcc.dg/20020312-2.c [__MMIX__]: No pic register. + * gcc.c-torture/compile/981006-1.x: Don't use -fpic on cris-*-elf* + cris-*-aout* mmix-*-*. + * g++.old-deja/g++.other/local-alloc1.C: Skip on cris-*-elf* + cris-*-aout* mmix-*-*. + * g++.dg/debug/debug3.C: Expect warning for unsupported -fpic on + cris-*-elf* cris-*-aout* and mmix-*-*. + * gcc.dg/20001009-1.c: Ditto. + * gcc.dg/20010912-1.c: Ditto. + * gcc.dg/20020122-4.c: Ditto. + * gcc.dg/inline-2.c: Ditto. + + 2002-03-14 Jeffrey A Law (law@cygnus.com) + + * gcc.c-torture/compile/20020314-1.c: New test. + 2002-03-14 Richard Earnshaw * gcc.c-torture/execute/20020314-1.c: New test. *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 1285,1301 **** * gcc.dg/20020103-1.c: Add rs6000 target and macro. ! 2002-03-12 Aldy Hernandez ! * gcc.dg/20020103-1.c: Add other -D ppc variants. ! 2002-03-12 Kazu Hirata ! * gcc.c-torture/execute/20020307-1.c: Use long. ! 2002-03-12 Roger Sayle ! * gcc.dg/20020312-1.c: New test case. 2002-03-11 Nathan Sidwell --- 3557,3574 ---- * gcc.dg/20020103-1.c: Add rs6000 target and macro. ! 2002-03-12 Roger Sayle ! * gcc.dg/20020312-1.c: New test case. ! 2002-03-11 Aldy Hernandez ! * gcc.dg/altivec-1.c: Cleanup and use altivec.h. ! 2002-03-11 Richard Henderson ! * g++.old-deja/g++.brendan/crash52.C: Remove return warning marker. ! * g++.old-deja/g++.jason/report.C: Likewise. 2002-03-11 Nathan Sidwell *************** Thu Sep 5 00:34:33 2002 J"orn Rennecke *** 1306,1325 **** * testsuite/g++.dg/overload/pmf1.C: New test. 2002-03-11 Jakub Jelinek PR optimization/5844 * gcc.dg/20020310-1.c: New test. ! 2002-03-11 Hans-Peter Nilsson ! * gcc.c-torture/execute/20020227-1.c: New test. 2002-03-09 Jakub Jelinek * gcc.c-torture/execute/va-arg-22.c: New test. ! Sat Mar 9 07:30:53 2002 Richard Kenner * gcc.c-torture/compile/20020309-1.c: New test. --- 3579,3610 ---- * testsuite/g++.dg/overload/pmf1.C: New test. + 2002-03-11 Kazu Hirata + + * gcc.c-torture/execute/20020307-1.c: Use long. + 2002-03-11 Jakub Jelinek PR optimization/5844 * gcc.dg/20020310-1.c: New test. ! 2002-03-09 Michael Meissner ! * gcc.c-torture/execute/memcpy-2.c: New test. ! * gcc.c-torture/execute/memset-1.c: New test. ! * gcc.c-torture/execute/strlen-1.c: New test. ! * gcc.c-torture/execute/strcmp-1.c: New test. ! * gcc.c-torture/execute/strncmp-1.c: New test. ! ! 2002-03-09 Geoffrey Keating ! ! * gcc.dg/ppc-ldstruct.c: New test. 2002-03-09 Jakub Jelinek * gcc.c-torture/execute/va-arg-22.c: New test. ! 2002-03-09 Richard Kenner * gcc.c-torture/compile/20020309-1.c: New test. *************** Sat Mar 9 07:30:53 2002 Richard Kenner *** 1327,1333 **** * gcc.c-torture/execute/20020307-2.c: New test. ! 2002-03-08 Richard Earnshaw * gcc.c-torture/execute/20020307-1.c: New test. --- 3612,3626 ---- * gcc.c-torture/execute/20020307-2.c: New test. ! 2002-03-07 Jeffrey A Law (law@redhat.com) ! ! * g77.f-torture/compile/20020307-1.f: New test. ! ! 2002-03-07 Richard Sandiford ! ! * gcc.dg/unordered-1.c: New test. ! ! 2002-03-07 Richard Earnshaw * gcc.c-torture/execute/20020307-1.c: New test. *************** Sat Mar 9 07:30:53 2002 Richard Kenner *** 1342,1347 **** --- 3635,3644 ---- * gcc.c-torture/compile/20020304-1.c: New test case (from PR c/5830). + 2002-03-03 Aldy Hernandez + + * gcc.dg/20020103-1.c: Add other -D ppc variants. + 2002-03-02 Nathan Sidwell * g++.dg/other/classkey1.C: New test. *************** Sat Mar 9 07:30:53 2002 Richard Kenner *** 1355,1368 **** * g++.dg/opt/vtgc1.C: Adjust patterns for ia64. ! 2002-02-26 Alexandre Oliva ! * gcc.dg/debug/20020224-1.c: New. 2002-02-26 Jakub Jelinek * g++.dg/debug/debug4.C: New test. 2002-02-25 Kazu Hirata * gcc.c-torture/execute/960416-1.x: New. --- 3652,3710 ---- * g++.dg/opt/vtgc1.C: Adjust patterns for ia64. ! 2002-02-27 Hans-Peter Nilsson ! * gcc.c-torture/execute/20020227-1.c: New test. ! ! 2002-02-27 Mark Mitchell ! ! * g++.old-deja/g++.law/visibility13.C: Remove "instantiated from ! here" ERROR lines. ! * g++.old-deja/g++.oliva/partord1.C: Likewise. ! * g++.old-deja.g++.other/defarg1.C: Likewise. ! * g++.old-deja/g++.pt/calls2.C: Likewise. ! * g++.old-deja/g++.pt/crash20.C: Likewise. ! * g++.old-deja/g++.pt/crash30.C: Likewise. ! * g++.old-deja/g++.pt/crash36.C: Likewise. ! * g++.old-deja/g++.pt/crash6.C: Likewise. ! * g++.old-deja/g++.pt/defarg13.C: Likewise. ! * g++.old-deja/g++.pt/derived3.C: Likewise. ! * g++.old-deja/g++.pt/error1.C: Likewise. ! * g++.old-deja/g++.pt/friend21.C: Likewise. ! * g++.old-deja/g++.pt/friend23.C: Likewise. ! * g++.old-deja/g++.pt/infinite1.C: Likewise. ! * g++.old-deja/g++.robertl/eb128.C: Likewise. ! ! 2002-02-27 Geoffrey Keating ! ! * gcc.c-torture/execute/20020225-2.c: New test. ! ! 2002-02-27 Zack Weinberg ! ! * gcc.c-torture/execute/920730-1t.c, ! gcc.c-torture/execute/920730-1t.x, gcc.dg/ext-glob.c: ! Delete test cases, only relevant to -traditional. ! ! 2002-02-27 Neil Booth ! ! * gcc.dg/cpp/undef1.c: Remove. ! * gcc.dg/cpp/directiv.c: Update. ! * gcc.dg/cpp/mac-dir-1.c, mac-dir-2.c: New tests. ! ! 2002-02-27 Michael Meissner ! ! * gcc.c-torture/execute/20020226-1.c: New test. 2002-02-26 Jakub Jelinek * g++.dg/debug/debug4.C: New test. + * gcc.dg/ia64-visibility-1.c: New test. + + 2002-02-26 Alexandre Oliva + + * gcc.dg/debug/20020224-1.c: New. + 2002-02-25 Kazu Hirata * gcc.c-torture/execute/960416-1.x: New. *************** Sat Mar 9 07:30:53 2002 Richard Kenner *** 1531,1537 **** * lib/prune.exp: Remove "In (program|subroutine"block-data)" message from g77 * lib/g77-dg.exp: Trim g77 error messages so that they are ! recognised by dg.exp. 2002-02-07 David Billinghurst --- 3873,3879 ---- * lib/prune.exp: Remove "In (program|subroutine"block-data)" message from g77 * lib/g77-dg.exp: Trim g77 error messages so that they are ! recognized by dg.exp. 2002-02-07 David Billinghurst *************** Sat Mar 9 07:30:53 2002 Richard Kenner *** 1969,1975 **** * gcc.dg/i386-mmx-1.c, gcc.dg/i386-mmx-2.c: New. * gcc.dg/i386-sse-1.c, gcc.dg/i386-sse-2.c, gcc.dg/i386-sse-1.c: New. ! Fri Jan 11 12:13:30 2002 Nicola Pero * objc.dg/special/unclaimed-category-1.m: Include objc/objc-api.h. --- 4311,4317 ---- * gcc.dg/i386-mmx-1.c, gcc.dg/i386-mmx-2.c: New. * gcc.dg/i386-sse-1.c, gcc.dg/i386-sse-2.c, gcc.dg/i386-sse-1.c: New. ! 2002-01-11 Nicola Pero * objc.dg/special/unclaimed-category-1.m: Include objc/objc-api.h. *************** Fri Jan 11 12:13:30 2002 Nicola Pero < *** 1992,1998 **** * gcc.c-torture/execute/20020108-1.c: Rewrite to choose the proper type in which to perform the operation for each size. ! Wed Jan 9 16:48:33 2002 Alan Matsuoka (alanm@redhat.com) * gcc.c-torture/compile/20020109-2.c: New test. --- 4334,4340 ---- * gcc.c-torture/execute/20020108-1.c: Rewrite to choose the proper type in which to perform the operation for each size. ! 2002-01-09 Alan Matsuoka (alanm@redhat.com) * gcc.c-torture/compile/20020109-2.c: New test. *************** Wed Jan 9 16:48:33 2002 Alan Matsuoka *** 2018,2024 **** * gcc.dg/20010822-1.c: New test. * gcc.dg/20011107-1.c: New test. ! Wed Jan 9 14:03:20 2002 Jeffrey A Law (law@redhat.com) * gcc.dg/asm-fs-1.c: Disable warnings when compiling. --- 4360,4366 ---- * gcc.dg/20010822-1.c: New test. * gcc.dg/20011107-1.c: New test. ! 2002-01-09 Jeffrey A Law (law@redhat.com) * gcc.dg/asm-fs-1.c: Disable warnings when compiling. *************** Wed Jan 9 14:03:20 2002 Jeffrey A Law *** 2191,2197 **** 2001-12-28 Jakub Jelinek ! * gcc.dg/gnu89-init-1.c: Adjust for the new behaviour, add some additional tests. 2001-12-27 Roger Sayle --- 4533,4539 ---- 2001-12-28 Jakub Jelinek ! * gcc.dg/gnu89-init-1.c: Adjust for the new behavior, add some additional tests. 2001-12-27 Roger Sayle *************** Wed Jan 9 14:03:20 2002 Jeffrey A Law *** 2284,2294 **** * g++.dg/other/error1.C: New test. ! Mon Dec 17 14:31:42 2001 Jeffrey A Law (law@redhat.com) * gcc.c-torture/execute/20011217-1.c: New test. ! Mon Dec 17 16:54:56 2001 Nicola Pero * objc.dg/special/: New directory. * objc.dg/special/special.exp: New file. --- 4626,4636 ---- * g++.dg/other/error1.C: New test. ! 2001-12-17 Jeffrey A Law (law@redhat.com) * gcc.c-torture/execute/20011217-1.c: New test. ! 2001-12-17 Nicola Pero * objc.dg/special/: New directory. * objc.dg/special/special.exp: New file. *************** Mon Dec 17 16:54:56 2001 Nicola Pero < *** 2322,2328 **** std::__malloc_alloc_template<0> and std::__default_alloc_template. ! Thu Dec 13 10:35:33 2001 Nicola Pero * objc/execute/bf-21.m: New test. * objc/execute/enumeration-1.m: New test. --- 4664,4670 ---- std::__malloc_alloc_template<0> and std::__default_alloc_template. ! 2001-12-13 Nicola Pero * objc/execute/bf-21.m: New test. * objc/execute/enumeration-1.m: New test. *************** Thu Dec 13 10:35:33 2001 Nicola Pero < *** 2401,2407 **** * gcc.dg/sparc-ret.c: New file, test return corruption bug for ultrasparc. ! Fri Dec 7 06:29:03 2001 Richard Kenner * g++-old.deja/g++.robertl/eb101.C: Deleted. --- 4743,4749 ---- * gcc.dg/sparc-ret.c: New file, test return corruption bug for ultrasparc. ! 2001-12-07 Richard Kenner * g++-old.deja/g++.robertl/eb101.C: Deleted. *************** Fri Dec 7 06:29:03 2001 Richard Kenner *** 2488,2494 **** * g++.old-deja/g++.pt/memtemp100.C: Remove non-standard constructs. ! Wed Nov 28 15:05:54 2001 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/20011128-1.c: New test. --- 4830,4836 ---- * g++.old-deja/g++.pt/memtemp100.C: Remove non-standard constructs. ! 2001-11-28 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/20011128-1.c: New test. *************** Wed Nov 28 15:05:54 2001 Jeffrey A Law *** 2512,2518 **** * gcc.c-torture/execute/20011121-1.c: New test. ! Fri Nov 23 15:55:44 2001 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/ieee/20011123-1.c: New test. --- 4854,4860 ---- * gcc.c-torture/execute/20011121-1.c: New test. ! 2001-11-23 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/ieee/20011123-1.c: New test. *************** Fri Nov 23 15:55:44 2001 Jeffrey A Law *** 2709,2715 **** * gcc.c-torture/compile/20011029-1.c: New test. ! Mon Oct 29 21:19:53 2001 Nicola Pero * objc/execute/class_self-1.m: New test. * objc/execute/class_self-2.m: New test. --- 5051,5057 ---- * gcc.c-torture/compile/20011029-1.c: New test. ! 2001-10-29 Nicola Pero * objc/execute/class_self-1.m: New test. * objc/execute/class_self-2.m: New test. *************** Mon Oct 29 21:19:53 2001 Nicola Pero < *** 3284,3290 **** * g77.f-torture/execute/intrinsic-vax-cd.f: New test * g77.f-torture/execute/intrinsic-f2c-z.f: New test ! Mon Jul 23 10:14:17 2001 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/20010723-1.c: New test. --- 5626,5632 ---- * g77.f-torture/execute/intrinsic-vax-cd.f: New test * g77.f-torture/execute/intrinsic-f2c-z.f: New test ! 2001-07-23 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/20010723-1.c: New test. *************** Mon Jul 23 10:14:17 2001 Jeffrey A Law *** 3348,3354 **** * gcc.c-torture/execute/20001229-1.c: Include for UAC_SIGBUS, UAC_NOPRINT definitions. ! Mon Jul 16 12:21:56 2001 Nicola Pero * objc/execute/object_is_class.m: New test. * objc/execute/object_is_meta_class.m: New test. --- 5690,5696 ---- * gcc.c-torture/execute/20001229-1.c: Include for UAC_SIGBUS, UAC_NOPRINT definitions. ! 2001-07-16 Nicola Pero * objc/execute/object_is_class.m: New test. * objc/execute/object_is_meta_class.m: New test. *************** Mon Jul 16 12:21:56 2001 Nicola Pero < *** 3400,3406 **** * gcc.c-torture/compile/20010701-1.c, g++.old-deja/g++.ext/attrib6.C: New tests. ! Fri Jul 6 09:31:43 2001 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/20010706-1.c: New test. --- 5742,5748 ---- * gcc.c-torture/compile/20010701-1.c, g++.old-deja/g++.ext/attrib6.C: New tests. ! 2001-07-06 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/20010706-1.c: New test. *************** Wed May 23 2001 Jeffrey D. Oldham * gcc.c-torture/compile/20010516-1.c: New test. --- 6056,6062 ---- * gcc.dg/complete-port.c: New (revised version of libgcc1-test.c) ! 2001-05-16 Jan Hubicka * gcc.c-torture/compile/20010516-1.c: New test. *************** Wed May 16 20:33:57 CEST 2001 Jan Hubic *** 3861,3867 **** * g77.f-torture/compile/20000629-1.x: Remove - error has been fixed. ! Thu Apr 26 11:15:12 2001 Jeffrey A Law (law@cygnus.com) * g++.dg/special/initp1.C: Moved here from g++.old-deja/g++.ext. Tweak slightly to work with g++.dg framework. --- 6203,6209 ---- * g77.f-torture/compile/20000629-1.x: Remove - error has been fixed. ! 2001-04-26 Jeffrey A Law (law@cygnus.com) * g++.dg/special/initp1.C: Moved here from g++.old-deja/g++.ext. Tweak slightly to work with g++.dg framework. *************** Thu Apr 26 11:15:12 2001 Jeffrey A Law *** 4069,4075 **** * g++.old-deja/g++.brendan/crash15.C (main): Same. * g++.old-deja/g++.brendan/copy9.C: Same. ! Fri Apr 6 15:36:15 2001 J"orn Rennecke * gcc.c-torture/execute/20001203-2.c (memset): Count argument is of type __SIZE_TYPE__. --- 6411,6417 ---- * g++.old-deja/g++.brendan/crash15.C (main): Same. * g++.old-deja/g++.brendan/copy9.C: Same. ! 2001-04-06 J"orn Rennecke * gcc.c-torture/execute/20001203-2.c (memset): Count argument is of type __SIZE_TYPE__. *************** Fri Apr 6 15:36:15 2001 J"orn Rennecke *** 4312,4318 **** * g++.old-deja/g++.other/inline20.C: New test. ! Wed Feb 21 12:38:22 2001 Ovidiu Predescu * objc/execute/nested-1.m: Added (contributed by Nicola Pero). --- 6654,6660 ---- * g++.old-deja/g++.other/inline20.C: New test. ! 2001-02-21 Ovidiu Predescu * objc/execute/nested-1.m: Added (contributed by Nicola Pero). *************** Wed Feb 21 12:38:22 2001 Ovidiu Predesc *** 4344,4354 **** * gcc.c-torture/execute/longlong.c: New test. ! Wed Feb 14 21:41:17 2001 J"orn Rennecke * g++.old-deja/g++.brendan/new2.C (main): Use sizeof. ! Wed Feb 14 21:31:25 2001 J"orn Rennecke * gcc.c-torture/execute/920302-1.c (execute): Change argument type to short. --- 6686,6696 ---- * gcc.c-torture/execute/longlong.c: New test. ! 2001-02-14 J"orn Rennecke * g++.old-deja/g++.brendan/new2.C (main): Use sizeof. ! 2001-02-14 J"orn Rennecke * gcc.c-torture/execute/920302-1.c (execute): Change argument type to short. *************** Wed Feb 14 21:31:25 2001 J"orn Rennecke *** 4438,4444 **** * g++.dg/stdbool-if.C: New test. ! Wed Feb 7 09:54:47 2001 Ovidiu Predescu * objc/execute/fdecl.m: Added main(). --- 6780,6786 ---- * g++.dg/stdbool-if.C: New test. ! 2001-02-07 Ovidiu Predescu * objc/execute/fdecl.m: Added main(). *************** Wed Feb 7 09:54:47 2001 Ovidiu Predesc *** 4450,4456 **** * gcc.dg/cpp/avoidpaste1.c: Update. ! Tue Feb 5 8:53:33 2001 Ovidiu Predescu * objc/execute/bycopy-1.m, bycopy-2.m: Added new tests from Nicola Pero . --- 6792,6798 ---- * gcc.dg/cpp/avoidpaste1.c: Update. ! 2001-02-05 Ovidiu Predescu * objc/execute/bycopy-1.m, bycopy-2.m: Added new tests from Nicola Pero . *************** Tue Feb 5 8:53:33 2001 Ovidiu Predescu *** 4501,4507 **** * gcc.dg/c99-float-1.c: Back out "XFAIL FLT_EVAL_METHOD and DECIMAL_DIG cases for Irix." ! Wed Jan 31 12:23:32 2001 J"orn Rennecke * gcc.c-torture/execute/920302-1.c: Cast 0 to pointer. --- 6843,6849 ---- * gcc.dg/c99-float-1.c: Back out "XFAIL FLT_EVAL_METHOD and DECIMAL_DIG cases for Irix." ! 2001-01-31 J"orn Rennecke * gcc.c-torture/execute/920302-1.c: Cast 0 to pointer. *************** Wed Jan 31 12:23:32 2001 J"orn Rennecke *** 4989,4995 **** * gcc.c-torture/compile/20001222-1.x: Remove. ! Thu Jan 4 13:54:11 2001 Richard Kenner * gcc.c-torture/execute/built-in-setjmp.c: New. --- 7331,7337 ---- * gcc.c-torture/compile/20001222-1.x: Remove. ! 2001-01-04 Richard Kenner * gcc.c-torture/execute/built-in-setjmp.c: New. *************** Thu Jan 4 13:54:11 2001 Richard Kenner *** 5093,5103 **** * gcc.c-torture/compile/20001222-1.c: New test. * gcc.c-torture/compile/20001222-1.x: Xfail. ! Fri Dec 22 06:45:03 2000 Alexandre Oliva * gcc.c-torture/execute/comp-goto-2.c: New test. ! Thu Dec 21 22:43:03 2000 J"orn Rennecke * gcc.c-torture/execute/comp-goto-1.c (uint32, sint32): Use long types if __INT_MAX__ is 32767. --- 7435,7445 ---- * gcc.c-torture/compile/20001222-1.c: New test. * gcc.c-torture/compile/20001222-1.x: Xfail. ! 2000-12-22 Alexandre Oliva * gcc.c-torture/execute/comp-goto-2.c: New test. ! 2000-12-21 J"orn Rennecke * gcc.c-torture/execute/comp-goto-1.c (uint32, sint32): Use long types if __INT_MAX__ is 32767. *************** Thu Dec 21 22:43:03 2000 J"orn Rennecke *** 5812,5818 **** * gcc.dg/cpp/include2.c: New tests. ! Fri Nov 3 13:32:14 2000 Mark P Mitchell * lib/g++.exp (g++_set_ld_library_path): New function. Use it to set LD_LIBRARYN32_PATH and LD_LIBRARY64_PATH. --- 8154,8160 ---- * gcc.dg/cpp/include2.c: New tests. ! 2000-11-03 Mark P Mitchell * lib/g++.exp (g++_set_ld_library_path): New function. Use it to set LD_LIBRARYN32_PATH and LD_LIBRARY64_PATH. *************** Mon Oct 9 23:32:06 MET DST 2000 Jan Hu *** 6137,6143 **** * gcc.c-torture/execute/divmod-1.c (mod5): New function - perform a signed long modulo operation. ! (mod6): New funciton - perform an unsigned long modulo operation. (main): Add tests for modulos of very large numbers by very small dividends. --- 8479,8485 ---- * gcc.c-torture/execute/divmod-1.c (mod5): New function - perform a signed long modulo operation. ! (mod6): New function - perform an unsigned long modulo operation. (main): Add tests for modulos of very large numbers by very small dividends. *************** Fri 15-Sep-2000 06:50:11 BST Neil Booth *** 6191,6197 **** * gcc.dg/cpp/paste10.c: Testcase for PASTE_LEFT buglet. ! Thu Sep 14 16:48:49 2000 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/20000914-1.c: New test. --- 8533,8539 ---- * gcc.dg/cpp/paste10.c: Testcase for PASTE_LEFT buglet. ! 2000-09-14 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/20000914-1.c: New test. *************** Thu Sep 14 16:48:49 2000 Jeffrey A Law *** 6204,6210 **** * gcc.c-torture/execute/widechar-2.c: New test for wchar_t constant by Ulrich Drepper . ! Tue Sep 12 18:32:07 2000 J"orn Rennecke * gcc.c-torture/compile/981006-1.x: No -fpic for sh-coff / sh-hms. --- 8546,8552 ---- * gcc.c-torture/execute/widechar-2.c: New test for wchar_t constant by Ulrich Drepper . ! 2000-09-12 J"orn Rennecke * gcc.c-torture/compile/981006-1.x: No -fpic for sh-coff / sh-hms. *************** Tue Sep 12 18:32:07 2000 J"orn Rennecke *** 6440,6446 **** * gcc.dg/20000724-1.c: New test. * gcc.dg/20000807-1.c: New test. ! Sun Aug 20 01:41:35 MSD 2000 Dennis Chernoivanov * gcc.dg/cpp/pragma-1.c: New test. * gcc.dg/cpp/pragma-2.c: New test. --- 8782,8788 ---- * gcc.dg/20000724-1.c: New test. * gcc.dg/20000807-1.c: New test. ! 2000-08-20 Dennis Chernoivanov * gcc.dg/cpp/pragma-1.c: New test. * gcc.dg/cpp/pragma-2.c: New test. *************** Sun Aug 20 01:41:35 MSD 2000 Dennis Cher *** 6450,6456 **** * gcc.dg/cpp/lexstrng.c: Don't include string.h. * gcc.dg/cpp/paste2.c: Don't include string.h. Prototype strcmp. ! Fri Aug 18 16:57:35 2000 Richard Kenner * gcc.c-torture/compile/20000818-1.c: New test. --- 8792,8798 ---- * gcc.dg/cpp/lexstrng.c: Don't include string.h. * gcc.dg/cpp/paste2.c: Don't include string.h. Prototype strcmp. ! 2000-08-18 Richard Kenner * gcc.c-torture/compile/20000818-1.c: New test. *************** Fri Aug 18 16:57:35 2000 Richard Kenner *** 6561,6567 **** * gcc.dg/c90-printf-2.c, gcc.dg/c99-printf-2.c: New tests. ! Sun Aug 6 11:41:51 2000 Ovidiu Predescu * lib/objc.exp (objc_target_compile): Set the ld_library_path so that running programs linked against the shared version of libobjc --- 8903,8909 ---- * gcc.dg/c90-printf-2.c, gcc.dg/c99-printf-2.c: New tests. ! 2000-08-06 Ovidiu Predescu * lib/objc.exp (objc_target_compile): Set the ld_library_path so that running programs linked against the shared version of libobjc *************** Sun Aug 6 11:41:51 2000 Ovidiu Predesc *** 6598,6604 **** * gcc.dg/cpp/20000625-2.c: Expect warning on line 8, not 9. * gcc.dg/compare2.c: No longer expected to fail. ! Fri Aug 4 23:00:50 2000 J"orn Rennecke * gcc.c-torture/execute/20000804-1.c: New test. --- 8940,8946 ---- * gcc.dg/cpp/20000625-2.c: Expect warning on line 8, not 9. * gcc.dg/compare2.c: No longer expected to fail. ! 2000-08-04 J"orn Rennecke * gcc.c-torture/execute/20000804-1.c: New test. *************** Fri Aug 4 23:00:50 2000 J"orn Rennecke *** 6610,6616 **** * gcc.dg/cpp/20000625-2.c: Don't expect a warning on line 4. ! Thu Aug 3 01:46:33 2000 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/20000803-1.c: New test. --- 8952,8958 ---- * gcc.dg/cpp/20000625-2.c: Don't expect a warning on line 4. ! 2000-08-03 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/20000803-1.c: New test. *************** Thu Aug 3 01:46:33 2000 Jeffrey A Law *** 6634,6640 **** * gcc.dg/cpp/macsyntx.c: Fix error regexp. ! Mon Jul 31 21:14:49 2000 Jeffrey A Law (law@cygnus.com) * gcc-c-torture/execute/20000731-2.c: New test. --- 8976,8982 ---- * gcc.dg/cpp/macsyntx.c: Fix error regexp. ! 2000-07-31 Jeffrey A Law (law@cygnus.com) * gcc-c-torture/execute/20000731-2.c: New test. *************** Mon Jul 31 21:14:49 2000 Jeffrey A Law *** 6672,6678 **** * gcc.dg/c90-impl-int-2.c, gcc.dg/c99-impl-int-2.c: New tests. ! Wed Jul 26 19:41:51 2000 Hans-Peter Nilsson * gcc.c-tortuer/execute/20000726-1.c: New test. --- 9014,9020 ---- * gcc.dg/c90-impl-int-2.c, gcc.dg/c99-impl-int-2.c: New tests. ! 2000-07-26 Hans-Peter Nilsson * gcc.c-tortuer/execute/20000726-1.c: New test. *************** Wed Jul 26 19:41:51 2000 Hans-Peter Nil *** 6778,6784 **** * gcc.dg/cpp/cmdlne-dM.c: New test. * gcc.dg/cpp/cmdlne-dD.c: New test. ! Mon Jul 17 03:13:12 2000 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/20000717-3.c: New test. --- 9120,9126 ---- * gcc.dg/cpp/cmdlne-dM.c: New test. * gcc.dg/cpp/cmdlne-dD.c: New test. ! 2000-07-17 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/20000717-3.c: New test. *************** Mon Jul 17 03:13:12 2000 Jeffrey A Law *** 6806,6812 **** * gcc.dg/c99-impl-int-1.c, gcc.dg/c99-longlong-1.c, * gcc.dg/c99-restrict-1.c, gcc.dg/c99-return-1.c: New tests. ! Mon Jul 17 00:41:57 2000 Greg McGary * gcc.c-torture/execute/20000717-1.c: New test. * gcc.c-torture/execute/20000717-1.x: Expected to fail. --- 9148,9154 ---- * gcc.dg/c99-impl-int-1.c, gcc.dg/c99-longlong-1.c, * gcc.dg/c99-restrict-1.c, gcc.dg/c99-return-1.c: New tests. ! 2000-07-17 Greg McGary * gcc.c-torture/execute/20000717-1.c: New test. * gcc.c-torture/execute/20000717-1.x: Expected to fail. *************** Mon Jul 17 00:41:57 2000 Greg McGary < *** 7021,7027 **** * gcc.dg/980217-1.c: Declare abort. * gcc.dg/cpp/20000628-1a.h: Use a declaration instead of an asm. ! Thu Jun 29 09:42:40 2000 Jeffrey A Law (law@cygnus.com) * g77.f-torture/compile/20000629-1.f: New test. * g77.f-torture/compile/20000629-1.x: Expected to fail. --- 9363,9369 ---- * gcc.dg/980217-1.c: Declare abort. * gcc.dg/cpp/20000628-1a.h: Use a declaration instead of an asm. ! 2000-06-29 Jeffrey A Law (law@cygnus.com) * g77.f-torture/compile/20000629-1.f: New test. * g77.f-torture/compile/20000629-1.x: Expected to fail. *************** Thu Jun 29 09:42:40 2000 Jeffrey A Law *** 7290,7300 **** * g++.old-deja/old-deja.exp: Add -Wno-long-long. ! Fri Jun 9 22:46:34 2000 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/20000609-1.c: New test. ! Fri Jun 9 21:54:28 2000 Clinton Popetz * gcc.dg/20000609-1.c: New test. --- 9632,9642 ---- * g++.old-deja/old-deja.exp: Add -Wno-long-long. ! 2000-06-09 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/20000609-1.c: New test. ! 2000-06-09 Clinton Popetz * gcc.dg/20000609-1.c: New test. *************** Fri Jun 9 21:54:28 2000 Clinton Popetz *** 7463,7469 **** * gcc.c-torture/execute/conversion.c: Ditto. * gcc.c-torture/execute/cvt-1.c: Ditto. ! Thu May 18 16:03:29 2000 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/20000518-1.c: New test. --- 9805,9811 ---- * gcc.c-torture/execute/conversion.c: Ditto. * gcc.c-torture/execute/cvt-1.c: Ditto. ! 2000-05-18 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/20000518-1.c: New test. *************** Thu May 18 16:03:29 2000 Jeffrey A Law *** 7471,7477 **** * g77.f-torture/compile/200005018.f: New test. ! Wed May 17 18:30:10 2000 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/20000517-1.c: New test. --- 9813,9819 ---- * g77.f-torture/compile/200005018.f: New test. ! 2000-05-17 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/20000517-1.c: New test. *************** Wed May 17 18:30:10 2000 Jeffrey A Law *** 7488,7494 **** * gcc.c-torture/execute/990208-1.c (main): Don't pass constants through to doit's conditional. ! Thu May 11 19:02:43 2000 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/20000511-1.c: New test. * g77.f-torture/compile/20000511-1.f: New test. --- 9830,9836 ---- * gcc.c-torture/execute/990208-1.c (main): Don't pass constants through to doit's conditional. ! 2000-05-11 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/20000511-1.c: New test. * g77.f-torture/compile/20000511-1.f: New test. *************** Thu May 11 19:02:43 2000 Jeffrey A Law *** 7541,7547 **** * gcc.c-torture/compile/20000504-1.c: New test. Derived from OpenSSL by Jason R Thorpe. ! Wed May 3 13:02:10 2000 Jim Wilson * gcc.c-torture/execute/20000503-1.c: New test for extract_muldiv bug. --- 9883,9889 ---- * gcc.c-torture/compile/20000504-1.c: New test. Derived from OpenSSL by Jason R Thorpe. ! 2000-05-03 Jim Wilson * gcc.c-torture/execute/20000503-1.c: New test for extract_muldiv bug. *************** Thu Apr 27 15:58:18 MET DST 2000 Jan Hu *** 7568,7574 **** * gcc.c-torture/execute/va-arg-20.c: New test. ! Sun Apr 23 14:41:33 2000 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/20000422-1.c: New test. --- 9910,9916 ---- * gcc.c-torture/execute/va-arg-20.c: New test. ! 2000-04-23 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/20000422-1.c: New test. *************** Sun Apr 23 14:41:33 2000 Jeffrey A Law *** 7577,7583 **** * gcc.c-torture/compile/20000420-2.c: New test for stack misalignment when optimizing, but without sibling-call optimizations (-O1). ! Thu Apr 20 11:57:03 2000 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/20000420-1.c: New test. --- 9919,9925 ---- * gcc.c-torture/compile/20000420-2.c: New test for stack misalignment when optimizing, but without sibling-call optimizations (-O1). ! 2000-04-20 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/20000420-1.c: New test. *************** Thu Apr 20 11:57:03 2000 Jeffrey A Law *** 7586,7592 **** * g++.abi/ptrflags.C: New test. * g++.eh/catchptr1.C: Test incomplete pointer chains. ! Wed Apr 19 09:16:32 2000 Catherine Moore * gcc.c-torture/execute/921017-1.c: Check for NO_TRAMPOLINES. --- 9928,9934 ---- * g++.abi/ptrflags.C: New test. * g++.eh/catchptr1.C: Test incomplete pointer chains. ! 2000-04-19 Catherine Moore * gcc.c-torture/execute/921017-1.c: Check for NO_TRAMPOLINES. *************** Wed Apr 19 09:16:32 2000 Catherine Moor *** 7599,7609 **** * gcc.dg/20000419-1.c: New test. ! Wed Apr 12 22:54:02 2000 Hans-Peter Nilsson * gcc.c-torture/execute/20000412-6.c: New test. ! Wed Apr 12 10:25:08 2000 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/20000412-5.c: New test. * g77.f-torture/compile/20000412-1.f: New test. --- 9941,9951 ---- * gcc.dg/20000419-1.c: New test. ! 2000-04-12 Hans-Peter Nilsson * gcc.c-torture/execute/20000412-6.c: New test. ! 2000-04-12 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/20000412-5.c: New test. * g77.f-torture/compile/20000412-1.f: New test. *************** Wed Apr 12 10:25:08 2000 Jeffrey A Law *** 7664,7670 **** cpp-shift.c, cpp-shortcircuit.c, cpp-unary.c: Add FSF copyright. ! Wed Apr 5 22:51:36 2000 Hans-Peter Nilsson * gcc.c-torture/execute/960327-1.c (f): Add a letter to s[] to avoid stack-frame overwrite. --- 10006,10012 ---- cpp-shift.c, cpp-shortcircuit.c, cpp-unary.c: Add FSF copyright. ! 2000-04-05 Hans-Peter Nilsson * gcc.c-torture/execute/960327-1.c (f): Add a letter to s[] to avoid stack-frame overwrite. *************** Wed Apr 5 22:51:36 2000 Hans-Peter Nil *** 7691,7702 **** * gcc.dg/cpp-redef-2.c, gcc.dg/cpp-tradwarn1.c, gcc.dg/cpp-unc.c: Add -fno-show-column to compiler options. ! Mon Apr 3 02:35:34 2000 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/20000403-2.c: New test. * gcc.c-torture/compile/20000403-1.c: New test. ! Mon Apr 3 16:53:52 2000 Hans-Peter Nilsson * gcc.c-torture/execute/20000403-1.c: New test. --- 10033,10044 ---- * gcc.dg/cpp-redef-2.c, gcc.dg/cpp-tradwarn1.c, gcc.dg/cpp-unc.c: Add -fno-show-column to compiler options. ! 2000-04-03 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/20000403-2.c: New test. * gcc.c-torture/compile/20000403-1.c: New test. ! 2000-04-03 Hans-Peter Nilsson * gcc.c-torture/execute/20000403-1.c: New test. *************** Mon Apr 3 16:53:52 2000 Hans-Peter Nil *** 7704,7710 **** * gcc.c-torture/execute/20000402-1.c: New test. ! Mon Apr 3 14:10:34 2000 Donald Lindsay * gcc.c-torture/execute/va-arg-15.c: New test. * gcc.c-torture/execute/va-arg-16.c: New test. --- 10046,10052 ---- * gcc.c-torture/execute/20000402-1.c: New test. ! 2000-04-03 Donald Lindsay * gcc.c-torture/execute/va-arg-15.c: New test. * gcc.c-torture/execute/va-arg-16.c: New test. *************** Mon Apr 3 14:10:34 2000 Donald Lindsay *** 7732,7738 **** * gcc.dg/cpp-shortcircuit.c New tests. * gcc.dg/cpp-unary.c New tests. ! Wed Mar 29 13:44:23 2000 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/20000329-1.c: New test. --- 10074,10080 ---- * gcc.dg/cpp-shortcircuit.c New tests. * gcc.dg/cpp-unary.c New tests. ! 2000-03-29 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/20000329-1.c: New test. *************** Wed Mar 29 13:44:23 2000 Jeffrey A Law *** 7766,7772 **** * gcc.c-torture/compile/20000319-1.c: New test. ! Tue Mar 14 08:58:37 2000 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/20000314-3.c: New test. * gcc.c-torture/execute/20000314-2.c: New test. --- 10108,10114 ---- * gcc.c-torture/compile/20000319-1.c: New test. ! 2000-03-14 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/20000314-3.c: New test. * gcc.c-torture/execute/20000314-2.c: New test. *************** Tue Mar 14 08:58:37 2000 Jeffrey A Law *** 7778,7784 **** * g++.old-deja/g++.warn/inline.C: New test. ! Fri Mar 10 01:15:19 2000 Hans-Peter Nilsson * gcc.c-torture/execute/divconst-2.c: Rewrite to check for standards-compliant result rather than specific constants. --- 10120,10126 ---- * g++.old-deja/g++.warn/inline.C: New test. ! 2000-03-10 Hans-Peter Nilsson * gcc.c-torture/execute/divconst-2.c: Rewrite to check for standards-compliant result rather than specific constants. *************** Fri Mar 10 01:15:19 2000 Hans-Peter Nil *** 7811,7817 **** * g++.old-deja/g++.warn/impint2.C: New test. ! Sun Mar 5 23:25:12 2000 Hans-Peter Nilsson * gcc.c-torture/execute/20000224-1.c (main): Expected return-value is 1, not zero. --- 10153,10159 ---- * g++.old-deja/g++.warn/impint2.C: New test. ! 2000-03-05 Hans-Peter Nilsson * gcc.c-torture/execute/20000224-1.c (main): Expected return-value is 1, not zero. *************** Sun Mar 5 23:25:12 2000 Hans-Peter Nil *** 7840,7846 **** * g++.old-deja/g++.pt/unify7.C: New test. ! Sat Feb 26 19:46:09 2000 Richard Kenner * g++.old-deja/g++.ext/attrib5.C: XFAIL on Alpha since no link alias. * g++.old-deja/g++.pt/static3.C: Generalize system name for Alpha. --- 10182,10188 ---- * g++.old-deja/g++.pt/unify7.C: New test. ! 2000-02-26 Richard Kenner * g++.old-deja/g++.ext/attrib5.C: XFAIL on Alpha since no link alias. * g++.old-deja/g++.pt/static3.C: Generalize system name for Alpha. *************** Sat Feb 26 19:46:09 2000 Richard Kenner *** 7854,7860 **** * gcc.c-torture/compile/cpp-2.c: New test. * gcc.c-torture/compile/cpp-1.c: New test. ! Fri Feb 25 21:44:49 2000 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/20000225-1.c: New test. --- 10196,10202 ---- * gcc.c-torture/compile/cpp-2.c: New test. * gcc.c-torture/compile/cpp-1.c: New test. ! 2000-02-25 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/20000225-1.c: New test. *************** Fri Feb 25 21:44:49 2000 Jeffrey A Law *** 7874,7880 **** * gcc.c-torture/execute/va-arg-13.c: New test. ! Wed Feb 23 14:16:06 2000 Donald Lindsay * gcc.c-torture/execute/va-arg-12.c: New test. --- 10216,10222 ---- * gcc.c-torture/execute/va-arg-13.c: New test. ! 2000-02-23 Donald Lindsay * gcc.c-torture/execute/va-arg-12.c: New test. *************** Wed Feb 23 14:16:06 2000 Donald Lindsay *** 7899,7913 **** * lib/g++.exp (g++_init): Add -fmessage-length=0 to ALWAYS_CXXFLAGS. ! Fri Feb 11 12:35:40 2000 Robert Lipe * gcc.c-torture/compile/20000211-3.c: New test. ! Fri Feb 11 12:35:40 2000 Martin Buchholz * gcc.c-torture/compile/20000211-2.c: New test. ! Fri Feb 11 12:35:40 2000 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/20000211-1.c: New test. --- 10241,10255 ---- * lib/g++.exp (g++_init): Add -fmessage-length=0 to ALWAYS_CXXFLAGS. ! 2000-02-11 Robert Lipe * gcc.c-torture/compile/20000211-3.c: New test. ! 2000-02-11 Martin Buchholz * gcc.c-torture/compile/20000211-2.c: New test. ! 2000-02-11 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/20000211-1.c: New test. *************** Fri Feb 11 12:35:40 2000 Jeffrey A Law *** 7962,7977 **** * gcc.c-torture/execute/ieee/fp-cmp-4.c: New. ! Thu Jan 20 12:34:48 2000 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/20000120-2.c: New test. * gcc.c-torture/execute/20000120-1.c: New test. ! Thu Jan 13 02:29:32 2000 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/20000113-1.c: New test. ! Wed Jan 12 20:26:58 2000 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/20000112-1.c: New test. --- 10304,10319 ---- * gcc.c-torture/execute/ieee/fp-cmp-4.c: New. ! 2000-01-20 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/20000120-2.c: New test. * gcc.c-torture/execute/20000120-1.c: New test. ! 2000-01-13 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/20000113-1.c: New test. ! 2000-01-12 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/20000112-1.c: New test. *************** Wed Jan 12 20:26:58 2000 Jeffrey A Law *** 7979,7985 **** * gcc.dg/20000111-1.c: New test. ! Mon Jan 10 18:12:49 2000 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990628-1.c: Tweak to work on targets with 16 bit integers. --- 10321,10327 ---- * gcc.dg/20000111-1.c: New test. ! 2000-01-10 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990628-1.c: Tweak to work on targets with 16 bit integers. *************** Mon Jan 10 18:12:49 2000 Jeffrey A Law *** 7996,8002 **** * g++.old-deja/g++.other/cast4.C: New test. ! Wed Jan 5 00:26:20 2000 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/20000105-2.c: New test. * gcc.c-torture/compile/20000105-1.c: New test. --- 10338,10344 ---- * g++.old-deja/g++.other/cast4.C: New test. ! 2000-01-05 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/20000105-2.c: New test. * gcc.c-torture/compile/20000105-1.c: New test. *************** Wed Jan 5 00:26:20 2000 Jeffrey A Law *** 8087,8099 **** * gcc.dg/991230-1.c: New test. ! Wed Dec 29 23:48:49 1999 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/991229-3.c: New test. * gcc.c-torture/compile/991229-2.c: New test. * gcc.c-torture/compile/991229-1.c: New test. ! Wed Dec 29 20:54:46 1999 Greg McGary * gcc.c-torture/compile/labels-2.c: New test. --- 10429,10441 ---- * gcc.dg/991230-1.c: New test. ! 1999-12-29 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/991229-3.c: New test. * gcc.c-torture/compile/991229-2.c: New test. * gcc.c-torture/compile/991229-1.c: New test. ! 1999-12-29 Greg McGary * gcc.c-torture/compile/labels-2.c: New test. *************** Wed Dec 29 20:54:46 1999 Greg McGary * gcc.dg/991209-1.c: New test. ! Wed Dec 8 23:44:08 1999 Nathan Sidwell * gcc.c-torture/compile/991208-1.c: New test. --- 10483,10499 ---- * gcc.dg/991214-1.c: New test. ! 1999-12-13 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/991213-3.c: New test. * gcc.c-torture/compile/991213-2.c: New test. * gcc.c-torture/compile/991213-1.c: New test. ! 1999-12-10 J"orn Rennecke * gcc.dg/991209-1.c: New test. ! 1999-12-08 Nathan Sidwell * gcc.c-torture/compile/991208-1.c: New test. *************** Wed Dec 8 23:44:08 1999 Nathan Sidwell *** 8199,8205 **** * g++.old-deja/g++.ext/pretty3.C: New test. * g++.old-deja/g++.other/debug6.C: New test. ! Wed Oct 20 16:18:23 1999 Jim Wilson * gcc.c-torture/noncompile/noncompile.exp: For 940510-1.c, change compiler_output to look for one error message instead of two. --- 10541,10547 ---- * g++.old-deja/g++.ext/pretty3.C: New test. * g++.old-deja/g++.other/debug6.C: New test. ! 1999-10-20 Jim Wilson * gcc.c-torture/noncompile/noncompile.exp: For 940510-1.c, change compiler_output to look for one error message instead of two. *************** Wed Oct 20 16:18:23 1999 Jim Wilson * gcc.c-torture/compile/991008-1.c: New test. --- 10570,10576 ---- host is equipped with driver.h and driver.o so it can actually compile and run the tests. ! 1999-10-08 Bernd Schmidt * gcc.c-torture/compile/991008-1.c: New test. *************** Fri Oct 8 18:46:11 1999 Bernd Schmidt *** 8266,8300 **** * gcc.dg/array-1.c: New test. ! Sat Oct 30 22:23:46 1999 Stephen L Moshier * gcc.c-torture/execute/991030-1.c: New test. ! Tue Oct 26 20:25:42 1999 Richard Henderson * gcc.c-torture/compile/991026-2.c: New test. ! Tue Oct 26 00:45:56 1999 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/991026-1.c: New test. ! Sat Oct 23 23:36:03 1999 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/991023-1.c: New test. ! Tue Oct 19 02:11:29 1999 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/991019-1.c: New test. ! Sat Oct 16 00:05:48 1999 Richard Henderson * gcc.c-torture/execute/991016-1.c: New test. ! Thu Oct 14 04:22:47 1999 Stephane Carrez * gcc.c-torture/execute/991014-1.c: New test. ! Wed Oct 13 22:01:35 1999 J"orn Rennecke * g++.old-deja/g++.other/union2.C: New test. --- 10608,10642 ---- * gcc.dg/array-1.c: New test. ! 1999-10-30 Stephen L Moshier * gcc.c-torture/execute/991030-1.c: New test. ! 1999-10-26 Richard Henderson * gcc.c-torture/compile/991026-2.c: New test. ! 1999-10-26 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/991026-1.c: New test. ! 1999-10-23 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/991023-1.c: New test. ! 1999-10-19 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/991019-1.c: New test. ! 1999-10-16 Richard Henderson * gcc.c-torture/execute/991016-1.c: New test. ! 1999-10-14 Stephane Carrez * gcc.c-torture/execute/991014-1.c: New test. ! 1999-10-13 J"orn Rennecke * g++.old-deja/g++.other/union2.C: New test. *************** Wed Oct 13 22:01:35 1999 J"orn Rennecke *** 8312,8323 **** * gcc.c-torture/execute/va-arg-11.c: New test. ! Fri Oct 1 00:53:17 1999 Mark P. Mitchell * lib/file-format.exp (gcc_target_object_format): Don't crash if objdump is unavailable. ! Wed Sep 29 23:48:44 1999 Donn Terry * gcc.misc-tests/mg.exp: delete extraneous redirection. --- 10654,10665 ---- * gcc.c-torture/execute/va-arg-11.c: New test. ! 1999-10-01 Mark P. Mitchell * lib/file-format.exp (gcc_target_object_format): Don't crash if objdump is unavailable. ! 1999-09-29 Donn Terry * gcc.misc-tests/mg.exp: delete extraneous redirection. *************** Wed Sep 29 23:48:44 1999 Donn Terry * g++.old-deja/g++.other/decl6.C: New test. ! Tue Sep 28 01:19:09 1999 Franz Sirl * gcc.c-torture/execute/va-arg-10.c: New test. ! Mon Sep 27 09:14:24 BST 1999 Nathan Sidwell * g++.old-deja/g++.pt/memtemp77.C: Adjust expected __PRETTY_FUNCTION__. --- 10667,10681 ---- * gcc.c-torture/compile/990928-1.c: New test. ! 1999-09-28 Nathan Sidwell * g++.old-deja/g++.other/decl6.C: New test. ! 1999-09-28 Franz Sirl * gcc.c-torture/execute/va-arg-10.c: New test. ! 1999-09-27 Nathan Sidwell * g++.old-deja/g++.pt/memtemp77.C: Adjust expected __PRETTY_FUNCTION__. *************** Mon Sep 27 09:14:24 BST 1999 Nathan Sid *** 8351,8357 **** * g++.dg/ecos.exp: Don't supply -finit-priority to cc1plus. ! Tue Sep 21 15:38:10 BST 1999 Nathan Sidwell * g++.old-deja/g++.other/dyncast1.C: New test. * g++.old-deja/g++.other/dyncast2.C: New test. --- 10693,10699 ---- * g++.dg/ecos.exp: Don't supply -finit-priority to cc1plus. ! 1999-09-21 Nathan Sidwell * g++.old-deja/g++.other/dyncast1.C: New test. * g++.old-deja/g++.other/dyncast2.C: New test. *************** Tue Sep 21 15:38:10 BST 1999 Nathan Sid *** 8373,8397 **** * g++.old-deja/g++.eh/catch9.C: New test. * g++.old-deja/g++.eh/catch9p.C: New test. ! Mon Sep 13 14:14:21 BST 1999 Nathan Sidwell * g++.old-deja/g++.other/sizeof3.C: Remove XFAILS. * g++.old-deja/g++.other/sizeof4.C: Remove XFAILS. ! Mon Sep 13 06:28:57 1999 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/990913-1.c: New test. ! Fri Sep 10 11:21:25 BST 1999 Nathan Sidwell * g++.old-deja/g++.jason/rfg4.C: Revert erroneous change, add -w. * g++.old-deja/g++.jason/rfg5.C: Likewise. ! Thu Sep 9 10:40:36 1999 Richard Henderson * g++.old-deja/g++.other/delete6.C: Use size_t with operator new. ! Thu Sep 9 12:32:57 BST 1999 Nathan Sidwell * g++.old-deja/g++.other/lookup11.C: New test. * g++.old-deja/g++.bugs/900428_01.C: Rework now we understand --- 10715,10739 ---- * g++.old-deja/g++.eh/catch9.C: New test. * g++.old-deja/g++.eh/catch9p.C: New test. ! 1999-09-13 Nathan Sidwell * g++.old-deja/g++.other/sizeof3.C: Remove XFAILS. * g++.old-deja/g++.other/sizeof4.C: Remove XFAILS. ! 1999-09-13 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/990913-1.c: New test. ! 1999-09-10 Nathan Sidwell * g++.old-deja/g++.jason/rfg4.C: Revert erroneous change, add -w. * g++.old-deja/g++.jason/rfg5.C: Likewise. ! 1999-09-09 Richard Henderson * g++.old-deja/g++.other/delete6.C: Use size_t with operator new. ! 1999-09-09 Nathan Sidwell * g++.old-deja/g++.other/lookup11.C: New test. * g++.old-deja/g++.bugs/900428_01.C: Rework now we understand *************** Thu Sep 9 12:32:57 BST 1999 Nathan Sid *** 8405,8411 **** * gcc.c-torture/noncompile/noncompile.exp: Add poison-1.c. * gcc.c-torture/noncompile/poison-1.c: New file. ! Wed Sep 8 09:39:56 BST 1999 Nathan Sidwell * g++.old-deja/g++.other/sizeof3.C: New test. * g++.old-deja/g++.other/sizeof4.C: New test. --- 10747,10753 ---- * gcc.c-torture/noncompile/noncompile.exp: Add poison-1.c. * gcc.c-torture/noncompile/poison-1.c: New file. ! 1999-09-08 Nathan Sidwell * g++.old-deja/g++.other/sizeof3.C: New test. * g++.old-deja/g++.other/sizeof4.C: New test. *************** Wed Sep 8 09:39:56 BST 1999 Nathan Sid *** 8429,8459 **** * g77.f-torture/noncompile/19990826-4.f: Clarify who wrote what. ! Fri Sep 3 10:39:38 BST 1999 Richard Earnshaw * gcc.c-torture/execute/990827-1.c: Fix typo. ! Fri Sep 03 09:31:10 BST 1999 Nathan Sidwell * g++.old-deja/g++.other/deref1.C: New test. ! Thu Sep 02 09:27:34 BST 1999 Nathan Sidwell * g++.old-deja/g++.other/ambig2.C: New test. * g++.old-deja/g++.other/cond5.C: New test. * g++.old-deja/g++.other/lookup16.C: New test. ! Thu Sep 2 01:17:51 1999 Marc Espie * gcc.dg/980414-1.c: Fix assembler syntax to work with old assemblers too. ! Tue Aug 31 17:57:49 1999 Jeffrey A Law (law@cygnus.com) * lib/c-torture.exp: Avoid the "compare executables" optimization when testing native. ! Sun Aug 29 14:35:41 1999 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990829-1.c: New test. * gcc.c-torture/compile/990829-1.c: New test. --- 10771,10801 ---- * g77.f-torture/noncompile/19990826-4.f: Clarify who wrote what. ! 1999-09-03 Richard Earnshaw * gcc.c-torture/execute/990827-1.c: Fix typo. ! 1999-09-03 Nathan Sidwell * g++.old-deja/g++.other/deref1.C: New test. ! 1999-09-02 Nathan Sidwell * g++.old-deja/g++.other/ambig2.C: New test. * g++.old-deja/g++.other/cond5.C: New test. * g++.old-deja/g++.other/lookup16.C: New test. ! 1999-09-02 Marc Espie * gcc.dg/980414-1.c: Fix assembler syntax to work with old assemblers too. ! 1999-08-31 Jeffrey A Law (law@cygnus.com) * lib/c-torture.exp: Avoid the "compare executables" optimization when testing native. ! 1999-08-29 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990829-1.c: New test. * gcc.c-torture/compile/990829-1.c: New test. *************** Sun Aug 29 14:35:41 1999 Jeffrey A Law *** 8472,8478 **** * g++.old-deja/g++.pt/memtemp90.C: Renamed from lss-010.C. * g++.old-deja/g++.pt/memtemp91.C: Renamed from lss-011.C. ! Fri Aug 27 01:24:16 1999 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990827-1.c: New test. --- 10814,10820 ---- * g++.old-deja/g++.pt/memtemp90.C: Renamed from lss-010.C. * g++.old-deja/g++.pt/memtemp91.C: Renamed from lss-011.C. ! 1999-08-27 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990827-1.c: New test. *************** Fri Aug 27 01:24:16 1999 Jeffrey A Law *** 8524,8530 **** * g++.old-deja/g++.other/local3.C: Removed XFAIL. ! Wed Aug 4 01:17:17 1999 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/970312-1.c: Delete duplicate test. --- 10866,10872 ---- * g++.old-deja/g++.other/local3.C: Removed XFAIL. ! 1999-08-04 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/970312-1.c: Delete duplicate test. *************** Wed Aug 4 01:17:17 1999 Jeffrey A Law *** 8532,8538 **** * g++.old-deja/g++.eh/spec6.C: Add more tests. Remove XFAILS. ! Wed Aug 4 01:17:17 1999 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990804-1.c: New test. --- 10874,10880 ---- * g++.old-deja/g++.eh/spec6.C: Add more tests. Remove XFAILS. ! 1999-08-04 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990804-1.c: New test. *************** Wed Aug 4 01:17:17 1999 Jeffrey A Law *** 8550,8562 **** * g++.old-deja/g++.other/enum2.C: New test. ! Mon Aug 2 13:35:12 1999 Richard Henderson Adapted from tests from Franz Sirl: * gcc.c-torture/execute/va-arg-7.c: New test. * gcc.c-torture/execute/va-arg-8.c: New test. ! Sun Aug 1 22:29:34 1999 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/990801-2.c: New test. --- 10892,10904 ---- * g++.old-deja/g++.other/enum2.C: New test. ! 1999-08-02 Richard Henderson Adapted from tests from Franz Sirl: * gcc.c-torture/execute/va-arg-7.c: New test. * gcc.c-torture/execute/va-arg-8.c: New test. ! 1999-08-01 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/990801-2.c: New test. *************** Sun Aug 1 22:29:34 1999 Jeffrey A Law *** 8574,8580 **** from fr1 to unknown_register, since fr1 is a legitimate register on some machines. ! Sun Jul 25 21:41:37 1999 Jeffrey A Law (law@cygnus.com) * README: More listname related changes. --- 10916,10922 ---- from fr1 to unknown_register, since fr1 is a legitimate register on some machines. ! 1999-07-25 Jeffrey A Law (law@cygnus.com) * README: More listname related changes. *************** Sun Jul 25 21:41:37 1999 Jeffrey A Law *** 8606,8616 **** * gcc.dg/special/ecos.exp: Remove definition of proc gcc_target_object_format. ! Mon Jun 28 08:20:51 1999 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990628-1.c: New test. ! Fri Jun 25 05:28:40 1999 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/990625-2.c: New test. --- 10948,10958 ---- * gcc.dg/special/ecos.exp: Remove definition of proc gcc_target_object_format. ! 1999-06-28 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990628-1.c: New test. ! 1999-06-25 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/990625-2.c: New test. *************** Fri Jun 25 05:28:40 1999 Jeffrey A Law *** 8623,8629 **** * gcc.c-torture/compile/dll.x: Only support the dll.c test on ports that use the COFF/PE file format. ! Thu Jun 17 13:48:16 1999 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/990617-1.c: New test. --- 10965,10971 ---- * gcc.c-torture/compile/dll.x: Only support the dll.c test on ports that use the COFF/PE file format. ! 1999-06-17 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/990617-1.c: New test. *************** Thu Jun 17 13:48:16 1999 Jeffrey A Law *** 8639,8645 **** * g++.old-deja/g++.eh/catch1.C: New test. ! Mon Jun 7 23:39:16 1999 Jeffrey A Law (law@cygnus.com) * g++.old-deja/g++.mike/p6610a.C: Expect failure on freebsd-elf. --- 10981,10987 ---- * g++.old-deja/g++.eh/catch1.C: New test. ! 1999-06-07 Jeffrey A Law (law@cygnus.com) * g++.old-deja/g++.mike/p6610a.C: Expect failure on freebsd-elf. *************** Mon Jun 7 23:39:16 1999 Jeffrey A Law *** 8651,8669 **** * g77.f-torture/compile/19990502-0.f: Replace with new, shorter, test that still fails after recent changes. ! Fri Jun 4 02:25:04 1999 Andreas Schwab * gcc.c-torture/execute/990604-1.c: New test. ! Mon May 31 00:34:51 1999 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990531-1.c: New test. ! Thu May 27 02:38:36 1999 Franz Sirl * gcc.c-torture/compile/990527-1.c: New test. ! Thu May 27 02:18:51 1999 Joern Rennecke * gcc.c-torture/execute/990527-1.c: New test. --- 10993,11011 ---- * g77.f-torture/compile/19990502-0.f: Replace with new, shorter, test that still fails after recent changes. ! 1999-06-04 Andreas Schwab * gcc.c-torture/execute/990604-1.c: New test. ! 1999-05-31 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990531-1.c: New test. ! 1999-05-27 Franz Sirl * gcc.c-torture/compile/990527-1.c: New test. ! 1999-05-27 Joern Rennecke * gcc.c-torture/execute/990527-1.c: New test. *************** Thu May 27 02:18:51 1999 Joern Rennecke *** 8676,8682 **** * g77.f-torture/compile/19990525-0.f: New test. ! Tue May 25 01:21:16 1999 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990525-2.c: New test. --- 11018,11024 ---- * g77.f-torture/compile/19990525-0.f: New test. ! 1999-05-25 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990525-2.c: New test. *************** Tue May 25 01:21:16 1999 Jeffrey A Law *** 8691,8707 **** after downgrade to warning (cp/ChangeLog: 1999-05-20 Jason Merrill). ! Mon May 24 00:01:52 1999 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990524-1.c: New test. * gcc.dg/990524-1.c: New test. ! Sun May 23 21:18:12 1999 Franz Sirl * gcc.c-torture/compile/990523-1.c: New test. ! Wed May 19 02:56:18 1999 Raja R Harinath * gcc.c-torture/compile/990519-1.c: New test. --- 11033,11049 ---- after downgrade to warning (cp/ChangeLog: 1999-05-20 Jason Merrill). ! 1999-05-24 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990524-1.c: New test. * gcc.dg/990524-1.c: New test. ! 1999-05-23 Franz Sirl * gcc.c-torture/compile/990523-1.c: New test. ! 1999-05-19 Raja R Harinath * gcc.c-torture/compile/990519-1.c: New test. *************** Wed May 19 02:56:18 1999 Raja R Harinat *** 8717,8723 **** * gcc.dg/noreturn-1.c: New test. ! Thu May 13 02:02:46 1999 Andreas Schwab * gcc.c-torture/execute/990513-1.c: New test. --- 11059,11065 ---- * gcc.dg/noreturn-1.c: New test. ! 1999-05-13 Andreas Schwab * gcc.c-torture/execute/990513-1.c: New test. *************** Thu May 13 02:02:46 1999 Andreas Schwab *** 8773,8784 **** * g77.f-torture/compile/19990502-0.f: New test. ! Sun May 2 01:38:50 1999 Craig Burley * g77.f-torture/execute/u77-test.f (main): Declare FTELL as intrinsic. ! Sun May 2 01:13:37 1999 Craig Burley * g77.f-torture/execute/u77-test.f (main): List libU77 intrinsics not currently tested. --- 11115,11126 ---- * g77.f-torture/compile/19990502-0.f: New test. ! 1999-05-02 Craig Burley * g77.f-torture/execute/u77-test.f (main): Declare FTELL as intrinsic. ! 1999-05-02 Craig Burley * g77.f-torture/execute/u77-test.f (main): List libU77 intrinsics not currently tested. *************** Sun May 2 01:13:37 1999 Craig Burley *** 8787,8798 **** FTELL_subr, MCLOCK, MCLOCK8, and CPU_TIME. Trim blanks off the ends of some printed strings. ! Sun May 2 00:06:45 1999 Craig Burley * g77.f-torture/execute/u77-test.f (main): Just warn about FSTAT gid disagreement, as it's expected on some systems. ! Sat May 1 23:57:18 1999 Craig Burley * g77.f-torture/execute/u77-test.f: Generalize sum-checking to use a new function, which allows for some slop. --- 11129,11140 ---- FTELL_subr, MCLOCK, MCLOCK8, and CPU_TIME. Trim blanks off the ends of some printed strings. ! 1999-05-02 Craig Burley * g77.f-torture/execute/u77-test.f (main): Just warn about FSTAT gid disagreement, as it's expected on some systems. ! 1999-05-01 Craig Burley * g77.f-torture/execute/u77-test.f: Generalize sum-checking to use a new function, which allows for some slop. *************** Sat May 1 23:57:18 1999 Craig Burley *** 8806,8812 **** libf2c/libU77 version, bringing patches to that version here. Add suitable commentary. ! Sun Apr 25 12:28:59 1999 Richard Henderson * gcc.dg/990424-1.c: New test. --- 11148,11154 ---- libf2c/libU77 version, bringing patches to that version here. Add suitable commentary. ! 1999-04-25 Richard Henderson * gcc.dg/990424-1.c: New test. *************** Sun Apr 25 12:28:59 1999 Richard Hender *** 8820,8835 **** * g77.f-torture/compile/19990419-0.f: New test. * g77.f-torture/execute/19990419-1.f: New test. ! Sat Apr 17 16:56:48 1999 Richard Henderson * gcc.dg/uninit-9.c (func): Use __builtin_alloca instead of alloca to avoid the need for a prototype to supress a warning. ! Wed Apr 7 23:08:59 1999 Jim Wilson * gcc.c-torture/execute/920501-7.c (main): Delete __I960__ ifndef. ! Sun Apr 4 04:02:53 1999 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990404-1.c: New test. --- 11162,11177 ---- * g77.f-torture/compile/19990419-0.f: New test. * g77.f-torture/execute/19990419-1.f: New test. ! 1999-04-17 Richard Henderson * gcc.dg/uninit-9.c (func): Use __builtin_alloca instead of alloca to avoid the need for a prototype to supress a warning. ! 1999-04-07 Jim Wilson * gcc.c-torture/execute/920501-7.c (main): Delete __I960__ ifndef. ! 1999-04-04 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990404-1.c: New test. *************** Sun Apr 4 04:02:53 1999 Jeffrey A Law *** 8840,8851 **** * gcc.misc-tests/m-un-2.c: Adjust regexps for new format of missing initializer warnings. ! Sun Mar 28 00:49:41 1999 Jeffrey A Law (law@cygnus.com) * lib/objc-torture.exp: Replace "77" with "Obj-C" in pattern matching strings. ! Fri Mar 26 00:50:46 1999 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990326-1.c: New test from Charles Hannum. --- 11182,11193 ---- * gcc.misc-tests/m-un-2.c: Adjust regexps for new format of missing initializer warnings. ! 1999-03-28 Jeffrey A Law (law@cygnus.com) * lib/objc-torture.exp: Replace "77" with "Obj-C" in pattern matching strings. ! 1999-03-26 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990326-1.c: New test from Charles Hannum. *************** Fri Mar 26 00:50:46 1999 Jeffrey A Law *** 8854,8869 **** * g77.f-torture/execute/19990325-0.f: New test. * g77.f-torture/execute/19990325-1.f: New test. ! Wed Mar 24 22:50:50 1999 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990324-1.c: New test. ! Mon Mar 22 14:55:58 1999 Jim Wilson * gcc.c-torture/execute/bf-sign-2.c (main): Replace struct sizeof test with 4. ! Wed Mar 17 12:22:39 1999 Richard Henderson * gcc.c-torture/execute/ieee/980619-1.x: New. Expected fail on x86. --- 11196,11211 ---- * g77.f-torture/execute/19990325-0.f: New test. * g77.f-torture/execute/19990325-1.f: New test. ! 1999-03-24 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990324-1.c: New test. ! 1999-03-22 Jim Wilson * gcc.c-torture/execute/bf-sign-2.c (main): Replace struct sizeof test with 4. ! 1999-03-17 Richard Henderson * gcc.c-torture/execute/ieee/980619-1.x: New. Expected fail on x86. *************** Wed Mar 17 12:22:39 1999 Richard Hender *** 8877,8883 **** * g77.f-torture/execute/19990313-0.f: New test. * g77.f-torture/execute/19990313-1.f: New test. ! Fri Mar 12 16:17:28 1999 Jim Wilson * gcc.c-torture/execute/970312-1.c, execute/980605-1.c (f): Change printf to sprintf. --- 11219,11225 ---- * g77.f-torture/execute/19990313-0.f: New test. * g77.f-torture/execute/19990313-1.f: New test. ! 1999-03-12 Jim Wilson * gcc.c-torture/execute/970312-1.c, execute/980605-1.c (f): Change printf to sprintf. *************** Fri Mar 12 16:17:28 1999 Jim Wilson doesn't ! Thu Feb 11 01:12:12 1999 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990211-1.c: New test from Nathan SIdwell. ! Wed Feb 10 13:08:12 1999 Jonathan Larmour * gcc.dg/special/ecos.exp: New test driver for new tests with special requirements. --- 11319,11329 ---- * lib/chill.exp: Fix typo: doesn'timeout -> doesn't ! 1999-02-11 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990211-1.c: New test from Nathan SIdwell. ! 1999-02-10 Jonathan Larmour * gcc.dg/special/ecos.exp: New test driver for new tests with special requirements. *************** Wed Feb 10 13:08:12 1999 Jonathan Larmo *** 8998,9004 **** * gcc.dg/special/wkali-2a.c: Accompanying file to wkali-2.c. * gcc.dg/special/wkali-2b.c: Accompanying file to wkali-2.c. ! Wed Feb 10 12:15:35 1999 Felix Lee * lib/c-torture.exp (c-torture-compile): Pull out code for analyzing gcc error messages. --- 11340,11346 ---- * gcc.dg/special/wkali-2a.c: Accompanying file to wkali-2.c. * gcc.dg/special/wkali-2b.c: Accompanying file to wkali-2.c. ! 1999-02-10 Felix Lee * lib/c-torture.exp (c-torture-compile): Pull out code for analyzing gcc error messages. *************** Wed Feb 10 12:15:35 1999 Felix Lee * gcc.c-torture/execute/990208-1.c: New test. --- 11348,11354 ---- positives. * lib/gcc.exp (gcc_check_compile): New function. ! 1999-02-08 Richard Henderson * gcc.c-torture/execute/990208-1.c: New test. *************** Mon Feb 8 21:42:57 1999 Richard Hender *** 9027,9033 **** * README: Add comment about g++.dg directory ! Sat Feb 6 18:00:38 1999 Jeffrey A Law (law@cygnus.com) * README: Update email addresses. --- 11369,11375 ---- * README: Add comment about g++.dg directory ! 1999-02-06 Jeffrey A Law (law@cygnus.com) * README: Update email addresses. *************** Sat Feb 6 18:00:38 1999 Jeffrey A Law *** 9045,9055 **** * gcc.c-torture/execute/memcheck/driver.c (main): Use exit or abort to terminate program execution. ! Sat Jan 30 16:22:47 1999 Richard Henderson * gcc.c-torture/execute/990130-1.c: New test. ! Sat Jan 30 11:10:06 1999 Jeffrey A Law (law@cygnus.com) * gcc.dg/990130-1.c: New test. --- 11387,11397 ---- * gcc.c-torture/execute/memcheck/driver.c (main): Use exit or abort to terminate program execution. ! 1999-01-30 Richard Henderson * gcc.c-torture/execute/990130-1.c: New test. ! 1999-01-30 Jeffrey A Law (law@cygnus.com) * gcc.dg/990130-1.c: New test. *************** Sat Jan 30 11:10:06 1999 Jeffrey A Law *** 9069,9075 **** positives. * lib/gcc.exp (gcc_check_compile): new function. ! Sun Jan 17 00:02:33 1999 Jeffrey A Law (law@cygnus.com) * gcc.dg/990117-1.c: New test. --- 11411,11417 ---- positives. * lib/gcc.exp (gcc_check_compile): new function. ! 1999-01-17 Jeffrey A Law (law@cygnus.com) * gcc.dg/990117-1.c: New test. *************** Sun Jan 17 00:02:33 1999 Jeffrey A Law *** 9077,9101 **** * gcc.c-torture/execute/990117-1.c: New test from HJ Lu. ! Fri Jan 15 02:52:00 1999 Jeffrey A Law (law@cygnus.com) * g77.f-torture/compile/990115-1.f: New test. ! Thu Jan 7 23:39:47 1999 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/990107-1.c: New test ! Wed Jan 6 02:21:59 1999 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990106-2.c: New test. * gcc.c-torture/execute/990106-1.c: New test. ! Wed Dec 30 23:05:28 1998 Zack Weinberg * gcc.c-torture/compile/981223-1.c: New test. ! Tue Dec 29 11:33:25 1998 Richard Henderson * gcc.c-torture/execute/bcp-1.c (bad10): Rename from opt3. (opt3): Rename from opt4 and disable. --- 11419,11443 ---- * gcc.c-torture/execute/990117-1.c: New test from HJ Lu. ! 1999-01-15 Jeffrey A Law (law@cygnus.com) * g77.f-torture/compile/990115-1.f: New test. ! 1999-01-07 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/990107-1.c: New test ! 1999-01-06 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/990106-2.c: New test. * gcc.c-torture/execute/990106-1.c: New test. ! 1998-12-30 Zack Weinberg * gcc.c-torture/compile/981223-1.c: New test. ! 1998-12-29 Richard Henderson * gcc.c-torture/execute/bcp-1.c (bad10): Rename from opt3. (opt3): Rename from opt4 and disable. *************** Tue Dec 29 11:33:25 1998 Richard Hender *** 9112,9122 **** * gcc.c-torture/execute/920501-4.c (main): Fix typo: replace | with ||. ! Fri Dec 11 10:25:57 1998 Jeffrey A Law (law@cygnus.com) * g++.old-deja/g++.benjamin/p12475.C: Expect failure on mips64 targets. ! Fri Dec 11 01:12:45 1998 Zack Weinberg * gcc.c-torture/compile/981211-1.c: New test. --- 11454,11464 ---- * gcc.c-torture/execute/920501-4.c (main): Fix typo: replace | with ||. ! 1998-12-11 Jeffrey A Law (law@cygnus.com) * g++.old-deja/g++.benjamin/p12475.C: Expect failure on mips64 targets. ! 1998-12-11 Zack Weinberg * gcc.c-torture/compile/981211-1.c: New test. *************** Fri Dec 11 01:12:45 1998 Zack Weinberg *** 9126,9132 **** * g++.old-deja/g++.pt/instantiate6.C: Linker error, not crash. ! Tue Dec 8 22:50:04 1998 Franz Sirl * gcc.special/930510-1.c: Make C9X safe. * gcc.misc-tests/gcov-1.c Similarly. --- 11468,11474 ---- * g++.old-deja/g++.pt/instantiate6.C: Linker error, not crash. ! 1998-12-08 Franz Sirl * gcc.special/930510-1.c: Make C9X safe. * gcc.misc-tests/gcov-1.c Similarly. *************** Tue Dec 8 22:50:04 1998 Franz Sirl * gcc.c-torture/execute/981206.c: New test. --- 11478,11484 ---- * gcc.dg/ultrasp1.c: New test. ! 1998-12-06 Richard Henderson * gcc.c-torture/execute/981206.c: New test. *************** Sun Dec 6 00:40:12 1998 Richard Hender *** 9210,9216 **** * g77.f-torture/execute/labug1.f: New test. ! Sat Nov 21 21:41:05 1998 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/980526-1.c: Do nothing if NO_LABEL_VALUES is defined. --- 11552,11558 ---- * g77.f-torture/execute/labug1.f: New test. ! 1998-11-21 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/980526-1.c: Do nothing if NO_LABEL_VALUES is defined. *************** Sat Nov 21 21:41:05 1998 Jeffrey A Law *** 9224,9230 **** * g++.old-deja/g++.eh/throw2.C: New test. CV-qualifiers are not properly discarded. ! Sun Oct 11 05:04:28 1998 Ken Raeburn * gcc.c-torture/execute/memcheck: New directory of tests for -fcheck-memory-usage. --- 11566,11572 ---- * g++.old-deja/g++.eh/throw2.C: New test. CV-qualifiers are not properly discarded. ! 1998-10-11 Ken Raeburn * gcc.c-torture/execute/memcheck: New directory of tests for -fcheck-memory-usage. *************** Sun Oct 11 05:04:28 1998 Ken Raeburn < *** 9236,9246 **** * README.g++: Eliminate obsolete information, update and move most relevant stuff to README. ! Sat Nov 7 02:55:55 1998 Richard Henderson * gcc.c-torture/compile/981107-1.c: New test. ! Mon Nov 2 11:16:03 1998 Doug Evans * execute/memcpy-bi.c: New testcase. --- 11578,11588 ---- * README.g++: Eliminate obsolete information, update and move most relevant stuff to README. ! 1998-11-07 Richard Henderson * gcc.c-torture/compile/981107-1.c: New test. ! 1998-11-02 Doug Evans * execute/memcpy-bi.c: New testcase. *************** Mon Nov 2 11:16:03 1998 Doug Evans * compile/981022-1.c, compile/981022-1.x: New test and driver. ! Mon Oct 19 14:03:07 1998 Jeffrey A Law (law@cygnus.com) * 981019-1.c: New test. ! Wed Oct 14 21:11:19 1998 Robert Lipe * lib/objc-torture.exp (objc-torture-execute): Add -I so we can find objc headers. --- 11613,11627 ---- * lib/old-dejagnu.exp (old-dejagnu): Document `Additional sources'. ! 1998-10-22 Andreas Schwab * compile/981022-1.c, compile/981022-1.x: New test and driver. ! 1998-10-19 Jeffrey A Law (law@cygnus.com) * 981019-1.c: New test. ! 1998-10-14 Robert Lipe * lib/objc-torture.exp (objc-torture-execute): Add -I so we can find objc headers. *************** Wed Oct 14 21:11:19 1998 Robert Lipe * gcc.dg/dll-?.c Add thumb to target list. Fix assembler scan patterns to match current assembler output. --- 11691,11701 ---- * g++.old-deja/g++.ns/extern1.C: Fix XFAIL mark. ! 1998-10-09 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/special/920521-1.c: Fix bogus test. ! 1998-10-08 Nick Clifton * gcc.dg/dll-?.c Add thumb to target list. Fix assembler scan patterns to match current assembler output. *************** Thu Oct 8 19:14:05 1998 Nick Clifton *** 9373,9379 **** * g++.old-deja/g++.other/init7.C: New test. Retry initialization of static locals if first initialization throws. ! Wed Oct 7 12:00:20 1998 Jim Wilson * gcc.c-torture/compile/981007-1.c: New test for irix6 -O0 core dump. --- 11715,11721 ---- * g++.old-deja/g++.other/init7.C: New test. Retry initialization of static locals if first initialization throws. ! 1998-10-07 Jim Wilson * gcc.c-torture/compile/981007-1.c: New test for irix6 -O0 core dump. *************** Wed Oct 7 12:00:20 1998 Jim Wilson * g++.old-deja/g++.other/addrof1.C: New test. ! Thu Oct 1 17:15:26 1998 Nick Clifton * gcc.c-torture/compile/981001-1.c: New test. * gcc.c-torture/execute/981001-1.c: New test. ! Thu Oct 1 19:05:20 1998 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/981001-2.c: New test. * gcc.c-torture/compile/981001-3.c: New test. --- 11771,11786 ---- * g++.old-deja/g++.other/typename1.C: New test; template-dependent type name without `typename' should be rejected with -pedantic. ! 1998-10-02 Richard Henderson * g++.old-deja/g++.other/addrof1.C: New test. ! 1998-10-01 Nick Clifton * gcc.c-torture/compile/981001-1.c: New test. * gcc.c-torture/execute/981001-1.c: New test. ! 1998-10-01 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/981001-2.c: New test. * gcc.c-torture/compile/981001-3.c: New test. *************** Thu Oct 1 19:05:20 1998 Jeffrey A Law *** 9521,9570 **** (un)signed char are different types for template specialization purposes. ! Thu Sep 3 00:40:32 1998 Ovidiu Predescu * lib/{objc.exp,objc-torture.exp}: New files for objc testing harness. * objc: ObjC testsuite. ! Mon Aug 31 12:00:00 1998 Catherine Moore * gcc.c-torture/execute/941014-1.x: New file. ! Mon Aug 31 15:19:32 1998 Nick Clifton * lib/c-torture.exp: Add support for torture_eval_before_compile and torture_eval_before_execute variables. ! Sun Aug 30 17:38:20 1998 Jeffrey A Law (law@cygnus.com) * gcc.dg/980626-1.c: Delete this test. We've declared the warning this test triggers valid. ! Thu Aug 27 23:59:18 1998 Jeffrey A Law (law@cygnus.com) * gcc.dg/980827-1.c: New test. ! Wed Aug 26 16:10:00 1997 J"orn Rennecke * gcc.c-torture/execute/loop-4b.c: New test. ! Wed Aug 26 16:25:38 1998 Nick Clifton * lib/c-torture.exp: Add support for torture_eval_before_compile and torture_eval_before_execute variables. ! Tue Aug 25 19:42:13 1998 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/980825-1.c: New test. ! Mon Aug 24 14:20:32 1998 Nick Clifton * gcc.c-torture/execute/bcp-1.c (main): Fix optimize test loop to count number tests in opt_t0 not good_t0. ! Mon Aug 24 16:38:52 1998 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/930326-1.x: Fix typo. --- 11863,11912 ---- (un)signed char are different types for template specialization purposes. ! 1998-09-03 Ovidiu Predescu * lib/{objc.exp,objc-torture.exp}: New files for objc testing harness. * objc: ObjC testsuite. ! 1998-08-31 Catherine Moore * gcc.c-torture/execute/941014-1.x: New file. ! 1998-08-31 Nick Clifton * lib/c-torture.exp: Add support for torture_eval_before_compile and torture_eval_before_execute variables. ! 1998-08-30 Jeffrey A Law (law@cygnus.com) * gcc.dg/980626-1.c: Delete this test. We've declared the warning this test triggers valid. ! 1998-08-27 Jeffrey A Law (law@cygnus.com) * gcc.dg/980827-1.c: New test. ! 1997-08-26 J"orn Rennecke * gcc.c-torture/execute/loop-4b.c: New test. ! 1998-08-26 Nick Clifton * lib/c-torture.exp: Add support for torture_eval_before_compile and torture_eval_before_execute variables. ! 1998-08-25 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/980825-1.c: New test. ! 1998-08-24 Nick Clifton * gcc.c-torture/execute/bcp-1.c (main): Fix optimize test loop to count number tests in opt_t0 not good_t0. ! 1998-08-24 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/930326-1.x: Fix typo. *************** Mon Aug 24 16:38:52 1998 Jeffrey A Law *** 9573,9579 **** * lib/old-dejagnu.exp: Make it possible to XFAIL a test that causes an ICE. ! Fri Aug 21 23:59:18 1998 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/unsorted/memtst.c: Reduce size of array when STACK_SIZE is defined. --- 11915,11921 ---- * lib/old-dejagnu.exp: Make it possible to XFAIL a test that causes an ICE. ! 1998-08-21 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/unsorted/memtst.c: Reduce size of array when STACK_SIZE is defined. *************** Fri Aug 21 23:59:18 1998 Jeffrey A Law *** 9581,9587 **** * gcc.c-torture/compile/980821-1.c: New test. ! Fri Aug 21 03:14:04 1998 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/980526-2.c: Disable for targets with 16bit ints. --- 11923,11929 ---- * gcc.c-torture/compile/980821-1.c: New test. ! 1998-08-21 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/980526-2.c: Disable for targets with 16bit ints. *************** Fri Aug 21 03:14:04 1998 Jeffrey A Law *** 9595,9611 **** * lib/old-dejagnu.exp: Revise handling of `Internal compiler error'. ! Tue Aug 18 19:19:50 1998 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/*.x: Some updates for the h8300 targets. ! Sun Aug 16 01:29:19 1998 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/980816-1.c: New test. * gcc.dg/980816-1.c: New test. ! Thu Aug 13 00:13:55 1998 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/ieee/ieee.exp: Pass -ffloat-store to compiler for ieee tests. --- 11937,11953 ---- * lib/old-dejagnu.exp: Revise handling of `Internal compiler error'. ! 1998-08-18 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/*.x: Some updates for the h8300 targets. ! 1998-08-16 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/980816-1.c: New test. * gcc.dg/980816-1.c: New test. ! 1998-08-13 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/ieee/ieee.exp: Pass -ffloat-store to compiler for ieee tests. *************** Thu Aug 13 00:13:55 1998 Jeffrey A Law *** 9620,9630 **** -finstrument-functions. * gcc.c-torture/special/special.exp: Run it. ! Wed Jul 29 00:17:18 1998 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/980729-1.c: New test. ! Mon Jul 27 11:05:07 1998 Nick Clifton * gcc.c-torture/execute/ieee/930529-1.c (main): Check to see if __thumb__ is defined, and test for ARM style doubles if so. --- 11962,11972 ---- -finstrument-functions. * gcc.c-torture/special/special.exp: Run it. ! 1998-07-29 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/980729-1.c: New test. ! 1998-07-27 Nick Clifton * gcc.c-torture/execute/ieee/930529-1.c (main): Check to see if __thumb__ is defined, and test for ARM style doubles if so. *************** Mon Jul 27 11:05:07 1998 Nick Clifton *** 9633,9644 **** * g77.f-torture/noncompile/980615-0.f: New test. ! Sun Jul 26 01:15:56 1998 H.J. Lu (hjl@gnu.org) * gcc.dg/980312-1.c: Do link instead of compile. * gcc.dg/980313-1.c: Likewise. ! Sun Jul 26 01:05:02 1998 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/980726-1.c: New test. --- 11975,11986 ---- * g77.f-torture/noncompile/980615-0.f: New test. ! 1998-07-26 H.J. Lu (hjl@gnu.org) * gcc.dg/980312-1.c: Do link instead of compile. * gcc.dg/980313-1.c: Likewise. ! 1998-07-26 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/980726-1.c: New test. *************** Sun Jul 26 01:05:02 1998 Jeffrey A Law *** 9646,9671 **** * g77.f-torture/execute/io0.f: New test. ! Fri Jul 24 11:02:43 1998 Nick Clifton * gcc.c-torture/execute/comp-goto-1.c (main): Make main() return an int. ! Thu Jun 18 15:12:30 1998 Michael Meissner * gcc.c-torture/execute/980618-{1,2}.c: New tests that showed up m32r bugs. ! Fri Jul 17 14:19:32 1998 Nick Clifton * gcc.dg/980626-1.c: Expect failures for all toolchains until c-decl.c:grokdeclarator can handle mode attributes. ! Thu Jul 16 21:42:50 1998 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/980716-1.c: New test. ! Mon Jul 13 22:26:37 1998 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/920715-1.x: No longer expected to fail on the mn10200. --- 11988,12013 ---- * g77.f-torture/execute/io0.f: New test. ! 1998-07-24 Nick Clifton * gcc.c-torture/execute/comp-goto-1.c (main): Make main() return an int. ! 1998-06-18 Michael Meissner * gcc.c-torture/execute/980618-{1,2}.c: New tests that showed up m32r bugs. ! 1998-07-17 Nick Clifton * gcc.dg/980626-1.c: Expect failures for all toolchains until c-decl.c:grokdeclarator can handle mode attributes. ! 1998-07-16 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/980716-1.c: New test. ! 1998-07-13 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/920715-1.x: No longer expected to fail on the mn10200. *************** Mon Jul 13 22:26:37 1998 Jeffrey A Law *** 9685,9726 **** * g77.f-torture/execute/970816-3.f: New test from Craig. ! Fri Jul 10 23:43:33 1998 Martin von Loewis * g++.other/singleton.C: Return error value instead of taking SIGSEGV. ! Fri Jul 10 10:02:03 1998 Klaus-Georg Adams * g++.other/singleton.C: New test. Warning is under dispute. Runtime crash is not. ! Thu Jul 9 23:07:45 1998 Martin von Loewis * g++.ns/{alias2.C, alias5.C, koenig4.C, lookup3.C ns13.C, ns14.C, ns15.C, template3.C, undef1.C, using4.C, using5.C, using6.C, using7.C}: New namespace tests. ! Thu Jul 9 22:44:49 1998 Alexandre Oliva * g++.old-deja/g++.other/partspec1.C: Test matching of partial specialization with typedef'ed names used as array indexes. ! Thu Jul 9 00:38:51 1998 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/980709-1.c: New test. * gcc.dg/980709-1.c: New test. ! Tue Jul 7 13:41:27 1998 Richard Henderson * gcc.c-torture/execute/bcp-1.c: New test. ! Tue Jul 7 11:49:04 1998 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/980707-1.c: New test. ! Mon Jul 6 18:20:27 1998 Kamil Iskra * gcc.c-torture/compile/980706-1.c: New test. --- 12027,12068 ---- * g77.f-torture/execute/970816-3.f: New test from Craig. ! 1998-07-10 Martin von Loewis * g++.other/singleton.C: Return error value instead of taking SIGSEGV. ! 1998-07-10 Klaus-Georg Adams * g++.other/singleton.C: New test. Warning is under dispute. Runtime crash is not. ! 1998-07-09 Martin von Loewis * g++.ns/{alias2.C, alias5.C, koenig4.C, lookup3.C ns13.C, ns14.C, ns15.C, template3.C, undef1.C, using4.C, using5.C, using6.C, using7.C}: New namespace tests. ! 1998-07-09 Alexandre Oliva * g++.old-deja/g++.other/partspec1.C: Test matching of partial specialization with typedef'ed names used as array indexes. ! 1998-07-09 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/980709-1.c: New test. * gcc.dg/980709-1.c: New test. ! 1998-07-07 Richard Henderson * gcc.c-torture/execute/bcp-1.c: New test. ! 1998-07-07 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/980707-1.c: New test. ! 1998-07-06 Kamil Iskra * gcc.c-torture/compile/980706-1.c: New test. *************** Mon Jul 6 18:20:27 1998 Kamil Iskra < *** 9729,9741 **** * g77.f-torture/execute/980701-0.f, g77.f-torture/execute/980701-1.f: New test from Craig. ! Wed Jul 1 00:52:51 1998 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/980701-1.c: New test. * gcc.c-torture/execute/980701-1.c: New test. ! Tue Jun 30 11:51:42 1998 Klaus-Georg Adams * g++.old-deja/g++.robertl/eb132.C: New test. --- 12071,12083 ---- * g77.f-torture/execute/980701-0.f, g77.f-torture/execute/980701-1.f: New test from Craig. ! 1998-07-01 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/compile/980701-1.c: New test. * gcc.c-torture/execute/980701-1.c: New test. ! 1998-06-30 Klaus-Georg Adams * g++.old-deja/g++.robertl/eb132.C: New test. *************** rlsruhe.de> *** 9750,9756 **** * g77.f-torture/execute/980628-3.f: Remove mail headers. ! Sun Jun 28 12:49:02 1998 Jeffrey A Law (law@cygnus.com) * g77.f-torture/execute/980628-4.f: New test from Craig. * g77.f-torture/execute/980628-5.f: Likewise. --- 12092,12098 ---- * g77.f-torture/execute/980628-3.f: Remove mail headers. ! 1998-06-28 Jeffrey A Law (law@cygnus.com) * g77.f-torture/execute/980628-4.f: New test from Craig. * g77.f-torture/execute/980628-5.f: Likewise. *************** Sun Jun 28 12:49:02 1998 Jeffrey A Law *** 9760,9823 **** * g77.f-torture/execute/980628-3.f: Likewise. * g77.f-torture/execute/980628-6.f: Likewise. ! Sun Jun 28 00:37:26 1998 Jeffrey A Law (law@cygnus.com) * lib/g77.exp (default_g77_version): Tweak to make it work in a build directory when nothing has been installed yet. ! Sat Jun 27 23:23:18 1998 Carlo Wood * gcc.c-torture/special/special.exp: Handle newer versions of dejagnu. ! Fri Jun 26 17:57:40 1998 Jeffrey A Law (law@cygnus.com) * gcc.dg/980626-1.c: New test. ! Fri Jun 19 23:26:12 1998 Bruno Haible * gcc.misc-tests/m-un-2.c: New test. * g++.old-deja/g++.other/warn01.c: Likewise. ! Fri Jun 19 14:06:36 1998 Robert Lipe * gcc.dg/980414-1.c: Move comments outside of ASM to improve compatibility with assmblers with a different comment character. Eliminate use of GAS-specific extensions. ! Fri Jun 19 02:05:14 1998 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/ieee/980619-1.c: New test. ! Fri Jun 19 00:58:11 1998 Robert Lipe *lib/g77.exp: Replace search for libf2c.a with search for newly renamed libg2c.a ! Wed Jun 17 18:53:12 1998 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/980617-1.c: New test. ! Fri Jun 12 01:08:49 1998 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/980612-1.c: New test. ! Mon Jun 8 02:13:42 1998 Jeffrey A Law (law@cygnus.com) * gcc.dg/980523-1.c: Only test on ppc-linux. * gcc.dg/980526-1.c, gcc.dg/switch-1.c: Likewise. * gcc.c-torture/execute/980608-1.c: New test. ! Fri Jun 5 21:54:26 1997 J"orn Rennecke * gcc.c-torture/execute/980605-1.c: New test. ! Thu Jun 4 01:39:24 1998 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/980604-1.c: New test. ! Tue Jun 2 20:51:43 1998 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/980602-1.c: New test. * gcc.c-torture/execute/980602-2.c: Likewise. --- 12102,12165 ---- * g77.f-torture/execute/980628-3.f: Likewise. * g77.f-torture/execute/980628-6.f: Likewise. ! 1998-06-28 Jeffrey A Law (law@cygnus.com) * lib/g77.exp (default_g77_version): Tweak to make it work in a build directory when nothing has been installed yet. ! 1998-06-27 Carlo Wood * gcc.c-torture/special/special.exp: Handle newer versions of dejagnu. ! 1998-06-26 Jeffrey A Law (law@cygnus.com) * gcc.dg/980626-1.c: New test. ! 1998-06-19 Bruno Haible * gcc.misc-tests/m-un-2.c: New test. * g++.old-deja/g++.other/warn01.c: Likewise. ! 1998-06-19 Robert Lipe * gcc.dg/980414-1.c: Move comments outside of ASM to improve compatibility with assmblers with a different comment character. Eliminate use of GAS-specific extensions. ! 1998-06-19 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/ieee/980619-1.c: New test. ! 1998-06-19 Robert Lipe *lib/g77.exp: Replace search for libf2c.a with search for newly renamed libg2c.a ! 1998-06-17 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/980617-1.c: New test. ! 1998-06-12 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/980612-1.c: New test. ! 1998-06-08 Jeffrey A Law (law@cygnus.com) * gcc.dg/980523-1.c: Only test on ppc-linux. * gcc.dg/980526-1.c, gcc.dg/switch-1.c: Likewise. * gcc.c-torture/execute/980608-1.c: New test. ! 1997-06-05 J"orn Rennecke * gcc.c-torture/execute/980605-1.c: New test. ! 1998-06-04 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/980604-1.c: New test. ! 1998-06-02 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/980602-1.c: New test. * gcc.c-torture/execute/980602-2.c: Likewise. *************** Tue Jun 2 20:51:43 1998 Jeffrey A Law *** 9826,9842 **** * 970125-0.f: Fix per JCB. Add commentary. ! Sun May 31 23:23:29 1998 Michael Meissner * gcc.c-torture/execute/ieee/mzero2.c: New test to better test IEEE -0 support. ! Fri May 29 01:10:12 1998 Peter Leven * gcc.c-torture/execute/ieee/fp-cmp-1.c: Set up signal handler earlier. ! Thu May 28 00:17:42 1998 Catherine Moore * gcc.c-torture/execute/980526-3.c: New test. --- 12168,12184 ---- * 970125-0.f: Fix per JCB. Add commentary. ! 1998-05-31 Michael Meissner * gcc.c-torture/execute/ieee/mzero2.c: New test to better test IEEE -0 support. ! 1998-05-29 Peter Leven * gcc.c-torture/execute/ieee/fp-cmp-1.c: Set up signal handler earlier. ! 1998-05-28 Catherine Moore * gcc.c-torture/execute/980526-3.c: New test. *************** Thu May 28 00:17:42 1998 Catherine Moor *** 9847,9858 **** * g++.old-deja/g++.jason/thunk3.C: Add m68k-motorola-sysv and m88k-motorola-sysv3 to XFAIL. ! Tue May 26 23:58:03 1998 Franz Sirl * gcc.dg/980526-1.c: New test. * gcc.c-torture/execute/980526-2.c: New test. ! Tue May 26 23:40:40 1998 Jeffrey A Law (law@cygnus.com) * gcc.dg/980523-1.c: Change "ppc" to "powerpc". --- 12189,12200 ---- * g++.old-deja/g++.jason/thunk3.C: Add m68k-motorola-sysv and m88k-motorola-sysv3 to XFAIL. ! 1998-05-26 Franz Sirl * gcc.dg/980526-1.c: New test. * gcc.c-torture/execute/980526-2.c: New test. ! 1998-05-26 Jeffrey A Law (law@cygnus.com) * gcc.dg/980523-1.c: Change "ppc" to "powerpc". *************** Tue May 26 23:40:40 1998 Jeffrey A Law *** 9869,9875 **** * lib/old-dejagnu.exp: All tests fail if we got an internal compiler error for the line. Don't run multiple tests for the same line. ! Sat May 23 23:27:10 1998 Jeffrey A Law (law@cygnus.com) * gcc.dg/980523-1.c: New test. --- 12211,12217 ---- * lib/old-dejagnu.exp: All tests fail if we got an internal compiler error for the line. Don't run multiple tests for the same line. ! 1998-05-23 Jeffrey A Law (law@cygnus.com) * gcc.dg/980523-1.c: New test. *************** Sat May 23 23:27:10 1998 Jeffrey A Law *** 9881,9895 **** * lib/old-dejagnu.exp: Ignore C++ "instantiated from" mesages. ! Thu May 21 23:23:21 1998 Jeffrey A Law (law@cygnus.com) * gcc.dg/980520-1.c: New test. ! Wed May 20 14:37:15 1998 Manfred Hollstein * gcc.dg/980502-1.c: Fix return type. ! Wed May 20 11:29:48 1998 Jeffrey A Law (law@cygnus.com) * gcc.dg/{980502-1.c, clobbers.c}: New tests. * gcc.c-torture/compile/{980504-1.c, 980506-1.c}: Likewise. --- 12223,12237 ---- * lib/old-dejagnu.exp: Ignore C++ "instantiated from" mesages. ! 1998-05-21 Jeffrey A Law (law@cygnus.com) * gcc.dg/980520-1.c: New test. ! 1998-05-20 Manfred Hollstein * gcc.dg/980502-1.c: Fix return type. ! 1998-05-20 Jeffrey A Law (law@cygnus.com) * gcc.dg/{980502-1.c, clobbers.c}: New tests. * gcc.c-torture/compile/{980504-1.c, 980506-1.c}: Likewise. *************** Wed May 20 11:29:48 1998 Jeffrey A Law *** 9917,9923 **** g77.f-torture/execute/claus.f, g77.f-torture/execute/cabs.f: Call abort where appropriate. ! Tue May 5 19:20:13 1998 Michael Meissner * lib/c-torture.exp (TORTURE_OPTIONS): Add -Os to options. * lib/f-torture.exp (TORTURE_OPTIONS): Ditto. --- 12259,12265 ---- g77.f-torture/execute/claus.f, g77.f-torture/execute/cabs.f: Call abort where appropriate. ! 1998-05-05 Michael Meissner * lib/c-torture.exp (TORTURE_OPTIONS): Add -Os to options. * lib/f-torture.exp (TORTURE_OPTIONS): Ditto. *************** Tue May 5 19:20:13 1998 Michael Meissn *** 9940,9973 **** * g77.f-torture/compile/970125-0.f: New test. * g77.f-torture/compile/980419-1.f: New test. ! Wed Apr 8 13:09:15 1998 Jim Wilson * gcc.c-torture/execute/980407-1.c: Delete test. Is duplicate of loop-4.c. ! Tue Apr 7 12:01:24 1998 Jim Wilson * gcc.c-torture/execute/980407-1.c: New test from Joern Rennecke. ! Fri Apr 3 12:27:49 1998 Jim Wilson * gcc.c-torture/compile/980329-1.c: New test. ! Wed Mar 18 16:22:22 1998 Jim Wilson * gcc.dg/980313-1.c: New test for fp conditional move on PPro. * gcc.dg/980312-1.c: Fix typo in -march command. ! Mon Mar 16 20:01:30 1998 H.J. Lu (hjl@gnu.org) * gcc.dg/980312-1.c: New test for fp conditional move on PPro. ! Wed Mar 11 13:08:48 1998 Robert Lipe * g77.f-torture/execute/980310-5.f: Deleted. Craig Burley and Dave Love agree the Fortran source is bogus. ! Wed Mar 11 00:03:49 1998 Robert Lipe * g77.f-torture/compile/980310-1.f, g77.f-torture/compile/980310-2.f g77.f-torture/compile/980310-3.f, g77.f-torture/compile/980310-4.f --- 12282,12315 ---- * g77.f-torture/compile/970125-0.f: New test. * g77.f-torture/compile/980419-1.f: New test. ! 1998-04-08 Jim Wilson * gcc.c-torture/execute/980407-1.c: Delete test. Is duplicate of loop-4.c. ! 1998-04-07 Jim Wilson * gcc.c-torture/execute/980407-1.c: New test from Joern Rennecke. ! 1998-04-03 Jim Wilson * gcc.c-torture/compile/980329-1.c: New test. ! 1998-03-18 Jim Wilson * gcc.dg/980313-1.c: New test for fp conditional move on PPro. * gcc.dg/980312-1.c: Fix typo in -march command. ! 1998-03-16 H.J. Lu (hjl@gnu.org) * gcc.dg/980312-1.c: New test for fp conditional move on PPro. ! 1998-03-11 Robert Lipe * g77.f-torture/execute/980310-5.f: Deleted. Craig Burley and Dave Love agree the Fortran source is bogus. ! 1998-03-11 Robert Lipe * g77.f-torture/compile/980310-1.f, g77.f-torture/compile/980310-2.f g77.f-torture/compile/980310-3.f, g77.f-torture/compile/980310-4.f *************** Wed Mar 11 00:03:49 1998 Robert Lipe < *** 9975,9981 **** g77.f-torture/compile/980310-8.f: New tests from egcs-bugs archives. * g77.f-torture/execute/980310-5.f: New test from egcs-bugs archives. ! Tue Mar 10 00:31:51 1998 Alexandre Oliva * g++.old-deja/g++.other/friend1.C: New test. --- 12317,12323 ---- g77.f-torture/compile/980310-8.f: New tests from egcs-bugs archives. * g77.f-torture/execute/980310-5.f: New test from egcs-bugs archives. ! 1998-03-10 Alexandre Oliva * g++.old-deja/g++.other/friend1.C: New test. *************** Tue Mar 10 00:31:51 1998 Alexandre Oliv *** 9984,9999 **** * g77.f-torture/execute/dnrm2.f (dnrm2): Avoid uninitialized (and possibly uninitialized) variables and declare dnrm2. ! Mon Feb 23 15:16:53 1998 Robert Lipe From Bruno Haible : * gcc.c-torture/execute/980223.c: New test. ! Fri Feb 13 00:36:07 1998 Jeffrey A Law (law@cygnus.com) * gcc.dg/ifelse-1.c: New test. ! Mon Feb 9 02:08:47 1998 H.J. Lu (hjl@gnu.org) * lib/g77.exp (g77_target_compile): Fix multilibs for libf2c. --- 12326,12341 ---- * g77.f-torture/execute/dnrm2.f (dnrm2): Avoid uninitialized (and possibly uninitialized) variables and declare dnrm2. ! 1998-02-23 Robert Lipe From Bruno Haible : * gcc.c-torture/execute/980223.c: New test. ! 1998-02-13 Jeffrey A Law (law@cygnus.com) * gcc.dg/ifelse-1.c: New test. ! 1998-02-09 H.J. Lu (hjl@gnu.org) * lib/g77.exp (g77_target_compile): Fix multilibs for libf2c. *************** Mon Feb 9 02:08:47 1998 H.J. Lu (hjl@ *** 10003,10034 **** handling to be like "excess errors test fails". * Update various tests accordingly. ! Fri Feb 6 14:30:48 1998 Jim Wilson * gcc.c-torture/execute/980205.c: New test. ! Sun Jan 18 01:33:59 1998 Jeffrey A Law (law@cygnus.com) * lib/c-torture.exp: Look for .x files instead of .cexp files. * lib/f-torture.exp: Similarly. * gcc.c-torture: Rename all .cexp files to .x files. ! Mon Dec 8 23:55:26 1997 J"orn Rennecke * gcc.c-torture/noncompile/noncompile.exp (921102-1.c): Fixed comment. (940510-1.c): Removed duplicate. (971104-1.c): New test. ! Tue Nov 25 16:18:51 1997 Kate Hedstrom (kate@ahab.rutgers.edu) * lib/f-torture.exp: Improve error and loop detection. ! Wed Nov 19 14:27:04 1997 Michael Meissner * gcc.c-torture/execute/950221-1.c (filler): If STACK_SIZE is defined, use that to size the filler array. ! Fri Sep 26 10:50:53 1997 Bob Manson * lib/c-torture.exp(c-torture-execute): Fix typo. --- 12345,12376 ---- handling to be like "excess errors test fails". * Update various tests accordingly. ! 1998-02-06 Jim Wilson * gcc.c-torture/execute/980205.c: New test. ! 1998-01-18 Jeffrey A Law (law@cygnus.com) * lib/c-torture.exp: Look for .x files instead of .cexp files. * lib/f-torture.exp: Similarly. * gcc.c-torture: Rename all .cexp files to .x files. ! 1997-12-08 J"orn Rennecke * gcc.c-torture/noncompile/noncompile.exp (921102-1.c): Fixed comment. (940510-1.c): Removed duplicate. (971104-1.c): New test. ! 1997-11-25 Kate Hedstrom (kate@ahab.rutgers.edu) * lib/f-torture.exp: Improve error and loop detection. ! 1997-11-19 Michael Meissner * gcc.c-torture/execute/950221-1.c (filler): If STACK_SIZE is defined, use that to size the filler array. ! 1997-09-26 Bob Manson * lib/c-torture.exp(c-torture-execute): Fix typo. *************** Fri Sep 26 10:50:53 1997 Bob Manson * lib/c-torture.exp (TORTURE_OPTIONS): Removed unnecessary changes. Only test one -g option, and move it to the end of the list of options to test. ! Fri Sep 19 17:58:00 1997 Michael Meissner * lib/c-torture.exp (TORTURE_OPTIONS): Check for the environment variable GCC_TORTURE_OPTIONS to supply default switches separated by colons. If no environment variable, run tests with -O0 -g, -O1 -g, and -O2 -g as well. ! Wed Sep 17 10:12:26 1997 Bob Manson * lib/plumhall.exp: Don't set PHSRC in this file. Add a few explanatory comments. Fix indentation. ! Mon Sep 15 00:36:53 1997 Jeffrey A Law (law@cygnus.com) * lib/g++.exp (g++_init): Look for xgcc in $basedir too. ! Thu Sep 11 13:54:47 1997 Jeffrey A Law (law@cygnus.com) * g++.old-deja/g++.brendan/scope4.C: No longer expected to fail. * g++.old-deja/g++.mike/p7325.C: Likewise. * g++.old-deja/g++.mike/eh51.C: No longer expected to fail on the PA. ! Thu Sep 11 10:00:03 1997 Alexandre Oliva (oliva@dcc.unicamp.br) * g++.old-deja/g++.brendan/crash20.C: Rework to avoid libg++. * g++.old-deja/g++.brendan/crash30.C: Likewise. * g++.old-deja/g++.brendan/crash39.C: Likewise. * g++.old-deja/g++.law/operators4.C: Likewise. ! Thu Sep 11 09:53:40 1997 Joe Buck (jbuck@synopsys.com) * g++.old-deja/g++.mike/p658.C: eliminate use. * g++.old-deja/g++.mike/p784.C: Ditto. * g++.old-deja/g++.mike/p785.C: Ditto. ! Fri Sep 5 00:21:42 1997 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/cbrt.c: Tweak to work on more targets. ! Wed Sep 3 17:29:35 1997 Bob Manson * gcc.c-torture/execute/ieee/ieee.exp: Check for ieee_multilib_flags target feature; pass this to c-torture-execute as needed. ! Wed Sep 3 17:15:00 1997 Bob Manson * lib/c-torture.exp(c-torture-execute): If the previous and the current executables being tested are identical, we don't need to --- 12378,12434 ---- testcase as the executable name. Keep the executable around if the test fails. ! 1997-09-19 Bob Manson * lib/c-torture.exp (TORTURE_OPTIONS): Removed unnecessary changes. Only test one -g option, and move it to the end of the list of options to test. ! 1997-09-19 Michael Meissner * lib/c-torture.exp (TORTURE_OPTIONS): Check for the environment variable GCC_TORTURE_OPTIONS to supply default switches separated by colons. If no environment variable, run tests with -O0 -g, -O1 -g, and -O2 -g as well. ! 1997-09-17 Bob Manson * lib/plumhall.exp: Don't set PHSRC in this file. Add a few explanatory comments. Fix indentation. ! 1997-09-15 Jeffrey A Law (law@cygnus.com) * lib/g++.exp (g++_init): Look for xgcc in $basedir too. ! 1997-09-11 Jeffrey A Law (law@cygnus.com) * g++.old-deja/g++.brendan/scope4.C: No longer expected to fail. * g++.old-deja/g++.mike/p7325.C: Likewise. * g++.old-deja/g++.mike/eh51.C: No longer expected to fail on the PA. ! 1997-09-11 Alexandre Oliva (oliva@dcc.unicamp.br) * g++.old-deja/g++.brendan/crash20.C: Rework to avoid libg++. * g++.old-deja/g++.brendan/crash30.C: Likewise. * g++.old-deja/g++.brendan/crash39.C: Likewise. * g++.old-deja/g++.law/operators4.C: Likewise. ! 1997-09-11 Joe Buck (jbuck@synopsys.com) * g++.old-deja/g++.mike/p658.C: eliminate use. * g++.old-deja/g++.mike/p784.C: Ditto. * g++.old-deja/g++.mike/p785.C: Ditto. ! 1997-09-05 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/cbrt.c: Tweak to work on more targets. ! 1997-09-03 Bob Manson * gcc.c-torture/execute/ieee/ieee.exp: Check for ieee_multilib_flags target feature; pass this to c-torture-execute as needed. ! 1997-09-03 Bob Manson * lib/c-torture.exp(c-torture-execute): If the previous and the current executables being tested are identical, we don't need to *************** Wed Sep 3 17:15:00 1997 Bob Manson * lib/gcc-dg.exp (gcc-dg-test): Fix typos setting compile_type. ! Fri Aug 29 12:48:09 1997 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/921007-1.c: Make strcmp static. ! Thu Jul 31 12:17:24 1997 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/920501-9.c: Fix to work on targets with 32bit or larger longs. --- 12436,12450 ---- unique. Add an optional argument for passing additional compiler flags. ! 1997-09-02 Doug Evans * lib/gcc-dg.exp (gcc-dg-test): Fix typos setting compile_type. ! 1997-08-29 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/921007-1.c: Make strcmp static. ! 1997-07-31 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/920501-9.c: Fix to work on targets with 32bit or larger longs. *************** Thu Jul 31 12:17:24 1997 Jeffrey A Law *** 10110,10153 **** * gcc.c-torture/execute/961017-2.c: Fix to work on targets which have either a 32bit long or 32bit int. ! Tue Jul 29 00:40:38 1997 J"orn Rennecke * gcc.c-torture/execute/conversion.c (test_float_to_integer): Make double precision tests dependent on sizeof (double). ! Wed Jul 9 15:15:40 1997 Bob Manson * gcc.prms/5403.c: Allow CRLFs to occur at the start of the output too. ! Tue Jun 17 22:11:16 1997 J"orn Rennecke * gcc.c-torture/compile/961203-1.cexp: New script. ! Mon Jun 16 15:27:06 1997 Bob Manson * lib/g++.exp(g++_init): Use g++_include_flags instead of making up the includes ourselves. ! Wed Jun 11 17:33:21 1997 Bob Manson * lib/plumhall.exp: Remove random include, and add a few verbose messages for debugging. ! Fri Jun 6 14:23:24 1997 Bob Manson * lib/g++.exp: Use g++_link_flags from libgloss.exp, instead of trying to do it ourselves. ! Wed Jun 4 03:38:50 1997 J"orn Rennecke * gcc.c-torture/execute/ieee/ieee.exp: Set -mieee for SH. ! Wed Jun 4 18:43:55 1997 Bob Manson * gcc.prms/5403.c: Made regexp a bit less strict. ! Tue Jun 3 15:12:39 1997 Bob Manson * lib/mike-gcc.exp: Don't use global exec_output anymore. Output is returned from remote_load instead. --- 12452,12495 ---- * gcc.c-torture/execute/961017-2.c: Fix to work on targets which have either a 32bit long or 32bit int. ! 1997-07-29 J"orn Rennecke * gcc.c-torture/execute/conversion.c (test_float_to_integer): Make double precision tests dependent on sizeof (double). ! 1997-07-09 Bob Manson * gcc.prms/5403.c: Allow CRLFs to occur at the start of the output too. ! 1997-06-17 J"orn Rennecke * gcc.c-torture/compile/961203-1.cexp: New script. ! 1997-06-16 Bob Manson * lib/g++.exp(g++_init): Use g++_include_flags instead of making up the includes ourselves. ! 1997-06-11 Bob Manson * lib/plumhall.exp: Remove random include, and add a few verbose messages for debugging. ! 1997-06-06 Bob Manson * lib/g++.exp: Use g++_link_flags from libgloss.exp, instead of trying to do it ourselves. ! 1997-06-04 J"orn Rennecke * gcc.c-torture/execute/ieee/ieee.exp: Set -mieee for SH. ! 1997-06-04 Bob Manson * gcc.prms/5403.c: Made regexp a bit less strict. ! 1997-06-03 Bob Manson * lib/mike-gcc.exp: Don't use global exec_output anymore. Output is returned from remote_load instead. *************** Tue Jun 3 15:12:39 1997 Bob Manson * lib/g++.exp: Use build_wrapper procedure. * lib/gcc.exp: Ditto. ! Tue May 20 15:23:27 1997 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/*.c: Include stdlib.h instead of using an old-style decl for malloc. Fixes tests to work when sizeof (int) != sizeof (size_t). ! Thu May 15 14:00:04 1997 Mike Meissner * gcc.c-torture/execute/va-arg-3.c: If NO_VARARGS is defined, nop test. * gcc.c-torture/execute/strct-varg-1.c: If NO_VARARGS is defined, use stdargs.h interface. ! Thu May 15 14:10:39 1997 Mike Meissner * lib/gcc.exp (gcc_target_compile): If gcc,no_varargs, define NO_VARARGS when compiling. ! Thu May 1 14:49:19 1997 Bob Manson * lib/plumhall.exp(ph_includes): New procedure. (ph_make): Use it. --- 12498,12527 ---- * lib/old-dejagnu.exp: Ditto. * lib/c-torture.exp: Ditto. ! 1997-05-30 Bob Manson * lib/g++.exp: Use build_wrapper procedure. * lib/gcc.exp: Ditto. ! 1997-05-20 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/*.c: Include stdlib.h instead of using an old-style decl for malloc. Fixes tests to work when sizeof (int) != sizeof (size_t). ! 1997-05-15 Mike Meissner * gcc.c-torture/execute/va-arg-3.c: If NO_VARARGS is defined, nop test. * gcc.c-torture/execute/strct-varg-1.c: If NO_VARARGS is defined, use stdargs.h interface. ! 1997-05-15 Mike Meissner * lib/gcc.exp (gcc_target_compile): If gcc,no_varargs, define NO_VARARGS when compiling. ! 1997-05-01 Bob Manson * lib/plumhall.exp(ph_includes): New procedure. (ph_make): Use it. *************** Thu May 1 14:49:19 1997 Bob Manson * lib/g++.exp(g++init): Don't try to be smart, always run g++_init to completion when it's called. ! Fri Mar 21 16:34:52 1997 Michael Meissner * gcc.c-torture/execute/920501-7.c (main,x): If NO_LABELS_VALUES is defined, don't do test. ! Thu Mar 20 09:50:32 1997 Doug Evans * lib/plumhall.exp (ph_make): Comment out errorCode=NONE test for object files. --- 12530,12546 ---- * lib/g++.exp: Rename test-glue.c to testglue.c. * lib/gcc.exp: Ditto. ! 1997-04-10 Bob Manson * lib/g++.exp(g++init): Don't try to be smart, always run g++_init to completion when it's called. ! 1997-03-21 Michael Meissner * gcc.c-torture/execute/920501-7.c (main,x): If NO_LABELS_VALUES is defined, don't do test. ! 1997-03-20 Doug Evans * lib/plumhall.exp (ph_make): Comment out errorCode=NONE test for object files. *************** Thu Mar 20 09:50:32 1997 Doug Evans * gcc.c-torture/execute/ieee/rbug.c (main): Don't do long long to double conversion if double isn't at least 8 bytes. --- 12550,12556 ---- errorCode, record errorCode in log file. (*): Replace send_log/verbose with verbose -log. ! 1997-03-19 Michael Meissner * gcc.c-torture/execute/ieee/rbug.c (main): Don't do long long to double conversion if double isn't at least 8 bytes. *************** Wed Mar 19 13:06:26 1997 Michael Meissn *** 10220,10226 **** 8 bytes, just exit, since 4 byte doubles don't have enough bits of precision for the test to complete. ! Fri Mar 14 17:51:02 1997 Michael Meissner * gcc.c-torture/execute/920715-1.cexp (d10v-*-*): Expect to fail if d10v is not compiled with the -mdouble64 flag. --- 12562,12568 ---- 8 bytes, just exit, since 4 byte doubles don't have enough bits of precision for the test to complete. ! 1997-03-14 Michael Meissner * gcc.c-torture/execute/920715-1.cexp (d10v-*-*): Expect to fail if d10v is not compiled with the -mdouble64 flag. *************** Fri Mar 14 17:51:02 1997 Michael Meissn *** 10229,10257 **** * gcc.c-torture/execute/cvt-1.cexp (d10v-*-*): Expect to fail if d10v is not compiled with the -mint32 flag. ! Thu Mar 13 16:09:28 1997 Bob Manson * lib/plumhall.exp: Use incr_count. ! Wed Mar 12 10:01:33 1997 Jeffrey A Law (law@cygnus.com) * gcc.c-torture: Update to c-torture-1.45. ! Sun Feb 23 18:12:04 1997 Bob Manson * lib/gcc.exp(gcc_init): Add args parameter (which will contain the name of the expect testcase file). * lib/g++.exp(g++_init): Ditto. ! Thu Feb 20 13:53:05 1997 Bob Manson * lib/g++.exp(g++_exit): $gluefile lives on the build, not the host. * lib/gcc.exp(gcc_exit): New procedure. ! Wed Feb 19 15:16:16 1997 Bob Manson * g++.old-deja/g++.rfg/*: Added "Build don't link" and ERROR specs where appropriate. --- 12571,12599 ---- * gcc.c-torture/execute/cvt-1.cexp (d10v-*-*): Expect to fail if d10v is not compiled with the -mint32 flag. ! 1997-03-13 Bob Manson * lib/plumhall.exp: Use incr_count. ! 1997-03-12 Jeffrey A Law (law@cygnus.com) * gcc.c-torture: Update to c-torture-1.45. ! 1997-02-23 Bob Manson * lib/gcc.exp(gcc_init): Add args parameter (which will contain the name of the expect testcase file). * lib/g++.exp(g++_init): Ditto. ! 1997-02-20 Bob Manson * lib/g++.exp(g++_exit): $gluefile lives on the build, not the host. * lib/gcc.exp(gcc_exit): New procedure. ! 1997-02-19 Bob Manson * g++.old-deja/g++.rfg/*: Added "Build don't link" and ERROR specs where appropriate. *************** Wed Feb 19 15:16:16 1997 Bob Manson * lib/old-dejagnu.exp(old-dejagnu): Add various "skip if" options. --- 12604,12610 ---- * Converted all non-old-style g++ testcases to old-style, and moved into g++.old-deja. ! 1997-02-14 Bob Manson * lib/old-dejagnu.exp(old-dejagnu): Add various "skip if" options. *************** Fri Feb 14 11:46:46 1997 Bob Manson * lib/gcc.exp (gcc_target_compile): Add support for defining NO_TRAMPOLINES and NO_LABEL_VALUES if the baseboard file indicates the machine doesn't have those features. ! Tue Feb 11 12:57:11 1997 Bob Manson * g++.law/operators4.exp: Don't use LIBS. ! Sat Feb 8 14:45:55 1997 Bob Manson * g++.law/virtual1.exp: Don't use CXX_FLAGS. --- 12614,12630 ---- * lib/g++.exp(g++_init): Don't unset gluefile unless it exists. ! 1997-02-13 Michael Meissner * lib/gcc.exp (gcc_target_compile): Add support for defining NO_TRAMPOLINES and NO_LABEL_VALUES if the baseboard file indicates the machine doesn't have those features. ! 1997-02-11 Bob Manson * g++.law/operators4.exp: Don't use LIBS. ! 1997-02-08 Bob Manson * g++.law/virtual1.exp: Don't use CXX_FLAGS. *************** Sat Feb 8 14:45:55 1997 Bob Manson * lib/old-dejagnu.exp: Use prune_warnings instead of prune_system_crud. --- 12637,12643 ---- * lib/gcc.exp: Allow use of --tool_exec and --tool_opt. ! 1997-02-07 Bob Manson * lib/old-dejagnu.exp: Use prune_warnings instead of prune_system_crud. *************** Fri Feb 7 12:55:45 1997 Bob Manson * lib/gcc.exp: Add gcc,stack_size target feature. --- 12647,12659 ---- * lib/g++.exp: Include both libstdc++ and libstdc++/stl. ! 1997-02-07 Jeffrey A Law (law@cygnus.com) * 941014-2.c: Include stdlib.h * 960327-1.c: Include stdio.h * dbra.c, index-1.c: Don't assume ints are 32bits. ! 1997-02-04 Bob Manson * lib/gcc.exp: Add gcc,stack_size target feature. *************** Tue Feb 4 12:51:09 1997 Bob Manson * lib/g++.exp(g++_init): target_compile no longer returns the filename of the result. ! Sun Feb 2 14:42:34 1997 Bob Manson * gcc.misc-tests/gcov.exp: Add -nocomplain to the call to glob. --- 12665,12676 ---- the correct include and link paths. * g++.old-deja/old-deja.exp: Ditto. ! 1997-02-03 Bob Manson * lib/g++.exp(g++_init): target_compile no longer returns the filename of the result. ! 1997-02-02 Bob Manson * gcc.misc-tests/gcov.exp: Add -nocomplain to the call to glob. *************** Sun Feb 2 14:42:34 1997 Bob Manson * gcc.c-torture/special/special.exp: Correct misspelling in last change. ! Sat Feb 1 12:34:23 1997 Bob Manson * lib/plumhall.exp(ph_summary): Log the entire output of the executable. Return -1 if there were any failures, 0 otherwise. --- 12678,12689 ---- * gcc.c-torture/special/special.exp: Change call to gcc_target_compile to include the object file. ! 1997-02-02 Ian Lance Taylor * gcc.c-torture/special/special.exp: Correct misspelling in last change. ! 1997-02-01 Bob Manson * lib/plumhall.exp(ph_summary): Log the entire output of the executable. Return -1 if there were any failures, 0 otherwise. *************** Sat Feb 1 12:34:23 1997 Bob Manson * g++.old-deja/old-deja.exp: Add -L and -I flags so we include libraries and includes in the build tree as appropriate. ! Wed Jan 29 17:19:34 1997 Bob Manson * lib/c-torture.exp: Instead of looking for the global variable NO_LONG_LONG, check to see if that's a feature of the target. ! Wed Jan 29 00:36:25 1997 Bob Manson * config/default.exp: Minimize. Delete the remainer of the files in config; this functionality is now in devo/dejagnu/config. --- 12691,12707 ---- (ph_make): Clean up objects and executables that were built if the tests succeeded. ! 1997-01-30 Bob Manson * g++.old-deja/old-deja.exp: Add -L and -I flags so we include libraries and includes in the build tree as appropriate. ! 1997-01-29 Bob Manson * lib/c-torture.exp: Instead of looking for the global variable NO_LONG_LONG, check to see if that's a feature of the target. ! 1997-01-29 Bob Manson * config/default.exp: Minimize. Delete the remainer of the files in config; this functionality is now in devo/dejagnu/config. *************** Wed Jan 29 00:36:25 1997 Bob Manson * lib/plumhall.exp (ph_make): Use CFLAGS and ANSICFLAGS when linking. (ph_linker): Likewise. ! Wed Nov 13 16:04:19 1996 Joern Rennecke * gcc.c-torture/execute/{loop-2e.c,loop-2f.c}: Only use MAP_ANON / MAP_ANONYMOUS if defined; else try to map from /dev/zero . ! Tue Nov 12 23:30:12 1996 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/{loop-2e.c,loop-2f.c}: If MAP_ANON isn't defined, then define it to MAP_ANONYMOUS. ! Tue Nov 12 11:57:49 1996 Jeffrey A Law (law@cygnus.com) * gcc.c-torture: Update to c-torture-1.42 release. ! Mon Nov 11 12:45:31 1996 Jeffrey A Law (law@cygnus.com) * gcc.c-torture: Update to c-torture-1.41 release. ! Sun Oct 27 18:56:18 1996 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/enum-1.c: New test. Will be in next c-torture release. ! Thu Aug 15 11:09:36 1996 Brendan Kehoe * lib/gcc.exp (gcc_init): Always append the target_info to CFLAGS and LDFLAGS. Fix second case to append the target_info ldflags --- 12726,12761 ---- lib/old-dejagnu.exp: Ditto. lib/plumhall.exp: Ditto. ! 1997-01-08 Jim Wilson * lib/plumhall.exp (ph_make): Use CFLAGS and ANSICFLAGS when linking. (ph_linker): Likewise. ! 1996-11-13 Joern Rennecke * gcc.c-torture/execute/{loop-2e.c,loop-2f.c}: Only use MAP_ANON / MAP_ANONYMOUS if defined; else try to map from /dev/zero . ! 1996-11-12 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/{loop-2e.c,loop-2f.c}: If MAP_ANON isn't defined, then define it to MAP_ANONYMOUS. ! 1996-11-12 Jeffrey A Law (law@cygnus.com) * gcc.c-torture: Update to c-torture-1.42 release. ! 1996-11-11 Jeffrey A Law (law@cygnus.com) * gcc.c-torture: Update to c-torture-1.41 release. ! 1996-10-27 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/enum-1.c: New test. Will be in next c-torture release. ! 1996-08-15 Brendan Kehoe * lib/gcc.exp (gcc_init): Always append the target_info to CFLAGS and LDFLAGS. Fix second case to append the target_info ldflags *************** Thu Aug 15 11:09:36 1996 Brendan Kehoe *** 10425,10455 **** * config/proelf.exp: Load remote.exp and do `push_target hppro'. (GDB): Fix relative path to go up another dir for finding gdb. ! Thu Aug 8 17:03:27 1996 Rob Savoye * lib/gcc.exp(gcc_init): Set CFLAGS and LDFLAGS to their new versions in the target_info array, if they don't exist. ! Fri Aug 2 15:39:03 1996 Brendan Kehoe * config/vx.exp (${tool}_load): Fix syntax of `$shell_id < 0'. ! Mon Jul 8 15:45:58 1996 Jim Wilson * lib/g++.exp: Change all uses of $base_dir/ to $base_dir/../. * lib/gcc.exp, lib/old-dejagnu.exp: Likewise. ! Mon Jul 1 15:53:00 1996 Bob Manson * lib/old-dejagnu.exp: Don't remove the output file before we've actually tested it. Don't append pwd to the path of the executable we're testing. ! Sun Jun 30 14:37:50 1996 Doug Evans * lib/g++.exp (default_g++_start): Don't pass LDFLAGS, LIBS if -c. ! Wed Jun 26 14:15:55 1996 Bob Manson * lib/old-dejagnu.exp (old-dejagnu): Add $tmpdir to specify a temporary directory for compiler files, and set it to a default --- 12767,12797 ---- * config/proelf.exp: Load remote.exp and do `push_target hppro'. (GDB): Fix relative path to go up another dir for finding gdb. ! 1996-08-08 Rob Savoye * lib/gcc.exp(gcc_init): Set CFLAGS and LDFLAGS to their new versions in the target_info array, if they don't exist. ! 1996-08-02 Brendan Kehoe * config/vx.exp (${tool}_load): Fix syntax of `$shell_id < 0'. ! 1996-07-08 Jim Wilson * lib/g++.exp: Change all uses of $base_dir/ to $base_dir/../. * lib/gcc.exp, lib/old-dejagnu.exp: Likewise. ! 1996-07-01 Bob Manson * lib/old-dejagnu.exp: Don't remove the output file before we've actually tested it. Don't append pwd to the path of the executable we're testing. ! 1996-06-30 Doug Evans * lib/g++.exp (default_g++_start): Don't pass LDFLAGS, LIBS if -c. ! 1996-06-26 Bob Manson * lib/old-dejagnu.exp (old-dejagnu): Add $tmpdir to specify a temporary directory for compiler files, and set it to a default *************** Wed Jun 26 14:15:55 1996 Bob Manson * lib/g++.exp: Also add -Wl,-rpath,... for linux. ! Sat Jun 8 15:12:24 1996 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/pending-1.c: New test. Still pending in Tege's queue. ! Wed Apr 24 18:13:45 1996 Jim Wilson * lib/plumhall.exp (ph_summary): Add arguments name and exec_status. Add variables local_failcnt and local_unresolvedcnt. Call gcc_fail --- 12807,12822 ---- the compiler writes the final output file as $output. Use $output as the executable to be tested. ! 1996-06-24 Brendan Kehoe * lib/g++.exp: Also add -Wl,-rpath,... for linux. ! 1996-06-08 Jeffrey A Law (law@cygnus.com) * gcc.c-torture/execute/pending-1.c: New test. Still pending in Tege's queue. ! 1996-04-24 Jim Wilson * lib/plumhall.exp (ph_summary): Add arguments name and exec_status. Add variables local_failcnt and local_unresolvedcnt. Call gcc_fail *************** Wed Apr 24 18:13:45 1996 Jim Wilson * gcc.c-torture/execute/ieee/ieee.exp: Run c-torture-execute, not c-torture. --- 12826,12844 ---- (ph_execute): Add new argument. Pass additional arguments to ph_summary. Call gcc_fail is there is no execution output. ! 1996-04-24 Jeffrey A Law (law@cygnus.com) * lib/plumhall.exp (proc_summary): Output relavent summary lines into the log so specific failures in plumhall can be investigated. ! 1996-04-10 Jeffrey A Law (law@cygnus.com) * lib/c-torture.exp: Provide a default value for $NO_LONG_LONG. (c-torture-execute): Don't try to execute tests which use "long long" types if $NO_LONG_LONG is nonzero. ! 1996-04-08 Doug Evans * gcc.c-torture/execute/ieee/ieee.exp: Run c-torture-execute, not c-torture. *************** Mon Apr 8 08:52:29 1996 Doug Evans * lib/gcc.exp (default_gcc_start): Don't pass $LDFLAGS $LIBS if -c present. ! Sat Mar 2 22:36:37 1996 Jeffrey A Law (law@cygnus.com) * config/proelf.exp: Handle connecting to a simulator. ! Wed Jan 31 00:58:15 1996 Jeffrey A Law (law@cygnus.com) * config/proelf.exp: New file. Enough framework that we can run c-torture tests on the proelf targets (or any other target that gdb can connect to for that matter). ! Mon Jan 29 08:57:46 1996 Doug Evans * gcc.c-torture/special/special.exp: Delete libs arg to dg-runtest. * gcc.ph/testing/limits/limits.exp: Likewise. Don't pass $CFLAGS. --- 12846,12876 ---- * gcc.ieee: Move from here. * gcc.c-torture/execute/ieee: To here. ! 1996-03-26 Jeffrey A Law (law@cygnus.com) * gcc.c-torture: Update to c-torture-1.41 release. ! 1996-03-22 Jeffrey A Law (law@cygnus.com) * lib/c-torture.exp (c-torture-execute): Remove "$executable", not "$output". ! 1996-03-07 Doug Evans * lib/gcc.exp (default_gcc_start): Don't pass $LDFLAGS $LIBS if -c present. ! 1996-03-02 Jeffrey A Law (law@cygnus.com) * config/proelf.exp: Handle connecting to a simulator. ! 1996-01-31 Jeffrey A Law (law@cygnus.com) * config/proelf.exp: New file. Enough framework that we can run c-torture tests on the proelf targets (or any other target that gdb can connect to for that matter). ! 1996-01-29 Doug Evans * gcc.c-torture/special/special.exp: Delete libs arg to dg-runtest. * gcc.ph/testing/limits/limits.exp: Likewise. Don't pass $CFLAGS. *************** Mon Jan 29 08:57:46 1996 Doug Evans * config/sim.exp (SIM_TIME_LIMIT): New user settable variable. (${tool}_load): Use 240 seconds if SIM_TIME_LIMIT not set. --- 12878,12884 ---- * lib/plumhall.exp (ph_execute): Always call ph_summary if exec_output exists. ! 1996-01-28 Doug Evans * config/sim.exp (SIM_TIME_LIMIT): New user settable variable. (${tool}_load): Use 240 seconds if SIM_TIME_LIMIT not set. *************** Sun Jan 28 11:28:43 1996 Doug Evans * lib/gcc.exp (default_gcc_start): Change order of args to $LDFLAGS $CFLAGS $LIBS. --- 12890,12896 ---- ${tool}_load. * lib/chill.exp (verbose): Delete. ! 1996-01-27 Doug Evans * lib/gcc.exp (default_gcc_start): Change order of args to $LDFLAGS $CFLAGS $LIBS. *************** Sat Jan 27 12:28:07 1996 Doug Evans * g++.old-deja/old-deja.exp: Add passing of $mathlib to old-dejagnu. --- 12906,12912 ---- * lib/dg.exp: Deleted, moved to dejagnu/lib. ! 1996-01-24 Brendan Kehoe * g++.old-deja/old-deja.exp: Add passing of $mathlib to old-dejagnu. *************** Wed Jan 24 18:37:00 1996 Brendan Kehoe *** 10574,10601 **** * lib/g++.exp (g++_init): Take out use of -rpath for the sun4, not necessary. ! Sat Jan 20 17:22:08 1996 Brendan Kehoe * g++.old-deja/old-deja.exp: Move setting of runshlib out of the global for loop; add use of $mathlib. * lib/old-dejagnu.exp (old-dejagnu-init): Put the runshlib settings here; set mathlib for anything but VxWorks. ! Mon Jan 22 16:31:57 1996 Jeffrey A Law (law@cygnus.com) * gcc.c-torture: Update to c-torture-1.40 release. ! Wed Jan 3 00:54:33 1996 Jeffrey A Law (law@cygnus.com) * gcc.ph/testing/limits/limits.exp: Load ${tool}-dg.exp, not dg.exp. ! Sun Dec 3 16:17:42 1995 Jeffrey A. Law * lib/c-torture.exp (c-torture-execute): Declare "output" as global. ! Fri Nov 17 20:01:19 1995 Doug Evans * lib/g++.exp (LIBS): Define if not already. * lib/gcc-dg.exp (gcc-dg-test): Set executable file as a.out. --- 12916,12943 ---- * lib/g++.exp (g++_init): Take out use of -rpath for the sun4, not necessary. ! 1996-01-20 Brendan Kehoe * g++.old-deja/old-deja.exp: Move setting of runshlib out of the global for loop; add use of $mathlib. * lib/old-dejagnu.exp (old-dejagnu-init): Put the runshlib settings here; set mathlib for anything but VxWorks. ! 1996-01-22 Jeffrey A Law (law@cygnus.com) * gcc.c-torture: Update to c-torture-1.40 release. ! 1996-01-03 Jeffrey A Law (law@cygnus.com) * gcc.ph/testing/limits/limits.exp: Load ${tool}-dg.exp, not dg.exp. ! 1995-12-03 Jeffrey A. Law * lib/c-torture.exp (c-torture-execute): Declare "output" as global. ! 1995-11-17 Doug Evans * lib/g++.exp (LIBS): Define if not already. * lib/gcc-dg.exp (gcc-dg-test): Set executable file as a.out. *************** Fri Nov 17 20:01:19 1995 Doug Evans * lib/c-torture.exp (c-torture-compile): Fix calls to `unsupported'. (c-torture-execute): Likewise. Rename `name' to `testcase'. ! Wed Nov 15 23:04:36 1995 Jeffrey A Law (law@cygnus.com) * gcc.c-torture: Update to c-torture-1.39 release. ! Sat Nov 4 12:52:05 1995 Doug Evans * lib/c-torture.exp (c-torture-execute): Don't return if one option fails, try others as well. ! Thu Nov 2 09:28:35 1995 Doug Evans * lib/c-torture.exp (c-torture-execute): This proc's result is `void'. If compilation fails, mark execute tests as `untested'. If test is marked as unsupported, don't mark compilation and execute tests as failed. ! Wed Oct 25 20:57:55 1995 Brendan Kehoe * lib/g++.exp (g++_init): Don't link in libg++, and look to libstdc++ for whether or not we want to be doing shared --- 12946,12973 ---- * gcc.c-torture/special (921210-1.c): Call prune_system_crud and prune_gcc_output. ! 1995-11-16 Doug Evans * lib/c-torture.exp (c-torture-compile): Fix calls to `unsupported'. (c-torture-execute): Likewise. Rename `name' to `testcase'. ! 1995-11-15 Jeffrey A Law (law@cygnus.com) * gcc.c-torture: Update to c-torture-1.39 release. ! 1995-11-04 Doug Evans * lib/c-torture.exp (c-torture-execute): Don't return if one option fails, try others as well. ! 1995-11-02 Doug Evans * lib/c-torture.exp (c-torture-execute): This proc's result is `void'. If compilation fails, mark execute tests as `untested'. If test is marked as unsupported, don't mark compilation and execute tests as failed. ! 1995-10-25 Brendan Kehoe * lib/g++.exp (g++_init): Don't link in libg++, and look to libstdc++ for whether or not we want to be doing shared *************** Wed Oct 25 20:57:55 1995 Brendan Kehoe *** 10633,10679 **** * lib/mike-g++.exp (postbase): Don't link in libg++. * g++.old-deja/old-deja.exp: Likewise. ! Mon Oct 23 13:05:11 1995 Brendan Kehoe * lib/g++.exp (CXX): Default to run `c++' instead of `g++'. ! Tue Oct 17 15:24:47 1995 Brendan Kehoe * lib/g++.exp (g++_init): Also check for libg++.sl for the hppa. For that, add `-Wl,-a,shared_archive'. * g++.old-deja/old-deja.exp: Likewise. ! Tue Oct 17 13:09:06 1995 Doug Evans * lib/c-torture.exp (c-torture-execute): Ensure CFLAGS restored. ! Mon Oct 16 23:13:32 1995 Brendan Kehoe * lib/mike-g++.exp (postbase): Pay attention to the status of g++_load. ! Mon Oct 16 19:28:32 1995 Brendan Kehoe * g++.old-deja/old-deja.exp: Add $LIBS at the end of the args. ! Mon Oct 16 13:48:58 1995 Doug Evans * lib/gcc.exp (default_gcc_start): No longer need to log program being executed or its output, execute_anywhere does that now. * lib/g++.exp (default_g++_version): Call execute_anywhere. (default_g++_start): Likewise. Delete calls to verbose/send_log. ! Thu Oct 12 10:34:58 1995 Brendan Kehoe * g++.old-deja/old-deja.exp: Updated the shared libg++ tests to be the same as those in lib/g++.exp. ! Tue Oct 10 13:47:27 1995 Jeff Law (law@hurl.cygnus.com) * gcc.c-torture: Update to c-torture-1.38 release. * gcc.ieee: Related changes. ! Fri Oct 6 12:39:17 1995 Rob Savoye * mike-gcc.exp, mike-g++.exp: Use "execute_anywhere" rather than "exec". Minor reformatting changes. --- 12975,13021 ---- * lib/mike-g++.exp (postbase): Don't link in libg++. * g++.old-deja/old-deja.exp: Likewise. ! 1995-10-23 Brendan Kehoe * lib/g++.exp (CXX): Default to run `c++' instead of `g++'. ! 1995-10-17 Brendan Kehoe * lib/g++.exp (g++_init): Also check for libg++.sl for the hppa. For that, add `-Wl,-a,shared_archive'. * g++.old-deja/old-deja.exp: Likewise. ! 1995-10-17 Doug Evans * lib/c-torture.exp (c-torture-execute): Ensure CFLAGS restored. ! 1995-10-16 Brendan Kehoe * lib/mike-g++.exp (postbase): Pay attention to the status of g++_load. ! 1995-10-16 Brendan Kehoe * g++.old-deja/old-deja.exp: Add $LIBS at the end of the args. ! 1995-10-16 Doug Evans * lib/gcc.exp (default_gcc_start): No longer need to log program being executed or its output, execute_anywhere does that now. * lib/g++.exp (default_g++_version): Call execute_anywhere. (default_g++_start): Likewise. Delete calls to verbose/send_log. ! 1995-10-12 Brendan Kehoe * g++.old-deja/old-deja.exp: Updated the shared libg++ tests to be the same as those in lib/g++.exp. ! 1995-10-10 Jeff Law (law@hurl.cygnus.com) * gcc.c-torture: Update to c-torture-1.38 release. * gcc.ieee: Related changes. ! 1995-10-06 Rob Savoye * mike-gcc.exp, mike-g++.exp: Use "execute_anywhere" rather than "exec". Minor reformatting changes. *************** Fri Oct 6 12:39:17 1995 Rob Savoye * lib/g++.exp: Add -nocomplain flag to glob. Use catch to put the results into a variable, and check that rather than using file exists. ! Wed Oct 4 16:31:02 1995 Brendan Kehoe * lib/g++.exp: Use glob to see libg++.so.2.7.0, since sun4 doesn't create a libg++.so. For sunos4.1.*, also add -ltermcap. ! Tue Sep 26 10:15:14 1995 Brendan Kehoe * g++.old-deja/old-deja.exp: Create and pass runshlib and lib_curses if there's a shared libg++ in the build tree. ! Fri Sep 22 10:47:24 1995 Doug Evans * lib/mike-{gcc,g++}.exp (postbase): Restore CFLAGS, CXX_FLAGS, LIBS if not supported target. ! Fri Sep 22 09:22:07 1995 Brendan Kehoe * lib/g++.exp (g++_init): Move empty setting of runshlib and link_curses up to always happen, not just for native builds. ! Thu Sep 21 10:23:32 1995 Jeff Law (law@snake.cs.utah.edu) * gcc.c-torture: Update to c-torture-1.36 release. * gcc.failure: Related changes. ! Wed Sep 20 10:56:26 1995 Doug Evans * lib/plumhall.exp (PHSRC, PHDST): Allow config files to override. ! Tue Sep 19 17:26:07 1995 Brendan Kehoe * lib/g++.exp (g++_init): Put the shared and math lib stuff in here. * lib/mike-g++.exp (postbase): Not in here. Still reference --- 13031,13071 ---- Use execute_anywhere rather than calling exec directly. Now it works for canadian cross testing. ! 1995-10-05 Brendan Kehoe * lib/g++.exp: Add -nocomplain flag to glob. Use catch to put the results into a variable, and check that rather than using file exists. ! 1995-10-04 Brendan Kehoe * lib/g++.exp: Use glob to see libg++.so.2.7.0, since sun4 doesn't create a libg++.so. For sunos4.1.*, also add -ltermcap. ! 1995-09-26 Brendan Kehoe * g++.old-deja/old-deja.exp: Create and pass runshlib and lib_curses if there's a shared libg++ in the build tree. ! 1995-09-22 Doug Evans * lib/mike-{gcc,g++}.exp (postbase): Restore CFLAGS, CXX_FLAGS, LIBS if not supported target. ! 1995-09-22 Brendan Kehoe * lib/g++.exp (g++_init): Move empty setting of runshlib and link_curses up to always happen, not just for native builds. ! 1995-09-21 Jeff Law (law@snake.cs.utah.edu) * gcc.c-torture: Update to c-torture-1.36 release. * gcc.failure: Related changes. ! 1995-09-20 Doug Evans * lib/plumhall.exp (PHSRC, PHDST): Allow config files to override. ! 1995-09-19 Brendan Kehoe * lib/g++.exp (g++_init): Put the shared and math lib stuff in here. * lib/mike-g++.exp (postbase): Not in here. Still reference *************** Tue Sep 19 17:26:07 1995 Brendan Kehoe *** 10733,10765 **** pass the runtime shared library options for Solaris, OSF/1, and Irix5, and link with -lcurses to avoid unresolved references. ! Wed Sep 13 15:28:10 1995 Brendan Kehoe * lib/gcc.exp (gcc_init): Return if gcc_initialized is 1, so we only run once. ! Wed Sep 13 10:51:52 1995 Doug Evans * lib/c-torture.exp (c-torture-compile): Don't alter CFLAGS. ! Mon Sep 11 11:02:03 1995 Jeff Law (law@snake.cs.utah.edu) * gcc.c-torture: Update to c-torture-1.35 release. Note we do not have a framework for the "compat" tests yet. ! Sat Sep 9 16:15:20 1995 Brendan Kehoe * lib/mike-g++.exp (postbase): New local variable `mathlib', set to null if we're testing vxworks5.1. Use that instead of `-lm' in the setting of LIBS for link and run. ! Fri Sep 8 13:53:38 1995 Brendan Kehoe * config/rom68k.exp (${tool}_load): Major changes to make it work. Verified that it does in fact return the stuff in exec_output properly. Catch any Emul or any TRAP other than 0. ! Thu Sep 7 23:04:06 1995 Brendan Kehoe * lib/mike-g++.exp (prebase): Call g++_init at the end to set LDFLAGS properly for targets that need stuff from libgloss. --- 13075,13107 ---- pass the runtime shared library options for Solaris, OSF/1, and Irix5, and link with -lcurses to avoid unresolved references. ! 1995-09-13 Brendan Kehoe * lib/gcc.exp (gcc_init): Return if gcc_initialized is 1, so we only run once. ! 1995-09-13 Doug Evans * lib/c-torture.exp (c-torture-compile): Don't alter CFLAGS. ! 1995-09-11 Jeff Law (law@snake.cs.utah.edu) * gcc.c-torture: Update to c-torture-1.35 release. Note we do not have a framework for the "compat" tests yet. ! 1995-09-09 Brendan Kehoe * lib/mike-g++.exp (postbase): New local variable `mathlib', set to null if we're testing vxworks5.1. Use that instead of `-lm' in the setting of LIBS for link and run. ! 1995-09-08 Brendan Kehoe * config/rom68k.exp (${tool}_load): Major changes to make it work. Verified that it does in fact return the stuff in exec_output properly. Catch any Emul or any TRAP other than 0. ! 1995-09-07 Brendan Kehoe * lib/mike-g++.exp (prebase): Call g++_init at the end to set LDFLAGS properly for targets that need stuff from libgloss. *************** Thu Sep 7 23:04:06 1995 Brendan Kehoe *** 10767,10773 **** only run once. (gpp_initialized): New variable. ! Wed Sep 6 21:56:13 1995 Rob Savoye * config/rom68k.exp: Load libgloss.exp. * lib/gcc.exp (gcc_init): get proper flags for newlib and libgloss --- 13109,13115 ---- only run once. (gpp_initialized): New variable. ! 1995-09-06 Rob Savoye * config/rom68k.exp: Load libgloss.exp. * lib/gcc.exp (gcc_init): get proper flags for newlib and libgloss *************** Wed Sep 6 21:56:13 1995 Rob Savoye * lib/plumhall.exp (ph_section): Watch for expected failures. Add missing `else'. --- 13117,13123 ---- * lib/g++.exp (g++_init): get proper flags for newlib and libgloss so we can produce a fully linked binary. ! 1995-09-03 Doug Evans * lib/plumhall.exp (ph_section): Watch for expected failures. Add missing `else'. *************** Sun Sep 3 13:25:26 1995 Doug Evans * gcc.dg/dg.exp (scan-assembler, scan-assembler-not): New procs. --- 13126,13132 ---- run the testcase. (c-torture): Likewise. ! 1995-08-28 Doug Evans * gcc.dg/dg.exp (scan-assembler, scan-assembler-not): New procs. *************** Mon Aug 28 11:23:38 1995 Doug Evans * config/win32.exp: New file. * lib/c-torture.exp (c-torture-execute): Handle $exe_ext. ! Fri Aug 4 15:39:54 1995 Doug Evans * lib/gcc-dg.exp (gcc-dg-prune): Mark testcases that fill ram as unsupported. --- 13142,13153 ---- * lib/plumhall.exp (ph_execute): Only call ph_summary if execution "succeeded". ! 1995-08-14 Doug Evans * config/win32.exp: New file. * lib/c-torture.exp (c-torture-execute): Handle $exe_ext. ! 1995-08-04 Doug Evans * lib/gcc-dg.exp (gcc-dg-prune): Mark testcases that fill ram as unsupported. *************** Fri Aug 4 15:39:54 1995 Doug Evans * gcc.misc-tests/{acker1.c,dhry.c,dhry.h,matrix1.c,optbench.c, sieve.c,sort2.c}: New files. --- 13160,13166 ---- prune_system_crud. * lib/old-dejagnu.exp (old-dejagnu): Likewise. ! 1995-08-01 Doug Evans * gcc.misc-tests/{acker1.c,dhry.c,dhry.h,matrix1.c,optbench.c, sieve.c,sort2.c}: New files. *************** Tue Aug 1 11:09:33 1995 Doug Evans * config/vx.exp: Declare CHECKTASK as global. * config/vxworks29k.exp: Reduce to only set CHECKTASK, and load vx.exp. * lib/mike-g++.exp: Load [pwd]/a.out, not `./a.out'. * lib/old-dejagnu.exp: Load [pwd]/$executable. ! Wed Jul 26 19:45:39 1995 Brendan Kehoe * config/vxworks29k.exp: New file, for the a29k-vxworks5.1 target. Like vx.exp, only includes `vx29k.exp' instead of `vxworks.exp'. ! Sun Jul 23 17:38:52 1995 Ian Lance Taylor * config/sim.exp: Increase time limit from 120 seconds to 240. ! Thu Jul 6 11:07:38 1995 Jeffrey A. Law * gcc.c-torture/execute/950628-1.c: New test. ! Sat Jun 10 18:51:41 1995 Jeff Law (law@snake.cs.utah.edu) * gcc.c-torture: Update with changes/additions from c-torture-1.34. ! Mon Jun 5 17:58:07 1995 Doug Evans * gcc.prms/prms.exp: Pass LDFLAGS to dg-test. ! Sun Jun 4 05:13:57 1995 Jeff Law (law@snake.cs.utah.edu) * gcc.c-torture/compile/funcptr-1.c: Test case for 7107. ! Thu Jun 1 00:06:19 1995 Jeff Law (law@snake.cs.utah.edu) * gcc.c-torture/compile/950512-1.c: New test. * gcc.c-torture/execute/strct-pack-4.c, strct-pack-5.c}: Likewise. * gcc.dg/struct-ret-1.c: Likewise. ! Wed May 31 14:25:13 1995 Doug Evans * gcc.c-torture/execute/{920410-1.c,921113-1.c,921208-2.c, 930106-1.c,memcpy-1.c}: Use STACK_SIZE if defined. ! Tue May 30 11:19:54 1995 Doug Evans * gcc.c-torture/special/920411-1.c: Deleted. * gcc.c-torture/special/special.exp: Delete 920411-1.c. ! Mon May 22 16:55:11 1995 Doug Evans * config/sim.exp (${tool}_load): Hack in call to bash to get a cpu limit. ! Fri May 12 18:57:54 1995 Torbjorn Granlund * gcc.c-torture/execute/{950511-1.c,950512-1.c}: New tests. ! Thu May 4 14:23:54 1995 Torbjorn Granlund From kenner; * gcc.c-torture/execute/va-arg-2.c (f[0-9], f1[0-5]): Verify format is the proper length. * va-arg-3.c: Likewise. ! Sun Apr 30 16:02:59 1995 Doug Evans * lib/dg.exp: Moved to dejagnu/lib. Copy kept here (for awhile). * lib/gcc-dg.exp: New file, gcc interface to dg.exp. --- 13176,13248 ---- * config/sh.exp: Deleted (use sim.exp instead). ! 1995-07-28 Brendan Kehoe * config/vx.exp: Declare CHECKTASK as global. * config/vxworks29k.exp: Reduce to only set CHECKTASK, and load vx.exp. * lib/mike-g++.exp: Load [pwd]/a.out, not `./a.out'. * lib/old-dejagnu.exp: Load [pwd]/$executable. ! 1995-07-26 Brendan Kehoe * config/vxworks29k.exp: New file, for the a29k-vxworks5.1 target. Like vx.exp, only includes `vx29k.exp' instead of `vxworks.exp'. ! 1995-07-23 Ian Lance Taylor * config/sim.exp: Increase time limit from 120 seconds to 240. ! 1995-07-06 Jeffrey A. Law * gcc.c-torture/execute/950628-1.c: New test. ! 1995-06-10 Jeff Law (law@snake.cs.utah.edu) * gcc.c-torture: Update with changes/additions from c-torture-1.34. ! 1995-06-05 Doug Evans * gcc.prms/prms.exp: Pass LDFLAGS to dg-test. ! 1995-06-04 Jeff Law (law@snake.cs.utah.edu) * gcc.c-torture/compile/funcptr-1.c: Test case for 7107. ! 1995-06-01 Jeff Law (law@snake.cs.utah.edu) * gcc.c-torture/compile/950512-1.c: New test. * gcc.c-torture/execute/strct-pack-4.c, strct-pack-5.c}: Likewise. * gcc.dg/struct-ret-1.c: Likewise. ! 1995-05-31 Doug Evans * gcc.c-torture/execute/{920410-1.c,921113-1.c,921208-2.c, 930106-1.c,memcpy-1.c}: Use STACK_SIZE if defined. ! 1995-05-30 Doug Evans * gcc.c-torture/special/920411-1.c: Deleted. * gcc.c-torture/special/special.exp: Delete 920411-1.c. ! 1995-05-22 Doug Evans * config/sim.exp (${tool}_load): Hack in call to bash to get a cpu limit. ! 1995-05-12 Torbjorn Granlund * gcc.c-torture/execute/{950511-1.c,950512-1.c}: New tests. ! 1995-05-04 Torbjorn Granlund From kenner; * gcc.c-torture/execute/va-arg-2.c (f[0-9], f1[0-5]): Verify format is the proper length. * va-arg-3.c: Likewise. ! 1995-04-30 Doug Evans * lib/dg.exp: Moved to dejagnu/lib. Copy kept here (for awhile). * lib/gcc-dg.exp: New file, gcc interface to dg.exp. *************** Sun Apr 30 16:02:59 1995 Doug Evans * gcc.c-torture/execute/memcpy-1.c: Decrease stack requirements from (2 * (1 << 18)) to (2 * (1 << 17)). * gcc.c-torture/execute/arith-rand.c: Avoid -0x80000000/-1. ! Thu Apr 20 12:21:13 1995 J.T. Conklin * config/rom68k.exp: Renamed from config/idp.exp ! Tue Apr 18 13:33:26 1995 Torbjorn Granlund * c-torture/compile/921109-2.c ! Tue Apr 18 10:45:12 1995 Mike Stump * lib/old-dejagnu.exp: We expect Execution test failure if we expected excess errors. ! Sat Apr 15 11:16:58 1995 Doug Evans * lib/gcc.exp (default_gcc_start): Handle leading "-" in compiler output. * lib/g++.exp (default_g++_start): Likewise. ! Wed Mar 29 16:34:03 1995 Torbjorn Granlund * gcc.c-torture/compile/950329-1.c: New test. ! Tue Mar 28 16:10:33 1995 J.T. Conklin * config/bug.exp (${tool}_load): Updated to use new remote_open and remote_close procs. * config/idp.exp: New file. ! Wed Mar 22 15:01:58 1995 Torbjorn Granlund * gcc.c-torture/execute/950322-1.c: New test. ! Tue Mar 21 21:24:49 1995 Doug Evans * config/vx.exp (${tool}_load): Clean up testing of return code from vxworks_ld and vxworks_spawn. ! Tue Mar 21 17:01:42 1995 Doug Evans * lib/c-torture.exp (c-torture-execute): Pass same text to pass/fail. ! Mon Mar 13 14:49:42 1995 Mike Stump * lib/old-deja.exp: Add `excess errors test - ' error, now one can mark excess errors on a machine by machine basis. Note, the --- 13250,13305 ---- * lib/gcc.exp (default_gcc_start): Delete old cruft. Delete result. * lib/g++.exp (default_g++_start): Delete old cruft. ! 1995-04-25 Torbjorn Granlund * gcc.c-torture/execute/memcpy-1.c: Decrease stack requirements from (2 * (1 << 18)) to (2 * (1 << 17)). * gcc.c-torture/execute/arith-rand.c: Avoid -0x80000000/-1. ! 1995-04-20 J.T. Conklin * config/rom68k.exp: Renamed from config/idp.exp ! 1995-04-18 Torbjorn Granlund * c-torture/compile/921109-2.c ! 1995-04-18 Mike Stump * lib/old-dejagnu.exp: We expect Execution test failure if we expected excess errors. ! 1995-04-15 Doug Evans * lib/gcc.exp (default_gcc_start): Handle leading "-" in compiler output. * lib/g++.exp (default_g++_start): Likewise. ! 1995-03-29 Torbjorn Granlund * gcc.c-torture/compile/950329-1.c: New test. ! 1995-03-28 J.T. Conklin * config/bug.exp (${tool}_load): Updated to use new remote_open and remote_close procs. * config/idp.exp: New file. ! 1995-03-22 Torbjorn Granlund * gcc.c-torture/execute/950322-1.c: New test. ! 1995-03-21 Doug Evans * config/vx.exp (${tool}_load): Clean up testing of return code from vxworks_ld and vxworks_spawn. ! 1995-03-21 Doug Evans * lib/c-torture.exp (c-torture-execute): Pass same text to pass/fail. ! 1995-03-13 Mike Stump * lib/old-deja.exp: Add `excess errors test - ' error, now one can mark excess errors on a machine by machine basis. Note, the *************** Mon Mar 13 14:49:42 1995 Mike Stump * gcc.c-torture/execute/execute.exp (c-torture-execute): from here. * lib/c-torture.exp: to here. ! Fri Mar 10 10:38:15 1995 Torbjorn Granlund * gcc.c-torture/execute/950221-1.c: New test. * gcc.c-torture/execute/struct-ret-1.c: New test. --- 13309,13320 ---- mips-*-* alpha-*-* m68k-*-* is how to expect excess errors on those 4 machines, but no others. ! 1995-03-10 J.T. Conklin * gcc.c-torture/execute/execute.exp (c-torture-execute): from here. * lib/c-torture.exp: to here. ! 1995-03-10 Torbjorn Granlund * gcc.c-torture/execute/950221-1.c: New test. * gcc.c-torture/execute/struct-ret-1.c: New test. *************** Fri Mar 10 10:38:15 1995 Torbjorn Granl *** 10980,10991 **** * gcc.c-torture/execute/941101-1.c (f): Fix typo, == was !=. ! Fri Mar 3 16:28:35 1995 Doug Evans * gcc.c-torture/execute/arith-1.c (main): Return 0. * gcc.c-torture/execute/arith-rand.c (main): Return 0. ! Wed Mar 1 02:08:29 1995 Gerald Baumgartner (gb@lorenzo.cs.purdue.edu) * g++.gb: New directory of tests, derived from my signature and class scoping tests. --- 13322,13333 ---- * gcc.c-torture/execute/941101-1.c (f): Fix typo, == was !=. ! 1995-03-03 Doug Evans * gcc.c-torture/execute/arith-1.c (main): Return 0. * gcc.c-torture/execute/arith-rand.c (main): Return 0. ! 1995-03-01 Gerald Baumgartner (gb@lorenzo.cs.purdue.edu) * g++.gb: New directory of tests, derived from my signature and class scoping tests. *************** Wed Mar 1 02:08:29 1995 Gerald Baumgar *** 11018,11033 **** * g++.gb/README: New file, explains what these tests are about. ! Tue Feb 28 10:37:52 1995 Doug Evans * lib/dg.exp (dg-do): Support `preprocess'. (dg-test): Likewise. ! Mon Feb 13 15:18:10 1995 J.T. Conklin * config/udi.exp: change "continue -expect" to "exp_continue". ! Sat Feb 11 00:25:20 1995 Torbjorn Granlund (tege@tiny.cygnus.com) * gcc.c-torture/execute/{921025-1.c, 930525-1.c}: Delete redundant tests. --- 13360,13375 ---- * g++.gb/README: New file, explains what these tests are about. ! 1995-02-28 Doug Evans * lib/dg.exp (dg-do): Support `preprocess'. (dg-test): Likewise. ! 1995-02-13 J.T. Conklin * config/udi.exp: change "continue -expect" to "exp_continue". ! 1995-02-11 Torbjorn Granlund (tege@tiny.cygnus.com) * gcc.c-torture/execute/{921025-1.c, 930525-1.c}: Delete redundant tests. *************** Sat Feb 11 00:25:20 1995 Torbjorn Granl *** 11062,11084 **** * gcc.c-torture/compile/920902-1.c: Delete 2:nd parameter. ! Wed Feb 8 15:30:17 1995 Jason Merrill * lib/mike-g++.exp: Add -lm to LIBS. ! Tue Feb 7 17:09:50 1995 Doug Evans * lib/c-torture.exp (c-torture): Allow relative pathname in $srcdir. ! Mon Jan 30 14:33:25 1995 Jason Merrill * lib/mike-g++.exp: Add -lstdc++ to LIBS. ! Thu Jan 12 16:41:34 1995 Doug Evans * gcc.misc-tests/dg-test.exp: Only run if $DG_TEST=yes. ! Mon Jan 2 11:50:10 1995 Jeff Law (law@snake.cs.utah.edu) * g++.law/{arg9.C, arg10.C, arg11.C, arm15.C, arm16.C}: New tests. * g++.law/{bad-error3.C, bad-error4.C, bad-error5.C}: Likewise. --- 13404,13426 ---- * gcc.c-torture/compile/920902-1.c: Delete 2:nd parameter. ! 1995-02-08 Jason Merrill * lib/mike-g++.exp: Add -lm to LIBS. ! 1995-02-07 Doug Evans * lib/c-torture.exp (c-torture): Allow relative pathname in $srcdir. ! 1995-01-30 Jason Merrill * lib/mike-g++.exp: Add -lstdc++ to LIBS. ! 1995-01-12 Doug Evans * gcc.misc-tests/dg-test.exp: Only run if $DG_TEST=yes. ! 1995-01-02 Jeff Law (law@snake.cs.utah.edu) * g++.law/{arg9.C, arg10.C, arg11.C, arm15.C, arm16.C}: New tests. * g++.law/{bad-error3.C, bad-error4.C, bad-error5.C}: Likewise. *************** Mon Jan 2 11:50:10 1995 Jeff Law (law *** 11116,11137 **** No longer expected to fail. * g++.law/missed-error3.C: Tweak for recent bool changes. ! Sun Dec 4 20:54:33 1994 Doug Evans * config/emb-unix: Deleted. * config/unix.exp (${tool}_load): Use new proc rsh_exec to perform remote execution. Do final link on remote host if REMOTE_LINK is set. ! Thu Dec 1 08:43:05 1994 Doug Evans * lib/dg.exp (dg-test): Fix typo in last patch. ! Wed Nov 30 13:25:32 1994 Doug Evans * lib/dg.exp (dg-test): Fix pattern that searches for expected output (handles multiple occurrences). ! Thu Nov 24 19:48:38 1994 Doug Evans * gcc.c-torture/*/*.exp: Pass full pathname to c-torture. * gcc.c-torture/execute/execute.exp (c-torture-execute): Remove --- 13458,13479 ---- No longer expected to fail. * g++.law/missed-error3.C: Tweak for recent bool changes. ! 1994-12-04 Doug Evans * config/emb-unix: Deleted. * config/unix.exp (${tool}_load): Use new proc rsh_exec to perform remote execution. Do final link on remote host if REMOTE_LINK is set. ! 1994-12-01 Doug Evans * lib/dg.exp (dg-test): Fix typo in last patch. ! 1994-11-30 Doug Evans * lib/dg.exp (dg-test): Fix pattern that searches for expected output (handles multiple occurrences). ! 1994-11-24 Doug Evans * gcc.c-torture/*/*.exp: Pass full pathname to c-torture. * gcc.c-torture/execute/execute.exp (c-torture-execute): Remove *************** Thu Nov 24 19:48:38 1994 Doug Evans * lib/netware.exp: Only attach to NetWare i386 systems. ! Wed Nov 16 11:27:00 1994 Doug Evans * lib/dg.exp (dg-test): Don't print $subdir (or above) in pass/fail messages. Add test name to "output pattern match" pass/fail message. ! Sat Nov 12 22:11:52 1994 Doug Evans * gcc.dg: New testsuite. * gcc.dg/dg.exp: New file. --- 13485,13500 ---- (gcc_fail): Likewise. * lib/dg.exp (dg-test): Don't delete $subdir from pathname in messages. ! 1994-11-23 J.T. Conklin * lib/netware.exp: Only attach to NetWare i386 systems. ! 1994-11-16 Doug Evans * lib/dg.exp (dg-test): Don't print $subdir (or above) in pass/fail messages. Add test name to "output pattern match" pass/fail message. ! 1994-11-12 Doug Evans * gcc.dg: New testsuite. * gcc.dg/dg.exp: New file. *************** Sat Nov 12 22:11:52 1994 Doug Evans * gcc.c-torture/execute/execute.exp (c-torture_execute): New proc. Watch for illegal return values from ${tool}_load. * config/unix.exp (${tool}_load): Fix pass/fail detection for cross targets. Coerce return value >0 to 1. ! Tue Nov 8 14:10:33 1994 Doug Evans * config/unix.exp (${tool}_load): Call program rsh, not proc. --- 13504,13517 ---- * gcc.misc-tests/msgs.exp: New testcase driver. ! 1994-11-09 Doug Evans * gcc.c-torture/execute/execute.exp (c-torture_execute): New proc. Watch for illegal return values from ${tool}_load. * config/unix.exp (${tool}_load): Fix pass/fail detection for cross targets. Coerce return value >0 to 1. ! 1994-11-08 Doug Evans * config/unix.exp (${tool}_load): Call program rsh, not proc. *************** Tue Nov 8 14:10:33 1994 Doug Evans * config/*.exp: Clarify return code from ${tool}_load. Call `unresolved' or `untested' instead of `warning' or `perror' --- 13525,13531 ---- and without loops. * gcc.c-torture/execute/execute.exp: Likewise. ! 1994-11-02 Doug Evans * config/*.exp: Clarify return code from ${tool}_load. Call `unresolved' or `untested' instead of `warning' or `perror' *************** Wed Nov 2 14:47:58 1994 Doug Evans * lib/old-dejagnu.exp (process-option): Append ".*" to pattern to grep for. (old-dejagnu): Likewise (where necessary). ! Fri Oct 14 17:54:58 1994 Doug Evans * gcc.misc-tests/gcov.exp: New file, for gcov testing. --- 13568,13580 ---- Get option list from TORTURE_OPTIONS. Delete -funroll[-all]-loops if no loops. Update to reflect clarified return codes from ${tool}_load. ! 1994-10-21 Doug Evans * lib/old-dejagnu.exp (process-option): Append ".*" to pattern to grep for. (old-dejagnu): Likewise (where necessary). ! 1994-10-14 Doug Evans * gcc.misc-tests/gcov.exp: New file, for gcov testing. *************** Fri Oct 14 17:54:58 1994 Doug Evans * lib/dg.exp (dg-process-target): Improve syntax error messages. (dg-test): Don't print errorInfo, it contains stack backtrace. ! Mon Sep 26 12:18:53 1994 Doug Evans (dje@canuck.cygnus.com) * lib/g++.exp (runtest_file_p): Define if missing. ! Sat Sep 24 15:29:23 1994 Doug Evans (dje@cygnus.com) * lib/mike-g++.exp: Comment out loading of g++.exp. * lib/g++.exp: Update copyright. Test for existence of $CXX at start. --- 13592,13607 ---- Don't clobber previous definition of `unknown'. Print tcl errors in `dg-final'. ! 1994-10-12 Doug Evans * lib/dg.exp (dg-process-target): Improve syntax error messages. (dg-test): Don't print errorInfo, it contains stack backtrace. ! 1994-09-26 Doug Evans (dje@canuck.cygnus.com) * lib/g++.exp (runtest_file_p): Define if missing. ! 1994-09-24 Doug Evans (dje@cygnus.com) * lib/mike-g++.exp: Comment out loading of g++.exp. * lib/g++.exp: Update copyright. Test for existence of $CXX at start. *************** Sat Sep 24 15:29:23 1994 Doug Evans (d *** 11276,11282 **** * g++.old-deja/old-deja.exp: utils.exp is loaded by runtest.exp. * lib/old-dejagnu.exp: ${tool}.exp is loaded by config file. ! Thu Sep 22 11:39:17 1994 Doug Evans (dje@canuck.cygnus.com) * lib/c-torture.exp (c-torture-compile): Rework compiler message processing. --- 13618,13624 ---- * g++.old-deja/old-deja.exp: utils.exp is loaded by runtest.exp. * lib/old-dejagnu.exp: ${tool}.exp is loaded by config file. ! 1994-09-22 Doug Evans (dje@canuck.cygnus.com) * lib/c-torture.exp (c-torture-compile): Rework compiler message processing. *************** Thu Sep 22 11:39:17 1994 Doug Evans (d *** 11284,11296 **** * gcc.c-torture/compile/initbug1.{c,exp}: Deleted, not part of c-torture. ! Wed Sep 21 09:49:43 1994 Doug Evans (dje@canuck.cygnus.com) * gcc.wendy/wendy.dis: Renamed from wendy.exp to disable the testsuite. * lib/dg.exp (dg-process-target): Support { target native }. ! Tue Sep 20 17:16:55 1994 Doug Evans (dje@canuck.cygnus.com) * lib/dg.exp (dg-test): Clean up some comments. Delete code that looked for "... program xxx got fatal signal". --- 13626,13638 ---- * gcc.c-torture/compile/initbug1.{c,exp}: Deleted, not part of c-torture. ! 1994-09-21 Doug Evans (dje@canuck.cygnus.com) * gcc.wendy/wendy.dis: Renamed from wendy.exp to disable the testsuite. * lib/dg.exp (dg-process-target): Support { target native }. ! 1994-09-20 Doug Evans (dje@canuck.cygnus.com) * lib/dg.exp (dg-test): Clean up some comments. Delete code that looked for "... program xxx got fatal signal". *************** Tue Sep 20 17:16:55 1994 Doug Evans (d *** 11298,11309 **** Ignore compiler messages "path prefix not used" and "linker input file unused". ! Wed Sep 14 11:44:40 1994 Doug Evans (dje@canuck.cygnus.com) * lib/gcc.exp (runtest_file_p): Define if missing. * gcc.prms/template.c: Example to work from. ! Tue Sep 13 10:30:48 1994 Doug Evans (dje@canuck.cygnus.com) * lib/gcc.exp (gcc_finish): Delete code to update `testcnt'. * lib/dg.exp (dg-test): Call unsupported testcases as such. --- 13640,13651 ---- Ignore compiler messages "path prefix not used" and "linker input file unused". ! 1994-09-14 Doug Evans (dje@canuck.cygnus.com) * lib/gcc.exp (runtest_file_p): Define if missing. * gcc.prms/template.c: Example to work from. ! 1994-09-13 Doug Evans (dje@canuck.cygnus.com) * lib/gcc.exp (gcc_finish): Delete code to update `testcnt'. * lib/dg.exp (dg-test): Call unsupported testcases as such. *************** Tue Sep 13 10:30:48 1994 Doug Evans (d *** 11324,11335 **** Separate execution pass/fail from output pattern match pass/fail. Delete BUILD/XBUILD support (duplicate of LOSE/XLOSE). ! Mon Sep 12 13:47:35 1994 Jim Wilson (wilson@sphagnum.cygnus.com) * gcc.c-torture/special/special.exp: Don't expect failure for mips target for 920510-1.c. ! Mon Sep 12 12:44:39 1994 Doug Evans (dje@canuck.cygnus.com) * lib/gcc.exp (gcc_init): Move initialized message to verbose level 3. Clean up comment regarding use of passcnt, etc. --- 13666,13677 ---- Separate execution pass/fail from output pattern match pass/fail. Delete BUILD/XBUILD support (duplicate of LOSE/XLOSE). ! 1994-09-12 Jim Wilson (wilson@sphagnum.cygnus.com) * gcc.c-torture/special/special.exp: Don't expect failure for mips target for 920510-1.c. ! 1994-09-12 Doug Evans (dje@canuck.cygnus.com) * lib/gcc.exp (gcc_init): Move initialized message to verbose level 3. Clean up comment regarding use of passcnt, etc. *************** Mon Sep 12 12:44:39 1994 Doug Evans (d *** 11347,11357 **** * g++.old-deja.exp: Likewise. Move "Testing file" message to verbose level 1. ! Fri Sep 9 10:21:18 1994 Doug Evans (dje@canuck.cygnus.com) * gcc.wendy/t.c: Add DEJAGNU_CFLAGS:"-DNOPAUSE". ! Thu Sep 8 16:52:43 1994 Doug Evans (dje@canuck.cygnus.com) * lib/gcc.exp: Ensure CFLAGS, LIBS, and LDFLAGS are set. (default_gcc_start): Accept optional second list element --- 13689,13699 ---- * g++.old-deja.exp: Likewise. Move "Testing file" message to verbose level 1. ! 1994-09-09 Doug Evans (dje@canuck.cygnus.com) * gcc.wendy/t.c: Add DEJAGNU_CFLAGS:"-DNOPAUSE". ! 1994-09-08 Doug Evans (dje@canuck.cygnus.com) * lib/gcc.exp: Ensure CFLAGS, LIBS, and LDFLAGS are set. (default_gcc_start): Accept optional second list element *************** Thu Sep 8 16:52:43 1994 Doug Evans (d *** 11402,11408 **** * lib/c-torture.exp: Call gcc_pass/gcc_fail instead of gcc_[ce]pass/fail. ! Wed Sep 7 11:09:08 1994 Doug Evans (dje@canuck.cygnus.com) * lib/g++.exp (g++_start): Rename arg to `prog' to avoid varargs confusion. --- 13744,13750 ---- * lib/c-torture.exp: Call gcc_pass/gcc_fail instead of gcc_[ce]pass/fail. ! 1994-09-07 Doug Evans (dje@canuck.cygnus.com) * lib/g++.exp (g++_start): Rename arg to `prog' to avoid varargs confusion. *************** Wed Sep 7 11:09:08 1994 Doug Evans (d *** 11420,11426 **** Simplify verbose code, and include status and exec_output. (g++_load): Use gcc_load. ! Sun Sep 4 13:59:27 1994 Jim Wilson (wilson@sphagnum.cygnus.com) * gcc.c-torture/noncompile/920928-1.c: Delete obsolete file. * gcc.c-torture/noncompile/noncompile.exp: Delete support for --- 13762,13768 ---- Simplify verbose code, and include status and exec_output. (g++_load): Use gcc_load. ! 1994-09-04 Jim Wilson (wilson@sphagnum.cygnus.com) * gcc.c-torture/noncompile/920928-1.c: Delete obsolete file. * gcc.c-torture/noncompile/noncompile.exp: Delete support for *************** Sun Sep 4 13:59:27 1994 Jim Wilson (w *** 11428,11434 **** 940714-3.c as these testcases don't exist anymore. Make va-arg-1.c expected to pass. ! Fri Aug 19 12:27:07 1994 Doug Evans (dje@canuck.cygnus.com) * gcc.misc-tests/misc.exp: Only run specific testcases. * gcc.misc-tests/dg-test.exp: New file. Tests dg.exp. --- 13770,13776 ---- 940714-3.c as these testcases don't exist anymore. Make va-arg-1.c expected to pass. ! 1994-08-19 Doug Evans (dje@canuck.cygnus.com) * gcc.misc-tests/misc.exp: Only run specific testcases. * gcc.misc-tests/dg-test.exp: New file. Tests dg.exp. *************** Fri Aug 19 12:27:07 1994 Doug Evans (d *** 11444,11461 **** Simplify "initialized" message. (gcc_stat): Clean up comments a little. ! Tue Aug 16 11:16:46 1994 Doug Evans (dje@canuck.cygnus.com) * gcc.prms/prms.exp: New driver for gcc.prms testsuite directory. ! Mon Aug 15 21:20:36 1994 Doug Evans (dje@canuck.cygnus.com) * lib/old-dejagnu.exp (process-option): New proc. (old-dejagnu-init, old-dejagnu-stat): Likewise. (old-dejagnu): Simplify. * g++.old-deja/old-deja.exp: Update to new version of old-dejagnu. ! Sun Aug 14 09:23:53 1994 Jeff Law (law@snake.cs.utah.edu) * lib/c-torture.exp (c-torture): Only call setup_xfail if $xfail exists and is not an empty string. --- 13786,13803 ---- Simplify "initialized" message. (gcc_stat): Clean up comments a little. ! 1994-08-16 Doug Evans (dje@canuck.cygnus.com) * gcc.prms/prms.exp: New driver for gcc.prms testsuite directory. ! 1994-08-15 Doug Evans (dje@canuck.cygnus.com) * lib/old-dejagnu.exp (process-option): New proc. (old-dejagnu-init, old-dejagnu-stat): Likewise. (old-dejagnu): Simplify. * g++.old-deja/old-deja.exp: Update to new version of old-dejagnu. ! 1994-08-14 Jeff Law (law@snake.cs.utah.edu) * lib/c-torture.exp (c-torture): Only call setup_xfail if $xfail exists and is not an empty string. *************** Sun Aug 14 09:23:53 1994 Jeff Law (law *** 11492,11498 **** 940712-1.c, calls.c, combine-hang.c, goto-1.c, init-2.c, labels-1.c, packed-1.c, zero-strct-1.c}: Import from c-torture-1.29. ! Tue Jul 12 12:49:44 1994 Jim Kingdon (kingdon@lioth.cygnus.com) * gcc.execute/{940712-1.c, 940712-2.c, 940713-1.c, 940714-1.c}, gcc.noncompile/{940712-1.h, 940712-1a.h, 940712-1b.h, 940712-1.c, --- 13834,13840 ---- 940712-1.c, calls.c, combine-hang.c, goto-1.c, init-2.c, labels-1.c, packed-1.c, zero-strct-1.c}: Import from c-torture-1.29. ! 1994-07-12 Jim Kingdon (kingdon@lioth.cygnus.com) * gcc.execute/{940712-1.c, 940712-2.c, 940713-1.c, 940714-1.c}, gcc.noncompile/{940712-1.h, 940712-1a.h, 940712-1b.h, 940712-1.c, *************** Tue Jul 12 12:49:44 1994 Jim Kingdon ( *** 11502,11513 **** New tests. * gcc.noncompile/noncompile.exp: Change accordingly. ! Thu Jul 7 14:20:33 1994 Doug Evans (dje@canuck.cygnus.com) * config/sim.exp, lib/c-torture.exp, lib/gcc.exp: Undo previous clobberage. ! Mon Jul 4 17:00:59 1994 Jeff Law (law@snake.cs.utah.edu) * gcc.compile/{931102-1.c, 931102-2.c, 931031-1.c}: * gcc.special/{930510-1.c, special.exp}: --- 13844,13855 ---- New tests. * gcc.noncompile/noncompile.exp: Change accordingly. ! 1994-07-07 Doug Evans (dje@canuck.cygnus.com) * config/sim.exp, lib/c-torture.exp, lib/gcc.exp: Undo previous clobberage. ! 1994-07-04 Jeff Law (law@snake.cs.utah.edu) * gcc.compile/{931102-1.c, 931102-2.c, 931031-1.c}: * gcc.special/{930510-1.c, special.exp}: *************** Mon Jul 4 17:00:59 1994 Jeff Law (law *** 11515,11532 **** 931102-2.c, struct-pack-1.c, divmod-1.c, complex-1.c, struct-varargs-1.c}: New tests from c-torture-1.26. ! Tue Jun 28 17:39:42 1994 J.T. Conklin (jtc@phishhead.cygnus.com) * gcc.wendy/wendy.exp: add --'s so that -1 isn't parsed as an argument to switch. ! Sat May 21 10:39:38 1994 Bill Cox (bill@rtl.cygnus.com) * Revert the previous changes. Please see Rob's directory (/lisa/test/rob/progressive/gcc/testsuite) for testing fixes. ! Thu May 19 18:00:03 1994 Bill Cox (bill@rtl.cygnus.com) * config/sim.exp, config/udi.exp, config/unix.exp, config/vx.exp, g++.brendan/alignof.exp, g++.brendan/arm3.exp, g++.brendan/code-gen5.exp, --- 13857,13874 ---- 931102-2.c, struct-pack-1.c, divmod-1.c, complex-1.c, struct-varargs-1.c}: New tests from c-torture-1.26. ! 1994-06-28 J.T. Conklin (jtc@phishhead.cygnus.com) * gcc.wendy/wendy.exp: add --'s so that -1 isn't parsed as an argument to switch. ! 1994-05-21 Bill Cox (bill@rtl.cygnus.com) * Revert the previous changes. Please see Rob's directory (/lisa/test/rob/progressive/gcc/testsuite) for testing fixes. ! 1994-05-19 Bill Cox (bill@rtl.cygnus.com) * config/sim.exp, config/udi.exp, config/unix.exp, config/vx.exp, g++.brendan/alignof.exp, g++.brendan/arm3.exp, g++.brendan/code-gen5.exp, *************** Thu May 19 18:00:03 1994 Bill Cox (bil *** 11556,11572 **** lib/chill.exp, lib/g++.exp, lib/gcc.exp, lib/mike-g++.exp, lib/mike-gcc.exp, lib/old-dejagnu.exp: Checkin Rob's 94Q1 testing changes. ! Tue May 17 14:55:09 1994 Bill Cox (bill@rtl.cygnus.com) * config/udi.exp, gcc.execute/execute.exp, gcc.wendy/wendy.exp, lib/g++.exp, lib/old-dejagnu.exp: Replace error proc calls with perror calls. ! Mon May 2 17:41:13 1994 Jason Merrill (jason@deneb.cygnus.com) * config/unix.exp (g++_load): Fix syntax. ! Thu Apr 14 12:22:10 1994 Jim Wilson (wilson@sphagnum.cygnus.com) * gcc.compile/initbug1.exp (CFLAGS): Add space at beginning. * gcc.noncompile/921017-1.c: Deleted obsolete test. --- 13898,13914 ---- lib/chill.exp, lib/g++.exp, lib/gcc.exp, lib/mike-g++.exp, lib/mike-gcc.exp, lib/old-dejagnu.exp: Checkin Rob's 94Q1 testing changes. ! 1994-05-17 Bill Cox (bill@rtl.cygnus.com) * config/udi.exp, gcc.execute/execute.exp, gcc.wendy/wendy.exp, lib/g++.exp, lib/old-dejagnu.exp: Replace error proc calls with perror calls. ! 1994-05-02 Jason Merrill (jason@deneb.cygnus.com) * config/unix.exp (g++_load): Fix syntax. ! 1994-04-14 Jim Wilson (wilson@sphagnum.cygnus.com) * gcc.compile/initbug1.exp (CFLAGS): Add space at beginning. * gcc.noncompile/921017-1.c: Deleted obsolete test. *************** Thu Apr 14 12:22:10 1994 Jim Wilson (w *** 11577,11583 **** * gcc.wendy/hbm4.c: Correct typo. * gcc.wendy/tad1.c, tad2.c: Correct expected output. ! Mon Mar 28 13:29:37 1994 Doug Evans (dje@canuck.cygnus.com) * lib/gcc.exp (gcc_[ce]{pass,fail}): Remove output/executable argument. * gcc.wendy/wendy.exp (wendy_try): Remove `output' argument of --- 13919,13925 ---- * gcc.wendy/hbm4.c: Correct typo. * gcc.wendy/tad1.c, tad2.c: Correct expected output. ! 1994-03-28 Doug Evans (dje@canuck.cygnus.com) * lib/gcc.exp (gcc_[ce]{pass,fail}): Remove output/executable argument. * gcc.wendy/wendy.exp (wendy_try): Remove `output' argument of *************** Mon Mar 28 13:29:37 1994 Doug Evans (d *** 11589,11607 **** Call gcc_cpass, gcc_cfail. (c-torture): Pass testing option to c-torture-compile. ! Mon Mar 21 12:40:33 1994 Doug Evans (dje@cygnus.com) Bring patches over from progressive. * config/default.exp: Exit remote shell cleanly. (g++_exit, g++_start): Add default versions. * config/sim.exp (gcc_load): Use perror, not error. ! Sun Mar 20 12:05:32 1994 Doug Evans (dje@canuck.cygnus.com) * lib/gcc.exp: Don't set CFLAGS if CC not set. It clobbers the value set in site.exp. ! Mon Mar 14 19:30:28 1994 Doug Evans (dje@cygnus.com) * gcc.wendy/wendy.exp (wendy_first_line): New proc to fetch DEJAGNU_OUTPUT and DEJAGNU_CFLAGS. --- 13931,13949 ---- Call gcc_cpass, gcc_cfail. (c-torture): Pass testing option to c-torture-compile. ! 1994-03-21 Doug Evans (dje@cygnus.com) Bring patches over from progressive. * config/default.exp: Exit remote shell cleanly. (g++_exit, g++_start): Add default versions. * config/sim.exp (gcc_load): Use perror, not error. ! 1994-03-20 Doug Evans (dje@canuck.cygnus.com) * lib/gcc.exp: Don't set CFLAGS if CC not set. It clobbers the value set in site.exp. ! 1994-03-14 Doug Evans (dje@cygnus.com) * gcc.wendy/wendy.exp (wendy_first_line): New proc to fetch DEJAGNU_OUTPUT and DEJAGNU_CFLAGS. *************** Mon Mar 14 19:30:28 1994 Doug Evans (d *** 11612,11623 **** * lib/gcc.exp: Minor cleanup work. (gcc_cpass, gcc_cfail, gcc_epass, gcc_efail): New procs. ! Wed Mar 9 15:22:54 1994 Doug Evans (dje@canuck.cygnus.com) * config/sim.exp (gcc_load): Document return codes better. Don't pass -v to simulator. ! Thu Feb 24 07:15:18 1994 Jeffrey A. Law (law@snake.cs.utah.edu) * gcc.special/920717-x.c: Fix typo. * gcc.special/special.exp (920717-x.c): Use $srcdir/$subdir to --- 13954,13965 ---- * lib/gcc.exp: Minor cleanup work. (gcc_cpass, gcc_cfail, gcc_epass, gcc_efail): New procs. ! 1994-03-09 Doug Evans (dje@canuck.cygnus.com) * config/sim.exp (gcc_load): Document return codes better. Don't pass -v to simulator. ! 1994-02-24 Jeffrey A. Law (law@snake.cs.utah.edu) * gcc.special/920717-x.c: Fix typo. * gcc.special/special.exp (920717-x.c): Use $srcdir/$subdir to *************** Thu Feb 24 07:15:18 1994 Jeffrey A. Law *** 11625,11631 **** * lib/mike-gcc.exp: Fix typo. ! Tue Feb 15 15:41:47 1994 Rob Savoye (rob@darkstar.cygnus.com) * lib/gcc.exp: Minor cleanup work. Find the proper gcc or g++ binary to use, transform the name. --- 13967,13973 ---- * lib/mike-gcc.exp: Fix typo. ! 1994-02-15 Rob Savoye (rob@darkstar.cygnus.com) * lib/gcc.exp: Minor cleanup work. Find the proper gcc or g++ binary to use, transform the name. *************** Tue Feb 15 15:41:47 1994 Rob Savoye (r *** 11633,11654 **** it's now a special case of gcc that requires no special support. Add a default.exp for unsupported targets. ! Fri Feb 11 12:59:54 1994 Rob Savoye (rob@poseidon.cygnus.com) * g++.jason/report.exp, g++.old-deja/old-deja.exp, lib/old-dejagnu.exp: Fix a few patterns to work with the new version of Tcl. ! Wed Feb 9 21:35:47 1994 Rob Savoye (rob@darkstar.cygnus.com) * lib/c-torture.exp: Made "file prefix*never used a pass, rather than a warning. ! Sun Feb 6 16:52:13 1994 Jeffrey A. Law (law@snake.cs.utah.edu) * lib/mike-gcc.exp: Add in recent changes from mike-g++.exp. ! Mon Jan 3 17:28:25 1994 Jim Wilson (wilson@sphagnum.cygnus.com) * gcc.execute/execute.exp: Combine opt_list and foption_list into option_list. Compile every file with only 4/6 option choices --- 13975,13996 ---- it's now a special case of gcc that requires no special support. Add a default.exp for unsupported targets. ! 1994-02-11 Rob Savoye (rob@poseidon.cygnus.com) * g++.jason/report.exp, g++.old-deja/old-deja.exp, lib/old-dejagnu.exp: Fix a few patterns to work with the new version of Tcl. ! 1994-02-09 Rob Savoye (rob@darkstar.cygnus.com) * lib/c-torture.exp: Made "file prefix*never used a pass, rather than a warning. ! 1994-02-06 Jeffrey A. Law (law@snake.cs.utah.edu) * lib/mike-gcc.exp: Add in recent changes from mike-g++.exp. ! 1994-01-03 Jim Wilson (wilson@sphagnum.cygnus.com) * gcc.execute/execute.exp: Combine opt_list and foption_list into option_list. Compile every file with only 4/6 option choices *************** Mon Jan 3 17:28:25 1994 Jim Wilson (w *** 11659,11670 **** * lib/gcc.exp: Set LIBS, CFLAGS, and LDFLAGS to empty strings if not already set. ! Thu Dec 30 17:17:07 1993 Mike Stump (mrs@rtl.cygnus.com) * lib/old-deja.exp: Add `excess errors test fails' error, now one can put an XFAIL *-*-* on excess errors. ! Sun Dec 19 21:45:34 1993 Jeffrey A. Law (law@snake.cs.utah.edu * g++.law: Add more tests derived from g++-bugs snapshots. --- 14001,14012 ---- * lib/gcc.exp: Set LIBS, CFLAGS, and LDFLAGS to empty strings if not already set. ! 1993-12-30 Mike Stump (mrs@rtl.cygnus.com) * lib/old-deja.exp: Add `excess errors test fails' error, now one can put an XFAIL *-*-* on excess errors. ! 1993-12-19 Jeffrey A. Law (law@snake.cs.utah.edu * g++.law: Add more tests derived from g++-bugs snapshots. *************** Sun Dec 19 21:45:34 1993 Jeffrey A. Law *** 11674,11703 **** * lib/mike-gcc.exp (postbase): Delete the .o file after we've compiled it, and the a.out file after we've run it. ! Fri Dec 17 11:29:56 1993 Brendan Kehoe (brendan@lisa.cygnus.com) * lib/mike-g++.exp (postbase): Delete the .o file after we've compiled it, and the a.out file after we've run it. ! Fri Dec 17 10:18:16 1993 Jeffrey A. Law (law@snake.cs.utah.edu) * g++.law/*.exp: Avoid losing arguments added via "append" commands. ! Wed Dec 15 20:36:40 1993 Rob Savoye (rob@darkstar.cygnus.com) * lib/gcc.exp, lib/g++.exp: Use catch rather than exec to get the version number. ! Sun Dec 12 21:10:04 1993 Jeffrey A. Law (law@snake.cs.utah.edu) * g++.law: New directory of g++ tests derived from the g++-bugs snapshots. ! Thu Dec 09 16:50:41 1993 Jeffrey Wheat (cassidy@cygnus.com) * gcc.compile: initbug1.c initbug1.exp testcase added ! Mon Dec 06 11:09:52 1993 Jeffrey Wheat (cassidy@cygnus.com) * gcc.dje/sizetype-1.exp, dje.exp: minor clean ups * gcc.execute/execute.exp: minor cleanups. added gcc_stat calls. added --- 14016,14045 ---- * lib/mike-gcc.exp (postbase): Delete the .o file after we've compiled it, and the a.out file after we've run it. ! 1993-12-17 Brendan Kehoe (brendan@lisa.cygnus.com) * lib/mike-g++.exp (postbase): Delete the .o file after we've compiled it, and the a.out file after we've run it. ! 1993-12-17 Jeffrey A. Law (law@snake.cs.utah.edu) * g++.law/*.exp: Avoid losing arguments added via "append" commands. ! 1993-12-15 Rob Savoye (rob@darkstar.cygnus.com) * lib/gcc.exp, lib/g++.exp: Use catch rather than exec to get the version number. ! 1993-12-12 Jeffrey A. Law (law@snake.cs.utah.edu) * g++.law: New directory of g++ tests derived from the g++-bugs snapshots. ! 1993-12-09 Jeffrey Wheat (cassidy@cygnus.com) * gcc.compile: initbug1.c initbug1.exp testcase added ! 1993-12-06 Jeffrey Wheat (cassidy@cygnus.com) * gcc.dje/sizetype-1.exp, dje.exp: minor clean ups * gcc.execute/execute.exp: minor cleanups. added gcc_stat calls. added *************** Mon Dec 06 11:09:52 1993 Jeffrey Wheat *** 11706,11712 **** Jeff Law (law@cs.utah.edu) ! Tue Nov 30 16:34:07 1993 Mike Stump (mrs@cygnus.com) * config/unix-g++.exp: Follow the gcc way of doing things. * g++.old-deja/old-deja.exp: Minor updates. --- 14048,14054 ---- Jeff Law (law@cs.utah.edu) ! 1993-11-30 Mike Stump (mrs@cygnus.com) * config/unix-g++.exp: Follow the gcc way of doing things. * g++.old-deja/old-deja.exp: Minor updates. *************** Tue Nov 30 16:34:07 1993 Mike Stump (m *** 11714,11750 **** * lib/old-dejagnu.exp: Minor updates. * lib/mike-g++.exp: Always unset errorInfo. ! Sat Nov 6 11:34:51 1993 Mike Stump (mrs@cygnus.com) * lib/gcc.exp: Fix some errors with the below change, CC and CFLAGS should be global when setting, not local. ! Wed Nov 3 11:16:26 1993 Rob Savoye (rob@darkstar.cygnus.com) * lib/gcc.exp: Transform tool name. ! Wed Oct 27 23:57:29 1993 Jeffrey Wheat (cassidy@cygnus.com) * gcc.*/*.exp: Fixd some de-stablizing changes. Sorry. ! Wed Oct 27 14:45:50 1993 Jeffrey Wheat (cassidy@cygnus.com) * lib/gcc.exp: change gcc_done to gcc_stat ! Wed Oct 27 09:57:51 1993 Jeffrey Wheat (cassidy@cygnus.com) * Upgraded gcc testsuite to c-torture version 1.25 ! Sun Oct 24 10:58:03 1993 Jeffrey Wheat (cassidy@cygnus.com) * lib/gcc.exp: added reporting code. Changed verbose compile message. * lib/c-torture: added hooks for new reporting code. ! Thu Oct 21 18:45:32 1993 Jeffrey Wheat (cassidy@cygnus.com) * config/sh-gcc.exp: check if sh-sim exists in the path ! Mon Oct 18 11:13:22 1993 Jeffrey Wheat (cassidy@cygnus.com) * gcc.code_quality/code_quality.exp: Initial changes for new logic. * gcc.compile/compile.exp: Initial changes for new logic. --- 14056,14092 ---- * lib/old-dejagnu.exp: Minor updates. * lib/mike-g++.exp: Always unset errorInfo. ! 1993-11-06 Mike Stump (mrs@cygnus.com) * lib/gcc.exp: Fix some errors with the below change, CC and CFLAGS should be global when setting, not local. ! 1993-11-03 Rob Savoye (rob@darkstar.cygnus.com) * lib/gcc.exp: Transform tool name. ! 1993-10-27 Jeffrey Wheat (cassidy@cygnus.com) * gcc.*/*.exp: Fixd some de-stablizing changes. Sorry. ! 1993-10-27 Jeffrey Wheat (cassidy@cygnus.com) * lib/gcc.exp: change gcc_done to gcc_stat ! 1993-10-27 Jeffrey Wheat (cassidy@cygnus.com) * Upgraded gcc testsuite to c-torture version 1.25 ! 1993-10-24 Jeffrey Wheat (cassidy@cygnus.com) * lib/gcc.exp: added reporting code. Changed verbose compile message. * lib/c-torture: added hooks for new reporting code. ! 1993-10-21 Jeffrey Wheat (cassidy@cygnus.com) * config/sh-gcc.exp: check if sh-sim exists in the path ! 1993-10-18 Jeffrey Wheat (cassidy@cygnus.com) * gcc.code_quality/code_quality.exp: Initial changes for new logic. * gcc.compile/compile.exp: Initial changes for new logic. *************** Mon Oct 18 11:13:22 1993 Jeffrey Wheat *** 11757,11763 **** * lib/c-torture.exp: Initial changes for new logic. * lib/gcc.exp: Initial changes for new logic. ! Fri Oct 15 00:19:42 1993 Mike Stump (mrs@cygnus.com) * lib/mike-g++.exp, lib/old-dejagnu.exp: Make the message not depend upon failure or success. Fully qualify names in failure --- 14099,14105 ---- * lib/c-torture.exp: Initial changes for new logic. * lib/gcc.exp: Initial changes for new logic. ! 1993-10-15 Mike Stump (mrs@cygnus.com) * lib/mike-g++.exp, lib/old-dejagnu.exp: Make the message not depend upon failure or success. Fully qualify names in failure *************** Fri Oct 15 00:19:42 1993 Mike Stump (m *** 11767,11804 **** like all others, so that things are uniform. Other miscellaneous improvements. ! Wed Oct 13 15:04:51 1993 Jeffrey Wheat (cassidy@cygnus.com) * gcc.cpp: new directory for cpp tests ! Mon Oct 4 09:03:41 1993 Jeffrey Wheat (cassidy@cygnus.com) * lib/chill.exp: Code reformatted, removed unused code. * config/unix-chill.exp: Code reformatted, removed unused code. * chill.execute/execute.exp: Code reformatted, removed unused code. * chill.execute/oe/orient.exp: Code reformatted, removed unused code. ! Mon Oct 4 06:19:26 1993 Ian Lance Taylor (ian@cygnus.com) * config/mips-gcc.exp, config/mips-g++.exp: New files. Execution routines not written. ! Mon Sep 27 21:07:44 1993 Rob Savoye (rob@darkstar.cygnus.com) * config/bug-gcc.exp: Use new procs from bug.exp. ! Tue Sep 21 18:21:12 1993 Rob Savoye (rob@darkstar.cygnus.com) * config/vx-gcc.exp: Use new vxworks_ld proc, so files get loaded via ftp, rather than depending on NFS. * config/vx-gcc.exp: Use new vxworks_spawn proc to execute test case. ! Thu Sep 9 23:09:15 1993 Rob Savoye (rob@darkstar.cygnus.com) * config/bug-gcc.exp: Use new download proc. ! Tue Sep 14 19:23:58 1993 Jeffrey Wheat (cassidy at deneb.cygnus.com) * chill.execute/execute.exp: cleanups, handles errors better * chill.compile/compile.exp: rewrite, based on execute.exp --- 14109,14146 ---- like all others, so that things are uniform. Other miscellaneous improvements. ! 1993-10-13 Jeffrey Wheat (cassidy@cygnus.com) * gcc.cpp: new directory for cpp tests ! 1993-10-04 Jeffrey Wheat (cassidy@cygnus.com) * lib/chill.exp: Code reformatted, removed unused code. * config/unix-chill.exp: Code reformatted, removed unused code. * chill.execute/execute.exp: Code reformatted, removed unused code. * chill.execute/oe/orient.exp: Code reformatted, removed unused code. ! 1993-10-04 Ian Lance Taylor (ian@cygnus.com) * config/mips-gcc.exp, config/mips-g++.exp: New files. Execution routines not written. ! 1993-09-27 Rob Savoye (rob@darkstar.cygnus.com) * config/bug-gcc.exp: Use new procs from bug.exp. ! 1993-09-21 Rob Savoye (rob@darkstar.cygnus.com) * config/vx-gcc.exp: Use new vxworks_ld proc, so files get loaded via ftp, rather than depending on NFS. * config/vx-gcc.exp: Use new vxworks_spawn proc to execute test case. ! 1993-09-09 Rob Savoye (rob@darkstar.cygnus.com) * config/bug-gcc.exp: Use new download proc. ! 1993-09-14 Jeffrey Wheat (cassidy at deneb.cygnus.com) * chill.execute/execute.exp: cleanups, handles errors better * chill.compile/compile.exp: rewrite, based on execute.exp *************** Tue Sep 14 19:23:58 1993 Jeffrey Wheat *** 11809,11821 **** Added a hack to capture stderr from exec, so noncompile tests can work. ! Sat Sep 11 15:30:10 1993 Jeffrey Wheat (cassidy@cygnus.com) * chill.execute/execute.exp: rewrite of testsuite driver * lib/chill.exp: rewrite of testsuite driver * config/unix-chill.exp: rewrite of testsuite driver ! Wed Aug 25 14:11:13 1993 Bill Cox (bill@rtl.cygnus.com) In chill.execute: * iexpr.ch: Standardize uppercase. --- 14151,14163 ---- Added a hack to capture stderr from exec, so noncompile tests can work. ! 1993-09-11 Jeffrey Wheat (cassidy@cygnus.com) * chill.execute/execute.exp: rewrite of testsuite driver * lib/chill.exp: rewrite of testsuite driver * config/unix-chill.exp: rewrite of testsuite driver ! 1993-08-25 Bill Cox (bill@rtl.cygnus.com) In chill.execute: * iexpr.ch: Standardize uppercase. *************** Wed Aug 25 14:11:13 1993 Bill Cox (bil *** 11823,11829 **** * vary.ch: standardize. Correct varying string assignments. * vary.dat: Add new output lines. ! Tue Aug 24 13:45:49 1993 Bill Cox (bill@rtl.cygnus.com) In chill.execute: * chprintf.ch: Standardize use of uppercase. --- 14165,14171 ---- * vary.ch: standardize. Correct varying string assignments. * vary.dat: Add new output lines. ! 1993-08-24 Bill Cox (bill@rtl.cygnus.com) In chill.execute: * chprintf.ch: Standardize use of uppercase. *************** Tue Aug 24 13:45:49 1993 Bill Cox (bil *** 11831,11843 **** rather than a SYN. * pinits.ch: Standardize. ! Mon Aug 23 17:26:58 1993 Per Bothner (bothner@kalessin.cygnus.com) * rts.c: Get malloc() from , not . * Makefil: Renamed to Makefile.in. * configure.in: New. ! Mon Aug 23 14:24:13 1993 Bill Cox (bill@rtl.cygnus.com) In chill.execute: * .cvsignore: Add result/output files. --- 14173,14185 ---- rather than a SYN. * pinits.ch: Standardize. ! 1993-08-23 Per Bothner (bothner@kalessin.cygnus.com) * rts.c: Get malloc() from , not . * Makefil: Renamed to Makefile.in. * configure.in: New. ! 1993-08-23 Bill Cox (bill@rtl.cygnus.com) In chill.execute: * .cvsignore: Add result/output files. *************** Mon Aug 23 14:24:13 1993 Bill Cox (bil *** 11851,11866 **** * sets.ch: Tiny cleanup. * vary1.ch: Re-indent. ! Tue Aug 17 15:42:07 1993 Bill Cox (bill@rtl.cygnus.com) * Add PR-related files to Makefiles, .cvsignore files, etc. ! Mon Aug 2 15:46:05 PDT 1993 Jeff Wheat (cassidy@cygnus.com) * gcc.unsorted: flow.c and loop.c - renamed to avoid conflicts with compiler objects. New names are test-flow.c and test-loop.c ! Tue Jul 27 10:08:08 PDT 1993 Jeff Wheat (cassidy@cygnus.com) * Upgraded c-torture tests from 1.19 to 1.20 --- 14193,14208 ---- * sets.ch: Tiny cleanup. * vary1.ch: Re-indent. ! 1993-08-17 Bill Cox (bill@rtl.cygnus.com) * Add PR-related files to Makefiles, .cvsignore files, etc. ! 1993-08-02 Jeff Wheat (cassidy@cygnus.com) * gcc.unsorted: flow.c and loop.c - renamed to avoid conflicts with compiler objects. New names are test-flow.c and test-loop.c ! 1993-07-27 Jeff Wheat (cassidy@cygnus.com) * Upgraded c-torture tests from 1.19 to 1.20 *************** Tue Jul 27 10:08:08 PDT 1993 Jeff Wheat *** 11871,11894 **** * gcc.failure: 920411-1.c 920627-2.c * gcc.ieee: 920518-1.c 920810-1.c 930529-1.c ! Tue Jul 20 15:19:44 PDT 1993 Jeff Wheat (cassidy@cygnus.com) * chill.compile/compile.exp chill.execute/execute.exp lib/chill.exp More changes to get testsuite working properly. Needs more work. Added some support for POSIX IEEE Std 1003.3-1991 error messages. ! Mon Jul 19 18:40:31 PDT 1993 Jeff Wheat (cassidy@cygnus.com) * chill.compile/compile.exp chill.execute/execute.exp lib/chill.exp More changes to get testsuite working properly. Needs more work. ! Tue Jul 13 18:38:56 PDT 1993 Jeff Wheat (cassidy@cygnus.com) * chill.compile/compile.exp: Added for Dejagnu support * chill.execute/execute.exp: Added for Dejagnu support * lib/chill.exp config/unix-chill.exp : Added for Dejagnu support ! Sat Jun 19 07:13:05 1993 Bill Cox (bill@rtl.cygnus.com) This should complete moving the CHILL test files. * chill.noncompile(.cvsignore printf.grt --- 14213,14236 ---- * gcc.failure: 920411-1.c 920627-2.c * gcc.ieee: 920518-1.c 920810-1.c 930529-1.c ! 1993-07-20 Jeff Wheat (cassidy@cygnus.com) * chill.compile/compile.exp chill.execute/execute.exp lib/chill.exp More changes to get testsuite working properly. Needs more work. Added some support for POSIX IEEE Std 1003.3-1991 error messages. ! 1993-07-19 Jeff Wheat (cassidy@cygnus.com) * chill.compile/compile.exp chill.execute/execute.exp lib/chill.exp More changes to get testsuite working properly. Needs more work. ! 1993-07-13 Jeff Wheat (cassidy@cygnus.com) * chill.compile/compile.exp: Added for Dejagnu support * chill.execute/execute.exp: Added for Dejagnu support * lib/chill.exp config/unix-chill.exp : Added for Dejagnu support ! 1993-06-19 Bill Cox (bill@rtl.cygnus.com) This should complete moving the CHILL test files. * chill.noncompile(.cvsignore printf.grt *************** Sat Jun 19 07:13:05 1993 Bill Cox (bil *** 11902,11913 **** test-support files. (Makefile): More corrections. ! Fri Jun 18 23:40:54 1993 Bill Cox (bill@rtl.cygnus.com) * chill.compile, chill.execute, chill.nocompile: Add CHILL test cases, ready for DejaGnu. ! Thu Jun 17 19:14:40 MDT 1993 Jeffrey Wheat (cassidy@cygnus.com) * Upgraded c-torture tests from 1.18 to 1.19 --- 14244,14255 ---- test-support files. (Makefile): More corrections. ! 1993-06-18 Bill Cox (bill@rtl.cygnus.com) * chill.compile, chill.execute, chill.nocompile: Add CHILL test cases, ready for DejaGnu. ! 1993-06-17 Jeffrey Wheat (cassidy@cygnus.com) * Upgraded c-torture tests from 1.18 to 1.19 *************** Thu Jun 17 19:14:40 MDT 1993 Jeffrey Wh *** 11920,11942 **** * gcc.misc-test(s): added tests: inst-check.c test-consts.c test-ior.c test-switch.c ! Wed Jun 9 16:53:26 1993 Brendan Kehoe (brendan@lisa.cygnus.com) * lib/mike-g++.exp: Load `./a.out', not `a.out'. ! Mon Jun 7 16:18:40 1993 Ian Lance Taylor (ian@cygnus.com) * g++.old-deja/old-deja.exp: Don't delete all the .o files. ! Thu Jun 3 13:13:36 MDT 1993 Jeffrey Wheat (cassidy@cygnus.com) * Upgraded c-torture tests from 1.17 to 1.18 ! Wed Jun 2 19:02:40 MDT 1993 Jeffrey Wheat (cassidy@cygnus.com) * Upgraded c-torture tests from 1.12 to 1.17 ! Fri Apr 30 09:38:41 1993 Mike Werner (mtw@deneb.cygnus.com) * lib/old-dejagnu.exp: Fixed handling of XFAIL target triplets to correctly --- 14262,14284 ---- * gcc.misc-test(s): added tests: inst-check.c test-consts.c test-ior.c test-switch.c ! 1993-06-09 Brendan Kehoe (brendan@lisa.cygnus.com) * lib/mike-g++.exp: Load `./a.out', not `a.out'. ! 1993-06-07 Ian Lance Taylor (ian@cygnus.com) * g++.old-deja/old-deja.exp: Don't delete all the .o files. ! 1993-06-03 Jeffrey Wheat (cassidy@cygnus.com) * Upgraded c-torture tests from 1.17 to 1.18 ! 1993-06-02 Jeffrey Wheat (cassidy@cygnus.com) * Upgraded c-torture tests from 1.12 to 1.17 ! 1993-04-30 Mike Werner (mtw@deneb.cygnus.com) * lib/old-dejagnu.exp: Fixed handling of XFAIL target triplets to correctly *************** Fri Apr 30 09:38:41 1993 Mike Werner ( *** 11945,11951 **** printed out by the result of the testcases within a given test file. ! Thu Apr 29 19:06:29 1993 Mike Werner (mtw@deneb.cygnus.com) * lib/old-dejagnu.exp: Reworked expected failure handling to trigger off of XFAIL --- 14287,14293 ---- printed out by the result of the testcases within a given test file. ! 1993-04-29 Mike Werner (mtw@deneb.cygnus.com) * lib/old-dejagnu.exp: Reworked expected failure handling to trigger off of XFAIL *************** Thu Apr 29 19:06:29 1993 Mike Werner ( *** 11955,11961 **** It has just occured that the handling of wildcards in the target triplet may not be correct. ! Fri Apr 23 13:16:20 1993 Mike Werner (mtw@deneb.cygnus.com) * g++.old-deja/tests: Moved all subdirectories up one level into g++.old-deja . --- 14297,14303 ---- It has just occured that the handling of wildcards in the target triplet may not be correct. ! 1993-04-23 Mike Werner (mtw@deneb.cygnus.com) * g++.old-deja/tests: Moved all subdirectories up one level into g++.old-deja . *************** Fri Apr 23 13:16:20 1993 Mike Werner ( *** 11970,11980 **** this corrected a problem with erroneous diff logs. Added code to search testcases for expected fail and unexpected pass keywords. ! Tue Apr 20 18:27:58 1993 Rob Savoye (rob at darkstar.cygnus.com) * lib/c-torture.exp: Ignore "file path prefix*unused" message. ! Thu Apr 15 11:01:59 1993 Mike Werner (mtw@deneb.cygnus.com) * g++.old-deja/tests/g++.sun/g++.frag/1045608.C: Removed extraneous text from end of "Special g++ Options" --- 14312,14322 ---- this corrected a problem with erroneous diff logs. Added code to search testcases for expected fail and unexpected pass keywords. ! 1993-04-20 Rob Savoye (rob at darkstar.cygnus.com) * lib/c-torture.exp: Ignore "file path prefix*unused" message. ! 1993-04-15 Mike Werner (mtw@deneb.cygnus.com) * g++.old-deja/tests/g++.sun/g++.frag/1045608.C: Removed extraneous text from end of "Special g++ Options" *************** Thu Apr 15 11:01:59 1993 Mike Werner ( *** 11984,11997 **** keywords, embedded in testcases comments, which will trigger calls to xpass and xfail. ! Wed Apr 14 14:28:01 1993 Mike Werner (mtw@deneb.cygnus.com) * lib/old-dejagnu.exp: Cleaned up pattern matching for keyphrase comments embedded in the testcases, especially the one looking for special compiler options, as well as the pattern matching for the compiler output again. ! Mon Apr 12 15:15:37 1993 Mike Werner (mtw@deneb.cygnus.com) * lib/old-dejagnu.exp: Do a proper check of the return value for execute tests. Fixed several problems with the pattern matching --- 14326,14339 ---- keywords, embedded in testcases comments, which will trigger calls to xpass and xfail. ! 1993-04-14 Mike Werner (mtw@deneb.cygnus.com) * lib/old-dejagnu.exp: Cleaned up pattern matching for keyphrase comments embedded in the testcases, especially the one looking for special compiler options, as well as the pattern matching for the compiler output again. ! 1993-04-12 Mike Werner (mtw@deneb.cygnus.com) * lib/old-dejagnu.exp: Do a proper check of the return value for execute tests. Fixed several problems with the pattern matching *************** Mon Apr 12 15:15:37 1993 Mike Werner ( *** 12001,12027 **** executes the tests passed to it and returns a usable return value. ! Sun Apr 11 17:22:37 1993 Rob Savoye (rob at darkstar.cygnus.com) * lib/gcc.exp: Exits gracefully if $CC is bogus. ! Fri Apr 9 09:41:59 1993 Mike Werner (mtw@deneb.cygnus.com) * lib/old-dejagnu.exp , g++.old-deja/old-deja.exp: Modified both files to properly execute the old style dejagnu tests. The previous versions of these files were experimental and did not function anything near correctly. ! Mon Apr 5 21:08:24 1993 Rob Savoye (rob@cygnus.com) * Removed all Makefile.in and configure.in files. No configuration needed now. ! Fri Apr 2 12:15:17 1993 Mike Werner (mtw@deneb.cygnus.com) * lib: relocated old-dejagnu.exp from devo/dejagnu/lib ! Sun Mar 28 11:17:48 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) * gcc.compile/configure.in, gcc.unsorted/configure.in, gcc.special/configure.in, gcc.noncompile/configure.in, --- 14343,14369 ---- executes the tests passed to it and returns a usable return value. ! 1993-04-11 Rob Savoye (rob at darkstar.cygnus.com) * lib/gcc.exp: Exits gracefully if $CC is bogus. ! 1993-04-09 Mike Werner (mtw@deneb.cygnus.com) * lib/old-dejagnu.exp , g++.old-deja/old-deja.exp: Modified both files to properly execute the old style dejagnu tests. The previous versions of these files were experimental and did not function anything near correctly. ! 1993-04-05 Rob Savoye (rob@cygnus.com) * Removed all Makefile.in and configure.in files. No configuration needed now. ! 1993-04-02 Mike Werner (mtw@deneb.cygnus.com) * lib: relocated old-dejagnu.exp from devo/dejagnu/lib ! 1993-03-28 Ken Raeburn (raeburn@kr-pc.cygnus.com) * gcc.compile/configure.in, gcc.unsorted/configure.in, gcc.special/configure.in, gcc.noncompile/configure.in, *************** Sun Mar 28 11:17:48 1993 Ken Raeburn ( *** 12030,12047 **** g++.niklas/configure.in, g++.mike/configure.in: Remove extra quote in srcname setting. ! Thu Mar 25 20:07:55 1993 Rob Savoye (rob at darkstar.cygnus.com) * lib/udi.exp: Fixed mondfe and mondfe_download. * config/udi-gcc.exp: Fixed misc bugs, works with expect 4.x. * config/abug-gcc.exp: Fixed misc bugs, works with expect 4.x. ! Thu Mar 25 13:06:41 1993 Ian Lance Taylor (ian@cygnus.com) * config/udi-gdb.exp: Check $shell_id after connecting to target. (gdb_exit): Don't remove *_soc files. ! Mon Mar 22 14:28:46 1993 Ian Lance Taylor (ian@cygnus.com) * lib/c-torture.exp: Don't look for main; instead always use -w -c. This is how the c-torture tests work. Remove the object --- 14372,14389 ---- g++.niklas/configure.in, g++.mike/configure.in: Remove extra quote in srcname setting. ! 1993-03-25 Rob Savoye (rob at darkstar.cygnus.com) * lib/udi.exp: Fixed mondfe and mondfe_download. * config/udi-gcc.exp: Fixed misc bugs, works with expect 4.x. * config/abug-gcc.exp: Fixed misc bugs, works with expect 4.x. ! 1993-03-25 Ian Lance Taylor (ian@cygnus.com) * config/udi-gdb.exp: Check $shell_id after connecting to target. (gdb_exit): Don't remove *_soc files. ! 1993-03-22 Ian Lance Taylor (ian@cygnus.com) * lib/c-torture.exp: Don't look for main; instead always use -w -c. This is how the c-torture tests work. Remove the object *************** Mon Mar 22 14:28:46 1993 Ian Lance Tayl *** 12075,12078 **** correspond to c-torture 1.11. * New file. - --- 14417,14419 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/consistency.vlad/layout/endian.c gcc-3.3/gcc/testsuite/consistency.vlad/layout/endian.c *** gcc-3.2.3/gcc/testsuite/consistency.vlad/layout/endian.c 2001-02-12 19:39:56.000000000 +0000 --- gcc-3.3/gcc/testsuite/consistency.vlad/layout/endian.c 2002-08-05 19:19:32.000000000 +0000 *************** *** 1,4 **** --- 1,5 ---- #include + #include static int w[2]; static char * bytes; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.dg/7388.f gcc-3.3/gcc/testsuite/g77.dg/7388.f *** gcc-3.2.3/gcc/testsuite/g77.dg/7388.f 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.dg/7388.f 2002-09-08 13:03:43.000000000 +0000 *************** *** 0 **** --- 1,12 ---- + C { dg-do run } + C { dg-options "-fbounds-check" } + character*25 buff(0:10) + character*80 line + integer i, m1, m2 + i = 1 + m1 = 1 + m2 = 7 + buff(i) = 'tcase0a' + write(line,*) buff(i)(m1:m2) + if (line .ne. ' tcase0a') call abort + end diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.dg/bprob/bprob-1.f gcc-3.3/gcc/testsuite/g77.dg/bprob/bprob-1.f *** gcc-3.2.3/gcc/testsuite/g77.dg/bprob/bprob-1.f 2001-09-14 20:43:35.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.dg/bprob/bprob-1.f 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,330 **** - C Test profile-directed block ordering with various Fortran 77 constructs - C to catch basic regressions in the functionality. - - program bprob1 - implicit none - integer i,j,k,n - integer result - integer lpall, ieall, gtall - integer lpval, ieval, gtval - - lpval = lpall() - ieval = ieall() - gtval = gtall() - if ((lpval .ne. 1) .or. (ieval .ne. 1) .or. (gtval .ne. 1)) then - call abort - end if - - end - - C Pass a value through a function to thwart optimization. - integer function foo(i) - implicit none - integer i - foo = i - end - - C Test various flavors of GOTO and compare results against expected values. - integer function gtall() - implicit none - integer gt1, gt2, gt3, gt4, gt5 - integer gtval - - gtall = 1 - gtval = 0 - gtval = gtval + gt1(0) - gtval = gtval + gt1(1) - if (gtval .ne. 3) then - print *,"gtall part 1: ", gtval, 3 - gtall = 0 - end if - - gtval = 0 - gtval = gtval + gt2(3) - gtval = gtval + gt2(30) - if (gtval .ne. 12) then - print *,"gtall part 2: ", gtval, 12 - gtall = 0 - end if - - gtval = 0 - gtval = gtval + gt3(0) - gtval = gtval + gt3(3) - if (gtval .ne. 48) then - print *,"gtall part 3: ", gtval, 48 - gtall = 0 - end if - - gtval = 0 - gtval = gtval + gt4(1) - gtval = gtval + gt4(2) - gtval = gtval + gt4(3) - if (gtval .ne. 14) then - print *,"gtall part 4: ", gtval, 14 - gtall = 0 - end if - - gtval = 0 - gtval = gtval + gt5(0) - gtval = gtval + gt5(-1) - gtval = gtval + gt5(5) - if (gtval .ne. 14) then - print *,"gtall part 5: ", gtval, 14 - gtall = 0 - end if - end - - C Test simple GOTO. - integer function gt1(f) - implicit none - integer f - if (f .ne. 0) goto 100 - gt1 = 1 - goto 101 - 100 gt1 = 2 - 101 continue - end - - C Test simple GOTO again, this time out of a DO loop. - integer function gt2(f) - implicit none - integer f - integer i - do i=1,10 - if (i .eq. f) goto 100 - end do - gt2 = 4 - goto 101 - 100 gt2 = 8 - 101 continue - end - - C Test computed GOTO. - integer function gt3(i) - implicit none - integer i - gt3 = 8 - goto (101, 102, 103, 104), i - goto 105 - 101 gt3 = 1024 - goto 105 - 102 gt3 = 2048 - goto 105 - 103 gt3 = 16 - goto 105 - 104 gt3 = 4096 - goto 105 - 105 gt3 = gt3 * 2 - end - - C Test assigned GOTO. - integer function gt4(i) - implicit none - integer i - integer label - assign 101 to label - if (i .eq. 2) assign 102 to label - if (i .eq. 3) assign 103 to label - goto label, (101, 102, 103) - 101 gt4 = 1 - goto 104 - 102 gt4 = 2 - goto 104 - 103 gt4 = 4 - 104 gt4 = gt4 * 2 - end - - C Test arithmetic IF (bundled with the GOTO variants). - integer function gt5(i) - implicit none - integer i - gt5 = 1 - if (i) 101, 102, 103 - 101 gt5 = 2 - goto 104 - 102 gt5 = 4 - goto 104 - 103 gt5 = 8 - 104 continue - end - - C Run all of the loop tests and check results against expected values. - integer function lpall() - implicit none - integer loop1, loop2 - integer loopval - - lpall = 1 - loopval = 0 - loopval = loopval + loop1(1,0) - loopval = loopval + loop1(1,2) - loopval = loopval + loop1(1,7) - if (loopval .ne. 12) then - print *,"lpall part 1: ", loopval, 12 - lpall = 0 - end if - - loopval = 0 - loopval = loopval + loop2(1,0,0,0) - loopval = loopval + loop2(1,1,0,0) - loopval = loopval + loop2(1,1,3,0) - loopval = loopval + loop2(1,1,3,1) - loopval = loopval + loop2(1,3,1,5) - loopval = loopval + loop2(1,3,7,3) - if (loopval .ne. 87) then - print *,"lpall part 2: ", loopval, 87 - lpall = 0 - end if - end - - C Test a simple DO loop. - integer function loop1(r,n) - implicit none - integer r,n,i - - loop1 = r - do i=1,n - loop1 = loop1 + 1 - end do - end - - C Test nested DO loops. - integer function loop2(r, l, m, n) - implicit none - integer r,l,m,n - integer i,j,k - loop2 = r - do i=1,l - do j=1,m - do k=1,n - loop2 = loop2 + 1 - end do - end do - end do - end - - C Test various combinations of IF-THEN-ELSE and check results against - C expected values. - integer function ieall() - implicit none - integer ie1, ie2, ie3 - integer ieval - ieall = 1 - ieval = 0 - - ieval = ieval + ie1(0,2) - ieval = ieval + ie1(0,0) - ieval = ieval + ie1(1,2) - ieval = ieval + ie1(10,2) - ieval = ieval + ie1(11,11) - if (ieval .ne. 31) then - print *,"ieall part 1: ", ieval, 31 - ieall = 0 - end if - - ieval = 0 - ieval = ieval + ie2(0) - ieval = ieval + ie2(2) - ieval = ieval + ie2(2) - ieval = ieval + ie2(2) - ieval = ieval + ie2(3) - ieval = ieval + ie2(3) - if (ieval .ne. 23) then - print *,"ieall part 2: ", ieval, 23 - ieall = 0 - end if - - ieval = 0 - ieval = ieval + ie3(11,19) - ieval = ieval + ie3(25,27) - ieval = ieval + ie3(11,22) - ieval = ieval + ie3(11,10) - ieval = ieval + ie3(21,32) - ieval = ieval + ie3(21,20) - ieval = ieval + ie3(1,2) - ieval = ieval + ie3(32,31) - ieval = ieval + ie3(3,0) - ieval = ieval + ie3(0,47) - ieval = ieval + ie3(65,65) - if (ieval .ne. 246) then - print *,"ieall part 3: ", ieval, 246 - ieall = 0 - end if - end - - C Test IF-THEN-ELSE. - integer function ie1(i,j) - implicit none - integer i,j - integer foo - - ie1 = 0 - if (i .ne. 0) then - if (j .ne. 0) then - ie1 = foo(4) - else - ie1 = foo(1024) - end if - else - if (j .ne. 0) then - ie1 = foo(1) - else - ie1 = foo(2) - end if - end if - if (i .gt. j) then - ie1 = foo(ie1*2) - end if - if (i .gt. 10) then - if (j .gt. 10) then - ie1 = foo(ie1*4) - end if - end if - end - - C Test a series of simple IF-THEN statements. - integer function ie2(i) - implicit none - integer i - integer foo - ie2 = 0 - - if (i .eq. 0) then - ie2 = foo(1) - end if - if (i .eq. 1) then - ie2 = foo(1024) - end if - if (i .eq. 2) then - ie2 = foo(2) - end if - if (i .eq. 3) then - ie2 = foo(8) - end if - if (i .eq. 4) then - ie2 = foo(2048) - end if - - end - - C Test nested IF statements and IF with compound expressions. - integer function ie3(i,j) - implicit none - integer i,j - integer foo - - ie3 = 1 - if ((i .gt. 10) .and. (j .gt. i) .and. (j .lt. 20)) then - ie3 = foo(16) - end if - if (i .gt. 20) then - if (j .gt. i) then - if (j .lt. 30) then - ie3 = foo(32) - end if - end if - end if - if ((i .eq. 3) .or. (j .eq. 47) .or. (i .eq.j)) then - ie3 = foo(64) - end if - end --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.dg/bprob/bprob.exp gcc-3.3/gcc/testsuite/g77.dg/bprob/bprob.exp *** gcc-3.2.3/gcc/testsuite/g77.dg/bprob/bprob.exp 2002-04-03 02:45:56.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.dg/bprob/bprob.exp 2002-10-21 20:20:59.000000000 +0000 *************** if $tracelevel then { *** 48,58 **** # Load support procs. load_lib profopt.exp ! # Clean up existing .da and .tim files. ! profopt-cleanup da ! profopt-cleanup tim ! ! foreach src [lsort [glob -nocomplain $srcdir/$subdir/bprob-*.f]] { # If we're only testing specific files and this isn't one of them, skip it. if ![runtest_file_p $runtests $src] then { continue --- 48,54 ---- # Load support procs. load_lib profopt.exp ! foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.f]] { # If we're only testing specific files and this isn't one of them, skip it. if ![runtest_file_p $runtests $src] then { continue diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.dg/bprob/g77-bprob-1.f gcc-3.3/gcc/testsuite/g77.dg/bprob/g77-bprob-1.f *** gcc-3.2.3/gcc/testsuite/g77.dg/bprob/g77-bprob-1.f 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.dg/bprob/g77-bprob-1.f 2002-10-21 20:20:59.000000000 +0000 *************** *** 0 **** --- 1,330 ---- + C Test profile-directed block ordering with various Fortran 77 constructs + C to catch basic regressions in the functionality. + + program bprob1 + implicit none + integer i,j,k,n + integer result + integer lpall, ieall, gtall + integer lpval, ieval, gtval + + lpval = lpall() + ieval = ieall() + gtval = gtall() + if ((lpval .ne. 1) .or. (ieval .ne. 1) .or. (gtval .ne. 1)) then + call abort + end if + + end + + C Pass a value through a function to thwart optimization. + integer function foo(i) + implicit none + integer i + foo = i + end + + C Test various flavors of GOTO and compare results against expected values. + integer function gtall() + implicit none + integer gt1, gt2, gt3, gt4, gt5 + integer gtval + + gtall = 1 + gtval = 0 + gtval = gtval + gt1(0) + gtval = gtval + gt1(1) + if (gtval .ne. 3) then + print *,"gtall part 1: ", gtval, 3 + gtall = 0 + end if + + gtval = 0 + gtval = gtval + gt2(3) + gtval = gtval + gt2(30) + if (gtval .ne. 12) then + print *,"gtall part 2: ", gtval, 12 + gtall = 0 + end if + + gtval = 0 + gtval = gtval + gt3(0) + gtval = gtval + gt3(3) + if (gtval .ne. 48) then + print *,"gtall part 3: ", gtval, 48 + gtall = 0 + end if + + gtval = 0 + gtval = gtval + gt4(1) + gtval = gtval + gt4(2) + gtval = gtval + gt4(3) + if (gtval .ne. 14) then + print *,"gtall part 4: ", gtval, 14 + gtall = 0 + end if + + gtval = 0 + gtval = gtval + gt5(0) + gtval = gtval + gt5(-1) + gtval = gtval + gt5(5) + if (gtval .ne. 14) then + print *,"gtall part 5: ", gtval, 14 + gtall = 0 + end if + end + + C Test simple GOTO. + integer function gt1(f) + implicit none + integer f + if (f .ne. 0) goto 100 + gt1 = 1 + goto 101 + 100 gt1 = 2 + 101 continue + end + + C Test simple GOTO again, this time out of a DO loop. + integer function gt2(f) + implicit none + integer f + integer i + do i=1,10 + if (i .eq. f) goto 100 + end do + gt2 = 4 + goto 101 + 100 gt2 = 8 + 101 continue + end + + C Test computed GOTO. + integer function gt3(i) + implicit none + integer i + gt3 = 8 + goto (101, 102, 103, 104), i + goto 105 + 101 gt3 = 1024 + goto 105 + 102 gt3 = 2048 + goto 105 + 103 gt3 = 16 + goto 105 + 104 gt3 = 4096 + goto 105 + 105 gt3 = gt3 * 2 + end + + C Test assigned GOTO. + integer function gt4(i) + implicit none + integer i + integer label + assign 101 to label + if (i .eq. 2) assign 102 to label + if (i .eq. 3) assign 103 to label + goto label, (101, 102, 103) + 101 gt4 = 1 + goto 104 + 102 gt4 = 2 + goto 104 + 103 gt4 = 4 + 104 gt4 = gt4 * 2 + end + + C Test arithmetic IF (bundled with the GOTO variants). + integer function gt5(i) + implicit none + integer i + gt5 = 1 + if (i) 101, 102, 103 + 101 gt5 = 2 + goto 104 + 102 gt5 = 4 + goto 104 + 103 gt5 = 8 + 104 continue + end + + C Run all of the loop tests and check results against expected values. + integer function lpall() + implicit none + integer loop1, loop2 + integer loopval + + lpall = 1 + loopval = 0 + loopval = loopval + loop1(1,0) + loopval = loopval + loop1(1,2) + loopval = loopval + loop1(1,7) + if (loopval .ne. 12) then + print *,"lpall part 1: ", loopval, 12 + lpall = 0 + end if + + loopval = 0 + loopval = loopval + loop2(1,0,0,0) + loopval = loopval + loop2(1,1,0,0) + loopval = loopval + loop2(1,1,3,0) + loopval = loopval + loop2(1,1,3,1) + loopval = loopval + loop2(1,3,1,5) + loopval = loopval + loop2(1,3,7,3) + if (loopval .ne. 87) then + print *,"lpall part 2: ", loopval, 87 + lpall = 0 + end if + end + + C Test a simple DO loop. + integer function loop1(r,n) + implicit none + integer r,n,i + + loop1 = r + do i=1,n + loop1 = loop1 + 1 + end do + end + + C Test nested DO loops. + integer function loop2(r, l, m, n) + implicit none + integer r,l,m,n + integer i,j,k + loop2 = r + do i=1,l + do j=1,m + do k=1,n + loop2 = loop2 + 1 + end do + end do + end do + end + + C Test various combinations of IF-THEN-ELSE and check results against + C expected values. + integer function ieall() + implicit none + integer ie1, ie2, ie3 + integer ieval + ieall = 1 + ieval = 0 + + ieval = ieval + ie1(0,2) + ieval = ieval + ie1(0,0) + ieval = ieval + ie1(1,2) + ieval = ieval + ie1(10,2) + ieval = ieval + ie1(11,11) + if (ieval .ne. 31) then + print *,"ieall part 1: ", ieval, 31 + ieall = 0 + end if + + ieval = 0 + ieval = ieval + ie2(0) + ieval = ieval + ie2(2) + ieval = ieval + ie2(2) + ieval = ieval + ie2(2) + ieval = ieval + ie2(3) + ieval = ieval + ie2(3) + if (ieval .ne. 23) then + print *,"ieall part 2: ", ieval, 23 + ieall = 0 + end if + + ieval = 0 + ieval = ieval + ie3(11,19) + ieval = ieval + ie3(25,27) + ieval = ieval + ie3(11,22) + ieval = ieval + ie3(11,10) + ieval = ieval + ie3(21,32) + ieval = ieval + ie3(21,20) + ieval = ieval + ie3(1,2) + ieval = ieval + ie3(32,31) + ieval = ieval + ie3(3,0) + ieval = ieval + ie3(0,47) + ieval = ieval + ie3(65,65) + if (ieval .ne. 246) then + print *,"ieall part 3: ", ieval, 246 + ieall = 0 + end if + end + + C Test IF-THEN-ELSE. + integer function ie1(i,j) + implicit none + integer i,j + integer foo + + ie1 = 0 + if (i .ne. 0) then + if (j .ne. 0) then + ie1 = foo(4) + else + ie1 = foo(1024) + end if + else + if (j .ne. 0) then + ie1 = foo(1) + else + ie1 = foo(2) + end if + end if + if (i .gt. j) then + ie1 = foo(ie1*2) + end if + if (i .gt. 10) then + if (j .gt. 10) then + ie1 = foo(ie1*4) + end if + end if + end + + C Test a series of simple IF-THEN statements. + integer function ie2(i) + implicit none + integer i + integer foo + ie2 = 0 + + if (i .eq. 0) then + ie2 = foo(1) + end if + if (i .eq. 1) then + ie2 = foo(1024) + end if + if (i .eq. 2) then + ie2 = foo(2) + end if + if (i .eq. 3) then + ie2 = foo(8) + end if + if (i .eq. 4) then + ie2 = foo(2048) + end if + + end + + C Test nested IF statements and IF with compound expressions. + integer function ie3(i,j) + implicit none + integer i,j + integer foo + + ie3 = 1 + if ((i .gt. 10) .and. (j .gt. i) .and. (j .lt. 20)) then + ie3 = foo(16) + end if + if (i .gt. 20) then + if (j .gt. i) then + if (j .lt. 30) then + ie3 = foo(32) + end if + end if + end if + if ((i .eq. 3) .or. (j .eq. 47) .or. (i .eq.j)) then + ie3 = foo(64) + end if + end diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.dg/f77-edit-apostrophe-out.f gcc-3.3/gcc/testsuite/g77.dg/f77-edit-apostrophe-out.f *** gcc-3.2.3/gcc/testsuite/g77.dg/f77-edit-apostrophe-out.f 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.dg/f77-edit-apostrophe-out.f 2002-03-25 00:22:35.000000000 +0000 *************** *** 0 **** --- 1,21 ---- + C Test Fortran 77 apostrophe edit descriptor + C (ANSI X3.9-1978 Section 13.5.1) + C + C Origin: David Billinghurst + C + C { dg-do run } + C { dg-output "^" } + 10 format('abcde') + 20 format('and an apostrophe -''-') + 30 format('''a leading apostrophe') + 40 format('a trailing apostrophe''') + 50 format('''and all of the above -''-''') + + write(*,10) ! { dg-output "abcde(\n|\r\n|\r)" } + write(*,20) ! { dg-output "and an apostrophe -'-(\n|\r\n|\r)" } + write(*,30) ! { dg-output "'a leading apostrophe(\n|\r\n|\r)" } + write(*,40) ! { dg-output "a trailing apostrophe'(\n|\r\n|\r)" } + write(*,50) ! { dg-output "'and all of the above -'-'(\n|\r\n|\r)" } + + C { dg-output "\$" } + end diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.dg/f77-edit-colon-out.f gcc-3.3/gcc/testsuite/g77.dg/f77-edit-colon-out.f *** gcc-3.2.3/gcc/testsuite/g77.dg/f77-edit-colon-out.f 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.dg/f77-edit-colon-out.f 2002-03-25 00:22:35.000000000 +0000 *************** *** 0 **** --- 1,9 ---- + C Test Fortran 77 colon edit descriptor + C (ANSI X3.9-1978 Section 13.5.5) + C + C Origin: David Billinghurst + C + C { dg-do run } + C { dg-output "^123(\n|\r\n|\r)45(\n|\r\n|\r)\$" } + write(*,'((3(I1:)))') (I,I=1,5) + end diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.dg/f77-edit-h-out.f gcc-3.3/gcc/testsuite/g77.dg/f77-edit-h-out.f *** gcc-3.2.3/gcc/testsuite/g77.dg/f77-edit-h-out.f 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.dg/f77-edit-h-out.f 2002-03-25 00:22:35.000000000 +0000 *************** *** 0 **** --- 1,14 ---- + C Test Fortran 77 H edit descriptor + C (ANSI X3.9-1978 Section 13.5.2) + C + C Origin: David Billinghurst + C + C { dg-do run } + C { dg-output "^" } + 10 format(1H1) + 20 format(6H 6) + write(*,10) ! { dg-output "1(\n|\r\n|\r)" } + write(*,20) ! { dg-output " 6(\n|\r\n|\r)" } + write(*,'(16H''apostrophe'' fun)') ! { dg-output "'apostrophe' fun(\n|\r\n|\r)" } + C { dg-output "\$" } + end diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.dg/f77-edit-i-in.f gcc-3.3/gcc/testsuite/g77.dg/f77-edit-i-in.f *** gcc-3.2.3/gcc/testsuite/g77.dg/f77-edit-i-in.f 2002-04-22 01:36:17.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.dg/f77-edit-i-in.f 2002-04-20 13:23:01.000000000 +0000 *************** C (ANSI X3.9-1978 Section 13.5.9.1) *** 3,26 **** C C Origin: David Billinghurst C ! C Scratch files aren't implemented for most simulators; usually a ! C stub function returns an error code. ! C { dg-do run { xfail mmix-knuth-mmixware cris-*-elf } } ! integer i,j ! open(unit=10,status='SCRATCH') ! write(10,'(A)') '1' ! write(10,'(A)') ' ' ! write(10,'(A)') ' -1' ! rewind(10) ! read(10,'(I1)') i if ( i.ne.1 ) call abort() ! read(10,'(I1)') i ! if ( i.ne.0 ) call abort() ! read(10,'(I2,X,I2)') i,j if ( i.ne.0 ) call abort() ! if ( j.ne.-1 ) call abort() end --- 3,22 ---- C C Origin: David Billinghurst C ! C { dg-do run } ! integer i,j ! character*10 buf ! write(buf,'(A)') '1 -1' ! read(buf,'(I1)') i if ( i.ne.1 ) call abort() ! ! read(buf,'(X,I1)') i if ( i.ne.0 ) call abort() ! ! read(buf,'(X,I1,X,I2)') i,j ! if ( i.ne.0 .and. j.ne.-1 ) call abort() end diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.dg/f77-edit-slash-out.f gcc-3.3/gcc/testsuite/g77.dg/f77-edit-slash-out.f *** gcc-3.2.3/gcc/testsuite/g77.dg/f77-edit-slash-out.f 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.dg/f77-edit-slash-out.f 2002-03-25 00:22:35.000000000 +0000 *************** *** 0 **** --- 1,9 ---- + C Test Fortran 77 colon slash descriptor + C (ANSI X3.9-1978 Section 13.5.4) + C + C Origin: David Billinghurst + C + C { dg-do run } + C { dg-output "^123(\n|\r\n|\r)45(\n|\r\n|\r)\$" } + write(*,'(3(I1)/2(I1))') (I,I=1,5) + end diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.dg/f77-edit-s-out.f gcc-3.3/gcc/testsuite/g77.dg/f77-edit-s-out.f *** gcc-3.2.3/gcc/testsuite/g77.dg/f77-edit-s-out.f 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.dg/f77-edit-s-out.f 2002-03-25 00:22:35.000000000 +0000 *************** *** 0 **** --- 1,20 ---- + C Test Fortran 77 S, SS and SP edit descriptors + C (ANSI X3.9-1978 Section 13.5.6) + C + C Origin: David Billinghurst + C + C { dg-do run } + C ( dg-output "^" } + 10 format(SP,I3,1X,SS,I3) + 20 format(SP,I3,1X,SS,I3,SP,I3) + 30 format(SP,I3,1X,SS,I3,S,I3) + 40 format(SP,I3) + 50 format(SP,I2) + write(*,10) 10, 20 ! { dg-output "\\+10 20(\n|\r\n|\r)" } + write(*,20) 10, 20, 30 ! { dg-output "\\+10 20\\+30(\n|\r\n|\r)" } + write(*,30) 10, 20, 30 ! { dg-output "\\+10 20 30(\n|\r\n|\r)" } + write(*,40) 0 ! { dg-output " \\+0(\n|\r\n|\r)" } + C 15.5.9 - Note 5: When SP editing is in effect, the plus sign is not optional + write(*,50) 11 ! { dg-output "\\*\\*(\n|\r\n|\r)" } + C { dg-output "\$" } + end diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.dg/f77-edit-t-in.f gcc-3.3/gcc/testsuite/g77.dg/f77-edit-t-in.f *** gcc-3.2.3/gcc/testsuite/g77.dg/f77-edit-t-in.f 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.dg/f77-edit-t-in.f 2002-03-25 00:22:35.000000000 +0000 *************** *** 0 **** --- 1,31 ---- + C Test Fortran 77 T edit descriptor for input + C (ANSI X3.9-1978 Section 13.5.3.2) + C + C Origin: David Billinghurst + C + C { dg-do run } + integer i,j + real a,b,c,d,e + character*32 in + + in = '1234 8' + read(in,'(T3,I1)') i + if ( i.ne.3 ) call abort() + read(in,'(5X,TL4,I2)') i + if ( i.ne.23 ) call abort() + read(in,'(3X,I1,TR3,I1)') i,j + if ( i.ne.4 ) call abort() + if ( j.ne.8 ) call abort() + + in = ' 1.5 -12.62 348.75 1.0E-6' + 100 format(F6.0,TL6,I4,1X,I1,8X,I5,F3.0,T10,F5.0,T17,F6.0,TR2,F6.0) + read(in,100) a,i,j,k,b,c,d,e + if ( abs(a-1.5).gt.1.0e-5 ) call abort() + if ( i.ne.1 ) call abort() + if ( j.ne.5 ) call abort() + if ( k.ne.348 ) call abort() + if ( abs(b-0.75).gt.1.0e-5 ) call abort() + if ( abs(c-12.62).gt.1.0e-5 ) call abort() + if ( abs(d-348.75).gt.1.0e-4 ) call abort() + if ( abs(e-1.0e-6).gt.1.0e-11 ) call abort() + end diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.dg/f77-edit-t-out.f gcc-3.3/gcc/testsuite/g77.dg/f77-edit-t-out.f *** gcc-3.2.3/gcc/testsuite/g77.dg/f77-edit-t-out.f 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.dg/f77-edit-t-out.f 2002-03-25 00:22:35.000000000 +0000 *************** *** 0 **** --- 1,12 ---- + C Test Fortran 77 T edit descriptor + C (ANSI X3.9-1978 Section 13.5.3.2) + C + C Origin: David Billinghurst + C + C { dg-do run } + C ( dg-output "^" } + write(*,'(I4,T8,I1)') 1234,8 ! { dg-output "1234 8(\n|\r\n|\r)" } + write(*,'(I4,TR3,I1)') 1234,8 ! { dg-output "1234 8(\n|\r\n|\r)" } + write(*,'(I4,5X,TL2,I1)') 1234,8 ! { dg-output "1234 8(\n|\r\n|\r)" } + C ( dg-output "\$" } + end diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.dg/f77-edit-x-out.f gcc-3.3/gcc/testsuite/g77.dg/f77-edit-x-out.f *** gcc-3.2.3/gcc/testsuite/g77.dg/f77-edit-x-out.f 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.dg/f77-edit-x-out.f 2002-03-25 00:22:35.000000000 +0000 *************** *** 0 **** --- 1,12 ---- + C Test Fortran 77 X descriptor + C (ANSI X3.9-1978 Section 13.5.3.2) + C + C Origin: David Billinghurst + C + C { dg-do run } + C ( dg-output "^" } + write(*,'(I1,1X,I1,2X,I1)') 1,2,3 ! { dg-output "1 2 3(\n|\r\n|\r)" } + C Section 13.5.3 explains why there are no trailing blanks + write(*,'(I1,1X,I1,2X,I1,3X)') 1,2,3 ! { dg-output "1 2 3(\n|\r\n|\r)" } + C { dg-output "\$" } + end diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.dg/pr9258.f gcc-3.3/gcc/testsuite/g77.dg/pr9258.f *** gcc-3.2.3/gcc/testsuite/g77.dg/pr9258.f 2003-01-25 14:42:49.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.dg/pr9258.f 2003-01-28 06:20:50.000000000 +0000 *************** *** 1,18 **** ! C Test case for PR fortran/9258 ! C Origin: kmccarty@Princeton.EDU C C { dg-do compile } SUBROUTINE FOO (B) ! 10 CALL BAR(A) ASSIGN 20 TO M ! IF(100.LT.A) GOTO 10 GOTO 40 C ! 20 IF(B.LT.ABS(A)) GOTO 10 ASSIGN 30 TO M GOTO 40 C ! 30 ASSIGN 10 TO M ! 40 GOTO M,(10,20,30) END --- 1,18 ---- ! C Test case for PR/9258 ! C Origin: kmccarty@princeton.edu C C { dg-do compile } SUBROUTINE FOO (B) ! 10 CALL BAR (A) ASSIGN 20 TO M ! IF (100.LT.A) GOTO 10 GOTO 40 C ! 20 IF (B.LT.ABS(A)) GOTO 10 ASSIGN 30 TO M GOTO 40 C ! 30 ASSIGN 10 TO M ! 40 GOTO M,(10,20,30) END diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.dg/strlen0.f gcc-3.3/gcc/testsuite/g77.dg/strlen0.f *** gcc-3.2.3/gcc/testsuite/g77.dg/strlen0.f 2001-09-22 10:36:11.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.dg/strlen0.f 2002-09-16 13:29:48.000000000 +0000 *************** C written for null values of str1 an *** 28,34 **** C C This code compiles and runs without error on C SunOS 4.1.3 f77 (-C option) ! C SUNWspro SparcCompiler 4.2 f77 (-C option) C (and with proposed patches, gcc-2.9.2 -fbounds-check except for test 6, C which is a genuine, deliberate error - comment out to make further C tests) --- 28,34 ---- C C This code compiles and runs without error on C SunOS 4.1.3 f77 (-C option) ! C SUNWspro SPARCcompiler 4.2 f77 (-C option) C (and with proposed patches, gcc-2.9.2 -fbounds-check except for test 6, C which is a genuine, deliberate error - comment out to make further C tests) diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.f-torture/compile/20010519-1.f gcc-3.3/gcc/testsuite/g77.f-torture/compile/20010519-1.f *** gcc-3.2.3/gcc/testsuite/g77.f-torture/compile/20010519-1.f 2001-05-19 21:16:51.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.f-torture/compile/20010519-1.f 2002-09-16 13:29:49.000000000 +0000 *************** C See: L.Mouawad and D.Perahia, Biop *** 15,21 **** C and: D.Perahia and L.Mouawad, Comput. Chem. (1995), 19, 241. C The method iteratively solves the diagonalization of the C Hessian matrix. To save memory space, it uses a compressed ! C form of the Hessian, which only contains the non-zero elements. C In the diagonalization process, approximate eigenvectors are C mixed with Cartesian coordinates to form a reduced basis. The C Hessian is then diagonalized in the reduced basis. By iterating --- 15,21 ---- C and: D.Perahia and L.Mouawad, Comput. Chem. (1995), 19, 241. C The method iteratively solves the diagonalization of the C Hessian matrix. To save memory space, it uses a compressed ! C form of the Hessian, which only contains the nonzero elements. C In the diagonalization process, approximate eigenvectors are C mixed with Cartesian coordinates to form a reduced basis. The C Hessian is then diagonalized in the reduced basis. By iterating diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.f-torture/compile/20020307-1.f gcc-3.3/gcc/testsuite/g77.f-torture/compile/20020307-1.f *** gcc-3.2.3/gcc/testsuite/g77.f-torture/compile/20020307-1.f 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.f-torture/compile/20020307-1.f 2002-03-07 17:50:08.000000000 +0000 *************** *** 0 **** --- 1,21 ---- + SUBROUTINE SWEEP + PARAMETER(MAXDIM=4,MAXVEC=4**3*8,MAXT=20) + REAL*8 B,W1,W2,BNORM,BINV,WT,W0,C1,C2,R1,R2 + DIMENSION B(MAXVEC,0:3),W1(MAXVEC,0:3),W2(MAXVEC,0:3) + DIMENSION BNORM(MAXVEC),BINV(MAXVEC),WT(MAXVEC),W0(MAXVEC) + DIMENSION C1(MAXVEC),C2(MAXVEC),R1(MAXVEC),R2(MAXVEC) + DO 200 ILAT=1,2**IDIM + DO 200 I1=1,IDIM + DO 220 I2=1,IDIM + CALL INTACT(ILAT,I1,I1,W1) + 220 CONTINUE + DO 310 IATT=1,IDIM + DO 311 I=1,100 + WT(I)=ONE + C1(I)*LOG(EPS+R1(I)) + IF( R2(I)**2 .LE. (ONE-WT(I)**2) )THEN + W0(I)=WT(I) + ENDIF + 311 CONTINUE + 310 CONTINUE + 200 CONTINUE + END diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.f-torture/compile/20030326-1.f gcc-3.3/gcc/testsuite/g77.f-torture/compile/20030326-1.f *** gcc-3.2.3/gcc/testsuite/g77.f-torture/compile/20030326-1.f 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.f-torture/compile/20030326-1.f 2003-03-27 03:45:26.000000000 +0000 *************** *** 0 **** --- 1,14 ---- + C PR fortran/9793 + C larson@w6yx.stanford.edu + C + integer a, b, c + + c = -2147483648 / -1 + + a = 1 + b = 0 + c = a / b + + print *, c + + end diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.f-torture/compile/980310-4.f gcc-3.3/gcc/testsuite/g77.f-torture/compile/980310-4.f *** gcc-3.2.3/gcc/testsuite/g77.f-torture/compile/980310-4.f 1998-12-16 22:05:11.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.f-torture/compile/980310-4.f 2002-09-16 13:29:49.000000000 +0000 *************** c difficulty *** 121,127 **** c = 2 the occurrence of roundoff error is c detected, which prevents the requested c tolerance from being achieved. ! c = 3 extremely bad integrand behaviour occurs c at some points of the integration c interval. c = 6 the input is invalid, because --- 121,127 ---- c = 2 the occurrence of roundoff error is c detected, which prevents the requested c tolerance from being achieved. ! c = 3 extremely bad integrand behavior occurs c at some points of the integration c interval. c = 6 the input is invalid, because *************** c equals limit. *** 303,309 **** c if(last.eq.limit) ier = 1 c ! c set error flag in the case of bad integrand behaviour c at a point of the integration range. c if(dmax1(dabs(a1),dabs(b2)).le.(0.1d+01+0.1d+03* --- 303,309 ---- c if(last.eq.limit) ier = 1 c ! c set error flag in the case of bad integrand behavior c at a point of the integration range. c if(dmax1(dabs(a1),dabs(b2)).le.(0.1d+01+0.1d+03* diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.f-torture/execute/10197.f gcc-3.3/gcc/testsuite/g77.f-torture/execute/10197.f *** gcc-3.2.3/gcc/testsuite/g77.f-torture/execute/10197.f 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.f-torture/execute/10197.f 2003-03-24 23:36:11.000000000 +0000 *************** *** 0 **** --- 1,15 ---- + IMPLICIT NONE + LOGICAL ERROR + CHARACTER*12 FORM + DATA ERROR /.FALSE./ + DATA FORM /' '/ + OPEN(UNIT=60,ACCESS='DIRECT',STATUS='SCRATCH',RECL=255) + INQUIRE(UNIT=60,FORM=FORM) + IF (FORM.EQ.'UNFORMATTED') THEN + ERROR = .FALSE. + ELSE + ERROR = .TRUE. + ENDIF + CLOSE(UNIT=60) + IF (ERROR) CALL ABORT + END diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.f-torture/execute/1832.f gcc-3.3/gcc/testsuite/g77.f-torture/execute/1832.f *** gcc-3.2.3/gcc/testsuite/g77.f-torture/execute/1832.f 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.f-torture/execute/1832.f 2003-04-11 19:29:12.000000000 +0000 *************** *** 0 **** --- 1,8 ---- + character*120 file + character*5 string + file = "c:/dos/adir/bdir/cdir/text.doc" + write(string, *) "a ", file + if (string .ne. ' a') call abort + C-- The leading space is normal for list-directed output + C-- "file" is not printed because it would overflow "string". + end diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.f-torture/execute/6177.f gcc-3.3/gcc/testsuite/g77.f-torture/execute/6177.f *** gcc-3.2.3/gcc/testsuite/g77.f-torture/execute/6177.f 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.f-torture/execute/6177.f 2002-04-10 22:12:19.000000000 +0000 *************** *** 0 **** --- 1,14 ---- + program pr6177 + C + C Test case for PR optimization/6177. + C This bug (an ICE) originally showed up in file cblat2.f from LAPACK. + C + complex x + complex w(1) + intrinsic conjg + x = (2.0d0, 1.0d0) + w(1) = x + x = conjg(x) + w(1) = conjg(w(1)) + if (abs(x-w(1)) .gt. 1.0e-5) call abort + end diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.f-torture/execute/6367.f gcc-3.3/gcc/testsuite/g77.f-torture/execute/6367.f *** gcc-3.2.3/gcc/testsuite/g77.f-torture/execute/6367.f 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.f-torture/execute/6367.f 2002-04-19 21:52:11.000000000 +0000 *************** *** 0 **** --- 1,16 ---- + program testnl + character*80 line + dimension a(10),b(10) + namelist /nl/ a + data a / 10 * 0.0 / + data b / 0., 1., 1., 1., 2., 2., 3., 3., 3., 0. / + data line /'&nl a(2) = 3*1.0, 2*2.0, 3*3.0 /'/ + open(1,status='scratch') + write(1,'(a)') line + rewind(1) + read(1,nl) + close(1) + do i = 1, 10 + if (a(i) .ne. b(i)) call abort + enddo + end diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.f-torture/execute/6367.x gcc-3.3/gcc/testsuite/g77.f-torture/execute/6367.x *** gcc-3.2.3/gcc/testsuite/g77.f-torture/execute/6367.x 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.f-torture/execute/6367.x 2002-04-22 01:19:06.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + # Scratch files aren't implemented for mmixware + # (_stat is a stub and files can't be deleted). + # Similar restrictions exist for most simulators. + + if { [istarget "mmix-knuth-mmixware"] + || [istarget "cris-*-elf"] } { + set torture_execute_xfail [istarget] + } + + return 0 diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.f-torture/execute/select.f gcc-3.3/gcc/testsuite/g77.f-torture/execute/select.f *** gcc-3.2.3/gcc/testsuite/g77.f-torture/execute/select.f 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.f-torture/execute/select.f 2003-03-22 15:24:52.000000000 +0000 *************** *** 0 **** --- 1,173 ---- + C integer byte case with integer byte parameters as case(s) + subroutine ib + integer *1 a /1/ + integer *1 one,two,three + parameter (one=1,two=2,three=3) + select case (a) + case (one) + case (two) + call abort + case (three) + call abort + case default + call abort + end select + print*,'normal ib' + end + C integer halfword case with integer halfword parameters + subroutine ih + integer *2 a /1/ + integer *2 one,two,three + parameter (one=1,two=2,three=3) + select case (a) + case (one) + case (two) + call abort + case (three) + call abort + case default + call abort + end select + print*,'normal ih' + end + C integer case with integer parameters + subroutine iw + integer *4 a /1/ + integer *4 one,two,three + parameter (one=1,two=2,three=3) + select case (a) + case (one) + case (two) + call abort + case (three) + call abort + case default + call abort + end select + print*,'normal iw' + end + C integer double case with integer double parameters + subroutine id + integer *8 a /1/ + integer *8 one,two,three + parameter (one=1,two=2,three=3) + select case (a) + case (one) + case (two) + call abort + case (three) + call abort + case default + call abort + end select + print*,'normal id' + end + C integer byte select with integer case + subroutine ib_mixed + integer*1 s /1/ + select case (s) + case (1) + case (2) + call abort + end select + print*,'ib ok' + end + C integer halfword with integer case + subroutine ih_mixed + integer*2 s /1/ + select case (s) + case (1) + case default + call abort + end select + print*,'ih ok' + end + C integer word with integer case + subroutine iw_mixed + integer s /5/ + select case (s) + case (1) + call abort + case (2) + call abort + case (3) + call abort + case (4) + call abort + case (5) + C + case (6) + call abort + case default + call abort + end select + print*,'iw ok' + end + C integer doubleword with integer case + subroutine id_mixed + integer *8 s /1024/ + select case (s) + case (1) + call abort + case (1023) + call abort + case (1025) + call abort + case (1024) + C + end select + print*,'i8 ok' + end + subroutine l1_mixed + logical*1 s /.TRUE./ + select case (s) + case (.TRUE.) + case (.FALSE.) + call abort + end select + print*,'l1 ok' + end + subroutine l2_mixed + logical*2 s /.FALSE./ + select case (s) + case (.TRUE.) + call abort + case (.FALSE.) + end select + print*,'lh ok' + end + subroutine l4_mixed + logical*4 s /.TRUE./ + select case (s) + case (.FALSE.) + call abort + case (.TRUE.) + end select + print*,'lw ok' + end + subroutine l8_mixed + logical*8 s /.TRUE./ + select case (s) + case (.TRUE.) + case (.FALSE.) + call abort + end select + print*,'ld ok' + end + C main + C -- regression cases + call ib + call ih + call iw + call id + C -- new functionality + call ib_mixed + call ih_mixed + call iw_mixed + call id_mixed + end + + + + + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.f-torture/noncompile/9263.f gcc-3.3/gcc/testsuite/g77.f-torture/noncompile/9263.f *** gcc-3.2.3/gcc/testsuite/g77.f-torture/noncompile/9263.f 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.f-torture/noncompile/9263.f 2003-04-11 19:29:12.000000000 +0000 *************** *** 0 **** --- 1,7 ---- + PARAMETER (Q=1) + PARAMETER (P=10) + INTEGER C(10),D(10),E(10),F(10) + DATA (C(I),I=1,P) /10*10/ ! TERMINAL NOT INTEGER + DATA (D(I),I=Q,10) /10*10/ ! START NOT INTEGER + DATA (E(I),I=1,10,Q) /10*10/ ! INCREMENT NOT INTEGER + END diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g77.f-torture/noncompile/select_no_compile.f gcc-3.3/gcc/testsuite/g77.f-torture/noncompile/select_no_compile.f *** gcc-3.2.3/gcc/testsuite/g77.f-torture/noncompile/select_no_compile.f 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g77.f-torture/noncompile/select_no_compile.f 2003-03-22 15:24:52.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + integer*1 one + integer*2 two + parameter (one=1) + parameter (two=2) + select case (I) + case (one) + case (two) + end select + end + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20000605-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20000605-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20000605-1.c 2000-06-05 13:44:29.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20000605-1.c 2002-09-16 13:29:49.000000000 +0000 *************** *** 1,6 **** /* Copyright (C) 2000 Free Software Foundation */ ! /* make sure we don't get confused by various flavours of void */ /* Origin: Jakub Jelinek * Joel Sherrill --- 1,6 ---- /* Copyright (C) 2000 Free Software Foundation */ ! /* make sure we don't get confused by various flavors of void */ /* Origin: Jakub Jelinek * Joel Sherrill diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20000804-1.x gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20000804-1.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20000804-1.x 2001-05-21 12:06:52.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20000804-1.x 2003-01-15 21:27:05.000000000 +0000 *************** *** 1,9 **** # This does not work on m68hc11 due to the use of an asm statement # to force a 'long long' (64-bits) to go in a register. - global target_triplet if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } { - set torture_compile_xfail "$target_triplet" return 1 } --- 1,7 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20001205-1.x gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20001205-1.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20001205-1.x 2001-05-21 12:06:52.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20001205-1.x 2003-01-15 21:27:05.000000000 +0000 *************** *** 1,8 **** # This does not work on m68hc11 due to the asm statement which # forces two 'long' (32-bits) variables to go in registers. - global target_triplet if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } { ! set torture_compile_xfail "$target_triplet" } return 0 --- 1,7 ---- # This does not work on m68hc11 due to the asm statement which # forces two 'long' (32-bits) variables to go in registers. if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } { ! return 1 } return 0 diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20001226-1.x gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20001226-1.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20001226-1.x 2002-01-23 21:03:53.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20001226-1.x 2003-01-15 21:27:05.000000000 +0000 *************** *** 1,13 **** # This does not assemble on m68hc11 because the function is larger # than 64K. # It doesn't work on Xtensa with -O0 because the function is larger # than the range of a jump instruction (+- 128K) and the assembler # does not yet relax jumps to indirect jumps. ! global target_triplet ! if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] || [istarget "xtensa-*-*"]} { ! set torture_compile_xfail "$target_triplet" ! return 1 } return 0 --- 1,22 ---- # This does not assemble on m68hc11 because the function is larger # than 64K. + global target_triplet + if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } { + return 1 + } + # It doesn't work on Xtensa with -O0 because the function is larger # than the range of a jump instruction (+- 128K) and the assembler # does not yet relax jumps to indirect jumps. ! set torture_eval_before_compile { ! set compiler_conditional_xfail_data { ! "jump beyond 128K not supported" \ ! "xtensa-*-*" \ ! { "-O0" } \ ! { "" } ! } } + return 0 diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20010518-2.x gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20010518-2.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20010518-2.x 2001-05-29 18:59:47.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20010518-2.x 2003-03-02 22:10:58.000000000 +0000 *************** *** 1,2 **** ! set options "-S" return 0 --- 1,8 ---- ! # This test fails on HC11/HC12 when it is compiled without -mshort because ! # the array is too large (INT_MAX/2 > 64K). Force to use 16-bit ints for it. ! if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } { ! set options "-S -mshort" ! } else { ! set options "-S" ! } return 0 diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020303-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020303-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020303-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020303-1.c 2002-03-03 09:00:51.000000000 +0000 *************** *** 0 **** --- 1,5 ---- + /* With -fzero-initialized-in-bss, we made I a common symbol instead + of a symbol in the .bss section. Not only does that break semantics, + but a common symbol can't be weak. */ + + int i __attribute__((weak)) = 0; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020312-1.x gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020312-1.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020312-1.x 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020312-1.x 2003-03-02 22:35:16.000000000 +0000 *************** *** 0 **** --- 1,6 ---- + # This does not compile on HC11/HC12 due to the asm which requires + # two 32-bit registers. + if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } { + return 1 + } + return 0 diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020314-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020314-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020314-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020314-1.c 2002-03-14 21:26:17.000000000 +0000 *************** *** 0 **** --- 1,26 ---- + typedef struct tux_req_struct tux_req_t; + struct tux_req_struct + { + struct socket *sock; + char usermode; + char *userbuf; + unsigned int userlen; + char error; + void *private; + }; + void user_send_buffer (tux_req_t *req, int cachemiss) + { + int ret; + repeat: + switch (ret) { + case -11: + if (add_output_space_event(req, req->sock)) { + del_tux_atom(req); + goto repeat; + } + do { } while (0); + break; + default: + add_req_to_workqueue(req); + } + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020319-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020319-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020319-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020319-1.c 2002-03-22 18:12:59.000000000 +0000 *************** *** 0 **** --- 1,20 ---- + /* This testcase ICEd in combine.c:do_SUBST() self-test for sign-extended + CONST_INT because expr.c:expand_expr() was not sign-extending array index + into constant strings. */ + + typedef unsigned char uch; + extern uch outbuf[]; + extern unsigned outcnt; + + extern void flush_outbuf (void); + + int zip(void) + { + outcnt = 0; + + {outbuf[outcnt++]=(uch)("\037\213"[0]); if (outcnt==16384) flush_outbuf();}; + {outbuf[outcnt++]=(uch)("\037\213"[1]); if (outcnt==16384) flush_outbuf();}; + + return 0; + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020415-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020415-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020415-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020415-1.c 2002-04-18 10:39:41.000000000 +0000 *************** *** 0 **** --- 1,22 ---- + /* Check that floating point casts of integer operations don't ICE. */ + /* The first of these routines caused problems for a patch, that wasn't + otherwise caught by a full bootstrap, the regression test suite or + SPEC CPU2000. */ + + double + andop (unsigned int x) + { + return x & 1; + } + + double + orop (unsigned int x) + { + return x | 1; + } + + double + notop (unsigned int x) + { + return ~x; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020604-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020604-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020604-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020604-1.c 2002-06-07 16:28:57.000000000 +0000 *************** *** 0 **** --- 1,87 ---- + /* PR c/6957 + This testcase ICEd at -O2 on IA-32, because + (insn 141 139 142 (set (subreg:SF (reg:QI 72) 0) + (plus:SF (reg:SF 73) + (reg:SF 76))) 525 {*fop_sf_comm_nosse} (insn_list 134 (nil)) + (expr_list:REG_DEAD (reg:SF 73) (nil))) + couldn't be reloaded. */ + + void + foo (unsigned int n, int x, int y, unsigned char *z) + { + int a, b; + float c[2048][4]; + + switch (x) + { + case 0x1906: + a = b = -1; + break; + case 0x190A: + a = b = -1; + break; + case 0x8049: + a = b = -1; + break; + case 0x1907: + a = 1; + b = 2; + break; + default: + return; + } + + if (a >= 0) + { + unsigned char *d = z; + unsigned int i; + for (i = 0; i < n; i++) + { + do + { + union + { + float r; + unsigned int i; + } + e; + e.r = c[i][1]; + d[a] = + ((e.i >= 0x3f7f0000) ? ((int) e.i < + 0) ? (unsigned char) 0 + : (unsigned char) 255 : (e.r = + e.r * (255.0F / 256.0F) + + 32768.0F, (unsigned char) e.i)); + } + while (0); + d += y; + } + } + + if (b >= 0) + { + unsigned char *d = z; + unsigned int i; + for (i = 0; i < n; i++) + { + do + { + union + { + float r; + unsigned int i; + } + e; + e.r = c[i][2]; + d[b] = + ((e.i >= 0x3f7f0000) ? ((int) e.i < + 0) ? (unsigned char) 0 + : (unsigned char) 255 : (e.r = + e.r * (255.0F / 256.0F) + + 32768.0F, (unsigned char) e.i)); + } + while (0); + d += y; + } + } + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020604-1.x gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020604-1.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020604-1.x 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020604-1.x 2003-01-15 21:27:05.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + # The array is too big. + if { [istarget "h8300-*-*"] } { + return 1; + } + + if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } { + return 1; + } + + return 0 diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020706-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020706-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020706-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020706-1.c 2002-07-06 17:19:51.000000000 +0000 *************** *** 0 **** --- 1,50 ---- + // Contributed by Alexandre Oliva + // From Red Hat case 106165. + + typedef struct s1 + { + unsigned short v1; + unsigned char *v2; + } S1; + + extern void bar(const struct s1 *const hdb); + extern unsigned char* foo (); + + unsigned int sn; + S1 *hdb; + S1 *pb; + unsigned short len; + + unsigned int crashIt() + { + unsigned char *p; + unsigned int nsn; + unsigned short cnt; + + if (sn != 0) return 1; + + if ((len < 12) || ((p = (((pb->v1) >= 8) ? pb->v2 : foo() )) == 0)) + return 1; + + nsn = ( + (((*(unsigned int*)p) & 0x000000ff) << 24) | + (((*(unsigned int*)p) & 0x0000ff00) << 8) | + (((*(unsigned int*)p) & 0x00ff0000) >> 8) | + (((*(unsigned int*)p) & 0xff000000) >> 24) ); + p += 4; + + cnt = (unsigned short) (( + (((*(unsigned int*)p) & 0x000000ff) << 24) | + (((*(unsigned int*)p) & 0x0000ff00) << 8) | + (((*(unsigned int*)p) & 0x00ff0000) >> 8) | + (((*(unsigned int*)p) & 0xff000000) >> 24) ) & + 0xffff); + + if ((len != 12 + (cnt * 56)) || (nsn == 0)) + { + bar(hdb); + return 1; + } + + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020706-2.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020706-2.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020706-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020706-2.c 2002-07-06 17:19:51.000000000 +0000 *************** *** 0 **** --- 1,26 ---- + // Contributed by Alexandre Oliva + // From Red Hat case 106165. + + typedef unsigned short (FUNC_P) (void *, unsigned char *, unsigned short); + + void crashIt(int id, FUNC_P *func, unsigned char *funcparm) + { + unsigned char buff[5], reverse[4]; + unsigned char *bp = buff; + unsigned char *rp = reverse; + unsigned short int count = 0; + unsigned short cnt; + while (id > 0) + { + *rp++ = (unsigned char) (id & 0x7F); + id >>= 7; + count++; + } + cnt = count + 1; + while ((count--) > 1) + { + *bp++ = (unsigned char)(*(--rp) | 0x80); + } + *bp++ = *(--rp); + (void)(*func)(funcparm, buff, cnt); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020709-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020709-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020709-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020709-1.c 2002-07-09 19:52:02.000000000 +0000 *************** *** 0 **** --- 1,7 ---- + extern double atof (__const char *__nptr) __attribute__ ((__pure__)); + + void bar (char *s) + { + union {double val; unsigned int a, b;} u; + u.val = atof (s); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020910-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020910-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020910-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020910-1.c 2002-09-10 15:44:05.000000000 +0000 *************** *** 0 **** --- 1,14 ---- + unsigned int x0 = 0; + + typedef struct { + unsigned int field1 : 20; + unsigned int field2 : 12; + } XX; + + static XX yy; + + static void foo (void) + { + yy.field1 = (unsigned int ) (&x0); + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020930-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020930-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20020930-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20020930-1.c 2002-09-30 17:19:37.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + /* PR c/8002 */ + + float expm1f(float x) { + union { + float value; + unsigned word; + } sf_u; + sf_u.word = (unsigned) x * 2; + return x + sf_u.value; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20021001-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20021001-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20021001-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20021001-1.c 2002-10-01 10:20:33.000000000 +0000 *************** *** 0 **** --- 1,4 ---- + int foo (double x, double y) + { + return !__builtin_isunordered (x, y); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20021103-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20021103-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20021103-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20021103-1.c 2002-11-03 23:42:51.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + /* PR middle-end/8408 */ + /* Verify that the recognizer explicitly + handles ADDRESSOF operands. */ + + void foo(void) + { + double d1 = 3.14159, d2; + if (&d2 == &d1) + ; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20021108-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20021108-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20021108-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20021108-1.c 2002-11-08 11:58:53.000000000 +0000 *************** *** 0 **** --- 1,7 ---- + int + main() + { + l1: + return &&l1-&&l2; + l2: + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20021110.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20021110.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20021110.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20021110.c 2002-11-12 16:27:36.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + /* PR c/8439 */ + /* Verify that GCC properly handles null increments. */ + + struct empty { + }; + + void foo(struct empty *p) + { + p++; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20021119-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20021119-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20021119-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20021119-1.c 2002-11-19 20:19:50.000000000 +0000 *************** *** 0 **** --- 1,11 ---- + /* PR c/8588 */ + /* Contributed by Volker Reichelt. */ + + /* Verify that GCC converts integer constants + in shift operations. */ + + void foo() + { + unsigned int i, j; + j = (i >> 0xf0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20021120-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20021120-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20021120-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20021120-1.c 2002-11-20 10:50:29.000000000 +0000 *************** *** 0 **** --- 1,9 ---- + /* PR c/8518 */ + /* Contributed by Volker Reichelt. */ + + /* Verify that GCC doesn't get confused by the + redefinition of an extern inline function. */ + + extern int inline foo () { return 0; } + extern int inline bar () { return 0; } + static int inline bar () { return foo(); } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20021120-2.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20021120-2.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20021120-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20021120-2.c 2002-11-20 10:50:29.000000000 +0000 *************** *** 0 **** --- 1,9 ---- + /* PR c/8518 */ + /* Contributed by Volker Reichelt. */ + + /* Verify that GCC doesn't get confused by the + redefinition of an extern inline function. */ + + extern int inline foo () { return 0; } + extern int inline bar () { return 0; } + static int bar () { return foo(); } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20030125-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20030125-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20030125-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20030125-1.c 2003-01-26 00:19:02.000000000 +0000 *************** *** 0 **** --- 1,24 ---- + int count; + + int func(int *valp) { + int val, locked = 0; + + while ((val = *valp) != 0) { + if (count) { + if (count) + locked = 1; + else + locked = 1; + + if (!locked) + continue; + } + + if (!count) + count--; + + break; + } + + return val; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20030219-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20030219-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20030219-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20030219-1.c 2003-02-19 15:04:55.000000000 +0000 *************** *** 0 **** --- 1,6 ---- + int global_one; + + void clobber_register() + { + *(volatile unsigned char *)(0xE0000000 * global_one) = 0x00; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20030220-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20030220-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20030220-1.c 2003-02-20 20:11:04.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20030220-1.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,20 **** - /* PR optimization/9768 */ - /* Originator: Randolph Chung */ - - inline int fixfloor (long x) - { - if (x >= 0) - return (x >> 16); - else - return ~((~x) >> 16); - } - - inline int fixtoi (long x) - { - return fixfloor(x) + ((x & 0x8000) >> 15); - } - - int foo(long x, long y) - { - return fixtoi(x*y); - } --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20030330-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20030330-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20030330-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20030330-1.c 2003-03-30 19:02:56.000000000 +0000 *************** *** 0 **** --- 1,7 ---- + /* PR c/10083 */ + /* This will result in a very small constant for umul_highpart, which + uncovered a bug in the Alpha machine description. */ + + unsigned long f(unsigned long x) { + return x % 0x3fffffffffffffff; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20030405-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20030405-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20030405-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20030405-1.c 2003-04-06 00:20:15.000000000 +0000 *************** *** 0 **** --- 1,58 ---- + /* PR optimization/10024 */ + extern int *allegro_errno; + typedef long fixed; + extern inline int + fixfloor (fixed x) + { + if (x >= 0) + return (x >> 16); + else + return ~((~x) >> 16); + } + extern inline int + fixtoi (fixed x) + { + return fixfloor (x) + ((x & 0x8000) >> 15); + } + extern inline fixed + ftofix (double x) + { + if (x > 32767.0) + { + *allegro_errno = 34; + return 0x7FFFFFFF; + } + if (x < -32767.0) + { + *allegro_errno = 34; + return -0x7FFFFFFF; + } + return (long) (x * 65536.0 + (x < 0 ? -0.5 : 0.5)); + } + extern inline double + fixtof (fixed x) + { + return (double) x / 65536.0; + } + extern inline fixed + fixdiv (fixed x, fixed y) + { + if (y == 0) + { + *allegro_errno = 34; + return (x < 0) ? -0x7FFFFFFF : 0x7FFFFFFF; + } + else + return ftofix (fixtof (x) / fixtof (y)); + } + extern inline fixed + itofix (int x) + { + return x << 16; + } + + int + foo (int n) + { + return fixtoi (fixdiv (itofix (512), itofix (n))); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20030418-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20030418-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/20030418-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/20030418-1.c 2003-04-18 06:50:49.000000000 +0000 *************** *** 0 **** --- 1,16 ---- + /* PR optimization/7675 */ + /* Contributed by Volker Reichelt */ + + /* Verify that we don't put automatic variables + in registers too early. */ + + extern int dummy (int *); + + void foo(int i) + { + int j=i; + + void bar() { int x=j, y=i; } + + dummy(&i); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/920501-12.x gcc-3.3/gcc/testsuite/gcc.c-torture/compile/920501-12.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/920501-12.x 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/920501-12.x 2003-03-02 22:10:58.000000000 +0000 *************** *** 0 **** --- 1,6 ---- + # This test fails on HC11/HC12 when it is compiled without -mshort because + # the stack arrays are too large. Force to use 16-bit ints for it. + if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } { + set options "-mshort" + } + return 0 diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/920501-4.x gcc-3.3/gcc/testsuite/gcc.c-torture/compile/920501-4.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/920501-4.x 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/920501-4.x 2003-03-02 22:10:58.000000000 +0000 *************** *** 0 **** --- 1,6 ---- + # This test fails on HC11/HC12 when it is compiled without -mshort because + # the 'r0' array is too large. Force to use 16-bit ints for it. + if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } { + set options "-mshort" + } + return 0 diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/920520-1.x gcc-3.3/gcc/testsuite/gcc.c-torture/compile/920520-1.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/920520-1.x 2001-05-21 20:38:05.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/920520-1.x 2003-01-15 21:27:05.000000000 +0000 *************** set options "-S" *** 3,11 **** # This does not work on m68hc11 due to the asm which forces a # float or a double to go in a register. - global target_triplet if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } { - set torture_compile_xfail "$target_triplet" return 1 } return 0 --- 3,9 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/920625-1.x gcc-3.3/gcc/testsuite/gcc.c-torture/compile/920625-1.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/920625-1.x 2002-04-02 00:04:39.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/920625-1.x 2002-04-02 00:05:39.000000000 +0000 *************** set torture_eval_before_compile { *** 17,23 **** set compiler_conditional_xfail_data { "missing .pred.rel.mutex directive" \ "ia64-*-*" \ ! { "-O2" "-O3" "-Os" } \ { "" } } } --- 17,23 ---- set compiler_conditional_xfail_data { "missing .pred.rel.mutex directive" \ "ia64-*-*" \ ! { "-O1" "-O2" "-O3" "-Os" } \ { "" } } } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/930326-1.x gcc-3.3/gcc/testsuite/gcc.c-torture/compile/930326-1.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/930326-1.x 1998-12-16 22:08:29.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/930326-1.x 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,7 **** - # This doesn't work on mn10200 - - if { [istarget "mn10200*-*-*"] } { - set torture_compile_xfail "mn10200*-*-*" - } - - return 0 --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/961203-1.x gcc-3.3/gcc/testsuite/gcc.c-torture/compile/961203-1.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/961203-1.x 2002-02-10 20:37:22.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/961203-1.x 2003-01-15 21:27:05.000000000 +0000 *************** if { [istarget "h8300-*-*"] } { *** 10,18 **** # Array 'a' in this test is too large to fit in 64K. - global target_triplet if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"]} { ! set torture_compile_xfail "$target_triplet" } return 0 --- 10,17 ---- # Array 'a' in this test is too large to fit in 64K. if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"]} { ! return 1 } return 0 diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/980506-1.x gcc-3.3/gcc/testsuite/gcc.c-torture/compile/980506-1.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/980506-1.x 2002-02-10 20:37:22.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/980506-1.x 2003-03-02 22:10:58.000000000 +0000 *************** if { [istarget "h8300-*-*"] } { *** 7,10 **** --- 7,13 ---- return 1; } + if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } { + return 1 + } return 0 diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/981006-1.x gcc-3.3/gcc/testsuite/gcc.c-torture/compile/981006-1.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/981006-1.x 2002-03-24 20:44:01.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/981006-1.x 2002-07-10 17:38:37.000000000 +0000 *************** if { [istarget rs6000-*-aix*] *** 8,13 **** --- 8,14 ---- || [istarget sh-*-hms] || [istarget sh-*-coff] || [istarget h8300*-*-*] + || [istarget mn10200*-*-*] || [istarget cris-*-elf*] || [istarget cris-*-aout*] || [istarget mmix-*-*] diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/mipscop-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/mipscop-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/mipscop-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/mipscop-1.c 2002-04-25 19:31:45.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + register unsigned int cp0count asm ("$c0r1"); + + int + main (int argc, char *argv[]) + { + unsigned int d; + + d = cp0count + 3; + printf ("%d\n", d); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/mipscop-1.x gcc-3.3/gcc/testsuite/gcc.c-torture/compile/mipscop-1.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/mipscop-1.x 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/mipscop-1.x 2002-05-16 00:11:32.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + global target_triplet + + if { ![istarget "*mips*"] } { + return 1 + } else { + set torture_compile_xfail "$target_triplet" + } + + return 0 + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/mipscop-2.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/mipscop-2.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/mipscop-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/mipscop-2.c 2002-04-25 19:31:45.000000000 +0000 *************** *** 0 **** --- 1,16 ---- + register unsigned int c3r1 asm ("$c3r1"); + + extern unsigned int b, c; + + void + foo () + { + unsigned int a, d; + + c3r1 = a; + b = c3r1; + + c3r1 = c; + d = c3r1; + printf ("%d\n", d); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/mipscop-2.x gcc-3.3/gcc/testsuite/gcc.c-torture/compile/mipscop-2.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/mipscop-2.x 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/mipscop-2.x 2002-05-16 00:11:32.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + global target_triplet + + if { ![istarget "*mips*"] } { + return 1 + } else { + set torture_compile_xfail "$target_triplet" + } + + return 0 + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/mipscop-3.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/mipscop-3.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/mipscop-3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/mipscop-3.c 2002-04-25 19:31:45.000000000 +0000 *************** *** 0 **** --- 1,16 ---- + register unsigned int c3r1 asm ("$c3r1"), c3r2 asm ("$c3r2"); + + extern unsigned int b, c; + + void + foo () + { + unsigned int a, d; + + c3r1 = a; + b = c3r1; + + c3r2 = c; + d = c3r1; + printf ("%d\n", d); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/mipscop-3.x gcc-3.3/gcc/testsuite/gcc.c-torture/compile/mipscop-3.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/mipscop-3.x 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/mipscop-3.x 2002-05-16 00:11:32.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + global target_triplet + + if { ![istarget "*mips*"] } { + return 1 + } else { + set torture_compile_xfail "$target_triplet" + } + + return 0 + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/mipscop-4.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/mipscop-4.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/mipscop-4.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/mipscop-4.c 2002-04-25 19:31:45.000000000 +0000 *************** *** 0 **** --- 1,16 ---- + register unsigned long c3r1 asm ("$c3r1"), c3r2 asm ("$c3r2"); + + extern unsigned long b, c; + + void + foo () + { + unsigned long a, d; + + c3r1 = a; + b = c3r1; + + c3r2 = c; + d = c3r1; + printf ("%d\n", d); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/mipscop-4.x gcc-3.3/gcc/testsuite/gcc.c-torture/compile/mipscop-4.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/mipscop-4.x 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/mipscop-4.x 2002-05-16 00:11:32.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + global target_triplet + + if { ![istarget "*mips*"] } { + return 1 + } else { + set torture_compile_xfail "$target_triplet" + } + + return 0 + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/simd-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/simd-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/simd-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/simd-1.c 2002-07-04 06:38:56.000000000 +0000 *************** *** 0 **** --- 1,7 ---- + typedef int v2si __attribute__ ((mode(V2SI))); + typedef unsigned di __attribute__ ((mode(DI))); + void foo(unsigned long); + void bar() { + v2si x = { 1, 2 }; + foo((di) x); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/simd-2.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/simd-2.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/simd-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/simd-2.c 2002-07-11 23:53:01.000000000 +0000 *************** *** 0 **** --- 1,17 ---- + typedef float floatvect2 __attribute__((mode(V2SF))); + + typedef union + { + floatvect2 vector; + float f[2]; + }resfloatvect2; + + void tempf(float *x, float *y) + { + floatvect2 temp={x[0],x[1]}; + floatvect2 temp1={y[0],y[1]}; + resfloatvect2 temp2; + temp2.vector=temp+temp1; + x[0]=temp2.f[0]; + x[1]=temp2.f[1]; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/simd-3.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/simd-3.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/simd-3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/simd-3.c 2002-07-11 23:53:01.000000000 +0000 *************** *** 0 **** --- 1,17 ---- + typedef float floatvect2 __attribute__((mode(V2DF))); + + typedef union + { + floatvect2 vector; + double f[2]; + }resfloatvect2; + + void tempf(double *x, double *y) + { + floatvect2 temp={x[0],x[1]}; + floatvect2 temp1={y[0],y[1]}; + resfloatvect2 temp2; + temp2.vector=temp+temp1; + x[0]=temp2.f[0]; + x[1]=temp2.f[1]; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/simd-4.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/simd-4.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/simd-4.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/simd-4.c 2002-07-23 20:06:46.000000000 +0000 *************** *** 0 **** --- 1,15 ---- + typedef float floatvect2 __attribute__((mode(V4SF))); + + typedef union + { + floatvect2 vector; + float f[2]; + }resfloatvect2; + + void tempf(floatvect2 *x, floatvect2 *y) + { + floatvect2 temp= *x; + floatvect2 temp1=*y; + resfloatvect2 temp2; + *x=temp+temp1; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/simd-5.c gcc-3.3/gcc/testsuite/gcc.c-torture/compile/simd-5.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/simd-5.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/simd-5.c 2002-10-11 09:59:06.000000000 +0000 *************** *** 0 **** --- 1,12 ---- + #define vector64 __attribute__((vector_size(8))) + + main(){ + + vector64 int c; + vector64 int a = {1, -1}; + vector64 int b = {2, -2}; + c = -a + b*b*(-1LL); + /* c is now {5, 3} */ + + printf("result is %llx\n", (long long)c); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/simd-5.x gcc-3.3/gcc/testsuite/gcc.c-torture/compile/simd-5.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/compile/simd-5.x 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/compile/simd-5.x 2003-03-26 23:18:32.000000000 +0000 *************** *** 0 **** --- 1,16 ---- + # h8300 does not have long long + if { [istarget "h8300-*-*"] } { + return 1; + } + + # PowerPC-64 doesn't handle this; see PR target/9680 + set torture_eval_before_compile { + set compiler_conditional_xfail_data { + "PR target/9680" \ + "powerpc64-*-*" \ + { "*" } \ + { "" } + } + } + + return 0 diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20000217-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20000217-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20000217-1.c 2000-02-18 20:56:47.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20000217-1.c 2002-07-11 01:20:23.000000000 +0000 *************** int main() *** 10,16 **** unsigned short int y = 10; if (showbug(&x, &y) != 0) ! abort (0); exit (0); } --- 10,16 ---- unsigned short int y = 10; if (showbug(&x, &y) != 0) ! abort (); exit (0); } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20000801-4.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20000801-4.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20000801-4.c 2000-11-14 17:37:19.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20000801-4.c 2002-09-15 17:51:49.000000000 +0000 *************** *** 1,8 **** /* Origin: PR c/128 from Martin Sebor , adapted as a testcase by Joseph Myers . */ ! /* Character arrays initialised by a string literal must have ! uninitialised elements zeroed. This isn't clear in the 1990 standard, but was fixed in TC2 and C99; see DRs #060, #092. */ extern void abort (void); --- 1,8 ---- /* Origin: PR c/128 from Martin Sebor , adapted as a testcase by Joseph Myers . */ ! /* Character arrays initialized by a string literal must have ! uninitialized elements zeroed. This isn't clear in the 1990 standard, but was fixed in TC2 and C99; see DRs #060, #092. */ extern void abort (void); diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20010122-1.x gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20010122-1.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20010122-1.x 2002-04-16 23:57:09.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20010122-1.x 2002-07-17 17:54:16.000000000 +0000 *************** *** 1,8 **** ! # This doesn't work on MIPS Irix. ! # See http://gcc.gnu.org/ml/gcc-patches/2002-04/msg00473.html ! if { [istarget "mips*-sgi-irix6*"] } { ! set torture_execute_xfail "mips*-sgi-irix6*" } return 0 --- 1,11 ---- ! # This test relies on __builtin_return_address(1) returning something ! # useful or NULL. This is not guaranteed to be be so, especially when ! # -fomit-frame-pointer is used. So do not test with it. ! set torture_eval_before_compile { ! if {[string match {*-fomit-frame-pointer*} "$option"]} { ! continue ! } } return 0 diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20010915-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20010915-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20010915-1.c 2001-09-14 22:33:58.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20010915-1.c 2002-09-10 12:21:34.000000000 +0000 *************** char *m (char *x) { abort (); } *** 53,59 **** char *s (char *v, char **pp) { if (strcmp (v, "a") != 0 || check++ > 1) ! abort; *pp = v+1; return 0; } --- 53,59 ---- char *s (char *v, char **pp) { if (strcmp (v, "a") != 0 || check++ > 1) ! abort (); *pp = v+1; return 0; } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20011126-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20011126-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20011126-1.c 2001-11-27 01:55:42.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20011126-1.c 2003-04-22 23:40:48.000000000 +0000 *************** *** 1,19 **** ! /* Produced a overflow in ifcvt.c, causing S to contain 0xffffffff7fffffff. */ ! ! int a = 1; ! ! int main () ! { ! long long s; ! ! s = a; ! if (s < 0) ! s = -2147483648LL; ! else ! s = 2147483647LL; ! ! if (s < 0) ! abort (); ! ! return 0; ! } --- 1,19 ---- ! /* Produced a overflow in ifcvt.c, causing S to contain 0xffffffff7fffffff. */ ! ! int a = 1; ! ! int main () ! { ! long long s; ! ! s = a; ! if (s < 0) ! s = -2147483648LL; ! else ! s = 2147483647LL; ! ! if (s < 0) ! abort (); ! ! return 0; ! } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020225-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020225-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020225-1.c 2002-02-24 23:17:23.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020225-1.c 2002-09-16 13:29:49.000000000 +0000 *************** *** 1,5 **** /* This testcase failed at -O2 on powerpc64 due to andsi3 writing ! non-zero bits to the high 32 bits of a 64 bit register. */ extern void abort (void); extern void exit (int); --- 1,5 ---- /* This testcase failed at -O2 on powerpc64 due to andsi3 writing ! nonzero bits to the high 32 bits of a 64 bit register. */ extern void abort (void); extern void exit (int); diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020225-2.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020225-2.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020225-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020225-2.c 2002-02-27 20:27:38.000000000 +0000 *************** *** 0 **** --- 1,19 ---- + static int + test(int x) + { + union + { + int i; + double d; + } a; + a.d = 0; + a.i = 1; + return x >> a.i; + } + + int main(void) + { + if (test (5) != 2) + abort (); + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020226-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020226-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020226-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020226-1.c 2002-02-27 05:28:27.000000000 +0000 *************** *** 0 **** --- 1,104 ---- + /* This tests the rotate patterns that some machines support. */ + + #include + + #ifndef CHAR_BIT + #define CHAR_BIT 8 + #endif + + #define ROR(a,b) (((a) >> (b)) | ((a) << ((sizeof (a) * CHAR_BIT) - (b)))) + #define ROL(a,b) (((a) << (b)) | ((a) >> ((sizeof (a) * CHAR_BIT) - (b)))) + + #define CHAR_VALUE ((unsigned char)0x1234U) + #define SHORT_VALUE ((unsigned short)0x1234U) + #define INT_VALUE 0x1234U + #define LONG_VALUE 0x12345678LU + #define LL_VALUE 0x12345678abcdef0LLU + + #define SHIFT1 4 + #define SHIFT2 ((sizeof (long long) * CHAR_BIT) - SHIFT1) + + unsigned char uc = CHAR_VALUE; + unsigned short us = SHORT_VALUE; + unsigned int ui = INT_VALUE; + unsigned long ul = LONG_VALUE; + unsigned long long ull = LL_VALUE; + int shift1 = SHIFT1; + int shift2 = SHIFT2; + + main () + { + if (ROR (uc, shift1) != ROR (CHAR_VALUE, SHIFT1)) + abort (); + + if (ROR (uc, SHIFT1) != ROR (CHAR_VALUE, SHIFT1)) + abort (); + + if (ROR (us, shift1) != ROR (SHORT_VALUE, SHIFT1)) + abort (); + + if (ROR (us, SHIFT1) != ROR (SHORT_VALUE, SHIFT1)) + abort (); + + if (ROR (ui, shift1) != ROR (INT_VALUE, SHIFT1)) + abort (); + + if (ROR (ui, SHIFT1) != ROR (INT_VALUE, SHIFT1)) + abort (); + + if (ROR (ul, shift1) != ROR (LONG_VALUE, SHIFT1)) + abort (); + + if (ROR (ul, SHIFT1) != ROR (LONG_VALUE, SHIFT1)) + abort (); + + if (ROR (ull, shift1) != ROR (LL_VALUE, SHIFT1)) + abort (); + + if (ROR (ull, SHIFT1) != ROR (LL_VALUE, SHIFT1)) + abort (); + + if (ROR (ull, shift2) != ROR (LL_VALUE, SHIFT2)) + abort (); + + if (ROR (ull, SHIFT2) != ROR (LL_VALUE, SHIFT2)) + abort (); + + if (ROL (uc, shift1) != ROL (CHAR_VALUE, SHIFT1)) + abort (); + + if (ROL (uc, SHIFT1) != ROL (CHAR_VALUE, SHIFT1)) + abort (); + + if (ROL (us, shift1) != ROL (SHORT_VALUE, SHIFT1)) + abort (); + + if (ROL (us, SHIFT1) != ROL (SHORT_VALUE, SHIFT1)) + abort (); + + if (ROL (ui, shift1) != ROL (INT_VALUE, SHIFT1)) + abort (); + + if (ROL (ui, SHIFT1) != ROL (INT_VALUE, SHIFT1)) + abort (); + + if (ROL (ul, shift1) != ROL (LONG_VALUE, SHIFT1)) + abort (); + + if (ROL (ul, SHIFT1) != ROL (LONG_VALUE, SHIFT1)) + abort (); + + if (ROL (ull, shift1) != ROL (LL_VALUE, SHIFT1)) + abort (); + + if (ROL (ull, SHIFT1) != ROL (LL_VALUE, SHIFT1)) + abort (); + + if (ROL (ull, shift2) != ROL (LL_VALUE, SHIFT2)) + abort (); + + if (ROL (ull, SHIFT2) != ROL (LL_VALUE, SHIFT2)) + abort (); + + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020227-1.x gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020227-1.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020227-1.x 2003-02-06 00:39:12.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020227-1.x 2003-03-26 23:18:32.000000000 +0000 *************** if { [istarget "sparc64-*-*"] || [istarg *** 24,29 **** --- 24,31 ---- { "-O0" "-O1" } } } + } elseif { [istarget "powerpc64-*-*"] } { + # PowerPC-64 doesn't fail at any optimization level. } elseif { [istarget "*64*-*-*"] || [istarget "alpha*-*-*"] || [istarget "mmix-*-*"] || [istarget "mips*-*-irix6*"] } { # Other 64-bit targets fail at all optimization levels. diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020307-2.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020307-2.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020307-2.c 2002-03-26 08:52:34.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020307-2.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,56 **** - /* PR c/3711 - This testcase ICEd on IA-32 at -O0 and was miscompiled otherwise, - because std_expand_builtin_va_arg didn't handle variable size types. */ - - #include - - extern void abort (void); - extern void exit (int); - - void bar (int c) - { - static int d = '0'; - - if (c != d++) - abort (); - if (c < '0' || c > '9') - abort (); - } - - void foo (int size, ...) - { - struct - { - char x[size]; - } d; - va_list ap; - int i; - - va_start (ap, size); - d = va_arg (ap, typeof (d)); - for (i = 0; i < size; i++) - bar (d.x[i]); - d = va_arg (ap, typeof (d)); - for (i = 0; i < size; i++) - bar (d.x[i]); - va_end (ap); - } - - int main (void) - { - int z = 5; - struct { char a[z]; } x, y; - - x.a[0] = '0'; - x.a[1] = '1'; - x.a[2] = '2'; - x.a[3] = '3'; - x.a[4] = '4'; - y.a[0] = '5'; - y.a[1] = '6'; - y.a[2] = '7'; - y.a[3] = '8'; - y.a[4] = '9'; - foo (z, x, y); - exit (0); - } --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020307-2.x gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020307-2.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020307-2.x 2003-03-30 04:45:07.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020307-2.x 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,7 **** - # This doesn't work on MIPS Irix, see PR6222 - - if { [istarget "mips*-sgi-irix6*"] } { - set torture_execute_xfail [istarget] - } - - return 0 --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020328-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020328-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020328-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020328-1.c 2002-05-09 13:33:58.000000000 +0000 *************** *** 0 **** --- 1,25 ---- + int b = 0; + + func () { } + + void + testit(int x) + { + if (x != 20) + abort (); + } + + int + main() + + { + int a = 0; + + if (b) + func(); + + /* simplify_and_const_int would incorrectly omit the mask in + the line below. */ + testit ((a + 23) & 0xfffffffc); + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020412-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020412-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020412-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020412-1.c 2002-04-12 20:41:58.000000000 +0000 *************** *** 0 **** --- 1,56 ---- + /* PR c/3711 + This testcase ICEd on IA-32 at -O0 and was miscompiled otherwise, + because std_expand_builtin_va_arg didn't handle variable size types. */ + + #include + + extern void abort (void); + extern void exit (int); + + void bar (int c) + { + static int d = '0'; + + if (c != d++) + abort (); + if (c < '0' || c > '9') + abort (); + } + + void foo (int size, ...) + { + struct + { + char x[size]; + } d; + va_list ap; + int i; + + va_start (ap, size); + d = va_arg (ap, typeof (d)); + for (i = 0; i < size; i++) + bar (d.x[i]); + d = va_arg (ap, typeof (d)); + for (i = 0; i < size; i++) + bar (d.x[i]); + va_end (ap); + } + + int main (void) + { + int z = 5; + struct { char a[z]; } x, y; + + x.a[0] = '0'; + x.a[1] = '1'; + x.a[2] = '2'; + x.a[3] = '3'; + x.a[4] = '4'; + y.a[0] = '5'; + y.a[1] = '6'; + y.a[2] = '7'; + y.a[3] = '8'; + y.a[4] = '9'; + foo (z, x, y); + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020506-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020506-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020506-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020506-1.c 2002-05-06 22:59:38.000000000 +0000 *************** *** 0 **** --- 1,333 ---- + /* Copyright (C) 2002 Free Software Foundation. + + Test that (A & C1) op C2 optimizations behave correctly where C1 is + a constant power of 2, op is == or !=, and C2 is C1 or zero. + + Written by Roger Sayle, 5th May 2002. */ + + #include + + extern void abort (void); + + void test1 (signed char c, int set); + void test2 (unsigned char c, int set); + void test3 (short s, int set); + void test4 (unsigned short s, int set); + void test5 (int i, int set); + void test6 (unsigned int i, int set); + void test7 (long long l, int set); + void test8 (unsigned long long l, int set); + + #ifndef LONG_LONG_MAX + #define LONG_LONG_MAX __LONG_LONG_MAX__ + #endif + #ifndef LONG_LONG_MIN + #define LONG_LONG_MIN (-LONG_LONG_MAX-1) + #endif + #ifndef ULONG_LONG_MAX + #define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1) + #endif + + + void + test1 (signed char c, int set) + { + if ((c & (SCHAR_MAX+1)) == 0) + { + if (set) abort (); + } + else + if (!set) abort (); + + if ((c & (SCHAR_MAX+1)) != 0) + { + if (!set) abort (); + } + else + if (set) abort (); + + if ((c & (SCHAR_MAX+1)) == (SCHAR_MAX+1)) + { + if (!set) abort (); + } + else + if (set) abort (); + + if ((c & (SCHAR_MAX+1)) != (SCHAR_MAX+1)) + { + if (set) abort (); + } + else + if (!set) abort (); + } + + void + test2 (unsigned char c, int set) + { + if ((c & (SCHAR_MAX+1)) == 0) + { + if (set) abort (); + } + else + if (!set) abort (); + + if ((c & (SCHAR_MAX+1)) != 0) + { + if (!set) abort (); + } + else + if (set) abort (); + + if ((c & (SCHAR_MAX+1)) == (SCHAR_MAX+1)) + { + if (!set) abort (); + } + else + if (set) abort (); + + if ((c & (SCHAR_MAX+1)) != (SCHAR_MAX+1)) + { + if (set) abort (); + } + else + if (!set) abort (); + } + + void + test3 (short s, int set) + { + if ((s & (SHRT_MAX+1)) == 0) + { + if (set) abort (); + } + else + if (!set) abort (); + + if ((s & (SHRT_MAX+1)) != 0) + { + if (!set) abort (); + } + else + if (set) abort (); + + if ((s & (SHRT_MAX+1)) == (SHRT_MAX+1)) + { + if (!set) abort (); + } + else + if (set) abort (); + + if ((s & (SHRT_MAX+1)) != (SHRT_MAX+1)) + { + if (set) abort (); + } + else + if (!set) abort (); + } + + void + test4 (unsigned short s, int set) + { + if ((s & (SHRT_MAX+1)) == 0) + { + if (set) abort (); + } + else + if (!set) abort (); + + if ((s & (SHRT_MAX+1)) != 0) + { + if (!set) abort (); + } + else + if (set) abort (); + + if ((s & (SHRT_MAX+1)) == (SHRT_MAX+1)) + { + if (!set) abort (); + } + else + if (set) abort (); + + if ((s & (SHRT_MAX+1)) != (SHRT_MAX+1)) + { + if (set) abort (); + } + else + if (!set) abort (); + } + + void + test5 (int i, int set) + { + if ((i & (INT_MAX+1U)) == 0) + { + if (set) abort (); + } + else + if (!set) abort (); + + if ((i & (INT_MAX+1U)) != 0) + { + if (!set) abort (); + } + else + if (set) abort (); + + if ((i & (INT_MAX+1U)) == (INT_MAX+1U)) + { + if (!set) abort (); + } + else + if (set) abort (); + + if ((i & (INT_MAX+1U)) != (INT_MAX+1U)) + { + if (set) abort (); + } + else + if (!set) abort (); + } + + void + test6 (unsigned int i, int set) + { + if ((i & (INT_MAX+1U)) == 0) + { + if (set) abort (); + } + else + if (!set) abort (); + + if ((i & (INT_MAX+1U)) != 0) + { + if (!set) abort (); + } + else + if (set) abort (); + + if ((i & (INT_MAX+1U)) == (INT_MAX+1U)) + { + if (!set) abort (); + } + else + if (set) abort (); + + if ((i & (INT_MAX+1U)) != (INT_MAX+1U)) + { + if (set) abort (); + } + else + if (!set) abort (); + } + + void + test7 (long long l, int set) + { + if ((l & (LONG_LONG_MAX+1ULL)) == 0) + { + if (set) abort (); + } + else + if (!set) abort (); + + if ((l & (LONG_LONG_MAX+1ULL)) != 0) + { + if (!set) abort (); + } + else + if (set) abort (); + + if ((l & (LONG_LONG_MAX+1ULL)) == (LONG_LONG_MAX+1ULL)) + { + if (!set) abort (); + } + else + if (set) abort (); + + if ((l & (LONG_LONG_MAX+1ULL)) != (LONG_LONG_MAX+1ULL)) + { + if (set) abort (); + } + else + if (!set) abort (); + } + + void + test8 (unsigned long long l, int set) + { + if ((l & (LONG_LONG_MAX+1ULL)) == 0) + { + if (set) abort (); + } + else + if (!set) abort (); + + if ((l & (LONG_LONG_MAX+1ULL)) != 0) + { + if (!set) abort (); + } + else + if (set) abort (); + + if ((l & (LONG_LONG_MAX+1ULL)) == (LONG_LONG_MAX+1ULL)) + { + if (!set) abort (); + } + else + if (set) abort (); + + if ((l & (LONG_LONG_MAX+1ULL)) != (LONG_LONG_MAX+1ULL)) + { + if (set) abort (); + } + else + if (!set) abort (); + } + + int + main () + { + test1 (0, 0); + test1 (SCHAR_MAX, 0); + test1 (SCHAR_MIN, 1); + test1 (UCHAR_MAX, 1); + + test2 (0, 0); + test2 (SCHAR_MAX, 0); + test2 (SCHAR_MIN, 1); + test2 (UCHAR_MAX, 1); + + test3 (0, 0); + test3 (SHRT_MAX, 0); + test3 (SHRT_MIN, 1); + test3 (USHRT_MAX, 1); + + test4 (0, 0); + test4 (SHRT_MAX, 0); + test4 (SHRT_MIN, 1); + test4 (USHRT_MAX, 1); + + test5 (0, 0); + test5 (INT_MAX, 0); + test5 (INT_MIN, 1); + test5 (UINT_MAX, 1); + + test6 (0, 0); + test6 (INT_MAX, 0); + test6 (INT_MIN, 1); + test6 (UINT_MAX, 1); + + test7 (0, 0); + test7 (LONG_LONG_MAX, 0); + test7 (LONG_LONG_MIN, 1); + test7 (ULONG_LONG_MAX, 1); + + test8 (0, 0); + test8 (LONG_LONG_MAX, 0); + test8 (LONG_LONG_MIN, 1); + test8 (ULONG_LONG_MAX, 1); + + return 0; + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020508-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020508-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020508-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020508-1.c 2002-05-08 21:22:06.000000000 +0000 *************** *** 0 **** --- 1,104 ---- + /* This tests the rotate patterns that some machines support. */ + + #include + + #ifndef CHAR_BIT + #define CHAR_BIT 8 + #endif + + #define ROR(a,b) (((a) >> (b)) | ((a) << ((sizeof (a) * CHAR_BIT) - (b)))) + #define ROL(a,b) (((a) << (b)) | ((a) >> ((sizeof (a) * CHAR_BIT) - (b)))) + + #define CHAR_VALUE ((unsigned char)0xf234U) + #define SHORT_VALUE ((unsigned short)0xf234U) + #define INT_VALUE 0xf234U + #define LONG_VALUE 0xf2345678LU + #define LL_VALUE 0xf2345678abcdef0LLU + + #define SHIFT1 4 + #define SHIFT2 ((sizeof (long long) * CHAR_BIT) - SHIFT1) + + unsigned char uc = CHAR_VALUE; + unsigned short us = SHORT_VALUE; + unsigned int ui = INT_VALUE; + unsigned long ul = LONG_VALUE; + unsigned long long ull = LL_VALUE; + int shift1 = SHIFT1; + int shift2 = SHIFT2; + + main () + { + if (ROR (uc, shift1) != ROR (CHAR_VALUE, SHIFT1)) + abort (); + + if (ROR (uc, SHIFT1) != ROR (CHAR_VALUE, SHIFT1)) + abort (); + + if (ROR (us, shift1) != ROR (SHORT_VALUE, SHIFT1)) + abort (); + + if (ROR (us, SHIFT1) != ROR (SHORT_VALUE, SHIFT1)) + abort (); + + if (ROR (ui, shift1) != ROR (INT_VALUE, SHIFT1)) + abort (); + + if (ROR (ui, SHIFT1) != ROR (INT_VALUE, SHIFT1)) + abort (); + + if (ROR (ul, shift1) != ROR (LONG_VALUE, SHIFT1)) + abort (); + + if (ROR (ul, SHIFT1) != ROR (LONG_VALUE, SHIFT1)) + abort (); + + if (ROR (ull, shift1) != ROR (LL_VALUE, SHIFT1)) + abort (); + + if (ROR (ull, SHIFT1) != ROR (LL_VALUE, SHIFT1)) + abort (); + + if (ROR (ull, shift2) != ROR (LL_VALUE, SHIFT2)) + abort (); + + if (ROR (ull, SHIFT2) != ROR (LL_VALUE, SHIFT2)) + abort (); + + if (ROL (uc, shift1) != ROL (CHAR_VALUE, SHIFT1)) + abort (); + + if (ROL (uc, SHIFT1) != ROL (CHAR_VALUE, SHIFT1)) + abort (); + + if (ROL (us, shift1) != ROL (SHORT_VALUE, SHIFT1)) + abort (); + + if (ROL (us, SHIFT1) != ROL (SHORT_VALUE, SHIFT1)) + abort (); + + if (ROL (ui, shift1) != ROL (INT_VALUE, SHIFT1)) + abort (); + + if (ROL (ui, SHIFT1) != ROL (INT_VALUE, SHIFT1)) + abort (); + + if (ROL (ul, shift1) != ROL (LONG_VALUE, SHIFT1)) + abort (); + + if (ROL (ul, SHIFT1) != ROL (LONG_VALUE, SHIFT1)) + abort (); + + if (ROL (ull, shift1) != ROL (LL_VALUE, SHIFT1)) + abort (); + + if (ROL (ull, SHIFT1) != ROL (LL_VALUE, SHIFT1)) + abort (); + + if (ROL (ull, shift2) != ROL (LL_VALUE, SHIFT2)) + abort (); + + if (ROL (ull, SHIFT2) != ROL (LL_VALUE, SHIFT2)) + abort (); + + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020508-2.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020508-2.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020508-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020508-2.c 2002-05-08 21:22:06.000000000 +0000 *************** *** 0 **** --- 1,102 ---- + #include + + #ifndef CHAR_BIT + #define CHAR_BIT 8 + #endif + + #define ROR(a,b) (((a) >> (b)) | ((a) << ((sizeof (a) * CHAR_BIT) - (b)))) + #define ROL(a,b) (((a) << (b)) | ((a) >> ((sizeof (a) * CHAR_BIT) - (b)))) + + #define CHAR_VALUE ((char)0x1234) + #define SHORT_VALUE ((short)0x1234) + #define INT_VALUE ((int)0x1234) + #define LONG_VALUE ((long)0x12345678L) + #define LL_VALUE ((long long)0x12345678abcdef0LL) + + #define SHIFT1 4 + #define SHIFT2 ((sizeof (long long) * CHAR_BIT) - SHIFT1) + + char c = CHAR_VALUE; + short s = SHORT_VALUE; + int i = INT_VALUE; + long l = LONG_VALUE; + long long ll = LL_VALUE; + int shift1 = SHIFT1; + int shift2 = SHIFT2; + + main () + { + if (ROR (c, shift1) != ROR (CHAR_VALUE, SHIFT1)) + abort (); + + if (ROR (c, SHIFT1) != ROR (CHAR_VALUE, SHIFT1)) + abort (); + + if (ROR (s, shift1) != ROR (SHORT_VALUE, SHIFT1)) + abort (); + + if (ROR (s, SHIFT1) != ROR (SHORT_VALUE, SHIFT1)) + abort (); + + if (ROR (i, shift1) != ROR (INT_VALUE, SHIFT1)) + abort (); + + if (ROR (i, SHIFT1) != ROR (INT_VALUE, SHIFT1)) + abort (); + + if (ROR (l, shift1) != ROR (LONG_VALUE, SHIFT1)) + abort (); + + if (ROR (l, SHIFT1) != ROR (LONG_VALUE, SHIFT1)) + abort (); + + if (ROR (ll, shift1) != ROR (LL_VALUE, SHIFT1)) + abort (); + + if (ROR (ll, SHIFT1) != ROR (LL_VALUE, SHIFT1)) + abort (); + + if (ROR (ll, shift2) != ROR (LL_VALUE, SHIFT2)) + abort (); + + if (ROR (ll, SHIFT2) != ROR (LL_VALUE, SHIFT2)) + abort (); + + if (ROL (c, shift1) != ROL (CHAR_VALUE, SHIFT1)) + abort (); + + if (ROL (c, SHIFT1) != ROL (CHAR_VALUE, SHIFT1)) + abort (); + + if (ROL (s, shift1) != ROL (SHORT_VALUE, SHIFT1)) + abort (); + + if (ROL (s, SHIFT1) != ROL (SHORT_VALUE, SHIFT1)) + abort (); + + if (ROL (i, shift1) != ROL (INT_VALUE, SHIFT1)) + abort (); + + if (ROL (i, SHIFT1) != ROL (INT_VALUE, SHIFT1)) + abort (); + + if (ROL (l, shift1) != ROL (LONG_VALUE, SHIFT1)) + abort (); + + if (ROL (l, SHIFT1) != ROL (LONG_VALUE, SHIFT1)) + abort (); + + if (ROL (ll, shift1) != ROL (LL_VALUE, SHIFT1)) + abort (); + + if (ROL (ll, SHIFT1) != ROL (LL_VALUE, SHIFT1)) + abort (); + + if (ROL (ll, shift2) != ROL (LL_VALUE, SHIFT2)) + abort (); + + if (ROL (ll, SHIFT2) != ROL (LL_VALUE, SHIFT2)) + abort (); + + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020508-3.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020508-3.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020508-3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020508-3.c 2002-05-08 21:22:06.000000000 +0000 *************** *** 0 **** --- 1,102 ---- + #include + + #ifndef CHAR_BIT + #define CHAR_BIT 8 + #endif + + #define ROR(a,b) (((a) >> (b)) | ((a) << ((sizeof (a) * CHAR_BIT) - (b)))) + #define ROL(a,b) (((a) << (b)) | ((a) >> ((sizeof (a) * CHAR_BIT) - (b)))) + + #define CHAR_VALUE ((char)0xf234) + #define SHORT_VALUE ((short)0xf234) + #define INT_VALUE ((int)0xf234) + #define LONG_VALUE ((long)0xf2345678L) + #define LL_VALUE ((long long)0xf2345678abcdef0LL) + + #define SHIFT1 4 + #define SHIFT2 ((sizeof (long long) * CHAR_BIT) - SHIFT1) + + char c = CHAR_VALUE; + short s = SHORT_VALUE; + int i = INT_VALUE; + long l = LONG_VALUE; + long long ll = LL_VALUE; + int shift1 = SHIFT1; + int shift2 = SHIFT2; + + main () + { + if (ROR (c, shift1) != ROR (CHAR_VALUE, SHIFT1)) + abort (); + + if (ROR (c, SHIFT1) != ROR (CHAR_VALUE, SHIFT1)) + abort (); + + if (ROR (s, shift1) != ROR (SHORT_VALUE, SHIFT1)) + abort (); + + if (ROR (s, SHIFT1) != ROR (SHORT_VALUE, SHIFT1)) + abort (); + + if (ROR (i, shift1) != ROR (INT_VALUE, SHIFT1)) + abort (); + + if (ROR (i, SHIFT1) != ROR (INT_VALUE, SHIFT1)) + abort (); + + if (ROR (l, shift1) != ROR (LONG_VALUE, SHIFT1)) + abort (); + + if (ROR (l, SHIFT1) != ROR (LONG_VALUE, SHIFT1)) + abort (); + + if (ROR (ll, shift1) != ROR (LL_VALUE, SHIFT1)) + abort (); + + if (ROR (ll, SHIFT1) != ROR (LL_VALUE, SHIFT1)) + abort (); + + if (ROR (ll, shift2) != ROR (LL_VALUE, SHIFT2)) + abort (); + + if (ROR (ll, SHIFT2) != ROR (LL_VALUE, SHIFT2)) + abort (); + + if (ROL (c, shift1) != ROL (CHAR_VALUE, SHIFT1)) + abort (); + + if (ROL (c, SHIFT1) != ROL (CHAR_VALUE, SHIFT1)) + abort (); + + if (ROL (s, shift1) != ROL (SHORT_VALUE, SHIFT1)) + abort (); + + if (ROL (s, SHIFT1) != ROL (SHORT_VALUE, SHIFT1)) + abort (); + + if (ROL (i, shift1) != ROL (INT_VALUE, SHIFT1)) + abort (); + + if (ROL (i, SHIFT1) != ROL (INT_VALUE, SHIFT1)) + abort (); + + if (ROL (l, shift1) != ROL (LONG_VALUE, SHIFT1)) + abort (); + + if (ROL (l, SHIFT1) != ROL (LONG_VALUE, SHIFT1)) + abort (); + + if (ROL (ll, shift1) != ROL (LL_VALUE, SHIFT1)) + abort (); + + if (ROL (ll, SHIFT1) != ROL (LL_VALUE, SHIFT1)) + abort (); + + if (ROL (ll, shift2) != ROL (LL_VALUE, SHIFT2)) + abort (); + + if (ROL (ll, SHIFT2) != ROL (LL_VALUE, SHIFT2)) + abort (); + + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020510-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020510-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020510-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020510-1.c 2002-05-10 22:24:13.000000000 +0000 *************** *** 0 **** --- 1,85 ---- + /* Copyright (C) 2002 Free Software Foundation. + + Test that optimizing ((c>=1) && (c<=127)) into (signed char)c < 0 + doesn't cause any problems for the compiler and behaves correctly. + + Written by Roger Sayle, 8th May 2002. */ + + #include + + extern void abort (void); + + void + testc (unsigned char c, int ok) + { + if ((c>=1) && (c<=SCHAR_MAX)) + { + if (!ok) abort (); + } + else + if (ok) abort (); + } + + void + tests (unsigned short s, int ok) + { + if ((s>=1) && (s<=SHRT_MAX)) + { + if (!ok) abort (); + } + else + if (ok) abort (); + } + + void + testi (unsigned int i, int ok) + { + if ((i>=1) && (i<=INT_MAX)) + { + if (!ok) abort (); + } + else + if (ok) abort (); + } + + void + testl (unsigned long l, int ok) + { + if ((l>=1) && (l<=LONG_MAX)) + { + if (!ok) abort (); + } + else + if (ok) abort (); + } + + int + main () + { + testc (0, 0); + testc (1, 1); + testc (SCHAR_MAX, 1); + testc (SCHAR_MAX+1, 0); + testc (UCHAR_MAX, 0); + + tests (0, 0); + tests (1, 1); + tests (SHRT_MAX, 1); + tests (SHRT_MAX+1, 0); + tests (USHRT_MAX, 0); + + testi (0, 0); + testi (1, 1); + testi (INT_MAX, 1); + testi (INT_MAX+1U, 0); + testi (UINT_MAX, 0); + + testl (0, 0); + testl (1, 1); + testl (LONG_MAX, 1); + testl (LONG_MAX+1UL, 0); + testl (ULONG_MAX, 0); + + return 0; + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020720-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020720-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020720-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020720-1.c 2002-07-20 22:24:58.000000000 +0000 *************** *** 0 **** --- 1,36 ---- + /* Copyright (C) 2002 Free Software Foundation. + + Ensure that fabs(x) < 0.0 optimization is working. + + Written by Roger Sayle, 20th July 2002. */ + + extern void abort (void); + extern double fabs (double); + extern void link_error (void); + + void + foo (double x) + { + double p, q; + + p = fabs (x); + q = 0.0; + if (p < q) + link_error (); + } + + int + main() + { + foo (1.0); + return 0; + } + + #ifndef __OPTIMIZE__ + void + link_error () + { + abort (); + } + #endif + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020720-1.x gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020720-1.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020720-1.x 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020720-1.x 2003-03-08 14:34:06.000000000 +0000 *************** *** 0 **** --- 1,25 ---- + # The following targets fail 20020720-1.c for several reasons: + # (1) They implement floating point instructions via software, or + # (2) The "abs(x) < 0.0" comparison is split up in too many intermediate + # insns for combine to handle -- it can handle max three insns + # simultaneously. For example, for RISCy machines it is common that 1 + # insn performs abs, 1 insn loads 0.0, 1 insn sets CCmode flags based + # upon the FP comparison, and a 4th insn makes a conditional branch + # based upon the appropriate bits in the flags. On the other hand, if + # for example the comparison insn takes 0.0 as an operand, the + # combiner is able to see all intermediate instructions simultaneously + # and can make the optimization. + + # Don't XFAIL at -O0, that should never fail. + set torture_eval_before_compile { + global compiler_conditional_xfail_data + set compiler_conditional_xfail_data { + "This test fails to optimize completely on certain platforms." \ + { "xtensa-*-*" "sh-*-*" "arm*-*-*" "strongarm*-*-*" "xscale*-*-*" \ + "h8300*-*-*" "x86_64-*-*" "cris-*-*" } \ + { "*" } \ + { "-O0" } + } + } + + return 0 diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020911-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020911-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020911-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020911-1.c 2002-09-12 06:49:26.000000000 +0000 *************** *** 0 **** --- 1,8 ---- + extern void abort (void); + unsigned short c = 0x8000; + int main() + { + if ((c-0x8000) < 0 || (c-0x8000) > 0x7fff) + abort(); + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020916-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020916-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20020916-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20020916-1.c 2002-09-19 01:07:10.000000000 +0000 *************** *** 0 **** --- 1,19 ---- + /* Distilled from try_pre_increment in flow.c. If-conversion inserted + new instructions at the wrong place on ppc. */ + + int foo(int a) + { + int x; + x = 0; + if (a > 0) x = 1; + if (a < 0) x = 1; + return x; + } + + int main() + { + if (foo(1) != 1) + abort(); + return 0; + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021010-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021010-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021010-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021010-1.c 2002-10-10 19:36:31.000000000 +0000 *************** *** 0 **** --- 1,21 ---- + #include + + int + sub () + { + int dummy = 0, a = 16; + + if (a / INT_MAX / 16 == 0) + return 0; + else + return a / INT_MAX / 16; + } + + int + main () + { + if (sub () != 0) + abort (); + + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021010-2.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021010-2.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021010-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021010-2.c 2002-10-10 23:16:54.000000000 +0000 *************** *** 0 **** --- 1,37 ---- + /* cse.c failure on x86 target. + Contributed by Stuart Hastings 10 Oct 2002 */ + #include + + typedef signed short SInt16; + + typedef struct { + SInt16 minx; + SInt16 maxx; + SInt16 miny; + SInt16 maxy; + } IOGBounds; + + int expectedwidth = 50; + + unsigned int *global_vramPtr = (unsigned int *)0xa000; + + IOGBounds global_bounds = { 100, 150, 100, 150 }; + IOGBounds global_saveRect = { 75, 175, 75, 175 }; + + main() + { + unsigned int *vramPtr; + int width; + IOGBounds saveRect = global_saveRect; + IOGBounds bounds = global_bounds; + + if (saveRect.minx < bounds.minx) saveRect.minx = bounds.minx; + if (saveRect.maxx > bounds.maxx) saveRect.maxx = bounds.maxx; + + vramPtr = global_vramPtr + (saveRect.miny - bounds.miny) ; + width = saveRect.maxx - saveRect.minx; + + if (width != expectedwidth) + abort (); + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021011-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021011-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021011-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021011-1.c 2002-10-11 22:42:31.000000000 +0000 *************** *** 0 **** --- 1,24 ---- + /* PR opt/8165. */ + + extern void abort (void); + + char buf[64]; + + int + main (void) + { + int i; + + __builtin_strcpy (buf, "mystring"); + if (__builtin_strcmp (buf, "mystring") != 0) + abort (); + + for (i = 0; i < 16; ++i) + { + __builtin_strcpy (buf + i, "mystring"); + if (__builtin_strcmp (buf + i, "mystring") != 0) + abort (); + } + + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021118-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021118-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021118-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021118-1.c 2002-11-18 12:35:15.000000000 +0000 *************** *** 0 **** --- 1,15 ---- + struct s { int f[4]; }; + + int foo (struct s s, int x1, int x2, int x3, int x4, int x5, int x6, int x7) + { + return s.f[3] + x7; + } + + int main () + { + struct s s = { 1, 2, 3, 4 }; + + if (foo (s, 100, 200, 300, 400, 500, 600, 700) != 704) + abort (); + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021118-2.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021118-2.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021118-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021118-2.c 2002-11-18 12:46:48.000000000 +0000 *************** *** 0 **** --- 1,50 ---- + /* Originally added to test SH constant pool layout. t1() failed for + non-PIC and t2() failed for PIC. */ + + int t1 (float *f, int i, + void (*f1) (double), + void (*f2) (float, float)) + { + f1 (3.0); + f[i] = f[i + 1]; + f2 (2.5f, 3.5f); + } + + int t2 (float *f, int i, + void (*f1) (double), + void (*f2) (float, float), + void (*f3) (float)) + { + f3 (6.0f); + f1 (3.0); + f[i] = f[i + 1]; + f2 (2.5f, 3.5f); + } + + void f1 (double d) + { + if (d != 3.0) + abort (); + } + + void f2 (float f1, float f2) + { + if (f1 != 2.5f || f2 != 3.5f) + abort (); + } + + void f3 (float f) + { + if (f != 6.0f) + abort (); + } + + int main () + { + float f[3] = { 2.0f, 3.0f, 4.0f }; + t1 (f, 0, f1, f2); + t2 (f, 1, f1, f2, f3); + if (f[0] != 3.0f && f[1] != 4.0f) + abort (); + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021119-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021119-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021119-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021119-1.c 2002-11-25 19:04:57.000000000 +0000 *************** *** 0 **** --- 1,17 ---- + /* PR 8639. */ + + extern void abort(void); + + int foo (int i) + { + int r; + r = (80 - 4 * i) / 20; + return r; + } + + int main () + { + if (foo (1) != 3) + abort (); + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021120-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021120-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021120-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021120-1.c 2002-11-20 09:52:14.000000000 +0000 *************** *** 0 **** --- 1,58 ---- + /* Macros to emit "L Nxx R" for each octal number xx between 000 and 037. */ + #define OP1(L, N, R, I, J) L N##I##J R + #define OP2(L, N, R, I) \ + OP1(L, N, R, 0, I), OP1(L, N, R, 1, I), \ + OP1(L, N, R, 2, I), OP1(L, N, R, 3, I) + #define OP(L, N, R) \ + OP2(L, N, R, 0), OP2(L, N, R, 1), OP2(L, N, R, 2), OP2(L, N, R, 3), \ + OP2(L, N, R, 4), OP2(L, N, R, 5), OP2(L, N, R, 6), OP2(L, N, R, 7) + + /* Declare 32 unique variables with prefix N. */ + #define DECLARE(N) OP (, N,) + + /* Copy 32 variables with prefix N from the array at ADDR. + Leave ADDR pointing to the end of the array. */ + #define COPYIN(N, ADDR) OP (, N, = *(ADDR++)) + + /* Likewise, but copy the other way. */ + #define COPYOUT(N, ADDR) OP (*(ADDR++) =, N,) + + /* Add the contents of the array at ADDR to 32 variables with prefix N. + Leave ADDR pointing to the end of the array. */ + #define ADD(N, ADDR) OP (, N, += *(ADDR++)) + + volatile double gd[32]; + volatile float gf[32]; + + void foo (int n) + { + double DECLARE(d); + float DECLARE(f); + volatile double *pd; + volatile float *pf; + int i; + + pd = gd; COPYIN (d, pd); + for (i = 0; i < n; i++) + { + pf = gf; COPYIN (f, pf); + pd = gd; ADD (d, pd); + pd = gd; ADD (d, pd); + pd = gd; ADD (d, pd); + pf = gf; COPYOUT (f, pf); + } + pd = gd; COPYOUT (d, pd); + } + + int main () + { + int i; + + for (i = 0; i < 32; i++) + gd[i] = i, gf[i] = i; + foo (1); + for (i = 0; i < 32; i++) + if (gd[i] != i * 4 || gf[i] != i) + abort (); + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021120-2.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021120-2.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021120-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021120-2.c 2002-11-20 09:59:28.000000000 +0000 *************** *** 0 **** --- 1,21 ---- + int g1, g2; + + void foo (int x) + { + int y; + + if (x) + y = 793; + else + y = 793; + g1 = 7930 / y; + g2 = 7930 / x; + } + + int main () + { + foo (793); + if (g1 != 10 || g2 != 10) + abort (); + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021120-3.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021120-3.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021120-3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021120-3.c 2002-11-20 10:03:36.000000000 +0000 *************** *** 0 **** --- 1,26 ---- + /* Test whether a partly call-clobbered register will be moved over a call. + Although the original test case didn't use any GNUisms, it proved + difficult to reduce without the named register extension. */ + #if __SH64__ == 32 + #define LOC asm ("r10") + #else + #define LOC + #endif + + unsigned int foo (char *c, unsigned int x, unsigned int y) + { + register unsigned int z LOC; + + sprintf (c, "%d", x / y); + z = x + 1; + return z / (y + 1); + } + + int main () + { + char c[16]; + + if (foo (c, ~1U, 4) != (~0U / 5)) + abort (); + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021127-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021127-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021127-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021127-1.c 2002-11-27 13:49:33.000000000 +0000 *************** *** 0 **** --- 1,14 ---- + long long a = -1; + long long llabs (long long); + void abort (void); + int + main() + { + if (llabs (a) != 1) + abort (); + return 0; + } + long long llabs (long long b) + { + abort (); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021127-1.x gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021127-1.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021127-1.x 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021127-1.x 2002-11-27 13:49:33.000000000 +0000 *************** *** 0 **** --- 1,2 ---- + set additional_flags "-std=c99" + return 0 diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021204-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021204-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20021204-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20021204-1.c 2002-12-06 07:07:57.000000000 +0000 *************** *** 0 **** --- 1,25 ---- + /* This test was miscompiled when using sibling call optimization, + because X ? Y : Y - 1 optimization changed X into !X in place + and haven't reverted it if do_store_flag was successful, so + when expanding the expression the second time it was + !X ? Y : Y - 1. */ + + extern void abort (void); + extern void exit (int); + + void foo (int x) + { + if (x != 1) + abort (); + } + + int z; + + int main (int argc, char **argv) + { + char *a = "test"; + char *b = a + 2; + + foo (z > 0 ? b - a : b - a - 1); + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20030120-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20030120-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20030120-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20030120-1.c 2003-01-20 06:43:13.000000000 +0000 *************** *** 0 **** --- 1,50 ---- + /* On H8/300 port, NOTICE_UPDATE_CC had a bug that causes the final + pass to remove test insns that should be kept. */ + + unsigned short + test1 (unsigned short w) + { + if ((w & 0xff00) == 0) + { + if (w == 0) + w = 2; + } + return w; + } + + unsigned long + test2 (unsigned long w) + { + if ((w & 0xffff0000) == 0) + { + if (w == 0) + w = 2; + } + return w; + } + + int + test3 (unsigned short a) + { + if (a & 1) + return 1; + else if (a) + return 1; + else + return 0; + } + + int + main () + { + if (test1 (1) != 1) + abort (); + + if (test2 (1) != 1) + abort (); + + if (test3 (2) != 1) + abort (); + + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20030120-2.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20030120-2.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20030120-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20030120-2.c 2003-01-21 05:10:27.000000000 +0000 *************** *** 0 **** --- 1,19 ---- + /* PR 8848 */ + + extern void abort (); + + int foo(int status) + { + int s = 0; + if (status == 1) s=1; + if (status == 3) s=3; + if (status == 4) s=4; + return s; + } + + int main() + { + if (foo (3) != 3) + abort (); + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20030218-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20030218-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/20030218-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/20030218-1.c 2003-02-19 04:37:04.000000000 +0000 *************** *** 0 **** --- 1,25 ---- + /* On H8, the predicate general_operand_src(op,mode) used to ignore + mode when op is a (mem (post_inc ...)). As a result, the pattern + for extendhisi2 was recognized as extendqisi2. */ + + extern void abort (); + extern void exit (int); + + short *q; + + long + foo (short *p) + { + long b = *p; + q = p + 1; + return b; + } + + int + main () + { + short a = 0xff00; + if (foo (&a) != (long) (short) 0xff00) + abort (); + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/920710-1.x gcc-3.3/gcc/testsuite/gcc.c-torture/execute/920710-1.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/920710-1.x 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/920710-1.x 2002-10-21 12:49:08.000000000 +0000 *************** *** 0 **** --- 1,6 ---- + # h8300 does not have long long + if { [istarget "h8300-*-*"] } { + return 1; + } + + return 0 diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/920730-1t.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/920730-1t.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/920730-1t.c 2001-05-10 00:07:23.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/920730-1t.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,8 **** - /* This is just 920730-1.c compiled with -traditional. - See 920730-1t.x. */ - - /* It is necessary to undefine __GNUC__ in order to prevent glibc 2.2's - sys/cdefs.h from issuing an #error. Do Not Ask. */ - #undef __GNUC__ - - #include "920730-1.c" --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/920730-1t.x gcc-3.3/gcc/testsuite/gcc.c-torture/execute/920730-1t.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/920730-1t.x 2000-06-29 03:10:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/920730-1t.x 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,2 **** - set additional_flags "-traditional" - return 0 --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/941014-1.x gcc-3.3/gcc/testsuite/gcc.c-torture/execute/941014-1.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/941014-1.x 1998-12-16 22:13:15.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/941014-1.x 2002-11-05 05:41:39.000000000 +0000 *************** *** 1,6 **** ! # This doesn't work for thumb-elf ! if { [istarget "thumb-*-elf"] } { ! set torture_execute_xfail "thumb-*-elf" } return 0 --- 1,16 ---- ! # This doesn't always work for Thumb. ! if { [istarget arm*-*-*] || [istarget xscale*-*-*] \ ! || [istarget strongarm*-*-*] } { ! set torture_eval_before_execute { ! global compiler_conditional_xfail_data ! set compiler_conditional_xfail_data { ! "Thumb sets the last bit of function relocations" \ ! { "arm*-*-*" "xscale*-*-*" "strongarm*-*-*" } \ ! { { "-mthumb" "-O0" } } \ ! { "" } ! } ! } } + return 0 diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/960312-1.x gcc-3.3/gcc/testsuite/gcc.c-torture/execute/960312-1.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/960312-1.x 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/960312-1.x 2003-03-02 22:35:16.000000000 +0000 *************** *** 0 **** --- 1,7 ---- + # This test fails on HC11/HC12 when it is compiled without -mshort because + # is uses an asm that requires two 32-bit registers (int). It passes + # when using -mshort because there are enough registers; force -mshort. + if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } { + set options "-mshort" + } + return 0 diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/990208-1.x gcc-3.3/gcc/testsuite/gcc.c-torture/execute/990208-1.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/990208-1.x 2001-09-20 18:06:39.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/990208-1.x 2002-09-20 15:14:19.000000000 +0000 *************** set torture_eval_before_execute { *** 5,11 **** set compiler_conditional_xfail_data { "ifcvt transforms 2 inlined labels to the same address" \ ! "ia64-*-*" \ { "-O3" } \ { "" } } --- 5,11 ---- set compiler_conditional_xfail_data { "ifcvt transforms 2 inlined labels to the same address" \ ! { "ia64-*-*" "arm*-*-*" "strongarm*-*-*" "xscale*-*-*" } \ { "-O3" } \ { "" } } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/991216-3.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/991216-3.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/991216-3.c 1999-12-16 06:13:46.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/991216-3.c 2002-07-16 02:16:46.000000000 +0000 *************** *** 1,17 **** ! #include #define VALUE 0x123456789abcdefLL #define AFTER 0x55 void ! test (va_alist) ! va_dcl { va_list ap; ! int i, n; - va_start (ap); - n = va_arg (ap, int); for (i = 2; i <= n; i++) { if (va_arg (ap, int) != i) --- 1,16 ---- ! #include #define VALUE 0x123456789abcdefLL #define AFTER 0x55 void ! test (int n, ...) { va_list ap; ! int i; ! ! va_start (ap, n); for (i = 2; i <= n; i++) { if (va_arg (ap, int) != i) diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/arith-rand-ll.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/arith-rand-ll.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/arith-rand-ll.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/arith-rand-ll.c 2002-07-01 15:12:49.000000000 +0000 *************** *** 0 **** --- 1,114 ---- + long long + simple_rand () + { + static unsigned long long seed = 47114711; + unsigned long long this = seed * 1103515245 + 12345; + seed = this; + return this >> 8; + } + + unsigned long long int + random_bitstring () + { + unsigned long long int x; + int n_bits; + long long ran; + int tot_bits = 0; + + x = 0; + for (;;) + { + ran = simple_rand (); + n_bits = (ran >> 1) % 16; + tot_bits += n_bits; + + if (n_bits == 0) + return x; + else + { + x <<= n_bits; + if (ran & 1) + x |= (1 << n_bits) - 1; + + if (tot_bits > 8 * sizeof (long long) + 6) + return x; + } + } + } + + #define ABS(x) ((x) >= 0 ? (x) : -(x)) + + main () + { + long long int i; + + for (i = 0; i < 10000; i++) + { + unsigned long long x, y; + x = random_bitstring (); + y = random_bitstring (); + + if (sizeof (int) == sizeof (long long)) + goto save_time; + + { unsigned long long xx = x, yy = y, r1, r2; + if (yy == 0) continue; + r1 = xx / yy; + r2 = xx % yy; + if (r2 >= yy || r1 * yy + r2 != xx) + abort (); + } + { signed long long xx = x, yy = y, r1, r2; + if ((unsigned long long) xx << 1 == 0 && yy == -1) + continue; + r1 = xx / yy; + r2 = xx % yy; + if (ABS (r2) >= (unsigned long long) ABS (yy) || (signed long long) (r1 * yy + r2) != xx) + abort (); + } + save_time: + { unsigned int xx = x, yy = y, r1, r2; + if (yy == 0) continue; + r1 = xx / yy; + r2 = xx % yy; + if (r2 >= yy || r1 * yy + r2 != xx) + abort (); + } + { signed int xx = x, yy = y, r1, r2; + if ((unsigned int) xx << 1 == 0 && yy == -1) + continue; + r1 = xx / yy; + r2 = xx % yy; + if (ABS (r2) >= (unsigned int) ABS (yy) || (signed int) (r1 * yy + r2) != xx) + abort (); + } + { unsigned short xx = x, yy = y, r1, r2; + if (yy == 0) continue; + r1 = xx / yy; + r2 = xx % yy; + if (r2 >= yy || r1 * yy + r2 != xx) + abort (); + } + { signed short xx = x, yy = y, r1, r2; + r1 = xx / yy; + r2 = xx % yy; + if (ABS (r2) >= (unsigned short) ABS (yy) || (signed short) (r1 * yy + r2) != xx) + abort (); + } + { unsigned char xx = x, yy = y, r1, r2; + if (yy == 0) continue; + r1 = xx / yy; + r2 = xx % yy; + if (r2 >= yy || r1 * yy + r2 != xx) + abort (); + } + { signed char xx = x, yy = y, r1, r2; + r1 = xx / yy; + r2 = xx % yy; + if (ABS (r2) >= (unsigned char) ABS (yy) || (signed char) (r1 * yy + r2) != xx) + abort (); + } + } + + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/builtin-constant.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/builtin-constant.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/builtin-constant.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/builtin-constant.c 2002-11-02 22:58:54.000000000 +0000 *************** *** 0 **** --- 1,26 ---- + /* PR optimization/8423. */ + + #define btest(x) __builtin_constant_p(x) ? "1" : "0" + + #ifdef __OPTIMIZE__ + void + foo (char *i) + { + if (*i == '0') + abort (); + } + #else + void + foo (char *i) + { + } + #endif + + int + main (void) + { + int size = sizeof (int); + foo (btest (size)); + foo (btest (size)); + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/builtin-constant.x gcc-3.3/gcc/testsuite/gcc.c-torture/execute/builtin-constant.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/builtin-constant.x 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/builtin-constant.x 2003-01-15 22:43:55.000000000 +0000 *************** *** 0 **** --- 1,11 ---- + set torture_eval_before_execute { + global compiler_conditional_xfail_data + set compiler_conditional_xfail_data { + "This test fails on all targets when optimizing." \ + { "*-*-*" } \ + { "*" } \ + { "-O0" } + } + } + + return 0 diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/builtin-noret-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/builtin-noret-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/builtin-noret-1.c 2001-01-07 11:26:15.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/builtin-noret-1.c 2002-07-11 12:29:07.000000000 +0000 *************** *** 3,12 **** extern void abort (void); extern void exit (int); - #if 0 /* Doesn't work with prototype (bug?). */ extern void _exit (int); extern void _Exit (int); - #endif extern void tabort (void); extern void texit (void); --- 3,10 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/compare-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/compare-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/compare-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/compare-1.c 2002-06-15 16:55:24.000000000 +0000 *************** *** 0 **** --- 1,119 ---- + /* Copyright (C) 2002 Free Software Foundation. + + Test for correctness of composite comparisons. + + Written by Roger Sayle, 3rd June 2002. */ + + extern void abort (void); + + int ieq (int x, int y, int ok) + { + if ((x<=y) && (x>=y)) + { + if (!ok) abort (); + } + else + if (ok) abort (); + + if ((x<=y) && (x==y)) + { + if (!ok) abort (); + } + else + if (ok) abort (); + + if ((x<=y) && (y<=x)) + { + if (!ok) abort (); + } + else + if (ok) abort (); + + if ((y==x) && (x<=y)) + { + if (!ok) abort (); + } + else + if (ok) abort (); + } + + int ine (int x, int y, int ok) + { + if ((xy)) + { + if (!ok) abort (); + } + else + if (ok) abort (); + } + + int ilt (int x, int y, int ok) + { + if ((xy) && (x!=y)) + { + if (!ok) abort (); + } + else + if (ok) abort (); + } + + int ige (int x, int y, int ok) + { + if ((x>y) || (x==y)) + { + if (!ok) abort (); + } + else + if (ok) abort (); + } + + int + main () + { + ieq (1, 4, 0); + ieq (3, 3, 1); + ieq (5, 2, 0); + + ine (1, 4, 1); + ine (3, 3, 0); + ine (5, 2, 1); + + ilt (1, 4, 1); + ilt (3, 3, 0); + ilt (5, 2, 0); + + ile (1, 4, 1); + ile (3, 3, 1); + ile (5, 2, 0); + + igt (1, 4, 0); + igt (3, 3, 0); + igt (5, 2, 1); + + ige (1, 4, 0); + ige (3, 3, 1); + ige (5, 2, 1); + + return 0; + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/compare-2.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/compare-2.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/compare-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/compare-2.c 2002-06-15 16:55:24.000000000 +0000 *************** *** 0 **** --- 1,24 ---- + /* Copyright (C) 2002 Free Software Foundation. + + Ensure that the composite comparison optimization doesn't misfire + and attempt to combine a signed comparison with an unsigned one. + + Written by Roger Sayle, 3rd June 2002. */ + + extern void abort (void); + + int + foo (int x, int y) + { + /* If miscompiled the following may become "x == y". */ + return (x<=y) && ((unsigned int)x >= (unsigned int)y); + } + + int + main () + { + if (! foo (-1,0)) + abort (); + return 0; + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/compare-3.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/compare-3.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/compare-3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/compare-3.c 2002-06-15 16:55:24.000000000 +0000 *************** *** 0 **** --- 1,86 ---- + /* Copyright (C) 2002 Free Software Foundation. + + Test for composite comparison always true/false optimization. + + Written by Roger Sayle, 7th June 2002. */ + + extern void link_error0 (); + extern void link_error1 (); + + void + test1 (int x, int y) + { + if ((x==y) && (x!=y)) + link_error0(); + } + + void + test2 (int x, int y) + { + if ((xy)) + link_error0(); + } + + void + test3 (int x, int y) + { + if ((x=y) || (x 100000000000000.0; } + int + ldnear (long double x, long double y) + { + long double t = x - y; + return t == 0 || x / t > 100000000000000000000000000000000.0; + } + test_integer_to_float() { if (u2f(0U) != (float) 0U) /* 0 */ *************** test_integer_to_float() *** 70,75 **** --- 91,105 ---- if (u2d(~((~0U) >> 1)) != (double) ~((~0U) >> 1)) /* 0x80000000 */ abort(); + if (u2ld(0U) != (long double) 0U) /* 0 */ + abort(); + if (!ldnear (u2ld(~0U), (long double) ~0U)) /* 0xffffffff */ + abort(); + if (!ldnear (u2ld((~0U) >> 1),(long double) ((~0U) >> 1))) /* 0x7fffffff */ + abort(); + if (u2ld(~((~0U) >> 1)) != (long double) ~((~0U) >> 1)) /* 0x80000000 */ + abort(); + if (s2f(0) != (float) 0) /* 0 */ abort(); if (!fnear (s2f(~0), (float) ~0)) /* 0xffffffff */ *************** test_integer_to_float() *** 87,92 **** --- 117,131 ---- abort(); if (s2d((int)~((~0U) >> 1)) != (double)(int)~((~0U) >> 1)) /* 0x80000000 */ abort(); + + if (s2ld(0) != (long double) 0) /* 0 */ + abort(); + if (!ldnear (s2ld(~0), (long double) ~0)) /* 0xffffffff */ + abort(); + if (!ldnear (s2ld((int)((~0U) >> 1)), (long double)(int)((~0U) >> 1))) /* 0x7fffffff */ + abort(); + if (s2ld((int)~((~0U) >> 1)) != (long double)(int)~((~0U) >> 1)) /* 0x80000000 */ + abort(); } #if __GNUC__ *************** ull2d(u) *** 104,109 **** --- 143,155 ---- return u; } + long double + ull2ld(u) + unsigned long long int u; + { + return u; + } + float sll2f(s) long long int s; *************** sll2d(s) *** 118,123 **** --- 164,176 ---- return s; } + long double + sll2ld(s) + long long int s; + { + return s; + } + test_longlong_integer_to_float() { if (ull2f(0ULL) != (float) 0ULL) /* 0 */ *************** test_longlong_integer_to_float() *** 147,152 **** --- 200,214 ---- if (ull2d(~((~0ULL) >> 1)) != (double) ~((~0ULL) >> 1)) /* 0x80000000 */ abort(); + if (ull2ld(0ULL) != (long double) 0ULL) /* 0 */ + abort(); + if (ull2ld(~0ULL) != (long double) ~0ULL) /* 0xffffffff */ + abort(); + if (ull2ld((~0ULL) >> 1) != (long double) ((~0ULL) >> 1)) /* 0x7fffffff */ + abort(); + if (ull2ld(~((~0ULL) >> 1)) != (long double) ~((~0ULL) >> 1)) /* 0x80000000 */ + abort(); + if (sll2f(0LL) != (float) 0LL) /* 0 */ abort(); if (sll2f(~0LL) != (float) ~0LL) /* 0xffffffff */ *************** test_longlong_integer_to_float() *** 164,169 **** --- 226,240 ---- abort(); if (! dnear (sll2d((long long int)~((~0ULL) >> 1)), (double)(long long int)~((~0ULL) >> 1))) /* 0x80000000 */ abort(); + + if (sll2ld(0LL) != (long double) 0LL) /* 0 */ + abort(); + if (sll2ld(~0LL) != (long double) ~0LL) /* 0xffffffff */ + abort(); + if (!ldnear (sll2ld((long long int)((~0ULL) >> 1)), (long double)(long long int)((~0ULL) >> 1))) /* 0x7fffffff */ + abort(); + if (! ldnear (sll2ld((long long int)~((~0ULL) >> 1)), (long double)(long long int)~((~0ULL) >> 1))) /* 0x80000000 */ + abort(); } #endif *************** d2u(double d) *** 179,184 **** --- 250,261 ---- return (unsigned) d; } + unsigned int + ld2u(long double d) + { + return (unsigned) d; + } + int f2s(float f) { *************** d2s(double d) *** 191,196 **** --- 268,279 ---- return (int) d; } + int + ld2s(long double d) + { + return (int) d; + } + test_float_to_integer() { if (f2u(0.0) != 0) *************** test_float_to_integer() *** 226,231 **** --- 309,333 ---- abort(); } + /* These tests require long double precision, so for hosts that don't offer + that much precision, just ignore these test. */ + if (sizeof (long double) >= 8) { + if (ld2u(0.0) != 0) + abort(); + if (ld2u(0.999) != 0) + abort(); + if (ld2u(1.0) != 1) + abort(); + if (ld2u(1.99) != 1) + abort(); + if (ld2u((long double) (~0U)) != ~0U) /* 0xffffffff */ + abort(); + if (ld2u((long double) ((~0U) >> 1)) != (~0U) >> 1) /* 0x7fffffff */ + abort(); + if (ld2u((long double) ~((~0U) >> 1)) != ~((~0U) >> 1)) /* 0x80000000 */ + abort(); + } + if (f2s(0.0) != 0) abort(); if (f2s(0.999) != 0) *************** test_float_to_integer() *** 265,270 **** --- 367,395 ---- if (d2s((double)(int)~((~0U) >> 1)) != (int)~((~0U) >> 1)) /* 0x80000000 */ abort(); } + + /* These tests require long double precision, so for hosts that don't offer + that much precision, just ignore these test. */ + if (sizeof (long double) >= 8) { + if (ld2s(0.0) != 0) + abort(); + if (ld2s(0.999) != 0) + abort(); + if (ld2s(1.0) != 1) + abort(); + if (ld2s(1.99) != 1) + abort(); + if (ld2s(-0.999) != 0) + abort(); + if (ld2s(-1.0) != -1) + abort(); + if (ld2s(-1.99) != -1) + abort(); + if (ld2s((long double) ((~0U) >> 1)) != (~0U) >> 1) /* 0x7fffffff */ + abort(); + if (ld2s((long double)(int)~((~0U) >> 1)) != (int)~((~0U) >> 1)) /* 0x80000000 */ + abort(); + } } #if __GNUC__ *************** d2ull(double d) *** 280,285 **** --- 405,416 ---- return (unsigned long long int) d; } + unsigned long long int + ld2ull(long double d) + { + return (unsigned long long int) d; + } + long long int f2sll(float f) { *************** d2sll(double d) *** 292,297 **** --- 423,434 ---- return (long long int) d; } + long long int + ld2sll(long double d) + { + return (long long int) d; + } + test_float_to_longlong_integer() { if (f2ull(0.0) != 0LL) *************** test_float_to_longlong_integer() *** 322,327 **** --- 459,478 ---- if (d2ull((double) ~((~0ULL) >> 1)) != ~((~0ULL) >> 1)) /* 0x80000000 */ abort(); + if (ld2ull(0.0) != 0LL) + abort(); + if (ld2ull(0.999) != 0LL) + abort(); + if (ld2ull(1.0) != 1LL) + abort(); + if (ld2ull(1.99) != 1LL) + abort(); + if (ld2ull((long double) ((~0ULL) >> 1)) != (~0ULL) >> 1 && /* 0x7fffffff */ + ld2ull((long double) ((~0ULL) >> 1)) != ((~0ULL) >> 1) + 1) + abort(); + if (ld2ull((long double) ~((~0ULL) >> 1)) != ~((~0ULL) >> 1)) /* 0x80000000 */ + abort(); + if (f2sll(0.0) != 0LL) abort(); *************** test_float_to_longlong_integer() *** 356,361 **** --- 507,529 ---- abort(); if (d2sll((double)(long long int)~((~0ULL) >> 1)) != (long long int)~((~0ULL) >> 1)) /* 0x80000000 */ abort(); + + if (ld2sll(0.0) != 0LL) + abort(); + if (ld2sll(0.999) != 0LL) + abort(); + if (ld2sll(1.0) != 1LL) + abort(); + if (ld2sll(1.99) != 1LL) + abort(); + if (ld2sll(-0.999) != 0LL) + abort(); + if (ld2sll(-1.0) != -1LL) + abort(); + if (ld2sll(-1.99) != -1LL) + abort(); + if (ld2sll((long double)(long long int)~((~0ULL) >> 1)) != (long long int)~((~0ULL) >> 1)) /* 0x80000000 */ + abort(); } #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/ffs-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/ffs-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/ffs-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/ffs-1.c 2002-09-30 21:43:01.000000000 +0000 *************** *** 0 **** --- 1,12 ---- + __volatile int a = 0; + + extern void abort (void); + extern void exit (int); + + int + main (void) + { + if (__builtin_ffs (a) != 0) + abort (); + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/ffs-2.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/ffs-2.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/ffs-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/ffs-2.c 2002-09-30 21:43:01.000000000 +0000 *************** *** 0 **** --- 1,44 ---- + struct + { + int input; + int output; + } + ffstesttab[] = + { + #if __INT_MAX__ >= 2147483647 + /* at least 32-bit integers */ + { 0x80000000, 32 }, + { 0xa5a5a5a5, 1 }, + { 0x5a5a5a5a, 2 }, + { 0xcafe0000, 18 }, + #endif + #if __INT_MAX__ >= 32767 + /* at least 16-bit integers */ + { 0x8000, 16 }, + { 0xa5a5, 1 }, + { 0x5a5a, 2 }, + { 0x0ca0, 6 }, + #endif + #if __INT_MAX__ < 32767 + #error integers are too small + #endif + }; + + #define NFFSTESTS (sizeof (ffstesttab) / sizeof (ffstesttab[0])) + + extern void abort (void); + extern void exit (int); + + int + main (void) + { + int i; + + for (i = 0; i < NFFSTESTS; i++) + { + if (__builtin_ffs (ffstesttab[i].input) != ffstesttab[i].output) + abort (); + } + + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/ieee/20000320-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/ieee/20000320-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/ieee/20000320-1.c 2001-11-22 16:40:42.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/ieee/20000320-1.c 2003-02-03 10:19:37.000000000 +0000 *************** int main() *** 49,55 **** exit (0); c(0x3690000000000000ULL, 0x00000000U); ! #if (defined __arm__ || defined __thumb__) && ! defined __ARMEB__ /* The ARM always stores FP numbers in big-wordian format, even when running in little-byteian mode. */ c(0x0000000136900000ULL, 0x00000001U); --- 49,55 ---- exit (0); c(0x3690000000000000ULL, 0x00000000U); ! #if (defined __arm__ || defined __thumb__) && ! (defined __ARMEB__ || defined __VFP_FP__) /* The ARM always stores FP numbers in big-wordian format, even when running in little-byteian mode. */ c(0x0000000136900000ULL, 0x00000001U); diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/ieee/20010226-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/ieee/20010226-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/ieee/20010226-1.c 2001-02-26 19:57:04.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/ieee/20010226-1.c 2002-09-25 17:14:48.000000000 +0000 *************** *** 1,17 **** long double dfrom = 1.1; long double m1; long double m2; unsigned long mant_long; ! int main( ) { ! m1 = dfrom / 2.0; m2 = m1 * 4294967296.0; mant_long = ((unsigned long) m2) & 0xffffffff; ! if ( mant_long == 0x8ccccccc) ! exit (0); else abort(); } --- 1,24 ---- + #include + long double dfrom = 1.1; long double m1; long double m2; unsigned long mant_long; ! int main() { ! /* Some targets don't support a conforming long double type. This is ! common with very small parts which set long double == float. Look ! to see if the type has at least 32 bits of precision. */ ! if (LDBL_EPSILON > 0x1p-31L) ! return 0; + m1 = dfrom / 2.0; m2 = m1 * 4294967296.0; mant_long = ((unsigned long) m2) & 0xffffffff; ! if (mant_long == 0x8ccccccc) ! return 0; else abort(); } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/ieee/inf-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/ieee/inf-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/ieee/inf-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/ieee/inf-1.c 2002-09-08 02:15:27.000000000 +0000 *************** *** 0 **** --- 1,35 ---- + extern void abort (void); + + int main() + { + float fi = __builtin_inff(); + double di = __builtin_inf(); + long double li = __builtin_infl(); + + float fh = __builtin_huge_valf(); + double dh = __builtin_huge_val(); + long double lh = __builtin_huge_vall(); + + if (fi + fi != fi) + abort (); + if (di + di != di) + abort (); + if (li + li != li) + abort (); + + if (fi != fh) + abort (); + if (di != dh) + abort (); + if (li != lh) + abort (); + + if (fi <= 0) + abort (); + if (di <= 0) + abort (); + if (li <= 0) + abort (); + + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/loop-13.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/loop-13.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/loop-13.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/loop-13.c 2002-07-20 00:33:49.000000000 +0000 *************** *** 0 **** --- 1,36 ---- + /* PR opt/7130 */ + #define TYPE long + + void + scale (TYPE *alpha, TYPE *x, int n) + { + int i, ix; + + if (*alpha != 1) + for (i = 0, ix = 0; i < n; i++, ix += 2) + { + TYPE tmpr, tmpi; + tmpr = *alpha * x[ix]; + tmpi = *alpha * x[ix + 1]; + x[ix] = tmpr; + x[ix + 1] = tmpi; + } + } + + int + main (void) + { + int i; + TYPE x[10]; + TYPE alpha = 2; + + for (i = 0; i < 10; i++) + x[i] = i; + + scale (&alpha, x, 5); + + if (x[9] != 18) + abort (); + + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/loop-2e.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/loop-2e.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/loop-2e.c 1998-12-16 22:15:52.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/loop-2e.c 2002-07-24 22:20:34.000000000 +0000 *************** *** 1,31 **** ! #include ! ! #ifdef __unix__ /* ??? Is that good enough? */ ! #include ! #include ! #include ! #include ! #ifndef MAP_ANON ! #ifdef MAP_ANONYMOUS ! #define MAP_ANON MAP_ANONYMOUS ! #else ! #define MAP_ANON MAP_FILE ! #endif ! #endif ! #ifndef MAP_FILE ! #define MAP_FILE 0 ! #endif ! #ifndef MAP_FIXED ! #define MAP_FIXED 0 ! #endif ! #endif ! ! #define MAP_START (void *)0x7fff8000 ! #define MAP_LEN 0x10000 ! ! #define OFFSET (MAP_LEN/2 - 2 * sizeof (int)); ! ! f (int *p, int **q) { int i; for (i = 0; i < 40; i++) --- 1,4 ---- ! void f (int *p, int **q) { int i; for (i = 0; i < 40; i++) *************** f (int *p, int **q) *** 34,60 **** } } ! main () { - #ifdef MAP_ANON void *p; int *q[40]; ! int dev_zero; ! dev_zero = open ("/dev/zero", O_RDONLY); ! /* -1 is OK when we have MAP_ANON; else mmap will flag an error. */ ! if (INT_MAX != 0x7fffffffL || sizeof (char *) != sizeof (int)) ! exit (0); ! p = mmap (MAP_START, MAP_LEN, PROT_READ|PROT_WRITE, ! MAP_ANON|MAP_FIXED|MAP_PRIVATE, dev_zero, 0); ! if (p != (void *)-1) ! { ! p = (char *)p + OFFSET; ! q[39] = 0; ! f (p, q); ! if (q[39] != (int *)p + 39) ! abort (); ! } ! #endif ! exit (0); } --- 7,39 ---- } } ! int main () { void *p; int *q[40]; ! __SIZE_TYPE__ start; ! /* Find the signed middle of the address space. */ ! if (sizeof(start) == sizeof(int)) ! start = (__SIZE_TYPE__) __INT_MAX__; ! else if (sizeof(start) == sizeof(long)) ! start = (__SIZE_TYPE__) __LONG_MAX__; ! else if (sizeof(start) == sizeof(long long)) ! start = (__SIZE_TYPE__) __LONG_LONG_MAX__; ! else ! return 0; ! ! /* Arbitrarily align the pointer. */ ! start &= -32; ! ! /* Pretend that's good enough to start address arithmetic. */ ! p = (void *)start; ! ! /* Verify that GIV replacement computes the correct results. */ ! q[39] = 0; ! f (p, q); ! if (q[39] != (int *)p + 39) ! abort (); ! ! return 0; } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/loop-3c.x gcc-3.3/gcc/testsuite/gcc.c-torture/execute/loop-3c.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/loop-3c.x 2002-11-24 22:06:04.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/loop-3c.x 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,13 **** - if { [istarget "i?86-*"] } { - set torture_eval_before_execute { - global compiler_conditional_xfail_data - set compiler_conditional_xfail_data { - "Loop optimiser bug" \ - "i?86-*" \ - { "-Os" } \ - { "" } - } - } - } - - return 0 --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/mayalias-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/mayalias-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/mayalias-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/mayalias-1.c 2002-05-30 21:28:17.000000000 +0000 *************** *** 0 **** --- 1,21 ---- + /* Tests that the may_alias attribute works as expected. + Author: Osku Salerma Apr 2002. */ + + extern void abort(void); + extern void exit(int); + + typedef short __attribute__((__may_alias__)) short_a; + + int + main (void) + { + int a = 0x12345678; + short_a *b = (short_a*) &a; + + b[1] = 0; + + if (a == 0x12345678) + abort(); + + exit(0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/memcpy-2.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/memcpy-2.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/memcpy-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/memcpy-2.c 2002-05-20 10:57:31.000000000 +0000 *************** *** 0 **** --- 1,75 ---- + /* Copyright (C) 2002 Free Software Foundation. + + Test memcpy with various combinations of pointer alignments and lengths to + make sure any optimizations in the library are correct. + + Written by Michael Meissner, March 9, 2002. */ + + #include + + #ifndef MAX_OFFSET + #define MAX_OFFSET (sizeof (long long)) + #endif + + #ifndef MAX_COPY + #define MAX_COPY (10 * sizeof (long long)) + #endif + + #ifndef MAX_EXTRA + #define MAX_EXTRA (sizeof (long long)) + #endif + + #define MAX_LENGTH (MAX_OFFSET + MAX_COPY + MAX_EXTRA) + + + /* Use a sequence length that is not divisible by two, to make it more + likely to detect when words are mixed up. */ + #define SEQUENCE_LENGTH 31 + + static union { + char buf[MAX_LENGTH]; + long long align_int; + long double align_fp; + } u1, u2; + + main () + { + int off1, off2, len, i; + char *p, *q, c; + + for (off1 = 0; off1 < MAX_OFFSET; off1++) + for (off2 = 0; off2 < MAX_OFFSET; off2++) + for (len = 1; len < MAX_COPY; len++) + { + for (i = 0, c = 'A'; i < MAX_LENGTH; i++, c++) + { + u1.buf[i] = 'a'; + if (c >= 'A' + SEQUENCE_LENGTH) + c = 'A'; + u2.buf[i] = c; + } + + p = memcpy (u1.buf + off1, u2.buf + off2, len); + if (p != u1.buf + off1) + abort (); + + q = u1.buf; + for (i = 0; i < off1; i++, q++) + if (*q != 'a') + abort (); + + for (i = 0, c = 'A' + off2; i < len; i++, q++, c++) + { + if (c >= 'A' + SEQUENCE_LENGTH) + c = 'A'; + if (*q != c) + abort (); + } + + for (i = 0; i < MAX_EXTRA; i++, q++) + if (*q != 'a') + abort (); + } + + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/memset-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/memset-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/memset-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/memset-1.c 2002-05-20 10:57:31.000000000 +0000 *************** *** 0 **** --- 1,96 ---- + /* Copyright (C) 2002 Free Software Foundation. + + Test memset with various combinations of pointer alignments and lengths to + make sure any optimizations in the library are correct. + + Written by Michael Meissner, March 9, 2002. */ + + #include + + #ifndef MAX_OFFSET + #define MAX_OFFSET (sizeof (long long)) + #endif + + #ifndef MAX_COPY + #define MAX_COPY (10 * sizeof (long long)) + #endif + + #ifndef MAX_EXTRA + #define MAX_EXTRA (sizeof (long long)) + #endif + + #define MAX_LENGTH (MAX_OFFSET + MAX_COPY + MAX_EXTRA) + + static union { + char buf[MAX_LENGTH]; + long long align_int; + long double align_fp; + } u; + + char A = 'A'; + + main () + { + int off, len, i; + char *p, *q; + + for (off = 0; off < MAX_OFFSET; off++) + for (len = 1; len < MAX_COPY; len++) + { + for (i = 0; i < MAX_LENGTH; i++) + u.buf[i] = 'a'; + + p = memset (u.buf + off, '\0', len); + if (p != u.buf + off) + abort (); + + q = u.buf; + for (i = 0; i < off; i++, q++) + if (*q != 'a') + abort (); + + for (i = 0; i < len; i++, q++) + if (*q != '\0') + abort (); + + for (i = 0; i < MAX_EXTRA; i++, q++) + if (*q != 'a') + abort (); + + p = memset (u.buf + off, A, len); + if (p != u.buf + off) + abort (); + + q = u.buf; + for (i = 0; i < off; i++, q++) + if (*q != 'a') + abort (); + + for (i = 0; i < len; i++, q++) + if (*q != 'A') + abort (); + + for (i = 0; i < MAX_EXTRA; i++, q++) + if (*q != 'a') + abort (); + + p = memset (u.buf + off, 'B', len); + if (p != u.buf + off) + abort (); + + q = u.buf; + for (i = 0; i < off; i++, q++) + if (*q != 'a') + abort (); + + for (i = 0; i < len; i++, q++) + if (*q != 'B') + abort (); + + for (i = 0; i < MAX_EXTRA; i++, q++) + if (*q != 'a') + abort (); + } + + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/memset-2.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/memset-2.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/memset-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/memset-2.c 2002-04-23 10:16:47.000000000 +0000 *************** *** 0 **** --- 1,334 ---- + /* Copyright (C) 2002 Free Software Foundation. + + Test memset with various combinations of pointer alignments and constant + lengths to make sure any optimizations in the compiler are correct. + + Written by Roger Sayle, April 22, 2002. */ + + #ifndef MAX_OFFSET + #define MAX_OFFSET (sizeof (long long)) + #endif + + #ifndef MAX_COPY + #define MAX_COPY 15 + #endif + + #ifndef MAX_EXTRA + #define MAX_EXTRA (sizeof (long long)) + #endif + + #define MAX_LENGTH (MAX_OFFSET + MAX_COPY + MAX_EXTRA) + + static union { + char buf[MAX_LENGTH]; + long long align_int; + long double align_fp; + } u; + + char A = 'A'; + + void reset () + { + int i; + + for (i = 0; i < MAX_LENGTH; i++) + u.buf[i] = 'a'; + } + + void check (int off, int len, int ch) + { + char *q; + int i; + + q = u.buf; + for (i = 0; i < off; i++, q++) + if (*q != 'a') + abort (); + + for (i = 0; i < len; i++, q++) + if (*q != ch) + abort (); + + for (i = 0; i < MAX_EXTRA; i++, q++) + if (*q != 'a') + abort (); + } + + int main () + { + int off; + char *p; + + /* len == 1 */ + for (off = 0; off < MAX_OFFSET; off++) + { + reset (); + + p = memset (u.buf + off, '\0', 1); + if (p != u.buf + off) abort (); + check (off, 1, '\0'); + + p = memset (u.buf + off, A, 1); + if (p != u.buf + off) abort (); + check (off, 1, 'A'); + + p = memset (u.buf + off, 'B', 1); + if (p != u.buf + off) abort (); + check (off, 1, 'B'); + } + + /* len == 2 */ + for (off = 0; off < MAX_OFFSET; off++) + { + reset (); + + p = memset (u.buf + off, '\0', 2); + if (p != u.buf + off) abort (); + check (off, 2, '\0'); + + p = memset (u.buf + off, A, 2); + if (p != u.buf + off) abort (); + check (off, 2, 'A'); + + p = memset (u.buf + off, 'B', 2); + if (p != u.buf + off) abort (); + check (off, 2, 'B'); + } + + /* len == 3 */ + for (off = 0; off < MAX_OFFSET; off++) + { + reset (); + + p = memset (u.buf + off, '\0', 3); + if (p != u.buf + off) abort (); + check (off, 3, '\0'); + + p = memset (u.buf + off, A, 3); + if (p != u.buf + off) abort (); + check (off, 3, 'A'); + + p = memset (u.buf + off, 'B', 3); + if (p != u.buf + off) abort (); + check (off, 3, 'B'); + } + + /* len == 4 */ + for (off = 0; off < MAX_OFFSET; off++) + { + reset (); + + p = memset (u.buf + off, '\0', 4); + if (p != u.buf + off) abort (); + check (off, 4, '\0'); + + p = memset (u.buf + off, A, 4); + if (p != u.buf + off) abort (); + check (off, 4, 'A'); + + p = memset (u.buf + off, 'B', 4); + if (p != u.buf + off) abort (); + check (off, 4, 'B'); + } + + /* len == 5 */ + for (off = 0; off < MAX_OFFSET; off++) + { + reset (); + + p = memset (u.buf + off, '\0', 5); + if (p != u.buf + off) abort (); + check (off, 5, '\0'); + + p = memset (u.buf + off, A, 5); + if (p != u.buf + off) abort (); + check (off, 5, 'A'); + + p = memset (u.buf + off, 'B', 5); + if (p != u.buf + off) abort (); + check (off, 5, 'B'); + } + + /* len == 6 */ + for (off = 0; off < MAX_OFFSET; off++) + { + reset (); + + p = memset (u.buf + off, '\0', 6); + if (p != u.buf + off) abort (); + check (off, 6, '\0'); + + p = memset (u.buf + off, A, 6); + if (p != u.buf + off) abort (); + check (off, 6, 'A'); + + p = memset (u.buf + off, 'B', 6); + if (p != u.buf + off) abort (); + check (off, 6, 'B'); + } + + /* len == 7 */ + for (off = 0; off < MAX_OFFSET; off++) + { + reset (); + + p = memset (u.buf + off, '\0', 7); + if (p != u.buf + off) abort (); + check (off, 7, '\0'); + + p = memset (u.buf + off, A, 7); + if (p != u.buf + off) abort (); + check (off, 7, 'A'); + + p = memset (u.buf + off, 'B', 7); + if (p != u.buf + off) abort (); + check (off, 7, 'B'); + } + + /* len == 8 */ + for (off = 0; off < MAX_OFFSET; off++) + { + reset (); + + p = memset (u.buf + off, '\0', 8); + if (p != u.buf + off) abort (); + check (off, 8, '\0'); + + p = memset (u.buf + off, A, 8); + if (p != u.buf + off) abort (); + check (off, 8, 'A'); + + p = memset (u.buf + off, 'B', 8); + if (p != u.buf + off) abort (); + check (off, 8, 'B'); + } + + /* len == 9 */ + for (off = 0; off < MAX_OFFSET; off++) + { + reset (); + + p = memset (u.buf + off, '\0', 9); + if (p != u.buf + off) abort (); + check (off, 9, '\0'); + + p = memset (u.buf + off, A, 9); + if (p != u.buf + off) abort (); + check (off, 9, 'A'); + + p = memset (u.buf + off, 'B', 9); + if (p != u.buf + off) abort (); + check (off, 9, 'B'); + } + + /* len == 10 */ + for (off = 0; off < MAX_OFFSET; off++) + { + reset (); + + p = memset (u.buf + off, '\0', 10); + if (p != u.buf + off) abort (); + check (off, 10, '\0'); + + p = memset (u.buf + off, A, 10); + if (p != u.buf + off) abort (); + check (off, 10, 'A'); + + p = memset (u.buf + off, 'B', 10); + if (p != u.buf + off) abort (); + check (off, 10, 'B'); + } + + /* len == 11 */ + for (off = 0; off < MAX_OFFSET; off++) + { + reset (); + + p = memset (u.buf + off, '\0', 11); + if (p != u.buf + off) abort (); + check (off, 11, '\0'); + + p = memset (u.buf + off, A, 11); + if (p != u.buf + off) abort (); + check (off, 11, 'A'); + + p = memset (u.buf + off, 'B', 11); + if (p != u.buf + off) abort (); + check (off, 11, 'B'); + } + + /* len == 12 */ + for (off = 0; off < MAX_OFFSET; off++) + { + reset (); + + p = memset (u.buf + off, '\0', 12); + if (p != u.buf + off) abort (); + check (off, 12, '\0'); + + p = memset (u.buf + off, A, 12); + if (p != u.buf + off) abort (); + check (off, 12, 'A'); + + p = memset (u.buf + off, 'B', 12); + if (p != u.buf + off) abort (); + check (off, 12, 'B'); + } + + /* len == 13 */ + for (off = 0; off < MAX_OFFSET; off++) + { + reset (); + + p = memset (u.buf + off, '\0', 13); + if (p != u.buf + off) abort (); + check (off, 13, '\0'); + + p = memset (u.buf + off, A, 13); + if (p != u.buf + off) abort (); + check (off, 13, 'A'); + + p = memset (u.buf + off, 'B', 13); + if (p != u.buf + off) abort (); + check (off, 13, 'B'); + } + + /* len == 14 */ + for (off = 0; off < MAX_OFFSET; off++) + { + reset (); + + p = memset (u.buf + off, '\0', 14); + if (p != u.buf + off) abort (); + check (off, 14, '\0'); + + p = memset (u.buf + off, A, 14); + if (p != u.buf + off) abort (); + check (off, 14, 'A'); + + p = memset (u.buf + off, 'B', 14); + if (p != u.buf + off) abort (); + check (off, 14, 'B'); + } + + /* len == 15 */ + for (off = 0; off < MAX_OFFSET; off++) + { + reset (); + + p = memset (u.buf + off, '\0', 15); + if (p != u.buf + off) abort (); + check (off, 15, '\0'); + + p = memset (u.buf + off, A, 15); + if (p != u.buf + off) abort (); + check (off, 15, 'A'); + + p = memset (u.buf + off, 'B', 15); + if (p != u.buf + off) abort (); + check (off, 15, 'B'); + } + + exit (0); + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/pure-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/pure-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/pure-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/pure-1.c 2002-06-19 00:43:33.000000000 +0000 *************** *** 0 **** --- 1,90 ---- + /* Origin: Kaveh Ghazi 2002-05-27. */ + + /* Use a different function for each test so the link failures + indicate which one is broken. */ + extern void link_error0 (void); + extern void link_error1 (void); + extern void link_error2 (void); + extern void link_error3 (void); + extern void link_error4 (void); + extern void link_error5 (void); + extern void link_error6 (void); + extern void link_error7 (void); + + extern int i; + + extern int func0 (int) __attribute__ ((__pure__)); + extern int func1 (int) __attribute__ ((__const__)); + + /* GCC should automatically detect attributes for these functions. + At -O3 They'll be inlined, but that's ok. */ + static int func2 (int a) { return i + a; } /* pure */ + static int func3 (int a) { return a * 3; } /* const */ + static int func4 (int a) { return func0(a) + a; } /* pure */ + static int func5 (int a) { return a + func1(a); } /* const */ + static int func6 (int a) { return func2(a) + a; } /* pure */ + static int func7 (int a) { return a + func3(a); } /* const */ + + int main () + { + int i[10], r; + + i[0] = 0; + r = func0(0); + if (i[0]) + link_error0(); + + i[1] = 0; + r = func1(0); + if (i[1]) + link_error1(); + + i[2] = 0; + r = func2(0); + if (i[2]) + link_error2(); + + i[3] = 0; + r = func3(0); + if (i[3]) + link_error3(); + + i[4] = 0; + r = func4(0); + if (i[4]) + link_error4(); + + i[5] = 0; + r = func5(0); + if (i[5]) + link_error5(); + + i[6] = 0; + r = func6(0); + if (i[6]) + link_error6(); + + i[7] = 0; + r = func7(0); + if (i[7]) + link_error7(); + + return r; + } + + int func0 (int a) { return a - i; } /* pure */ + int func1 (int a) { return a - a; } /* const */ + + int i = 2; + + #ifndef __OPTIMIZE__ + /* Avoid link failures when not optimizing. */ + void link_error0() {} + void link_error1() {} + void link_error2() {} + void link_error3() {} + void link_error4() {} + void link_error5() {} + void link_error6() {} + void link_error7() {} + #endif /* ! __OPTIMIZE__ */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/simd-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/simd-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/simd-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/simd-1.c 2002-09-13 18:33:34.000000000 +0000 *************** *** 0 **** --- 1,74 ---- + /* Origin: Aldy Hernandez + + Purpose: Test generic SIMD support. This test should work + regardless of if the target has SIMD instructions. + */ + + typedef int __attribute__((mode(V4SI))) vecint; + typedef int __attribute__((mode(SI))) siint; + + vecint i = { 150, 100, 150, 200 }; + vecint j = { 10, 13, 20, 30 }; + vecint k; + + union { + vecint v; + siint i[4]; + } res; + + /* This should go away once we can use == and != on vector types. */ + void + verify (siint a1, siint a2, siint a3, siint a4, + siint b1, siint b2, siint b3, siint b4) + { + if (a1 != b1 + || a2 != b2 + || a3 != b3 + || a4 != b4) + abort (); + } + + int + main () + { + k = i + j; + res.v = k; + + verify (res.i[0], res.i[1], res.i[2], res.i[3], 160, 113, 170, 230); + + k = i * j; + res.v = k; + + verify (res.i[0], res.i[1], res.i[2], res.i[3], 1500, 1300, 3000, 6000); + + k = i / j; + res.v = k; + + verify (res.i[0], res.i[1], res.i[2], res.i[3], 15, 7, 7, 6); + + k = i & j; + res.v = k; + + verify (res.i[0], res.i[1], res.i[2], res.i[3], 2, 4, 20, 8); + + k = i | j; + res.v = k; + + verify (res.i[0], res.i[1], res.i[2], res.i[3], 158, 109, 150, 222); + + k = i ^ j; + res.v = k; + + verify (res.i[0], res.i[1], res.i[2], res.i[3], 156, 105, 130, 214); + + k = -i; + res.v = k; + verify (res.i[0], res.i[1], res.i[2], res.i[3], + -150, -100, -150, -200); + + k = ~i; + res.v = k; + verify (res.i[0], res.i[1], res.i[2], res.i[3], -151, -101, -151, -201); + + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/simd-2.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/simd-2.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/simd-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/simd-2.c 2002-07-03 09:49:46.000000000 +0000 *************** *** 0 **** --- 1,72 ---- + /* + Purpose: Test generic SIMD support, V8HImode. This test should work + regardless of if the target has SIMD instructions. + */ + + typedef int __attribute__((mode(V8HI))) vecint; + + vecint i = { 150, 100, 150, 200, 0, 0, 0, 0 }; + vecint j = { 10, 13, 20, 30, 1, 1, 1, 1 }; + vecint k; + + union { + vecint v; + short i[8]; + } res; + + /* This should go away once we can use == and != on vector types. */ + void + verify (int a1, int a2, int a3, int a4, + int b1, int b2, int b3, int b4) + { + if (a1 != b1 + || a2 != b2 + || a3 != b3 + || a4 != b4) + abort (); + } + + int + main () + { + k = i + j; + res.v = k; + + verify (res.i[0], res.i[1], res.i[2], res.i[3], 160, 113, 170, 230); + + k = i * j; + res.v = k; + + verify (res.i[0], res.i[1], res.i[2], res.i[3], 1500, 1300, 3000, 6000); + + k = i / j; + res.v = k; + + verify (res.i[0], res.i[1], res.i[2], res.i[3], 15, 7, 7, 6); + + k = i & j; + res.v = k; + + verify (res.i[0], res.i[1], res.i[2], res.i[3], 2, 4, 20, 8); + + k = i | j; + res.v = k; + + verify (res.i[0], res.i[1], res.i[2], res.i[3], 158, 109, 150, 222); + + k = i ^ j; + res.v = k; + + verify (res.i[0], res.i[1], res.i[2], res.i[3], 156, 105, 130, 214); + + k = -i; + res.v = k; + verify (res.i[0], res.i[1], res.i[2], res.i[3], + -150, -100, -150, -200); + + k = ~i; + res.v = k; + verify (res.i[0], res.i[1], res.i[2], res.i[3], -151, -101, -151, -201); + + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/strcmp-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/strcmp-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/strcmp-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/strcmp-1.c 2002-03-09 20:20:18.000000000 +0000 *************** *** 0 **** --- 1,131 ---- + /* Copyright (C) 2002 Free Software Foundation. + + Test strcmp with various combinations of pointer alignments and lengths to + make sure any optimizations in the library are correct. + + Written by Michael Meissner, March 9, 2002. */ + + #include + #include + + #ifndef MAX_OFFSET + #define MAX_OFFSET (sizeof (long long)) + #endif + + #ifndef MAX_TEST + #define MAX_TEST (8 * sizeof (long long)) + #endif + + #ifndef MAX_EXTRA + #define MAX_EXTRA (sizeof (long long)) + #endif + + #define MAX_LENGTH (MAX_OFFSET + MAX_TEST + MAX_EXTRA + 2) + + static union { + unsigned char buf[MAX_LENGTH]; + long long align_int; + long double align_fp; + } u1, u2; + + void + test (const unsigned char *s1, const unsigned char *s2, int expected) + { + int value = strcmp ((char *) s1, (char *) s2); + + if (expected < 0 && value >= 0) + abort (); + else if (expected == 0 && value != 0) + abort (); + else if (expected > 0 && value <= 0) + abort (); + } + + main () + { + size_t off1, off2, len, i; + unsigned char *buf1, *buf2; + unsigned char *mod1, *mod2; + unsigned char *p1, *p2; + + for (off1 = 0; off1 < MAX_OFFSET; off1++) + for (off2 = 0; off2 < MAX_OFFSET; off2++) + for (len = 0; len < MAX_TEST; len++) + { + p1 = u1.buf; + for (i = 0; i < off1; i++) + *p1++ = '\0'; + + buf1 = p1; + for (i = 0; i < len; i++) + *p1++ = 'a'; + + mod1 = p1; + for (i = 0; i < MAX_EXTRA+2; i++) + *p1++ = 'x'; + + p2 = u2.buf; + for (i = 0; i < off2; i++) + *p2++ = '\0'; + + buf2 = p2; + for (i = 0; i < len; i++) + *p2++ = 'a'; + + mod2 = p2; + for (i = 0; i < MAX_EXTRA+2; i++) + *p2++ = 'x'; + + mod1[0] = '\0'; + mod2[0] = '\0'; + test (buf1, buf2, 0); + + mod1[0] = 'a'; + mod1[1] = '\0'; + mod2[0] = '\0'; + test (buf1, buf2, +1); + + mod1[0] = '\0'; + mod2[0] = 'a'; + mod2[1] = '\0'; + test (buf1, buf2, -1); + + mod1[0] = 'b'; + mod1[1] = '\0'; + mod2[0] = 'c'; + mod2[1] = '\0'; + test (buf1, buf2, -1); + + mod1[0] = 'c'; + mod1[1] = '\0'; + mod2[0] = 'b'; + mod2[1] = '\0'; + test (buf1, buf2, +1); + + mod1[0] = 'b'; + mod1[1] = '\0'; + mod2[0] = (unsigned char)'\251'; + mod2[1] = '\0'; + test (buf1, buf2, -1); + + mod1[0] = (unsigned char)'\251'; + mod1[1] = '\0'; + mod2[0] = 'b'; + mod2[1] = '\0'; + test (buf1, buf2, +1); + + mod1[0] = (unsigned char)'\251'; + mod1[1] = '\0'; + mod2[0] = (unsigned char)'\252'; + mod2[1] = '\0'; + test (buf1, buf2, -1); + + mod1[0] = (unsigned char)'\252'; + mod1[1] = '\0'; + mod2[0] = (unsigned char)'\251'; + mod2[1] = '\0'; + test (buf1, buf2, +1); + } + + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/strcpy-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/strcpy-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/strcpy-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/strcpy-1.c 2002-05-20 10:57:31.000000000 +0000 *************** *** 0 **** --- 1,75 ---- + /* Copyright (C) 2002 Free Software Foundation. + + Test strcpy with various combinations of pointer alignments and lengths to + make sure any optimizations in the library are correct. */ + + #include + + #ifndef MAX_OFFSET + #define MAX_OFFSET (sizeof (long long)) + #endif + + #ifndef MAX_COPY + #define MAX_COPY (10 * sizeof (long long)) + #endif + + #ifndef MAX_EXTRA + #define MAX_EXTRA (sizeof (long long)) + #endif + + #define MAX_LENGTH (MAX_OFFSET + MAX_COPY + 1 + MAX_EXTRA) + + /* Use a sequence length that is not divisible by two, to make it more + likely to detect when words are mixed up. */ + #define SEQUENCE_LENGTH 31 + + static union { + char buf[MAX_LENGTH]; + long long align_int; + long double align_fp; + } u1, u2; + + main () + { + int off1, off2, len, i; + char *p, *q, c; + + for (off1 = 0; off1 < MAX_OFFSET; off1++) + for (off2 = 0; off2 < MAX_OFFSET; off2++) + for (len = 1; len < MAX_COPY; len++) + { + for (i = 0, c = 'A'; i < MAX_LENGTH; i++, c++) + { + u1.buf[i] = 'a'; + if (c >= 'A' + SEQUENCE_LENGTH) + c = 'A'; + u2.buf[i] = c; + } + u2.buf[off2 + len] = '\0'; + + p = strcpy (u1.buf + off1, u2.buf + off2); + if (p != u1.buf + off1) + abort (); + + q = u1.buf; + for (i = 0; i < off1; i++, q++) + if (*q != 'a') + abort (); + + for (i = 0, c = 'A' + off2; i < len; i++, q++, c++) + { + if (c >= 'A' + SEQUENCE_LENGTH) + c = 'A'; + if (*q != c) + abort (); + } + + if (*q++ != '\0') + abort (); + for (i = 0; i < MAX_EXTRA; i++, q++) + if (*q != 'a') + abort (); + } + + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/strct-stdarg-1.x gcc-3.3/gcc/testsuite/gcc.c-torture/execute/strct-stdarg-1.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/strct-stdarg-1.x 2002-01-09 21:18:52.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/strct-stdarg-1.x 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,7 **** - # This doesn't work on PAs - - if { [istarget "hppa*-*-*"] } { - set torture_execute_xfail "hppa*-*-*" - } - - return 0 --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/strct-varg-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/strct-varg-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/strct-varg-1.c 1998-12-16 22:16:22.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/strct-varg-1.c 2002-07-16 02:16:46.000000000 +0000 *************** *** 1,28 **** - #ifdef NO_VARARGS #include - #define va_alist int x_attr, ... - #define va_dcl - #else - #include - #endif struct s { int x, y; }; ! f (va_alist) ! va_dcl { struct s va_values; va_list va; - int attr; int i; ! #ifdef NO_VARARGS ! va_start (va, x_attr); ! attr = x_attr; ! #else ! va_start (va); ! attr = va_arg (va, int); ! #endif if (attr != 2) abort (); --- 1,14 ---- #include struct s { int x, y; }; ! f (int attr, ...) { struct s va_values; va_list va; int i; ! va_start (va, attr); if (attr != 2) abort (); diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/strct-varg-1.x gcc-3.3/gcc/testsuite/gcc.c-torture/execute/strct-varg-1.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/strct-varg-1.x 1998-12-16 22:16:23.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/strct-varg-1.x 2002-11-28 17:41:12.000000000 +0000 *************** if { [istarget "mn10200*-*-*"] } { *** 4,10 **** set torture_execute_xfail "mn10200*-*-*" } - if { [istarget "h8300*-*-*"] } { - set torture_execute_xfail "h8300*-*-*" - } return 0 --- 4,7 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/string-opt-17.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/string-opt-17.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/string-opt-17.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/string-opt-17.c 2002-04-23 10:16:48.000000000 +0000 *************** *** 0 **** --- 1,50 ---- + /* Copyright (C) 2002 Free Software Foundation. + + Ensure that builtin memset operations for constant length and + non-constant assigned value don't cause compiler problems. + + Written by Roger Sayle, 21 April 2002. */ + + extern void abort (void); + typedef __SIZE_TYPE__ size_t; + extern void *memset (void *, int, size_t); + + char buffer[32]; + + int + main (int argc) + { + memset (buffer, argc, 0); + memset (buffer, argc, 1); + memset (buffer, argc, 2); + memset (buffer, argc, 3); + memset (buffer, argc, 4); + memset (buffer, argc, 5); + memset (buffer, argc, 6); + memset (buffer, argc, 7); + memset (buffer, argc, 8); + memset (buffer, argc, 9); + memset (buffer, argc, 10); + memset (buffer, argc, 11); + memset (buffer, argc, 12); + memset (buffer, argc, 13); + memset (buffer, argc, 14); + memset (buffer, argc, 15); + memset (buffer, argc, 16); + memset (buffer, argc, 17); + + return 0; + } + + #ifdef __OPTIMIZE__ + /* When optimizing, most of the above cases should be transformed into + something else. So any remaining calls to the original function + for short lengths should abort. */ + static void * + memset (void *dst, int c, size_t len) + { + if (len < 2) + abort (); + } + #endif + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/string-opt-8.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/string-opt-8.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/string-opt-8.c 2001-01-03 16:54:46.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/string-opt-8.c 2002-06-27 18:23:33.000000000 +0000 *************** int main () *** 231,237 **** /* When optimizing, all the above cases should be transformed into something else. So any remaining calls to the original function should abort. */ ! static char * strncmp(const char *s1, const char *s2, size_t n) { abort(); --- 231,237 ---- /* When optimizing, all the above cases should be transformed into something else. So any remaining calls to the original function should abort. */ ! static int strncmp(const char *s1, const char *s2, size_t n) { abort(); diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/strlen-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/strlen-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/strlen-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/strlen-1.c 2002-03-09 20:20:18.000000000 +0000 *************** *** 0 **** --- 1,57 ---- + /* Copyright (C) 2002 Free Software Foundation. + + Test strlen with various combinations of pointer alignments and lengths to + make sure any optimizations in the library are correct. + + Written by Michael Meissner, March 9, 2002. */ + + #include + #include + + #ifndef MAX_OFFSET + #define MAX_OFFSET (sizeof (long long)) + #endif + + #ifndef MAX_TEST + #define MAX_TEST (8 * sizeof (long long)) + #endif + + #ifndef MAX_EXTRA + #define MAX_EXTRA (sizeof (long long)) + #endif + + #define MAX_LENGTH (MAX_OFFSET + MAX_TEST + MAX_EXTRA + 1) + + static union { + char buf[MAX_LENGTH]; + long long align_int; + long double align_fp; + } u; + + main () + { + size_t off, len, len2, i; + char *p; + + for (off = 0; off < MAX_OFFSET; off++) + for (len = 0; len < MAX_TEST; len++) + { + p = u.buf; + for (i = 0; i < off; i++) + *p++ = '\0'; + + for (i = 0; i < len; i++) + *p++ = 'a'; + + *p++ = '\0'; + for (i = 0; i < MAX_EXTRA; i++) + *p++ = 'b'; + + p = u.buf + off; + len2 = strlen (p); + if (len != len2) + abort (); + } + + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/strncmp-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/strncmp-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/strncmp-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/strncmp-1.c 2002-03-09 20:20:18.000000000 +0000 *************** *** 0 **** --- 1,140 ---- + /* Copyright (C) 2002 Free Software Foundation. + + Test strncmp with various combinations of pointer alignments and lengths to + make sure any optimizations in the library are correct. + + Written by Michael Meissner, March 9, 2002. */ + + #include + #include + + #ifndef MAX_OFFSET + #define MAX_OFFSET (sizeof (long long)) + #endif + + #ifndef MAX_TEST + #define MAX_TEST (8 * sizeof (long long)) + #endif + + #ifndef MAX_EXTRA + #define MAX_EXTRA (sizeof (long long)) + #endif + + #define MAX_LENGTH (MAX_OFFSET + MAX_TEST + MAX_EXTRA) + + static union { + unsigned char buf[MAX_LENGTH]; + long long align_int; + long double align_fp; + } u1, u2; + + void + test (const unsigned char *s1, const unsigned char *s2, size_t len, int expected) + { + int value = strncmp ((char *) s1, (char *) s2, len); + + if (expected < 0 && value >= 0) + abort (); + else if (expected == 0 && value != 0) + abort (); + else if (expected > 0 && value <= 0) + abort (); + } + + main () + { + size_t off1, off2, len, i; + unsigned char *buf1, *buf2; + unsigned char *mod1, *mod2; + unsigned char *p1, *p2; + + for (off1 = 0; off1 < MAX_OFFSET; off1++) + for (off2 = 0; off2 < MAX_OFFSET; off2++) + for (len = 0; len < MAX_TEST; len++) + { + p1 = u1.buf; + for (i = 0; i < off1; i++) + *p1++ = '\0'; + + buf1 = p1; + for (i = 0; i < len; i++) + *p1++ = 'a'; + + mod1 = p1; + for (i = 0; i < MAX_EXTRA; i++) + *p1++ = 'x'; + + p2 = u2.buf; + for (i = 0; i < off2; i++) + *p2++ = '\0'; + + buf2 = p2; + for (i = 0; i < len; i++) + *p2++ = 'a'; + + mod2 = p2; + for (i = 0; i < MAX_EXTRA; i++) + *p2++ = 'x'; + + mod1[0] = '\0'; + mod2[0] = '\0'; + test (buf1, buf2, MAX_LENGTH, 0); + test (buf1, buf2, len, 0); + + mod1[0] = 'a'; + mod1[1] = '\0'; + mod2[0] = '\0'; + test (buf1, buf2, MAX_LENGTH, +1); + test (buf1, buf2, len, 0); + + mod1[0] = '\0'; + mod2[0] = 'a'; + mod2[1] = '\0'; + test (buf1, buf2, MAX_LENGTH, -1); + test (buf1, buf2, len, 0); + + mod1[0] = 'b'; + mod1[1] = '\0'; + mod2[0] = 'c'; + mod2[1] = '\0'; + test (buf1, buf2, MAX_LENGTH, -1); + test (buf1, buf2, len, 0); + + mod1[0] = 'c'; + mod1[1] = '\0'; + mod2[0] = 'b'; + mod2[1] = '\0'; + test (buf1, buf2, MAX_LENGTH, +1); + test (buf1, buf2, len, 0); + + mod1[0] = 'b'; + mod1[1] = '\0'; + mod2[0] = (unsigned char)'\251'; + mod2[1] = '\0'; + test (buf1, buf2, MAX_LENGTH, -1); + test (buf1, buf2, len, 0); + + mod1[0] = (unsigned char)'\251'; + mod1[1] = '\0'; + mod2[0] = 'b'; + mod2[1] = '\0'; + test (buf1, buf2, MAX_LENGTH, +1); + test (buf1, buf2, len, 0); + + mod1[0] = (unsigned char)'\251'; + mod1[1] = '\0'; + mod2[0] = (unsigned char)'\252'; + mod2[1] = '\0'; + test (buf1, buf2, MAX_LENGTH, -1); + test (buf1, buf2, len, 0); + + mod1[0] = (unsigned char)'\252'; + mod1[1] = '\0'; + mod2[0] = (unsigned char)'\251'; + mod2[1] = '\0'; + test (buf1, buf2, MAX_LENGTH, +1); + test (buf1, buf2, len, 0); + } + + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/struct-cpy-1.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/struct-cpy-1.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/struct-cpy-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/struct-cpy-1.c 2002-09-14 00:44:22.000000000 +0000 *************** *** 0 **** --- 1,43 ---- + /* powerpc64-linux gcc miscompiled this due to rs6000.c:expand_block_move + not setting mem aliasing info correctly for the code implementing the + structure assignment. */ + + struct termios + { + unsigned int a; + unsigned int b; + unsigned int c; + unsigned int d; + unsigned char pad[28]; + }; + + struct tty_driver + { + unsigned char pad1[38]; + struct termios t __attribute__ ((aligned (8))); + }; + + static struct termios zero_t; + static struct tty_driver pty; + + void ini (void) + { + pty.t = zero_t; + pty.t.a = 1; + pty.t.b = 2; + pty.t.c = 3; + pty.t.d = 4; + } + + int main (void) + { + extern void abort (void); + + ini (); + if (pty.t.a != 1 + || pty.t.b != 2 + || pty.t.c != 3 + || pty.t.d != 4) + abort (); + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-15.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-15.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-15.c 2000-04-03 21:05:03.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-15.c 2002-07-16 02:16:46.000000000 +0000 *************** *** 1,8 **** ! #include ! void vafunction (dummy, va_alist) ! char *dummy; ! va_dcl { double darg; int iarg; --- 1,6 ---- ! #include ! void vafunction (char *dummy, ...) { double darg; int iarg; *************** void vafunction (dummy, va_alist) *** 10,16 **** int i; va_list ap; ! va_start(ap); for (i = 1; i <= 18; i++, flag++) { if (flag & 1) --- 8,14 ---- int i; va_list ap; ! va_start(ap, dummy); for (i = 1; i <= 18; i++, flag++) { if (flag & 1) diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-15.x gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-15.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-15.x 2000-11-07 23:46:08.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-15.x 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,7 **** - # This doesn't work on MIPS Irix. - - if { [istarget "mips*-sgi-irix6*"] } { - set torture_execute_xfail "mips*-sgi-irix6*" - } - - return 0 --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-16.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-16.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-16.c 2000-04-03 21:05:03.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-16.c 2002-07-16 02:16:46.000000000 +0000 *************** *** 1,14 **** ! #include typedef double TYPE; ! void vafunction (dummy1, dummy2, va_alist) ! TYPE dummy1, dummy2; ! va_dcl { va_list ap; ! va_start(ap); if (dummy1 != 888.) abort(); if (dummy2 != 999.) --- 1,12 ---- ! #include typedef double TYPE; ! void vafunction (TYPE dummy1, TYPE dummy2, ...) { va_list ap; ! va_start(ap, dummy2); if (dummy1 != 888.) abort(); if (dummy2 != 999.) diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-16.x gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-16.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-16.x 2000-11-07 23:46:09.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-16.x 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,7 **** - # This doesn't work on MIPS Irix. - - if { [istarget "mips*-sgi-irix6*"] } { - set torture_execute_xfail "mips*-sgi-irix6*" - } - - return 0 --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-17.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-17.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-17.c 2000-04-03 21:05:03.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-17.c 2002-07-16 02:16:46.000000000 +0000 *************** *** 1,14 **** ! #include typedef double TYPE; ! void vafunction (dummy, va_alist) ! char *dummy; ! va_dcl { va_list ap; ! va_start(ap); if (va_arg (ap, TYPE) != 1.) abort(); if (va_arg (ap, TYPE) != 2.) --- 1,12 ---- ! #include typedef double TYPE; ! void vafunction (char *dummy, ...) { va_list ap; ! va_start(ap, dummy); if (va_arg (ap, TYPE) != 1.) abort(); if (va_arg (ap, TYPE) != 2.) diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-17.x gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-17.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-17.x 2000-11-07 23:46:09.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-17.x 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,7 **** - # This doesn't work on MIPS Irix. - - if { [istarget "mips*-sgi-irix6*"] } { - set torture_execute_xfail "mips*-sgi-irix6*" - } - - return 0 --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-19.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-19.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-19.c 2000-04-03 21:05:03.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-19.c 2002-07-16 02:16:46.000000000 +0000 *************** *** 1,14 **** ! #include typedef int TYPE; ! void vafunction (dummy, va_alist) ! char *dummy; ! va_dcl { va_list ap; ! va_start(ap); if (va_arg (ap, TYPE) != 1) abort(); if (va_arg (ap, TYPE) != 2) --- 1,12 ---- ! #include typedef int TYPE; ! void vafunction (char *dummy, ...) { va_list ap; ! va_start(ap, dummy); if (va_arg (ap, TYPE) != 1) abort(); if (va_arg (ap, TYPE) != 2) diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-23.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-23.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-23.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-23.c 2003-03-15 20:15:31.000000000 +0000 *************** *** 0 **** --- 1,26 ---- + /* PR 9700 */ + /* Alpha got the base address for the va_list incorrect when there was + a structure that was passed partially in registers and partially on + the stack. */ + + #include + + struct two { long x, y; }; + + void foo(int a, int b, int c, int d, int e, struct two f, int g, ...) + { + va_list args; + int h; + + va_start(args, g); + h = va_arg(args, int); + if (g != 1 || h != 2) + abort (); + } + + int main() + { + struct two t = { 0, 0 }; + foo(0, 0, 0, 0, 0, t, 1, 2); + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-3.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-3.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-3.c 1998-12-16 22:16:34.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-3.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,339 **** - /* Same as va-arg-2.c but using varargs.h. */ - /* The purpose of this test is to catch edge cases when arguments are passed - in regs and on the stack. We test 16 cases, trying to catch multiple - targets (some use 3 regs for argument passing, some use 12, etc.). - We test both the arguments and the `lastarg' (the argument to va_start). */ - - #ifdef NO_VARARGS - int main() - { - exit (0); - } - - #else - #include - - extern __SIZE_TYPE__ strlen (); - - int - to_hex (unsigned int a) - { - static char hex[] = "0123456789abcdef"; - - if (a > 15) - abort (); - return hex[a]; - } - - void - f0 (va_alist) - va_dcl - { - va_list ap; - char *format; - - va_start (ap); - format = va_arg (ap, char *); - if (strlen (format) != 16 - 0) - abort (); - while (*format) - if (*format++ != to_hex (va_arg (ap, int))) - abort (); - va_end(ap); - } - - void - f1 (a1, va_alist) - int a1; - va_dcl - { - va_list ap; - char *format; - - va_start (ap); - format = va_arg (ap, char *); - if (strlen (format) != 16 - 1) - abort (); - while (*format) - if (*format++ != to_hex (va_arg (ap, int))) - abort (); - va_end(ap); - } - - void - f2 (a1, a2, va_alist) - int a1, a2; - va_dcl - { - va_list ap; - char *format; - - va_start (ap); - format = va_arg (ap, char *); - if (strlen (format) != 16 - 2) - abort (); - while (*format) - if (*format++ != to_hex (va_arg (ap, int))) - abort (); - va_end(ap); - } - - void - f3 (a1, a2, a3, va_alist) - int a1, a2, a3; - va_dcl - { - va_list ap; - char *format; - - va_start (ap); - format = va_arg (ap, char *); - if (strlen (format) != 16 - 3) - abort (); - while (*format) - if (*format++ != to_hex (va_arg (ap, int))) - abort (); - va_end(ap); - } - - void - f4 (a1, a2, a3, a4, va_alist) - int a1, a2, a3, a4; - va_dcl - { - va_list ap; - char *format; - - va_start (ap); - format = va_arg (ap, char *); - if (strlen (format) != 16 - 4) - abort (); - while (*format) - if (*format++ != to_hex (va_arg (ap, int))) - abort (); - va_end(ap); - } - - void - f5 (a1, a2, a3, a4, a5, va_alist) - int a1, a2, a3, a4, a5; - va_dcl - { - va_list ap; - char *format; - - va_start (ap); - format = va_arg (ap, char *); - if (strlen (format) != 16 - 5) - abort (); - while (*format) - if (*format++ != to_hex (va_arg (ap, int))) - abort (); - va_end(ap); - } - - void - f6 (a1, a2, a3, a4, a5, a6, va_alist) - int a1, a2, a3, a4, a5, a6; - va_dcl - { - va_list ap; - char *format; - - va_start (ap); - format = va_arg (ap, char *); - if (strlen (format) != 16 - 6) - abort (); - while (*format) - if (*format++ != to_hex (va_arg (ap, int))) - abort (); - va_end(ap); - } - - void - f7 (a1, a2, a3, a4, a5, a6, a7, va_alist) - int a1, a2, a3, a4, a5, a6, a7; - va_dcl - { - va_list ap; - char *format; - - va_start (ap); - format = va_arg (ap, char *); - if (strlen (format) != 16 - 7) - abort (); - while (*format) - if (*format++ != to_hex (va_arg (ap, int))) - abort (); - va_end(ap); - } - - void - f8 (a1, a2, a3, a4, a5, a6, a7, a8, va_alist) - int a1, a2, a3, a4, a5, a6, a7, a8; - va_dcl - { - va_list ap; - char *format; - - va_start (ap); - format = va_arg (ap, char *); - if (strlen (format) != 16 - 8) - abort (); - while (*format) - if (*format++ != to_hex (va_arg (ap, int))) - abort (); - va_end(ap); - } - - void - f9 (a1, a2, a3, a4, a5, a6, a7, a8, a9, va_alist) - int a1, a2, a3, a4, a5, a6, a7, a8, a9; - va_dcl - { - va_list ap; - char *format; - - va_start (ap); - format = va_arg (ap, char *); - if (strlen (format) != 16 - 9) - abort (); - while (*format) - if (*format++ != to_hex (va_arg (ap, int))) - abort (); - va_end(ap); - } - - void - f10 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, va_alist) - int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10; - va_dcl - { - va_list ap; - char *format; - - va_start (ap); - format = va_arg (ap, char *); - if (strlen (format) != 16 - 10) - abort (); - while (*format) - if (*format++ != to_hex (va_arg (ap, int))) - abort (); - va_end(ap); - } - - void - f11 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, - va_alist) - int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11; - va_dcl - { - va_list ap; - char *format; - - va_start (ap); - format = va_arg (ap, char *); - if (strlen (format) != 16 - 11) - abort (); - while (*format) - if (*format++ != to_hex (va_arg (ap, int))) - abort (); - va_end(ap); - } - - void - f12 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, va_alist) - int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12; - va_dcl - { - va_list ap; - char *format; - - va_start (ap); - format = va_arg (ap, char *); - if (strlen (format) != 16 - 12) - abort (); - while (*format) - if (*format++ != to_hex (va_arg (ap, int))) - abort (); - va_end(ap); - } - - void - f13 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, va_alist) - int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13; - va_dcl - { - va_list ap; - char *format; - - va_start (ap); - format = va_arg (ap, char *); - if (strlen (format) != 16 - 13) - abort (); - while (*format) - if (*format++ != to_hex (va_arg (ap, int))) - abort (); - va_end(ap); - } - - void - f14 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, va_alist) - int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14; - va_dcl - { - va_list ap; - char *format; - - va_start (ap); - format = va_arg (ap, char *); - if (strlen (format) != 16 - 14) - abort (); - while (*format) - if (*format++ != to_hex (va_arg (ap, int))) - abort (); - va_end(ap); - } - - void - f15 (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, va_alist) - int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15; - va_dcl - { - va_list ap; - char *format; - - va_start (ap); - format = va_arg (ap, char *); - if (strlen (format) != 16 - 15) - abort (); - while (*format) - if (*format++ != to_hex (va_arg (ap, int))) - abort (); - va_end(ap); - } - - main () - { - char *f = "0123456789abcdef"; - - f0 (f+0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); - f1 (0, f+1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); - f2 (0, 1, f+2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); - f3 (0, 1, 2, f+3, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); - f4 (0, 1, 2, 3, f+4, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); - f5 (0, 1, 2, 3, 4, f+5, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); - f6 (0, 1, 2, 3, 4, 5, f+6, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); - f7 (0, 1, 2, 3, 4, 5, 6, f+7, 7, 8, 9, 10, 11, 12, 13, 14, 15); - f8 (0, 1, 2, 3, 4, 5, 6, 7, f+8, 8, 9, 10, 11, 12, 13, 14, 15); - f9 (0, 1, 2, 3, 4, 5, 6, 7, 8, f+9, 9, 10, 11, 12, 13, 14, 15); - f10 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, f+10, 10, 11, 12, 13, 14, 15); - f11 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, f+11, 11, 12, 13, 14, 15); - f12 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, f+12, 12, 13, 14, 15); - f13 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, f+13, 13, 14, 15); - f14 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, f+14, 14, 15); - f15 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, f+15, 15); - - exit (0); - } - #endif /* ! NO_VARARGS */ --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-3.x gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-3.x *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-3.x 1998-12-16 22:16:35.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-3.x 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,12 **** - # This doesn't work on mn10200 - - if { [istarget "mn10200*-*-*"] } { - set torture_execute_xfail "mn10200*-*-*" - } - - if { [istarget "h8300*-*-*"] } { - set torture_execute_xfail "h8300*-*-*" - } - - - return 0 --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-7.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-7.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-7.c 1999-09-04 15:09:13.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-7.c 2002-07-16 02:16:47.000000000 +0000 *************** *** 1,16 **** /* Origin: Franz Sirl */ ! #include inline void ! debug(i1, i2, i3, i4, i5, i6, i7, f1, f2, f3, f4, f5, f6, f7, f8, f9, va_alist) ! int i1, i2, i3, i4, i5, i6, i7; ! double f1, f2, f3, f4, f5, f6, f7, f8, f9; ! va_dcl { va_list ap; ! va_start (ap); if (va_arg (ap,int) != 8) abort (); --- 1,15 ---- /* Origin: Franz Sirl */ ! #include inline void ! debug(int i1, int i2, int i3, int i4, int i5, int i6, int i7, ! double f1, double f2, double f3, double f4, double f5, ! double f6, double f7, double f8, double f9, ...) { va_list ap; ! va_start (ap, f9); if (va_arg (ap,int) != 8) abort (); *************** debug(i1, i2, i3, i4, i5, i6, i7, f1, f2 *** 25,31 **** int main(void) { ! debug (1, 2, 3, 4, 5, 6, 7, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, ! 8.0, 9.0, 8, 9, 10); exit (0); } --- 24,31 ---- int main(void) { ! debug (1, 2, 3, 4, 5, 6, 7, ! 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, ! 8, 9, 10); exit (0); } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-8.c gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-8.c *** gcc-3.2.3/gcc/testsuite/gcc.c-torture/execute/va-arg-8.c 1999-09-04 15:09:13.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.c-torture/execute/va-arg-8.c 2002-07-16 02:16:47.000000000 +0000 *************** *** 1,6 **** /* Origin: Franz Sirl */ ! #include #include #if __LONG_LONG_MAX__ == 9223372036854775807LL --- 1,6 ---- /* Origin: Franz Sirl */ ! #include #include #if __LONG_LONG_MAX__ == 9223372036854775807LL *************** *** 8,20 **** typedef long long int INT64; inline void ! debug(i1, i2, i3, i4, i5, i6, i7, i8, i9, va_alist) ! int i1, i2, i3, i4, i5, i6, i7, i8, i9; ! va_dcl { va_list ap; ! va_start (ap); if (va_arg (ap,int) != 10) abort (); --- 8,19 ---- typedef long long int INT64; inline void ! debug(int i1, int i2, int i3, int i4, int i5, ! int i6, int i7, int i8, int i9, ...) { va_list ap; ! va_start (ap, i9); if (va_arg (ap,int) != 10) abort (); diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20000614-2.c gcc-3.3/gcc/testsuite/gcc.dg/20000614-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20000614-2.c 2000-11-21 00:05:05.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20000614-2.c 2002-10-02 08:26:39.000000000 +0000 *************** *** 1,4 **** ! /* { dg-do run { target i?86-*-* } } */ /* { dg-options "-O2 -fno-strength-reduce" } */ extern void abort (void); --- 1,4 ---- ! /* { dg-do run { target i?86-*-* x86_64-*-*} } */ /* { dg-options "-O2 -fno-strength-reduce" } */ extern void abort (void); diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20011008-1.c gcc-3.3/gcc/testsuite/gcc.dg/20011008-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20011008-1.c 2001-10-08 19:42:40.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20011008-1.c 2002-06-16 19:09:29.000000000 +0000 *************** *** 1,7 **** /* { dg-do compile } */ /* { dg-options "-O0" } */ ! struct { int; int q; } a; /* { dg-error "unnamed" } */ struct { union {int x;}; int q; } b; struct { struct {int x;}; int q; } c; union { union {int x;}; int q; } d; --- 1,7 ---- /* { dg-do compile } */ /* { dg-options "-O0" } */ ! struct { int; int q; } a; /* { dg-warning "does not declare anything" } */ struct { union {int x;}; int q; } b; struct { struct {int x;}; int q; } c; union { union {int x;}; int q; } d; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20020103-1.c gcc-3.3/gcc/testsuite/gcc.dg/20020103-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20020103-1.c 2002-03-12 22:22:56.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20020103-1.c 2002-10-02 08:26:39.000000000 +0000 *************** *** 1,6 **** /* Verify that constant equivalences get reloaded properly, either by being spilled to the stack, or regenerated, but not dropped to memory. */ ! /* { dg-do compile { target i?86-*-* powerpc-*-* rs6000-*-* alpha*-*-* } } */ /* { dg-options "-O2 -fpic -fno-omit-frame-pointer" } */ /* { dg-final { scan-assembler-not "LC" } } */ --- 1,6 ---- /* Verify that constant equivalences get reloaded properly, either by being spilled to the stack, or regenerated, but not dropped to memory. */ ! /* { dg-do compile { target i?86-*-* powerpc-*-* rs6000-*-* alpha*-*-* x86_64-*-*} } */ /* { dg-options "-O2 -fpic -fno-omit-frame-pointer" } */ /* { dg-final { scan-assembler-not "LC" } } */ *************** *** 16,21 **** --- 16,24 ---- #define clobber \ asm volatile("#asm" : : : "$9", "$10", "$11", "$12", "$13", "$14", \ "$f2", "$f3", "$f4", "$f5", "$f6", "$f7", "$f8", "$f9") + #elif defined(__x86_64__) + #define clobber \ + asm volatile("#asm" : : : "rcx", "rdx", "rsi", "rdi", "r8", "r9", "r10", "r11") #else #error no clobber macro defined #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20020210-1.c gcc-3.3/gcc/testsuite/gcc.dg/20020210-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20020210-1.c 2002-02-10 20:30:10.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20020210-1.c 2002-12-02 20:28:38.000000000 +0000 *************** *** 1,4 **** ! /* This used fail on H8/300 due to incorrect specification of pushi1. */ /* { dg-do run } */ /* { dg-options "-O2" } */ --- 1,4 ---- ! /* This used to fail on H8/300 due to incorrect specification of pushi1. */ /* { dg-do run } */ /* { dg-options "-O2" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20020219-1.c gcc-3.3/gcc/testsuite/gcc.dg/20020219-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20020219-1.c 2002-02-20 22:54:35.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20020219-1.c 2002-10-14 22:07:18.000000000 +0000 *************** *** 1,8 **** /* PR c/4389 This testcase failed because host_integerp (x, 0) was returning ! 1 even for constants bigger than 2^31. */ /* { dg-do run } */ /* { dg-options "-O2" } */ extern void abort (void); extern void exit (int); --- 1,16 ---- /* PR c/4389 This testcase failed because host_integerp (x, 0) was returning ! 1 even for constants bigger than 2^31. It fails under under hpux ! without -mdisable-indexing because the pointer x - 1 is used as ! the base address of an indexed load. Because the struct A is not ! actually allocated, x - 1 lies in the text segment and this causes ! the wrong space register to be selected for the load. */ /* { dg-do run } */ /* { dg-options "-O2" } */ + /* { dg-options "-O2 -mdisable-indexing" { target hppa*-*-hpux* } } */ + + /* Disable the test entirely for 16-bit targets. */ + #if __INT_MAX__ > 32767 extern void abort (void); extern void exit (int); *************** int main (void) *** 26,28 **** --- 34,42 ---- foo (x - 1, 9999); exit (0); } + + #else + + int main () { return 0; } + + #endif /* __INT_MAX__ */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20020312-2.c gcc-3.3/gcc/testsuite/gcc.dg/20020312-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20020312-2.c 2002-04-04 12:37:24.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20020312-2.c 2002-09-19 23:01:49.000000000 +0000 *************** *** 34,39 **** --- 34,41 ---- /* No pic register. */ #elif defined(__H8300__) || defined(__H8300H__) || defined(__H8300S__) /* No pic register. */ + #elif defined(_IBMR2) + /* No pic register. */ #elif #cpu(i370) /* No pic register. */ #elif defined(__i386__) *************** *** 64,77 **** /* No pic register. */ #elif #cpu(ns32k) /* No pic register. */ ! #elif defined(__parisc__) /* PIC register is %r27 or %r19, but is used even without -fpic. */ #elif defined(__pdp11__) /* No pic register. */ #elif defined(__pj__) /* No pic register. */ ! #elif defined(__powerpc__) ! # ifdef __darwin__ # define PIC_REG "31" # else # define PIC_REG "30" --- 66,79 ---- /* No pic register. */ #elif #cpu(ns32k) /* No pic register. */ ! #elif defined(__hppa__) /* PIC register is %r27 or %r19, but is used even without -fpic. */ #elif defined(__pdp11__) /* No pic register. */ #elif defined(__pj__) /* No pic register. */ ! #elif defined(__powerpc__) || defined(__PPC__) || defined(__POWERPC__) ! # ifdef __MACH__ # define PIC_REG "31" # else # define PIC_REG "30" *************** *** 92,97 **** --- 94,103 ---- /* No pic register. */ #elif defined(__XTENSA__) /* No pic register. */ + #elif defined(__sh__) + # define PIC_REG "r12" + #elif defined(__x86_64__) + /* No pic register. */ #else # error "Modify the test for your target." #endif *************** main() *** 138,145 **** /* Additionally test that the prologue/epilogue properly does *not* save and restore global registers. Not possible when the PIC ! register is in a register window, of course. */ ! #ifndef __sparc__ if (reg) abort (); #endif --- 144,152 ---- /* Additionally test that the prologue/epilogue properly does *not* save and restore global registers. Not possible when the PIC ! register is in a register window, of course. On Darwin, you can't ! call library routines from non-PIC code. */ ! #if !defined (__sparc__) && !(defined(__MACH__) && defined(__POWERPC__)) if (reg) abort (); #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20020411-1.c gcc-3.3/gcc/testsuite/gcc.dg/20020411-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20020411-1.c 2002-04-11 20:51:38.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20020411-1.c 2002-10-07 04:38:56.000000000 +0000 *************** *** 5,10 **** --- 5,12 ---- /* { dg-options "-O2" } */ /* { dg-options "-O2 -march=i686" { target i?86-*-* } } */ + #if __INT_MAX__ > 32767 + typedef struct { unsigned a : 16; *************** baz (unsigned int x, unsigned char y) *** 48,50 **** --- 50,54 ---- foo (&t, 1); bar (&t); } + + #endif /* __INT_MAX__ */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20020425-1.c gcc-3.3/gcc/testsuite/gcc.dg/20020425-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20020425-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20020425-1.c 2002-04-26 05:35:13.000000000 +0000 *************** *** 0 **** --- 1,14 ---- + /* PR c/2161: parser stack overflow. */ + /* { dg-do compile } */ + + #define ONE else if (0) { } + #define TEN ONE ONE ONE ONE ONE ONE ONE ONE ONE ONE + #define HUN TEN TEN TEN TEN TEN TEN TEN TEN TEN TEN + #define THOU HUN HUN HUN HUN HUN HUN HUN HUN HUN HUN + + void foo() + { + if (0) { } + /* 11,000 else if's. */ + THOU THOU THOU THOU THOU THOU THOU THOU THOU THOU THOU + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20020523-2.c gcc-3.3/gcc/testsuite/gcc.dg/20020523-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20020523-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20020523-2.c 2002-10-17 17:13:41.000000000 +0000 *************** *** 0 **** --- 1,65 ---- + /* PR target/6753 + This testcase was miscompiled because sse_mov?fcc_const0* + patterns were missing earlyclobber. */ + /* { dg-do run { target i386-*-* } } */ + /* { dg-options "-march=pentium3 -msse -ffast-math -O2" } */ + + extern void abort (void); + extern void exit (int); + + float one = 1.f; + + void bar (float f) + { + if (__builtin_memcmp (&one, &f, sizeof (float))) + abort (); + } + + float foo (void) + { + return 1.f; + } + + typedef struct + { + float t; + } T; + + void bail_if_no_sse (void) + { + int fl1, fl2; + + /* See if we can use cpuid. */ + __asm__ ("pushfl; pushfl; popl %0; movl %0,%1; xorl %2,%0;" + "pushl %0; popfl; pushfl; popl %0; popfl" + : "=&r" (fl1), "=&r" (fl2) + : "i" (0x00200000)); + if (((fl1 ^ fl2) & 0x00200000) == 0) + exit (0); + + /* See if cpuid gives capabilities. */ + __asm__ ("cpuid" : "=a" (fl1) : "0" (0) : "ebx", "ecx", "edx", "cc"); + if (fl1 == 0) + exit (0); + + /* See if capabilities include SSE (25th bit; 26 for SSE2). */ + __asm__ ("cpuid" : "=a" (fl1), "=d" (fl2) : "0" (1) : "ebx", "ecx", "cc"); + if ((fl2 & (1 << 25)) == 0) + exit (0); + } + + int main (void) + { + int i; + T x[1]; + + bail_if_no_sse (); + for (i = 0; i < 1; i++) + { + x[i].t = foo (); + x[i].t = 0.f > x[i].t ? 0.f : x[i].t; + bar (x[i].t); + } + + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20020527-1.c gcc-3.3/gcc/testsuite/gcc.dg/20020527-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20020527-1.c 2002-06-10 21:53:39.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20020527-1.c 2002-06-16 19:09:30.000000000 +0000 *************** *** 2,8 **** Test whether an unnamed field with user defined type - struct or union is accepted. */ /* { dg-do compile } */ ! /* { dg-options "" } */ typedef struct { unsigned short a; --- 2,8 ---- Test whether an unnamed field with user defined type - struct or union is accepted. */ /* { dg-do compile } */ ! /* { dg-options "-fms-extensions" } */ typedef struct { unsigned short a; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20020531-1.c gcc-3.3/gcc/testsuite/gcc.dg/20020531-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20020531-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20020531-1.c 2002-06-16 18:56:12.000000000 +0000 *************** *** 0 **** --- 1,21 ---- + /* PR optimization/6842 + This testcase caused ICE when trying to optimize V8QI subreg of VOIDmode + CONST_DOUBLE. */ + /* { dg-do compile { target i?86-*-* } } */ + /* { dg-options "-O2 -mmmx" } */ + + typedef int __v8qi __attribute__ ((__mode__ (__V8QI__))); + extern void abort (void); + extern void exit (int); + + void foo (void) + { + unsigned long long a = 0x0102030405060708LL; + unsigned long long b = 0x1020304050607080LL; + unsigned long long c; + + c = (unsigned long long) __builtin_ia32_paddusb ((__v8qi) a, (__v8qi) b); + __builtin_ia32_emms (); + if (c != 0x1122334455667788LL) + abort (); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20020607-1.c gcc-3.3/gcc/testsuite/gcc.dg/20020607-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20020607-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20020607-1.c 2002-06-07 21:32:57.000000000 +0000 *************** *** 0 **** --- 1,40 ---- + /* PR middle-end/6950 + gcc 3.0.4 mistakenly set lhs.low to 0 at the beginning of the num_eq + expansion; it should use a temporary. + /* { dg-do run } */ + + typedef struct cpp_num cpp_num; + struct cpp_num + { + long high; + long low; + char overflow; + }; + + #define num_eq(num1, num2) (num1.low == num2.low && num1.high == num2.high) + + static cpp_num + num_equality_op (lhs, rhs) + cpp_num lhs, rhs; + { + lhs.low = num_eq (lhs, rhs); + lhs.high = 0; + lhs.overflow = 0; + return lhs; + } + + int main() + { + cpp_num a = { 1, 2 }; + cpp_num b = { 3, 4 }; + + cpp_num result = num_equality_op (a, b); + if (result.low) + return 1; + + result = num_equality_op (a, a); + if (!result.low) + return 2; + + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20020607-2.c gcc-3.3/gcc/testsuite/gcc.dg/20020607-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20020607-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20020607-2.c 2002-06-07 23:42:53.000000000 +0000 *************** *** 0 **** --- 1,74 ---- + /* Copyright (C) 2002 Free Software Foundation. + + Test for correctness of floating point comparisons. + + Written by Roger Sayle, 3rd June 2002. */ + + /* { dg-do run } */ + /* { dg-options "-O2 -ffast-math" } */ + + extern void abort (void); + + int test1 (double x, int ok) + { + if ((x - 1.0) > 0.0) + { + if (!ok) abort (); + } + else + if (ok) abort (); + } + + int test1f (float x, int ok) + { + if ((x - 1.0f) > 0.0f) + { + if (!ok) abort (); + } + else + if (ok) abort (); + } + + int test2 (double x, int ok) + { + if ((x + 1.0) < 0.0) + { + if (!ok) abort (); + } + else + if (ok) abort (); + } + + int test2f (float x, int ok) + { + if ((x + 1.0f) < 0.0f) + { + if (!ok) abort (); + } + else + if (ok) abort (); + } + + + int + main () + { + test1 (-2.0, 0); + test1 ( 0.0, 0); + test1 ( 2.0, 1); + + test1f (-2.0f, 0); + test1f ( 0.0f, 0); + test1f ( 2.0f, 1); + + test2 (-2.0, 1); + test2 ( 0.0, 0); + test2 ( 2.0, 0); + + test2f (-2.0f, 1); + test2f ( 0.0f, 0); + test2f ( 2.0f, 0); + + return 0; + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20020620-1.c gcc-3.3/gcc/testsuite/gcc.dg/20020620-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20020620-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20020620-1.c 2002-07-03 23:09:11.000000000 +0000 *************** *** 0 **** --- 1,7 ---- + /* { dg-do compile { target mips64*-*-* mipsisa64*-*-* } } */ + /* { dg-options "-O2 -mlong64" } */ + int foo (int *x, int i) + { + return x[i] + i; + } + /* { dg-final { scan-assembler-not "move" } } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20020919-1.c gcc-3.3/gcc/testsuite/gcc.dg/20020919-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20020919-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20020919-1.c 2002-10-02 08:26:39.000000000 +0000 *************** *** 0 **** --- 1,248 ---- + /* Copyright (C) 2002 Free Software Foundation. + by Hans-Peter Nilsson + + Making sure that asm clobbers conflicting with asm-declared input + operands are detected: ``You may not write a clobber description in a + way that overlaps with an input or output operand''. + + You must be this tall ---> fit two long longs in asm-declared registers + to enter this amusement. */ + + /* { dg-do compile { target alpha-*-* cris-*-* i?86-*-* mmix-*-* powerpc-*-* rs6000-*-* x86_64-*-* } } */ + /* { dg-options "-O2" } */ + + /* Constructed examples; input/output (same register), output, input, and + input and output (different registers). */ + + /* The long longs are used to test overlap overlap for multi-register + registers. REG2 and REG4 must be the second halves (defined as + higher-numbered parts) of REG1 and REG3 respectively when two registers + are needed. */ + + #if defined (__alpha__) + # define REG1 "$1" + # define REG2 "$2" + #elif defined (__CRIS__) + # define REG1 "r10" + # define REG2 "r11" + # define REG3 "r12" + # define REG4 "r13" + # define REG5 "r9" + #elif defined (__i386__) + # define REG1 "%eax" + # define REG2 "%edx" + # define REG3 "%ecx" + # define REG4 "%ebx" + #elif defined (__MMIX__) + # define REG1 "$8" + # define REG2 "$9" + #elif defined (__powerpc__) || defined (__PPC__) || defined (__ppc__) \ + || defined (__POWERPC__) || defined (PPC) || defined (_IBMR2) + # define REG1 "6" + # define REG2 "7" + # define REG3 "8" + # define REG4 "9" + #elif defined (__x86_64__) + # define REG1 "rax" + # define REG2 "rdx" + #endif + + /* For readability of the tests. */ + #ifdef REG3 + # define REG1a REG1 + # define REG1b REG2 + # define REG2a REG3 + # define REG2b REG4 + #else + # define REG1a REG1 + # define REG1b REG1 + # define REG2a REG2 + # define REG2b REG2 + #endif + + /* REG5 is just another reg if there is one; the difference to REG4 is to + keep the original set of registers for CRIS. */ + #ifndef REG5 + #define REG5 REG2b + #endif + + void * + foo (void *p) + { + register void *q asm (REG1) = p; + asm ("foo1 %0" : "=r" (q) : "0" (q) : REG1); /* { dg-error "conflict" } */ + return q; + } + + void * + nfoo (void *p) + { + register void *q asm (REG1) = p; + asm ("foo1 %0" : "=r" (q) : "0" (q) : REG2); + return q; + } + + long long + foolla (long long llp) + { + register long long ll asm (REG1a) = llp; + asm ("foo1a %0" : "=r" (ll) : "0" (ll) : REG1a); /* { dg-error "conflict" } */ + return ll; + } + + long long + nfoolla (long long llp) + { + register long long ll asm (REG1a) = llp; + asm ("foo1a %0" : "=r" (ll) : "0" (ll) : REG2a); + return ll; + } + + long long + foollb (long long llp) + { + register long long ll asm (REG1a) = llp; + asm ("foo1b %0" : "=r" (ll) : "0" (ll) : REG1b); /* { dg-error "conflict" } */ + return ll; + } + + void * + bar (void *p) + { + register void *q asm (REG1); + register void *w asm (REG2) = p; + asm ("bar1 %1,%0" : "=r" (q) : "r" (w) : REG1); /* { dg-error "conflict" } */ + return q; + } + + long long + barlla (long long llp) + { + register long long ll asm (REG1a); + register long long mm asm (REG2a) = llp; + asm ("bar1a %1,%0" : "=r" (ll) : "r" (mm) : REG1b); /* { dg-error "conflict" } */ + return ll; + } + + long long + barllb (long long llp) + { + register long long ll asm (REG1a); + register long long mm asm (REG2a) = llp; + asm ("bar1b %1,%0" : "=r" (ll) : "r" (mm) : REG2b); /* { dg-error "conflict" } */ + return ll; + } + + void * + foobar (void *p) + { + register void *q asm (REG1); + register void *w asm (REG2) = p; + asm ("foobar1 %1,%0" : "=r" (q) : "r" (w) : REG2); /* { dg-error "conflict" } */ + return q; + } + + void * + nfoobar (void *p) + { + register void *q asm (REG1); + register void *w = p; + asm ("foobar1 %1,%0" : "=r" (q) : "r" (w) : REG2); + return q; + } + + long long + foobarlla (long long llp) + { + register long long ll asm (REG1a); + register long long mm asm (REG2a) = llp; + asm ("foobar1a %1,%0" : "=r" (ll) : "r" (mm) : REG1b); /* { dg-error "conflict" } */ + return ll; + } + + long long + nfoobarlla (long long llp) + { + register long long ll asm (REG1a); + register long long mm = llp; + asm ("foobar1a %1,%0" : "=r" (ll) : "r" (mm) : REG2a); + return ll; + } + + long long + foobarllb (long long llp) + { + register long long ll asm (REG1a); + register long long mm asm (REG2a) = llp; + asm ("foobar1b %1,%0" : "=r" (ll) : "r" (mm) : REG2b); /* { dg-error "conflict" } */ + return ll; + } + + long long + nfoobarllb (long long llp) + { + register long long ll asm (REG1a); + register long long mm = llp; + asm ("foobar1b %1,%0" : "=r" (ll) : "r" (mm) : REG2b); + return ll; + } + + void * + baz (void *p) + { + register void *q asm (REG1); + register void *w asm (REG2) = p; + asm ("baz1 %1,%0" : "=r" (q) : "r" (w) : REG1, REG2); /* { dg-error "conflict" } */ + return q; + } + + void * + nbaz (void *p) + { + register void *q; + register void *w = p; + asm ("baz1 %1,%0" : "=r" (q) : "r" (w) : REG1, REG2); + return q; + } + + void * + nbaz2 (void *p) + { + register void *q asm (REG1); + register void *w asm (REG2) = p; + asm ("baz1 %1,%0" : "=r" (q) : "r" (w)); + return q; + } + + long long + bazlla (long long llp) + { + register long long ll asm (REG1a); + register long long mm asm (REG2a) = llp; + asm ("baz1a %1,%0" : "=r" (ll) : "r" (mm) : REG1a, REG2a); /* { dg-error "conflict" } */ + return ll; + } + + long long + bazllb (long long llp) + { + register long long ll asm (REG1a); + register long long mm asm (REG2a) = llp; + asm ("baz2a %1,%0" : "=r" (ll) : "r" (mm) : REG1b, REG2b); /* { dg-error "conflict" } */ + return ll; + } + + /* Real-world example of bug. */ + + struct stat; + int + _dl_stat (const char *file_name, struct stat *buf) + { + register long a asm (REG1) = (long) file_name; + register long b asm (REG2) = (long) buf; + + asm volatile ("movu.w %1,$r9\n\tbreak 13" : "=r" (a) : "g" (106), "0" (a), "r" (b) : REG1, REG5); /* { dg-error "conflict" } */ + if (a >= 0) + return (int) a; + return (int) -1; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20020926-1.c gcc-3.3/gcc/testsuite/gcc.dg/20020926-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20020926-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20020926-1.c 2002-09-26 18:26:08.000000000 +0000 *************** *** 0 **** --- 1,14 ---- + /* Make sure that LEGITIMIZE_ADDRESS is called to handle + negative displacements. */ + + /* { dg-do compile { target s390-*-* } } */ + /* { dg-options "-O2" } */ + + int test (int *addr) + { + return *(addr - 1); + } + + /* { dg-final { scan-assembler "-4096" } } */ + /* { dg-final { scan-assembler-not "ahi" } } */ + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20021006-1.c gcc-3.3/gcc/testsuite/gcc.dg/20021006-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20021006-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20021006-1.c 2002-10-06 19:30:37.000000000 +0000 *************** *** 0 **** --- 1,27 ---- + /* PR target/7559 + This testcase was miscompiled on x86-64 due to wrong access to the struct + members. */ + + extern void abort(); + + struct A { + long x; + }; + + struct R { + struct A a, b; + }; + + struct R R = { + {100}, {200} + }; + + void f(struct R r) { + if (r.a.x != R.a.x || r.b.x != R.b.x) + abort(); + } + + int main() { + f(R); + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20021018-1.c gcc-3.3/gcc/testsuite/gcc.dg/20021018-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20021018-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20021018-1.c 2002-10-21 20:27:14.000000000 +0000 *************** *** 0 **** --- 1,21 ---- + /* { dg-do run } */ + /* { dg-options "-O2 -fpic" } */ + + extern void abort (void); + extern void exit (int); + + static const long foo [10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; + + long __attribute__((noinline)) + bar (int x) + { + return foo [x - 0x6ffffffa]; + } + + int + main (void) + { + if (bar (0x6ffffffc) != 2) + abort (); + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20021023-1.c gcc-3.3/gcc/testsuite/gcc.dg/20021023-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20021023-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20021023-1.c 2002-10-23 21:20:08.000000000 +0000 *************** *** 0 **** --- 1,24 ---- + /* This testcase ICEd on x86-64 because LABEL_REF + small const was not + considered as local_symbolic_operand. */ + /* { dg-do compile } */ + /* { dg-options "-O2 -fpic" } */ + + typedef __builtin_va_list va_list; + + static unsigned int + foo (void *a, float b, const char *c, va_list d, void *e) + { + return -1; + } + + unsigned int + bar (void *a, float b, const char *c, ...) + { + va_list args; + unsigned int d; + + __builtin_stdarg_start (args, c); + d = foo (a, b, c, args, a); + __builtin_va_end (args); + return d; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20021029-1.c gcc-3.3/gcc/testsuite/gcc.dg/20021029-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20021029-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20021029-1.c 2002-11-14 07:56:54.000000000 +0000 *************** *** 0 **** --- 1,16 ---- + /* Test whether difference of local labels doesn't force + variables into writable sections. */ + /* { dg-do compile } */ + /* { dg-options "-O2 -fpic" } */ + /* { dg-final { scan-assembler-not ".data.rel.ro.local" } } */ + + int foo (int a) + { + static const int ar[] = { &&l1 - &&l1, &&l2 - &&l1 }; + void *p = &&l1 + ar[a]; + goto *p; + l1: + return 1; + l2: + return 2; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20021029-2.c gcc-3.3/gcc/testsuite/gcc.dg/20021029-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20021029-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20021029-2.c 2002-11-14 07:56:54.000000000 +0000 *************** *** 0 **** --- 1,14 ---- + /* Test whether variables with relocations aren't put into + mergeable sections even with -fmerge-all-constants. */ + /* { dg-do compile } */ + /* { dg-options "-O2 -fmerge-all-constants" } */ + /* { dg-final { scan-assembler-not ".rodata.cst" } } */ + + int foo (int a) + { + static void * const ar[] = { &&l2 }; + void *p = ar[a]; + goto *p; + l2: + return 2; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20021116-1.c gcc-3.3/gcc/testsuite/gcc.dg/20021116-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20021116-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20021116-1.c 2002-11-16 20:04:40.000000000 +0000 *************** *** 0 **** --- 1,32 ---- + /* { dg-do compile } */ + /* { dg-options "-O2 -fpic" } */ + /* { dg-warning "not supported" "PIC unsupported" { target cris-*-elf* cris-*-aout* mmix-*-* } 0 } */ + + void ** + foo (void **x, int y, void *z) + { + switch (y) + { + case 162: + *x = z; + break; + case 164: + *x = z; + break; + case 165: + *x = z; + break; + case 166: + *x = z; + break; + case 163: + *x = z; + break; + default: + goto out; + } + return x; + + out: + return (void **) 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20030120-1.c gcc-3.3/gcc/testsuite/gcc.dg/20030120-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20030120-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20030120-1.c 2003-01-21 07:40:04.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + /* PR 7154 */ + /* { dg-do compile } */ + /* { dg-options "-O -fpic" } */ + /* { dg-warning "not supported" "PIC unsupported" { target cris-*-elf* mmix-*-* } 0 } */ + + const int x[1]={ 1 }; + void foo(int i, int *p) + { + asm volatile("" : "+r"(i) : "m" (x[0]), "r"(p)); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20030123-1.c gcc-3.3/gcc/testsuite/gcc.dg/20030123-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20030123-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20030123-1.c 2003-01-25 23:59:26.000000000 +0000 *************** *** 0 **** --- 1,17 ---- + /* This used to ICE due to a reload bug on s390*. */ + + /* { dg-do compile { target s390*-*-* } } */ + /* { dg-options "-O2" } */ + + void func (char *p); + + void test (void) + { + char *p = alloca (4096); + long idx; + + asm ("" : "=r" (idx) : : "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"); + + func (p + idx + 1); + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20030129-1.c gcc-3.3/gcc/testsuite/gcc.dg/20030129-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20030129-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20030129-1.c 2003-02-01 01:07:22.000000000 +0000 *************** *** 0 **** --- 1,37 ---- + /* This used to ICE due to a reload bug on s390*. */ + + /* { dg-do compile { target s390*-*-* } } */ + /* { dg-options "-O2" } */ + + int f (unsigned int); + void g (void *); + + void test (void *p, void *dummy) + { + unsigned int flags = 0; + + if (dummy) + g (dummy); + + if (p) + flags |= 0x80000000; + + asm volatile ("" : : : "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"); + + if (dummy) + g (dummy); + + if (p) + { + flags |= 0x20000000|0x80000000; + + if (!f (0)) + flags &= ~0x80000000; + } + + f (flags); + + if (dummy) + g (dummy); + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20030213-1.c gcc-3.3/gcc/testsuite/gcc.dg/20030213-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20030213-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20030213-1.c 2003-02-14 09:21:30.000000000 +0000 *************** *** 0 **** --- 1,37 ---- + /* Testcase for http://gcc.gnu.org/ml/gcc-patches/2003-02/msg01017.html */ + /* { dg-do link } */ + /* { dg-options "-O -fpic" } */ + /* { dg-warning "not supported" "PIC unsupported" { target cris-*-elf* cris-*-aout* mmix-*-* } 0 } */ + + int *g; + + int main (void) + { + switch (*g) + { + case 0: + { + switch (*g) + { + case 0: *g = 1; break; + case 1: + case 2: *g = 1; break; + case 3: + case 4: *g = 1; break; + } + break; + } + case 1: + { + switch (*g) + { + case 0: *g = 1; break; + case 1: + case 2: *g = 1; break; + case 3: + case 4: *g = 1; break; + } + } + } + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20030217-1.c gcc-3.3/gcc/testsuite/gcc.dg/20030217-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20030217-1.c 2003-02-18 23:43:55.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20030217-1.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,18 **** - /* Test whether denormal floating point constants in hexadecimal notation - are parsed correctly. */ - /* { dg-do run { target i?86-*-linux* x86_64-*-* } } */ - /* { dg-options "-std=c99" } */ - - long double d = 0x0.0000003ffffffff00000p-16357L; - long double e = 0x0.0000003ffffffff00000p-16356L; - - extern void abort (void); - extern void exit (int); - - int - main (void) - { - if (d != e / 2.0) - abort (); - exit (0); - } --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20030321-1.c gcc-3.3/gcc/testsuite/gcc.dg/20030321-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20030321-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20030321-1.c 2003-03-22 17:54:34.000000000 +0000 *************** *** 0 **** --- 1,18 ---- + /* This used to ICE on s390 due to displacement overflow + when accessing the low-order subword. */ + + /* { dg-do compile } */ + /* { dg-options "" } */ + + struct array + { + char align[4092]; + long long elem[2] __attribute__ ((__packed__)); + }; + + long long + test (struct array *array, int i) + { + return array->elem[i]; + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20030324-1.c gcc-3.3/gcc/testsuite/gcc.dg/20030324-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20030324-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20030324-1.c 2003-04-04 07:58:06.000000000 +0000 *************** *** 0 **** --- 1,39 ---- + /* { dg-do run } */ + /* { dg-options "-O -fstrength-reduce -fstrict-aliasing -fforce-mem -fgcse" } */ + + /* PR optimization/10087 */ + /* Contributed by Peter van Hoof */ + + extern void abort(void); + + void b(int*,int*); + + typedef struct { + double T1; + char c; + } S; + + int main(void) + { + int i,j; + double s; + + S x1[2][2]; + S *x[2] = { x1[0], x1[1] }; + S **E = x; + + for( i=0; i < 2; i++ ) + for( j=0; j < 2; j++ ) + E[j][i].T1 = 1; + + for( i=0; i < 2; i++ ) + for( j=0; j < 2; j++ ) + s = E[j][i].T1; + + b(&j,&i); + if (s != 1) + abort (); + return 0; + } + + void b(int *i, int *j) {} diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/20030331-2.c gcc-3.3/gcc/testsuite/gcc.dg/20030331-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/20030331-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/20030331-2.c 2003-04-01 07:25:14.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + // { dg-options "" } + + int foo() { + int yd; + float in[1][yd]; + + static void bar() { + printf("%p\n",in[0]); + } + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/980211-1.c gcc-3.3/gcc/testsuite/gcc.dg/980211-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/980211-1.c 2000-05-23 19:30:44.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/980211-1.c 2002-10-02 08:26:39.000000000 +0000 *************** *** 1,6 **** ! /* Test long double on x86. */ ! /* { dg-do run { target i?86-*-* } } */ /* { dg-options -O2 } */ extern void abort (void); --- 1,6 ---- ! /* Test long double on x86 and x86-64. */ ! /* { dg-do run { target i?86-*-* x86_64-*-*} } */ /* { dg-options -O2 } */ extern void abort (void); diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/alias-1.c gcc-3.3/gcc/testsuite/gcc.dg/alias-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/alias-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/alias-1.c 2002-10-08 19:20:18.000000000 +0000 *************** *** 0 **** --- 1,28 ---- + // { dg-do compile } + // { dg-options "-Wstrict-aliasing -fstrict-aliasing" } + + // Copyright (C) 2002 Free Software Foundation, Inc. + // Contributed by Nathan Sidwell 29 Sep 2002 + + // 8083. warn about odd casts + + typedef int YYSTYPE; + typedef struct tDefEntry + { + unsigned t; + + } tDefEntry; + struct incomplete; + + + YYSTYPE + addSibMacro( + YYSTYPE list ) + { + tDefEntry** ppT = (tDefEntry**)&list; // { dg-warning "type-punned pointer" "" } + + struct incomplete *p = (struct incomplete *)&list; // { dg-warning "type-punning to incomplete" "" } + + return list; + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/alpha-base-1.c gcc-3.3/gcc/testsuite/gcc.dg/alpha-base-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/alpha-base-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/alpha-base-1.c 2002-06-04 22:46:00.000000000 +0000 *************** *** 0 **** --- 1,73 ---- + /* Test that the base isa builtins compile. */ + /* { dg-do link { target alpha*-*-* } } */ + /* { dg-options "-mcpu=ev4" } */ + + void test_BASE (long x, long y) + { + volatile long sink; + long z; + + sink = __builtin_alpha_implver (); + sink = __builtin_alpha_rpcc (); + + sink = __builtin_alpha_amask (-1); + sink = __builtin_alpha_amask (x); + + sink = __builtin_alpha_cmpbge (x, y); + sink = __builtin_alpha_cmpbge (-1, x); + + sink = __builtin_alpha_extbl (x, y); + sink = __builtin_alpha_extwl (x, y); + sink = __builtin_alpha_extll (x, y); + sink = __builtin_alpha_extql (x, y); + sink = __builtin_alpha_extwh (x, y); + sink = __builtin_alpha_extlh (x, y); + sink = __builtin_alpha_extqh (x, y); + + sink = __builtin_alpha_insbl (x, y); + sink = __builtin_alpha_inswl (x, y); + sink = __builtin_alpha_insll (x, y); + sink = __builtin_alpha_insql (x, y); + sink = __builtin_alpha_inswh (x, y); + sink = __builtin_alpha_inslh (x, y); + sink = __builtin_alpha_insqh (x, y); + + sink = __builtin_alpha_mskbl (x, y); + sink = __builtin_alpha_mskwl (x, y); + sink = __builtin_alpha_mskll (x, y); + sink = __builtin_alpha_mskql (x, y); + sink = __builtin_alpha_mskwh (x, y); + sink = __builtin_alpha_msklh (x, y); + sink = __builtin_alpha_mskqh (x, y); + + sink = __builtin_alpha_umulh (x, y); + } + + void test_zap (long x, long y) + { + volatile long sink; + long z; + sink = __builtin_alpha_zap (x, y); + sink = __builtin_alpha_zap (x, 0xaa); + z = 0xaa; + sink = __builtin_alpha_zap (x, z); + z = 0; + sink = __builtin_alpha_zap (z, x); + sink = __builtin_alpha_zap (x, z); + } + + void test_zapnot (long x, long y) + { + volatile long sink; + long z; + + sink = __builtin_alpha_zapnot (x, y); + sink = __builtin_alpha_zapnot (x, 0xaa); + z = 0xaa; + sink = __builtin_alpha_zapnot (x, z); + z = 0; + sink = __builtin_alpha_zapnot (z, x); + sink = __builtin_alpha_zapnot (x, z); + } + + int main() { return 0; } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/alpha-base-2.c gcc-3.3/gcc/testsuite/gcc.dg/alpha-base-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/alpha-base-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/alpha-base-2.c 2002-06-04 04:06:38.000000000 +0000 *************** *** 0 **** --- 1,5 ---- + /* Test that alpha-base-1.c compiles with optimization. */ + /* { dg-do link { target alpha*-*-* } } */ + /* { dg-options "-mcpu=ev4 -O2" } */ + + #include "alpha-base-1.c" diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/alpha-cix-1.c gcc-3.3/gcc/testsuite/gcc.dg/alpha-cix-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/alpha-cix-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/alpha-cix-1.c 2002-06-04 22:46:00.000000000 +0000 *************** *** 0 **** --- 1,14 ---- + /* Test that the CIX isa builtins compile. */ + /* { dg-do link { target alpha*-*-* } } */ + /* { dg-options "-mcpu=ev67" } */ + + void test_CIX (long x) + { + volatile long sink; + + sink = __builtin_alpha_cttz (x); + sink = __builtin_alpha_ctlz (x); + sink = __builtin_alpha_ctpop (x); + } + + int main() { return 0; } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/alpha-cix-2.c gcc-3.3/gcc/testsuite/gcc.dg/alpha-cix-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/alpha-cix-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/alpha-cix-2.c 2002-06-04 22:46:00.000000000 +0000 *************** *** 0 **** --- 1,5 ---- + /* Test that alpha-cix-1.c compiles with optimization. */ + /* { dg-do link { target alpha*-*-* } } */ + /* { dg-options "-mcpu=ev67 -O2" } */ + + #include "alpha-cix-1.c" diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/alpha-max-1.c gcc-3.3/gcc/testsuite/gcc.dg/alpha-max-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/alpha-max-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/alpha-max-1.c 2002-06-04 22:46:00.000000000 +0000 *************** *** 0 **** --- 1,27 ---- + /* Test that the MAX isa builtins compile. */ + /* { dg-do link { target alpha*-*-* } } */ + /* { dg-options "-mcpu=pca56" } */ + + void test_MAX (long x, long y) + { + volatile long sink; + + sink = __builtin_alpha_pklb (x); + sink = __builtin_alpha_pkwb (x); + sink = __builtin_alpha_unpkbl (x); + sink = __builtin_alpha_unpkbw (x); + + sink = __builtin_alpha_minub8 (0, x); + sink = __builtin_alpha_minub8 (1, x); + sink = __builtin_alpha_minub8 (x, y); + sink = __builtin_alpha_minsb8 (x, y); + sink = __builtin_alpha_minuw4 (x, y); + sink = __builtin_alpha_minsw4 (x, y); + sink = __builtin_alpha_maxub8 (x, y); + sink = __builtin_alpha_maxsb8 (x, y); + sink = __builtin_alpha_maxuw4 (x, y); + sink = __builtin_alpha_maxsw4 (x, y); + sink = __builtin_alpha_perr (x, y); + } + + int main() { return 0; } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/alpha-max-2.c gcc-3.3/gcc/testsuite/gcc.dg/alpha-max-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/alpha-max-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/alpha-max-2.c 2002-06-04 22:46:00.000000000 +0000 *************** *** 0 **** --- 1,5 ---- + /* Test that alpha-max-1.c compiles with optimization. */ + /* { dg-do link { target alpha*-*-* } } */ + /* { dg-options "-mcpu=pca56 -O2" } */ + + #include "alpha-max-1.c" diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/altivec-1.c gcc-3.3/gcc/testsuite/gcc.dg/altivec-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/altivec-1.c 2001-12-01 01:58:59.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/altivec-1.c 2002-03-12 01:24:42.000000000 +0000 *************** *** 3,82 **** /* Program to test PowerPC AltiVec instructions. */ ! /* These macros are not analogous to the overloaded functions ! described in Motorola's AltiVec Programming Interface Manual. ! These are just here for readability. Eventually we'll get the ! overloaded functions implemented in an . */ ! ! #define vec_load(src) \ ! __builtin_altivec_ld_internal_4si ((int *) src) ! ! #define vec_store(dst, src) \ ! __builtin_altivec_st_internal_4si ((int *) dst, (int4) src) ! ! #define vec_add_int4(x, y) \ ! __builtin_altivec_vaddsws (x, y) ! ! #define vec_add_float4(x, y) \ ! __builtin_altivec_vaddfp (x, y) ! ! #define vec_average_int4(x, y) \ ! __builtin_altivec_vavgsw (x, y) ! ! typedef int int4 __attribute__ ((mode(V4SI))); ! typedef float float4 __attribute__ ((mode(V4SF))); ! ! int a1[4] __attribute__((aligned(16))) = { 100, 200, 300, 400 }; ! int a2[4] __attribute__((aligned(16))) = { 500, 600, 700, 800 }; ! int a3[4] __attribute__((aligned(16))); ! int addi[4] = { 600, 800, 1000, 1200 }; ! int avgi[4] = { 300, 400, 500, 600 }; ! ! float f1[4] __attribute__((aligned(16))) = { 1.0, 2.0, 3.0, 4.0 }; ! float f2[4] __attribute__((aligned(16))) = { 5.0, 6.0, 7.0, 8.0 }; ! float f3[4] __attribute__((aligned(16))); ! float addf[4] = { 6.0, 8.0, 10.0, 12.0 }; ! ! int4 i, j, k; ! float4 f, g, h; ! void ! compare_int4 (int *a, int *b) ! { ! int i; ! for (i = 0; i < 4; ++i) ! if (a[i] != b[i]) ! exit (1); ! } ! void ! compare_float4 (float *a, float *b) ! { ! int i; ! for (i = 0; i < 4; ++i) ! if (a[i] != b[i]) ! exit (1); ! } ! main () { ! i = vec_load (a1); ! j = vec_load (a2); ! k = vec_add_int4 (i, j); ! vec_store (a3, k); ! compare_int4 (a3, addi); ! k = vec_average_int4 (i, j); ! vec_store (a3, k); ! compare_int4 (a3, avgi); ! f = (float4) vec_load (f1); ! g = (float4) vec_load (f2); ! h = vec_add_float4 (f, g); ! vec_store (f3, h); ! compare_float4 (f3, addf); ! exit (0); } --- 3,38 ---- /* Program to test PowerPC AltiVec instructions. */ ! #include ! extern void abort (void); ! vector int a1 = { 100, 200, 300, 400 }; ! vector int a2 = { 500, 600, 700, 800 }; ! vector int addi = { 600, 800, 1000, 1200 }; ! vector int avgi = { 300, 400, 500, 600 }; ! vector float f1 = { 1.0, 2.0, 3.0, 4.0 }; ! vector float f2 = { 5.0, 6.0, 7.0, 8.0 }; ! vector float f3; ! vector float addf = { 6.0, 8.0, 10.0, 12.0 }; ! vector int k; ! vector float f, g, h; ! int main () { ! k = vec_add (a1, a2); ! if (!vec_all_eq (addi, k)) ! abort (); ! k = vec_avg (a1, a2); ! if (!vec_all_eq (k, avgi)) ! abort (); ! h = vec_add (f1, f2); ! if (!vec_all_eq (h, addf)) ! abort (); ! return 0; } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/altivec-2.c gcc-3.3/gcc/testsuite/gcc.dg/altivec-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/altivec-2.c 2001-12-07 18:59:27.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/altivec-2.c 2002-06-04 06:01:17.000000000 +0000 *************** vector int foobar; *** 12,20 **** struct X { int frances; }; vector struct X hotdog; /* { dg-error "invalid vector type" } */ - /* We don't have a V2DF. */ - vector double x; /* { dg-error "no vector mode" } */ - /* Arrays of vectors. */ vector char b[10], ouch; --- 12,17 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/altivec-5.c gcc-3.3/gcc/testsuite/gcc.dg/altivec-5.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/altivec-5.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/altivec-5.c 2002-04-15 22:39:10.000000000 +0000 *************** *** 0 **** --- 1,12 ---- + /* { dg-do compile { target powerpc-*-* } } */ + /* { dg-options "-maltivec -O2" } */ + + #define vector __attribute__((vector_size(16))) + + void foo (const unsigned long x, + vector signed int a, vector signed int b) + { + unsigned char d[64]; + + __builtin_altivec_stvewx (b, 0, d); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/altivec-7.c gcc-3.3/gcc/testsuite/gcc.dg/altivec-7.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/altivec-7.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/altivec-7.c 2002-05-01 06:52:30.000000000 +0000 *************** *** 0 **** --- 1,45 ---- + /* Origin: Aldy Hernandez */ + + /* { dg-do compile { target powerpc-*-* } } */ + /* { dg-options "-maltivec" } */ + + #include + + long **longp; + int *var_int; + unsigned long **ulongp; + vector pixel *varpixel; + vector signed char *vecchar; + vector signed long *vecint; + vector signed short *vecshort; + vector unsigned char *vecuchar; + vector unsigned long *vecuint; + vector unsigned short *vecushort; + vector float *vecfloat; + + int main () + { + *vecfloat++ = vec_andc(vecint[0], vecfloat[1]); + *vecfloat++ = vec_andc(vecfloat[0], vecint[1]); + *vecfloat++ = vec_vxor(vecint[0], vecfloat[1]); + *vecfloat++ = vec_vxor(vecfloat[0], vecint[1]); + *varpixel++ = vec_packpx(vecuint[0], vecuint[1]); + *varpixel++ = vec_vpkpx(vecuint[0], vecuint[1]); + *vecshort++ = vec_vmulosb(vecchar[0], vecchar[1]); + *vecint++ = vec_ld(var_int[0], longp[1]); + *vecint++ = vec_lde(var_int[0], longp[1]); + *vecint++ = vec_ldl(var_int[0], longp[1]); + *vecint++ = vec_lvewx(var_int[0], longp[1]); + *vecint++ = vec_unpackh(vecshort[0]); + *vecint++ = vec_unpackl(vecshort[0]); + *vecushort++ = vec_andc(vecshort[0], vecushort[1]); + *vecushort++ = vec_andc(vecushort[0], vecshort[1]); + *vecushort++ = vec_vxor(vecshort[0], vecushort[1]); + *vecushort++ = vec_vxor(vecushort[0], vecshort[1]); + *vecuint++ = vec_ld(var_int[0], ulongp[1]); + *vecuint++ = vec_lvx(var_int[0], ulongp[1]); + *vecuint++ = vec_vmsumubm(vecuchar[0], vecuchar[1], vecuint[2]); + *vecuchar++ = vec_xor(vecuchar[0], vecchar[1]); + + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/altivec-8.c gcc-3.3/gcc/testsuite/gcc.dg/altivec-8.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/altivec-8.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/altivec-8.c 2002-05-02 02:03:14.000000000 +0000 *************** *** 0 **** --- 1,18 ---- + /* Origin: Aldy Hernandez */ + /* Test rs6000_legitimate_address. PRE_INC should be invalid. */ + + /* { dg-do compile { target powerpc-*-* } } */ + /* { dg-options "-maltivec" } */ + + #include + + vector signed short *hannah; + + int + main () + { + *hannah++ = __builtin_altivec_vspltish (5); + *hannah++ = __builtin_altivec_vspltish (6); + + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/anon-struct-1.c gcc-3.3/gcc/testsuite/gcc.dg/anon-struct-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/anon-struct-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/anon-struct-1.c 2002-06-16 19:09:30.000000000 +0000 *************** *** 0 **** --- 1,56 ---- + /* { dg-options "-std=iso9899:1990" } */ + /* In strict ISO C mode, we don't recognize the anonymous struct/union + extension or any Microsoft extensions. */ + + struct A { char a; }; + + /* MS extension. */ + struct B { + struct A; /* { dg-warning "does not declare anything" } */ + char b; + }; + char testB[sizeof(struct B) == sizeof(struct A) ? 1 : -1]; + + /* MS extension. */ + struct C { + struct D { char d; }; /* { dg-warning "does not declare anything" } */ + char c; + }; + char testC[sizeof(struct C) == sizeof(struct A) ? 1 : -1]; + char testD[sizeof(struct D) == sizeof(struct A) ? 1 : -1]; + + /* GNU extension. */ + struct E { + struct { char z; }; /* { dg-warning "does not declare anything" } */ + char e; + }; + char testE[sizeof(struct E) == sizeof(struct A) ? 1 : -1]; + + /* MS extension. */ + typedef struct A typedef_A; + struct F { + typedef_A; /* { dg-warning "does not declare anything" } */ + char f; + }; + char testF[sizeof(struct F) == sizeof(struct A) ? 1 : -1]; + + /* __extension__ enables GNU C mode for the duration of the declaration. */ + __extension__ struct G { + struct { char z; }; + char g; + }; + char testG[sizeof(struct G) == 2 * sizeof(struct A) ? 1 : -1]; + + struct H { + __extension__ struct { char z; }; + char h; + }; + char testH[sizeof(struct H) == 2 * sizeof(struct A) ? 1 : -1]; + + /* Make sure __extension__ gets turned back off. */ + struct I { + struct { char z; }; /* { dg-warning "does not declare anything" } */ + char i; + }; + char testI[sizeof(struct I) == sizeof(struct A) ? 1 : -1]; + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/anon-struct-2.c gcc-3.3/gcc/testsuite/gcc.dg/anon-struct-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/anon-struct-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/anon-struct-2.c 2002-06-16 19:09:30.000000000 +0000 *************** *** 0 **** --- 1,48 ---- + /* { dg-options "-std=gnu89" } */ + /* In GNU C mode, we recognize the anonymous struct/union extension, + but not Microsoft extensions. */ + + struct A { char a; }; + + /* MS extension. */ + struct B { + struct A; /* { dg-warning "does not declare anything" } */ + char b; + }; + char testB[sizeof(struct B) == sizeof(struct A) ? 1 : -1]; + + /* MS extension. */ + struct C { + struct D { char d; }; /* { dg-warning "does not declare anything" } */ + char c; + }; + char testC[sizeof(struct C) == sizeof(struct A) ? 1 : -1]; + char testD[sizeof(struct D) == sizeof(struct A) ? 1 : -1]; + + /* GNU extension. */ + struct E { + struct { char z; }; + char e; + }; + char testE[sizeof(struct E) == 2 * sizeof(struct A) ? 1 : -1]; + + /* MS extension. */ + typedef struct A typedef_A; + struct F { + typedef_A; /* { dg-warning "does not declare anything" } */ + char f; + }; + char testF[sizeof(struct F) == sizeof(struct A) ? 1 : -1]; + + /* Test that __extension__ does the right thing coming _from_ GNU C mode. */ + __extension__ struct G { + struct { char z; }; + char g; + }; + char testG[sizeof(struct G) == 2 * sizeof(struct A) ? 1 : -1]; + + struct H { + struct { char z; }; + char h; + }; + char testH[sizeof(struct H) == 2 * sizeof(struct A) ? 1 : -1]; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/anon-struct-3.c gcc-3.3/gcc/testsuite/gcc.dg/anon-struct-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/anon-struct-3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/anon-struct-3.c 2002-06-16 19:09:30.000000000 +0000 *************** *** 0 **** --- 1,32 ---- + /* { dg-options "-std=gnu89 -fms-extensions" } */ + /* Enabling Microsoft mode makes all of the tests equivalent. Checked vs + Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86 + */ + + struct A { char a; }; + + struct B { + struct A; + char b; + }; + char testB[sizeof(struct B) == 2 * sizeof(struct A) ? 1 : -1]; + + struct C { + struct D { char d; }; + char c; + }; + char testC[sizeof(struct C) == 2 * sizeof(struct A) ? 1 : -1]; + char testD[sizeof(struct D) == sizeof(struct A) ? 1 : -1]; + + struct E { + struct { char z; }; + char e; + }; + char testE[sizeof(struct E) == 2 * sizeof(struct A) ? 1 : -1]; + + typedef struct A typedef_A; + struct F { + typedef_A; + char f; + }; + char testF[sizeof(struct F) == 2 * sizeof(struct A) ? 1 : -1]; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/arm-asm.c gcc-3.3/gcc/testsuite/gcc.dg/arm-asm.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/arm-asm.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/arm-asm.c 2002-04-04 09:35:01.000000000 +0000 *************** *** 0 **** --- 1,13 ---- + /* ARM and Thumb asm statements should be able to access the constant + pool. */ + /* { dg-do compile { target arm*-*-* } } */ + extern unsigned x[]; + unsigned *trapTable() + { + unsigned *i; + + __asm__ volatile("ldr %0,%1" : "=r"(i) : "m"(x[0])); + + return i; + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/asm-6.c gcc-3.3/gcc/testsuite/gcc.dg/asm-6.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/asm-6.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/asm-6.c 2002-04-13 09:32:58.000000000 +0000 *************** *** 0 **** --- 1,7 ---- + /* Check error messages for named asm operands. */ + void foo () + { + int i; + __asm__ ("" : [data] "=r" (i) : [data] "i" (100)); /* { dg-error "duplicate asm operand" } */ + __asm__ ("%[foo]" :: [bar] "i" (1)); /* { dg-error "undefined named operand" } */ + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/attr-invalid.c gcc-3.3/gcc/testsuite/gcc.dg/attr-invalid.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/attr-invalid.c 2002-02-06 20:40:17.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/attr-invalid.c 2003-02-22 00:12:47.000000000 +0000 *************** struct ATSYM(struct) { *** 43,49 **** char dummy ATTR; /* { dg-warning "attribute ignored" "" } */ } ATTR; /* { dg-warning "does not apply to types" "" } */ ! int ATSYM(var) ATTR; /* { dg-warning "attribute ignored" "" } */ int ATSYM(fn_knrarg) (arg) int arg ATTR; /* { dg-warning "attribute ignored" "" } */ --- 43,49 ---- char dummy ATTR; /* { dg-warning "attribute ignored" "" } */ } ATTR; /* { dg-warning "does not apply to types" "" } */ ! int ATSYM(var) ATTR; int ATSYM(fn_knrarg) (arg) int arg ATTR; /* { dg-warning "attribute ignored" "" } */ *************** int ATSYM(fn_knrarg) (arg) *** 52,58 **** int ATSYM(fn_isoarg) (int arg ATTR) { return 0; } /* { dg-warning "attribute ignored" "" } */ int ATSYM(fn_vars) (void) { ! static int svar ATTR; /* { dg-warning "attribute ignored" "" } */ auto int lvar ATTR; /* { dg-warning "attribute ignored" "" } */ return 0; } --- 52,58 ---- int ATSYM(fn_isoarg) (int arg ATTR) { return 0; } /* { dg-warning "attribute ignored" "" } */ int ATSYM(fn_vars) (void) { ! static int svar ATTR; auto int lvar ATTR; /* { dg-warning "attribute ignored" "" } */ return 0; } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/bitfld-4.c gcc-3.3/gcc/testsuite/gcc.dg/bitfld-4.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/bitfld-4.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/bitfld-4.c 2002-08-10 13:11:43.000000000 +0000 *************** *** 0 **** --- 1,42 ---- + /* { dg-do run } */ + /* { dg-options "" } */ + + /* Check bitfields and non-bitfields are aligned & sized similarly. + + Copyright (C) 2002 Free Software Foundation Inc + Contributed by Nathan Sidwell + */ + + #include + #include + + static int fail; + + #define CHECK1(N, T) do { \ + typedef struct Field_##N { char c; T f; } Field_##N; \ + typedef struct BitField_##N { char c; T f : sizeof (T) * CHAR_BIT; } BitField_##N; \ + if (sizeof (Field_##N) != sizeof (BitField_##N)) { \ + fail = 1; printf ("sizeof %s failed\n", #T); \ + } \ + if (__alignof__ (Field_##N) != __alignof__ (BitField_##N)) { \ + fail = 1; printf ("__alignof__ %s failed\n", #T); \ + } \ + } while (0) + + #define CHECK(N, T) do { \ + CHECK1(N, T); \ + CHECK1 (s##N, signed T); \ + CHECK1 (u##N, unsigned T); \ + } while (0) + + int main () + { + + CHECK (c, char); + CHECK (s, short); + CHECK (i, int); + CHECK (l, long); + CHECK (ll, long long); + + return fail; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/bitfld-5.c gcc-3.3/gcc/testsuite/gcc.dg/bitfld-5.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/bitfld-5.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/bitfld-5.c 2002-11-20 10:09:01.000000000 +0000 *************** *** 0 **** --- 1,12 ---- + /* { dg-options "" } */ + #include + + struct s + { + int i1 : sizeof (int) * CHAR_BIT; + int i2 : sizeof (int) * CHAR_BIT; + int i3 : sizeof (int) * CHAR_BIT; + int i4 : sizeof (int) * CHAR_BIT; + }; + + int f[sizeof (struct s) != sizeof (int) * 4 ? -1 : 1]; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/bitfld-6.c gcc-3.3/gcc/testsuite/gcc.dg/bitfld-6.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/bitfld-6.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/bitfld-6.c 2002-11-27 15:17:31.000000000 +0000 *************** *** 0 **** --- 1,16 ---- + /* { dg-options "" } */ + #include + + struct s + { + int i1 : sizeof (int) * CHAR_BIT; + int i2 : sizeof (int) * CHAR_BIT; + int i3 : sizeof (int) * CHAR_BIT; + int i4 : sizeof (int) * CHAR_BIT; + int i5 : sizeof (int) * CHAR_BIT; + int i6 : sizeof (int) * CHAR_BIT; + int i7 : sizeof (int) * CHAR_BIT; + int i8 : sizeof (int) * CHAR_BIT; + }; + + int f[sizeof (struct s) != sizeof (int) * 8 ? -1 : 1]; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/builtin-inf-1.c gcc-3.3/gcc/testsuite/gcc.dg/builtin-inf-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/builtin-inf-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/builtin-inf-1.c 2002-09-08 02:15:27.000000000 +0000 *************** *** 0 **** --- 1,13 ---- + /* { dg-do compile } */ + + float fi = __builtin_inff(); + double di = __builtin_inf(); + long double li = __builtin_infl(); + + float fh = __builtin_huge_valf(); + double dh = __builtin_huge_val(); + long double lh = __builtin_huge_vall(); + + /* { dg-warning "does not support infinity" "INF unsupported" { target vax-*-* i370-*-* c4x-*-* } 3 } */ + /* { dg-warning "does not support infinity" "INF unsupported" { target vax-*-* i370-*-* c4x-*-* } 4 } */ + /* { dg-warning "does not support infinity" "INF unsupported" { target vax-*-* i370-*-* c4x-*-* } 5 } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/builtins-1.c gcc-3.3/gcc/testsuite/gcc.dg/builtins-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/builtins-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/builtins-1.c 2002-08-04 02:08:20.000000000 +0000 *************** *** 0 **** --- 1,28 ---- + /* Copyright (C) 2002 Free Software Foundation. + + Verify that all the __builtin_ math functions are recognized + by the compiler. + + Written by Roger Sayle, 11th July 2002. */ + + /* { dg-do compile } */ + /* { dg-final { scan-assembler-not "__builtin_" } } */ + + double test1(double x) { return __builtin_sqrt(x); } + double test2(double x) { return __builtin_cos(x); } + double test3(double x) { return __builtin_sin(x); } + double test4(double x) { return __builtin_exp(x); } + double test5(double x) { return __builtin_log(x); } + + float test1f(float x) { return __builtin_sqrtf(x); } + float test2f(float x) { return __builtin_cosf(x); } + float test3f(float x) { return __builtin_sinf(x); } + float test4f(float x) { return __builtin_expf(x); } + float test5f(float x) { return __builtin_logf(x); } + + long double test1l(long double x) { return __builtin_sqrtl(x); } + long double test2l(long double x) { return __builtin_cosl(x); } + long double test3l(long double x) { return __builtin_sinl(x); } + long double test4l(long double x) { return __builtin_expl(x); } + long double test5l(long double x) { return __builtin_logl(x); } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/c90-arraydecl-1.c gcc-3.3/gcc/testsuite/gcc.dg/c90-arraydecl-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/c90-arraydecl-1.c 2001-05-25 11:12:47.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/c90-arraydecl-1.c 2002-07-21 21:35:17.000000000 +0000 *************** *** 8,31 **** it correctly, so gives a warning about this. so we can't yet test here that we get just one error and no warnings. */ ! void foo0 (int a, int b[*]); /* { dg-error "ISO C89" "\[*\] not in C89" } */ /* { dg-warning "implement" "\[*\] not implemented" { target *-*-* } 11 } */ ! void foo1 (int, int [*]); /* { dg-error "ISO C89" "\[*\] not in C89" } */ /* { dg-warning "implement" "\[*\] not implemented" { target *-*-* } 13 } */ /* Use of static and type qualifiers (not allowed with abstract declarators) is a C99 feature. */ void bar0 (int a[const]); /* { dg-bogus "warning" "warning in place of error" } */ ! /* { dg-error "ISO C89" "\[quals\] not in C89" { target *-*-* } 19 } */ void bar1 (int a[const 2]); /* { dg-bogus "warning" "warning in place of error" } */ ! /* { dg-error "ISO C89" "\[quals expr\] not in C89" { target *-*-* } 21 } */ void bar2 (int a[static 2]); /* { dg-bogus "warning" "warning in place of error" } */ ! /* { dg-error "ISO C89" "\[static expr\] not in C89" { target *-*-* } 23 } */ void bar3 (int a[static const 2]); /* { dg-bogus "warning" "warning in place of error" } */ ! /* { dg-error "ISO C89" "\[static quals expr\] not in C89" { target *-*-* } 25 } */ void bar4 (int a[const static 2]); /* { dg-bogus "warning" "warning in place of error" } */ ! /* { dg-error "ISO C89" "\[quals static expr\] not in C89" { target *-*-* } 27 } */ /* Because [*] isn't properly implemented and so warns, we don't test here for [const *] yet. */ --- 8,31 ---- it correctly, so gives a warning about this. so we can't yet test here that we get just one error and no warnings. */ ! void foo0 (int a, int b[*]); /* { dg-error "ISO C90" "\[*\] not in C90" } */ /* { dg-warning "implement" "\[*\] not implemented" { target *-*-* } 11 } */ ! void foo1 (int, int [*]); /* { dg-error "ISO C90" "\[*\] not in C90" } */ /* { dg-warning "implement" "\[*\] not implemented" { target *-*-* } 13 } */ /* Use of static and type qualifiers (not allowed with abstract declarators) is a C99 feature. */ void bar0 (int a[const]); /* { dg-bogus "warning" "warning in place of error" } */ ! /* { dg-error "ISO C90" "\[quals\] not in C90" { target *-*-* } 19 } */ void bar1 (int a[const 2]); /* { dg-bogus "warning" "warning in place of error" } */ ! /* { dg-error "ISO C90" "\[quals expr\] not in C90" { target *-*-* } 21 } */ void bar2 (int a[static 2]); /* { dg-bogus "warning" "warning in place of error" } */ ! /* { dg-error "ISO C90" "\[static expr\] not in C90" { target *-*-* } 23 } */ void bar3 (int a[static const 2]); /* { dg-bogus "warning" "warning in place of error" } */ ! /* { dg-error "ISO C90" "\[static quals expr\] not in C90" { target *-*-* } 25 } */ void bar4 (int a[const static 2]); /* { dg-bogus "warning" "warning in place of error" } */ ! /* { dg-error "ISO C90" "\[quals static expr\] not in C90" { target *-*-* } 27 } */ /* Because [*] isn't properly implemented and so warns, we don't test here for [const *] yet. */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/c90-digraph-1.c gcc-3.3/gcc/testsuite/gcc.dg/c90-digraph-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/c90-digraph-1.c 2000-07-31 18:19:28.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/c90-digraph-1.c 2002-09-15 17:51:49.000000000 +0000 *************** *** 1,4 **** ! /* Test for recognition of digraphs: should be recognised in C94 and C99 mode, but not in C90 mode. Also check correct stringizing. */ /* Origin: Joseph Myers */ --- 1,4 ---- ! /* Test for recognition of digraphs: should be recognized in C94 and C99 mode, but not in C90 mode. Also check correct stringizing. */ /* Origin: Joseph Myers */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/c90-flex-array-1.c gcc-3.3/gcc/testsuite/gcc.dg/c90-flex-array-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/c90-flex-array-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/c90-flex-array-1.c 2002-08-17 14:48:28.000000000 +0000 *************** *** 0 **** --- 1,7 ---- + /* Test for flexible array members. Test for rejection in C90 mode. */ + /* Origin: Joseph Myers */ + /* { dg-do compile } */ + /* { dg-options "-std=iso9899:1990 -pedantic-errors" } */ + + struct flex { int a; int b[]; }; /* { dg-bogus "warning" "warning in place of error" } */ + /* { dg-error "ISO C90" "flexible array members not in C90" { target *-*-* } 6 } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/c90-hexfloat-1.c gcc-3.3/gcc/testsuite/gcc.dg/c90-hexfloat-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/c90-hexfloat-1.c 2001-05-22 11:02:17.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/c90-hexfloat-1.c 2002-03-25 20:52:28.000000000 +0000 *************** *** 4,11 **** /* { dg-options "-std=iso9899:1990 -pedantic-errors" } */ double d = 0x1.2p2; /* { dg-bogus "warning" "warning in place of error" } */ ! /* { dg-error "radix 16" "hex float error" { target *-*-* } 6 } */ double d1 = 0x1p2; /* { dg-bogus "warning" "warning in place of error" } */ ! /* { dg-error "radix 16" "hex float error" { target *-*-* } 8 } */ double d2 = 0x1...p2; /* { dg-bogus "warning" "warning in place of error" } */ /* { dg-error "too many decimal points" "bad hex float" { target *-*-* } 10 } */ --- 4,11 ---- /* { dg-options "-std=iso9899:1990 -pedantic-errors" } */ double d = 0x1.2p2; /* { dg-bogus "warning" "warning in place of error" } */ ! /* { dg-error "hexadecimal floating" "hex float error" { target *-*-* } 6 } */ double d1 = 0x1p2; /* { dg-bogus "warning" "warning in place of error" } */ ! /* { dg-error "hexadecimal floating" "hex float error" { target *-*-* } 8 } */ double d2 = 0x1...p2; /* { dg-bogus "warning" "warning in place of error" } */ /* { dg-error "too many decimal points" "bad hex float" { target *-*-* } 10 } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/c90-hexfloat-2.c gcc-3.3/gcc/testsuite/gcc.dg/c90-hexfloat-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/c90-hexfloat-2.c 2000-07-17 08:27:13.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/c90-hexfloat-2.c 2002-09-16 13:29:49.000000000 +0000 *************** main (void) *** 20,24 **** if (strcmp (s, "0x1p+( 0x1p+)")) abort (); else ! return 0; /* Correct C90 behaviour. */ } --- 20,24 ---- if (strcmp (s, "0x1p+( 0x1p+)")) abort (); else ! return 0; /* Correct C90 behavior. */ } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/c90-idem-qual-2.c gcc-3.3/gcc/testsuite/gcc.dg/c90-idem-qual-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/c90-idem-qual-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/c90-idem-qual-2.c 2002-11-10 16:24:26.000000000 +0000 *************** *** 0 **** --- 1,7 ---- + /* Test for idempotent type qualifiers: in C99 only. Test "const const". */ + /* Origin: Joseph Myers */ + /* { dg-do compile } */ + /* { dg-options "-std=iso9899:1990 -pedantic-errors" } */ + + const const int foo; /* { dg-bogus "warning" "warning in place of error" } */ + /* { dg-error "duplicate" "duplicate type qualifier error" { target *-*-* } 6 } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/c90-vla-1.c gcc-3.3/gcc/testsuite/gcc.dg/c90-vla-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/c90-vla-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/c90-vla-1.c 2002-04-24 22:26:10.000000000 +0000 *************** *** 0 **** --- 1,12 ---- + /* Origin: PR 3467 */ + /* { dg-do compile } */ + /* { dg-options "-std=iso9899:1990 -pedantic-errors" } */ + + void + tdef (int n) + { + typedef int A[n]; /* { dg-error "forbids variable-size array" } */ + A a; + A *p; + p = &a; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/c94-digraph-1.c gcc-3.3/gcc/testsuite/gcc.dg/c94-digraph-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/c94-digraph-1.c 2000-07-17 08:34:27.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/c94-digraph-1.c 2002-09-15 17:51:49.000000000 +0000 *************** *** 1,4 **** ! /* Test for recognition of digraphs: should be recognised in C94 and C99 mode, but not in C90 mode. Also check correct stringizing. */ /* Origin: Joseph Myers */ --- 1,4 ---- ! /* Test for recognition of digraphs: should be recognized in C94 and C99 mode, but not in C90 mode. Also check correct stringizing. */ /* Origin: Joseph Myers */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/c99-bool-1.c gcc-3.3/gcc/testsuite/gcc.dg/c99-bool-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/c99-bool-1.c 2000-11-13 14:14:44.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/c99-bool-1.c 2002-09-16 13:29:49.000000000 +0000 *************** main (void) *** 54,60 **** abort (); if (a != 1 || b != 0 || c != 1) abort (); ! /* Casts to _Bool have a specified behaviour. */ if ((int)(_Bool)2 != 1) abort (); if ((int)(_Bool)0.2 != 1) --- 54,60 ---- abort (); if (a != 1 || b != 0 || c != 1) abort (); ! /* Casts to _Bool have a specified behavior. */ if ((int)(_Bool)2 != 1) abort (); if ((int)(_Bool)0.2 != 1) *************** main (void) *** 228,234 **** abort (); if ((u |= 2) != 1) abort (); ! if ((u ^= 3) != 1) abort (); /* Test comma expressions. */ u = 1; --- 228,236 ---- abort (); if ((u |= 2) != 1) abort (); ! /* ??? A bit queer, since this gets optimized to ((u = (u != 3)) != 1) ! early in semantic analysis, which then yields the warning below. */ ! if ((u ^= 3) != 1) /* { dg-warning "always true due to limited range" } */ abort (); /* Test comma expressions. */ u = 1; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/c99-digraph-1.c gcc-3.3/gcc/testsuite/gcc.dg/c99-digraph-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/c99-digraph-1.c 2000-07-17 08:34:27.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/c99-digraph-1.c 2002-09-15 17:51:49.000000000 +0000 *************** *** 1,4 **** ! /* Test for recognition of digraphs: should be recognised in C94 and C99 mode, but not in C90 mode. Also check correct stringizing. */ /* Origin: Joseph Myers */ --- 1,4 ---- ! /* Test for recognition of digraphs: should be recognized in C94 and C99 mode, but not in C90 mode. Also check correct stringizing. */ /* Origin: Joseph Myers */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/c99-flex-array-3.c gcc-3.3/gcc/testsuite/gcc.dg/c99-flex-array-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/c99-flex-array-3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/c99-flex-array-3.c 2002-08-17 14:48:28.000000000 +0000 *************** *** 0 **** --- 1,47 ---- + /* Test for flexible array members. Test for where structures with + such members may not occur. */ + /* Origin: Joseph Myers */ + /* { dg-do compile } */ + /* { dg-options "-std=iso9899:1999 -pedantic-errors" } */ + + struct flex { int a; int b[]; }; + union rf1 { struct flex a; int b; }; + union rf2 { int a; struct flex b; }; + union rf3 { int a; union rf1 b; }; + union rf4 { union rf2 a; int b; }; + + /* The above structure and unions may not be members of structures or + elements of arrays (6.7.2.1#2). */ + + struct t0 { struct flex a; }; /* { dg-bogus "warning" "warning in place of error" } */ + /* { dg-error "invalid use of structure" "struct in struct" { target *-*-* } 16 } */ + struct t1 { union rf1 a; }; /* { dg-bogus "warning" "warning in place of error" } */ + /* { dg-error "invalid use of structure" "union in struct" { target *-*-* } 18 } */ + struct t2 { union rf2 a; }; /* { dg-bogus "warning" "warning in place of error" } */ + /* { dg-error "invalid use of structure" "union in struct" { target *-*-* } 20 } */ + struct t3 { union rf3 a; }; /* { dg-bogus "warning" "warning in place of error" } */ + /* { dg-error "invalid use of structure" "recursive union in struct" { target *-*-* } 22 } */ + struct t4 { union rf4 a; }; /* { dg-bogus "warning" "warning in place of error" } */ + /* { dg-error "invalid use of structure" "recursive union in struct" { target *-*-* } 24 } */ + + void f0 (struct flex[]); /* { dg-bogus "warning" "warning in place of error" } */ + /* { dg-error "invalid use of structure" "struct in array" { target *-*-* } 27 } */ + void f1 (union rf1[]); /* { dg-bogus "warning" "warning in place of error" } */ + /* { dg-error "invalid use of structure" "union in array" { target *-*-* } 29 } */ + void f2 (union rf2[]); /* { dg-bogus "warning" "warning in place of error" } */ + /* { dg-error "invalid use of structure" "union in array" { target *-*-* } 31 } */ + void f3 (union rf3[]); /* { dg-bogus "warning" "warning in place of error" } */ + /* { dg-error "invalid use of structure" "recursive union in array" { target *-*-* } 33 } */ + void f4 (union rf4[]); /* { dg-bogus "warning" "warning in place of error" } */ + /* { dg-error "invalid use of structure" "recursive union in array" { target *-*-* } 35 } */ + + struct flex a0[1]; /* { dg-bogus "warning" "warning in place of error" } */ + /* { dg-error "invalid use of structure" "struct in array" { target *-*-* } 38 } */ + union rf1 a1[1]; /* { dg-bogus "warning" "warning in place of error" } */ + /* { dg-error "invalid use of structure" "union in array" { target *-*-* } 40 } */ + union rf2 a2[1]; /* { dg-bogus "warning" "warning in place of error" } */ + /* { dg-error "invalid use of structure" "union in array" { target *-*-* } 42 } */ + union rf3 a3[1]; /* { dg-bogus "warning" "warning in place of error" } */ + /* { dg-error "invalid use of structure" "recursive union in array" { target *-*-* } 44 } */ + union rf4 a4[1]; /* { dg-bogus "warning" "warning in place of error" } */ + /* { dg-error "invalid use of structure" "recursive union in array" { target *-*-* } 46 } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/c99-flex-array-4.c gcc-3.3/gcc/testsuite/gcc.dg/c99-flex-array-4.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/c99-flex-array-4.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/c99-flex-array-4.c 2002-08-17 14:48:28.000000000 +0000 *************** *** 0 **** --- 1,25 ---- + /* Test for flexible array members. Test for agreement of offset and + structure size. This is expected to fail, because of a possible + defect in the standard. */ + /* Origin: http://gcc.gnu.org/ml/gcc/2002-05/msg02844.html + from Tony Finch , adapted to a testcase by Joseph Myers + . See also WG14 reflector messages 9571-3. */ + /* { dg-do compile } */ + /* { dg-options "-std=iso9899:1999 -pedantic-errors" } */ + + #include + + struct foo { + int a; + short b; + char pad[]; + }; + + struct bar { + int a; + short b; + char pad[1024]; + }; + + char x[(sizeof(struct foo) == offsetof(struct foo, pad)) ? 1 : -1]; /* { dg-bogus "negative" "sizeof != offsetof" { xfail *-*-* } } */ + char y[(offsetof(struct foo, pad) == offsetof(struct bar, pad)) ? 1 : -1]; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/c99-hexfloat-2.c gcc-3.3/gcc/testsuite/gcc.dg/c99-hexfloat-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/c99-hexfloat-2.c 2000-07-17 08:27:13.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/c99-hexfloat-2.c 2002-09-16 13:29:49.000000000 +0000 *************** main (void) *** 20,24 **** if (strcmp (s, "0x1p+f 0x1p+l")) abort (); else ! return 0; /* Correct C99 behaviour. */ } --- 20,24 ---- if (strcmp (s, "0x1p+f 0x1p+l")) abort (); else ! return 0; /* Correct C99 behavior. */ } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/c99-idem-qual-2.c gcc-3.3/gcc/testsuite/gcc.dg/c99-idem-qual-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/c99-idem-qual-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/c99-idem-qual-2.c 2002-11-10 16:24:26.000000000 +0000 *************** *** 0 **** --- 1,6 ---- + /* Test for idempotent type qualifiers: in C99 only. Test "const const". */ + /* Origin: Joseph Myers */ + /* { dg-do compile } */ + /* { dg-options "-std=iso9899:1999 -pedantic-errors" } */ + + const const int foo; /* { dg-bogus "duplicate" "duplicate type qualifier error" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/c99-intconst-1.c gcc-3.3/gcc/testsuite/gcc.dg/c99-intconst-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/c99-intconst-1.c 2002-01-23 18:12:37.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/c99-intconst-1.c 2002-06-02 19:37:32.000000000 +0000 *************** *** 4,14 **** /* { dg-do compile } */ /* { dg-options "-std=iso9899:1999 -pedantic-errors" } */ - /* C99 type selection didn't make it into 3.1, so this test - will fail on one or two entries; which ones depends on the - platform. - { dg-excess-errors "c99 not yet" } */ - #include /* Assertion that constant C is of type T. */ --- 4,9 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/c99-vla-1.c gcc-3.3/gcc/testsuite/gcc.dg/c99-vla-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/c99-vla-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/c99-vla-1.c 2002-04-24 22:26:10.000000000 +0000 *************** *** 0 **** --- 1,12 ---- + /* Origin: PR 3467 */ + /* { dg-do compile } */ + /* { dg-options "-std=iso9899:1999 -pedantic-errors" } */ + + void + tdef (int n) + { + typedef int A[n]; /* { dg-bogus "forbids variable-size array" } */ + A a; + A *p; + p = &a; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/compare2.c gcc-3.3/gcc/testsuite/gcc.dg/compare2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/compare2.c 2000-09-19 07:33:44.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/compare2.c 2002-09-08 03:20:35.000000000 +0000 *************** void f(int x, unsigned int y) *** 26,36 **** /* Statement expression. */ x > ({tf; 64;}); /* { dg-bogus "signed and unsigned" "case 9" } */ ! y > ({tf; 64;}); /* { dg-bogus "signed and unsigned" "case 10" { xfail *-*-* } } */ /* Statement expression with recursive ?: . */ x > ({tf; tf?64:(tf?128:256);}); /* { dg-bogus "signed and unsigned" "case 11" } */ ! y > ({tf; tf?64:(tf?128:256);}); /* { dg-bogus "signed and unsigned" "case 12" { xfail *-*-* } } */ /* Statement expression with signed ?:. */ x > ({tf; tf?64:-1;}); /* { dg-bogus "signed and unsigned" "case 13" } */ --- 26,36 ---- /* Statement expression. */ x > ({tf; 64;}); /* { dg-bogus "signed and unsigned" "case 9" } */ ! y > ({tf; 64;}); /* { dg-bogus "signed and unsigned" "case 10" } */ /* Statement expression with recursive ?: . */ x > ({tf; tf?64:(tf?128:256);}); /* { dg-bogus "signed and unsigned" "case 11" } */ ! y > ({tf; tf?64:(tf?128:256);}); /* { dg-bogus "signed and unsigned" "case 12" } */ /* Statement expression with signed ?:. */ x > ({tf; tf?64:-1;}); /* { dg-bogus "signed and unsigned" "case 13" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/compare6.c gcc-3.3/gcc/testsuite/gcc.dg/compare6.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/compare6.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/compare6.c 2002-04-26 02:15:52.000000000 +0000 *************** *** 0 **** --- 1,13 ---- + /* PR c/2098 */ + /* Test for a warning on comparison on out-of-range data. */ + /* { dg-do compile { xfail c4x-*-* } } */ + /* { dg-options "-Wall" } */ + + signed char sc; + unsigned char uc; + + void foo() + { + if (sc == 10000) return; /* { dg-warning "always false" "signed" } */ + if (uc == 10000) return; /* { dg-warning "always false" "unsigned" } */ + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/compare7.c gcc-3.3/gcc/testsuite/gcc.dg/compare7.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/compare7.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/compare7.c 2003-05-03 00:18:53.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + /* -Wall is not supposed to trigger -Wsign-compare for C. PR 10604. + See also g++.dg/warn/compare1.C. */ + + /* { dg-do compile } */ + /* { dg-options "-Wall" } */ + + int f(unsigned a, int b) + { + return a < b; /* { dg-bogus "signed and unsigned" } */ + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/concat2.c gcc-3.3/gcc/testsuite/gcc.dg/concat2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/concat2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/concat2.c 2002-04-26 07:40:12.000000000 +0000 *************** *** 0 **** --- 1,16 ---- + /* PR c/3581 */ + /* { dg-do compile } */ + /* { dg-options "" } */ + + /* Intended as a compile-time test for string literal concatenation. + The fact that the string isn't actually used in the resulting program + should allow this to compile for any target. */ + + #define e0 "a" + #define e1 e0 e0 e0 e0 e0 e0 e0 e0 e0 e0 + #define e2 e1 e1 e1 e1 e1 e1 e1 e1 e1 e1 + #define e3 e2 e2 e2 e2 e2 e2 e2 e2 e2 e2 + #define e4 e3 e3 e3 e3 e3 e3 e3 e3 e3 e3 + #define e5 e4 e4 e4 e4 e4 e4 e4 e4 e4 e4 + + void foo() { (void)(e5); } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/20000625-2.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/20000625-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/20000625-2.c 2001-09-25 06:18:03.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/20000625-2.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,30 **** - /* More paste corner cases from glibc. */ - /* { dg-do run } */ - - #include - #include - - #define symbol_version(name, version) name##@##version - #define str(x) xstr(x) - #define xstr(x) #x - - /* This testcase is bogus, as it testing undefined behaviour. We can - get the behaviour GLIBC desires by removing the space before - GCLIB_2.0 in this line. */ - const char a[] = str(symbol_version(getrlimit,GLIBC_2.0)); - /* { dg-warning "valid preprocessing token" "" { target *-*-* } 14 } */ - const char b[] = str(getrlimit@GLIBC_2.0); - const char c[] = "getrlimit@GLIBC_2.0"; - - int - main(void) - { - if(strcmp(a, b)) - abort(); - if(strcmp(b, c)) - abort(); - if(strcmp(c, a)) - abort(); - - return 0; - } --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/20020927-1.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/20020927-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/20020927-1.c 2002-09-28 00:32:16.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/20020927-1.c 2002-09-28 00:30:37.000000000 +0000 *************** S(12345678901234567890123456789012345678 *** 60,69 **** 1234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890 ! 1234567890123456789012345678901234567890123456789012345678901234567890 ! 1234567890123456789012345678901234567890123456789012345678901234567890 ! 1234567890123456789012345678901234567890123456789012345678901234567890 ! 12345678901234567890123456789012345678901234567890123) /* When stringify_arg() was called with an empty macro argument, it would advance the buffer pointer by one but fail to check for running past the --- 60,66 ---- 1234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890 1234567890123456789012345678901234567890123456789012345678901234567890 ! 12345678901234567890123456789012345678901234567890123456789012345) /* When stringify_arg() was called with an empty macro argument, it would advance the buffer pointer by one but fail to check for running past the diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/arith-1.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/arith-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/arith-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/arith-1.c 2002-05-26 18:42:20.000000000 +0000 *************** *** 0 **** --- 1,257 ---- + /* Preprocessor arithmetic semantic tests. */ + + /* Copyright (C) 2002 Free Software Foundation, Inc. */ + /* Source: Neil Booth, 25 May 2002. */ + + /* The file tests all aspects of preprocessor arithmetic that are + independent of target precision. */ + + /* { dg-do preprocess } */ + /* { dg-options -fno-show-column } */ + + /* Test || operator and its short circuiting. */ + #if 0 || 0 + # error /* { dg-bogus "error" } */ + #endif + + #if 5 || 0 + #else + # error /* { dg-bogus "error" } */ + #endif + + #if 0 || 1 + #else + # error /* { dg-bogus "error" } */ + #endif + + #if 1 || 4 + #else + # error /* { dg-bogus "error" } */ + #endif + + #if 1 || (8 / 0) /* { dg-bogus "division by zero" } */ + #else + # error /* { dg-bogus "error" } */ + #endif + + #if 1 || (1 << 256) /* { dg-bogus "overflow" } */ + #endif + + /* Test && operator and its short circuiting. */ + #if (0 && 0) || (0 && 1) || (1 && 0) + # error /* { dg-bogus "error" } */ + #endif + + #if 1 && 2 + #else + # error /* { dg-bogus "error" } */ + #endif + + #if 0 && (8 / 0)/* { dg-bogus "division by zero" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if 0 && (1 << 256) /* { dg-bogus "overflow" } */ + #endif + + /* Test == and != operators, and their signedness. */ + #if 1 == 0 || 0 == 1 || 20 != 0x014 || 142 != 0216 + # error /* { dg-bogus "error" } */ + #endif + + #if (1 == 1) - 2 > 0 || (1U != 1U) - 2 > 0 + # error /* { dg-bogus "error" } */ + #endif + + /* Test ? : operator, its short circuiting, and its signedness. */ + #if (1 ? 3: 5) != 3 || (0 ? 3: 5) != 5 + # error /* { dg-bogus "error" } */ + #endif + + #if 1 ? 0: 1 / 0 /* { dg-bogus "division by zero" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if 0 ? 1 / 0: 0 /* { dg-bogus "division by zero" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if 0 ? (1 << 256): 0 /* { dg-bogus "overflow" } */ + #endif + + #if 1 ? 0: (1 << 256) /* { dg-bogus "overflow" } */ + #endif + + /* Test unary + and its signedness. */ + + #if 23 != +23 || 23 != + +23 + # error /* { dg-bogus "error" } */ + #endif + + #if (+1 - 2) > 0 || (+1U - 2) < 0 + # error /* { dg-bogus "error" } */ + #endif + + /* Test unary - and its signedness. */ + + #if -1 + 1 != 0 + # error /* { dg-bogus "error" } */ + #endif + + #if -1 >= 0 || -1U <= 0 + # error /* { dg-bogus "error" } */ + #endif + + /* Test unary ! and its signedness. */ + #if !5 != 0 || !1 != 0 || !0 != 1 + # error /* { dg-bogus "error" } */ + #endif + + #if !5 - 1 > 0 || !5U - 1 > 0 + # error /* { dg-bogus "error" } */ + #endif + + /* Test unary ~ and its signedness. */ + #if ~0 != -1 || ~~5 != 5 || ~-2 != 1 + # error /* { dg-bogus "error" } */ + #endif + + #if ~5 > 0 || ~5U < 0 + # error /* { dg-bogus "error" } */ + #endif + + /* Test comparison operators and their signedness. */ + #if 1 >= 1 && 2 >= 1 && -1 >= -1 && -1 >= -2 && 1 >= -1 && 1 >= -2 \ + && !(-2 >= -1) && !(2 >= 3) && -1U >= 2 && !(-1 >= 1) + #else + # error /* { dg-bogus "error" } */ + #endif + + #if ((1 > 0) - 2) > 0 || ((1U > 0) - 2) > 0 + # error /* { dg-bogus "error" } */ + #endif + + #if !(1 > 1) && 2 > 1 && !(-1 > -1) && -1 > -2 && 1 > -1 && 1 > -2 \ + && !(-2 > -1) && !(2 > 3) && -1U > 2 && !(-1 > 1) + #else + # error /* { dg-bogus "error" } */ + #endif + + #if ((1 >= 0) - 2) > 0 || ((1U >= 0) - 2) > 0 + # error /* { dg-bogus "error" } */ + #endif + + #if 1 <= 1 && !(2 <= 1) && -1 <= -1 && !(-1 <= -2) && !(1 <= -1) && !(1 <= -2) \ + && -2 <= -1 && 2 <= 3 && !(-1U <= 2) && -1 <= 1 + #else + # error /* { dg-bogus "error" } */ + #endif + + #if ((1 <= 0) - 2) > 0 || ((1U <= 0) - 2) > 0 + # error /* { dg-bogus "error" } */ + #endif + + #if !(1 < 1) && !(2 < 1) && !(-1 < -1) && !(-1 < -2) && !(1 < -1) && !(1 < -2) \ + && -2 < -1 && 2 < 3 && !(-1U < 2) && -1 < 1 + #else + # error /* { dg-bogus "error" } */ + #endif + + #if ((1 < 0) - 2) > 0 || ((1U < 0) - 2) > 0 + # error /* { dg-bogus "error" } */ + #endif + + /* Test bitwise operators and their signedness. */ + #if (3 & 7) != 3 || (-1 & 34) != 34 + # error /* { dg-bogus "error" } */ + #endif + + #if (3 & 7) - 20 > 0 || (3 & 7U) - 20 < 0 + # error /* { dg-bogus "error" } */ + #endif + + #if (3 | 5) != 7 || (-1 | 34) != -1 + # error /* { dg-bogus "error" } */ + #endif + + #if (3 | 7) - 20 > 0 || (3 | 7U) - 20 < 0 + # error /* { dg-bogus "error" } */ + #endif + + #if (7 ^ 5) != 2 || (-1 ^ 34) != ~34 + # error /* { dg-bogus "error" } */ + #endif + + #if (3 ^ 7) - 20 > 0 || (3 ^ 7U) - 20 < 0 + # error /* { dg-bogus "error" } */ + #endif + + /* Test shifts and their signedness. */ + #if 3 << 2 != 12 || 3 << -2 != 0 || -1 << 1 != -2 + # error /* { dg-bogus "error" } */ + #endif + + #if 5 >> 1 != 2 || 5 >> -2 != 20 || -5 >> 1 != -3 + # error /* { dg-bogus "error" } */ + #endif + + #if (5 >> 2) - 2 >= 0 || (5U >> 2) - 2 <= 0 + # error /* { dg-bogus "error" } */ + #endif + + #if (5 << 1) - 20 >= 0 || (5U << 1) - 20 <= 0 + # error /* { dg-bogus "error" } */ + #endif + + #if 0 + /* Test min / max and their signedness. */ + #if (3 >? 2) != 3 || (-3 >? -2) != -2 + # error /* { dg-bogus "error" } */ + #endif + + #if (3 ? 2) - 4 >= 0 || (3 >? 2U) - 4 <= 0 + # error /* { dg-bogus "error" } */ + #endif + + #if (3 = 0 || (3 = 0 || 3 * 2U - 7 < 0 + # error /* { dg-bogus "error" } */ + #endif + + #if 5 / 2 != 2 || -325 / 50 != -6 || 53 / -4 != -13 || -55 / -12 != 4 + # error /* { dg-bogus "error" } */ + #endif + + #if 3 / 2 - 7 >= 0 || 3 / 2U - 7 < 0 + # error /* { dg-bogus "error" } */ + #endif + + #if 5 % 2 != 1 || -325 % 50 != -25 || 53 % -4 != 1 || -55 % -12 != -7 + # error /* { dg-bogus "error" } */ + #endif + + #if 3 % 2 - 7 >= 0 || 3U % 2 - 7 < 0 + # error /* { dg-bogus "error" } */ + #endif + + /* Test , and its signedness. */ + #if (1, 2) != 2 || (2, 1) != 1 + # error /* { dg-bogus "error" } */ + #endif + + #if (1, 2) - 3 >= 0 || (1, 2U) - 3 <= 0 || (1U, 2) - 3 >= 0 + # error /* { dg-bogus "error" } */ + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/arith-3.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/arith-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/arith-3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/arith-3.c 2002-05-27 20:23:13.000000000 +0000 *************** *** 0 **** --- 1,447 ---- + /* Preprocessor arithmetic semantic tests. */ + + /* Copyright (C) 2002 Free Software Foundation, Inc. */ + /* Source: Neil Booth, 26 May 2002. */ + + /* The file tests overflow warnings for, and values of, preprocessor + arithmetic that are dependent on target precision. + + Please keep changes to arith-2.c and arith-3.c in sync. */ + + /* { dg-do preprocess } */ + /* { dg-options "-std=c99 -fno-show-column" } */ + + #include + + #define APPEND2(NUM, SUFF) NUM ## SUFF + #define APPEND(NUM, SUFF) APPEND2(NUM, SUFF) + + #define TARGET_UTYPE_MAX ULLONG_MAX + + /* The tests in this file depend only on the macros defined in this + #if block. Note that it is no good calculating these values, as + the intent is to test both the preprocessor's number parser and + arithmetic. */ + #if TARGET_UTYPE_MAX == 65535ULL + + # define TARG_PRECISION 16 + # define MAX_INT 32767 + # define MAX_UINT 65535 + + # define TARG_MAX_HEX 0x7fff + # define TARG_MAX_OCT 077777 + # define TARG_MAX_PLUS_1 32768L + # define TARG_MAX_PLUS_1_U 32768UL + # define TARG_MAX_PLUS_1_HEX 0x8000 + # define TARG_MAX_PLUS_1_OCT 0100000 + # define UTARG_MAX_HEX 0xffff + # define UTARG_MAX_OCT 0177777 + # define UTARG_MAX_PLUS_1 65536L + # define UTARG_MAX_PLUS_1_HEX 0x10000 + # define UTARG_MAX_PLUS_1_OCT 0200000 + + # define TARG_LOWPART_PLUS_1 256L + # define TARG_LOWPART_PLUS_1_U 256UL + + /* Division and modulo; anything that uses the high half in both + dividend and divisor. */ + # define LONG_UDIVISION 61234UL / 260L + # define LONG_UDIVISION_ANSWER 235 + # define LONG_SDIVISION -15000L / 299L + # define LONG_SDIVISION_ANSWER -50 + # define LONG_UMODULO 61234UL % 260L + # define LONG_UMODULO_ANSWER 134 + # define LONG_SMODULO -15000L % 299L + # define LONG_SMODULO_ANSWER -50 + + #elif TARGET_UTYPE_MAX == 4294967295ULL + + # define TARG_PRECISION 32 + # define MAX_INT 2147483647 + # define MAX_UINT 4294967295 + + # define TARG_MAX_HEX 0x7fffffff + # define TARG_MAX_OCT 017777777777 + # define TARG_MAX_PLUS_1 2147483648L + # define TARG_MAX_PLUS_1_U 2147483648UL + # define TARG_MAX_PLUS_1_HEX 0x80000000 + # define TARG_MAX_PLUS_1_OCT 020000000000 + # define UTARG_MAX_HEX 0xffffffff + # define UTARG_MAX_OCT 037777777777 + # define UTARG_MAX_PLUS_1 4294967296L + # define UTARG_MAX_PLUS_1_HEX 0x100000000 + # define UTARG_MAX_PLUS_1_OCT 040000000000 + + # define TARG_LOWPART_PLUS_1 65536 + # define TARG_LOWPART_PLUS_1_U 65536UL + + /* Division and modulo; anything that uses the high half in both + dividend and divisor. */ + # define LONG_UDIVISION 268335456UL / 70000L + # define LONG_UDIVISION_ANSWER 3833 + # define LONG_SDIVISION -368335456L / 123456L + # define LONG_SDIVISION_ANSWER -2983 + # define LONG_UMODULO 268335456UL % 70000L + # define LONG_UMODULO_ANSWER 25456 + # define LONG_SMODULO -368335456L % 123456L + # define LONG_SMODULO_ANSWER -66208 + + #elif TARGET_UTYPE_MAX == 18446744073709551615ULL + + # define TARG_PRECISION 64 + # define MAX_INT 9223372036854775807 + # define MAX_UINT 18446744073709551615 + + # define TARG_MAX_HEX 0x7fffffffffffffff + # define TARG_MAX_OCT 0777777777777777777777 + # define TARG_MAX_PLUS_1 9223372036854775808L + # define TARG_MAX_PLUS_1_U 9223372036854775808UL + # define TARG_MAX_PLUS_1_HEX 0x8000000000000000 + # define TARG_MAX_PLUS_1_OCT 01000000000000000000000 + # define UTARG_MAX_HEX 0xffffffffffffffff + # define UTARG_MAX_OCT 01777777777777777777777 + # define UTARG_MAX_PLUS_1 18446744073709551616L + # define UTARG_MAX_PLUS_1_HEX 0x10000000000000000 + # define UTARG_MAX_PLUS_1_OCT 02000000000000000000000 + + # define TARG_LOWPART_PLUS_1 4294967296 + # define TARG_LOWPART_PLUS_1_U 4294967296U + + /* Division and modulo; anything that uses the high half in both + dividend and divisor. */ + # define LONG_UDIVISION 235184372088832UL / 17279869184L + # define LONG_UDIVISION_ANSWER 13610 + # define LONG_SDIVISION -234582345927345L / 12345678901L + # define LONG_SDIVISION_ANSWER -19001 + # define LONG_UMODULO 235184372088832UL % 17279869184L + # define LONG_UMODULO_ANSWER 5352494592L + # define LONG_SMODULO -234582345927345L % 12345678901L + # define LONG_SMODULO_ANSWER -2101129444L + + #else + + # error Please extend the macros here so that this file tests your target + + #endif + + /* Create more macros based on the above. */ + #define TARG_PART_BITS (TARG_PRECISION / 2) + #define TARG_MIN (-TARG_MAX - 1) + #define TARG_MAX APPEND (MAX_INT, L) + #define TARG_MAX_U APPEND (MAX_INT, UL) + #define UTARG_MAX APPEND (MAX_UINT, L) + #define UTARG_MAX_U APPEND (MAX_UINT, UL) + + /* And now the tests. */ + + #if TARG_MAX /* { dg-bogus "so large" } */ + #endif + #if TARG_MAX_PLUS_1_HEX /* { dg-bogus "so large" } */ + #endif + #if TARG_MAX_PLUS_1_OCT /* { dg-bogus "so large" } */ + #endif + + #if UTARG_MAX /* { dg-warning "so large" } */ + #endif + #if UTARG_MAX_PLUS_1 /* { dg-error "too large" } */ + #endif + #if UTARG_MAX_PLUS_1_HEX /* { dg-error "too large" } */ + #endif + #if UTARG_MAX_HEX /* { dg-bogus "too large" } */ + #endif + #if UTARG_MAX_PLUS_1_OCT /* { dg-error "too large" } */ + #endif + #if UTARG_MAX_OCT /* { dg-bogus "too large" } */ + #endif + + #if TARG_MAX < 0 || TARG_MAX_PLUS_1 < 0 /* { dg-warning "so large" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if UTARG_MAX_HEX < 0 || TARG_MAX_HEX < 0 + # error /* { dg-bogus "error" } */ + #endif + + #if UTARG_MAX_OCT < 0 || TARG_MAX_OCT < 0 + # error /* { dg-bogus "error" } */ + #endif + + #if -1 != UTARG_MAX_U + # error /* { dg-bogus "error" } */ + #endif + + + + + /* Test each operator correctly warns of overflow conditions, and + gives the right answer. */ + + /* Binary +. */ + #if TARG_MAX + 1 != TARG_MIN /* { dg-warning "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if -TARG_MAX + -2 != TARG_MAX /* { dg-warning "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if -TARG_MAX + -1 != TARG_MIN /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if TARG_MAX_U + 1 != TARG_MIN /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if -TARG_MAX_U + -2 != TARG_MAX /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + + + + /* Binary -. */ + #if TARG_MAX - -1 != TARG_MIN /* { dg-warning "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if -TARG_MAX - 2 != TARG_MAX /* { dg-warning "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if -TARG_MAX - 1 != TARG_MIN /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if TARG_MAX_U - -1 != TARG_MIN /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if -TARG_MAX_U - 2 != TARG_MAX /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + + + + + /* Binary *. */ + #if TARG_LOWPART_PLUS_1 * (TARG_LOWPART_PLUS_1 >> 1) != TARG_MIN /* { dg-warning "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if (TARG_LOWPART_PLUS_1 >> 1) * TARG_LOWPART_PLUS_1 != TARG_MIN /* { dg-warning "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if (TARG_LOWPART_PLUS_1 << 1) * (TARG_LOWPART_PLUS_1 + 1) != (TARG_LOWPART_PLUS_1 << 1) /* { dg-warning "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if TARG_MAX * 1 != TARG_MAX /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if (TARG_MAX >> 1) * 2 != TARG_MAX - 1 /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if (TARG_LOWPART_PLUS_1_U + 61) * (TARG_LOWPART_PLUS_1 << 1) != 61 * (TARG_LOWPART_PLUS_1 << 1) /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if (TARG_LOWPART_PLUS_1 >> 1) * TARG_LOWPART_PLUS_1_U != TARG_MIN /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if 1 * TARG_MIN != TARG_MIN /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + + + + /* Binary /. */ + #if TARG_MIN / -1 != TARG_MIN /* { dg-warning "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if TARG_MIN / 1 != TARG_MIN /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if -TARG_MAX_PLUS_1_U / -1 != 0 /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if -5 / (2 - 2) /* { dg-error "division by zero" } */ + #endif + + #if LONG_UDIVISION != LONG_UDIVISION_ANSWER + # error /* { dg-bogus "error" } */ + #endif + + #if LONG_SDIVISION != LONG_SDIVISION_ANSWER + # error /* { dg-bogus "error" } */ + #endif + + /* Binary %. Cannot overflow. */ + #if -5 % (2 - 2) /* { dg-error "division by zero" } */ + #endif + + #if TARG_MIN % 1 /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if LONG_UMODULO != LONG_UMODULO_ANSWER + # error /* { dg-bogus "error" } */ + #endif + + #if LONG_SMODULO != LONG_SMODULO_ANSWER + # error /* { dg-bogus "error" } */ + #endif + + #if 234 % -1U != 234 + # error /* { dg-bogus "error" } */ + #endif + + #if TARG_MIN % -1U != TARG_MIN + # error /* { dg-bogus "error" } */ + #endif + + /* Binary << and Binary >>, the latter cannot overflow. */ + #if -1 >> 3 != -1 /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if TARG_MAX >> 3 != TARG_MAX / 8 /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if 0 << 256 != 0 /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if 1 << 256 != 0 /* { dg-warning "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if 1U << 256 != 0 /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if TARG_MAX << 1 != -2 /* { dg-warning "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if TARG_MAX_U << 1 != -2 /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if TARG_LOWPART_PLUS_1 << TARG_PART_BITS != 0 /* { dg-warning "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if TARG_LOWPART_PLUS_1 << (TARG_PART_BITS - 1) != TARG_MIN /* { dg-warning "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if TARG_LOWPART_PLUS_1_U << (TARG_PART_BITS - 1) != TARG_MIN /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if TARG_LOWPART_PLUS_1 << (TARG_PART_BITS - 2) != (TARG_MAX_PLUS_1_U >> 1) /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + /* Test how the sign bit is handled. */ + #if (TARG_MIN << 1) != 0 /* { dg-warning "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if (TARG_MAX_PLUS_1_U << 1) != 0 /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if (TARG_MIN >> 1) != 3U << (TARG_PRECISION - 2) /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if (TARG_MAX_PLUS_1_U >> 1) != 1 << (TARG_PRECISION - 2) /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + + + /* Unary -. It can overflow in just one case. */ + #if -TARG_MIN != TARG_MIN /* { dg-warning "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if - -TARG_MAX != TARG_MAX /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + + + + /* Unary +, ~, and !. They cannot overflow. */ + #if +TARG_MAX != TARG_MAX /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if !TARG_MAX + !TARG_MIN != 0 /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if ~TARG_MAX , ~TARG_MIN != TARG_MAX /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + + + + /* Bitwise &, ^, |. They cannot overflow. */ + #if (TARG_MAX & -1), (TARG_MIN & -1) != TARG_MIN /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if TARG_MAX | -1, (TARG_MIN | -1) != -1 /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if TARG_MAX ^ -1, (TARG_MIN ^ -1) != TARG_MAX /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + + + + /* Comparison operators. They cannot overflow. */ + #if -1 <= TARG_MAX, (TARG_MIN <= 1) != 1 /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if -1 >= TARG_MAX, (TARG_MIN >= 1) != 0 /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if -1 < TARG_MAX, (TARG_MIN < 1) != 1 /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if -1 > TARG_MAX, (TARG_MIN > 1) != 0 /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + + + + /* Comma and ? : operators. They cannot overflow. */ + #if -1, TARG_MAX, TARG_MIN != TARG_MIN /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif + + #if -1 ? TARG_MAX: TARG_MAX, 0 ? 1: TARG_MIN != TARG_MIN /* { dg-bogus "overflow" } */ + # error /* { dg-bogus "error" } */ + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/assembler.S gcc-3.3/gcc/testsuite/gcc.dg/cpp/assembler.S *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/assembler.S 2000-09-23 11:47:05.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/assembler.S 2002-10-11 12:40:36.000000000 +0000 *************** *** 3,8 **** --- 3,9 ---- in the output, and should not be warned about. */ /* { dg-do preprocess } */ + /* { dg-options "" } */ #define foo() mov r0, #5 /* { dg-bogus "not followed" "spurious warning" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/assert_trad1.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/assert_trad1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/assert_trad1.c 2001-11-18 17:16:24.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/assert_trad1.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,46 **** - /* Basic tests of the #assert preprocessor extension. */ - /* { dg-do compile } */ - /* { dg-options "-traditional-cpp" } */ - - /* #define def unused expansion */ /* tradcpp can't handle macros in answers. */ - #define fail int failit - - #assert abc (def) - #assert abc (ghi) - #assert abc (jkl) - #assert space ( s p a c e ) - - /* Basic: */ - #if !#abc (def) || !#abc (ghi) || !#abc (jkl) - fail - #endif - - /* any answer for #abc */ - #if !#abc - fail - #endif - - /* internal whitespace is collapsed, - external whitespace is deleted */ - #if !#space (s p a c e) || !#space ( s p a c e ) || #space (space) - fail - #endif - - /* removing assertions */ - #unassert abc (jkl) - #if !#abc || !#abc (def) || !#abc (ghi) || #abc (jkl) - fail - #endif - - #unassert abc - #if #abc || #abc (def) || #abc (ghi) || #abc (jkl) - fail - #endif - - int gobble - - /* make sure it can succeed too. - also check space before open paren isn't significant */ - #if #space(s p a c e) - ; - #endif --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/assert_trad2.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/assert_trad2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/assert_trad2.c 2003-01-31 11:11:32.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/assert_trad2.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,24 **** - /* Malformed assertion tests. */ - /* { dg-do preprocess } */ - /* { dg-options "-traditional" } */ - - #assert /* { dg-error "without predicate" "assert w/o predicate" } */ - #assert % /* { dg-error "an identifier" "assert punctuation" } */ - #assert 12 /* { dg-error "an identifier" "assert number" } */ - #assert abc /* { dg-error "missing" "assert w/o answer" } */ - - #if # /* { dg-error "without predicate" "test w/o predicate" } */ - #endif - - #if #% /* { dg-error "an identifier" "test punctuation" } */ - #endif /* { dg-error "(parse|syntax) error" "" { target *-*-* } 13 } */ - - #if #12 /* { dg-error "an identifier" "test number" } */ - #endif /* { dg-error "(parse|syntax) error" "" { target *-*-* } 16 } */ - - #if #abc - #error /* { dg-bogus "error" "test w/o answer" } */ - #endif - - #if #abc[def] /* { dg-error "(parse|syntax) error" "bad syntax" } */ - #endif --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/assert_trad3.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/assert_trad3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/assert_trad3.c 2000-12-04 22:06:41.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/assert_trad3.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,10 **** - /* Copyright (C) 2000 Free Software Foundation, Inc. */ - - /* { dg-do preprocess } */ - /* { dg-options "-A abc=def -A abc\(ghi\) \"-Aabc = jkl\" -A abc=mno -A -abc=mno -traditional" } */ - - /* Test -A command line syntax. Source Neil Booth. 31 Oct 2000. */ - - #if !#abc (def) || !#abc (ghi) || !#abc (jkl) || #abc(mno) - #error Command line -A assertions - #endif --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/avoidpaste1.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/avoidpaste1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/avoidpaste1.c 2001-02-06 19:09:39.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/avoidpaste1.c 2002-09-16 13:29:50.000000000 +0000 *************** *** 18,24 **** : : : .. . 0 0 . It relies on the fact that even when preprocessing C we bother to separate ! the colons of C++'s :: operator. If we confine this behaviour to C++ in future, this test needs to change. */ :: :g: :f(): :f(^): tricky --- 18,24 ---- : : : .. . 0 0 . It relies on the fact that even when preprocessing C we bother to separate ! the colons of C++'s :: operator. If we confine this behavior to C++ in future, this test needs to change. */ :: :g: :f(): :f(^): tricky diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/c89-pedantic.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/c89-pedantic.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/c89-pedantic.c 2000-12-02 10:16:01.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/c89-pedantic.c 2002-05-29 17:15:41.000000000 +0000 *************** *** 6,10 **** /* This file is for testing the preprocessor in -std=c89 -pedantic mode. Neil Booth, 2 Dec 2000. */ ! #if 1LL /* { dg-warning "too many" } */ #endif --- 6,10 ---- /* This file is for testing the preprocessor in -std=c89 -pedantic mode. Neil Booth, 2 Dec 2000. */ ! #if 1LL /* { dg-warning "long long" } */ #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/c94-pedantic.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/c94-pedantic.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/c94-pedantic.c 2000-12-02 10:16:01.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/c94-pedantic.c 2002-05-29 17:15:42.000000000 +0000 *************** *** 6,10 **** /* This file is for testing the preprocessor in -std=iso9899:199409 -pedantic mode. Neil Booth, 2 Dec 2000. */ ! #if 1LL /* { dg-warning "too many" } */ #endif --- 6,10 ---- /* This file is for testing the preprocessor in -std=iso9899:199409 -pedantic mode. Neil Booth, 2 Dec 2000. */ ! #if 1LL /* { dg-warning "long long" } */ #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/c++98.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/c++98.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/c++98.c 2000-12-02 10:16:01.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/c++98.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,10 **** - /* Copyright (C) 2000 Free Software Foundation, Inc. */ - - /* { dg-do preprocess } */ - /* { dg-options "-std=c++98" } */ - - /* This file is for testing the preprocessor in -std=c++98 mode. - Neil Booth, 2 Dec 2000. */ - - #if 1LL - #endif --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/c++98-pedantic.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/c++98-pedantic.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/c++98-pedantic.c 2000-12-02 10:16:01.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/c++98-pedantic.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,10 **** - /* Copyright (C) 2000 Free Software Foundation, Inc. */ - - /* { dg-do preprocess } */ - /* { dg-options "-std=c++98 -pedantic" } */ - - /* This file is for testing the preprocessor in -std=c++98 -pedantic mode. - Neil Booth, 2 Dec 2000. */ - - #if 1LL /* { dg-warning "too many" } */ - #endif --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/charconst-3.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/charconst-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/charconst-3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/charconst-3.c 2002-05-06 22:53:10.000000000 +0000 *************** *** 0 **** --- 1,48 ---- + /* Copyright (C) 2001 Free Software Foundation, Inc. */ + + /* { dg-do run } */ + /* { dg-options -Wno-multichar } */ + + /* This tests values and signedness of multichar charconsts. + + Neil Booth, 5 May 2002. */ + + #include + + int main () + { + /* These tests require at least 2-byte ints. 8-) */ + #if INT_MAX > 127 + int scale = (int) (unsigned char) -1 + 1; + + if ('ab' != (int) ((unsigned char) 'a' * scale + (unsigned char) 'b')) + abort (); + + if ('\234b' != (int) ((unsigned char) '\234' * scale + (unsigned char) 'b')) + abort (); + + if ('b\234' != (int) ((unsigned char) 'b' * scale + (unsigned char) '\234')) + abort (); + /* Multichar charconsts have type int and should be signed. */ + #if INT_MAX == 32767 + # if '\234a' > 0 + # error Preprocessor charconsts 1 + # endif + if ('\234a' > 0) + abort (); + #elif INT_MAX == 2147483647 + # if '\234aaa' > 0 + # error Preprocessor charconsts 2 + # endif + if ('\234aaa' > 0) + abort (); + #elif INT_MAX == 9223372036854775807 + # if '\234aaaaaaa' > 0 + # error Preprocessor charconsts 3 + # endif + if ('\234aaaaaaa' > 0) + abort (); + #endif + #endif + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/charconst-4.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/charconst-4.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/charconst-4.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/charconst-4.c 2002-05-08 21:02:31.000000000 +0000 *************** *** 0 **** --- 1,50 ---- + /* Copyright (C) 2001 Free Software Foundation, Inc. */ + + /* { dg-do run } */ + /* { dg-options "-Wno-multichar -fsigned-char" } */ + + /* This tests how overly-long multichar charconsts are truncated, and + whether "short" multichar charconsts are incorrectly sign extended + (regardless of char signedness). Preprocessor is used so that we + have only one place where the too long warning is generated, so + that the test works for all targets. + + Neil Booth, 8 May 2002. */ + + #include + + #if INT_MAX == 32767 + # define LONG_CHARCONST '!\234a' + # define SHORT_CHARCONST '\234a' + # define POS_CHARCONST '\1' + #elif INT_MAX == 2147483647 + # define LONG_CHARCONST '!\234abc' + # define SHORT_CHARCONST '\234abc' + # define POS_CHARCONST '\234a' + #elif INT_MAX == 9223372036854775807 + # define LONG_CHARCONST '!\234abcdefg' + # define SHORT_CHARCONST '\234abcdefg' + # define POS_CHARCONST '\234a' + #else + /* Target int size not handled, do something that won't fail. */ + # define LONG_CHARCONST '\234a' + # define SHORT_CHARCONST '\234a' + # define POS_CHARCONST '\1' + #endif + + #if POS_CHARCONST < 0 + # error Charconst incorrectly sign-extended + #endif + + #if LONG_CHARCONST != SHORT_CHARCONST /* { dg-warning "too long" "" } */ + # error Overly long charconst truncates wrongly for preprocessor + #endif + + int main () + { + if (POS_CHARCONST < 0) + abort (); + if (LONG_CHARCONST != SHORT_CHARCONST) /* { dg-warning "too long" "" } */ + abort (); + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/charconst.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/charconst.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/charconst.c 2001-05-23 22:50:28.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/charconst.c 2002-05-05 17:05:09.000000000 +0000 *************** *** 21,33 **** void foo () { ! int c = ''; /* { dg-warning "empty" "empty charconst" } */ ! c = L''; /* { dg-warning "empty" "empty wide charconst" } */ c = 'very long'; /* { dg-warning "too long" "long charconst" } */ ! c = L'very long'; /* { dg-warning "too long" "long wide charconst" } */ ! /* Don't do this test for L'ab'; it depends upon sizeof (wchar_t). */ ! c = 'ab'; /* { dg-warning "multi-char" "multi-character" } */ ! } --- 21,36 ---- void foo () { ! int c; ! __WCHAR_TYPE__ w; ! ! c = ''; /* { dg-warning "empty" "empty charconst" } */ ! w = L''; /* { dg-warning "empty" "empty wide charconst" } */ c = 'very long'; /* { dg-warning "too long" "long charconst" } */ ! w = L'very long'; /* { dg-warning "too long" "long wide charconst" } */ ! c = 'ab'; /* { dg-warning "multi-char" "multi-char" } */ ! /* Wide charconsts cannot contain more than one wide character. */ ! w = L'ab'; /* { dg-warning "too long" "multi-char wide" } */ } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/cmdlne-M.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/cmdlne-M.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/cmdlne-M.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/cmdlne-M.c 2002-07-02 17:06:03.000000000 +0000 *************** *** 0 **** --- 1,8 ---- + /* Copyright (C) 2002 Free Software Foundation, Inc. */ + + /* { dg-do preprocess } */ + /* { dg-options "-M" } */ + + /* Test that dependency output suppresses warnings by implying -w. */ + + #warning bogus /* { dg-bogus "warning" "warning not suppressed" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/cpp.exp gcc-3.3/gcc/testsuite/gcc.dg/cpp/cpp.exp *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/cpp.exp 2001-11-20 03:51:01.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/cpp.exp 2002-08-07 18:32:13.000000000 +0000 *************** if ![info exists DEFAULT_CFLAGS] then { *** 36,42 **** dg-init # Main loop. ! dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] \ "" $DEFAULT_CFLAGS # All done. --- 36,42 ---- dg-init # Main loop. ! dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cCS\]]] \ "" $DEFAULT_CFLAGS # All done. diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/defined.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/defined.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/defined.c 2001-11-05 22:26:13.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/defined.c 2002-09-16 13:29:50.000000000 +0000 *************** *** 2,8 **** /* { dg-do preprocess } */ ! /* Tests behaviour of the defined operator. */ /* Source: Neil Booth, 29 Oct 2000, Zack Weinberg 11 Dec 2000. */ --- 2,8 ---- /* { dg-do preprocess } */ ! /* Tests behavior of the defined operator. */ /* Source: Neil Booth, 29 Oct 2000, Zack Weinberg 11 Dec 2000. */ *************** *** 19,25 **** #error Z is not defined #endif ! /* The behaviour of "defined" when it comes from a macro expansion is now documented. */ #if is_Z_defined #error Macro expanding into defined operator test 1 --- 19,25 ---- #error Z is not defined #endif ! /* The behavior of "defined" when it comes from a macro expansion is now documented. */ #if is_Z_defined #error Macro expanding into defined operator test 1 *************** *** 51,57 **** #error Z is not defined #endif ! /* The behaviour of "defined" when it comes from a macro expansion is now documented. */ #if is_Z_defined #error Macro expanding into defined operator test 1 --- 51,57 ---- #error Z is not defined #endif ! /* The behavior of "defined" when it comes from a macro expansion is now documented. */ #if is_Z_defined #error Macro expanding into defined operator test 1 diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/defined_trad.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/defined_trad.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/defined_trad.c 2000-12-13 19:47:04.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/defined_trad.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,79 **** - /* Copyright (C) 2000 Free Software Foundation, Inc. */ - - /* { dg-do preprocess } */ - /* { dg-options "-traditional" } */ - - /* Tests tradcpp0 with defined. The defined operator in traditional C - works just the same as the defined operator in Standard C. */ - - /* Source: Zack Weinberg, glibc, Neil Booth 11 Dec 2000. */ - - #if defined REGPARMS - #error REGPARMS should not be defined - #endif - - #define REGPARMS 1 - #if !defined REGPARMS - #error REGPARMS should be defined - #endif - - #define defined /* { dg-error "defined" } */ - - /* No diagnostics, though you could argue there should be. */ - #if defined defined - #error defined is defined! - #endif - - #define is_Z_defined defined Z - - #if defined Z - #error Z is not defined - #endif - - /* The behaviour of "defined" when it comes from a macro expansion is - now documented. */ - #if is_Z_defined - #error Macro expanding into defined operator test 1 - #endif - - #define Z - - #if !defined Z - #error Z is defined - #endif - - #if !is_Z_defined - #error Macro expanding into defined operator test 2 - #endif - - #undef is_Z_defined - #undef Z - - /* Do all the tests over again with the () form of defined. */ - - /* No diagnostics, though you could argue there should be. */ - #if defined(defined) - #error defined is defined! - #endif - - #define is_Z_defined defined ( Z ) - - #if defined(Z) - #error Z is not defined - #endif - - /* The behaviour of "defined" when it comes from a macro expansion is - now documented. */ - #if is_Z_defined - #error Macro expanding into defined operator test 1 - #endif - - #define Z - - #if !defined(Z) - #error Z is defined - #endif - - #if !is_Z_defined - #error Macro expanding into defined operator test 2 - #endif --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/direct2s.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/direct2s.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/direct2s.c 2003-01-31 11:11:32.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/direct2s.c 2002-05-09 17:14:21.000000000 +0000 *************** void f () *** 31,39 **** int i = X; /* { dg-error "undeclared|for each" "no macro X" } */ int j = Y; /* { dg-error "undeclared|for each" "no macro Y" } */ } - - #define slashstar /##* - #define starslash *##/ - - slashstar starslash /* { dg-error "(parse|syntax) error" "not a comment" } */ - /* { dg-warning "does not give" "paste warning(s)" { target *-*-* } 38 } */ --- 31,33 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/directiv.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/directiv.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/directiv.c 2001-09-13 20:05:17.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/directiv.c 2002-02-27 07:24:53.000000000 +0000 *************** EMPTY #define bar *** 25,40 **** /* Our friend the null directive OK? */ # - /* Check that directives always start a line, even if in middle of - macro expansion. */ - #define func(x) x - func (2 /* { dg-error "unterminated" "" } */ - #define foobar /* { dg-error "directives may not" } */ - /* Check newlines end directives, even in function-like macro invocations. 6.10 paragraph 1. Note that the #if is still treated as a conditional, so there should be no errors about #endif without #if. */ #if func ( /* { dg-error "unterminated argument" } */ #endif --- 25,35 ---- /* Our friend the null directive OK? */ # /* Check newlines end directives, even in function-like macro invocations. 6.10 paragraph 1. Note that the #if is still treated as a conditional, so there should be no errors about #endif without #if. */ + #define func(x) x #if func ( /* { dg-error "unterminated argument" } */ #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/endif-pedantic1.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/endif-pedantic1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/endif-pedantic1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/endif-pedantic1.c 2002-03-26 21:48:40.000000000 +0000 *************** *** 0 **** --- 1,17 ---- + /* Copyright (C) 2002 Free Software Foundation, Inc. */ + + /* { dg-do preprocess } */ + /* { dg-options "-pedantic -Wno-endif-labels" } */ + + /* Tests combinations of -pedantic and -Wno-endif-labels; see extratokens2.c + for more general tests. */ + + /* Source: Phil Edwards, 25 Mar 2002. Copied from extratokens2.c and + modified. */ + + #if 1 + #if 0 + #else foo /* { dg-bogus "extra tokens" "bad warning" } */ + #endif / /* { dg-bogus "extra tokens" "bad warning" } */ + #endif + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/endif-pedantic2.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/endif-pedantic2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/endif-pedantic2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/endif-pedantic2.c 2002-03-26 21:48:40.000000000 +0000 *************** *** 0 **** --- 1,17 ---- + /* Copyright (C) 2002 Free Software Foundation, Inc. */ + + /* { dg-do preprocess } */ + /* { dg-options "-Wno-endif-labels -pedantic" } */ + + /* Tests combinations of -pedantic and -Wno-endif-labels; see extratokens2.c + for more general tests. */ + + /* Source: Phil Edwards, 25 Mar 2002. Copied from endif-pedantic1.c and + modified. */ + + #if 1 + #if 0 + #else foo /* { dg-error "extra tokens" "tokens after #else" } */ + #endif / /* { dg-error "extra tokens" "tokens after #endif" } */ + #endif + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/expr.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/expr.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/expr.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/expr.c 2002-07-19 19:24:43.000000000 +0000 *************** *** 0 **** --- 1,17 ---- + /* Copyright (C) 2000, 2001 Free Software Foundation, Inc. */ + + /* { dg-do preprocess } */ + + /* Test we get signedness of ?: operator correct. We would skip + evaluation of one argument, and might therefore not transfer its + unsignedness to the result. */ + + /* Neil Booth, 19 Jul 2002. */ + + #if (1 ? -2: 0 + 1U) < 0 + #error /* { dg-bogus "error" } */ + #endif + + #if (0 ? 0 + 1U: -2) < 0 + #error /* { dg-bogus "error" } */ + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/extratokens2.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/extratokens2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/extratokens2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/extratokens2.c 2002-03-22 21:44:30.000000000 +0000 *************** *** 0 **** --- 1,22 ---- + /* Copyright (C) 2002 Free Software Foundation, Inc. */ + + /* { dg-do preprocess } */ + /* { dg-options "-fno-show-column -Wno-endif-labels" } */ + + /* Tests that -Wno-endif-labels correctly disables the checks done by + default (and tested in extratokens.c). */ + + /* Source: Phil Edwards, 21 Mar 2002. Copied from extratokens.c and + modified. */ + + #if 1 + #if 0 + #else foo /* { dg-bogus "extra tokens" "bad warning" } */ + #endif / /* { dg-bogus "extra tokens" "bad warning" } */ + #endif + + # 36 "file.c" 3 + + /* ... but in a system header, it's acceptable. */ + #ifdef KERNEL + #endif KERNEL /* { dg-bogus "extra tokens" "bad warning" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/gnuc89-pedantic.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/gnuc89-pedantic.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/gnuc89-pedantic.c 2000-12-02 10:16:01.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/gnuc89-pedantic.c 2002-05-29 17:15:42.000000000 +0000 *************** *** 6,10 **** /* This file is for testing the preprocessor in -std=gnu89 -pedantic mode. Neil Booth, 2 Dec 2000. */ ! #if 1LL /* { dg-warning "too many" } */ #endif --- 6,10 ---- /* This file is for testing the preprocessor in -std=gnu89 -pedantic mode. Neil Booth, 2 Dec 2000. */ ! #if 1LL /* { dg-warning "long long" } */ #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/hash2.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/hash2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/hash2.c 2000-06-27 22:26:11.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/hash2.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,15 **** - /* Test for erroneously thinking comments are token-pastes. - From XFree86 4.0. */ - /* { dg-do preprocess } */ - /* { dg-options "-traditional" } */ - - #ifndef foo - #define foo /**/ - #endif - - #ifndef foo - #define foo /* as nothing */ - #endif - - /* { dg-bogus "(start|end) of macro" "paste at end" { target *-*-* } 7 } */ - /* { dg-bogus "(start|end) of macro" "comment at end" { target *-*-* } 11 } */ --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/if-1.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/if-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/if-1.c 2000-07-08 02:33:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/if-1.c 2002-05-29 17:15:42.000000000 +0000 *************** *** 22,28 **** #error 0xabc /* { dg-bogus "#error" "normal conversion" } */ #endif ! #if 1.2 /* { dg-error "loating point numbers" "floating point in #if" } */ #endif #if 4uu /* { dg-error "invalid suffix" "too many suffixes" } */ --- 22,28 ---- #error 0xabc /* { dg-bogus "#error" "normal conversion" } */ #endif ! #if 1.2 /* { dg-error "loating constant" "floating point in #if" } */ #endif #if 4uu /* { dg-error "invalid suffix" "too many suffixes" } */ *************** *** 34,41 **** #if 1234lul /* { dg-error "invalid suffix" "u between ls" } */ #endif ! #if 099 /* { dg-error "digits beyond the radix" "decimal in octal constant" } */ #endif ! #if 0xfffffffffffffffff /* { dg-error "integer constant out of range" "range error" } */ #endif --- 34,41 ---- #if 1234lul /* { dg-error "invalid suffix" "u between ls" } */ #endif ! #if 099 /* { dg-error "invalid digit" "decimal in octal constant" } */ #endif ! #if 0xfffffffffffffffff /* { dg-error "integer constant" "range error" } */ #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/if-3.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/if-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/if-3.c 2000-11-25 19:50:51.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/if-3.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,25 **** - /* Test that the preprocessor is capable of 64-bit arithmetic. - (Must turn off -pedantic, since `LL' constants are only in C99.) */ - /* { dg-do preprocess } */ - /* { dg-options "" } */ - - #define U_MAX 4294967295U - #define ULL_MAX 18446744073709551615ULL - #define LL_MAX 9223372036854775807LL - #define LL_MIN (-LL_MAX-1) - - /* Check simple truncation. */ - #if U_MAX == ULL_MAX || LL_MIN == 0 || LL_MAX == -1 - #error "simple truncation" /* { dg-bogus "trunc" "simple truncation" } */ - #endif - - /* Check left/right shifting with all bits set and with one bit set. */ - #if !(~0ULL >> 63) || !(~0ULL << 63) || !(~0LL >> 63) || !(~0LL << 63) || \ - !(LL_MIN >> 63) || !(1LL << 62) || !(ULL_MAX >> 63) || !(1ULL << 63) - #error "bit shift truncation" /* { dg-bogus "trunc" "bit shift truncation" } */ - #endif - - /* Check math expressions. */ - #if (2ULL * U_MAX < U_MAX) || (1ULL + U_MAX < U_MAX) - #error "math truncation" /* { dg-bogus "trunc" "math truncation" } */ - #endif --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/if-cexp.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/if-cexp.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/if-cexp.c 2000-06-27 22:26:11.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/if-cexp.c 2002-04-28 23:14:56.000000000 +0000 *************** *** 10,13 **** #error OK /* { dg-error "OK" "nested ? : with parens" } */ #endif ! --- 10,14 ---- #error OK /* { dg-error "OK" "nested ? : with parens" } */ #endif ! #if 2: /* { dg-error "':' without" "immediate :" } */ ! #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/if-mop.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/if-mop.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/if-mop.c 2000-10-28 18:01:40.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/if-mop.c 2002-04-28 19:42:51.000000000 +0000 *************** *** 12,18 **** #if ~ /* { dg-error "no right op" "no unary operand" } */ #endif ! #if 3 + * 6 + 4 /* { dg-error "no left op" "no left operand" } */ #endif #if 2 ~2 /* { dg-error "missing bin" "no binary operator" } */ --- 12,18 ---- #if ~ /* { dg-error "no right op" "no unary operand" } */ #endif ! #if 3 + * 6 + 4 /* { dg-error "no right op" "no right operand" } */ #endif #if 2 ~2 /* { dg-error "missing bin" "no binary operator" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/if-mpar.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/if-mpar.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/if-mpar.c 2000-06-27 22:26:11.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/if-mpar.c 2002-04-28 19:42:51.000000000 +0000 *************** *** 19,21 **** --- 19,24 ---- #if 4) /* { dg-error "missing '\\('" "missing '(' no. 3" } */ #endif + + #if ( /* { dg-error "missing '\\)'" "missing ')' no. 3" } */ + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/if-oppr.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/if-oppr.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/if-oppr.c 2000-06-27 22:26:11.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/if-oppr.c 2002-04-28 19:42:51.000000000 +0000 *************** *** 20,26 **** #endif /* , not higher than ?. This is not a syntax error if it is. */ ! #if 1 ? 0, 1: 1 /* { dg-error "syntax" "? higher precedence than ," } */ #error #endif --- 20,26 ---- #endif /* , not higher than ?. This is not a syntax error if it is. */ ! #if 1 ? 0, 1: 1 /* { dg-error "without" "? higher precedence than ," } */ #error #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/inc/foo.h gcc-3.3/gcc/testsuite/gcc.dg/cpp/inc/foo.h *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/inc/foo.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/inc/foo.h 2003-02-21 18:14:12.000000000 +0000 *************** *** 0 **** --- 1 ---- + extern int a; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/include3.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/include3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/include3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/include3.c 2003-02-21 18:14:12.000000000 +0000 *************** *** 0 **** --- 1,7 ---- + /* Unpatched, this file would include "inc/ foo.h" (note the space) */ + + #define PREINC_XSTR(str) #str + #define PREINC_STR(str) PREINC_XSTR(str) + #define COMP_INC(comp,file) PREINC_STR(comp/file) + + #include COMP_INC(inc, foo.h) diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/line5.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/line5.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/line5.c 2001-09-16 11:23:56.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/line5.c 2002-09-15 17:51:49.000000000 +0000 *************** *** 10,15 **** -fpreprocessed on raw source. Nevertheless, we should not segfault. This is a test that we don't back up two tokens in cpplib.c - one to back up over the number, and one when we ! recognise that it's not a valid directive in preprocessed input. */ # 1 "foo.c" --- 10,15 ---- -fpreprocessed on raw source. Nevertheless, we should not segfault. This is a test that we don't back up two tokens in cpplib.c - one to back up over the number, and one when we ! recognize that it's not a valid directive in preprocessed input. */ # 1 "foo.c" diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/maccom1.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/maccom1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/maccom1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/maccom1.c 2002-04-07 03:12:23.000000000 +0000 *************** *** 0 **** --- 1,17 ---- + /* { dg-do preprocess } */ + /* { dg-options "-CC" } */ + + /* This tests to make sure that comments are ignored between # and the + directive name when the -CC option is used. + + Jason R. Thorpe, 6 Apr 2002 */ + + #/**/define def passed + + def + + /* + { dg-final { if ![file exists maccom1.i] { return } } } + { dg-final { if { [grep maccom1.i "^passed"] != "" } { return } } } + { dg-final { fail "maccom1.c: comment between # and directive name with -CC" } } + */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/maccom2.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/maccom2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/maccom2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/maccom2.c 2002-04-07 03:12:23.000000000 +0000 *************** *** 0 **** --- 1,18 ---- + /* { dg-do preprocess } */ + /* { dg-options "-CC" } */ + + /* This tests to make sure that comments between the #define directive + and the macro identifier are ignored (i.e. treated like whitespace) + when the -CC option is used. + + Jason R. Thorpe, 6 Apr 2002 */ + + #define/**/def passed + + def + + /* + { dg-final { if ![file exists maccom2.i] { return } } } + { dg-final { if { [grep maccom2.i "^passed"] != "" } { return } } } + { dg-final { fail "maccom2.c: comment between #define and identifier with -CC" } } + */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/maccom3.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/maccom3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/maccom3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/maccom3.c 2002-04-07 03:12:23.000000000 +0000 *************** *** 0 **** --- 1,17 ---- + /* { dg-do preprocess } */ + /* { dg-options "-CC" } */ + + /* This tests to make sure that comments in the definition of a macro + parameter list are ignored when the -CC option is used. + + Jason R. Thorpe, 6 Apr 2002 */ + + #define def(x /**/, y) passed + + def(x,y) + + /* + { dg-final { if ![file exists maccom3.i] { return } } } + { dg-final { if { [grep maccom3.i "^passed"] != "" } { return } } } + { dg-final { fail "maccom3.c: comment in macro parameter list with -CC" } } + */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/maccom4.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/maccom4.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/maccom4.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/maccom4.c 2002-04-07 03:12:23.000000000 +0000 *************** *** 0 **** --- 1,19 ---- + /* { dg-do preprocess } */ + /* { dg-options "-CC" } */ + + /* This tests to make sure the comment is saved in the macro and copied + to the output file when the macro is expanded when the -CC option is + used. + + Jason R. Thorpe, 6 Apr 2002 */ + + #define def /* passed */ + + def + + /* + /* The + in the regexp prevents it from matching itself. */ + { dg-final { if ![file exists maccom4.i] { return } } } + { dg-final { if { [grep maccom4.i "p+assed"] != "" } { return } } } + { dg-final { fail "maccom4.c: comment in macro expansion with -CC" } } + */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/maccom5.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/maccom5.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/maccom5.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/maccom5.c 2002-04-07 03:12:23.000000000 +0000 *************** *** 0 **** --- 1,21 ---- + /* { dg-do preprocess } */ + /* { dg-options "-CC" } */ + + /* This tests to make sure that C++ comments are converted to C comments + when saved in the macro and copied to the output file when the macro + is expanded when the -CC option is used. + + Jason R. Thorpe, 6 Apr 2002 */ + + #define def // passed + + def: + + /* + /* The + in the regexp prevents it from matching itself. */ + { dg-final { if ![file exists maccom5.i] { return } } } + { dg-final { if \{ [grep maccom5.i "p+assed"] != "" \} \{ } } + { dg-final { if \{ [grep maccom5.i "p+assed:"] == "" \} \{ } } + { dg-final { return \} \} } } + { dg-final { fail "maccom5.c: C++ comment in macro expansion with -CC" } } + */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/maccom6.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/maccom6.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/maccom6.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/maccom6.c 2002-04-07 03:12:23.000000000 +0000 *************** *** 0 **** --- 1,24 ---- + /* { dg-do preprocess } */ + /* { dg-options "-CC" } */ + + /* This tests to make sure that expressions function properly + when used with macros containing comments and the -CC option + is being used. + + Jason R. Thorpe, 6 Apr 2002 */ + + #define ONE 1 /* one */ + #define TWO 2 /* two */ + #define THREE 3 /* three */ + + #if (ONE + TWO) != THREE + failed + #else + passed + #endif + + /* + { dg-final { if ![file exists maccom6.i] { return } } } + { dg-final { if { [grep maccom6.i "^passed"] != "" } { return } } } + { dg-final { fail "maccom6.c: comments in macro expressions with -CC" } } + */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/mac-dir-1.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/mac-dir-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/mac-dir-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/mac-dir-1.c 2002-02-27 07:24:53.000000000 +0000 *************** *** 0 **** --- 1,34 ---- + /* Copyright (C) 2002 Free Software Foundation, Inc. */ + + /* { dg-do preprocess } */ + + /* Source: Neil Booth, 26 Feb 2002. + + Test that we allow directives in macro arguments. */ + + /* { dg-do run } */ + /* { dg-options "" } */ + + #define f(x) x + extern void abort (void); + + int main () + { + if (f ( + #if f(1) /* True. */ + 0)) /* False. */ + #else + 1)) + #endif + abort (); + + /* Outer f expands to original definition, f in argument expands + to new definition, so result is: if (1 != 2 - 1). */ + if (1 != f(2 + #undef f + #define f - 1 + f)) + abort (); + + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/mac-dir-2.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/mac-dir-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/mac-dir-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/mac-dir-2.c 2002-02-27 07:24:53.000000000 +0000 *************** *** 0 **** --- 1,16 ---- + /* Copyright (C) 2002 Free Software Foundation, Inc. */ + + /* { dg-do preprocess } */ + + /* Source: Neil Booth, 26 Feb 2002. + + Test that we allow directives in macro arguments. */ + + /* { dg-do preprocess } */ + + #define f(x) x + + f ( + #if 1 /* { dg-warning "not portable" } */ + 1) + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/macsyntx.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/macsyntx.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/macsyntx.c 2000-11-20 18:28:43.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/macsyntx.c 2002-09-16 13:29:50.000000000 +0000 *************** *** 7,13 **** o Full range of macro definition semantics. o No. of arguments supplied to function-like macros. ! o Odd GNU rest args behaviour. o Macro arguments do not flow into the rest of the file. */ --- 7,13 ---- o Full range of macro definition semantics. o No. of arguments supplied to function-like macros. ! o Odd GNU rest args behavior. o Macro arguments do not flow into the rest of the file. */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/mi7a.h gcc-3.3/gcc/testsuite/gcc.dg/cpp/mi7a.h *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/mi7a.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/mi7a.h 2002-06-25 06:00:24.000000000 +0000 *************** *** 0 **** --- 1,4 ---- + : + #ifndef GUARD1 + #define GUARD1 + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/mi7b.h gcc-3.3/gcc/testsuite/gcc.dg/cpp/mi7b.h *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/mi7b.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/mi7b.h 2002-06-25 06:00:24.000000000 +0000 *************** *** 0 **** --- 1,4 ---- + #ifndef GUARD2 + #define GUARD2 + #endif + : diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/mi7.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/mi7.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/mi7.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/mi7.c 2002-06-25 06:00:24.000000000 +0000 *************** *** 0 **** --- 1,19 ---- + /* Test "ignore redundant include" facility. + + -H is used because cpp might confuse the issue by optimizing out + #line markers. This test only passes if the headers is read + twice. + + The disgusting regexp in the dg-error line, when stuck into + dg.exp's compiler-output regexp, matches the correct -H output and + only the correct -H output. It has to be all on one line because + otherwise it will not be interpreted all in one unit. */ + + /* { dg-do preprocess } + { dg-options "-H" } + { dg-error "mi7a\.h\n\[^\n\]*mi7a\.h\n\[^\n\]*mi7b\.h\n\[^\n\]*mi7b\.h" "redundant include check" { target *-*-* } 0 } */ + + #include "mi7a.h" + #include "mi7a.h" + #include "mi7b.h" + #include "mi7b.h" diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/multiline.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/multiline.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/multiline.c 2001-03-03 18:10:34.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/multiline.c 2002-09-15 17:51:49.000000000 +0000 *************** *** 1,7 **** /* Copyright (C) 2000 Free Software Foundation, Inc. */ /* { dg-do preprocess } */ /* { dg-options "-C" } */ ! /* Test that multi-line tokens are recognised by cpp0 as being multiline . Source: Neil Booth, 17 Dec 2000. */ /* Line 1 Line 2 --- 1,7 ---- /* Copyright (C) 2000 Free Software Foundation, Inc. */ /* { dg-do preprocess } */ /* { dg-options "-C" } */ ! /* Test that multi-line tokens are recognized by cpp0 as being multiline . Source: Neil Booth, 17 Dec 2000. */ /* Line 1 Line 2 *************** L"line 1 *** 22,26 **** { dg-final { if \{ [grep multiline.i "^$"] == "" \} \{ } } { dg-final { return \} } } { dg-final { fail "multiline.c: multi-line tokens" } } */ ! /* { dg-warning "deprecated" "multiline strings" { target *-*-* } 11 } */ ! /* { dg-warning "deprecated" "multiline strings" { target *-*-* } 15 } */ --- 22,32 ---- { dg-final { if \{ [grep multiline.i "^$"] == "" \} \{ } } { dg-final { return \} } } { dg-final { fail "multiline.c: multi-line tokens" } } */ ! /* { dg-error "missing term" "multiline strings" { target *-*-* } 11 } */ ! /* { dg-error "missing term" "multiline strings" { target *-*-* } 14 } */ ! /* { dg-error "missing term" "multiline strings" { target *-*-* } 15 } */ ! /* { dg-error "missing term" "multiline strings" { target *-*-* } 18 } */ ! /* { dg-bogus "warning" "warning in place of error" { target *-*-* } 11 } */ ! /* { dg-bogus "warning" "warning in place of error" { target *-*-* } 14 } */ ! /* { dg-bogus "warning" "warning in place of error" { target *-*-* } 15 } */ ! /* { dg-bogus "warning" "warning in place of error" { target *-*-* } 18 } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/paste13.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/paste13.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/paste13.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/paste13.c 2002-10-09 09:56:09.000000000 +0000 *************** *** 0 **** --- 1,9 ---- + /* Copyright (C) 2000 Free Software Foundation, Inc. */ + + /* { dg-do preprocess } */ + + /* This used to be recognized as a comment when lexing after pasting + spellings. Neil Booth, 9 Oct 2002. */ + + #define a /##/= + a /* { dg-warning "valid preprocessing tok" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/paste2.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/paste2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/paste2.c 2000-11-21 00:00:50.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/paste2.c 2002-09-16 13:29:50.000000000 +0000 *************** *** 3,9 **** /* { dg-do run } */ /* { dg-options "-std=c99 -pedantic-errors" } */ ! /* Test ## behaviour and corner cases thoroughly. The macro expander failed many of these during development. */ #ifndef __WCHAR_TYPE__ --- 3,9 ---- /* { dg-do run } */ /* { dg-options "-std=c99 -pedantic-errors" } */ ! /* Test ## behavior and corner cases thoroughly. The macro expander failed many of these during development. */ #ifndef __WCHAR_TYPE__ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/paste4.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/paste4.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/paste4.c 2003-01-25 15:36:32.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/paste4.c 2003-01-25 15:28:01.000000000 +0000 *************** *** 11,16 **** int main () { ! double d = glue (1.0e, +1); /* { dg-error "floating const|(parse|syntax) error" } */ return 0; } --- 11,16 ---- int main () { ! double d = glue (1.0e, +1); /* { dg-error "exponent|(parse|syntax) error" } */ return 0; } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/poison.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/poison.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/poison.c 2000-12-09 12:07:56.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/poison.c 2002-05-09 17:14:21.000000000 +0000 *************** *** 1,17 **** /* { dg-do preprocess } { dg-options "-fno-show-column" } */ ! #pragma poison foo foo /* { dg-error "foo" "use of foo" } */ ! #pragma poison foo2 foo3 foo2 /* { dg-error "foo2" "use of foo2" } */ foo3 /* { dg-error "foo3" "use of foo3" } */ ! #pragma poison foo4 foo5 foo4 /* { dg-error "foo4" "use of foo4" } */ foo5 /* { dg-error "foo5" "use of foo5" } */ ! #pragma poison +++ /* { dg-error "invalid" "poison non-identifier" } */ #define foo6 123 ! #pragma poison foo6 /* { dg-warning "foo6" "poison defined macro" } */ #define foo6 345 /* { dg-error "foo6" "def of foo6" } */ #define foo6 456 /* { dg-error "foo6" "redef of foo6" } */ #ifdef foo6 /* { dg-error "foo6" "#ifdef foo6" } */ --- 1,17 ---- /* { dg-do preprocess } { dg-options "-fno-show-column" } */ ! #pragma GCC poison foo foo /* { dg-error "foo" "use of foo" } */ ! #pragma GCC poison foo2 foo3 foo2 /* { dg-error "foo2" "use of foo2" } */ foo3 /* { dg-error "foo3" "use of foo3" } */ ! #pragma GCC poison foo4 foo5 foo4 /* { dg-error "foo4" "use of foo4" } */ foo5 /* { dg-error "foo5" "use of foo5" } */ ! #pragma GCC poison +++ /* { dg-error "invalid" "poison non-identifier" } */ #define foo6 123 ! #pragma GCC poison foo6 /* { dg-warning "foo6" "poison defined macro" } */ #define foo6 345 /* { dg-error "foo6" "def of foo6" } */ #define foo6 456 /* { dg-error "foo6" "redef of foo6" } */ #ifdef foo6 /* { dg-error "foo6" "#ifdef foo6" } */ *************** foo5 /* { dg-error "foo5" "use of foo5 *** 22,25 **** #else foo6 /* { dg-error "foo6" "use of foo6" } */ #endif ! #pragma poison --- 22,25 ---- #else foo6 /* { dg-error "foo6" "use of foo6" } */ #endif ! #pragma GCC poison diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/sysmac2.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/sysmac2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/sysmac2.c 2001-05-06 09:48:28.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/sysmac2.c 2002-06-02 19:37:34.000000000 +0000 *************** *** 1,7 **** /* Copyright (C) 2001 Free Software Foundation, Inc. */ /* { dg-do compile } */ ! /* { dg-options "-std=gnu99 -pedantic -Wtraditional" } */ /* Tests diagnostics are suppressed for some macros defined in system headers. */ --- 1,7 ---- /* Copyright (C) 2001 Free Software Foundation, Inc. */ /* { dg-do compile } */ ! /* { dg-options "-std=gnu99 -pedantic -Wtraditional -fno-show-column" } */ /* Tests diagnostics are suppressed for some macros defined in system headers. */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/argcount.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/argcount.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/argcount.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/argcount.c 2002-06-24 05:46:51.000000000 +0000 *************** *** 0 **** --- 1,21 ---- + /* Test that we correctly complain about an invalid number of macro + arguments. */ + + /* { dg-do preprocess } */ + + #define f(x) x + #define g(x, y) x y + #define h() + + f(); /* { dg-bogus "requires 1" "no arg is 1 empty arg" } */ + f( ); /* { dg-bogus "macro" "1 arg to 1 param macro" } */ + f(1,); /* { dg-error "passed 2" "2 args to 1 param macro" } */ + f(1,2); /* { dg-error "passed 2" "2 args to 1 param macro" } */ + h(); /* { dg-bogus "macro" "no arg to 1 param macro" } */ + h( ); /* { dg-error "passed 1" "1 arg to 0 param macro" } */ + h(1,2); /* { dg-error "passed 2" "2 args to 0 param macro" } */ + g(); /* { dg-error "requires 2" "0 args to 2 param macro" } */ + g( ); /* { dg-error "requires 2" "1 args to 2 param macro" } */ + g( ,2); /* { dg-bogus "requires 2" "2 args to 2 param macro" } */ + g(,); /* { dg-bogus "requires 2" "2 args to 2 param macro" } */ + g(1,2,3); /* { dg-error "passed 3" "3 args to 2 param macro" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/assembler.S gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/assembler.S *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/assembler.S 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/assembler.S 2002-11-09 12:33:53.000000000 +0000 *************** *** 0 **** --- 1,29 ---- + /* Regression test - in assembly language, # may have some significance + other than 'stringize macro argument' and therefore must be preserved + in the output, and should not be warned about. */ + + /* { dg-do preprocess } */ + + #ifndef FOO + #1 /* Once caused a bogus unterminated #ifndef. */ + #endif + + #define foo() mov r0, #5 /* { dg-bogus "not followed" "spurious warning" } */ + + entry: + foo() + + /* Check we don't EOF on an unknown directive. */ + #unknown directive + #error a later diagnostic /* { dg-error "diagnostic" } */ + + /* + { dg-final { if ![file exists 20000510-1.i] { return } } } + { dg-final { set tmp [grep 20000510-1.i # line] } } + { dg-final { if {[string length $tmp] > 0} \{ } } + { dg-final { pass "20000510-1.S: # preservation" } } + { dg-final { \} else \{ } } + { dg-final { fail "20000510-1.S: # preservation" } } + { dg-final { \} } } + */ + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/assert1.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/assert1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/assert1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/assert1.c 2002-06-21 05:29:09.000000000 +0000 *************** *** 0 **** --- 1,46 ---- + /* Basic tests of the #assert preprocessor extension. */ + /* { dg-do compile } */ + /* { dg-options "" } */ + + #define def unused expansion + #define fail int fail + + #assert abc (def) + #assert abc (ghi) + #assert abc (jkl) + #assert space ( s p a c e ) + + /* Basic: */ + #if !#abc (def) || !#abc (ghi) || !#abc (jkl) + fail + #endif + + /* any answer for #abc */ + #if !#abc + fail + #endif + + /* internal whitespace is collapsed, + external whitespace is deleted */ + #if !#space (s p a c e) || !#space ( s p a c e ) || #space (space) + fail + #endif + + /* removing assertions */ + #unassert abc (jkl) + #if !#abc || !#abc (def) || !#abc (ghi) || #abc (jkl) + fail + #endif + + #unassert abc + #if #abc || #abc (def) || #abc (ghi) || #abc (jkl) + fail + #endif + + int gobble + + /* make sure it can succeed too. + also check space before open paren isn't significant */ + #if #space(s p a c e) + ; + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/assert2.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/assert2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/assert2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/assert2.c 2002-06-21 05:29:09.000000000 +0000 *************** *** 0 **** --- 1,23 ---- + /* Malformed assertion tests. */ + /* { dg-do preprocess } */ + + #assert /* { dg-error "without predicate" "assert w/o predicate" } */ + #assert % /* { dg-error "an identifier" "assert punctuation" } */ + #assert 12 /* { dg-error "an identifier" "assert number" } */ + #assert abc /* { dg-error "missing" "assert w/o answer" } */ + + #if # /* { dg-error "without predicate" "test w/o predicate" } */ + #endif + + #if #% /* { dg-error "an identifier" "test punctuation" } */ + #endif + + #if #12 /* { dg-error "an identifier" "test number" } */ + #endif + + #if #abc + #error /* { dg-bogus "error" "test w/o answer" } */ + #endif + + #if #abc[def] /* { dg-error "not valid in" "bad syntax" } */ + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/assert3.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/assert3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/assert3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/assert3.c 2002-06-21 05:29:09.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + /* Copyright (C) 2000 Free Software Foundation, Inc. */ + + /* { dg-do preprocess } */ + /* { dg-options "-A abc=def -A abc\(ghi\) \"-Aabc = jkl\" -A abc=mno -A -abc=mno" } */ + + /* Test -A command line syntax. Source Neil Booth. 31 Oct 2000. */ + + #if !#abc (def) || !#abc (ghi) || !#abc (jkl) || #abc(mno) + #error Command line -A assertions + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/builtins.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/builtins.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/builtins.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/builtins.c 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,52 ---- + /* Test that builtin-macros are OK. */ + + /* { dg-do run } */ + + #include "builtins.h" + + void abort (void); + char *strstr (const char *, const char *); + int strcmp (const char *, const char *); + + #define LINE __LINE__ + + #if __LINE__ != 13 + # error __LINE__ part 1 /* { dg-bogus "__LINE__" } */ + #endif + + #if \ + __LINE__ != 18 + # error __LINE__ part 2 /* { dg-bogus "__LINE__" } */ + #endif + + #if LINE != 22 + # error __LINE__ part 3 /* { dg-bogus "__LINE__" } */ + #endif + + #if __INCLUDE_LEVEL != 0 + # error __INCLUDE_LEVEL__ /* { dg-bogus "__INCLUDE_LEVEL__" } */ + #endif + + #if !defined (__TIME__) + # error __TIME__ /* { dg-bogus "__TIME__" } */ + #endif + + #if !defined (__DATE__) + # error __DATE__ /* { dg-bogus "__DATE__" } */ + #endif + + + int main () + { + /* level is defined in builtins.h. */ + if (level != 1) + abort (); + + if (!strstr (__FILE__, "builtins.c")) + abort (); + + if (!strcmp (__BASE_FILE__, "builtins.c")) + abort (); + + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/builtins.h gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/builtins.h *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/builtins.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/builtins.h 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1 ---- + int level = __INCLUDE_LEVEL__; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/cmdlne-C2.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/cmdlne-C2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/cmdlne-C2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/cmdlne-C2.c 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,15 ---- + /* Copyright (C) 2002 Free Software Foundation, Inc. */ + + /* { dg-do preprocess } */ + /* { dg-options "-C -traditional-cpp" } */ + + /* Test that comments are actually written out + + Neil Booth, 24 Jun 2002. */ + + /* + { dg-final { if ![file exists cmdlne-C2.i] { return } } } + { dg-final { if { [grep cmdlne-C2.i "dg-final"] != "" } { return } } } + { dg-final { fail "cmdlne-C2.i: C comments output with -C" } } + */ + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/cmdlne-C.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/cmdlne-C.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/cmdlne-C.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/cmdlne-C.c 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,37 ---- + /* Copyright (C) 2000 Free Software Foundation, Inc. */ + + /* { dg-do preprocess } */ + /* { dg-options "-C -traditional-cpp" } */ + + /* Test -C doesn't fail with #define. #define is the tricky case, + being the only directive that remembers its comments. + + -C treats comments as tokens in their own right, so e.g. comment at + the beginning of a directive turns it into a non-directive. */ + + #define simple no comments + + #define/**/obj_like/**/(some)/**/thing/**/ + #define fun_like(/**/x/**/,/**/y/**/)/**/ + /**/#define not_a_macro + + #if !defined simple || !defined obj_like || !defined fun_like + #error Missed some macros with -C + #endif + + #ifdef not_a_macro + #error not_a_macro is! + #endif + + /* Check obj_like doesn't expect arguments, and fun_like does. */ + obj_like + fun_like (foo, bar) + + /* Check OK to redefine fun_like without comments in the params. */ + #define fun_like(x, y)/**/ + + /* Check comments in macros in directives are OK. */ + #define ZERO 0 /* A trailing comment. */ + + #if ZERO + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/cmdlne-dD.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/cmdlne-dD.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/cmdlne-dD.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/cmdlne-dD.c 2002-07-01 19:41:52.000000000 +0000 *************** *** 0 **** --- 1,9 ---- + /* Copyright (C) 2000, 2002 Free Software Foundation, Inc. */ + + /* { dg-do preprocess } */ + /* { dg-options "-dD -traditional-cpp" } */ + + /* Test -dD does not fail. */ + + #define objlike obj like + #define funlike(like) fun like diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/cmdlne-dM.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/cmdlne-dM.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/cmdlne-dM.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/cmdlne-dM.c 2002-07-01 19:41:52.000000000 +0000 *************** *** 0 **** --- 1,9 ---- + /* Copyright (C) 2000, 2002 Free Software Foundation, Inc. */ + + /* { dg-do preprocess } */ + /* { dg-options "-dM -traditional-cpp" } */ + + /* Test -dM does not fail. */ + + #define objlike obj like + #define funlike(like) fun like diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/comment-2.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/comment-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/comment-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/comment-2.c 2002-06-22 11:08:20.000000000 +0000 *************** *** 0 **** --- 1,11 ---- + /* Test for warning of nested comments. */ + + /* { dg-do preprocess } */ + + /* { dg-options "-traditional-cpp -Wcomments" } + + /* /* */ /* { dg-warning "within comment" } */ + + /* + + /* { dg-warning "within comment" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/comment.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/comment.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/comment.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/comment.c 2002-06-21 05:29:09.000000000 +0000 *************** *** 0 **** --- 1,5 ---- + /* Test for warning of unterminated comment. */ + + /* { dg-do preprocess } */ + + /* { dg-warning "unterminated comment" } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/define.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/define.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/define.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/define.c 2002-06-21 05:29:09.000000000 +0000 *************** *** 0 **** --- 1,2 ---- + /* { dg-do preprocess } */ + /* { dg-options "-traditional-cpp -DDEFINE1DEFINE -DDEFINE2DEFIN=" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/defined.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/defined.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/defined.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/defined.c 2002-09-16 13:29:50.000000000 +0000 *************** *** 0 **** --- 1,78 ---- + /* Copyright (C) 2000 Free Software Foundation, Inc. */ + + /* { dg-do preprocess } */ + + /* Tests tradcpp0 with defined. The defined operator in traditional C + works just the same as the defined operator in Standard C. */ + + /* Source: Zack Weinberg, glibc, Neil Booth 11 Dec 2000. */ + + #if defined REGPARMS + #error REGPARMS should not be defined + #endif + + #define REGPARMS 1 + #if !defined REGPARMS + #error REGPARMS should be defined + #endif + + #define defined /* { dg-error "defined" } */ + + /* No diagnostics, though you could argue there should be. */ + #if defined defined + #error defined is defined! + #endif + + #define is_Z_defined defined Z + + #if defined Z + #error Z is not defined + #endif + + /* The behavior of "defined" when it comes from a macro expansion is + now documented. */ + #if is_Z_defined + #error Macro expanding into defined operator test 1 + #endif + + #define Z + + #if !defined Z + #error Z is defined + #endif + + #if !is_Z_defined + #error Macro expanding into defined operator test 2 + #endif + + #undef is_Z_defined + #undef Z + + /* Do all the tests over again with the () form of defined. */ + + /* No diagnostics, though you could argue there should be. */ + #if defined(defined) + #error defined is defined! + #endif + + #define is_Z_defined defined ( Z ) + + #if defined(Z) + #error Z is not defined + #endif + + /* The behavior of "defined" when it comes from a macro expansion is + now documented. */ + #if is_Z_defined + #error Macro expanding into defined operator test 1 + #endif + + #define Z + + #if !defined(Z) + #error Z is defined + #endif + + #if !is_Z_defined + #error Macro expanding into defined operator test 2 + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/directive.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/directive.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/directive.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/directive.c 2002-11-09 12:33:53.000000000 +0000 *************** *** 0 **** --- 1,23 ---- + /* Test for some basic aspects of -traditional directive processing. */ + + /* { dg-do preprocess } */ + + #define HASH # + HASH + + /* There is a #error directive. */ + + #error bad /* { dg-error "bad" } */ + + /* Directives with their #s indented are not recognized. */ + #if 0 /* { dg-bogus "unterminated" } */ + + #wrong /* { dg-error "invalid" } */ + + #define foo 2 + #define bar + 3 + #define foobar 6 + + #if foo/**/bar != 5 + # error Comments in directive is a separator /* { dg-bogus "error" } */ + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/escaped-eof.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/escaped-eof.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/escaped-eof.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/escaped-eof.c 2002-06-21 05:29:09.000000000 +0000 *************** *** 0 **** --- 1,6 ---- + /* Test for warning of escaped EOF. */ + + /* { dg-do preprocess } */ + + /* { dg-warning "backslash-new" "escaped EOF warning" { target *-*-* } 7 } */ + \ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/escaped-nl.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/escaped-nl.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/escaped-nl.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/escaped-nl.c 2002-07-01 12:51:10.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + /* Test escaped newlines at start of macro definition are properly + skipped (buglet in skip_whitespace () in cpptrad.c). */ + + /* { dg-do preprocess } */ + + #define NUM \ + 100 + #if NUM != 100 + # error NUM not defined properly /* { dg-bogus "error" } */ + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/funlike-2.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/funlike-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/funlike-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/funlike-2.c 2002-06-22 11:08:20.000000000 +0000 *************** *** 0 **** --- 1,23 ---- + /* Test that nested commas and parentheses in macro arguments are + OK. */ + + /* { dg-do preprocess } */ + + #define f(x) x + #define g(x, y) x y + + #if f((1)) != 1 + # error /* { dg-bogus "error" "nested parens 1" } */ + #endif + + #if f((1, 2)) != 2 + # error /* { dg-bogus "error" "nested comma 1" } */ + #endif + + #if g(, (1)) != 1 + # error /* { dg-bogus "error" "nested parens 2" } */ + #endif + + #if g((1, 2), + 3) != 5 + # error /* { dg-bogus "error" "nested comma 2" } */ + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/funlike-3.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/funlike-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/funlike-3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/funlike-3.c 2002-06-22 11:08:20.000000000 +0000 *************** *** 0 **** --- 1,12 ---- + /* Test that function-like macros are restricted to directives, and + that unterminated ones are warned about. */ + + /* { dg-do preprocess } */ + + #define f(x) x + + #if 2 f(/* { dg-error "unterminated" "unterminated macro in directive" } */ + ) + #endif + + f( /* { dg-error "unterminated" "unterminated macro" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/funlike-4.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/funlike-4.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/funlike-4.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/funlike-4.c 2002-06-24 05:46:51.000000000 +0000 *************** *** 0 **** --- 1,26 ---- + /* Test that undefined names evaluate to zero, that macros after a + funlike macro are expanded, and that if it is a '(' the funlike + macro is not treated as such. */ + + /* { dg-do run } */ + + extern void abort (void); + + #define f(x) x + + int main () + { + #if f(1) == f /**/ (/**/1/**/) + int x; + #endif + + x = 0; + if (f + /**/ ( + /**/ 0/**/ + /**/) + ) + abort (); + + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/funlike-5.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/funlike-5.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/funlike-5.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/funlike-5.c 2003-04-23 01:31:42.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + /* Test function like macro. */ + /* Contributed by Devang Patel */ + + /* {do-do preprocess } */ + /* { dg-options "-traditional-cpp -E -dD" } */ + int __srget (char *); + #define __sgetc(p) (--(p)->_r < 0 ? __srget(p) : (int)(*(p)->_p++)) + #define getc(fp) __sgetc(fp) + #define getchar() getc(stdin) + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/funlike.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/funlike.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/funlike.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/funlike.c 2002-06-22 11:08:20.000000000 +0000 *************** *** 0 **** --- 1,25 ---- + /* Test that undefined names evaluate to zero, that macros after a + funlike macro are expanded, and that if it is a '(' the funlike + macro is not treated as such. */ + + /* { dg-do preprocess } */ + + #define f(x) x + #define h != 0 + #define i + #define paren ( + + #if f != 0 + # error /* { dg-bogus "error" "undefined name" } */ + #endif + + #if f h + # error /* { dg-bogus "error" "h not expanded" } */ + #endif + + #if f i + # error /* { dg-bogus "error" "empty macro" } */ + #endif + + #if f paren 6) /* { dg-error "missing binary" "macro-expanded parenthesis" } */ + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/hash.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/hash.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/hash.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/hash.c 2002-06-21 05:29:09.000000000 +0000 *************** *** 0 **** --- 1,14 ---- + /* Test for erroneously thinking comments are token-pastes. + From XFree86 4.0. */ + /* { dg-do preprocess } */ + + #ifndef foo + #define foo /**/ + #endif + + #ifndef foo + #define foo /* as nothing */ + #endif + + /* { dg-bogus "(start|end) of macro" "paste at end" { target *-*-* } 7 } */ + /* { dg-bogus "(start|end) of macro" "comment at end" { target *-*-* } 11 } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/include.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/include.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/include.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/include.c 2002-07-01 19:41:52.000000000 +0000 *************** *** 0 **** --- 1,9 ---- + /* Copyright (c) 2002 Free Software Foundation Inc. */ + + /* Test that macros are not expanded in the <> quotes of #inlcude. */ + + /* { dg-do preprocess } */ + + #define __STDC__ 1 /* Stop complaints about non-ISO compilers. */ + #define stdio 1 + #include /* { dg-bogus "o such file or directory" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/literals-1.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/literals-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/literals-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/literals-1.c 2002-09-15 17:51:49.000000000 +0000 *************** *** 0 **** --- 1,28 ---- + /* Test that (what looks like) comments are not recognized in literals + and that quotes within quotes do not confused the preprocessor. */ + + /* { dg-do run } */ + + extern void abort (void); + + int main () + { + const char *str1 = "/*"; + const char *str2 = "'"; + + if (str1[0] != '/' || str1[1] != '*' || str1[2] != '\0') + abort (); + + if (str2[0] != '\'' || str2[1] != '\0') + abort (); + + #if '"' != '\"' + # error /* { dg-bogus "error" "double quote in charconst" } */ + #endif + + #if !'\'' + # error quote /* { dg-bogus "quote" "quote in charconst" } */ + #endif + + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/literals-2.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/literals-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/literals-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/literals-2.c 2002-06-22 11:08:20.000000000 +0000 *************** *** 0 **** --- 1,8 ---- + /* Test that unterminated quotes in CPP expressions are + recognized. */ + + /* { dg-do preprocess } */ + + /* { dg-error "missing terminating" "bad charconst" { target *-*-* } 7 } */ + #if 'x + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/maccom1.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/maccom1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/maccom1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/maccom1.c 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,17 ---- + /* { dg-do preprocess } */ + /* { dg-options "-CC -traditional-cpp" } */ + + /* This tests to make sure that comments are ignored between # and the + directive name when the -CC option is used. + + Jason R. Thorpe, 6 Apr 2002 */ + + #/**/define def passed + + def + + /* + { dg-final { if ![file exists maccom1.i] { return } } } + { dg-final { if { [grep maccom1.i "^passed"] != "" } { return } } } + { dg-final { fail "maccom1.c: comment between # and directive name with -CC" } } + */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/maccom2.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/maccom2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/maccom2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/maccom2.c 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,18 ---- + /* { dg-do preprocess } */ + /* { dg-options "-CC -traditional-cpp" } */ + + /* This tests to make sure that comments between the #define directive + and the macro identifier are ignored (i.e. treated like whitespace) + when the -CC option is used. + + Jason R. Thorpe, 6 Apr 2002 */ + + #define/**/def passed + + def + + /* + { dg-final { if ![file exists maccom2.i] { return } } } + { dg-final { if { [grep maccom2.i "^passed"] != "" } { return } } } + { dg-final { fail "maccom2.c: comment between #define and identifier with -CC" } } + */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/maccom3.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/maccom3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/maccom3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/maccom3.c 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,17 ---- + /* { dg-do preprocess } */ + /* { dg-options "-CC -traditional-cpp" } */ + + /* This tests to make sure that comments in the definition of a macro + parameter list are ignored when the -CC option is used. + + Jason R. Thorpe, 6 Apr 2002 */ + + #define def(x /**/, y) passed + + def(x,y) + + /* + { dg-final { if ![file exists maccom3.i] { return } } } + { dg-final { if { [grep maccom3.i "^passed"] != "" } { return } } } + { dg-final { fail "maccom3.c: comment in macro parameter list with -CC" } } + */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/maccom4.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/maccom4.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/maccom4.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/maccom4.c 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,19 ---- + /* { dg-do preprocess } */ + /* { dg-options "-CC -traditional-cpp" } */ + + /* This tests to make sure the comment is saved in the macro and copied + to the output file when the macro is expanded when the -CC option is + used. + + Jason R. Thorpe, 6 Apr 2002 */ + + #define def /* passed */ + + def + + /* + /* The + in the regexp prevents it from matching itself. */ + { dg-final { if ![file exists maccom4.i] { return } } } + { dg-final { if { [grep maccom4.i "p+assed"] != "" } { return } } } + { dg-final { fail "maccom4.c: comment in macro expansion with -CC" } } + */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/maccom6.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/maccom6.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/maccom6.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/maccom6.c 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,24 ---- + /* { dg-do preprocess } */ + /* { dg-options "-CC -traditional-cpp" } */ + + /* This tests to make sure that expressions function properly + when used with macros containing comments and the -CC option + is being used. + + Jason R. Thorpe, 6 Apr 2002 */ + + #define ONE 1 /* one */ + #define TWO 2 /* two */ + #define THREE 3 /* three */ + + #if (ONE + TWO) != THREE + failed + #else + passed + #endif + + /* + { dg-final { if ![file exists maccom6.i] { return } } } + { dg-final { if { [grep maccom6.i "^passed"] != "" } { return } } } + { dg-final { fail "maccom6.c: comments in macro expressions with -CC" } } + */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/macroargs.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/macroargs.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/macroargs.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/macroargs.c 2002-07-02 22:33:38.000000000 +0000 *************** *** 0 **** --- 1,30 ---- + /* Test that whitespace in arguments is preserved, and that each + newline in macro arguments become a space. */ + + /* { dg-do run } */ + + #define f(x, y) "x y" + #define g(x) x + + extern void abort (void); + + int main () + { + const char *str1 = f( foo ,bar); + const char *str2 = f( + foo + ,bar); + + if (strcmp (str1, " foo bar")) + abort (); + + if (strcmp (str1, str2)) + abort (); + + /* Verify that quoted state is preserved over a newline. */ + if (strcmp (g /* { dg-bogus "unterminated 2" } */ ("1 + , 2"), "1 , 2")) + abort (); + + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi1.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi1.c 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,36 ---- + /* Test "ignore redundant include" facility. + + We must test with C comments, and null directives, outside + the guard conditional; also, we test guarding with #ifndef and #if + !defined. -H is used because cpp might confuse the issue by + optimizing out #line markers. This test only passes if each of the + headers is read exactly once. + + The disgusting regexp in the dg-error line, when stuck into + dg.exp's compiler-output regexp, matches the correct -H output and + only the correct -H output. It has to be all on one line because + otherwise it will not be interpreted all in one unit. */ + + /* { dg-do compile } + { dg-options "-H -traditional-cpp" } + { dg-error "mi1c\.h\n\[^\n\]*mi1nd\.h\n\[^\n\]*mi1ndp\.h\n\[^\n\]*mi1x\.h" "redundant include check" { target *-*-* } 0 } */ + + #include "mi1c.h" + #include "mi1c.h" + #include "mi1c.h" + + #include "mi1nd.h" + #include "mi1nd.h" + + #include "mi1ndp.h" + #include "mi1ndp.h" + + #define MIX_H + #include "mi1x.h" + #include "mi1x.h" + + int + main (void) + { + return a + c + d; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi1c.h gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi1c.h *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi1c.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi1c.h 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,12 ---- + /* Redundant header include test with C comments at top. */ + # /* And a null directive at the top. */ + + #ifndef CPP_MIC_H + #define CPP_MIC_H + + int a; + + #endif + + # /* And at the end, too! */ + /* And at the end too! */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi1nd.h gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi1nd.h *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi1nd.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi1nd.h 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,8 ---- + /* Redundant include check with #if !defined. */ + + #if !defined CPP_MIND_H + #define CPP_MIND_H + + int c; + + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi1ndp.h gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi1ndp.h *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi1ndp.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi1ndp.h 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,7 ---- + #if !defined ( CPP_MINDP_H) + #define CPP_MINDP_H + + /* Redundant include check with #if !defined and parentheses. */ + int d; + + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi1x.h gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi1x.h *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi1x.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi1x.h 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,9 ---- + /* This header is never to have its contents visible, but it should + still receive the optimization. */ + + #ifndef MIX_H + #define MIX_H + + #define main wibble + + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi2a.h gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi2a.h *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi2a.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi2a.h 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,5 ---- + /* Test for overly eager multiple include optimization. + Problem distilled from glibc 2.0.7's time.h, sys/time.h, timebits.h. + Problem noted by Tom Tromey . */ + + #include "mi2c.h" diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi2b.h gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi2b.h *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi2b.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi2b.h 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,6 ---- + /* Test for overly eager multiple include optimization. + Problem distilled from glibc 2.0.7's time.h, sys/time.h, timebits.h. + Problem noted by Tom Tromey . */ + + #define need_x + #include "mi2c.h" diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi2.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi2.c 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,12 ---- + /* Test for overly eager multiple include optimization. + Problem distilled from glibc 2.0.7's time.h, sys/time.h, timebits.h. + Problem noted by Tom Tromey . */ + /* { dg-do compile } */ + + #include "mi2a.h" + #include "mi2b.h" + + int main (void) + { + return x; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi2c.h gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi2c.h *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi2c.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi2c.h 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,15 ---- + /* Test for overly eager multiple include optimization. + Problem distilled from glibc 2.0.7's time.h, sys/time.h, timebits.h. + Problem noted by Tom Tromey . */ + #ifdef need_x + #undef need_x + #ifndef have_x + #define have_x + extern int x; + #endif + #endif + + #ifndef t_h + #define t_h + extern int y; + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi3.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi3.c 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,20 ---- + /* Another test case for over-eager multiple include optimization. + This one distilled from glibc's setlocale.c and categories.def. */ + /* { dg-do compile } */ + + #define X a + #include "mi3.def" + #undef X + + #define X b + #include "mi3.def" + #undef X + + #include "mi3.h" + #include "mi3.h" /* The second include declares variable c. */ + + int + main(void) + { + return a + b + c; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi3.def gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi3.def *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi3.def 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi3.def 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + /* Another test case for over-eager multiple include optimization. + This one distilled from glibc's setlocale.c and categories.def. + The #ifdef block doesn't cover the entire file, so it must not be + taken for a reinclude guard. */ + + #ifndef NO_POSTLOAD + #define NO_POSTLOAD NULL + #endif + + int X; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi3.h gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi3.h *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi3.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi3.h 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,7 ---- + /* Another test case for over-eager multiple include optimization. */ + + #ifndef GUARD + #define GUARD + #elif 1 /* #elif kills optimisation */ + int c; + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi4.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi4.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi4.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi4.c 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + /* Copyright (C) 2000 Free Software Foundation, Inc. */ + + /* { dg-do preprocess } */ + + /* Undefining a macro guard and re-including the file used to confuse + file caching in cppfiles.c, and attempt to open a bad fd. */ + + #include "mi1c.h" + #undef CPP_MIC_H + #include "mi1c.h" diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi5.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi5.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi5.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi5.c 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,13 ---- + /* Test "ignore redundant include" facility, with -C on. + + The disgusting regexp in the dg-error line, when stuck into + dg.exp's compiler-output regexp, matches the correct -H output and + only the correct -H output. It has to be all on one line because + otherwise it will not be interpreted all in one unit. */ + + /* { dg-do preprocess } + { dg-options "-H -C -traditional-cpp" } + { dg-error "mi1c\.h" "redundant include check with -C" { target *-*-* } 0 } */ + + #include "mi1c.h" + #include "mi1c.h" diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi6a.h gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi6a.h *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi6a.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi6a.h 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,5 ---- + #if NOT_DEFINED + #ifdef VAR + VAR++; + #endif + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi6b.h gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi6b.h *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi6b.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi6b.h 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,5 ---- + #if NOT defined (guard) + #ifdef VAR + VAR++; + #endif + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi6.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi6.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi6.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi6.c 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,59 ---- + /* Another test case for over-eager multiple include optimization, + where the leading "#if !defined" expression is obtained partially, + or wholly, from macros. Neil Booth, 30 Sep 2001. */ + + /* { dg-do compile } */ + /* { dg-options "" } */ + + /* Each include file should not be subject to MI optimisation, since + macro definitions can change. Each header increments the variable + VAR if it is defined. + + The first set of inclusions gets the headers into CPP's cache, but + does nothing since VAR is not defined. The second set should each + increment VAR, since none of the initial set should have been + flagged as optimizable. */ + + #define EMPTYL + #define EMPTYR + #define NOT ! + #define DEFINED defined (guard) + #define NOT_DEFINED ! defined (guard) + + #include "mi6a.h" + #include "mi6b.h" + #include "mi6c.h" + #include "mi6d.h" + #include "mi6e.h" + + /* Define the macro guard, and redefine the macros to something that + forces compilation of the conditional blocks. */ + #define guard + #undef EMPTYL + #define EMPTYL 1 || + #undef EMPTYR + #define EMPTYR || 1 + #undef NOT + #define NOT + #undef DEFINED + #define DEFINED 0 + #undef NOT_DEFINED + #define NOT_DEFINED 1 + + #define VAR five + + int + main(void) + { + unsigned int five = 0; + + #include "mi6a.h" + #include "mi6b.h" + #include "mi6c.h" + #include "mi6d.h" + #include "mi6e.h" + + if (five != 5) + abort (); + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi6c.h gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi6c.h *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi6c.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi6c.h 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,5 ---- + #if !DEFINED + #ifdef VAR + VAR++; + #endif + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi6d.h gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi6d.h *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi6d.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi6d.h 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,5 ---- + #if EMPTYL !defined (guard) + #ifdef VAR + VAR++; + #endif + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi6e.h gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi6e.h *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi6e.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi6e.h 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,5 ---- + #if !defined (guard) EMPTYR + #ifdef VAR + VAR++; + #endif + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi7a.h gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi7a.h *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi7a.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi7a.h 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,4 ---- + : + #ifndef GUARD1 + #define GUARD1 + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi7b.h gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi7b.h *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi7b.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi7b.h 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,4 ---- + #ifndef GUARD2 + #define GUARD2 + #endif + : diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi7.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi7.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/mi7.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/mi7.c 2002-06-25 06:00:28.000000000 +0000 *************** *** 0 **** --- 1,19 ---- + /* Test "ignore redundant include" facility. + + -H is used because cpp might confuse the issue by optimizing out + #line markers. This test only passes if the headers is read + twice. + + The disgusting regexp in the dg-error line, when stuck into + dg.exp's compiler-output regexp, matches the correct -H output and + only the correct -H output. It has to be all on one line because + otherwise it will not be interpreted all in one unit. */ + + /* { dg-do preprocess } + { dg-options "-H -traditional-cpp" } + { dg-error "mi7a\.h\n\[^\n\]*mi7a\.h\n\[^\n\]*mi7b\.h\n\[^\n\]*mi7b\.h" "redundant include check" { target *-*-* } 0 } */ + + #include "mi7a.h" + #include "mi7a.h" + #include "mi7b.h" + #include "mi7b.h" diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/null-drctv.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/null-drctv.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/null-drctv.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/null-drctv.c 2002-06-24 05:46:51.000000000 +0000 *************** *** 0 **** --- 1,6 ---- + /* Test that the null directive doesn't swallow the following line. */ + + /* { dg-do preprocess } */ + + # + #error OK /* { dg-error "OK" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/num-sign.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/num-sign.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/num-sign.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/num-sign.c 2002-06-21 05:29:09.000000000 +0000 *************** *** 0 **** --- 1,16 ---- + /* Copyright (C) 2001 Free Software Foundation, Inc. */ + + /* { dg-do preprocess { target i?86-*-* } } */ + + /* Tests that traditional numbers are signed, unless otherwise + specified. This test assumes a 32 bit target. + + Neil Booth, 5 Aug 2001. Inspired by PR 3824. */ + + #if 0xffffffffffffffff >= 0 + # error 0xffffffffffffffff /* { dg-bogus "0xffffffffffffffff" "0xffffffffffffffff positive" } */ + #endif + + #if 0xffffffffffffffffU <= 0 + # error 0xffffffffffffffffU /* { dg-bogus "0xffffffffffffffffU" "0xffffffffffffffffU negative" } */ + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/paste.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/paste.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/paste.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/paste.c 2002-06-21 05:29:09.000000000 +0000 *************** *** 0 **** --- 1,16 ---- + /* Test for proper comment elimination semantics from cpplib's -traditional. + This should compile and link with compiled with `gcc -traditional-cpp'. + Test case by Jason R. Thorpe . */ + + /* { dg-do compile } */ + + #define A(name) X/**/name + + #define B(name) \ + void A(Y/**/name)() { A(name)(); } + + void Xhello() { printf("hello world\n"); } + + B(hello) + + int main() { XYhello(); return (0); } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/quote.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/quote.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/quote.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/quote.c 2002-06-22 11:08:20.000000000 +0000 *************** *** 0 **** --- 1,6 ---- + /* Test that unterminated quotes are OK when only preprocessing. */ + + /* { dg-do preprocess } */ + + /* { dg-bogus "unterminated" } */ 'x + /* { dg-bogus "unterminated" } */ "x diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/recurse-1.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/recurse-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/recurse-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/recurse-1.c 2002-06-24 05:46:51.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + /* Test for warning of and recovery from recursion in object-like + macros. */ + + /* { dg-do preprocess } */ + + #define foo foo + foo /* { dg-error "detected recursion" } */ + + #define bar a bar b + bar /* { dg-error "detected recursion" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/recurse-2.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/recurse-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/recurse-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/recurse-2.c 2002-06-24 05:46:51.000000000 +0000 *************** *** 0 **** --- 1,16 ---- + /* Test for warning of and recovery from recursion in function-like + macros. */ + + /* { dg-do preprocess } */ + + #define foo() foo() + foo(); /* { dg-error "detected recursion" } */ + + #define bar() bar baz() bar + bar(); /* { dg-bogus "detected recursion" } */ + + #define baz() foo() + baz(); /* { dg-error "detected recursion" } */ + + #define a(x) x(a) + a(a); /* { dg-error "detected recursion" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/recurse-3.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/recurse-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/recurse-3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/recurse-3.c 2002-07-02 22:33:38.000000000 +0000 *************** *** 0 **** --- 1,25 ---- + /* Tests that macros that look recursive but are not are accepted. */ + + /* { dg-do preprocess } */ + + #define g(x) x + g(g(g(g(g(g(g)))))); /* { dg-bogus "detected recursion" } */ + + /* This macro gets longer with each loop, to thwart tests for + recursion based on length. */ + #define f(a,b,c,d,e,f,g,h,i) a(b,c,d,e,f,g,h,i,2 3 4 5) + f(f,f,f,f,f,f,f,f,f) /* { dg-bogus "detected recursion" } */ + + /* The above cases should be enough, but this is taken from cccp + sources so let's try it too. */ + #define foo(x,y) bar (x (y,0), y) + foo (foo, baz); /* { dg-bogus "detected recursion" } */ + + #define mac mac/**/ro + mac /* { dg-bogus "detected recursion" } */ + + #define mac2 mac2 + "mac2" /* { dg-bogus "detected recursion" } */ + + #define macro "macro + macro mac2 /* { dg-bogus "detected recursion" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/redef1.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/redef1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/redef1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/redef1.c 2002-06-21 05:29:09.000000000 +0000 *************** *** 0 **** --- 1,36 ---- + /* Test for redefining traditional macros with insignificant + (i.e. whitespace) differences. */ + + /* { dg-do preprocess } */ + + + #define foo bar + #define /* x */ foo /* x */ bar /* x */ + + #define quux(thud) a one and a thud and a two + #define /**/ quux( thud ) /**/ a one and a /**/ thud /**/ and /**/ a two + #define quux(thud) a one and a thud and a two /* bah */ + + #define f(x, y)x "x y z" y + #define f(x, y) x "x y z" y + + #define baz() whiz bang + #define baz() whiz bang + + #define g foo + #undef g + #define g + + /* { dg-bogus "redefined" "foo redefined" { target *-*-* } 8 } */ + /* { dg-bogus "redefined" "quux redefined" { target *-*-* } 11 } */ + /* { dg-bogus "redefined" "quux redefined" { target *-*-* } 12 } */ + /* { dg-bogus "redefined" "f redefined" { target *-*-* } 15 } */ + /* { dg-bogus "redefined" "baz redefined" { target *-*-* } 18 } */ + /* { dg-bogus "redefined" "g redefined" { target *-*-* } 22 } */ + + /* { dg-bogus "previous def" "foo prev def" { target *-*-* } 7 } */ + /* { dg-bogus "previous def" "quux prev def" { target *-*-* } 10 } */ + /* { dg-bogus "previous def" "quux prev def" { target *-*-* } 11 } */ + /* { dg-bogus "previous def" "f prev def" { target *-*-* } 14 } */ + /* { dg-bogus "previous def" "baz prev def" { target *-*-* } 17 } */ + /* { dg-bogus "previous def" "g prev def" { target *-*-* } 20 } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/redef2.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/redef2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/redef2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/redef2.c 2002-06-21 05:29:09.000000000 +0000 *************** *** 0 **** --- 1,32 ---- + /* Test for redefining traditional macros with significant differences. */ + + /* { dg-do preprocess } */ + + #define foo bar /* { dg-warning "previous def" "foo prev def" } */ + #define foo barr /* { dg-warning "redefined" "foo redefined" } */ + + #undef foo + #define foo bar /* { dg-warning "previous def" "foo prev def 2" } */ + #define foo() bar /* { dg-warning "redefined" "foo redefined 2" } */ + + #undef foo + #define foo() bar /* { dg-warning "previous def" "foo prev def" } */ + #define foo() barr /* { dg-warning "redefined" "foo redefined" } */ + + #define quux(thud) a thud b /* { dg-warning "previous def" "quux prev def" } */ + #define quux(thu) a thud b /* { dg-warning "redefined" "quux redefined" } */ + + #define bar(x, y) x+y /* { dg-warning "previous def" "bar prev def" } */ + #define bar(x, y) x+x /* { dg-warning "redefined" "bar redefined" } */ + + #define bat(x, y) x+y /* { dg-warning "previous def" "bat prev def" } */ + #define bat(x, y) x+ y /* { dg-warning "redefined" "bat redefined" } */ + + #define baz(x, y) x+y /* { dg-warning "previous def" "baz prev def" } */ + #define baz(x, y) x +y /* { dg-warning "redefined" "baz redefined" } */ + + #define f(x, y) "x y" /* { dg-warning "previous def" "f prev def" } */ + #define f(x, y) "x y" /* { dg-warning "redefined" "f redefined" } */ + + #define g(x, y) 'x' /* { dg-warning "previous def" "g prev def" } */ + #define g(x, y) ' x' /* { dg-warning "redefined" "g redefined" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/__STDC__.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/__STDC__.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/__STDC__.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/__STDC__.c 2002-06-21 05:29:09.000000000 +0000 *************** *** 0 **** --- 1,7 ---- + /* Test that __STDC__ is not defined. */ + + /* { dg-do preprocess } */ + + #if defined __STDC__ + # error __STDC__ defined /* { dg-bogus "__STDC__" "__STDC__ defined" } */ + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/strify.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/strify.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/strify.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/strify.c 2002-06-21 05:29:09.000000000 +0000 *************** *** 0 **** --- 1,17 ---- + /* Test whether traditional stringify works. */ + /* { dg-do run } */ + + #define foo(a, b) c="a"; d="b"; + + extern void abort (); + + int main () + { + char *c, *d; + + foo (p,q); + if (c[0] != 'p' || d[0] != 'q') + abort (); + + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/trad.exp gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/trad.exp *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/trad.exp 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/trad.exp 2002-06-21 05:29:09.000000000 +0000 *************** *** 0 **** --- 1,43 ---- + # Copyright (C) 1997, 2000 Free Software Foundation, Inc. + + # 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, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + # GCC testsuite that uses the `dg.exp' driver. + + # There's a bunch of headers we need. + if [is_remote host] { + foreach header [glob -nocomplain $srcdir/$subdir/*.{h,def} ] { + remote_download host $header + } + } + + # Load support procs. + load_lib gcc-dg.exp + + # If a testcase doesn't have special options, use these. + global DEFAULT_TRADCPPFLAGS + if ![info exists DEFAULT_TRADCPPFLAGS] then { + set DEFAULT_TRADCPPFLAGS " -traditional-cpp" + } + + # Initialize `dg'. + dg-init + + # Main loop. + dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] \ + "" $DEFAULT_TRADCPPFLAGS + + # All done. + dg-finish diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/uchar.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/uchar.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/uchar.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/uchar.c 2002-06-21 05:29:09.000000000 +0000 *************** *** 0 **** --- 1,8 ---- + /* Copyright (C) 2002 Free Software Foundation, Inc. */ + + /* { dg-do preprocess } */ + /* { dg-options "-funsigned-char -fsigned-char -traditional-cpp" } */ + + #if defined (__CHAR_UNSIGNED__) + # error __CHAR_UNSIGNED__ defined + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/Wunused.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/Wunused.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/Wunused.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/Wunused.c 2002-07-26 16:34:09.000000000 +0000 *************** *** 0 **** --- 1,37 ---- + /* Copyright (C) 2002 Free Software Foundation, Inc. */ + + /* { dg-do preprocess } */ + /* { dg-options "-Wunused-macros -traditional-cpp" } */ + + /* Test everything related to -Wunused-macros. + + Source: Neil Booth, 23 Jul 2002. */ + + #include "Wunused.h" + + #define used1 /* { dg-bogus "used" } */ + #define used2 /* { dg-bogus "used" } */ + #define used3 /* { dg-bogus "used" } */ + #define used4 something /* { dg-bogus "used" } */ + + #define unused5 /* { dg-warning "used" } */ + #define unused6 /* { dg-warning "used" } */ + #define unused7() /* { dg-warning "used" } */ + + #if defined used1 + #endif + #ifdef used2 + #endif + #ifndef used3 + #endif + used4 + + unused7; /* This does not count as a use. */ + + #if 0 + unused5 /* This does not count as a use. */ + #endif + + #undef unused5 + #define unused6 + unused6 diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/Wunused.h gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/Wunused.h *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/trad/Wunused.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/trad/Wunused.h 2002-07-23 22:57:49.000000000 +0000 *************** *** 0 **** --- 1 ---- + #define unused_but_ok diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/tr-define.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/tr-define.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/tr-define.c 2001-05-02 20:50:01.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/tr-define.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,2 **** - /* { dg-do preprocess } */ - /* { dg-options "-traditional -DDEFINE1DEFINE -DDEFINE2DEFIN=" } */ --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/tr-direct.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/tr-direct.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/tr-direct.c 2000-12-13 07:28:54.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/tr-direct.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,11 **** - /* Test for some basic aspects of -traditional directive processing. */ - - /* { dg-do preprocess } */ - /* { dg-options -traditional } */ - - /* There is a #error directive. */ - - #error bad /* { dg-error "bad" } */ - - /* Directives with their #s indented are not recognized. */ - #if 0 /* { dg-bogus "unterminated" } */ --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/tr-sign.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/tr-sign.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/tr-sign.c 2001-08-05 21:31:30.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/tr-sign.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,18 **** - /* Copyright (C) 2001 Free Software Foundation, Inc. */ - - /* { dg-do preprocess { target i?86-*-* } } */ - - /* { dg-options "-traditional" } */ - - /* Tests that traditional numbers are signed, unless otherwise - specified. This test assumes a 32 bit target. - - Neil Booth, 5 Aug 2001. Inspired by PR 3824. */ - - #if 0xffffffff >= 0 - # error 0xffffffff /* { dg-bogus "0xffffffff" "0xffffffff positive" } */ - #endif - - #if 0xffffffffU <= 0 - # error 0xffffffffU /* { dg-bogus "0xffffffffU" "0xffffffffU negative" } */ - #endif --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/tr-str.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/tr-str.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/tr-str.c 2001-11-18 17:16:24.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/tr-str.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,17 **** - /* Test whether traditional stringify works. */ - /* { dg-do run } */ - /* { dg-options "-traditional-cpp" } */ - #define foo(a, b) c="a"; d="b"; - - extern void abort (); - - int main () - { - char *c, *d; - - foo (p, q); - if (c[0] != 'p' || d[0] != 'q') - abort (); - - exit (0); - } --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/tr-warn2.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/tr-warn2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/tr-warn2.c 2000-06-27 22:26:11.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/tr-warn2.c 2002-09-20 21:21:10.000000000 +0000 *************** *** 1,14 **** /* K+R rejects use of function-like macros in non-function context. ! ANSI C explicitly permits this (the macro is not expanded). */ ! ! /* { dg-do compile } */ ! /* { dg-options -Wtraditional } */ ! enum { SIGN_EXTEND = 23 }; ! #define SIGN_EXTEND(v) (((v) < 0) ? -1 : 0) ! int fun(void) ! { ! return SIGN_EXTEND; /* { dg-warning "must be used with arguments" } */ ! } --- 1,18 ---- /* K+R rejects use of function-like macros in non-function context. ! ANSI C explicitly permits this (the macro is not expanded). ! We should not warn about this during pre-expansion of arguments, ! since traditional preprocessors don't do pre-expansion, and we get ! the warning anyway during the re-scan pass if and only if it is ! appropriate. */ ! /* { dg-do preprocess } */ ! /* { dg-options -Wtraditional } */ ! #define f(x) x ! #define g(x) x / 2 ! #define h(a, b) a(b) ! f(g) (3) /* { dg-bogus "must be used with arguments" } */ ! f 2 /* { dg-warning "must be used with arguments" } */ ! f(g) 3 /* { dg-warning "must be used with arguments" } */ ! h(f, 3) /* { dg-bogus "must be used with arguments" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/uchar-2.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/uchar-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/uchar-2.c 2002-02-02 18:56:37.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/uchar-2.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,8 **** - /* Copyright (C) 2002 Free Software Foundation, Inc. */ - - /* { dg-do preprocess } */ - /* { dg-options "-funsigned-char -fsigned-char -traditional" } */ - - #if defined (__CHAR_UNSIGNED__) - # error __CHAR_UNSIGNED__ defined - #endif --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/undef1.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/undef1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/undef1.c 2001-09-13 20:05:17.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/undef1.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,14 **** - /* { dg-do preprocess } */ - - /* 6.9.3.11: ...If there are sequences of preprocessing tokens within - the list of arguments that would otherwise act as preprocessing - directives, the behavior is undefined. - - I choose to make this a hard error. It definitely should not cause - a core dump. */ - - #define foo(bar) bar - - foo( blah /* { dg-error "unterminated" "" } */ - #undef foo /* { dg-error "may not be used inside" "foo(#undef foo)" } */ - blah ) --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/Wsignprom.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/Wsignprom.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/Wsignprom.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/Wsignprom.c 2002-07-20 13:31:56.000000000 +0000 *************** *** 0 **** --- 1,26 ---- + /* { dg-do preprocess } */ + /* { dg-options "-Wall" } */ + + /* Test that -Wall emits the warnings about integer promotion changing + the sign of an operand. */ + + #if -1 > 0U /* { dg-warning "changes sign when promoted" } */ + #endif + + #if 0U + -1 /* { dg-warning "changes sign when promoted" } */ + #endif + + #if 0U * -1 /* { dg-warning "changes sign when promoted" } */ + #endif + + #if 1U / -2 /* { dg-warning "changes sign when promoted" } */ + #endif + + #if -1 % 1U /* { dg-warning "changes sign when promoted" } */ + #endif + + #if 1 ? 0U : -1 /* { dg-warning "changes sign when promoted" } */ + #endif + + #if 1 ? -1 : 0U /* { dg-warning "changes sign when promoted" } */ + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/Wunused.c gcc-3.3/gcc/testsuite/gcc.dg/cpp/Wunused.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/Wunused.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/Wunused.c 2003-03-08 13:40:42.000000000 +0000 *************** *** 0 **** --- 1,38 ---- + /* Copyright (C) 2002, 2003 Free Software Foundation, Inc. */ + + /* { dg-do preprocess } */ + /* Duplicate command line options should not warn. */ + /* { dg-options "-Wunused-macros -Dfoo -Dfoo" } */ + + /* Test everything related to -Wunused-macros. + + Source: Neil Booth, 23 Jul 2002. */ + + #include "Wunused.h" + + #define used1 /* { dg-bogus "used" } */ + #define used2 /* { dg-bogus "used" } */ + #define used3 /* { dg-bogus "used" } */ + #define used4 used4 /* { dg-bogus "used" } */ + + #define unused5 /* { dg-warning "used" } */ + #define unused6 /* { dg-warning "used" } */ + #define unused7() /* { dg-warning "used" } */ + + #if defined used1 + #endif + #ifdef used2 + #endif + #ifndef used3 + #endif + used4 + + unused7 /* This does not count as a use. */ + + #if 0 + unused5 /* This does not count as a use. */ + #endif + #undef unused5 + + #define unused6 + unused6 diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/Wunused.h gcc-3.3/gcc/testsuite/gcc.dg/cpp/Wunused.h *** gcc-3.2.3/gcc/testsuite/gcc.dg/cpp/Wunused.h 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/cpp/Wunused.h 2002-07-23 22:57:49.000000000 +0000 *************** *** 0 **** --- 1 ---- + #define unused_but_ok diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/darwin-ld-1.c gcc-3.3/gcc/testsuite/gcc.dg/darwin-ld-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/darwin-ld-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/darwin-ld-1.c 2002-12-12 22:23:45.000000000 +0000 *************** *** 0 **** --- 1,11 ---- + /* Test Darwin linker option -all_load. */ + /* Developed by Devang Patel . */ + + /* { dg-options "-all_load" } */ + /* { dg-do link { target *-*-darwin* } } */ + + int main() + { + return 0; + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/darwin-ld-2.c gcc-3.3/gcc/testsuite/gcc.dg/darwin-ld-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/darwin-ld-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/darwin-ld-2.c 2002-12-12 22:23:45.000000000 +0000 *************** *** 0 **** --- 1,11 ---- + /* Test Darwin linker option -bind_at_load. */ + /* Developed by Devang Patel . */ + + /* { dg-options "-bind_at_load" } */ + /* { dg-do link { target powerpc-*-darwin* } } */ + + int main() + { + return 0; + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/darwin-ld-3.c gcc-3.3/gcc/testsuite/gcc.dg/darwin-ld-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/darwin-ld-3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/darwin-ld-3.c 2002-12-12 22:23:45.000000000 +0000 *************** *** 0 **** --- 1,12 ---- + + /* Test Darwin linker option -arch_errors_fatal. */ + /* Developed by Devang Patel . */ + + /* { dg-options "-arch_errors_fatal" } */ + /* { dg-do link { target *-*-darwin* } } */ + + int main() + { + return 0; + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/darwin-ld-4.c gcc-3.3/gcc/testsuite/gcc.dg/darwin-ld-4.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/darwin-ld-4.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/darwin-ld-4.c 2002-12-12 22:23:45.000000000 +0000 *************** *** 0 **** --- 1,11 ---- + /* Test Darwin linker option -bundle. */ + /* Developed by Devang Patel . */ + + /* { dg-options "-bundle" } */ + /* { dg-do link { target powerpc-*-darwin* } } */ + + int main() + { + return 0; + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/darwin-ld-5.c gcc-3.3/gcc/testsuite/gcc.dg/darwin-ld-5.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/darwin-ld-5.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/darwin-ld-5.c 2002-12-20 01:49:57.000000000 +0000 *************** *** 0 **** --- 1,11 ---- + /* Test Darwin linker option -dynamic. */ + /* Developed by Devang Patel . */ + + /* { dg-options "-dynamic" } */ + /* { dg-do link { target *-*-darwin* } } */ + + int main() + { + return 0; + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/dll-2.c gcc-3.3/gcc/testsuite/gcc.dg/dll-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/dll-2.c 1998-12-16 22:23:25.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/dll-2.c 2002-09-16 13:29:49.000000000 +0000 *************** *** 1,5 **** /* These dllimport and dllexport appearing for a symbol. ! The desired behaviour is that if both dllimport and dllexport appear (in either order) the result is dllexport. Microsoft's MSVC 2.0 allows dllimport followed by dllexport for variables, --- 1,5 ---- /* These dllimport and dllexport appearing for a symbol. ! The desired behavior is that if both dllimport and dllexport appear (in either order) the result is dllexport. Microsoft's MSVC 2.0 allows dllimport followed by dllexport for variables, diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/doloop-1.c gcc-3.3/gcc/testsuite/gcc.dg/doloop-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/doloop-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/doloop-1.c 2002-09-17 21:25:13.000000000 +0000 *************** *** 0 **** --- 1,18 ---- + /* Make sure both loops are recognized as doloops. + If so, "bdnz" will be generated on ppc; if not, + you will get "ble". */ + + /* { dg-do compile { target powerpc-*-* } } */ + /* { dg-options "-O2" } */ + void foo (int count, char* pca, char* pcb) { + int i; + if (count > 10) + for (i = 0; i < count; ++i) + pcb += i; + else + for (i = 0; i < count; ++i) + pca += i; + *pca = *pcb; + } + /* { dg-final { scan-assembler "bdnz" } } */ + /* { dg-final { scan-assembler-not "blt" } } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/duff-1.c gcc-3.3/gcc/testsuite/gcc.dg/duff-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/duff-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/duff-1.c 2002-11-19 04:27:13.000000000 +0000 *************** *** 0 **** --- 1,50 ---- + /* Duff's device is legal C; test to make sure the compiler + doesn't complain about it. + + Jason Thorpe + Derived from PR 3846. */ + + /* { dg-do run } */ + /* { dg-options "-O2" } */ + + extern void abort (void); + extern void exit (int); + + typedef __SIZE_TYPE__ size_t; + extern int memcmp (const void *, const void *, size_t); + + void + duffcpy (char *dst, const char *src, unsigned long size) + { + switch (size & 3) + { + for (;;) + { + *dst++ = *src++; + case 3: + *dst++ = *src++; + case 2: + *dst++ = *src++; + case 1: + *dst++ = *src++; + case 0: + if (size <= 3) + break; + size -= 4; + } + } + } + + const char testpat[] = "The quick brown fox jumped over the lazy dog."; + + int + main() + { + char buf[64]; + + duffcpy (buf, testpat, sizeof (testpat)); + if (memcmp (buf, testpat, sizeof (testpat)) != 0) + abort (); + + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/duff-2.c gcc-3.3/gcc/testsuite/gcc.dg/duff-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/duff-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/duff-2.c 2002-11-19 04:27:13.000000000 +0000 *************** *** 0 **** --- 1,60 ---- + /* Duff's device is legal C; test to make sure the compiler + doesn't complain about it. + + Jason Thorpe + Derived from the BSD Telnet Kerberos 4 checksum routine. + See also PR 5230. */ + + /* { dg-do run } */ + /* { dg-options "-O2" } */ + + extern void abort (void); + extern void exit (int); + + #if __INT_MAX__ >= 2147483647 + /* At least 32-bit integers. */ + typedef int type32; + #else + typedef long type32; + #endif + + type32 + cksum (const unsigned char *src, unsigned long size) + { + type32 ck = 0; + + switch (size & 3) + { + while (size > 0) + { + case 0: + ck ^= (type32)*src++ << 24; + --size; + case 3: + ck ^= (type32)*src++ << 16; + --size; + case 2: + ck ^= (type32)*src++ << 8; + --size; + case 1: + ck ^= (type32)*src++; + --size; + } + } + + return ck; + } + + const char testpat[] = "The quick brown fox jumped over the lazy dog."; + + int + main() + { + type32 ck; + + ck = cksum ((const unsigned char *) testpat, sizeof (testpat)); + if (ck != 925902908) + abort (); + + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/duff-3.c gcc-3.3/gcc/testsuite/gcc.dg/duff-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/duff-3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/duff-3.c 2002-11-19 04:27:13.000000000 +0000 *************** *** 0 **** --- 1,47 ---- + /* Duff's device is legal C; test to make sure the compiler + doesn't complain about it. + + Jason Thorpe + Derived from Tom Duff's original usenet message about the device. */ + + /* { dg-do run } */ + /* { dg-options "-O2" } */ + + extern void abort (void); + extern void exit (int); + + typedef __SIZE_TYPE__ size_t; + extern int memcmp (const void *, const void *, size_t); + + void + duffcpy (char *dst, const char *src, unsigned long size) + { + unsigned long n = (size + 7) / 8; + + switch (size % 8) + { + case 0: do { *dst++ = *src++; + case 7: *dst++ = *src++; + case 6: *dst++ = *src++; + case 5: *dst++ = *src++; + case 4: *dst++ = *src++; + case 3: *dst++ = *src++; + case 2: *dst++ = *src++; + case 1: *dst++ = *src++; + } while (--n > 0); + } + } + + const char testpat[] = "The quick brown fox jumped over the lazy dog."; + + int + main() + { + char buf[64]; + + duffcpy (buf, testpat, sizeof (testpat)); + if (memcmp (buf, testpat, sizeof (testpat)) != 0) + abort (); + + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/empty1.c gcc-3.3/gcc/testsuite/gcc.dg/empty1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/empty1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/empty1.c 2002-10-01 22:23:55.000000000 +0000 *************** *** 0 **** --- 1,11 ---- + /* { dg-do run } */ + /* { dg-options "" } */ + + struct S { int : 0; }; + union U { int : 0; }; + + int main () { + if (__alignof__ (struct S) != __alignof__ (union U)) + return 1; + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/ext-glob.c gcc-3.3/gcc/testsuite/gcc.dg/ext-glob.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/ext-glob.c 2001-11-18 17:16:24.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/ext-glob.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,19 **** - /* Test for the warning about external functions with non-global - types. In -traditional mode, these functions are globally visible - even if declared in an inner scope, so their return types should - also be visible. */ - - /* { dg-do compile } */ - /* { dg-options -traditional } */ - /* { dg-warning "-traditional is deprecated" "deprecation warning" { target *-*-* } 0 } */ - - int - main () - { - struct foo { int a, b; }; - - extern struct foo *bar(); /* { dg-warning "type of external" "good warn" } */ - extern int baz(); /* { dg-bogus "type of external" "bad warn" } */ - - return 0; - } --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/fastmath-1.c gcc-3.3/gcc/testsuite/gcc.dg/fastmath-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/fastmath-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/fastmath-1.c 2002-10-23 17:05:02.000000000 +0000 *************** *** 0 **** --- 1,24 ---- + /* { dg-do run } */ + /* { dg-options "-O2 -ffast-math" } */ + + int foo ( float* dists, int k) + { + if ( ( dists [ 0 ] > 0 ) == ( dists [ 1 ] > 0 ) ) + return k; + return 0; + } + main() { + float dists[16] = { 0., 1., 1., 0., 0., -1., -1., 0., + 1., 1., 1., -1., -1., 1., -1., -1. }; + if ( foo(&dists[0], 1) + + foo(&dists[2], 2) + + foo(&dists[4], 4) + + foo(&dists[6], 8) + + foo(&dists[8], 16) + + foo(&dists[10], 32) + + foo(&dists[12], 64) + + foo(&dists[14], 128) + != 156) + abort(); + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/fnegate-1.c gcc-3.3/gcc/testsuite/gcc.dg/fnegate-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/fnegate-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/fnegate-1.c 2002-06-01 16:56:08.000000000 +0000 *************** *** 0 **** --- 1,113 ---- + /* Copyright (C) 2002 Free Software Foundation. + + Test floating point negation produces the expected results. + + Written by Roger Sayle, 21st May 2002. */ + + /* { dg-do run } */ + /* { dg-options "-O2 -ffast-math" } */ + + extern void abort (); + + + double + dneg (double x) + { + return -x; + } + + double + dmult (double x) + { + return -1.0 * x; + } + + double + ddiv (double x) + { + return x / -1.0; + } + + + float + fneg (float x) + { + return -x; + } + + float + fmult (float x) + { + return -1.0f * x; + } + + float + fdiv (float x) + { + return x / -1.0f; + } + + + void + ftest(float src, float dst) + { + if (fneg (src) != dst) + abort (); + + if (src != fneg (dst)) + abort (); + + if (fmult (src) != dst) + abort (); + + if (src != fmult (dst)) + abort (); + + if (fdiv (src) != dst) + abort (); + + if (src != fdiv(dst)) + abort (); + } + + void + dtest(double src, double dst) + { + if (dneg (src) != dst) + abort (); + + if (src != dneg (dst)) + abort (); + + if (dmult (src) != dst) + abort (); + + if (src != dmult (dst)) + abort (); + + if (ddiv (src) != dst) + abort (); + + if (src != ddiv(dst)) + abort (); + } + + + int + main () + { + ftest (1.0f, -1.0f); + ftest (2.0f, -2.0f); + ftest (-3.0f, 3.0f); + ftest (0.0f, -0.0f); + ftest (-0.0f, 0.0f); + + dtest (1.0, -1.0); + dtest (2.0, -2.0); + dtest (-3.0, 3.0); + dtest (0.0, -0.0); + dtest (-0.0, 0.0); + + return 0; + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/format/attr-3.c gcc-3.3/gcc/testsuite/gcc.dg/format/attr-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/format/attr-3.c 2001-10-02 07:19:47.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/format/attr-3.c 2002-09-15 17:51:50.000000000 +0000 *************** struct s1 { int i; } __attribute__((form *** 33,39 **** union u1 { int i; } __attribute__((format_arg(1))); /* { dg-error "does not apply|only applies" "format_arg on union" } */ enum e1 { E1V0 } __attribute__((format_arg(1))); /* { dg-error "does not apply|only applies" "format_arg on enum" } */ ! /* The format type must be an identifier, one of those recognised. */ extern void fe0 (const char *, ...) __attribute__((format(12345, 1, 2))); /* { dg-error "format specifier" "non-id format" } */ extern void fe1 (const char *, ...) __attribute__((format(nosuch, 1, 2))); /* { dg-warning "format function type" "unknown format" } */ --- 33,39 ---- union u1 { int i; } __attribute__((format_arg(1))); /* { dg-error "does not apply|only applies" "format_arg on union" } */ enum e1 { E1V0 } __attribute__((format_arg(1))); /* { dg-error "does not apply|only applies" "format_arg on enum" } */ ! /* The format type must be an identifier, one of those recognized. */ extern void fe0 (const char *, ...) __attribute__((format(12345, 1, 2))); /* { dg-error "format specifier" "non-id format" } */ extern void fe1 (const char *, ...) __attribute__((format(nosuch, 1, 2))); /* { dg-warning "format function type" "unknown format" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/format/attr-5.c gcc-3.3/gcc/testsuite/gcc.dg/format/attr-5.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/format/attr-5.c 2001-10-02 07:12:24.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/format/attr-5.c 2003-03-04 14:37:23.000000000 +0000 *************** static int scanf(const char *restrict, . *** 11,17 **** /* This sscanf declaration doesn't have variable arguments, so isn't compatible with a format attribute. */ ! extern int sscanf(const char *restrict, const char *restrict, int *); void foo (const char *s, int *p) --- 11,17 ---- /* This sscanf declaration doesn't have variable arguments, so isn't compatible with a format attribute. */ ! extern int sscanf(const char *restrict, const char *restrict, int *); /* { dg-warning "conflict" "conflict" } */ void foo (const char *s, int *p) diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/format/c90-printf-1.c gcc-3.3/gcc/testsuite/gcc.dg/format/c90-printf-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/format/c90-printf-1.c 2001-01-07 10:44:59.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/format/c90-printf-1.c 2002-09-16 13:29:50.000000000 +0000 *************** *** 1,6 **** /* Test for printf formats. Formats using C90 features, including cases where C90 specifies some aspect of the format to be ignored or where ! the behaviour is undefined. */ /* Origin: Joseph Myers */ /* { dg-do compile } */ --- 1,6 ---- /* Test for printf formats. Formats using C90 features, including cases where C90 specifies some aspect of the format to be ignored or where ! the behavior is undefined. */ /* Origin: Joseph Myers */ /* { dg-do compile } */ *************** foo (int i, int i1, int i2, unsigned int *** 203,216 **** printf ("%p%p%p%p", s, ss, us, css); /* %s allows any character type. */ printf ("%s%s%s%s", s, ss, us, css); ! /* Warning for void * arguments for %s is GCC's historical behaviour, and seems useful to keep, even if some standard versions might be read to permit it. */ printf ("%s", p); /* { dg-warning "format" "bad argument types" } */ ! /* The historical behaviour is to allow signed / unsigned types interchangably as arguments. For values representable in both types, ! such usage may be correct. For now preserve the behaviour of GCC in such cases. */ printf ("%d", u); --- 203,216 ---- printf ("%p%p%p%p", s, ss, us, css); /* %s allows any character type. */ printf ("%s%s%s%s", s, ss, us, css); ! /* Warning for void * arguments for %s is GCC's historical behavior, and seems useful to keep, even if some standard versions might be read to permit it. */ printf ("%s", p); /* { dg-warning "format" "bad argument types" } */ ! /* The historical behavior is to allow signed / unsigned types interchangably as arguments. For values representable in both types, ! such usage may be correct. For now preserve the behavior of GCC in such cases. */ printf ("%d", u); diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/format/c90-scanf-1.c gcc-3.3/gcc/testsuite/gcc.dg/format/c90-scanf-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/format/c90-scanf-1.c 2001-01-07 10:44:59.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/format/c90-scanf-1.c 2002-09-16 13:29:50.000000000 +0000 *************** *** 1,6 **** /* Test for scanf formats. Formats using C90 features, including cases where C90 specifies some aspect of the format to be ignored or where ! the behaviour is undefined. */ /* Origin: Joseph Myers */ /* { dg-do compile } */ --- 1,6 ---- /* Test for scanf formats. Formats using C90 features, including cases where C90 specifies some aspect of the format to be ignored or where ! the behavior is undefined. */ /* Origin: Joseph Myers */ /* { dg-do compile } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/format/c90-scanf-3.c gcc-3.3/gcc/testsuite/gcc.dg/format/c90-scanf-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/format/c90-scanf-3.c 2001-01-07 10:44:59.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/format/c90-scanf-3.c 2002-09-15 17:51:50.000000000 +0000 *************** *** 10,16 **** void foo (char **sp, wchar_t **lsp) { ! /* %a formats for allocation, only recognised in C90 mode, are a GNU extension. */ scanf ("%as", sp); /* { dg-warning "C" "%as" } */ --- 10,16 ---- void foo (char **sp, wchar_t **lsp) { ! /* %a formats for allocation, only recognized in C90 mode, are a GNU extension. */ scanf ("%as", sp); /* { dg-warning "C" "%as" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/format/c99-printf-1.c gcc-3.3/gcc/testsuite/gcc.dg/format/c99-printf-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/format/c99-printf-1.c 2001-01-07 10:44:59.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/format/c99-printf-1.c 2002-09-16 13:29:50.000000000 +0000 *************** *** 1,6 **** /* Test for printf formats. Formats using C99 features, including cases where C99 specifies some aspect of the format to be ignored or where ! the behaviour is undefined. */ /* Origin: Joseph Myers */ /* { dg-do compile } */ --- 1,6 ---- /* Test for printf formats. Formats using C99 features, including cases where C99 specifies some aspect of the format to be ignored or where ! the behavior is undefined. */ /* Origin: Joseph Myers */ /* { dg-do compile } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/format/c99-scanf-1.c gcc-3.3/gcc/testsuite/gcc.dg/format/c99-scanf-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/format/c99-scanf-1.c 2001-01-07 10:44:59.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/format/c99-scanf-1.c 2002-09-16 13:29:50.000000000 +0000 *************** *** 1,6 **** /* Test for scanf formats. Formats using C99 features, including cases where C99 specifies some aspect of the format to be ignored or where ! the behaviour is undefined. */ /* Origin: Joseph Myers */ /* { dg-do compile } */ --- 1,6 ---- /* Test for scanf formats. Formats using C99 features, including cases where C99 specifies some aspect of the format to be ignored or where ! the behavior is undefined. */ /* Origin: Joseph Myers */ /* { dg-do compile } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/format/ext-4.c gcc-3.3/gcc/testsuite/gcc.dg/format/ext-4.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/format/ext-4.c 2001-01-07 10:44:59.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/format/ext-4.c 2002-09-15 17:51:50.000000000 +0000 *************** *** 8,14 **** void foo (char **sp, wchar_t **lsp) { ! /* %a formats for allocation, only recognised in C90 mode, are a GNU extension. Followed by other characters, %a is not treated specially. */ --- 8,14 ---- void foo (char **sp, wchar_t **lsp) { ! /* %a formats for allocation, only recognized in C90 mode, are a GNU extension. Followed by other characters, %a is not treated specially. */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/format/null-1.c gcc-3.3/gcc/testsuite/gcc.dg/format/null-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/format/null-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/format/null-1.c 2002-05-23 18:32:12.000000000 +0000 *************** *** 0 **** --- 1,27 ---- + /* Test for some aspects of null format string handling. */ + /* Origin: Jason Thorpe */ + /* { dg-do compile } */ + /* { dg-options "-std=gnu99 -Wformat" } */ + + #include "format.h" + + extern void my_printf (const char *, ...) __attribute__((format(printf,1,2))); + extern const char *my_format (const char *, const char *) + __attribute__((format_arg(2))); + + void + foo (int i1) + { + /* Warning about a null format string has been decoupled from the actual + format check. However, we still expect to be warned about any excess + arguments after a null format string. */ + my_printf (NULL); + my_printf (NULL, i1); /* { dg-warning "too many" "null format with arguments" } */ + + my_printf (my_format ("", NULL)); + my_printf (my_format ("", NULL), i1); /* { dg-warning "too many" "null format_arg with arguments" } */ + + /* While my_printf allows a null argument, dgettext does not, so we expect + a null argument warning here. */ + my_printf (dgettext ("", NULL)); /* { dg-warning "null" "null format with dgettext" } */ + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/format/xopen-2.c gcc-3.3/gcc/testsuite/gcc.dg/format/xopen-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/format/xopen-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/format/xopen-2.c 2002-05-03 20:17:57.000000000 +0000 *************** *** 0 **** --- 1,21 ---- + /* Test for X/Open format extensions, as found in the + Single Unix Specification. Test for bug reported by + Pierre-Canalsat PETIT + in PR c/6547. The test for absence of a parameter for a * width was done + too early in the case of operand numbers and vprintf formats. + */ + /* Origin: Joseph Myers */ + /* { dg-do compile } */ + /* { dg-options "-std=gnu99 -Wformat" } */ + + #include "format.h" + + void vbar (va_list, const char *) __attribute__((__format__(__printf__, 2, 0))); + + void + foo (int i, int j, va_list va) + { + printf("%2$*1$c", i, j); + printf("%2$*1$c %2$*1$c", i, j); /* { dg-bogus "too few" "bogus too few dollar" } */ + vbar(va, "%*s"); /* { dg-bogus "too few" "bogus too few vprintf" } */ + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/format/zero-length-1.c gcc-3.3/gcc/testsuite/gcc.dg/format/zero-length-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/format/zero-length-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/format/zero-length-1.c 2002-05-18 19:02:03.000000000 +0000 *************** *** 0 **** --- 1,15 ---- + /* Test the -Wno-format-zero-length option, which suppresses warnings + about zero-length formats. */ + /* Origin: Jason Thorpe */ + /* { dg-do compile } */ + /* { dg-options "-std=iso9899:1990 -pedantic -Wformat -Wno-format-zero-length" } */ + + #include "format.h" + + void + foo (void) + { + /* See ISO/IEC 9899:1990 (E) subclause 7.9.6.1 (pages 131-134). */ + /* Zero-length format strings are allowed. */ + printf (""); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/fshort-wchar.c gcc-3.3/gcc/testsuite/gcc.dg/fshort-wchar.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/fshort-wchar.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/fshort-wchar.c 2002-12-11 06:36:17.000000000 +0000 *************** *** 0 **** --- 1,18 ---- + /* Copyright (C) 2002 Free Software Foundation, Inc. */ + + /* { dg-do run } */ + /* { dg-options "-fshort-wchar" } */ + + /* Source: Neil Booth, 10 Dec 2002. + + Test that __WCHAR_MAX__ is correct with -fshort-wchar. */ + + int main () + { + __WCHAR_TYPE__ w = ~(__WCHAR_TYPE__) 0; + + if (w != __WCHAR_MAX__) + abort (); + + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/h8300-stack-1.c gcc-3.3/gcc/testsuite/gcc.dg/h8300-stack-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/h8300-stack-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/h8300-stack-1.c 2003-01-02 15:05:42.000000000 +0000 *************** *** 0 **** --- 1,14 ---- + /* Make sure that the H8 backend does not generate a non-atomic stack + adjustment. */ + /* { dg-do compile { target h8300-*-* } } */ + /* { dg-options "" } */ + + void foo (short, short, short, short, short, short); + + void + bar () + { + foo (0, 0, 0, 0, 0, 0); + } + + /* { dg-final { scan-assembler-not "addx" } } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/i386-memset-1.c gcc-3.3/gcc/testsuite/gcc.dg/i386-memset-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/i386-memset-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/i386-memset-1.c 2002-04-26 00:09:43.000000000 +0000 *************** *** 0 **** --- 1,100 ---- + /* Copyright (C) 2002 Free Software Foundation. + + Test -minline-all-stringops memset with various combinations of pointer + alignments and lengths to make sure builtin optimizations are correct. + PR target/6456. + + Written by Michael Meissner, March 9, 2002. + Target by Roger Sayle, April 25, 2002. */ + + /* { dg-do run { target "i?86-*-*" } } */ + /* { dg-options "-O2 -minline-all-stringops" } */ + + #ifndef MAX_OFFSET + #define MAX_OFFSET (sizeof (long long)) + #endif + + #ifndef MAX_COPY + #define MAX_COPY (8 * sizeof (long long)) + #endif + + #ifndef MAX_EXTRA + #define MAX_EXTRA (sizeof (long long)) + #endif + + #define MAX_LENGTH (MAX_OFFSET + MAX_COPY + MAX_EXTRA) + + static union { + char buf[MAX_LENGTH]; + long long align_int; + long double align_fp; + } u; + + char A = 'A'; + + main () + { + int off, len, i; + char *p, *q; + + for (off = 0; off < MAX_OFFSET; off++) + for (len = 1; len < MAX_COPY; len++) + { + for (i = 0; i < MAX_LENGTH; i++) + u.buf[i] = 'a'; + + p = memset (u.buf + off, '\0', len); + if (p != u.buf + off) + abort (); + + q = u.buf; + for (i = 0; i < off; i++, q++) + if (*q != 'a') + abort (); + + for (i = 0; i < len; i++, q++) + if (*q != '\0') + abort (); + + for (i = 0; i < MAX_EXTRA; i++, q++) + if (*q != 'a') + abort (); + + p = memset (u.buf + off, A, len); + if (p != u.buf + off) + abort (); + + q = u.buf; + for (i = 0; i < off; i++, q++) + if (*q != 'a') + abort (); + + for (i = 0; i < len; i++, q++) + if (*q != 'A') + abort (); + + for (i = 0; i < MAX_EXTRA; i++, q++) + if (*q != 'a') + abort (); + + p = memset (u.buf + off, 'B', len); + if (p != u.buf + off) + abort (); + + q = u.buf; + for (i = 0; i < off; i++, q++) + if (*q != 'a') + abort (); + + for (i = 0; i < len; i++, q++) + if (*q != 'B') + abort (); + + for (i = 0; i < MAX_EXTRA; i++, q++) + if (*q != 'a') + abort (); + } + + exit(0); + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/i386-mmx-3.c gcc-3.3/gcc/testsuite/gcc.dg/i386-mmx-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/i386-mmx-3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/i386-mmx-3.c 2003-02-16 14:19:54.000000000 +0000 *************** *** 0 **** --- 1,17 ---- + /* PR target/8870 */ + /* Originator: otaylor@redhat.com */ + /* { dg-do compile { target i?86-*-* x86_64-*-*} } */ + /* { dg-options "-O1 -mmmx -march=athlon" } */ + + typedef int v4hi __attribute__ ((mode (V4HI))); + + static inline v4hi cvtsi_v4hi (int i) + { + long long tmp = i; + return (v4hi) tmp; + } + + v4hi bar (unsigned short a) + { + return cvtsi_v4hi (a); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/i386-sse-3.c gcc-3.3/gcc/testsuite/gcc.dg/i386-sse-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/i386-sse-3.c 2002-01-15 06:17:04.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/i386-sse-3.c 2002-10-20 20:38:41.000000000 +0000 *************** *** 1,5 **** /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ ! /* { dg-options "-O2 -msse" } */ /* Test that the intrinsics compile with optimization. These were not tested in i386-sse-[12].c because these builtins require immediate --- 1,5 ---- /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ ! /* { dg-options "-O2 -msse -msse2" } */ /* Test that the intrinsics compile with optimization. These were not tested in i386-sse-[12].c because these builtins require immediate *************** test_prefetch (char *p) *** 35,37 **** --- 35,49 ---- _mm_prefetch (p+8, _MM_HINT_T2); _mm_prefetch (p+12, _MM_HINT_NTA); } + + __m128i + test__slli_si128 (__m128i a) + { + return _mm_slli_si128 (a, 3); + } + + __m128i + test__srli_si128 (__m128i a) + { + return _mm_srli_si128 (a, 3); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/i386-ssetype-1.c gcc-3.3/gcc/testsuite/gcc.dg/i386-ssetype-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/i386-ssetype-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/i386-ssetype-1.c 2003-02-16 14:19:54.000000000 +0000 *************** *** 0 **** --- 1,35 ---- + /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ + /* { dg-options "-O2 -msse2 -march=athlon" } */ + /* { dg-final { scan-assembler "andpd.*magic" } } */ + /* { dg-final { scan-assembler "andnpd.*magic" } } */ + /* { dg-final { scan-assembler "xorpd.*magic" } } */ + /* { dg-final { scan-assembler "orpd.*magic" } } */ + /* { dg-final { scan-assembler-not "movdqa" } } */ + /* { dg-final { scan-assembler "movapd.*magic" } } */ + + /* Verify that we generate proper instruction with memory operand. */ + + #include + + __m128d magic_a, magic_b; + + __m128d + t1(void) + { + return _mm_and_pd (magic_a,magic_b); + } + __m128d + t2(void) + { + return _mm_andnot_pd (magic_a,magic_b); + } + __m128d + t3(void) + { + return _mm_or_pd (magic_a,magic_b); + } + __m128d + t4(void) + { + return _mm_xor_pd (magic_a,magic_b); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/i386-ssetype-2.c gcc-3.3/gcc/testsuite/gcc.dg/i386-ssetype-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/i386-ssetype-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/i386-ssetype-2.c 2003-02-16 14:19:54.000000000 +0000 *************** *** 0 **** --- 1,39 ---- + /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ + /* { dg-options "-O2 -msse2 -march=athlon" } */ + /* { dg-final { scan-assembler "andpd" } } */ + /* { dg-final { scan-assembler "andnpd" } } */ + /* { dg-final { scan-assembler "xorpd" } } */ + /* { dg-final { scan-assembler "orpd" } } */ + /* { dg-final { scan-assembler-not "movdqa" } } */ + + /* Verify that we generate proper instruction without memory operand. */ + + #include + __m128d + t1(__m128d a, __m128d b) + { + a=_mm_sqrt_pd(a); + b=_mm_sqrt_pd(b); + return _mm_and_pd (a,b); + } + __m128d + t2(__m128d a, __m128d b) + { + a=_mm_sqrt_pd(a); + b=_mm_sqrt_pd(b); + return _mm_andnot_pd (a,b); + } + __m128d + t3(__m128d a, __m128d b) + { + a=_mm_sqrt_pd(a); + b=_mm_sqrt_pd(b); + return _mm_or_pd (a,b); + } + __m128d + t4(__m128d a, __m128d b) + { + a=_mm_sqrt_pd(a); + b=_mm_sqrt_pd(b); + return _mm_xor_pd (a,b); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/i386-ssetype-3.c gcc-3.3/gcc/testsuite/gcc.dg/i386-ssetype-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/i386-ssetype-3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/i386-ssetype-3.c 2003-02-16 14:19:54.000000000 +0000 *************** *** 0 **** --- 1,34 ---- + /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ + /* { dg-options "-O2 -msse2 -march=athlon" } */ + /* { dg-final { scan-assembler "andps.*magic" } } */ + /* { dg-final { scan-assembler "andnps.*magic" } } */ + /* { dg-final { scan-assembler "xorps.*magic" } } */ + /* { dg-final { scan-assembler "orps.*magic" } } */ + /* { dg-final { scan-assembler-not "movdqa" } } */ + /* { dg-final { scan-assembler "movaps.*magic" } } */ + + /* Verify that we generate proper instruction with memory operand. */ + + #include + + __m128 magic_a, magic_b; + __m128 + t1(void) + { + return _mm_and_ps (magic_a,magic_b); + } + __m128 + t2(void) + { + return _mm_andnot_ps (magic_a,magic_b); + } + __m128 + t3(void) + { + return _mm_or_ps (magic_a,magic_b); + } + __m128 + t4(void) + { + return _mm_xor_ps (magic_a,magic_b); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/i386-ssetype-4.c gcc-3.3/gcc/testsuite/gcc.dg/i386-ssetype-4.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/i386-ssetype-4.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/i386-ssetype-4.c 2003-02-16 14:19:54.000000000 +0000 *************** *** 0 **** --- 1,38 ---- + /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ + /* { dg-options "-O2 -msse2 -march=athlon" } */ + /* { dg-final { scan-assembler "andps" } } */ + /* { dg-final { scan-assembler "andnps" } } */ + /* { dg-final { scan-assembler "xorps" } } */ + /* { dg-final { scan-assembler "orps" } } */ + + /* Verify that we generate proper instruction without memory operand. */ + + #include + __m128 + t1(__m128 a, __m128 b) + { + a=_mm_sqrt_ps(a); + b=_mm_sqrt_ps(b); + return _mm_and_ps (a,b); + } + __m128 + t2(__m128 a, __m128 b) + { + a=_mm_sqrt_ps(a); + b=_mm_sqrt_ps(b); + return _mm_andnot_ps (a,b); + } + __m128 + t3(__m128 a, __m128 b) + { + a=_mm_sqrt_ps(a); + b=_mm_sqrt_ps(b); + return _mm_or_ps (a,b); + } + __m128 + t4(__m128 a, __m128 b) + { + a=_mm_sqrt_ps(a); + b=_mm_sqrt_ps(b); + return _mm_xor_ps (a,b); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/i386-ssetype-5.c gcc-3.3/gcc/testsuite/gcc.dg/i386-ssetype-5.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/i386-ssetype-5.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/i386-ssetype-5.c 2003-02-16 14:19:54.000000000 +0000 *************** *** 0 **** --- 1,34 ---- + /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ + /* { dg-options "-O2 -msse2 -march=athlon" } */ + /* { dg-final { scan-assembler "pand.*magic" } } */ + /* { dg-final { scan-assembler "pandn.*magic" } } */ + /* { dg-final { scan-assembler "pxor.*magic" } } */ + /* { dg-final { scan-assembler "por.*magic" } } */ + /* { dg-final { scan-assembler "movdqa" } } */ + /* { dg-final { scan-assembler-not "movaps.*magic" } } */ + + /* Verify that we generate proper instruction with memory operand. */ + + #include + __m128i magic_a, magic_b; + __m128i + t1(void) + { + return _mm_and_si128 (magic_a,magic_b); + } + __m128i + t2(void) + { + return _mm_andnot_si128 (magic_a,magic_b); + } + __m128i + t3(void) + { + return _mm_or_si128 (magic_a,magic_b); + } + __m128i + t4(void) + { + return _mm_xor_si128 (magic_a,magic_b); + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/ia64-sync-3.c gcc-3.3/gcc/testsuite/gcc.dg/ia64-sync-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/ia64-sync-3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/ia64-sync-3.c 2003-03-26 16:06:12.000000000 +0000 *************** *** 0 **** --- 1,74 ---- + /* { dg-do run { target ia64-*-* } } */ + /* { dg-options } */ + + /* Test basic functionality of the intrinsics. */ + + #include + + static int AI[4]; + static int init_si[4] = { -30,-30,-50,-50 }; + static int test_si[4] = { -115,-115,25,25 }; + + static void + do_si (void) + { + if (__sync_val_compare_and_swap(AI+0, -30, -115) != -30) + abort (); + if (__sync_val_compare_and_swap(AI+0, -30, -115) != -115) + abort (); + if (__sync_bool_compare_and_swap(AI+1, -30, -115) != 1) + abort (); + if (__sync_bool_compare_and_swap(AI+1, -30, -115) != 0) + abort (); + + if (__sync_val_compare_and_swap(AI+2, AI[2], 25) != -50) + abort (); + if (__sync_val_compare_and_swap(AI+2, AI[2], 25) != 25) + abort (); + if (__sync_bool_compare_and_swap(AI+3, AI[3], 25) != 1) + abort (); + if (__sync_bool_compare_and_swap(AI+3, AI[3], 25) != 1) + abort (); + } + + static long AL[4]; + static long init_di[4] = { -30,-30,-50,-50 }; + static long test_di[4] = { -115,-115,25,25 }; + + static void + do_di (void) + { + if (__sync_val_compare_and_swap(AL+0, -30, -115) != -30) + abort (); + if (__sync_val_compare_and_swap(AL+0, -30, -115) != -115) + abort (); + if (__sync_bool_compare_and_swap(AL+1, -30, -115) != 1) + abort (); + if (__sync_bool_compare_and_swap(AL+1, -30, -115) != 0) + abort (); + + if (__sync_val_compare_and_swap(AL+2, AL[2], 25) != -50) + abort (); + if (__sync_val_compare_and_swap(AL+2, AL[2], 25) != 25) + abort (); + if (__sync_bool_compare_and_swap(AL+3, AL[3], 25) != 1) + abort (); + if (__sync_bool_compare_and_swap(AL+3, AL[3], 25) != 1) + abort (); + } + + int main() + { + memcpy(AI, init_si, sizeof(init_si)); + memcpy(AL, init_di, sizeof(init_di)); + + do_si (); + do_di (); + + if (memcmp (AI, test_si, sizeof(test_si))) + abort (); + if (memcmp (AL, test_di, sizeof(test_di))) + abort (); + + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/ia64-visibility-1.c gcc-3.3/gcc/testsuite/gcc.dg/ia64-visibility-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/ia64-visibility-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/ia64-visibility-1.c 2002-02-26 21:17:22.000000000 +0000 *************** *** 0 **** --- 1,36 ---- + /* Test visibility attribute. */ + /* { dg-do compile { target ia64*-*-linux* } } */ + /* { dg-options "-O2 -fpic" } */ + /* { dg-final { scan-assembler "\\.hidden.*variable_j" } } */ + /* { dg-final { scan-assembler "\\.hidden.*variable_m" } } */ + /* { dg-final { scan-assembler "\\.protected.*baz" } } */ + /* { dg-final { scan-assembler "gprel.*variable_i" } } */ + /* { dg-final { scan-assembler "gprel.*variable_j" } } */ + /* { dg-final { scan-assembler "ltoff.*variable_k" } } */ + /* { dg-final { scan-assembler "gprel.*variable_l" } } */ + /* { dg-final { scan-assembler "gprel.*variable_m" } } */ + /* { dg-final { scan-assembler "ltoff.*variable_n" } } */ + + static int variable_i; + int variable_j __attribute__((visibility ("hidden"))); + int variable_k; + struct A { char a[64]; }; + static struct A variable_l __attribute__((section (".sbss"))); + struct A variable_m __attribute__((visibility ("hidden"), section(".sbss"))); + struct A variable_n __attribute__((section (".sbss"))); + + int foo (void) + { + return variable_i + variable_j + variable_k; + } + + void bar (void) + { + variable_l.a[10] = 0; + variable_m.a[10] = 0; + variable_n.a[10] = 0; + } + + void __attribute__((visibility ("protected"))) baz (void) + { + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/ia64-visibility-2.c gcc-3.3/gcc/testsuite/gcc.dg/ia64-visibility-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/ia64-visibility-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/ia64-visibility-2.c 2002-08-01 21:59:36.000000000 +0000 *************** *** 0 **** --- 1,15 ---- + /* Test visibility attribute. */ + /* { dg-do link { target ia64*-*-linux* } } */ + /* { dg-options "-O2 -fpic" } */ + + int foo (int x); + int bar (int x) __asm__ ("foo") __attribute__ ((visibility ("hidden"))); + int bar (int x) + { + return x; + } + + int main () + { + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/inline-1.c gcc-3.3/gcc/testsuite/gcc.dg/inline-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/inline-1.c 2001-12-24 08:45:59.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/inline-1.c 2003-03-13 03:29:14.000000000 +0000 *************** *** 1,7 **** /* Verify that DECL_INLINE gets copied between DECLs properly. */ /* { dg-do compile } */ /* { dg-options "-O1" } */ ! /* { dg-final { scan-assembler-not "xyzzy" } } */ /* Test that declaration followed by definition inlines. */ static inline int xyzzy0 (int); --- 1,7 ---- /* Verify that DECL_INLINE gets copied between DECLs properly. */ /* { dg-do compile } */ /* { dg-options "-O1" } */ ! /* { dg-final { if [ istarget hppa*-*-* ] { scan-assembler-not "xyzzy?,%r" } else { scan-assembler-not "xyzzy" } } } */ /* Test that declaration followed by definition inlines. */ static inline int xyzzy0 (int); diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/inline-2.c gcc-3.3/gcc/testsuite/gcc.dg/inline-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/inline-2.c 2002-03-24 20:44:01.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/inline-2.c 2002-10-02 08:26:39.000000000 +0000 *************** int bar(void) *** 15,19 **** } /* { dg-final { scan-assembler "bsr" { target alpha*-*-* } } } */ ! /* { dg-final { scan-assembler-not "PLT" { target i?86-*-* } } } */ /* { dg-final { scan-assembler-not "plt" { target powerpc*-*-* } } } */ --- 15,19 ---- } /* { dg-final { scan-assembler "bsr" { target alpha*-*-* } } } */ ! /* { dg-final { scan-assembler-not "PLT" { target i?86-*-* x86_64-*-* } } } */ /* { dg-final { scan-assembler-not "plt" { target powerpc*-*-* } } } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/lvalue1.c gcc-3.3/gcc/testsuite/gcc.dg/lvalue1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/lvalue1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/lvalue1.c 2002-04-26 21:56:55.000000000 +0000 *************** *** 0 **** --- 1,9 ---- + /* PR c/5225 */ + /* { dg-do compile } */ + + int main() + { + int i; + +i = 1; /* { dg-error "invalid lvalue in assignment" } */ + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/mips-args-1.c gcc-3.3/gcc/testsuite/gcc.dg/mips-args-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/mips-args-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/mips-args-1.c 2002-07-25 10:16:00.000000000 +0000 *************** *** 0 **** --- 1,35 ---- + /* Check that certain preprocessor macros are defined, and do some + consistency checks. */ + /* { dg-do compile { target mips*-*-* } } */ + + const char *compiled_for = _MIPS_ARCH; + const char *optimized_for = _MIPS_TUNE; + + #if __mips_fpr != 32 && __mips_fpr != 64 + #error Bad __mips_fpr + #endif + + /* Test complementary macro pairs: exactly one of each pair + must be defined. */ + + #if defined (_R3000) == defined (_R4000) + #error _R3000 / _R4000 mismatch + #endif + + #if defined (__mips_hard_float) == defined (__mips_soft_float) + #error __mips_hard_float / __mips_soft_float mismatch + #endif + + #if defined (_MIPSEL) == defined (_MIPSEB) + #error _MIPSEL / _MIPSEB mismatch + #endif + + /* Check for __mips64 consistency. */ + + #if defined (__mips64) != defined (_R4000) + #error __mips64 / _R4000 mismatch + #endif + + #if defined (__mips64) && __mips != 3 && __mips != 4 && __mips != 64 + #error __mips64 / __mips mismatch + #endif diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/mips-args-2.c gcc-3.3/gcc/testsuite/gcc.dg/mips-args-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/mips-args-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/mips-args-2.c 2002-07-25 10:16:00.000000000 +0000 *************** *** 0 **** --- 1,15 ---- + /* Check the _MIPSEB and _MIPSEL macros are accurate. */ + /* { dg-do run { target mips*-*-* } } */ + short foo = 1; + int main () + { + char *p = (char *) &foo; + + #ifdef _MIPSEB + if (p[0] != 0 || p[1] != 1) + #else + if (p[0] != 1 || p[1] != 0) + #endif + abort (); + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/mips-args-3.c gcc-3.3/gcc/testsuite/gcc.dg/mips-args-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/mips-args-3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/mips-args-3.c 2002-07-25 10:16:00.000000000 +0000 *************** *** 0 **** --- 1,35 ---- + /* __mips, and related defines, guarantee that certain assembly + instructions can be used. Check a few examples. */ + /* { dg-do run { target mips*-*-* } } */ + typedef int int32 __attribute__ ((mode (SI))); + typedef int int64 __attribute__ ((mode (DI))); + int foo (float inf, int64 in64, int32 in32) + { + int64 res64; + int32 res32; + + #if __mips != 1 && defined (__mips_hard_float) + __asm__ ("trunc.w.s %0, %1" : "=f" (res32) : "f" (inf)); + if (res32 != 11) + abort (); + #endif + + #if defined (__mips64) + __asm__ ("daddu %0, %1, %1" : "=r" (res64) : "r" (in64)); + if (res64 != 50) + abort (); + #endif + + #if (__mips == 4 || __mips == 32 || __mips == 64) && !defined (__mips16) + __asm__ ("move %0,%.\n\tmovn %0,%1,%2" + : "=&r" (res32) : "r" (in32), "r" (in64 != 0)); + if (res32 != 60) + abort (); + #endif + } + + int main () + { + foo (11.4f, 25, 60); + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/nest.c gcc-3.3/gcc/testsuite/gcc.dg/nest.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/nest.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/nest.c 2002-10-28 18:10:56.000000000 +0000 *************** *** 0 **** --- 1,25 ---- + /* PR 5967, PR 7114 */ + /* { dg-do run } */ + /* { dg-options "-O2 -pg" } */ + /* { dg-error "profiler" "No profiler support" { target mmix-*-* } 0 } */ + /* Support for -pg on irix relies on gcrt1.o which doesn't exist yet. + See: http://gcc.gnu.org/ml/gcc/2002-10/msg00169.html */ + /* { dg-error "gcrt1.o" "Profiler support missing" { target mips*-*-irix* } 0 } */ + + long foo (long x) + { + long i, sum = 0; + long bar (long z) { return z * 2; } + + for (i = 0; i < x; i++) + sum += bar (i); + + return sum; + } + + int main (void) + { + if (foo(10) != 90) + abort (); + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/noncompile/incomplete-1.c gcc-3.3/gcc/testsuite/gcc.dg/noncompile/incomplete-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/noncompile/incomplete-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/noncompile/incomplete-1.c 2002-08-22 20:05:52.000000000 +0000 *************** *** 0 **** --- 1,4 ---- + struct a + { + struct b t; /* { dg-error "has incomplete type" } */ + }; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/nonnull-1.c gcc-3.3/gcc/testsuite/gcc.dg/nonnull-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/nonnull-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/nonnull-1.c 2002-05-23 15:48:05.000000000 +0000 *************** *** 0 **** --- 1,39 ---- + /* Test for the "nonnull" function attribute. */ + /* Origin: Jason Thorpe */ + /* { dg-do compile } */ + /* { dg-options "-Wnonnull" } */ + + #include + + extern void func1 (char *, char *, int) __attribute__((nonnull)); + + extern void func2 (char *, char *) __attribute__((nonnull(1))); + + extern void func3 (char *, int, char *, int) + __attribute__((nonnull(1,3))); + + extern void func4 (char *, char *) __attribute__((nonnull(1))) + __attribute__((nonnull(2))); + + void + foo (int i1, int i2, int i3, char *cp1, char *cp2, char *cp3) + { + func1(cp1, cp2, i1); + + func1(NULL, cp2, i1); /* { dg-warning "null" "null with argless nonnull 1" } */ + func1(cp1, NULL, i1); /* { dg-warning "null" "null with argless nonnull 2" } */ + func1(cp1, cp2, 0); + + func2(cp1, NULL); + func2(NULL, cp1); /* { dg-warning "null" "null with single explicit nonnull" } */ + + func3(NULL, i2, cp3, i3); /* { dg-warning "null" "null with explicit nonnull 1" } */ + func3(cp3, i2, NULL, i3); /* { dg-warning "null" "null with explicit nonnull 3" } */ + + func1(i1 ? cp1 : NULL, cp2, i3); /* { dg-warning "null" "null with cond expr rhs" } */ + func1(i1 ? NULL : cp1, cp2, i3); /* { dg-warning "null" "null with cond expr lhs" } */ + func1(i1 ? (i2 ? cp1 : NULL) : cp2, cp3, i3); /* { dg-warning "null" "null with nested cond expr" } */ + + func4(NULL, cp1); /* { dg-warning "null" "null with multiple attributes 1" } */ + func4(cp1, NULL); /* { dg-warning "null" "null with multiple attributes 2" } */ + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/nonnull-2.c gcc-3.3/gcc/testsuite/gcc.dg/nonnull-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/nonnull-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/nonnull-2.c 2002-05-23 15:48:05.000000000 +0000 *************** *** 0 **** --- 1,16 ---- + /* Test for the invalid use of the "nonnull" function attribute. */ + /* Origin: Jason Thorpe */ + /* { dg-do compile } */ + + extern void func1 () __attribute__((nonnull)); /* { dg-error "without arguments" } */ + + extern void func2 (char *) __attribute__((nonnull(2))); /* { dg-error "out-of-range operand" } */ + + extern void func3 (char *) __attribute__((nonnull(foo))); /* { dg-error "invalid operand number" } */ + + extern void func4 (int) __attribute__((nonnull(1))); /* { dg-error "references non-pointer" } */ + + void + foo (void) + { + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/old-style-asm-1.c gcc-3.3/gcc/testsuite/gcc.dg/old-style-asm-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/old-style-asm-1.c 2003-03-08 14:04:35.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/old-style-asm-1.c 2003-03-13 03:29:14.000000000 +0000 *************** void foo(int v) *** 24,27 **** because for example it depends on the target macro ASM_GENERATE_INTERNAL_LABEL to generate a name matching this regexp (as with the default definition). */ ! /* { dg-final { scan-assembler "L(:)?2" } } */ --- 24,27 ---- because for example it depends on the target macro ASM_GENERATE_INTERNAL_LABEL to generate a name matching this regexp (as with the default definition). */ ! /* { dg-final { scan-assembler "L(:|\\\$0*)?2" } } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/ppc-fmadd-1.c gcc-3.3/gcc/testsuite/gcc.dg/ppc-fmadd-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/ppc-fmadd-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/ppc-fmadd-1.c 2002-12-05 01:05:13.000000000 +0000 *************** *** 0 **** --- 1,43 ---- + /* { dg-do compile { target powerpc*-*-* } } */ + /* { dg-options "-ffast-math -O2" } */ + /* { dg-final { scan-assembler-not "f(add|sub|mul|neg)" } } */ + + void foo(double *a, double *b, double *c, double *d) + { + a[0] = b[0] + c[0] * d[0]; // fmadd + a[1] = b[1] - c[1] * d[1]; // fnmsub with fast-math + a[2] = -b[2] + c[2] * d[2]; // fmsub + a[3] = -b[3] - c[3] * d[3]; // fnmadd with fast-math + a[4] = -( b[4] + c[4] * d[4]); // fnmadd + a[5] = -( b[5] - c[5] * d[5]); // fmsub with fast-math + a[6] = -(-b[6] + c[6] * d[6]); // fnmsub + a[7] = -(-b[7] - c[7] * d[7]); // fmadd with fast-math + a[10] = b[10] - c[10] * -d[10]; // fmadd + a[11] = b[11] + c[11] * -d[11]; // fnmsub with fast-math + a[12] = -b[12] - c[12] * -d[12]; // fmsub + a[13] = -b[13] + c[13] * -d[13]; // fnmadd with fast-math + a[14] = -( b[14] - c[14] * -d[14]); // fnmadd + a[15] = -( b[15] + c[15] * -d[15]); // fmsub with fast-math + a[16] = -(-b[16] - c[16] * -d[16]); // fnmsub + a[17] = -(-b[17] + c[17] * -d[17]); // fmadd with fast-math + } + + void foos(float *a, float *b, float *c, float *d) + { + a[0] = b[0] + c[0] * d[0]; // fmadd + a[1] = b[1] - c[1] * d[1]; // fnmsub with fast-math + a[2] = -b[2] + c[2] * d[2]; // fmsub + a[3] = -b[3] - c[3] * d[3]; // fnmadd with fast-math + a[4] = -( b[4] + c[4] * d[4]); // fnmadd + a[5] = -( b[5] - c[5] * d[5]); // fmsub with fast-math + a[6] = -(-b[6] + c[6] * d[6]); // fnmsub + a[7] = -(-b[7] - c[7] * d[7]); // fmadd with fast-math + a[10] = b[10] - c[10] * -d[10]; // fmadd + a[11] = b[11] + c[11] * -d[11]; // fnmsub with fast-math + a[12] = -b[12] - c[12] * -d[12]; // fmsub + a[13] = -b[13] + c[13] * -d[13]; // fnmadd with fast-math + a[14] = -( b[14] - c[14] * -d[14]); // fnmadd + a[15] = -( b[15] + c[15] * -d[15]); // fmsub with fast-math + a[16] = -(-b[16] - c[16] * -d[16]); // fnmsub + a[17] = -(-b[17] + c[17] * -d[17]); // fmadd with fast-math + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/ppc-fmadd-2.c gcc-3.3/gcc/testsuite/gcc.dg/ppc-fmadd-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/ppc-fmadd-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/ppc-fmadd-2.c 2002-12-05 01:05:13.000000000 +0000 *************** *** 0 **** --- 1,27 ---- + /* { dg-do compile { target powerpc*-*-* } } */ + /* { dg-options "-O2" } */ + /* { dg-final { scan-assembler-not "f(add|sub|mul|neg)" } } */ + + void foo(double *a, double *b, double *c, double *d) + { + a[0] = b[0] + c[0] * d[0]; // fmadd + a[2] = -b[2] + c[2] * d[2]; // fmsub + a[4] = -( b[4] + c[4] * d[4]); // fnmadd + a[6] = -(-b[6] + c[6] * d[6]); // fnmsub + a[10] = b[10] - c[10] * -d[10]; // fmadd + a[12] = -b[12] - c[12] * -d[12]; // fmsub + a[14] = -( b[14] - c[14] * -d[14]); // fnmadd + a[16] = -(-b[16] - c[16] * -d[16]); // fnmsub + } + + void foos(float *a, float *b, float *c, float *d) + { + a[0] = b[0] + c[0] * d[0]; // fmadd + a[2] = -b[2] + c[2] * d[2]; // fmsub + a[4] = -( b[4] + c[4] * d[4]); // fnmadd + a[6] = -(-b[6] + c[6] * d[6]); // fnmsub + a[10] = b[10] - c[10] * -d[10]; // fmadd + a[12] = -b[12] - c[12] * -d[12]; // fmsub + a[14] = -( b[14] - c[14] * -d[14]); // fnmadd + a[16] = -(-b[16] - c[16] * -d[16]); // fnmsub + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/ppc-fmadd-3.c gcc-3.3/gcc/testsuite/gcc.dg/ppc-fmadd-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/ppc-fmadd-3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/ppc-fmadd-3.c 2002-12-05 01:05:13.000000000 +0000 *************** *** 0 **** --- 1,36 ---- + /* { dg-do compile { target powerpc*-*-* } } */ + /* { dg-options "-O2" } */ + /* { dg-final { scan-assembler-not "f(add|sub|mul)" } } */ + + void foo(double *a, double *b, double *c, double *d) + { + #if 0 + a[1] = b[1] - c[1] * d[1]; // fneg, fmadd without fast-math + #endif + a[3] = -b[3] - c[3] * d[3]; // fneg, fmsub without fast-math + #if 0 + a[5] = -( b[5] - c[5] * d[5]); // fneg, fnmadd without fast-math + #endif + a[7] = -(-b[7] - c[7] * d[7]); // fneg, fnmsub without fast-math + a[11] = b[11] + c[11] * -d[11]; // fneg, fmadd without fast-math + a[13] = -b[13] + c[13] * -d[13]; // fneg, fmsub without fast-math + a[15] = -( b[15] + c[15] * -d[15]); // fneg, fnmadd without fast-math + a[17] = -(-b[17] + c[17] * -d[17]); // fneg, fnmsub without fast-math + } + + void foos(float *a, float *b, float *c, float *d) + { + #if 0 + a[1] = b[1] - c[1] * d[1]; // fneg, fmadd without fast-math + #endif + a[3] = -b[3] - c[3] * d[3]; // fneg, fmsub without fast-math + #if 0 + a[5] = -( b[5] - c[5] * d[5]); // fneg, fnmadd without fast-math + #endif + a[7] = -(-b[7] - c[7] * d[7]); // fneg, fnmsub without fast-math + a[11] = b[11] + c[11] * -d[11]; // fneg, fmadd without fast-math + a[13] = -b[13] + c[13] * -d[13]; // fneg, fmsub without fast-math + a[15] = -( b[15] + c[15] * -d[15]); // fneg, fnmadd without fast-math + a[17] = -(-b[17] + c[17] * -d[17]); // fneg, fnmsub without fast-math + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/ppc-ldstruct.c gcc-3.3/gcc/testsuite/gcc.dg/ppc-ldstruct.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/ppc-ldstruct.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/ppc-ldstruct.c 2002-03-09 19:14:15.000000000 +0000 *************** *** 0 **** --- 1,19 ---- + /* { dg-do run { target powerpc*-*-eabi* powerpc*-*-elf* powerpc*-*-linux* } } */ + /* { dg-options "-O -mlong-double-128" } */ + + /* SVR4 and EABI both specify that 'long double' is aligned to a 128-bit + boundary in structures. */ + + struct { + int x; + long double d; + } s; + + int main(void) + { + if (sizeof (s) != 32) + abort (); + if ((char *)&s.d - (char *)&s != 16) + abort (); + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/ppc-spe.c gcc-3.3/gcc/testsuite/gcc.dg/ppc-spe.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/ppc-spe.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/ppc-spe.c 2002-07-25 02:31:04.000000000 +0000 *************** *** 0 **** --- 1,687 ---- + /* { dg-do compile { target powerpc-*-eabispe } } */ + /* { dg-options "-mcpu=8540 -mabi=spe -O0" } */ + + /* (Test with -O0 so we don't optimize any of them away). */ + + #include + + /* Test PowerPC SPE extensions. */ + + #define vector __attribute__((vector_size(8))) + + vector int a, b, c, *ap; + vector float f, g, h; + unsigned int *uip; + unsigned short *usp; + int i, j, *ip; + uint64_t ull; + int64_t sll; + unsigned ui; + float fl; + uint16_t u16; + int16_t s16; + + /* These are the only documented/supported accesor functions for the + SPE builtins. */ + void + test_api () + { + c = __ev_addw(a, b); + c = __ev_addiw(a, 8); + c = __ev_subfw(a, b); + c = __ev_subifw(a, 8); + c = __ev_abs(a); + c = __ev_neg(a); + c = __ev_extsb(a); + c = __ev_extsh(a); + c = __ev_and(a, b); + c = __ev_or(a, b); + c = __ev_xor(a, b); + c = __ev_nand(a, b); + c = __ev_nor(a, b); + c = __ev_eqv(a, b); + c = __ev_andc(a, b); + c = __ev_orc(a, b); + c = __ev_rlw(a, b); + c = __ev_rlwi(a, 8); + c = __ev_slw(a, b); + c = __ev_slwi(a, 8); + c = __ev_srws(a, b); + c = __ev_srwu(a, b); + c = __ev_srwis(a, 8); + c = __ev_srwiu(a, 8); + c = __ev_cntlzw(a); + c = __ev_cntlsw(a); + c = __ev_rndw(a); + c = __ev_mergehi(a, b); + c = __ev_mergelo(a, b); + c = __ev_mergelohi(a, b); + c = __ev_mergehilo(a, b); + c = __ev_splati(5); + c = __ev_splatfi(6); + c = __ev_divws(a, b); + c = __ev_divwu(a, b); + c = __ev_mra(a); + i = __brinc(5, 6); + + /* Loads. */ + c = __ev_lddx(ap, i); + c = __ev_ldwx(ap, i); + c = __ev_ldhx(ap, i); + + c = __ev_lwhex(uip, i); + c = __ev_lwhoux(uip, i); + c = __ev_lwhosx(uip, i); + c = __ev_lwwsplatx(uip, i); + c = __ev_lwhsplatx(uip, i); + + c = __ev_lhhesplatx(usp, i); + c = __ev_lhhousplatx(usp, i); + c = __ev_lhhossplatx(usp, i); + + c = __ev_ldd(ap, 5); + c = __ev_ldw(ap, 6); + c = __ev_ldh(ap, 7); + c = __ev_lwhe(uip, 6); + c = __ev_lwhou(uip, 6); + c = __ev_lwhos(uip, 7); + c = __ev_lwwsplat(uip, 7); + c = __ev_lwhsplat(uip, 7); + c = __ev_lhhesplat(usp, 7); + c = __ev_lhhousplat(usp, 7); + c = __ev_lhhossplat(usp, 7); + + /* Stores. */ + __ev_stddx (a, ap, 9); + __ev_stdwx (a, ap, 9); + __ev_stdhx (a, ap, 9); + __ev_stwwex (a, uip, 9); + __ev_stwwox (a, uip, 9); + __ev_stwhex (a, uip, 9); + __ev_stwhox (a, uip, 9); + __ev_stdd (a, ap, 9); + __ev_stdw (a, ap, 9); + __ev_stdh (a, ap, 9); + __ev_stwwe (a, uip, 9); + __ev_stwwo (a, uip, 9); + __ev_stwhe (a, uip, 9); + __ev_stwho (a, uip, 9); + + /* Fixed point complex. */ + c = __ev_mhossf(a, b); + c = __ev_mhosmf(a, b); + c = __ev_mhosmi(a, b); + c = __ev_mhoumi(a, b); + c = __ev_mhessf(a, b); + c = __ev_mhesmf(a, b); + c = __ev_mhesmi(a, b); + c = __ev_mheumi(a, b); + c = __ev_mhossfa(a, b); + c = __ev_mhosmfa(a, b); + c = __ev_mhosmia(a, b); + c = __ev_mhoumia(a, b); + c = __ev_mhessfa(a, b); + c = __ev_mhesmfa(a, b); + c = __ev_mhesmia(a, b); + c = __ev_mheumia(a, b); + + c = __ev_mhoumf (a, b); + c = __ev_mheumf (a, b); + c = __ev_mhoumfa (a, b); + c = __ev_mheumfa (a, b); + + c = __ev_mhossfaaw(a, b); + c = __ev_mhossiaaw(a, b); + c = __ev_mhosmfaaw(a, b); + c = __ev_mhosmiaaw(a, b); + c = __ev_mhousiaaw(a, b); + c = __ev_mhoumiaaw(a, b); + c = __ev_mhessfaaw(a, b); + c = __ev_mhessiaaw(a, b); + c = __ev_mhesmfaaw(a, b); + c = __ev_mhesmiaaw(a, b); + c = __ev_mheusiaaw(a, b); + c = __ev_mheumiaaw(a, b); + + c = __ev_mhousfaaw (a, b); + c = __ev_mhoumfaaw (a, b); + c = __ev_mheusfaaw (a, b); + c = __ev_mheumfaaw (a, b); + + c = __ev_mhossfanw(a, b); + c = __ev_mhossianw(a, b); + c = __ev_mhosmfanw(a, b); + c = __ev_mhosmianw(a, b); + c = __ev_mhousianw(a, b); + c = __ev_mhoumianw(a, b); + c = __ev_mhessfanw(a, b); + c = __ev_mhessianw(a, b); + c = __ev_mhesmfanw(a, b); + c = __ev_mhesmianw(a, b); + c = __ev_mheusianw(a, b); + c = __ev_mheumianw(a, b); + + c = __ev_mhousfanw (a, b); + c = __ev_mhoumfanw (a, b); + c = __ev_mheusfanw (a, b); + c = __ev_mheumfanw (a, b); + + c = __ev_mhogsmfaa(a, b); + c = __ev_mhogsmiaa(a, b); + c = __ev_mhogumiaa(a, b); + c = __ev_mhegsmfaa(a, b); + c = __ev_mhegsmiaa(a, b); + c = __ev_mhegumiaa(a, b); + + c = __ev_mhogumfaa (a, b); + c = __ev_mhegumfaa (a, b); + + c = __ev_mhogsmfan(a, b); + c = __ev_mhogsmian(a, b); + c = __ev_mhogumian(a, b); + c = __ev_mhegsmfan(a, b); + c = __ev_mhegsmian(a, b); + c = __ev_mhegumian(a, b); + + c = __ev_mhogumfan (a, b); + c = __ev_mhegumfan (a, b); + + c = __ev_mwhssf(a, b); + c = __ev_mwhsmf(a, b); + c = __ev_mwhsmi(a, b); + c = __ev_mwhumi(a, b); + c = __ev_mwhssfa(a, b); + c = __ev_mwhsmfa(a, b); + c = __ev_mwhsmia(a, b); + c = __ev_mwhumia(a, b); + + c = __ev_mwhumf (a, b); + c = __ev_mwhumfa (a, b); + + c = __ev_mwlssf(a, b); + c = __ev_mwlsmf(a, b); + c = __ev_mwlumi(a, b); + c = __ev_mwlssfa(a, b); + c = __ev_mwlsmfa(a, b); + c = __ev_mwlumia(a, b); + c = __ev_mwlumiaaw(a, b); + + c = __ev_mwlufi (a, b); + c = __ev_mwlufia (a, b); + + c = __ev_mwlssfaaw(a, b); + c = __ev_mwlssiaaw(a, b); + c = __ev_mwlsmfaaw(a, b); + c = __ev_mwlsmiaaw(a, b); + c = __ev_mwlusiaaw(a, b); + c = __ev_mwlusiaaw(a, b); + + c = __ev_mwlusfaaw (a, b); + + c = __ev_mwlssfanw(a, b); + c = __ev_mwlssianw(a, b); + c = __ev_mwlsmfanw(a, b); + c = __ev_mwlsmianw(a, b); + c = __ev_mwlusianw(a, b); + c = __ev_mwlumianw(a, b); + + c = __ev_mwlumfanw (a, b); + c = __ev_mwlusfanw (a, b); + + c = __ev_mwssf (a, b); + c = __ev_mwsmf (a, b); + c = __ev_mwsmi (a, b); + c = __ev_mwumi (a, b); + c = __ev_mwssfa (a, b); + c = __ev_mwsmfa (a, b); + c = __ev_mwsmia (a, b); + c = __ev_mwumia (a, b); + c = __ev_mwumf (a, b); + c = __ev_mwumfa (a, b); + c = __ev_mwssfaa (a, b); + c = __ev_mwsmfaa (a, b); + c = __ev_mwsmiaa (a, b); + c = __ev_mwumiaa (a, b); + c = __ev_mwumfaa (a, b); + c = __ev_mwssfan (a, b); + c = __ev_mwsmfan (a, b); + c = __ev_mwsmian (a, b); + c = __ev_mwumian (a, b); + c = __ev_mwumfan (a, b); + c = __ev_addssiaaw (a); + c = __ev_addsmiaaw (a); + c = __ev_addusiaaw (a); + c = __ev_addumiaaw (a); + c = __ev_addusfaaw (a); + c = __ev_addumfaaw (a); + c = __ev_addsmfaaw (a); + c = __ev_addssfaaw (a); + c = __ev_subfssiaaw (a); + c = __ev_subfsmiaaw (a); + c = __ev_subfusiaaw (a); + c = __ev_subfumiaaw (a); + c = __ev_subfusfaaw (a); + c = __ev_subfumfaaw (a); + c = __ev_subfsmfaaw (a); + c = __ev_subfssfaaw (a); + + /* Floating point SIMD instructions. */ + c = __ev_fsabs (a); + c = __ev_fsnabs (a); + c = __ev_fsneg (a); + c = __ev_fsadd (a, b); + c = __ev_fssub (a, b); + c = __ev_fsmul (a, b); + c = __ev_fsdiv (a, b); + c = __ev_fscfui (a); + c = __ev_fscfsi (a); + c = __ev_fscfuf (a); + c = __ev_fscfsf (a); + c = __ev_fsctui (a); + c = __ev_fsctsi (a); + c = __ev_fsctuf (a); + c = __ev_fsctsf (a); + c = __ev_fsctuiz (a); + c = __ev_fsctsiz (a); + + /* Non supported sythetic instructions made from two instructions. */ + + c = __ev_mwhssfaaw (a, b); + c = __ev_mwhssiaaw (a, b); + c = __ev_mwhsmfaaw (a, b); + c = __ev_mwhsmiaaw (a, b); + c = __ev_mwhusiaaw (a, b); + c = __ev_mwhumiaaw (a, b); + c = __ev_mwhusfaaw (a, b); + c = __ev_mwhumfaaw (a, b); + c = __ev_mwhssfanw (a, b); + c = __ev_mwhssianw (a, b); + c = __ev_mwhsmfanw (a, b); + c = __ev_mwhsmianw (a, b); + c = __ev_mwhusianw (a, b); + c = __ev_mwhumianw (a, b); + c = __ev_mwhusfanw (a, b); + c = __ev_mwhumfanw (a, b); + + c = __ev_mwhgssfaa (a, b); + c = __ev_mwhgsmfaa (a, b); + c = __ev_mwhgsmiaa (a, b); + c = __ev_mwhgumiaa (a, b); + c = __ev_mwhgssfan (a, b); + c = __ev_mwhgsmfan (a, b); + c = __ev_mwhgsmian (a, b); + c = __ev_mwhgumian (a, b); + + /* Creating, insertion, and extraction. */ + + a = __ev_create_u64 ((uint64_t) 55); + a = __ev_create_s64 ((int64_t) 66); + a = __ev_create_fs (3.14F, 2.18F); + a = __ev_create_u32 ((uint32_t) 5, (uint32_t) i); + a = __ev_create_s32 ((int32_t) 5, (int32_t) 6); + a = __ev_create_u16 ((uint16_t) 6, (uint16_t) 6, (uint16_t) 7, (uint16_t) 1); + a = __ev_create_s16 ((int16_t) 6, (int16_t) 6, (int16_t) 7, (int16_t) 9); + a = __ev_create_sfix32_fs (3.0F, 2.0F); + a = __ev_create_ufix32_fs (3.0F, 2.0F); + a = __ev_create_ufix32_u32 (3U, 5U); + a = __ev_create_sfix32_s32 (6, 9); + ull = __ev_convert_u64 (a); + sll = __ev_convert_s64 (a); + i = __ev_get_upper_u32 (a); + ui = __ev_get_lower_u32 (a); + i = __ev_get_upper_s32 (a); + i = __ev_get_lower_s32 (a); + fl = __ev_get_upper_fs (a); + fl = __ev_get_lower_fs (a); + u16 = __ev_get_u16 (a, 5U); + s16 = __ev_get_s16 (a, 5U); + ui = __ev_get_upper_ufix32_u32 (a); + ui = __ev_get_lower_ufix32_u32 (a); + i = __ev_get_upper_sfix32_s32 (a); + i = __ev_get_lower_sfix32_s32 (a); + fl = __ev_get_upper_sfix32_fs (a); + fl = __ev_get_lower_sfix32_fs (a); + fl = __ev_get_upper_ufix32_fs (a); + fl = __ev_get_lower_ufix32_fs (a); + a = __ev_set_upper_u32 (a, 5U); + a = __ev_set_lower_u32 (a, 5U); + a = __ev_set_upper_s32 (a, 5U); + a = __ev_set_lower_s32 (a, 6U); + a = __ev_set_upper_fs (a, 6U); + a = __ev_set_lower_fs (a, fl); + a = __ev_set_upper_ufix32_u32 (a, 5U); + a = __ev_set_lower_ufix32_u32 (a, 5U); + a = __ev_set_upper_sfix32_s32 (a, 5); + a = __ev_set_lower_sfix32_s32 (a, 5); + a = __ev_set_upper_sfix32_fs (a, fl); + a = __ev_set_lower_sfix32_fs (a, fl); + a = __ev_set_upper_ufix32_fs (a, fl); + a = __ev_set_lower_ufix32_fs (a, fl); + a = __ev_set_acc_u64 ((uint64_t) 640); + a = __ev_set_acc_s64 ((int64_t) 460); + a = __ev_set_acc_vec64 (b); + a = __ev_set_u32 (a, 5, 6); + a = __ev_set_s32 (a, 5, 6); + a = __ev_set_fs (a, fl, 5); + a = __ev_set_u16 (a, 5U, 3); + a = __ev_set_s16 (a, 5, 6); + a = __ev_set_ufix32_u32 (a, 5U, 6U); + a = __ev_set_sfix32_s32 (a, 3, 6); + a = __ev_set_ufix32_fs (a, fl, 5); + a = __ev_set_sfix32_fs (a, fl, 5); + ui = __ev_get_u32 (a, 1); + i = __ev_get_s32 (a, 0); + fl = __ev_get_fs (a, 1); + u16 = __ev_get_u16 (a, 2); + s16 = __ev_get_s16 (a, 2); + ui = __ev_get_ufix32_u32 (a, 1); + i = __ev_get_sfix32_s32 (a, 0); + fl = __ev_get_ufix32_fs (a, 1); + fl = __ev_get_sfix32_fs (a, 0); + + /* Predicates. */ + i = __ev_any_gts (a, b); + i = __ev_all_gts (a, b); + i = __ev_upper_gts (a, b); + i = __ev_lower_gts (a, b); + a = __ev_select_gts (a, b, c, c); + + i = __ev_any_gtu (a, b); + i = __ev_all_gtu (a, b); + i = __ev_upper_gtu (a, b); + i = __ev_lower_gtu (a, b); + a = __ev_select_gtu (a, b, c, c); + + i = __ev_any_lts (a, b); + i = __ev_all_lts (a, b); + i = __ev_upper_lts (a, b); + i = __ev_lower_lts (a, b); + a = __ev_select_lts (a, b, c, c); + + i = __ev_any_ltu (a, b); + i = __ev_all_ltu (a, b); + i = __ev_upper_ltu (a, b); + i = __ev_lower_ltu (a, b); + a = __ev_select_ltu (a, b, c, c); + + i = __ev_any_eq (a, b); + i = __ev_all_eq (a, b); + i = __ev_upper_eq (a, b); + i = __ev_lower_eq (a, b); + a = __ev_select_eq (a, b, c, c); + + i = __ev_any_fs_gt (a, b); + i = __ev_all_fs_gt (a, b); + i = __ev_upper_fs_gt (a, b); + i = __ev_lower_fs_gt (a, b); + a = __ev_select_fs_gt (a, b, c, c); + + i = __ev_any_fs_lt (a, b); + i = __ev_all_fs_lt (a, b); + i = __ev_upper_fs_lt (a, b); + i = __ev_lower_fs_lt (a, b); + a = __ev_select_fs_lt (a, b, c, b); + + i = __ev_any_fs_eq (a, b); + i = __ev_all_fs_eq (a, b); + i = __ev_upper_fs_eq (a, b); + i = __ev_lower_fs_eq (a, b); + a = __ev_select_fs_eq (a, b, c, c); + + i = __ev_any_fs_tst_gt (a, b); + i = __ev_all_fs_tst_gt (a, b); + i = __ev_upper_fs_tst_gt (a, b); + i = __ev_lower_fs_tst_gt (a, b); + a = __ev_select_fs_tst_gt (a, b, c, c); + + i = __ev_any_fs_tst_lt (a, b); + i = __ev_all_fs_tst_lt (a, b); + i = __ev_upper_fs_tst_lt (a, b); + i = __ev_lower_fs_tst_lt (a, b); + a = __ev_select_fs_tst_lt (a, b, c, c); + + i = __ev_any_fs_tst_eq (a, b); + i = __ev_all_fs_tst_eq (a, b); + i = __ev_upper_fs_tst_eq (a, b); + i = __ev_lower_fs_tst_eq (a, b); + a = __ev_select_fs_tst_eq (a, b, c, c); + } + + int + main (void) + { + /* Generic binary operations. */ + c = __builtin_spe_evaddw (a, b); + c = __builtin_spe_evand (a, b); + c = __builtin_spe_evandc (a, b); + c = __builtin_spe_evdivws (a, b); + c = __builtin_spe_evdivwu (a, b); + c = __builtin_spe_eveqv (a, b); + h = __builtin_spe_evfsadd (f, g); + h = __builtin_spe_evfsdiv (f, g); + h = __builtin_spe_evfsmul (f, g); + h = __builtin_spe_evfssub (f, g); + c = __builtin_spe_evlddx (ap, j); + c = __builtin_spe_evldhx (ap, j); + c = __builtin_spe_evldwx (ap, j); + c = __builtin_spe_evlhhesplatx (usp, j); + c = __builtin_spe_evlhhossplatx (usp, j); + c = __builtin_spe_evlhhousplatx (usp, j); + c = __builtin_spe_evlwhex (uip, j); + c = __builtin_spe_evlwhosx (uip, j); + c = __builtin_spe_evlwhoux (uip, j); + c = __builtin_spe_evlwhsplatx (uip, j); + c = __builtin_spe_evlwwsplatx (uip, j); + c = __builtin_spe_evmergehi (a, b); + c = __builtin_spe_evmergehilo (a, b); + c = __builtin_spe_evmergelo (a, b); + c = __builtin_spe_evmergelohi (a, b); + c = __builtin_spe_evmhegsmfaa (a, b); + c = __builtin_spe_evmhegsmfan (a, b); + c = __builtin_spe_evmhegsmiaa (a, b); + c = __builtin_spe_evmhegsmian (a, b); + c = __builtin_spe_evmhegumiaa (a, b); + c = __builtin_spe_evmhegumian (a, b); + c = __builtin_spe_evmhesmf (a, b); + c = __builtin_spe_evmhesmfa (a, b); + c = __builtin_spe_evmhesmfaaw (a, b); + c = __builtin_spe_evmhesmfanw (a, b); + c = __builtin_spe_evmhesmi (a, b); + c = __builtin_spe_evmhesmia (a, b); + c = __builtin_spe_evmhesmiaaw (a, b); + c = __builtin_spe_evmhesmianw (a, b); + c = __builtin_spe_evmhessf (a, b); + c = __builtin_spe_evmhessfa (a, b); + c = __builtin_spe_evmhessfaaw (a, b); + c = __builtin_spe_evmhessfanw (a, b); + c = __builtin_spe_evmhessiaaw (a, b); + c = __builtin_spe_evmhessianw (a, b); + c = __builtin_spe_evmheumi (a, b); + c = __builtin_spe_evmheumia (a, b); + c = __builtin_spe_evmheumiaaw (a, b); + c = __builtin_spe_evmheumianw (a, b); + c = __builtin_spe_evmheusiaaw (a, b); + c = __builtin_spe_evmheusianw (a, b); + c = __builtin_spe_evmhogsmfaa (a, b); + c = __builtin_spe_evmhogsmfan (a, b); + c = __builtin_spe_evmhogsmiaa (a, b); + c = __builtin_spe_evmhogsmian (a, b); + c = __builtin_spe_evmhogumiaa (a, b); + c = __builtin_spe_evmhogumian (a, b); + c = __builtin_spe_evmhosmf (a, b); + c = __builtin_spe_evmhosmfa (a, b); + c = __builtin_spe_evmhosmfaaw (a, b); + c = __builtin_spe_evmhosmfanw (a, b); + c = __builtin_spe_evmhosmi (a, b); + c = __builtin_spe_evmhosmia (a, b); + c = __builtin_spe_evmhosmiaaw (a, b); + c = __builtin_spe_evmhosmianw (a, b); + c = __builtin_spe_evmhossf (a, b); + c = __builtin_spe_evmhossfa (a, b); + c = __builtin_spe_evmhossfaaw (a, b); + c = __builtin_spe_evmhossfanw (a, b); + c = __builtin_spe_evmhossiaaw (a, b); + c = __builtin_spe_evmhossianw (a, b); + c = __builtin_spe_evmhoumi (a, b); + c = __builtin_spe_evmhoumia (a, b); + c = __builtin_spe_evmhoumiaaw (a, b); + c = __builtin_spe_evmhoumianw (a, b); + c = __builtin_spe_evmhousiaaw (a, b); + c = __builtin_spe_evmhousianw (a, b); + c = __builtin_spe_evmwhsmf (a, b); + c = __builtin_spe_evmwhsmfa (a, b); + c = __builtin_spe_evmwhsmi (a, b); + c = __builtin_spe_evmwhsmia (a, b); + c = __builtin_spe_evmwhssf (a, b); + c = __builtin_spe_evmwhssfa (a, b); + c = __builtin_spe_evmwhumi (a, b); + c = __builtin_spe_evmwhumia (a, b); + c = __builtin_spe_evmwlsmf (a, b); + c = __builtin_spe_evmwlsmfa (a, b); + c = __builtin_spe_evmwlsmfaaw (a, b); + c = __builtin_spe_evmwlsmfanw (a, b); + c = __builtin_spe_evmwlsmiaaw (a, b); + c = __builtin_spe_evmwlsmianw (a, b); + c = __builtin_spe_evmwlssf (a, b); + c = __builtin_spe_evmwlssfa (a, b); + c = __builtin_spe_evmwlssfaaw (a, b); + c = __builtin_spe_evmwlssfanw (a, b); + c = __builtin_spe_evmwlssiaaw (a, b); + c = __builtin_spe_evmwlssianw (a, b); + c = __builtin_spe_evmwlumi (a, b); + c = __builtin_spe_evmwlumia (a, b); + c = __builtin_spe_evmwlumiaaw (a, b); + c = __builtin_spe_evmwlumianw (a, b); + c = __builtin_spe_evmwlusiaaw (a, b); + c = __builtin_spe_evmwlusianw (a, b); + c = __builtin_spe_evmwsmf (a, b); + c = __builtin_spe_evmwsmfa (a, b); + c = __builtin_spe_evmwsmfaa (a, b); + c = __builtin_spe_evmwsmfan (a, b); + c = __builtin_spe_evmwsmi (a, b); + c = __builtin_spe_evmwsmia (a, b); + c = __builtin_spe_evmwsmiaa (a, b); + c = __builtin_spe_evmwsmian (a, b); + c = __builtin_spe_evmwssf (a, b); + c = __builtin_spe_evmwssfa (a, b); + c = __builtin_spe_evmwssfaa (a, b); + c = __builtin_spe_evmwssfan (a, b); + c = __builtin_spe_evmwumi (a, b); + c = __builtin_spe_evmwumia (a, b); + c = __builtin_spe_evmwumiaa (a, b); + c = __builtin_spe_evmwumian (a, b); + c = __builtin_spe_evnand (a, b); + c = __builtin_spe_evnor (a, b); + c = __builtin_spe_evor (a, b); + c = __builtin_spe_evorc (a, b); + c = __builtin_spe_evrlw (a, b); + c = __builtin_spe_evslw (a, b); + c = __builtin_spe_evsrws (a, b); + c = __builtin_spe_evsrwu (a, b); + c = __builtin_spe_evsubfw (a, b); + c = __builtin_spe_evxor (a, b); + /* GAS bug not implemented. + c = __builtin_spe_evmwhssfaa (a, b); + c = __builtin_spe_evmwhssmaa (a, b); + c = __builtin_spe_evmwhsmfaa (a, b); + c = __builtin_spe_evmwhsmiaa (a, b); + c = __builtin_spe_evmwhusiaa (a, b); + c = __builtin_spe_evmwhumiaa (a, b); + c = __builtin_spe_evmwhssfan (a, b); + c = __builtin_spe_evmwhssian (a, b); + c = __builtin_spe_evmwhsmfan (a, b); + c = __builtin_spe_evmwhsmian (a, b); + c = __builtin_spe_evmwhusian (a, b); + c = __builtin_spe_evmwhumian (a, b); + c = __builtin_spe_evmwhgssfaa (a, b); + c = __builtin_spe_evmwhgsmfaa (a, b); + c = __builtin_spe_evmwhgsmiaa (a, b); + c = __builtin_spe_evmwhgumiaa (a, b); + c = __builtin_spe_evmwhgssfan (a, b); + c = __builtin_spe_evmwhgsmfan (a, b); + c = __builtin_spe_evmwhgsmian (a, b); + c = __builtin_spe_evmwhgumian (a, b); + */ + i = __builtin_spe_brinc (i, j); + + /* Generic unary operations. */ + a = __builtin_spe_evabs (b); + a = __builtin_spe_evaddsmiaaw (b); + a = __builtin_spe_evaddssiaaw (b); + a = __builtin_spe_evaddumiaaw (b); + a = __builtin_spe_evaddusiaaw (b); + a = __builtin_spe_evcntlsw (b); + a = __builtin_spe_evcntlzw (b); + a = __builtin_spe_evextsb (b); + a = __builtin_spe_evextsh (b); + f = __builtin_spe_evfsabs (g); + f = __builtin_spe_evfscfsf (g); + a = __builtin_spe_evfscfsi (g); + f = __builtin_spe_evfscfuf (g); + f = __builtin_spe_evfscfui (a); + f = __builtin_spe_evfsctsf (g); + a = __builtin_spe_evfsctsi (g); + a = __builtin_spe_evfsctsiz (g); + f = __builtin_spe_evfsctuf (g); + a = __builtin_spe_evfsctui (g); + a = __builtin_spe_evfsctuiz (g); + f = __builtin_spe_evfsnabs (g); + f = __builtin_spe_evfsneg (g); + a = __builtin_spe_evmra (b); + a = __builtin_spe_evneg (b); + a = __builtin_spe_evrndw (b); + a = __builtin_spe_evsubfsmiaaw (b); + a = __builtin_spe_evsubfssiaaw (b); + a = __builtin_spe_evsubfumiaaw (b); + a = __builtin_spe_evsubfusiaaw (b); + + /* Unary operations of the form: X = foo (5_bit_signed_immediate). */ + a = __builtin_spe_evsplatfi (5); + a = __builtin_spe_evsplati (5); + + /* Binary operations of the form: X = foo(Y, 5_bit_immediate). */ + a = __builtin_spe_evaddiw (b, 13); + a = __builtin_spe_evldd (ap, 13); + a = __builtin_spe_evldh (ap, 13); + a = __builtin_spe_evldw (ap, 13); + a = __builtin_spe_evlhhesplat (usp, 13); + a = __builtin_spe_evlhhossplat (usp, 13); + a = __builtin_spe_evlhhousplat (usp, 13); + a = __builtin_spe_evlwhe (uip, 13); + a = __builtin_spe_evlwhos (uip, 13); + a = __builtin_spe_evlwhou (uip, 13); + a = __builtin_spe_evlwhsplat (uip, 13); + a = __builtin_spe_evlwwsplat (uip, 13); + + a = __builtin_spe_evrlwi (b, 13); + a = __builtin_spe_evslwi (b, 13); + a = __builtin_spe_evsrwis (b, 13); + a = __builtin_spe_evsrwiu (b, 13); + a = __builtin_spe_evsubifw (b, 13); + + /* Store indexed builtins. */ + __builtin_spe_evstddx (b, ap, j); + __builtin_spe_evstdhx (b, ap, j); + __builtin_spe_evstdwx (b, ap, j); + __builtin_spe_evstwhex (b, uip, j); + __builtin_spe_evstwhox (b, uip, j); + __builtin_spe_evstwwex (b, uip, j); + __builtin_spe_evstwwox (b, uip, j); + + /* Store indexed immediate builtins. */ + __builtin_spe_evstdd (b, ap, 5); + __builtin_spe_evstdh (b, ap, 5); + __builtin_spe_evstdw (b, ap, 5); + __builtin_spe_evstwhe (b, uip, 5); + __builtin_spe_evstwho (b, uip, 5); + __builtin_spe_evstwwe (b, uip, 5); + __builtin_spe_evstwwo (b, uip, 5); + + /* SPEFSCR builtins. */ + i = __builtin_spe_mfspefscr (); + __builtin_spe_mtspefscr (j); + + test_api (); + + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/return-type-3.c gcc-3.3/gcc/testsuite/gcc.dg/return-type-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/return-type-3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/return-type-3.c 2003-03-13 00:57:53.000000000 +0000 *************** *** 0 **** --- 1,14 ---- + /* PR optimization/7189 + This was a missing warning caused by a cfg cleanup after sibling + call optimization. The return clobber insn was cleaned up and + the warning was never issued. */ + /* { dg-do compile } */ + /* { dg-options "-foptimize-sibling-calls -Wreturn-type" } */ + + extern void foo(void); + + int + bar (void) + { + foo(); + } /* { dg-warning "control reaches end of non-void function" "warning for falling off end of non-void function" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/sibcall-1.c gcc-3.3/gcc/testsuite/gcc.dg/sibcall-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/sibcall-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/sibcall-1.c 2002-09-29 18:16:15.000000000 +0000 *************** *** 0 **** --- 1,46 ---- + /* Simple check that sibling calls are performed from a + void non-leaf-function taking one int argument calling itself. + + Copyright (C) 2002 Free Software Foundation Inc. + Contributed by Hans-Peter Nilsson */ + + /* { dg-do run } */ + /* { dg-options "-O2 -foptimize-sibling-calls" } */ + + /* The option -foptimize-sibling-calls is the default, but serves as + marker. Self-recursion tail calls are optimized for all targets, + regardless of presence of sibcall patterns. */ + + extern void recurser_void (int); + extern void track (int); + + int main () + { + recurser_void (0); + exit (0); + } + + void + recurser_void (int n) + { + if (n == 0 || n == 7) + track (n); + + if (n == 10) + return; + + recurser_void (n + 1); + } + + void *trackpoint; + + void + track (int n) + { + char stackpos[1]; + + if (n == 0) + trackpoint = stackpos; + else if (n != 7 || trackpoint != stackpos) + abort (); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/sibcall-2.c gcc-3.3/gcc/testsuite/gcc.dg/sibcall-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/sibcall-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/sibcall-2.c 2002-09-29 18:16:15.000000000 +0000 *************** *** 0 **** --- 1,47 ---- + /* Simple check that sibling calls are performed from a + void non-leaf-function taking no arguments calling itself. + + Copyright (C) 2002 Free Software Foundation Inc. + Contributed by Hans-Peter Nilsson */ + + /* { dg-do run } */ + /* { dg-options "-O2 -foptimize-sibling-calls" } */ + + /* The option -foptimize-sibling-calls is the default, but serves as + marker. Self-recursion tail calls are optimized for all targets, + regardless of presence of sibcall patterns. */ + + extern void recurser_void (void); + extern void track (void); + + int n = 0; + int main () + { + recurser_void (); + exit (0); + } + + void + recurser_void (void) + { + if (n == 0 || n == 7) + track (); + + if (n == 10) + return; + n++; + recurser_void (); + } + + void *trackpoint; + + void + track () + { + char stackpos[1]; + + if (n == 0) + trackpoint = stackpos; + else if (n != 7 || trackpoint != stackpos) + abort (); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/sibcall-3.c gcc-3.3/gcc/testsuite/gcc.dg/sibcall-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/sibcall-3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/sibcall-3.c 2002-09-29 18:16:15.000000000 +0000 *************** *** 0 **** --- 1,65 ---- + /* Simple check that sibling calls are performed from a + void non-leaf-function taking one int argument calling a function which + is about the same as itself. + + Copyright (C) 2002 Free Software Foundation Inc. + Contributed by Hans-Peter Nilsson */ + + /* { dg-do run { xfail arc-*-* avr-*-* c4x-*-* cris-*-* h8300-*-* i370-*-* i960-*-* ip2k-*-* m32r-*-* m68hc1?-*-* m681?-*-* m680*-*-* m68k-*-* mcore-*-* mips*-*-* mn10?00-*-* ns32k-*-* s390*-*-* xstormy16-*-* v850*-*-* vax-*-* xtensa-*-* } } */ + /* { dg-options "-O2 -foptimize-sibling-calls" } */ + + /* The option -foptimize-sibling-calls is the default, but serves as + marker. This test is xfailed on targets without sibcall patterns + (except targets where the test does not work due to the return address + not saved on the regular stack). */ + + static void recurser_void1 (int); + static void recurser_void2 (int); + extern void track (int); + + int main () + { + recurser_void1 (0); + exit (0); + } + + /* The functions should get the same stack-frame, and best way to make it + reasonably sure is to make them have the same contents (regarding the + n tests). */ + + static void + recurser_void1 (int n) + { + if (n == 0 || n == 7 || n == 8) + track (n); + + if (n == 10) + return; + + recurser_void2 (n + 1); + } + + static void + recurser_void2 (int n) + { + if (n == 0 || n == 7 || n == 8) + track (n); + + if (n == 10) + return; + + recurser_void1 (n + 1); + } + + void *trackpoint; + + void + track (int n) + { + char stackpos[1]; + + if (n == 0) + trackpoint = stackpos; + else if ((n != 7 && n != 8) || trackpoint != stackpos) + abort (); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/sibcall-4.c gcc-3.3/gcc/testsuite/gcc.dg/sibcall-4.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/sibcall-4.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/sibcall-4.c 2002-09-29 18:16:15.000000000 +0000 *************** *** 0 **** --- 1,66 ---- + /* Simple check that sibling calls are performed from a + void non-leaf-function taking no arguments calling a function which + is about the same as itself. + + Copyright (C) 2002 Free Software Foundation Inc. + Contributed by Hans-Peter Nilsson */ + + /* { dg-do run { xfail arc-*-* avr-*-* c4x-*-* cris-*-* h8300-*-* i370-*-* i960-*-* ip2k-*-* m32r-*-* m68hc1?-*-* m681?-*-* m680*-*-* m68k-*-* mcore-*-* mips*-*-* mn10?00-*-* ns32k-*-* s390*-*-* xstormy16-*-* v850*-*-* vax-*-* xtensa-*-* } } */ + /* { dg-options "-O2 -foptimize-sibling-calls" } */ + + /* The option -foptimize-sibling-calls is the default, but serves as + marker. This test is xfailed on targets without sibcall patterns + (except targets where the test does not work due to the return address + not saved on the regular stack). */ + + static void recurser_void1 (void); + static void recurser_void2 (void); + extern void track (void); + + int n = 0; + int main () + { + recurser_void1 (); + exit (0); + } + + /* The functions should get the same stack-frame, and best way to make it + reasonably sure is to make them have the same contents (regarding the + n tests). */ + + static void + recurser_void1 (void) + { + if (n == 0 || n == 7 || n == 8) + track (); + + if (n == 10) + return; + n++; + recurser_void2 (); + } + + static void + recurser_void2 (void) + { + if (n == 0 || n == 7 || n == 8) + track (); + + if (n == 10) + return; + n++; + recurser_void1 (); + } + + void *trackpoint; + + void + track () + { + char stackpos[1]; + + if (n == 0) + trackpoint = stackpos; + else if ((n != 7 && n != 8) || trackpoint != stackpos) + abort (); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/simd-1.c gcc-3.3/gcc/testsuite/gcc.dg/simd-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/simd-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/simd-1.c 2002-06-18 01:35:39.000000000 +0000 *************** *** 0 **** --- 1,61 ---- + /* { dg-do compile } */ + /* { dg-options "-Wall" } */ + + /* Origin: Aldy Hernandez . */ + /* Purpose: Program to test generic SIMD support. */ + + typedef int __attribute__((mode(V4SI))) v4si; + typedef int __attribute__((mode(V8HI))) v8hi; + typedef int __attribute__((mode(V2SI))) v2si; + typedef unsigned int __attribute__((mode(V4SI))) uv4si; + + v4si a, b; + v2si c, d; + v8hi e; + uv4si f; + + int foo __attribute__((mode(DI))); + int foo1 __attribute__((mode(SI))); + int foo2 __attribute__((mode(V4HI))); + + void + hanneke () + { + /* Assignment. */ + a = b; + + /* Assignment of different types. */ + b = c; /* { dg-error "incompatible types in assignment" } */ + d = a; /* { dg-error "incompatible types in assignment" } */ + + /* Casting between SIMDs of the same size. */ + e = (typeof (e)) a; + + /* Different signed SIMD assignment. */ + f = a; /* { dg-error "incompatible types in assignment" } */ + + /* Casted different signed SIMD assignment. */ + f = (uv4si) a; + + /* Assignment between scalar and SIMD of different size. */ + foo = a; /* { dg-error "incompatible types in assignment" } */ + + /* Casted assignment between scalar and SIMD of same size. */ + foo = (typeof (foo)) foo2; + + /* Casted assignment between scalar and SIMD of different size. */ + foo1 = (typeof (foo1)) foo2; /* { dg-error "can't convert between vector values of different size" } */ + + /* Operators on compatible SIMD types. */ + a += b + b; + a -= b; + a *= b; + a /= b; + a = -b; + + /* Operators on incompatible SIMD types. */ + a = b + c; /* { dg-error "can't convert between vector values of different size" } */ + a = b - c; /* { dg-error "can't convert between vector values of different size" } */ + a = b * c; /* { dg-error "can't convert between vector values of different size" } */ + a = b / c; /* { dg-error "can't convert between vector values of different size" } */ + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/special/ecos.exp gcc-3.3/gcc/testsuite/gcc.dg/special/ecos.exp *** gcc-3.2.3/gcc/testsuite/gcc.dg/special/ecos.exp 2002-03-31 11:52:09.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/special/ecos.exp 2003-03-13 03:29:14.000000000 +0000 *************** if { [ check_weak_available ] == 1 } { *** 155,161 **** # gcsec-1.c ########### ! set ld_output [ remote_exec host "[ find_ld ]" "--help" ] # AIX gld supports garbage collection. But AIX gcc does not support # -ffunction-sections or -fdata-sections. --- 155,163 ---- # gcsec-1.c ########### ! # Check if the ld used by gcc supports --gc-sections. ! set gcc_ld [lindex [gcc_target_compile "-print-prog-name=ld" "" "none" ""] 0] ! set ld_output [remote_exec host "$gcc_ld" "--help"] # AIX gld supports garbage collection. But AIX gcc does not support # -ffunction-sections or -fdata-sections. diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/special/mips-abi.exp gcc-3.3/gcc/testsuite/gcc.dg/special/mips-abi.exp *** gcc-3.2.3/gcc/testsuite/gcc.dg/special/mips-abi.exp 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/special/mips-abi.exp 2002-10-17 06:56:44.000000000 +0000 *************** *** 0 **** --- 1,125 ---- + # Copyright (C) 2002 Free Software Foundation, Inc. + + # 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, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + # This test checks whether MIPS ELF configurations pass the right + # ABI flags to the assembler. An ABI flag should always be passed + # unless MEABI is selected. + + load_lib gcc-dg.exp + + # Only run this test on MIPS ELF targets + if {![istarget mips*-*-*] || [gcc_target_object_format] != "elf"} { + return + } + + # A list of all assembler ABI flags. We should use SGI-compatible + # flags where possible. + set asm_abi_flags {-32 -n32 -64 -mabi=o64 -mabi=eabi} + + # Return true if the configuration uses MEABI by default. + proc is_meabi_config {} { + return [expr {[istarget mipsisa32*-*-elf*] + || [istarget mipsisa32el-*-elf*] + || [istarget mipsisa64-*-elf*] + || [istarget mipsisa64el-*-elf*] + || [istarget mipsisa64sr71k-*-elf*]}] + } + + # Try to assemble mips-abi.s (an empty file), passing -v in order to + # get the assembler command line. Check whether an appropriate ABI + # flag is passed. + # + # NAME is a name for the pass/fail line. + # ABIS is a list of acceptable assembler ABI flags, or "" if no + # ABI flag is expected. + # FLAGS is a list of options for gcc. + proc check_mips_abi {name abis flags} { + global srcdir subdir asm_abi_flags + + lappend flags "-v" + set lines [gcc_target_compile "$srcdir/$subdir/mips-abi.s" \ + "mips-abi.o" object \ + [list "additional_flags=$flags"]] + set good 0 + set bad 0 + foreach line [split $lines "\n"] { + # Find the assembler command line. + if {[string first "$srcdir/$subdir/mips-abi.s" $line] >= 0} { + foreach arg [split $line " "] { + # Count the number of matching and non-matching + # ABI options. + if {[lsearch -exact $abis $arg] >= 0} { + incr good + } elseif {[lsearch -exact $asm_abi_flags $arg] >= 0} { + incr bad + } + } + } + } + if {$good == ($abis != "") && $bad == 0} { + pass "mips-abi $name" + } else { + fail "mips-abi $name" + } + } + + # Collect the default target flags. + set default_flags "" + set target [target_info name] + if {[info exists CFLAGS_FOR_TARGET]} { + append default_flags " $CFLAGS_FOR_TARGET" + } + if {[board_info $target exists cflags]} { + append default_flags " [board_info $target cflags]" + } + if {[board_info $target exists multilib_flags]} { + append default_flags " [board_info $target multilib_flags]" + } + + # See whether the default command line specifies an ABI. + set default_abi "" + foreach flag $default_flags { + if {[string first "-mabi" $flag] == 0} { + set default_abi $flag + } + } + + # If the command line does specify an ABI, just check for the + # appropriate assembler flag. + switch -- $default_abi { + -mabi=meabi { check_mips_abi "MEABI" "" "" } + -mabi=eabi { check_mips_abi "EABI" "-mabi=eabi" "" } + -mabi=32 { check_mips_abi "o32" "-32" "" } + -mabi=n32 { check_mips_abi "n32" "-n32" "" } + -mabi=o64 { check_mips_abi "o64" "-mabi=o64" "" } + -mabi=64 { check_mips_abi "n64" "-64" "" } + "" { + # MEABI configs shouldn't pass an ABI flag by default + # but the others should. It doesn't seem worthwhile + # duplicating the configuration to ABI logic here, + # so just accept any ABI. + if {[is_meabi_config]} { + check_mips_abi "default" "" "" + } else { + check_mips_abi "default" $asm_abi_flags "" + } + # See whether passing a -mabi flag does the right thing. + # Only try ABIs that the SGI assembler also understands. + check_mips_abi "o32" "-32" "-mabi=32" + check_mips_abi "n32" "-n32" "-mabi=n32" + check_mips_abi "64" "-64" "-mabi=64" + } + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/struct-ret-1.c gcc-3.3/gcc/testsuite/gcc.dg/struct-ret-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/struct-ret-1.c 1998-12-16 22:23:30.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/struct-ret-1.c 2002-09-10 21:06:59.000000000 +0000 *************** *** 1,5 **** --- 1,6 ---- /* { dg-do run { target hppa*-*-* } } */ /* { dg-options { -O2 } { target hppa*-*-* } } */ + extern void exit (int); typedef struct { int x; int y; *************** main(int argc, char *argv[]) *** 16,22 **** if (printPoints(toPoint(0, 0), toPoint(1000, 1000)) != 1) abort(); else ! exit(); return 0; } --- 17,23 ---- if (printPoints(toPoint(0, 0), toPoint(1000, 1000)) != 1) abort(); else ! exit(0); return 0; } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/tls/alias-1.c gcc-3.3/gcc/testsuite/gcc.dg/tls/alias-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/tls/alias-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/tls/alias-1.c 2003-01-07 00:46:25.000000000 +0000 *************** *** 0 **** --- 1,21 ---- + /* { dg-do link } */ + /* Test that encode_section_info handles the change from externally + defined to locally defined (via hidden). Extracted from glibc. */ + + struct __res_state { + char x[123]; + }; + + extern __thread struct __res_state bar + __attribute__ ((tls_model ("initial-exec"))); + + int main() + { + bar.x[0] = 0; + return 0; + } + + __thread struct __res_state foo; + extern __thread struct __res_state bar + __attribute__ ((alias ("foo"))) + __attribute__ ((visibility ("hidden"))); diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/tls/diag-1.c gcc-3.3/gcc/testsuite/gcc.dg/tls/diag-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/tls/diag-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/tls/diag-1.c 2002-05-22 01:12:13.000000000 +0000 *************** *** 0 **** --- 1,11 ---- + /* Valid __thread specifiers. */ + + __thread int g1; + extern __thread int g2; + static __thread int g3; + + void foo() + { + extern __thread int l1; + static __thread int l2; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/tls/diag-2.c gcc-3.3/gcc/testsuite/gcc.dg/tls/diag-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/tls/diag-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/tls/diag-2.c 2002-05-22 01:12:13.000000000 +0000 *************** *** 0 **** --- 1,21 ---- + /* Invalid __thread specifiers. */ + + __thread extern int g1; /* { dg-error "`__thread' before `extern'" } */ + __thread static int g2; /* { dg-error "`__thread' before `static'" } */ + __thread __thread int g3; /* { dg-error "duplicate `__thread'" } */ + typedef __thread int g4; /* { dg-error "multiple storage classes" } */ + + void foo() + { + __thread int l1; /* { dg-error "implicitly auto and declared `__thread'" } */ + auto __thread int l2; /* { dg-error "multiple storage classes" } */ + __thread extern int l3; /* { dg-error "`__thread' before `extern'" } */ + register __thread int l4; /* { dg-error "multiple storage classes" } */ + } + + __thread void f1 (); /* { dg-error "invalid storage class for function" } */ + extern __thread void f2 (); /* { dg-error "invalid storage class for function" } */ + static __thread void f3 (); /* { dg-error "invalid storage class for function" } */ + __thread void f4 () { } /* { dg-error "function definition declared `__thread'" } */ + + void bar(__thread int p1); /* { dg-error "storage class specified for parameter" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/tls/diag-3.c gcc-3.3/gcc/testsuite/gcc.dg/tls/diag-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/tls/diag-3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/tls/diag-3.c 2002-08-15 00:16:11.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + /* Report invalid extern and __thread combinations. */ + + extern int j; /* { dg-error "previous declaration" } */ + __thread int j; /* { dg-error "follows non thread-local" } */ + + extern __thread int i; /* { dg-error "previous declaration" } */ + int i; /* { dg-error "follows thread-local" } */ + + extern __thread int k; /* This is fine. */ + __thread int k; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/tls/init-1.c gcc-3.3/gcc/testsuite/gcc.dg/tls/init-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/tls/init-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/tls/init-1.c 2002-05-22 01:12:13.000000000 +0000 *************** *** 0 **** --- 1,4 ---- + /* Invalid initializations. */ + + extern __thread int i; + int *p = &i; /* { dg-error "initializer element is not constant" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/tls/nonpic-1.c gcc-3.3/gcc/testsuite/gcc.dg/tls/nonpic-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/tls/nonpic-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/tls/nonpic-1.c 2002-10-21 20:27:14.000000000 +0000 *************** *** 0 **** --- 1,71 ---- + /* { dg-do compile } */ + /* { dg-options "-O2 -ftls-model=initial-exec" } */ + + extern __thread long e1; + extern __thread int e2; + static __thread long s1; + static __thread int s2; + + long *ae1 (void) + { + return &e1; + } + + int *ae2 (void) + { + return &e2; + } + + long *as1 (void) + { + return &s1; + } + + int *as2 (void) + { + return &s2; + } + + long ge1 (void) + { + return e1; + } + + int ge2 (void) + { + return e2; + } + + long gs1 (void) + { + return s1; + } + + int gs2 (void) + { + return s2; + } + + long ge3 (void) + { + return e1 + e2; + } + + long gs3 (void) + { + return s1 + s2; + } + + long ge4 (void) + { + if (0) + return e1; + return e2; + } + + long gs4 (void) + { + if (0) + return s1; + return s2; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/tls/opt-2.c gcc-3.3/gcc/testsuite/gcc.dg/tls/opt-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/tls/opt-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/tls/opt-2.c 2002-08-09 00:01:12.000000000 +0000 *************** *** 0 **** --- 1,53 ---- + /* This testcase generated invalid assembly on IA-32, + since %gs:0 memory load was not exposed to the compiler + as memory load and mem to mem moves are not possible + on IA-32. */ + /* { dg-do link } */ + /* { dg-options "-O2 -ftls-model=initial-exec" } */ + /* { dg-options "-O2 -ftls-model=initial-exec -march=i686" { target i?86-*-* } } */ + + __thread int thr; + + struct A + { + unsigned int a, b, c, d, e; + }; + + int bar (int x, unsigned long y, void *z) + { + return 0; + } + + int + foo (int x, int y, const struct A *z) + { + struct A b; + int d; + + b = *z; + d = bar (x, y, &b); + if (d == 0 && y == 0x5402) + { + int e = thr; + d = bar (x, 0x5401, &b); + if (d) + { + thr = e; + d = 0; + } + else if ((z->c & 0600) != (b.c & 0600) + || ((z->c & 060) && ((z->c & 060) != (b.c & 060)))) + { + thr = 22; + d = -1; + } + } + + return d; + } + + int main (void) + { + foo (1, 2, 0); + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/tls/opt-3.c gcc-3.3/gcc/testsuite/gcc.dg/tls/opt-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/tls/opt-3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/tls/opt-3.c 2002-10-02 01:55:10.000000000 +0000 *************** *** 0 **** --- 1,10 ---- + /* { dg-do compile } */ + /* { dg-options "-O2 -fpic" } */ + /* { dg-options "-O2 -fpic -mregparm=3" { target i?86-*-* } } */ + + extern __thread int i, j, k; + extern void bar(int *, int *, int *); + void foo(void) + { + bar(&i, &j, &k); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/tls/opt-4.c gcc-3.3/gcc/testsuite/gcc.dg/tls/opt-4.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/tls/opt-4.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/tls/opt-4.c 2002-12-09 23:54:01.000000000 +0000 *************** *** 0 **** --- 1,53 ---- + /* { dg-do compile } */ + /* { dg-options "-O2" } */ + + struct A + { + int a1; + int a2; + }; + + extern __thread const unsigned char *tcc1, **tcc2; + + extern inline const unsigned char ** __attribute__ ((const)) + foo (void) + { + const unsigned char **a = &tcc1; + if (*a == 0) + *a = *tcc2 + 128; + return a; + } + + extern inline int + bar (const struct A *x) + { + int a; + + if (x->a2 & 8) + return 0; + a = x->a1; + return a > 0 && ((*foo ())[a] & 64); + } + + int + baz (const struct A *x, char *y) + { + const struct A *a; + + for (a = x; !!a->a1; a++) + if (! (x->a2 & 8)) + if (bar (a)) + { + *y++ = a->a1; + if (x->a1) + *y++ = ':'; + *y = '\0'; + } + return 0; + } + + /* Verify tcc1 and tcc2 variables show up only in the TLS access sequences. */ + /* { dg-final { scan-assembler "tcc1@" { target i?86-*-* x86_64-*-* } } } */ + /* { dg-final { scan-assembler "tcc2@" { target i?86-*-* x86_64-*-* } } } */ + /* { dg-final { scan-assembler-not "tcc1\[^@\]" { target i?86-*-* x86_64-*-* } } } */ + /* { dg-final { scan-assembler-not "tcc2\[^@\]" { target i?86-*-* x86_64-*-* } } } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/tls/pic-1.c gcc-3.3/gcc/testsuite/gcc.dg/tls/pic-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/tls/pic-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/tls/pic-1.c 2002-10-21 20:27:14.000000000 +0000 *************** *** 0 **** --- 1,71 ---- + /* { dg-do compile } */ + /* { dg-options "-O2 -fpic -ftls-model=global-dynamic" } */ + + extern __thread long e1; + extern __thread int e2; + static __thread long s1; + static __thread int s2; + + long *ae1 (void) + { + return &e1; + } + + int *ae2 (void) + { + return &e2; + } + + long *as1 (void) + { + return &s1; + } + + int *as2 (void) + { + return &s2; + } + + long ge1 (void) + { + return e1; + } + + int ge2 (void) + { + return e2; + } + + long gs1 (void) + { + return s1; + } + + int gs2 (void) + { + return s2; + } + + long ge3 (void) + { + return e1 + e2; + } + + long gs3 (void) + { + return s1 + s2; + } + + long ge4 (void) + { + if (0) + return e1; + return e2; + } + + long gs4 (void) + { + if (0) + return s1; + return s2; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/tls/section-1.c gcc-3.3/gcc/testsuite/gcc.dg/tls/section-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/tls/section-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/tls/section-1.c 2002-05-22 23:31:48.000000000 +0000 *************** *** 0 **** --- 1,11 ---- + /* Verify that we get errors for trying to put TLS data in + sections which can't work. */ + + #define A(X) __attribute__((section(X))) + + __thread int i A("foo"); /* Ok */ + + __thread int j A(".data"); /* { dg-error "causes a section type conflict" "conflict with .data section" { xfail *-*-* } } */ + + int k A("bar"); + __thread int l A("bar"); /* { dg-error "causes a section type conflict" "conflict with user-defined section" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/tls/struct-1.c gcc-3.3/gcc/testsuite/gcc.dg/tls/struct-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/tls/struct-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/tls/struct-1.c 2002-09-20 20:03:40.000000000 +0000 *************** *** 0 **** --- 1,32 ---- + /* This testcase ICEd on IA-32 because the backend was inconsistent whether + to allow addends for @dtpoff relocs or not. */ + /* { dg-do compile } */ + /* { dg-options "-O2 -fpic" } */ + + struct S { + int s0, s1, s2, s3; + }; + static __thread struct S x; + extern void abort (void); + extern void exit (int); + + void + foo (struct S *s) + { + s->s2 = 231; + } + + void + bar (void) + { + if (x.s0 == 231 || x.s2 != 231) + abort (); + } + + int + main () + { + foo (&x); + bar (); + exit (0); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/tls/tls.exp gcc-3.3/gcc/testsuite/gcc.dg/tls/tls.exp *** gcc-3.2.3/gcc/testsuite/gcc.dg/tls/tls.exp 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/tls/tls.exp 2002-05-22 01:12:13.000000000 +0000 *************** *** 0 **** --- 1,45 ---- + # Copyright (C) 2002 Free Software Foundation, Inc. + + # 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, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + # GCC testsuite that uses the `dg.exp' driver. + + # Load support procs. + load_lib gcc-dg.exp + + # Test for thread-local data supported by the platform. If it + # isn't, everything will fail with the "not supported" message. + + set comp_output [gcc_target_compile \ + "$srcdir/$subdir/trivial.c" "trivial.S" assembly ""] + if { [string match "*not supported*" $comp_output] } { + return 0 + } + + # If a testcase doesn't have special options, use these. + global DEFAULT_CFLAGS + if ![info exists DEFAULT_CFLAGS] then { + set DEFAULT_CFLAGS " -ansi -pedantic-errors" + } + + # Initialize `dg'. + dg-init + + # Main loop. + dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] \ + "" $DEFAULT_CFLAGS + + # All done. + dg-finish diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/tls/trivial.c gcc-3.3/gcc/testsuite/gcc.dg/tls/trivial.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/tls/trivial.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/tls/trivial.c 2002-05-22 01:12:13.000000000 +0000 *************** *** 0 **** --- 1 ---- + __thread int i; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/typeof-2.c gcc-3.3/gcc/testsuite/gcc.dg/typeof-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/typeof-2.c 2002-09-04 08:57:30.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/typeof-2.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,29 **** - /* Test typeof with __asm redirection. */ - /* { dg-do compile } */ - /* { dg-options "-O2" } */ - - extern int foo1 (int x) __asm ("baz1"); - int bar1 (int x) { return x; } - extern __typeof (bar1) foo1 __attribute ((weak, alias ("bar1"))); - - extern int foo2 (int x) __attribute__ ((const)); - extern __typeof (foo2) foo2 __asm ("baz2"); - int bar2 (int x) - { - return foo2 (x) + foo2 (x) + foo2 (x) + foo2 (x) + foo2 (x) + foo2 (x); - } - - extern int foo3 (int x); - extern __typeof (foo3) foo3 __asm ("baz3"); - int bar3 (int x) - { - return foo3 (x) + foo3 (x) + foo3 (x) + foo3 (x) + foo3 (x) + foo3 (x); - } - - // { dg-final { scan-assembler-not "foo1" } } - // { dg-final { scan-assembler "baz1" } } - // { dg-final { scan-assembler-not "foo2" } } - // { dg-final { scan-assembler "baz2" } } - // { dg-final { scan-assembler-not "baz2.*baz2.*baz2.*baz2.*baz2.*baz2" } } - // { dg-final { scan-assembler-not "foo3" } } - // { dg-final { scan-assembler "baz3.*baz3.*baz3.*baz3.*baz3.*baz3" } } --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/typespec-1.c gcc-3.3/gcc/testsuite/gcc.dg/typespec-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/typespec-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/typespec-1.c 2002-08-21 16:31:36.000000000 +0000 *************** *** 0 **** --- 1,937 ---- + /* Test for valid and invalid combinations of type specifiers. + This test covers combinations of the reserved word type specifiers + other than _Complex and _Imaginary, and a typedef name as the first + specifier only. Within those constraints, there are no GCC extensions + and what is accepted should be exactly what C99 permits. All + sequences are tested which do not have a shorter invalid initial + subsequence. Within the given constraints, there are no valid sequences + with an invalid initial subsequence. + + In particular, the example of PR c/4319 should be rejected unconditionally, + not requiring -pedantic. */ + /* Origin: Joseph Myers */ + /* { dg-do compile } */ + /* { dg-options "-std=gnu99" } */ + + typedef char type; + void *x0; + char *x1; + short *x2; + int *x3; + long *x4; + float *x5; + double *x6; + signed *x7; + unsigned *x8; + _Bool *x9; + type *x10; + void void *x11; /* { dg-error "error" "void void" } */ + void char *x12; /* { dg-error "error" "void char" } */ + void short *x13; /* { dg-error "error" "void short" } */ + void int *x14; /* { dg-error "error" "void int" } */ + void long *x15; /* { dg-error "error" "void long" } */ + void float *x16; /* { dg-error "error" "void float" } */ + void double *x17; /* { dg-error "error" "void double" } */ + void signed *x18; /* { dg-error "error" "void signed" } */ + void unsigned *x19; /* { dg-error "error" "void unsigned" } */ + void _Bool *x20; /* { dg-error "error" "void _Bool" } */ + char void *x21; /* { dg-error "error" "char void" } */ + char char *x22; /* { dg-error "error" "char char" } */ + char short *x23; /* { dg-error "error" "char short" } */ + char int *x24; /* { dg-error "error" "char int" } */ + char long *x25; /* { dg-error "error" "char long" } */ + char float *x26; /* { dg-error "error" "char float" } */ + char double *x27; /* { dg-error "error" "char double" } */ + char signed *x28; + char unsigned *x29; + char _Bool *x30; /* { dg-error "error" "char _Bool" } */ + short void *x31; /* { dg-error "error" "short void" } */ + short char *x32; /* { dg-error "error" "short char" } */ + short short *x33; /* { dg-error "error" "short short" } */ + short int *x34; + short long *x35; /* { dg-error "error" "short long" } */ + short float *x36; /* { dg-error "error" "short float" } */ + short double *x37; /* { dg-error "error" "short double" } */ + short signed *x38; + short unsigned *x39; + short _Bool *x40; /* { dg-error "error" "short _Bool" } */ + int void *x41; /* { dg-error "error" "int void" } */ + int char *x42; /* { dg-error "error" "int char" } */ + int short *x43; + int int *x44; /* { dg-error "error" "int int" } */ + int long *x45; + int float *x46; /* { dg-error "error" "int float" } */ + int double *x47; /* { dg-error "error" "int double" } */ + int signed *x48; + int unsigned *x49; + int _Bool *x50; /* { dg-error "error" "int _Bool" } */ + long void *x51; /* { dg-error "error" "long void" } */ + long char *x52; /* { dg-error "error" "long char" } */ + long short *x53; /* { dg-error "error" "long short" } */ + long int *x54; + long long *x55; + long float *x56; /* { dg-error "error" "long float" } */ + long double *x57; + long signed *x58; + long unsigned *x59; + long _Bool *x60; /* { dg-error "error" "long _Bool" } */ + float void *x61; /* { dg-error "error" "float void" } */ + float char *x62; /* { dg-error "error" "float char" } */ + float short *x63; /* { dg-error "error" "float short" } */ + float int *x64; /* { dg-error "error" "float int" } */ + float long *x65; /* { dg-error "error" "float long" } */ + float float *x66; /* { dg-error "error" "float float" } */ + float double *x67; /* { dg-error "error" "float double" } */ + float signed *x68; /* { dg-error "error" "float signed" } */ + float unsigned *x69; /* { dg-error "error" "float unsigned" } */ + float _Bool *x70; /* { dg-error "error" "float _Bool" } */ + double void *x71; /* { dg-error "error" "double void" } */ + double char *x72; /* { dg-error "error" "double char" } */ + double short *x73; /* { dg-error "error" "double short" } */ + double int *x74; /* { dg-error "error" "double int" } */ + double long *x75; + double float *x76; /* { dg-error "error" "double float" } */ + double double *x77; /* { dg-error "error" "double double" } */ + double signed *x78; /* { dg-error "error" "double signed" } */ + double unsigned *x79; /* { dg-error "error" "double unsigned" } */ + double _Bool *x80; /* { dg-error "error" "double _Bool" } */ + signed void *x81; /* { dg-error "error" "signed void" } */ + signed char *x82; + signed short *x83; + signed int *x84; + signed long *x85; + signed float *x86; /* { dg-error "error" "signed float" } */ + signed double *x87; /* { dg-error "error" "signed double" } */ + signed signed *x88; /* { dg-error "error" "signed signed" } */ + signed unsigned *x89; /* { dg-error "error" "signed unsigned" } */ + signed _Bool *x90; /* { dg-error "error" "signed _Bool" } */ + unsigned void *x91; /* { dg-error "error" "unsigned void" } */ + unsigned char *x92; + unsigned short *x93; + unsigned int *x94; + unsigned long *x95; + unsigned float *x96; /* { dg-error "error" "unsigned float" } */ + unsigned double *x97; /* { dg-error "error" "unsigned double" } */ + unsigned signed *x98; /* { dg-error "error" "unsigned signed" } */ + unsigned unsigned *x99; /* { dg-error "error" "unsigned unsigned" } */ + unsigned _Bool *x100; /* { dg-error "error" "unsigned _Bool" } */ + _Bool void *x101; /* { dg-error "error" "_Bool void" } */ + _Bool char *x102; /* { dg-error "error" "_Bool char" } */ + _Bool short *x103; /* { dg-error "error" "_Bool short" } */ + _Bool int *x104; /* { dg-error "error" "_Bool int" } */ + _Bool long *x105; /* { dg-error "error" "_Bool long" } */ + _Bool float *x106; /* { dg-error "error" "_Bool float" } */ + _Bool double *x107; /* { dg-error "error" "_Bool double" } */ + _Bool signed *x108; /* { dg-error "error" "_Bool signed" } */ + _Bool unsigned *x109; /* { dg-error "error" "_Bool unsigned" } */ + _Bool _Bool *x110; /* { dg-error "error" "_Bool _Bool" } */ + type void *x111; /* { dg-error "error" "type void" } */ + type char *x112; /* { dg-error "error" "type char" } */ + type short *x113; /* { dg-error "error" "type short" } */ + type int *x114; /* { dg-error "error" "type int" } */ + type long *x115; /* { dg-error "error" "type long" } */ + type float *x116; /* { dg-error "error" "type float" } */ + type double *x117; /* { dg-error "error" "type double" } */ + type signed *x118; /* { dg-error "error" "type signed" } */ + type unsigned *x119; /* { dg-error "error" "type unsigned" } */ + type _Bool *x120; /* { dg-error "error" "type _Bool" } */ + char signed void *x121; /* { dg-error "error" "char signed void" } */ + char signed char *x122; /* { dg-error "error" "char signed char" } */ + char signed short *x123; /* { dg-error "error" "char signed short" } */ + char signed int *x124; /* { dg-error "error" "char signed int" } */ + char signed long *x125; /* { dg-error "error" "char signed long" } */ + char signed float *x126; /* { dg-error "error" "char signed float" } */ + char signed double *x127; /* { dg-error "error" "char signed double" } */ + char signed signed *x128; /* { dg-error "error" "char signed signed" } */ + char signed unsigned *x129; /* { dg-error "error" "char signed unsigned" } */ + char signed _Bool *x130; /* { dg-error "error" "char signed _Bool" } */ + char unsigned void *x131; /* { dg-error "error" "char unsigned void" } */ + char unsigned char *x132; /* { dg-error "error" "char unsigned char" } */ + char unsigned short *x133; /* { dg-error "error" "char unsigned short" } */ + char unsigned int *x134; /* { dg-error "error" "char unsigned int" } */ + char unsigned long *x135; /* { dg-error "error" "char unsigned long" } */ + char unsigned float *x136; /* { dg-error "error" "char unsigned float" } */ + char unsigned double *x137; /* { dg-error "error" "char unsigned double" } */ + char unsigned signed *x138; /* { dg-error "error" "char unsigned signed" } */ + char unsigned unsigned *x139; /* { dg-error "error" "char unsigned unsigned" } */ + char unsigned _Bool *x140; /* { dg-error "error" "char unsigned _Bool" } */ + short int void *x141; /* { dg-error "error" "short int void" } */ + short int char *x142; /* { dg-error "error" "short int char" } */ + short int short *x143; /* { dg-error "error" "short int short" } */ + short int int *x144; /* { dg-error "error" "short int int" } */ + short int long *x145; /* { dg-error "error" "short int long" } */ + short int float *x146; /* { dg-error "error" "short int float" } */ + short int double *x147; /* { dg-error "error" "short int double" } */ + short int signed *x148; + short int unsigned *x149; + short int _Bool *x150; /* { dg-error "error" "short int _Bool" } */ + short signed void *x151; /* { dg-error "error" "short signed void" } */ + short signed char *x152; /* { dg-error "error" "short signed char" } */ + short signed short *x153; /* { dg-error "error" "short signed short" } */ + short signed int *x154; + short signed long *x155; /* { dg-error "error" "short signed long" } */ + short signed float *x156; /* { dg-error "error" "short signed float" } */ + short signed double *x157; /* { dg-error "error" "short signed double" } */ + short signed signed *x158; /* { dg-error "error" "short signed signed" } */ + short signed unsigned *x159; /* { dg-error "error" "short signed unsigned" } */ + short signed _Bool *x160; /* { dg-error "error" "short signed _Bool" } */ + short unsigned void *x161; /* { dg-error "error" "short unsigned void" } */ + short unsigned char *x162; /* { dg-error "error" "short unsigned char" } */ + short unsigned short *x163; /* { dg-error "error" "short unsigned short" } */ + short unsigned int *x164; + short unsigned long *x165; /* { dg-error "error" "short unsigned long" } */ + short unsigned float *x166; /* { dg-error "error" "short unsigned float" } */ + short unsigned double *x167; /* { dg-error "error" "short unsigned double" } */ + short unsigned signed *x168; /* { dg-error "error" "short unsigned signed" } */ + short unsigned unsigned *x169; /* { dg-error "error" "short unsigned unsigned" } */ + short unsigned _Bool *x170; /* { dg-error "error" "short unsigned _Bool" } */ + int short void *x171; /* { dg-error "error" "int short void" } */ + int short char *x172; /* { dg-error "error" "int short char" } */ + int short short *x173; /* { dg-error "error" "int short short" } */ + int short int *x174; /* { dg-error "error" "int short int" } */ + int short long *x175; /* { dg-error "error" "int short long" } */ + int short float *x176; /* { dg-error "error" "int short float" } */ + int short double *x177; /* { dg-error "error" "int short double" } */ + int short signed *x178; + int short unsigned *x179; + int short _Bool *x180; /* { dg-error "error" "int short _Bool" } */ + int long void *x181; /* { dg-error "error" "int long void" } */ + int long char *x182; /* { dg-error "error" "int long char" } */ + int long short *x183; /* { dg-error "error" "int long short" } */ + int long int *x184; /* { dg-error "error" "int long int" } */ + int long long *x185; + int long float *x186; /* { dg-error "error" "int long float" } */ + int long double *x187; /* { dg-error "error" "int long double" } */ + int long signed *x188; + int long unsigned *x189; + int long _Bool *x190; /* { dg-error "error" "int long _Bool" } */ + int signed void *x191; /* { dg-error "error" "int signed void" } */ + int signed char *x192; /* { dg-error "error" "int signed char" } */ + int signed short *x193; + int signed int *x194; /* { dg-error "error" "int signed int" } */ + int signed long *x195; + int signed float *x196; /* { dg-error "error" "int signed float" } */ + int signed double *x197; /* { dg-error "error" "int signed double" } */ + int signed signed *x198; /* { dg-error "error" "int signed signed" } */ + int signed unsigned *x199; /* { dg-error "error" "int signed unsigned" } */ + int signed _Bool *x200; /* { dg-error "error" "int signed _Bool" } */ + int unsigned void *x201; /* { dg-error "error" "int unsigned void" } */ + int unsigned char *x202; /* { dg-error "error" "int unsigned char" } */ + int unsigned short *x203; + int unsigned int *x204; /* { dg-error "error" "int unsigned int" } */ + int unsigned long *x205; + int unsigned float *x206; /* { dg-error "error" "int unsigned float" } */ + int unsigned double *x207; /* { dg-error "error" "int unsigned double" } */ + int unsigned signed *x208; /* { dg-error "error" "int unsigned signed" } */ + int unsigned unsigned *x209; /* { dg-error "error" "int unsigned unsigned" } */ + int unsigned _Bool *x210; /* { dg-error "error" "int unsigned _Bool" } */ + long int void *x211; /* { dg-error "error" "long int void" } */ + long int char *x212; /* { dg-error "error" "long int char" } */ + long int short *x213; /* { dg-error "error" "long int short" } */ + long int int *x214; /* { dg-error "error" "long int int" } */ + long int long *x215; + long int float *x216; /* { dg-error "error" "long int float" } */ + long int double *x217; /* { dg-error "error" "long int double" } */ + long int signed *x218; + long int unsigned *x219; + long int _Bool *x220; /* { dg-error "error" "long int _Bool" } */ + long long void *x221; /* { dg-error "error" "long long void" } */ + long long char *x222; /* { dg-error "error" "long long char" } */ + long long short *x223; /* { dg-error "error" "long long short" } */ + long long int *x224; + long long long *x225; /* { dg-error "error" "long long long" } */ + long long float *x226; /* { dg-error "error" "long long float" } */ + long long double *x227; /* { dg-error "error" "long long double" } */ + long long signed *x228; + long long unsigned *x229; + long long _Bool *x230; /* { dg-error "error" "long long _Bool" } */ + long double void *x231; /* { dg-error "error" "long double void" } */ + long double char *x232; /* { dg-error "error" "long double char" } */ + long double short *x233; /* { dg-error "error" "long double short" } */ + long double int *x234; /* { dg-error "error" "long double int" } */ + long double long *x235; /* { dg-error "error" "long double long" } */ + long double float *x236; /* { dg-error "error" "long double float" } */ + long double double *x237; /* { dg-error "error" "long double double" } */ + long double signed *x238; /* { dg-error "error" "long double signed" } */ + long double unsigned *x239; /* { dg-error "error" "long double unsigned" } */ + long double _Bool *x240; /* { dg-error "error" "long double _Bool" } */ + long signed void *x241; /* { dg-error "error" "long signed void" } */ + long signed char *x242; /* { dg-error "error" "long signed char" } */ + long signed short *x243; /* { dg-error "error" "long signed short" } */ + long signed int *x244; + long signed long *x245; + long signed float *x246; /* { dg-error "error" "long signed float" } */ + long signed double *x247; /* { dg-error "error" "long signed double" } */ + long signed signed *x248; /* { dg-error "error" "long signed signed" } */ + long signed unsigned *x249; /* { dg-error "error" "long signed unsigned" } */ + long signed _Bool *x250; /* { dg-error "error" "long signed _Bool" } */ + long unsigned void *x251; /* { dg-error "error" "long unsigned void" } */ + long unsigned char *x252; /* { dg-error "error" "long unsigned char" } */ + long unsigned short *x253; /* { dg-error "error" "long unsigned short" } */ + long unsigned int *x254; + long unsigned long *x255; + long unsigned float *x256; /* { dg-error "error" "long unsigned float" } */ + long unsigned double *x257; /* { dg-error "error" "long unsigned double" } */ + long unsigned signed *x258; /* { dg-error "error" "long unsigned signed" } */ + long unsigned unsigned *x259; /* { dg-error "error" "long unsigned unsigned" } */ + long unsigned _Bool *x260; /* { dg-error "error" "long unsigned _Bool" } */ + double long void *x261; /* { dg-error "error" "double long void" } */ + double long char *x262; /* { dg-error "error" "double long char" } */ + double long short *x263; /* { dg-error "error" "double long short" } */ + double long int *x264; /* { dg-error "error" "double long int" } */ + double long long *x265; /* { dg-error "error" "double long long" } */ + double long float *x266; /* { dg-error "error" "double long float" } */ + double long double *x267; /* { dg-error "error" "double long double" } */ + double long signed *x268; /* { dg-error "error" "double long signed" } */ + double long unsigned *x269; /* { dg-error "error" "double long unsigned" } */ + double long _Bool *x270; /* { dg-error "error" "double long _Bool" } */ + signed char void *x271; /* { dg-error "error" "signed char void" } */ + signed char char *x272; /* { dg-error "error" "signed char char" } */ + signed char short *x273; /* { dg-error "error" "signed char short" } */ + signed char int *x274; /* { dg-error "error" "signed char int" } */ + signed char long *x275; /* { dg-error "error" "signed char long" } */ + signed char float *x276; /* { dg-error "error" "signed char float" } */ + signed char double *x277; /* { dg-error "error" "signed char double" } */ + signed char signed *x278; /* { dg-error "error" "signed char signed" } */ + signed char unsigned *x279; /* { dg-error "error" "signed char unsigned" } */ + signed char _Bool *x280; /* { dg-error "error" "signed char _Bool" } */ + signed short void *x281; /* { dg-error "error" "signed short void" } */ + signed short char *x282; /* { dg-error "error" "signed short char" } */ + signed short short *x283; /* { dg-error "error" "signed short short" } */ + signed short int *x284; + signed short long *x285; /* { dg-error "error" "signed short long" } */ + signed short float *x286; /* { dg-error "error" "signed short float" } */ + signed short double *x287; /* { dg-error "error" "signed short double" } */ + signed short signed *x288; /* { dg-error "error" "signed short signed" } */ + signed short unsigned *x289; /* { dg-error "error" "signed short unsigned" } */ + signed short _Bool *x290; /* { dg-error "error" "signed short _Bool" } */ + signed int void *x291; /* { dg-error "error" "signed int void" } */ + signed int char *x292; /* { dg-error "error" "signed int char" } */ + signed int short *x293; + signed int int *x294; /* { dg-error "error" "signed int int" } */ + signed int long *x295; + signed int float *x296; /* { dg-error "error" "signed int float" } */ + signed int double *x297; /* { dg-error "error" "signed int double" } */ + signed int signed *x298; /* { dg-error "error" "signed int signed" } */ + signed int unsigned *x299; /* { dg-error "error" "signed int unsigned" } */ + signed int _Bool *x300; /* { dg-error "error" "signed int _Bool" } */ + signed long void *x301; /* { dg-error "error" "signed long void" } */ + signed long char *x302; /* { dg-error "error" "signed long char" } */ + signed long short *x303; /* { dg-error "error" "signed long short" } */ + signed long int *x304; + signed long long *x305; + signed long float *x306; /* { dg-error "error" "signed long float" } */ + signed long double *x307; /* { dg-error "error" "signed long double" } */ + signed long signed *x308; /* { dg-error "error" "signed long signed" } */ + signed long unsigned *x309; /* { dg-error "error" "signed long unsigned" } */ + signed long _Bool *x310; /* { dg-error "error" "signed long _Bool" } */ + unsigned char void *x311; /* { dg-error "error" "unsigned char void" } */ + unsigned char char *x312; /* { dg-error "error" "unsigned char char" } */ + unsigned char short *x313; /* { dg-error "error" "unsigned char short" } */ + unsigned char int *x314; /* { dg-error "error" "unsigned char int" } */ + unsigned char long *x315; /* { dg-error "error" "unsigned char long" } */ + unsigned char float *x316; /* { dg-error "error" "unsigned char float" } */ + unsigned char double *x317; /* { dg-error "error" "unsigned char double" } */ + unsigned char signed *x318; /* { dg-error "error" "unsigned char signed" } */ + unsigned char unsigned *x319; /* { dg-error "error" "unsigned char unsigned" } */ + unsigned char _Bool *x320; /* { dg-error "error" "unsigned char _Bool" } */ + unsigned short void *x321; /* { dg-error "error" "unsigned short void" } */ + unsigned short char *x322; /* { dg-error "error" "unsigned short char" } */ + unsigned short short *x323; /* { dg-error "error" "unsigned short short" } */ + unsigned short int *x324; + unsigned short long *x325; /* { dg-error "error" "unsigned short long" } */ + unsigned short float *x326; /* { dg-error "error" "unsigned short float" } */ + unsigned short double *x327; /* { dg-error "error" "unsigned short double" } */ + unsigned short signed *x328; /* { dg-error "error" "unsigned short signed" } */ + unsigned short unsigned *x329; /* { dg-error "error" "unsigned short unsigned" } */ + unsigned short _Bool *x330; /* { dg-error "error" "unsigned short _Bool" } */ + unsigned int void *x331; /* { dg-error "error" "unsigned int void" } */ + unsigned int char *x332; /* { dg-error "error" "unsigned int char" } */ + unsigned int short *x333; + unsigned int int *x334; /* { dg-error "error" "unsigned int int" } */ + unsigned int long *x335; + unsigned int float *x336; /* { dg-error "error" "unsigned int float" } */ + unsigned int double *x337; /* { dg-error "error" "unsigned int double" } */ + unsigned int signed *x338; /* { dg-error "error" "unsigned int signed" } */ + unsigned int unsigned *x339; /* { dg-error "error" "unsigned int unsigned" } */ + unsigned int _Bool *x340; /* { dg-error "error" "unsigned int _Bool" } */ + unsigned long void *x341; /* { dg-error "error" "unsigned long void" } */ + unsigned long char *x342; /* { dg-error "error" "unsigned long char" } */ + unsigned long short *x343; /* { dg-error "error" "unsigned long short" } */ + unsigned long int *x344; + unsigned long long *x345; + unsigned long float *x346; /* { dg-error "error" "unsigned long float" } */ + unsigned long double *x347; /* { dg-error "error" "unsigned long double" } */ + unsigned long signed *x348; /* { dg-error "error" "unsigned long signed" } */ + unsigned long unsigned *x349; /* { dg-error "error" "unsigned long unsigned" } */ + unsigned long _Bool *x350; /* { dg-error "error" "unsigned long _Bool" } */ + short int signed void *x351; /* { dg-error "error" "short int signed void" } */ + short int signed char *x352; /* { dg-error "error" "short int signed char" } */ + short int signed short *x353; /* { dg-error "error" "short int signed short" } */ + short int signed int *x354; /* { dg-error "error" "short int signed int" } */ + short int signed long *x355; /* { dg-error "error" "short int signed long" } */ + short int signed float *x356; /* { dg-error "error" "short int signed float" } */ + short int signed double *x357; /* { dg-error "error" "short int signed double" } */ + short int signed signed *x358; /* { dg-error "error" "short int signed signed" } */ + short int signed unsigned *x359; /* { dg-error "error" "short int signed unsigned" } */ + short int signed _Bool *x360; /* { dg-error "error" "short int signed _Bool" } */ + short int unsigned void *x361; /* { dg-error "error" "short int unsigned void" } */ + short int unsigned char *x362; /* { dg-error "error" "short int unsigned char" } */ + short int unsigned short *x363; /* { dg-error "error" "short int unsigned short" } */ + short int unsigned int *x364; /* { dg-error "error" "short int unsigned int" } */ + short int unsigned long *x365; /* { dg-error "error" "short int unsigned long" } */ + short int unsigned float *x366; /* { dg-error "error" "short int unsigned float" } */ + short int unsigned double *x367; /* { dg-error "error" "short int unsigned double" } */ + short int unsigned signed *x368; /* { dg-error "error" "short int unsigned signed" } */ + short int unsigned unsigned *x369; /* { dg-error "error" "short int unsigned unsigned" } */ + short int unsigned _Bool *x370; /* { dg-error "error" "short int unsigned _Bool" } */ + short signed int void *x371; /* { dg-error "error" "short signed int void" } */ + short signed int char *x372; /* { dg-error "error" "short signed int char" } */ + short signed int short *x373; /* { dg-error "error" "short signed int short" } */ + short signed int int *x374; /* { dg-error "error" "short signed int int" } */ + short signed int long *x375; /* { dg-error "error" "short signed int long" } */ + short signed int float *x376; /* { dg-error "error" "short signed int float" } */ + short signed int double *x377; /* { dg-error "error" "short signed int double" } */ + short signed int signed *x378; /* { dg-error "error" "short signed int signed" } */ + short signed int unsigned *x379; /* { dg-error "error" "short signed int unsigned" } */ + short signed int _Bool *x380; /* { dg-error "error" "short signed int _Bool" } */ + short unsigned int void *x381; /* { dg-error "error" "short unsigned int void" } */ + short unsigned int char *x382; /* { dg-error "error" "short unsigned int char" } */ + short unsigned int short *x383; /* { dg-error "error" "short unsigned int short" } */ + short unsigned int int *x384; /* { dg-error "error" "short unsigned int int" } */ + short unsigned int long *x385; /* { dg-error "error" "short unsigned int long" } */ + short unsigned int float *x386; /* { dg-error "error" "short unsigned int float" } */ + short unsigned int double *x387; /* { dg-error "error" "short unsigned int double" } */ + short unsigned int signed *x388; /* { dg-error "error" "short unsigned int signed" } */ + short unsigned int unsigned *x389; /* { dg-error "error" "short unsigned int unsigned" } */ + short unsigned int _Bool *x390; /* { dg-error "error" "short unsigned int _Bool" } */ + int short signed void *x391; /* { dg-error "error" "int short signed void" } */ + int short signed char *x392; /* { dg-error "error" "int short signed char" } */ + int short signed short *x393; /* { dg-error "error" "int short signed short" } */ + int short signed int *x394; /* { dg-error "error" "int short signed int" } */ + int short signed long *x395; /* { dg-error "error" "int short signed long" } */ + int short signed float *x396; /* { dg-error "error" "int short signed float" } */ + int short signed double *x397; /* { dg-error "error" "int short signed double" } */ + int short signed signed *x398; /* { dg-error "error" "int short signed signed" } */ + int short signed unsigned *x399; /* { dg-error "error" "int short signed unsigned" } */ + int short signed _Bool *x400; /* { dg-error "error" "int short signed _Bool" } */ + int short unsigned void *x401; /* { dg-error "error" "int short unsigned void" } */ + int short unsigned char *x402; /* { dg-error "error" "int short unsigned char" } */ + int short unsigned short *x403; /* { dg-error "error" "int short unsigned short" } */ + int short unsigned int *x404; /* { dg-error "error" "int short unsigned int" } */ + int short unsigned long *x405; /* { dg-error "error" "int short unsigned long" } */ + int short unsigned float *x406; /* { dg-error "error" "int short unsigned float" } */ + int short unsigned double *x407; /* { dg-error "error" "int short unsigned double" } */ + int short unsigned signed *x408; /* { dg-error "error" "int short unsigned signed" } */ + int short unsigned unsigned *x409; /* { dg-error "error" "int short unsigned unsigned" } */ + int short unsigned _Bool *x410; /* { dg-error "error" "int short unsigned _Bool" } */ + int long long void *x411; /* { dg-error "error" "int long long void" } */ + int long long char *x412; /* { dg-error "error" "int long long char" } */ + int long long short *x413; /* { dg-error "error" "int long long short" } */ + int long long int *x414; /* { dg-error "error" "int long long int" } */ + int long long long *x415; /* { dg-error "error" "int long long long" } */ + int long long float *x416; /* { dg-error "error" "int long long float" } */ + int long long double *x417; /* { dg-error "error" "int long long double" } */ + int long long signed *x418; + int long long unsigned *x419; + int long long _Bool *x420; /* { dg-error "error" "int long long _Bool" } */ + int long signed void *x421; /* { dg-error "error" "int long signed void" } */ + int long signed char *x422; /* { dg-error "error" "int long signed char" } */ + int long signed short *x423; /* { dg-error "error" "int long signed short" } */ + int long signed int *x424; /* { dg-error "error" "int long signed int" } */ + int long signed long *x425; + int long signed float *x426; /* { dg-error "error" "int long signed float" } */ + int long signed double *x427; /* { dg-error "error" "int long signed double" } */ + int long signed signed *x428; /* { dg-error "error" "int long signed signed" } */ + int long signed unsigned *x429; /* { dg-error "error" "int long signed unsigned" } */ + int long signed _Bool *x430; /* { dg-error "error" "int long signed _Bool" } */ + int long unsigned void *x431; /* { dg-error "error" "int long unsigned void" } */ + int long unsigned char *x432; /* { dg-error "error" "int long unsigned char" } */ + int long unsigned short *x433; /* { dg-error "error" "int long unsigned short" } */ + int long unsigned int *x434; /* { dg-error "error" "int long unsigned int" } */ + int long unsigned long *x435; + int long unsigned float *x436; /* { dg-error "error" "int long unsigned float" } */ + int long unsigned double *x437; /* { dg-error "error" "int long unsigned double" } */ + int long unsigned signed *x438; /* { dg-error "error" "int long unsigned signed" } */ + int long unsigned unsigned *x439; /* { dg-error "error" "int long unsigned unsigned" } */ + int long unsigned _Bool *x440; /* { dg-error "error" "int long unsigned _Bool" } */ + int signed short void *x441; /* { dg-error "error" "int signed short void" } */ + int signed short char *x442; /* { dg-error "error" "int signed short char" } */ + int signed short short *x443; /* { dg-error "error" "int signed short short" } */ + int signed short int *x444; /* { dg-error "error" "int signed short int" } */ + int signed short long *x445; /* { dg-error "error" "int signed short long" } */ + int signed short float *x446; /* { dg-error "error" "int signed short float" } */ + int signed short double *x447; /* { dg-error "error" "int signed short double" } */ + int signed short signed *x448; /* { dg-error "error" "int signed short signed" } */ + int signed short unsigned *x449; /* { dg-error "error" "int signed short unsigned" } */ + int signed short _Bool *x450; /* { dg-error "error" "int signed short _Bool" } */ + int signed long void *x451; /* { dg-error "error" "int signed long void" } */ + int signed long char *x452; /* { dg-error "error" "int signed long char" } */ + int signed long short *x453; /* { dg-error "error" "int signed long short" } */ + int signed long int *x454; /* { dg-error "error" "int signed long int" } */ + int signed long long *x455; + int signed long float *x456; /* { dg-error "error" "int signed long float" } */ + int signed long double *x457; /* { dg-error "error" "int signed long double" } */ + int signed long signed *x458; /* { dg-error "error" "int signed long signed" } */ + int signed long unsigned *x459; /* { dg-error "error" "int signed long unsigned" } */ + int signed long _Bool *x460; /* { dg-error "error" "int signed long _Bool" } */ + int unsigned short void *x461; /* { dg-error "error" "int unsigned short void" } */ + int unsigned short char *x462; /* { dg-error "error" "int unsigned short char" } */ + int unsigned short short *x463; /* { dg-error "error" "int unsigned short short" } */ + int unsigned short int *x464; /* { dg-error "error" "int unsigned short int" } */ + int unsigned short long *x465; /* { dg-error "error" "int unsigned short long" } */ + int unsigned short float *x466; /* { dg-error "error" "int unsigned short float" } */ + int unsigned short double *x467; /* { dg-error "error" "int unsigned short double" } */ + int unsigned short signed *x468; /* { dg-error "error" "int unsigned short signed" } */ + int unsigned short unsigned *x469; /* { dg-error "error" "int unsigned short unsigned" } */ + int unsigned short _Bool *x470; /* { dg-error "error" "int unsigned short _Bool" } */ + int unsigned long void *x471; /* { dg-error "error" "int unsigned long void" } */ + int unsigned long char *x472; /* { dg-error "error" "int unsigned long char" } */ + int unsigned long short *x473; /* { dg-error "error" "int unsigned long short" } */ + int unsigned long int *x474; /* { dg-error "error" "int unsigned long int" } */ + int unsigned long long *x475; + int unsigned long float *x476; /* { dg-error "error" "int unsigned long float" } */ + int unsigned long double *x477; /* { dg-error "error" "int unsigned long double" } */ + int unsigned long signed *x478; /* { dg-error "error" "int unsigned long signed" } */ + int unsigned long unsigned *x479; /* { dg-error "error" "int unsigned long unsigned" } */ + int unsigned long _Bool *x480; /* { dg-error "error" "int unsigned long _Bool" } */ + long int long void *x481; /* { dg-error "error" "long int long void" } */ + long int long char *x482; /* { dg-error "error" "long int long char" } */ + long int long short *x483; /* { dg-error "error" "long int long short" } */ + long int long int *x484; /* { dg-error "error" "long int long int" } */ + long int long long *x485; /* { dg-error "error" "long int long long" } */ + long int long float *x486; /* { dg-error "error" "long int long float" } */ + long int long double *x487; /* { dg-error "error" "long int long double" } */ + long int long signed *x488; + long int long unsigned *x489; + long int long _Bool *x490; /* { dg-error "error" "long int long _Bool" } */ + long int signed void *x491; /* { dg-error "error" "long int signed void" } */ + long int signed char *x492; /* { dg-error "error" "long int signed char" } */ + long int signed short *x493; /* { dg-error "error" "long int signed short" } */ + long int signed int *x494; /* { dg-error "error" "long int signed int" } */ + long int signed long *x495; + long int signed float *x496; /* { dg-error "error" "long int signed float" } */ + long int signed double *x497; /* { dg-error "error" "long int signed double" } */ + long int signed signed *x498; /* { dg-error "error" "long int signed signed" } */ + long int signed unsigned *x499; /* { dg-error "error" "long int signed unsigned" } */ + long int signed _Bool *x500; /* { dg-error "error" "long int signed _Bool" } */ + long int unsigned void *x501; /* { dg-error "error" "long int unsigned void" } */ + long int unsigned char *x502; /* { dg-error "error" "long int unsigned char" } */ + long int unsigned short *x503; /* { dg-error "error" "long int unsigned short" } */ + long int unsigned int *x504; /* { dg-error "error" "long int unsigned int" } */ + long int unsigned long *x505; + long int unsigned float *x506; /* { dg-error "error" "long int unsigned float" } */ + long int unsigned double *x507; /* { dg-error "error" "long int unsigned double" } */ + long int unsigned signed *x508; /* { dg-error "error" "long int unsigned signed" } */ + long int unsigned unsigned *x509; /* { dg-error "error" "long int unsigned unsigned" } */ + long int unsigned _Bool *x510; /* { dg-error "error" "long int unsigned _Bool" } */ + long long int void *x511; /* { dg-error "error" "long long int void" } */ + long long int char *x512; /* { dg-error "error" "long long int char" } */ + long long int short *x513; /* { dg-error "error" "long long int short" } */ + long long int int *x514; /* { dg-error "error" "long long int int" } */ + long long int long *x515; /* { dg-error "error" "long long int long" } */ + long long int float *x516; /* { dg-error "error" "long long int float" } */ + long long int double *x517; /* { dg-error "error" "long long int double" } */ + long long int signed *x518; + long long int unsigned *x519; + long long int _Bool *x520; /* { dg-error "error" "long long int _Bool" } */ + long long signed void *x521; /* { dg-error "error" "long long signed void" } */ + long long signed char *x522; /* { dg-error "error" "long long signed char" } */ + long long signed short *x523; /* { dg-error "error" "long long signed short" } */ + long long signed int *x524; + long long signed long *x525; /* { dg-error "error" "long long signed long" } */ + long long signed float *x526; /* { dg-error "error" "long long signed float" } */ + long long signed double *x527; /* { dg-error "error" "long long signed double" } */ + long long signed signed *x528; /* { dg-error "error" "long long signed signed" } */ + long long signed unsigned *x529; /* { dg-error "error" "long long signed unsigned" } */ + long long signed _Bool *x530; /* { dg-error "error" "long long signed _Bool" } */ + long long unsigned void *x531; /* { dg-error "error" "long long unsigned void" } */ + long long unsigned char *x532; /* { dg-error "error" "long long unsigned char" } */ + long long unsigned short *x533; /* { dg-error "error" "long long unsigned short" } */ + long long unsigned int *x534; + long long unsigned long *x535; /* { dg-error "error" "long long unsigned long" } */ + long long unsigned float *x536; /* { dg-error "error" "long long unsigned float" } */ + long long unsigned double *x537; /* { dg-error "error" "long long unsigned double" } */ + long long unsigned signed *x538; /* { dg-error "error" "long long unsigned signed" } */ + long long unsigned unsigned *x539; /* { dg-error "error" "long long unsigned unsigned" } */ + long long unsigned _Bool *x540; /* { dg-error "error" "long long unsigned _Bool" } */ + long signed int void *x541; /* { dg-error "error" "long signed int void" } */ + long signed int char *x542; /* { dg-error "error" "long signed int char" } */ + long signed int short *x543; /* { dg-error "error" "long signed int short" } */ + long signed int int *x544; /* { dg-error "error" "long signed int int" } */ + long signed int long *x545; + long signed int float *x546; /* { dg-error "error" "long signed int float" } */ + long signed int double *x547; /* { dg-error "error" "long signed int double" } */ + long signed int signed *x548; /* { dg-error "error" "long signed int signed" } */ + long signed int unsigned *x549; /* { dg-error "error" "long signed int unsigned" } */ + long signed int _Bool *x550; /* { dg-error "error" "long signed int _Bool" } */ + long signed long void *x551; /* { dg-error "error" "long signed long void" } */ + long signed long char *x552; /* { dg-error "error" "long signed long char" } */ + long signed long short *x553; /* { dg-error "error" "long signed long short" } */ + long signed long int *x554; + long signed long long *x555; /* { dg-error "error" "long signed long long" } */ + long signed long float *x556; /* { dg-error "error" "long signed long float" } */ + long signed long double *x557; /* { dg-error "error" "long signed long double" } */ + long signed long signed *x558; /* { dg-error "error" "long signed long signed" } */ + long signed long unsigned *x559; /* { dg-error "error" "long signed long unsigned" } */ + long signed long _Bool *x560; /* { dg-error "error" "long signed long _Bool" } */ + long unsigned int void *x561; /* { dg-error "error" "long unsigned int void" } */ + long unsigned int char *x562; /* { dg-error "error" "long unsigned int char" } */ + long unsigned int short *x563; /* { dg-error "error" "long unsigned int short" } */ + long unsigned int int *x564; /* { dg-error "error" "long unsigned int int" } */ + long unsigned int long *x565; + long unsigned int float *x566; /* { dg-error "error" "long unsigned int float" } */ + long unsigned int double *x567; /* { dg-error "error" "long unsigned int double" } */ + long unsigned int signed *x568; /* { dg-error "error" "long unsigned int signed" } */ + long unsigned int unsigned *x569; /* { dg-error "error" "long unsigned int unsigned" } */ + long unsigned int _Bool *x570; /* { dg-error "error" "long unsigned int _Bool" } */ + long unsigned long void *x571; /* { dg-error "error" "long unsigned long void" } */ + long unsigned long char *x572; /* { dg-error "error" "long unsigned long char" } */ + long unsigned long short *x573; /* { dg-error "error" "long unsigned long short" } */ + long unsigned long int *x574; + long unsigned long long *x575; /* { dg-error "error" "long unsigned long long" } */ + long unsigned long float *x576; /* { dg-error "error" "long unsigned long float" } */ + long unsigned long double *x577; /* { dg-error "error" "long unsigned long double" } */ + long unsigned long signed *x578; /* { dg-error "error" "long unsigned long signed" } */ + long unsigned long unsigned *x579; /* { dg-error "error" "long unsigned long unsigned" } */ + long unsigned long _Bool *x580; /* { dg-error "error" "long unsigned long _Bool" } */ + signed short int void *x581; /* { dg-error "error" "signed short int void" } */ + signed short int char *x582; /* { dg-error "error" "signed short int char" } */ + signed short int short *x583; /* { dg-error "error" "signed short int short" } */ + signed short int int *x584; /* { dg-error "error" "signed short int int" } */ + signed short int long *x585; /* { dg-error "error" "signed short int long" } */ + signed short int float *x586; /* { dg-error "error" "signed short int float" } */ + signed short int double *x587; /* { dg-error "error" "signed short int double" } */ + signed short int signed *x588; /* { dg-error "error" "signed short int signed" } */ + signed short int unsigned *x589; /* { dg-error "error" "signed short int unsigned" } */ + signed short int _Bool *x590; /* { dg-error "error" "signed short int _Bool" } */ + signed int short void *x591; /* { dg-error "error" "signed int short void" } */ + signed int short char *x592; /* { dg-error "error" "signed int short char" } */ + signed int short short *x593; /* { dg-error "error" "signed int short short" } */ + signed int short int *x594; /* { dg-error "error" "signed int short int" } */ + signed int short long *x595; /* { dg-error "error" "signed int short long" } */ + signed int short float *x596; /* { dg-error "error" "signed int short float" } */ + signed int short double *x597; /* { dg-error "error" "signed int short double" } */ + signed int short signed *x598; /* { dg-error "error" "signed int short signed" } */ + signed int short unsigned *x599; /* { dg-error "error" "signed int short unsigned" } */ + signed int short _Bool *x600; /* { dg-error "error" "signed int short _Bool" } */ + signed int long void *x601; /* { dg-error "error" "signed int long void" } */ + signed int long char *x602; /* { dg-error "error" "signed int long char" } */ + signed int long short *x603; /* { dg-error "error" "signed int long short" } */ + signed int long int *x604; /* { dg-error "error" "signed int long int" } */ + signed int long long *x605; + signed int long float *x606; /* { dg-error "error" "signed int long float" } */ + signed int long double *x607; /* { dg-error "error" "signed int long double" } */ + signed int long signed *x608; /* { dg-error "error" "signed int long signed" } */ + signed int long unsigned *x609; /* { dg-error "error" "signed int long unsigned" } */ + signed int long _Bool *x610; /* { dg-error "error" "signed int long _Bool" } */ + signed long int void *x611; /* { dg-error "error" "signed long int void" } */ + signed long int char *x612; /* { dg-error "error" "signed long int char" } */ + signed long int short *x613; /* { dg-error "error" "signed long int short" } */ + signed long int int *x614; /* { dg-error "error" "signed long int int" } */ + signed long int long *x615; + signed long int float *x616; /* { dg-error "error" "signed long int float" } */ + signed long int double *x617; /* { dg-error "error" "signed long int double" } */ + signed long int signed *x618; /* { dg-error "error" "signed long int signed" } */ + signed long int unsigned *x619; /* { dg-error "error" "signed long int unsigned" } */ + signed long int _Bool *x620; /* { dg-error "error" "signed long int _Bool" } */ + signed long long void *x621; /* { dg-error "error" "signed long long void" } */ + signed long long char *x622; /* { dg-error "error" "signed long long char" } */ + signed long long short *x623; /* { dg-error "error" "signed long long short" } */ + signed long long int *x624; + signed long long long *x625; /* { dg-error "error" "signed long long long" } */ + signed long long float *x626; /* { dg-error "error" "signed long long float" } */ + signed long long double *x627; /* { dg-error "error" "signed long long double" } */ + signed long long signed *x628; /* { dg-error "error" "signed long long signed" } */ + signed long long unsigned *x629; /* { dg-error "error" "signed long long unsigned" } */ + signed long long _Bool *x630; /* { dg-error "error" "signed long long _Bool" } */ + unsigned short int void *x631; /* { dg-error "error" "unsigned short int void" } */ + unsigned short int char *x632; /* { dg-error "error" "unsigned short int char" } */ + unsigned short int short *x633; /* { dg-error "error" "unsigned short int short" } */ + unsigned short int int *x634; /* { dg-error "error" "unsigned short int int" } */ + unsigned short int long *x635; /* { dg-error "error" "unsigned short int long" } */ + unsigned short int float *x636; /* { dg-error "error" "unsigned short int float" } */ + unsigned short int double *x637; /* { dg-error "error" "unsigned short int double" } */ + unsigned short int signed *x638; /* { dg-error "error" "unsigned short int signed" } */ + unsigned short int unsigned *x639; /* { dg-error "error" "unsigned short int unsigned" } */ + unsigned short int _Bool *x640; /* { dg-error "error" "unsigned short int _Bool" } */ + unsigned int short void *x641; /* { dg-error "error" "unsigned int short void" } */ + unsigned int short char *x642; /* { dg-error "error" "unsigned int short char" } */ + unsigned int short short *x643; /* { dg-error "error" "unsigned int short short" } */ + unsigned int short int *x644; /* { dg-error "error" "unsigned int short int" } */ + unsigned int short long *x645; /* { dg-error "error" "unsigned int short long" } */ + unsigned int short float *x646; /* { dg-error "error" "unsigned int short float" } */ + unsigned int short double *x647; /* { dg-error "error" "unsigned int short double" } */ + unsigned int short signed *x648; /* { dg-error "error" "unsigned int short signed" } */ + unsigned int short unsigned *x649; /* { dg-error "error" "unsigned int short unsigned" } */ + unsigned int short _Bool *x650; /* { dg-error "error" "unsigned int short _Bool" } */ + unsigned int long void *x651; /* { dg-error "error" "unsigned int long void" } */ + unsigned int long char *x652; /* { dg-error "error" "unsigned int long char" } */ + unsigned int long short *x653; /* { dg-error "error" "unsigned int long short" } */ + unsigned int long int *x654; /* { dg-error "error" "unsigned int long int" } */ + unsigned int long long *x655; + unsigned int long float *x656; /* { dg-error "error" "unsigned int long float" } */ + unsigned int long double *x657; /* { dg-error "error" "unsigned int long double" } */ + unsigned int long signed *x658; /* { dg-error "error" "unsigned int long signed" } */ + unsigned int long unsigned *x659; /* { dg-error "error" "unsigned int long unsigned" } */ + unsigned int long _Bool *x660; /* { dg-error "error" "unsigned int long _Bool" } */ + unsigned long int void *x661; /* { dg-error "error" "unsigned long int void" } */ + unsigned long int char *x662; /* { dg-error "error" "unsigned long int char" } */ + unsigned long int short *x663; /* { dg-error "error" "unsigned long int short" } */ + unsigned long int int *x664; /* { dg-error "error" "unsigned long int int" } */ + unsigned long int long *x665; + unsigned long int float *x666; /* { dg-error "error" "unsigned long int float" } */ + unsigned long int double *x667; /* { dg-error "error" "unsigned long int double" } */ + unsigned long int signed *x668; /* { dg-error "error" "unsigned long int signed" } */ + unsigned long int unsigned *x669; /* { dg-error "error" "unsigned long int unsigned" } */ + unsigned long int _Bool *x670; /* { dg-error "error" "unsigned long int _Bool" } */ + unsigned long long void *x671; /* { dg-error "error" "unsigned long long void" } */ + unsigned long long char *x672; /* { dg-error "error" "unsigned long long char" } */ + unsigned long long short *x673; /* { dg-error "error" "unsigned long long short" } */ + unsigned long long int *x674; + unsigned long long long *x675; /* { dg-error "error" "unsigned long long long" } */ + unsigned long long float *x676; /* { dg-error "error" "unsigned long long float" } */ + unsigned long long double *x677; /* { dg-error "error" "unsigned long long double" } */ + unsigned long long signed *x678; /* { dg-error "error" "unsigned long long signed" } */ + unsigned long long unsigned *x679; /* { dg-error "error" "unsigned long long unsigned" } */ + unsigned long long _Bool *x680; /* { dg-error "error" "unsigned long long _Bool" } */ + int long long signed void *x681; /* { dg-error "error" "int long long signed void" } */ + int long long signed char *x682; /* { dg-error "error" "int long long signed char" } */ + int long long signed short *x683; /* { dg-error "error" "int long long signed short" } */ + int long long signed int *x684; /* { dg-error "error" "int long long signed int" } */ + int long long signed long *x685; /* { dg-error "error" "int long long signed long" } */ + int long long signed float *x686; /* { dg-error "error" "int long long signed float" } */ + int long long signed double *x687; /* { dg-error "error" "int long long signed double" } */ + int long long signed signed *x688; /* { dg-error "error" "int long long signed signed" } */ + int long long signed unsigned *x689; /* { dg-error "error" "int long long signed unsigned" } */ + int long long signed _Bool *x690; /* { dg-error "error" "int long long signed _Bool" } */ + int long long unsigned void *x691; /* { dg-error "error" "int long long unsigned void" } */ + int long long unsigned char *x692; /* { dg-error "error" "int long long unsigned char" } */ + int long long unsigned short *x693; /* { dg-error "error" "int long long unsigned short" } */ + int long long unsigned int *x694; /* { dg-error "error" "int long long unsigned int" } */ + int long long unsigned long *x695; /* { dg-error "error" "int long long unsigned long" } */ + int long long unsigned float *x696; /* { dg-error "error" "int long long unsigned float" } */ + int long long unsigned double *x697; /* { dg-error "error" "int long long unsigned double" } */ + int long long unsigned signed *x698; /* { dg-error "error" "int long long unsigned signed" } */ + int long long unsigned unsigned *x699; /* { dg-error "error" "int long long unsigned unsigned" } */ + int long long unsigned _Bool *x700; /* { dg-error "error" "int long long unsigned _Bool" } */ + int long signed long void *x701; /* { dg-error "error" "int long signed long void" } */ + int long signed long char *x702; /* { dg-error "error" "int long signed long char" } */ + int long signed long short *x703; /* { dg-error "error" "int long signed long short" } */ + int long signed long int *x704; /* { dg-error "error" "int long signed long int" } */ + int long signed long long *x705; /* { dg-error "error" "int long signed long long" } */ + int long signed long float *x706; /* { dg-error "error" "int long signed long float" } */ + int long signed long double *x707; /* { dg-error "error" "int long signed long double" } */ + int long signed long signed *x708; /* { dg-error "error" "int long signed long signed" } */ + int long signed long unsigned *x709; /* { dg-error "error" "int long signed long unsigned" } */ + int long signed long _Bool *x710; /* { dg-error "error" "int long signed long _Bool" } */ + int long unsigned long void *x711; /* { dg-error "error" "int long unsigned long void" } */ + int long unsigned long char *x712; /* { dg-error "error" "int long unsigned long char" } */ + int long unsigned long short *x713; /* { dg-error "error" "int long unsigned long short" } */ + int long unsigned long int *x714; /* { dg-error "error" "int long unsigned long int" } */ + int long unsigned long long *x715; /* { dg-error "error" "int long unsigned long long" } */ + int long unsigned long float *x716; /* { dg-error "error" "int long unsigned long float" } */ + int long unsigned long double *x717; /* { dg-error "error" "int long unsigned long double" } */ + int long unsigned long signed *x718; /* { dg-error "error" "int long unsigned long signed" } */ + int long unsigned long unsigned *x719; /* { dg-error "error" "int long unsigned long unsigned" } */ + int long unsigned long _Bool *x720; /* { dg-error "error" "int long unsigned long _Bool" } */ + int signed long long void *x721; /* { dg-error "error" "int signed long long void" } */ + int signed long long char *x722; /* { dg-error "error" "int signed long long char" } */ + int signed long long short *x723; /* { dg-error "error" "int signed long long short" } */ + int signed long long int *x724; /* { dg-error "error" "int signed long long int" } */ + int signed long long long *x725; /* { dg-error "error" "int signed long long long" } */ + int signed long long float *x726; /* { dg-error "error" "int signed long long float" } */ + int signed long long double *x727; /* { dg-error "error" "int signed long long double" } */ + int signed long long signed *x728; /* { dg-error "error" "int signed long long signed" } */ + int signed long long unsigned *x729; /* { dg-error "error" "int signed long long unsigned" } */ + int signed long long _Bool *x730; /* { dg-error "error" "int signed long long _Bool" } */ + int unsigned long long void *x731; /* { dg-error "error" "int unsigned long long void" } */ + int unsigned long long char *x732; /* { dg-error "error" "int unsigned long long char" } */ + int unsigned long long short *x733; /* { dg-error "error" "int unsigned long long short" } */ + int unsigned long long int *x734; /* { dg-error "error" "int unsigned long long int" } */ + int unsigned long long long *x735; /* { dg-error "error" "int unsigned long long long" } */ + int unsigned long long float *x736; /* { dg-error "error" "int unsigned long long float" } */ + int unsigned long long double *x737; /* { dg-error "error" "int unsigned long long double" } */ + int unsigned long long signed *x738; /* { dg-error "error" "int unsigned long long signed" } */ + int unsigned long long unsigned *x739; /* { dg-error "error" "int unsigned long long unsigned" } */ + int unsigned long long _Bool *x740; /* { dg-error "error" "int unsigned long long _Bool" } */ + long int long signed void *x741; /* { dg-error "error" "long int long signed void" } */ + long int long signed char *x742; /* { dg-error "error" "long int long signed char" } */ + long int long signed short *x743; /* { dg-error "error" "long int long signed short" } */ + long int long signed int *x744; /* { dg-error "error" "long int long signed int" } */ + long int long signed long *x745; /* { dg-error "error" "long int long signed long" } */ + long int long signed float *x746; /* { dg-error "error" "long int long signed float" } */ + long int long signed double *x747; /* { dg-error "error" "long int long signed double" } */ + long int long signed signed *x748; /* { dg-error "error" "long int long signed signed" } */ + long int long signed unsigned *x749; /* { dg-error "error" "long int long signed unsigned" } */ + long int long signed _Bool *x750; /* { dg-error "error" "long int long signed _Bool" } */ + long int long unsigned void *x751; /* { dg-error "error" "long int long unsigned void" } */ + long int long unsigned char *x752; /* { dg-error "error" "long int long unsigned char" } */ + long int long unsigned short *x753; /* { dg-error "error" "long int long unsigned short" } */ + long int long unsigned int *x754; /* { dg-error "error" "long int long unsigned int" } */ + long int long unsigned long *x755; /* { dg-error "error" "long int long unsigned long" } */ + long int long unsigned float *x756; /* { dg-error "error" "long int long unsigned float" } */ + long int long unsigned double *x757; /* { dg-error "error" "long int long unsigned double" } */ + long int long unsigned signed *x758; /* { dg-error "error" "long int long unsigned signed" } */ + long int long unsigned unsigned *x759; /* { dg-error "error" "long int long unsigned unsigned" } */ + long int long unsigned _Bool *x760; /* { dg-error "error" "long int long unsigned _Bool" } */ + long int signed long void *x761; /* { dg-error "error" "long int signed long void" } */ + long int signed long char *x762; /* { dg-error "error" "long int signed long char" } */ + long int signed long short *x763; /* { dg-error "error" "long int signed long short" } */ + long int signed long int *x764; /* { dg-error "error" "long int signed long int" } */ + long int signed long long *x765; /* { dg-error "error" "long int signed long long" } */ + long int signed long float *x766; /* { dg-error "error" "long int signed long float" } */ + long int signed long double *x767; /* { dg-error "error" "long int signed long double" } */ + long int signed long signed *x768; /* { dg-error "error" "long int signed long signed" } */ + long int signed long unsigned *x769; /* { dg-error "error" "long int signed long unsigned" } */ + long int signed long _Bool *x770; /* { dg-error "error" "long int signed long _Bool" } */ + long int unsigned long void *x771; /* { dg-error "error" "long int unsigned long void" } */ + long int unsigned long char *x772; /* { dg-error "error" "long int unsigned long char" } */ + long int unsigned long short *x773; /* { dg-error "error" "long int unsigned long short" } */ + long int unsigned long int *x774; /* { dg-error "error" "long int unsigned long int" } */ + long int unsigned long long *x775; /* { dg-error "error" "long int unsigned long long" } */ + long int unsigned long float *x776; /* { dg-error "error" "long int unsigned long float" } */ + long int unsigned long double *x777; /* { dg-error "error" "long int unsigned long double" } */ + long int unsigned long signed *x778; /* { dg-error "error" "long int unsigned long signed" } */ + long int unsigned long unsigned *x779; /* { dg-error "error" "long int unsigned long unsigned" } */ + long int unsigned long _Bool *x780; /* { dg-error "error" "long int unsigned long _Bool" } */ + long long int signed void *x781; /* { dg-error "error" "long long int signed void" } */ + long long int signed char *x782; /* { dg-error "error" "long long int signed char" } */ + long long int signed short *x783; /* { dg-error "error" "long long int signed short" } */ + long long int signed int *x784; /* { dg-error "error" "long long int signed int" } */ + long long int signed long *x785; /* { dg-error "error" "long long int signed long" } */ + long long int signed float *x786; /* { dg-error "error" "long long int signed float" } */ + long long int signed double *x787; /* { dg-error "error" "long long int signed double" } */ + long long int signed signed *x788; /* { dg-error "error" "long long int signed signed" } */ + long long int signed unsigned *x789; /* { dg-error "error" "long long int signed unsigned" } */ + long long int signed _Bool *x790; /* { dg-error "error" "long long int signed _Bool" } */ + long long int unsigned void *x791; /* { dg-error "error" "long long int unsigned void" } */ + long long int unsigned char *x792; /* { dg-error "error" "long long int unsigned char" } */ + long long int unsigned short *x793; /* { dg-error "error" "long long int unsigned short" } */ + long long int unsigned int *x794; /* { dg-error "error" "long long int unsigned int" } */ + long long int unsigned long *x795; /* { dg-error "error" "long long int unsigned long" } */ + long long int unsigned float *x796; /* { dg-error "error" "long long int unsigned float" } */ + long long int unsigned double *x797; /* { dg-error "error" "long long int unsigned double" } */ + long long int unsigned signed *x798; /* { dg-error "error" "long long int unsigned signed" } */ + long long int unsigned unsigned *x799; /* { dg-error "error" "long long int unsigned unsigned" } */ + long long int unsigned _Bool *x800; /* { dg-error "error" "long long int unsigned _Bool" } */ + long long signed int void *x801; /* { dg-error "error" "long long signed int void" } */ + long long signed int char *x802; /* { dg-error "error" "long long signed int char" } */ + long long signed int short *x803; /* { dg-error "error" "long long signed int short" } */ + long long signed int int *x804; /* { dg-error "error" "long long signed int int" } */ + long long signed int long *x805; /* { dg-error "error" "long long signed int long" } */ + long long signed int float *x806; /* { dg-error "error" "long long signed int float" } */ + long long signed int double *x807; /* { dg-error "error" "long long signed int double" } */ + long long signed int signed *x808; /* { dg-error "error" "long long signed int signed" } */ + long long signed int unsigned *x809; /* { dg-error "error" "long long signed int unsigned" } */ + long long signed int _Bool *x810; /* { dg-error "error" "long long signed int _Bool" } */ + long long unsigned int void *x811; /* { dg-error "error" "long long unsigned int void" } */ + long long unsigned int char *x812; /* { dg-error "error" "long long unsigned int char" } */ + long long unsigned int short *x813; /* { dg-error "error" "long long unsigned int short" } */ + long long unsigned int int *x814; /* { dg-error "error" "long long unsigned int int" } */ + long long unsigned int long *x815; /* { dg-error "error" "long long unsigned int long" } */ + long long unsigned int float *x816; /* { dg-error "error" "long long unsigned int float" } */ + long long unsigned int double *x817; /* { dg-error "error" "long long unsigned int double" } */ + long long unsigned int signed *x818; /* { dg-error "error" "long long unsigned int signed" } */ + long long unsigned int unsigned *x819; /* { dg-error "error" "long long unsigned int unsigned" } */ + long long unsigned int _Bool *x820; /* { dg-error "error" "long long unsigned int _Bool" } */ + long signed int long void *x821; /* { dg-error "error" "long signed int long void" } */ + long signed int long char *x822; /* { dg-error "error" "long signed int long char" } */ + long signed int long short *x823; /* { dg-error "error" "long signed int long short" } */ + long signed int long int *x824; /* { dg-error "error" "long signed int long int" } */ + long signed int long long *x825; /* { dg-error "error" "long signed int long long" } */ + long signed int long float *x826; /* { dg-error "error" "long signed int long float" } */ + long signed int long double *x827; /* { dg-error "error" "long signed int long double" } */ + long signed int long signed *x828; /* { dg-error "error" "long signed int long signed" } */ + long signed int long unsigned *x829; /* { dg-error "error" "long signed int long unsigned" } */ + long signed int long _Bool *x830; /* { dg-error "error" "long signed int long _Bool" } */ + long signed long int void *x831; /* { dg-error "error" "long signed long int void" } */ + long signed long int char *x832; /* { dg-error "error" "long signed long int char" } */ + long signed long int short *x833; /* { dg-error "error" "long signed long int short" } */ + long signed long int int *x834; /* { dg-error "error" "long signed long int int" } */ + long signed long int long *x835; /* { dg-error "error" "long signed long int long" } */ + long signed long int float *x836; /* { dg-error "error" "long signed long int float" } */ + long signed long int double *x837; /* { dg-error "error" "long signed long int double" } */ + long signed long int signed *x838; /* { dg-error "error" "long signed long int signed" } */ + long signed long int unsigned *x839; /* { dg-error "error" "long signed long int unsigned" } */ + long signed long int _Bool *x840; /* { dg-error "error" "long signed long int _Bool" } */ + long unsigned int long void *x841; /* { dg-error "error" "long unsigned int long void" } */ + long unsigned int long char *x842; /* { dg-error "error" "long unsigned int long char" } */ + long unsigned int long short *x843; /* { dg-error "error" "long unsigned int long short" } */ + long unsigned int long int *x844; /* { dg-error "error" "long unsigned int long int" } */ + long unsigned int long long *x845; /* { dg-error "error" "long unsigned int long long" } */ + long unsigned int long float *x846; /* { dg-error "error" "long unsigned int long float" } */ + long unsigned int long double *x847; /* { dg-error "error" "long unsigned int long double" } */ + long unsigned int long signed *x848; /* { dg-error "error" "long unsigned int long signed" } */ + long unsigned int long unsigned *x849; /* { dg-error "error" "long unsigned int long unsigned" } */ + long unsigned int long _Bool *x850; /* { dg-error "error" "long unsigned int long _Bool" } */ + long unsigned long int void *x851; /* { dg-error "error" "long unsigned long int void" } */ + long unsigned long int char *x852; /* { dg-error "error" "long unsigned long int char" } */ + long unsigned long int short *x853; /* { dg-error "error" "long unsigned long int short" } */ + long unsigned long int int *x854; /* { dg-error "error" "long unsigned long int int" } */ + long unsigned long int long *x855; /* { dg-error "error" "long unsigned long int long" } */ + long unsigned long int float *x856; /* { dg-error "error" "long unsigned long int float" } */ + long unsigned long int double *x857; /* { dg-error "error" "long unsigned long int double" } */ + long unsigned long int signed *x858; /* { dg-error "error" "long unsigned long int signed" } */ + long unsigned long int unsigned *x859; /* { dg-error "error" "long unsigned long int unsigned" } */ + long unsigned long int _Bool *x860; /* { dg-error "error" "long unsigned long int _Bool" } */ + signed int long long void *x861; /* { dg-error "error" "signed int long long void" } */ + signed int long long char *x862; /* { dg-error "error" "signed int long long char" } */ + signed int long long short *x863; /* { dg-error "error" "signed int long long short" } */ + signed int long long int *x864; /* { dg-error "error" "signed int long long int" } */ + signed int long long long *x865; /* { dg-error "error" "signed int long long long" } */ + signed int long long float *x866; /* { dg-error "error" "signed int long long float" } */ + signed int long long double *x867; /* { dg-error "error" "signed int long long double" } */ + signed int long long signed *x868; /* { dg-error "error" "signed int long long signed" } */ + signed int long long unsigned *x869; /* { dg-error "error" "signed int long long unsigned" } */ + signed int long long _Bool *x870; /* { dg-error "error" "signed int long long _Bool" } */ + signed long int long void *x871; /* { dg-error "error" "signed long int long void" } */ + signed long int long char *x872; /* { dg-error "error" "signed long int long char" } */ + signed long int long short *x873; /* { dg-error "error" "signed long int long short" } */ + signed long int long int *x874; /* { dg-error "error" "signed long int long int" } */ + signed long int long long *x875; /* { dg-error "error" "signed long int long long" } */ + signed long int long float *x876; /* { dg-error "error" "signed long int long float" } */ + signed long int long double *x877; /* { dg-error "error" "signed long int long double" } */ + signed long int long signed *x878; /* { dg-error "error" "signed long int long signed" } */ + signed long int long unsigned *x879; /* { dg-error "error" "signed long int long unsigned" } */ + signed long int long _Bool *x880; /* { dg-error "error" "signed long int long _Bool" } */ + signed long long int void *x881; /* { dg-error "error" "signed long long int void" } */ + signed long long int char *x882; /* { dg-error "error" "signed long long int char" } */ + signed long long int short *x883; /* { dg-error "error" "signed long long int short" } */ + signed long long int int *x884; /* { dg-error "error" "signed long long int int" } */ + signed long long int long *x885; /* { dg-error "error" "signed long long int long" } */ + signed long long int float *x886; /* { dg-error "error" "signed long long int float" } */ + signed long long int double *x887; /* { dg-error "error" "signed long long int double" } */ + signed long long int signed *x888; /* { dg-error "error" "signed long long int signed" } */ + signed long long int unsigned *x889; /* { dg-error "error" "signed long long int unsigned" } */ + signed long long int _Bool *x890; /* { dg-error "error" "signed long long int _Bool" } */ + unsigned int long long void *x891; /* { dg-error "error" "unsigned int long long void" } */ + unsigned int long long char *x892; /* { dg-error "error" "unsigned int long long char" } */ + unsigned int long long short *x893; /* { dg-error "error" "unsigned int long long short" } */ + unsigned int long long int *x894; /* { dg-error "error" "unsigned int long long int" } */ + unsigned int long long long *x895; /* { dg-error "error" "unsigned int long long long" } */ + unsigned int long long float *x896; /* { dg-error "error" "unsigned int long long float" } */ + unsigned int long long double *x897; /* { dg-error "error" "unsigned int long long double" } */ + unsigned int long long signed *x898; /* { dg-error "error" "unsigned int long long signed" } */ + unsigned int long long unsigned *x899; /* { dg-error "error" "unsigned int long long unsigned" } */ + unsigned int long long _Bool *x900; /* { dg-error "error" "unsigned int long long _Bool" } */ + unsigned long int long void *x901; /* { dg-error "error" "unsigned long int long void" } */ + unsigned long int long char *x902; /* { dg-error "error" "unsigned long int long char" } */ + unsigned long int long short *x903; /* { dg-error "error" "unsigned long int long short" } */ + unsigned long int long int *x904; /* { dg-error "error" "unsigned long int long int" } */ + unsigned long int long long *x905; /* { dg-error "error" "unsigned long int long long" } */ + unsigned long int long float *x906; /* { dg-error "error" "unsigned long int long float" } */ + unsigned long int long double *x907; /* { dg-error "error" "unsigned long int long double" } */ + unsigned long int long signed *x908; /* { dg-error "error" "unsigned long int long signed" } */ + unsigned long int long unsigned *x909; /* { dg-error "error" "unsigned long int long unsigned" } */ + unsigned long int long _Bool *x910; /* { dg-error "error" "unsigned long int long _Bool" } */ + unsigned long long int void *x911; /* { dg-error "error" "unsigned long long int void" } */ + unsigned long long int char *x912; /* { dg-error "error" "unsigned long long int char" } */ + unsigned long long int short *x913; /* { dg-error "error" "unsigned long long int short" } */ + unsigned long long int int *x914; /* { dg-error "error" "unsigned long long int int" } */ + unsigned long long int long *x915; /* { dg-error "error" "unsigned long long int long" } */ + unsigned long long int float *x916; /* { dg-error "error" "unsigned long long int float" } */ + unsigned long long int double *x917; /* { dg-error "error" "unsigned long long int double" } */ + unsigned long long int signed *x918; /* { dg-error "error" "unsigned long long int signed" } */ + unsigned long long int unsigned *x919; /* { dg-error "error" "unsigned long long int unsigned" } */ + unsigned long long int _Bool *x920; /* { dg-error "error" "unsigned long long int _Bool" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/ultrasp5.c gcc-3.3/gcc/testsuite/gcc.dg/ultrasp5.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/ultrasp5.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/ultrasp5.c 2003-03-25 10:00:53.000000000 +0000 *************** *** 0 **** --- 1,12 ---- + /* PR target/10072 */ + /* Originator: Peter van Hoof */ + /* { dg-do compile { target sparc-*-* } } */ + /* { dg-options "-std=c99 -O1 -mcpu=ultrasparc -ffast-math" } */ + + void p(int v) + { + int i=v,j; + float a,b,c,x[i]; + + x[i] = (a/(((b)>(c)) ? (b) : (c)) - (((i) == (j)) ? 1.f : 0.f)); + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/uninit-A.c gcc-3.3/gcc/testsuite/gcc.dg/uninit-A.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/uninit-A.c 2002-01-29 17:19:57.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/uninit-A.c 2002-06-02 18:11:21.000000000 +0000 *************** qualify_ambiguous_name (id) *** 49,56 **** tree id; { tree qual, qual_wfl, decl; ! tree name; /* { dg-bogus "name" "uninitialized variable warning" { xfail *-*-* } } */ ! tree ptr_type; /* { dg-bogus "ptr_type" "uninitialized variable warning" { xfail *-*-* } } */ int again, new_array_found = 0; int super_found = 0, this_found = 0; --- 49,56 ---- tree id; { tree qual, qual_wfl, decl; ! tree name; /* { dg-bogus "name" "uninitialized variable warning" } */ ! tree ptr_type; /* { dg-bogus "ptr_type" "uninitialized variable warning" } */ int again, new_array_found = 0; int super_found = 0, this_found = 0; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/uninit-C.c gcc-3.3/gcc/testsuite/gcc.dg/uninit-C.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/uninit-C.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/uninit-C.c 2003-01-28 02:00:55.000000000 +0000 *************** *** 0 **** --- 1,15 ---- + /* Spurious uninitialized variable warning, inspired by libgcc2.c. */ + /* { dg-do compile } */ + /* { dg-options "-O -Wuninitialized" } */ + + typedef int TItype __attribute__ ((mode (TI))); + + TItype + __subvdi3 (TItype a, TItype b) + { + TItype w; + + w = a - b; + + return w; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/unordered-1.c gcc-3.3/gcc/testsuite/gcc.dg/unordered-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/unordered-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/unordered-1.c 2002-03-07 11:39:13.000000000 +0000 *************** *** 0 **** --- 1,18 ---- + /* { dg-do compile } */ + + void bar (int); + + void foo (int i, float f) + { + bar (__builtin_isgreater (i, i)); /* { dg-error "non-floating-point" } */ + bar (__builtin_isgreater (f, i)); + bar (__builtin_isgreater (i, f)); + bar (__builtin_isgreater (f, 2)); + bar (__builtin_isgreater (f, 2.0f)); + bar (__builtin_isgreater (f, 2.0)); + bar (__builtin_isgreater (2, f)); + bar (__builtin_isgreater (2.0f, f)); + bar (__builtin_isgreater (2.0, f)); + bar (__builtin_isgreater (&f, i)); /* { dg-error "non-floating-point" } */ + bar (__builtin_isgreater (f, &i)); /* { dg-error "non-floating-point" } */ + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/unroll-1.c gcc-3.3/gcc/testsuite/gcc.dg/unroll-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/unroll-1.c 2002-12-21 20:25:44.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/unroll-1.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,26 **** - /* PR optimization/8599 */ - /* { dg-do run } */ - /* { dg-options "-O2 -funroll-loops" } */ - /* { dg-options "-mcpu=k6 -O2 -funroll-loops" { target i?86-*-* } } */ - - extern void abort (void); - - int array[6] = { 1,2,3,4,5,6 }; - - void foo() - { - int i; - - for (i = 0; i < 5; i++) - array[i] = 0; - } - - int main() - { - foo(); - if (array[0] || array [1] || array[2] || array[3] || array[4]) - abort (); - if (array[5] != 6) - abort (); - return 0; - } --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/unused-4.c gcc-3.3/gcc/testsuite/gcc.dg/unused-4.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/unused-4.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/unused-4.c 2003-05-06 05:27:01.000000000 +0000 *************** *** 0 **** --- 1,6 ---- + /* { dg-do compile } */ + /* { dg-options "-Wunused -O3" } */ + + static const int i = 0; + static void f() { } /* { dg-warning "defined but not used" } */ + static inline void g() { } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/va-arg-2.c gcc-3.3/gcc/testsuite/gcc.dg/va-arg-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/va-arg-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/va-arg-2.c 2002-07-16 02:16:47.000000000 +0000 *************** *** 0 **** --- 1,12 ---- + /* is not supported anymore, but we do install a stub + file which issues an #error telling the user to convert their code. */ + + /* { dg-do compile } */ + + #include /* { dg-bogus "varargs.h" "missing file" } */ + + /* { dg-error "" "In file included from" { target *-*-* } 6 } */ + /* { dg-error "no longer implements" "#error 1" { target *-*-* } 4 } */ + /* { dg-error "Revise your code" "#error 2" { target *-*-* } 5 } */ + + int x; /* prevent empty-source-file warning */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/warn-1.c gcc-3.3/gcc/testsuite/gcc.dg/warn-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/warn-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/warn-1.c 2002-10-26 01:15:16.000000000 +0000 *************** *** 0 **** --- 1,16 ---- + /* The compiler used to say passing arg 0 of, which is wrong. */ + /* Radar 3069179 */ + + /* { dg-options "-O3" } */ + + static void foo (p) + int p; + { /* { dg-warning "passing arg of" } */ + } + + static void bar (void) + { + void *vp; + + foo (vp); /* { dg-warning "" } */ + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/weak/typeof-2.c gcc-3.3/gcc/testsuite/gcc.dg/weak/typeof-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/weak/typeof-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/weak/typeof-2.c 2002-10-21 15:42:22.000000000 +0000 *************** *** 0 **** --- 1,36 ---- + /* Test typeof with __asm redirection. */ + /* { dg-do compile } */ + /* { dg-options "-O2" } */ + + extern int foo1 (int x) __asm ("baz1"); + int bar1 (int x) { return x; } + extern __typeof (bar1) foo1 __attribute ((weak, alias ("bar1"))); + + extern int foo2 (int x) __attribute__ ((const)); + extern __typeof (foo2) foo2 __asm ("baz2"); + int bar2 (int x) + { + return foo2 (x) + foo2 (x) + foo2 (x) + foo2 (x) + foo2 (x) + foo2 (x); + } + + extern int foo3 (int x); + extern __typeof (foo3) foo3 __asm ("baz3"); + int bar3 (int x) + { + return foo3 (x) + foo3 (x) + foo3 (x) + foo3 (x) + foo3 (x) + foo3 (x); + } + + // { dg-final { scan-assembler-not "foo1" } } + // { dg-final { scan-assembler "baz1" } } + // { dg-final { scan-assembler-not "foo2" } } + // { dg-final { scan-assembler "baz2" } } + // { dg-final { scan-assembler-not "baz2.*baz2.*baz2.*baz2.*baz2.*baz2" } } + // { dg-final { scan-assembler-not "foo3" } } + // SH targets put the funtion address into a constant pool and / or register, + // so it does not appear repeated (as much as expected) in the assembler. + // { dg-final { global target_triplet } } + // { dg-final { if [string match sh-*-* $target_triplet ] {return} } } + // { dg-final { if [string match {sh[elb1-9]*-*-*} $target_triplet ] {return} } } + // Likewise for S/390 targets + // { dg-final { if [string match s390*-*-* $target_triplet ] {return} } } + // { dg-final { scan-assembler "baz3.*baz3.*baz3.*baz3.*baz3.*baz3" } } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/weak/weak-1.c gcc-3.3/gcc/testsuite/gcc.dg/weak/weak-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/weak/weak-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/weak/weak-1.c 2002-09-06 13:00:39.000000000 +0000 *************** *** 0 **** --- 1,50 ---- + /* { dg-do compile } */ + /* { dg-options "-fno-common" } */ + + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?a" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?b" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?c" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?d" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?e" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?g" } } */ + /* { dg-final { scan-assembler-not "weak\[^ \t\]*\[ \t\]_?i" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?j" } } */ + + #pragma weak a + int a; + + int b; + #pragma weak b + + #pragma weak c + extern int c; + int c; + + extern int d; + #pragma weak d + int d; + + #pragma weak e + void e(void) { } + + #if 0 + /* This permutation is illegal. */ + void f(void) { } + #pragma weak f + #endif + + #pragma weak g + int g = 1; + + #if 0 + /* This permutation is illegal. */ + int h = 1; + #pragma weak h + #endif + + #pragma weak i + extern int i; + + #pragma weak j + extern int j; + int use_j() { return j; } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/weak/weak-2.c gcc-3.3/gcc/testsuite/gcc.dg/weak/weak-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/weak/weak-2.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/weak/weak-2.c 2002-09-06 13:00:39.000000000 +0000 *************** *** 0 **** --- 1,46 ---- + /* { dg-do compile } */ + /* { dg-options "-fno-common" } */ + + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?ffoo1a" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?ffoo1b" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?ffoo1c" } } */ + /* { dg-final { scan-assembler-not "weak\[^ \t\]*\[ \t\]_?ffoo1d" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?ffoo1e" } } */ + + /* test function addresses with #pragma weak */ + + #pragma weak ffoo1a + extern void * ffoo1a (void); + void * foo1a (void) + { + return (void *)ffoo1a; + } + + extern void * ffoo1b (void); + #pragma weak ffoo1b + void * foo1b (void) + { + return (void *)ffoo1b; + } + + extern void * ffoo1c (void); /* { dg-warning "applying #pragma weak" "applying #pragma weak" } */ + void * foo1c (void) + { + return (void *)ffoo1c; + } + #pragma weak ffoo1c + + + int ffoo1d (void); + #pragma weak ffoo1d + + + extern void * ffoo1e (void); + #pragma weak ffoo1e + void * foo1e (void) + { + if (ffoo1e) + ffoo1e (); + return 0; + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/weak/weak-3.c gcc-3.3/gcc/testsuite/gcc.dg/weak/weak-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/weak/weak-3.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/weak/weak-3.c 2002-09-06 13:00:39.000000000 +0000 *************** *** 0 **** --- 1,71 ---- + /* { dg-do compile } */ + /* { dg-options "-fno-common" } */ + + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?ffoo1a" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?ffoo1b" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?ffoo1c" } } */ + /* { dg-final { scan-assembler-not "weak\[^ \t\]*\[ \t\]_?ffoo1d" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?ffoo1e" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?ffoo1f" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?ffoo1g" } } */ + + /* test function addresses with __attribute__((weak)) */ + + extern void * ffoo1a (void) __attribute__((weak)); + extern void * ffoo1a (void); + void * foo1a (void) + { + return (void *)ffoo1a; + } + + + extern void * ffoo1b (void); + extern void * ffoo1b (void) __attribute__((weak)); + void * foo1b (void) + { + return (void *)ffoo1b; + } + + + extern void * ffoo1c (void); + void * foo1c (void) + { + return (void *)ffoo1c; + } + extern void * ffoo1c (void) __attribute__((weak)); /* { dg-warning "weak declaration" "weak declaration" } */ + + + int ffoo1d (void); + int ffoo1d (void) __attribute__((weak)); + + + extern void * ffoo1e (void); + extern void * ffoo1e (void) __attribute__((weak)); + void * foo1e (void) + { + if (ffoo1e) + ffoo1e (); + return 0; + } + + + extern void * ffoo1f (void); + extern void * ffoox1f (void); + void * foo1f (void) + { + if (ffoo1f) + ffoo1f (); + return 0; + } + extern void * ffoo1f (void) __attribute__((weak, alias ("ffoox1f"))); /* { dg-warning "weak declaration" "weak declaration" } */ + + + extern void * ffoo1g (void); + extern void * ffoox1g (void); + extern void * ffoo1g (void) __attribute__((weak, alias ("ffoox1g"))); + void * foo1g (void) + { + if (ffoo1g) + ffoo1g (); + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/weak/weak-4.c gcc-3.3/gcc/testsuite/gcc.dg/weak/weak-4.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/weak/weak-4.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/weak/weak-4.c 2002-09-06 13:00:39.000000000 +0000 *************** *** 0 **** --- 1,104 ---- + /* { dg-do compile } */ + /* { dg-options "-fno-common" } */ + + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1a" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1b" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1c" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1d" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1e" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1f" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1g" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1h" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1i" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1j" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1k" } } */ + + /* test variable addresses with #pragma weak */ + + #pragma weak vfoo1a + extern int vfoo1a; + void * foo1a (void) + { + return (void *)&vfoo1a; + } + + + extern int vfoo1b; + #pragma weak vfoo1b + void * foo1b (void) + { + return (void *)&vfoo1b; + } + + + extern int vfoo1c; /* { dg-warning "applying #pragma weak" "applying #pragma weak" } */ + void * foo1c (void) + { + return (void *)&vfoo1c; + } + #pragma weak vfoo1c + + + #pragma weak vfoo1d + int vfoo1d; + void * foo1d (void) + { + return (void *)&vfoo1d; + } + + + int vfoo1e; + #pragma weak vfoo1e + void * foo1e (void) + { + return (void *)&vfoo1e; + } + + + int vfoo1f; + void * foo1f (void) + { + return (void *)&vfoo1f; + } + #pragma weak vfoo1f + + + extern int vfoo1g; /* { dg-warning "applying #pragma weak" "applying #pragma weak" } */ + void * foo1g (void) + { + return (void *)&vfoo1g; + } + #pragma weak vfoo1g + int vfoo1g; + + + extern int vfoo1h; + void * foo1h (void) + { + return (void *)&vfoo1h; + } + int vfoo1h; + #pragma weak vfoo1h + + + int vfoo1i; + extern int vfoo1i; + void * foo1i (void) + { + return (void *)&vfoo1i; + } + #pragma weak vfoo1i + + + extern int vfoo1j; + int vfoo1j; + void * foo1j (void) + { + return (void *)&vfoo1j; + } + #pragma weak vfoo1j + + + #pragma weak vfoo1k + int vfoo1k = 1; + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/weak/weak-5.c gcc-3.3/gcc/testsuite/gcc.dg/weak/weak-5.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/weak/weak-5.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/weak/weak-5.c 2002-09-06 13:00:39.000000000 +0000 *************** *** 0 **** --- 1,107 ---- + /* { dg-do compile } */ + /* { dg-options "-fno-common" } */ + + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1a" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1b" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1c" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1d" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1e" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1f" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1g" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1h" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1i" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1j" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1k" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1l" } } */ + + /* test variable addresses with __attribute__ ((weak)) */ + + extern int vfoo1a __attribute__((weak)); + extern int vfoo1a; + void * foo1a (void) + { + return (void *)&vfoo1a; + } + + + extern int vfoo1b; + extern int vfoo1b __attribute__((weak)); + void * foo1b (void) + { + return (void *)&vfoo1b; + } + + + extern int vfoo1c; + void * foo1c (void) + { + return (void *)&vfoo1c; + } + extern int vfoo1c __attribute__((weak)); /* { dg-warning "unspecified behavior" } */ + + + extern int vfoo1d __attribute__((weak)); + int vfoo1d; + void * foo1d (void) + { + return (void *)&vfoo1d; + } + + + int vfoo1e; + extern int vfoo1e __attribute__((weak)); + void * foo1e (void) + { + return (void *)&vfoo1e; + } + + + int vfoo1f; + void * foo1f (void) + { + return (void *)&vfoo1f; + } + extern int vfoo1f __attribute__((weak)); /* { dg-warning "unspecified behavior" } */ + + + extern int vfoo1g; + void * foo1g (void) + { + return (void *)&vfoo1g; + } + int vfoo1g __attribute__((weak)); /* { dg-warning "unspecified behavior" } */ + + + extern int vfoo1h __attribute__((weak)); + void * foo1h (void) + { + return (void *)&vfoo1h; + } + extern int vfoo1h __attribute__((weak)); + int vfoo1h; + + + extern int vfoo1i __attribute__((weak)); + void * foo1i (void) + { + return (void *)&vfoo1i; + } + extern int vfoo1i __attribute__((weak)); + extern int vfoo1i; + + + extern int vfoo1j __attribute__((weak)); + void * foo1j (void) + { + return (void *)&vfoo1j; + } + extern int vfoo1j; + extern int vfoo1j __attribute__((weak)); + + + extern int vfoo1k __attribute__((weak)); + int vfoo1k = 1; + + + int vfoox1l = 1; + extern int vfoo1l __attribute__((weak, alias ("vfoox1l"))); diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/weak/weak-6.c gcc-3.3/gcc/testsuite/gcc.dg/weak/weak-6.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/weak/weak-6.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/weak/weak-6.c 2002-09-06 13:00:39.000000000 +0000 *************** *** 0 **** --- 1,6 ---- + /* { dg-do compile } */ + + extern void * foo (void); + void * foo (void) { return (void *)foo; } /* { dg-error "precede" } */ + + #pragma weak foo diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/weak/weak-7.c gcc-3.3/gcc/testsuite/gcc.dg/weak/weak-7.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/weak/weak-7.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/weak/weak-7.c 2002-09-06 13:00:39.000000000 +0000 *************** *** 0 **** --- 1,6 ---- + /* { dg-do compile } */ + + extern void * foo (void); + void * foo (void) { return (void *)foo; } /* { dg-error "precede" } */ + + extern void * foo (void) __attribute__((weak)); diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/weak/weak-8.c gcc-3.3/gcc/testsuite/gcc.dg/weak/weak-8.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/weak/weak-8.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/weak/weak-8.c 2002-09-06 13:00:39.000000000 +0000 *************** *** 0 **** --- 1,7 ---- + /* { dg-do assemble } */ + + __attribute__ ((weak)) int i; + + int f() { + return i; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/weak/weak-9.c gcc-3.3/gcc/testsuite/gcc.dg/weak/weak-9.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/weak/weak-9.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/weak/weak-9.c 2002-09-06 13:00:39.000000000 +0000 *************** *** 0 **** --- 1,20 ---- + /* { dg-do compile } */ + /* { dg-options "-fno-common" } */ + + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?f1" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?f2" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?f3" } } */ + /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?f4" } } */ + /* { dg-final { scan-assembler "notf1" } } */ + /* { dg-final { scan-assembler "notf2" } } */ + /* { dg-final { scan-assembler "notf3" } } */ + /* { dg-final { scan-assembler "notf4" } } */ + + void f1() __attribute__((weak, alias("notf1"))); + void f2() __attribute__((alias("notf2"), weak)); + + #pragma weak f3=notf3 + void f3(); + + void f4(); + #pragma weak f4=notf4 diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/weak/weak.exp gcc-3.3/gcc/testsuite/gcc.dg/weak/weak.exp *** gcc-3.2.3/gcc/testsuite/gcc.dg/weak/weak.exp 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/weak/weak.exp 2002-09-06 13:00:39.000000000 +0000 *************** *** 0 **** --- 1,41 ---- + # Copyright (C) 1997 Free Software Foundation, Inc. + + # 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, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + # GCC testsuite that uses the `dg.exp' driver. + + # Load support procs. + load_lib gcc-dg.exp + + # If a testcase doesn't have special options, use these. + global DEFAULT_CFLAGS + if ![info exists DEFAULT_CFLAGS] then { + set DEFAULT_CFLAGS " -ansi -pedantic-errors" + } + + if { [ check_weak_available ] == 1 } { + + dg-init + + dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] \ + "" $DEFAULT_CFLAGS + + dg-finish + + } elseif { [ check_weak_available ] == 0 } { + unsupported "gcc.dg/weak" + } else { + unresolved "gcc.dg/weak" + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/weak-1.c gcc-3.3/gcc/testsuite/gcc.dg/weak-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/weak-1.c 2002-04-01 15:49:48.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/weak-1.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,57 **** - /* { dg-do compile } */ - /* { dg-options "-fno-common" } */ - - /* COFF does not support weak, and dg doesn't support UNSUPPORTED. */ - /* { dg-do compile { xfail *-*-coff i?86-pc-cygwin h8300-*-hms } } */ - - /* { dg-final { global target_triplet } } */ - /* { dg-final { if [string match h8300-*-hms $target_triplet ] {return} } } */ - /* { dg-final { if [string match i?86-pc-cygwin $target_triplet ] {return} } } */ - /* { dg-final { if [string match *-*-coff $target_triplet ] {return} } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?a" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?b" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?c" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?d" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?e" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?g" } } */ - /* { dg-final { scan-assembler-not "weak\[^ \t\]*\[ \t\]_?i" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?j" } } */ - - #pragma weak a - int a; - - int b; - #pragma weak b - - #pragma weak c - extern int c; - int c; - - extern int d; - #pragma weak d - int d; - - #pragma weak e - void e(void) { } - - #if 0 - /* This permutation is illegal. */ - void f(void) { } - #pragma weak f - #endif - - #pragma weak g - int g = 1; - - #if 0 - /* This permutation is illegal. */ - int h = 1; - #pragma weak h - #endif - - #pragma weak i - extern int i; - - #pragma weak j - extern int j; - int use_j() { return j; } --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/weak-2.c gcc-3.3/gcc/testsuite/gcc.dg/weak-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/weak-2.c 2002-05-19 01:26:18.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/weak-2.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,53 **** - /* { dg-do compile } */ - /* { dg-options "-fno-common" } */ - - /* COFF does not support weak, and dg doesn't support UNSUPPORTED. */ - /* { dg-do compile { xfail *-*-coff i?86-pc-cygwin h8300-*-hms } } */ - - /* { dg-final { global target_triplet } } */ - /* { dg-final { if [string match h8300-*-hms $target_triplet ] {return} } } */ - /* { dg-final { if [string match i?86-pc-cygwin $target_triplet ] {return} } } */ - /* { dg-final { if [string match *-*-coff $target_triplet ] {return} } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]ffoo1a" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]ffoo1b" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]ffoo1c" } } */ - /* { dg-final { scan-assembler-not "weak\[^ \t\]*\[ \t\]ffoo1d" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]ffoo1e" } } */ - - /* test function addresses with #pragma weak */ - - #pragma weak ffoo1a - extern void * ffoo1a (void); - void * foo1a (void) - { - return (void *)ffoo1a; - } - - extern void * ffoo1b (void); - #pragma weak ffoo1b - void * foo1b (void) - { - return (void *)ffoo1b; - } - - extern void * ffoo1c (void); /* { dg-warning "applying #pragma weak" "applying #pragma weak" { xfail *-*-coff i?86-pc-cygwin h8300-*-hms } } */ - void * foo1c (void) - { - return (void *)ffoo1c; - } - #pragma weak ffoo1c - - - int ffoo1d (void); - #pragma weak ffoo1d - - - extern void * ffoo1e (void); - #pragma weak ffoo1e - void * foo1e (void) - { - if (ffoo1e) - ffoo1e (); - return 0; - } - --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/weak-3.c gcc-3.3/gcc/testsuite/gcc.dg/weak-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/weak-3.c 2002-05-17 04:04:29.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/weak-3.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,79 **** - /* { dg-do compile } */ - /* { dg-options "-fno-common" } */ - - /* COFF does not support weak, and dg doesn't support UNSUPPORTED. */ - /* { dg-do compile { xfail *-*-coff i?86-pc-cygwin h8300-*-hms } } */ - /* { dg-excess-errors "COFF does not support weak symbols" { target *-*-coff i?86-pc-cygwin h8300-*-hms } } */ - - /* { dg-final { global target_triplet } } */ - /* { dg-final { if [string match h8300-*-hms $target_triplet ] {return} } } */ - /* { dg-final { if [string match i?86-pc-cygwin $target_triplet ] {return} } } */ - /* { dg-final { if [string match *-*-coff $target_triplet ] {return} } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]ffoo1a" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]ffoo1b" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]ffoo1c" } } */ - /* { dg-final { scan-assembler-not "weak\[^ \t\]*\[ \t\]ffoo1d" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]ffoo1e" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]ffoo1f" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]ffoo1g" } } */ - - /* test function addresses with __attribute__((weak)) */ - - extern void * ffoo1a (void) __attribute__((weak)); - extern void * ffoo1a (void); - void * foo1a (void) - { - return (void *)ffoo1a; - } - - - extern void * ffoo1b (void); - extern void * ffoo1b (void) __attribute__((weak)); - void * foo1b (void) - { - return (void *)ffoo1b; - } - - - extern void * ffoo1c (void); - void * foo1c (void) - { - return (void *)ffoo1c; - } - extern void * ffoo1c (void) __attribute__((weak)); /* { dg-warning "weak declaration" "weak declaration" } */ - - - int ffoo1d (void); - int ffoo1d (void) __attribute__((weak)); - - - extern void * ffoo1e (void); - extern void * ffoo1e (void) __attribute__((weak)); - void * foo1e (void) - { - if (ffoo1e) - ffoo1e (); - return 0; - } - - - extern void * ffoo1f (void); - extern void * ffoox1f (void); - void * foo1f (void) - { - if (ffoo1f) - ffoo1f (); - return 0; - } - extern void * ffoo1f (void) __attribute__((weak, alias ("ffoox1f"))); /* { dg-warning "weak declaration" "weak declaration" } */ - - - extern void * ffoo1g (void); - extern void * ffoox1g (void); - extern void * ffoo1g (void) __attribute__((weak, alias ("ffoox1g"))); - void * foo1g (void) - { - if (ffoo1g) - ffoo1g (); - return 0; - } --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/weak-4.c gcc-3.3/gcc/testsuite/gcc.dg/weak-4.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/weak-4.c 2002-05-19 01:26:18.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/weak-4.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,111 **** - /* { dg-do compile } */ - /* { dg-options "-fno-common" } */ - - /* COFF does not support weak, and dg doesn't support UNSUPPORTED. */ - /* { dg-do compile { xfail *-*-coff i?86-pc-cygwin h8300-*-hms } } */ - - /* { dg-final { global target_triplet } } */ - /* { dg-final { if [string match h8300-*-hms $target_triplet ] {return} } } */ - /* { dg-final { if [string match i?86-pc-cygwin $target_triplet ] {return} } } */ - /* { dg-final { if [string match *-*-coff $target_triplet ] {return} } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]vfoo1a" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]vfoo1b" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]vfoo1c" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]vfoo1d" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]vfoo1e" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]vfoo1f" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]vfoo1g" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]vfoo1h" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]vfoo1i" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]vfoo1j" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]vfoo1k" } } */ - - /* test variable addresses with #pragma weak */ - - #pragma weak vfoo1a - extern int vfoo1a; - void * foo1a (void) - { - return (void *)&vfoo1a; - } - - - extern int vfoo1b; - #pragma weak vfoo1b - void * foo1b (void) - { - return (void *)&vfoo1b; - } - - - extern int vfoo1c; /* { dg-warning "applying #pragma weak" "applying #pragma weak" { xfail *-*-coff i?86-pc-cygwin h8300-*-hms } } */ - void * foo1c (void) - { - return (void *)&vfoo1c; - } - #pragma weak vfoo1c - - - #pragma weak vfoo1d - int vfoo1d; - void * foo1d (void) - { - return (void *)&vfoo1d; - } - - - int vfoo1e; - #pragma weak vfoo1e - void * foo1e (void) - { - return (void *)&vfoo1e; - } - - - int vfoo1f; - void * foo1f (void) - { - return (void *)&vfoo1f; - } - #pragma weak vfoo1f - - - extern int vfoo1g; /* { dg-warning "applying #pragma weak" "applying #pragma weak" { xfail *-*-coff i?86-pc-cygwin h8300-*-hms } } */ - void * foo1g (void) - { - return (void *)&vfoo1g; - } - #pragma weak vfoo1g - int vfoo1g; - - - extern int vfoo1h; - void * foo1h (void) - { - return (void *)&vfoo1h; - } - int vfoo1h; - #pragma weak vfoo1h - - - int vfoo1i; - extern int vfoo1i; - void * foo1i (void) - { - return (void *)&vfoo1i; - } - #pragma weak vfoo1i - - - extern int vfoo1j; - int vfoo1j; - void * foo1j (void) - { - return (void *)&vfoo1j; - } - #pragma weak vfoo1j - - - #pragma weak vfoo1k - int vfoo1k = 1; - --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/weak-5.c gcc-3.3/gcc/testsuite/gcc.dg/weak-5.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/weak-5.c 2002-05-27 05:48:19.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/weak-5.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,115 **** - /* { dg-do compile } */ - /* { dg-options "-fno-common" } */ - - /* COFF does not support weak, and dg doesn't support UNSUPPORTED. */ - /* { dg-do compile { xfail *-*-coff i?86-pc-cygwin h8300-*-hms } } */ - /* { dg-excess-errors "COFF does not support weak symbols" { target *-*-coff i?86-pc-cygwin h8300-*-hms } } */ - - /* { dg-final { global target_triplet } } */ - /* { dg-final { if [string match h8300-*-hms $target_triplet ] {return} } } */ - /* { dg-final { if [string match i?86-pc-cygwin $target_triplet ] {return} } } */ - /* { dg-final { if [string match *-*-coff $target_triplet ] {return} } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1a" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1b" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1c" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1d" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1e" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1f" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1g" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1h" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1i" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1j" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1k" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1l" } } */ - - /* test variable addresses with __attribute__ ((weak)) */ - - extern int vfoo1a __attribute__((weak)); - extern int vfoo1a; - void * foo1a (void) - { - return (void *)&vfoo1a; - } - - - extern int vfoo1b; - extern int vfoo1b __attribute__((weak)); - void * foo1b (void) - { - return (void *)&vfoo1b; - } - - - extern int vfoo1c; - void * foo1c (void) - { - return (void *)&vfoo1c; - } - extern int vfoo1c __attribute__((weak)); /* { dg-warning "unspecified behavior" } */ - - - extern int vfoo1d __attribute__((weak)); - int vfoo1d; - void * foo1d (void) - { - return (void *)&vfoo1d; - } - - - int vfoo1e; - extern int vfoo1e __attribute__((weak)); - void * foo1e (void) - { - return (void *)&vfoo1e; - } - - - int vfoo1f; - void * foo1f (void) - { - return (void *)&vfoo1f; - } - extern int vfoo1f __attribute__((weak)); /* { dg-warning "unspecified behavior" } */ - - - extern int vfoo1g; - void * foo1g (void) - { - return (void *)&vfoo1g; - } - int vfoo1g __attribute__((weak)); /* { dg-warning "unspecified behavior" } */ - - - extern int vfoo1h __attribute__((weak)); - void * foo1h (void) - { - return (void *)&vfoo1h; - } - extern int vfoo1h __attribute__((weak)); - int vfoo1h; - - - extern int vfoo1i __attribute__((weak)); - void * foo1i (void) - { - return (void *)&vfoo1i; - } - extern int vfoo1i __attribute__((weak)); - extern int vfoo1i; - - - extern int vfoo1j __attribute__((weak)); - void * foo1j (void) - { - return (void *)&vfoo1j; - } - extern int vfoo1j; - extern int vfoo1j __attribute__((weak)); - - - extern int vfoo1k __attribute__((weak)); - int vfoo1k = 1; - - - int vfoox1l = 1; - extern int vfoo1l __attribute__((weak, alias ("vfoox1l"))); --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/weak-6.c gcc-3.3/gcc/testsuite/gcc.dg/weak-6.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/weak-6.c 2002-05-19 01:26:18.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/weak-6.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,6 **** - /* { dg-do compile } */ - - extern void * foo (void); - void * foo (void) { return (void *)foo; } /* { dg-error "precede" "" { xfail *-*-coff i?86-pc-cygwin h8300-*-hms } } */ - - #pragma weak foo --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/weak-7.c gcc-3.3/gcc/testsuite/gcc.dg/weak-7.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/weak-7.c 2002-05-17 04:04:29.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/weak-7.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,7 **** - /* { dg-do compile } */ - /* { dg-excess-errors "COFF does not support weak symbols" { target *-*-coff i?86-pc-cygwin h8300-*-hms } } */ - - extern void * foo (void); - void * foo (void) { return (void *)foo; } /* { dg-error "precede" } */ - - extern void * foo (void) __attribute__((weak)); --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/weak-9.c gcc-3.3/gcc/testsuite/gcc.dg/weak-9.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/weak-9.c 2002-05-27 05:48:20.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/weak-9.c 1970-01-01 00:00:00.000000000 +0000 *************** *** 1,28 **** - /* { dg-do compile } */ - /* { dg-options "-fno-common" } */ - - /* COFF does not support weak, and dg doesn't support UNSUPPORTED. */ - /* { dg-do compile { xfail *-*-coff i?86-pc-cygwin h8300-*-hms } } */ - - /* { dg-final { global target_triplet } } */ - /* { dg-final { if [string match h8300-*-hms $target_triplet ] {return} } } */ - /* { dg-final { if [string match i?86-pc-cygwin $target_triplet ] {return} } } * - / - /* { dg-final { if [string match *-*-coff $target_triplet ] {return} } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?f1" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?f2" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?f3" } } */ - /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?f4" } } */ - /* { dg-final { scan-assembler "notf1" } } */ - /* { dg-final { scan-assembler "notf2" } } */ - /* { dg-final { scan-assembler "notf3" } } */ - /* { dg-final { scan-assembler "notf4" } } */ - - void f1() __attribute__((weak, alias("notf1"))); - void f2() __attribute__((alias("notf2"), weak)); - - #pragma weak f3=notf3 - void f3(); - - void f4(); - #pragma weak f4=notf4 --- 0 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/Wswitch-default.c gcc-3.3/gcc/testsuite/gcc.dg/Wswitch-default.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/Wswitch-default.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/Wswitch-default.c 2002-03-23 16:33:44.000000000 +0000 *************** *** 0 **** --- 1,62 ---- + /* { dg-do compile } */ + /* { dg-options "-Wswitch-default" } */ + + enum e { e1, e2 }; + + int + foo (int i, int j, enum e ei, enum e ej, enum e ek, enum e el, + enum e em, enum e en, enum e eo, enum e ep) + { + switch (i) + { + case 1: return 1; + case 2: return 2; + } /* { dg-warning "switch missing default case" } */ + switch (j) + { + case 3: return 4; + case 4: return 3; + default: break; + } + switch (ei) + { /* { dg-warning "switch missing default case" } */ + } + switch (ej) + { + default: break; + } + switch (ek) + { + case e1: return 1; + } /* { dg-warning "switch missing default case" } */ + switch (el) + { + case e1: return 1; + default: break; + } + switch (em) + { + case e1: return 1; + case e2: return 2; + } /* { dg-warning "switch missing default case" } */ + switch (en) + { + case e1: return 1; + case e2: return 2; + default: break; + } + switch (eo) + { + case e1: return 1; + case e2: return 2; + case 3: return 3; + } /* { dg-warning "switch missing default case" } */ + switch (ep) + { + case e1: return 1; + case e2: return 2; + case 3: return 3; + default: break; + } + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/Wswitch-enum.c gcc-3.3/gcc/testsuite/gcc.dg/Wswitch-enum.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/Wswitch-enum.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/Wswitch-enum.c 2002-03-26 15:36:37.000000000 +0000 *************** *** 0 **** --- 1,63 ---- + /* PR c/5044 */ + /* { dg-do compile } */ + /* { dg-options "-Wswitch-enum" } */ + + enum e { e1, e2 }; + + int + foo (int i, int j, enum e ei, enum e ej, enum e ek, enum e el, + enum e em, enum e en, enum e eo, enum e ep) + { + switch (i) + { + case 1: return 1; + case 2: return 2; + } + switch (j) + { + case 3: return 4; + case 4: return 3; + default: break; + } + switch (ei) + { /* { dg-warning "enumeration value `e1' not handled in switch" "enum e1" } */ + } /* { dg-warning "enumeration value `e2' not handled in switch" "enum e2" { target *-*-* } 23 } */ + switch (ej) + { /* { dg-warning "enumeration value `e1' not handled in switch" "enum e1" { target *-*-* } 28 } */ + default: break; + } /* { dg-warning "enumeration value `e2' not handled in switch" "enum e2" } */ + switch (ek) + { + case e1: return 1; + } /* { dg-warning "enumeration value `e2' not handled in switch" "enum e2" } */ + switch (el) + { + case e1: return 1; + default: break; + } /* { dg-warning "enumeration value `e2' not handled in switch" "enum e2" } */ + switch (em) + { + case e1: return 1; + case e2: return 2; + } + switch (en) + { + case e1: return 1; + case e2: return 2; + default: break; + } + switch (eo) + { + case e1: return 1; + case e2: return 2; + case 3: return 3; + } /* { dg-warning "case value `3' not in enumerated type `e'" "excess 3" } */ + switch (ep) + { + case e1: return 1; + case e2: return 2; + case 3: return 3; + default: break; + } /* { dg-warning "case value `3' not in enumerated type `e'" "excess 3" } */ + return 0; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-aggr-init-1.c gcc-3.3/gcc/testsuite/gcc.dg/wtr-aggr-init-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-aggr-init-1.c 2001-12-21 19:14:46.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/wtr-aggr-init-1.c 2002-07-03 02:41:33.000000000 +0000 *************** struct foo f0 = { 0, 0 }; *** 14,20 **** static struct foo f1 = { 0, 0 }; void ! testfunc1 (void) { struct foo f3 = { 0, 0 }; /* { dg-warning "traditional C rejects automatic" "automatic aggregate initialization" } */ static struct foo f4 = { 0, 0 }; --- 14,20 ---- static struct foo f1 = { 0, 0 }; void ! testfunc1 () { struct foo f3 = { 0, 0 }; /* { dg-warning "traditional C rejects automatic" "automatic aggregate initialization" } */ static struct foo f4 = { 0, 0 }; *************** struct foo f7 = { 0, 0 }; *** 39,45 **** static struct foo f8 = { 0, 0 }; void ! testfunc2 (void) { struct foo f9 = { 0, 0 }; static struct foo f10 = { 0, 0 }; --- 39,45 ---- static struct foo f8 = { 0, 0 }; void ! testfunc2 () { struct foo f9 = { 0, 0 }; static struct foo f10 = { 0, 0 }; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-conversion-1.c gcc-3.3/gcc/testsuite/gcc.dg/wtr-conversion-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-conversion-1.c 2001-04-17 02:21:10.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/wtr-conversion-1.c 2002-07-03 02:41:34.000000000 +0000 *************** extern long double ld; *** 15,21 **** extern __complex__ double cd; void ! testfunc1 (void) { foo_i (i); foo_i (f); /* { dg-warning "as integer rather than floating" "prototype conversion warning" } */ --- 15,21 ---- extern __complex__ double cd; void ! testfunc1 () { foo_i (i); foo_i (f); /* { dg-warning "as integer rather than floating" "prototype conversion warning" } */ *************** testfunc1 (void) *** 42,48 **** /* We are in system headers now, no -Wtraditional warnings should issue. */ void ! testfunc2 (void) { foo_i (i); foo_i (f); --- 42,48 ---- /* We are in system headers now, no -Wtraditional warnings should issue. */ void ! testfunc2 () { foo_i (i); foo_i (f); diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-escape-1.c gcc-3.3/gcc/testsuite/gcc.dg/wtr-escape-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-escape-1.c 2000-12-07 23:21:09.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/wtr-escape-1.c 2002-07-03 02:41:34.000000000 +0000 *************** *** 5,11 **** /* { dg-options "-Wtraditional" } */ void ! testfunc (void) { char c; --- 5,11 ---- /* { dg-options "-Wtraditional" } */ void ! testfunc () { char c; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-func-def-1.c gcc-3.3/gcc/testsuite/gcc.dg/wtr-func-def-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-func-def-1.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/wtr-func-def-1.c 2002-07-03 02:41:34.000000000 +0000 *************** *** 0 **** --- 1,204 ---- + /* Test for -Wtraditional warnings on ISO C function definitions. + Note, gcc should omit these warnings in system header files. + Origin: Kaveh R. Ghazi 6/30/2002. */ + /* { dg-do compile } */ + /* { dg-options "-Wtraditional" } */ + + /* Test some simple cases. */ + + void f_void1 (void) + { /* { dg-warning "traditional C rejects ISO C style" } */ + return; + } + + void f_void2 () + { + return; + } + + void f_int1 (int f) + { /* { dg-warning "traditional C rejects ISO C style" } */ + return; + } + + void f_int2 (f) + int f; + { + return; + } + + /* Test that we don't ever warn about nested functions. */ + + void f_int3 (int f) + { /* { dg-warning "traditional C rejects ISO C style" } */ + void f3a (void) { return; } + void f3b () { return; } + void f3c (int f) { return; } + void f3d (f) int f; { return; } + void f3e (const char *f, ...) { return; } + return; + } + + void f_int4 (int f) + { /* { dg-warning "traditional C rejects ISO C style" } */ + void f4a (void) { return; } + void f4b () { return; } + void f4c (int f) { return; } + void f4d (f) int f; { return; } + void f4e (const char *f, ...) { return; } + auto f4f (void) { return 0; } + return; + } + + void f_int5 (f) + int f; + { + void f5a (void) { return; } + void f5b () { return; } + void f5c (int f) { return; } + void f5d (f) int f; { return; } + void f5e (const char *f, ...) { return; } + return; + } + + void f_int6 (f) + int f; + { + void f6a (void) { return; } + void f6b () { return; } + void f6c (int f) { return; } + void f6d (f) int f; { return; } + void f6e (const char *f, ...) { return; } + auto f6f (void) { return 0; } + return; + } + + /* Test that prototypes are silently accepted and function definitions + are still warned about. */ + + extern void f_int_p1 (int); + void f_int_p1 (int f) + { /* { dg-warning "traditional C rejects ISO C style" } */ + return; + } + + extern void f_int_p2 (int f); + void f_int_p2 (int f) + { /* { dg-warning "traditional C rejects ISO C style" } */ + return; + } + + extern void f_int_p3 (int); + void f_int_p3 (f) + int f; + { + return; + } + + extern void f_int_p4 (int f); + void f_int_p4 (f) + int f; + { + return; + } + + extern void f_void_p1 (); + void f_void_p1 (void) + { /* { dg-warning "traditional C rejects ISO C style" } */ + return; + } + + extern void f_void_p2 (void); + void f_void_p2 (void) + { /* { dg-warning "traditional C rejects ISO C style" } */ + return; + } + + extern void f_blank_p1 (); + void f_blank_p1 () + { + return; + } + + extern void f_blank_p2 (void); + void f_blank_p2 () + { + return; + } + + /* Test some implicit int functions. */ + + f_impl1() + { + return 0; + } + + f_impl2(void) + { /* { dg-warning "traditional C rejects ISO C style" } */ + return 0; + } + + f_impl3(int f) + { /* { dg-warning "traditional C rejects ISO C style" } */ + return 0; + } + + /* Test that we don't warn about stdarg functions. */ + + f_stdarg1(const char *s, ...) + { + return 0; + } + + void f_stdarg2(const char *s, ...) + { + return; + } + + extern void f_stdarg3(const char *, ...); + void f_stdarg3(const char *s, ...) + { + return; + } + + /* Test handling function pointer parameters. */ + + void f_fnptr1 (int f, int (*fp)(int)); + void f_fnptr1 (int f, int (*fp)(int)) + { /* { dg-warning "traditional C rejects ISO C style" } */ + return; + } + + void f_fnptr2 (int f, int (*fp)(int)); + void f_fnptr2 (f, fp) + int f; + int (*fp)(int); + { + return; + } + + /* Test for main. */ + + int + main (int argc, char **argv) + { /* { dg-warning "traditional C rejects ISO C style" } */ + return 0; + } + + # 182 "sys-header.h" 3 + /* We are in system headers now, no -Wtraditional warnings should issue. */ + + void fsys1 (void) + { + return; + } + + void fsys2 (int f) + { + return; + } + + void fsys3 (const char *f, ...) + { + return; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-int-type-1.c gcc-3.3/gcc/testsuite/gcc.dg/wtr-int-type-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-int-type-1.c 2000-12-07 23:21:09.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/wtr-int-type-1.c 2002-07-03 02:41:34.000000000 +0000 *************** *** 2,11 **** Note, gcc should omit these warnings in system header files. By Kaveh R. Ghazi 8/22/2000. */ /* { dg-do compile } */ ! /* { dg-options "-Wtraditional" } */ void ! testfunc (void) { long long i; --- 2,11 ---- Note, gcc should omit these warnings in system header files. By Kaveh R. Ghazi 8/22/2000. */ /* { dg-do compile } */ ! /* { dg-options "-std=c99 -Wtraditional" } */ void ! testfunc () { long long i; *************** testfunc (void) *** 18,29 **** i = 0xFFFFFFFFFFFFFFFF; i = 01777777777777777777777; ! /* We expect to get either a "width of integer constant changes with ! -traditional" warning or an "integer constant is unsigned in ISO ! C, signed with -traditional" warning depending on whether we are ! testing on a 32 or 64 bit platform. Either warning means the ! test passes and both matched by checking for "integer constant". */ ! i = 18446744073709551615; /* { dg-warning "integer constant" "integer constant" } */ # 29 "sys-header.h" 3 /* We are in system headers now, no -Wtraditional warnings should issue. */ --- 18,31 ---- i = 0xFFFFFFFFFFFFFFFF; i = 01777777777777777777777; ! /* Nor should values outside the range of (32-bit) unsigned long but ! inside the range of long long. [since -traditional has no long long, ! we can pretend it worked the way it does in C99.] */ ! i = 9223372036854775807; ! ! /* But this one should, since it doesn't fit in long (long), but ! does fit in unsigned long (long). */ ! i = 18446744073709551615; /* { dg-warning "decimal constant|unsigned" "decimal constant" } */ # 29 "sys-header.h" 3 /* We are in system headers now, no -Wtraditional warnings should issue. */ *************** testfunc (void) *** 39,44 **** i = 9223372036854775807; i = 18446744073709551615; } - - /* Ignore "decimal constant is so large that it is unsigned" warnings. */ - /* { dg-warning "decimal constant" "decimal constant" { target *-*-* } 26 } */ --- 41,43 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-label-1.c gcc-3.3/gcc/testsuite/gcc.dg/wtr-label-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-label-1.c 2000-12-07 23:21:09.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/wtr-label-1.c 2002-07-03 02:41:34.000000000 +0000 *************** int foo4; *** 11,17 **** typedef int foo5; void ! testfunc1 (int foo6) { int foo7; --- 11,18 ---- typedef int foo5; void ! testfunc1 (foo6) ! int foo6; { int foo7; *************** testfunc1 (int foo6) *** 32,38 **** /* We are in system headers now, no -Wtraditional warnings should issue. */ void ! testfunc2 (int foo6) { int foo7; --- 33,40 ---- /* We are in system headers now, no -Wtraditional warnings should issue. */ void ! testfunc2 (foo6) ! int foo6; { int foo7; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-static-1.c gcc-3.3/gcc/testsuite/gcc.dg/wtr-static-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-static-1.c 2000-12-07 23:21:09.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/wtr-static-1.c 2002-07-03 02:41:34.000000000 +0000 *************** *** 5,14 **** /* { dg-options "-Wtraditional" } */ static void testfunc1(void); ! void testfunc1(void) {} /* { dg-warning "non-static.*follows static" "non-static follows static" } */ # 11 "sys-header.h" 3 /* We are in system headers now, no -Wtraditional warnings should issue. */ static void testfunc2(void); ! void testfunc2(void) {} --- 5,14 ---- /* { dg-options "-Wtraditional" } */ static void testfunc1(void); ! void testfunc1() {} /* { dg-warning "non-static.*follows static" "non-static follows static" } */ # 11 "sys-header.h" 3 /* We are in system headers now, no -Wtraditional warnings should issue. */ static void testfunc2(void); ! void testfunc2() {} diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-strcat-1.c gcc-3.3/gcc/testsuite/gcc.dg/wtr-strcat-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-strcat-1.c 2000-12-07 23:21:09.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/wtr-strcat-1.c 2002-07-03 02:41:34.000000000 +0000 *************** *** 5,11 **** /* { dg-options "-Wtraditional" } */ void ! testfunc (void) { const char *foo; --- 5,11 ---- /* { dg-options "-Wtraditional" } */ void ! testfunc () { const char *foo; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-suffix-1.c gcc-3.3/gcc/testsuite/gcc.dg/wtr-suffix-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-suffix-1.c 2000-12-07 23:21:09.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/wtr-suffix-1.c 2002-07-03 02:41:34.000000000 +0000 *************** *** 5,24 **** /* { dg-options "-Wtraditional" } */ void ! testfunc (void) { int i; double f; i = 1L; i = 1l; ! i = 1U; /* { dg-warning "traditional C rejects the 'u' suffix" "numeric constant suffix" } */ ! i = 1u; /* { dg-warning "traditional C rejects the 'u' suffix" "numeric constant suffix" } */ f = 1.0; ! f = 1.0F; /* { dg-warning "traditional C rejects the 'f' suffix" "numeric constant suffix" } */ ! f = 1.0f; /* { dg-warning "traditional C rejects the 'f' suffix" "numeric constant suffix" } */ ! f = 1.0L; /* { dg-warning "traditional C rejects the 'l' suffix" "numeric constant suffix" } */ ! f = 1.0l; /* { dg-warning "traditional C rejects the 'l' suffix" "numeric constant suffix" } */ # 24 "sys-header.h" 3 /* We are in system headers now, no -Wtraditional warnings should issue. */ --- 5,24 ---- /* { dg-options "-Wtraditional" } */ void ! testfunc () { int i; double f; i = 1L; i = 1l; ! i = 1U; /* { dg-warning "traditional C rejects" "numeric constant suffix" } */ ! i = 1u; /* { dg-warning "traditional C rejects" "numeric constant suffix" } */ f = 1.0; ! f = 1.0F; /* { dg-warning "traditional C rejects" "numeric constant suffix" } */ ! f = 1.0f; /* { dg-warning "traditional C rejects" "numeric constant suffix" } */ ! f = 1.0L; /* { dg-warning "traditional C rejects" "numeric constant suffix" } */ ! f = 1.0l; /* { dg-warning "traditional C rejects" "numeric constant suffix" } */ # 24 "sys-header.h" 3 /* We are in system headers now, no -Wtraditional warnings should issue. */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-switch-1.c gcc-3.3/gcc/testsuite/gcc.dg/wtr-switch-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-switch-1.c 2000-12-07 23:21:09.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/wtr-switch-1.c 2002-07-03 02:41:34.000000000 +0000 *************** *** 5,11 **** /* { dg-options "-Wtraditional" } */ void ! testfunc (long l) { switch (l) /* { dg-warning "switch expression" "switch expression" } */ { --- 5,12 ---- /* { dg-options "-Wtraditional" } */ void ! testfunc (l) ! long l; { switch (l) /* { dg-warning "switch expression" "switch expression" } */ { diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-unary-plus-1.c gcc-3.3/gcc/testsuite/gcc.dg/wtr-unary-plus-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-unary-plus-1.c 2000-12-07 23:21:09.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/wtr-unary-plus-1.c 2002-07-03 02:41:34.000000000 +0000 *************** *** 5,11 **** /* { dg-options "-Wtraditional" } */ void ! testfunc (void) { int i; --- 5,11 ---- /* { dg-options "-Wtraditional" } */ void ! testfunc () { int i; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-union-init-1.c gcc-3.3/gcc/testsuite/gcc.dg/wtr-union-init-1.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-union-init-1.c 2000-12-07 23:21:09.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/wtr-union-init-1.c 2002-09-16 13:29:49.000000000 +0000 *************** union foo *** 11,19 **** }; void ! testfunc (void) { ! /* Note we only warn for non-zero initializers. */ static union foo f1 = { 0 }; static union foo f2 = { 1 }; /* { dg-warning "traditional C rejects initialization of unions" "initialization of unions" } */ --- 11,19 ---- }; void ! testfunc () { ! /* Note we only warn for nonzero initializers. */ static union foo f1 = { 0 }; static union foo f2 = { 1 }; /* { dg-warning "traditional C rejects initialization of unions" "initialization of unions" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-union-init-2.c gcc-3.3/gcc/testsuite/gcc.dg/wtr-union-init-2.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-union-init-2.c 2000-12-07 23:21:09.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/wtr-union-init-2.c 2002-09-16 13:29:49.000000000 +0000 *************** union foo2 *** 19,27 **** }; void ! testfunc (void) { ! /* Note we only warn for non-zero initializers. */ static union foo1 f1 = {0}; static union foo2 f2 = {0}; static union foo1 f3 = {1}; /* { dg-warning "traditional C rejects initialization of unions" "initialization of unions" } */ --- 19,27 ---- }; void ! testfunc () { ! /* Note we only warn for nonzero initializers. */ static union foo1 f1 = {0}; static union foo2 f2 = {0}; static union foo1 f3 = {1}; /* { dg-warning "traditional C rejects initialization of unions" "initialization of unions" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-union-init-3.c gcc-3.3/gcc/testsuite/gcc.dg/wtr-union-init-3.c *** gcc-3.2.3/gcc/testsuite/gcc.dg/wtr-union-init-3.c 2000-12-07 23:21:09.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.dg/wtr-union-init-3.c 2002-09-16 13:29:50.000000000 +0000 *************** struct baz2 *** 38,46 **** }; void ! testfunc (void) { ! /* Note we only warn for non-zero initializers. Xfail on substructures. */ static union foo f1 = {{0,0}}; /* { dg-bogus "traditional C rejects initialization of unions" "initialization of unions" { xfail *-*-* } } */ static union foo f2 = {{1,1}}; /* { dg-warning "traditional C rejects initialization of unions" "initialization of unions" } */ --- 38,46 ---- }; void ! testfunc () { ! /* Note we only warn for nonzero initializers. Xfail on substructures. */ static union foo f1 = {{0,0}}; /* { dg-bogus "traditional C rejects initialization of unions" "initialization of unions" { xfail *-*-* } } */ static union foo f2 = {{1,1}}; /* { dg-warning "traditional C rejects initialization of unions" "initialization of unions" } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.misc-tests/bprob.exp gcc-3.3/gcc/testsuite/gcc.misc-tests/bprob.exp *** gcc-3.2.3/gcc/testsuite/gcc.misc-tests/bprob.exp 2002-04-03 02:46:02.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.misc-tests/bprob.exp 2002-10-21 20:21:00.000000000 +0000 *************** if $tracelevel then { *** 48,57 **** # Load support procs. load_lib profopt.exp - # Clean up existing .da and .tim files. - profopt-cleanup da - profopt-cleanup tim - foreach src [lsort [glob -nocomplain $srcdir/$subdir/bprob-*.c]] { # If we're only testing specific files and this isn't one of them, skip it. if ![runtest_file_p $runtests $src] then { --- 48,53 ---- diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.misc-tests/gcov-8.c gcc-3.3/gcc/testsuite/gcc.misc-tests/gcov-8.c *** gcc-3.2.3/gcc/testsuite/gcc.misc-tests/gcov-8.c 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.misc-tests/gcov-8.c 2002-09-16 13:29:50.000000000 +0000 *************** *** 0 **** --- 1,47 ---- + /* Check that gcov correctly rounds nearly zero to nonzero and nearly + 100 to not-100. + + Copyright (C) 2002 Free Software Foundation, Inc. + Contributed by Nathan Sidwell + */ + + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ + /* { dg-do run { target native } } */ + + int proxy (int i) + { + return i; + } + + int foo (int i) + { + if (i > 0) /* branch(1) */ + return proxy (1); + else if (i < 0) /* branch(100) */ + return proxy (-1); + else + return proxy (0); + } + + int baz (int i) + { + if (i == 0) /* branch(99) */ + return proxy (0); + else if (i > 0) /* branch(0)*/ + return proxy (1); + else + return proxy (-1); + } + + int main () + { + int t = 0; + int ix; + + for (ix = 0; ix != 1000; ix++) + t += foo (ix) + baz (ix); + + return t == 0; + } + + /* { dg-final { run-gcov -b gcov-8.c } } */ diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.misc-tests/gcov-8.x gcc-3.3/gcc/testsuite/gcc.misc-tests/gcov-8.x *** gcc-3.2.3/gcc/testsuite/gcc.misc-tests/gcov-8.x 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.misc-tests/gcov-8.x 2002-08-05 22:16:51.000000000 +0000 *************** *** 0 **** --- 1,2 ---- + set gcov_verify_branches 1 + return 0 diff -Nrc3pad gcc-3.2.3/gcc/testsuite/gcc.misc-tests/linkage.exp gcc-3.3/gcc/testsuite/gcc.misc-tests/linkage.exp *** gcc-3.2.3/gcc/testsuite/gcc.misc-tests/linkage.exp 2002-04-04 00:18:30.000000000 +0000 --- gcc-3.3/gcc/testsuite/gcc.misc-tests/linkage.exp 2002-10-21 15:42:23.000000000 +0000 *************** *** 1,4 **** ! # Copyright (C) 1988, 90-96, 1997, 2000, 2001 Free Software Foundation, Inc. # 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 --- 1,4 ---- ! # Copyright (C) 1988, 90-96, 1997, 2000, 2001, 2002 Free Software Foundation, Inc. # 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 *************** if [isnative] then { *** 32,47 **** --- 32,59 ---- if [ string match "*64*" $file_string ] { set native_cflags "-64" } + if [ string match "*ELF 32*" $file_string ] { + set native_cflags "-32" + } if [ string match "*N32*" $file_string ] { set native_cflags "-n32" } } + if [istarget "mips-sgi-iris6*o32" ] { + set native_cflags "-32" + } if [istarget "sparc*-sun-solaris2*"] { set file_string [exec file "linkage-x.o"] if [ string match "*64*" $file_string ] { set native_cflags "-xarch=v9" } } + if [istarget "s390x-*-linux*"] { + set file_string [exec file "linkage-x.o"] + if [ string match "*32-bit*" $file_string ] { + set native_cflags "-m31" + } + } catch { exec rm -f linkage-y.o } send_log "cc -c $native_cflags $srcdir/$subdir/linkage-y.c >&/dev/null\n" diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g++.dg/abi/bitfield4.C gcc-3.3/gcc/testsuite/g++.dg/abi/bitfield4.C *** gcc-3.2.3/gcc/testsuite/g++.dg/abi/bitfield4.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g++.dg/abi/bitfield4.C 2002-08-08 22:52:20.000000000 +0000 *************** *** 0 **** --- 1,41 ---- + /* { dg-do run } */ + + /* Check bitfields and non-bitfields are aligned & sized similarly. + + Copyright (C) 2002 Free Software Foundation Inc + Contributed by Nathan Sidwell + */ + + #include + #include + + static int fail; + + #define CHECK1(N, T) do { \ + typedef struct Field_##N { char c; T f; } Field_##N; \ + typedef struct BitField_##N { char c; T f : sizeof (T) * CHAR_BIT; } BitField_##N; \ + if (sizeof (Field_##N) != sizeof (BitField_##N)) { \ + fail = 1; printf ("sizeof %s failed\n", #T); \ + } \ + if (__alignof__ (Field_##N) != __alignof__ (BitField_##N)) { \ + fail = 1; printf ("__alignof__ %s failed\n", #T); \ + } \ + } while (0) + + #define CHECK(N, T) do { \ + CHECK1(N, T); \ + CHECK1 (s##N, signed T); \ + CHECK1 (u##N, unsigned T); \ + } while (0) + + int main () + { + + CHECK (c, char); + CHECK (s, short); + CHECK (i, int); + CHECK (l, long); + CHECK (ll, long long); + + return fail; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g++.dg/abi/bitfield6.C gcc-3.3/gcc/testsuite/g++.dg/abi/bitfield6.C *** gcc-3.2.3/gcc/testsuite/g++.dg/abi/bitfield6.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g++.dg/abi/bitfield6.C 2002-09-23 09:22:17.000000000 +0000 *************** *** 0 **** --- 1,14 ---- + // { dg-do run } + // { dg-options "-w -fabi-version=0" } + + #include + + union U { + int i: 4096; + }; + + int main () { + if (sizeof (U) * std::numeric_limits::digits != 4096) + return 1; + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g++.dg/abi/bitfield7.C gcc-3.3/gcc/testsuite/g++.dg/abi/bitfield7.C *** gcc-3.2.3/gcc/testsuite/g++.dg/abi/bitfield7.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g++.dg/abi/bitfield7.C 2002-09-23 09:22:17.000000000 +0000 *************** *** 0 **** --- 1,7 ---- + // { dg-do compile } + // { dg-options "-Wabi" } + + union U { // { dg-warning "ABI" } + int i: 4096; // { dg-warning "exceeds" } + }; + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g++.dg/abi/bitfield8.C gcc-3.3/gcc/testsuite/g++.dg/abi/bitfield8.C *** gcc-3.2.3/gcc/testsuite/g++.dg/abi/bitfield8.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g++.dg/abi/bitfield8.C 2002-09-23 09:22:17.000000000 +0000 *************** *** 0 **** --- 1,20 ---- + // { dg-do run { target i?86-*-* } } + // { dg-options "-fabi-version=0" } + + struct A { + virtual void f() {} + int f1 : 1; + }; + + struct B : public A { + int f2 : 31; + int f3 : 4; + int f4 : 3; + }; + + int main () + { + if (sizeof (B) != 16) + return 1; + } + diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g++.dg/abi/dtor1.C gcc-3.3/gcc/testsuite/g++.dg/abi/dtor1.C *** gcc-3.2.3/gcc/testsuite/g++.dg/abi/dtor1.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g++.dg/abi/dtor1.C 2002-11-07 21:33:44.000000000 +0000 *************** *** 0 **** --- 1,22 ---- + // { dg-do compile { target i?86-*-* } } + // { dg-options "-fabi-version=0" } + + struct A { + virtual void a (); + }; + + struct B { + virtual ~B (); + }; + + struct C : public A, public B { + virtual void c (); + }; + + struct D : virtual public C { + virtual void d (); + }; + + void D::d () {} + + // { dg-final { scan-assembler _ZTv0_n20_N1DD1Ev } } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g++.dg/abi/dtor2.C gcc-3.3/gcc/testsuite/g++.dg/abi/dtor2.C *** gcc-3.2.3/gcc/testsuite/g++.dg/abi/dtor2.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g++.dg/abi/dtor2.C 2002-11-07 21:33:44.000000000 +0000 *************** *** 0 **** --- 1,14 ---- + // { dg-do compile } + // { dg-options "-Wabi" } + + struct A { + virtual void a (); + }; + + struct B { + virtual ~B (); + }; + + struct C : public A, public B { // { dg-warning "virtual" } + virtual void c (); + }; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g++.dg/abi/empty10.C gcc-3.3/gcc/testsuite/g++.dg/abi/empty10.C *** gcc-3.2.3/gcc/testsuite/g++.dg/abi/empty10.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g++.dg/abi/empty10.C 2002-11-26 19:37:45.000000000 +0000 *************** *** 0 **** --- 1,27 ---- + // { dg-do run { target i?86-*-* } } + // { dg-options "-fabi-version=0 -w" } + + struct E {}; + struct E2 : public E {}; + + struct A { + int i; + }; + + struct B { + int j; + }; + + struct C : + public E, + public A, + public E2, + virtual public B { + }; + + C c; + + int main () { + if (((char*)(B*)&c - (char*)&c) != 8) + return 1; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g++.dg/abi/empty11.C gcc-3.3/gcc/testsuite/g++.dg/abi/empty11.C *** gcc-3.2.3/gcc/testsuite/g++.dg/abi/empty11.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g++.dg/abi/empty11.C 2002-11-26 07:20:13.000000000 +0000 *************** *** 0 **** --- 1,19 ---- + // { dg-do run } + // { dg-options "-w -fabi-version=0" } + + struct E {}; + struct E2 : public E {}; + struct E3 : public E, public E2 {}; + struct E4 : public E, public E2, public E3 { }; + struct E5 : public E, public E2, public E3, public E4 {}; + + struct S : public virtual E5 { + E e; + }; + + S s; + + int main () { + if ((char*)(E4*)&s - (char*)&s == 0) + return 1; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g++.dg/abi/empty5.C gcc-3.3/gcc/testsuite/g++.dg/abi/empty5.C *** gcc-3.2.3/gcc/testsuite/g++.dg/abi/empty5.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g++.dg/abi/empty5.C 2002-09-25 19:07:35.000000000 +0000 *************** *** 0 **** --- 1,17 ---- + // { dg-options "-fabi-version=0" } + + struct A {}; + + struct B { + A a; + virtual void f () {} + }; + + struct C : public B, public A {}; + + C c; + + int main () { + if ((void*) (A*) &c != &c) + return 1; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g++.dg/abi/empty6.C gcc-3.3/gcc/testsuite/g++.dg/abi/empty6.C *** gcc-3.2.3/gcc/testsuite/g++.dg/abi/empty6.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g++.dg/abi/empty6.C 2002-09-25 19:07:35.000000000 +0000 *************** *** 0 **** --- 1,8 ---- + // { dg-options "-Wabi" } + + struct A {}; + + struct B { + A a; // { dg-warning "empty" } + virtual void f () {} + }; diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g++.dg/abi/empty7.C gcc-3.3/gcc/testsuite/g++.dg/abi/empty7.C *** gcc-3.2.3/gcc/testsuite/g++.dg/abi/empty7.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g++.dg/abi/empty7.C 2002-09-30 16:52:19.000000000 +0000 *************** *** 0 **** --- 1,18 ---- + // { dg-do run { target i?86-*-* } } + // { dg-options "-fabi-version=0" } + + struct S1 {}; + struct S2 { virtual void f () {} S1 s1[4]; }; + struct S3 : virtual public S2 {}; + struct S4 : virtual public S2 { int i; }; + struct S5 : public S3, virtual public S4 {}; + struct S6 { S5 s5; }; + struct S7 { S1 s1[5]; }; + struct S8 : public S1, public S6, virtual public S7 { }; + + S8 s8; + + int main () { + if ((char *)(S7 *)&s8 - (char *)&s8 != 24) + return 1; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g++.dg/abi/empty8.C gcc-3.3/gcc/testsuite/g++.dg/abi/empty8.C *** gcc-3.2.3/gcc/testsuite/g++.dg/abi/empty8.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g++.dg/abi/empty8.C 2002-10-15 18:06:50.000000000 +0000 *************** *** 0 **** --- 1,14 ---- + // { dg-do run } + // { dg-options "-fabi-version=0" } + + struct E1 {}; + struct E2 : public E1 {}; + struct S1 { int i; }; + struct S2 : public S1, E2 {}; + + S2 s2; + + int main () { + if ((char *)(E2*) &s2 != (char *)&s2) + return 1; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g++.dg/abi/empty9.C gcc-3.3/gcc/testsuite/g++.dg/abi/empty9.C *** gcc-3.2.3/gcc/testsuite/g++.dg/abi/empty9.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g++.dg/abi/empty9.C 2002-10-25 06:01:55.000000000 +0000 *************** *** 0 **** --- 1,16 ---- + // { dg-do run { target i?86-*-* } } + // { dg-options "-w -fabi-version=0" } + + struct E1 {}; + struct E2 : public E1 { + virtual void f (); + }; + struct E3 : virtual public E1 { + }; + struct S : public E2, virtual public E3 { + }; + + int main () { + if (sizeof (S) != 12) + return 1; + } diff -Nrc3pad gcc-3.2.3/gcc/testsuite/g++.dg/abi/mangle10.C gcc-3.3/gcc/testsuite/g++.dg/abi/mangle10.C *** gcc-3.2.3/gcc/testsuite/g++.dg/abi/mangle10.C 1970-01-01 00:00:00.000000000 +0000 --- gcc-3.3/gcc/testsuite/g++.dg/abi/mangle10.C 2002-10-04 04:59:37.000000000 +0000 *************** *** 0 **** --- 1,13 ---- + // { dg-options "-fabi-version=0" } + + template