summaryrefslogtreecommitdiff
path: root/gcc/opts.c
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>2004-03-10 06:02:55 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>2004-03-10 06:02:55 +0000
commitc1628b55198e784d3acfcc651bde18e3b6fbd24d (patch)
tree893bd1037263eb2e8912cc841d795b6695e442e7 /gcc/opts.c
parent69d0a6eedd9640882ebc6a9d4c6f59f598051aff (diff)
downloadgcc-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.c3
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;