// RUN: %clang_cc1 -triple i686-pc-linux-gnu -fsyntax-only -verify %s

__thread int t1;
__thread extern int t2;
__thread static int t3;
__thread __private_extern__ int t4;
struct t5 { __thread int x; }; // expected-error {{type name does not allow storage class to be specified}}
__thread int t6(); // expected-error {{'__thread' is only allowed on variable declarations}}
int f(__thread int t7) { // expected-error {{'__thread' is only allowed on variable declarations}}
  __thread int t8; // expected-error {{'__thread' variables must have global storage}}
  __thread extern int t9;
  __thread static int t10;
  __thread __private_extern__ int t11;
  __thread auto int t12; // expected-error {{'__thread' variables must have global storage}}
  __thread register int t13; // expected-error {{'__thread' variables must have global storage}}
}
__thread typedef int t14; // expected-error {{'__thread' is only allowed on variable declarations}}
__thread int t15; // expected-note {{previous definition is here}}
int t15; // expected-error {{non-thread-local declaration of 't15' follows thread-local declaration}}
int t16; // expected-note {{previous definition is here}}
__thread int t16; // expected-error {{thread-local declaration of 't16' follows non-thread-local declaration}}
