[llvm-dev] Debug information with clang-cl on Windows

Tobias Hieta via llvm-dev llvm-dev at lists.llvm.org
Tue Mar 9 00:37:31 PST 2021


Hello,

We recently switched our windows builds from the CL compiler to
clang-cl. This was a pretty big jump in terms of code generation and
having a uniform compiler across all the major platforms.

Our setup is that our Windows developer use MSVC as the IDE and
compile with our own build of clang-cl and link with lld-link.

Some of the developers noticed that some of the debug information are
not as good as with CL. Or rather some variables seems to be optimized
out, this is what the IDE says, see attached screenshot. I have tried
to figure out if there is a rhyme and reason to what variables are
gone - but I have not been able to see any pattern.

Our command line is:

clang-cl.exe /nologo -DUNICODE -DUSE_BREAKPAD -DWIN32
-DWIN32_LEAN_AND_MEAN -DWINVER=0x0601 -D_CRT_NONSTDC_NO_DEPRECATE
-D_CRT_SECURE_NO_WARNINGS -D_LEGACY_NAT_TRAVERSAL_ -D_REENTRANT
-D_SCL_SECURE_NO_WARNINGS -D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS
-D_UNICODE -D_WIN32_WINNT=0x0601 -D_WINSOCK_DEPRECATED_NO_WARNINGS
-Iincludes -m32 -fdiagnostics-absolute-paths
--target=i686-windows-msvc -m32 /DWIN32 /D_WINDOWS /GR /EHsc /Zi /Ob0
/Od /RTC1 -MDd /Zm512 /EHsc /bigobj /W3 -Werror -Wsign-compare
-Wno-reorder-ctor -Wno-delete-non-virtual-dtor -Wunused-variable
-Wuninitialized -std:c++14

Is there any good way to debug this or is it a known limitation with
clang-cl or 32 bit (we don't do 64 yet - but with clang-cl we hope to
move towards that soon). Or am I missing some flags?

Thanks,
Tobias
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 108345285-bf402180-71e6-11eb-9090-29f6ebb8423e.png
Type: image/png
Size: 27244 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210309/50384b93/attachment.png>


More information about the llvm-dev mailing list