]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* typeck.c (string_conv_p): Pass appropiate
authorlmillward <lmillward@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 3 Feb 2006 23:11:09 +0000 (23:11 +0000)
committerlmillward <lmillward@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 3 Feb 2006 23:11:09 +0000 (23:11 +0000)
       OPT_Wxxxx values when calling warning().
       (build_array_ref, cxx_mark_addressable): Likewise.
       (check_return_expr): Likewise.

       * init.c (perform_member_init): Likewise.
       (sort_mem_initializers, emit_mem_initializers): Likewise.

       * class.c (check_field_decls): Likewise.
       (warn_about_ambiguous_bases): Likewise.

       * decl.c (pop_label, poplevel): Likewise.
       (duplicate_decls, grok_op_properties): Likewise.
       (start_preparsed_function, finish_function): Likewise.

       * name-lookup.c (pushdecl_maybe_friend): Likewise.
       (pushdecl_maybe_friend): Likewise.

       * parser.c (cp_parser_warn_min_max): Likewise.
       (cp_parser_cast_expression): Likewise.

       * method.c (lazily_declare_fn): Likewise.
       * cvt.c (convert_to_void): Likewise.
       * mangle.c (finish_mangling): Likewise.
       * cp-gimplify.c (gimplify_expr_stmt): Likewise
.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110567 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/class.c
gcc/cp/cp-gimplify.c
gcc/cp/cvt.c
gcc/cp/decl.c
gcc/cp/init.c
gcc/cp/mangle.c
gcc/cp/method.c
gcc/cp/name-lookup.c
gcc/cp/parser.c
gcc/cp/typeck.c

index 8e57bdce99f459f645c31303000de4bee1bce2bf..63e5f9aecdc9ad9db10016749cd75f916d6ae256 100644 (file)
@@ -1,3 +1,31 @@
+2006-02-03  Lee Millward  <lee.millward@gmail.com>
+
+       * typeck.c (string_conv_p): Pass appropiate
+       OPT_Wxxxx values when calling warning().
+       (build_array_ref, cxx_mark_addressable): Likewise.
+       (check_return_expr): Likewise.
+
+       * init.c (perform_member_init): Likewise.
+       (sort_mem_initializers, emit_mem_initializers): Likewise.
+
+       * class.c (check_field_decls): Likewise.
+       (warn_about_ambiguous_bases): Likewise.
+
+       * decl.c (pop_label, poplevel): Likewise.
+       (duplicate_decls, grok_op_properties): Likewise.
+       (start_preparsed_function, finish_function): Likewise.
+
+       * name-lookup.c (pushdecl_maybe_friend): Likewise.
+       (pushdecl_maybe_friend): Likewise.
+
+       * parser.c (cp_parser_warn_min_max): Likewise.
+       (cp_parser_cast_expression): Likewise.
+
+       * method.c (lazily_declare_fn): Likewise.
+       * cvt.c (convert_to_void): Likewise.
+       * mangle.c (finish_mangling): Likewise.
+       * cp-gimplify.c (gimplify_expr_stmt): Likewise.
+
 2006-02-03  Mark Mitchell  <mark@codesourcery.com>
 
        * name-lookup.c (do_class_using_decl): Use IDENTIFIER_TYPENAME_P,
        (cp_parser_asm_definition): Call cgraph_add_asm_node rather than
        assemble_asm.
 
-2006-01-16  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
+2006-01-16  Rafael �ila de Esp�dola  <rafael.espindola@gmail.com>
 
        * g++spec.c (lang_specific_spec_functions): Remove.
 
        * mangle.c (write_bare_function_type): Mangle return type for
        methods of Java classes
 
-2005-12-08  Théodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
+2005-12-08  Thdore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
 
        * call.c (build_conditional_expr): Print types in error messages.
 
 
        * cp-gimplify.c (gimplify_cp_loop): Use fold_build3.
 
-2005-12-07  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
+2005-12-07  Rafael �ila de Esp�dola  <rafael.espindola@gmail.com>
 
        * Make-lang.in (c++.all.build, c++.install-normal): Remove.
 
-2005-12-07  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
+2005-12-07  Rafael �ila de Esp�dola  <rafael.espindola@gmail.com>
 
        * Make-lang.in: Remove all dependencies on s-gtype.
 
