aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2013-05-05 00:27:46 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2013-05-05 00:27:46 +0000
commit5d5006cc91fa44b6077b7f676706b799e85e99e6 (patch)
tree587ec79aac0690c15dac6c781d1b57f2cb559c01 /gcc/cp
parentdefa0f99ade0504dfe8eac19c00b37d5c29a7914 (diff)
downloadgcc-5d5006cc91fa44b6077b7f676706b799e85e99e6.zip
gcc-5d5006cc91fa44b6077b7f676706b799e85e99e6.tar.gz
gcc-5d5006cc91fa44b6077b7f676706b799e85e99e6.tar.bz2
re PR c++/53745 ([C++11] Poor diagnostic for ill-formed narrowing conversion in enumerator initializer)
/cp 2013-05-04 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53745 * decl.c (build_enumerator): Improve error message. /testsuite 2013-05-04 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53745 * g++.dg/cpp0x/enum27.C: New. * g++.dg/cpp0x/enum_base.C: Adjust. From-SVN: r198607
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/decl.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index b9bdf3a..9d3e652 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2013-05-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53745
+ * decl.c (build_enumerator): Improve error message.
+
2013-05-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/14283
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index b2f1c6e..d92d334 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -12847,8 +12847,8 @@ incremented enumerator value is too large for %<long%>");
&& TREE_CODE (value) == INTEGER_CST)
{
if (!int_fits_type_p (value, ENUM_UNDERLYING_TYPE (enumtype)))
- error ("enumerator value %E is too large for underlying type %<%T%>",
- value, ENUM_UNDERLYING_TYPE (enumtype));
+ error ("enumerator value %E is outside the range of underlying "
+ "type %<%T%>", value, ENUM_UNDERLYING_TYPE (enumtype));
/* Convert the value to the appropriate type. */
value = convert (ENUM_UNDERLYING_TYPE (enumtype), value);