diff -Nrc3pad gcc-3.0.2/gcc/testsuite/ChangeLog gcc-3.0.3/gcc/testsuite/ChangeLog *** gcc-3.0.2/gcc/testsuite/ChangeLog Tue Oct 23 10:20:08 2001 --- gcc-3.0.3/gcc/testsuite/ChangeLog Thu Dec 20 11:22:22 2001 *************** *** 1,3 **** --- 1,32 ---- + 2001-12-20 Release Manager + + * GCC 3.0.3 Released. + + 2001-12-11 Neil Booth + + * gcc.dg/concat.c: New test. + + 2001-12-06 Richard Henderson + + * gcc.c-torture/compile/20011205-1.c: New test. + + 2001-11-30 Jakub Jelinek + + * gcc.c-torture/compile/20011109-1.c: New test. + + 2001-11-29 Mark Mitchell + + * g++.old-deja/g++.pt/memtemp100.C: Remove non-standard + constructs. + + 2001-11-24 Neil Booth + + * gcc.dg/cpp/redef2.c: Update. + + 2001-10-30 Jakub Jelinek + + * gcc.c-torture/compile/20011029-1.c: New test. + 2001-10-23 Release Manager * GCC 3.0.2 Released. diff -Nrc3pad gcc-3.0.2/gcc/testsuite/g++.dg/ref1.C gcc-3.0.3/gcc/testsuite/g++.dg/ref1.C *** gcc-3.0.2/gcc/testsuite/g++.dg/ref1.C Wed Dec 31 16:00:00 1969 --- gcc-3.0.3/gcc/testsuite/g++.dg/ref1.C Tue Nov 20 00:58:35 2001 *************** *** 0 **** --- 1,47 ---- + // Origin: Peter Schmid + + // { dg-do link } + + template + class Ptr { + protected: + T * ptr; + + public: + + Ptr(void) : ptr(0) { }; + Ptr(T * p) : ptr(p) { }; + + ~Ptr(void) { delete ptr; } + + operator T & () { return *ptr; } + }; + + class base { + public: + base(void) { } + ~base(void) { } + }; + + + class foo : public base { + private: + foo(const foo & rv); + + public: + + foo(void) { } + ~foo(void) { } + }; + + void func2(base & b) { + // ... + } + + int main () { + Ptr f = new foo; + /* This should not result in a copy; the result of the conversion + operator should be bound directly to the reference argument to + `func2'. */ + func2(f); + } diff -Nrc3pad gcc-3.0.2/gcc/testsuite/g++.dg/sizeof1.C gcc-3.0.3/gcc/testsuite/g++.dg/sizeof1.C *** gcc-3.0.2/gcc/testsuite/g++.dg/sizeof1.C Wed Dec 31 16:00:00 1969 --- gcc-3.0.3/gcc/testsuite/g++.dg/sizeof1.C Mon Nov 19 20:39:26 2001 *************** *** 0 **** --- 1,15 ---- + // Test use of `sizeof' as a template parameter. + // Origin: smacdonald@seimac.com + + // { dg-do compile } + + template struct A {}; + + template + struct B + { + char * f() const + { + return (A::value); + } + }; diff -Nrc3pad gcc-3.0.2/gcc/testsuite/g++.old-deja/g++.law/cvt7.C gcc-3.0.3/gcc/testsuite/g++.old-deja/g++.law/cvt7.C *** gcc-3.0.2/gcc/testsuite/g++.old-deja/g++.law/cvt7.C Mon May 14 12:38:09 2001 --- gcc-3.0.3/gcc/testsuite/g++.old-deja/g++.law/cvt7.C Thu Nov 29 12:16:18 2001 *************** *** 10,17 **** class A { public: ! A(int j) { i = j; } // ERROR - candidate ! A(A& a) { i = a.i; } // ERROR - candidate operator int() { return i; } void assign(int v) { i = v; } --- 10,17 ---- class A { public: ! A(int j) { i = j; } ! A(A& a) { i = a.i; } operator int() { return i; } void assign(int v) { i = v; } *************** B::run() *** 37,46 **** // Replacing above with "switch (int(in))" removes the error. { case 0: ! out = 1; // ERROR - no usable copy ctor break; default: ! out = 0; // ERROR - no usable copy ctor break; } } --- 37,46 ---- // Replacing above with "switch (int(in))" removes the error. { case 0: ! out = 1; break; default: ! out = 0; break; } } diff -Nrc3pad gcc-3.0.2/gcc/testsuite/g++.old-deja/g++.mike/p5469.C gcc-3.0.3/gcc/testsuite/g++.old-deja/g++.mike/p5469.C *** gcc-3.0.2/gcc/testsuite/g++.old-deja/g++.mike/p5469.C Sat Dec 9 10:34:12 2000 --- gcc-3.0.3/gcc/testsuite/g++.old-deja/g++.mike/p5469.C Thu Nov 29 12:16:18 2001 *************** int count; *** 4,10 **** class A { A(); ! A(const A&); // ERROR - referenced below public: A(int) { ++count; } ~A() { --count; } --- 4,10 ---- class A { A(); ! A(const A&); public: A(int) { ++count; } ~A() { --count; } *************** public: *** 14,20 **** int main() { { A a (1); ! if (a == 2 && a == 1) // ERROR - private copy ctor ; } return count; --- 14,20 ---- int main() { { A a (1); ! if (a == 2 && a == 1) ; } return count; diff -Nrc3pad gcc-3.0.2/gcc/testsuite/g++.old-deja/g++.mike/p5469a.C gcc-3.0.3/gcc/testsuite/g++.old-deja/g++.mike/p5469a.C *** gcc-3.0.2/gcc/testsuite/g++.old-deja/g++.mike/p5469a.C Sat Dec 9 10:34:12 2000 --- gcc-3.0.3/gcc/testsuite/g++.old-deja/g++.mike/p5469a.C Thu Nov 29 13:44:11 2001 *************** int count; *** 4,10 **** class A { A(); ! A(const A&); // ERROR - referenced below public: A(int) { ++count; } ~A() { --count; } --- 4,10 ---- class A { A(); ! A(const A&); public: A(int) { ++count; } ~A() { --count; } *************** public: *** 14,20 **** int main() { { A a (1); ! if (a == 2 || a == 1) // ERROR - private copy ctor ; } return count; --- 14,20 ---- int main() { { A a (1); ! if (a == 2 || a == 1) ; } return count; diff -Nrc3pad gcc-3.0.2/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog gcc-3.0.3/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog *** gcc-3.0.2/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog Tue Oct 23 10:20:13 2001 --- gcc-3.0.3/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog Thu Dec 20 11:22:27 2001 *************** *** 1,3 **** --- 1,7 ---- + 2001-12-20 Release Manager + + * GCC 3.0.3 Released. + 2001-10-23 Release Manager * GCC 3.0.2 Released. diff -Nrc3pad gcc-3.0.2/gcc/testsuite/g++.old-deja/g++.other/copy3.C gcc-3.0.3/gcc/testsuite/g++.old-deja/g++.other/copy3.C *** gcc-3.0.2/gcc/testsuite/g++.old-deja/g++.other/copy3.C Wed Dec 31 16:00:00 1969 --- gcc-3.0.3/gcc/testsuite/g++.old-deja/g++.other/copy3.C Thu Nov 29 12:16:18 2001 *************** *** 0 **** --- 1,23 ---- + // Build don't run: + // Origin: ericp@mit.edu + + class bar { + }; + + class foo { + foo (const foo &f); + + public: + + foo (bar x) {} + foo () {} + + void test (const foo &f) {} + }; + + int main (void) { + foo f; + bar b; + + f.test (b); + } diff -Nrc3pad gcc-3.0.2/gcc/testsuite/g++.old-deja/g++.other/externC5.C gcc-3.0.3/gcc/testsuite/g++.old-deja/g++.other/externC5.C *** gcc-3.0.2/gcc/testsuite/g++.old-deja/g++.other/externC5.C Wed Dec 31 16:00:00 1969 --- gcc-3.0.3/gcc/testsuite/g++.old-deja/g++.other/externC5.C Thu Nov 29 19:12:45 2001 *************** *** 0 **** --- 1,19 ---- + // Build don't link: + // Origin: schmid@snake.iap.physik.tu-darmstadt.de + + extern "C" int rand (void) throw (); + + namespace std + { + extern "C" int rand(void) throw(); + template void f(T a) {} + } + + using namespace std; + + int main() + { + f(rand); + f(std::rand); + f(::rand); + } diff -Nrc3pad gcc-3.0.2/gcc/testsuite/g++.old-deja/g++.pt/memtemp100.C gcc-3.0.3/gcc/testsuite/g++.old-deja/g++.pt/memtemp100.C *** gcc-3.0.2/gcc/testsuite/g++.old-deja/g++.pt/memtemp100.C Wed Dec 31 16:00:00 1969 --- gcc-3.0.3/gcc/testsuite/g++.old-deja/g++.pt/memtemp100.C Thu Nov 29 10:51:19 2001 *************** *** 0 **** --- 1,40 ---- + // Build don't link: + // Origin: philippeb@videotron.ca + // Special g++ Options: + + #include + + using namespace std; + + template struct traits + { + typedef long next; + }; + + + template + struct c1 + { + template + struct c2 + { + c2() + { + cout << __PRETTY_FUNCTION__ << endl; + } + }; + }; + + + template + void foo() + { + cout << __PRETTY_FUNCTION__ << endl; + typename c1::next>::template c2(); + } + + + int main() + { + foo(); + } diff -Nrc3pad gcc-3.0.2/gcc/testsuite/g++.old-deja/g++.warn/virt1.C gcc-3.0.3/gcc/testsuite/g++.old-deja/g++.warn/virt1.C *** gcc-3.0.2/gcc/testsuite/g++.old-deja/g++.warn/virt1.C Wed Dec 31 16:00:00 1969 --- gcc-3.0.3/gcc/testsuite/g++.old-deja/g++.warn/virt1.C Thu Nov 29 13:49:56 2001 *************** *** 0 **** --- 1,10 ---- + // Special g++ Options: -Woverloaded-virtual + // Build don't link: + + struct A { + virtual void f(); // WARNING - hidden + }; + + struct B: public A { + void f(int); // WARNING - by this + }; diff -Nrc3pad gcc-3.0.2/gcc/testsuite/gcc.c-torture/compile/20011029-1.c gcc-3.0.3/gcc/testsuite/gcc.c-torture/compile/20011029-1.c *** gcc-3.0.2/gcc/testsuite/gcc.c-torture/compile/20011029-1.c Wed Dec 31 16:00:00 1969 --- gcc-3.0.3/gcc/testsuite/gcc.c-torture/compile/20011029-1.c Tue Oct 30 10:01:18 2001 *************** *** 0 **** --- 1,9 ---- + void foo (void *) __attribute__ ((noreturn)); + + void + bar (void *x) + { + if (__builtin_setjmp (x)) + return; + foo (x); + } diff -Nrc3pad gcc-3.0.2/gcc/testsuite/gcc.c-torture/compile/20011109-1.c gcc-3.0.3/gcc/testsuite/gcc.c-torture/compile/20011109-1.c *** gcc-3.0.2/gcc/testsuite/gcc.c-torture/compile/20011109-1.c Wed Dec 31 16:00:00 1969 --- gcc-3.0.3/gcc/testsuite/gcc.c-torture/compile/20011109-1.c Fri Nov 30 11:44:04 2001 *************** *** 0 **** --- 1,51 ---- + typedef struct { short x[4]; } S; + typedef struct { unsigned int a, b, c; S *d; } T; + + S *(*foo) (T *, int, int, int, int); + unsigned short *(*bar)(const T *); + unsigned short baz(T *,const int); + + T *die (void) + { + typedef struct { unsigned int a, b, e; double f, g; } U; + + char h[8], i[2053], j[2053]; + double k, l, m; + U n; + T *o; + unsigned short p; + int q, r; + long s; + unsigned short *t; + S *u; + unsigned char *v, *w; + unsigned int x; + + o = 0; + for (x = 0; x < n.e; x++) + { + l = 1.0; + if (n.g - n.f <= 1.0) + l = ((1 << o->c) - 1) / (n.g - n.f); + v = w; + for (r = o->b - 1; r >= 0; r--) + { + u = foo (o, 0, r, o->a, 1); + if (!u) + break; + t = bar (o); + for (q = 0; q < (int) o->a; q++) + { + h[0] = *v; + s = *v++; + k = (double) s; + m = l*k; + p = m < 0 ? 0 : m > (1 << o->c) - 1 ? (1 << o->c) - 1 : m + 0.5; + p = baz (o,p); + t[q] = p; + *u++ = o->d[p]; + } + } + } + return o; + } diff -Nrc3pad gcc-3.0.2/gcc/testsuite/gcc.c-torture/compile/20011205-1.c gcc-3.0.3/gcc/testsuite/gcc.c-torture/compile/20011205-1.c *** gcc-3.0.2/gcc/testsuite/gcc.c-torture/compile/20011205-1.c Wed Dec 31 16:00:00 1969 --- gcc-3.0.3/gcc/testsuite/gcc.c-torture/compile/20011205-1.c Thu Dec 6 16:21:32 2001 *************** *** 0 **** --- 1,10 ---- + /* Failure to mark_addressable all operands before evaluation means we + don't set up the proper temporaries, which leaves us with an asm that + doesn't match its contraints. */ + + long foo() + { + long x; + asm("" : "=r"(x) : "m"(x)); + return x; + } diff -Nrc3pad gcc-3.0.2/gcc/testsuite/gcc.dg/concat.c gcc-3.0.3/gcc/testsuite/gcc.dg/concat.c *** gcc-3.0.2/gcc/testsuite/gcc.dg/concat.c Wed Dec 31 16:00:00 1969 --- gcc-3.0.3/gcc/testsuite/gcc.dg/concat.c Tue Dec 11 14:17:25 2001 *************** *** 0 **** --- 1,16 ---- + /* Copyright (C) 2001 Free Software Foundation, Inc. */ + + /* { dg-do compile } */ + + /* Test we output a warning for concatenation of artifical strings. + + Neil Booth, 10 Dec 2001. */ + + void foo () + { + char str1[] = __FUNCTION__ "."; /* { dg-warning "deprecated" } */ + char str2[] = __PRETTY_FUNCTION__ ".";/* { dg-warning "deprecated" } */ + char str3[] = "." __FUNCTION__; /* { dg-warning "deprecated" } */ + char str4[] = "." __PRETTY_FUNCTION__;/* { dg-warning "deprecated" } */ + char str5[] = "." "."; /* No warning. */ + } diff -Nrc3pad gcc-3.0.2/gcc/testsuite/gcc.dg/cpp/redef2.c gcc-3.0.3/gcc/testsuite/gcc.dg/cpp/redef2.c *** gcc-3.0.2/gcc/testsuite/gcc.dg/cpp/redef2.c Sat Dec 9 04:07:56 2000 --- gcc-3.0.3/gcc/testsuite/gcc.dg/cpp/redef2.c Sat Nov 24 05:44:36 2001 *************** *** 1,7 **** /* Test for redefining macros with significant differences. */ /* { dg-do preprocess } ! { dg-options "-ansi -pedantic -Wall -fno-show-column" } */ #define mac(a, b) (a) + (b) #define mac(a, b) (a) * (b) --- 1,7 ---- /* Test for redefining macros with significant differences. */ /* { dg-do preprocess } ! { dg-options "-ansi -Wall -fno-show-column" } */ #define mac(a, b) (a) + (b) #define mac(a, b) (a) * (b) *************** *** 14,19 **** --- 14,22 ---- #define va(a...) a #define va(...) __VA_ARGS__ + #define foo(x) x + #define foo(x)x /* { dg-bogus "redefined" "redefined foo" } */ + /* { dg-warning "redefined" "redef mac" { target *-*-* } 7 } { dg-warning "redefined" "redef mac" { target *-*-* } 8 } { dg-warning "redefined" "redef mac" { target *-*-* } 9 } *************** *** 25,30 **** { dg-warning "previous" "prev def mac" { target *-*-* } 8 } { dg-warning "previous" "prev def ro" { target *-*-* } 11 } { dg-warning "previous" "prev def va" { target *-*-* } 14 } ! ! { dg-warning "named var" "named variadic" { target *-*-* } 14 } ! { dg-warning "anonymous var" "anon variadic" { target *-*-* } 15 } */ --- 28,31 ---- { dg-warning "previous" "prev def mac" { target *-*-* } 8 } { dg-warning "previous" "prev def ro" { target *-*-* } 11 } { dg-warning "previous" "prev def va" { target *-*-* } 14 } ! */