index fd50f1733f69f265da3c4034ffb22785aca9e15c..f3240113be32419540c02d4e159d8ee3ba555a6f 100644 (file)
@@ -2935,9 +2935,8 @@ check_field_decls (tree t, tree *access_decls,
             members.  */
          TYPE_HAS_COMPLEX_ASSIGN_REF (t) = 1;
 
-         if (! TYPE_HAS_CONSTRUCTOR (t) && CLASSTYPE_NON_AGGREGATE (t)
-             && extra_warnings)
-           warning (0, "non-static reference %q+#D in class without a constructor", x);
+         if (! TYPE_HAS_CONSTRUCTOR (t) && CLASSTYPE_NON_AGGREGATE (t))
+           warning (OPT_Wextra, "non-static reference %q+#D in class without a constructor", x);
        }
 
       type = strip_array_types (type);
@@ -2982,9 +2981,8 @@ check_field_decls (tree t, tree *access_decls,
             members.  */
          TYPE_HAS_COMPLEX_ASSIGN_REF (t) = 1;
 
-         if (! TYPE_HAS_CONSTRUCTOR (t) && CLASSTYPE_NON_AGGREGATE (t)
-             && extra_warnings)
-           warning (0, "non-static const member %q+#D in class without a constructor", x);
+         if (! TYPE_HAS_CONSTRUCTOR (t) && CLASSTYPE_NON_AGGREGATE (t))
+           warning (OPT_Wextra, "non-static const member %q+#D in class without a constructor", x);
        }
       /* A field that is pseudo-const makes the structure likewise.  */
       else if (CLASS_TYPE_P (type))
@@ -3032,7 +3030,7 @@ check_field_decls (tree t, tree *access_decls,
        && TYPE_HAS_NONTRIVIAL_DESTRUCTOR (t)
        && !(TYPE_HAS_INIT_REF (t) && TYPE_HAS_ASSIGN_REF (t)))
     {
-      warning (0, "%q#T has pointer data members", t);
+      warning (OPT_Weffc__, "%q#T has pointer data members", t);
 
       if (! TYPE_HAS_INIT_REF (t))
        {
@@ -4469,7 +4467,7 @@ warn_about_ambiguous_bases (tree t)
        basetype = BINFO_TYPE (binfo);
 
        if (!lookup_base (t, basetype, ba_unique | ba_quiet, NULL))
-         warning (0, "virtual base %qT inaccessible in %qT due to ambiguity",
+         warning (OPT_Wextra, "virtual base %qT inaccessible in %qT due to ambiguity",
                   basetype, t);
       }
 }
index 2eb4ae9f6c0849f96c6668d67cf474db7a4c50a6..38838e734e696d8fcc5b816e86396b02358ae775 100644 (file)
@@ -361,7 +361,7 @@ gimplify_expr_stmt (tree *stmt_p)
          if (!IS_EMPTY_STMT (stmt)
              && !VOID_TYPE_P (TREE_TYPE (stmt))
              && !TREE_NO_WARNING (stmt))
-           warning (0, "statement with no effect");
+           warning (OPT_Wextra, "statement with no effect");
        }
       else if (warn_unused_value)
        warn_if_unused_value (stmt, input_location);
index 8bf2e193e80ff5cf154b8762c48653d1446e90b8..ef121d2c3e901d3b6ab04a1ce5b344dddfe33cbd 100644 (file)
@@ -918,7 +918,7 @@ convert_to_void (tree expr, const char *implicit)
          /* The middle end does not warn about expressions that have
             been explicitly cast to void, so we must do so here.  */
          if (!TREE_SIDE_EFFECTS (expr))
-           warning (0, "%s has no effect", implicit);
+           warning (OPT_Wunused_value, "%s has no effect", implicit);
          else
            {
              tree e;
@@ -950,7 +950,7 @@ convert_to_void (tree expr, const char *implicit)
                            || code == PREINCREMENT_EXPR
                            || code == POSTDECREMENT_EXPR
                            || code == POSTINCREMENT_EXPR)))
-               warning (0, "value computed is not used");
+               warning (OPT_Wunused_value, "value computed is not used");
            }
        }
       expr = build1 (CONVERT_EXPR, void_type_node, expr);
index ef7ed3a4fcdc00d220fdaf32ef773e7404b0b644..6e2abf8f3dd68f7b149f496b9fbb4a150b749339 100644 (file)
@@ -361,8 +361,8 @@ pop_label (tree label, tree old_value)
          /* Avoid crashing later.  */
          define_label (location, DECL_NAME (label));
        }
-      else if (warn_unused_label && !TREE_USED (label))
-       warning (0, "label %q+D defined but not used", label);
+      else if (!TREE_USED (label))
+       warning (OPT_Wunused_label, "label %q+D defined but not used", label);
     }
 
   SET_IDENTIFIER_LABEL_VALUE (DECL_NAME (label), old_value);
