constants.c revision e8fa06e07363b6d5e6c371bbd454d51bab78d01d
1// RUN: clang-cc -fsyntax-only -verify -pedantic -trigraphs %s
2
3int x = 000000080;  // expected-error {{invalid digit}}
4
5int y = 0000\
600080;             // expected-error {{invalid digit}}
7
8
9
10float X = 1.17549435e-38F;
11float Y = 08.123456;
12
13// PR2252
14#if -0x8000000000000000  // should not warn.
15#endif
16
17
18char c[] = {
19  'df',   // expected-warning {{multi-character character constant}}
20  '\t',
21  '\\
22t',
23  '??!',  // expected-warning {{trigraph converted to '|' character}}
24  'abcd'  // expected-warning {{multi-character character constant}}
25};
26
27
28#pragma clang diagnostic ignored "-Wmultichar"
29
30char d = 'df'; // no warning.
31char e = 'abcd';  // still warn: expected-warning {{multi-character character constant}}
32
33#pragma clang diagnostic ignored "-Wfour-char-constants"
34
35char f = 'abcd';  // ignored.
36