[PATCH] D74417: [clang][ARC] Remove invalid assertion that can crash clangd

David Goldman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 13 10:06:04 PST 2020


dgoldman added a comment.

In D74417#1873287 <https://reviews.llvm.org/D74417#1873287>, @erik.pilkington wrote:

> This looks good, but please add a testcase.


Added but it's still failing due to a different assertion failure, do you think this could be because the abbreviation is different for the ParamVars? I'm not sure how to handle this...

  Assertion failed: (V == Op.getLiteralValue() && "Invalid abbrev for record!"), function EmitAbbreviatedLiteral, file /Users/davg/dev/git_llvm/source/llvm-project/llvm/include/llvm/Bitstream/BitstreamWriter.h, line 263.
  Stack dump:
  0.	Program arguments: /Users/davg/dev/git_llvm/build/bin/clang -cc1 -internal-isystem /Users/davg/dev/git_llvm/build/lib/clang/11.0.0/include -nostdsysteminc /Users/davg/dev/git_llvm/source/llvm-project/clang/test/PCH/externally-retained.m -emit-pch -fobjc-arc -o /Users/davg/dev/git_llvm/build/tools/clang/test/PCH/Output/externally-retained.m.tmp
  1.	<eof> parser at end of file
  2.	/Users/davg/dev/git_llvm/source/llvm-project/clang/test/PCH/externally-retained.m:17:63: serializing 'someObject'
  0  clang                    0x000000010aa9515c llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 60
  1  clang                    0x000000010aa95719 PrintStackTraceSignalHandler(void*) + 25
  2  clang                    0x000000010aa93146 llvm::sys::RunSignalHandlers() + 118
  3  clang                    0x000000010aa992fc SignalHandler(int) + 252
  4  libsystem_platform.dylib 0x00007fff67583b5d _sigtramp + 29
  5  clang                    0x00000001122350d8 llvm::DenseMapInfo<llvm::codeview::GloballyHashedType>::Tombstone + 3253576
  6  libsystem_c.dylib        0x00007fff6743d6a6 abort + 127
  7  libsystem_c.dylib        0x00007fff6740620d basename_r + 0
  8  clang                    0x000000010bc4e7f3 void llvm::BitstreamWriter::EmitAbbreviatedLiteral<unsigned long long>(llvm::BitCodeAbbrevOp const&, unsigned long long) + 211
  9  clang                    0x000000010bc4de0c void llvm::BitstreamWriter::EmitRecordWithAbbrevImpl<unsigned long long>(unsigned int, llvm::ArrayRef<unsigned long long>, llvm::StringRef, llvm::Optional<unsigned int>) + 892
  10 clang                    0x000000010bc4d863 void llvm::BitstreamWriter::EmitRecord<llvm::SmallVectorImpl<unsigned long long> >(unsigned int, llvm::SmallVectorImpl<unsigned long long> const&, unsigned int) + 307
  11 clang                    0x000000010bebb274 clang::ASTRecordWriter::Emit(unsigned int, unsigned int) + 84
  12 clang                    0x000000010bf3e19b clang::ASTDeclWriter::Emit(clang::Decl*) + 203
  13 clang                    0x000000010bf3de25 clang::ASTWriter::WriteDecl(clang::ASTContext&, clang::Decl*) + 517
  ...


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D74417/new/

https://reviews.llvm.org/D74417





More information about the cfe-commits mailing list