PR middle-end/82694
commit977361a18dcdcda9c575e9384e009535406788f1
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 15 Jan 2018 09:05:59 +0000 (15 09:05 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 15 Jan 2018 09:05:59 +0000 (15 09:05 +0000)
tree08c17fa7abe77e42e46b0fdf6d49c9bdf48fc9a0
parent41c5a1bbf56a80a2d140856130bf1c615b9111cc
PR middle-end/82694
* common.opt (fstrict-overflow): No longer an alias.
(fwrapv-pointer): New option.
* tree.h (TYPE_OVERFLOW_WRAPS, TYPE_OVERFLOW_UNDEFINED): Define
also for pointer types based on flag_wrapv_pointer.
* opts.c (common_handle_option) <case OPT_fstrict_overflow>: Set
opts->x_flag_wrap[pv] to !value, clear opts->x_flag_trapv if
opts->x_flag_wrapv got set.
* fold-const.c (fold_comparison, fold_binary_loc): Revert 2017-08-01
changes, just use TYPE_OVERFLOW_UNDEFINED on pointer type instead of
POINTER_TYPE_OVERFLOW_UNDEFINED.
* match.pd: Likewise in address comparison pattern.
* doc/invoke.texi: Document -fwrapv and -fstrict-overflow.

* gcc.dg/no-strict-overflow-7.c: Revert 2017-08-01 changes.
* gcc.dg/tree-ssa/pr81388-1.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@256686 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/common.opt
gcc/doc/invoke.texi
gcc/fold-const.c
gcc/match.pd
gcc/opts.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/no-strict-overflow-7.c
gcc/testsuite/gcc.dg/tree-ssa/pr81388-1.c
gcc/tree.h