forked from OSchip/llvm-project
Revert "[DebugInfo] Add an attribute to force type info to be emitted for"
Didn't mean to commit this.
This reverts commit 1b5c2915a2
.
This commit is contained in:
parent
394913fdb9
commit
3fe465fb2c
|
@ -1660,13 +1660,6 @@ def NoDebug : InheritableAttr {
|
|||
let Documentation = [NoDebugDocs];
|
||||
}
|
||||
|
||||
def DebugTypeInfoAsNeeded : InheritableAttr {
|
||||
let Spellings = [Clang<"debug_type_info_as_needed">];
|
||||
let Subjects = SubjectList<[CXXRecord]>;
|
||||
let Documentation = [Undocumented];
|
||||
let SimpleHandler = 1;
|
||||
}
|
||||
|
||||
def NoDuplicate : InheritableAttr {
|
||||
let Spellings = [Clang<"noduplicate">];
|
||||
let Subjects = SubjectList<[Function]>;
|
||||
|
|
|
@ -2344,10 +2344,6 @@ static bool shouldOmitDefinition(codegenoptions::DebugInfoKind DebugKind,
|
|||
if (!CXXDecl)
|
||||
return false;
|
||||
|
||||
// Don't omit definition if marked with attribute.
|
||||
if (RD->hasAttr<DebugTypeInfoAsNeededAttr>())
|
||||
return false;
|
||||
|
||||
// Only emit complete debug info for a dynamic class when its vtable is
|
||||
// emitted. However, Microsoft debuggers don't resolve type information
|
||||
// across DLL boundaries, so skip this optimization if the class or any of its
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
// RUN: %clang_cc1 -DSETATTR=0 -emit-llvm -std=c++14 -debug-info-kind=constructor %s -o - | FileCheck %s --check-prefix=DEBUG
|
||||
// RUN: %clang_cc1 -DSETATTR=1 -emit-llvm -std=c++14 -debug-info-kind=constructor %s -o - | FileCheck %s --check-prefix=WITHATTR
|
||||
|
||||
#if SETATTR
|
||||
#define DEBUGASNEEDED __attribute__((debug_type_info_as_needed))
|
||||
#else
|
||||
#define DEBUGASNEEDED
|
||||
#endif
|
||||
|
||||
// Struct that isn't constructed, so its full type info should be omitted with
|
||||
// -debug-info-kind=constructor.
|
||||
struct DEBUGASNEEDED some_struct {
|
||||
some_struct() {}
|
||||
};
|
||||
|
||||
void func1(some_struct s) {}
|
||||
// void func2() { func1(); }
|
||||
// DEBUG: !DICompositeType({{.*}}name: "some_struct"
|
||||
// DEBUG-SAME: flags: {{.*}}DIFlagFwdDecl
|
||||
// WITHATTR: !DICompositeType({{.*}}name: "some_struct"
|
||||
// WITHATTR-NOT: DIFlagFwdDecl
|
||||
|
Loading…
Reference in New Issue