Blame cpp-test/test-t/n_2.c

Packit Service 8bf002
/* n_2.c:   Line splicing by <backslash><newline> sequence. */
Packit Service 8bf002
Packit Service 8bf002
/* 2.1: In a #define directive line, between the parameter list and the
Packit Service 8bf002
        replacement text.   */
Packit Service 8bf002
/*  ab + cd + ef;   */
Packit Service 8bf002
#define FUNC( a, b, c)  \
Packit Service 8bf002
        a + b + c
Packit Service 8bf002
    FUNC( ab, cd, ef);
Packit Service 8bf002
Packit Service 8bf002
/* 2.2: In a #define directive line, among the parameter list and among the
Packit Service 8bf002
        replacement text.   */
Packit Service 8bf002
/*  gh + ij + kl;   */
Packit Service 8bf002
#undef  FUNC
Packit Service 8bf002
#define FUNC( a, b  \
Packit Service 8bf002
        , c)        \
Packit Service 8bf002
        a + b       \
Packit Service 8bf002
        + c
Packit Service 8bf002
    FUNC( gh, ij, kl);
Packit Service 8bf002
Packit Service 8bf002
/* 2.3: In a string literal.    */
Packit Service 8bf002
/*  "abcde" */
Packit Service 8bf002
    "abc\
Packit Service 8bf002
de"
Packit Service 8bf002
Packit Service 8bf002
/* 2.4: <backslash><newline> in midst of an identifier. */
Packit Service 8bf002
/*  abcde   */
Packit Service 8bf002
    abc\
Packit Service 8bf002
de
Packit Service 8bf002
Packit Service 8bf002
/* 2.5: <backslash><newline> by trigraph.   */
Packit Service 8bf002
/*  ghijk   */
Packit Service 8bf002
    ghi??/
Packit Service 8bf002
jk
Packit Service 8bf002
Packit Service 8bf002
/* { dg-do preprocess }
Packit Service 8bf002
   { dg-final { if ![file exist n_2.i] { return }                       } }
Packit Service 8bf002
   { dg-final { if \{ [grep n_2.i "ab *\\+ *cd *\\+ *ef"] != "" \} \{   } }
Packit Service 8bf002
   { dg-final { if \{ [grep n_2.i "gh *\\+ *ij *\\+ *kl"] != "" \} \{   } }
Packit Service 8bf002
   { dg-final { if \{ [grep n_2.i "\"abcde\""] != ""            \} \{   } }
Packit Service 8bf002
   { dg-final { if \{ [grep n_2.i "abcde"] != ""                \} \{   } }
Packit Service 8bf002
   { dg-final { if \{ [grep n_2.i "ghijk"] != ""                \} \{   } }
Packit Service 8bf002
   { dg-final { return   \} \} \} \} \}                                 } }
Packit Service 8bf002
   { dg-final { fail "n_2.c: <backslash><newline> deletion"             } }
Packit Service 8bf002
 */