OpenCores
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++.old-deja/g++.ns
    from Rev 149 to Rev 154
    Reverse comparison

Rev 149 → Rev 154

/lookup5.C
0,0 → 1,23
// { dg-do assemble }
namespace A{
void f();
}
 
namespace B{
using namespace A;
void f(int); // { dg-error "" } referenced below
}
 
using namespace B;
 
void g()
{
::f(); // { dg-error "" } A::f is not found
}
 
using namespace A;
 
void g1()
{
::f(); // ok, it is found now
}
lookup5.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: scoped1.C =================================================================== --- scoped1.C (nonexistent) +++ scoped1.C (revision 154) @@ -0,0 +1,26 @@ +// { dg-do assemble } +// +// Copyright (C) 2000 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 10 Aug 2000 + +// Bug 354. We ICE'd before saying a namespace isn't an aggregate type. + +namespace mlp +{ + struct base + { + void reset (); + }; +} + +struct eo : mlp:: base +{ +}; + +void foo (eo &ref) +{ + ref.mlp::base::reset (); + ref.base::reset (); + ref.reset (); + ref.mlp::reset (); // { dg-error "" } not an aggregate type +}
scoped1.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: alias2.C =================================================================== --- alias2.C (nonexistent) +++ alias2.C (revision 154) @@ -0,0 +1,8 @@ +// { dg-do assemble } +namespace NS1 +{ + int a; +} + +namespace NS2 = NonExistant; //{ dg-error "" } +
alias2.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: anon1.C =================================================================== --- anon1.C (nonexistent) +++ anon1.C (revision 154) @@ -0,0 +1,13 @@ +// { dg-do run } +namespace{ + void f(); +} + +int main() +{ + f(); +} + +namespace{ + void f(){} +}
anon1.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: alias4.C =================================================================== --- alias4.C (nonexistent) +++ alias4.C (revision 154) @@ -0,0 +1,14 @@ +// { dg-do assemble } +namespace A = B; // { dg-error "" } unknown namespace + +namespace C{} +namespace D = C; +namespace D { // { dg-error "" } reopening namespace with alias + void f(); +} + +void C::f(){} // { dg-error "" } previous definition + +void D::f(){} // { dg-error "" } redefinition + +namespace E = C::F; // { dg-error "" } unknown namespace
alias4.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: alias6.C =================================================================== --- alias6.C (nonexistent) +++ alias6.C (revision 154) @@ -0,0 +1,36 @@ +// { dg-do run } +// Check namespace aliases inside blocks +namespace A { + int i; + void f(){ + i = 0; + } +} + +int g(); + +int main () +{ + namespace B = A; + B::i=42; + B::f(); + using namespace B; + f(); + // A::i is now 0, B::i is 1 + return g(); +} + +namespace B { + int i = 1; +} + +int g() +{ + namespace x = A; + if (x::i) + { + namespace x = B; + return x::i; + } + return x::i; +}
alias6.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: ns10.C =================================================================== --- ns10.C (nonexistent) +++ ns10.C (revision 154) @@ -0,0 +1,13 @@ +// { dg-do assemble } +namespace bb +{ + int f(int); + + namespace k + { + void foo(int bar) + { + int i=bb:f(bar); // { dg-error "" } namespace + } + } +}
ns10.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: ns12.C =================================================================== --- ns12.C (nonexistent) +++ ns12.C (revision 154) @@ -0,0 +1,23 @@ +// { dg-do run } +namespace fred +{ + int barney(); + extern int wilma; +} + +int fred::barney() +{ + return fred::wilma; +} + +int fred::wilma; + +int barney() +{ + return 1; +} + +int main() +{ + return fred::barney(); +}
ns12.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: ns14.C =================================================================== --- ns14.C (nonexistent) +++ ns14.C (revision 154) @@ -0,0 +1,17 @@ +// { dg-do run } + +namespace std{ + int f(){ + return 0; + } +} + +int f() +{ + return 1; +} + +int main() +{ + return std::f(); +}
ns14.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: extern1.C =================================================================== --- extern1.C (nonexistent) +++ extern1.C (revision 154) @@ -0,0 +1,18 @@ +// { dg-do link } + +// Based on a testcase by eyal.ben-david@aks.com + +// An extern declaration of an undeclared object within a function +// introduces the object into the enclosing namespace [basic.link]/7 + +namespace { + void foo() { + extern int xx; + xx = 0; + } + int xx = 1; +} + +int main() { + xx = 2; +}
extern1.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: ns16.C =================================================================== --- ns16.C (nonexistent) +++ ns16.C (revision 154) @@ -0,0 +1,14 @@ +// { dg-do assemble } + +class Y { +public: + void operator +(int) const; +}; + +namespace X { + extern Y const& z; +} + +void f(void) { + X::z + 1; +}
ns16.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: ns18.C =================================================================== --- ns18.C (nonexistent) +++ ns18.C (revision 154) @@ -0,0 +1,30 @@ +// { dg-do assemble } +// Origin: Theo Papadopoulo + +namespace Bname { + class B; +} + +template +class A { + friend class Bname::B; + static const int a = 1; +public: + A() { } +}; + +namespace Bname { + class B { + int a; + public: + template + B(const T&):a(T::a) { } + }; +} + +int +main() +{ + A a; + Bname::B b(a); +}
ns18.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,9 @@ +// { dg-do assemble } +namespace foo { + + template + class x {}; + +} + +foo::x y;
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: overload1.C =================================================================== --- overload1.C (nonexistent) +++ overload1.C (revision 154) @@ -0,0 +1,34 @@ +// { dg-do run } +// Unqualified lookup should find all functions. +// Duplicates are ignored as long as they lose during overload resolution. +namespace A{ + int f(){ + return 1; + } + int f(double); +} +namespace B{ + int f(int){ + return 2; + } + int f(double); +} + +int f(int,int) +{ + return 3; +} + +using namespace A; +using namespace B; + +int main() +{ + if(f() != 1) + return 1; + if(f(1) != 2) + return 1; + if(f(0,0) != 3) + return 1; + return 0; +}
overload1.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: template3.C =================================================================== --- template3.C (nonexistent) +++ template3.C (revision 154) @@ -0,0 +1,22 @@ +// { dg-do run } +//Check instantiation of templates outside their namespace +namespace A{ +template void g(){} +template struct B { + B(){ + f(); + } + void f() + { + g(); + } +}; +} + +template class A::B; +A::B s; + +int main() +{ + return 0; +}
template3.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: overload3.C =================================================================== --- overload3.C (nonexistent) +++ overload3.C (revision 154) @@ -0,0 +1,18 @@ +// { dg-do assemble } + +namespace A{ + void f(); +} + +using A::f; + +namespace A{ + void f(int); +} + +using A::f; + +void g() +{ + f(4); +}
overload3.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,10 @@ +// { dg-do assemble } +// { dg-options "" } +// Check association of {error} for Koenig lookup + +struct QString { operator void * (); }; +int foo() +{ + QString bar; + return (bar == __null ); +}
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: overload5.C =================================================================== --- overload5.C (nonexistent) +++ overload5.C (revision 154) @@ -0,0 +1,14 @@ +// { dg-do assemble } +namespace A{ + void f(){} +} + +using A::f; + +void f(int); +void f(){} // { dg-error "" } conflict + +void g() +{ + f(4); +}
overload5.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: template5.C =================================================================== --- template5.C (nonexistent) +++ template5.C (revision 154) @@ -0,0 +1,34 @@ +// { dg-do run } +//Check whether namespace-scoped template instantiations +//are mangled differently. + +namespace X{ + template + struct Y{ + int f(T){ + return 1; + } + templatevoid g(){} + }; +} + +template +struct Y{ + int f(T){ + return 2; + } +}; + +int main() +{ + X::Y z; + if (z.f(4) != 1) + return 1; + z.g(); + + Y z1; + if (z1.f(5) != 2) + return 1; + return 0; +} +
template5.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: koenig4.C =================================================================== --- koenig4.C (nonexistent) +++ koenig4.C (revision 154) @@ -0,0 +1,25 @@ +// { dg-do run } +void f(); +void f(int); + +namespace A{ + struct S{ + void f(); + void f(S); + }; + void f(S&){} + void h(S&){} +} + +template +void g(T t){ + f(t); +} + +int main() +{ + A::S s; + f(s); + g(s); + h(s); +}
koenig4.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: ns1.C =================================================================== --- ns1.C (nonexistent) +++ ns1.C (revision 154) @@ -0,0 +1,17 @@ +// { dg-do run } +namespace foo{ + int eine_funktion(int) + { + return 0; + } + + int eine_funktion(int,int) + { + return 1; + } +} + +int main(int,char**) +{ + return foo::eine_funktion(1); +}
ns1.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: template7.C =================================================================== --- template7.C (nonexistent) +++ template7.C (revision 154) @@ -0,0 +1,12 @@ +// { dg-do assemble } + + +// Based on bug report by Eric NICOLAS + +namespace foo { + template struct bar {}; +} + +void baz() { + foo::bar(); // { dg-error "" } template used as expression +}
template7.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: koenig6.C =================================================================== --- koenig6.C (nonexistent) +++ koenig6.C (revision 154) @@ -0,0 +1,13 @@ +// { dg-do assemble } +namespace A{ + struct X{}; + + X foo(X a){return a;} + void bar(X*){} +} + +int main() +{ + A::X x; + bar(&foo(x)); // { dg-warning "" } address of temporary +}
koenig6.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: ns3.C =================================================================== --- ns3.C (nonexistent) +++ ns3.C (revision 154) @@ -0,0 +1,17 @@ +// { dg-do assemble } +namespace foo{ + void eine_funktion(int) + {} +} + +using namespace foo; + +namespace foo{ + void eine_funktion(int,int) + {} +} + +void andere_funktion() +{ + eine_funktion(3,4); +}
ns3.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: type2.C =================================================================== --- type2.C (nonexistent) +++ type2.C (revision 154) @@ -0,0 +1,19 @@ +// { dg-do assemble } +// +// Copyright (C) 2001 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 11 April 2001 +// Origin:stephen.webb@cybersafe.com + +// Bug 2125. TYPE_DECLS never had their DECL_CONTEXT set, which +// confused forward references to classes. + +typedef void T; +namespace A { + class C; + typedef class C C; + typedef int T; + class C + { + T i; // got bogus error, found wrong T + }; +}
type2.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: template9.C =================================================================== --- template9.C (nonexistent) +++ template9.C (revision 154) @@ -0,0 +1,41 @@ +// { dg-do run } +// Produces ICE 980519. +// Test case from Dirk Engelmann + +namespace vector { + + // allocate memory for vector + + template + inline T* alloc(const int aWidth) + { + // allocate memory + return new T[aWidth]; + } + +} + +namespace matrix { + + // allocate memory for matrix + template + T** alloc(const int aWidth,const int aHeight) + { + // allocate memory + T **mat = vector::alloc(aHeight); + T *data = vector::alloc (aWidth*aHeight); + // set pointer + for (int i=0; i(10,20); + +}
template9.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: koenig8.C =================================================================== --- koenig8.C (nonexistent) +++ koenig8.C (revision 154) @@ -0,0 +1,14 @@ +// { dg-do assemble } +// Copyright (C) 1999 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 15 Dec 1999 + +// caused an ICE determining whether to perform Koenig lookup +// when checking is enabled + +template void Zap (T); + +void V3 () +{ + Zap (1); +} +
koenig8.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: ns5.C =================================================================== --- ns5.C (nonexistent) +++ ns5.C (revision 154) @@ -0,0 +1,6 @@ +// { dg-do assemble } +namespace X{ + class Y{}; +} + +X::Y z;
ns5.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,3 @@ +// { dg-do assemble } +using namespace bb; // { dg-error "" } .* +
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: ns7.C =================================================================== --- ns7.C (nonexistent) +++ ns7.C (revision 154) @@ -0,0 +1,26 @@ +// { dg-do assemble } +namespace A{ + struct X{ + int i; + X(){} + X(int j); + void operator=(const X&); + virtual ~X(){} + }; + void X::operator=(const X&o) + { + i=o.i; + } +} + +A::X::X(int j):i(j){} + +namespace A{ + struct Y:public X{ + int j; + Y(int,int); + }; +} + +A::Y::Y(int a,int b):X(a),j(b) +{}
ns7.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: invalid1.C =================================================================== --- invalid1.C (nonexistent) +++ invalid1.C (revision 154) @@ -0,0 +1,12 @@ +// { dg-do assemble } +namespace x { } + +void f(int); + +int main() +{ + x(); // { dg-error "" } calling a namespace + x=4; // { dg-error "" } assigning to a namespace + f(x); // { dg-error "" } passing a namespace as parameter +} +
invalid1.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: using3.C =================================================================== --- using3.C (nonexistent) +++ using3.C (revision 154) @@ -0,0 +1,16 @@ +// { dg-do assemble } + +typedef unsigned int atypedef; +struct astruct{}; +void afunction(); +void aovlfunction(); +void aovlfunction(int); +int avariable; + +namespace foo { + using ::atypedef; + using ::astruct; + using ::afunction; + using ::aovlfunction; + using ::avariable; +}
using3.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: ns9.C =================================================================== --- ns9.C (nonexistent) +++ ns9.C (revision 154) @@ -0,0 +1,13 @@ +// { dg-do assemble } +namespace bb +{ + int f(int); + + namespace k + { + void foo(int bar) + { + return bb:f(bar); //{ dg-error "" } syntax error + } + } +}
ns9.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: using5.C =================================================================== --- using5.C (nonexistent) +++ using5.C (revision 154) @@ -0,0 +1,6 @@ +// { dg-do assemble } +namespace a { + class b { + using std::c; //{ dg-error "" } namespace using on class level + }; +}
using5.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: using7.C =================================================================== --- using7.C (nonexistent) +++ using7.C (revision 154) @@ -0,0 +1,12 @@ +// { dg-do run } +namespace X{ + void f(int){} +} + +void f(); + +int main() +{ + using X::f; + f(3); +}
using7.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: template11.C =================================================================== --- template11.C (nonexistent) +++ template11.C (revision 154) @@ -0,0 +1,16 @@ +// { dg-do run } +void foo(){} + +namespace Bar{ + template + class Y{ + friend void foo(Y){} + }; +} + +int main() +{ + Bar::Y y; + foo(y); + foo(); +}
template11.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: using9.C =================================================================== --- using9.C (nonexistent) +++ using9.C (revision 154) @@ -0,0 +1,24 @@ +// { dg-do assemble } +// Test for proper merging of functions from multiple using directives. + + +namespace standard +{ void print(int) {} + void dump(int) {} +} +namespace A { using standard::print; } +namespace B { using namespace standard; } +namespace User +{ using namespace standard; + using namespace A; + void test() + { print(1); } + // egcs-1.1: call of overloaded `print (int)' is ambiguous +} +namespace User2 +{ using namespace standard; + using namespace B; + void test() + { print(1); } // egcs has no problems here +} +
using9.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: template13.C =================================================================== --- template13.C (nonexistent) +++ template13.C (revision 154) @@ -0,0 +1,23 @@ +// { dg-do compile } +// Templates defined outside must be declared inside +namespace bar +{ + // trick it to provide some prior declaration + template + void foo(); // { dg-error "definition" } + templateclass X; // { dg-error "previous declaration" } +} + +template +T const +bar::foo(T const &a) // { dg-error "" "" { xfail *-*-* } } not declared in bar - +{ + return a; +} + +template<> void bar::foo() // { dg-error "different namespace" } +{ +} + +template +class bar::X{}; // { dg-error "1 template parameter" }
template13.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: template15.C =================================================================== --- template15.C (nonexistent) +++ template15.C (revision 154) @@ -0,0 +1,5 @@ +// { dg-do assemble } +// Origin: Mark Mitchell + +namespace X { template void f () {} } +template void X::f ();
template15.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: crash2.C =================================================================== --- crash2.C (nonexistent) +++ crash2.C (revision 154) @@ -0,0 +1,11 @@ +// { dg-do assemble } + +// Submitted by bjornw@fairplay.no + + +namespace hei { + class CSomeClass {}; + extern CSomeClass SomeClass; +} + +hei::CSomeClass hei::CSomeClass; // { dg-error "" "" { xfail *-*-* } } should be hei::SomeClass -
crash2.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: template17.C =================================================================== --- template17.C (nonexistent) +++ template17.C (revision 154) @@ -0,0 +1,37 @@ +// { dg-do assemble } +// +// Copyright (C) 2001, 2003 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 29 Apr 2001 + +// Bug 2258. We failed to implement using directives inside template +// functions. This makes us regress now that ::std is real. + +namespace thing +{ + template T end2 (T); +} +namespace whatever +{ +} + +template void fn (T, T (*)(T)); + +namespace whatever +{ + template T end3 (T); +} + +template void mycout(const T& data) +{ + using namespace thing; + using namespace whatever; + + fn (data, end2); + fn (data, end3); +} + +int main() +{ + double data = 5.0; + mycout(data); +}
template17.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: crash4.C =================================================================== --- crash4.C (nonexistent) +++ crash4.C (revision 154) @@ -0,0 +1,11 @@ +// { dg-do assemble } +// Origin: Geoffrey Furnish + +namespace N { + + template class C + { + template friend class C; + }; + +}
crash4.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: using10.C =================================================================== --- using10.C (nonexistent) +++ using10.C (revision 154) @@ -0,0 +1,9 @@ +// { dg-do assemble } +//Based on a report by Helmut Jarausch +template +class foo{}; + +namespace ABC +{ + using ::foo; +}
using10.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: using12.C =================================================================== --- using12.C (nonexistent) +++ using12.C (revision 154) @@ -0,0 +1,19 @@ +// { dg-do assemble } +// Origin: Brendan Kehoe + +namespace foo +{ + void x (bool); // { dg-error "" } candidates + void x (char); // { dg-error "" } candidates + void x (int); // { dg-error "" } candidates + void x (double); // { dg-error "" } candidates +} + +namespace baz { void x (int); } // { dg-error "" } candidates + +void fn (int i) +{ + using foo::x; + using baz::x; + x(i); // { dg-error "" } ambiguous +}
using12.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: friend1.C =================================================================== --- friend1.C (nonexistent) +++ friend1.C (revision 154) @@ -0,0 +1,8 @@ +// { dg-do assemble } +namespace A{ + void f(int); +} + +class X{ + friend void A::f(int); +};
friend1.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: using14.C =================================================================== --- using14.C (nonexistent) +++ using14.C (revision 154) @@ -0,0 +1,15 @@ +// { dg-do assemble } +// Origin: Mark Mitchell + +extern "C" void f (); + +namespace N { +extern "C" void f (); +} + +using N::f; + +void g () +{ + f (); +}
using14.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: lookup2.C =================================================================== --- lookup2.C (nonexistent) +++ lookup2.C (revision 154) @@ -0,0 +1,9 @@ +// { dg-do assemble } +template +struct basic_string +{ + charT append (charT c) + { return c; } +}; +typedef char c; +template class basic_string ;
lookup2.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: lookup4.C =================================================================== --- lookup4.C (nonexistent) +++ lookup4.C (revision 154) @@ -0,0 +1,23 @@ +// { dg-do assemble } +namespace X{ + typedef int foo; + const int bar=2; + namespace Y{ + void f(foo); + extern int g; + extern int g1; + struct h{ + void i(foo); + }; + } +} + +void X::Y::f(foo) +{ +} + +int X::Y::g = bar; +int X::Y::g1(bar); + +void X::Y::h::i(foo) +{}
lookup4.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: bogus1.C =================================================================== --- bogus1.C (nonexistent) +++ bogus1.C (revision 154) @@ -0,0 +1,10 @@ +// { dg-do assemble } + +namespace N {} + +void f(int N::k); // { dg-error "" } + +class Foo +{ + int N::j; // { dg-error "" } invalid use of `::' +};
bogus1.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: alias1.C =================================================================== --- alias1.C (nonexistent) +++ alias1.C (revision 154) @@ -0,0 +1,19 @@ +// { dg-do run } +namespace foo{ + int eine_funktion(int) + { + return 0; + } +} + +namespace foo{ + void eine_funktion(int,int) + {} +} + +namespace bar = foo; + +int main() +{ + return bar::eine_funktion(3); +}
alias1.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: alias3.C =================================================================== --- alias3.C (nonexistent) +++ alias3.C (revision 154) @@ -0,0 +1,31 @@ +// { dg-do run } +namespace A{ + struct X{}; + void f(X&); + extern int i; + namespace a_very_long_namespace_name{ + int k; + } +} + +namespace B = A; +namespace B = A; +namespace B = B; + +namespace avl = A::a_very_long_namespace_name; + +void B::f(A::X& x) +{ + B::f(x); + f(x); + avl::k = 1; +} + +int B::i = 0; + +int main() +{ + B::X x; + if (B::i) + A::f(x); +}
alias3.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: alias7.C =================================================================== --- alias7.C (nonexistent) +++ alias7.C (revision 154) @@ -0,0 +1,11 @@ +// { dg-do assemble } +namespace A{ + namespace B{int i;} + using namespace B; +} + +namespace C=A; + +void f(){ + C::i = 1; +}
alias7.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: ns11.C =================================================================== --- ns11.C (nonexistent) +++ ns11.C (revision 154) @@ -0,0 +1,20 @@ +// { dg-do assemble } +// Build don't link +// Check [namespace.memdef]/2 + +namespace A{ + void f(int); + void f(int,int); + int i; // { dg-error "" } .* +} + +void A::f(){} // { dg-error "" } should have been declared before + +namespace B{ + void A::f(int){} // { dg-error "" } B does not surround A +} + +int A::i; // { dg-error "" } redefinition + +void A::f(int,int){} // ok +
ns11.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: undef1.C =================================================================== --- undef1.C (nonexistent) +++ undef1.C (revision 154) @@ -0,0 +1,5 @@ +// { dg-do assemble } +namespace A{ +} + +struct Y: A::S{}; //{ dg-error "" } no such type
undef1.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: ns13.C =================================================================== --- ns13.C (nonexistent) +++ ns13.C (revision 154) @@ -0,0 +1,14 @@ +// { dg-do run } +namespace std{ + void f(){} + void g(); + int i=5; +} + +void std::g() +{} + +int main() +{ + return std::i-5; +}
ns13.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: ns15.C =================================================================== --- ns15.C (nonexistent) +++ ns15.C (revision 154) @@ -0,0 +1,2 @@ +// { dg-do assemble } +namespace std {}
ns15.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: ns17.C =================================================================== --- ns17.C (nonexistent) +++ ns17.C (revision 154) @@ -0,0 +1,13 @@ +// { dg-do assemble } +namespace foo +{ + class c + { + }; +} + +int +foo::c:fn () // { dg-error "" } syntax error +{ +} +
ns17.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: ns19.C =================================================================== --- ns19.C (nonexistent) +++ ns19.C (revision 154) @@ -0,0 +1,7 @@ +// { dg-do assemble } +// Origin: Chip Salzenberg + +namespace N { +enum { E = 0 }; +static int f() { return E; } +}
ns19.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,14 @@ +// { dg-do assemble } +//Inheritance from templates which are namespace members +namespace foo { + + template + struct x { + x(){} + }; + +} + +class y : public foo::x {}; + +y r;
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: koenig1.C =================================================================== --- koenig1.C (nonexistent) +++ koenig1.C (revision 154) @@ -0,0 +1,18 @@ +// { dg-do assemble } +class ostream; +extern ostream cout; +namespace foo +{ + struct S + { + int i; + }; + + extern ostream &operator<<(ostream &, const S &); +} + + +void bar(foo::S s) +{ + cout << s ; +}
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: overload2.C =================================================================== --- overload2.C (nonexistent) +++ overload2.C (revision 154) @@ -0,0 +1,13 @@ +// { dg-do assemble } +namespace A{ + void f(); // { dg-error "" } .* +} + +using namespace A; + +void f(); // { dg-error "" } .* + +void g() +{ + f(); // { dg-error "" } ambiguous, ::f or A::f ? +}
overload2.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: koenig3.C =================================================================== --- koenig3.C (nonexistent) +++ koenig3.C (revision 154) @@ -0,0 +1,22 @@ +// { dg-do run } +//Check association of member pointer in overload resolution. +struct A { + int m_val; + friend int operator ->* (A & other, int A::*pm) + { return 31; } +}; + +int A::*pi = & A::m_val; + +int +main(void) +{ + A c; + c.m_val = 42; + int j = c ->* pi; + + if (j == 31) + return 0; + else + return 1; +}
koenig3.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: template4.C =================================================================== --- template4.C (nonexistent) +++ template4.C (revision 154) @@ -0,0 +1,18 @@ +// { dg-do run } +namespace NS +{ +template +void solver (){} + +} + +template +void solver(){} + +int main() +{ + solver(); + NS::solver(); +} + +
template4.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: overload4.C =================================================================== --- overload4.C (nonexistent) +++ overload4.C (revision 154) @@ -0,0 +1,8 @@ +// { dg-do assemble } +namespace A{ + void f(); +} + +using A::f; +void f(); // { dg-error "" } duplicate declaration +
overload4.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: template6.C =================================================================== --- template6.C (nonexistent) +++ template6.C (revision 154) @@ -0,0 +1,24 @@ +// { dg-do assemble } +//reported by Theodore Papadopoulo (Theodore.Papadopoulo@sophia.inria.fr) + +namespace A { + + namespace B { + + template + struct B { + static const unsigned count = 0; + template + void SetError(ForwardIter it,const T1& p1,const T2& p2) const { } + }; + + template <> + const unsigned B::count = 2; // { dg-error "" } duplicate init + } +} + +int +main() +{ + unsigned kk = A::B::count; // { dg-error "" } not a template: syntax error +}
template6.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: koenig5.C =================================================================== --- koenig5.C (nonexistent) +++ koenig5.C (revision 154) @@ -0,0 +1,18 @@ +// { dg-do assemble } +// To find function pointers in Koenig lookup is ok as long as we only find one. +namespace A{ + void foo(); + struct X{}; + void (*bar)(X*)=0; +} +using A::X; + +void (*foo)(X*)=0; + +void g() +{ + foo(new X); // ok -- DR 218 says that we find the global + // foo variable first, and therefore do not + // perform argument-dependent lookup. + bar(new X); // ok +}
koenig5.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: type1.C =================================================================== --- type1.C (nonexistent) +++ type1.C (revision 154) @@ -0,0 +1,18 @@ +// { dg-do assemble } +// Test that using an elaborated-type-specifier in a namespace to refer +// to a class outside the namespace does not cause its name to be considered +// declared in the namespace. + +// Contributed by Jason Merrill + +struct A { }; + +int A; + +namespace N { + struct A *f (); +} + +using namespace N; + +struct A *a;
type1.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: ns2.C =================================================================== --- ns2.C (nonexistent) +++ ns2.C (revision 154) @@ -0,0 +1,27 @@ +// { dg-do run } +namespace foo{ + struct X{ + int i; + void f(); + static int k1,k2; + }; + void X::f(){} + int var; + int X::k1; +} + +using namespace foo; +X zzz; +int X::k2; + +void andere_funktion() +{ + zzz.f(); + var=4; +} + +int main(int,char**) +{ + andere_funktion(); + return 0; +}
ns2.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: template8.C =================================================================== --- template8.C (nonexistent) +++ template8.C (revision 154) @@ -0,0 +1,9 @@ +// { dg-do assemble } +namespace X { + template class foo; +} + +template +class X::foo { + T worthless; +};
template8.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: koenig7.C =================================================================== --- koenig7.C (nonexistent) +++ koenig7.C (revision 154) @@ -0,0 +1,23 @@ +// { dg-do run } +// Test for Koenig lookup involving overloaded functions. + +namespace N1 { + struct A { }; + void f1(A) {} + void f2(float) {} + void g(void (*)(float)) {} +} + +using N1::f1; +void f1(float) {} + +using N1::f2; +template +void f2(N1::A, T) {} + +void g(void (*)(int)) {} + +int main() { + g(&f1); // Works? + g(f2); // Works? +}
koenig7.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: ns4.C =================================================================== --- ns4.C (nonexistent) +++ ns4.C (revision 154) @@ -0,0 +1,11 @@ +// { dg-do assemble } +namespace A{ + enum foo{a,b,c}; +} +using A::foo; +using A::b; +void g() +{ + foo x; + x=b; +}
ns4.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: koenig9.C =================================================================== --- koenig9.C (nonexistent) +++ koenig9.C (revision 154) @@ -0,0 +1,13 @@ +// { dg-do assemble } + +// Copyright (C) 2000 Free Software Foundation, Inc. +// Contributed by Theodore.Papadopoulo 23 Jun 2000 + +#include + +void foo(const char*,...); + +inline void +bar() { + foo("",count); // { dg-error "" } multiple overloaded count functions +}
koenig9.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: main1.C =================================================================== --- main1.C (nonexistent) +++ main1.C (revision 154) @@ -0,0 +1,15 @@ +// { dg-do assemble } + +// main is only reserved in the global namespace [basic.start.main]/3 + +// submitted by Gerald Gutierrez + +namespace A { void main () { } } +namespace B { void main () { } } +namespace C { + void main () { } + namespace D { + void main () { } + } +} +
main1.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: ns6.C =================================================================== --- ns6.C (nonexistent) +++ ns6.C (revision 154) @@ -0,0 +1,14 @@ +// { dg-do run } +namespace A{ + int i; + namespace B{ + void f(){i++;} + int i; + void g(){i++;} + } +} + +int main() +{ + return A::i-A::B::i; +}
ns6.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,5 @@ +// { dg-do assemble } +void f(); +namespace A{ + using ::f; +}
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: ns8.C =================================================================== --- ns8.C (nonexistent) +++ ns8.C (revision 154) @@ -0,0 +1,11 @@ +// { dg-do assemble } +namespace B{ + void f(); +} + +using namespace B; + +void g() +{ + ::f(); +}
ns8.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: using4.C =================================================================== --- using4.C (nonexistent) +++ using4.C (revision 154) @@ -0,0 +1,6 @@ +// { dg-do assemble } +//Build don't link +#include +namespace csp { +using namespace std::vector; // { dg-error "" } vector is not a namespace +}
using4.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: using6.C =================================================================== --- using6.C (nonexistent) +++ using6.C (revision 154) @@ -0,0 +1,9 @@ +// { dg-do assemble } +#include + +namespace csp { + using namespace std; + struct X { + vector v; + }; +}
using6.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: template10.C =================================================================== --- template10.C (nonexistent) +++ template10.C (revision 154) @@ -0,0 +1,7 @@ +// { dg-do assemble } +// Origin: Manuel Menezes de Sequeira + +namespace N { + template void g() {} +} +void (*pf)() = N::g;
template10.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: using8.C =================================================================== --- using8.C (nonexistent) +++ using8.C (revision 154) @@ -0,0 +1,20 @@ +// { dg-do assemble } +namespace M { + int i; +} +namespace N { + using namespace M; +} + +using namespace N; +int j = i; + +namespace O{ + int k; +} + +namespace N { + using namespace O; +} + +int l = k;
using8.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: template12.C =================================================================== --- template12.C (nonexistent) +++ template12.C (revision 154) @@ -0,0 +1,19 @@ +// { dg-do assemble } +// Templates can be defined outside of the namespace if the have been declared +// inside +namespace bar +{ + template + T const foo(T const &); + template<> const int foo(int const &); +} + +template +T const +bar::foo(T const &a) +{ + return a; +} + +template<> const int bar::foo(int const &){return 0;} +
template12.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: template14.C =================================================================== --- template14.C (nonexistent) +++ template14.C (revision 154) @@ -0,0 +1,14 @@ +// { dg-do assemble } +// Origin: Alex Samuel + +namespace Outer +{ +template class Inner; +} + +template +class Outer::Inner +{ +public: + Inner (); +};
template14.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: crash1.C =================================================================== --- crash1.C (nonexistent) +++ crash1.C (revision 154) @@ -0,0 +1,12 @@ +// { dg-do assemble } + +template +struct S1 {}; + +namespace N { +} + +struct S2 +{ + typedef N::S1 S2_T; // { dg-error "" } parse error +};
crash1.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: template16.C =================================================================== --- template16.C (nonexistent) +++ template16.C (revision 154) @@ -0,0 +1,15 @@ +// { dg-do assemble } +// Test that pushing into a namespace for a definition doesn't affect +// template instantiations. + + +namespace N { + template void f () { } + template struct A { friend void f(); }; +} + +namespace M { + struct B; +} + +struct M::B: public N::A { };
template16.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: crash3.C =================================================================== --- crash3.C (nonexistent) +++ crash3.C (revision 154) @@ -0,0 +1,10 @@ +// { dg-do assemble } + +namespace N { + template struct S; +} + +void f() +{ + N::S(); // { dg-error "" } invalid use of template +}
crash3.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: template18.C =================================================================== --- template18.C (nonexistent) +++ template18.C (revision 154) @@ -0,0 +1,24 @@ +// { dg-do link } +// Origin: Andrey Slepuhin + +namespace A +{ + int j; + + template + struct X + { + inline X () + { + extern int j; + i = j; + } + + int i; + }; +} + +int main () +{ + A::X x; +}
template18.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: using11.C =================================================================== --- using11.C (nonexistent) +++ using11.C (revision 154) @@ -0,0 +1,9 @@ +// { dg-do assemble } + +class joey { +public: + typedef int SVec; +}; + +using joey::SVec; // { dg-error "" } joey is not a namespace +
using11.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: friend2.C =================================================================== --- friend2.C (nonexistent) +++ friend2.C (revision 154) @@ -0,0 +1,11 @@ +// { dg-do assemble } +namespace A{ + void foo(); +} + + +namespace B{ +class B{ + friend void A::foo(); +}; +}
friend2.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: using13.C =================================================================== --- using13.C (nonexistent) +++ using13.C (revision 154) @@ -0,0 +1,24 @@ +// { dg-do run } +namespace A{ + void foo(int){} +} +namespace B{ + void foo(bool){} +} + +void bar() +{ + using B::foo; + using A::foo; + foo(true); +} + +namespace Foo { + template void Hello(N) {} +} + +int main() { + using Foo::Hello; + Hello(4); + bar(); +}
using13.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: lookup1.C =================================================================== --- lookup1.C (nonexistent) +++ lookup1.C (revision 154) @@ -0,0 +1,3 @@ +// { dg-do assemble } +typedef int __quad_t; +typedef __quad_t __qaddr_t;
lookup1.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: lookup3.C =================================================================== --- lookup3.C (nonexistent) +++ lookup3.C (revision 154) @@ -0,0 +1,15 @@ +// { dg-do run } +namespace A{ + int i; + int f(); +} + +int A::f() +{ + return i; +} + +int main() +{ + return A::f(); +}
lookup3.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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.