aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabien Chêne <fabien@gcc.gnu.org>2014-03-26 22:33:28 +0100
committerFabien Chêne <fabien@gcc.gnu.org>2014-03-26 22:33:28 +0100
commit816551fe37d92bdd0982d85fe9e833e81dd9a255 (patch)
treef68ff5496d477c9f254942a564dfada70b727292
parentc288ec8f21609193c80546000ac23ce1f1bc69e7 (diff)
downloadgcc-816551fe37d92bdd0982d85fe9e833e81dd9a255.zip
gcc-816551fe37d92bdd0982d85fe9e833e81dd9a255.tar.gz
gcc-816551fe37d92bdd0982d85fe9e833e81dd9a255.tar.bz2
re PR c++/52369 (Const-qualified non-class base member and defaulted default constructor)
2014-03-26 Fabien Chene <fabien@gcc.gnu.org> PR c++/52369 * cp/method.c (walk_field_subobs): improve the diagnostic locations for both REFERENCE_TYPEs and non-static const members. * cp/init.c (diagnose_uninitialized_cst_or_ref_member): use %q#D instead of %qD to be consistent with the c++11 diagnostic. 2014-03-26 Fabien Chene <fabien@gcc.gnu.org> PR c++/52369 * g++.dg/init/const10.C: New. * g++.dg/init/const11.C: New. * g++.dg/init/pr25811.C: Adjust. * g++.dg/init/pr29043.C: Likewise. * g++.dg/init/pr43719.C: Likewise. * g++.dg/init/pr44086.C: Likewise. * g++.dg/init/ctor8.C: Likewise. * g++.dg/init/uninitialized1.C: Likewise. From-SVN: r208854
-rw-r--r--gcc/cp/ChangeLog7
-rw-r--r--gcc/cp/init.c4
-rw-r--r--gcc/cp/method.c16
-rw-r--r--gcc/testsuite/ChangeLog12
-rw-r--r--gcc/testsuite/g++.dg/init/const10.C33
-rw-r--r--gcc/testsuite/g++.dg/init/const11.C29
-rw-r--r--gcc/testsuite/g++.dg/init/ctor8.C2
-rw-r--r--gcc/testsuite/g++.dg/init/pr25811.C90
-rw-r--r--gcc/testsuite/g++.dg/init/pr29043.C17
-rw-r--r--gcc/testsuite/g++.dg/init/pr43719.C60
-rw-r--r--gcc/testsuite/g++.dg/init/pr44086.C4
-rw-r--r--gcc/testsuite/g++.dg/init/uninitialized1.C6
12 files changed, 194 insertions, 86 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 518eb22..71f94fc 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,10 @@
+2014-03-26 Fabien Chêne <fabien@gcc.gnu.org>
+ PR c++/52369
+ * cp/method.c (walk_field_subobs): improve the diagnostic
+ locations for both REFERENCE_TYPEs and non-static const members.
+ * cp/init.c (diagnose_uninitialized_cst_or_ref_member): use %q#D
+ instead of %qD to be consistent with the c++11 diagnostic.
+
2014-03-25 Jason Merrill <jason@redhat.com>
PR c++/60566
diff --git a/gcc/cp/init.c b/gcc/cp/init.c
index 2e1cdde..f85776c 100644
--- a/gcc/cp/init.c
+++ b/gcc/cp/init.c
@@ -2157,7 +2157,7 @@ diagnose_uninitialized_cst_or_ref_member_1 (tree type, tree origin,
"of %q#T", DECL_CONTEXT (field), origin);
}
inform (DECL_SOURCE_LOCATION (field),
- "%qD should be initialized", field);
+ "%q#D should be initialized", field);
}
}
@@ -2185,7 +2185,7 @@ diagnose_uninitialized_cst_or_ref_member_1 (tree type, tree origin,
"of %q#T", DECL_CONTEXT (field), origin);
}
inform (DECL_SOURCE_LOCATION (field),
- "%qD should be initialized", field);
+ "%q#D should be initialized", field);
}
}
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index d72b564..11bff7f 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -1110,15 +1110,23 @@ walk_field_subobs (tree fields, tree fnname, special_function_kind sfk,
&& default_init_uninitialized_part (mem_type))
{
if (diag)
- error ("uninitialized non-static const member %q#D",
- field);
+ {
+ error ("uninitialized const member in %q#T",
+ current_class_type);
+ inform (DECL_SOURCE_LOCATION (field),
+ "%q#D should be initialized", field);
+ }
bad = true;
}
else if (TREE_CODE (mem_type) == REFERENCE_TYPE)
{
if (diag)
- error ("uninitialized non-static reference member %q#D",
- field);
+ {
+ error ("uninitialized reference member in %q#T",
+ current_class_type);
+ inform (DECL_SOURCE_LOCATION (field),
+ "%q#D should be initialized", field);
+ }
bad = true;
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index cdc8e9a..a5bcb88 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,15 @@
+2014-03-26 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/52369
+ * g++.dg/init/const10.C: New.
+ * g++.dg/init/const11.C: New.
+ * g++.dg/init/pr25811.C: Adjust.
+ * g++.dg/init/pr29043.C: Likewise.
+ * g++.dg/init/pr43719.C: Likewise.
+ * g++.dg/init/pr44086.C: Likewise.
+ * g++.dg/init/ctor8.C: Likewise.
+ * g++.dg/init/uninitialized1.C: Likewise.
+
2014-03-26 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/60636
diff --git a/gcc/testsuite/g++.dg/init/const10.C b/gcc/testsuite/g++.dg/init/const10.C
new file mode 100644
index 0000000..ecd0db4
--- /dev/null
+++ b/gcc/testsuite/g++.dg/init/const10.C
@@ -0,0 +1,33 @@
+// PR C++/52369
+// { dg-do compile { target c++11 } }
+
+class B // { dg-message "implicitly deleted" }
+ // { dg-error "uninitialized" "" { target c++11 } 4 }
+{
+ int const v_; // { dg-message "should be initialized" }
+};
+
+struct D : B {}; // { dg-error "deleted" }
+
+class A // { dg-message "implicitly deleted" }
+ // { dg-error "uninitialized" "" { target c++11 } 12 }
+{
+ int& ref; // { dg-message "should be initialized" }
+};
+
+struct C : A {}; // { dg-error "deleted" }
+
+void f()
+{
+ D d; // { dg-error "use of deleted" }
+ new D; // { dg-error "use of deleted" }
+ D(); // { dg-error "use of deleted" }
+ new D(); // { dg-error "use of deleted" }
+
+ C c; // { dg-error "use of deleted" }
+ new C; // { dg-error "use of deleted" }
+ C(); // { dg-error "use of deleted" }
+ new C(); // { dg-error "use of deleted" }
+}
+
+
diff --git a/gcc/testsuite/g++.dg/init/const11.C b/gcc/testsuite/g++.dg/init/const11.C
new file mode 100644
index 0000000..08d5185
--- /dev/null
+++ b/gcc/testsuite/g++.dg/init/const11.C
@@ -0,0 +1,29 @@
+// PR C++/52369
+// { dg-do compile { target { ! c++11 } } }
+
+class B
+{
+ int const v_; // { dg-message "should be initialized" }
+};
+
+struct D : B {};
+
+class A
+{
+ int& ref; // { dg-message "should be initialized" }
+};
+
+struct C : A {};
+
+void f()
+{
+ D d; // { dg-error "uninitialized" }
+ new D; // { dg-error "uninitialized" }
+ D();
+ new D();
+
+ C c; // { dg-error "uninitialized" }
+ new C; // { dg-error "uninitialized" }
+ C(); // { dg-error "value-initialization" }
+ new C(); // { dg-error "value-initialization" }
+}
diff --git a/gcc/testsuite/g++.dg/init/ctor8.C b/gcc/testsuite/g++.dg/init/ctor8.C
index 7eb72eb..3c37790 100644
--- a/gcc/testsuite/g++.dg/init/ctor8.C
+++ b/gcc/testsuite/g++.dg/init/ctor8.C
@@ -1,6 +1,6 @@
// PR c++/29039
-typedef struct S { // { dg-error "reference" "" { target c++11 } }
+typedef struct S { // { dg-error "reference" "" { target c++11 } }
int &r;
}; // { dg-warning "'typedef' was ignored" }
diff --git a/gcc/testsuite/g++.dg/init/pr25811.C b/gcc/testsuite/g++.dg/init/pr25811.C
index 0a462be..c29f406 100644
--- a/gcc/testsuite/g++.dg/init/pr25811.C
+++ b/gcc/testsuite/g++.dg/init/pr25811.C
@@ -1,51 +1,60 @@
// PR c++/25811
// { dg-do compile }
-struct A1 // { dg-error "uninitialized" "" { target c++11 } }
+struct A1 // { dg-message "implicitly deleted" "" { target c++11 } }
+ // { dg-error "uninitialized" "" { target c++11 } 4 }
{
- int const j; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int const j; // { dg-message "should be initialized" }
};
-struct A2 // { dg-error "uninitialized" "" { target c++11 } }
+struct A2 // { dg-message "implicitly deleted" "" { target c++11 } }
+ // { dg-error "uninitialized" "" { target c++11 } 10 }
{
- int const volatile i; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int const volatile i; // { dg-message "should be initialized" }
};
-struct A3 // { dg-error "uninitialized" "" { target c++11 } }
+struct A3 // { dg-message "implicitly deleted" "" { target c++11 } }
+ // { dg-error "uninitialized" "" { target c++11 } 16 }
{
- int& ref; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int& ref; // { dg-message "should be initialized" }
};
-struct A4 // { dg-error "uninitialized" "" { target c++11 } }
+struct A4 // { dg-message "implicitly deleted" "" { target c++11 } }
+ // { dg-error "uninitialized" "" { target c++11 } 22 }
{
- int const& ref; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int const& ref; // { dg-message "should be initialized" }
};
-struct A5 // { dg-error "uninitialized" "" { target c++11 } }
+struct A5 // { dg-message "implicitly deleted" "" { target c++11 } }
+ // { dg-error "uninitialized" "" { target c++11 } 28 }
{
- int& ref; // { dg-message "should be initialized" "" { target { ! c++11 } } }
- int const i; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int& ref; // { dg-message "should be initialized" }
+ int const i; // { dg-message "should be initialized" }
};
-template <class T> struct S1 // { dg-error "uninitialized" "" { target c++11 } }
+template <class T> struct S1 // { dg-message "implicitly deleted" "" { target c++11 } }
+ // { dg-error "uninitialized" "" { target c++11 } 35 }
{
- T const i; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ T const i; // { dg-message "should be initialized" }
};
-template <class T> struct S2 // { dg-error "uninitialized" "" { target c++11 } }
+template <class T> struct S2 // { dg-message "implicitly deleted" "" { target c++11 } }
+ // { dg-error "uninitialized" "" { target c++11 } 41 }
{
- T const volatile i; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ T const volatile i; // { dg-message "should be initialized" }
};
-template <class T> struct S3 // { dg-error "uninitialized" "" { target c++11 } }
+template <class T> struct S3 // { dg-message "implicitly deleted" "" { target c++11 } }
+ // { dg-error "uninitialized" "" { target c++11 } 47 }
{
- T& ref; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ T& ref; // { dg-message "should be initialized" }
};
-template <class T> struct S4 // { dg-error "uninitialized" "" { target c++11 } }
+template <class T> struct S4 // { dg-message "implicitly deleted" "" { target c++11 } }
+ // { dg-error "uninitialized" "" { target c++11 } 53 }
{
- T const i; // { dg-message "should be initialized" "" { target { ! c++11 } } }
- T& ref; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ T const i; // { dg-message "should be initialized" }
+ T& ref; // { dg-message "should be initialized" }
};
struct X
@@ -55,44 +64,50 @@ struct X
int const& r;
};
-struct Y11 // { dg-error "uninitialized" "" { target c++11 } }
+struct Y11 // { dg-message "implicitly deleted" "" { target c++11 } }
+ // { dg-error "uninitialized" "" { target c++11 } 67 }
{
- int const i; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int const i; // { dg-message "should be initialized" }
};
-struct Y1 // { dg-error "deleted" "" { target c++11 } }
+struct Y1 // { dg-error "deleted" "" { target c++11 } }
{
Y11 a[1];
};
-struct Y22 // { dg-error "uninitialized" "" { target c++11 } }
+struct Y22 // { dg-message "implicitly deleted" "" { target c++11 } }
+ // { dg-error "uninitialized" "" { target c++11 } 78 }
{
- int& ref; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int& ref; // { dg-message "should be initialized" }
};
-struct Y2 // { dg-error "deleted" "" { target c++11 } }
+struct Y2 // { dg-error "deleted" "" { target c++11 } }
{
Y22 a[1];
};
-struct Z1 // { dg-error "uninitialized" "" { target c++11 } }
+struct Z1 // { dg-message "implicitly deleted" "" { target c++11 } }
+ // { dg-error "uninitialized" "" { target c++11 } 89 }
{
- int const i; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int const i; // { dg-message "should be initialized" }
};
-struct Z2 // { dg-error "uninitialized" "" { target c++11 } }
+struct Z2 // { dg-message "implicitly deleted" "" { target c++11 } }
+ // { dg-error "uninitialized" "" { target c++11 } 95 }
{
- int& ref; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int& ref; // { dg-message "should be initialized" }
};
-struct Z3 // { dg-error "uninitialized" "" { target c++11 } }
+struct Z3 // { dg-message "implicitly deleted" "" { target c++11 } }
+ // { dg-error "uninitialized" "" { target c++11 } 101 }
{
- int const i; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int const i; // { dg-message "should be initialized" }
};
-struct Z4 // { dg-error "uninitialized" "" { target c++11 } }
+struct Z4 // { dg-message "implicitly deleted" "" { target c++11 } }
+ // { dg-error "uninitialized" "" { target c++11 } 107 }
{
- int& ref; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int& ref; // { dg-message "should be initialized" }
};
struct Z5
@@ -100,7 +115,7 @@ struct Z5
int i;
};
-struct Z // { dg-error "deleted" "" { target c++11 } }
+struct Z // { dg-error "deleted" "" { target c++11 } }
{
Z1 z1;
Z2 z2;
@@ -109,9 +124,10 @@ struct Z // { dg-error "deleted" "" { target c++11 } }
Z5 z5;
};
-union U // { dg-error "uninitialized" "" { target c++11 } }
+union U // { dg-message "implicitly deleted" "" { target c++11 } }
+ // { dg-error "uninitialized" "" { target c++11 } 127 }
{
- int const i; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int const i; // { dg-message "should be initialized" }
};
void f1 ()
diff --git a/gcc/testsuite/g++.dg/init/pr29043.C b/gcc/testsuite/g++.dg/init/pr29043.C
index f341f8c..c81c39c 100644
--- a/gcc/testsuite/g++.dg/init/pr29043.C
+++ b/gcc/testsuite/g++.dg/init/pr29043.C
@@ -1,9 +1,10 @@
// PR c++/29043
// { dg-do compile }
-struct S // { dg-error "uninitialized" "" { target c++11 } }
+struct S // { dg-message "implicitly deleted" "" { target c++11 } }
+ // { dg-error "uninitialized" "" { target c++11 } 4 }
{
- int const i; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int const i; // { dg-message "should be initialized" }
};
class C
@@ -13,9 +14,10 @@ public:
S s;
};
-struct S2 // { dg-error "uninitialized" "" { target c++11 } }
+struct S2 // { dg-message "implicitly deleted" "" { target c++11 } }
+ // { dg-error "uninitialized" "" { target c++11 } 17 }
{
- int& ref; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int& ref; // { dg-message "should be initialized" }
};
class C2
@@ -33,9 +35,10 @@ class C3
};
};
-struct S4 // { dg-error "uninitialized" "" { target c++11 } }
+struct S4 // { dg-message "implicitly deleted" "" { target c++11 } }
+ // { dg-error "uninitialized" "" { target c++11 } 38 }
{
- int const i; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int const i; // { dg-message "should be initialized" }
};
struct C4
@@ -46,7 +49,7 @@ struct C4
struct C5
{
- C5() {} // { dg-message "uninitialized" }
+ C5() {} // { dg-error "uninitialized" }
int const iit[ 1 ];
};
diff --git a/gcc/testsuite/g++.dg/init/pr43719.C b/gcc/testsuite/g++.dg/init/pr43719.C
index 81930d0..c8cebc2 100644
--- a/gcc/testsuite/g++.dg/init/pr43719.C
+++ b/gcc/testsuite/g++.dg/init/pr43719.C
@@ -1,51 +1,51 @@
// PR c++/43719
// { dg-do compile }
-struct A1 // { dg-error "uninitialized" "" { target c++11 } }
+struct A1 // { dg-error "uninitialized" "" { target c++11 } }
{
- int const j; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int const j; // { dg-message "should be initialized" }
};
-struct A2 // { dg-error "uninitialized" "" { target c++11 } }
+struct A2 // { dg-error "uninitialized" "" { target c++11 } }
{
- int const volatile i; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int const volatile i; // { dg-message "should be initialized" }
};
-struct A3 // { dg-error "uninitialized" "" { target c++11 } }
+struct A3 // { dg-error "uninitialized" "" { target c++11 } }
{
- int& ref; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int& ref; // { dg-message "should be initialized" }
};
-struct A4 // { dg-error "uninitialized" "" { target c++11 } }
+struct A4 // { dg-error "uninitialized" "" { target c++11 } }
{
- int const& ref; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int const& ref; // { dg-message "should be initialized" }
};
-struct A5 // { dg-error "uninitialized" "" { target c++11 } }
+struct A5 // { dg-error "uninitialized" "" { target c++11 } }
{
- int& ref; // { dg-message "should be initialized" "" { target { ! c++11 } } }
- int const i; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int& ref; // { dg-message "should be initialized" }
+ int const i; // { dg-message "should be initialized" }
};
template <class T> struct S1 // { dg-error "uninitialized" "" { target c++11 } }
{
- T const i; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ T const i; // { dg-message "should be initialized" }
};
template <class T> struct S2 // { dg-error "uninitialized" "" { target c++11 } }
{
- T const volatile i; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ T const volatile i; // { dg-message "should be initialized" }
};
template <class T> struct S3 // { dg-error "uninitialized" "" { target c++11 } }
{
- T& ref; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ T& ref; // { dg-message "should be initialized" }
};
template <class T> struct S4 // { dg-error "uninitialized" "" { target c++11 } }
{
- T const i; // { dg-message "should be initialized" "" { target { ! c++11 } } }
- T& ref; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ T const i; // { dg-message "should be initialized" }
+ T& ref; // { dg-message "should be initialized" }
};
struct X
@@ -55,9 +55,9 @@ struct X
int const& r;
};
-struct Y11 // { dg-error "uninitialized" "" { target c++11 } }
+struct Y11 // { dg-error "uninitialized" "" { target c++11 } }
{
- int const i; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int const i; // { dg-message "should be initialized" }
};
struct Y1 // { dg-error "deleted" "" { target c++11 } }
@@ -65,9 +65,9 @@ struct Y1 // { dg-error "deleted" "" { target c++11 } }
Y11 a[1];
};
-struct Y22 // { dg-error "uninitialized" "" { target c++11 } }
+struct Y22 // { dg-error "uninitialized" "" { target c++11 } }
{
- int& ref; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int& ref; // { dg-message "should be initialized" }
};
struct Y2 // { dg-error "deleted" "" { target c++11 } }
@@ -75,24 +75,24 @@ struct Y2 // { dg-error "deleted" "" { target c++11 } }
Y22 a[1];
};
-struct Z1 // { dg-error "uninitialized" "" { target c++11 } }
+struct Z1 // { dg-error "uninitialized" "" { target c++11 } }
{
- int const i; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int const i; // { dg-message "should be initialized" }
};
-struct Z2 // { dg-error "uninitialized" "" { target c++11 } }
+struct Z2 // { dg-error "uninitialized" "" { target c++11 } }
{
- int& ref; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int& ref; // { dg-message "should be initialized" }
};
-struct Z3 // { dg-error "uninitialized" "" { target c++11 } }
+struct Z3 // { dg-error "uninitialized" "" { target c++11 } }
{
- int const i; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int const i; // { dg-message "should be initialized" }
};
-struct Z4 // { dg-error "uninitialized" "" { target c++11 } }
+struct Z4 // { dg-error "uninitialized" "" { target c++11 } }
{
- int& ref; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int& ref; // { dg-message "should be initialized" }
};
struct Z5
@@ -109,9 +109,9 @@ struct Z // { dg-error "deleted" "" { target c++11 } }
Z5 z5;
};
-union U // { dg-error "uninitialized" "" { target c++11 } }
+union U // { dg-error "uninitialized" "" { target c++11 } }
{
- int const i; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int const i; // { dg-message "should be initialized" }
};
diff --git a/gcc/testsuite/g++.dg/init/pr44086.C b/gcc/testsuite/g++.dg/init/pr44086.C
index 96b5bef..c3e9d4e 100644
--- a/gcc/testsuite/g++.dg/init/pr44086.C
+++ b/gcc/testsuite/g++.dg/init/pr44086.C
@@ -1,9 +1,9 @@
// PR c++/44086
// { dg-do compile }
-struct A // { dg-error "uninitialized" "" { target c++11 } }
+struct A // { dg-error "uninitialized" "" { target c++11 } }
{
- int const i : 2; // { dg-message "should be initialized" "" { target { ! c++11 } } }
+ int const i : 2; // { dg-message "should be initialized" }
};
void f()
diff --git a/gcc/testsuite/g++.dg/init/uninitialized1.C b/gcc/testsuite/g++.dg/init/uninitialized1.C
index 1e4f7ae..e8509ff 100644
--- a/gcc/testsuite/g++.dg/init/uninitialized1.C
+++ b/gcc/testsuite/g++.dg/init/uninitialized1.C
@@ -1,8 +1,8 @@
// PR c++/58126
-struct A { // { dg-error "uninitialized" "" { target c++11 } }
- const int value1;
- int& value2;
+struct A { // { dg-error "uninitialized" "" { target c++11 } }
+ const int value1; // { dg-message "should be initialized" }
+ int& value2; // { dg-message "should be initialized" }
};
struct B : A { }; // { dg-error "deleted" "" { target c++11 } }