-Wc++0x-extensions was off by default. Now it looks like it's on by default. Is that intentional? Was that caused by this patch?
Nico On Thu, Oct 13, 2011 at 4:32 PM, Richard Smith <[email protected]> wrote: > Author: rsmith > Date: Thu Oct 13 18:32:09 2011 > New Revision: 141913 > > URL: http://llvm.org/viewvc/llvm-project?rev=141913&view=rev > Log: > 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. > > Modified: > cfe/trunk/include/clang/Basic/DiagnosticCommonKinds.td > cfe/trunk/include/clang/Basic/DiagnosticGroups.td > cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td > cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td > cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td > cfe/trunk/lib/Driver/Tools.cpp > > Modified: cfe/trunk/include/clang/Basic/DiagnosticCommonKinds.td > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticCommonKinds.td?rev=141913&r1=141912&r2=141913&view=diff > ============================================================================== > --- cfe/trunk/include/clang/Basic/DiagnosticCommonKinds.td (original) > +++ cfe/trunk/include/clang/Basic/DiagnosticCommonKinds.td Thu Oct 13 > 18:32:09 2011 > @@ -52,7 +52,7 @@ > "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; > > Modified: cfe/trunk/include/clang/Basic/DiagnosticGroups.td > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticGroups.td?rev=141913&r1=141912&r2=141913&view=diff > ============================================================================== > --- cfe/trunk/include/clang/Basic/DiagnosticGroups.td (original) > +++ cfe/trunk/include/clang/Basic/DiagnosticGroups.td Thu Oct 13 18:32:09 2011 > @@ -54,9 +54,11 @@ > 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 @@ > > // 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">; > > > Modified: cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td?rev=141913&r1=141912&r2=141913&view=diff > ============================================================================== > --- cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td (original) > +++ cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td Thu Oct 13 18:32:09 > 2011 > @@ -47,7 +47,7 @@ > 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">; > > Modified: cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td?rev=141913&r1=141912&r2=141913&view=diff > ============================================================================== > --- cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td (original) > +++ cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td Thu Oct 13 18:32:09 > 2011 > @@ -187,26 +187,26 @@ > 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 @@ > " 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 @@ > > // 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 @@ > > // 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'">; > > Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=141913&r1=141912&r2=141913&view=diff > ============================================================================== > --- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original) > +++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Thu Oct 13 18:32:09 > 2011 > @@ -618,12 +618,12 @@ > 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 @@ > "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 @@ > "%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 @@ > "%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 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 @@ > "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 @@ > "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 @@ > "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 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 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 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 @@ > > // 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< > > Modified: cfe/trunk/lib/Driver/Tools.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=141913&r1=141912&r2=141913&view=diff > ============================================================================== > --- cfe/trunk/lib/Driver/Tools.cpp (original) > +++ cfe/trunk/lib/Driver/Tools.cpp Thu Oct 13 18:32:09 2011 > @@ -2581,7 +2581,9 @@ > .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) > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
