// RUN: %clang_cc1 -triple i686-pc-linux-gnu -emit-llvm -o - %s | FileCheck %s

// CHECK: @b = external thread_local global
// CHECK: @d.e = internal thread_local global
// CHECK: @d.f = internal thread_local global
// CHECK: @f.a = internal thread_local(initialexec) global
// CHECK: @a = thread_local global
// CHECK: @g = thread_local global
// CHECK: @h = thread_local(localdynamic) global
// CHECK: @i = thread_local(initialexec) global
// CHECK: @j = thread_local(localexec) global

// CHECK-NOT: @_ZTW
// CHECK-NOT: @_ZTH

__thread int a;
extern __thread int b;
int c() { return *&b; }
int d() {
  __thread static int e;
  __thread static union {float a; int b;} f = {.b = 1};
  return 0;
}

__thread int g __attribute__((tls_model("global-dynamic")));
__thread int h __attribute__((tls_model("local-dynamic")));
__thread int i __attribute__((tls_model("initial-exec")));
__thread int j __attribute__((tls_model("local-exec")));

int f() {
  __thread static int a __attribute__((tls_model("initial-exec")));
  return a++;
}
