summaryrefslogtreecommitdiff
path: root/gcc/testsuite/c-c++-common/raw-string-10.c
blob: 76ed34e60c34e1b372c7c3ba03baffd05d4f9b5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Test that we don't revert trigraphs and line splicing when a raw string
// literal is formed by token pasting.
// { dg-options "-std=gnu99 -trigraphs" { target c } }
// { dg-options "-std=c++0x" { target c++ } }
// { dg-do run }

#define PASTE(X,Y) X##Y

const char a[] = PASTE(R,"(??>\
)");

#define TEST(str, val) \
  if (sizeof (str) != sizeof (val) \
      || __builtin_memcmp (str, val, sizeof (str)) != 0) \
    __builtin_abort ()

int main()
{
  TEST (a, "}");
}