OSDN Git Service

* fold-const.c (build_range_check): If !in_p and recursive call
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 18 Jun 2004 23:15:59 +0000 (23:15 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 18 Jun 2004 23:15:59 +0000 (23:15 +0000)
commit3b3a787af56c561b8d789cc6d8b107ee89535205
treea3d6ae542615df88c6d0ba17800fb0f3dd2fbf4b
parent2b4cffe7faed0a23e9d0c4c0596dfe7155a85ab1
* fold-const.c (build_range_check): If !in_p and recursive call
fails, exit immediately.  If high - low overflows and etype is
a signed type, retry with unsigned etype.
(merge_ranges): If !in0_p and !in1_p, handle even range2 adjacent
to range1 at TYPE_MAX_VALUE and TYPE_MIN_VALUE.

* gcc.dg/range-test-1.c: New test.
* g++.dg/opt/range-test-1.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83369 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/fold-const.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/opt/range-test-1.C [new file with mode: 0644]
gcc/testsuite/gcc.dg/range-test-1.c [new file with mode: 0644]