diff options
author | wilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-03-10 06:02:55 +0000 |
---|---|---|
committer | wilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-03-10 06:02:55 +0000 |
commit | c1628b55198e784d3acfcc651bde18e3b6fbd24d (patch) | |
tree | 893bd1037263eb2e8912cc841d795b6695e442e7 /gcc/opts.c | |
parent | 69d0a6eedd9640882ebc6a9d4c6f59f598051aff (diff) | |
download | gcc-c1628b55198e784d3acfcc651bde18e3b6fbd24d.tar.gz |
New option -Wstrict-aliasing=2.
* alias.c (alias_sets_might_conflict_p): New.
* c-typeck.c (build_c_cast): Call it if warn_strict_aliasing > 1.
* common.opt (Wstrict-aliasing=): New.
* flags.h (warn_strict_aliasing): Change type to int.
* opts.c (warn_strict_aliasing): Change type to int.
(common_handle_option): Handle OPT_Wstrict_aliasing_.
* tree.h (alias_sets_might_conflict_p): Declare it.
* doc/invoke.tex (-Wstrict-aliasing=2): Document it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79222 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/opts.c')
-rw-r--r-- | gcc/opts.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/opts.c b/gcc/opts.c index fa1971cd651..99d576a3af8 100644 --- a/gcc/opts.c +++ b/gcc/opts.c @@ -100,7 +100,7 @@ bool warn_shadow; /* Nonzero means warn about constructs which might not be strict-aliasing safe. */ -bool warn_strict_aliasing; +int warn_strict_aliasing; /* True to warn if a switch on an enum, that does not have a default case, fails to have a case for every enum value. */ @@ -747,6 +747,7 @@ common_handle_option (size_t scode, const char *arg, break; case OPT_Wstrict_aliasing: + case OPT_Wstrict_aliasing_: warn_strict_aliasing = value; break; |