diff options
Diffstat (limited to 'gcc/testsuite/g++.dg')
133 files changed, 2725 insertions, 1059 deletions
diff --git a/gcc/testsuite/g++.dg/cpp0x/decltype4.C b/gcc/testsuite/g++.dg/cpp0x/decltype4.C index 23a34344e17..32fbc2b2ec2 100644 --- a/gcc/testsuite/g++.dg/cpp0x/decltype4.C +++ b/gcc/testsuite/g++.dg/cpp0x/decltype4.C @@ -62,6 +62,7 @@ void wibble() { } struct B { + B () : bit(), cbit() {} int bit : 2; const int cbit : 3; diff --git a/gcc/testsuite/g++.dg/cpp0x/defaulted10.C b/gcc/testsuite/g++.dg/cpp0x/defaulted10.C index d169e0c6007..64fa5f01930 100644 --- a/gcc/testsuite/g++.dg/cpp0x/defaulted10.C +++ b/gcc/testsuite/g++.dg/cpp0x/defaulted10.C @@ -3,12 +3,12 @@ struct A { - template<typename T> void foo(T) = delete; // { dg-error "previously|deleted" } + template<typename T> void foo(T) = delete; // { dg-error "previously|declared" } }; template<typename T> void A::foo(T) {} // { dg-error "redefinition" } void bar() { - A().foo(0); // { dg-error "used" } + A().foo(0); // { dg-error "use" } } diff --git a/gcc/testsuite/g++.dg/cpp0x/defaulted13.C b/gcc/testsuite/g++.dg/cpp0x/defaulted13.C index 87b8100ac77..8b23579217e 100644 --- a/gcc/testsuite/g++.dg/cpp0x/defaulted13.C +++ b/gcc/testsuite/g++.dg/cpp0x/defaulted13.C @@ -7,22 +7,22 @@ struct NonCopyable { }; template<> -NonCopyable<int>::NonCopyable(NonCopyable<int> const&) = delete; // { dg-error "deleted" } +NonCopyable<int>::NonCopyable(NonCopyable<int> const&) = delete; // { dg-error "declared" } template<typename T> NonCopyable<T>::NonCopyable(NonCopyable<T> const&) = default; template<> -NonCopyable<double>::NonCopyable(NonCopyable<double> const&) = delete; // { dg-error "deleted" } +NonCopyable<double>::NonCopyable(NonCopyable<double> const&) = delete; // { dg-error "declared" } int main() { NonCopyable<double> nc_dbl; - NonCopyable<double> nc_dbl_cpy(nc_dbl); // { dg-error "used here" } + NonCopyable<double> nc_dbl_cpy(nc_dbl); // { dg-error "use" } NonCopyable<int> nc_int; - NonCopyable<int> nc_int_cpy(nc_int); // { dg-error "used here" } + NonCopyable<int> nc_int_cpy(nc_int); // { dg-error "use" } NonCopyable<char> nc_char; NonCopyable<char> nc_char_cpy(nc_char); diff --git a/gcc/testsuite/g++.dg/cpp0x/defaulted17.C b/gcc/testsuite/g++.dg/cpp0x/defaulted17.C new file mode 100644 index 00000000000..79e91a0eb61 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/defaulted17.C @@ -0,0 +1,12 @@ +// { dg-options -std=c++0x } + +struct A // { dg-error "const|operator=" } +{ + const int i; +}; + +int main() +{ + A a = { 0 }; + a = a; // { dg-error "deleted" } +} diff --git a/gcc/testsuite/g++.dg/cpp0x/defaulted18.C b/gcc/testsuite/g++.dg/cpp0x/defaulted18.C new file mode 100644 index 00000000000..ae055e3bc63 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/defaulted18.C @@ -0,0 +1,9 @@ +// { dg-options "-std=c++0x" } + +void f(char i, int j) = delete; // { dg-message "<deleted>" } +void f(int i, ...); // { dg-message "void f" } + +int main() +{ + f(1,1); // { dg-error "ambiguous" } +} diff --git a/gcc/testsuite/g++.dg/cpp0x/defaulted19.C b/gcc/testsuite/g++.dg/cpp0x/defaulted19.C new file mode 100644 index 00000000000..ea33df39838 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/defaulted19.C @@ -0,0 +1,21 @@ +// We allocate a cookie to help us run the destructor even if it's deleted. +// { dg-options -std=c++0x } +// { dg-do run } + +struct A +{ + ~A() = delete; +}; + +void *p = 0; +void *operator new[](__SIZE_TYPE__ t) +{ + p = ::operator new (t); + return p; +} + +int main() +{ + A* ap = new A[5]; + return ap == p; +} diff --git a/gcc/testsuite/g++.dg/cpp0x/defaulted2.C b/gcc/testsuite/g++.dg/cpp0x/defaulted2.C index ad3274a2ea9..909ebc5e6e0 100644 --- a/gcc/testsuite/g++.dg/cpp0x/defaulted2.C +++ b/gcc/testsuite/g++.dg/cpp0x/defaulted2.C @@ -41,7 +41,7 @@ struct E struct F { F() = default; - F(const F&) = delete; // { dg-error "deleted" } + F(const F&) = delete; // { dg-error "declared" } }; struct G @@ -60,7 +60,7 @@ union U int main() { F f; - F f2(f); // { dg-error "used" } + F f2(f); // { dg-error "use" } B* b = new const B; // { dg-error "uninitialized const" } } diff --git a/gcc/testsuite/g++.dg/cpp0x/defaulted3.C b/gcc/testsuite/g++.dg/cpp0x/defaulted3.C index efde415936d..5e2116b53b3 100644 --- a/gcc/testsuite/g++.dg/cpp0x/defaulted3.C +++ b/gcc/testsuite/g++.dg/cpp0x/defaulted3.C @@ -4,7 +4,7 @@ template<class T> struct A { template<class U> - bool operator==(const A<U>&) = delete; // { dg-error "deleted function" } + bool operator==(const A<U>&) = delete; // { dg-error "declared" } operator bool () { return true; } }; @@ -12,5 +12,5 @@ int main() { A<int> a1; A<void> a2; - if(a1 == a2) {} // { dg-error "used here" } + if(a1 == a2) {} // { dg-error "use" } } diff --git a/gcc/testsuite/g++.dg/cpp0x/explicit5.C b/gcc/testsuite/g++.dg/cpp0x/explicit5.C new file mode 100644 index 00000000000..88a47071db1 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/explicit5.C @@ -0,0 +1,25 @@ +// test for extension of DR 899 to handle template ctors +// { dg-options "-std=c++0x" } +// { dg-do run } + +int r = 1; + +struct C { + C() { } + template <class T = int> C(C&, T = 0) { r = 0; } +}; + +C c; + +struct A +{ + explicit operator C&() const { return c; } +}; + +int main() +{ + A a; + C c2 (a); + + return r; +} diff --git a/gcc/testsuite/g++.dg/cpp0x/implicit-copy.C b/gcc/testsuite/g++.dg/cpp0x/implicit-copy.C index ea680a8961b..861fe201f10 100644 --- a/gcc/testsuite/g++.dg/cpp0x/implicit-copy.C +++ b/gcc/testsuite/g++.dg/cpp0x/implicit-copy.C @@ -3,13 +3,13 @@ struct S { S(); private: - S(S const &&); - S & operator=(S const &&); + S(S const &&); // { dg-error "" } + S & operator=(S const &&); // { dg-error "" } }; void f() { S a; - S b(a); - a = b; + S b(a); // { dg-error "" } + a = b; // { dg-error "" } } diff --git a/gcc/testsuite/g++.dg/cpp0x/implicit1.C b/gcc/testsuite/g++.dg/cpp0x/implicit1.C new file mode 100644 index 00000000000..2efbde6a93a --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/implicit1.C @@ -0,0 +1,26 @@ +// Test for implicitly deleted destructors. +// { dg-options "-std=c++0x" } +// { dg-prune-output "default definition would be ill-formed" } +// { dg-prune-output "within this context" } + +class C +{ + void operator delete (void *); // { dg-error "private" } +public: + virtual ~C(); // { dg-error "overriding" } +}; + +struct D: C { }; // { dg-error "deleted" } +D d; // { dg-error "deleted" } + +struct E +{ + ~E() = delete; // { dg-error "declared here" } +}; + +struct F +{ + virtual ~F(); // { dg-error "overriding" } +}; + +struct G: E, F { }; // { dg-error "deleted" } diff --git a/gcc/testsuite/g++.dg/cpp0x/implicit2.C b/gcc/testsuite/g++.dg/cpp0x/implicit2.C new file mode 100644 index 00000000000..f24a78838fa --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/implicit2.C @@ -0,0 +1,33 @@ +// Test that the synthesized C copy constructor calls the A template +// constructor and has the appropriate exception specification. +// { dg-options -std=c++0x } +// { dg-do run } + +int r = 1; + +struct A +{ + A() {} + A(const A&) throw () { } + template <class T> + A(T& t) { r = 0; } +}; + +struct B +{ + B() {} + B(B&) throw () { } +}; + +struct C: A, B { }; + +#define SA(E) static_assert(E, #E) + +C c; +SA (!noexcept(C(c))); + +int main() +{ + (C(c)); + return r; +} diff --git a/gcc/testsuite/g++.dg/cpp0x/implicit3.C b/gcc/testsuite/g++.dg/cpp0x/implicit3.C new file mode 100644 index 00000000000..a43eca708c0 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/implicit3.C @@ -0,0 +1,56 @@ +// Basic runtime test for implicit move constructor +// { dg-do run } +// { dg-options -std=c++0x } + +int m; + +struct A +{ + A() = default; + A(A&&) { ++m; } + A& operator=(A&&) { ++m; return *this; } +}; + +struct B +{ + B() = default; + B(const B&); + B(B&&) { ++m; } + B& operator=(const B&); + B& operator=(B&&) { ++m; return *this; } +}; + +struct C +{ + C() = default; + C(C&); + C(C&&) { ++m; } + C& operator=(C&); + C& operator=(C&&) { ++m; return *this; } +}; + +struct D: public A, public B +{ + C c; + int i; +}; + +struct E: public A, public B +{ + C c; + int i; + E() = default; + E(E&&) = default; + E& operator=(E&&) = default; +}; + +int main() +{ + D d1; + D d2 (static_cast<D&&>(d1)); + d1 = static_cast<D&&>(d2); + E e1; + E e2 (static_cast<E&&>(e1)); + e1 = static_cast<E&&>(e2); + return m != 12; +} diff --git a/gcc/testsuite/g++.dg/cpp0x/implicit4.C b/gcc/testsuite/g++.dg/cpp0x/implicit4.C new file mode 100644 index 00000000000..75606a3ce7e --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/implicit4.C @@ -0,0 +1,20 @@ +// Test that a base with only a move constructor causes the implicit copy +// constructor to be deleted. +// { dg-options "-std=c++0x" } + +struct A +{ + A(); // { dg-message "A::A" } + A(A&&); // { dg-message "A::A" } +}; + +struct B: A // { dg-error "implicit|no match" } +{ +}; + +int main() +{ + B b1; + B b2(b1); // { dg-error "deleted function .B::B.const" } + B b3(static_cast<B&&>(b1)); +} diff --git a/gcc/testsuite/g++.dg/cpp0x/implicit5.C b/gcc/testsuite/g++.dg/cpp0x/implicit5.C new file mode 100644 index 00000000000..f25c08530db --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/implicit5.C @@ -0,0 +1,19 @@ +// Test that the default B copy constructor calls the A member template +// constructor. +// { dg-options -std=c++0x } + +struct A +{ + A() = default; + A(A&&) = default; + template <class T> + A(const T& t) { t.i; } // { dg-error "no member" } +}; + +struct B: A { }; + +int main() +{ + B b; + B b2(b); +} diff --git a/gcc/testsuite/g++.dg/cpp0x/initlist15.C b/gcc/testsuite/g++.dg/cpp0x/initlist15.C index d59e5af640b..b75cc81729f 100644 --- a/gcc/testsuite/g++.dg/cpp0x/initlist15.C +++ b/gcc/testsuite/g++.dg/cpp0x/initlist15.C @@ -1,5 +1,8 @@ // { dg-options "-std=c++0x" } +// Just discard errors pointing at header files +// { dg-prune-output "include" } + #include <vector> #include <typeinfo> diff --git a/gcc/testsuite/g++.dg/cpp0x/initlist19.C b/gcc/testsuite/g++.dg/cpp0x/initlist19.C index 418cddc618a..9cb197c9be2 100644 --- a/gcc/testsuite/g++.dg/cpp0x/initlist19.C +++ b/gcc/testsuite/g++.dg/cpp0x/initlist19.C @@ -1,8 +1,10 @@ // { dg-options "-std=c++0x" } +// Allow other errors, too +// { dg-prune-output "error" } + void f(double); int main() { f({{1}}); // { dg-error "too many braces" } - // { dg-error "" "" { target *-*-* } 6 } allow other errors, too } diff --git a/gcc/testsuite/g++.dg/cpp0x/initlist39.C b/gcc/testsuite/g++.dg/cpp0x/initlist39.C new file mode 100644 index 00000000000..a6dd1ec43d1 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/initlist39.C @@ -0,0 +1,15 @@ +// { dg-options -std=c++0x } + +struct A { int i; }; + +void f (const A &); +void f (A &&); + +void g (A, int); +void g (A, double); + +int main() +{ + f ( { 1 } ); + g ( { 1 }, 1 ); +} diff --git a/gcc/testsuite/g++.dg/cpp0x/initlist40.C b/gcc/testsuite/g++.dg/cpp0x/initlist40.C new file mode 100644 index 00000000000..f2703602c9e --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/initlist40.C @@ -0,0 +1,12 @@ +// { dg-options "-std=c++0x" } + +struct A +{ + explicit A(int = 42); +}; + +int main() +{ + A a1 = { }; + A a2 = { 24 }; // { dg-error "explicit" } +} diff --git a/gcc/testsuite/g++.dg/cpp0x/initlist9.C b/gcc/testsuite/g++.dg/cpp0x/initlist9.C index 2bc2d1782f9..d596b391508 100644 --- a/gcc/testsuite/g++.dg/cpp0x/initlist9.C +++ b/gcc/testsuite/g++.dg/cpp0x/initlist9.C @@ -8,7 +8,7 @@ struct b b() = default; ~b() = default; b& operator=(const b&) = delete; - b(const b&) = delete; // { dg-error "deleted" } + b(const b&) = delete; // { dg-error "declared" } b(bool _t): t (_t) { } }; @@ -19,7 +19,7 @@ int main() b tst1 = { false }; // copy initialization. - b tst2 = false; // { dg-error "used here" } + b tst2 = false; // { dg-error "use" } // direct list initialization b tst3 { false }; diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ctor-neg.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ctor-neg.C index c38f2955d46..76ed7445f45 100644 --- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ctor-neg.C +++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ctor-neg.C @@ -3,7 +3,7 @@ void f() { int i; - auto lam = [i]{}; // { dg-message "note" } + auto lam = [i]{}; // { dg-message "" } decltype(lam) lam2 = { 1 }; // { dg-error "" "not an aggregate" } decltype(lam) lam3; // { dg-error "" "deleted default ctor" } lam3 = lam; // { dg-error "" "deleted assignment op" } @@ -12,7 +12,7 @@ void f() template <class T> void g(T i) { - auto lam = [i]{}; // { dg-message "note" } + auto lam = [i]{}; // { dg-message "" } decltype(lam) lam2 = { 1 }; // { dg-error "" "not an aggregate" } decltype(lam) lam3; // { dg-error "" "deleted default ctor" } lam3 = lam; // { dg-error "" "deleted assignment op" } diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-errloc.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-errloc.C index 4037331ee37..f4766691eec 100644 --- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-errloc.C +++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-errloc.C @@ -5,7 +5,7 @@ struct A { A(); - A(const A& a) = delete; // { dg-error "deleted" } + A(const A& a) = delete; // { dg-error "declared" } }; int main() diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-errloc2.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-errloc2.C index 3d53c139fe6..dab53f1276e 100644 --- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-errloc2.C +++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-errloc2.C @@ -3,14 +3,14 @@ struct A { A(); - A(const A&) = delete; // { dg-error "deleted function" } + A(const A&) = delete; // { dg-error "declared" } }; template <class T> void f() { T t; - [t] { return 0; }; // { dg-error "used here" } + [t] { return 0; }; // { dg-error "use" } } int main() diff --git a/gcc/testsuite/g++.dg/cpp0x/noexcept01.C b/gcc/testsuite/g++.dg/cpp0x/noexcept01.C new file mode 100644 index 00000000000..f314684eae8 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/noexcept01.C @@ -0,0 +1,83 @@ +// Test for noexcept-expression +// { dg-options "-std=c++0x -O2" } + +#include <typeinfo> + +#define SA(X) static_assert(X, #X) + +void f(); +void g() throw(); +SA(noexcept(g())); +SA(!noexcept(f())); +SA(!noexcept(throw 1)); +SA(noexcept(42)); + +struct A +{ + virtual ~A(); +}; + +struct B: public A +{ + virtual ~B(); +}; + +A* ap; + +struct C { }; +C* cp; + +SA (noexcept (dynamic_cast<B*>(ap))); +SA (!noexcept (dynamic_cast<B&>(*ap))); +SA (!noexcept (typeid (*ap))); +SA (noexcept (typeid (*cp))); + +SA (!noexcept (true ? 1 : throw 1)); +SA (!noexcept (true || true ? 1 : throw 1)); + +SA (noexcept (C())); + +struct D +{ + D() throw(); +}; + +SA (noexcept (D())); + +struct E +{ + E() throw(); + ~E(); +}; + +SA (!noexcept (E())); + +struct F +{ + virtual void f(); +}; + +SA (noexcept (F())); + +struct G +{ + G() = default; + ~G() = default; +}; + +SA (noexcept (G())); + +template <class T, bool b> +void tf() +{ + SA (noexcept (T()) == b); +} + +template void tf<int,true>(); +template void tf<E, false>(); + +// Make sure that noexcept uses the declared exception-specification, not +// any knowledge we might have about whether or not the function really +// throws. +void h() { } +SA(!noexcept(h())); diff --git a/gcc/testsuite/g++.dg/cpp0x/noexcept02.C b/gcc/testsuite/g++.dg/cpp0x/noexcept02.C new file mode 100644 index 00000000000..be6fa00dd09 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/noexcept02.C @@ -0,0 +1,52 @@ +// Test for noexcept-specification +// { dg-options "-std=c++0x" } + +#define SA(X) static_assert(X, #X) + +void f(); +void f() noexcept(false); +void f() noexcept(1 == 0); +void f(); + +SA(!noexcept(f())); + +void g() throw (int); +void g() noexcept(false); // { dg-error "previous declaration" } +void g(); // { dg-error "different exception" } + +void h() throw(); +void h() noexcept; +void h() throw(); +void h() noexcept; + +template <class T> +void g (T) noexcept(noexcept(T())); // { dg-error "previous declaration" } +template <class T> +void g (T) noexcept(noexcept(T(0))); // { dg-error "different exception" } + +template <class T> +void f (T) noexcept(noexcept(T()) && noexcept(T())); +template <class T> +void f (T) noexcept(noexcept(T()) && noexcept(T())); +template <class T> +void f2(T a) noexcept (noexcept (f (a))); + +struct A { A(); }; +SA(noexcept(f(1))); +SA(!noexcept(f(A()))); +SA(noexcept(f2(1))); +SA(!noexcept(f2(A()))); + +template <class... Ts> +void f3(Ts... ts) noexcept (noexcept (f(ts...))); + +SA(noexcept(f3(1))); +SA(!noexcept(f3(A()))); + +template <class T1, class T2> +void f (T1, T2) noexcept(noexcept(T1(), T2())); + +SA(noexcept(f3(1,1))); +SA(!noexcept(f3(1,A()))); +SA(!noexcept(f3(A(),1))); +SA(!noexcept(f3(A(),A()))); diff --git a/gcc/testsuite/g++.dg/cpp0x/noexcept03.C b/gcc/testsuite/g++.dg/cpp0x/noexcept03.C new file mode 100644 index 00000000000..c759f6fb21d --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/noexcept03.C @@ -0,0 +1,68 @@ +// Runtime test for noexcept-specification. +// { dg-options "-std=c++0x -Wnoexcept" } +// { dg-do run } + +#include <exception> +#include <cstdlib> + +void my_terminate () +{ + std::exit (0); +} + +void my_unexpected () +{ + throw; +} + +void g() { throw 1; } +void (*p)() = g; +void f () noexcept (false) +{ + p(); +} + +template <class T> +void f(T) noexcept (noexcept (T())) // { dg-warning "false" } +{ + p(); +} + +template <class T> +void f2(T a) noexcept (noexcept (f (a))) +{ + f(a); +} + +struct A { A() { } }; // { dg-warning "does not throw" } + +// throw(int) overrides noexcept(false) in either order. +void h() throw (int, std::bad_exception); +void h() noexcept (false) +{ + throw 1.0; +} + +void i() noexcept (false); +void i() throw (int, std::bad_exception) +{ + throw 1.0; +} + +int main() +{ + // noexcept(false) allows throw. + try { f(); } catch (int) { } + // noexcept(noexcept(A())) == noexcept(false). + try { f(A()); } catch (int) { } + try { f2(A()); } catch (int) { } + + std::set_unexpected (my_unexpected); + try { h(); } catch (std::bad_exception) { } + try { i(); } catch (std::bad_exception) { } + + std::set_terminate (my_terminate); + // noexcept(noexcept(int())) == noexcept(true). + try { f2(1); } catch (...) { } + return 1; +} diff --git a/gcc/testsuite/g++.dg/cpp0x/noexcept04.C b/gcc/testsuite/g++.dg/cpp0x/noexcept04.C new file mode 100644 index 00000000000..8df818610f5 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/noexcept04.C @@ -0,0 +1,31 @@ +// Make sure that we call terminate when a noexcept spec is violated. +// The function pointers are there to make sure that +// the compiler doesn't get clever about optimizing the calls based on +// knowledge about the called functions. + +// { dg-options "-std=c++0x" } +// { dg-do run } + +#include <exception> +#include <cstdlib> + +void my_terminate () +{ + std::exit (0); +} + +void g() { throw 1; } +void (*p1)() = g; +void f() noexcept { p1(); } +void (*p2)() = f; +void h() { p2(); } + +int main() +{ + std::set_terminate (my_terminate); + + try { h(); } + catch (int) { } + + return 1; +} diff --git a/gcc/testsuite/g++.dg/cpp0x/noexcept05.C b/gcc/testsuite/g++.dg/cpp0x/noexcept05.C new file mode 100644 index 00000000000..6acea432736 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/noexcept05.C @@ -0,0 +1,19 @@ +// Make sure that we force an LSDA for a noexcept spec so +// that the personality routine will call terminate. Also check that we +// optimize away the EH cleanup for var because the personality routine +// will call terminate before unwinding: there should not be an EH region +// (i.e. LEHB/LEHE labels) around the call to g(). + +// { dg-final { scan-assembler-not "_ZSt9terminatev" } } +// { dg-final { scan-assembler-not "EHB" } } +// { dg-final { scan-assembler "LSDA" } } + +// { dg-options "-std=c++0x" } + +struct A { ~A(); }; +void g(); +void f() noexcept +{ + A var; + g(); +} diff --git a/gcc/testsuite/g++.dg/cpp0x/noexcept06.C b/gcc/testsuite/g++.dg/cpp0x/noexcept06.C new file mode 100644 index 00000000000..3babdffdad5 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/noexcept06.C @@ -0,0 +1,30 @@ +// Test that checking of a nothrow specification uses the one on the +// definition. +// { dg-options "-std=c++0x" } +// { dg-do run } + +#include <exception> +#include <cstdlib> + +void my_unexpected () +{ + std::abort (); +} +void my_terminate () +{ + std::exit (0); +} + +void f() throw(); +void f() noexcept +{ + throw 1; +} + +int main() +{ + std::set_unexpected (my_unexpected); + std::set_terminate (my_terminate); + f(); + return 1; +} diff --git a/gcc/testsuite/g++.dg/cpp0x/noexcept07.C b/gcc/testsuite/g++.dg/cpp0x/noexcept07.C new file mode 100644 index 00000000000..0a5773fc86b --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/noexcept07.C @@ -0,0 +1,25 @@ +// Test that checking of a nothrow specification uses the one on the +// definition. +// { dg-options "-std=c++0x" } +// { dg-do run } + +#include <exception> +#include <cstdlib> + +void my_unexpected () +{ + std::exit (0); +} + +void f() noexcept; +void f() throw() +{ + throw 1; +} + +int main() +{ + std::set_unexpected (my_unexpected); + f(); + return 1; +} diff --git a/gcc/testsuite/g++.dg/cpp0x/noexcept08.C b/gcc/testsuite/g++.dg/cpp0x/noexcept08.C new file mode 100644 index 00000000000..c45033246eb --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/noexcept08.C @@ -0,0 +1,56 @@ +// { dg-options "-std=c++0x" } +// { dg-prune-output "overriding" } + +struct A +{ + virtual void f(); + virtual void g() throw(); + virtual void h() noexcept; + virtual void i() noexcept(false); + virtual void j() throw(int); +}; + +struct B: A +{ + void f() noexcept; + void g() noexcept; + void h() noexcept; + void i() noexcept; + void j() noexcept; +}; + +struct C: A +{ + void f() throw(); + void g() throw(); + void h() throw(); + void i() throw(); + void j() throw(); +}; + +struct D: A +{ + void f() noexcept(false); + void g() noexcept(false); // { dg-error "looser" } + void h() noexcept(false); // { dg-error "looser" } + void i() noexcept(false); + void j() noexcept(false); // compatible; treated as throw(int) +}; + +struct E: A +{ + void f() throw(int); + void g() throw(int); // { dg-error "looser" } + void h() throw(int); // { dg-error "looser" } + void i() throw(int); + void j() throw(int); +}; + +struct F: A +{ + void f(); + void g(); // { dg-error "looser" } + void h(); // { dg-error "looser" } + void i(); + void j(); // { dg-error "looser" } +}; diff --git a/gcc/testsuite/g++.dg/cpp0x/not_special.C b/gcc/testsuite/g++.dg/cpp0x/not_special.C index f94b82a0c1a..6d73bd086ca 100644 --- a/gcc/testsuite/g++.dg/cpp0x/not_special.C +++ b/gcc/testsuite/g++.dg/cpp0x/not_special.C @@ -1,11 +1,9 @@ // I, Howard Hinnant, hereby place this code in the public domain. -// Test that move constructor and move assignement are not special. -// That is, their presence should not inhibit compiler generated -// copy ctor or assignment. Rather they should overload with the -// compiler generated special members. +// Test that move constructor and move assignement are special. +// That is, their presence should inhibit compiler generated +// copy ctor or assignment. -// { dg-do run } // { dg-options "-std=c++0x" } #include <assert.h> @@ -30,8 +28,8 @@ struct derived : base { derived() {} - derived(derived&&) {} - derived& operator=(derived&&) {return *this;} + derived(derived&&) {} // { dg-error "argument 1" } + derived& operator=(derived&&) {return *this;} // { dg-error "argument 1" } }; int test1() @@ -39,11 +37,11 @@ int test1() derived d; derived d2(static_cast<derived&&>(d)); // should not call base::(const base&) assert(copy == 0); - derived d3(d); // should call base::(const base&) + derived d3(d); // { dg-error "lvalue" } assert(copy == 1); d2 = static_cast<derived&&>(d); // should not call base::operator= assert(assign == 0); - d3 = d; // should call base::operator= + d3 = d; // { dg-error "lvalue" } assert(assign == 1); return 0; } diff --git a/gcc/testsuite/g++.dg/cpp0x/nullptr01.C b/gcc/testsuite/g++.dg/cpp0x/nullptr01.C index 8de877bab50..de3860c9ea4 100644 --- a/gcc/testsuite/g++.dg/cpp0x/nullptr01.C +++ b/gcc/testsuite/g++.dg/cpp0x/nullptr01.C @@ -6,3 +6,5 @@ char* const cp1 = nullptr; char* const cp2 = __null; char* const cp3 = 0; +decltype(nullptr) mynull = 0; +char* const cp4 = mynull; diff --git a/gcc/testsuite/g++.dg/cpp0x/nullptr02.C b/gcc/testsuite/g++.dg/cpp0x/nullptr02.C index 2272152cf73..80977cb2f00 100644 --- a/gcc/testsuite/g++.dg/cpp0x/nullptr02.C +++ b/gcc/testsuite/g++.dg/cpp0x/nullptr02.C @@ -8,3 +8,9 @@ typedef decltype(nullptr) nullptr_t; const nullptr_t np1 = nullptr; const nullptr_t np2 = __null; const nullptr_t np3 = 0; +const nullptr_t np4 = np1; +const nullptr_t np5 = np2; +const nullptr_t np6 = np3; +const nullptr_t np7 = np4; +const nullptr_t np8 = np5; +const nullptr_t np9 = np6; diff --git a/gcc/testsuite/g++.dg/cpp0x/nullptr03.C b/gcc/testsuite/g++.dg/cpp0x/nullptr03.C index 1c9e521bd88..b6df8963740 100644 --- a/gcc/testsuite/g++.dg/cpp0x/nullptr03.C +++ b/gcc/testsuite/g++.dg/cpp0x/nullptr03.C @@ -3,4 +3,7 @@ // Test assignment to int -const int n = nullptr; // { dg-error "cannot convert " } +const int n1 = nullptr; // { dg-error "cannot convert " } +decltype(nullptr) mynull = 0; +const int n2 = mynull; // { dg-error "cannot convert " } + diff --git a/gcc/testsuite/g++.dg/cpp0x/nullptr04.C b/gcc/testsuite/g++.dg/cpp0x/nullptr04.C index 28e37156f8c..be581bcb6e3 100644 --- a/gcc/testsuite/g++.dg/cpp0x/nullptr04.C +++ b/gcc/testsuite/g++.dg/cpp0x/nullptr04.C @@ -3,11 +3,15 @@ // Test cast to int -#define unsigned -__extension__ typedef __SIZE_TYPE__ ssize_t; -#undef unsigned +__extension__ typedef __INTPTR_TYPE__ intptr_t; const int n4 = static_cast<const int>(nullptr); // { dg-error "invalid static_cast " } const short int n5 = reinterpret_cast<short int>(nullptr); // { dg-error "loses precision" } -const ssize_t n6 = reinterpret_cast<ssize_t>(nullptr); -const ssize_t n7 = (ssize_t)nullptr; +const intptr_t n6 = reinterpret_cast<intptr_t>(nullptr); +const intptr_t n7 = (intptr_t)nullptr; + +decltype(nullptr) mynull = 0; +const int n8 = static_cast<const int>(mynull); // { dg-error "invalid static_cast " } +const short int n9 = reinterpret_cast<short int>(mynull); // { dg-error "loses precision" } +const intptr_t n10 = reinterpret_cast<intptr_t>(mynull); +const intptr_t n11 = (intptr_t)mynull; diff --git a/gcc/testsuite/g++.dg/cpp0x/nullptr05.C b/gcc/testsuite/g++.dg/cpp0x/nullptr05.C index 7c3f8b7093d..22a8b51c1c7 100644 --- a/gcc/testsuite/g++.dg/cpp0x/nullptr05.C +++ b/gcc/testsuite/g++.dg/cpp0x/nullptr05.C @@ -10,3 +10,5 @@ typedef void (F::*pmf)(); const pmf pmf1 = nullptr; const pmf pmf2 = __null; const pmf pmf3 = 0; +decltype(nullptr) mynull = 0; +const pmf pmf4 = mynull; diff --git a/gcc/testsuite/g++.dg/cpp0x/nullptr06.C b/gcc/testsuite/g++.dg/cpp0x/nullptr06.C index 5dea1fbf171..c50bb9bc113 100644 --- a/gcc/testsuite/g++.dg/cpp0x/nullptr06.C +++ b/gcc/testsuite/g++.dg/cpp0x/nullptr06.C @@ -10,4 +10,6 @@ char* const cp1 = nullptr; void fun() { assert_true(cp1 == nullptr); + decltype(nullptr) mynull = 0; + assert_true(cp1 == mynull); } diff --git a/gcc/testsuite/g++.dg/cpp0x/nullptr07.C b/gcc/testsuite/g++.dg/cpp0x/nullptr07.C index cebed8862df..64d442be331 100644 --- a/gcc/testsuite/g++.dg/cpp0x/nullptr07.C +++ b/gcc/testsuite/g++.dg/cpp0x/nullptr07.C @@ -9,4 +9,7 @@ void fun() if( n == nullptr ); // { dg-error "invalid operands of types " } const int m = 1; if( m == nullptr ); // { dg-error "invalid operands of types " } + decltype(nullptr) mynull = 0; + if( n == mynull ); // { dg-error "invalid operands of types " } + if( m == mynull ); // { dg-error "invalid operands of types " } } diff --git a/gcc/testsuite/g++.dg/cpp0x/nullptr08.C b/gcc/testsuite/g++.dg/cpp0x/nullptr08.C index d7d9169f5a1..1e5db278ddf 100644 --- a/gcc/testsuite/g++.dg/cpp0x/nullptr08.C +++ b/gcc/testsuite/g++.dg/cpp0x/nullptr08.C @@ -8,4 +8,6 @@ void fun() { assert_true(nullptr ? false : true); + decltype(nullptr) mynull = 0; + assert_true(mynull ? false : true); } diff --git a/gcc/testsuite/g++.dg/cpp0x/nullptr09.C b/gcc/testsuite/g++.dg/cpp0x/nullptr09.C index a42821cbfa6..b35a3c3207d 100644 --- a/gcc/testsuite/g++.dg/cpp0x/nullptr09.C +++ b/gcc/testsuite/g++.dg/cpp0x/nullptr09.C @@ -6,4 +6,6 @@ void fun() { if( nullptr == 0 ); + decltype(nullptr) mynull = 0; + if( mynull == 0 ); } diff --git a/gcc/testsuite/g++.dg/cpp0x/nullptr10.C b/gcc/testsuite/g++.dg/cpp0x/nullptr10.C index cd131864a33..fa32267ec02 100644 --- a/gcc/testsuite/g++.dg/cpp0x/nullptr10.C +++ b/gcc/testsuite/g++.dg/cpp0x/nullptr10.C @@ -7,4 +7,8 @@ void fun() { nullptr = 0; // { dg-error "lvalue required as left operand" } nullptr + 2; // { dg-error "invalid operands of types " } + decltype(nullptr) mynull = 0; + mynull = 1; // { dg-error "cannot convert" } + mynull = 0; + mynull + 2; // { dg-error "invalid operands of types " } } diff --git a/gcc/testsuite/g++.dg/cpp0x/nullptr11.C b/gcc/testsuite/g++.dg/cpp0x/nullptr11.C index 85402a1a2a3..5907816a847 100644 --- a/gcc/testsuite/g++.dg/cpp0x/nullptr11.C +++ b/gcc/testsuite/g++.dg/cpp0x/nullptr11.C @@ -14,4 +14,27 @@ void fun() assert_false(nullptr > nullptr); assert_true(nullptr <= nullptr); assert_true(nullptr >= nullptr); + + decltype(nullptr) mynull = 0; + + assert_true(mynull == nullptr); + assert_false(mynull != nullptr); + assert_false(mynull < nullptr); + assert_false(mynull > nullptr); + assert_true(mynull <= nullptr); + assert_true(mynull >= nullptr); + + assert_true(nullptr == mynull); + assert_false(nullptr != mynull); + assert_false(nullptr < mynull); + assert_false(nullptr > mynull); + assert_true(nullptr <= mynull); + assert_true(nullptr >= mynull); + + assert_true(mynull == mynull); + assert_false(mynull != mynull); + assert_false(mynull < mynull); + assert_false(mynull > mynull); + assert_true(mynull <= mynull); + assert_true(mynull >= mynull); } diff --git a/gcc/testsuite/g++.dg/cpp0x/nullptr12.C b/gcc/testsuite/g++.dg/cpp0x/nullptr12.C index f68652c999e..1713259f103 100644 --- a/gcc/testsuite/g++.dg/cpp0x/nullptr12.C +++ b/gcc/testsuite/g++.dg/cpp0x/nullptr12.C @@ -4,3 +4,5 @@ // Test sizeof static_assert(sizeof(nullptr) == sizeof(void*), "sizeof(nullptr) is wrong"); +const decltype(nullptr) mynull = 0; +static_assert(sizeof(mynull) == sizeof(void*), "sizeof(nullptr) is wrong"); diff --git a/gcc/testsuite/g++.dg/cpp0x/nullptr13.C b/gcc/testsuite/g++.dg/cpp0x/nullptr13.C index 633e971feca..a9377584c56 100644 --- a/gcc/testsuite/g++.dg/cpp0x/nullptr13.C +++ b/gcc/testsuite/g++.dg/cpp0x/nullptr13.C @@ -5,7 +5,12 @@ #include <typeinfo> +#define assert_true(b) do { char c[2 * bool(b) - 1]; } while(0) + void fun() { typeid(nullptr); + const decltype(nullptr) mynull = 0; + typeid(mynull); + assert_true(typeid(nullptr) == typeid(mynull)); } diff --git a/gcc/testsuite/g++.dg/cpp0x/nullptr14.C b/gcc/testsuite/g++.dg/cpp0x/nullptr14.C index 0493bcca006..4c4627b541b 100644 --- a/gcc/testsuite/g++.dg/cpp0x/nullptr14.C +++ b/gcc/testsuite/g++.dg/cpp0x/nullptr14.C @@ -20,4 +20,6 @@ void test_f() // type_equal<char*>(f(nullptr)); type_equal<int>(f(0)); + decltype(nullptr) mynull = 0; + type_equal<char*>(f(mynull)); } diff --git a/gcc/testsuite/g++.dg/cpp0x/nullptr15.C b/gcc/testsuite/g++.dg/cpp0x/nullptr15.C index abb45f4e937..67d9d4a2311 100644 --- a/gcc/testsuite/g++.dg/cpp0x/nullptr15.C +++ b/gcc/testsuite/g++.dg/cpp0x/nullptr15.C @@ -18,4 +18,7 @@ void test_g() // g(nullptr); // { dg-error "no matching function for call to " } type_equal<float*>(g((float*)nullptr)); + decltype(nullptr) mynull = 0; + g(mynull); // { dg-error "no matching function for call to " } + type_equal<float*>(g((float*)mynull)); } diff --git a/gcc/testsuite/g++.dg/cpp0x/nullptr16.C b/gcc/testsuite/g++.dg/cpp0x/nullptr16.C index 7561b21cfe3..0ec0b6a12b6 100644 --- a/gcc/testsuite/g++.dg/cpp0x/nullptr16.C +++ b/gcc/testsuite/g++.dg/cpp0x/nullptr16.C @@ -19,4 +19,7 @@ void test_h() type_equal<int>(h(0)); type_equal<nullptr_t>(h(nullptr)); type_equal<float*>(h((float*)nullptr)); + nullptr_t mynull = 0; + type_equal<nullptr_t>(h(mynull)); + type_equal<float*>(h((float*)mynull)); } diff --git a/gcc/testsuite/g++.dg/cpp0x/nullptr17.C b/gcc/testsuite/g++.dg/cpp0x/nullptr17.C index acedbae3787..2e580557bc3 100644 --- a/gcc/testsuite/g++.dg/cpp0x/nullptr17.C +++ b/gcc/testsuite/g++.dg/cpp0x/nullptr17.C @@ -18,4 +18,6 @@ void test_i() { // Overload to bool, not int type_equal<bool>(i(nullptr)); + decltype(nullptr) mynull = 0; + type_equal<bool>(i(mynull)); } diff --git a/gcc/testsuite/g++.dg/cpp0x/nullptr18.C b/gcc/testsuite/g++.dg/cpp0x/nullptr18.C index 192b646efb4..b8fa38c718d 100644 --- a/gcc/testsuite/g++.dg/cpp0x/nullptr18.C +++ b/gcc/testsuite/g++.dg/cpp0x/nullptr18.C @@ -16,4 +16,6 @@ bool j( bool ); void test_j() { type_equal<char*>(j(nullptr)); + decltype(nullptr) mynull = 0; + type_equal<char*>(j(mynull)); } diff --git a/gcc/testsuite/g++.dg/cpp0x/nullptr20.C b/gcc/testsuite/g++.dg/cpp0x/nullptr20.C index a959b00786f..3e58406770d 100644 --- a/gcc/testsuite/g++.dg/cpp0x/nullptr20.C +++ b/gcc/testsuite/g++.dg/cpp0x/nullptr20.C @@ -10,8 +10,11 @@ int main() { char buf1[64]; char buf2[64]; + char buf3[64]; std::sprintf(buf1, "%p", (void*)0); std::sprintf(buf2, "%p", nullptr); - return std::strcmp(buf1, buf2) != 0; + decltype(nullptr) mynull = 0; + std::sprintf(buf3, "%p", nullptr); + return std::strcmp(buf1, buf2) != 0 || std::strcmp(buf1, buf3) != 0; } diff --git a/gcc/testsuite/g++.dg/cpp0x/nullptr21.C b/gcc/testsuite/g++.dg/cpp0x/nullptr21.C index 84c34dd1e0a..c30cb3c8b6d 100644 --- a/gcc/testsuite/g++.dg/cpp0x/nullptr21.C +++ b/gcc/testsuite/g++.dg/cpp0x/nullptr21.C @@ -24,4 +24,21 @@ int main() } catch (...) { printf("Test 1 Fail"); } // { dg-output "Test 1 OK" } + + nullptr_t mynull = 0; + try { + throw mynull; + } catch (void*) { + printf("Test 2 Fail"); + } catch (bool) { + printf("Test 2 Fail"); + } catch (int) { + printf("Test 2 Fail"); + } catch (long int) { + printf("Test 2 Fail"); + } catch (nullptr_t) { + printf("Test 2 OK"); + } catch (...) { + printf("Test 2 Fail"); + } // { dg-output "Test 2 OK" } } diff --git a/gcc/testsuite/g++.dg/cpp0x/nullptr22.C b/gcc/testsuite/g++.dg/cpp0x/nullptr22.C index 13cb8e3aab1..d800f9869d2 100644 --- a/gcc/testsuite/g++.dg/cpp0x/nullptr22.C +++ b/gcc/testsuite/g++.dg/cpp0x/nullptr22.C @@ -13,4 +13,8 @@ void f() f2(nullptr); // { dg-warning "null argument where non-null required " } f3("x", "y", __null); // { dg-warning "missing sentinel in function call" } f3("x", "y", nullptr); + decltype(nullptr) mynull = 0; + f1("%p", mynull); + f2(mynull); // { dg-warning "null argument where non-null required " } + f3("x", "y", mynull); } diff --git a/gcc/testsuite/g++.dg/cpp0x/rv-trivial-bug.C b/gcc/testsuite/g++.dg/cpp0x/rv-trivial-bug.C index beb8acb5a50..2765b5f3c30 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv-trivial-bug.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv-trivial-bug.C @@ -1,4 +1,3 @@ -// { dg-do "run" } // { dg-options "-std=c++0x" } // PR c++/33235 #include <cassert> @@ -9,19 +8,19 @@ int move_assign = 0; struct base2 { base2() {} - base2(base2&&) {++move_construct;} - base2& operator=(base2&&) {++move_assign; return *this;} + base2(base2&&) {++move_construct;} // { dg-error "argument 1" } + base2& operator=(base2&&) {++move_assign; return *this;} // { dg-error "argument 1" } }; int test2() { base2 b; - base2 b2(b); + base2 b2(b); // { dg-error "lvalue" } assert(move_construct == 0); base2 b3(static_cast<base2&&>(b)); base2 b4 = static_cast<base2&&>(b); assert(move_construct == 2); - b = b2; + b = b2; // { dg-error "lvalue" } assert(move_assign == 0); b = static_cast<base2&&>(b2); assert(move_assign == 1); diff --git a/gcc/testsuite/g++.dg/cpp0x/rv1n.C b/gcc/testsuite/g++.dg/cpp0x/rv1n.C index b7b9b6e25ce..5224d3eb70e 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv1n.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv1n.C @@ -20,7 +20,7 @@ struct eight {char x[8];}; struct A { A(); - A(const volatile A&&); + A(const volatile A&&); // { dg-error "argument 1" } }; A source(); @@ -35,9 +35,9 @@ one sink_1_1( A&); // { dg-error "" } int test1_1() { A a; - const A ca = a; + const A ca = a; // { dg-error "cannot bind" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "cannot bind" } sink_1_1(ca); // { dg-error "invalid initialization" } sink_1_1(va); // { dg-error "invalid initialization" } sink_1_1(cva); // { dg-error "invalid initialization" } @@ -53,9 +53,9 @@ two sink_1_2(const A&); // { dg-error "" } int test1_2() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_1_2(va); // { dg-error "invalid initialization" } sink_1_2(cva); // { dg-error "invalid initialization" } sink_1_2(v_source()); // { dg-error "invalid initialization" } @@ -68,9 +68,9 @@ three sink_1_3(volatile A&); // { dg-error "" } int test1_3() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_1_3(ca); // { dg-error "invalid initialization" } sink_1_3(cva); // { dg-error "invalid initialization" } sink_1_3(source()); // { dg-error "invalid initialization" } @@ -85,9 +85,9 @@ four sink_1_4(const volatile A&); // { dg-error "" } int test1_4() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_1_4(source()); // { dg-error "invalid initialization" } sink_1_4(c_source()); // { dg-error "invalid initialization" } sink_1_4(v_source()); // { dg-error "invalid initialization" } @@ -100,9 +100,9 @@ five sink_1_5( A&&); // { dg-error "" } int test1_5() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_1_5(a); // { dg-error "lvalue" } sink_1_5(ca); // { dg-error "invalid initialization" } sink_1_5(va); // { dg-error "invalid initialization" } @@ -118,9 +118,9 @@ six sink_1_6(const A&&); // { dg-error "" } int test1_6() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_1_6(a); // { dg-error "lvalue" } sink_1_6(ca); // { dg-error "lvalue" } sink_1_6(va); // { dg-error "invalid initialization" } @@ -135,9 +135,9 @@ seven sink_1_7(volatile A&&); // { dg-error "" } int test1_7() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_1_7(a); // { dg-error "lvalue" } sink_1_7(ca); // { dg-error "invalid initialization" } sink_1_7(va); // { dg-error "lvalue" } @@ -152,9 +152,9 @@ eight sink_1_8(const volatile A&&); // { dg-error "" } int test1_8() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_1_8(a); // { dg-error "lvalue" } sink_1_8(ca); // { dg-error "lvalue" } sink_1_8(va); // { dg-error "lvalue" } diff --git a/gcc/testsuite/g++.dg/cpp0x/rv1p.C b/gcc/testsuite/g++.dg/cpp0x/rv1p.C index b2770ef33d5..4990165a465 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv1p.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv1p.C @@ -35,9 +35,9 @@ one sink_1_1( A&); int test1_1() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_1_1(a)) == 1> t1; return 0; } @@ -47,9 +47,9 @@ two sink_1_2(const A&); int test1_2() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_1_2(a)) == 2> t1; sa<sizeof(sink_1_2(ca)) == 2> t2; sa<sizeof(sink_1_2(source())) == 2> t5; @@ -62,9 +62,9 @@ three sink_1_3(volatile A&); int test1_3() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_1_3(a)) == 3> t1; sa<sizeof(sink_1_3(va)) == 3> t3; return 0; @@ -75,9 +75,9 @@ four sink_1_4(const volatile A&); int test1_4() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_1_4(a)) == 4> t1; sa<sizeof(sink_1_4(ca)) == 4> t2; sa<sizeof(sink_1_4(va)) == 4> t3; @@ -90,9 +90,9 @@ five sink_1_5( A&&); int test1_5() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_1_5(source())) == 5> t5; return 0; } @@ -102,9 +102,9 @@ six sink_1_6(const A&&); int test1_6() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_1_6(source())) == 6> t5; sa<sizeof(sink_1_6(c_source())) == 6> t6; return 0; @@ -115,9 +115,9 @@ seven sink_1_7(volatile A&&); int test1_7() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_1_7(source())) == 7> t5; sa<sizeof(sink_1_7(v_source())) == 7> t7; return 0; @@ -128,9 +128,9 @@ eight sink_1_8(const volatile A&&); int test1_8() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_1_8(source())) == 8> t5; sa<sizeof(sink_1_8(c_source())) == 8> t6; sa<sizeof(sink_1_8(v_source())) == 8> t7; diff --git a/gcc/testsuite/g++.dg/cpp0x/rv2n.C b/gcc/testsuite/g++.dg/cpp0x/rv2n.C index 5eee82c4bcf..a5c51778e34 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv2n.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv2n.C @@ -20,7 +20,7 @@ struct eight {char x[8];}; struct A { A(); - A(const volatile A&&); + A(const volatile A&&); // { dg-error "argument 1" } }; A source(); @@ -36,9 +36,9 @@ two sink_2_12(const A&); // { dg-message "note|argument" } int test2_12() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_12(va); // { dg-error "no match" } sink_2_12(cva); // { dg-error "no match" } sink_2_12(v_source()); // { dg-error "no match" } @@ -52,9 +52,9 @@ three sink_2_13(volatile A&); // { dg-message "note|argument" } int test2_13() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_13(ca); // { dg-error "no match" } sink_2_13(cva); // { dg-error "no match" } sink_2_13(source()); // { dg-error "no match" } @@ -70,9 +70,9 @@ four sink_2_14(const volatile A&); // { dg-message "note|argument" } int test2_14() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_14(source()); // { dg-error "no match" } sink_2_14(c_source()); // { dg-error "no match" } sink_2_14(v_source()); // { dg-error "no match" } @@ -86,9 +86,9 @@ five sink_2_15( A&&); // { dg-message "note|argument" } int test2_15() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_15(ca); // { dg-error "no match" } sink_2_15(va); // { dg-error "no match" } sink_2_15(cva); // { dg-error "no match" } @@ -104,9 +104,9 @@ six sink_2_16(const A&&); // { dg-message "note|argument" } int test2_16() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_16(ca); // { dg-error "lvalue" } sink_2_16(va); // { dg-error "no match" } sink_2_16(cva); // { dg-error "no match" } @@ -121,9 +121,9 @@ seven sink_2_17(volatile A&&); // { dg-message "note|argument" } int test2_17() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_17(ca); // { dg-error "no match" } sink_2_17(va); // { dg-error "lvalue" } sink_2_17(cva); // { dg-error "no match" } @@ -138,9 +138,9 @@ eight sink_2_18(const volatile A&&); // { dg-error "argument" } int test2_18() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_18(ca); // { dg-error "lvalue" } sink_2_18(va); // { dg-error "lvalue" } sink_2_18(cva); // { dg-error "lvalue" } @@ -152,9 +152,9 @@ three sink_2_23(volatile A&); // { dg-message "note|argument" } int test2_23() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_23(a); // { dg-error "ambiguous" } sink_2_23(cva); // { dg-error "no match" } sink_2_23(v_source()); // { dg-error "no match" } @@ -168,9 +168,9 @@ four sink_2_24(const volatile A&); // { dg-message "note|argument" } int test2_24() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_24(v_source()); // { dg-error "no match" } sink_2_24(cv_source()); // { dg-error "no match" } return 0; @@ -182,9 +182,9 @@ four sink_2_34(const volatile A&); // { dg-message "note|argument" } int test2_34() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_34(source()); // { dg-error "no match" } sink_2_34(c_source()); // { dg-error "no match" } sink_2_34(v_source()); // { dg-error "no match" } @@ -198,9 +198,9 @@ five sink_2_25( A&&); // { dg-message "note|argument" } int test2_25() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_25(va); // { dg-error "no match" } sink_2_25(cva); // { dg-error "no match" } sink_2_25(v_source()); // { dg-error "no match" } @@ -214,9 +214,9 @@ six sink_2_26(const A&&); // { dg-message "note|argument" } int test2_26() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_26(va); // { dg-error "no match" } sink_2_26(cva); // { dg-error "no match" } sink_2_26(v_source()); // { dg-error "no match" } @@ -230,9 +230,9 @@ seven sink_2_27(volatile A&&); // { dg-message "note|argument" } int test2_27() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_27(va); // { dg-error "lvalue" } sink_2_27(cva); // { dg-error "no match" } sink_2_27(cv_source()); // { dg-error "no match" } @@ -245,9 +245,9 @@ eight sink_2_28(const volatile A&&); // { dg-error "argument" } int test2_28() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_28(va); // { dg-error "lvalue" } sink_2_28(cva); // { dg-error "lvalue" } } @@ -258,9 +258,9 @@ five sink_2_35( A&&); // { dg-message "note|argument" } int test2_35() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_35(ca); // { dg-error "no match" } sink_2_35(cva); // { dg-error "no match" } sink_2_35(c_source()); // { dg-error "no match" } @@ -275,9 +275,9 @@ six sink_2_36(const A&&); // { dg-message "note|argument" } int test2_36() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_36(ca); // { dg-error "lvalue" } sink_2_36(cva); // { dg-error "no match" } sink_2_36(v_source()); // { dg-error "no match" } @@ -291,9 +291,9 @@ seven sink_2_37(volatile A&&); // { dg-message "note|argument" } int test2_37() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_37(ca); // { dg-error "no match" } sink_2_37(cva); // { dg-error "no match" } sink_2_37(c_source()); // { dg-error "no match" } @@ -307,9 +307,9 @@ eight sink_2_38(const volatile A&&); // { dg-error "argument" } int test2_38() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_38(ca); // { dg-error "lvalue" } sink_2_38(cva); // { dg-error "lvalue" } } @@ -320,9 +320,9 @@ five sink_2_45( A&&); // { dg-message "note|argument" } int test2_45() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_45(c_source()); // { dg-error "no match" } sink_2_45(v_source()); // { dg-error "no match" } sink_2_45(cv_source()); // { dg-error "no match" } @@ -335,9 +335,9 @@ six sink_2_46(const A&&); // { dg-message "note|argument" } int test2_46() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_46(v_source()); // { dg-error "no match" } sink_2_46(cv_source()); // { dg-error "no match" } return 0; @@ -349,9 +349,9 @@ seven sink_2_47(volatile A&&); // { dg-message "note|argument" } int test2_47() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_47(c_source()); // { dg-error "no match" } sink_2_47(cv_source()); // { dg-error "no match" } return 0; @@ -363,9 +363,9 @@ six sink_2_56(const A&&); // { dg-message "note|argument" } int test2_56() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_56(a); // { dg-error "lvalue" } sink_2_56(ca); // { dg-error "lvalue" } sink_2_56(va); // { dg-error "no match" } @@ -381,9 +381,9 @@ seven sink_2_57(volatile A&&); // { dg-message "note|argument" } int test2_57() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_57(a); // { dg-error "lvalue" } sink_2_57(va); // { dg-error "lvalue" } sink_2_57(ca); // { dg-error "no match" } @@ -399,9 +399,9 @@ eight sink_2_58(const volatile A&&); // { dg-error "argument" } int test2_58() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_58(a); // { dg-error "lvalue" } sink_2_58(ca); // { dg-error "lvalue" } sink_2_58(va); // { dg-error "lvalue" } @@ -414,9 +414,9 @@ seven sink_2_67(volatile A&&); // { dg-message "note|argument" } int test2_67() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_67(a); // { dg-error "ambiguous" } sink_2_67(ca); // { dg-error "lvalue" } sink_2_67(va); // { dg-error "lvalue" } @@ -432,9 +432,9 @@ eight sink_2_68(const volatile A&&); // { dg-error "argument" } int test2_68() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_68(a); // { dg-error "lvalue" } sink_2_68(ca); // { dg-error "lvalue" } sink_2_68(va); // { dg-error "lvalue" } @@ -447,9 +447,9 @@ eight sink_2_78(const volatile A&&); // { dg-error "argument" } int test2_78() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_2_78(a); // { dg-error "lvalue" } sink_2_78(ca); // { dg-error "lvalue" } sink_2_78(va); // { dg-error "lvalue" } diff --git a/gcc/testsuite/g++.dg/cpp0x/rv2p.C b/gcc/testsuite/g++.dg/cpp0x/rv2p.C index 61c4fb046b6..4ed9238a1a1 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv2p.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv2p.C @@ -36,9 +36,9 @@ two sink_2_12(const A&); int test2_12() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_12(a)) == 1> t1; sa<sizeof(sink_2_12(ca)) == 2> t2; sa<sizeof(sink_2_12(source())) == 2> t5; @@ -52,9 +52,9 @@ three sink_2_13(volatile A&); int test2_13() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_13(a)) == 1> t1; sa<sizeof(sink_2_13(va)) == 3> t3; return 0; @@ -66,9 +66,9 @@ four sink_2_14(const volatile A&); int test2_14() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_14(a)) == 1> t1; sa<sizeof(sink_2_14(ca)) == 4> t2; sa<sizeof(sink_2_14(va)) == 4> t3; @@ -82,9 +82,9 @@ five sink_2_15( A&&); int test2_15() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_15(a)) == 1> t1; sa<sizeof(sink_2_15(source())) == 5> t5; return 0; @@ -96,9 +96,9 @@ six sink_2_16(const A&&); int test2_16() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_16(a)) == 1> t1; sa<sizeof(sink_2_16(source())) == 6> t5; sa<sizeof(sink_2_16(c_source())) == 6> t6; @@ -111,9 +111,9 @@ seven sink_2_17(volatile A&&); int test2_17() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_17(a)) == 1> t1; sa<sizeof(sink_2_17(source())) == 7> t5; sa<sizeof(sink_2_17(v_source())) == 7> t7; @@ -126,9 +126,9 @@ eight sink_2_18(const volatile A&&); int test2_18() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_18(a)) == 1> t1; sa<sizeof(sink_2_18(source())) == 8> t5; sa<sizeof(sink_2_18(c_source())) == 8> t6; @@ -143,9 +143,9 @@ three sink_2_23(volatile A&); int test2_23() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_23(ca)) == 2> t2; sa<sizeof(sink_2_23(va)) == 3> t3; sa<sizeof(sink_2_23(source())) == 2> t5; @@ -159,9 +159,9 @@ four sink_2_24(const volatile A&); int test2_24() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_24(a)) == 2> t1; sa<sizeof(sink_2_24(ca)) == 2> t2; sa<sizeof(sink_2_24(va)) == 4> t3; @@ -179,9 +179,9 @@ five sink_2_25( A&&); int test2_25() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_25(a)) == 2> t1; sa<sizeof(sink_2_25(ca)) == 2> t2; sa<sizeof(sink_2_25(source())) == 5> t5; @@ -195,9 +195,9 @@ six sink_2_26(const A&&); int test2_26() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_26(a)) == 2> t1; sa<sizeof(sink_2_26(ca)) == 2> t2; sa<sizeof(sink_2_26(source())) == 6> t5; @@ -211,9 +211,9 @@ seven sink_2_27(volatile A&&); int test2_27() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_27(a)) == 2> t1; sa<sizeof(sink_2_27(ca)) == 2> t2; sa<sizeof(sink_2_27(source())) == 7> t5; @@ -228,9 +228,9 @@ eight sink_2_28(const volatile A&&); int test2_28() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_28(a)) == 2> t1; sa<sizeof(sink_2_28(ca)) == 2> t2; sa<sizeof(sink_2_28(source())) == 8> t5; @@ -246,9 +246,9 @@ four sink_2_34(const volatile A&); int test2_34() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_34(a)) == 3> t1; sa<sizeof(sink_2_34(ca)) == 4> t2; sa<sizeof(sink_2_34(va)) == 3> t3; @@ -266,9 +266,9 @@ five sink_2_35( A&&); int test2_35() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_35(a)) == 3> t1; sa<sizeof(sink_2_35(va)) == 3> t3; sa<sizeof(sink_2_35(source())) == 5> t5; @@ -281,9 +281,9 @@ six sink_2_36(const A&&); int test2_36() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_36(a)) == 3> t1; sa<sizeof(sink_2_36(va)) == 3> t3; sa<sizeof(sink_2_36(source())) == 6> t5; @@ -297,9 +297,9 @@ seven sink_2_37(volatile A&&); int test2_37() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_37(a)) == 3> t1; sa<sizeof(sink_2_37(va)) == 3> t3; sa<sizeof(sink_2_37(source())) == 7> t5; @@ -313,9 +313,9 @@ eight sink_2_38(const volatile A&&); int test2_38() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_38(a)) == 3> t1; sa<sizeof(sink_2_38(va)) == 3> t3; sa<sizeof(sink_2_38(source())) == 8> t5; @@ -331,9 +331,9 @@ five sink_2_45( A&&); int test2_45() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_45(a)) == 4> t1; sa<sizeof(sink_2_45(ca)) == 4> t2; sa<sizeof(sink_2_45(va)) == 4> t3; @@ -351,9 +351,9 @@ six sink_2_46(const A&&); int test2_46() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_46(a)) == 4> t1; sa<sizeof(sink_2_46(ca)) == 4> t2; sa<sizeof(sink_2_46(va)) == 4> t3; @@ -371,9 +371,9 @@ seven sink_2_47(volatile A&&); int test2_47() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_47(a)) == 4> t1; sa<sizeof(sink_2_47(ca)) == 4> t2; sa<sizeof(sink_2_47(va)) == 4> t3; @@ -391,9 +391,9 @@ eight sink_2_48(const volatile A&&); int test2_48() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_48(a)) == 4> t1; sa<sizeof(sink_2_48(ca)) == 4> t2; sa<sizeof(sink_2_48(va)) == 4> t3; @@ -411,9 +411,9 @@ six sink_2_56(const A&&); int test2_56() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_56(source())) == 5> t5; sa<sizeof(sink_2_56(c_source())) == 6> t6; return 0; @@ -425,9 +425,9 @@ seven sink_2_57(volatile A&&); int test2_57() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_57(source())) == 5> t5; sa<sizeof(sink_2_57(v_source())) == 7> t7; return 0; @@ -439,9 +439,9 @@ eight sink_2_58(const volatile A&&); int test2_58() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_58(source())) == 5> t5; sa<sizeof(sink_2_58(c_source())) == 8> t6; sa<sizeof(sink_2_58(v_source())) == 8> t7; @@ -455,9 +455,9 @@ seven sink_2_67(volatile A&&); int test2_67() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_67(c_source())) == 6> t6; sa<sizeof(sink_2_67(v_source())) == 7> t7; return 0; @@ -469,9 +469,9 @@ eight sink_2_68(const volatile A&&); int test2_68() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_68(source())) == 6> t5; sa<sizeof(sink_2_68(c_source())) == 6> t6; sa<sizeof(sink_2_68(v_source())) == 8> t7; @@ -485,9 +485,9 @@ eight sink_2_78(const volatile A&&); int test2_78() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_2_78(source())) == 7> t5; sa<sizeof(sink_2_78(c_source())) == 8> t6; sa<sizeof(sink_2_78(v_source())) == 7> t7; diff --git a/gcc/testsuite/g++.dg/cpp0x/rv3n.C b/gcc/testsuite/g++.dg/cpp0x/rv3n.C index 0c208ab6ed0..cacbdb395e7 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv3n.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv3n.C @@ -20,7 +20,7 @@ struct eight {char x[8];}; struct A { A(); - A(const volatile A&&); + A(const volatile A&&); // { dg-error "argument 1" } }; A source(); @@ -37,9 +37,9 @@ three sink_3_123(volatile A&); // { dg-message "note" } int test3_123() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_123(cva); // { dg-error "no match" } sink_3_123(v_source()); // { dg-error "no match" } sink_3_123(cv_source()); // { dg-error "no match" } @@ -57,9 +57,9 @@ four sink_3_124(const volatile A&); // { dg-message "note" } int test3_124() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_124(v_source()); // { dg-error "no match" } sink_3_124(cv_source()); // { dg-error "no match" } return 0; @@ -68,9 +68,9 @@ int test3_124() int test3_125() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_125(va); // { dg-error "no match" } sink_3_125(cva); // { dg-error "no match" } sink_3_125(v_source()); // { dg-error "no match" } @@ -85,9 +85,9 @@ six sink_3_126(const A&&); // { dg-message "note" } int test3_126() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_126(va); // { dg-error "no match" } sink_3_126(cva); // { dg-error "no match" } sink_3_126(v_source()); // { dg-error "no match" } @@ -102,9 +102,9 @@ seven sink_3_127(volatile A&&); // { dg-message "" } int test3_127() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_127(va); // { dg-error "lvalue" } sink_3_127(cva); // { dg-error "no match" } sink_3_127(cv_source()); // { dg-error "no match" } @@ -118,9 +118,9 @@ eight sink_3_128(const volatile A&&); // { dg-message "" } int test3_128() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_128(va); // { dg-error "lvalue" } sink_3_128(cva); // { dg-error "lvalue" } @@ -133,9 +133,9 @@ four sink_3_134(const volatile A&); // { dg-message "note" } int test3_134() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_134(source()); // { dg-error "no match" } sink_3_134(c_source()); // { dg-error "no match" } sink_3_134(v_source()); // { dg-error "no match" } @@ -150,9 +150,9 @@ five sink_3_135( A&&); // { dg-message "note" } int test3_135() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_135(ca); // { dg-error "no match" } sink_3_135(cva); // { dg-error "no match" } sink_3_135(c_source()); // { dg-error "no match" } @@ -168,9 +168,9 @@ six sink_3_136(const A&&); // { dg-message "" } int test3_136() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_136(ca); // { dg-error "lvalue" } sink_3_136(cva); // { dg-error "no match" } sink_3_136(v_source()); // { dg-error "no match" } @@ -185,9 +185,9 @@ seven sink_3_137(volatile A&&); // { dg-message "note" } int test3_137() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_137(ca); // { dg-error "no match" } sink_3_137(cva); // { dg-error "no match" } sink_3_137(c_source()); // { dg-error "no match" } @@ -202,9 +202,9 @@ eight sink_3_138(const volatile A&&); // { dg-message "" } int test3_138() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_138(ca); // { dg-error "lvalue" } sink_3_138(cva); // { dg-error "lvalue" } return 0; @@ -217,9 +217,9 @@ five sink_3_145( A&&); // { dg-message "note" } int test3_145() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_145(c_source()); // { dg-error "no match" } sink_3_145(v_source()); // { dg-error "no match" } sink_3_145(cv_source()); // { dg-error "no match" } @@ -233,9 +233,9 @@ six sink_3_146(const A&&); // { dg-message "note" } int test3_146() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_146(v_source()); // { dg-error "no match" } sink_3_146(cv_source()); // { dg-error "no match" } return 0; @@ -248,9 +248,9 @@ seven sink_3_147(volatile A&&); // { dg-message "note" } int test3_147() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_147(c_source()); // { dg-error "no match" } sink_3_147(cv_source()); // { dg-error "no match" } return 0; @@ -263,9 +263,9 @@ six sink_3_156(const A&&); // { dg-message "" } int test3_156() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_156(ca); // { dg-error "lvalue" } sink_3_156(va); // { dg-error "no match" } sink_3_156(cva); // { dg-error "no match" } @@ -281,9 +281,9 @@ seven sink_3_157(volatile A&&); // { dg-message "" } int test3_157() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_157(ca); // { dg-error "no match" } sink_3_157(va); // { dg-error "lvalue" } sink_3_157(cva); // { dg-error "no match" } @@ -299,9 +299,9 @@ eight sink_3_158(const volatile A&&); // { dg-message "" } int test3_158() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_158(ca); // { dg-error "lvalue" } sink_3_158(va); // { dg-error "lvalue" } sink_3_158(cva); // { dg-error "lvalue" } @@ -315,9 +315,9 @@ seven sink_3_167(volatile A&&); // { dg-message "" } int test3_167() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_167(ca); // { dg-error "lvalue" } sink_3_167(va); // { dg-error "lvalue" } sink_3_167(cva); // { dg-error "no match" } @@ -333,9 +333,9 @@ eight sink_3_168(const volatile A&&); // { dg-message "" } int test3_168() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_168(ca); // { dg-error "lvalue" } sink_3_168(va); // { dg-error "lvalue" } sink_3_168(cva); // { dg-error "lvalue" } @@ -349,9 +349,9 @@ eight sink_3_178(const volatile A&&); // { dg-message "" } int test3_178() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_178(ca); // { dg-error "lvalue" } sink_3_178(va); // { dg-error "lvalue" } sink_3_178(cva); // { dg-error "lvalue" } @@ -365,9 +365,9 @@ four sink_3_234(const volatile A&); // { dg-message "note" } int test3_234() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_234(a); // { dg-error "ambiguous" } sink_3_234(v_source()); // { dg-error "no match" } sink_3_234(cv_source()); // { dg-error "no match" } @@ -381,9 +381,9 @@ five sink_3_235( A&&); // { dg-message "note" } int test3_235() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_235(a); // { dg-error "ambiguous" } sink_3_235(cva); // { dg-error "no match" } sink_3_235(v_source()); // { dg-error "no match" } @@ -398,9 +398,9 @@ six sink_3_236(const A&&); // { dg-message "note" } int test3_236() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_236(a); // { dg-error "ambiguous" } sink_3_236(cva); // { dg-error "no match" } sink_3_236(v_source()); // { dg-error "no match" } @@ -415,9 +415,9 @@ seven sink_3_237(volatile A&&); // { dg-message "note" } int test3_237() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_237(a); // { dg-error "ambiguous" } sink_3_237(cva); // { dg-error "no match" } sink_3_237(cv_source()); // { dg-error "no match" } @@ -431,9 +431,9 @@ eight sink_3_238(const volatile A&&); // { dg-message "" } int test3_238() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_238(a); // { dg-error "ambiguous" } sink_3_238(cva); // { dg-error "lvalue" } return 0; @@ -446,9 +446,9 @@ five sink_3_245( A&&); // { dg-message "note" } int test3_245() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_245(v_source()); // { dg-error "no match" } sink_3_245(cv_source()); // { dg-error "no match" } return 0; @@ -461,9 +461,9 @@ six sink_3_246(const A&&); // { dg-message "note" } int test3_246() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_246(v_source()); // { dg-error "no match" } sink_3_246(cv_source()); // { dg-error "no match" } return 0; @@ -476,9 +476,9 @@ seven sink_3_247(volatile A&&); // { dg-message "note" } int test3_247() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_247(cv_source()); // { dg-error "no match" } return 0; } @@ -490,9 +490,9 @@ six sink_3_256(const A&&); // { dg-message "note" } int test3_256() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_256(va); // { dg-error "no match" } sink_3_256(cva); // { dg-error "no match" } sink_3_256(v_source()); // { dg-error "no match" } @@ -507,9 +507,9 @@ seven sink_3_257(volatile A&&); // { dg-message "" } int test3_257() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_257(va); // { dg-error "lvalue" } sink_3_257(cva); // { dg-error "no match" } sink_3_257(cv_source()); // { dg-error "no match" } @@ -523,9 +523,9 @@ eight sink_3_258(const volatile A&&); // { dg-message "" } int test3_258() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_258(va); // { dg-error "lvalue" } sink_3_258(cva); // { dg-error "lvalue" } return 0; @@ -538,9 +538,9 @@ seven sink_3_267(volatile A&&); // { dg-message "" } int test3_267() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_267(va); // { dg-error "lvalue" } sink_3_267(cva); // { dg-error "no match" } sink_3_267(source()); // { dg-error "ambiguous" } @@ -555,9 +555,9 @@ eight sink_3_268(const volatile A&&); // { dg-message "" } int test3_268() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_268(va); // { dg-error "lvalue" } sink_3_268(cva); // { dg-error "lvalue" } return 0; @@ -570,9 +570,9 @@ eight sink_3_278(const volatile A&&); // { dg-message "" } int test3_278() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_278(va); // { dg-error "lvalue" } sink_3_278(cva); // { dg-error "lvalue" } return 0; @@ -585,9 +585,9 @@ five sink_3_345( A&&); // { dg-message "note" } int test3_345() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_345(c_source()); // { dg-error "no match" } sink_3_345(v_source()); // { dg-error "no match" } sink_3_345(cv_source()); // { dg-error "no match" } @@ -601,9 +601,9 @@ six sink_3_346(const A&&); // { dg-message "note" } int test3_346() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_346(v_source()); // { dg-error "no match" } sink_3_346(cv_source()); // { dg-error "no match" } return 0; @@ -616,9 +616,9 @@ seven sink_3_347(volatile A&&); // { dg-message "note" } int test3_347() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_347(c_source()); // { dg-error "no match" } sink_3_347(cv_source()); // { dg-error "no match" } return 0; @@ -631,9 +631,9 @@ six sink_3_356(const A&&); // { dg-message "" } int test3_356() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_356(ca); // { dg-error "lvalue" } sink_3_356(cva); // { dg-error "no match" } sink_3_356(v_source()); // { dg-error "no match" } @@ -648,9 +648,9 @@ seven sink_3_357(volatile A&&); // { dg-message "note" } int test3_357() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_357(ca); // { dg-error "no match" } sink_3_357(cva); // { dg-error "no match" } sink_3_357(c_source()); // { dg-error "no match" } @@ -665,9 +665,9 @@ eight sink_3_358(const volatile A&&); // { dg-message "" } int test3_358() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_358(ca); // { dg-error "lvalue" } sink_3_358(cva); // { dg-error "lvalue" } return 0; @@ -680,9 +680,9 @@ seven sink_3_367(volatile A&&); // { dg-message "note" } int test3_367() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_367(ca); // { dg-error "lvalue" } sink_3_367(cva); // { dg-error "no match" } sink_3_367(source()); // { dg-error "ambiguous" } @@ -697,9 +697,9 @@ eight sink_3_368(const volatile A&&); // { dg-message "" } int test3_368() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_368(ca); // { dg-error "lvalue" } sink_3_368(cva); // { dg-error "lvalue" } return 0; @@ -712,9 +712,9 @@ eight sink_3_378(const volatile A&&); // { dg-message "" } int test3_378() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_378(ca); // { dg-error "lvalue" } sink_3_378(cva); // { dg-error "lvalue" } return 0; @@ -727,9 +727,9 @@ six sink_3_456(const A&&); // { dg-message "note" } int test3_456() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_456(v_source()); // { dg-error "no match" } sink_3_456(cv_source()); // { dg-error "no match" } return 0; @@ -742,9 +742,9 @@ seven sink_3_457(volatile A&&); // { dg-message "note" } int test3_457() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_457(c_source()); // { dg-error "no match" } sink_3_457(cv_source()); // { dg-error "no match" } return 0; @@ -757,9 +757,9 @@ seven sink_3_467(volatile A&&); // { dg-message "note" } int test3_467() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_467(source()); // { dg-error "ambiguous" } sink_3_467(cv_source()); // { dg-error "no match" } return 0; @@ -772,9 +772,9 @@ seven sink_3_567(volatile A&&); // { dg-message "" } int test3_567() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_567(a); // { dg-error "lvalue" } sink_3_567(ca); // { dg-error "lvalue" } sink_3_567(va); // { dg-error "lvalue" } @@ -790,9 +790,9 @@ eight sink_3_568(const volatile A&&); // { dg-message "" } int test3_568() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_568(a); // { dg-error "lvalue" } sink_3_568(ca); // { dg-error "lvalue" } sink_3_568(va); // { dg-error "lvalue" } @@ -807,9 +807,9 @@ eight sink_3_578(const volatile A&&); // { dg-message "" } int test3_578() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_578(a); // { dg-error "lvalue" } sink_3_578(ca); // { dg-error "lvalue" } sink_3_578(va); // { dg-error "lvalue" } @@ -824,9 +824,9 @@ eight sink_3_678(const volatile A&&); // { dg-message "" } int test3_678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_3_678(a); // { dg-error "ambiguous" } sink_3_678(ca); // { dg-error "lvalue" } sink_3_678(va); // { dg-error "lvalue" } diff --git a/gcc/testsuite/g++.dg/cpp0x/rv3p.C b/gcc/testsuite/g++.dg/cpp0x/rv3p.C index 5ab171f2655..5f59920bba6 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv3p.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv3p.C @@ -37,9 +37,9 @@ three sink_3_123(volatile A&); int test3_123() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_123(a)) == 1> t1; sa<sizeof(sink_3_123(ca)) == 2> t2; sa<sizeof(sink_3_123(va)) == 3> t3; @@ -55,9 +55,9 @@ four sink_3_124(const volatile A&); int test3_124() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_124(a)) == 1> t1; sa<sizeof(sink_3_124(ca)) == 2> t2; sa<sizeof(sink_3_124(va)) == 4> t3; @@ -74,9 +74,9 @@ five sink_3_125( A&&); int test3_125() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_125(a)) == 1> t1; sa<sizeof(sink_3_125(ca)) == 2> t2; sa<sizeof(sink_3_125(source())) == 5> t5; @@ -91,9 +91,9 @@ six sink_3_126(const A&&); int test3_126() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_126(a)) == 1> t1; sa<sizeof(sink_3_126(ca)) == 2> t2; sa<sizeof(sink_3_126(source())) == 6> t5; @@ -108,9 +108,9 @@ seven sink_3_127(volatile A&&); int test3_127() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_127(a)) == 1> t1; sa<sizeof(sink_3_127(ca)) == 2> t2; sa<sizeof(sink_3_127(source())) == 7> t5; @@ -126,9 +126,9 @@ eight sink_3_128(const volatile A&&); int test3_128() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_128(a)) == 1> t1; sa<sizeof(sink_3_128(ca)) == 2> t2; sa<sizeof(sink_3_128(source())) == 8> t5; @@ -145,9 +145,9 @@ four sink_3_134(const volatile A&); int test3_134() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_134(a)) == 1> t1; sa<sizeof(sink_3_134(ca)) == 4> t2; sa<sizeof(sink_3_134(va)) == 3> t3; @@ -162,9 +162,9 @@ five sink_3_135( A&&); int test3_135() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_135(a)) == 1> t1; sa<sizeof(sink_3_135(va)) == 3> t3; sa<sizeof(sink_3_135(source())) == 5> t5; @@ -178,9 +178,9 @@ six sink_3_136(const A&&); int test3_136() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_136(a)) == 1> t1; sa<sizeof(sink_3_136(va)) == 3> t3; sa<sizeof(sink_3_136(source())) == 6> t5; @@ -195,9 +195,9 @@ seven sink_3_137(volatile A&&); int test3_137() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_137(a)) == 1> t1; sa<sizeof(sink_3_137(va)) == 3> t3; sa<sizeof(sink_3_137(source())) == 7> t5; @@ -212,9 +212,9 @@ eight sink_3_138(const volatile A&&); int test3_138() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_138(a)) == 1> t1; sa<sizeof(sink_3_138(va)) == 3> t3; sa<sizeof(sink_3_138(source())) == 8> t5; @@ -231,9 +231,9 @@ five sink_3_145( A&&); int test3_145() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_145(a)) == 1> t1; sa<sizeof(sink_3_145(ca)) == 4> t2; sa<sizeof(sink_3_145(va)) == 4> t3; @@ -249,9 +249,9 @@ six sink_3_146(const A&&); int test3_146() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_146(a)) == 1> t1; sa<sizeof(sink_3_146(ca)) == 4> t2; sa<sizeof(sink_3_146(va)) == 4> t3; @@ -268,9 +268,9 @@ seven sink_3_147(volatile A&&); int test3_147() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_147(a)) == 1> t1; sa<sizeof(sink_3_147(ca)) == 4> t2; sa<sizeof(sink_3_147(va)) == 4> t3; @@ -287,9 +287,9 @@ eight sink_3_148(const volatile A&&); int test3_148() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_148(a)) == 1> t1; sa<sizeof(sink_3_148(ca)) == 4> t2; sa<sizeof(sink_3_148(va)) == 4> t3; @@ -308,9 +308,9 @@ six sink_3_156(const A&&); int test3_156() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_156(a)) == 1> t1; sa<sizeof(sink_3_156(source())) == 5> t5; sa<sizeof(sink_3_156(c_source())) == 6> t6; @@ -324,9 +324,9 @@ seven sink_3_157(volatile A&&); int test3_157() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_157(a)) == 1> t1; sa<sizeof(sink_3_157(source())) == 5> t5; sa<sizeof(sink_3_157(v_source())) == 7> t7; @@ -340,9 +340,9 @@ eight sink_3_158(const volatile A&&); int test3_158() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_158(a)) == 1> t1; sa<sizeof(sink_3_158(source())) == 5> t5; sa<sizeof(sink_3_158(c_source())) == 8> t6; @@ -358,9 +358,9 @@ seven sink_3_167(volatile A&&); int test3_167() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_167(a)) == 1> t1; sa<sizeof(sink_3_167(c_source())) == 6> t6; sa<sizeof(sink_3_167(v_source())) == 7> t7; @@ -374,9 +374,9 @@ eight sink_3_168(const volatile A&&); int test3_168() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_168(a)) == 1> t1; sa<sizeof(sink_3_168(source())) == 6> t5; sa<sizeof(sink_3_168(c_source())) == 6> t6; @@ -392,9 +392,9 @@ eight sink_3_178(const volatile A&&); int test3_178() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_178(a)) == 1> t1; sa<sizeof(sink_3_178(source())) == 7> t5; sa<sizeof(sink_3_178(c_source())) == 8> t6; @@ -410,9 +410,9 @@ four sink_3_234(const volatile A&); int test3_234() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_234(ca)) == 2> t2; sa<sizeof(sink_3_234(va)) == 3> t3; sa<sizeof(sink_3_234(cva)) == 4> t4; @@ -428,9 +428,9 @@ five sink_3_235( A&&); int test3_235() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_235(ca)) == 2> t2; sa<sizeof(sink_3_235(va)) == 3> t3; sa<sizeof(sink_3_235(source())) == 5> t5; @@ -445,9 +445,9 @@ six sink_3_236(const A&&); int test3_236() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_236(ca)) == 2> t2; sa<sizeof(sink_3_236(va)) == 3> t3; sa<sizeof(sink_3_236(source())) == 6> t5; @@ -462,9 +462,9 @@ seven sink_3_237(volatile A&&); int test3_237() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_237(ca)) == 2> t2; sa<sizeof(sink_3_237(va)) == 3> t3; sa<sizeof(sink_3_237(source())) == 7> t5; @@ -480,9 +480,9 @@ eight sink_3_238(const volatile A&&); int test3_238() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_238(ca)) == 2> t2; sa<sizeof(sink_3_238(va)) == 3> t3; sa<sizeof(sink_3_238(source())) == 8> t5; @@ -499,9 +499,9 @@ five sink_3_245( A&&); int test3_245() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_245(a)) == 2> t1; sa<sizeof(sink_3_245(ca)) == 2> t2; sa<sizeof(sink_3_245(va)) == 4> t3; @@ -518,9 +518,9 @@ six sink_3_246(const A&&); int test3_246() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_246(a)) == 2> t1; sa<sizeof(sink_3_246(ca)) == 2> t2; sa<sizeof(sink_3_246(va)) == 4> t3; @@ -537,9 +537,9 @@ seven sink_3_247(volatile A&&); int test3_247() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_247(a)) == 2> t1; sa<sizeof(sink_3_247(ca)) == 2> t2; sa<sizeof(sink_3_247(va)) == 4> t3; @@ -557,9 +557,9 @@ eight sink_3_248(const volatile A&&); int test3_248() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_248(a)) == 2> t1; sa<sizeof(sink_3_248(ca)) == 2> t2; sa<sizeof(sink_3_248(va)) == 4> t3; @@ -578,9 +578,9 @@ six sink_3_256(const A&&); int test3_256() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_256(a)) == 2> t1; sa<sizeof(sink_3_256(ca)) == 2> t2; sa<sizeof(sink_3_256(source())) == 5> t5; @@ -595,9 +595,9 @@ seven sink_3_257(volatile A&&); int test3_257() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_257(a)) == 2> t1; sa<sizeof(sink_3_257(ca)) == 2> t2; sa<sizeof(sink_3_257(source())) == 5> t5; @@ -613,9 +613,9 @@ eight sink_3_258(const volatile A&&); int test3_258() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_258(a)) == 2> t1; sa<sizeof(sink_3_258(ca)) == 2> t2; sa<sizeof(sink_3_258(source())) == 5> t5; @@ -632,9 +632,9 @@ seven sink_3_267(volatile A&&); int test3_267() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_267(a)) == 2> t1; sa<sizeof(sink_3_267(ca)) == 2> t2; sa<sizeof(sink_3_267(c_source())) == 6> t6; @@ -649,9 +649,9 @@ eight sink_3_268(const volatile A&&); int test3_268() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_268(a)) == 2> t1; sa<sizeof(sink_3_268(ca)) == 2> t2; sa<sizeof(sink_3_268(source())) == 6> t5; @@ -668,9 +668,9 @@ eight sink_3_278(const volatile A&&); int test3_278() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_278(a)) == 2> t1; sa<sizeof(sink_3_278(ca)) == 2> t2; sa<sizeof(sink_3_278(source())) == 7> t5; @@ -687,9 +687,9 @@ five sink_3_345( A&&); int test3_345() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_345(a)) == 3> t1; sa<sizeof(sink_3_345(ca)) == 4> t2; sa<sizeof(sink_3_345(va)) == 3> t3; @@ -705,9 +705,9 @@ six sink_3_346(const A&&); int test3_346() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_346(a)) == 3> t1; sa<sizeof(sink_3_346(ca)) == 4> t2; sa<sizeof(sink_3_346(va)) == 3> t3; @@ -724,9 +724,9 @@ seven sink_3_347(volatile A&&); int test3_347() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_347(a)) == 3> t1; sa<sizeof(sink_3_347(ca)) == 4> t2; sa<sizeof(sink_3_347(va)) == 3> t3; @@ -743,9 +743,9 @@ eight sink_3_348(const volatile A&&); int test3_348() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_348(a)) == 3> t1; sa<sizeof(sink_3_348(ca)) == 4> t2; sa<sizeof(sink_3_348(va)) == 3> t3; @@ -764,9 +764,9 @@ six sink_3_356(const A&&); int test3_356() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_356(a)) == 3> t1; sa<sizeof(sink_3_356(va)) == 3> t3; sa<sizeof(sink_3_356(source())) == 5> t5; @@ -781,9 +781,9 @@ seven sink_3_357(volatile A&&); int test3_357() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_357(a)) == 3> t1; sa<sizeof(sink_3_357(va)) == 3> t3; sa<sizeof(sink_3_357(source())) == 5> t5; @@ -798,9 +798,9 @@ eight sink_3_358(const volatile A&&); int test3_358() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_358(a)) == 3> t1; sa<sizeof(sink_3_358(va)) == 3> t3; sa<sizeof(sink_3_358(source())) == 5> t5; @@ -817,9 +817,9 @@ seven sink_3_367(volatile A&&); int test3_367() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_367(a)) == 3> t1; sa<sizeof(sink_3_367(va)) == 3> t3; sa<sizeof(sink_3_367(c_source())) == 6> t6; @@ -834,9 +834,9 @@ eight sink_3_368(const volatile A&&); int test3_368() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_368(a)) == 3> t1; sa<sizeof(sink_3_368(va)) == 3> t3; sa<sizeof(sink_3_368(source())) == 6> t5; @@ -853,9 +853,9 @@ eight sink_3_378(const volatile A&&); int test3_378() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_378(a)) == 3> t1; sa<sizeof(sink_3_378(va)) == 3> t3; sa<sizeof(sink_3_378(source())) == 7> t5; @@ -872,9 +872,9 @@ six sink_3_456(const A&&); int test3_456() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_456(a)) == 4> t1; sa<sizeof(sink_3_456(ca)) == 4> t2; sa<sizeof(sink_3_456(va)) == 4> t3; @@ -891,9 +891,9 @@ seven sink_3_457(volatile A&&); int test3_457() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_457(a)) == 4> t1; sa<sizeof(sink_3_457(ca)) == 4> t2; sa<sizeof(sink_3_457(va)) == 4> t3; @@ -910,9 +910,9 @@ eight sink_3_458(const volatile A&&); int test3_458() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_458(a)) == 4> t1; sa<sizeof(sink_3_458(ca)) == 4> t2; sa<sizeof(sink_3_458(va)) == 4> t3; @@ -931,9 +931,9 @@ seven sink_3_467(volatile A&&); int test3_467() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_467(a)) == 4> t1; sa<sizeof(sink_3_467(ca)) == 4> t2; sa<sizeof(sink_3_467(va)) == 4> t3; @@ -950,9 +950,9 @@ eight sink_3_468(const volatile A&&); int test3_468() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_468(a)) == 4> t1; sa<sizeof(sink_3_468(ca)) == 4> t2; sa<sizeof(sink_3_468(va)) == 4> t3; @@ -971,9 +971,9 @@ eight sink_3_478(const volatile A&&); int test3_478() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_478(a)) == 4> t1; sa<sizeof(sink_3_478(ca)) == 4> t2; sa<sizeof(sink_3_478(va)) == 4> t3; @@ -992,9 +992,9 @@ seven sink_3_567(volatile A&&); int test3_567() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_567(source())) == 5> t5; sa<sizeof(sink_3_567(c_source())) == 6> t6; sa<sizeof(sink_3_567(v_source())) == 7> t7; @@ -1008,9 +1008,9 @@ eight sink_3_568(const volatile A&&); int test3_568() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_568(source())) == 5> t5; sa<sizeof(sink_3_568(c_source())) == 6> t6; sa<sizeof(sink_3_568(v_source())) == 8> t7; @@ -1025,9 +1025,9 @@ eight sink_3_578(const volatile A&&); int test3_578() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_578(source())) == 5> t5; sa<sizeof(sink_3_578(c_source())) == 8> t6; sa<sizeof(sink_3_578(v_source())) == 7> t7; @@ -1042,9 +1042,9 @@ eight sink_3_678(const volatile A&&); int test3_678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_3_678(c_source())) == 6> t6; sa<sizeof(sink_3_678(v_source())) == 7> t7; sa<sizeof(sink_3_678(cv_source())) == 8> t8; diff --git a/gcc/testsuite/g++.dg/cpp0x/rv4n.C b/gcc/testsuite/g++.dg/cpp0x/rv4n.C index cf627aed3f0..524885f1d60 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv4n.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv4n.C @@ -20,7 +20,7 @@ struct eight {char x[8];}; struct A { A(); - A(const volatile A&&); + A(const volatile A&&); // { dg-error "argument 1" } }; A source(); @@ -38,9 +38,9 @@ four sink_4_1234(const volatile A&); // { dg-message "note" } int test4_1234() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1234(v_source()); // { dg-error "no match" } sink_4_1234(cv_source()); // { dg-error "no match" } return 0; @@ -54,9 +54,9 @@ five sink_4_1235( A&&); // { dg-message "note" } int test4_1235() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1235(cva); // { dg-error "no match" } sink_4_1235(v_source()); // { dg-error "no match" } sink_4_1235(cv_source()); // { dg-error "no match" } @@ -71,9 +71,9 @@ six sink_4_1236(const A&&); // { dg-message "note" } int test4_1236() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1236(cva); // { dg-error "no match" } sink_4_1236(v_source()); // { dg-error "no match" } sink_4_1236(cv_source()); // { dg-error "no match" } @@ -88,9 +88,9 @@ seven sink_4_1237(volatile A&&); // { dg-message "note" } int test4_1237() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1237(cva); // { dg-error "no match" } sink_4_1237(cv_source()); // { dg-error "no match" } return 0; @@ -104,9 +104,9 @@ eight sink_4_1238(const volatile A&&); // { dg-message "" } int test4_1238() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1238(cva); // { dg-error "lvalue" } return 0; } @@ -119,9 +119,9 @@ five sink_4_1245( A&&); // { dg-message "note" } int test4_1245() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1245(v_source()); // { dg-error "no match" } sink_4_1245(cv_source()); // { dg-error "no match" } return 0; @@ -135,9 +135,9 @@ six sink_4_1246(const A&&); // { dg-message "note" } int test4_1246() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1246(v_source()); // { dg-error "no match" } sink_4_1246(cv_source()); // { dg-error "no match" } return 0; @@ -151,9 +151,9 @@ seven sink_4_1247(volatile A&&); // { dg-message "note" } int test4_1247() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1247(cv_source()); // { dg-error "no match" } return 0; } @@ -166,9 +166,9 @@ six sink_4_1256(const A&&); // { dg-message "note" } int test4_1256() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1256(va); // { dg-error "no match" } sink_4_1256(cva); // { dg-error "no match" } sink_4_1256(v_source()); // { dg-error "no match" } @@ -184,9 +184,9 @@ seven sink_4_1257(volatile A&&); // { dg-message "" } int test4_1257() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1257(va); // { dg-error "lvalue" } sink_4_1257(cva); // { dg-error "no match" } sink_4_1257(cv_source()); // { dg-error "no match" } @@ -201,9 +201,9 @@ eight sink_4_1258(const volatile A&&); // { dg-message "" } int test4_1258() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1258(va); // { dg-error "lvalue" } sink_4_1258(cva); // { dg-error "lvalue" } return 0; @@ -217,9 +217,9 @@ seven sink_4_1267(volatile A&&); // { dg-message "" } int test4_1267() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1267(va); // { dg-error "lvalue" } sink_4_1267(cva); // { dg-error "no match" } sink_4_1267(source()); // { dg-error "ambiguous" } @@ -235,9 +235,9 @@ eight sink_4_1268(const volatile A&&); // { dg-message "" } int test4_1268() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1268(va); // { dg-error "lvalue" } sink_4_1268(cva); // { dg-error "lvalue" } return 0; @@ -251,9 +251,9 @@ eight sink_4_1278(const volatile A&&); // { dg-message "" } int test4_1278() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1278(va); // { dg-error "lvalue" } sink_4_1278(cva); // { dg-error "lvalue" } return 0; @@ -267,9 +267,9 @@ five sink_4_1345( A&&); // { dg-message "note" } int test4_1345() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1345(c_source()); // { dg-error "no match" } sink_4_1345(v_source()); // { dg-error "no match" } sink_4_1345(cv_source()); // { dg-error "no match" } @@ -284,9 +284,9 @@ six sink_4_1346(const A&&); // { dg-message "note" } int test4_1346() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1346(v_source()); // { dg-error "no match" } sink_4_1346(cv_source()); // { dg-error "no match" } return 0; @@ -300,9 +300,9 @@ seven sink_4_1347(volatile A&&); // { dg-message "note" } int test4_1347() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1347(c_source()); // { dg-error "no match" } sink_4_1347(cv_source()); // { dg-error "no match" } return 0; @@ -316,9 +316,9 @@ six sink_4_1356(const A&&); // { dg-message "" } int test4_1356() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1356(ca); // { dg-error "lvalue" } sink_4_1356(cva); // { dg-error "no match" } sink_4_1356(v_source()); // { dg-error "no match" } @@ -334,9 +334,9 @@ seven sink_4_1357(volatile A&&); // { dg-message "note" } int test4_1357() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1357(ca); // { dg-error "no match" } sink_4_1357(cva); // { dg-error "no match" } sink_4_1357(c_source()); // { dg-error "no match" } @@ -352,9 +352,9 @@ eight sink_4_1358(const volatile A&&); // { dg-message "" } int test4_1358() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1358(ca); // { dg-error "lvalue" } sink_4_1358(cva); // { dg-error "lvalue" } return 0; @@ -368,9 +368,9 @@ seven sink_4_1367(volatile A&&); // { dg-message "note" } int test4_1367() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1367(ca); // { dg-error "lvalue" } sink_4_1367(cva); // { dg-error "no match" } sink_4_1367(source()); // { dg-error "ambiguous" } @@ -386,9 +386,9 @@ eight sink_4_1368(const volatile A&&); // { dg-message "" } int test4_1368() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1368(ca); // { dg-error "lvalue" } sink_4_1368(cva); // { dg-error "lvalue" } return 0; @@ -402,9 +402,9 @@ eight sink_4_1378(const volatile A&&); // { dg-message "" } int test4_1378() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1378(ca); // { dg-error "lvalue" } sink_4_1378(cva); // { dg-error "lvalue" } return 0; @@ -418,9 +418,9 @@ six sink_4_1456(const A&&); // { dg-message "note" } int test4_1456() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1456(v_source()); // { dg-error "no match" } sink_4_1456(cv_source()); // { dg-error "no match" } return 0; @@ -434,9 +434,9 @@ seven sink_4_1457(volatile A&&); // { dg-message "note" } int test4_1457() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1457(c_source()); // { dg-error "no match" } sink_4_1457(cv_source()); // { dg-error "no match" } return 0; @@ -450,9 +450,9 @@ seven sink_4_1467(volatile A&&); // { dg-message "note" } int test4_1467() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1467(source()); // { dg-error "ambiguous" } sink_4_1467(cv_source()); // { dg-error "no match" } return 0; @@ -466,9 +466,9 @@ seven sink_4_1567(volatile A&&); // { dg-message "" } int test4_1567() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1567(ca); // { dg-error "lvalue" } sink_4_1567(va); // { dg-error "lvalue" } sink_4_1567(cva); // { dg-error "no match" } @@ -484,9 +484,9 @@ eight sink_4_1568(const volatile A&&); // { dg-message "" } int test4_1568() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1568(ca); // { dg-error "lvalue" } sink_4_1568(va); // { dg-error "lvalue" } sink_4_1568(cva); // { dg-error "lvalue" } @@ -501,9 +501,9 @@ eight sink_4_1578(const volatile A&&); // { dg-message "" } int test4_1578() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1578(ca); // { dg-error "lvalue" } sink_4_1578(va); // { dg-error "lvalue" } sink_4_1578(cva); // { dg-error "lvalue" } @@ -518,9 +518,9 @@ eight sink_4_1678(const volatile A&&); // { dg-message "" } int test4_1678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_1678(ca); // { dg-error "lvalue" } sink_4_1678(va); // { dg-error "lvalue" } sink_4_1678(cva); // { dg-error "lvalue" } @@ -536,9 +536,9 @@ five sink_4_2345( A&&); // { dg-message "note" } int test4_2345() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_2345(a); // { dg-error "ambiguous" } sink_4_2345(v_source()); // { dg-error "no match" } sink_4_2345(cv_source()); // { dg-error "no match" } @@ -553,9 +553,9 @@ six sink_4_2346(const A&&); // { dg-message "note" } int test4_2346() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_2346(a); // { dg-error "ambiguous" } sink_4_2346(v_source()); // { dg-error "no match" } sink_4_2346(cv_source()); // { dg-error "no match" } @@ -570,9 +570,9 @@ seven sink_4_2347(volatile A&&); // { dg-message "note" } int test4_2347() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_2347(a); // { dg-error "ambiguous" } sink_4_2347(cv_source()); // { dg-error "no match" } return 0; @@ -586,9 +586,9 @@ eight sink_4_2348(const volatile A&&); // { dg-message "note" } int test4_2348() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_2348(a); // { dg-error "ambiguous" } return 0; } @@ -601,9 +601,9 @@ six sink_4_2356(const A&&); // { dg-message "note" } int test4_2356() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_2356(a); // { dg-error "ambiguous" } sink_4_2356(cva); // { dg-error "no match" } sink_4_2356(v_source()); // { dg-error "no match" } @@ -619,9 +619,9 @@ seven sink_4_2357(volatile A&&); // { dg-message "note" } int test4_2357() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_2357(a); // { dg-error "ambiguous" } sink_4_2357(cva); // { dg-error "no match" } sink_4_2357(cv_source()); // { dg-error "no match" } @@ -636,9 +636,9 @@ eight sink_4_2358(const volatile A&&); // { dg-message "" } int test4_2358() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_2358(a); // { dg-error "ambiguous" } sink_4_2358(cva); // { dg-error "lvalue" } return 0; @@ -652,9 +652,9 @@ seven sink_4_2367(volatile A&&); // { dg-message "note" } int test4_2367() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_2367(a); // { dg-error "ambiguous" } sink_4_2367(cva); // { dg-error "no match" } sink_4_2367(source()); // { dg-error "ambiguous" } @@ -670,9 +670,9 @@ eight sink_4_2368(const volatile A&&); // { dg-message "" } int test4_2368() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_2368(a); // { dg-error "ambiguous" } sink_4_2368(cva); // { dg-error "lvalue" } return 0; @@ -686,9 +686,9 @@ eight sink_4_2378(const volatile A&&); // { dg-message "" } int test4_2378() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_2378(a); // { dg-error "ambiguous" } sink_4_2378(cva); // { dg-error "lvalue" } return 0; @@ -702,9 +702,9 @@ six sink_4_2456(const A&&); // { dg-message "note" } int test4_2456() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_2456(v_source()); // { dg-error "no match" } sink_4_2456(cv_source()); // { dg-error "no match" } return 0; @@ -718,9 +718,9 @@ seven sink_4_2457(volatile A&&); // { dg-message "note" } int test4_2457() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_2457(cv_source()); // { dg-error "no match" } return 0; } @@ -733,9 +733,9 @@ seven sink_4_2467(volatile A&&); // { dg-message "note" } int test4_2467() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_2467(source()); // { dg-error "ambiguous" } sink_4_2467(cv_source()); // { dg-error "no match" } return 0; @@ -749,9 +749,9 @@ seven sink_4_2567(volatile A&&); // { dg-message "" } int test4_2567() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_2567(va); // { dg-error "lvalue" } sink_4_2567(cva); // { dg-error "no match" } sink_4_2567(cv_source()); // { dg-error "no match" } @@ -766,9 +766,9 @@ eight sink_4_2568(const volatile A&&); // { dg-message "" } int test4_2568() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_2568(va); // { dg-error "lvalue" } sink_4_2568(cva); // { dg-error "lvalue" } return 0; @@ -782,9 +782,9 @@ eight sink_4_2578(const volatile A&&); // { dg-message "" } int test4_2578() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_2578(va); // { dg-error "lvalue" } sink_4_2578(cva); // { dg-error "lvalue" } return 0; @@ -798,9 +798,9 @@ eight sink_4_2678(const volatile A&&); // { dg-message "" } int test4_2678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_2678(va); // { dg-error "lvalue" } sink_4_2678(cva); // { dg-error "lvalue" } sink_4_2678(source()); // { dg-error "ambiguous" } @@ -815,9 +815,9 @@ six sink_4_3456(const A&&); // { dg-message "note" } int test4_3456() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_3456(v_source()); // { dg-error "no match" } sink_4_3456(cv_source()); // { dg-error "no match" } return 0; @@ -831,9 +831,9 @@ seven sink_4_3457(volatile A&&); // { dg-message "note" } int test4_3457() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_3457(c_source()); // { dg-error "no match" } sink_4_3457(cv_source()); // { dg-error "no match" } return 0; @@ -847,9 +847,9 @@ seven sink_4_3467(volatile A&&); // { dg-message "note" } int test4_3467() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_3467(source()); // { dg-error "ambiguous" } sink_4_3467(cv_source()); // { dg-error "no match" } return 0; @@ -863,9 +863,9 @@ seven sink_4_3567(volatile A&&); // { dg-message "note" } int test4_3567() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_3567(ca); // { dg-error "lvalue" } sink_4_3567(cva); // { dg-error "no match" } sink_4_3567(cv_source()); // { dg-error "no match" } @@ -880,9 +880,9 @@ eight sink_4_3568(const volatile A&&); // { dg-message "" } int test4_3568() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_3568(ca); // { dg-error "lvalue" } sink_4_3568(cva); // { dg-error "lvalue" } return 0; @@ -896,9 +896,9 @@ eight sink_4_3578(const volatile A&&); // { dg-message "" } int test4_3578() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_3578(ca); // { dg-error "lvalue" } sink_4_3578(cva); // { dg-error "lvalue" } return 0; @@ -912,9 +912,9 @@ eight sink_4_3678(const volatile A&&); // { dg-message "" } int test4_3678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_3678(ca); // { dg-error "lvalue" } sink_4_3678(cva); // { dg-error "lvalue" } sink_4_3678(source()); // { dg-error "ambiguous" } @@ -929,9 +929,9 @@ seven sink_4_4567(volatile A&&); // { dg-message "note" } int test4_4567() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_4567(cv_source()); // { dg-error "no match" } return 0; } @@ -944,9 +944,9 @@ eight sink_4_4678(const volatile A&&); // { dg-message "note" } int test4_4678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_4678(source()); // { dg-error "ambiguous" } return 0; } @@ -959,9 +959,9 @@ eight sink_4_5678(const volatile A&&); // { dg-message "" } int test4_5678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_4_5678(a); // { dg-error "lvalue" } sink_4_5678(ca); // { dg-error "lvalue" } sink_4_5678(va); // { dg-error "lvalue" } diff --git a/gcc/testsuite/g++.dg/cpp0x/rv4p.C b/gcc/testsuite/g++.dg/cpp0x/rv4p.C index 03ad9734614..33a90f854d1 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv4p.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv4p.C @@ -38,9 +38,9 @@ four sink_4_1234(const volatile A&); int test4_1234() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1234(a)) == 1> t1; sa<sizeof(sink_4_1234(ca)) == 2> t2; sa<sizeof(sink_4_1234(va)) == 3> t3; @@ -58,9 +58,9 @@ five sink_4_1235( A&&); int test4_1235() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1235(a)) == 1> t1; sa<sizeof(sink_4_1235(ca)) == 2> t2; sa<sizeof(sink_4_1235(va)) == 3> t3; @@ -77,9 +77,9 @@ six sink_4_1236(const A&&); int test4_1236() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1236(a)) == 1> t1; sa<sizeof(sink_4_1236(ca)) == 2> t2; sa<sizeof(sink_4_1236(va)) == 3> t3; @@ -96,9 +96,9 @@ seven sink_4_1237(volatile A&&); int test4_1237() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1237(a)) == 1> t1; sa<sizeof(sink_4_1237(ca)) == 2> t2; sa<sizeof(sink_4_1237(va)) == 3> t3; @@ -116,9 +116,9 @@ eight sink_4_1238(const volatile A&&); int test4_1238() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1238(a)) == 1> t1; sa<sizeof(sink_4_1238(ca)) == 2> t2; sa<sizeof(sink_4_1238(va)) == 3> t3; @@ -137,9 +137,9 @@ five sink_4_1245( A&&); int test4_1245() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1245(a)) == 1> t1; sa<sizeof(sink_4_1245(ca)) == 2> t2; sa<sizeof(sink_4_1245(va)) == 4> t3; @@ -157,9 +157,9 @@ six sink_4_1246(const A&&); int test4_1246() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1246(a)) == 1> t1; sa<sizeof(sink_4_1246(ca)) == 2> t2; sa<sizeof(sink_4_1246(va)) == 4> t3; @@ -177,9 +177,9 @@ seven sink_4_1247(volatile A&&); int test4_1247() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1247(a)) == 1> t1; sa<sizeof(sink_4_1247(ca)) == 2> t2; sa<sizeof(sink_4_1247(va)) == 4> t3; @@ -198,9 +198,9 @@ eight sink_4_1248(const volatile A&&); int test4_1248() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1248(a)) == 1> t1; sa<sizeof(sink_4_1248(ca)) == 2> t2; sa<sizeof(sink_4_1248(va)) == 4> t3; @@ -220,9 +220,9 @@ six sink_4_1256(const A&&); int test4_1256() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1256(a)) == 1> t1; sa<sizeof(sink_4_1256(ca)) == 2> t2; sa<sizeof(sink_4_1256(source())) == 5> t5; @@ -238,9 +238,9 @@ seven sink_4_1257(volatile A&&); int test4_1257() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1257(a)) == 1> t1; sa<sizeof(sink_4_1257(ca)) == 2> t2; sa<sizeof(sink_4_1257(source())) == 5> t5; @@ -257,9 +257,9 @@ eight sink_4_1258(const volatile A&&); int test4_1258() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1258(a)) == 1> t1; sa<sizeof(sink_4_1258(ca)) == 2> t2; sa<sizeof(sink_4_1258(source())) == 5> t5; @@ -277,9 +277,9 @@ seven sink_4_1267(volatile A&&); int test4_1267() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1267(a)) == 1> t1; sa<sizeof(sink_4_1267(ca)) == 2> t2; sa<sizeof(sink_4_1267(c_source())) == 6> t6; @@ -295,9 +295,9 @@ eight sink_4_1268(const volatile A&&); int test4_1268() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1268(a)) == 1> t1; sa<sizeof(sink_4_1268(ca)) == 2> t2; sa<sizeof(sink_4_1268(source())) == 6> t5; @@ -315,9 +315,9 @@ eight sink_4_1278(const volatile A&&); int test4_1278() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1278(a)) == 1> t1; sa<sizeof(sink_4_1278(ca)) == 2> t2; sa<sizeof(sink_4_1278(source())) == 7> t5; @@ -335,9 +335,9 @@ five sink_4_1345( A&&); int test4_1345() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1345(a)) == 1> t1; sa<sizeof(sink_4_1345(ca)) == 4> t2; sa<sizeof(sink_4_1345(va)) == 3> t3; @@ -354,9 +354,9 @@ six sink_4_1346(const A&&); int test4_1346() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1346(a)) == 1> t1; sa<sizeof(sink_4_1346(ca)) == 4> t2; sa<sizeof(sink_4_1346(va)) == 3> t3; @@ -374,9 +374,9 @@ seven sink_4_1347(volatile A&&); int test4_1347() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1347(a)) == 1> t1; sa<sizeof(sink_4_1347(ca)) == 4> t2; sa<sizeof(sink_4_1347(va)) == 3> t3; @@ -394,9 +394,9 @@ eight sink_4_1348(const volatile A&&); int test4_1348() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1348(a)) == 1> t1; sa<sizeof(sink_4_1348(ca)) == 4> t2; sa<sizeof(sink_4_1348(va)) == 3> t3; @@ -416,9 +416,9 @@ six sink_4_1356(const A&&); int test4_1356() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1356(a)) == 1> t1; sa<sizeof(sink_4_1356(va)) == 3> t3; sa<sizeof(sink_4_1356(source())) == 5> t5; @@ -434,9 +434,9 @@ seven sink_4_1357(volatile A&&); int test4_1357() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1357(a)) == 1> t1; sa<sizeof(sink_4_1357(va)) == 3> t3; sa<sizeof(sink_4_1357(source())) == 5> t5; @@ -452,9 +452,9 @@ eight sink_4_1358(const volatile A&&); int test4_1358() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1358(a)) == 1> t1; sa<sizeof(sink_4_1358(va)) == 3> t3; sa<sizeof(sink_4_1358(source())) == 5> t5; @@ -472,9 +472,9 @@ seven sink_4_1367(volatile A&&); int test4_1367() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1367(a)) == 1> t1; sa<sizeof(sink_4_1367(va)) == 3> t3; sa<sizeof(sink_4_1367(c_source())) == 6> t6; @@ -490,9 +490,9 @@ eight sink_4_1368(const volatile A&&); int test4_1368() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1368(a)) == 1> t1; sa<sizeof(sink_4_1368(va)) == 3> t3; sa<sizeof(sink_4_1368(source())) == 6> t5; @@ -510,9 +510,9 @@ eight sink_4_1378(const volatile A&&); int test4_1378() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1378(a)) == 1> t1; sa<sizeof(sink_4_1378(va)) == 3> t3; sa<sizeof(sink_4_1378(source())) == 7> t5; @@ -530,9 +530,9 @@ six sink_4_1456(const A&&); int test4_1456() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1456(a)) == 1> t1; sa<sizeof(sink_4_1456(ca)) == 4> t2; sa<sizeof(sink_4_1456(va)) == 4> t3; @@ -550,9 +550,9 @@ seven sink_4_1457(volatile A&&); int test4_1457() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1457(a)) == 1> t1; sa<sizeof(sink_4_1457(ca)) == 4> t2; sa<sizeof(sink_4_1457(va)) == 4> t3; @@ -570,9 +570,9 @@ eight sink_4_1458(const volatile A&&); int test4_1458() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1458(a)) == 1> t1; sa<sizeof(sink_4_1458(ca)) == 4> t2; sa<sizeof(sink_4_1458(va)) == 4> t3; @@ -592,9 +592,9 @@ seven sink_4_1467(volatile A&&); int test4_1467() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1467(a)) == 1> t1; sa<sizeof(sink_4_1467(ca)) == 4> t2; sa<sizeof(sink_4_1467(va)) == 4> t3; @@ -612,9 +612,9 @@ eight sink_4_1468(const volatile A&&); int test4_1468() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1468(a)) == 1> t1; sa<sizeof(sink_4_1468(ca)) == 4> t2; sa<sizeof(sink_4_1468(va)) == 4> t3; @@ -634,9 +634,9 @@ eight sink_4_1478(const volatile A&&); int test4_1478() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1478(a)) == 1> t1; sa<sizeof(sink_4_1478(ca)) == 4> t2; sa<sizeof(sink_4_1478(va)) == 4> t3; @@ -656,9 +656,9 @@ seven sink_4_1567(volatile A&&); int test4_1567() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1567(a)) == 1> t1; sa<sizeof(sink_4_1567(source())) == 5> t5; sa<sizeof(sink_4_1567(c_source())) == 6> t6; @@ -674,9 +674,9 @@ eight sink_4_1568(const volatile A&&); int test4_1568() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1568(a)) == 1> t1; sa<sizeof(sink_4_1568(source())) == 5> t5; sa<sizeof(sink_4_1568(c_source())) == 6> t6; @@ -693,9 +693,9 @@ eight sink_4_1578(const volatile A&&); int test4_1578() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1578(a)) == 1> t1; sa<sizeof(sink_4_1578(source())) == 5> t5; sa<sizeof(sink_4_1578(c_source())) == 8> t6; @@ -712,9 +712,9 @@ eight sink_4_1678(const volatile A&&); int test4_1678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_1678(a)) == 1> t1; sa<sizeof(sink_4_1678(c_source())) == 6> t6; sa<sizeof(sink_4_1678(v_source())) == 7> t7; @@ -730,9 +730,9 @@ five sink_4_2345( A&&); int test4_2345() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_2345(ca)) == 2> t2; sa<sizeof(sink_4_2345(va)) == 3> t3; sa<sizeof(sink_4_2345(cva)) == 4> t4; @@ -749,9 +749,9 @@ six sink_4_2346(const A&&); int test4_2346() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_2346(ca)) == 2> t2; sa<sizeof(sink_4_2346(va)) == 3> t3; sa<sizeof(sink_4_2346(cva)) == 4> t4; @@ -768,9 +768,9 @@ seven sink_4_2347(volatile A&&); int test4_2347() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_2347(ca)) == 2> t2; sa<sizeof(sink_4_2347(va)) == 3> t3; sa<sizeof(sink_4_2347(cva)) == 4> t4; @@ -788,9 +788,9 @@ eight sink_4_2348(const volatile A&&); int test4_2348() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_2348(ca)) == 2> t2; sa<sizeof(sink_4_2348(va)) == 3> t3; sa<sizeof(sink_4_2348(cva)) == 4> t4; @@ -809,9 +809,9 @@ six sink_4_2356(const A&&); int test4_2356() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_2356(ca)) == 2> t2; sa<sizeof(sink_4_2356(va)) == 3> t3; sa<sizeof(sink_4_2356(source())) == 5> t5; @@ -827,9 +827,9 @@ seven sink_4_2357(volatile A&&); int test4_2357() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_2357(ca)) == 2> t2; sa<sizeof(sink_4_2357(va)) == 3> t3; sa<sizeof(sink_4_2357(source())) == 5> t5; @@ -846,9 +846,9 @@ eight sink_4_2358(const volatile A&&); int test4_2358() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_2358(ca)) == 2> t2; sa<sizeof(sink_4_2358(va)) == 3> t3; sa<sizeof(sink_4_2358(source())) == 5> t5; @@ -866,9 +866,9 @@ seven sink_4_2367(volatile A&&); int test4_2367() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_2367(ca)) == 2> t2; sa<sizeof(sink_4_2367(va)) == 3> t3; sa<sizeof(sink_4_2367(c_source())) == 6> t6; @@ -884,9 +884,9 @@ eight sink_4_2368(const volatile A&&); int test4_2368() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_2368(ca)) == 2> t2; sa<sizeof(sink_4_2368(va)) == 3> t3; sa<sizeof(sink_4_2368(source())) == 6> t5; @@ -904,9 +904,9 @@ eight sink_4_2378(const volatile A&&); int test4_2378() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_2378(ca)) == 2> t2; sa<sizeof(sink_4_2378(va)) == 3> t3; sa<sizeof(sink_4_2378(source())) == 7> t5; @@ -924,9 +924,9 @@ six sink_4_2456(const A&&); int test4_2456() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_2456(a)) == 2> t1; sa<sizeof(sink_4_2456(ca)) == 2> t2; sa<sizeof(sink_4_2456(va)) == 4> t3; @@ -944,9 +944,9 @@ seven sink_4_2457(volatile A&&); int test4_2457() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_2457(a)) == 2> t1; sa<sizeof(sink_4_2457(ca)) == 2> t2; sa<sizeof(sink_4_2457(va)) == 4> t3; @@ -965,9 +965,9 @@ eight sink_4_2458(const volatile A&&); int test4_2458() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_2458(a)) == 2> t1; sa<sizeof(sink_4_2458(ca)) == 2> t2; sa<sizeof(sink_4_2458(va)) == 4> t3; @@ -987,9 +987,9 @@ seven sink_4_2467(volatile A&&); int test4_2467() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_2467(a)) == 2> t1; sa<sizeof(sink_4_2467(ca)) == 2> t2; sa<sizeof(sink_4_2467(va)) == 4> t3; @@ -1007,9 +1007,9 @@ eight sink_4_2468(const volatile A&&); int test4_2468() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_2468(a)) == 2> t1; sa<sizeof(sink_4_2468(ca)) == 2> t2; sa<sizeof(sink_4_2468(va)) == 4> t3; @@ -1029,9 +1029,9 @@ eight sink_4_2478(const volatile A&&); int test4_2478() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_2478(a)) == 2> t1; sa<sizeof(sink_4_2478(ca)) == 2> t2; sa<sizeof(sink_4_2478(va)) == 4> t3; @@ -1051,9 +1051,9 @@ seven sink_4_2567(volatile A&&); int test4_2567() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_2567(a)) == 2> t1; sa<sizeof(sink_4_2567(ca)) == 2> t2; sa<sizeof(sink_4_2567(source())) == 5> t5; @@ -1070,9 +1070,9 @@ eight sink_4_2568(const volatile A&&); int test4_2568() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_2568(a)) == 2> t1; sa<sizeof(sink_4_2568(ca)) == 2> t2; sa<sizeof(sink_4_2568(source())) == 5> t5; @@ -1090,9 +1090,9 @@ eight sink_4_2578(const volatile A&&); int test4_2578() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_2578(a)) == 2> t1; sa<sizeof(sink_4_2578(ca)) == 2> t2; sa<sizeof(sink_4_2578(source())) == 5> t5; @@ -1110,9 +1110,9 @@ eight sink_4_2678(const volatile A&&); int test4_2678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_2678(a)) == 2> t1; sa<sizeof(sink_4_2678(ca)) == 2> t2; sa<sizeof(sink_4_2678(c_source())) == 6> t6; @@ -1129,9 +1129,9 @@ six sink_4_3456(const A&&); int test4_3456() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_3456(a)) == 3> t1; sa<sizeof(sink_4_3456(ca)) == 4> t2; sa<sizeof(sink_4_3456(va)) == 3> t3; @@ -1149,9 +1149,9 @@ seven sink_4_3457(volatile A&&); int test4_3457() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_3457(a)) == 3> t1; sa<sizeof(sink_4_3457(ca)) == 4> t2; sa<sizeof(sink_4_3457(va)) == 3> t3; @@ -1169,9 +1169,9 @@ eight sink_4_3458(const volatile A&&); int test4_3458() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_3458(a)) == 3> t1; sa<sizeof(sink_4_3458(ca)) == 4> t2; sa<sizeof(sink_4_3458(va)) == 3> t3; @@ -1191,9 +1191,9 @@ seven sink_4_3467(volatile A&&); int test4_3467() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_3467(a)) == 3> t1; sa<sizeof(sink_4_3467(ca)) == 4> t2; sa<sizeof(sink_4_3467(va)) == 3> t3; @@ -1211,9 +1211,9 @@ eight sink_4_3468(const volatile A&&); int test4_3468() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_3468(a)) == 3> t1; sa<sizeof(sink_4_3468(ca)) == 4> t2; sa<sizeof(sink_4_3468(va)) == 3> t3; @@ -1233,9 +1233,9 @@ eight sink_4_3478(const volatile A&&); int test4_3478() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_3478(a)) == 3> t1; sa<sizeof(sink_4_3478(ca)) == 4> t2; sa<sizeof(sink_4_3478(va)) == 3> t3; @@ -1255,9 +1255,9 @@ seven sink_4_3567(volatile A&&); int test4_3567() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_3567(a)) == 3> t1; sa<sizeof(sink_4_3567(va)) == 3> t3; sa<sizeof(sink_4_3567(source())) == 5> t5; @@ -1274,9 +1274,9 @@ eight sink_4_3568(const volatile A&&); int test4_3568() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_3568(a)) == 3> t1; sa<sizeof(sink_4_3568(va)) == 3> t3; sa<sizeof(sink_4_3568(source())) == 5> t5; @@ -1294,9 +1294,9 @@ eight sink_4_3578(const volatile A&&); int test4_3578() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_3578(a)) == 3> t1; sa<sizeof(sink_4_3578(va)) == 3> t3; sa<sizeof(sink_4_3578(source())) == 5> t5; @@ -1314,9 +1314,9 @@ eight sink_4_3678(const volatile A&&); int test4_3678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_3678(a)) == 3> t1; sa<sizeof(sink_4_3678(va)) == 3> t3; sa<sizeof(sink_4_3678(c_source())) == 6> t6; @@ -1333,9 +1333,9 @@ seven sink_4_4567(volatile A&&); int test4_4567() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_4567(a)) == 4> t1; sa<sizeof(sink_4_4567(ca)) == 4> t2; sa<sizeof(sink_4_4567(va)) == 4> t3; @@ -1354,9 +1354,9 @@ eight sink_4_4568(const volatile A&&); int test4_4568() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_4568(a)) == 4> t1; sa<sizeof(sink_4_4568(ca)) == 4> t2; sa<sizeof(sink_4_4568(va)) == 4> t3; @@ -1376,9 +1376,9 @@ eight sink_4_4578(const volatile A&&); int test4_4578() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_4578(a)) == 4> t1; sa<sizeof(sink_4_4578(ca)) == 4> t2; sa<sizeof(sink_4_4578(va)) == 4> t3; @@ -1398,9 +1398,9 @@ eight sink_4_4678(const volatile A&&); int test4_4678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_4678(a)) == 4> t1; sa<sizeof(sink_4_4678(ca)) == 4> t2; sa<sizeof(sink_4_4678(va)) == 4> t3; @@ -1419,9 +1419,9 @@ eight sink_4_5678(const volatile A&&); int test4_5678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_4_5678(source())) == 5> t5; sa<sizeof(sink_4_5678(c_source())) == 6> t6; sa<sizeof(sink_4_5678(v_source())) == 7> t7; diff --git a/gcc/testsuite/g++.dg/cpp0x/rv5n.C b/gcc/testsuite/g++.dg/cpp0x/rv5n.C index c31a30b2d6f..92ec1d925e1 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv5n.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv5n.C @@ -20,7 +20,7 @@ struct eight {char x[8];}; struct A { A(); - A(const volatile A&&); + A(const volatile A&&); // { dg-error "argument 1" } }; A source(); @@ -39,9 +39,9 @@ five sink_5_12345( A&&); // { dg-message "note" } int test5_12345() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_12345(v_source()); // { dg-error "no match" } sink_5_12345(cv_source()); // { dg-error "no match" } return 0; @@ -56,9 +56,9 @@ six sink_5_12346(const A&&); // { dg-message "note" } int test5_12346() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_12346(v_source()); // { dg-error "no match" } sink_5_12346(cv_source()); // { dg-error "no match" } return 0; @@ -73,9 +73,9 @@ seven sink_5_12347(volatile A&&); // { dg-message "note" } int test5_12347() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_12347(cv_source()); // { dg-error "no match" } return 0; } @@ -89,9 +89,9 @@ six sink_5_12356(const A&&); // { dg-message "note" } int test5_12356() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_12356(cva); // { dg-error "no match" } sink_5_12356(v_source()); // { dg-error "no match" } sink_5_12356(cv_source()); // { dg-error "no match" } @@ -107,9 +107,9 @@ seven sink_5_12357(volatile A&&); // { dg-message "note" } int test5_12357() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_12357(cva); // { dg-error "no match" } sink_5_12357(cv_source()); // { dg-error "no match" } return 0; @@ -124,9 +124,9 @@ eight sink_5_12358(const volatile A&&); // { dg-message "" } int test5_12358() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_12358(cva); // { dg-error "lvalue" } return 0; } @@ -140,9 +140,9 @@ seven sink_5_12367(volatile A&&); // { dg-message "note" } int test5_12367() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_12367(cva); // { dg-error "no match" } sink_5_12367(source()); // { dg-error "ambiguous" } sink_5_12367(cv_source()); // { dg-error "no match" } @@ -158,9 +158,9 @@ eight sink_5_12368(const volatile A&&); // { dg-message "" } int test5_12368() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_12368(cva); // { dg-error "lvalue" } return 0; } @@ -174,9 +174,9 @@ eight sink_5_12378(const volatile A&&); // { dg-message "" } int test5_12378() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_12378(cva); // { dg-error "lvalue" } return 0; } @@ -190,9 +190,9 @@ six sink_5_12456(const A&&); // { dg-message "note" } int test5_12456() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_12456(v_source()); // { dg-error "no match" } sink_5_12456(cv_source()); // { dg-error "no match" } return 0; @@ -207,9 +207,9 @@ seven sink_5_12457(volatile A&&); // { dg-message "note" } int test5_12457() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_12457(cv_source()); // { dg-error "no match" } return 0; } @@ -223,9 +223,9 @@ seven sink_5_12467(volatile A&&); // { dg-message "note" } int test5_12467() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_12467(source()); // { dg-error "ambiguous" } sink_5_12467(cv_source()); // { dg-error "no match" } return 0; @@ -240,9 +240,9 @@ seven sink_5_12567(volatile A&&); // { dg-message "" } int test5_12567() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_12567(va); // { dg-error "lvalue" } sink_5_12567(cva); // { dg-error "no match" } sink_5_12567(cv_source()); // { dg-error "no match" } @@ -258,9 +258,9 @@ eight sink_5_12568(const volatile A&&); // { dg-message "" } int test5_12568() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_12568(va); // { dg-error "lvalue" } sink_5_12568(cva); // { dg-error "lvalue" } return 0; @@ -275,9 +275,9 @@ eight sink_5_12578(const volatile A&&); // { dg-message "" } int test5_12578() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_12578(va); // { dg-error "lvalue" } sink_5_12578(cva); // { dg-error "lvalue" } return 0; @@ -292,9 +292,9 @@ eight sink_5_12678(const volatile A&&); // { dg-message "" } int test5_12678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_12678(va); // { dg-error "lvalue" } sink_5_12678(cva); // { dg-error "lvalue" } sink_5_12678(source()); // { dg-error "ambiguous" } @@ -310,9 +310,9 @@ six sink_5_13456(const A&&); // { dg-message "note" } int test5_13456() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_13456(v_source()); // { dg-error "no match" } sink_5_13456(cv_source()); // { dg-error "no match" } return 0; @@ -327,9 +327,9 @@ seven sink_5_13457(volatile A&&); // { dg-message "note" } int test5_13457() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_13457(c_source()); // { dg-error "no match" } sink_5_13457(cv_source()); // { dg-error "no match" } return 0; @@ -344,9 +344,9 @@ seven sink_5_13467(volatile A&&); // { dg-message "note" } int test5_13467() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_13467(source()); // { dg-error "ambiguous" } sink_5_13467(cv_source()); // { dg-error "no match" } return 0; @@ -361,9 +361,9 @@ seven sink_5_13567(volatile A&&); // { dg-message "note" } int test5_13567() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_13567(ca); // { dg-error "lvalue" } sink_5_13567(cva); // { dg-error "no match" } sink_5_13567(cv_source()); // { dg-error "no match" } @@ -379,9 +379,9 @@ eight sink_5_13568(const volatile A&&); // { dg-message "" } int test5_13568() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_13568(ca); // { dg-error "lvalue" } sink_5_13568(cva); // { dg-error "lvalue" } return 0; @@ -396,9 +396,9 @@ eight sink_5_13578(const volatile A&&); // { dg-message "" } int test5_13578() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_13578(ca); // { dg-error "lvalue" } sink_5_13578(cva); // { dg-error "lvalue" } return 0; @@ -413,9 +413,9 @@ eight sink_5_13678(const volatile A&&); // { dg-message "" } int test5_13678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_13678(ca); // { dg-error "lvalue" } sink_5_13678(cva); // { dg-error "lvalue" } sink_5_13678(source()); // { dg-error "ambiguous" } @@ -431,9 +431,9 @@ seven sink_5_14567(volatile A&&); // { dg-message "note" } int test5_14567() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_14567(cv_source()); // { dg-error "no match" } return 0; } @@ -447,9 +447,9 @@ eight sink_5_14678(const volatile A&&); // { dg-message "note" } int test5_14678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_14678(source()); // { dg-error "ambiguous" } return 0; } @@ -463,9 +463,9 @@ eight sink_5_15678(const volatile A&&); // { dg-message "" } int test5_15678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_15678(ca); // { dg-error "lvalue" } sink_5_15678(va); // { dg-error "lvalue" } sink_5_15678(cva); // { dg-error "lvalue" } @@ -481,9 +481,9 @@ six sink_5_23456(const A&&); // { dg-message "note" } int test5_23456() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_23456(a); // { dg-error "ambiguous" } sink_5_23456(v_source()); // { dg-error "no match" } sink_5_23456(cv_source()); // { dg-error "no match" } @@ -499,9 +499,9 @@ seven sink_5_23457(volatile A&&); // { dg-message "note" } int test5_23457() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_23457(a); // { dg-error "ambiguous" } sink_5_23457(cv_source()); // { dg-error "no match" } return 0; @@ -516,9 +516,9 @@ eight sink_5_23458(const volatile A&&); // { dg-message "note" } int test5_23458() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_23458(a); // { dg-error "ambiguous" } return 0; } @@ -532,9 +532,9 @@ seven sink_5_23467(volatile A&&); // { dg-message "note" } int test5_23467() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_23467(a); // { dg-error "ambiguous" } sink_5_23467(source()); // { dg-error "ambiguous" } sink_5_23467(cv_source()); // { dg-error "no match" } @@ -550,9 +550,9 @@ eight sink_5_23468(const volatile A&&); // { dg-message "note" } int test5_23468() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_23468(a); // { dg-error "ambiguous" } return 0; } @@ -566,9 +566,9 @@ eight sink_5_23478(const volatile A&&); // { dg-message "note" } int test5_23478() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_23478(a); // { dg-error "ambiguous" } return 0; } @@ -582,9 +582,9 @@ seven sink_5_23567(volatile A&&); // { dg-message "note" } int test5_23567() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_23567(a); // { dg-error "ambiguous" } sink_5_23567(cva); // { dg-error "no match" } sink_5_23567(cv_source()); // { dg-error "no match" } @@ -600,9 +600,9 @@ eight sink_5_23568(const volatile A&&); // { dg-message "" } int test5_23568() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_23568(cva); // { dg-error "lvalue" } sink_5_23568(a); // { dg-error "ambiguous" } return 0; @@ -617,9 +617,9 @@ eight sink_5_23578(const volatile A&&); // { dg-message "" } int test5_23578() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_23578(cva); // { dg-error "lvalue" } sink_5_23578(a); // { dg-error "ambiguous" } return 0; @@ -634,9 +634,9 @@ eight sink_5_23678(const volatile A&&); // { dg-message "" } int test5_23678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_23678(a); // { dg-error "ambiguous" } sink_5_23678(cva); // { dg-error "lvalue" } sink_5_23678(source()); // { dg-error "ambiguous" } @@ -652,9 +652,9 @@ seven sink_5_24567(volatile A&&); // { dg-message "note" } int test5_24567() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_24567(cv_source()); // { dg-error "no match" } return 0; } @@ -668,9 +668,9 @@ eight sink_5_24678(const volatile A&&); // { dg-message "note" } int test5_24678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_24678(source()); // { dg-error "ambiguous" } return 0; } @@ -684,9 +684,9 @@ eight sink_5_25678(const volatile A&&); // { dg-message "" } int test5_25678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_25678(va); // { dg-error "lvalue" } sink_5_25678(cva); // { dg-error "lvalue" } return 0; @@ -701,9 +701,9 @@ seven sink_5_34567(volatile A&&); // { dg-message "note" } int test5_34567() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_34567(cv_source()); // { dg-error "no match" } return 0; } @@ -717,9 +717,9 @@ eight sink_5_34678(const volatile A&&); // { dg-message "note" } int test5_34678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_34678(source()); // { dg-error "ambiguous" } return 0; } @@ -733,9 +733,9 @@ eight sink_5_35678(const volatile A&&); // { dg-message "" } int test5_35678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_5_35678(ca); // { dg-error "lvalue" } sink_5_35678(cva); // { dg-error "lvalue" } return 0; diff --git a/gcc/testsuite/g++.dg/cpp0x/rv5p.C b/gcc/testsuite/g++.dg/cpp0x/rv5p.C index 7555867f709..cd12028fc93 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv5p.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv5p.C @@ -39,9 +39,9 @@ five sink_5_12345( A&&); int test5_12345() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_12345(a)) == 1> t1; sa<sizeof(sink_5_12345(ca)) == 2> t2; sa<sizeof(sink_5_12345(va)) == 3> t3; @@ -60,9 +60,9 @@ six sink_5_12346(const A&&); int test5_12346() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_12346(a)) == 1> t1; sa<sizeof(sink_5_12346(ca)) == 2> t2; sa<sizeof(sink_5_12346(va)) == 3> t3; @@ -81,9 +81,9 @@ seven sink_5_12347(volatile A&&); int test5_12347() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_12347(a)) == 1> t1; sa<sizeof(sink_5_12347(ca)) == 2> t2; sa<sizeof(sink_5_12347(va)) == 3> t3; @@ -103,9 +103,9 @@ eight sink_5_12348(const volatile A&&); int test5_12348() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_12348(a)) == 1> t1; sa<sizeof(sink_5_12348(ca)) == 2> t2; sa<sizeof(sink_5_12348(va)) == 3> t3; @@ -126,9 +126,9 @@ six sink_5_12356(const A&&); int test5_12356() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_12356(a)) == 1> t1; sa<sizeof(sink_5_12356(ca)) == 2> t2; sa<sizeof(sink_5_12356(va)) == 3> t3; @@ -146,9 +146,9 @@ seven sink_5_12357(volatile A&&); int test5_12357() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_12357(a)) == 1> t1; sa<sizeof(sink_5_12357(ca)) == 2> t2; sa<sizeof(sink_5_12357(va)) == 3> t3; @@ -167,9 +167,9 @@ eight sink_5_12358(const volatile A&&); int test5_12358() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_12358(a)) == 1> t1; sa<sizeof(sink_5_12358(ca)) == 2> t2; sa<sizeof(sink_5_12358(va)) == 3> t3; @@ -189,9 +189,9 @@ seven sink_5_12367(volatile A&&); int test5_12367() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_12367(a)) == 1> t1; sa<sizeof(sink_5_12367(ca)) == 2> t2; sa<sizeof(sink_5_12367(va)) == 3> t3; @@ -209,9 +209,9 @@ eight sink_5_12368(const volatile A&&); int test5_12368() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_12368(a)) == 1> t1; sa<sizeof(sink_5_12368(ca)) == 2> t2; sa<sizeof(sink_5_12368(va)) == 3> t3; @@ -231,9 +231,9 @@ eight sink_5_12378(const volatile A&&); int test5_12378() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_12378(a)) == 1> t1; sa<sizeof(sink_5_12378(ca)) == 2> t2; sa<sizeof(sink_5_12378(va)) == 3> t3; @@ -253,9 +253,9 @@ six sink_5_12456(const A&&); int test5_12456() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_12456(a)) == 1> t1; sa<sizeof(sink_5_12456(ca)) == 2> t2; sa<sizeof(sink_5_12456(va)) == 4> t3; @@ -274,9 +274,9 @@ seven sink_5_12457(volatile A&&); int test5_12457() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_12457(a)) == 1> t1; sa<sizeof(sink_5_12457(ca)) == 2> t2; sa<sizeof(sink_5_12457(va)) == 4> t3; @@ -296,9 +296,9 @@ eight sink_5_12458(const volatile A&&); int test5_12458() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_12458(a)) == 1> t1; sa<sizeof(sink_5_12458(ca)) == 2> t2; sa<sizeof(sink_5_12458(va)) == 4> t3; @@ -319,9 +319,9 @@ seven sink_5_12467(volatile A&&); int test5_12467() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_12467(a)) == 1> t1; sa<sizeof(sink_5_12467(ca)) == 2> t2; sa<sizeof(sink_5_12467(va)) == 4> t3; @@ -340,9 +340,9 @@ eight sink_5_12468(const volatile A&&); int test5_12468() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_12468(a)) == 1> t1; sa<sizeof(sink_5_12468(ca)) == 2> t2; sa<sizeof(sink_5_12468(va)) == 4> t3; @@ -363,9 +363,9 @@ eight sink_5_12478(const volatile A&&); int test5_12478() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_12478(a)) == 1> t1; sa<sizeof(sink_5_12478(ca)) == 2> t2; sa<sizeof(sink_5_12478(va)) == 4> t3; @@ -386,9 +386,9 @@ seven sink_5_12567(volatile A&&); int test5_12567() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_12567(a)) == 1> t1; sa<sizeof(sink_5_12567(ca)) == 2> t2; sa<sizeof(sink_5_12567(source())) == 5> t5; @@ -406,9 +406,9 @@ eight sink_5_12568(const volatile A&&); int test5_12568() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_12568(a)) == 1> t1; sa<sizeof(sink_5_12568(ca)) == 2> t2; sa<sizeof(sink_5_12568(source())) == 5> t5; @@ -427,9 +427,9 @@ eight sink_5_12578(const volatile A&&); int test5_12578() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_12578(a)) == 1> t1; sa<sizeof(sink_5_12578(ca)) == 2> t2; sa<sizeof(sink_5_12578(source())) == 5> t5; @@ -448,9 +448,9 @@ eight sink_5_12678(const volatile A&&); int test5_12678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_12678(a)) == 1> t1; sa<sizeof(sink_5_12678(ca)) == 2> t2; sa<sizeof(sink_5_12678(c_source())) == 6> t6; @@ -468,9 +468,9 @@ six sink_5_13456(const A&&); int test5_13456() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_13456(a)) == 1> t1; sa<sizeof(sink_5_13456(ca)) == 4> t2; sa<sizeof(sink_5_13456(va)) == 3> t3; @@ -489,9 +489,9 @@ seven sink_5_13457(volatile A&&); int test5_13457() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_13457(a)) == 1> t1; sa<sizeof(sink_5_13457(ca)) == 4> t2; sa<sizeof(sink_5_13457(va)) == 3> t3; @@ -510,9 +510,9 @@ eight sink_5_13458(const volatile A&&); int test5_13458() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_13458(a)) == 1> t1; sa<sizeof(sink_5_13458(ca)) == 4> t2; sa<sizeof(sink_5_13458(va)) == 3> t3; @@ -533,9 +533,9 @@ seven sink_5_13467(volatile A&&); int test5_13467() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_13467(a)) == 1> t1; sa<sizeof(sink_5_13467(ca)) == 4> t2; sa<sizeof(sink_5_13467(va)) == 3> t3; @@ -554,9 +554,9 @@ eight sink_5_13468(const volatile A&&); int test5_13468() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_13468(a)) == 1> t1; sa<sizeof(sink_5_13468(ca)) == 4> t2; sa<sizeof(sink_5_13468(va)) == 3> t3; @@ -577,9 +577,9 @@ eight sink_5_13478(const volatile A&&); int test5_13478() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_13478(a)) == 1> t1; sa<sizeof(sink_5_13478(ca)) == 4> t2; sa<sizeof(sink_5_13478(va)) == 3> t3; @@ -600,9 +600,9 @@ seven sink_5_13567(volatile A&&); int test5_13567() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_13567(a)) == 1> t1; sa<sizeof(sink_5_13567(va)) == 3> t3; sa<sizeof(sink_5_13567(source())) == 5> t5; @@ -620,9 +620,9 @@ eight sink_5_13568(const volatile A&&); int test5_13568() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_13568(a)) == 1> t1; sa<sizeof(sink_5_13568(va)) == 3> t3; sa<sizeof(sink_5_13568(source())) == 5> t5; @@ -641,9 +641,9 @@ eight sink_5_13578(const volatile A&&); int test5_13578() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_13578(a)) == 1> t1; sa<sizeof(sink_5_13578(va)) == 3> t3; sa<sizeof(sink_5_13578(source())) == 5> t5; @@ -662,9 +662,9 @@ eight sink_5_13678(const volatile A&&); int test5_13678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_13678(a)) == 1> t1; sa<sizeof(sink_5_13678(va)) == 3> t3; sa<sizeof(sink_5_13678(c_source())) == 6> t6; @@ -682,9 +682,9 @@ seven sink_5_14567(volatile A&&); int test5_14567() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_14567(a)) == 1> t1; sa<sizeof(sink_5_14567(ca)) == 4> t2; sa<sizeof(sink_5_14567(va)) == 4> t3; @@ -704,9 +704,9 @@ eight sink_5_14568(const volatile A&&); int test5_14568() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_14568(a)) == 1> t1; sa<sizeof(sink_5_14568(ca)) == 4> t2; sa<sizeof(sink_5_14568(va)) == 4> t3; @@ -727,9 +727,9 @@ eight sink_5_14578(const volatile A&&); int test5_14578() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_14578(a)) == 1> t1; sa<sizeof(sink_5_14578(ca)) == 4> t2; sa<sizeof(sink_5_14578(va)) == 4> t3; @@ -750,9 +750,9 @@ eight sink_5_14678(const volatile A&&); int test5_14678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_14678(a)) == 1> t1; sa<sizeof(sink_5_14678(ca)) == 4> t2; sa<sizeof(sink_5_14678(va)) == 4> t3; @@ -772,9 +772,9 @@ eight sink_5_15678(const volatile A&&); int test5_15678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_15678(a)) == 1> t1; sa<sizeof(sink_5_15678(source())) == 5> t5; sa<sizeof(sink_5_15678(c_source())) == 6> t6; @@ -792,9 +792,9 @@ six sink_5_23456(const A&&); int test5_23456() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_23456(ca)) == 2> t2; sa<sizeof(sink_5_23456(va)) == 3> t3; sa<sizeof(sink_5_23456(cva)) == 4> t4; @@ -812,9 +812,9 @@ seven sink_5_23457(volatile A&&); int test5_23457() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_23457(ca)) == 2> t2; sa<sizeof(sink_5_23457(va)) == 3> t3; sa<sizeof(sink_5_23457(cva)) == 4> t4; @@ -833,9 +833,9 @@ eight sink_5_23458(const volatile A&&); int test5_23458() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_23458(ca)) == 2> t2; sa<sizeof(sink_5_23458(va)) == 3> t3; sa<sizeof(sink_5_23458(cva)) == 4> t4; @@ -855,9 +855,9 @@ seven sink_5_23467(volatile A&&); int test5_23467() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_23467(ca)) == 2> t2; sa<sizeof(sink_5_23467(va)) == 3> t3; sa<sizeof(sink_5_23467(cva)) == 4> t4; @@ -875,9 +875,9 @@ eight sink_5_23468(const volatile A&&); int test5_23468() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_23468(ca)) == 2> t2; sa<sizeof(sink_5_23468(va)) == 3> t3; sa<sizeof(sink_5_23468(cva)) == 4> t4; @@ -897,9 +897,9 @@ eight sink_5_23478(const volatile A&&); int test5_23478() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_23478(ca)) == 2> t2; sa<sizeof(sink_5_23478(va)) == 3> t3; sa<sizeof(sink_5_23478(cva)) == 4> t4; @@ -919,9 +919,9 @@ seven sink_5_23567(volatile A&&); int test5_23567() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_23567(ca)) == 2> t2; sa<sizeof(sink_5_23567(va)) == 3> t3; sa<sizeof(sink_5_23567(source())) == 5> t5; @@ -939,9 +939,9 @@ eight sink_5_23568(const volatile A&&); int test5_23568() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_23568(ca)) == 2> t2; sa<sizeof(sink_5_23568(va)) == 3> t3; sa<sizeof(sink_5_23568(source())) == 5> t5; @@ -960,9 +960,9 @@ eight sink_5_23578(const volatile A&&); int test5_23578() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_23578(ca)) == 2> t2; sa<sizeof(sink_5_23578(va)) == 3> t3; sa<sizeof(sink_5_23578(source())) == 5> t5; @@ -981,9 +981,9 @@ eight sink_5_23678(const volatile A&&); int test5_23678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_23678(ca)) == 2> t2; sa<sizeof(sink_5_23678(va)) == 3> t3; sa<sizeof(sink_5_23678(c_source())) == 6> t6; @@ -1001,9 +1001,9 @@ seven sink_5_24567(volatile A&&); int test5_24567() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_24567(a)) == 2> t1; sa<sizeof(sink_5_24567(ca)) == 2> t2; sa<sizeof(sink_5_24567(va)) == 4> t3; @@ -1023,9 +1023,9 @@ eight sink_5_24568(const volatile A&&); int test5_24568() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_24568(a)) == 2> t1; sa<sizeof(sink_5_24568(ca)) == 2> t2; sa<sizeof(sink_5_24568(va)) == 4> t3; @@ -1046,9 +1046,9 @@ eight sink_5_24578(const volatile A&&); int test5_24578() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_24578(a)) == 2> t1; sa<sizeof(sink_5_24578(ca)) == 2> t2; sa<sizeof(sink_5_24578(va)) == 4> t3; @@ -1069,9 +1069,9 @@ eight sink_5_24678(const volatile A&&); int test5_24678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_24678(a)) == 2> t1; sa<sizeof(sink_5_24678(ca)) == 2> t2; sa<sizeof(sink_5_24678(va)) == 4> t3; @@ -1091,9 +1091,9 @@ eight sink_5_25678(const volatile A&&); int test5_25678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_25678(a)) == 2> t1; sa<sizeof(sink_5_25678(ca)) == 2> t2; sa<sizeof(sink_5_25678(source())) == 5> t5; @@ -1112,9 +1112,9 @@ seven sink_5_34567(volatile A&&); int test5_34567() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_34567(a)) == 3> t1; sa<sizeof(sink_5_34567(ca)) == 4> t2; sa<sizeof(sink_5_34567(va)) == 3> t3; @@ -1134,9 +1134,9 @@ eight sink_5_34568(const volatile A&&); int test5_34568() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_34568(a)) == 3> t1; sa<sizeof(sink_5_34568(ca)) == 4> t2; sa<sizeof(sink_5_34568(va)) == 3> t3; @@ -1157,9 +1157,9 @@ eight sink_5_34578(const volatile A&&); int test5_34578() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_34578(a)) == 3> t1; sa<sizeof(sink_5_34578(ca)) == 4> t2; sa<sizeof(sink_5_34578(va)) == 3> t3; @@ -1180,9 +1180,9 @@ eight sink_5_34678(const volatile A&&); int test5_34678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_34678(a)) == 3> t1; sa<sizeof(sink_5_34678(ca)) == 4> t2; sa<sizeof(sink_5_34678(va)) == 3> t3; @@ -1202,9 +1202,9 @@ eight sink_5_35678(const volatile A&&); int test5_35678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_35678(a)) == 3> t1; sa<sizeof(sink_5_35678(va)) == 3> t3; sa<sizeof(sink_5_35678(source())) == 5> t5; @@ -1223,9 +1223,9 @@ eight sink_5_45678(const volatile A&&); int test5_45678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_5_45678(a)) == 4> t1; sa<sizeof(sink_5_45678(ca)) == 4> t2; sa<sizeof(sink_5_45678(va)) == 4> t3; diff --git a/gcc/testsuite/g++.dg/cpp0x/rv6n.C b/gcc/testsuite/g++.dg/cpp0x/rv6n.C index 2a2520c7599..6a81f66fa5c 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv6n.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv6n.C @@ -20,7 +20,7 @@ struct eight {char x[8];}; struct A { A(); - A(const volatile A&&); + A(const volatile A&&); // { dg-error "argument 1" } }; A source(); @@ -40,9 +40,9 @@ six sink_6_123456(const A&&); // { dg-message "note" } int test6_123456() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_6_123456(v_source()); // { dg-error "no match" } sink_6_123456(cv_source()); // { dg-error "no match" } return 0; @@ -58,9 +58,9 @@ seven sink_6_123457(volatile A&&); // { dg-message "note" } int test6_123457() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_6_123457(cv_source()); // { dg-error "no match" } return 0; } @@ -75,9 +75,9 @@ eight sink_6_235678(const volatile A&&); // { dg-message "" } int test6_235678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_6_235678(a); // { dg-error "ambiguous" } sink_6_235678(cva); // { dg-error "lvalue" } return 0; @@ -93,9 +93,9 @@ eight sink_6_234678(const volatile A&&); // { dg-message "note" } int test6_234678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_6_234678(a); // { dg-error "ambiguous" } sink_6_234678(source()); // { dg-error "ambiguous" } return 0; @@ -111,9 +111,9 @@ eight sink_6_234578(const volatile A&&); // { dg-message "note" } int test6_234578() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_6_234578(a); // { dg-error "ambiguous" } return 0; } @@ -128,9 +128,9 @@ eight sink_6_234568(const volatile A&&); // { dg-message "note" } int test6_234568() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_6_234568(a); // { dg-error "ambiguous" } return 0; } @@ -145,9 +145,9 @@ seven sink_6_234567(volatile A&&); // { dg-message "note" } int test6_234567() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_6_234567(a); // { dg-error "ambiguous" } sink_6_234567(cv_source()); // { dg-error "no match" } return 0; @@ -163,9 +163,9 @@ eight sink_6_134678(const volatile A&&); // { dg-message "note" } int test6_134678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_6_134678(source()); // { dg-error "ambiguous" } return 0; } @@ -180,9 +180,9 @@ eight sink_6_124678(const volatile A&&); // { dg-message "note" } int test6_124678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_6_124678(source()); // { dg-error "ambiguous" } return 0; } @@ -197,9 +197,9 @@ eight sink_6_123678(const volatile A&&); // { dg-message "" } int test6_123678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_6_123678(cva); // { dg-error "lvalue" } sink_6_123678(source()); // { dg-error "ambiguous" } return 0; @@ -215,9 +215,9 @@ seven sink_6_123567(volatile A&&); // { dg-message "note" } int test6_123567() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_6_123567(cva); // { dg-error "no match" } sink_6_123567(cv_source()); // { dg-error "no match" } return 0; @@ -233,9 +233,9 @@ eight sink_6_123568(const volatile A&&); // { dg-message "" } int test6_123568() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_6_123568(cva); // { dg-error "lvalue" } return 0; } @@ -250,9 +250,9 @@ eight sink_6_123578(const volatile A&&); // { dg-message "" } int test6_123578() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_6_123578(cva); // { dg-error "lvalue" } return 0; } @@ -267,9 +267,9 @@ seven sink_6_123467(volatile A&&); // { dg-message "note" } int test6_123467() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_6_123467(source()); // { dg-error "ambiguous" } sink_6_123467(cv_source()); // { dg-error "no match" } return 0; @@ -285,9 +285,9 @@ seven sink_6_124567(volatile A&&); // { dg-message "note" } int test6_124567() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_6_124567(cv_source()); // { dg-error "no match" } return 0; } @@ -302,9 +302,9 @@ eight sink_6_125678(const volatile A&&); // { dg-message "" } int test6_125678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_6_125678(va); // { dg-error "lvalue" } sink_6_125678(cva); // { dg-error "lvalue" } return 0; @@ -320,9 +320,9 @@ seven sink_6_134567(volatile A&&); // { dg-message "note" } int test6_134567() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_6_134567(cv_source()); // { dg-error "no match" } return 0; } @@ -337,9 +337,9 @@ eight sink_6_135678(const volatile A&&); // { dg-message "" } int test6_135678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_6_135678(ca); // { dg-error "lvalue" } sink_6_135678(cva); // { dg-error "lvalue" } return 0; diff --git a/gcc/testsuite/g++.dg/cpp0x/rv6p.C b/gcc/testsuite/g++.dg/cpp0x/rv6p.C index 0e5352bf8b1..bb17d7929fe 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv6p.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv6p.C @@ -40,9 +40,9 @@ six sink_6_123456(const A&&); int test6_123456() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_123456(a)) == 1> t1; sa<sizeof(sink_6_123456(ca)) == 2> t2; sa<sizeof(sink_6_123456(va)) == 3> t3; @@ -62,9 +62,9 @@ seven sink_6_123457(volatile A&&); int test6_123457() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_123457(a)) == 1> t1; sa<sizeof(sink_6_123457(ca)) == 2> t2; sa<sizeof(sink_6_123457(va)) == 3> t3; @@ -85,9 +85,9 @@ eight sink_6_123458(const volatile A&&); int test6_123458() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_123458(a)) == 1> t1; sa<sizeof(sink_6_123458(ca)) == 2> t2; sa<sizeof(sink_6_123458(va)) == 3> t3; @@ -109,9 +109,9 @@ seven sink_6_123467(volatile A&&); int test6_123467() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_123467(a)) == 1> t1; sa<sizeof(sink_6_123467(ca)) == 2> t2; sa<sizeof(sink_6_123467(va)) == 3> t3; @@ -131,9 +131,9 @@ eight sink_6_123468(const volatile A&&); int test6_123468() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_123468(a)) == 1> t1; sa<sizeof(sink_6_123468(ca)) == 2> t2; sa<sizeof(sink_6_123468(va)) == 3> t3; @@ -155,9 +155,9 @@ eight sink_6_123478(const volatile A&&); int test6_123478() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_123478(a)) == 1> t1; sa<sizeof(sink_6_123478(ca)) == 2> t2; sa<sizeof(sink_6_123478(va)) == 3> t3; @@ -179,9 +179,9 @@ seven sink_6_123567(volatile A&&); int test6_123567() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_123567(a)) == 1> t1; sa<sizeof(sink_6_123567(ca)) == 2> t2; sa<sizeof(sink_6_123567(va)) == 3> t3; @@ -201,9 +201,9 @@ eight sink_6_123568(const volatile A&&); int test6_123568() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_123568(a)) == 1> t1; sa<sizeof(sink_6_123568(ca)) == 2> t2; sa<sizeof(sink_6_123568(va)) == 3> t3; @@ -224,9 +224,9 @@ eight sink_6_123578(const volatile A&&); int test6_123578() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_123578(a)) == 1> t1; sa<sizeof(sink_6_123578(ca)) == 2> t2; sa<sizeof(sink_6_123578(va)) == 3> t3; @@ -247,9 +247,9 @@ eight sink_6_123678(const volatile A&&); int test6_123678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_123678(a)) == 1> t1; sa<sizeof(sink_6_123678(ca)) == 2> t2; sa<sizeof(sink_6_123678(va)) == 3> t3; @@ -269,9 +269,9 @@ seven sink_6_124567(volatile A&&); int test6_124567() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_124567(a)) == 1> t1; sa<sizeof(sink_6_124567(ca)) == 2> t2; sa<sizeof(sink_6_124567(va)) == 4> t3; @@ -292,9 +292,9 @@ eight sink_6_124568(const volatile A&&); int test6_124568() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_124568(a)) == 1> t1; sa<sizeof(sink_6_124568(ca)) == 2> t2; sa<sizeof(sink_6_124568(va)) == 4> t3; @@ -316,9 +316,9 @@ eight sink_6_124578(const volatile A&&); int test6_124578() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_124578(a)) == 1> t1; sa<sizeof(sink_6_124578(ca)) == 2> t2; sa<sizeof(sink_6_124578(va)) == 4> t3; @@ -340,9 +340,9 @@ eight sink_6_124678(const volatile A&&); int test6_124678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_124678(a)) == 1> t1; sa<sizeof(sink_6_124678(ca)) == 2> t2; sa<sizeof(sink_6_124678(va)) == 4> t3; @@ -363,9 +363,9 @@ eight sink_6_125678(const volatile A&&); int test6_125678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_125678(a)) == 1> t1; sa<sizeof(sink_6_125678(ca)) == 2> t2; sa<sizeof(sink_6_125678(source())) == 5> t5; @@ -385,9 +385,9 @@ seven sink_6_134567(volatile A&&); int test6_134567() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_134567(a)) == 1> t1; sa<sizeof(sink_6_134567(ca)) == 4> t2; sa<sizeof(sink_6_134567(va)) == 3> t3; @@ -408,9 +408,9 @@ eight sink_6_134568(const volatile A&&); int test6_134568() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_134568(a)) == 1> t1; sa<sizeof(sink_6_134568(ca)) == 4> t2; sa<sizeof(sink_6_134568(va)) == 3> t3; @@ -432,9 +432,9 @@ eight sink_6_134578(const volatile A&&); int test6_134578() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_134578(a)) == 1> t1; sa<sizeof(sink_6_134578(ca)) == 4> t2; sa<sizeof(sink_6_134578(va)) == 3> t3; @@ -456,9 +456,9 @@ eight sink_6_134678(const volatile A&&); int test6_134678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_134678(a)) == 1> t1; sa<sizeof(sink_6_134678(ca)) == 4> t2; sa<sizeof(sink_6_134678(va)) == 3> t3; @@ -479,9 +479,9 @@ eight sink_6_135678(const volatile A&&); int test6_135678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_135678(a)) == 1> t1; sa<sizeof(sink_6_135678(va)) == 3> t3; sa<sizeof(sink_6_135678(source())) == 5> t5; @@ -501,9 +501,9 @@ eight sink_6_145678(const volatile A&&); int test6_145678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_145678(a)) == 1> t1; sa<sizeof(sink_6_145678(ca)) == 4> t2; sa<sizeof(sink_6_145678(va)) == 4> t3; @@ -525,9 +525,9 @@ seven sink_6_234567(volatile A&&); int test6_234567() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_234567(ca)) == 2> t2; sa<sizeof(sink_6_234567(va)) == 3> t3; sa<sizeof(sink_6_234567(cva)) == 4> t4; @@ -547,9 +547,9 @@ eight sink_6_234568(const volatile A&&); int test6_234568() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_234568(ca)) == 2> t2; sa<sizeof(sink_6_234568(va)) == 3> t3; sa<sizeof(sink_6_234568(cva)) == 4> t4; @@ -570,9 +570,9 @@ eight sink_6_234578(const volatile A&&); int test6_234578() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_234578(ca)) == 2> t2; sa<sizeof(sink_6_234578(va)) == 3> t3; sa<sizeof(sink_6_234578(cva)) == 4> t4; @@ -593,9 +593,9 @@ eight sink_6_234678(const volatile A&&); int test6_234678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_234678(ca)) == 2> t2; sa<sizeof(sink_6_234678(va)) == 3> t3; sa<sizeof(sink_6_234678(cva)) == 4> t4; @@ -615,9 +615,9 @@ eight sink_6_235678(const volatile A&&); int test6_235678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_235678(ca)) == 2> t2; sa<sizeof(sink_6_235678(va)) == 3> t3; sa<sizeof(sink_6_235678(source())) == 5> t5; @@ -637,9 +637,9 @@ eight sink_6_245678(const volatile A&&); int test6_245678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_245678(a)) == 2> t1; sa<sizeof(sink_6_245678(ca)) == 2> t2; sa<sizeof(sink_6_245678(va)) == 4> t3; @@ -661,9 +661,9 @@ eight sink_6_345678(const volatile A&&); int test6_345678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_6_345678(a)) == 3> t1; sa<sizeof(sink_6_345678(ca)) == 4> t2; sa<sizeof(sink_6_345678(va)) == 3> t3; diff --git a/gcc/testsuite/g++.dg/cpp0x/rv7n.C b/gcc/testsuite/g++.dg/cpp0x/rv7n.C index 102730bc7f0..94254b5824b 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv7n.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv7n.C @@ -20,7 +20,7 @@ struct eight {char x[8];}; struct A { A(); - A(const volatile A&&); + A(const volatile A&&); // { dg-error "argument 1" } }; A source(); @@ -41,9 +41,9 @@ seven sink_7_1234567(volatile A&&); // { dg-message "note" } int test7_1234567() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_7_1234567(cv_source()); // { dg-error "no match" } return 0; } @@ -59,9 +59,9 @@ eight sink_7_1235678(const volatile A&&); // { dg-message "" } int test7_1235678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_7_1235678(cva); // { dg-error "lvalue" } return 0; } @@ -77,9 +77,9 @@ eight sink_7_2345678(const volatile A&&); // { dg-message "note" } int test7_2345678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_7_2345678(a); // { dg-error "ambiguous" } return 0; } @@ -95,9 +95,9 @@ eight sink_7_1234678(const volatile A&&); // { dg-message "note" } int test7_1234678() { A a; - const A ca = a; + const A ca = a; // { dg-error "lvalue" } volatile A va; - const volatile A cva = a; + const volatile A cva = a; // { dg-error "lvalue" } sink_7_1234678(source()); // { dg-error "ambiguous" } return 0; } diff --git a/gcc/testsuite/g++.dg/cpp0x/rv7p.C b/gcc/testsuite/g++.dg/cpp0x/rv7p.C index d25488f94f1..710f1cf048d 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv7p.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv7p.C @@ -41,9 +41,9 @@ seven sink_7_1234567(volatile A&&); int test7_1234567() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_7_1234567(a)) == 1> t1; sa<sizeof(sink_7_1234567(ca)) == 2> t2; sa<sizeof(sink_7_1234567(va)) == 3> t3; @@ -65,9 +65,9 @@ eight sink_7_1234568(const volatile A&&); int test7_1234568() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_7_1234568(a)) == 1> t1; sa<sizeof(sink_7_1234568(ca)) == 2> t2; sa<sizeof(sink_7_1234568(va)) == 3> t3; @@ -90,9 +90,9 @@ eight sink_7_1234578(const volatile A&&); int test7_1234578() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_7_1234578(a)) == 1> t1; sa<sizeof(sink_7_1234578(ca)) == 2> t2; sa<sizeof(sink_7_1234578(va)) == 3> t3; @@ -115,9 +115,9 @@ eight sink_7_1234678(const volatile A&&); int test7_1234678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_7_1234678(a)) == 1> t1; sa<sizeof(sink_7_1234678(ca)) == 2> t2; sa<sizeof(sink_7_1234678(va)) == 3> t3; @@ -139,9 +139,9 @@ eight sink_7_1235678(const volatile A&&); int test7_1235678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_7_1235678(a)) == 1> t1; sa<sizeof(sink_7_1235678(ca)) == 2> t2; sa<sizeof(sink_7_1235678(va)) == 3> t3; @@ -163,9 +163,9 @@ eight sink_7_1245678(const volatile A&&); int test7_1245678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_7_1245678(a)) == 1> t1; sa<sizeof(sink_7_1245678(ca)) == 2> t2; sa<sizeof(sink_7_1245678(va)) == 4> t3; @@ -188,9 +188,9 @@ eight sink_7_1345678(const volatile A&&); int test7_1345678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_7_1345678(a)) == 1> t1; sa<sizeof(sink_7_1345678(ca)) == 4> t2; sa<sizeof(sink_7_1345678(va)) == 3> t3; @@ -213,9 +213,9 @@ eight sink_7_2345678(const volatile A&&); int test7_2345678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_7_2345678(ca)) == 2> t2; sa<sizeof(sink_7_2345678(va)) == 3> t3; sa<sizeof(sink_7_2345678(cva)) == 4> t4; diff --git a/gcc/testsuite/g++.dg/cpp0x/rv8p.C b/gcc/testsuite/g++.dg/cpp0x/rv8p.C index cc7ff8a6ef3..8ee993854b8 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv8p.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv8p.C @@ -42,9 +42,9 @@ eight sink_8_12345678(const volatile A&&); int test8_12345678() { A a; - const A ca = a; + const A ca; volatile A va; - const volatile A cva = a; + const volatile A cva; sa<sizeof(sink_8_12345678(a)) == 1> t1; sa<sizeof(sink_8_12345678(ca)) == 2> t2; sa<sizeof(sink_8_12345678(va)) == 3> t3; diff --git a/gcc/testsuite/g++.dg/debug/dwarf2/accessibility1.C b/gcc/testsuite/g++.dg/debug/dwarf2/accessibility1.C new file mode 100644 index 00000000000..4992f41913f --- /dev/null +++ b/gcc/testsuite/g++.dg/debug/dwarf2/accessibility1.C @@ -0,0 +1,24 @@ +// PR debug/44668 +// { dg-do compile } +// { dg-options "-g -dA" } + +struct C +{ +private: + typedef int a; + a b; + enum g { g1, g2 } h; + struct D { int i; } i; +protected: + typedef int c; + c d; +public: + typedef int e; + e f; +} c; + +// 3 private DW_TAG_member dies, 1 private DW_TAG_typedef, +// 1 private DW_TAG_enumeration_type and 1 private DW_TAG_structure_type +// { dg-final { scan-assembler-times "3\[^\\r\\n\]* DW_AT_accessibility" 6 } } +// 1 private DW_TAG_member die, 1 private DW_TAG_typedef +// { dg-final { scan-assembler-times "2\[^\\r\\n\]* DW_AT_accessibility" 2 } } diff --git a/gcc/testsuite/g++.dg/debug/dwarf2/dwarf4-typedef.C b/gcc/testsuite/g++.dg/debug/dwarf2/dwarf4-typedef.C new file mode 100644 index 00000000000..c5520fa72b0 --- /dev/null +++ b/gcc/testsuite/g++.dg/debug/dwarf2/dwarf4-typedef.C @@ -0,0 +1,34 @@ +/* { dg-do compile } */ +/* { dg-options "-gdwarf-4" } */ + +/* Regression test for an ICE in output_die when using -gdwarf-4. */ + +namespace { + +struct A { + virtual ~A(); +}; + +struct B : public A { + template <typename A> + bool foo(A x[2]) { } +}; + +template <typename T> +struct C { + T v[2]; +}; + +template <typename T> +bool X(T &b) { + typedef C<int> D; + D x[2]; + return b.foo(x); +} + +void f() { + B b; + X<B>(b); +} + +} diff --git a/gcc/testsuite/g++.dg/debug/dwarf2/typedef3.C b/gcc/testsuite/g++.dg/debug/dwarf2/typedef3.C new file mode 100644 index 00000000000..ca70d9cacfa --- /dev/null +++ b/gcc/testsuite/g++.dg/debug/dwarf2/typedef3.C @@ -0,0 +1,19 @@ +// Origin: PR debug/44188 +// { dg-options "-g -dA" } +// { dg-do compile } + +// { dg-final { scan-assembler-times "\[^\n\r\]*\\(DIE\[^\n\r\]*DW_TAG_typedef\\)" 1 } } + +// { dg-final { scan-assembler-times "\[^\n\r\]*\\(DIE\[^\n\r\]*DW_TAG_structure_type\\)" 1 } } + +typedef struct +{ + int i; +} AAA; + +int +main(void) +{ + AAA aa; + return 0; +} diff --git a/gcc/testsuite/g++.dg/diagnostic/method1.C b/gcc/testsuite/g++.dg/diagnostic/method1.C new file mode 100644 index 00000000000..8e1225d0722 --- /dev/null +++ b/gcc/testsuite/g++.dg/diagnostic/method1.C @@ -0,0 +1,20 @@ +// PR c++/44627 +// { dg-do compile } + +struct A +{ + A *foo (); +}; + +template <class T> +void +bar () +{ + A::foo ().anything; // { dg-error "request for member" } +} + +void +baz () +{ + bar <int> (); +} diff --git a/gcc/testsuite/g++.dg/diagnostic/parm1.C b/gcc/testsuite/g++.dg/diagnostic/parm1.C new file mode 100644 index 00000000000..2e553e2d4c5 --- /dev/null +++ b/gcc/testsuite/g++.dg/diagnostic/parm1.C @@ -0,0 +1,11 @@ +// PR c++/44366 +// While printing the operand of sizeof We were trying to print f as the +// scope of t, causing infinite recursion. + +template <typename T> +void f(T t, int(*)[sizeof(t)]) +{ + struct A { void g() { + foo; // { dg-error "foo" } + } }; +} diff --git a/gcc/testsuite/g++.dg/eh/new1.C b/gcc/testsuite/g++.dg/eh/new1.C index 4c5c684b5f2..0f86fccdc93 100644 --- a/gcc/testsuite/g++.dg/eh/new1.C +++ b/gcc/testsuite/g++.dg/eh/new1.C @@ -9,7 +9,7 @@ int ret = 1; void *ptr; -void * operator new[] (size_t s) throw (std::bad_alloc) +void * operator new[] (std::size_t s) throw (std::bad_alloc) { ptr = operator new (s); return ptr; diff --git a/gcc/testsuite/g++.dg/eh/spec8.C b/gcc/testsuite/g++.dg/eh/spec8.C index 7a35e6e8072..72dadff2257 100644 --- a/gcc/testsuite/g++.dg/eh/spec8.C +++ b/gcc/testsuite/g++.dg/eh/spec8.C @@ -3,9 +3,9 @@ struct exception {}; template <typename T> void foo() throw(exception); // { dg-error "declaration" } -template <typename T> void foo(); // { dg-error "exceptions" } +template <typename T> void foo(); // { dg-error "exception" } struct bar { - template <typename T> friend void foo(); // { dg-error "exceptions" } + template <typename T> friend void foo(); // { dg-error "exception" } }; diff --git a/gcc/testsuite/g++.dg/expr/cond8.C b/gcc/testsuite/g++.dg/expr/cond8.C index f05c81a26ce..11708ec0f6f 100644 --- a/gcc/testsuite/g++.dg/expr/cond8.C +++ b/gcc/testsuite/g++.dg/expr/cond8.C @@ -3,11 +3,11 @@ struct A { - A(void*); + A(void*); // { dg-error "initializing" } ~A(); }; void foo(const int i, bool b) { - b ? A(0) : i; // { dg-error "conversion|initializing" } + b ? A(0) : i; // { dg-error "conversion" } } diff --git a/gcc/testsuite/g++.dg/expr/string-1.C b/gcc/testsuite/g++.dg/expr/string-1.C index 3901427f439..9a0a5ff7b45 100644 --- a/gcc/testsuite/g++.dg/expr/string-1.C +++ b/gcc/testsuite/g++.dg/expr/string-1.C @@ -1,9 +1,11 @@ // { dg-do compile } // This testcase used to seg fault (PR c++/38648) +// { dg-prune-output "initializer lists" } + char a[1]; -int foo( // { dg-error "extended initializer lists only available" } +int foo( { a = ""; // { dg-error "" } return 0; // { dg-error "" } diff --git a/gcc/testsuite/g++.dg/ext/attr-alias-1.C b/gcc/testsuite/g++.dg/ext/attr-alias-1.C new file mode 100644 index 00000000000..1427267e517 --- /dev/null +++ b/gcc/testsuite/g++.dg/ext/attr-alias-1.C @@ -0,0 +1,37 @@ +/* { dg-do run } */ +/* { dg-require-alias "" } */ + +#include <typeinfo> + +struct Klass +{ + int implementation () const; + int magic () const; +}; + +int Klass::implementation (void) const +{ + return 0; +} + +int Klass::magic () const + __attribute__ ((alias ("_ZNK5Klass14implementationEv"))); + +int __attribute__ ((noinline)) + Foo (Klass const *ptr) +{ + if (ptr->magic () != 0) + return 1; + + if (typeid (*ptr) != typeid (Klass)) + return 2; + + return 0; +} + +int main () +{ + Klass obj; + + return Foo (&obj); +} diff --git a/gcc/testsuite/g++.dg/ext/attr-alias-2.C b/gcc/testsuite/g++.dg/ext/attr-alias-2.C new file mode 100644 index 00000000000..61a132f77a7 --- /dev/null +++ b/gcc/testsuite/g++.dg/ext/attr-alias-2.C @@ -0,0 +1,37 @@ +/* { dg-do run } */ +/* { dg-require-alias "" } */ + +#include <typeinfo> + +struct Klass +{ + int implementation () const; + virtual int magic () const; +}; + +int Klass::implementation (void) const +{ + return 0; +} + +int Klass::magic () const + __attribute__ ((alias ("_ZNK5Klass14implementationEv"))); + +int __attribute__ ((noinline)) + Foo (Klass const *ptr) +{ + if (ptr->magic () != 0) + return 1; + + if (typeid (*ptr) != typeid (Klass)) + return 2; + + return 0; +} + +int main () +{ + Klass obj; + + return Foo (&obj); +} diff --git a/gcc/testsuite/g++.dg/ext/has_virtual_destructor.C b/gcc/testsuite/g++.dg/ext/has_virtual_destructor.C index c263a94fd04..093e7f5004d 100644 --- a/gcc/testsuite/g++.dg/ext/has_virtual_destructor.C +++ b/gcc/testsuite/g++.dg/ext/has_virtual_destructor.C @@ -14,15 +14,15 @@ union U double b; }; -class B +struct B { virtual ~B() { } }; -class C +struct C : public B { }; -class D +struct D { ~D() { } }; diff --git a/gcc/testsuite/g++.dg/ext/label13.C b/gcc/testsuite/g++.dg/ext/label13.C index 7a2665c59d9..d932a9a5051 100644 --- a/gcc/testsuite/g++.dg/ext/label13.C +++ b/gcc/testsuite/g++.dg/ext/label13.C @@ -8,7 +8,7 @@ struct C C(); }; -C::C() // { dg-bogus "can never be copied" "" { xfail *-apple-darwin* alpha*-dec-osf* } } +C::C() // { dg-bogus "can never be copied" "" { xfail { { *-apple-darwin* alpha*-dec-osf* } || { hppa*-*-hpux* && { ! hppa*64*-*-* } } } } } { static void *labelref = &&label; goto *labelref; diff --git a/gcc/testsuite/g++.dg/ext/unary_trait_incomplete.C b/gcc/testsuite/g++.dg/ext/unary_trait_incomplete.C index d5148bebbc6..51cc80cd2ac 100644 --- a/gcc/testsuite/g++.dg/ext/unary_trait_incomplete.C +++ b/gcc/testsuite/g++.dg/ext/unary_trait_incomplete.C @@ -5,72 +5,72 @@ struct C { }; bool nas1 = __has_nothrow_assign(I); // { dg-error "incomplete type" } bool nas2 = __has_nothrow_assign(C[]); -bool nas3 = __has_nothrow_assign(I[]); +bool nas3 = __has_nothrow_assign(I[]); // { dg-error "incomplete type" } bool nas4 = __has_nothrow_assign(void); bool nas5 = __has_nothrow_assign(const void); bool tas1 = __has_trivial_assign(I); // { dg-error "incomplete type" } bool tas2 = __has_trivial_assign(C[]); -bool tas3 = __has_trivial_assign(I[]); +bool tas3 = __has_trivial_assign(I[]); // { dg-error "incomplete type" } bool tas4 = __has_trivial_assign(void); bool tas5 = __has_trivial_assign(const void); bool nco1 = __has_nothrow_constructor(I); // { dg-error "incomplete type" } bool nco2 = __has_nothrow_constructor(C[]); -bool nco3 = __has_nothrow_constructor(I[]); +bool nco3 = __has_nothrow_constructor(I[]); // { dg-error "incomplete type" } bool nco4 = __has_nothrow_constructor(void); bool nco5 = __has_nothrow_constructor(const void); bool tco1 = __has_trivial_constructor(I); // { dg-error "incomplete type" } bool tco2 = __has_trivial_constructor(C[]); -bool tco3 = __has_trivial_constructor(I[]); +bool tco3 = __has_trivial_constructor(I[]); // { dg-error "incomplete type" } bool tco4 = __has_trivial_constructor(void); bool tco5 = __has_trivial_constructor(const void); bool ncp1 = __has_nothrow_copy(I); // { dg-error "incomplete type" } bool ncp2 = __has_nothrow_copy(C[]); -bool ncp3 = __has_nothrow_copy(I[]); +bool ncp3 = __has_nothrow_copy(I[]); // { dg-error "incomplete type" } bool ncp4 = __has_nothrow_copy(void); bool ncp5 = __has_nothrow_copy(const void); bool tcp1 = __has_trivial_copy(I); // { dg-error "incomplete type" } bool tcp2 = __has_trivial_copy(C[]); -bool tcp3 = __has_trivial_copy(I[]); +bool tcp3 = __has_trivial_copy(I[]); // { dg-error "incomplete type" } bool tcp4 = __has_trivial_copy(void); bool tcp5 = __has_trivial_copy(const void); bool vde1 = __has_virtual_destructor(I); // { dg-error "incomplete type" } bool vde2 = __has_virtual_destructor(C[]); -bool vde3 = __has_virtual_destructor(I[]); +bool vde3 = __has_virtual_destructor(I[]); // { dg-error "incomplete type" } bool vde4 = __has_virtual_destructor(void); bool vde5 = __has_virtual_destructor(const void); bool tde1 = __has_trivial_destructor(I); // { dg-error "incomplete type" } bool tde2 = __has_trivial_destructor(C[]); -bool tde3 = __has_trivial_destructor(I[]); +bool tde3 = __has_trivial_destructor(I[]); // { dg-error "incomplete type" } bool tde4 = __has_trivial_destructor(void); bool tde5 = __has_trivial_destructor(const void); bool abs1 = __is_abstract(I); // { dg-error "incomplete type" } bool abs2 = __is_abstract(C[]); -bool abs3 = __is_abstract(I[]); +bool abs3 = __is_abstract(I[]); // { dg-error "incomplete type" } bool abs4 = __is_abstract(void); bool abs5 = __is_abstract(const void); bool pod1 = __is_pod(I); // { dg-error "incomplete type" } bool pod2 = __is_pod(C[]); -bool pod3 = __is_pod(I[]); +bool pod3 = __is_pod(I[]); // { dg-error "incomplete type" } bool pod4 = __is_pod(void); bool pod5 = __is_pod(const void); bool emp1 = __is_empty(I); // { dg-error "incomplete type" } bool emp2 = __is_empty(C[]); -bool emp3 = __is_empty(I[]); +bool emp3 = __is_empty(I[]); // { dg-error "incomplete type" } bool emp4 = __is_empty(void); bool emp5 = __is_empty(const void); bool pol1 = __is_polymorphic(I); // { dg-error "incomplete type" } bool pol2 = __is_polymorphic(C[]); -bool pol3 = __is_polymorphic(I[]); +bool pol3 = __is_polymorphic(I[]); // { dg-error "incomplete type" } bool pol4 = __is_polymorphic(void); bool pol5 = __is_polymorphic(const void); diff --git a/gcc/testsuite/g++.dg/gomp/pr26690-1.C b/gcc/testsuite/g++.dg/gomp/pr26690-1.C index c49c8b72180..71f1eb311ee 100644 --- a/gcc/testsuite/g++.dg/gomp/pr26690-1.C +++ b/gcc/testsuite/g++.dg/gomp/pr26690-1.C @@ -1,7 +1,7 @@ // PR c++/26690 // { dg-do compile } -struct A // { dg-message "A::A\\(const A&\\)" } +struct A // { dg-message "A::A" } { A (int); // { dg-message "candidates" } }; diff --git a/gcc/testsuite/g++.dg/inherit/virtual5.C b/gcc/testsuite/g++.dg/inherit/virtual5.C new file mode 100644 index 00000000000..bed0ef3a07b --- /dev/null +++ b/gcc/testsuite/g++.dg/inherit/virtual5.C @@ -0,0 +1,29 @@ +// Test that a synthesized op= can override one from a base. +// { dg-do run } + +struct B; + +struct A +{ + virtual B& operator=(const B&); +}; + +struct B: A +{ + B(int i): i(i) { } + int i; + // implicitly-declared op= +}; + +B& A::operator=(const B& b) { return static_cast<B&>(*this); } + +int main() +{ + B b1 (123); + B b2 (0); + + A& ar = b1; + ar = b2; + + return b1.i; +} diff --git a/gcc/testsuite/g++.dg/init/ctor4.C b/gcc/testsuite/g++.dg/init/ctor4.C index 0671dd8537d..1c92bb973d3 100644 --- a/gcc/testsuite/g++.dg/init/ctor4.C +++ b/gcc/testsuite/g++.dg/init/ctor4.C @@ -6,7 +6,7 @@ public: foo(); }; -class bar: public foo {// { dg-error "uninitialized" } +class bar: public foo { // { dg-error "reference|bar::bar" } private: int &a; }; @@ -16,5 +16,5 @@ foo::foo() { int main(int argc, char **argv) { - bar x; // { dg-message "synthesized" } + bar x; // { dg-message "synthesized|deleted" } } diff --git a/gcc/testsuite/g++.dg/init/new5.C b/gcc/testsuite/g++.dg/init/new5.C index 3a5981e075c..0d99f93c634 100644 --- a/gcc/testsuite/g++.dg/init/new5.C +++ b/gcc/testsuite/g++.dg/init/new5.C @@ -2,8 +2,8 @@ #include <new> -void * operator new[](size_t, std::nothrow_t const &) throw() -{ return NULL; } +void * operator new[](std::size_t, std::nothrow_t const &) throw() +{ return 0; } struct X { struct Inner { ~Inner() {} }; diff --git a/gcc/testsuite/g++.dg/init/pr44086.C b/gcc/testsuite/g++.dg/init/pr44086.C new file mode 100644 index 00000000000..e3304f4a27b --- /dev/null +++ b/gcc/testsuite/g++.dg/init/pr44086.C @@ -0,0 +1,15 @@ +// PR c++/44086 +// { dg-do compile } + +struct A +{ + int const i : 2; // { dg-message "should be initialized" } +}; + +void f() +{ + A a; // { dg-error "uninitialized const" } + new A; // { dg-error "uninitialized const" } + A(); + new A(); +} diff --git a/gcc/testsuite/g++.dg/init/synth2.C b/gcc/testsuite/g++.dg/init/synth2.C index 624f10b2a4d..9e8a08a6ea3 100644 --- a/gcc/testsuite/g++.dg/init/synth2.C +++ b/gcc/testsuite/g++.dg/init/synth2.C @@ -5,7 +5,7 @@ struct G { G(G&); // { dg-message "" "candidate" } }; -class A // { dg-error "no match" } +class A // { dg-error "" } { const G g; }; @@ -13,5 +13,5 @@ class A // { dg-error "no match" } int main() { A a; - A b = a; // { dg-message "required here" } + A b = a; // { dg-message "required here|deleted" } } diff --git a/gcc/testsuite/g++.dg/ipa/iinline-2.C b/gcc/testsuite/g++.dg/ipa/iinline-2.C new file mode 100644 index 00000000000..670a5dd9522 --- /dev/null +++ b/gcc/testsuite/g++.dg/ipa/iinline-2.C @@ -0,0 +1,61 @@ +/* Verify that simple indirect calls are inlined even without early + inlining.. */ +/* { dg-do compile } */ +/* { dg-options "-O3 -fdump-ipa-inline -fno-early-inlining" } */ +/* { dg-add-options bind_pic_locally } */ + +extern void non_existent (const char *, int); + +class String +{ +private: + const char *data; + +public: + String (const char *d) : data(d) + {} + + int funcOne (int delim) const; + int printStuffTwice (int delim) const; +}; + + +int String::funcOne (int delim) const +{ + int i; + for (i = 0; i < delim; i++) + non_existent(data, i); + + return 1; +} + +extern int global; + +int docalling (int c, int (String::* f)(int delim) const) +{ + String S ("muhehehe"); + + if (c > 2) + global = 3; + else + global = 5; + + return (S.*f)(4); +} + +int __attribute__ ((noinline,noclone)) get_input (void) +{ + return 1; +} + +int main (int argc, char *argv[]) +{ + int i = 0; + while (i < 1000) + i += docalling (get_input (), &String::funcOne); + non_existent ("done", i); + return 0; +} + +/* { dg-final { scan-ipa-dump "String::funcOne\[^\\n\]*inline copy in int main" "inline" } } */ +/* { dg-final { cleanup-ipa-dump "inline" } } */ diff --git a/gcc/testsuite/g++.dg/ipa/iinline-3.C b/gcc/testsuite/g++.dg/ipa/iinline-3.C new file mode 100644 index 00000000000..3daee9a8681 --- /dev/null +++ b/gcc/testsuite/g++.dg/ipa/iinline-3.C @@ -0,0 +1,64 @@ +/* Verify that we do not indirect-inline using member pointer + parameters which have been modified. */ +/* { dg-do run } */ +/* { dg-options "-O3 -fno-early-inlining" } */ +/* { dg-add-options bind_pic_locally } */ + +extern "C" void abort (void); + +class String +{ +private: + const char *data; + +public: + String (const char *d) : data(d) + {} + + int funcOne (int stuff) const; + int funcTwo (int stuff) const; +}; + + +int String::funcOne (int stuff) const +{ + return stuff + 1; +} + +int String::funcTwo (int stuff) const +{ + return stuff + 100; +} + +int (String::* gmp)(int stuff) const = &String::funcTwo; + +int docalling_1 (int (String::* f)(int stuff) const) +{ + String S ("muhehehe"); + + return (S.*f)(4); +} + +int docalling (int a, int (String::* f)(int stuff) const) +{ + if (a < 200) + f = gmp; + + return docalling_1 (f); +} + +int __attribute__ ((noinline,noclone)) get_input (void) +{ + return 1; +} + +int main (int argc, char *argv[]) +{ + int i = 0; + while (i < 10) + i += docalling (get_input (), &String::funcOne); + + if (i != 104) + abort(); + return 0; +} diff --git a/gcc/testsuite/g++.dg/lto/20081118_1.C b/gcc/testsuite/g++.dg/lto/20081118_1.C index b9e56a48b9b..a1bf08186df 100644 --- a/gcc/testsuite/g++.dg/lto/20081118_1.C +++ b/gcc/testsuite/g++.dg/lto/20081118_1.C @@ -1,4 +1,5 @@ class object { +public: virtual ~object() {} }; diff --git a/gcc/testsuite/g++.dg/lto/20100603-1_0.C b/gcc/testsuite/g++.dg/lto/20100603-1_0.C new file mode 100644 index 00000000000..8fe11a2f17c --- /dev/null +++ b/gcc/testsuite/g++.dg/lto/20100603-1_0.C @@ -0,0 +1,14 @@ +/* { dg-lto-do link } */ + +extern "C" { + typedef struct {} CvImage; + extern CvImage* Cv_ImageNew(void); +} +void __attribute__((noinline,noclone)) +_Raytrace(CvImage* LImage) { __asm volatile (""); } +int main(int LArgC, char** LArgV) +{ + CvImage* LImage = Cv_ImageNew(); + _Raytrace(LImage); +} + diff --git a/gcc/testsuite/g++.dg/lto/20100603-1_1.c b/gcc/testsuite/g++.dg/lto/20100603-1_1.c new file mode 100644 index 00000000000..fddce5d4b1e --- /dev/null +++ b/gcc/testsuite/g++.dg/lto/20100603-1_1.c @@ -0,0 +1,2 @@ +typedef struct {} CvImage; +CvImage* Cv_ImageNew(void) { } diff --git a/gcc/testsuite/g++.dg/other/arm-neon-1.C b/gcc/testsuite/g++.dg/other/arm-neon-1.C new file mode 100644 index 00000000000..33cc04b69dc --- /dev/null +++ b/gcc/testsuite/g++.dg/other/arm-neon-1.C @@ -0,0 +1,18 @@ +/* Basic smoke test for arm_neon.h */ + +/* { dg-do assemble } */ +/* { dg-require-effective-target arm_neon_ok } */ +/* { dg-add-options arm_neon } */ + +#include "arm_neon.h" + +float a[4]; + +void test(void) +{ + float32x2x2_t v; + float32x2_t res; + v = vld2_f32(a); + res = vadd_f32(v.val[0], v.val[1]); + vst1_f32(a, res); +} diff --git a/gcc/testsuite/g++.dg/other/error13.C b/gcc/testsuite/g++.dg/other/error13.C index 89e88478679..784550180ff 100644 --- a/gcc/testsuite/g++.dg/other/error13.C +++ b/gcc/testsuite/g++.dg/other/error13.C @@ -5,6 +5,6 @@ struct A // { dg-message "note" } A(void x); // { dg-error "invalid use|incomplete type|candidates" } }; -struct B : A {}; // { dg-error "no matching function for call" } +struct B : A {}; // { dg-error "no matching function for call|deleted" } -B b; // { dg-message "synthesized method" } +B b; // { dg-message "synthesized method|deleted" } diff --git a/gcc/testsuite/g++.dg/other/error20.C b/gcc/testsuite/g++.dg/other/error20.C index 6f3f778ab84..e546b3726e3 100644 --- a/gcc/testsuite/g++.dg/other/error20.C +++ b/gcc/testsuite/g++.dg/other/error20.C @@ -1,7 +1,7 @@ // PR c++/34275 // { dg-do compile } -struct A // { dg-message "candidate is" } +struct A // { dg-message "operator=" } { virtual A foo (); }; diff --git a/gcc/testsuite/g++.dg/other/error31.C b/gcc/testsuite/g++.dg/other/error31.C index c4095504d6d..d3e3e09a37c 100644 --- a/gcc/testsuite/g++.dg/other/error31.C +++ b/gcc/testsuite/g++.dg/other/error31.C @@ -3,7 +3,7 @@ // { dg-options "" } // { dg-bogus "not supported by" "" { target *-*-* } 0 } -struct A {}; // { dg-message "note: candidate is" } +struct A {}; // { dg-message "operator=" } void foo () diff --git a/gcc/testsuite/g++.dg/other/pr25632.C b/gcc/testsuite/g++.dg/other/pr25632.C index fe0ad7a2497..e66ae3b51ec 100644 --- a/gcc/testsuite/g++.dg/other/pr25632.C +++ b/gcc/testsuite/g++.dg/other/pr25632.C @@ -2,14 +2,12 @@ /* { dg-do compile } */ -#define unsigned -__extension__ typedef __SIZE_TYPE__ ssize_t; -#undef unsigned +__extension__ typedef __INTPTR_TYPE__ intptr_t; struct sockaddr_un { char sun_path[1]; }; -const unsigned SI_SUN_HEAD_LEN = (ssize_t)(((struct sockaddr_un *)0)->sun_path); +const unsigned SI_SUN_HEAD_LEN = (intptr_t)(((struct sockaddr_un *)0)->sun_path); int SiGetPeerName () { return SI_SUN_HEAD_LEN; diff --git a/gcc/testsuite/g++.dg/other/typedef4.C b/gcc/testsuite/g++.dg/other/typedef4.C new file mode 100644 index 00000000000..b752f2cae7a --- /dev/null +++ b/gcc/testsuite/g++.dg/other/typedef4.C @@ -0,0 +1,7 @@ +// { dg-options "-g" } +// { dg-do compile } + +// On some platforms like MIPS, __builtin_va_list is a +// RECORD_TYPE. Make sure we don't wrongly try to generate debug info +// for its TYPE_DECL and crash. +typedef __builtin_va_list foo; diff --git a/gcc/testsuite/g++.dg/other/unused1.C b/gcc/testsuite/g++.dg/other/unused1.C index d652f41a1de..2a3ca1be749 100644 --- a/gcc/testsuite/g++.dg/other/unused1.C +++ b/gcc/testsuite/g++.dg/other/unused1.C @@ -32,7 +32,7 @@ int bar4 (void) return const_cast<printer *>(dotmatrix)->i; } -class class1 { virtual ~class1(); } *c1; +class class1 { public: virtual ~class1(); } *c1; class class2 : class1 { char j; }; int bar5 (void) { diff --git a/gcc/testsuite/g++.dg/overload/arg3.C b/gcc/testsuite/g++.dg/overload/arg3.C index 8ece6a6f3ca..eb65271752e 100644 --- a/gcc/testsuite/g++.dg/overload/arg3.C +++ b/gcc/testsuite/g++.dg/overload/arg3.C @@ -14,10 +14,9 @@ struct B : A B(B&); // { dg-message "candidates" "" } }; -void foo(B); +void foo(B); // { dg-error "initializing" } void bar() { foo(0); // { dg-error "no matching function" "no matching" } - // { dg-error "initializing" "initializing" { target *-*-* } 21 } } diff --git a/gcc/testsuite/g++.dg/overload/copy1.C b/gcc/testsuite/g++.dg/overload/copy1.C index 6a774c6770b..2bd8e539dd1 100644 --- a/gcc/testsuite/g++.dg/overload/copy1.C +++ b/gcc/testsuite/g++.dg/overload/copy1.C @@ -10,12 +10,11 @@ struct B struct A { - A (B); + A (B); // { dg-error "initializing" } }; B f (B const& b) { return b; // { dg-error "matching" "matching" } - // { dg-error "initializing" "initializing" { target *-*-* } 19 } } diff --git a/gcc/testsuite/g++.dg/parse/error19.C b/gcc/testsuite/g++.dg/parse/error19.C index 0955e6a9076..3b7e7175b17 100644 --- a/gcc/testsuite/g++.dg/parse/error19.C +++ b/gcc/testsuite/g++.dg/parse/error19.C @@ -1,7 +1,7 @@ // { dg-options "-fshow-column -fmessage-length=0 -ansi -pedantic-errors -Wno-long-long " } // PR C++/17867 -struct A // { dg-message "8:candidate is:" } +struct A // { dg-message "8:operator=" } { A(int); }; diff --git a/gcc/testsuite/g++.dg/plugin/attribute_plugin.c b/gcc/testsuite/g++.dg/plugin/attribute_plugin.c index d62ab90542c..6327095f7cd 100644 --- a/gcc/testsuite/g++.dg/plugin/attribute_plugin.c +++ b/gcc/testsuite/g++.dg/plugin/attribute_plugin.c @@ -8,6 +8,8 @@ #include "tree.h" #include "tree-pass.h" #include "intl.h" +#include "toplev.h" +#include "plugin.h" int plugin_is_GPL_compatible; diff --git a/gcc/testsuite/g++.dg/plugin/dumb_plugin.c b/gcc/testsuite/g++.dg/plugin/dumb_plugin.c index 3aee8db840c..f12a6a0d35b 100644 --- a/gcc/testsuite/g++.dg/plugin/dumb_plugin.c +++ b/gcc/testsuite/g++.dg/plugin/dumb_plugin.c @@ -9,6 +9,7 @@ #include "tree.h" #include "tree-pass.h" #include "intl.h" +#include "toplev.h" int plugin_is_GPL_compatible; @@ -65,7 +66,7 @@ static struct gimple_opt_pass pass_dumb_plugin_example = NULL, /* sub */ NULL, /* next */ 0, /* static_pass_number */ - 0, /* tv_id */ + TV_NONE, /* tv_id */ PROP_cfg, /* properties_required */ 0, /* properties_provided */ 0, /* properties_destroyed */ diff --git a/gcc/testsuite/g++.dg/plugin/header_plugin.c b/gcc/testsuite/g++.dg/plugin/header_plugin.c index 71a0c3bf2f4..a464827dee9 100644 --- a/gcc/testsuite/g++.dg/plugin/header_plugin.c +++ b/gcc/testsuite/g++.dg/plugin/header_plugin.c @@ -13,8 +13,8 @@ /* gcc/ headers. */ #include "cp/cp-tree.h" #include "diagnostic.h" -#include "c-common.h" -#include "c-pretty-print.h" +#include "c-family/c-common.h" +#include "c-family/c-pretty-print.h" #include "tree-iterator.h" #include "plugin.h" #include "tree-flow.h" diff --git a/gcc/testsuite/g++.dg/plugin/pragma_plugin.c b/gcc/testsuite/g++.dg/plugin/pragma_plugin.c index 237fcdddfa9..4a9ea47195d 100644 --- a/gcc/testsuite/g++.dg/plugin/pragma_plugin.c +++ b/gcc/testsuite/g++.dg/plugin/pragma_plugin.c @@ -9,10 +9,11 @@ #include "rtl.h" #include "tree.h" #include "function.h" -#include "c-pragma.h" +#include "c-family/c-pragma.h" #include "cpplib.h" #include "tree-pass.h" #include "intl.h" +#include "toplev.h" int plugin_is_GPL_compatible; diff --git a/gcc/testsuite/g++.dg/plugin/selfassign.c b/gcc/testsuite/g++.dg/plugin/selfassign.c index 8d76301d815..eb8f24a45a8 100644 --- a/gcc/testsuite/g++.dg/plugin/selfassign.c +++ b/gcc/testsuite/g++.dg/plugin/selfassign.c @@ -52,9 +52,7 @@ get_real_ref_rhs (tree expr) /* We are only interested in an assignment with a single rhs operand because if it is not, the original assignment will not possibly be a self-assignment. */ - if (is_gimple_assign (def_stmt) - && (get_gimple_rhs_class (gimple_assign_rhs_code (def_stmt)) - == GIMPLE_SINGLE_RHS)) + if (gimple_assign_single_p (def_stmt)) return get_real_ref_rhs (gimple_assign_rhs1 (def_stmt)); else return NULL_TREE; @@ -66,7 +64,7 @@ get_real_ref_rhs (tree expr) case PARM_DECL: case FIELD_DECL: case COMPONENT_REF: - case INDIRECT_REF: + case MEM_REF: case ARRAY_REF: return expr; default: @@ -116,17 +114,18 @@ get_non_ssa_expr (tree expr) else return expr; } - case INDIRECT_REF: + case MEM_REF: { tree orig_base = TREE_OPERAND (expr, 0); - tree base = get_non_ssa_expr (orig_base); - if (!base) - return NULL_TREE; - /* If BASE is converted, build a new indirect reference tree. */ - if (base != orig_base) - return build1 (INDIRECT_REF, TREE_TYPE (TREE_TYPE (base)), base); - else - return expr; + if (TREE_CODE (orig_base) == SSA_NAME) + { + tree base = get_non_ssa_expr (orig_base); + if (!base) + return NULL_TREE; + return fold_build2 (MEM_REF, TREE_TYPE (expr), + base, TREE_OPERAND (expr, 1)); + } + return expr; } case ARRAY_REF: { @@ -153,9 +152,7 @@ get_non_ssa_expr (tree expr) && !gimple_nop_p (SSA_NAME_DEF_STMT (expr))) { gimple def_stmt = SSA_NAME_DEF_STMT (expr); - if (is_gimple_assign (def_stmt) - && (get_gimple_rhs_class (gimple_assign_rhs_code (def_stmt)) - == GIMPLE_SINGLE_RHS)) + if (gimple_assign_single_p (def_stmt)) vdecl = gimple_assign_rhs1 (def_stmt); } return get_non_ssa_expr (vdecl); @@ -201,9 +198,7 @@ warn_self_assign (gimple stmt) tree rhs, lhs; /* Check assigment statement. */ - if (is_gimple_assign (stmt) - && (get_gimple_rhs_class (gimple_assign_rhs_code (stmt)) - == GIMPLE_SINGLE_RHS)) + if (gimple_assign_single_p (stmt)) { rhs = get_real_ref_rhs (gimple_assign_rhs1 (stmt)); if (!rhs) @@ -275,7 +270,7 @@ static struct gimple_opt_pass pass_warn_self_assign = NULL, /* sub */ NULL, /* next */ 0, /* static_pass_number */ - 0, /* tv_id */ + TV_NONE, /* tv_id */ PROP_ssa, /* properties_required */ 0, /* properties_provided */ 0, /* properties_destroyed */ diff --git a/gcc/testsuite/g++.dg/pr44486.C b/gcc/testsuite/g++.dg/pr44486.C new file mode 100644 index 00000000000..01e84289f0b --- /dev/null +++ b/gcc/testsuite/g++.dg/pr44486.C @@ -0,0 +1,10 @@ +// PR c++/44486 missing space in __PRETTY_FUNCTION__ expansion in anonymous namespace +// { dg-do compile } +// { dg-options "" } + +struct S { }; +namespace { S f() { const char * s = __PRETTY_FUNCTION__; return S(); } } + +int main() { f(); } + +// { dg-final { scan-assembler "S \{anonymous\}::f" } } diff --git a/gcc/testsuite/g++.dg/tc1/dr147.C b/gcc/testsuite/g++.dg/tc1/dr147.C index a29986b5559..6799b7dccad 100644 --- a/gcc/testsuite/g++.dg/tc1/dr147.C +++ b/gcc/testsuite/g++.dg/tc1/dr147.C @@ -54,3 +54,13 @@ struct D: C::C { D(): C::C() { } }; + +// And if lookup doesn't find the injected-class-name, we aren't naming the +// constructor (c++/44401). + +struct E +{ + int E; +}; + +int E::*p = &E::E; diff --git a/gcc/testsuite/g++.dg/tc1/dr152.C b/gcc/testsuite/g++.dg/tc1/dr152.C index cac7aacc0eb..fdf4f124bb1 100644 --- a/gcc/testsuite/g++.dg/tc1/dr152.C +++ b/gcc/testsuite/g++.dg/tc1/dr152.C @@ -7,12 +7,11 @@ namespace N1 { X(); // { dg-message "candidate" } explicit X(const X&); }; - void f(X); + void f(X); // { dg-error "initializing" } int foo() { X x; f(x); // { dg-error "matching" "matching" } - // { dg-error "initializing" "initializing" { target *-*-* } 14 } } } @@ -24,14 +23,13 @@ namespace N2 { }; template <class T> - void f(T ) {} + void f(T ) {} // { dg-error "initializing" } template <class T> int foo() { X<T> x; N2::f(x); // { dg-error "matching" "matching" } - // { dg-error "initializing " initializing" { target *-*-* } 33 } } template int foo<float>(); // { dg-message "instantiated from here" } diff --git a/gcc/testsuite/g++.dg/template/crash100.C b/gcc/testsuite/g++.dg/template/crash100.C new file mode 100644 index 00000000000..c67ae2eca38 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/crash100.C @@ -0,0 +1,24 @@ +// PR c++/44628 + +template <typename T> +class Temp +{ + int Val; + public: + operator T&(void) { return Val; } + + virtual T& operator=(T a ) // { dg-error "overriding" } + { + Val = a; + return Val; + } +}; + +class Int : public Temp<int> +{ + public: + Int& operator=(int a) // { dg-error "conflicting return type" } + { + return (*this); + } +}; diff --git a/gcc/testsuite/g++.dg/template/error23.C b/gcc/testsuite/g++.dg/template/error23.C index 8e5dee76dda..f21d8d9d07c 100644 --- a/gcc/testsuite/g++.dg/template/error23.C +++ b/gcc/testsuite/g++.dg/template/error23.C @@ -8,10 +8,10 @@ struct nullptr_type { operator T* ( void ) const { return ( 0 ); } -} const nullptr; +} const nullptr_ob; int main ( void ) { - 0 == nullptr; // { dg-error "match" } + 0 == nullptr_ob; // { dg-error "match" } } diff --git a/gcc/testsuite/g++.dg/template/incomplete4.C b/gcc/testsuite/g++.dg/template/incomplete4.C index 6129e0d6fd0..f2832a73c4c 100644 --- a/gcc/testsuite/g++.dg/template/incomplete4.C +++ b/gcc/testsuite/g++.dg/template/incomplete4.C @@ -5,12 +5,12 @@ class A; // { dg-error "forward declaration" } template <typename T> struct X { - static int f (T); + static int f (T); // { dg-error "initializing" } static const T &make (); }; int main () { - return X<A>::f (X<A>::make ()); // { dg-error "invalid use of incomplete type|initializing argument" } + return X<A>::f (X<A>::make ()); // { dg-error "invalid use of incomplete type" } } diff --git a/gcc/testsuite/g++.dg/template/incomplete5.C b/gcc/testsuite/g++.dg/template/incomplete5.C index 9641003ddda..f7802825fde 100644 --- a/gcc/testsuite/g++.dg/template/incomplete5.C +++ b/gcc/testsuite/g++.dg/template/incomplete5.C @@ -5,9 +5,9 @@ class A; // { dg-error "forward declaration" } template <typename T> struct X { - static int f (T); + static int f (T); // { dg-error "initializing" } static const T &make (); - static const bool value = sizeof (f (make ())) == sizeof (int); // { dg-error "invalid use of incomplete type|initializing argument" } + static const bool value = sizeof (f (make ())) == sizeof (int); // { dg-error "invalid use of incomplete type" } }; int diff --git a/gcc/testsuite/g++.dg/template/qualified-id2.C b/gcc/testsuite/g++.dg/template/qualified-id2.C new file mode 100644 index 00000000000..e88e8547457 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/qualified-id2.C @@ -0,0 +1,27 @@ +// PR c++/44587 +// { dg-do run } + +template <const char *N> struct A { static const char *p; }; +template <const char *N> const char *A<N>::p = N; +template <class T> struct B { static const char c[1]; typedef A<B<T>::c> C; }; +template <class T> const char B<T>::c[1] = ""; +template <class T> struct D { static const char c[1]; typedef A<c> C; }; +template <class T> const char D<T>::c[1] = ""; + +template <int& I> struct E { static int *ip; }; +template <int& I> int* E<I>::ip = &I; +template <class T> struct F { static int i; typedef E<F<T>::i> C; }; +template <class T> int F<T>::i; +template <class T> struct G { static int i; typedef E<i> C; }; +template <class T> int G<T>::i; + +#define AS(X) if (!(X)) return 1; +int main() +{ + AS(B<int>::C::p == B<int>::c); + AS(B<float>::C::p == B<float>::c); + AS(B<float>::C::p != B<int>::c); + AS(D<int>::C::p == D<int>::c); + AS(D<float>::C::p == D<float>::c); + AS(D<float>::C::p != D<int>::c); +} diff --git a/gcc/testsuite/g++.dg/template/qualified-id3.C b/gcc/testsuite/g++.dg/template/qualified-id3.C new file mode 100644 index 00000000000..d97ef5c592b --- /dev/null +++ b/gcc/testsuite/g++.dg/template/qualified-id3.C @@ -0,0 +1,14 @@ +// PR c++/44587 + +template <const int N> struct A { }; +template <class T> struct B { + static const int c; + typedef A<B<T>::c> C; // { dg-error "non-constant" } +}; +template <class T> const int B<T>::c = sizeof (T); + +template <const int N> struct D { }; +template <class T> struct E { + static const int c = sizeof (T); + typedef D<E<T>::c> F; // OK +}; diff --git a/gcc/testsuite/g++.dg/template/qualttp5.C b/gcc/testsuite/g++.dg/template/qualttp5.C index fc93f462835..c3ebd8c82f6 100644 --- a/gcc/testsuite/g++.dg/template/qualttp5.C +++ b/gcc/testsuite/g++.dg/template/qualttp5.C @@ -4,7 +4,7 @@ template <class U> struct A { - template <class T> class B {}; // { dg-message "candidate is" } + template <class T> class B {}; // { dg-message "operator=" } }; template <template <class> class TT> void f() diff --git a/gcc/testsuite/g++.dg/torture/pr43801.C b/gcc/testsuite/g++.dg/torture/pr43801.C new file mode 100644 index 00000000000..3b52d4abcc6 --- /dev/null +++ b/gcc/testsuite/g++.dg/torture/pr43801.C @@ -0,0 +1,22 @@ +// PR tree-optimization/43801 +// { dg-do compile } +// { dg-options "-fipa-cp -fipa-cp-clone" } + +struct A +{ + virtual void f (int); +}; +struct B : virtual A +{ + virtual void f (int i) { if (i) A::f(0); } +}; +struct C : virtual B +{ + virtual void f (int) { B::f(0); } +}; + +void +foo () +{ + C (); +} diff --git a/gcc/testsuite/g++.dg/torture/pr43905.C b/gcc/testsuite/g++.dg/torture/pr43905.C new file mode 100644 index 00000000000..0e49a32a1dd --- /dev/null +++ b/gcc/testsuite/g++.dg/torture/pr43905.C @@ -0,0 +1,13 @@ +extern void sf ( __const char *); +struct Matrix{ + int operator[](int n){ + sf ( __PRETTY_FUNCTION__); + } + int operator[](int n)const{ + sf ( __PRETTY_FUNCTION__); + } +}; +void calcmy(Matrix const &b, Matrix &c, int k){ + b[k]; + c[k]; +} diff --git a/gcc/testsuite/g++.dg/torture/pr44357.C b/gcc/testsuite/g++.dg/torture/pr44357.C new file mode 100644 index 00000000000..3380350e81b --- /dev/null +++ b/gcc/testsuite/g++.dg/torture/pr44357.C @@ -0,0 +1,228 @@ +/* { dg-do compile } */ +extern "C" +{ + typedef long unsigned int size_t; +} +namespace llvm +{ + namespace dont_use + { + template < typename T > double is_class_helper (...); + } + template < typename T > struct is_class + { + public:enum + { value = sizeof (char) == sizeof (dont_use::is_class_helper < T > (0)) }; + }; + template < typename T > struct isPodLike + { + static const bool value = !is_class < T >::value; + }; +} +namespace std __attribute__ ((__visibility__ ("default"))) +{ + template < typename _Iterator > struct iterator_traits + { + }; + template < typename _Tp > struct iterator_traits <_Tp * > + { + typedef _Tp value_type; + }; +} + +namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) +{ + template < typename _Tp > class new_allocator + { + public:typedef size_t size_type; + typedef const _Tp & const_reference; + }; +} + +namespace std __attribute__ ((__visibility__ ("default"))) +{ +template < typename _Tp > class allocator:public __gnu_cxx::new_allocator < + _Tp > + { + public:typedef size_t size_type; + template < typename _Tp1 > struct rebind + { + typedef allocator < _Tp1 > other; + }; + }; + template < typename _Tp, typename _Alloc > struct _Vector_base + { + typedef typename _Alloc::template rebind < _Tp >::other _Tp_alloc_type; + }; +template < typename _Tp, typename _Alloc = std::allocator < _Tp > >class vector:protected _Vector_base < _Tp, + _Alloc + > + { + typedef _Vector_base < _Tp, _Alloc > _Base; + typedef typename _Base::_Tp_alloc_type _Tp_alloc_type; + public:typedef _Tp value_type; + typedef typename _Tp_alloc_type::const_reference const_reference; + typedef size_t size_type; + size_type size () const + { + } const_reference operator[] (size_type __n) const + { + }}; +} + +namespace llvm +{ + struct LandingPadInfo; + class DwarfException + { + static bool PadLT (const LandingPadInfo * L, const LandingPadInfo * R); + struct CallSiteEntry + { + }; + void EmitExceptionTable (); + }; +} +namespace std __attribute__ ((__visibility__ ("default"))) +{ + template < typename _RandomAccessIterator, + typename _Compare > + void __unguarded_linear_insert (_RandomAccessIterator __last, + _Compare __comp) + { + typename iterator_traits < _RandomAccessIterator >::value_type __val = + (*__last); + _RandomAccessIterator __next = __last; + while (__comp (__val, *__next)) + { + } + } + template < typename _RandomAccessIterator, + typename _Compare > void __insertion_sort (_RandomAccessIterator __first, + _RandomAccessIterator __last, + _Compare __comp) + { + for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) + { + if (__comp (*__i, *__first)) + { + } + else + std::__unguarded_linear_insert (__i, __comp); + } + } + enum + { _S_threshold = 16 }; + template < typename _RandomAccessIterator, + typename _Compare > + void __final_insertion_sort (_RandomAccessIterator __first, + _RandomAccessIterator __last, + _Compare __comp) + { + if (__last - __first > int (_S_threshold)) + { + std::__insertion_sort (__first, __first + int (_S_threshold), __comp); + } + } + template < typename _RandomAccessIterator, + typename _Compare > inline void sort (_RandomAccessIterator __first, + _RandomAccessIterator __last, + _Compare __comp) + { + if (__first != __last) + { + std::__final_insertion_sort (__first, __last, __comp); + } + } +} + +namespace llvm +{ + class SmallVectorBase + { + protected:void *BeginX, *EndX, *CapacityX; + struct U + { + } FirstEl; + protected: SmallVectorBase (size_t Size):BeginX (&FirstEl), EndX (&FirstEl), + CapacityX ((char *) &FirstEl + Size) + { + }}; +template < typename T > class SmallVectorTemplateCommon:public + SmallVectorBase + { + public: SmallVectorTemplateCommon (size_t Size):SmallVectorBase (Size) + { + } typedef size_t size_type; + typedef T *iterator; + iterator begin () + { + } iterator end () + { + } size_type size () const + { + }}; +template < typename T, bool isPodLike > class SmallVectorTemplateBase:public SmallVectorTemplateCommon < + T > + { + public: SmallVectorTemplateBase (size_t Size):SmallVectorTemplateCommon < T > + (Size) + { + }}; +template < typename T > class SmallVectorImpl:public SmallVectorTemplateBase < T, + isPodLike < T >::value > + { + typedef SmallVectorTemplateBase < T, isPodLike < T >::value > SuperClass; + public:typedef typename SuperClass::iterator iterator; + explicit SmallVectorImpl (unsigned N):SmallVectorTemplateBase < T, + isPodLike < T >::value > (N * sizeof (T)) + { + } + }; + template < typename T, + unsigned N > class SmallVector:public SmallVectorImpl < T > + { + typedef typename SmallVectorImpl < T >::U U; + enum + { MinUs = + (static_cast < unsigned int >(sizeof (T)) * N + static_cast < + unsigned int >(sizeof (U)) - 1) /static_cast < + unsigned int >(sizeof (U)), NumInlineEltsElts = + MinUs > 1 ? (MinUs - 1) : 1, NumTsAvailable = + (NumInlineEltsElts + 1) * static_cast < + unsigned int >(sizeof (U)) / static_cast < + unsigned int >(sizeof (T)) }; + public: SmallVector ():SmallVectorImpl < T > (NumTsAvailable) + { + } + }; + struct LandingPadInfo + { + std::vector < int >TypeIds; + union + { + } Contents; + }; +} + +using namespace llvm; +bool +DwarfException::PadLT (const LandingPadInfo * L, const LandingPadInfo * R) +{ + const std::vector < int >&LIds = L->TypeIds, &RIds = R->TypeIds; + unsigned LSize = LIds.size (), RSize = RIds.size (); + unsigned MinSize = LSize < RSize ? LSize : RSize; + for (unsigned i = 0; i != MinSize; ++i) + if (LIds[i] != RIds[i]) + return LIds[i] < RIds[i]; +} + +void +DwarfException::EmitExceptionTable () +{ + SmallVector < const LandingPadInfo *, 64 > LandingPads; + std::sort (LandingPads.begin (), LandingPads.end (), PadLT); + SmallVector < CallSiteEntry, 64 > CallSites; + for (unsigned i = 0, e = CallSites.size (); i < e; ++i) + { + } +} diff --git a/gcc/testsuite/g++.dg/torture/pr44492.C b/gcc/testsuite/g++.dg/torture/pr44492.C new file mode 100644 index 00000000000..41669241e7e --- /dev/null +++ b/gcc/testsuite/g++.dg/torture/pr44492.C @@ -0,0 +1,31 @@ +// PR middle-end/44492 +// { dg-do run } + +struct T { unsigned long p; }; +struct S { T a, b, c; unsigned d; }; + +__attribute__((noinline)) +void +bar (const T &x, const T &y) +{ + if (x.p != 0x2348 || y.p != 0x2346) + __builtin_abort (); +} + +__attribute__((noinline)) +void +foo (S &s, T e) +{ + unsigned long a = e.p; + unsigned long b = s.b.p; + __asm__ volatile ("" : : "rm" (a), "rm" (b)); + bar (e, s.b); +} + +int +main () +{ + S s = { { 0x2345 }, { 0x2346 }, { 0x2347 }, 6 }; + T t = { 0x2348 }; + foo (s, t); +} diff --git a/gcc/testsuite/g++.dg/torture/pr44535.C b/gcc/testsuite/g++.dg/torture/pr44535.C new file mode 100644 index 00000000000..9126f3997fb --- /dev/null +++ b/gcc/testsuite/g++.dg/torture/pr44535.C @@ -0,0 +1,34 @@ +/* { dg-do run } */ + +namespace FOO { + +template <typename T> +class A +{ +public: + void Enum(); + virtual void OnProv() = 0; + virtual ~A() { } +}; +typedef A<char> B; + +template<typename T> +void A<T>::Enum () +{ + OnProv (); +} +} // namespace FOO + +class C {}; + +class D: public C, public FOO::B { +public: + void OnProv() {} +}; + +int main(int argc, char *argv[]) +{ + D x; + x.Enum(); + return 0; +} diff --git a/gcc/testsuite/g++.dg/tree-ssa/copyprop-1.C b/gcc/testsuite/g++.dg/tree-ssa/copyprop-1.C index 2be04691537..03f6b1207c7 100644 --- a/gcc/testsuite/g++.dg/tree-ssa/copyprop-1.C +++ b/gcc/testsuite/g++.dg/tree-ssa/copyprop-1.C @@ -25,5 +25,7 @@ int foo(Object&o) return o[0]; } -/* { dg-final { scan-tree-dump-not ".* = \[^>;\]*;" "dce2" } } */ +/* Remaining should be two loads. */ + +/* { dg-final { scan-tree-dump-times " = \[^\n\]*;" 2 "dce2" } } */ /* { dg-final { cleanup-tree-dump "dce2" } } */ diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr31146.C b/gcc/testsuite/g++.dg/tree-ssa/pr31146.C index 96790239693..478a488e3c2 100644 --- a/gcc/testsuite/g++.dg/tree-ssa/pr31146.C +++ b/gcc/testsuite/g++.dg/tree-ssa/pr31146.C @@ -12,5 +12,5 @@ void foo (int j) *q = 1; } -/* { dg-final { scan-tree-dump "i\\\[j.*\\\] =.* 1;" "forwprop1" } } */ +/* { dg-final { scan-tree-dump "MEM\\\[.*&i\\\]\\\[j.*\\\] =.* 1;" "forwprop1" } } */ /* { dg-final { cleanup-tree-dump "forwprop?" } } */ diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr33604.C b/gcc/testsuite/g++.dg/tree-ssa/pr33604.C index d78006220ed..7e820d3ef16 100644 --- a/gcc/testsuite/g++.dg/tree-ssa/pr33604.C +++ b/gcc/testsuite/g++.dg/tree-ssa/pr33604.C @@ -1,5 +1,5 @@ /* { dg-do run } */ -/* { dg-options "-O -fdump-tree-forwprop1" } */ +/* { dg-options "-O -fdump-tree-optimized-vops" } */ struct Value { @@ -35,12 +35,14 @@ int main(int argc, char *argv[]) return 0; } -/* Check that we forward propagated +/* Check that we propagate D.2182_13 = (struct Ref *) &D.2137.lhs; to D.2182_13->lhs.m ={v} &I; yielding - D.2137.lhs.m ={v} &I; */ + D.2137.lhs.m ={v} &I; + so that SRA can promote all locals to registers and we end up + referencing a single virtual operand at abort () after optimization. */ -/* { dg-final { scan-tree-dump-times "D\\\.....\\\..hs\\\.m =" 2 "forwprop1" } } */ -/* { dg-final { cleanup-tree-dump "forwprop1" } } */ +/* { dg-final { scan-tree-dump-times ".MEM_\[0-9\]*\\\(D\\\)" 1 "optimized" } } */ +/* { dg-final { cleanup-tree-dump "optimized" } } */ diff --git a/gcc/testsuite/g++.dg/warn/Wunused-var-10.C b/gcc/testsuite/g++.dg/warn/Wunused-var-10.C new file mode 100644 index 00000000000..ffdb8932790 --- /dev/null +++ b/gcc/testsuite/g++.dg/warn/Wunused-var-10.C @@ -0,0 +1,42 @@ +// PR c++/44412 +// { dg-do compile } +// { dg-options "-Wunused" } + +struct S +{ + static const int a = 3; + static int b; + int c; +}; + +const int S::a; +int S::b = 4; + +int +f1 () +{ + S s; + return s.a; +} + +int +f2 () +{ + S s; + return s.b; +} + +void +f3 () +{ + S s; // { dg-warning "set but not used" } + s.c = 6; +} + +int +f4 () +{ + S s; + s.c = 6; + return s.c; +} diff --git a/gcc/testsuite/g++.dg/warn/Wunused-var-11.C b/gcc/testsuite/g++.dg/warn/Wunused-var-11.C new file mode 100644 index 00000000000..c7c1bf35ff7 --- /dev/null +++ b/gcc/testsuite/g++.dg/warn/Wunused-var-11.C @@ -0,0 +1,33 @@ +// PR c++/44412 +// { dg-do compile } +// { dg-options "-Wunused" } + +struct S +{ + int foo (); + static int bar (); +}; + +int S::foo () +{ + return 5; +} + +int S::bar () +{ + return 6; +} + +int +f1 () +{ + S s; + return s.foo (); +} + +int +f2 () +{ + S s; + return s.bar (); +} diff --git a/gcc/testsuite/g++.dg/warn/Wunused-var-12.C b/gcc/testsuite/g++.dg/warn/Wunused-var-12.C new file mode 100644 index 00000000000..3300cbe3d8a --- /dev/null +++ b/gcc/testsuite/g++.dg/warn/Wunused-var-12.C @@ -0,0 +1,36 @@ +// PR c++/44444 +// { dg-do compile } +// { dg-options "-Wunused" } + +struct S +{ + const int &u; + const int &v; + S (const int &a, const int &b) : u(a), v(b) { } +}; + +bool +f1 () +{ + bool t = false; + S z = S (1, 2); + t |= z.u == 1; + t |= z.v == 2; + return t; +} + +void +f2 () +{ + S z = S (1, 2); + z.u; // { dg-warning "no effect" } +} + +int i; + +void +f3 () +{ + S z = S (1, 2); + i++, z.u; // { dg-warning "no effect" } +} diff --git a/gcc/testsuite/g++.dg/warn/Wunused-var-13.C b/gcc/testsuite/g++.dg/warn/Wunused-var-13.C new file mode 100644 index 00000000000..43df81d888c --- /dev/null +++ b/gcc/testsuite/g++.dg/warn/Wunused-var-13.C @@ -0,0 +1,22 @@ +// PR c++/44619 +// { dg-do compile } +// { dg-options "-Wunused -W" } + +struct S { int x, y; }; + +int +f1 () +{ + struct S p; + int S::*q = &S::x; + p.*q = 5; + return p.*q; +} + +int +f2 (struct S *p, int S::*q) +{ + struct S *r = p; + int S::*s = q; + return r->*s; +} diff --git a/gcc/testsuite/g++.dg/warn/Wunused-var-14.C b/gcc/testsuite/g++.dg/warn/Wunused-var-14.C new file mode 100644 index 00000000000..a552b56dad1 --- /dev/null +++ b/gcc/testsuite/g++.dg/warn/Wunused-var-14.C @@ -0,0 +1,17 @@ +// PR c++/44682 +// { dg-do compile } +// { dg-options "-Wunused" } + +struct S { virtual ~S () {} }; +struct T { virtual ~T () {} }; +struct U : S, T {}; + +void f (U &); + +void +g (void *v) +{ + T *t = static_cast <T *> (v); + U *u = static_cast <U *> (t); + f (*u); +} diff --git a/gcc/testsuite/g++.dg/warn/incomplete2.C b/gcc/testsuite/g++.dg/warn/incomplete2.C index 9fdfcba9479..30be26749c9 100644 --- a/gcc/testsuite/g++.dg/warn/incomplete2.C +++ b/gcc/testsuite/g++.dg/warn/incomplete2.C @@ -3,11 +3,11 @@ class A; // { dg-error "forward declaration" } -int f (A); +int f (A); // { dg-error "initializing" } const A &make (); int main () { - return f (make ()); // { dg-error "invalid use of incomplete type|initializing argument" } + return f (make ()); // { dg-error "invalid use of incomplete type" } } |