(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
tls/
diag-2.c
       1  /* Invalid __thread specifiers.  */
       2  /* { dg-require-effective-target tls } */
       3  
       4  __thread extern int g1;		/* { dg-error "'__thread' before 'extern'" } */
       5  __thread static int g2;		/* { dg-error "'__thread' before 'static'" } */
       6  __thread __thread int g3;	/* { dg-error "duplicate" } */
       7  typedef __thread int g4;	/* { dg-error "'__thread' used with 'typedef'" } */
       8  
       9  void foo()
      10  {
      11    __thread int l1;		/* { dg-error "implicitly auto and declared '__thread'" } */
      12    auto __thread int l2;		/* { dg-error "'__thread' used with 'auto'" } */
      13    __thread extern int l3;	/* { dg-error "'__thread' before 'extern'" } */
      14    register __thread int l4;	/* { dg-error "'__thread' used with 'register'" } */
      15  }
      16  
      17  __thread void f1 ();		/* { dg-error "invalid storage class for function" } */
      18  extern __thread void f2 ();	/* { dg-error "invalid storage class for function" } */
      19  static __thread void f3 ();	/* { dg-error "invalid storage class for function" } */
      20  __thread void f4 () { }		/* { dg-error "function definition declared '__thread'" } */
      21  
      22  void bar(__thread int p1);	/* { dg-error "storage class specified for parameter" } */