diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2009-05-16 21:24:10 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2009-05-16 21:24:10 +0000 |
commit | b529b01985ae22c2819d4b7a93df7ac336f25a50 (patch) | |
tree | 4fd862ab4fcbd4c89297d6606f284f376d14d408 /clang/test/Preprocessor/overflow.c | |
parent | 48371650b60b47161046715eabffe88e458d372b (diff) | |
download | llvm-b529b01985ae22c2819d4b7a93df7ac336f25a50.zip llvm-b529b01985ae22c2819d4b7a93df7ac336f25a50.tar.gz llvm-b529b01985ae22c2819d4b7a93df7ac336f25a50.tar.bz2 |
PR3942: Don't warn on unsigned overflow in preprocessor expressions.
llvm-svn: 71960
Diffstat (limited to 'clang/test/Preprocessor/overflow.c')
-rw-r--r-- | clang/test/Preprocessor/overflow.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/clang/test/Preprocessor/overflow.c b/clang/test/Preprocessor/overflow.c new file mode 100644 index 0000000..297a35e --- /dev/null +++ b/clang/test/Preprocessor/overflow.c @@ -0,0 +1,25 @@ +// RUN: clang-cc -Eonly %s -verify -triple i686-pc-linux-gnu + +// Multiply signed overflow +#if 0x7FFFFFFFFFFFFFFF*2 // expected-warning {{overflow}} +#endif + +// Multiply unsigned overflow +#if 0xFFFFFFFFFFFFFFFF*2 +#endif + +// Add signed overflow +#if 0x7FFFFFFFFFFFFFFF+1 // expected-warning {{overflow}} +#endif + +// Add unsigned overflow +#if 0xFFFFFFFFFFFFFFFF+1 +#endif + +// Subtract signed overflow +#if 0x7FFFFFFFFFFFFFFF- -1 // expected-warning {{overflow}} +#endif + +// Subtract unsigned overflow +#if 0xFFFFFFFFFFFFFFFF- -1 // expected-warning {{converted from negative value}} +#endif |