Fwiw, the new extension only supports vs2017, so you may need to upgrade.  If you can’t upgrade, set your project compile options to C7 Compatible Debug Info (/Z7).  That will also fix it<br><div class="gmail_quote"><div dir="ltr">On Thu, Sep 6, 2018 at 6:41 AM Hans Wennborg <<a href="mailto:hans@chromium.org">hans@chromium.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This is the problem described in <a href="https://bugs.llvm.org/show_bug.cgi?id=36140" rel="noreferrer" target="_blank">https://bugs.llvm.org/show_bug.cgi?id=36140</a><br>
<br>
Have you tried using the new VS extension?<br>
<a href="https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.llvm-toolchain" rel="noreferrer" target="_blank">https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.llvm-toolchain</a><br>
It should not have this problem.<br>
<br>
 - Hans<br>
<br>
On Mon, Sep 3, 2018 at 12:34 PM, Aleksei via cfe-users<br>
<<a href="mailto:cfe-users@lists.llvm.org" target="_blank">cfe-users@lists.llvm.org</a>> wrote:<br>
> Hello everyone,<br>
><br>
><br>
><br>
> I don’t know if I’ve found a bug in clang-cl using Visual Studio 2015, or<br>
> it’s a quite normal behavior… It would be nice if someone clarify it and<br>
> (better) fix something in clang-cl, because the current behavior is IMHO<br>
> very confusing.<br>
><br>
><br>
><br>
> Background: Visual Studio 2015, version 14.0.25431.01 Update 3, LLVM version<br>
> 6.0.1 for win64<br>
><br>
><br>
><br>
> So, the problem is MSVC (under some condition) would always require to<br>
> rebuild a project that has to be built with LLVM-vs2014 toolset, even if<br>
> it’d just finished last rebuild.<br>
><br>
><br>
><br>
> The root cause of it in the absence of a file, that is specified under<br>
> “Configuration Properties / C/C++ / Output Files / Program Database File<br>
> Name” (typically, it’s filled with macro<br>
> “$(IntDir)vc$(PlatformToolsetVersion).pdb” that expands to something similar<br>
> to “x64\Debug\vc140.pdb”). I might be wrong in general case, but in my case<br>
> this file is not generated by clang-cl at all during build process, it’s<br>
> generated only by VC’s native compiler. So, should one delete it<br>
> intentionally during manual cleanup or by an accident, MSVC would start to<br>
> always require a full project rebuild before each run/debug.<br>
><br>
><br>
><br>
> It’s very easy to reproduce the problem: create a new Win32 console project<br>
> in MSVC, then immediately change the toolset used to build the project to<br>
> LLVM-vs2015 and then build the project (don’t build the project with native<br>
> compiler before this step). Then run it and notice that MSVC would require<br>
> the project to be rebuild.<br>
><br>
> Now, if one to switch back the toolset to VC’s native, build the project (to<br>
> produce corresponding .pdb file), then switch the toolset to LLVM again and<br>
> then build it and after that run it – MSVC would start the program<br>
> immediately.<br>
><br>
><br>
><br>
> If the .pdb file is not required to run/debug a project, I guess it would be<br>
> much better if clang-cl to emit some kind of warning/information during<br>
> compilation about that fact. I’ve just wasted about 3-4 hours to find out<br>
> why VC requires project rebuilding all the time…<br>
><br>
><br>
><br>
> Thanks.<br>
><br>
><br>
><br>
> Sincerely,<br>
><br>
> Aleksei<br>
><br>
><br>
><br>
><br>
><br>
><br>
> _______________________________________________<br>
> cfe-users mailing list<br>
> <a href="mailto:cfe-users@lists.llvm.org" target="_blank">cfe-users@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users</a><br>
><br>
</blockquote></div>