1  /* Test error conditions of asm flag outputs.  */
       2  /* { dg-do compile } */
       3  /* { dg-options "" } */
       4  /* { dg-skip-if "" { arm_thumb1 } } */
       5  
       6  void f_B(void) { _Bool x; asm("" : "=@cccc"(x)); }
       7  void f_c(void) { char x; asm("" : "=@cccc"(x)); }
       8  void f_s(void) { short x; asm("" : "=@cccc"(x)); }
       9  void f_i(void) { int x; asm("" : "=@cccc"(x)); }
      10  void f_l(void) { long x; asm("" : "=@cccc"(x)); }
      11  void f_ll(void) { long long x; asm("" : "=@cccc"(x)); }
      12  
      13  void f_f(void)
      14  {
      15    float x;
      16    asm("" : "=@cccc"(x)); /* { dg-error "invalid type" } */
      17  }
      18  
      19  void f_d(void)
      20  {
      21    double x;
      22    asm("" : "=@cccc"(x)); /* { dg-error "invalid type" } */
      23  }
      24  
      25  struct S { int x[3]; };
      26  
      27  void f_S(void)
      28  {
      29    struct S x;
      30    asm("" : "=@cccc"(x)); /* { dg-error "invalid type" } */
      31  }