@@ -556,7 +556,7 @@ poplevel (int keep, int reverse, int functionbody)
          && ! TREE_USED (decl)
          && ! DECL_IN_SYSTEM_HEADER (decl)
          && DECL_NAME (decl) && ! DECL_ARTIFICIAL (decl))
-       warning (0, "unused variable %q+D", decl);
+       warning (OPT_Wunused_variable, "unused variable %q+D", decl);
 
   /* Remove declarations for all the DECLs in this level.  */
   for (link = decls; link; link = TREE_CHAIN (link))
@@ -1119,10 +1119,9 @@ duplicate_decls (tree newdecl, tree olddecl, bool newdecl_is_friend)
             bad choice of name.  */
          if (! TREE_PUBLIC (newdecl))
            {
-             if (warn_shadow)
-               warning (0, "shadowing %s function %q#D",
-                        DECL_BUILT_IN (olddecl) ? "built-in" : "library",
-                        olddecl);
+             warning (OPT_Wshadow, "shadowing %s function %q#D",
+                      DECL_BUILT_IN (olddecl) ? "built-in" : "library",
+                      olddecl);
              /* Discard the old built-in function.  */
              return NULL_TREE;
            }
@@ -1192,8 +1191,8 @@ duplicate_decls (tree newdecl, tree olddecl, bool newdecl_is_friend)
                  warning (0, "ambiguates built-in declaration %q#D",
                           olddecl);
                }
-             else if (warn_shadow)
-               warning (0, "shadowing %s function %q#D",
+             else
+               warning (OPT_Wshadow, "shadowing %s function %q#D",
                         DECL_BUILT_IN (olddecl) ? "built-in" : "library",
                         olddecl);
            }
@@ -1504,8 +1503,8 @@ duplicate_decls (tree newdecl, tree olddecl, bool newdecl_is_friend)
          /* Don't warn about friends, let add_friend take care of it.  */
          && ! (newdecl_is_friend || DECL_FRIEND_P (olddecl)))
        {
-         warning (0, "redundant redeclaration of %qD in same scope", newdecl);
-         warning (0, "previous declaration of %q+D", olddecl);
+         warning (OPT_Wredundant_decls, "redundant redeclaration of %qD in same scope", newdecl);
+         warning (OPT_Wredundant_decls, "previous declaration of %q+D", olddecl);
        }
     }
 
@@ -9012,7 +9011,7 @@ grok_op_properties (tree decl, bool complain)
            }
 
          if (what)
-           warning (0, "conversion to %s%s will never use a type "
+           warning (OPT_Wconversion, "conversion to %s%s will never use a type "
                     "conversion operator",
                     ref ? "a reference to " : "", what);
        }
@@ -9103,13 +9102,13 @@ grok_op_properties (tree decl, bool complain)
                  if (TREE_CODE (ret) != REFERENCE_TYPE
                      || !same_type_p (TYPE_MAIN_VARIANT (TREE_TYPE (ret)),
                                       arg))
-                   warning (0, "prefix %qD should return %qT", decl,
+                   warning (OPT_Weffc__, "prefix %qD should return %qT", decl,
                             build_reference_type (arg));
                }
              else
                {
                  if (!same_type_p (TYPE_MAIN_VARIANT (ret), arg))
-                   warning (0, "postfix %qD should return %qT", decl, arg);
+                   warning (OPT_Weffc__, "postfix %qD should return %qT", decl, arg);
                }
            }
        }
@@ -9138,7 +9137,7 @@ grok_op_properties (tree decl, bool complain)
              && (operator_code == TRUTH_ANDIF_EXPR
                  || operator_code == TRUTH_ORIF_EXPR
                  || operator_code == COMPOUND_EXPR))
-           warning (0, "user-defined %qD always evaluates both arguments",
+           warning (OPT_Weffc__, "user-defined %qD always evaluates both arguments",
                     decl);
        }
 
@@ -9152,7 +9151,7 @@ grok_op_properties (tree decl, bool complain)
              || operator_code == MULT_EXPR
              || operator_code == TRUNC_MOD_EXPR)
          && TREE_CODE (TREE_TYPE (TREE_TYPE (decl))) == REFERENCE_TYPE)
