[cfe-commits] r141913 - in /cfe/trunk: include/clang/Basic/DiagnosticCommonKinds.td include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticLexKinds.td include/clang/Basic/DiagnosticParseKinds.td include/clang/Basic/DiagnosticSemaKi

Nico Weber thakis at chromium.org
Sat Oct 15 08:52:48 PDT 2011


-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
<richard-llvm at metafoo.co.uk> 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
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>




More information about the cfe-commits mailing list