aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2015-05-09 00:50:15 -0400
committerJason Merrill <jason@gcc.gnu.org>2015-05-09 00:50:15 -0400
commit765189ff60c25e93d65f8c202afc893ea8cef220 (patch)
treeb59d2738088b3f645d400b99f7c6f12dfeff9a7a
parentfe191308ddc9bb7095d01bcd11dcaf1f38c84bab (diff)
downloadgcc-765189ff60c25e93d65f8c202afc893ea8cef220.zip
gcc-765189ff60c25e93d65f8c202afc893ea8cef220.tar.gz
gcc-765189ff60c25e93d65f8c202afc893ea8cef220.tar.bz2
c.opt (Wc++11-compat): Make primary.
gcc/c-family/ * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat. * c-opts.c: Adjust. gcc/cp/ * cp-gimplify.c, parser.c: Adjust. From-SVN: r222962
-rw-r--r--gcc/c-family/ChangeLog3
-rw-r--r--gcc/c-family/c-opts.c2
-rw-r--r--gcc/c-family/c.opt7
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/cp-gimplify.c4
-rw-r--r--gcc/cp/parser.c10
6 files changed, 19 insertions, 12 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 17fb72f..1019aea 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,5 +1,8 @@
2015-05-08 Jason Merrill <jason@redhat.com>
+ * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
+ * c-opts.c: Adjust.
+
* c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
2015-05-08 Marek Polacek <polacek@redhat.com>
diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c
index a61d6a8..8b17674 100644
--- a/gcc/c-family/c-opts.c
+++ b/gcc/c-family/c-opts.c
@@ -900,7 +900,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_cxx0x_compat = 0;
+ warn_cxx11_compat = 0;
if (warn_narrowing == -1)
warn_narrowing = 1;
diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
index 8f48d84..e244a6d 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -312,11 +312,10 @@ C ObjC Var(warn_cxx_compat) CPP(warn_cxx_operator_names) CppReason(CPP_W_CXX_OPE
Warn about C constructs that are not in the common subset of C and C++
Wc++0x-compat
-C++ ObjC++ Var(warn_cxx0x_compat) Warning LangEnabledBy(C++ ObjC++,Wall) Init(0) CPP(cpp_warn_cxx11_compat) CppReason(CPP_W_CXX11_COMPAT)
-Deprecated in favor of -Wc++11-compat
+C++ ObjC++ Warning Alias(Wc++11-compat) Undocumented
Wc++11-compat
-C++ ObjC++ Warning Alias(Wc++0x-compat)
+C++ ObjC++ Var(warn_cxx11_compat) Warning LangEnabledBy(C++ ObjC++,Wall) Init(0) CPP(cpp_warn_cxx11_compat) CppReason(CPP_W_CXX11_COMPAT)
Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 2011
Wc++14-compat
@@ -627,7 +626,7 @@ C ObjC C++ ObjC++ CPP(warn_multichar) CppReason(CPP_W_MULTICHAR) Var(cpp_warn_mu
Warn about use of multi-character character constants
Wnarrowing
-C ObjC C++ ObjC++ Warning Var(warn_narrowing) Init(-1) LangEnabledBy(C++ ObjC++,Wall || Wc++0x-compat)
+C ObjC C++ ObjC++ Warning Var(warn_narrowing) Init(-1) LangEnabledBy(C++ ObjC++,Wall || Wc++11-compat)
Warn about narrowing conversions within { } that are ill-formed in C++11
Wnested-externs
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 0910549..e776b00 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,10 @@
2015-05-08 Jason Merrill <jason@redhat.com>
+ * cp-gimplify.c, parser.c: Adjust to -Wc++11-compat replacing
+ -Wc++0x-compat.
+
+2015-05-08 Jason Merrill <jason@redhat.com>
+
* decl2.c (mangling_aliases): New variable.
(note_mangling_alias, generate_mangling_aliases): New.
(cp_write_global_declarations): Call generate_mangling_aliases.
diff --git a/gcc/cp/cp-gimplify.c b/gcc/cp/cp-gimplify.c
index 35749ef..d5a64fc 100644
--- a/gcc/cp/cp-gimplify.c
+++ b/gcc/cp/cp-gimplify.c
@@ -1231,13 +1231,13 @@ cp_genericize_r (tree *stmt_p, int *walk_subtrees, void *data)
}
else
{
- if (warn_cxx0x_compat && cxx_dialect < cxx11
+ if (warn_cxx11_compat && cxx_dialect < cxx11
&& DECL_DESTRUCTOR_P (current_function_decl)
&& (TYPE_RAISES_EXCEPTIONS (TREE_TYPE (current_function_decl))
== NULL_TREE)
&& (get_defaulted_eh_spec (current_function_decl)
== empty_except_spec))
- warning_at (loc, OPT_Wc__0x_compat,
+ warning_at (loc, OPT_Wc__11_compat,
"in C++11 this throw will terminate because "
"destructors default to noexcept");
}
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index 3d165da..6f746a1 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -802,13 +802,13 @@ cp_lexer_get_preprocessor_token (cp_lexer *lexer, cp_token *token)
}
else
{
- if (warn_cxx0x_compat
+ if (warn_cxx11_compat
&& C_RID_CODE (token->u.value) >= RID_FIRST_CXX0X
&& C_RID_CODE (token->u.value) <= RID_LAST_CXX0X)
{
/* Warn about the C++0x keyword (but still treat it as
an identifier). */
- warning (OPT_Wc__0x_compat,
+ warning (OPT_Wc__11_compat,
"identifier %qE is a keyword in C++11",
token->u.value);
@@ -8162,11 +8162,11 @@ cp_parser_binary_expression (cp_parser* parser, bool cast_p,
/* Get an operator token. */
token = cp_lexer_peek_token (parser->lexer);
- if (warn_cxx0x_compat
+ if (warn_cxx11_compat
&& token->type == CPP_RSHIFT
&& !parser->greater_than_is_operator_p)
{
- if (warning_at (token->location, OPT_Wc__0x_compat,
+ if (warning_at (token->location, OPT_Wc__11_compat,
"%<>>%> operator is treated"
" as two right angle brackets in C++11"))
inform (token->location,
@@ -11873,7 +11873,7 @@ cp_parser_decl_specifier_seq (cp_parser* parser,
/* Complain about `auto' as a storage specifier, if
we're complaining about C++0x compatibility. */
- warning_at (token->location, OPT_Wc__0x_compat, "%<auto%>"
+ warning_at (token->location, OPT_Wc__11_compat, "%<auto%>"
" changes meaning in C++11; please remove it");
/* Set the storage class anyway. */