Commit e217792b by Nikolai Merinov Committed by Jeff Law

common.opt: Add -Wattribute-warning.

         * common.opt: Add -Wattribute-warning.
         * doc/invoke.texi: Add documentation for -Wno-attribute-warning.
         * expr.c (expand_expr_real_1): Add new attribute to warning_at
         call to allow user configure behavior of "warning" attribute.

         * gcc.dg/Wno-attribute-warning.c: New test.

From-SVN: r265891
parent 285556b5
2018-11-17 Nikolai Merinov <n.merinov@inango-systems.com>
* common.opt: Add -Wattribute-warning.
* doc/invoke.texi: Add documentation for -Wno-attribute-warning.
* expr.c (expand_expr_real_1): Add new attribute to warning_at
call to allow user configure behavior of "warning" attribute.
2018-11-07 Segher Boessenkool <segher@kernel.crashing.org> 2018-11-07 Segher Boessenkool <segher@kernel.crashing.org>
* target.def: Put @: after every vs., e.g., and i.e. where it is * target.def: Put @: after every vs., e.g., and i.e. where it is
...@@ -571,6 +571,10 @@ Wcpp ...@@ -571,6 +571,10 @@ Wcpp
Common Var(warn_cpp) Init(1) Warning Common Var(warn_cpp) Init(1) Warning
Warn when a #warning directive is encountered. Warn when a #warning directive is encountered.
Wattribute-warning
Common Var(warn_attribute_warning) Init(1) Warning
Warn about uses of __attribute__((warning)) declarations.
Wdeprecated-declarations Wdeprecated-declarations
Common Var(warn_deprecated_decl) Init(1) Warning Common Var(warn_deprecated_decl) Init(1) Warning
Warn about uses of __attribute__((deprecated)) declarations. Warn about uses of __attribute__((deprecated)) declarations.
......
...@@ -292,6 +292,7 @@ Objective-C and Objective-C++ Dialects}. ...@@ -292,6 +292,7 @@ Objective-C and Objective-C++ Dialects}.
-Wclobbered -Wcomment -Wconditionally-supported @gol -Wclobbered -Wcomment -Wconditionally-supported @gol
-Wconversion -Wcoverage-mismatch -Wno-cpp -Wdangling-else -Wdate-time @gol -Wconversion -Wcoverage-mismatch -Wno-cpp -Wdangling-else -Wdate-time @gol
-Wdelete-incomplete @gol -Wdelete-incomplete @gol
-Wno-attribute-warning @gol
-Wno-deprecated -Wno-deprecated-declarations -Wno-designated-init @gol -Wno-deprecated -Wno-deprecated-declarations -Wno-designated-init @gol
-Wdisabled-optimization @gol -Wdisabled-optimization @gol
-Wno-discarded-qualifiers -Wno-discarded-array-qualifiers @gol -Wno-discarded-qualifiers -Wno-discarded-array-qualifiers @gol
...@@ -6978,6 +6979,15 @@ confused with the digit 0, and so is not the default, but may be ...@@ -6978,6 +6979,15 @@ confused with the digit 0, and so is not the default, but may be
useful as a local coding convention if the programming environment useful as a local coding convention if the programming environment
cannot be fixed to display these characters distinctly. cannot be fixed to display these characters distinctly.
@item -Wno-attribute-warning
@opindex Wno-attribute-warning
@opindex Wattribute-warning
Do not warn about usage of functions (@pxref{Function Attributes})
declared with @code{warning} attribute. By default, this warning is
enabled. @option{-Wno-attribute-warning} can be used to disable the
warning or @option{-Wno-error=attribute-warning} can be used to
disable the error when compiled with @option{-Werror} flag.
@item -Wno-deprecated @item -Wno-deprecated
@opindex Wno-deprecated @opindex Wno-deprecated
@opindex Wdeprecated @opindex Wdeprecated
...@@ -10930,7 +10930,8 @@ expand_expr_real_1 (tree exp, rtx target, machine_mode tmode, ...@@ -10930,7 +10930,8 @@ expand_expr_real_1 (tree exp, rtx target, machine_mode tmode,
DECL_ATTRIBUTES (fndecl))) != NULL) DECL_ATTRIBUTES (fndecl))) != NULL)
{ {
const char *ident = lang_hooks.decl_printable_name (fndecl, 1); const char *ident = lang_hooks.decl_printable_name (fndecl, 1);
warning_at (tree_nonartificial_location (exp), 0, warning_at (tree_nonartificial_location (exp),
OPT_Wattribute_warning,
"%Kcall to %qs declared with attribute warning: %s", "%Kcall to %qs declared with attribute warning: %s",
exp, identifier_to_locale (ident), exp, identifier_to_locale (ident),
TREE_STRING_POINTER (TREE_VALUE (TREE_VALUE (attr)))); TREE_STRING_POINTER (TREE_VALUE (TREE_VALUE (attr))));
......
2018-11-17 Nikolai Merinov <n.merinov@inango-systems.com>
* gcc.dg/Wno-attribute-warning.c: New test.
2018-11-07 Nathan Sidwell <nathan@acm.org> 2018-11-07 Nathan Sidwell <nathan@acm.org>
PR c++/87904 PR c++/87904
......
/* { dg-do compile } */
/* { dg-options "-Werror -Wno-error=attribute-warning" } */
int f1(void) __attribute__ ((warning("Please avoid f1")));
int func1(void)
{
return f1(); /* { dg-warning "'f1' declared with attribute warning: Please avoid f1" } */
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment