aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2013-01-15 09:16:56 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2013-01-15 09:16:56 +0100
commit955f5a07c96b8dda489e50ca8a79fb623b4cdb97 (patch)
treea5487c95e5d2112792adad4496edbb4df0e8872a
parentfeb6eab0f59640cf19caa7bc09587b0c5a8a371f (diff)
downloadgcc-955f5a07c96b8dda489e50ca8a79fb623b4cdb97.zip
gcc-955f5a07c96b8dda489e50ca8a79fb623b4cdb97.tar.gz
gcc-955f5a07c96b8dda489e50ca8a79fb623b4cdb97.tar.bz2
re PR tree-optimization/48766 (Infinite recursion in fold_binary_loc())
PR tree-optimization/48766 * opts.c (common_handle_option): For -fwrapv disable -ftrapv, for -ftrapv disable -fwrapv. From-SVN: r195186
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/opts.c10
2 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 975b878..6b4f1d4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2013-01-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/48766
+ * opts.c (common_handle_option): For -fwrapv disable -ftrapv, for
+ -ftrapv disable -fwrapv.
+
2013-01-14 Georg-Johann Lay <avr@gjlay.de>
PR target/55974
diff --git a/gcc/opts.c b/gcc/opts.c
index 245e191da..bd1b2dc 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -1755,6 +1755,16 @@ common_handle_option (struct gcc_options *opts,
/* No-op. Used by the driver and passed to us because it starts with f.*/
break;
+ case OPT_fwrapv:
+ if (value)
+ opts->x_flag_trapv = 0;
+ break;
+
+ case OPT_ftrapv:
+ if (value)
+ opts->x_flag_wrapv = 0;
+ break;
+
default:
/* If the flag was handled in a standard way, assume the lack of
processing here is intentional. */