Files correlati : Commento : Aggiunto il preprocessore c++ mcpp per sostituire il compilatore nella compilazione delle maschere.
30 lines
1.1 KiB
C
30 lines
1.1 KiB
C
/* n_30.c: Macro call. */
|
|
/* Note: Comma separate the arguments of function-like macro call,
|
|
but comma between matching inner parenthesis doesn't. This feature
|
|
is tested on so many places in this suite especially on *.c samples
|
|
which use assert() macro, that no separete item to test this feature
|
|
is provided. */
|
|
|
|
/* 30.1: A macro call may cross the lines. */
|
|
#define FUNC( a, b, c) a + b + c
|
|
/* a + b + c; */
|
|
FUNC
|
|
(
|
|
a,
|
|
b,
|
|
c
|
|
)
|
|
;
|
|
|
|
/* { dg-do preprocess }
|
|
{ dg-final { if ![file exist n_30.i] { return } } }
|
|
{ dg-final { if \{ [grep n_30.i "a *\\+ *b *\\+ *c"] != "" \} \{ } }
|
|
{ dg-final { return \} } }
|
|
{ dg-final { if \{ [grep n_30.i "a *\\+ *"] != "" \} \{ } }
|
|
{ dg-final { if \{ [grep n_30.i "b *\\+ *"] != "" \} \{ } }
|
|
{ dg-final { if \{ [grep n_30.i "c"] != "" \} \{ } }
|
|
{ dg-final { return \} \} \} } }
|
|
{ dg-final { fail "n_30.c: macro call on multi-line" } }
|
|
*/
|
|
|