[PATCH] D79274: Fix template class debug info for Visual Studio visualizers
Reid Kleckner via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon May 11 14:01:22 PDT 2020
rnk added inline comments.
================
Comment at: clang/test/CodeGenCXX/debug-info-codeview-display-name.cpp:10
+// RUN: %clang_cc1 -fblocks -debug-info-kind=limited -gcodeview -emit-llvm %s \
+// RUN: -o - -triple=x86_64-pc-win32 -Wno-new-returns-null -fms-compatibility | \
+// RUN: grep -E 'DISubprogram|DICompositeType' | sed -e 's/.*name: "\([^"]*\)".*/"\1"/' | \
----------------
amccarth wrote:
> rnk wrote:
> > Why choose fms-compatibility? Does it have a side effect of raising the default standard version?
> > Why choose fms-compatibility?
>
> I thought that `-fms-compatibility` was the solution we had discussed.
>
> With ms-compat, we retain the space. Without ms-compat, clang does what clang does (which, currently, is to omit the space).
>
> > Does it have a side effect of raising the default standard version?
>
> That was not my intent. Removing the `-std=c++98` raises the standard.
>From looking at the code, it seems like we omit the space in debug info when codeview is enabled, regardless of -fms-compatibility or any other setting. The flag for emitting the space is conditional on the standard version, so I think what we want here is re-run of the same test with a higher standard version, something beyond C++11.
I guess, responding to your comment below, the idea is that this test uses the default C++ version, whatever it is. I guess my feedback is, let's test all of the following:
1. explicit C++98
2. explicit C++11
3. unpinned std
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D79274/new/
https://reviews.llvm.org/D79274
More information about the cfe-commits
mailing list