[Lldb-commits] [lldb] de4f929 - [lldb][x86] Remove GCC 6 workaround (#210317)
via lldb-commits
lldb-commits at lists.llvm.org
Fri Jul 17 06:18:30 PDT 2026
Author: David Spickett
Date: 2026-07-17T13:18:25Z
New Revision: de4f929700f8d87041e0b050ec6028f0ac5276ad
URL: https://github.com/llvm/llvm-project/commit/de4f929700f8d87041e0b050ec6028f0ac5276ad
DIFF: https://github.com/llvm/llvm-project/commit/de4f929700f8d87041e0b050ec6028f0ac5276ad.diff
LOG: [lldb][x86] Remove GCC 6 workaround (#210317)
Added by 3bea7306e8669f94bacafae68748a9139cfc0b98.
We now require GCC >= 7.4 so it can be removed.
I tested a standalone reproducer with GCC 7.3 and
clang 5. Neither have the problem.
https://godbolt.org/z/3zKrT9c8s
Standalone reproducer:
```
struct Base {
Base(int) {}
};
struct Derived : virtual Base {
#ifdef WORKAROUND
Derived(int a): Base(a) {}
#endif
virtual void g() = 0;
};
struct Final : Derived {
Final(int n) : Base(n)
#ifdef WORKAROUND
, Derived(n)
#endif
{}
void g() override {}
};
```
Added:
Modified:
lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86.cpp
lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_x86.h
Removed:
################################################################################
diff --git a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86.cpp b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86.cpp
index 67a79566f6f6d..a7af62e89c1dc 100644
--- a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86.cpp
+++ b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86.cpp
@@ -300,7 +300,6 @@ NativeRegisterContextLinux_x86::NativeRegisterContextLinux_x86(
: NativeRegisterContextRegisterInfo(
native_thread, CreateRegisterInfoInterface(target_arch).release()),
NativeRegisterContextLinux(native_thread),
- NativeRegisterContextDBReg_x86(native_thread),
m_xstate_type(XStateType::Invalid), m_ymm_set(), m_mpx_set(),
m_reg_info(), m_gpr_x86_64() {
// Set up data about ranges of valid registers.
diff --git a/lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_x86.h b/lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_x86.h
index 2fdf5000f751c..8a2c1a1dbcbe1 100644
--- a/lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_x86.h
+++ b/lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_x86.h
@@ -16,12 +16,6 @@ namespace lldb_private {
class NativeRegisterContextDBReg_x86
: public virtual NativeRegisterContextRegisterInfo {
public:
- // NB: This constructor is here only because gcc<=6.5 requires a virtual base
- // class initializer on abstract class (even though it is never used). It can
- // be deleted once we move to gcc>=7.0.
- NativeRegisterContextDBReg_x86(NativeThreadProtocol &thread)
- : NativeRegisterContextRegisterInfo(thread, nullptr) {}
-
Status IsWatchpointHit(uint32_t wp_index, bool &is_hit) override;
Status GetWatchpointHitIndex(uint32_t &wp_index,
More information about the lldb-commits
mailing list