opnsense-ports/devel/llvm-devel/files/clang-patch-fopenmp.diff
Franco Fichtner 10458da91b */*: sync with upstream
Taken from: FreeBSD
2017-04-02 12:03:09 +02:00

28 lines
1.3 KiB
Diff

--- tools/clang/lib/Driver/ToolChains/CommonArgs.cpp.orig 2016-11-15 23:32:35.007899310 +0000
+++ tools/clang/lib/Driver/ToolChains/CommonArgs.cpp 2016-11-15 23:41:11.888863662 +0000
@@ -3151,13 +3151,22 @@
switch (TC.getDriver().getOpenMPRuntime(Args)) {
case Driver::OMPRT_OMP:
- CmdArgs.push_back("-lomp");
+ if (TC.getTriple().getOS() != llvm::Triple::FreeBSD || TC.isCrossCompiling() || !llvm::sys::fs::exists("%%LLVM_PREFIX%%/lib/libomp.so"))
+ CmdArgs.push_back("-lomp");
+ else
+ CmdArgs.push_back("%%LLVM_PREFIX%%/lib/libomp.so");
break;
case Driver::OMPRT_GOMP:
- CmdArgs.push_back("-lgomp");
+ if (TC.getTriple().getOS() != llvm::Triple::FreeBSD || TC.isCrossCompiling() || !llvm::sys::fs::exists("%%LLVM_PREFIX%%/lib/libomp.so"))
+ CmdArgs.push_back("-lgomp");
+ else
+ CmdArgs.push_back("%%LLVM_PREFIX%%/lib/libgomp.so");
break;
case Driver::OMPRT_IOMP5:
- CmdArgs.push_back("-liomp5");
+ if (TC.getTriple().getOS() != llvm::Triple::FreeBSD || TC.isCrossCompiling() || !llvm::sys::fs::exists("%%LLVM_PREFIX%%/lib/libomp.so"))
+ CmdArgs.push_back("-liomp5");
+ else
+ CmdArgs.push_back("%%LLVM_PREFIX%%/lib/libiomp5.so");
break;
case Driver::OMPRT_Unknown:
// Already diagnosed.