[llvm-bugs] [Bug 38799] New: msbuild integration: suppressing and translating more properties
via llvm-bugs
llvm-bugs at lists.llvm.org
Fri Aug 31 16:34:59 PDT 2018
https://bugs.llvm.org/show_bug.cgi?id=38799
Bug ID: 38799
Summary: msbuild integration: suppressing and translating more
properties
Product: new-bugs
Version: unspecified
Hardware: PC
OS: Windows NT
Status: NEW
Severity: enhancement
Priority: P
Component: new bugs
Assignee: unassignedbugs at nondot.org
Reporter: mike.winterberg at gmail.com
CC: llvm-bugs at lists.llvm.org
Visual Studio 2017 Update 8 introduced a new compiler option, /JMC to integrate
with the debugger. The "advertising" for it is described here:
https://blogs.msdn.microsoft.com/vcblog/2018/06/29/announcing-jmc-stepping-in-visual-studio/
It does alter the generated code -- it inserts calls to a "magic" function
called __CheckForDebuggerJustMyCode. I don't know if there is a desire to
support something like this, but adding an empty <SupportJustMyCode /> element
to the ClCompile section in LLVM.Cpp.Common.targets prevents the /JMC flag from
being passed on and prevents a warning about an unused command line flag.
For Link, three issues:
1) Link.GenerateDebugInformation with a value of 'true' in debug builds or
'DebugFastLink' otherwise generates a hard error. While it's not the exact same
as what happens with /ZI and /Zi, would there be any reason to not just convert
fastlink PDB requests to full?
2) Since ClCompile.WholeProgramOptimization is silently disabled, it seems like
Link.LinkTimeCodeGeneration should also be. Currently if it's set to any value
other than Default it causes a hard error.
3) This may more accurately be an issue with lld-link compatibility rather than
addressing it into the msbuild support files, but should
/MAP:LinkerAddressFile.map map to -lldmap:LinkerAddressFile.map? The output
format is different from what link.exe produces, so I'm assuming that's why
lld-link doesn't just translate internally. It may also just be because few
people actually care about address map files so support was missed. Apologies
if this has been addressed in the past, but searching for "lld" and "map"
doesn't exactly produce a concise list of results.
Example failures on the command line:
>lld-link /DEBUG:FastLink ManifestDependency.obj
lld-link.exe: error: could not open /DEBUG:FastLink: no such file or directory
>lld-link /LTCG:incremental ManifestDependency.obj
lld-link.exe: error: could not open /LTCG:incremental: no such file or
directory
>lld-link /LTCG ManifestDependency.obj
lld-link.exe: error: could not open /LTCG: no such file or directory
>lld-link /MAP:SomeFile.map ManifestDependency.obj
lld-link.exe: error: could not open /MAP:SomeFile.map: no such file or
directory
Since these issues all reproduce outside of the msbuild integration, it is
reasonable to say that this isn't just to be addressed in
LLVM.Cpp.Common.targets, but it seems like those first three command line
examples would still possibly emit warnings or just silently translate
internally.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20180831/0b99c9f5/attachment.html>
More information about the llvm-bugs
mailing list