1 /* Test C2x digit separators.  Invalid usages.  */
2 /* { dg-do compile } */
3 /* { dg-options "-std=c2x -pedantic-errors" } */
4 
5 void
tf(void)6 tf (void)
7 {
8   int i;
9   i = 1''2; /* { dg-error "adjacent digit separators" } */
10   i = 0x'0; /* { dg-error "digit separator after base indicator" } */
11   i = 0X'1; /* { dg-error "digit separator after base indicator" } */
12   i = 0b'0; /* { dg-error "digit separator after base indicator" } */
13   i = 0B'1; /* { dg-error "digit separator after base indicator" } */
14   i = 1'u; /* { dg-error "digit separator outside digit sequence" } */
15   float f = 1.2e-3'f; /* { dg-error "digit separator outside digit sequence" } */
16   i = 1'2'3'; /* { dg-error "12:missing terminating" } */
17   ;
18   double d;
19   d = 1'.2'3e-4; /* { dg-warning "multi-character" } */
20   /* { dg-error "expected" "parse error" { target *-*-* } .-1 } */
21   d = 1.2''3; /* { dg-error "adjacent digit separators" } */
22   d = 1.23e-4''5; /* { dg-error "adjacent digit separators" } */
23   d = 1.2'3e-4'5'; /* { dg-error "17:missing terminating" } */
24   /* { dg-error "expected" "parse error" { target *-*-* } .-1 } */
25 }
26