<div dir="ltr">Try adding logic to visualstudio::Linker::ConstructJob() to handle -fopenmp.</div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Aug 10, 2015 at 8:51 AM, Peyton, Jonathan L <span dir="ltr"><<a href="mailto:jonathan.l.peyton@intel.com" target="_blank">jonathan.l.peyton@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Clang front end developers,<br>
<br>
We are having trouble getting the -fopenmp flag to work on Windows.  It appears that the linking phase does not include libomp.lib?  Below is an OpenMP hello world compilation output.<br>
<br>
-- Johnny<br>
<br>
-----Original Message-----<br>
From: İsmail Dönmez [mailto:<a href="mailto:ismail@i10z.com">ismail@i10z.com</a>]<br>
Sent: Monday, August 10, 2015 10:04 AM<br>
To: Peyton, Jonathan L<br>
Subject: Re: [Openmp-dev] libomp.lib is not automatically added on Windows<br>
<br>
Hi,<br>
<br>
On Mon, Aug 10, 2015 at 6:02 PM, Peyton, Jonathan L <<a href="mailto:jonathan.l.peyton@intel.com">jonathan.l.peyton@intel.com</a>> wrote:<br>
> Can you include -v in the compile command and post the output?<br>
<br>
Sure:<br>
<br>
C:\Users\ismail\Desktop>clang -O2 -fms-compatibility-version=19 -fopenmp -v omp_hello.c clang version 3.8.0 (<a href="http://llvm.org/git/clang
45770fa6e4eb618277ed85044d5a2d4c962c57cf" rel="noreferrer" target="_blank">http://llvm.org/git/clang<br>
45770fa6e4eb618277ed85044d5a2d4c962c57cf</a>) (<a href="http://llvm.org/git/llvm
97bdbf60d9923a9e06effbb96801129070499fd5" rel="noreferrer" target="_blank">http://llvm.org/git/llvm<br>
97bdbf60d9923a9e06effbb96801129070499fd5</a>)<br>
Target: x86_64-pc-windows-msvc<br>
Thread model: posix<br>
InstalledDir: C:\Program Files\LLVM\bin<br>
 "C:\\Program Files\\LLVM\\bin\\clang.exe" -cc1 -triple<br>
x86_64-pc-windows-msvc19.0.0 -emit-obj -disable-free -main-file-name omp_hello.c -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -momit-leaf-frame-pointer -v -dwarf-column-info -resource-dir "C:\\Program Files\\LLVM\\bin\\..\\lib\\clang\\3.8.0"<br>
-internal-isystem "C:\\Program<br>
Files\\LLVM\\bin\\..\\lib\\clang\\3.8.0\\include" -internal-isystem "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE"<br>
-internal-isystem "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\ATLMFC\\INCLUDE" -internal-isystem "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10150.0\\ucrt"<br>
-internal-isystem "C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.6\\include\\um" -internal-isystem "C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\shared" -internal-isystem "C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\um"<br>
-internal-isystem "C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\winrt" -O2 -fdebug-compilation-dir "C:\\Users\\ismail\\Desktop" -ferror-limit 19 -fmessage-length 100 -fopenmp -fnoopenmp-use-tls -mstackrealign -fms-extensions -fms-compatibility -fms-compatibility-version=19 -fdelayed-template-parsing -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -o "C:\\Users\\ismail\\AppData\\Local\\Temp\\omp_hello-45bdc2.o" -x c omp_hello.c clang -cc1 version 3.8.0 based upon LLVM 3.8.0svn default target x86_64-pc-windows-msvc #include "..." search starts here:<br>
#include <...> search starts here:<br>
 C:\Program Files\LLVM\bin\..\lib\clang\3.8.0\include<br>
 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE  C:\Program Files (x86)\Windows Kits\10\include\10.0.10150.0\ucrt  C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6\include\um  C:\Program Files (x86)\Windows Kits\8.1\include\shared  C:\Program Files (x86)\Windows Kits\8.1\include\um  C:\Program Files (x86)\Windows Kits\8.1\include\winrt End of search list.<br>
 "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\bin\\amd64\\link.exe" -out:a.exe -defaultlib:libcmt -nologo "C:\\Users\\ismail\\AppData\\Local\\Temp\\omp_hello-45bdc2.o"<br>
omp_hello-45bdc2.o : error LNK2019: unresolved external symbol __kmpc_fork_call referenced in function main omp_hello-45bdc2.o : error LNK2019: unresolved external symbol omp_get_thread_num referenced in function .omp_outlined.<br>
omp_hello-45bdc2.o : error LNK2019: unresolved external symbol omp_get_num_threads referenced in function .omp_outlined.<br>
omp_hello-45bdc2.o : error LNK2019: unresolved external symbol __kmpc_cancel_barrier referenced in function .omp_outlined.<br>
a.exe : fatal error LNK1120: 4 unresolved externals<br>
clang.exe: error: linker command failed with exit code 1120 (use -v to see invocation)<br>
<br>
C:\Users\ismail\Desktop><br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div><br></div>