aboutsummaryrefslogtreecommitdiff
path: root/unit-tests/cc/lexer/preprocessor.test
blob: a3fab9f35d56e7f592a1a3d3ea5bf9ef430a23c1 (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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# file      : unit-tests/cc/lexer/preprocessor.test
# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
# license   : MIT; see accompanying LICENSE file

# Test preprocessor lines.
#

: normal
:
$* <<EOI
#pragma message("abc")
EOI

: multiline
:
$* <<EOI
#pragma message \
( \
"abc" \
)
EOI

: comment
:
$* <<EOI
#pragma foo /*
bar
baz
*/
#pragma foo // bar baz
EOI

: line
:
$* -l <<EOI >>EOO
;
# 1 "test.cxx" 2
;
  ;
# 4
;
#line 8 "z:\\tmp\\test.hxx"
;
#line 10
;
# 5 "test.cxx"
;
EOI
';' stdin:1:1
';' test.cxx:1:1
';' test.cxx:2:3
';' test.cxx:4:1
';' z:\tmp\test.hxx:8:1
';' z:\tmp\test.hxx:10:1
';' test.cxx:5:1
EOO

: nested
:
$* <<EOI >>EOO
#define FOO(x) #y
;
EOI
';'
EOO