-       warning (0, "%qD should return by value", decl);
+       warning (OPT_Weffc__, "%qD should return by value", decl);
 
       /* [over.oper]/8 */
       for (; argtypes && argtypes != void_list_node;
@@ -10183,7 +10182,7 @@ start_preparsed_function (tree decl1, tree attrs, int flags)
   if (warn_ecpp
       && DECL_OVERLOADED_OPERATOR_P (decl1) == NOP_EXPR
       && TREE_CODE (TREE_TYPE (fntype)) == VOID_TYPE)
-    warning (0, "%<operator=%> should return a reference to %<*this%>");
+    warning (OPT_Weffc__, "%<operator=%> should return a reference to %<*this%>");
 
   /* Make the init_value nonzero so pushdecl knows this is not tentative.
      error_mark_node is replaced below (in poplevel) with the BLOCK.  */
@@ -10940,7 +10939,7 @@ finish_function (int flags)
       /* Structor return values (if any) are set by the compiler.  */
       && !DECL_CONSTRUCTOR_P (fndecl)
       && !DECL_DESTRUCTOR_P (fndecl))
-    warning (0, "no return statement in function returning non-void");
+    warning (OPT_Wreturn_type, "no return statement in function returning non-void");
 
   /* Store the end of the function, so that we get good line number
      info for the epilogue.  */
index a9b394af6abd4dd08b490bad1166ea07c2ca2cb0..0ef0c1ada73fe27b2f6bf4860c4f7e80b21835e8 100644 (file)
@@ -324,7 +324,7 @@ perform_member_init (tree member, tree init)
   /* Effective C++ rule 12 requires that all data members be
      initialized.  */
   if (warn_ecpp && !explicit && TREE_CODE (type) != ARRAY_TYPE)
