diff options
author | Hans Wennborg <hans@chromium.org> | 2019-11-08 11:30:33 +0100 |
---|---|---|
committer | Hans Wennborg <hans@chromium.org> | 2019-11-08 11:30:33 +0100 |
commit | ff3b513495c04d87799b3c5a98ddcdb6996af4f3 (patch) | |
tree | 7afe0cfe45cf53be4279f5b505d9687c20363cff /llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h | |
parent | f649f24d388c745d20fab5573d27b822b92818ed (diff) | |
download | bcm5719-llvm-ff3b513495c04d87799b3c5a98ddcdb6996af4f3.tar.gz bcm5719-llvm-ff3b513495c04d87799b3c5a98ddcdb6996af4f3.zip |
Revert d91ed80 "[codeview] Reference types in type parent scopes"
This triggered asserts in the Chromium build, see https://crbug.com/1022729 for
details and reproducer.
> Without this change, when a nested tag type of any kind (enum, class,
> struct, union) is used as a variable type, it is emitted without
> emitting the parent type. In CodeView, parent types point to their inner
> types, and inner types do not point back to their parents. We already
> walk over all of the parent scopes to build the fully qualified name.
> This change simply requests their type indices as we go along to enusre
> they are all emitted.
>
> Fixes PR43905
>
> Reviewers: akhuang, amccarth
>
> Differential Revision: https://reviews.llvm.org/D69924
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h index e32d6267430..b56b9047e1a 100644 --- a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h +++ b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h @@ -443,19 +443,6 @@ class LLVM_LIBRARY_VISIBILITY CodeViewDebug : public DebugHandlerBase { codeview::TypeIndex TI, const DIType *ClassTy = nullptr); - /// Collect the names of parent scopes, innermost to outermost. Return the - /// innermost subprogram scope if present. Ensure that parent type scopes are - /// inserted into the type table. - const DISubprogram * - collectParentScopeNames(const DIScope *Scope, - SmallVectorImpl<StringRef> &ParentScopeNames); - - std::string formatNestedName(ArrayRef<StringRef> ParentScopeNames, - StringRef TypeName); - - std::string getFullyQualifiedName(const DIScope *Scope, StringRef Name); - std::string getFullyQualifiedName(const DIScope *Scope); - unsigned getPointerSizeInBytes(); protected: |