(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
asm-wide-1.c
       1  /* Wide string literals should not be allowed in asm.  */
       2  /* Origin: Joseph Myers <joseph@codesourcery.com> */
       3  /* { dg-do compile } */
       4  /* { dg-options "" } */
       5  
       6  int foo asm (L"bar"); /* { dg-error "14:a wide string is invalid in this context" } */
       7  
       8  asm (L"foo"); /* { dg-error "6:a wide string is invalid in this context" } */
       9  
      10  void
      11  f (void)
      12  {
      13    int x = 1;
      14    asm (L"foo"); /* { dg-error "8:a wide string is invalid in this context" } */
      15    asm ("foo" :
      16         L"=g" (x)); /* { dg-error "8:a wide string is invalid in this context" } */
      17    /* Extra errors from the substitution of "" for wide strings: */
      18    /* { dg-error "output" "output" { target *-*-* } .-2 } */
      19    asm ("foo" : [x]
      20         L"=g" (x)); /* { dg-error "8:a wide string is invalid in this context" } */
      21    /* { dg-error "output" "output" { target *-*-* } .-1 } */
      22    asm ("foo" : [x] "=g" (x),
      23         L"=g" (x)); /* { dg-error "8:a wide string is invalid in this context" } */
      24    /* { dg-error "output" "output" { target *-*-* } .-1 } */
      25    asm ("foo" : :
      26         L"g" (x)); /* { dg-error "8:a wide string is invalid in this context" } */
      27    asm ("foo" : : :
      28         L"memory"); /* { dg-error "8:a wide string is invalid in this context" } */
      29    asm ("foo" : : : "memory",
      30         L"memory"); /* { dg-error "8:a wide string is invalid in this context" } */
      31  }