aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2015-05-09 20:47:33 -0400
committerJason Merrill <jason@gcc.gnu.org>2015-05-09 20:47:33 -0400
commitedff0c0662c428774cdccdab4d1998e64ce8acf5 (patch)
tree10e8eb1901147994b71ee74467e11cbf0ccc4931 /gcc
parent129211bc889a6ea7109b4391a3640f42b7c050c6 (diff)
downloadgcc-edff0c0662c428774cdccdab4d1998e64ce8acf5.zip
gcc-edff0c0662c428774cdccdab4d1998e64ce8acf5.tar.gz
gcc-edff0c0662c428774cdccdab4d1998e64ce8acf5.tar.bz2
c-opts.c (c_common_post_options): Also clear cpp_opts->cpp_warn_cxx11_compat.
* c-opts.c (c_common_post_options): Also clear cpp_opts->cpp_warn_cxx11_compat. From-SVN: r222978
Diffstat (limited to 'gcc')
-rw-r--r--gcc/c-family/ChangeLog3
-rw-r--r--gcc/c-family/c-opts.c1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/bracket5.C6
3 files changed, 10 insertions, 0 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 568b2c6..6169e52 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,5 +1,8 @@
2015-05-09 Jason Merrill <jason@redhat.com>
+ * c-opts.c (c_common_post_options): Also clear
+ cpp_opts->cpp_warn_cxx11_compat.
+
* c-common.h (enum cxx_dialect): Add cxx_unset.
* c-common.c (cxx_dialect): Initialize to cxx_unset.
* c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c
index bd99871..e9eb511 100644
--- a/gcc/c-family/c-opts.c
+++ b/gcc/c-family/c-opts.c
@@ -905,6 +905,7 @@ c_common_post_options (const char **pfilename)
/* If we're allowing C++0x constructs, don't warn about C++98
identifiers which are keywords in C++0x. */
warn_cxx11_compat = 0;
+ cpp_opts->cpp_warn_cxx11_compat = 0;
if (warn_narrowing == -1)
warn_narrowing = 1;
diff --git a/gcc/testsuite/g++.dg/cpp0x/bracket5.C b/gcc/testsuite/g++.dg/cpp0x/bracket5.C
new file mode 100644
index 0000000..22ac544
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/bracket5.C
@@ -0,0 +1,6 @@
+// { dg-options "-Wall" }
+// { dg-do compile { target c++11 } }
+
+template <int> struct X {};
+template <typename> struct Y { static int const c = 0; };
+int main() { return Y<X<1>>::c; }