Update prebuilt Clang to r416183b from Android.
https://android.googlesource.com/platform/prebuilts/clang/host/
linux-x86/+/06a71ddac05c22edb2d10b590e1769b3f8619bef
clang 12.0.5 (based on r416183b) from build 7284624.
Change-Id: I277a316abcf47307562d8b748b84870f31a72866
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
diff --git a/linux-x64/clang/include/lldb/Target/StackFrame.h b/linux-x64/clang/include/lldb/Target/StackFrame.h
index 4e6e79b..905c56c 100644
--- a/linux-x64/clang/include/lldb/Target/StackFrame.h
+++ b/linux-x64/clang/include/lldb/Target/StackFrame.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef liblldb_StackFrame_h_
-#define liblldb_StackFrame_h_
+#ifndef LLDB_TARGET_STACKFRAME_H
+#define LLDB_TARGET_STACKFRAME_H
#include <memory>
#include <mutex>
@@ -99,8 +99,6 @@
/// \param [in] pc
/// The current pc value of this stack frame.
///
- /// \param [in] frame_kind
- ///
/// \param [in] sc_ptr
/// Optionally seed the StackFrame with the SymbolContext information that
/// has
@@ -108,17 +106,19 @@
StackFrame(const lldb::ThreadSP &thread_sp, lldb::user_id_t frame_idx,
lldb::user_id_t concrete_frame_idx, lldb::addr_t cfa,
bool cfa_is_valid, lldb::addr_t pc, Kind frame_kind,
+ bool behaves_like_zeroth_frame, const SymbolContext *sc_ptr);
+
+ StackFrame(const lldb::ThreadSP &thread_sp, lldb::user_id_t frame_idx,
+ lldb::user_id_t concrete_frame_idx,
+ const lldb::RegisterContextSP ®_context_sp, lldb::addr_t cfa,
+ lldb::addr_t pc, bool behaves_like_zeroth_frame,
const SymbolContext *sc_ptr);
StackFrame(const lldb::ThreadSP &thread_sp, lldb::user_id_t frame_idx,
lldb::user_id_t concrete_frame_idx,
const lldb::RegisterContextSP ®_context_sp, lldb::addr_t cfa,
- lldb::addr_t pc, const SymbolContext *sc_ptr);
-
- StackFrame(const lldb::ThreadSP &thread_sp, lldb::user_id_t frame_idx,
- lldb::user_id_t concrete_frame_idx,
- const lldb::RegisterContextSP ®_context_sp, lldb::addr_t cfa,
- const Address &pc, const SymbolContext *sc_ptr);
+ const Address &pc, bool behaves_like_zeroth_frame,
+ const SymbolContext *sc_ptr);
~StackFrame() override;
@@ -287,18 +287,18 @@
llvm::StringRef var_expr, lldb::DynamicValueType use_dynamic,
uint32_t options, lldb::VariableSP &var_sp, Status &error);
- /// Determine whether this StackFrame has debug information available or not
+ /// Determine whether this StackFrame has debug information available or not.
///
/// \return
- // true if debug information is available for this frame (function,
- // compilation unit, block, etc.)
+ /// true if debug information is available for this frame (function,
+ /// compilation unit, block, etc.)
bool HasDebugInformation();
/// Return the disassembly for the instructions of this StackFrame's
/// function as a single C string.
///
/// \return
- // C string with the assembly instructions for this function.
+ /// C string with the assembly instructions for this function.
const char *Disassemble();
/// Print a description for this frame using the frame-format formatter
@@ -399,7 +399,7 @@
/// is sufficient. One of the DynamicValueType enumerated values.
///
/// \return
- // A ValueObject for this variable.
+ /// A ValueObject for this variable.
lldb::ValueObjectSP
GetValueObjectForFrameVariable(const lldb::VariableSP &variable_sp,
lldb::DynamicValueType use_dynamic);
@@ -416,7 +416,7 @@
/// is sufficient. One of the DynamicValueType enumerated values.
///
/// \return
- // A ValueObject for this variable.
+ /// A ValueObject for this variable.
lldb::ValueObjectSP TrackGlobalVariable(const lldb::VariableSP &variable_sp,
lldb::DynamicValueType use_dynamic);
@@ -511,6 +511,12 @@
bool m_cfa_is_valid; // Does this frame have a CFA? Different from CFA ==
// LLDB_INVALID_ADDRESS
Kind m_stack_frame_kind;
+
+ // Whether this frame behaves like the zeroth frame, in the sense
+ // that its pc value might not immediately follow a call (and thus might
+ // be the first address of its function). True for actual frame zero as
+ // well as any other frame with the same trait.
+ bool m_behaves_like_zeroth_frame;
lldb::VariableListSP m_variable_list_sp;
ValueObjectList m_variable_list_value_objects; // Value objects for each
// variable in
@@ -519,9 +525,10 @@
StreamString m_disassembly;
std::recursive_mutex m_mutex;
- DISALLOW_COPY_AND_ASSIGN(StackFrame);
+ StackFrame(const StackFrame &) = delete;
+ const StackFrame &operator=(const StackFrame &) = delete;
};
} // namespace lldb_private
-#endif // liblldb_StackFrame_h_
+#endif // LLDB_TARGET_STACKFRAME_H