diff options
author | Ian Lance Taylor <iant@google.com> | 2008-04-14 19:18:31 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2008-04-14 19:18:31 +0000 |
commit | 4c9db6e07aba115c21ab02068ccc332ce691775e (patch) | |
tree | 5476839d99a5b4e7b501ffa138ec06b5cc5cb144 /gcc/testsuite/gcc.dg/no-strict-overflow-7.c | |
parent | 3a5a8be12000125f4c12efea8bd6a466049a688d (diff) | |
download | gcc-4c9db6e07aba115c21ab02068ccc332ce691775e.zip gcc-4c9db6e07aba115c21ab02068ccc332ce691775e.tar.gz gcc-4c9db6e07aba115c21ab02068ccc332ce691775e.tar.bz2 |
flags.h (POINTER_TYPE_OVERFLOW_UNDEFINED): Define.
gcc/:
* flags.h (POINTER_TYPE_OVERFLOW_UNDEFINED): Define.
* fold-const.c (fold_comparison): If appropriate, test
POINTER_TYPE_OVERFLOW_UNDEFINED, and issue an overflow warning.
(fold_binary): Test POINTER_TYPE_OVERFLOW_UNDEFINED when
reassociating a pointer type.
* doc/invoke.texi (Optimize Options): Document that
-fstrict-overflow applies to pointer wraparound.
gcc/testsuite/:
* gcc.dg/strict-overflow-6.c: New.
* gcc.dg/no-strict-overflow-7.c: New.
* gcc.dg/Wstrict-overflow-22.c: New.
From-SVN: r134287
Diffstat (limited to 'gcc/testsuite/gcc.dg/no-strict-overflow-7.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/no-strict-overflow-7.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/no-strict-overflow-7.c b/gcc/testsuite/gcc.dg/no-strict-overflow-7.c new file mode 100644 index 0000000..07ad27b --- /dev/null +++ b/gcc/testsuite/gcc.dg/no-strict-overflow-7.c @@ -0,0 +1,16 @@ +/* { dg-do compile } */ +/* { dg-options "-fno-strict-overflow -O2 -fdump-tree-final_cleanup" } */ + +/* Source: Ian Lance Taylor. Dual of strict-overflow-6.c. */ + +/* We can only simplify the conditional when using strict overflow + semantics. */ + +int +foo (char* p) +{ + return p + 1000 < p; +} + +/* { dg-final { scan-tree-dump "\[+\]\[ \]*1000" "final_cleanup" } } */ +/* { dg-final { cleanup-tree-dump "final_cleanup" } } */ |