* constexpr.c (cx_check_missing_mem_inits): Clarify error message.
authorJason Merrill <jason@redhat.com>
Sat, 15 Nov 2014 23:28:46 +0000 (18:28 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Sat, 15 Nov 2014 23:28:46 +0000 (18:28 -0500)
From-SVN: r217616

gcc/cp/ChangeLog
gcc/cp/constexpr.c
gcc/testsuite/g++.dg/cpp0x/constexpr-ctor.C
gcc/testsuite/g++.dg/cpp0x/constexpr-diag4.C
gcc/testsuite/g++.dg/cpp0x/constexpr-ex3.C
gcc/testsuite/g++.dg/cpp0x/constexpr-template2.C
gcc/testsuite/g++.dg/cpp0x/nsdmi3.C

index 5311649..279e91b 100644 (file)
@@ -1,3 +1,7 @@
+2014-11-15  Jason Merrill  <jason@redhat.com>
+
+       * constexpr.c (cx_check_missing_mem_inits): Clarify error message.
+
 2014-11-14  Paolo Carlini  <paolo.carlini@oracle.com>
 
        * semantics.c (end_maybe_infinite_loop): Use fold_non_dependent_expr.
index d30bf63..0d45f31 100644 (file)
@@ -716,8 +716,9 @@ cx_check_missing_mem_inits (tree fun, tree body, bool complain)
            }
          if (!complain)
            return true;
-         error ("uninitialized member %qD in %<constexpr%> constructor",
-                field);
+         error ("member %qD must be initialized by mem-initializer "
+                "in %<constexpr%> constructor", field);
+         inform (DECL_SOURCE_LOCATION (field), "declared here");
          bad = true;
        }
       if (field == NULL_TREE)
index 659e733..55beda7 100644 (file)
@@ -3,5 +3,5 @@
 struct A
 {
   int i;
-  constexpr A() { }            // { dg-error "uninitialized member .A::i" }
+  constexpr A() { }            // { dg-error "A::i" }
 };
index 29f574d..13ca6fa 100644 (file)
@@ -21,5 +21,5 @@ struct A1
 struct B1
 {
     A1 a1;
-    constexpr B1() {} // { dg-error "uninitialized member" }
+    constexpr B1() {} // { dg-error "B1::a1" }
 };
index 3e2685b..a589356 100644 (file)
@@ -6,7 +6,7 @@
 struct A
 {
   int i;
-  constexpr A(int _i) { i = _i; } // { dg-error "empty body|uninitialized member" }
+  constexpr A(int _i) { i = _i; } // { dg-error "empty body|A::i" }
 };
 
 template <class T>
index a316b34..12a8d42 100644 (file)
@@ -3,7 +3,7 @@
 template <class T> struct A
 {
   T t;
-  constexpr A() { }            // { dg-error "uninitialized" }
+  constexpr A() { }            // { dg-error "::t" }
 };
 
 int main()
index 6ac414b..d2e7439 100644 (file)
@@ -15,4 +15,4 @@ struct B
 
 constexpr B b;                 // { dg-error "B::B" }
 
-// { dg-prune-output "uninitialized member" }
+// { dg-prune-output "B::a1" }