shafik marked an inline comment as done.
shafik added inline comments.

================
Comment at: clang/lib/CodeGen/CGDebugInfo.cpp:3659
     // Use llvm function name.
-    Name = Fn->getName();
+    if (Fn->getName().startswith("___Z"))
+      LinkageName = Fn->getName();
----------------
dblaikie wrote:
> shafik wrote:
> > dblaikie wrote:
> > > aprantl wrote:
> > > > aprantl wrote:
> > > > > Could you please add a comment that Clang Blocks are generated as raw 
> > > > > llvm::Functions but do have a mangled name and that is handling this 
> > > > > case? Otherwise this would look suspicious.
> > > > Should *all* raw LLVM functions have their name as the linkage name? 
> > > > Perhaps a raw LLVM function should only have a linkage name and no 
> > > > human-readable name?
> > > Seems plausible to me - do we have any data on other types of functions 
> > > that hit this codepath? 
> > So it was not obvious to me what other cases would this branch so I added 
> > an assert and ran `check-clang` and from that I saw four cases that ended 
> > up here:
> > 
> > `GenerateCapturedStmtFunction`
> > `GenerateOpenMPCapturedStmtFunction`
> > `GenerateBlockFunction`
> > `generateDestroyHelper`
> > 
> > It is not obvious to me we want to alter the behavior of any of the other 
> > cases.
> Could you show any small source examples & their corresponding DWARF & how 
> that DWARF would change? (what names are we using, what names would we end up 
> using/what sort of things are they naming)
Ok, I understand the objections to special casing like this. We ended up 
setting both the `Name` and `LinkageName` unconditionally in this branch 
because not setting the name for subroutines end up with us generating 
`DW_TAG_subprogram` without a `DW_AT_name` which is not valid. We discovered 
this when running the LLDB test suite.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D73282/new/

https://reviews.llvm.org/D73282



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to