Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "[lldb] Fix crash missing MSInheritanceAttr on CXXRecordDecl with DWARF on Windows" #113498

Conversation

rastogishubham
Copy link
Contributor

Reverts #112928

This is because it broke greendragon: SymbolFile/DWARF/x86/member-pointers.cpp

@llvmbot llvmbot added the lldb label Oct 23, 2024
@rastogishubham rastogishubham merged commit c919970 into main Oct 23, 2024
4 of 6 checks passed
@rastogishubham rastogishubham deleted the revert-112928-lldb-fix-crash-pointer-to-incomplete-member-type branch October 23, 2024 21:31
@llvmbot
Copy link
Member

llvmbot commented Oct 23, 2024

@llvm/pr-subscribers-lldb

Author: Shubham Sandeep Rastogi (rastogishubham)

Changes

Reverts llvm/llvm-project#112928

This is because it broke greendragon: SymbolFile/DWARF/x86/member-pointers.cpp


Full diff: https://github.com/llvm/llvm-project/pull/113498.diff

2 Files Affected:

  • (modified) lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp (-3)
  • (removed) lldb/test/Shell/SymbolFile/DWARF/x86/member-pointers.cpp (-24)
diff --git a/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp b/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
index f5063175d6e070..a57cd8efce8a11 100644
--- a/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
+++ b/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
@@ -2771,9 +2771,6 @@ static bool GetCompleteQualType(clang::ASTContext *ast,
         ast, llvm::cast<clang::AttributedType>(qual_type)->getModifiedType(),
         allow_completion);
 
-  case clang::Type::MemberPointer:
-    return !qual_type.getTypePtr()->isIncompleteType();
-
   default:
     break;
   }
diff --git a/lldb/test/Shell/SymbolFile/DWARF/x86/member-pointers.cpp b/lldb/test/Shell/SymbolFile/DWARF/x86/member-pointers.cpp
deleted file mode 100644
index 817833d4fa7515..00000000000000
--- a/lldb/test/Shell/SymbolFile/DWARF/x86/member-pointers.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-// REQUIRES: lld
-
-// Itanium ABI:
-// RUN: %clang --target=x86_64-pc-linux -gdwarf -c -o %t_linux.o %s
-// RUN: %lldb -f %t_linux.o -b -o "target variable mp" | FileCheck %s
-//
-// CHECK: (char SI::*) mp = 0x0000000000000000
-
-// Microsoft ABI:
-// RUN: %clang_cl --target=x86_64-windows-msvc -c -gdwarf %s -o %t_win.obj
-// RUN: lld-link /out:%t_win.exe %t_win.obj /nodefaultlib /entry:main /debug
-// RUN: %lldb -f %t_win.exe -b -o "target variable mp" | FileCheck --check-prefix=CHECK-MSVC %s
-//
-// DWARF has no representation of MSInheritanceAttr, so we cannot determine the size
-// of member-pointers yet. For the moment, make sure we don't crash on such variables.
-// CHECK-MSVC: error: Unable to determine byte size.
-
-struct SI {
-  char si;
-};
-
-char SI::*mp = &SI::si;
-
-int main() { return 0; }

@frobtech frobtech mentioned this pull request Oct 25, 2024
NoumanAmir657 pushed a commit to NoumanAmir657/llvm-project that referenced this pull request Nov 4, 2024
…ith DWARF on Windows" (llvm#113498)

Reverts llvm#112928

This is because it broke greendragon:
SymbolFile/DWARF/x86/member-pointers.cpp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants