File tree Expand file tree Collapse file tree 3 files changed +21
-5
lines changed
LanguageRuntime/CPlusPlus
test/Shell/SymbolFile/DWARF Expand file tree Collapse file tree 3 files changed +21
-5
lines changed Original file line number Diff line number Diff line change @@ -41,10 +41,7 @@ CPPLanguageRuntime::CPPLanguageRuntime(Process *process)
41
41
: LanguageRuntime(process) {}
42
42
43
43
bool CPPLanguageRuntime::IsAllowedRuntimeValue (ConstString name) {
44
- // FIXME: use a list when the list grows more.
45
- return name == g_this ||
46
- name == ConstString (" __promise" ) ||
47
- name == ConstString (" __coro_frame" );
44
+ return name == g_this;
48
45
}
49
46
50
47
bool CPPLanguageRuntime::GetObjectDescription (Stream &str,
Original file line number Diff line number Diff line change @@ -772,7 +772,9 @@ TypeSystemClang *TypeSystemClang::GetASTContext(clang::ASTContext *ast) {
772
772
}
773
773
774
774
bool TypeSystemClang::ShouldIgnoreArtificialField (llvm::StringRef Name) {
775
- return Name.starts_with (" _vptr$" );
775
+ return Name.starts_with (" _vptr$" )
776
+ // gdb emit vtable pointer as "_vptr.classname"
777
+ || Name.starts_with (" _vptr." );
776
778
}
777
779
778
780
clang::MangleContext *TypeSystemClang::getMangleContext () {
Original file line number Diff line number Diff line change
1
+ # UNSUPPORTED: system-darwin, system-windows
2
+
3
+ # Make sure the artifical field `vptr.ClassName` from gcc debug info is ignored.
4
+ # RUN: %build --compiler=gcc %S/Inputs/debug-types-expressions.cpp -o %t
5
+ # RUN: %lldb %t -s %s -o exit | FileCheck %s
6
+
7
+ breakpoint set -n foo
8
+ process launch
9
+
10
+ # CHECK: Process {{.*}} stopped
11
+
12
+ frame variable *a
13
+ # CHECK-LABEL: frame variable *a
14
+ # CHECK: (B) *a = {
15
+ # CHECK-NEXT: A = (i = 47)
16
+ # CHECK-NEXT: j = 42
17
+ # CHECK-NEXT: }
You can’t perform that action at this time.
0 commit comments