Commit 7621f5d5 by Volker Reichelt

common.opt (Wmudflap): New option.

	* common.opt (Wmudflap): New option.
	* tree-mudflap.c (mf_xform_derefs_1): Guard warning by OPT_Wmudflap.
	(mx_register_decls): Likewise.
	(mudflap_finish_file): Likewise.
	* doc/invoke.texi: Document -Wno-mudflap.

	* testsuite/libmudflap.c/pass63-frag.c: New test.

From-SVN: r133385
parent e44013f7
2008-03-20 Kai Tietz <kai.tietz@onevision.com> 2008-03-20 Volker Reichelt <v.reichelt@netcologne.de>
* common.opt (Wmudflap): New option.
* tree-mudflap.c (mf_xform_derefs_1): Guard warning by OPT_Wmudflap.
(mx_register_decls): Likewise.
(mudflap_finish_file): Likewise.
* doc/invoke.texi: Document -Wno-mudflap.
2008-03-20 Kai Tietz <kai.tietz@onevision.com>
* c-format.c (replace_format_name_to_system_name): New. * c-format.c (replace_format_name_to_system_name): New.
(cmp_attribs): New. (cmp_attribs): New.
......
...@@ -144,6 +144,10 @@ Wmissing-noreturn ...@@ -144,6 +144,10 @@ Wmissing-noreturn
Common Var(warn_missing_noreturn) Warning Common Var(warn_missing_noreturn) Warning
Warn about functions which might be candidates for __attribute__((noreturn)) Warn about functions which might be candidates for __attribute__((noreturn))
Wmudflap
Common Var(warn_mudflap) Init(1) Warning
Warn about constructs not instrumented by -fmudflap
Woverflow Woverflow
Common Var(warn_overflow) Init(1) Warning Common Var(warn_overflow) Init(1) Warning
Warn about overflow in arithmetic expressions Warn about overflow in arithmetic expressions
......
...@@ -245,7 +245,7 @@ Objective-C and Objective-C++ Dialects}. ...@@ -245,7 +245,7 @@ Objective-C and Objective-C++ Dialects}.
-Wlogical-op -Wlong-long @gol -Wlogical-op -Wlong-long @gol
-Wmain -Wmissing-braces -Wmissing-field-initializers @gol -Wmain -Wmissing-braces -Wmissing-field-initializers @gol
-Wmissing-format-attribute -Wmissing-include-dirs @gol -Wmissing-format-attribute -Wmissing-include-dirs @gol
-Wmissing-noreturn @gol -Wmissing-noreturn -Wno-mudflap @gol
-Wno-multichar -Wnonnull -Wno-overflow @gol -Wno-multichar -Wnonnull -Wno-overflow @gol
-Woverlength-strings -Wpacked -Wpadded @gol -Woverlength-strings -Wpacked -Wpadded @gol
-Wparentheses -Wpointer-arith -Wno-pointer-to-int-cast @gol -Wparentheses -Wpointer-arith -Wno-pointer-to-int-cast @gol
...@@ -4052,6 +4052,11 @@ This option is only supported for C and Objective-C@. It is implied by ...@@ -4052,6 +4052,11 @@ This option is only supported for C and Objective-C@. It is implied by
This option is only active when @option{-fstack-protector} is active. It This option is only active when @option{-fstack-protector} is active. It
warns about functions that will not be protected against stack smashing. warns about functions that will not be protected against stack smashing.
@item -Wno-mudflap
@opindex Wno-mudflap
Suppress warnings about constructs that cannot be instrumented by
@option{-fmudflap}.
@item -Woverlength-strings @item -Woverlength-strings
@opindex Woverlength-strings @opindex Woverlength-strings
@opindex Wno-overlength-strings @opindex Wno-overlength-strings
......
...@@ -857,7 +857,8 @@ mf_xform_derefs_1 (block_stmt_iterator *iter, tree *tp, ...@@ -857,7 +857,8 @@ mf_xform_derefs_1 (block_stmt_iterator *iter, tree *tp,
break; break;
case ARRAY_RANGE_REF: case ARRAY_RANGE_REF:
warning (0, "mudflap checking not yet implemented for ARRAY_RANGE_REF"); warning (OPT_Wmudflap,
"mudflap checking not yet implemented for ARRAY_RANGE_REF");
return; return;
case BIT_FIELD_REF: case BIT_FIELD_REF:
...@@ -1043,7 +1044,8 @@ mx_register_decls (tree decl, tree *stmt_list) ...@@ -1043,7 +1044,8 @@ mx_register_decls (tree decl, tree *stmt_list)
if (tsi_end_p (initially_stmts)) if (tsi_end_p (initially_stmts))
{ {
if (!DECL_ARTIFICIAL (decl)) if (!DECL_ARTIFICIAL (decl))
warning (0, "mudflap cannot track %qs in stub function", warning (OPT_Wmudflap,
"mudflap cannot track %qs in stub function",
IDENTIFIER_POINTER (DECL_NAME (decl))); IDENTIFIER_POINTER (DECL_NAME (decl)));
} }
else else
...@@ -1272,7 +1274,8 @@ mudflap_finish_file (void) ...@@ -1272,7 +1274,8 @@ mudflap_finish_file (void)
if (! COMPLETE_TYPE_P (TREE_TYPE (obj))) if (! COMPLETE_TYPE_P (TREE_TYPE (obj)))
{ {
warning (0, "mudflap cannot track unknown size extern %qs", warning (OPT_Wmudflap,
"mudflap cannot track unknown size extern %qs",
IDENTIFIER_POINTER (DECL_NAME (obj))); IDENTIFIER_POINTER (DECL_NAME (obj)));
continue; continue;
} }
......
2008-03-20 Volker Reichelt <v.reichelt@netcologne.de>
* testsuite/libmudflap.c/pass63-frag.c: New test.
2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* aclocal.m4: Regenerate. * aclocal.m4: Regenerate.
......
/* Check -Wno-mudflap flag */
/* { dg-do compile } */
/* { dg-options "-fmudflap -Wno-mudflap" } */
extern char x[];
int main() { return x[3]; } /* { dg-bogus "mudflap cannot track" } */
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