File tree Expand file tree Collapse file tree 3 files changed +6
-7
lines changed Expand file tree Collapse file tree 3 files changed +6
-7
lines changed Original file line number Diff line number Diff line change @@ -3059,10 +3059,8 @@ void DWARFASTParserClang::ParseSingleMember(
3059
3059
// This needs to be done after updating FieldInfo which keeps track of where
3060
3060
// field start/end so we don't later try to fill the space of this
3061
3061
// artificial member with (unnamed bitfield) padding.
3062
- // FIXME: This check should verify that this is indeed an artificial member
3063
- // we are supposed to ignore.
3064
3062
if (attrs.is_artificial &&
3065
- ! TypeSystemClang::IsCoroutineFrameType (class_clang_type )) {
3063
+ TypeSystemClang::ShouldIgnoreArtificialField (attrs. name )) {
3066
3064
last_field_info.SetIsArtificial (true );
3067
3065
return ;
3068
3066
}
Original file line number Diff line number Diff line change @@ -771,8 +771,8 @@ TypeSystemClang *TypeSystemClang::GetASTContext(clang::ASTContext *ast) {
771
771
return clang_ast;
772
772
}
773
773
774
- bool TypeSystemClang::IsCoroutineFrameType ( const CompilerType &Type ) {
775
- return Type. GetTypeName (). GetStringRef (). ends_with ( " .coro_frame_ty " );
774
+ bool TypeSystemClang::ShouldIgnoreArtificialField (llvm::StringRef Name ) {
775
+ return Name. starts_with ( " _vptr$ " );
776
776
}
777
777
778
778
clang::MangleContext *TypeSystemClang::getMangleContext () {
Original file line number Diff line number Diff line change @@ -154,8 +154,9 @@ class TypeSystemClang : public TypeSystem {
154
154
155
155
static TypeSystemClang *GetASTContext (clang::ASTContext *ast_ctx);
156
156
157
- // Returns true if the given type is a coroutine frame debug type.
158
- static bool IsCoroutineFrameType (const CompilerType &Type);
157
+ // Returns true if the given artificial field name should be ignored when
158
+ // parsing the DWARF.
159
+ static bool ShouldIgnoreArtificialField (llvm::StringRef FieldName);
159
160
160
161
// / Returns the display name of this TypeSystemClang that indicates what
161
162
// / purpose it serves in LLDB. Used for example in logs.
You can’t perform that action at this time.
0 commit comments