summaryrefslogtreecommitdiffstats
path: root/test/Preprocessor/overflow.c
blob: 297a35e658fd8c77b468e5fce1fd268117689638 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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