summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.dg')
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/decltype4.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/defaulted10.C4
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/defaulted13.C8
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/defaulted17.C12
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/defaulted18.C9
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/defaulted19.C21
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/defaulted2.C4
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/defaulted3.C4
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/explicit5.C25
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/implicit-copy.C8
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/implicit1.C26
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/implicit2.C33
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/implicit3.C56
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/implicit4.C20
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/implicit5.C19
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/initlist15.C3
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/initlist19.C4
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/initlist39.C15
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/initlist40.C12
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/initlist9.C4
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ctor-neg.C4
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-errloc.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-errloc2.C4
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/noexcept01.C83
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/noexcept02.C52
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/noexcept03.C68
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/noexcept04.C31
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/noexcept05.C19
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/noexcept06.C30
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/noexcept07.C25
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/noexcept08.C56
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/not_special.C16
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nullptr01.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nullptr02.C6
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nullptr03.C5
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nullptr04.C14
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nullptr05.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nullptr06.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nullptr07.C3
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nullptr08.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nullptr09.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nullptr10.C4
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nullptr11.C23
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nullptr12.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nullptr13.C5
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nullptr14.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nullptr15.C3
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nullptr16.C3
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nullptr17.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nullptr18.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nullptr20.C5
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nullptr21.C17
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nullptr22.C4
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/rv-trivial-bug.C9
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/rv1n.C34
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/rv1p.C32
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/rv2n.C110
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/rv2p.C112
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/rv3n.C202
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/rv3p.C224
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/rv4n.C230
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/rv4p.C280
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/rv5n.C170
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/rv5p.C224
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/rv6n.C74
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/rv6p.C112
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/rv7n.C18
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/rv7p.C32
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/rv8p.C4
-rw-r--r--gcc/testsuite/g++.dg/debug/dwarf2/accessibility1.C24
-rw-r--r--gcc/testsuite/g++.dg/debug/dwarf2/dwarf4-typedef.C34
-rw-r--r--gcc/testsuite/g++.dg/debug/dwarf2/typedef3.C19
-rw-r--r--gcc/testsuite/g++.dg/diagnostic/method1.C20
-rw-r--r--gcc/testsuite/g++.dg/diagnostic/parm1.C11
-rw-r--r--gcc/testsuite/g++.dg/eh/new1.C2
-rw-r--r--gcc/testsuite/g++.dg/eh/spec8.C4
-rw-r--r--gcc/testsuite/g++.dg/expr/cond8.C4
-rw-r--r--gcc/testsuite/g++.dg/expr/string-1.C4
-rw-r--r--gcc/testsuite/g++.dg/ext/attr-alias-1.C37
-rw-r--r--gcc/testsuite/g++.dg/ext/attr-alias-2.C37
-rw-r--r--gcc/testsuite/g++.dg/ext/has_virtual_destructor.C6
-rw-r--r--gcc/testsuite/g++.dg/ext/label13.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/unary_trait_incomplete.C24
-rw-r--r--gcc/testsuite/g++.dg/gomp/pr26690-1.C2
-rw-r--r--gcc/testsuite/g++.dg/inherit/virtual5.C29
-rw-r--r--gcc/testsuite/g++.dg/init/ctor4.C4
-rw-r--r--gcc/testsuite/g++.dg/init/new5.C4
-rw-r--r--gcc/testsuite/g++.dg/init/pr44086.C15
-rw-r--r--gcc/testsuite/g++.dg/init/synth2.C4
-rw-r--r--gcc/testsuite/g++.dg/ipa/iinline-2.C61
-rw-r--r--gcc/testsuite/g++.dg/ipa/iinline-3.C64
-rw-r--r--gcc/testsuite/g++.dg/lto/20081118_1.C1
-rw-r--r--gcc/testsuite/g++.dg/lto/20100603-1_0.C14
-rw-r--r--gcc/testsuite/g++.dg/lto/20100603-1_1.c2
-rw-r--r--gcc/testsuite/g++.dg/other/arm-neon-1.C18
-rw-r--r--gcc/testsuite/g++.dg/other/error13.C4
-rw-r--r--gcc/testsuite/g++.dg/other/error20.C2
-rw-r--r--gcc/testsuite/g++.dg/other/error31.C2
-rw-r--r--gcc/testsuite/g++.dg/other/pr25632.C6
-rw-r--r--gcc/testsuite/g++.dg/other/typedef4.C7
-rw-r--r--gcc/testsuite/g++.dg/other/unused1.C2
-rw-r--r--gcc/testsuite/g++.dg/overload/arg3.C3
-rw-r--r--gcc/testsuite/g++.dg/overload/copy1.C3
-rw-r--r--gcc/testsuite/g++.dg/parse/error19.C2
-rw-r--r--gcc/testsuite/g++.dg/plugin/attribute_plugin.c2
-rw-r--r--gcc/testsuite/g++.dg/plugin/dumb_plugin.c3
-rw-r--r--gcc/testsuite/g++.dg/plugin/header_plugin.c4
-rw-r--r--gcc/testsuite/g++.dg/plugin/pragma_plugin.c3
-rw-r--r--gcc/testsuite/g++.dg/plugin/selfassign.c35
-rw-r--r--gcc/testsuite/g++.dg/pr44486.C10
-rw-r--r--gcc/testsuite/g++.dg/tc1/dr147.C10
-rw-r--r--gcc/testsuite/g++.dg/tc1/dr152.C6
-rw-r--r--gcc/testsuite/g++.dg/template/crash100.C24
-rw-r--r--gcc/testsuite/g++.dg/template/error23.C4
-rw-r--r--gcc/testsuite/g++.dg/template/incomplete4.C4
-rw-r--r--gcc/testsuite/g++.dg/template/incomplete5.C4
-rw-r--r--gcc/testsuite/g++.dg/template/qualified-id2.C27
-rw-r--r--gcc/testsuite/g++.dg/template/qualified-id3.C14
-rw-r--r--gcc/testsuite/g++.dg/template/qualttp5.C2
-rw-r--r--gcc/testsuite/g++.dg/torture/pr43801.C22
-rw-r--r--gcc/testsuite/g++.dg/torture/pr43905.C13
-rw-r--r--gcc/testsuite/g++.dg/torture/pr44357.C228
-rw-r--r--gcc/testsuite/g++.dg/torture/pr44492.C31
-rw-r--r--gcc/testsuite/g++.dg/torture/pr44535.C34
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/copyprop-1.C4
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pr31146.C2
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pr33604.C12
-rw-r--r--gcc/testsuite/g++.dg/warn/Wunused-var-10.C42
-rw-r--r--gcc/testsuite/g++.dg/warn/Wunused-var-11.C33
-rw-r--r--gcc/testsuite/g++.dg/warn/Wunused-var-12.C36
-rw-r--r--gcc/testsuite/g++.dg/warn/Wunused-var-13.C22
-rw-r--r--gcc/testsuite/g++.dg/warn/Wunused-var-14.C17
-rw-r--r--gcc/testsuite/g++.dg/warn/incomplete2.C4
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" }
}