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
This commit is contained in:
parent
e44013f7fa
commit
7621f5d5fb
6 changed files with 35 additions and 5 deletions
|
@ -1,3 +1,11 @@
|
|||
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.
|
||||
|
|
|
@ -144,6 +144,10 @@ Wmissing-noreturn
|
|||
Common Var(warn_missing_noreturn) Warning
|
||||
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
|
||||
Common Var(warn_overflow) Init(1) Warning
|
||||
Warn about overflow in arithmetic expressions
|
||||
|
|
|
@ -245,7 +245,7 @@ Objective-C and Objective-C++ Dialects}.
|
|||
-Wlogical-op -Wlong-long @gol
|
||||
-Wmain -Wmissing-braces -Wmissing-field-initializers @gol
|
||||
-Wmissing-format-attribute -Wmissing-include-dirs @gol
|
||||
-Wmissing-noreturn @gol
|
||||
-Wmissing-noreturn -Wno-mudflap @gol
|
||||
-Wno-multichar -Wnonnull -Wno-overflow @gol
|
||||
-Woverlength-strings -Wpacked -Wpadded @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
|
|||
This option is only active when @option{-fstack-protector} is active. It
|
||||
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
|
||||
@opindex Woverlength-strings
|
||||
@opindex Wno-overlength-strings
|
||||
|
|
|
@ -857,7 +857,8 @@ mf_xform_derefs_1 (block_stmt_iterator *iter, tree *tp,
|
|||
break;
|
||||
|
||||
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;
|
||||
|
||||
case BIT_FIELD_REF:
|
||||
|
@ -1043,7 +1044,8 @@ mx_register_decls (tree decl, tree *stmt_list)
|
|||
if (tsi_end_p (initially_stmts))
|
||||
{
|
||||
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)));
|
||||
}
|
||||
else
|
||||
|
@ -1272,7 +1274,8 @@ mudflap_finish_file (void)
|
|||
|
||||
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)));
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
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>
|
||||
|
||||
* aclocal.m4: Regenerate.
|
||||
|
|
6
libmudflap/testsuite/libmudflap.c/pass63-frag.c
Normal file
6
libmudflap/testsuite/libmudflap.c/pass63-frag.c
Normal file
|
@ -0,0 +1,6 @@
|
|||
/* 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" } */
|
Loading…
Add table
Reference in a new issue