URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
Compare Revisions
- This comparison shows the changes necessary to convert path
/openrisc/trunk/gnu-src/gcc-4.2.2/gcc/testsuite/g++.dg/overload
- from Rev 149 to Rev 154
- ↔ Reverse comparison
Rev 149 → Rev 154
/prom1.C
0,0 → 1,9
void foo(signed char) {} |
typedef int bar; |
void foo(bar) {} |
|
int main (int, char **) { |
char c; |
foo(c); |
return 0; |
} |
prom1.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: operator-star-1.C
===================================================================
--- operator-star-1.C (nonexistent)
+++ operator-star-1.C (revision 154)
@@ -0,0 +1,27 @@
+// Copyright (C) 2002 Free Software Foundation
+// Origin: C++/70
+// Contributed by Gabriel Dos Reis
+// { dg-do compile }
+
+template
+ struct S;
+
+template
+ void operator* (S, S);
+
+template
+ struct S
+ {
+ friend void operator*<> (S, S); // { } // okay
+ void operator* (T) { }
+ };
+
+template
+ void operator* (S, S) { }
+
+int main()
+{
+ S s1, s2;
+ s1 * s2;
+ s1 * 2;
+}
operator-star-1.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: virtual1.C
===================================================================
--- virtual1.C (nonexistent)
+++ virtual1.C (revision 154)
@@ -0,0 +1,21 @@
+// Test that explicit scope suprresses virtual lookup even after an
+// explicit object.
+
+extern "C" int printf (const char *, ...);
+
+struct A
+{
+ virtual int f () { return 0; }
+};
+
+struct B: public A
+{
+ int f () { return 1; }
+ int g() { return this->A::f(); }
+};
+
+int main()
+{
+ B b;
+ return b.g();
+}
virtual1.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: new1.C
===================================================================
--- new1.C (nonexistent)
+++ new1.C (revision 154)
@@ -0,0 +1,21 @@
+typedef __SIZE_TYPE__ size_t;
+void *operator new(size_t, unsigned int);
+
+struct X{
+ X();
+ X(int);
+};
+
+
+void f(X *x = new X); // { dg-error "" }
+
+void f(X *x = new X(4)); // { dg-error "" }
+
+void f(X *x = new X[4]); // { dg-error "" }
+
+void f(X *x = new (3) X(6)); // { dg-error "" }
+
+void f(X *x = new (2) X[10]); // { dg-error "" }
+// { dg-error "candidate" "" { target *-*-* } 00 }
+
+void f(X *x = new X[10][5]); // { dg-error "" }
new1.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: operator1.C
===================================================================
--- operator1.C (nonexistent)
+++ operator1.C (revision 154)
@@ -0,0 +1,34 @@
+typedef struct _GdkDrawable GdkDrawable;
+typedef struct _GdkDrawable GdkBitmap;
+typedef struct _GdkDrawable GdkPixmap;
+
+class Drawable
+{
+public:
+ operator GdkDrawable* () const;
+};
+
+
+class Pixmap : public Drawable
+{
+public:
+ operator GdkPixmap* () const;
+
+};
+
+
+class Bitmap : public Pixmap
+{
+public:
+ operator GdkBitmap* () const;
+
+};
+
+class Event
+{
+};
+
+Bitmap::operator GdkBitmap* () const
+{
+ return 0;
+}
operator1.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: operator2.C
===================================================================
--- operator2.C (nonexistent)
+++ operator2.C (revision 154)
@@ -0,0 +1,14 @@
+// PR c++/19966
+// { dg-do compile }
+
+struct A
+{
+ static operator int(); // { dg-error "must be a nonstatic" }
+};
+
+struct B
+{
+ static int operator*(); // { dg-error "must be either" }
+};
+
+static operator int(); // { dg-error "must be a nonstatic" }
operator2.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: unknown1.C
===================================================================
--- unknown1.C (nonexistent)
+++ unknown1.C (revision 154)
@@ -0,0 +1,9 @@
+// { dg-do compile }
+
+void foo(void);
+int foo(int);
+template void bar(T f);
+
+void baz() {
+ bar(foo); // { dg-error "" }
+}
unknown1.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: VLA.C
===================================================================
--- VLA.C (nonexistent)
+++ VLA.C (revision 154)
@@ -0,0 +1,16 @@
+//Origin: kengole@us.ibm.com
+
+//PR c++/2478
+// G++ was rejecting this as it could not convert `int (*)[]' to `int (*)[0]'.
+// Using the C99 VLA style arrays in a struct.
+
+// { dg-do compile }
+
+struct S {
+ int (*p)[];
+} B;
+
+void foo() {
+ int (*p)[];
+ B.p=p; // { dg-bogus "cannot convert" }
+}
VLA.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: scope1.C
===================================================================
--- scope1.C (nonexistent)
+++ scope1.C (revision 154)
@@ -0,0 +1,10 @@
+// PR c++/9868
+
+template struct D {
+ void (*p)();
+
+ void clear() {
+ D::p();
+ }
+};
+template class D;
scope1.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: arg1.C
===================================================================
--- arg1.C (nonexistent)
+++ arg1.C (revision 154)
@@ -0,0 +1,23 @@
+// { dg-do compile }
+
+// Copyright (C) 2004 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 30 Nov 2004
+
+// PR 17431. copy ctor from user conv
+// Origin: Volker Reichelt
+
+struct A {};
+
+struct B : A
+{
+ B(int); // { dg-error "" "" }
+ B(B &); // { dg-error "" "" }
+ B(A); // { dg-error "" "" }
+};
+
+void foo(B);
+
+void bar()
+{
+ foo(0); // { dg-error "no matching function|initializing" "" }
+}
arg1.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: arg2.C
===================================================================
--- arg2.C (nonexistent)
+++ arg2.C (revision 154)
@@ -0,0 +1,22 @@
+// { dg-do compile }
+
+// Copyright (C) 2004 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 30 Nov 2004
+
+// PR 17431. copy ctor from user conv
+// Origin: Volker Reichelt
+
+struct A {};
+
+struct B : A
+{
+ B(int);
+ B(A);
+};
+
+void foo(B);
+
+void bar()
+{
+ foo(0);
+}
arg2.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: arg3.C
===================================================================
--- arg3.C (nonexistent)
+++ arg3.C (revision 154)
@@ -0,0 +1,22 @@
+// { dg-do compile }
+
+// Copyright (C) 2004 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 30 Nov 2004
+
+// PR 17431. copy ctor from user conv
+// Origin: Volker Reichelt
+
+struct A {};
+
+struct B : A
+{
+ B(int); // { dg-error "" "" }
+ B(B&); // { dg-error "" "" }
+};
+
+void foo(B);
+
+void bar()
+{
+ foo(0); // { dg-error "no matching function|initializing" "" }
+}
arg3.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: template1.C
===================================================================
--- template1.C (nonexistent)
+++ template1.C (revision 154)
@@ -0,0 +1,12 @@
+template T Foo (int) {T d;}
+
+void Baz (void (*)(int), int);
+
+int Foo ();
+int Baz (int (*)(), float);
+
+void Bar ()
+{
+ Baz (Foo, 1.0f);
+
+}
template1.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: arg4.C
===================================================================
--- arg4.C (nonexistent)
+++ arg4.C (revision 154)
@@ -0,0 +1,30 @@
+// { dg-do compile }
+
+// Copyright (C) 2004 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 30 Nov 2004
+
+// PR 17431. copy ctor from user conv
+// Origin: Volker Reichelt
+
+struct A {};
+
+struct B : A
+{
+ B(int); // { dg-error "" "" }
+ B(B&); // { dg-error "" "" }
+ B(A); // { dg-error "" "" }
+};
+
+struct C
+{
+ operator B () const;
+};
+
+
+void foo(B);
+
+void bar()
+{
+ C c;
+ foo(c); // { dg-error "no matching function|initializing" "" }
+}
arg4.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: koenig1.C
===================================================================
--- koenig1.C (nonexistent)
+++ koenig1.C (revision 154)
@@ -0,0 +1,18 @@
+// PR c++/9336
+// Bug: The first, invalid call to f caused us to crash on the second,
+// valid call.
+
+namespace N {
+ template void f (T);
+ struct A;
+}
+
+struct B;
+
+void g ()
+{
+ B *bp;
+ N::A *ap;
+ f (bp); // { dg-error "not declared" }
+ f (ap);
+}
koenig1.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: ref1.C
===================================================================
--- ref1.C (nonexistent)
+++ ref1.C (revision 154)
@@ -0,0 +1,21 @@
+// Copyright (C) 2004 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 5 Mar 2004
+
+// Origin: schmid@snake.iap.physik.tu-darmstadt.de
+// Bug 14397: Bogus access error.
+
+struct S {
+ S (int);
+ S(S const&);
+ private:
+ S(S&);
+};
+
+S foo()
+{
+ int result = 0;
+
+ S s ((0,S (result)));
+
+ return S (result);
+}
ref1.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: template2.C
===================================================================
--- template2.C (nonexistent)
+++ template2.C (revision 154)
@@ -0,0 +1,8 @@
+typedef int PyObject;
+typedef PyObject *(*PyCFunction)(PyObject *, PyObject *);
+template int _clear(PyObject* self);
+
+void _typeInfo()
+{
+ reinterpret_cast(_clear); // { dg-error "overloaded function" }
+}
template2.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: koenig2.C
===================================================================
--- koenig2.C (nonexistent)
+++ koenig2.C (revision 154)
@@ -0,0 +1,15 @@
+// Copyright (C) 2005 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 18 Oct 2005
+
+// PR 21383
+// Origin: Matthew Hall
+
+template
+void dummy(T& t);
+
+void anyfunc(int x);
+
+void Foo ()
+{
+ anyfunc (&dummy<>); // { dg-error "cannot resolve overload" "" }
+}
koenig2.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: ambig1.C
===================================================================
--- ambig1.C (nonexistent)
+++ ambig1.C (revision 154)
@@ -0,0 +1,23 @@
+// [over.best.ics]: For the purpose of ranking implicit conversion
+// sequences as described in _over.ics.rank_, the ambiguous conversion
+// sequence is treated as a user-defined sequence that is indistinguishable
+// from any other user- defined conversion sequence.
+
+struct A
+{
+ A(long);
+ A(char);
+};
+
+struct B
+{
+ B(int);
+};
+
+void f(A); // { dg-error "" "candidate" }
+void f(B); // { dg-error "" "candidate" }
+
+int main()
+{
+ f (42); // { dg-error "ambiguous" "ambiguous" }
+}
ambig1.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: ambig2.C
===================================================================
--- ambig2.C (nonexistent)
+++ ambig2.C (revision 154)
@@ -0,0 +1,22 @@
+// Bug: g++ thought that the QChar overload was a viable but ambiguous
+// candidate. It isn't viable, because there's no conversion from const
+// char * to QChar.
+
+class QChar {
+public:
+ QChar( char c );
+ QChar( unsigned char c );
+};
+
+class QString
+{
+public:
+ QString( const char *str ); // deep copy
+
+ QString &insert( unsigned int index, const QString & );
+ QString &insert( unsigned int index, QChar );
+ QString &prepend( const char* );
+};
+
+inline QString &QString::prepend( const char* s )
+{ return insert(0,s); }
ambig2.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: pmf1.C
===================================================================
--- pmf1.C (nonexistent)
+++ pmf1.C (revision 154)
@@ -0,0 +1,21 @@
+// { dg-do compile }
+
+// Copyright (C) 2002 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 04 Mar 2002
+// Jason Merrill
+
+struct A { int i; };
+struct B: private A {};
+struct C {
+ C (int A::*);
+};
+
+int A::*aip = &A::i;
+
+void f (int B::*) {} // should choose this, even though it's ill-formed
+void f (C) {} // even though this would be well-formed
+
+int main ()
+{
+ f (aip); // { dg-error "'A' is an inaccessible base of 'B'|conversion" "" }
+}
pmf1.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: cond1.C
===================================================================
--- cond1.C (nonexistent)
+++ cond1.C (revision 154)
@@ -0,0 +1,24 @@
+// Test that converting a COND_EXPR to void doesn't result in trying to
+// bitwise copy a class with a nontrivial copy constructor (and thus a
+// compiler abort).
+
+// { dg-options "-O" }
+
+struct A {
+ virtual ~A() { }
+};
+
+A a1, a2;
+inline A& one () { return a1; }
+inline A& two () { return a2; }
+
+inline void f (int i)
+{
+ i ? a1 : a2;
+ i ? one() : two();
+}
+
+int main ()
+{
+ f (1);
+}
cond1.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: ellipsis1.C
===================================================================
--- ellipsis1.C (nonexistent)
+++ ellipsis1.C (revision 154)
@@ -0,0 +1,21 @@
+// PR c++/15142
+// Bug: We were aborting after giving a warning about passing a non-POD.
+
+// Suppress the warning about undefined behavior.
+// { dg-options "-w" }
+
+struct B {
+ B() throw() { }
+ B(const B&) throw() { }
+};
+
+struct X {
+ B a;
+ X& operator=(const X&);
+};
+
+struct S { S(...); };
+
+void SillyFunc() {
+ throw S(X());
+}
ellipsis1.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: using1.C
===================================================================
--- using1.C (nonexistent)
+++ using1.C (revision 154)
@@ -0,0 +1,11 @@
+void f();
+
+namespace N {
+ using ::f;
+}
+
+bool b;
+
+void g() {
+ b = N::f == ::f;
+}
using1.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: using2.C
===================================================================
--- using2.C (nonexistent)
+++ using2.C (revision 154)
@@ -0,0 +1,87 @@
+// { dg-do compile }
+
+// Copyright 2005 Free Software Foundation
+// by Alexandre Oliva
+// based on https://bugzilla.redhat.com/beta/show_bug.cgi?id=149098
+
+// Per the ISO C++ 90 Standard, using declarations before of after a
+// declaration of the same function name and prototype should be
+// errors (7.3.3/11). However, DR 101's resolution recommends
+// accepting such duplicates if they denote the same function, which
+// means extern "C" declarations are supposed to match and be
+// accepted.
+
+// This test makes sure we reject or accept regular and using
+// declarations regardless of order as appropriate, and that having
+// built-in declarations or overloads doesn't affet the outcome.
+
+namespace std {
+ extern "C" void exit (int) throw (); // these are built-in (extern "C")
+ extern "C" void *malloc (__SIZE_TYPE__) throw () __attribute__((malloc));
+
+ void abort (void) throw (); // these aren't
+ void _exit (int) throw (); // { dg-error "std::_exit" }
+
+ extern "C" void c1 (void) throw ();
+ void C1 (void) throw (); // { dg-error "std::C1" }
+
+ extern "C" void c2 (void) throw ();
+ void C2 (void) throw ();
+
+ extern "C" void c3 (void) throw ();
+ void C3 (void) throw (); // { dg-error "std::C3" }
+}
+
+namespace other {
+ extern "C" void c3 (void) throw ();
+ void C3 (void) throw (); // { dg-error "other::C3" }
+}
+
+using std::exit;
+using std::_exit;
+using std::c1;
+using std::C1;
+
+ extern "C" void exit (int) throw ();
+ extern "C" void *malloc (__SIZE_TYPE__) throw () __attribute__((malloc));
+
+ void abort (void) throw ();
+ void _exit (int) throw (); // { dg-error "conflicts|void _exit" }
+
+ extern "C" void c1 (void) throw ();
+ void C1 (void) throw (); // { dg-error "conflicts|void C1" }
+
+ extern "C" void c2 (void) throw ();
+ void C2 (void) throw ();
+
+ int C3 (int) throw ();
+
+using std::malloc;
+using std::abort; // { dg-error "already declared" }
+using std::c2;
+using std::C2; // { dg-error "already declared" }
+
+using std::c3; using other::c3;
+using std::C3; using other::C3;
+
+ long C3 (long) throw ();
+
+int main () {
+ malloc (0);
+ exit (0);
+
+ _exit (0); // { dg-error "ambiguous" }
+ abort ();
+
+ c1 ();
+ C1 (); // { dg-error "ambiguous" }
+
+ c2 ();
+ C2 (); // one might expect an ambiguous call error here as well, but
+ // we don't add the using decl if we find it to be in error.
+
+ c3 ();
+ C3 (); // { dg-error "ambiguous" }
+ C3 (0);
+ C3 (0l);
+}
using2.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: error1.C
===================================================================
--- error1.C (nonexistent)
+++ error1.C (revision 154)
@@ -0,0 +1,7 @@
+// { dg-do compile }
+
+struct S
+{
+ void f () {} // { dg-error "with" "" }
+ int f () { return 0; } // { dg-error "overloaded" "" }
+};
error1.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: error2.C
===================================================================
--- error2.C (nonexistent)
+++ error2.C (revision 154)
@@ -0,0 +1,11 @@
+// Copyright (C) 2005 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 18 Oct 2005
+
+// PR 22604
+// Origin: Volker Reichelt
+
+struct A
+{
+ void foo(); // { dg-error "with" "" }
+ virtual void foo(); // { dg-error "cannot be overloaded" "" }
+};
error2.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: builtin1.C
===================================================================
--- builtin1.C (nonexistent)
+++ builtin1.C (revision 154)
@@ -0,0 +1,16 @@
+// Test that we don't discard builtin candidates inappropriately.
+
+struct B { };
+
+struct A {
+ operator int ();
+ operator B ();
+};
+
+void operator+ (B, B); // { dg-error "" "candidate" }
+
+int main ()
+{
+ A a;
+ a + a; // { dg-error "" "ambiguous" }
+}
builtin1.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: member1.C
===================================================================
--- member1.C (nonexistent)
+++ member1.C (revision 154)
@@ -0,0 +1,22 @@
+// { dg-do compile }
+
+// Copyright (C) 2002 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 29 Sep 2002
+
+struct X
+{
+ template static void ProcessProxy ();
+ typedef void (*Callback) ();
+ void Process (Callback);
+
+ template void Process ()
+ {
+ Process (&ProcessProxy);
+ }
+
+};
+
+void foo (X *x)
+{
+ x->Process ();
+}
member1.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: builtin2.C
===================================================================
--- builtin2.C (nonexistent)
+++ builtin2.C (revision 154)
@@ -0,0 +1,8 @@
+namespace __gnu_cxx {
+ void llabs(long long x);
+}
+
+namespace std {
+ using __gnu_cxx::llabs;
+ using __gnu_cxx::llabs;
+}
builtin2.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: member2.C
===================================================================
--- member2.C (nonexistent)
+++ member2.C (revision 154)
@@ -0,0 +1,41 @@
+// { dg-do run }
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 17 Oct 2002
+
+// PR 7676. We didn't notice template members were different.
+
+struct foo
+{
+ template
+ int bar() {return 1;}
+
+ template
+ int bar() {return 2;}
+
+};
+
+struct baz : foo
+{
+ using foo::bar;
+ template
+ int bar () {return 3;}
+};
+
+int main ()
+{
+ baz b;
+ foo f;
+
+ if (f.bar<1> () != 2)
+ return 1;
+ if (f.bar () != 1)
+ return 2;
+
+ if (b.bar<1> () != 3)
+ return 1;
+ if (b.bar () != 1)
+ return 2;
+
+ return 0;
+}
member2.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: builtin3.C
===================================================================
--- builtin3.C (nonexistent)
+++ builtin3.C (revision 154)
@@ -0,0 +1,10 @@
+// PR c++/11409
+// { dg-do compile }
+
+namespace std {
+ double fabs (double);
+}
+using std::fabs;
+
+double (*p) (double) = &fabs; // { dg-bogus "is ambiguous" "" }
+
builtin3.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: addr1.C
===================================================================
--- addr1.C (nonexistent)
+++ addr1.C (revision 154)
@@ -0,0 +1,50 @@
+// { dg-do run }
+
+// Copyright (C) 2003 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 6 Sep 2003
+// Origin: Volker Reichelt
+
+// PR c++/11788 we failed to instantiate a decl, and we lost some side
+// effects
+
+static int flag = 0;
+
+template struct A
+{
+ A &active () { flag++;}
+
+ static void foo() {}
+
+ static void bar () {}
+ static void bar (int) {}
+
+ int m;
+};
+
+void (*baz ()) ()
+{
+ A a;
+ return &a.active ().foo;
+}
+
+void (*boz ()) ()
+{
+ A a;
+ return &a.active ().bar;
+}
+
+int *buz ()
+{
+ A a;
+
+ return &a.active ().m;
+}
+
+int main ()
+{
+ baz ();
+ boz ();
+ buz ();
+
+ return flag != 3;
+}
addr1.C
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property