[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
+public:
+  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
----------------
`e.g.,`


================
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.


https://reviews.llvm.org/D50478





More information about the lldb-commits mailing list