ABataev added inline comments. ================ Comment at: lib/AST/Decl.cpp:1818 @@ -1813,3 +1817,3 @@ case TSCS__Thread_local: - return TLS_Static; + return hasAttr<OMPThreadPrivateDeclAttr>() ? TLS_Dynamic : TLS_Static; case TSCS_thread_local: ---------------- thread_local variable cannot be threadprivate, restore the original code
================ Comment at: lib/Driver/Tools.cpp:3953-3971 @@ -3952,2 +3952,21 @@ CmdArgs.push_back("-fopenmp"); + + // If no option regarding the use of TLS in OpenMP codegeneration is + // given, decide a default based on the target. Otherwise rely on the + // options and pass the right information to the frontend. + if (!Args.getLastArg(options::OPT_fopenmp_use_tls) && + !Args.getLastArg(options::OPT_fnoopenmp_use_tls)) { + switch (getToolChain().getArch()) { + default: + CmdArgs.push_back("-fnoopenmp-use-tls"); + break; + case llvm::Triple::ppc: + case llvm::Triple::ppc64: + case llvm::Triple::ppc64le: + break; + } + } else if (!Args.hasFlag(options::OPT_fopenmp_use_tls, + options::OPT_fnoopenmp_use_tls, + /*Default=*/false)) + CmdArgs.push_back("-fnoopenmp-use-tls"); break; ---------------- Change it to : if (!Args.hasFlag(options::OPT_fopenmp_use_tls, options::OPT_fnoopenmp_use_tls, getToolChain().getArch()==llvm::Triple::ppc || getToolChain().getArch()==llvm::Triple::ppc64 || getToolChain().getArch()==llvm::Triple::ppc64le)) CmdArgs.push_back("-fnoopenmp-use-tls"); http://reviews.llvm.org/D10753 _______________________________________________ cfe-commits mailing list cfe-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits