diff options
author | Paolo Carlini <paolo.carlini@oracle.com> | 2013-05-05 00:27:46 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2013-05-05 00:27:46 +0000 |
commit | 5d5006cc91fa44b6077b7f676706b799e85e99e6 (patch) | |
tree | 587ec79aac0690c15dac6c781d1b57f2cb559c01 /gcc/cp | |
parent | defa0f99ade0504dfe8eac19c00b37d5c29a7914 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/decl.c | 4 |
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); |