aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2016-11-09 23:56:35 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2016-11-09 23:56:35 +0100
commit0391e4a3b3c1095d2f74ef8bbcef29fb31706813 (patch)
treea4c5e40c4a044040ab094f26e4f5a80e85b64f8c
parent7ce69e5a7156b6ada7064e6b4e75da82d582982a (diff)
downloadgcc-0391e4a3b3c1095d2f74ef8bbcef29fb31706813.zip
gcc-0391e4a3b3c1095d2f74ef8bbcef29fb31706813.tar.gz
gcc-0391e4a3b3c1095d2f74ef8bbcef29fb31706813.tar.bz2
re PR c++/78283 (-Wc++1z-compat warning is sticky)
PR c++/78283 * mangle.c (start_mangling): Reset G.need_cxx1z_warning. * g++.dg/cpp1z/noexcept-type13.C: New test. From-SVN: r242026
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/mangle.c1
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/noexcept-type13.C14
4 files changed, 25 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 2e3b15d..49561fc 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2016-11-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/78283
+ * mangle.c (start_mangling): Reset G.need_cxx1z_warning.
+
2016-11-09 Jason Merrill <jason@redhat.com>
* parser.c (cp_parser_simple_type_specifier): Allow placeholder
diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c
index a354ec5..2dcec3b 100644
--- a/gcc/cp/mangle.c
+++ b/gcc/cp/mangle.c
@@ -3649,6 +3649,7 @@ start_mangling (const tree entity)
{
G.entity = entity;
G.need_abi_warning = false;
+ G.need_cxx1z_warning = false;
obstack_free (&name_obstack, name_base);
mangle_obstack = &name_obstack;
name_base = obstack_alloc (&name_obstack, 0);
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0418e76..43bbdf9 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2016-11-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/78283
+ * g++.dg/cpp1z/noexcept-type13.C: New test.
+
2016-11-09 Toma Tabacu <toma.tabacu@imgtec.com>
* gcc.target/mips/mips.exp (mips-dg-options): Upgrade to MIPS IV if
diff --git a/gcc/testsuite/g++.dg/cpp1z/noexcept-type13.C b/gcc/testsuite/g++.dg/cpp1z/noexcept-type13.C
new file mode 100644
index 0000000..8eb3be0
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp1z/noexcept-type13.C
@@ -0,0 +1,14 @@
+// PR c++/78283
+// { dg-do compile }
+// { dg-options "-Wall" }
+
+void foo () throw () {} // { dg-bogus "mangled name" }
+
+template <class T>
+T bar (T x) { return x; } // { dg-warning "mangled name" "" { target c++14_down } }
+
+void baz () { // { dg-bogus "mangled name" }
+ return (bar (foo)) ();
+}
+
+void decl () {} // { dg-bogus "mangled name" }