aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEd Smith-Rowland <3dw4rd@verizon.net>2013-06-26 03:35:54 +0000
committerEdward Smith-Rowland <emsr@gcc.gnu.org>2013-06-26 03:35:54 +0000
commit1a3fab15bcbd41b0ad326124c49eb62c67287bb2 (patch)
tree526fe1dae3599c809f543ed0d559a8f882eba4ea /gcc
parentaf4c64a70ea1a5db2ec71ee0b99bc7353bd5bc3d (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/cp/parser.c3
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/pr57640.C8
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);