21 lines
965 B
C++
21 lines
965 B
C++
|
// RUN: %clang_cc1 -pedantic-errors -Wno-c11-extensions -std=c++11 -triple x86_64-linux-gnu -emit-pch %s -o %t
|
||
|
// RUN: %clang_cc1 -pedantic-errors -Wno-c11-extensions -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
|