aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2014-11-15 18:28:46 -0500
committerJason Merrill <jason@gcc.gnu.org>2014-11-15 18:28:46 -0500
commitb8cd39962c5d6dab4cf908ca561e6e90156f241d (patch)
tree079b57fe06e7826f4ebecd095313adf51971e7d5 /gcc
parentf5f08264283526e1f17500d44f93fdf5730072c3 (diff)
downloadgcc-b8cd39962c5d6dab4cf908ca561e6e90156f241d.zip
gcc-b8cd39962c5d6dab4cf908ca561e6e90156f241d.tar.gz
gcc-b8cd39962c5d6dab4cf908ca561e6e90156f241d.tar.bz2
* constexpr.c (cx_check_missing_mem_inits): Clarify error message.
From-SVN: r217616
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/constexpr.c5
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/constexpr-ctor.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/constexpr-diag4.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/constexpr-ex3.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/constexpr-template2.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nsdmi3.C2
7 files changed, 12 insertions, 7 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 5311649..279e91b 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -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.
diff --git a/gcc/cp/constexpr.c b/gcc/cp/constexpr.c
index d30bf635..0d45f31 100644
--- a/gcc/cp/constexpr.c
+++ b/gcc/cp/constexpr.c
@@ -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)
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-ctor.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-ctor.C
index 659e733..55beda7 100644
--- a/gcc/testsuite/g++.dg/cpp0x/constexpr-ctor.C
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-ctor.C
@@ -3,5 +3,5 @@
struct A
{
int i;
- constexpr A() { } // { dg-error "uninitialized member .A::i" }
+ constexpr A() { } // { dg-error "A::i" }
};
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-diag4.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-diag4.C
index 29f574d..13ca6fa 100644
--- a/gcc/testsuite/g++.dg/cpp0x/constexpr-diag4.C
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-diag4.C
@@ -21,5 +21,5 @@ struct A1
struct B1
{
A1 a1;
- constexpr B1() {} // { dg-error "uninitialized member" }
+ constexpr B1() {} // { dg-error "B1::a1" }
};
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-ex3.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-ex3.C
index 3e2685b..a589356 100644
--- a/gcc/testsuite/g++.dg/cpp0x/constexpr-ex3.C
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-ex3.C
@@ -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>
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-template2.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-template2.C
index a316b34..12a8d42 100644
--- a/gcc/testsuite/g++.dg/cpp0x/constexpr-template2.C
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-template2.C
@@ -3,7 +3,7 @@
template <class T> struct A
{
T t;
- constexpr A() { } // { dg-error "uninitialized" }
+ constexpr A() { } // { dg-error "::t" }
};
int main()
diff --git a/gcc/testsuite/g++.dg/cpp0x/nsdmi3.C b/gcc/testsuite/g++.dg/cpp0x/nsdmi3.C
index 6ac414b..d2e7439 100644
--- a/gcc/testsuite/g++.dg/cpp0x/nsdmi3.C
+++ b/gcc/testsuite/g++.dg/cpp0x/nsdmi3.C
@@ -15,4 +15,4 @@ struct B
constexpr B b; // { dg-error "B::B" }
-// { dg-prune-output "uninitialized member" }
+// { dg-prune-output "B::a1" }