diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2Tests.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2Tests.java index 5e6a70d901b..b6dd08b96e4 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2Tests.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2Tests.java @@ -5871,4 +5871,12 @@ public class AST2Tests extends AST2BaseTest { parseAndCheckBindings(code, ParserLanguage.CPP); } + // __thread int i; + // static __thread int j; + // extern __thread int k; + public void testThreadLocalVariables_Bug260387() throws Exception { + final String code= getAboveComment(); + parseAndCheckBindings(code, ParserLanguage.C, true); + parseAndCheckBindings(code, ParserLanguage.CPP, true); + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/parser/GNUScannerExtensionConfiguration.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/parser/GNUScannerExtensionConfiguration.java index 0ed8d0f32a2..edb9211a80a 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/parser/GNUScannerExtensionConfiguration.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/parser/GNUScannerExtensionConfiguration.java @@ -35,6 +35,7 @@ public abstract class GNUScannerExtensionConfiguration extends AbstractScannerEx addMacro("__imag__", "(int)"); addMacro("__real__", "(int)"); addMacro("__stdcall", ""); + addMacro("__thread", ""); addMacro("__builtin_va_arg(ap,type)", "*(type *)ap"); addMacro("__builtin_constant_p(exp)", "0");