aboutsummaryrefslogtreecommitdiff
path: root/build2/cc/lexer+comment.test.testscript
blob: 493c29591a95f60b929099b6298d878e6179a818 (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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# file      : build2/cc/lexer+comment.test.testscript
# copyright : Copyright (c) 2014-2019 Code Synthesis Ltd
# license   : MIT; see accompanying LICENSE file

# Test C and C++ comments.
#

: c-comment
:
$* <<EOI
/* 'one' */
/* "two" // three
*/
/**
four
// five */
/**
six /*
*/
EOI

: cxx-comment
:
$* <<EOI
// 'one'
// "two" // three
// four /* five */
EOI

: commented-out
:
$* <<EOI >"';'"
// /*
;
// */
EOI

: c-unterminated
:
$* <<EOI 2>>EOE != 0
/*
comment
EOI
stdin:1:2: error: unterminated comment
EOE

: cxx-unterminated
:
$* <<:EOI
// comment
EOI

: in-char-literal
:
$* <<EOI >>EOO
'//'
'/*'*/
EOI
<char literal>
<char literal>
<punctuation>
<punctuation>
EOO

: in-string-literal
:
$* <<EOI >>EOO
"//foo"
"/*"*/
EOI
<string literal>
<string literal>
<punctuation>
<punctuation>
EOO

: in-raw-string-literal
:
$* <<EOI >>EOO
R"X(
// foo
/* bar
)X"*/
EOI
<string literal>
<punctuation>
<punctuation>
EOO