diff options
author | Ed Smith-Rowland <3dw4rd@verizon.net> | 2013-06-26 03:35:54 +0000 |
---|---|---|
committer | Edward Smith-Rowland <emsr@gcc.gnu.org> | 2013-06-26 03:35:54 +0000 |
commit | 1a3fab15bcbd41b0ad326124c49eb62c67287bb2 (patch) | |
tree | 526fe1dae3599c809f543ed0d559a8f882eba4ea /gcc | |
parent | af4c64a70ea1a5db2ec71ee0b99bc7353bd5bc3d (diff) | |
download | gcc-1a3fab15bcbd41b0ad326124c49eb62c67287bb2.zip gcc-1a3fab15bcbd41b0ad326124c49eb62c67287bb2.tar.gz gcc-1a3fab15bcbd41b0ad326124c49eb62c67287bb2.tar.bz2 |
re PR c++/57640 (Explicit call of system literal operator complains about leading underscore.)
gcc/cp:
2013-06-25 Ed Smith-Rowland <3dw4rd@verizon.net>
PR c++/57640
* parser.c (cp_parser_unqualified_id): Add declarator_p to checks
to trigger warning, (cp_literal_operator_id): Remove bogus TODO comment.
gcc/testsuite:
2013-06-25 Ed Smith-Rowland <3dw4rd@verizon.net>
PR c++/57640
* g++.dg/cpp1y/pr57640.C: New.
From-SVN: r200415
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/parser.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp1y/pr57640.C | 8 |
4 files changed, 20 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 97d7fad..bd82693 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2013-06-25 Ed Smith-Rowland <3dw4rd@verizon.net> + + PR c++/57640 + * parser.c (cp_parser_unqualified_id): Add declarator_p to checks + to trigger warning, (cp_literal_operator_id): Remove bogus TODO comment. + 2013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net> * call.c (null_ptr_cst_p): Use cxx11 in lieu of cxx0x. diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index f3bc27a..ec8ad46 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -5000,7 +5000,7 @@ cp_parser_unqualified_id (cp_parser* parser, { /* 17.6.3.3.5 */ const char *name = UDLIT_OP_SUFFIX (id); - if (name[0] != '_' && !in_system_header) + if (name[0] != '_' && !in_system_header && declarator_p) warning (0, "literal operator suffixes not preceded by %<_%>" " are reserved for future standardization"); } @@ -12346,7 +12346,6 @@ cp_literal_operator_id (const char* name) + strlen (name) + 10); sprintf (buffer, UDLIT_OP_ANSI_FORMAT, name); identifier = get_identifier (buffer); - /*IDENTIFIER_UDLIT_OPNAME_P (identifier) = 1; If we get a flag someday. */ return identifier; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 911648b..5e1f52e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-06-25 Ed Smith-Rowland <3dw4rd@verizon.net> + + PR c++/57640 + * g++.dg/cpp1y/pr57640.C: New. + 2013-06-25 Balaji V. Iyer <balaji.v.iyer@intel.com> PR c/57692 diff --git a/gcc/testsuite/g++.dg/cpp1y/pr57640.C b/gcc/testsuite/g++.dg/cpp1y/pr57640.C new file mode 100644 index 0000000..e26f967 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp1y/pr57640.C @@ -0,0 +1,8 @@ +// { dg-options -std=c++1y } +// { dg-do compile } + +#include <chrono> + +using namespace std::literals::chrono_literals; + +auto blooper = operator"" min(45.0L); |