diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2011-10-13 23:32:09 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2011-10-13 23:32:09 +0000 |
commit | 575fdda948e07c1afc6fcdced9e5cf0b7905a54e (patch) | |
tree | 9fba7ca46f5ba3b7a99e48efccb054c0a9252921 | |
parent | 133ca80b6b7451bf0af1bed7ef6f3928a0a1d5a3 (diff) |
Rename -Wc++0x-compat, -Wc++0x-extensions and -Wc++0x-narrowing from c++0x to
c++11. The old names are kept for backwards-compatibility. Patch by Ahmed
Charles! Names for backwards-compatible DiagGroups removed by me.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141913 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/Basic/DiagnosticCommonKinds.td | 2 | ||||
-rw-r--r-- | include/clang/Basic/DiagnosticGroups.td | 9 | ||||
-rw-r--r-- | include/clang/Basic/DiagnosticLexKinds.td | 2 | ||||
-rw-r--r-- | include/clang/Basic/DiagnosticParseKinds.td | 24 | ||||
-rw-r--r-- | include/clang/Basic/DiagnosticSemaKinds.td | 30 | ||||
-rw-r--r-- | lib/Driver/Tools.cpp | 4 |
6 files changed, 38 insertions, 33 deletions
diff --git a/include/clang/Basic/DiagnosticCommonKinds.td b/include/clang/Basic/DiagnosticCommonKinds.td index ef114eb7bd..3ead96b52d 100644 --- a/include/clang/Basic/DiagnosticCommonKinds.td +++ b/include/clang/Basic/DiagnosticCommonKinds.td @@ -52,7 +52,7 @@ def err_invalid_storage_class_in_func_decl : Error< "invalid storage class specifier in function declarator">; def err_expected_namespace_name : Error<"expected namespace name">; def ext_variadic_templates : ExtWarn< - "variadic templates are a C++11 extension">, InGroup<CXX0x>; + "variadic templates are a C++11 extension">, InGroup<CXX11>; def warn_cxx98_compat_variadic_templates : Warning<"variadic templates are incompatible with C++98">, InGroup<CXX98CompatVariadicTemplates>, DefaultIgnore; diff --git a/include/clang/Basic/DiagnosticGroups.td b/include/clang/Basic/DiagnosticGroups.td index 3e1b7085db..9cbde335e4 100644 --- a/include/clang/Basic/DiagnosticGroups.td +++ b/include/clang/Basic/DiagnosticGroups.td @@ -54,9 +54,11 @@ def ExtraTokens : DiagGroup<"extra-tokens">; def FormatExtraArgs : DiagGroup<"format-extra-args">; def FormatZeroLength : DiagGroup<"format-zero-length">; -def CXX0xNarrowing : DiagGroup<"c++0x-narrowing">; +def CXX11Narrowing : DiagGroup<"c++11-narrowing">; +def : DiagGroup<"c++0x-narrowing", [CXX11Narrowing]>; -def CXX0xCompat : DiagGroup<"c++0x-compat", [CXX0xNarrowing]>; +def CXX11Compat : DiagGroup<"c++11-compat", [CXX11Narrowing]>; +def : DiagGroup<"c++0x-compat", [CXX11Compat]>; // These groups warn in C++0x mode about non-C++98 constructs, and // constructs with different behavior between the two versions of the @@ -314,7 +316,8 @@ def NonGCC : DiagGroup<"non-gcc", // A warning group for warnings about using C++11 features as extensions in // earlier C++ versions. -def CXX0x : DiagGroup<"c++0x-extensions">; +def CXX11 : DiagGroup<"c++11-extensions">; +def : DiagGroup<"c++0x-extensions", [CXX11]>; def DelegatingCtorCycles : DiagGroup<"delegating-ctor-cycles">; diff --git a/include/clang/Basic/DiagnosticLexKinds.td b/include/clang/Basic/DiagnosticLexKinds.td index 6655472057..04409c7de9 100644 --- a/include/clang/Basic/DiagnosticLexKinds.td +++ b/include/clang/Basic/DiagnosticLexKinds.td @@ -47,7 +47,7 @@ def ext_token_used : Extension<"extension used">, InGroup<DiagGroup<"language-extension-token">>; def warn_cxx11_keyword : Warning<"'%0' is a keyword in C++11">, - InGroup<CXX0xCompat>; + InGroup<CXX11Compat>; def warn_unterminated_string : ExtWarn<"missing terminating '\"' character">; def warn_unterminated_char : ExtWarn<"missing terminating ' character">; diff --git a/include/clang/Basic/DiagnosticParseKinds.td b/include/clang/Basic/DiagnosticParseKinds.td index e589a0f0e4..c083887584 100644 --- a/include/clang/Basic/DiagnosticParseKinds.td +++ b/include/clang/Basic/DiagnosticParseKinds.td @@ -187,26 +187,26 @@ def err_invalid_reference_qualifier_application : Error< def err_illegal_decl_reference_to_reference : Error< "%0 declared as a reference to a reference">; def ext_rvalue_reference : ExtWarn< - "rvalue references are a C++11 extension">, InGroup<CXX0x>; + "rvalue references are a C++11 extension">, InGroup<CXX11>; def ext_ref_qualifier : ExtWarn< - "reference qualifiers on functions are a C++11 extension">, InGroup<CXX0x>; + "reference qualifiers on functions are a C++11 extension">, InGroup<CXX11>; def ext_inline_namespace : ExtWarn< - "inline namespaces are a C++11 feature">, InGroup<CXX0x>; + "inline namespaces are a C++11 feature">, InGroup<CXX11>; def err_generalized_initializer_lists : Error< "generalized initializer lists are a C++11 extension unsupported in Clang">; def ext_generalized_initializer_lists : ExtWarn< "generalized initializer lists are a C++11 extension unsupported in Clang">, - InGroup<CXX0x>; + InGroup<CXX11>; def ext_auto_type_specifier : ExtWarn< - "'auto' type specifier is a C++11 extension">, InGroup<CXX0x>; + "'auto' type specifier is a C++11 extension">, InGroup<CXX11>; def warn_auto_storage_class : Warning< "'auto' storage class specifier is redundant and incompatible with C++11">, - InGroup<CXX0xCompat>; + InGroup<CXX11Compat>; def ext_auto_storage_class : ExtWarn< "'auto' storage class specifier is not permitted in C++11, and will not " "be supported in future releases">; def ext_for_range : ExtWarn< - "range-based for loop is a C++11 extension">, InGroup<CXX0x>; + "range-based for loop is a C++11 extension">, InGroup<CXX11>; def err_argument_required_after_attribute : Error< "argument required after attribute">; def err_missing_param : Error<"expected parameter declarator">; @@ -460,15 +460,15 @@ def err_missing_whitespace_digraph : Error< " which forms the digraph '<:' (aka '[') and a ':', did you mean '< ::'?">; def warn_deleted_function_accepted_as_extension: ExtWarn< - "deleted function definition accepted as a C++11 extension">, InGroup<CXX0x>; + "deleted function definition accepted as a C++11 extension">, InGroup<CXX11>; def warn_defaulted_function_accepted_as_extension: ExtWarn< "defaulted function definition accepted as a C++11 extension">, - InGroup<CXX0x>; + InGroup<CXX11>; // C++11 in-class member initialization def warn_nonstatic_member_init_accepted_as_extension: ExtWarn< "in-class initialization of non-static data member accepted as a C++11 extension">, - InGroup<CXX0x>; + InGroup<CXX11>; def err_bitfield_member_init: Error< "bitfield member cannot have an in-class initializer">; def err_incomplete_array_member_init: Error< @@ -476,7 +476,7 @@ def err_incomplete_array_member_init: Error< // C++11 alias-declaration def ext_alias_declaration : ExtWarn< - "alias declarations accepted as a C++11 extension">, InGroup<CXX0x>; + "alias declarations accepted as a C++11 extension">, InGroup<CXX11>; def err_alias_declaration_not_identifier : Error< "name defined in alias declaration must be an identifier">; def err_alias_declaration_specialization : Error< @@ -484,7 +484,7 @@ def err_alias_declaration_specialization : Error< // C++11 override control def ext_override_control_keyword : Extension< - "'%0' keyword accepted as a C++11 extension">, InGroup<CXX0x>; + "'%0' keyword accepted as a C++11 extension">, InGroup<CXX11>; def err_duplicate_virt_specifier : Error< "class member already marked '%0'">; diff --git a/include/clang/Basic/DiagnosticSemaKinds.td b/include/clang/Basic/DiagnosticSemaKinds.td index 36386ec726..7d7b922a3a 100644 --- a/include/clang/Basic/DiagnosticSemaKinds.td +++ b/include/clang/Basic/DiagnosticSemaKinds.td @@ -618,12 +618,12 @@ def err_unexpected_friend : Error< def ext_enum_friend : ExtWarn< "enumeration type %0 cannot be a friend">; def ext_nonclass_type_friend : ExtWarn< - "non-class friend type %0 is a C++11 extension">, InGroup<CXX0x>; + "non-class friend type %0 is a C++11 extension">, InGroup<CXX11>; def err_friend_is_member : Error< "friends cannot be members of the declaring class">; def ext_unelaborated_friend_type : ExtWarn< "specify '%select{struct|union|class|enum}0' to befriend %1; accepted " - "as a C++11 extension">, InGroup<CXX0x>; + "as a C++11 extension">, InGroup<CXX11>; def err_qualified_friend_not_found : Error< "no function named %0 with type %1 was found in the specified scope">; def err_introducing_special_friend : Error< @@ -2053,7 +2053,7 @@ def err_template_param_default_arg_missing : Error< "template parameter missing a default argument">; def ext_template_parameter_default_in_function_template : ExtWarn< "default template arguments for a function template are a C++11 extension">, - InGroup<CXX0x>; + InGroup<CXX11>; def err_template_parameter_default_template_member : Error< "cannot add a default template argument to the definition of a member of a " "class template">; @@ -2190,7 +2190,7 @@ def ext_template_spec_decl_out_of_scope_global : ExtWarn< "%select{class template|class template partial|function template|member " "function|static data member|member class}0 specialization of %1 must " "originally be declared in the global scope; accepted as a C++11 extension">, - InGroup<CXX0x>; + InGroup<CXX11>; def err_template_spec_decl_out_of_scope : Error< "%select{class template|class template partial|function template|member " "function|static data member|member class}0 specialization of %1 must " @@ -2199,7 +2199,7 @@ def ext_template_spec_decl_out_of_scope : ExtWarn< "%select{class template|class template partial|function template|member " "function|static data member|member class}0 specialization of %1 must " "originally be declared in namespace %2; accepted as a C++11 extension">, - InGroup<CXX0x>; + InGroup<CXX11>; def err_template_spec_redecl_out_of_scope : Error< "%select{class template|class template partial|function template|member " "function|static data member|member class}0 specialization of %1 not in a " @@ -2366,7 +2366,7 @@ def note_previous_explicit_instantiation : Note< def ext_explicit_instantiation_after_specialization : Extension< "explicit instantiation of %0 that occurs after an explicit " "specialization will be ignored (C++11 extension)">, - InGroup<CXX0x>; + InGroup<CXX11>; def note_previous_template_specialization : Note< "previous template specialization is here">; def err_explicit_instantiation_enum : Error< @@ -2383,10 +2383,10 @@ def err_explicit_instantiation_must_be_global : Error< "explicit instantiation of %0 must occur at global scope">; def warn_explicit_instantiation_out_of_scope_0x : Warning< "explicit instantiation of %0 not in a namespace enclosing %1">, - InGroup<CXX0xCompat>; + InGroup<CXX11Compat>; def warn_explicit_instantiation_must_be_global_0x : Warning< "explicit instantiation of %0 must occur at global scope">, - InGroup<CXX0xCompat>; + InGroup<CXX11Compat>; def err_explicit_instantiation_requires_name : Error< "explicit instantiation declaration requires a name">; @@ -2418,7 +2418,7 @@ def err_explicit_instantiation_unqualified_wrong_namespace : Error< "explicit instantiation of %q0 must occur in %1">; def warn_explicit_instantiation_unqualified_wrong_namespace_0x : Warning< "explicit instantiation of %q0 must occur in %1">, - InGroup<CXX0xCompat>; + InGroup<CXX11Compat>; def err_explicit_instantiation_undefined_member : Error< "explicit instantiation of undefined %select{member class|member function|" "static data member}0 %1 of class template %2">; @@ -2442,7 +2442,7 @@ def warn_typename_missing : ExtWarn< "missing 'typename' prior to dependent type name '%0%1'">, InGroup<DiagGroup<"typename-missing">>; def ext_typename_outside_of_template : ExtWarn< - "'typename' occurs outside of a template">, InGroup<CXX0x>; + "'typename' occurs outside of a template">, InGroup<CXX11>; def err_typename_refers_to_using_value_decl : Error< "typename specifier refers to a dependent using declaration for a value " "%0 in %1">; @@ -2460,7 +2460,7 @@ def note_referenced_class_template : Error< def err_template_kw_missing : Error< "missing 'template' keyword prior to dependent template name '%0%1'">; def ext_template_outside_of_template : ExtWarn< - "'template' keyword outside of a template">, InGroup<CXX0x>; + "'template' keyword outside of a template">, InGroup<CXX11>; def err_non_type_template_in_nested_name_specifier : Error< "qualified name refers into a specialization of function template '%0'">; @@ -2756,11 +2756,11 @@ def err_init_list_constant_narrowing : Error< def warn_init_list_variable_narrowing : Warning< "non-constant-expression cannot be narrowed from type %0 to %1 in " "initializer list in C++11">, - InGroup<CXX0xNarrowing>, DefaultIgnore; + InGroup<CXX11Narrowing>, DefaultIgnore; def warn_init_list_constant_narrowing : Warning< "constant expression evaluates to %0 which cannot be narrowed to type %1 in " "C++11">, - InGroup<CXX0xNarrowing>, DefaultIgnore; + InGroup<CXX11Narrowing>, DefaultIgnore; def note_init_list_narrowing_override : Note< "override this message by inserting an explicit cast">; def err_init_objc_class : Error< @@ -3676,7 +3676,7 @@ def err_array_size_ambiguous_conversion : Error< def ext_array_size_conversion : Extension< "implicit conversion from array size expression of type %0 to " "%select{integral|enumeration}1 type %2 is a C++11 extension">, - InGroup<CXX0x>; + InGroup<CXX11>; def err_address_space_qualified_new : Error< "'new' cannot allocate objects of type %0 in address space '%1'">; def err_address_space_qualified_delete : Error< @@ -4380,7 +4380,7 @@ def warn_not_compound_assign : Warning< // C++11 explicit conversion operators def warn_explicit_conversion_functions : Warning< - "explicit conversion functions are a C++11 extension">, InGroup<CXX0x>; + "explicit conversion functions are a C++11 extension">, InGroup<CXX11>; // C++11 defaulted functions def err_defaulted_default_ctor_params : Error< diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 5bf0d2627d..873f213531 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -2581,7 +2581,9 @@ void darwin::CC1::RemoveCC1UnsupportedArgs(ArgStringList &CmdArgs) const { .Case("c++0x-compat", true) .Case("c++0x-extensions", true) .Case("c++0x-narrowing", true) - .Case("c++0x-static-nonintegral-init", true) + .Case("c++11-compat", true) + .Case("c++11-extensions", true) + .Case("c++11-narrowing", true) .Case("conditional-uninitialized", true) .Case("constant-conversion", true) .Case("CFString-literal", true) |