diff -Nrc3pad gcc-3.3.2/gcc/testsuite/ChangeLog gcc-3.3.3/gcc/testsuite/ChangeLog *** gcc-3.3.2/gcc/testsuite/ChangeLog Thu Oct 16 19:44:17 2003 --- gcc-3.3.3/gcc/testsuite/ChangeLog Sat Feb 14 20:19:09 2004 *************** *** 1,3 **** --- 1,290 ---- + 2004-02-14 Release Manager + + * GCC 3.3.3 Released. + + 2004-02-05 Giovanni Bajo + + PR c++/13086 + * g++.dg/warn/incomplete1.C: Remove xfail. + + 2004-02-03 Zack Weinberg + + * g++.dg/eh/forced1.C, g++.dg/eh/forced2.C, g++.dg/eh/forced3.C + * g++.dg/eh/forced4.C: XFAIL ia64-hp-hpux11.*. + * g++.dg/eh/ia64-1.C: Test branch regs only #ifdef __LP64__. + * gcc.dg/cleanup-5.c: Run only on Linux targets. + + 2004-01-30 Giovanni Bajo + + PR c++/13683 + * g++.dg/template/sizeof6.C: New test. + + 2004-01-25 Kriang Lerdsuwanakij + + PR c++/13797 + * g++.dg/template/nontype4.C: New test. + * g++.dg/template/nontype5.C: Likewise. + + PR c++/10555, c++/10576 + * g++.dg/template/memclass1.C: New test. + + 2004-01-11 Jakub Jelinek + + PR middle-end/13392 + * g++.dg/opt/expect2.C: New test. + + 2004-01-02 Matthias Klose + + Backport from mainline: + 2003-12-28 Mark Mitchell + + PR c++/13081 + * g++.dg/opt/inline6.C: New test. + + 2004-01-01 Jakub Jelinek + + PR optimization/13521 + * gcc.c-torture/compile/20031231-1.c: New test. + + 2003-12-31 Roger Sayle + + PR fortran/12632 + * g77.dg/12632.f: New test case. + + 2003-12-29 Nathan Sidwell + + PR c++/13445 + * g++.dg/template/scope2.C: New test. + + 2003-12-28 Roger Sayle + + PR c++/13070 + * g++.dg/warn/format3.C: New test case. + + 2003-12-27 Giovanni Bajo + + Backport from mainline: + 2003-11-14 Giovanni Bajo + + PR c++/2294 + * g++.dg/lookup/using9.C: New test. + + 2003-12-23 Eric Botcazou + + * gcc.dg/noreturn-7.c: New test. + + 2003-12-23 Eric Botcazou + + * gcc.dg/null-pointer-1.c: New test. + + 2003-12-22 Andrew Pinski + + PR c++/5050 + * g++.dg/template/recurse1.C: New test. + + 2003-12-21 Mark Mitchell + + PR c++/11554 + * testsuite/g++.dg/warn/ctor-init-1.C: New test. + + 2003-12-21 Roger Sayle + + PR middle-end/13400 + * gcc.c-torture/execute/20031215-1.c: New test case. + + 2003-12-20 Roger Sayle + + PR optimization/13031 + * gcc.c-torture/compile/20031220-1.c: New test case. + + 2003-12-19 Jakub Jelinek + + PR c++/13239 + * g++.dg/opt/expect1.C: New test. + + 2003-12-18 Kriang Lerdsuwanakij + + PR c++/13262 + * g++.dg/template/access13.C: New test. + + 2003-12-16 Zack Weinberg + + * gcc.c-torture/compile/981223-1.x: Add -mb-step to command line + options on ia64-*-* instead of XFAILing the test case. + + 2003-12-16 Hartmut Penner + + * testsuite/gcc.dg/altivec-10.c: Test vec_cmple and vec_all_numeric. + + 2003-12-12 Roger Sayle + + PR optimization/13037 + * g77.f-torture/execute/13037.f: New test case. + + 2003-12-12 Jakub Jelinek + + * g++.dg/eh/ia64-1.C: New test. + + 2003-12-12 Hans-Peter Nilsson + + PR target/13256 + PR target/12598 + Backport from mainline: + * gcc.dg/torture/dg-torture.exp: New directory. New file. + * gcc.dg/torture/cris-volatile-1.c: New test. + * gcc.c-torture/execute/20031201-1.c: New test. + + 2003-12-12 Nathanael Nerode + + * gcc.dg/cpp/trad/xwin1.c: Remove, breaks testsuite (and I don't + know how to make it work). + + 2003-12-11 Eric Botcazou + + Backport from mainline: + + 2003-12-07 Wolfgang Bangerth + + * gcc.dg/overflow-1.c: New test. + + 2003-12-11 Eric Botcazou + + Backport from mainline: + + 2003-12-07 Eric Botcazou + + * g77.f-torture/compile/13060.f: New test. + + 2003-12-11 Eric Botcazou + + Backport from mainline: + + 2003-12-07 Falk Hueffner + + * g++.dg/opt/noreturn-1.C: New test. + + 2003-12-10 Robert Schiele + + PR other/10819 + * lib/gcc.exp (default_gcc_version): Do not match NL/CR characters + to fix Bug 10819. + * lib/g++.exp (g++_version): Likewise. + * lib/g77.exp (g77_version): Likewise. + * lib/objc.exp (default_objc_version): Likewise. + + 2003-12-10 Nathanael Nerode + + Backport from mainline: + * gcc.dg/cpp/trad/xwin1.c: New test case. + + 2003-12-10 Eric Botcazou + + Backport from mainline: + + 2003-11-05 Eric Botcazou + + * gcc.dg/uninit-C.c: XFAIL on non 64-bit Solaris versions. + + 2003-12-06 Mark Mitchell + + PR c++/13323 + * g++.dg/inherit/operator2.C: New test. + + 2003-12-05 Stuart Menefy + J"orn Rennecke + + PR target/13302 + * g++.dg/other/struct-va_list.C: New test. + + 2003-12-03 Jakub Jelinek + + * gcc.dg/20031202-1.c: New test. + + 2003-12-03 Josef Zlomek + + Backport from mainline + + 2003-10-31 Josef Zlomek + + PR/10239 + * gcc.c-torture/compile/20031031-2.c: New test. + + 2003-10-31 Josef Zlomek + + PR/11640 + * gcc.c-torture/compile/20031031-1.c: New test. + + 2003-12-01 Roger Sayle + + PR optimization/11634 + * gcc.dg/20031201-2.c: New test case. + + 2003-12-01 Zack Weinberg + + PR 11433 + * objc.dg/proto-lossage-3.m: New test. + + 2003-12-01 Eric Botcazou + + Backport from mainline: + + 2003-11-27 Eric Botcazou + + * g++.dg/opt/reg-stack4.C: New test. + + 2003-11-14 Bernardo Innocenti + + Backport from 3.4-branch + + 2003-06-25 Giovanni Bajo + + PR c++/2094 + * g++.dg/template/ptrmem6.C: New test. + + 2003-11-13 Eric Botcazou + + * g++.dg/opt/const3.C: New test. + + 2003-11-10 Waldek Hebisch + + * gcc.dg/trampoline-1.c: New test. + + 2003-11-08 Roger Sayle + + Backport from mainline + PR optimization/10467, PR optimization/11741 + * gcc.dg/20030926-1.c: New test case. + * gcc.dg/20031108-1.c: New test case. + + 2003-11-08 Bernardo Innocenti + + Backport from 3.4-branch + + 2003-10-08 Giovanni Bajo + + * g++.dg/parse/error7.C: New test. + + 2003-11-04 H.J. Lu + + Backport from 3.4-branch + 2003-04-25 H.J. Lu + + * gcc.dg/ia64-sync-4.c: New test. + + 2003-10-28 Franz Sirl + + PR libgcj/10610 + * gcc.dg/ppc-stackalign-1.c: New test. + + 2003-10-28 Falk Hueffner + + PR target/12654 + * gcc.c-torture/execute/20031020-1.c: New test. + + 2003-10-25 Eric Botcazou + + * g++.dg/opt/reg-stack3.C: New test. + 2003-10-16 Release Manager * GCC 3.3.2 Released. *************** *** 42,48 **** PR c++/12337 * g++.dg/init/new9.C: New test. ! PR c++/12334, c++/12236, c++/8656 * g++.dg/ext/attrib8.C: New test. --- 329,335 ---- PR c++/12337 * g++.dg/init/new9.C: New test. ! PR c++/12334, c++/12236, c++/8656 * g++.dg/ext/attrib8.C: New test. *************** *** 73,79 **** PR c++/12486 * g++.dg/inherit/error1.C: New test. ! 2003-10-02 Alexandre Oliva * g++.dg/parse/parameter-declaration-1.C: Fix line number of --- 360,366 ---- PR c++/12486 * g++.dg/inherit/error1.C: New test. ! 2003-10-02 Alexandre Oliva * g++.dg/parse/parameter-declaration-1.C: Fix line number of *************** *** 206,212 **** Revert this patch: * g++.dg/abi/layout4.C: New test. ! 2003-09-03 Mark Mitchell PR c++/12053 --- 493,499 ---- Revert this patch: * g++.dg/abi/layout4.C: New test. ! 2003-09-03 Mark Mitchell PR c++/12053 *************** *** 316,322 **** 2003-07-21 Eric Botcazou ! PR optimization/11536 * gcc.dg/20030721-1.c: New test. 2003-07-19 Mark Mitchell --- 603,609 ---- 2003-07-21 Eric Botcazou ! PR optimization/11536 * gcc.dg/20030721-1.c: New test. 2003-07-19 Mark Mitchell *************** *** 419,425 **** * g++.dg/opt/strength-reduce.C: New test. 2003-07-07 Richard Kenner ! Eric Botcazou * g++.dg/opt/stack1.C: New test. --- 706,712 ---- * g++.dg/opt/strength-reduce.C: New test. 2003-07-07 Richard Kenner ! Eric Botcazou * g++.dg/opt/stack1.C: New test. *************** *** 453,459 **** 2003-06-30 Giovanni Bajo ! * g++.dg/other/error5.C: Change line number of expected error. 2003-07-01 Mark Mitchell --- 740,746 ---- 2003-06-30 Giovanni Bajo ! * g++.dg/other/error5.C: Change line number of expected error. 2003-07-01 Mark Mitchell *************** *** 470,481 **** 2003-06-30 Giovanni Bajo ! * g++.dg/other/error6.C: New test. 2003-06-30 Giovanni Bajo ! PR c++/11106 ! * g++.dg/other/error5.C: New test. 2003-06-27 Mark Mitchell --- 757,768 ---- 2003-06-30 Giovanni Bajo ! * g++.dg/other/error6.C: New test. 2003-06-30 Giovanni Bajo ! PR c++/11106 ! * g++.dg/other/error5.C: New test. 2003-06-27 Mark Mitchell *************** *** 503,509 **** * g++.dg/abi/mangle4.C: Correct base-specifier access. * g++.dg/lookup/scoped1.C: Remove XFAIL. * g++.old-deja/g++.martin/pmf1.C: Correct base-specifier access. ! PR c++/10931 * g++.dg/expr/static_cast1.C: New test. --- 790,796 ---- * g++.dg/abi/mangle4.C: Correct base-specifier access. * g++.dg/lookup/scoped1.C: Remove XFAIL. * g++.old-deja/g++.martin/pmf1.C: Correct base-specifier access. ! PR c++/10931 * g++.dg/expr/static_cast1.C: New test. *************** *** 539,545 **** 2003-06-20 Mark Mitchell PR c++/10888 ! * g++.dg/warn/Winline-2.C: New test. PR c++/10845 * g++.dg/template/member3.C: New test. --- 826,832 ---- 2003-06-20 Mark Mitchell PR c++/10888 ! * g++.dg/warn/Winline-2.C: New test. PR c++/10845 * g++.dg/template/member3.C: New test. *************** *** 565,573 **** * g++.dg/anew2.C: New test. * g++.dg/anew3.C: New test. * g++.dg/anew4.C: New test. ! 2003-06-19 Loren James Rittle ! * gcc.dg/cpp/redef3.c: New file. 2003-06-17 Mark Mitchell --- 852,860 ---- * g++.dg/anew2.C: New test. * g++.dg/anew3.C: New test. * g++.dg/anew4.C: New test. ! 2003-06-19 Loren James Rittle ! * gcc.dg/cpp/redef3.c: New file. 2003-06-17 Mark Mitchell *************** *** 598,609 **** 2003-06-10 Richard Henderson ! * gcc.dg/asm-7.c: Adjust expected warning text. 2003-06-08 Richard Henderson ! * gcc.dg/20011029-2.c: Fix the array reference. ! * gcc.dg/asm-7.c: New. 2003-06-08 Kriang Lerdsuwanakij --- 885,896 ---- 2003-06-10 Richard Henderson ! * gcc.dg/asm-7.c: Adjust expected warning text. 2003-06-08 Richard Henderson ! * gcc.dg/20011029-2.c: Fix the array reference. ! * gcc.dg/asm-7.c: New. 2003-06-08 Kriang Lerdsuwanakij *************** *** 650,656 **** * g++.dg/template/access10.C: New test. 2003-05-24 Eric Botcazou ! Kaveh R. Ghazi * gcc.c-torture/compile/simd-5.x: XFAIL on SPARC64. --- 937,943 ---- * g++.dg/template/access10.C: New test. 2003-05-24 Eric Botcazou ! Kaveh R. Ghazi * gcc.c-torture/compile/simd-5.x: XFAIL on SPARC64. *************** *** 687,696 **** * 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 --- 974,983 ---- * 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 diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/eh/forced1.C gcc-3.3.3/gcc/testsuite/g++.dg/eh/forced1.C *** gcc-3.3.2/gcc/testsuite/g++.dg/eh/forced1.C Fri May 2 21:01:24 2003 --- gcc-3.3.3/gcc/testsuite/g++.dg/eh/forced1.C Tue Feb 3 08:20:15 2004 *************** *** 1,4 **** ! // { dg-do run } // Test that forced unwinding runs all cleanups. Also tests that // rethrowing doesn't call the exception object destructor. --- 1,5 ---- ! // HP-UX libunwind.so doesn't provide _Unwind_ForcedUnwind. ! // { dg-do run { xfail "ia64-hp-hpux11.*" } } // Test that forced unwinding runs all cleanups. Also tests that // rethrowing doesn't call the exception object destructor. diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/eh/forced2.C gcc-3.3.3/gcc/testsuite/g++.dg/eh/forced2.C *** gcc-3.3.2/gcc/testsuite/g++.dg/eh/forced2.C Fri May 2 21:01:24 2003 --- gcc-3.3.3/gcc/testsuite/g++.dg/eh/forced2.C Tue Feb 3 08:20:15 2004 *************** *** 1,4 **** ! // { dg-do run } // Test that leaving the catch block without rethrowing // does call the exception object destructor. --- 1,5 ---- ! // HP-UX libunwind.so doesn't provide _Unwind_ForcedUnwind. ! // { dg-do run { xfail "ia64-hp-hpux11.*" } } // Test that leaving the catch block without rethrowing // does call the exception object destructor. diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/eh/forced3.C gcc-3.3.3/gcc/testsuite/g++.dg/eh/forced3.C *** gcc-3.3.2/gcc/testsuite/g++.dg/eh/forced3.C Fri May 2 21:01:24 2003 --- gcc-3.3.3/gcc/testsuite/g++.dg/eh/forced3.C Tue Feb 3 08:20:15 2004 *************** *** 1,4 **** ! // { dg-do run } // Test that forced unwinding calls std::unexpected going // throw a nothrow function. --- 1,5 ---- ! // HP-UX libunwind.so doesn't provide _Unwind_ForcedUnwind. ! // { dg-do run { xfail "ia64-hp-hpux11.*" } } // Test that forced unwinding calls std::unexpected going // throw a nothrow function. diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/eh/forced4.C gcc-3.3.3/gcc/testsuite/g++.dg/eh/forced4.C *** gcc-3.3.2/gcc/testsuite/g++.dg/eh/forced4.C Fri May 2 21:01:25 2003 --- gcc-3.3.3/gcc/testsuite/g++.dg/eh/forced4.C Tue Feb 3 08:20:15 2004 *************** *** 1,4 **** ! // { dg-do run } // Test that forced unwinding does not call std::unexpected going // throw a function with a non-empty exception spec. --- 1,5 ---- ! // HP-UX libunwind.so doesn't provide _Unwind_ForcedUnwind. ! // { dg-do run { xfail "ia64-hp-hpux11.*" } } // Test that forced unwinding does not call std::unexpected going // throw a function with a non-empty exception spec. diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/eh/ia64-1.C gcc-3.3.3/gcc/testsuite/g++.dg/eh/ia64-1.C *** gcc-3.3.2/gcc/testsuite/g++.dg/eh/ia64-1.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/eh/ia64-1.C Tue Feb 3 08:20:15 2004 *************** *** 0 **** --- 1,59 ---- + // Test whether call saved float and branch regs are restored properly + // We can't do this test for branch regs in ILP32 mode. + // { dg-do run { target ia64-*-* } } + // { dg-options "-O2" } + + extern "C" void abort (void); + + #ifdef __LP64__ + char buf[128]; + #endif + + void __attribute__((noinline)) + bar (void) + { + throw 1; + } + + void __attribute__((noinline)) + foo (void) + { + bar (); + bar (); + } + + int + main (void) + { + register double f2 __asm ("f2"); + register double f3 __asm ("f3"); + register double f4 __asm ("f4"); + register double f5 __asm ("f5"); + register double f16 __asm ("f16"); + register double f17 __asm ("f17"); + #ifdef __LP64__ + register void *b1 __asm ("b1"); + register void *b2 __asm ("b2"); + register void *b3 __asm ("b3"); + register void *b4 __asm ("b4"); + register void *b5 __asm ("b5"); + #endif + f2 = 12.0; f3 = 13.0; f4 = 14.0; f5 = 15.0; f16 = 16.0; f17 = 17.0; + #ifdef __LP64__ + b1 = &buf[1]; b2 = &buf[2]; b3 = &buf[3]; b4 = &buf[4]; b5 = &buf[5]; + #endif + try + { + foo (); + } + catch (...) {} + if (f2 != 12.0 || f3 != 13.0 || f4 != 14.0 + || f5 != 15.0 || f16 != 16.0 || f17 != 17.0) + abort (); + #ifdef __LP64__ + if (b1 != &buf[1] || b2 != &buf[2] || b3 != &buf[3] + || b4 != &buf[4] || b5 != &buf[5]) + abort (); + #endif + return 0; + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/ext/array1.C gcc-3.3.3/gcc/testsuite/g++.dg/ext/array1.C *** gcc-3.3.2/gcc/testsuite/g++.dg/ext/array1.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/ext/array1.C Wed Jan 21 08:06:38 2004 *************** *** 0 **** --- 1,14 ---- + // PR c++/13574 + // { dg-options "" } + + class A { + public: + A() : argc(0), argv() { }; + private: + int argc; + char* argv[]; + }; + + int main() { + A y; + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/inherit/operator2.C gcc-3.3.3/gcc/testsuite/g++.dg/inherit/operator2.C *** gcc-3.3.2/gcc/testsuite/g++.dg/inherit/operator2.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/inherit/operator2.C Sat Dec 6 22:19:30 2003 *************** *** 0 **** --- 1,22 ---- + typedef int INT_TYPEDEF; + + template + class TypedIfc + { + public: + virtual ~TypedIfc() { } + virtual operator const T&() const = 0; + virtual const T& operator= (const T& t) = 0; + }; + + template + class NullIfc : public TypedIfc + { + public: + const Tnative& operator= (const Tnative& t) { return t; } + operator const Tnative&() const { return *(Tnative *)0; } + }; + + typedef TypedIfc INT_TYPEDEFIfc; + + NullIfc i32; diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/init/array10.C gcc-3.3.3/gcc/testsuite/g++.dg/init/array10.C *** gcc-3.3.2/gcc/testsuite/g++.dg/init/array10.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/init/array10.C Fri Jan 30 00:41:08 2004 *************** *** 0 **** --- 1,6 ---- + // { dg-do compile } + // { dg-options "" } + + typedef int __attribute__((mode(V2SI))) vec; + + vec foo[] = { (vec) {1, 2} }; diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/init/assign1.C gcc-3.3.3/gcc/testsuite/g++.dg/init/assign1.C *** gcc-3.3.2/gcc/testsuite/g++.dg/init/assign1.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/init/assign1.C Wed Jan 21 05:04:05 2004 *************** *** 0 **** --- 1,30 ---- + // PR c++/13009 + // { dg-do run } + + struct A { + char a; + }; + + struct B: public virtual A { + #if 0 // this piece of code works around the problem + B& operator= (const B& other) + { + A::operator= (other); + } + #endif + }; + + struct C: public B { + char c; + }; + + int main() { + B b; + b.a = 'b'; + C c; + c.a = c.c = 'c'; + + c.B::operator= (b); + if (c.a != 'b' || c.c != 'c') + return 1; + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/init/error1.C gcc-3.3.3/gcc/testsuite/g++.dg/init/error1.C *** gcc-3.3.2/gcc/testsuite/g++.dg/init/error1.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/init/error1.C Fri Dec 26 04:06:44 2003 *************** *** 0 **** --- 1,7 ---- + // PR c++/12696 + + struct A { + static float b[10]; // { dg-error "" } + } + + float A::b[] = {1,2,3}; // { dg-error "" } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/init/ref10.C gcc-3.3.3/gcc/testsuite/g++.dg/init/ref10.C *** gcc-3.3.2/gcc/testsuite/g++.dg/init/ref10.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/init/ref10.C Wed Jan 21 07:30:07 2004 *************** *** 0 **** --- 1,14 ---- + // PR c++/13478 + + struct A {}; + struct B : protected A { + B() {}; + B(const A& ) {}; + private: + B(const B& ) {}; + }; + + void foo(const A* ap) + { + const B& br = *ap; + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/lookup/enum1.C gcc-3.3.3/gcc/testsuite/g++.dg/lookup/enum1.C *** gcc-3.3.2/gcc/testsuite/g++.dg/lookup/enum1.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/lookup/enum1.C Sun Jan 11 00:56:01 2004 *************** *** 0 **** --- 1,9 ---- + enum Enum1 { None }; + + namespace Test { + enum Enum2 { None }; + } + + namespace a { + enum { a } ; + }; diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/lookup/ns1.C gcc-3.3.3/gcc/testsuite/g++.dg/lookup/ns1.C *** gcc-3.3.2/gcc/testsuite/g++.dg/lookup/ns1.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/lookup/ns1.C Fri Dec 26 03:20:19 2003 *************** *** 0 **** --- 1,19 ---- + // PR c++/12862 + + typedef int Thingo; + + namespace A + { + void Thingo(); + } + + void + A::Thingo() + { } + + int + main() + { + A::Thingo(); + return 0; + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/lookup/using9.C gcc-3.3.3/gcc/testsuite/g++.dg/lookup/using9.C *** gcc-3.3.2/gcc/testsuite/g++.dg/lookup/using9.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/lookup/using9.C Sat Dec 27 00:30:14 2003 *************** *** 0 **** --- 1,30 ---- + // { dg-do compile } + // Origin: C++ Standard Draft (7.3.3/12) + // PR c++/2294: using declarations should not conflict, but only cause + // an ambiguous overload set to be created. + + namespace B { + void f(int); // { dg-error "" } + void f(double); // { dg-error "" } + } + + namespace C { + void f(int); // { dg-error "" } + void f(double); // { dg-error "" } + void f(char); // { dg-error "" } + } + + void h() + { + using B::f; + using C::f; + f('h'); + f(1); // { dg-error "ambiguous" } + void f(int); // { dg-error "previous using declaration" } + } + + void m() + { + void f(int); + using B::f; // { dg-error "already declared" } + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/opt/const3.C gcc-3.3.3/gcc/testsuite/g++.dg/opt/const3.C *** gcc-3.3.2/gcc/testsuite/g++.dg/opt/const3.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/opt/const3.C Thu Nov 13 09:56:51 2003 *************** *** 0 **** --- 1,44 ---- + // PR optimization/12926 + // This failed on SPARC64 because the assignments to the bit-fields + // were wrongly swapped in the constructor. + + // { dg-do run } + // { dg-options "-O2" } + + extern void abort(void); + + typedef __SIZE_TYPE__ size_t; + + void *my_out; + + struct A + { + enum Type {P, U, S}; + + int foo1(void *, const char *); + int foo2(int, const Type); + + A (const size_t size, const Type type): mSize(size), mType(type) + { + foo2(foo1(my_out, "type = "), type); + foo2(foo1(my_out, "mType = "), mType); + } + + const size_t mSize : 8*sizeof(size_t) - 3; + Type mType : 2; + }; + + int i; + + int A::foo1(void *ios, const char *str) { } + int A::foo2(int v, const Type t) { i=0; } + + int main() + { + A testa(2, A::S); + + if (testa.mType != A::S) + abort(); + + return 0; + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/opt/expect1.C gcc-3.3.3/gcc/testsuite/g++.dg/opt/expect1.C *** gcc-3.3.2/gcc/testsuite/g++.dg/opt/expect1.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/opt/expect1.C Fri Dec 19 13:54:37 2003 *************** *** 0 **** --- 1,17 ---- + // PR c++/13239 + // { dg-do run } + // { dg-options "-O2" } + + extern "C" void abort (void); + + struct Y { + int i; + }; + + bool foo () { return true; } + Y bar () { Y y = {0}; return y; } + + int main () + { + __builtin_expect (foo () && (bar ().i) == 0, 0) ? 0 : (abort (), 1); + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/opt/expect2.C gcc-3.3.3/gcc/testsuite/g++.dg/opt/expect2.C *** gcc-3.3.2/gcc/testsuite/g++.dg/opt/expect2.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/opt/expect2.C Sun Jan 11 19:13:12 2004 *************** *** 0 **** --- 1,11 ---- + // PR c++/13392 + // { dg-do compile } + // { dg-options "-O0" } + + extern "C" void abort (void); + struct X { ~X () throw() {} }; + bool foo (X s = X ()) { return false; } + void bar () + { + __builtin_expect (foo () && true, 1) ? 0 : (abort (), 0); + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/opt/inline6.C gcc-3.3.3/gcc/testsuite/g++.dg/opt/inline6.C *** gcc-3.3.2/gcc/testsuite/g++.dg/opt/inline6.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/opt/inline6.C Fri Jan 2 11:15:00 2004 *************** *** 0 **** --- 1,14 ---- + // PR c++/13081 + // { dg-options "-O2" } + // { dg-final { scan-assembler-not "foo" } } + + template T foo(T); + + template inline T foo(T t) + { + return t; + } + + void bar (long& l) { + l = foo(l); + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/opt/noreturn-1.C gcc-3.3.3/gcc/testsuite/g++.dg/opt/noreturn-1.C *** gcc-3.3.2/gcc/testsuite/g++.dg/opt/noreturn-1.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/opt/noreturn-1.C Thu Dec 11 07:48:07 2003 *************** *** 0 **** --- 1,87 ---- + // PR optimization/12965 + // Origin: + // Reduced testcase: Falk Hueffner + + // This ICEd on Alpha because the reload pass emitted save/restore + // insns around a no-return call. + + // { dg-do compile } + // { dg-options "-O2" } + + template class allocator; + template struct char_traits; + template , + typename _Alloc = allocator<_CharT> > + class basic_string; + typedef basic_string string; + + static inline int __exchange_and_add(volatile int * __mem, int __val) { + int __result; + asm("" : "=&r"(__result)); + return __result; + } + + template struct allocator { + allocator() throw() { } + allocator(const allocator &) throw() {} + }; + + template + struct basic_string { + typedef _Alloc allocator_type; + struct _Rep { + int _M_references; + void _M_dispose(const _Alloc & __a) { + if (__exchange_and_add(&_M_references, -1) <= 0) + _M_destroy(__a); + } void _M_destroy(const _Alloc &) throw(); + }; + struct _Alloc_hider : _Alloc { + _CharT *_M_p; + }; + mutable _Alloc_hider _M_dataplus; + _CharT *_M_data() const { return _M_dataplus._M_p; } + _Rep *_M_rep() const { + return &((reinterpret_cast<_Rep *>(_M_data()))[-1]); + } + basic_string(); + basic_string(const _CharT * __s, const _Alloc & __a = _Alloc()); + ~basic_string() { + _M_rep()->_M_dispose(this->get_allocator()); + } + allocator_type get_allocator() const { return _M_dataplus; } + }; + + struct Egeneric { + void stack(const string & passage, const string & message = "") { } + }; + + struct infinint { + void detruit() throw(Egeneric); + template void infinint_from(T a) throw(Egeneric); + infinint(long a = 0) throw(Egeneric) { + try { + infinint_from(a); + } catch(Egeneric& e) { + e.stack("infinint::infinint", "long"); + } + } + ~infinint() throw(Egeneric) { + try { + detruit(); + } catch(Egeneric& e) { } + } + }; + + struct inode { + string x; + infinint a, c; + infinint ea_offset; + inode(); + }; + + inode::inode() + { + ea_offset = 0; + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/opt/reg-stack3.C gcc-3.3.3/gcc/testsuite/g++.dg/opt/reg-stack3.C *** gcc-3.3.2/gcc/testsuite/g++.dg/opt/reg-stack3.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/opt/reg-stack3.C Sat Oct 25 13:00:42 2003 *************** *** 0 **** --- 1,21 ---- + // PR target/12712 + // Origin: Markus Schoder + + // This used to segfault on x86 because the reg-stack pass + // created an unreachable basic block by purging an outgoing + // edge, and was not prepared to handle it. + + // { dg-do compile } + + struct A + { + ~A(); + float f(float x); + float g() const {return 0;} + }; + + void h() + { + A a, b; + a.f(b.g() + 1); + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/opt/reg-stack4.C gcc-3.3.3/gcc/testsuite/g++.dg/opt/reg-stack4.C *** gcc-3.3.2/gcc/testsuite/g++.dg/opt/reg-stack4.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/opt/reg-stack4.C Mon Dec 1 08:10:18 2003 *************** *** 0 **** --- 1,29 ---- + // PR target/12900 + // Origin: + + // This used to fail on x86 because the reg-stack pass + // deleted a valid edge. + + // { dg-do compile } + // { dg-options "-mcpu=i586 -O2" { target i?86-*-* } } + + struct array { + double data; + virtual ~array(); + }; + + double glob; + double ext1(double); + int nmuons; + + void track_match() + { + array vecdca; + if (glob < 10) return; + double p = glob*5; + double phi = vecdca.data; + ext1 (vecdca.data-glob); + ext1 (phi*2); + if (1 < p) + ++nmuons; + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/other/struct-va_list.C gcc-3.3.3/gcc/testsuite/g++.dg/other/struct-va_list.C *** gcc-3.3.2/gcc/testsuite/g++.dg/other/struct-va_list.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/other/struct-va_list.C Fri Dec 5 15:56:37 2003 *************** *** 0 **** --- 1,8 ---- + // { dg-do compile } + // PR target/13302 + + #include + + struct NumArgState{ + va_list ap; + }; diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/parse/error7.C gcc-3.3.3/gcc/testsuite/g++.dg/parse/error7.C *** gcc-3.3.2/gcc/testsuite/g++.dg/parse/error7.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/parse/error7.C Sat Nov 8 08:37:22 2003 *************** *** 0 **** --- 1,10 ---- + // { dg-do compile } + // Properly print CALL_EXPRs while dumping expressions + + double g; + int func(double); + + template + struct Foo {}; + + Foo f; // { dg-error "" "func(g)" } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/rtti/typeid4.C gcc-3.3.3/gcc/testsuite/g++.dg/rtti/typeid4.C *** gcc-3.3.2/gcc/testsuite/g++.dg/rtti/typeid4.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/rtti/typeid4.C Wed Jan 14 09:05:44 2004 *************** *** 0 **** --- 1,26 ---- + // { dg-do run } + // { dg-options "-O2" } + + #include + #include + + struct A { virtual ~A () {} }; + + struct APtr + { + APtr (A* p) : p_ (p) { } + A& operator* () const { return *p_; } + A* p_; + }; + + int main () + { + APtr ap (new A); + std::type_info const* const exp = &typeid (*ap); + for (bool cont = true; cont; cont = false) + { + std::cout << "inner: cont " << cont << std::endl; + if (exp) ; + } + } + diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/template/access13.C gcc-3.3.3/gcc/testsuite/g++.dg/template/access13.C *** gcc-3.3.2/gcc/testsuite/g++.dg/template/access13.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/template/access13.C Thu Dec 18 14:27:49 2003 *************** *** 0 **** --- 1,16 ---- + // { dg-do compile } + + // Origin: Francesco Monica + + // PR c++/13262: Access checking during instantiation of static data + // member. + + template class Aclass { + private: + Aclass() {} + static Aclass instance; + }; + + template Aclass Aclass::instance; + + template class Aclass; diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/template/instantiate6.C gcc-3.3.3/gcc/testsuite/g++.dg/template/instantiate6.C *** gcc-3.3.2/gcc/testsuite/g++.dg/template/instantiate6.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/template/instantiate6.C Wed Jan 21 03:26:06 2004 *************** *** 0 **** --- 1,15 ---- + // { dg-do compile } + + // Origin: gianni@mariani.ws + // Wolfgang Bangerth + + // PR c++/13289: ICE recursively instantiate static member data. + + template struct S { + static const int C; + }; + + template + const int S::C = S<(N+1)%2>::C; + + template struct S<1>; diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/template/memclass1.C gcc-3.3.3/gcc/testsuite/g++.dg/template/memclass1.C *** gcc-3.3.2/gcc/testsuite/g++.dg/template/memclass1.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/template/memclass1.C Sun Jan 25 15:08:20 2004 *************** *** 0 **** --- 1,18 ---- + // { dg-do compile } + + // Origin: Volker Reichelt + + // PR c++/10555: ICE for member class template when one of the + // template argument levels contains errors. + + template struct A + { + template struct B; + }; + + template struct C + { + typedef typename A::template B X; // { dg-error "mismatch|expected" } + }; + + C c; // { dg-error "instantiated" } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/template/nontype4.C gcc-3.3.3/gcc/testsuite/g++.dg/template/nontype4.C *** gcc-3.3.2/gcc/testsuite/g++.dg/template/nontype4.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/template/nontype4.C Sun Jan 25 15:08:20 2004 *************** *** 0 **** --- 1,14 ---- + // { dg-do compile } + + // Origin: Ivan Godard + // Volker Reichelt + + // PR c++/13797: ICE invalid nontype template parameter + + template struct A + { + typedef A<0> B; // { dg-error "not a valid type|conflict" } + template struct B {}; // { dg-error "not a valid type|declaration" } + }; + + A<0> a; // { dg-error "instantiated" } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/template/nontype5.C gcc-3.3.3/gcc/testsuite/g++.dg/template/nontype5.C *** gcc-3.3.2/gcc/testsuite/g++.dg/template/nontype5.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/template/nontype5.C Sun Jan 25 15:08:20 2004 *************** *** 0 **** --- 1,14 ---- + // { dg-do compile } + + // Origin: Ivan Godard + // Volker Reichelt + + // PR c++/13797: ICE invalid nontype template parameter + + template struct A + { + typedef A<0> B; + template struct C {}; // { dg-error "not a valid type" } + }; + + A<0> a; // { dg-error "instantiated" } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/template/ptrmem6.C gcc-3.3.3/gcc/testsuite/g++.dg/template/ptrmem6.C *** gcc-3.3.2/gcc/testsuite/g++.dg/template/ptrmem6.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/template/ptrmem6.C Fri Nov 14 04:34:52 2003 *************** *** 0 **** --- 1,43 ---- + // { dg-do compile } + // Origin: + // c++/2094: unsupported 'ptrmem_cst' in type unification + + struct R + { + int i; + }; + + struct S + { + int i; + int j; + }; + + struct S2 : S + {}; + + template + struct X + { + X (); + template X(const X &); + }; + + X<&S::i,S> x = X<&S::i,S>(); + X<&S::i,S> x2 = X<&S2::i,S>(); + X<&S::i,S> y = X<&S::j,S>(); // { dg-error "" } + X<&S::i,S> z = X<&R::i,S>(); // { dg-error "" } + + template + struct Foo + { + void foo(void) + { + X<&T::i,T> x = X<&T::i,T>(); + X<&S::i,S> x2 = X<&S2::i,S>(); + X<&S::i,S> y = X<&S::j,S>(); // { dg-error "" } + X<&S::i,S> z = X<&R::i,S>(); // { dg-error "" } + } + }; + + template struct Foo; // { dg-error "instantiated from" } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/template/scope2.C gcc-3.3.3/gcc/testsuite/g++.dg/template/scope2.C *** gcc-3.3.2/gcc/testsuite/g++.dg/template/scope2.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/template/scope2.C Tue Dec 30 09:47:32 2003 *************** *** 0 **** --- 1,34 ---- + // { dg-do compile } + + // Copyright (C) 2003 Free Software Foundation, Inc. + // Contributed by Nathan Sidwell 15 Aug 2003 + + // checked instantiated bases in wrong scope. + + class Helper {}; + + template struct X { }; + + template class Base + { + protected: + typedef Helper H; + }; + + template + struct Derived : Base + { + typedef Base Parent; + typedef typename Parent::H H; + + class Nested : public X {}; + + Nested m; + + void Foo (); + }; + + void Foo (Derived &x) + { + x.Foo (); + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/template/sizeof6.C gcc-3.3.3/gcc/testsuite/g++.dg/template/sizeof6.C *** gcc-3.3.2/gcc/testsuite/g++.dg/template/sizeof6.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/template/sizeof6.C Fri Jan 30 18:31:08 2004 *************** *** 0 **** --- 1,13 ---- + // { dg-do compile } + // Contributed by Giovanni Bajo + // PR c++/13683: bogus warning about passing non-PODs through ellipsis + + struct B {}; + struct NonPOD : B {}; + + struct A + { + static int check(...); + static NonPOD GetNonPOD(void); + enum { value = sizeof(A::check(A::GetNonPOD())) }; + }; diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/warn/ctor-init-1.C gcc-3.3.3/gcc/testsuite/g++.dg/warn/ctor-init-1.C *** gcc-3.3.2/gcc/testsuite/g++.dg/warn/ctor-init-1.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/warn/ctor-init-1.C Mon Dec 22 06:14:43 2003 *************** *** 0 **** --- 1,9 ---- + // PR c++/11554 + // { dg-options "-Wall" } + + struct Y { + Y (); + int i1, i2; // { dg-warning "" } + }; + + Y::Y () : i2(0), i1(0) {} // { dg-warning "" } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/warn/format3.C gcc-3.3.3/gcc/testsuite/g++.dg/warn/format3.C *** gcc-3.3.2/gcc/testsuite/g++.dg/warn/format3.C Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g++.dg/warn/format3.C Mon Dec 29 05:32:32 2003 *************** *** 0 **** --- 1,12 ---- + // PR c++/13070 + // { dg-do compile } + // { dg-options "-Wformat" } + + extern "C" int printf (const char*, ...); + + int main() + { + printf("%d\n", 1, 1); // { dg-warning "too many" "printf warning" } + return 0; + } + diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.dg/warn/incomplete1.C gcc-3.3.3/gcc/testsuite/g++.dg/warn/incomplete1.C *** gcc-3.3.2/gcc/testsuite/g++.dg/warn/incomplete1.C Sat Jul 6 16:58:39 2002 --- gcc-3.3.3/gcc/testsuite/g++.dg/warn/incomplete1.C Thu Feb 5 13:24:06 2004 *************** A *a; // { dg-warning "`a' has incomple *** 16,21 **** int main (int argc, char **argv) { ! delete a; // { dg-warning "delete" "" { xfail *-*-* } } return 0; } --- 16,21 ---- int main (int argc, char **argv) { ! delete a; // { dg-warning "delete" "" } return 0; } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog gcc-3.3.3/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog *** gcc-3.3.2/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog Thu Oct 16 19:44:23 2003 --- gcc-3.3.3/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog Sat Feb 14 20:19:21 2004 *************** *** 1,3 **** --- 1,7 ---- + 2004-02-14 Release Manager + + * GCC 3.3.3 Released. + 2003-10-16 Release Manager * GCC 3.3.2 Released. diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g77.dg/12632.f gcc-3.3.3/gcc/testsuite/g77.dg/12632.f *** gcc-3.3.2/gcc/testsuite/g77.dg/12632.f Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g77.dg/12632.f Thu Jan 1 04:44:59 2004 *************** *** 0 **** --- 1,6 ---- + C { dg-do compile } + C { dg-options "-fbounds-check" } + INTEGER I(1) + I(2) = 0 ! { dg-error "out of defined range" "out of defined range" } + END + diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g77.f-torture/compile/13060.f gcc-3.3.3/gcc/testsuite/g77.f-torture/compile/13060.f *** gcc-3.3.2/gcc/testsuite/g77.f-torture/compile/13060.f Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g77.f-torture/compile/13060.f Thu Dec 11 07:58:00 2003 *************** *** 0 **** --- 1,13 ---- + subroutine geo2() + implicit none + + integer ms,n,ne(2) + + ne(1) = 1 + ne(2) = 2 + ms = 1 + + call call_me(ne(1)*ne(1)) + + n = ne(ms) + end diff -Nrc3pad gcc-3.3.2/gcc/testsuite/g77.f-torture/execute/13037.f gcc-3.3.3/gcc/testsuite/g77.f-torture/execute/13037.f *** gcc-3.3.2/gcc/testsuite/g77.f-torture/execute/13037.f Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/g77.f-torture/execute/13037.f Fri Dec 12 18:37:07 2003 *************** *** 0 **** --- 1,58 ---- + c PR optimization/13037 + c Contributed by Kirill Smelkov + c bug symptom: zeta(kkzc) seems to reference to zeta(kkzc-1) instead + c with gcc-3.2.2 it is OK, so it is a regression. + c + subroutine bug1(expnt) + implicit none + + double precision zeta + common /bug1_area/zeta(3) + + double precision expnt(3) + + + integer k, kkzc + + kkzc=0 + do k=1,3 + kkzc = kkzc + 1 + zeta(kkzc) = expnt(k) + enddo + + c the following line activates the bug + call bug1_activator(kkzc) + end + + + c dummy subroutine + subroutine bug1_activator(inum) + implicit none + integer inum + end + + + c test driver + program test_bug1 + implicit none + + double precision zeta + common /bug1_area/zeta(3) + + double precision expnt(3) + + zeta(1) = 0.0d0 + zeta(2) = 0.0d0 + zeta(3) = 0.0d0 + + expnt(1) = 1.0d0 + expnt(2) = 2.0d0 + expnt(3) = 3.0d0 + + call bug1(expnt) + if ((zeta(1).ne.1) .or. (zeta(2).ne.2) .or. (zeta(3).ne.3)) then + call abort + endif + + end + diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.c-torture/compile/20031031-1.c gcc-3.3.3/gcc/testsuite/gcc.c-torture/compile/20031031-1.c *** gcc-3.3.2/gcc/testsuite/gcc.c-torture/compile/20031031-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/gcc.c-torture/compile/20031031-1.c Wed Dec 3 07:15:44 2003 *************** *** 0 **** --- 1,36 ---- + /* PR/11640 */ + + int + internal_insn_latency (int insn_code, int insn2_code) + { + switch (insn_code) + { + case 256: + switch (insn2_code) + { + case 267: + return 8; + case 266: + return 8; + case 265: + return 8; + case 264: + return 8; + case 263: + return 8; + } + break; + case 273: + switch (insn2_code) + { + case 267: + return 5; + case 266: + return 5; + case 277: + return 3; + } + break; + } + return 0; + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.c-torture/compile/20031031-2.c gcc-3.3.3/gcc/testsuite/gcc.c-torture/compile/20031031-2.c *** gcc-3.3.2/gcc/testsuite/gcc.c-torture/compile/20031031-2.c Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/gcc.c-torture/compile/20031031-2.c Wed Dec 3 07:15:44 2003 *************** *** 0 **** --- 1,36 ---- + /* PR/10239 */ + + enum node_type + { + INITIAL = 0, FREE, + PRECOLORED, + SIMPLIFY, SIMPLIFY_SPILL, SIMPLIFY_FAT, FREEZE, SPILL, + SELECT, + SPILLED, COALESCED, COLORED, + LAST_NODE_TYPE + }; + + inline void + put_web (enum node_type type) + { + switch (type) + { + case INITIAL: + case FREE: + case FREEZE: + case SPILL: + foo (); + break; + case PRECOLORED: + bar (); + break; + default: + baz (); + } + } + + void + reset_lists () + { + put_web (INITIAL); + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.c-torture/compile/20031220-1.c gcc-3.3.3/gcc/testsuite/gcc.c-torture/compile/20031220-1.c *** gcc-3.3.2/gcc/testsuite/gcc.c-torture/compile/20031220-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/gcc.c-torture/compile/20031220-1.c Sat Dec 20 19:59:56 2003 *************** *** 0 **** --- 1,21 ---- + /* PR optimization/13031 */ + /* The following code used to ICE on alphaev67-*-* at -O2 with an + unrecognizable instruction, caused by local register allocation + substituting a register for a constant in a conditional branch. */ + + void emit(int, int); + int f(void); + static int signals[5]; + + static inline void select(int sel, void *klass) + { + emit(klass ? 0 : f(), signals[sel ? 0 : 1]); + } + + void all(void *gil, void *l, void *icon) + { + while (l) + if (icon) + select(0, gil); + } + diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.c-torture/compile/20031231-1.c gcc-3.3.3/gcc/testsuite/gcc.c-torture/compile/20031231-1.c *** gcc-3.3.2/gcc/testsuite/gcc.c-torture/compile/20031231-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/gcc.c-torture/compile/20031231-1.c Thu Jan 1 13:19:41 2004 *************** *** 0 **** --- 1,51 ---- + extern int f1 (int, void *); + extern int *f2 (void) __attribute__ ((__const__)); + extern int f3 (int, void *); + + int + test (int x, char *y, int z) + { + int b = 0; + + if (x < 1024) + { + y[0] = '\0'; + + do + { + switch (f1 (x, y + b)) + { + case -1: + if (b == 0) + return -1; + else + return b; + + default: + b++; + } + } + while (y[b - 1] != '\0' && y[b - 1] != '\n' && b < z); + } + else + { + do + { + switch (f3 (x, y + b)) + { + case -1: + if ((*f2 ()) == 4) + continue; + if (b == 0) + return -1; + else + return b; + + default: + b++; + } + } + while (y[b - 1] != '\0' && y[b - 1] != '\n' && b < z); + } + return b; + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.c-torture/compile/981223-1.x gcc-3.3.3/gcc/testsuite/gcc.c-torture/compile/981223-1.x *** gcc-3.3.2/gcc/testsuite/gcc.c-torture/compile/981223-1.x Fri Mar 1 18:39:21 2002 --- gcc-3.3.3/gcc/testsuite/gcc.c-torture/compile/981223-1.x Tue Dec 16 23:56:56 2003 *************** *** 1,20 **** ! # The problem on IA-64 is that the assembler emits # # Warning: Additional NOP may be necessary to workaround Itanium # processor A/B step errata # # This can be fixed by adding "-mb-step" to the command line, which ! # does in fact add the extra nop, if someone can tell me how to do ! # that for a c-torture compile test. ! ! set torture_eval_before_compile { ! set compiler_conditional_xfail_data { ! "need -mb-step" \ ! "ia64-*-*" \ ! { "-O2" "-O3" "-Os" } \ ! { "" } } } - return 0 --- 1,14 ---- ! # On IA-64 the assembler may emit # # Warning: Additional NOP may be necessary to workaround Itanium # processor A/B step errata # # This can be fixed by adding "-mb-step" to the command line, which ! # does in fact add the extra nop. ! if [istarget "ia64-*-*"] { ! set torture_eval_before_compile { ! set option "$option -mb-step" } } return 0 diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.c-torture/execute/20031020-1.c gcc-3.3.3/gcc/testsuite/gcc.c-torture/execute/20031020-1.c *** gcc-3.3.2/gcc/testsuite/gcc.c-torture/execute/20031020-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/gcc.c-torture/execute/20031020-1.c Mon Oct 27 20:42:07 2003 *************** *** 0 **** --- 1,23 ---- + /* PR target/12654 + The Alpha backend tried to do a >= 1024 as (a - 1024) >= 0, which fails + for very large negative values. */ + /* Origin: tg@swox.com */ + + #include + + extern void abort (void); + + void __attribute__((noinline)) + foo (long x) + { + if (x >= 1024) + abort (); + } + + int + main () + { + foo (LONG_MIN); + foo (LONG_MIN + 10000); + return 0; + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.c-torture/execute/20031201-1.c gcc-3.3.3/gcc/testsuite/gcc.c-torture/execute/20031201-1.c *** gcc-3.3.2/gcc/testsuite/gcc.c-torture/execute/20031201-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/gcc.c-torture/execute/20031201-1.c Fri Dec 12 13:48:37 2003 *************** *** 0 **** --- 1,76 ---- + /* Copyright (C) 2003 Free Software Foundation. + PR target/13256 + STRICT_LOW_PART was handled incorrectly in delay slots. + Origin: Hans-Peter Nilsson. */ + + typedef struct { unsigned int e0 : 16; unsigned int e1 : 16; } s1; + typedef struct { unsigned int e0 : 16; unsigned int e1 : 16; } s2; + typedef struct { s1 i12; s2 i16; } io; + static int test_length = 2; + static io *i; + static int m = 1; + static int d = 1; + static unsigned long test_t0; + static unsigned long test_t1; + void test(void) __attribute__ ((__noinline__)); + extern int f1 (void *port) __attribute__ ((__noinline__)); + extern void f0 (void) __attribute__ ((__noinline__)); + int + f1 (void *port) + { + int fail_count = 0; + unsigned long tlen; + s1 x0 = {0}; + s2 x1 = {0}; + + i = port; + x0.e0 = x1.e0 = 32; + i->i12 = x0; + i->i16 = x1; + do f0(); while (test_t1); + x0.e0 = x1.e0 = 8; + i->i12 = x0; + i->i16 = x1; + test (); + if (m) + { + unsigned long e = 1000000000 / 460800 * test_length; + tlen = test_t1 - test_t0; + if (((tlen-e) & 0x7FFFFFFF) > 1000) + f0(); + } + if (d) + { + unsigned long e = 1000000000 / 460800 * test_length; + tlen = test_t1 - test_t0; + if (((tlen - e) & 0x7FFFFFFF) > 1000) + f0(); + } + return fail_count != 0 ? 1 : 0; + } + + int + main () + { + io io0; + f1 (&io0); + abort (); + } + + void + test (void) + { + io *iop = i; + if (iop->i12.e0 != 8 || iop->i16.e0 != 8) + abort (); + exit (0); + } + + void + f0 (void) + { + static int washere = 0; + io *iop = i; + if (washere++ || iop->i12.e0 != 32 || iop->i16.e0 != 32) + abort (); + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.c-torture/execute/20031215-1.c gcc-3.3.3/gcc/testsuite/gcc.c-torture/execute/20031215-1.c *** gcc-3.3.2/gcc/testsuite/gcc.c-torture/execute/20031215-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/gcc.c-torture/execute/20031215-1.c Sun Dec 21 16:08:06 2003 *************** *** 0 **** --- 1,38 ---- + /* PR middle-end/13400 */ + /* The following test used to fail at run-time with a write to read-only + memory, caused by if-conversion converting a conditional write into an + unconditional write. */ + + typedef struct {int c, l; char ch[3];} pstr; + const pstr ao = {2, 2, "OK"}; + const pstr * const a = &ao; + + void test1(void) + { + if (a->ch[a->l]) { + ((char *)a->ch)[a->l] = 0; + } + } + + void test2(void) + { + if (a->ch[a->l]) { + ((char *)a->ch)[a->l] = -1; + } + } + + void test3(void) + { + if (a->ch[a->l]) { + ((char *)a->ch)[a->l] = 1; + } + } + + int main(void) + { + test1(); + test2(); + test3(); + return 0; + } + diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.dg/20030926-1.c gcc-3.3.3/gcc/testsuite/gcc.dg/20030926-1.c *** gcc-3.3.2/gcc/testsuite/gcc.dg/20030926-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/gcc.dg/20030926-1.c Sat Nov 8 15:24:32 2003 *************** *** 0 **** --- 1,14 ---- + /* PR optimization/11741 */ + /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ + /* { dg-options "-O2 -minline-all-stringops -march=pentium4" } */ + + void + foo (char *p) + { + for (;;) + { + memcpy (p, p + 1, strlen (p)); + p++; + } + } + diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.dg/20031108-1.c gcc-3.3.3/gcc/testsuite/gcc.dg/20031108-1.c *** gcc-3.3.2/gcc/testsuite/gcc.dg/20031108-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/gcc.dg/20031108-1.c Sat Nov 8 15:24:32 2003 *************** *** 0 **** --- 1,35 ---- + /* PR optimization/10467 */ + /* { dg-do compile { target arm*-*-* xscale*-*-* strongarm*-*-* } } */ + /* { dg-options "-O2 -mthumb" } */ + + typedef enum {Ident_1} Enumeration; + + typedef struct record + { + struct record *Ptr_Comp; + Enumeration Discr; + union { + struct { + Enumeration Enum_Comp; + int Int_Comp; + char Str_Comp [31]; + } var_1; + } variant; + } *Rec_Pointer; + + Rec_Pointer Ptr_Glob; + + Proc_1 (Ptr_Val_Par) + Rec_Pointer Ptr_Val_Par; + { + Rec_Pointer Next_Record = Ptr_Val_Par->Ptr_Comp; + + *Ptr_Val_Par->Ptr_Comp = *Ptr_Glob; + + if (Next_Record->Discr == Ident_1) + { + Proc_7 (Next_Record->variant.var_1.Int_Comp, 10, + &Next_Record->variant.var_1.Int_Comp); + } + } + diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.dg/20031201-2.c gcc-3.3.3/gcc/testsuite/gcc.dg/20031201-2.c *** gcc-3.3.2/gcc/testsuite/gcc.dg/20031201-2.c Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/gcc.dg/20031201-2.c Tue Dec 2 04:36:08 2003 *************** *** 0 **** --- 1,41 ---- + /* PR optimization/11634 */ + + /* The following code used to ICE in verify_local_live_at_start on + PA when compiled with -O2. The cause was that split_all_insns was + not updating liveness information when deleting no-op moves that + had REG_UNUSED notes. */ + + /* { dg-do compile { target hppa*-*-* } } */ + /* { dg-options "-O2" } */ + + void *f(void *s); + void H5T_conv_vlen (unsigned long long nelmts, unsigned char *bg_ptr) + { + long long seq_len; + unsigned long long bg_seq_len = 0; + unsigned src_base_size, dst_base_size; + void *tmp_buf = 0; + unsigned tmp_buf_size = 0; + unsigned long long elmtno; + for (elmtno = 0; elmtno < nelmts; elmtno++) + { + unsigned char *tmp = bg_ptr; + bg_seq_len = *tmp; + if (bg_seq_len > 0 + && tmp_buf_size < + (unsigned) (bg_seq_len * + (src_base_size > dst_base_size + ? src_base_size + : dst_base_size))) + { + tmp_buf_size = + (unsigned) (bg_seq_len * + (src_base_size > dst_base_size + ? src_base_size + : dst_base_size)); + } + if (bg_seq_len < seq_len) + f ((unsigned char *) tmp_buf + dst_base_size * bg_seq_len); + } + } + diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.dg/20031202-1.c gcc-3.3.3/gcc/testsuite/gcc.dg/20031202-1.c *** gcc-3.3.2/gcc/testsuite/gcc.dg/20031202-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/gcc.dg/20031202-1.c Wed Dec 3 22:38:06 2003 *************** *** 0 **** --- 1,44 ---- + /* { dg-do run } */ + /* { dg-options "-O2" } */ + /* { dg-options "-O2 -mcpu=i686" { target i?86-*-* } } */ + + extern void abort (void); + extern void exit (int); + + struct A { char p[6]; } __attribute__((packed)); + struct B { + struct A a; + void * const b; + struct A const * const c; + struct A const *d; + }; + + char v; + + int __attribute__((noinline)) + foo (struct B *b) + { + int i; + for (i = 0; i < 6; ++i) + if (b->a.p[i]) + abort (); + if (b->b != &v || b->c || b->d) + abort (); + return 12; + } + + int __attribute__((noinline)) + bar (void *x) + { + __asm __volatile ("" : "=r" (x) : "0" (x)); + struct B y = { .b = x, .c = (void *) 0 }; + return foo (&y) + 1; + } + + int + main (void) + { + if (bar (&v) != 13) + abort (); + exit (0); + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.dg/20040112-1.c gcc-3.3.3/gcc/testsuite/gcc.dg/20040112-1.c *** gcc-3.3.2/gcc/testsuite/gcc.dg/20040112-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/gcc.dg/20040112-1.c Wed Jan 21 02:40:59 2004 *************** *** 0 **** --- 1,16 ---- + /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ + /* { dg-options "-O2" } */ + /* { dg-final { scan-assembler "testb" } } */ + void + ftn (char *sp) + { + char status; + + while (1) + { + *sp = 0xE8; + status = *(volatile char *) sp; + if (status & 0x80) + break; + } + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.dg/altivec-10.c gcc-3.3.3/gcc/testsuite/gcc.dg/altivec-10.c *** gcc-3.3.2/gcc/testsuite/gcc.dg/altivec-10.c Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/gcc.dg/altivec-10.c Tue Dec 16 08:12:27 2003 *************** *** 0 **** --- 1,86 ---- + /* { dg-do compile { target powerpc*-*-* } } */ + /* { dg-options "-maltivec -mabi=altivec -fno-inline" } */ + + #include + #include + + void + sig_ill_handler (int sig) + { + exit(0); + } + + typedef union + { + float f[4]; + unsigned int i[4]; + vector float v; + } vec_float_t; + + void + check_vec_all_num () + { + vec_float_t a, b, c; + + a.i[0] = 0xfffa5a5a; + a.f[1] = 1.0; + a.f[2] = 1.0; + a.f[3] = 1.0; + + b.f[0] = 1.0; + b.f[1] = 1.0; + b.f[2] = 1.0; + b.f[3] = 1.0; + + c.i[0] = 0xfffa5a5a; + c.i[1] = 0xfffa5a5a; + c.i[2] = 0xfffa5a5a; + c.i[3] = 0xfffa5a5a; + + if (vec_all_numeric (a.v)) + abort (); + + if (vec_all_nan (a.v)) + abort (); + + if (!vec_all_numeric (b.v)) + abort (); + + if (vec_all_nan (b.v)) + abort (); + + if (vec_all_numeric (c.v)) + abort (); + + if (!vec_all_nan (c.v)) + abort (); + + } + + void + check_cmple() + { + vector float a = {1.0, 2.0, 3.0, 4.0}; + vector float b = {1.0, 3.0, 2.0, 5.0}; + vector signed int aux; + vector signed int le = {-1, -1, 0, -1}; + + aux = vec_cmple (a, b); + + if (!vec_all_eq (aux, le)) + abort (); + } + + + int + main() + { + /* Exit on systems without altivec. */ + signal (SIGILL, sig_ill_handler); + asm volatile ("vor 0,0,0"); + signal (SIGILL, SIG_DFL); + + check_cmple (); + check_vec_all_num (); + exit (0); + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.dg/cleanup-5.c gcc-3.3.3/gcc/testsuite/gcc.dg/cleanup-5.c *** gcc-3.3.2/gcc/testsuite/gcc.dg/cleanup-5.c Wed Jun 4 16:56:13 2003 --- gcc-3.3.3/gcc/testsuite/gcc.dg/cleanup-5.c Tue Feb 3 08:20:16 2004 *************** *** 1,4 **** ! /* { dg-do run } */ /* { dg-options "-fexceptions" } */ /* Verify that cleanups work with exception handling. */ --- 1,4 ---- ! /* { dg-do run { target i?86-*-linux* x86_64-*-linux* ia64-*-linux* alpha*-*-linux* powerpc*-*-linux* s390*-*-linux* sparc*-*-linux* mips*-*-linux* } } */ /* { dg-options "-fexceptions" } */ /* Verify that cleanups work with exception handling. */ diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.dg/ia64-sync-4.c gcc-3.3.3/gcc/testsuite/gcc.dg/ia64-sync-4.c *** gcc-3.3.2/gcc/testsuite/gcc.dg/ia64-sync-4.c Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/gcc.dg/ia64-sync-4.c Tue Nov 4 16:56:15 2003 *************** *** 0 **** --- 1,21 ---- + /* { dg-do compile { target ia64-*-* } } */ + /* { dg-options "-O2 -finline-functions" } */ + + /* Test inlining __sync_bool_compare_and_swap_di. */ + + #include + #include + + static bool + compare_and_swap(long *addr, long old, long new_val) + { + return __sync_bool_compare_and_swap_di(addr, old, new_val); + } + + void + foo (long *address) + { + long he_address = *address & ~1; + while (!compare_and_swap(address, he_address, he_address | 1)) + he_address = *address & ~1; + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.dg/noreturn-7.c gcc-3.3.3/gcc/testsuite/gcc.dg/noreturn-7.c *** gcc-3.3.2/gcc/testsuite/gcc.dg/noreturn-7.c Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/gcc.dg/noreturn-7.c Tue Dec 23 06:28:37 2003 *************** *** 0 **** --- 1,42 ---- + /* PR optimization/13394 */ + /* Origin: Carlo Wood */ + + /* Verify that a bogus "function does return" warning is not issued + in presence of tail recursion within a noreturn function. */ + + /* { dg-do compile } */ + /* { dg-options "-O2 -Wreturn-type -Wmissing-noreturn" } */ + + + void f(void) __attribute__ ((__noreturn__)); + void _exit(int status) __attribute__ ((__noreturn__)); + + int z = 0; + + void g() + { + if (++z > 10) + _exit(0); + g(); + } /* { dg-warning "possible candidate" } */ + + void f() + { + if (++z > 10) + _exit(0); + f(); + } /* { dg-bogus "does return" } */ + + int h() + { + if (++z > 10) + _exit(0); + return h(); + } /* { dg-bogus "end of non-void function" } */ + + int k() + { + if (++z > 10) + _exit(0); + k(); + } /* { dg-warning "end of non-void function" } */ diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.dg/null-pointer-1.c gcc-3.3.3/gcc/testsuite/gcc.dg/null-pointer-1.c *** gcc-3.3.2/gcc/testsuite/gcc.dg/null-pointer-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/gcc.dg/null-pointer-1.c Tue Dec 23 06:23:37 2003 *************** *** 0 **** --- 1,20 ---- + /* PR c/13382 */ + /* Origin: Richard Hutchinson */ + + /* Verify that the null initializer is converted to the right + pointer type. */ + + /* { dg-do compile } */ + /* { dg-options "-O" } */ + + struct t + { + int aMember; + }; + + struct t *const aPointer = 0; + + void foo() + { + int anInt = (aPointer == 0) ? 0 : aPointer->aMember; + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.dg/overflow-1.c gcc-3.3.3/gcc/testsuite/gcc.dg/overflow-1.c *** gcc-3.3.2/gcc/testsuite/gcc.dg/overflow-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/gcc.dg/overflow-1.c Thu Dec 11 08:13:51 2003 *************** *** 0 **** --- 1,25 ---- + /* PR optimization/13318 */ + /* Origin: */ + /* Reduced testcase: Wolfgang Bangerth */ + + /* Verify that the big multiplier doesn't cause an integer + overflow in the loop optimizer. */ + + /* { dg-do compile } */ + /* { dg-options "-O2" } */ + + struct S { + int key; + int rnext,rprev; + }; + + void foo(struct S* H) + { + int i, k; + for (i=0; i<2; i++){ + struct S* cell=H+k; + cell->key=i*(0xffffffffUL/2); + cell->rnext=k+(1-i); + cell->rprev=k+(1-i); + } + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.dg/ppc-stackalign-1.c gcc-3.3.3/gcc/testsuite/gcc.dg/ppc-stackalign-1.c *** gcc-3.3.2/gcc/testsuite/gcc.dg/ppc-stackalign-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/gcc.dg/ppc-stackalign-1.c Tue Oct 28 21:15:17 2003 *************** *** 0 **** --- 1,34 ---- + /* { dg-do run { target powerpc-*-linux* powerpc-*-sysv* } } */ + + /* Test stack pointer alignment against variable alloca. */ + /* Inspired by PR libgcj/10610. */ + /* Origin: Franz Sirl . */ + + extern void abort (void); + extern void exit (int); + + register unsigned long sp __asm__ ("r1"); + + void g (int * val __attribute__ ((unused))) + { + if (sp & 0xf) + abort (); + } + + void f (int val) + { + int *val1 = __builtin_alloca (val); + + g (val1); + return; + } + + int main (void) + { + int i; + + for (i = 1; i < 32; i++) + f (i); + + exit (0); + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.dg/torture/cris-volatile-1.c gcc-3.3.3/gcc/testsuite/gcc.dg/torture/cris-volatile-1.c *** gcc-3.3.2/gcc/testsuite/gcc.dg/torture/cris-volatile-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/gcc.dg/torture/cris-volatile-1.c Fri Dec 12 13:48:37 2003 *************** *** 0 **** --- 1,72 ---- + /* Copyright (C) 2003 Free Software Foundation. + Check that size-optimizations for move insns (specifically peephole + optimizations) aren't applied to volatile objects in the CRIS port. + Origin: Hans-Peter Nilsson. */ + /* { dg-do compile { target cris-*-* } } */ + /* { dg-final { scan-assembler-not {movu\...\[} } } */ + /* { dg-final { scan-assembler-not {move\.[^d].\[} } } */ + /* { dg-final { scan-assembler-not {and\.[^d].\[} } } */ + /* { dg-final { scan-assembler-not {or\.[^d].\[} } } */ + + static const unsigned long c = 0x0000FF00; + unsigned long + a1 (void) + { + unsigned long m; + m = *(volatile unsigned long*) 0xb00000c8; + m &= c; + return m; + } + extern volatile unsigned long xx; + unsigned long + a2 (void) + { + unsigned long m; + m = xx; + m &= c; + return m; + } + extern volatile unsigned long yy[]; + unsigned long + a3 (void) + { + unsigned long m; + m = yy[3]; + m &= 0xfe00; + return m; + } + unsigned long + ac1 (void) + { + unsigned long m; + m = *(volatile unsigned long*) 0xb00000c8; + m &= 0xfe00; + return m; + } + extern volatile unsigned long xx; + unsigned long + ac2 (void) + { + unsigned long m; + m = xx; + m &= 0xfe00; + return m; + } + extern volatile unsigned long yy[]; + unsigned long + ac3 (void) + { + unsigned long m; + m = yy[3]; + m &= 0xfe00; + return m; + } + extern volatile unsigned long yy[]; + unsigned long + oc3 (void) + { + unsigned long m; + m = yy[3]; + m |= ~0xf; + return m; + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.dg/torture/dg-torture.exp gcc-3.3.3/gcc/testsuite/gcc.dg/torture/dg-torture.exp *** gcc-3.3.2/gcc/testsuite/gcc.dg/torture/dg-torture.exp Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/gcc.dg/torture/dg-torture.exp Fri Dec 12 13:48:37 2003 *************** *** 0 **** --- 1,7 ---- + # This harness is for tests that should be run at all optimisation levels. + + load_lib gcc-dg.exp + + dg-init + gcc-dg-runtest [lsort [glob $srcdir/$subdir/*.c]] "" + dg-finish diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.dg/trampoline-1.c gcc-3.3.3/gcc/testsuite/gcc.dg/trampoline-1.c *** gcc-3.3.2/gcc/testsuite/gcc.dg/trampoline-1.c Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/gcc.dg/trampoline-1.c Mon Nov 10 08:17:00 2003 *************** *** 0 **** --- 1,50 ---- + /* PR target/12865 */ + /* Origin: Waldek Hebisch */ + + /* { dg-do run } */ + /* { dg-options "-O2" } */ + + /* This used to fail on various versions of Solaris 2 because the + trampoline couldn't be made executable. */ + + extern void abort(void); + + void foo (void) + { + const int correct[1100] = {1, 0, -2, 0, 1, 0, 1, -1, -10, -30, -67}; + int i; + + double x1 (void) {return 1; } + double x2 (void) {return -1;} + double x3 (void) {return -1;} + double x4 (void) {return 1; } + double x5 (void) {return 0; } + + typedef double pfun(void); + + double a (int k, pfun x1, pfun x2, pfun x3, pfun x4, pfun x5) + { + double b (void) + { + k = k - 1; + return a (k, b, x1, x2, x3, x4 ); + } + + if (k <= 0) + return x4 () + x5 (); + else + return b (); + } + + for (i=0; i<=10; i++) + { + if (fabs(a( i, x1, x2, x3, x4, x5 ) - correct [i]) > 0.1) + abort(); + } + } + + int main (void) + { + foo (); + return 0; + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/gcc.dg/uninit-C.c gcc-3.3.3/gcc/testsuite/gcc.dg/uninit-C.c *** gcc-3.3.2/gcc/testsuite/gcc.dg/uninit-C.c Sat Aug 23 01:58:04 2003 --- gcc-3.3.3/gcc/testsuite/gcc.dg/uninit-C.c Wed Dec 10 15:18:13 2003 *************** *** 4,10 **** /* Not all platforms support TImode integers. */ #if defined(__LP64__) || defined(__sparc__) ! typedef int TItype __attribute__ ((mode (TI))); #else typedef long TItype; #endif --- 4,10 ---- /* Not all platforms support TImode integers. */ #if defined(__LP64__) || defined(__sparc__) ! typedef int TItype __attribute__ ((mode (TI))); /* { dg-error "no data type for mode" "TI" { target sparc-sun-solaris2.[0-6]* } } */ #else typedef long TItype; #endif diff -Nrc3pad gcc-3.3.2/gcc/testsuite/lib/g++.exp gcc-3.3.3/gcc/testsuite/lib/g++.exp *** gcc-3.3.2/gcc/testsuite/lib/g++.exp Thu Sep 26 09:51:44 2002 --- gcc-3.3.3/gcc/testsuite/lib/g++.exp Wed Dec 10 23:38:20 2003 *************** proc g++_version { } { *** 50,56 **** set tmp [remote_exec host "$compiler -v"] set status [lindex $tmp 0]; set output [lindex $tmp 1]; ! regexp "version.*$" $output version if { $status == 0 && [info exists version] } then { if [is_remote host] { clone_output "$compiler $version\n" --- 50,56 ---- set tmp [remote_exec host "$compiler -v"] set status [lindex $tmp 0]; set output [lindex $tmp 1]; ! regexp "version\[^\n\r\]*" $output version if { $status == 0 && [info exists version] } then { if [is_remote host] { clone_output "$compiler $version\n" diff -Nrc3pad gcc-3.3.2/gcc/testsuite/lib/g77.exp gcc-3.3.3/gcc/testsuite/lib/g77.exp *** gcc-3.3.2/gcc/testsuite/lib/g77.exp Thu Sep 26 09:51:44 2002 --- gcc-3.3.3/gcc/testsuite/lib/g77.exp Wed Dec 10 23:38:20 2003 *************** proc g77_version { } { *** 50,56 **** set tmp [remote_exec host "$compiler -v"] set status [lindex $tmp 0]; set output [lindex $tmp 1]; ! regexp "version.*$" $output version if { $status == 0 && [info exists version] } then { if [is_remote host] { clone_output "$compiler $version\n" --- 50,56 ---- set tmp [remote_exec host "$compiler -v"] set status [lindex $tmp 0]; set output [lindex $tmp 1]; ! regexp "version\[^\n\r\]*" $output version if { $status == 0 && [info exists version] } then { if [is_remote host] { clone_output "$compiler $version\n" diff -Nrc3pad gcc-3.3.2/gcc/testsuite/lib/gcc.exp gcc-3.3.3/gcc/testsuite/lib/gcc.exp *** gcc-3.3.2/gcc/testsuite/lib/gcc.exp Thu Sep 26 09:51:45 2002 --- gcc-3.3.3/gcc/testsuite/lib/gcc.exp Wed Dec 10 23:38:20 2003 *************** proc default_gcc_version { } { *** 56,62 **** set tmp [remote_exec host "$compiler -v"] set status [lindex $tmp 0]; set output [lindex $tmp 1]; ! regexp "version.*$" $output version if { $status == 0 && [info exists version] } then { clone_output "$compiler_name $version\n" } else { --- 56,62 ---- set tmp [remote_exec host "$compiler -v"] set status [lindex $tmp 0]; set output [lindex $tmp 1]; ! regexp "version\[^\n\r\]*" $output version if { $status == 0 && [info exists version] } then { clone_output "$compiler_name $version\n" } else { diff -Nrc3pad gcc-3.3.2/gcc/testsuite/lib/objc.exp gcc-3.3.3/gcc/testsuite/lib/objc.exp *** gcc-3.3.2/gcc/testsuite/lib/objc.exp Thu Sep 26 09:51:45 2002 --- gcc-3.3.3/gcc/testsuite/lib/objc.exp Wed Dec 10 23:38:20 2003 *************** proc default_objc_version { } { *** 56,62 **** set tmp [remote_exec host "$compiler -v"] set status [lindex $tmp 0]; set output [lindex $tmp 1]; ! regexp "version.*$" $output version if { $status == 0 && [info exists version] } then { clone_output "$compiler_name $version\n" } else { --- 56,62 ---- set tmp [remote_exec host "$compiler -v"] set status [lindex $tmp 0]; set output [lindex $tmp 1]; ! regexp "version\[^\n\r\]*" $output version if { $status == 0 && [info exists version] } then { clone_output "$compiler_name $version\n" } else { diff -Nrc3pad gcc-3.3.2/gcc/testsuite/objc.dg/private-1.m gcc-3.3.3/gcc/testsuite/objc.dg/private-1.m *** gcc-3.3.2/gcc/testsuite/objc.dg/private-1.m Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/objc.dg/private-1.m Wed Jan 14 07:52:39 2004 *************** *** 0 **** --- 1,59 ---- + /* Test errors for accessing @private and @protected variables. */ + /* Author: Nicola Pero . */ + /* { dg-do compile } */ + #include + + @interface MySuperClass + { + @private + int private; + + @protected + int protected; + + @public + int public; + } + - (void) test; + @end + + @implementation MySuperClass + - (void) test + { + private = 12; /* Ok */ + protected = 12; /* Ok */ + public = 12; /* Ok */ + } + @end + + + @interface MyClass : MySuperClass + @end + + @implementation MyClass + - (void) test + { + /* Private variables simply don't exist in the subclass. */ + private = 12;/* { dg-error "undeclared" } */ + /* { dg-error "function it appears in" "" { target *-*-* } { 37 } } */ + + protected = 12; /* Ok */ + public = 12; /* Ok */ + } + @end + + int main (void) + { + MyClass *m = nil; + + if (m != nil) + { + int access; + + access = m->private; /* { dg-error "is declared private" } */ + access = m->protected; /* { dg-error "is declared protected" } */ + access = m->public; /* Ok */ + } + + return 0; + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/objc.dg/private-2.m gcc-3.3.3/gcc/testsuite/objc.dg/private-2.m *** gcc-3.3.2/gcc/testsuite/objc.dg/private-2.m Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/objc.dg/private-2.m Wed Jan 14 07:52:39 2004 *************** *** 0 **** --- 1,54 ---- + /* Test warnings for shadowing instance variables. */ + /* Author: Nicola Pero . */ + /* { dg-do compile } */ + #include + + @interface MySuperClass + { + @private + int private; + + @protected + int protected; + + @public + int public; + } + - (void) test; + @end + + @implementation MySuperClass + - (void) test + { + /* FIXME: I wonder if the warnings shouldn't be better generated + when the variable is declared, rather than used! */ + int private = 12; + int protected = 12; + int public = 12; + int a; + + a = private; /* { dg-warning "hides instance variable" } */ + a = protected; /* { dg-warning "hides instance variable" } */ + a = public; /* { dg-warning "hides instance variable" } */ + } + @end + + + @interface MyClass : MySuperClass + @end + + @implementation MyClass + - (void) test + { + int private = 12; + int protected = 12; + int public = 12; + int a; + + /* The private variable can be shadowed without warnings, because + * it's invisible, and not accessible, to the subclass! */ + a = private; /* Ok */ + a = protected; /* { dg-warning "hides instance variable" } */ + a = public; /* { dg-warning "hides instance variable" } */ + } + @end diff -Nrc3pad gcc-3.3.2/gcc/testsuite/objc.dg/proto-lossage-3.m gcc-3.3.3/gcc/testsuite/objc.dg/proto-lossage-3.m *** gcc-3.3.2/gcc/testsuite/objc.dg/proto-lossage-3.m Thu Jan 1 00:00:00 1970 --- gcc-3.3.3/gcc/testsuite/objc.dg/proto-lossage-3.m Tue Dec 2 01:59:37 2003 *************** *** 0 **** --- 1,25 ---- + /* Crash due to descriptionFor(Instance|Class)Method applied to + a protocol with no instance/class methods respectively. + Problem report and original fix by richard@brainstorm.co.uk. */ + /* { dg-do run } */ + #include + #include + #include + + @protocol NoInstanceMethods + + testMethod; + @end + + @protocol NoClassMethods + - testMethod; + @end + + int + main() + { + [@protocol(NoInstanceMethods) descriptionForInstanceMethod: @selector(name)]; + [@protocol(NoInstanceMethods) descriptionForClassMethod: @selector(name)]; + [@protocol(NoClassMethods) descriptionForInstanceMethod: @selector(name)]; + [@protocol(NoClassMethods) descriptionForClassMethod: @selector(name)]; + return 0; + } diff -Nrc3pad gcc-3.3.2/gcc/testsuite/treelang/ChangeLog gcc-3.3.3/gcc/testsuite/treelang/ChangeLog *** gcc-3.3.2/gcc/testsuite/treelang/ChangeLog Thu Oct 16 19:44:26 2003 --- gcc-3.3.3/gcc/testsuite/treelang/ChangeLog Sat Feb 14 20:19:26 2004 *************** *** 1,3 **** --- 1,7 ---- + 2004-02-14 Release Manager + + * GCC 3.3.3 Released. + 2003-10-16 Release Manager * GCC 3.3.2 Released.