Files
clang-p2996/clang/test/PCH/thread-local.cpp
Adrian Prantl bc068586ac Revert "Revert r241620 and follow-up commits" and move the initialization
of the llvm targets from clang/CodeGen into ClangCheck.cpp and CIndex.cpp.

llvm-svn: 241653
2015-07-08 01:00:30 +00:00

21 lines
925 B
C++

// RUN: %clang_cc1 -pedantic-errors -std=c++11 -triple x86_64-linux-gnu -emit-pch %s -o %t
// RUN: %clang_cc1 -pedantic-errors -std=c++11 -triple x86_64-linux-gnu -include-pch %t -verify %s
// REQUIRES: x86-registered-target
#ifndef HEADER_INCLUDED
#define HEADER_INCLUDED
extern thread_local int a;
extern _Thread_local int b;
extern int c;
#else
_Thread_local int a; // expected-error {{thread-local declaration of 'a' with static initialization follows declaration with dynamic initialization}}
// expected-note@7 {{previous declaration is here}}
thread_local int b; // expected-error {{thread-local declaration of 'b' with dynamic initialization follows declaration with static initialization}}
// expected-note@8 {{previous declaration is here}}
thread_local int c; // expected-error {{thread-local declaration of 'c' follows non-thread-local declaration}}
// expected-note@9 {{previous declaration is here}}
#endif