xref: /llvm-project/clang/test/Preprocessor/overflow.c (revision 8fbe78f6fc7b41d1a4228c126fcb522131150518)
1*8fbe78f6SDaniel Dunbar // RUN: %clang_cc1 -Eonly %s -verify -triple i686-pc-linux-gnu
2b529b019SEli Friedman 
3b529b019SEli Friedman // Multiply signed overflow
4b529b019SEli Friedman #if 0x7FFFFFFFFFFFFFFF*2 // expected-warning {{overflow}}
5b529b019SEli Friedman #endif
6b529b019SEli Friedman 
7b529b019SEli Friedman // Multiply unsigned overflow
8b529b019SEli Friedman #if 0xFFFFFFFFFFFFFFFF*2
9b529b019SEli Friedman #endif
10b529b019SEli Friedman 
11b529b019SEli Friedman // Add signed overflow
12b529b019SEli Friedman #if 0x7FFFFFFFFFFFFFFF+1 // expected-warning {{overflow}}
13b529b019SEli Friedman #endif
14b529b019SEli Friedman 
15b529b019SEli Friedman // Add unsigned overflow
16b529b019SEli Friedman #if 0xFFFFFFFFFFFFFFFF+1
17b529b019SEli Friedman #endif
18b529b019SEli Friedman 
19b529b019SEli Friedman // Subtract signed overflow
20b529b019SEli Friedman #if 0x7FFFFFFFFFFFFFFF- -1 // expected-warning {{overflow}}
21b529b019SEli Friedman #endif
22b529b019SEli Friedman 
23b529b019SEli Friedman // Subtract unsigned overflow
24b529b019SEli Friedman #if 0xFFFFFFFFFFFFFFFF- -1 // expected-warning {{converted from negative value}}
25b529b019SEli Friedman #endif
26