-    warning (0, "%J%qD should be initialized in the member initialization "
+    warning (OPT_Weffc__, "%J%qD should be initialized in the member initialization "
             "list", current_function_decl, member);
 
   if (init == void_type_node)
@@ -524,16 +524,16 @@ sort_mem_initializers (tree t, tree mem_inits)
       if (warn_reorder && !subobject_init)
        {
          if (TREE_CODE (TREE_PURPOSE (next_subobject)) == FIELD_DECL)
-           warning (0, "%q+D will be initialized after",
+           warning (OPT_Wreorder, "%q+D will be initialized after",
                     TREE_PURPOSE (next_subobject));
          else
-           warning (0, "base %qT will be initialized after",
+           warning (OPT_Wreorder, "base %qT will be initialized after",
                     TREE_PURPOSE (next_subobject));
          if (TREE_CODE (subobject) == FIELD_DECL)
-           warning (0, "  %q+#D", subobject);
+           warning (OPT_Wreorder, "  %q+#D", subobject);
          else
-           warning (0, "  base %qT", subobject);
-         warning (0, "%J  when initialized here", current_function_decl);
+           warning (OPT_Wreorder, "  base %qT", subobject);
+         warning (OPT_Wreorder, "%J  when initialized here", current_function_decl);
        }
 
       /* Look again, from the beginning of the list.  */
@@ -681,7 +681,7 @@ emit_mem_initializers (tree mem_inits)
       if (extra_warnings && !arguments
          && DECL_COPY_CONSTRUCTOR_P (current_function_decl)
          && TYPE_NEEDS_CONSTRUCTING (BINFO_TYPE (subobject)))
-       warning (0, "%Jbase class %q#T should be explicitly initialized in the "
+       warning (OPT_Wextra, "%Jbase class %q#T should be explicitly initialized in the "
                 "copy constructor",
                 current_function_decl, BINFO_TYPE (subobject));
 
index 1f2c2f1a7766685b464b551db7155b3157f76ee7..8e6ffcf4e0b8fb069545ef49f9b50767552a44a3 100644 (file)
@@ -2526,7 +2526,7 @@ static inline const char *
 finish_mangling (const bool warn)
 {
   if (warn_abi && warn && G.need_abi_warning)
-    warning (0, "the mangled name of %qD will change in a future "
+    warning (OPT_Wabi, "the mangled name of %qD will change in a future "
             "version of GCC",
             G.entity);
 
index 4a1a4ed2dac3f64cd7b6f14ffc60ce4e657533fe..d2bee99dc5e182c3ada1a3ee8d4433d65ea6d878 100644 (file)
@@ -1135,7 +1135,7 @@ lazily_declare_fn (special_function_kind sfk, tree type)
         TYPE_METHODS list, which cause the destructor to be emitted
         in an incorrect location in the vtable.  */
       if (warn_abi && DECL_VIRTUAL_P (fn))
-       warning (0, "vtable layout for class %qT may not be ABI-compliant"
+       warning (OPT_Wabi, "vtable layout for class %qT may not be ABI-compliant"
                 "and may change in a future version of GCC due to "
                 "implicit virtual destructor",
                 type);
index 761cf9517a885dceab63763bc6dd151063cd92d4..b464e328b473fb6b80a003e14087f1277858e875 100644 (file)
@@ -950,8 +950,8 @@ pushdecl_maybe_friend (tree x, bool is_friend)
 
              if (warn_shadow && !err)
                {
-                 warning (0, "declaration of %q#D shadows a parameter", x);
-                 warning (0, "%Jshadowed declaration is here", oldlocal);
+                 warning (OPT_Wshadow, "declaration of %q#D shadows a parameter", x);
+                 warning (OPT_Wshadow, "%Jshadowed declaration is here", oldlocal);
                }
            }
 
@@ -975,22 +975,22 @@ pushdecl_maybe_friend (tree x, bool is_friend)
              if (member && !TREE_STATIC (member))
                {
                  /* Location of previous decl is not useful in this case.  */
-                 warning (0, "declaration of %qD shadows a member of 'this'",
+                 warning (OPT_Wshadow, "declaration of %qD shadows a member of 'this'",
                           x);
                }
              else if (oldlocal != NULL_TREE
                       && TREE_CODE (oldlocal) == VAR_DECL)
                {
-                 warning (0, "declaration of %qD shadows a previous local", x);
-                 warning (0, "%Jshadowed declaration is here", oldlocal);
+                 warning (OPT_Wshadow, "declaration of %qD shadows a previous local", x);
+                 warning (OPT_Wshadow, "%Jshadowed declaration is here", oldlocal);
                }
              else if (oldglobal != NULL_TREE
                       && TREE_CODE (oldglobal) == VAR_DECL)
                /* XXX shadow warnings in outer-more namespaces */
                {
-                 warning (0, "declaration of %qD shadows a global declaration",
+                 warning (OPT_Wshadow, "declaration of %qD shadows a global declaration",
                           x);
-                 warning (0, "%Jshadowed declaration is here", oldglobal);
+                 warning (OPT_Wshadow, "%Jshadowed declaration is here", oldglobal);
                }
            }
        }
index 3ba92852a77ba24233f01ee7b5a16ba87292eca0..bba4d25616d39a42504591c2a16ff85b47c37f68 100644 (file)
@@ -1850,7 +1850,7 @@ static inline void
 cp_parser_warn_min_max (void)
 {
   if (warn_deprecated && !in_system_header)
-    warning (0, "minimum/maximum operators are deprecated");
+    warning (OPT_Wdeprecated, "minimum/maximum operators are deprecated");
 }
 
 /* If not parsing tentatively, issue a diagnostic of the form
@@ -5416,7 +5416,7 @@ cp_parser_cast_expression (cp_parser *parser, bool address_p, bool cast_p)
              && !in_system_header
              && !VOID_TYPE_P (type)
              && current_lang_name != lang_name_c)
-           warning (0, "use of old-style cast");
+           warning (OPT_Wold_style_cast, "use of old-style cast");
 
          /* Only type conversions to integral or enumeration types
             can be used in constant-expressions.  */
index 6d7c127741430fb716e13f8d2c192e7217a53b6e..95247c490afe573bb08337b02abed0fdb6b16001 100644 (file)
@@ -1499,8 +1499,8 @@ string_conv_p (tree totype, tree exp, int warn)
     }
 
   /* This warning is not very useful, as it complains about printf.  */
-  if (warn && warn_write_strings)
-    warning (0, "deprecated conversion from string constant to %qT'", totype);
+  if (warn)
+    warning (OPT_Wwrite_strings, "deprecated conversion from string constant to %qT'", totype);
 
   return 1;
 }
@@ -2306,7 +2306,7 @@ build_array_ref (tree array, tree idx)
          while (TREE_CODE (foo) == COMPONENT_REF)
            foo = TREE_OPERAND (foo, 0);
          if (TREE_CODE (foo) == VAR_DECL && DECL_REGISTER (foo))
-           warning (0, "subscripting array declared %<register%>");
+           warning (OPT_Wextra, "subscripting array declared %<register%>");
        }
 
       type = TREE_TYPE (TREE_TYPE (array));
@@ -4438,9 +4438,9 @@ cxx_mark_addressable (tree exp)
                  ("address of explicit register variable %qD requested", x);
                return false;
              }
-           else if (extra_warnings)
+           else
              warning
-               (0, "address requested for %qD, which is declared %<register%>", x);
+               (OPT_Wextra, "address requested for %qD, which is declared %<register%>", x);
          }
        TREE_ADDRESSABLE (x) = 1;
        return true;
@@ -6378,7 +6378,7 @@ check_return_expr (tree retval, bool *no_warning)
        }
 
       if (warn)
-       warning (0, "%<operator=%> should return a reference to %<*this%>");
+       warning (OPT_Weffc__, "%<operator=%> should return a reference to %<*this%>");
     }
 
   /* The fabled Named Return Value optimization, as per [class.copy]/15: