diff -Nrc3pad gcc-3.2.1/gcc/testsuite/ChangeLog gcc-3.2.2/gcc/testsuite/ChangeLog *** gcc-3.2.1/gcc/testsuite/ChangeLog Tue Nov 19 17:49:21 2002 --- gcc-3.2.2/gcc/testsuite/ChangeLog Wed Feb 5 03:01:22 2003 *************** *** 1,3 **** --- 1,195 ---- + 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 + + Tweaks for Bison-1.875. From the NEWS file: + "- `parse error' -> `syntax error' + Bison now uniformly uses the term `syntax error'" + * gcc.dg/cpp/19990413-1.c: Test for "(parse|syntax) error". + * gcc.dg/cpp/digraph2.c: Likewise. + * gcc.dg/cpp/direct2.c: Likewise. + * gcc.dg/cpp/paste4.c: Likewise. + * gcc.dg/c90-restrict-1.c: Likewise. + * gcc.dg/c99-func-2.c: Likewise. + * gcc.dg/noncompile/920721-2.c: Likewise. + * gcc.dg/noncompile/930622-2.c: Likewise. + * gcc.dg/noncompile/940112-1.c: Likewise. + * gcc.dg/noncompile/950921-1.c: Likewise. + * gcc.dg/noncompile/951123-1.c: Likewise. + * gcc.dg/noncompile/971104-1.c: Likewise. + * gcc.dg/noncompile/990416-1.c: Likewise. + + 2003-01-22 Mark Mitchell + + PR c++/9328 + * g++.dg/ext/typeof3.C: New test. + + 2003-01-10 Josef Zlomek + + * gcc.c-torture/compile/20030110-1.c: New test. + + 2003-01-09 Eric Botcazou + + * gcc.dg/old-style-asm-1.c: New test. + + 2003-01-09 Eric Botcazou + + * 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 + + * gcc.c-torture/execute/20021219-1.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-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. + + 2002-12-10 Jakub Jelinek + + * 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. + + 2002-11-30 Mark Mitchell + + PR c++/8332 + 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. diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g++.dg/abi/dcast1.C gcc-3.2.2/gcc/testsuite/g++.dg/abi/dcast1.C *** gcc-3.2.1/gcc/testsuite/g++.dg/abi/dcast1.C Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/g++.dg/abi/dcast1.C Tue Jan 28 17:25:50 2003 *************** *** 0 **** --- 1,29 ---- + // { dg-do compile } + + // Copyright (C) 2003 Free Software Foundation, Inc. + // Contributed by Nathan Sidwell 28 Jan 2003 + + // PR 9433. segfault at runtime. + + struct A { virtual void f() {}; }; + struct B {int b;}; + struct C : A, B { virtual void f() {}; int c;}; + struct D : C {int d;}; + struct E : C {int e;}; + struct F : protected D, E {int f;}; + struct H : virtual F {int h;}; + struct I : H {int i;}; + struct J : H {int j;}; + struct K : I, J { virtual void f() {}; int k; }; + struct M : K {int m;}; + struct N : M {int n;}; + struct O : M {int o;}; + struct P : N, O { virtual void f() {}; int p;}; + + int main() + { + P obj; + A* a1 = (D *) (&obj); + H* hp = dynamic_cast(a1); + return hp != 0; + } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g++.dg/conversion/to-virtual-base-1.C gcc-3.2.2/gcc/testsuite/g++.dg/conversion/to-virtual-base-1.C *** gcc-3.2.1/gcc/testsuite/g++.dg/conversion/to-virtual-base-1.C Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/g++.dg/conversion/to-virtual-base-1.C Fri Dec 13 21:54:43 2002 *************** *** 0 **** --- 1,15 ---- + // Copyright (C) 2002 Free Software Foundation + // Contributed by Gabriel Dos Reis + + struct A { + virtual void f(const A* a) = 0; + }; + + struct B : virtual A { + virtual void f(const A* a); + }; + + void B::f(const A* a) + { + static_cast(*a); // { dg-error "" } + } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g++.dg/ext/max.C gcc-3.2.2/gcc/testsuite/g++.dg/ext/max.C *** gcc-3.2.1/gcc/testsuite/g++.dg/ext/max.C Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/g++.dg/ext/max.C Wed Feb 5 01:01:45 2003 *************** *** 0 **** --- 1,6 ---- + struct s_t { + }; + void foo(void) { + s_t s; int i; + s void f() {} } ! using N; // { dg-error "parse error" "" } using ::N; // { dg-error "using-declaration" "" } using N::f< 0 >; // { dg-error "using-declaration" "" } --- 25,31 ---- template void f() {} } ! using N; // { dg-error "(parse|syntax) error" "" } using ::N; // { dg-error "using-declaration" "" } using N::f< 0 >; // { dg-error "using-declaration" "" } *************** struct B : A { *** 41,46 **** struct C : A { using A::f; // { dg-error "using-declaration" "" } ! using A::X; // { dg-error "parse error" "" } }; --- 41,46 ---- struct C : A { using A::f; // { dg-error "using-declaration" "" } ! using A::X; // { dg-error "(parse|syntax) error" "" } }; diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g++.dg/parse/angle-bracket.C gcc-3.2.2/gcc/testsuite/g++.dg/parse/angle-bracket.C *** gcc-3.2.1/gcc/testsuite/g++.dg/parse/angle-bracket.C Tue Oct 9 15:44:25 2001 --- gcc-3.2.2/gcc/testsuite/g++.dg/parse/angle-bracket.C Fri Jan 31 11:11:32 2003 *************** *** 4,9 **** int main() { ! ( int() > int() ); // { dg-bogus "parse" "" { xfail *-*-* } } return 0; } --- 4,9 ---- int main() { ! ( int() > int() ); // { dg-bogus "parse|syntax" "" { xfail *-*-* } } return 0; } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g++.dg/parse/parameter-declaration-1.C gcc-3.2.2/gcc/testsuite/g++.dg/parse/parameter-declaration-1.C *** gcc-3.2.1/gcc/testsuite/g++.dg/parse/parameter-declaration-1.C Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/g++.dg/parse/parameter-declaration-1.C Tue Dec 10 11:40:26 2002 *************** *** 0 **** --- 1,6 ---- + // Contributed by Gabriel Dos Reis + // Origin: Robert Schiele; PR C++/8799 + // { dg-do compile } + + struct { + a(void = 0; a(0), a(0) // { dg-error "" "" { target *-*-* } 7 } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g++.dg/special/conpr-2.C gcc-3.2.2/gcc/testsuite/g++.dg/special/conpr-2.C *** gcc-3.2.1/gcc/testsuite/g++.dg/special/conpr-2.C Sun May 28 05:38:01 2000 --- gcc-3.2.2/gcc/testsuite/g++.dg/special/conpr-2.C Mon Dec 9 00:55:41 2002 *************** *** 1,4 **** ! /* { dg-do run } */ #include --- 1,5 ---- ! /* This doesn't work on solaris2 for reasons described in PR 6482. */ ! /* { dg-do run { xfail *-*-solaris2* } } */ #include diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g++.dg/special/ecos.exp gcc-3.2.2/gcc/testsuite/g++.dg/special/ecos.exp *** gcc-3.2.1/gcc/testsuite/g++.dg/special/ecos.exp Tue Jan 22 22:08:49 2002 --- gcc-3.2.2/gcc/testsuite/g++.dg/special/ecos.exp Mon Dec 9 00:55:41 2002 *************** if [string match "*init_priority*" $line *** 77,84 **** fail "conpr-3b.o" } else { # run it with objects both ways around! ! dg-runtest "$srcdir/$subdir/conpr-3.C" "conpr-3a.o conpr-3b.o" "" ! dg-runtest "$srcdir/$subdir/conpr-3.C" "conpr-3b.o conpr-3a.o" "" file delete conpr-3a.o conpr-3b.o } } --- 77,87 ---- fail "conpr-3b.o" } else { # run it with objects both ways around! ! # This doesn't work on solaris2 for reasons described in PR 6482. ! if { ![regexp ".*-solaris2.*" $target_triplet] } { ! dg-runtest "$srcdir/$subdir/conpr-3.C" "conpr-3a.o conpr-3b.o" "" ! dg-runtest "$srcdir/$subdir/conpr-3.C" "conpr-3b.o conpr-3a.o" "" ! } file delete conpr-3a.o conpr-3b.o } } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g++.dg/special/initp1.C gcc-3.2.2/gcc/testsuite/g++.dg/special/initp1.C *** gcc-3.2.1/gcc/testsuite/g++.dg/special/initp1.C Fri Aug 31 16:59:42 2001 --- gcc-3.2.2/gcc/testsuite/g++.dg/special/initp1.C Mon Dec 9 00:55:41 2002 *************** *** 1,4 **** ! /* { dg-do run } */ #include class Two { --- 1,5 ---- ! /* This doesn't work on solaris2 for reasons described in PR 6482. */ ! /* { dg-do run { xfail *-*-solaris2* } } */ #include class Two { diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g++.dg/template/char1.C gcc-3.2.2/gcc/testsuite/g++.dg/template/char1.C *** gcc-3.2.1/gcc/testsuite/g++.dg/template/char1.C Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/g++.dg/template/char1.C Tue Dec 3 06:53:11 2002 *************** *** 0 **** --- 1,4 ---- + template + class String {}; + + String s; diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g++.dg/template/dtor1.C gcc-3.2.2/gcc/testsuite/g++.dg/template/dtor1.C *** gcc-3.2.1/gcc/testsuite/g++.dg/template/dtor1.C Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/g++.dg/template/dtor1.C Tue Dec 10 22:32:42 2002 *************** *** 0 **** --- 1,8 ---- + struct A {}; + + template struct B + { + B() { A().A::~A(); } + }; + + B b; diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g++.dg/template/qualttp20.C gcc-3.2.2/gcc/testsuite/g++.dg/template/qualttp20.C *** gcc-3.2.1/gcc/testsuite/g++.dg/template/qualttp20.C Fri Feb 22 11:57:52 2002 --- gcc-3.2.2/gcc/testsuite/g++.dg/template/qualttp20.C Thu Dec 26 12:58:06 2002 *************** struct AS *** 16,33 **** template struct B1 : T { typedef typename T::L __restrict__ r;// { dg-error "`__restrict' qualifiers cannot" "" } ! typedef typename T::myT __restrict__ p;// { dg-warning "ignoring `__restrict'" "" } ! ! typedef typename T::myT volatile *myvolatile; // { dg-warning "ignoring `volatile'" "" } ! typename T::myT volatile *a; // { dg-warning "ignoring `volatile'" "" } ! myvolatile b; // { dg-bogus "ignoring `volatile'" "" { xfail *-*-* } } }; template struct B2 : T { ! typedef typename T::myT const *myconst; ! typename T::myT const *a; ! myconst b; }; B1 b1; // { dg-error "instantiated" "" } ! B2 b2; --- 16,35 ---- template struct B1 : T { typedef typename T::L __restrict__ r;// { dg-error "`__restrict' qualifiers cannot" "" } ! typedef typename T::myT __restrict__ p;// { dg-warning "ignoring `__restrict'" "" { xfail *-*-* } } ! ! // The following are DR 295 dependent ! typedef typename T::myT volatile *myvolatile; // { dg-error "qualifiers" "" } ! typename T::myT volatile *a; // { dg-error "qualifiers" "" } ! myvolatile b; // { dg-error "qualifiers" "" } }; template struct B2 : T { ! // The following are DR 295 dependent ! typedef typename T::myT const *myconst; // { dg-error "qualifiers" "" } ! typename T::myT const *a; // { dg-error "qualifiers" "" } ! myconst b; // { dg-error "qualifiers" "" } }; B1 b1; // { dg-error "instantiated" "" } ! B2 b2; // { dg-error "instantiated" "" } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g++.dg/template/static1.C gcc-3.2.2/gcc/testsuite/g++.dg/template/static1.C *** gcc-3.2.1/gcc/testsuite/g++.dg/template/static1.C Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/g++.dg/template/static1.C Tue Dec 10 07:16:05 2002 *************** *** 0 **** --- 1,4 ---- + template struct A + { + static const int t[1][1]={{0}}; // { dg-error "in-class" } + }; diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g++.dg/template/static2.C gcc-3.2.2/gcc/testsuite/g++.dg/template/static2.C *** gcc-3.2.1/gcc/testsuite/g++.dg/template/static2.C Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/g++.dg/template/static2.C Tue Dec 10 07:16:06 2002 *************** *** 0 **** --- 1,17 ---- + class A; + + template + class B + { + public: + static int A::* const p = P; // { dg-error "in-class" } + }; + + class A + { + public: + + int dummy; + + B<&A::dummy> d; + }; diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g++.dg/template/strlen1.C gcc-3.2.2/gcc/testsuite/g++.dg/template/strlen1.C *** gcc-3.2.1/gcc/testsuite/g++.dg/template/strlen1.C Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/g++.dg/template/strlen1.C Sun Dec 1 18:19:14 2002 *************** *** 0 **** --- 1,9 ---- + template + void monk2 (A1) {} + + unsigned int strlen (const char*); + + void monk () + { + monk2 (strlen ("")); + } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g++.dg/template/ttp3.C gcc-3.2.2/gcc/testsuite/g++.dg/template/ttp3.C *** gcc-3.2.1/gcc/testsuite/g++.dg/template/ttp3.C Wed Jan 2 12:44:44 2002 --- gcc-3.2.2/gcc/testsuite/g++.dg/template/ttp3.C Wed Dec 18 14:58:34 2002 *************** class OUTER { *** 14,20 **** template class List { }; ! vector data; // { dg-error "type/value mismatch|expected a type|ISO C" "" } }; template --- 14,20 ---- template class List { }; ! vector data; // { dg-error "argument is required|ISO C" "" } }; template diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g++.dg/template/type2.C gcc-3.2.2/gcc/testsuite/g++.dg/template/type2.C *** gcc-3.2.1/gcc/testsuite/g++.dg/template/type2.C Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/g++.dg/template/type2.C Wed Dec 18 14:58:35 2002 *************** *** 0 **** --- 1,16 ---- + // { dg-do compile } + // Origin: Juan Carlos Arevalo-Baeza + + // PR c++/8442 + // Type template parameter incorrectly treated as template template + // parameter. + + template struct A {}; + + template struct B + { + template struct C {}; + template A > foo(U); + }; + + B b; diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g++.dg/template/typename3.C gcc-3.2.2/gcc/testsuite/g++.dg/template/typename3.C *** gcc-3.2.1/gcc/testsuite/g++.dg/template/typename3.C Fri Oct 25 22:11:19 2002 --- gcc-3.2.2/gcc/testsuite/g++.dg/template/typename3.C Fri Jan 31 11:11:32 2003 *************** *** 3,7 **** template struct B { ! typedef A::C::D E; // { dg-error "no type|parse error" } }; --- 3,7 ---- template struct B { ! typedef A::C::D E; // { dg-error "no type|(parse|syntax) error" } }; diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g++.dg/template/varmod1.C gcc-3.2.2/gcc/testsuite/g++.dg/template/varmod1.C *** gcc-3.2.1/gcc/testsuite/g++.dg/template/varmod1.C Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/g++.dg/template/varmod1.C Mon Dec 9 00:54:17 2002 *************** *** 0 **** --- 1,10 ---- + // { dg-options "-w" } + + template void foo(T); + + void bar() + { + int i; + int A[i][i]; + foo(A); // { dg-error "" } + } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g++.old-deja/g++.ext/memconst.C gcc-3.2.2/gcc/testsuite/g++.old-deja/g++.ext/memconst.C *** gcc-3.2.1/gcc/testsuite/g++.old-deja/g++.ext/memconst.C Wed Dec 16 21:30:28 1998 --- gcc-3.2.2/gcc/testsuite/g++.old-deja/g++.ext/memconst.C Tue Dec 10 14:46:32 2002 *************** public: *** 12,18 **** class foo { private: ! static const unsigned char * const dummy_key = (unsigned char*)"ThisIs a dummy!"; public: void bar (); --- 12,18 ---- class foo { private: ! static const unsigned char * const dummy_key = (unsigned char*)"ThisIs a dummy!"; // ERROR - public: void bar (); *************** public: *** 21,25 **** void foo::bar () { ! qwerty QWERTY ((unsigned short*)dummy_key); } --- 21,25 ---- void foo::bar () { ! qwerty QWERTY ((unsigned short*)dummy_key); // ERROR - } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g++.old-deja/g++.jason/report.C gcc-3.2.2/gcc/testsuite/g++.old-deja/g++.jason/report.C *** gcc-3.2.1/gcc/testsuite/g++.old-deja/g++.jason/report.C Wed Mar 27 18:49:14 2002 --- gcc-3.2.2/gcc/testsuite/g++.old-deja/g++.jason/report.C Thu Dec 26 12:58:06 2002 *************** class X{ *** 46,53 **** }; typedef int const * bart (); ! typedef bart const * const * bar2; // ok - constifying qualifiers ! typedef bart volatile * const * bar2v; // WARNING - qualifiers bar2 baz (X::Y y) { // ERROR - in this context --- 46,54 ---- }; typedef int const * bart (); ! //The following is DR295 dependant ! typedef bart const * const * bar2; // ERROR - constifying qualifiers ! typedef bart volatile * const * bar2v; // ERROR - qualifiers bar2 baz (X::Y y) { // ERROR - in this context diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog gcc-3.2.2/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog *** gcc-3.2.1/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog Tue Nov 19 17:49:27 2002 --- gcc-3.2.2/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog Wed Feb 5 03:01:25 2003 *************** *** 1,3 **** --- 1,7 ---- + 2003-02-05 Release Manager + + * GCC 3.2.2 Released. + 2002-11-19 Release Manager * GCC 3.2.1 Released. diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g++.old-deja/g++.other/lookup24.C gcc-3.2.2/gcc/testsuite/g++.old-deja/g++.other/lookup24.C *** gcc-3.2.1/gcc/testsuite/g++.old-deja/g++.other/lookup24.C Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/g++.old-deja/g++.other/lookup24.C Tue Jan 28 03:21:09 2003 *************** *** 0 **** --- 1,25 ---- + // Build don't link: + // + // Copyright (C) 2003 Free Software Foundation, Inc. + // Contributed by Raymond . + // + // PR c++/47 The parser failed to resolve 'B' in the return type of + // A::C::D::foo. + + class A { + public: + class B; + class C; + }; + + class A::B { + }; + + class A::C { + class D; + }; + + class A::C::D { + public: + B* foo(); + }; diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g++.old-deja/g++.other/qual1.C gcc-3.2.2/gcc/testsuite/g++.old-deja/g++.other/qual1.C *** gcc-3.2.1/gcc/testsuite/g++.old-deja/g++.other/qual1.C Fri Feb 22 11:57:50 2002 --- gcc-3.2.2/gcc/testsuite/g++.old-deja/g++.other/qual1.C Thu Dec 26 12:58:06 2002 *************** class *** 10,17 **** { public: func_type *Function; ! const func_type* function(void) { return Function; } // ok constifying ! volatile func_type* functionv(void); // WARNING - qualifier } action; void work(const char *source) --- 10,18 ---- { public: func_type *Function; ! // The following is DR 295 dependent ! const func_type* function(void) { return Function; } // ERROR - constifying ! volatile func_type* functionv(void); // ERROR - qualifier } action; void work(const char *source) diff -Nrc3pad gcc-3.2.1/gcc/testsuite/g77.dg/pr9258.f gcc-3.2.2/gcc/testsuite/g77.dg/pr9258.f *** gcc-3.2.1/gcc/testsuite/g77.dg/pr9258.f Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/g77.dg/pr9258.f Sat Jan 25 14:42:49 2003 *************** *** 0 **** --- 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 diff -Nrc3pad gcc-3.2.1/gcc/testsuite/gcc.c-torture/compile/20021123-1.c gcc-3.2.2/gcc/testsuite/gcc.c-torture/compile/20021123-1.c *** gcc-3.2.1/gcc/testsuite/gcc.c-torture/compile/20021123-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/gcc.c-torture/compile/20021123-1.c Sat Nov 23 08:10:22 2002 *************** *** 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.1/gcc/testsuite/gcc.c-torture/compile/20021123-2.c gcc-3.2.2/gcc/testsuite/gcc.c-torture/compile/20021123-2.c *** gcc-3.2.1/gcc/testsuite/gcc.c-torture/compile/20021123-2.c Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/gcc.c-torture/compile/20021123-2.c Sat Nov 23 08:22:13 2002 *************** *** 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.1/gcc/testsuite/gcc.c-torture/compile/20021123-3.c gcc-3.2.2/gcc/testsuite/gcc.c-torture/compile/20021123-3.c *** gcc-3.2.1/gcc/testsuite/gcc.c-torture/compile/20021123-3.c Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/gcc.c-torture/compile/20021123-3.c Sat Nov 23 08:22:13 2002 *************** *** 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.1/gcc/testsuite/gcc.c-torture/compile/20021123-4.c gcc-3.2.2/gcc/testsuite/gcc.c-torture/compile/20021123-4.c *** gcc-3.2.1/gcc/testsuite/gcc.c-torture/compile/20021123-4.c Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/gcc.c-torture/compile/20021123-4.c Sat Nov 23 08:38:27 2002 *************** *** 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.1/gcc/testsuite/gcc.c-torture/compile/20021124-1.c gcc-3.2.2/gcc/testsuite/gcc.c-torture/compile/20021124-1.c *** gcc-3.2.1/gcc/testsuite/gcc.c-torture/compile/20021124-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/gcc.c-torture/compile/20021124-1.c Sun Nov 24 22:09:59 2002 *************** *** 0 **** --- 1,7 ---- + /* PR optimization/8275 */ + /* Contributed by Volker Reichelt. */ + + unsigned int foo (unsigned int u) + { + return (u >> 32) & 0xffff; + } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/gcc.c-torture/compile/20021204-1.c gcc-3.2.2/gcc/testsuite/gcc.c-torture/compile/20021204-1.c *** gcc-3.2.1/gcc/testsuite/gcc.c-torture/compile/20021204-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/gcc.c-torture/compile/20021204-1.c Wed Dec 4 20:31:43 2002 *************** *** 0 **** --- 1,16 ---- + /* PR c/7622 */ + + /* Verify that GCC can handle the mix of + extern inline and nested functions. */ + + extern inline int t() + { + int q() { return 0; } + + return q(); + } + + int foo() + { + return t(); + } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/gcc.c-torture/compile/20021205-1.c gcc-3.2.2/gcc/testsuite/gcc.c-torture/compile/20021205-1.c *** gcc-3.2.1/gcc/testsuite/gcc.c-torture/compile/20021205-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/gcc.c-torture/compile/20021205-1.c Sat Dec 14 00:56:36 2002 *************** *** 0 **** --- 1,11 ---- + /* dg-do compile */ + /* dg-options "-O3" */ + typedef struct x x; + extern void *baz(char *); + struct x { char * (*bar) (int); }; + static x **foo() { return ((x**)baz(0)); } + int xyzzy() + { + baz((*foo())->bar(0)); + return 3; + } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/gcc.c-torture/compile/20021212-1.c gcc-3.2.2/gcc/testsuite/gcc.c-torture/compile/20021212-1.c *** gcc-3.2.1/gcc/testsuite/gcc.c-torture/compile/20021212-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/gcc.c-torture/compile/20021212-1.c Thu Dec 12 11:21:41 2002 *************** *** 0 **** --- 1,15 ---- + /* PR optimization/8334 */ + /* Verify that GCC produces valid operands + after simplifying an addition. */ + + void foo(int m, int n, double *f) + { + int i, j, k = 1; + + for (j = 0; j < n; j++) { + for (i = k; i < m; i++) { + f[i] = (double) (i * j); + f[i + j] = (double) ((i + 1) * j); + } + } + } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/gcc.c-torture/compile/20030110-1.c gcc-3.2.2/gcc/testsuite/gcc.c-torture/compile/20030110-1.c *** gcc-3.2.1/gcc/testsuite/gcc.c-torture/compile/20030110-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/gcc.c-torture/compile/20030110-1.c Fri Jan 10 14:06:37 2003 *************** *** 0 **** --- 1,39 ---- + extern char bpp; + + void foo() + { + if (bpp == 32) + { + if (2 < 8) + { + do + { + while (inb(0x9ae8) & (0x0100 >> (2 +1))); + } + while(0); + } + else + { + do + { + while (inb(0x9ae8) & (0x0100 >> (2))); + } + while(0); + } + } + else + do + { + while (inb(0x9ae8) & (0x0100 >> (1))); + } + while(0); + if (8 < 8) + { + do + { + while (inb(0x9ae8) & (0x0100 >> (8 +1))); + } + while(0); + } + } + diff -Nrc3pad gcc-3.2.1/gcc/testsuite/gcc.c-torture/execute/20020805-1.c gcc-3.2.2/gcc/testsuite/gcc.c-torture/execute/20020805-1.c *** gcc-3.2.1/gcc/testsuite/gcc.c-torture/execute/20020805-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/gcc.c-torture/execute/20020805-1.c Wed Dec 4 19:28:27 2002 *************** *** 0 **** --- 1,21 ---- + /* This testcase was miscompiled on IA-32, because fold-const + assumed associate_trees is always done on PLUS_EXPR. */ + + extern void abort (void); + extern void exit (int); + + void check (unsigned int m) + { + if (m != (unsigned int) -1) + abort (); + } + + unsigned int n = 1; + + int main (void) + { + unsigned int m; + m = (1 | (2 - n)) | (-n); + check (m); + exit (0); + } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/gcc.c-torture/execute/20021118-3.c gcc-3.2.2/gcc/testsuite/gcc.c-torture/execute/20021118-3.c *** gcc-3.2.1/gcc/testsuite/gcc.c-torture/execute/20021118-3.c Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/gcc.c-torture/execute/20021118-3.c Tue Dec 17 13:52:11 2002 *************** *** 0 **** --- 1,18 ---- + extern void abort (void); + extern void exit (int); + + int + foo (int x) + { + if (x == -2 || -x - 100 >= 0) + abort (); + return 0; + } + + int + main () + { + foo (-3); + foo (-99); + exit (0); + } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/gcc.c-torture/execute/20021219-1.c gcc-3.2.2/gcc/testsuite/gcc.c-torture/execute/20021219-1.c *** gcc-3.2.1/gcc/testsuite/gcc.c-torture/execute/20021219-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/gcc.c-torture/execute/20021219-1.c Thu Dec 19 20:27:56 2002 *************** *** 0 **** --- 1,18 ---- + /* PR optimization/8988 */ + /* Contributed by Kevin Easton */ + + void foo(char *p1, char **p2) + {} + + int main(void) + { + char str[] = "foo { xx }"; + char *ptr = str + 5; + + foo(ptr, &ptr); + + while (*ptr && (*ptr == 13 || *ptr == 32)) + ptr++; + + return 0; + } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/gcc.c-torture/execute/20030109-1.c gcc-3.2.2/gcc/testsuite/gcc.c-torture/execute/20030109-1.c *** gcc-3.2.1/gcc/testsuite/gcc.c-torture/execute/20030109-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/gcc.c-torture/execute/20030109-1.c Thu Jan 9 09:33:04 2003 *************** *** 0 **** --- 1,20 ---- + /* PR c/8032 */ + /* Verify that an empty initializer inside a partial + parent initializer doesn't confuse GCC. */ + + struct X + { + int a; + int b; + int z[]; + }; + + struct X x = { .b = 40, .z = {} }; + + int main () + { + if (x.b != 40) + abort (); + + return 0; + } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/gcc.c-torture/execute/loop-2e.x gcc-3.2.2/gcc/testsuite/gcc.c-torture/execute/loop-2e.x *** gcc-3.2.1/gcc/testsuite/gcc.c-torture/execute/loop-2e.x Thu Sep 27 19:32:24 2001 --- gcc-3.2.2/gcc/testsuite/gcc.c-torture/execute/loop-2e.x Sun Nov 24 22:06:04 2002 *************** if { [istarget "m68k-motorola-sysv"] || *** 6,17 **** set torture_compile_xfail "$target_triplet" } ! if { [istarget "i686-*"] } { set torture_eval_before_execute { global compiler_conditional_xfail_data set compiler_conditional_xfail_data { "Loop optimiser bug" \ ! "i686-*" \ { "-Os" } \ { "" } } --- 6,17 ---- set torture_compile_xfail "$target_triplet" } ! 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" } \ { "" } } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/gcc.c-torture/execute/loop-3c.x gcc-3.2.2/gcc/testsuite/gcc.c-torture/execute/loop-3c.x *** gcc-3.2.1/gcc/testsuite/gcc.c-torture/execute/loop-3c.x Thu Sep 27 19:32:24 2001 --- gcc-3.2.2/gcc/testsuite/gcc.c-torture/execute/loop-3c.x Sun Nov 24 22:06:04 2002 *************** *** 1,9 **** ! if { [istarget "i686-*"] } { set torture_eval_before_execute { global compiler_conditional_xfail_data set compiler_conditional_xfail_data { "Loop optimiser bug" \ ! "i686-*" \ { "-Os" } \ { "" } } --- 1,9 ---- ! 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" } \ { "" } } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/gcc.dg/c90-restrict-1.c gcc-3.2.2/gcc/testsuite/gcc.dg/c90-restrict-1.c *** gcc-3.2.1/gcc/testsuite/gcc.dg/c90-restrict-1.c Mon Jul 17 08:25:51 2000 --- gcc-3.2.2/gcc/testsuite/gcc.dg/c90-restrict-1.c Sat Jan 25 15:36:33 2003 *************** *** 4,7 **** /* { dg-options "-std=iso9899:1990 -pedantic-errors" } */ char *restrict foo; /* { dg-bogus "warning" "warning in place of error" } */ ! /* { dg-error "parse error|no type" "restrict not in C90" { target *-*-* } 6 } */ --- 4,7 ---- /* { dg-options "-std=iso9899:1990 -pedantic-errors" } */ char *restrict foo; /* { dg-bogus "warning" "warning in place of error" } */ ! /* { dg-error "(parse|syntax) error|no type" "restrict not in C90" { target *-*-* } 6 } */ diff -Nrc3pad gcc-3.2.1/gcc/testsuite/gcc.dg/c99-func-2.c gcc-3.2.2/gcc/testsuite/gcc.dg/c99-func-2.c *** gcc-3.2.1/gcc/testsuite/gcc.dg/c99-func-2.c Tue Apr 24 08:22:06 2001 --- gcc-3.2.2/gcc/testsuite/gcc.dg/c99-func-2.c Sat Jan 25 15:36:33 2003 *************** *** 6,10 **** void foo (void) { ! __func__ "foo"; /* { dg-error "parse error" "before string constant" } */ } --- 6,10 ---- void foo (void) { ! __func__ "foo"; /* { dg-error "(parse|syntax) error" "before string constant" } */ } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/gcc.dg/cpp/19990413-1.c gcc-3.2.2/gcc/testsuite/gcc.dg/cpp/19990413-1.c *** gcc-3.2.1/gcc/testsuite/gcc.dg/cpp/19990413-1.c Tue Jun 27 22:26:11 2000 --- gcc-3.2.2/gcc/testsuite/gcc.dg/cpp/19990413-1.c Sat Jan 25 15:36:32 2003 *************** func(void) *** 9,13 **** { FOO(i = 4) ! else; /* { dg-error "parse error" "error on this line" { target *-*-* } { 12 } } */ } --- 9,13 ---- { FOO(i = 4) ! else; /* { dg-error "(parse|syntax) error" "error on this line" { target *-*-* } { 12 } } */ } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/gcc.dg/cpp/_Pragma5.c gcc-3.2.2/gcc/testsuite/gcc.dg/cpp/_Pragma5.c *** gcc-3.2.1/gcc/testsuite/gcc.dg/cpp/_Pragma5.c Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/gcc.dg/cpp/_Pragma5.c Tue Nov 26 20:40:46 2002 *************** *** 0 **** --- 1,14 ---- + /* { dg-do preprocess } */ + + /* Based on Debian GNATS PR 8524. 17 Nov 2002. */ + + #define ALPHA(A) alpha_ ## A + #define BETA(B) beta_ ## B + #define GAMMA(C) _Pragma("moose") ALPHA(C) BETA(C) + GAMMA(baz); + + /* + { dg-final { if ![file exists _Pragma5.i] { return } } } + { dg-final { if { [grep _Pragma5.i "alpha_baz beta_baz;"] != "" } { return } } } + { dg-final { fail "_Pragma5.c: _Pragma in macro" } } + */ diff -Nrc3pad gcc-3.2.1/gcc/testsuite/gcc.dg/cpp/assert_trad2.c gcc-3.2.2/gcc/testsuite/gcc.dg/cpp/assert_trad2.c *** gcc-3.2.1/gcc/testsuite/gcc.dg/cpp/assert_trad2.c Mon Dec 4 22:06:41 2000 --- gcc-3.2.2/gcc/testsuite/gcc.dg/cpp/assert_trad2.c Fri Jan 31 11:11:32 2003 *************** *** 11,24 **** #endif #if #% /* { dg-error "an identifier" "test punctuation" } */ ! #endif /* { dg-error "parse error" "" { target *-*-* } 13 } */ #if #12 /* { dg-error "an identifier" "test number" } */ ! #endif /* { dg-error "parse error" "" { target *-*-* } 16 } */ #if #abc #error /* { dg-bogus "error" "test w/o answer" } */ #endif ! #if #abc[def] /* { dg-error "parse error" "bad syntax" } */ #endif --- 11,24 ---- #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 diff -Nrc3pad gcc-3.2.1/gcc/testsuite/gcc.dg/cpp/digraph2.c gcc-3.2.2/gcc/testsuite/gcc.dg/cpp/digraph2.c *** gcc-3.2.1/gcc/testsuite/gcc.dg/cpp/digraph2.c Thu Jul 13 10:12:08 2000 --- gcc-3.2.2/gcc/testsuite/gcc.dg/cpp/digraph2.c Sat Jan 25 15:36:32 2003 *************** *** 9,15 **** int main (int argc, char *argv[]) { return 0; ! %> /* { dg-error "parse error" } */ /* Place this after main () so we get to test both the compiler above and the preprocessor below. */ --- 9,15 ---- int main (int argc, char *argv[]) { return 0; ! %> /* { dg-error "(parse|syntax) error" } */ /* Place this after main () so we get to test both the compiler above and the preprocessor below. */ diff -Nrc3pad gcc-3.2.1/gcc/testsuite/gcc.dg/cpp/direct2.c gcc-3.2.2/gcc/testsuite/gcc.dg/cpp/direct2.c *** gcc-3.2.1/gcc/testsuite/gcc.dg/cpp/direct2.c Thu May 10 00:07:23 2001 --- gcc-3.2.2/gcc/testsuite/gcc.dg/cpp/direct2.c Sat Jan 25 15:36:32 2003 *************** void f () *** 33,37 **** #define slashstar /##* #define starslash *##/ ! slashstar starslash /* { dg-error "parse error" "not a comment" } */ /* { dg-warning "does not give" "paste warning(s)" { target *-*-* } 36 } */ --- 33,37 ---- #define slashstar /##* #define starslash *##/ ! slashstar starslash /* { dg-error "(parse|syntax) error" "not a comment" } */ /* { dg-warning "does not give" "paste warning(s)" { target *-*-* } 36 } */ diff -Nrc3pad gcc-3.2.1/gcc/testsuite/gcc.dg/cpp/direct2s.c gcc-3.2.2/gcc/testsuite/gcc.dg/cpp/direct2s.c *** gcc-3.2.1/gcc/testsuite/gcc.dg/cpp/direct2s.c Thu May 10 00:07:23 2001 --- gcc-3.2.2/gcc/testsuite/gcc.dg/cpp/direct2s.c Fri Jan 31 11:11:32 2003 *************** void f () *** 35,39 **** #define slashstar /##* #define starslash *##/ ! slashstar starslash /* { dg-error "parse error" "not a comment" } */ /* { dg-warning "does not give" "paste warning(s)" { target *-*-* } 38 } */ --- 35,39 ---- #define slashstar /##* #define starslash *##/ ! slashstar starslash /* { dg-error "(parse|syntax) error" "not a comment" } */ /* { dg-warning "does not give" "paste warning(s)" { target *-*-* } 38 } */ diff -Nrc3pad gcc-3.2.1/gcc/testsuite/gcc.dg/cpp/paste4.c gcc-3.2.2/gcc/testsuite/gcc.dg/cpp/paste4.c *** gcc-3.2.1/gcc/testsuite/gcc.dg/cpp/paste4.c Wed Jan 31 07:50:11 2001 --- gcc-3.2.2/gcc/testsuite/gcc.dg/cpp/paste4.c Sat Jan 25 15:36:32 2003 *************** *** 11,16 **** int main () { ! double d = glue (1.0e, +1); /* { dg-error "floating const|parse error" } */ return 0; } --- 11,16 ---- int main () { ! double d = glue (1.0e, +1); /* { dg-error "floating const|(parse|syntax) error" } */ return 0; } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/gcc.dg/i386-unroll-1.c gcc-3.2.2/gcc/testsuite/gcc.dg/i386-unroll-1.c *** gcc-3.2.1/gcc/testsuite/gcc.dg/i386-unroll-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/gcc.dg/i386-unroll-1.c Fri Nov 22 21:24:25 2002 *************** *** 0 **** --- 1,17 ---- + /* PR optimization/8599 */ + /* { dg-do run { target i?86-*-* } } */ + /* { dg-options "-mcpu=k6 -O2 -funroll-loops" } */ + + extern void exit (int); + + void *array[4]; + + int main () + { + int i; + + for (i = 0; i < 4; i++) + array[i] = 0; + + exit (0); + } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/gcc.dg/noncompile/920721-2.c gcc-3.2.2/gcc/testsuite/gcc.dg/noncompile/920721-2.c *** gcc-3.2.1/gcc/testsuite/gcc.dg/noncompile/920721-2.c Thu Feb 7 09:08:24 2002 --- gcc-3.2.2/gcc/testsuite/gcc.dg/noncompile/920721-2.c Sat Jan 25 15:36:33 2003 *************** void f(int n) *** 2,6 **** { int s; for(s=0;s + and Gerald Pfeifer. + + Copyright (C) 2003 Free Software Foundation */ + + /* { dg-do run } */ + + #include + + int main () + { + div_t d = div (20, 5); + if ((d.quot != 4) || (d.rem)) + abort (); + exit (0); + } diff -Nrc3pad gcc-3.2.1/gcc/testsuite/gcc.dg/unroll-1.c gcc-3.2.2/gcc/testsuite/gcc.dg/unroll-1.c *** gcc-3.2.1/gcc/testsuite/gcc.dg/unroll-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.2.2/gcc/testsuite/gcc.dg/unroll-1.c Sat Dec 21 20:25:44 2002 *************** *** 0 **** --- 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; + }