[Lldb-commits] [PATCH] D50478: Add support for artificial tail call frames

Adrian Prantl via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Oct 3 09:59:38 PDT 2018

aprantl added a comment.

This looks pretty good! I have one last question about CallEdge inside.

Comment at: lldb/include/lldb/Symbol/Function.h:304
+  CallEdge(const char *mangled_name, lldb::addr_t return_pc);
Does this also work for C functions? If yes, would `symbol_name` be a more accurate description?

Is this pointer globally unique in the program, or can two mangled names appear in a legal C program that don't refer to the same function?

Comment at: lldb/include/lldb/Target/StackFrame.h:65
+    /// An artificial stack frame (e.g a synthesized result of inferring
+    /// missing tail call frames from a backtrace) with limited support for

Comment at: lldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/ambiguous_tail_call_seq2/TestAmbiguousTailCallSeq2.py:5
+lldbinline.MakeInlineTest(__file__, globals(),
+        [decorators.skipUnlessHasCallSiteInfo])
This test should be restricted to only run with clang as the compiler or the -glldb flag won't work. 

I see. It is implicit in in skipUnlessHasCallSiteInfo — perhaps we should just generally add -glldb to CFLAGS? It's not a bug deal.


More information about the lldb-commits mailing list