aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/asm-scope-1.c
blob: 6439104e5791cf5f709ed7290cd8383e1fbe9051 (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
/* Test :: token handling in asm.  */
/* { dg-do compile } */
/* { dg-options "-std=gnu2x" } */

void
f (void)
{
  asm ("");
  asm ("" : );
  asm ("" : :);
  asm ("" ::);
  asm ("" : : :);
  asm ("" :: :);
  asm ("" : ::);
  asm goto ("" : : : : lab);
  asm goto ("" :: : : lab);
  asm goto ("" : :: : lab);
  asm goto ("" : : :: lab);
  asm goto ("" :: :: lab);
 lab: ;
  /* Test errors when :: is at the end of asm and only one : allowed.  */
  asm ("" : : ::); /* { dg-error "expected" } */
  asm ("" :: ::); /* { dg-error "expected" } */
  asm goto ("" : : : :: lab); /* { dg-error "expected" } */
  asm goto ("" :: : :: lab); /* { dg-error "expected" } */
  asm goto ("" : :: :: lab); /* { dg-error "expected" } */
}