[PATCH] D76594: [clang][AST] Support AST files larger than 512M

Dmitry Polukhin via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 10 09:26:56 PST 2021


DmitryPolukhin added inline comments.


================
Comment at: clang/lib/Serialization/ASTWriter.cpp:1908
+    uint64_t Offset = Stream.GetCurrentBitNo() - SLocEntryOffsetsBase;
+    assert((Offset >> 32) == 0 && "SLocEntry offset too large");
+    SLocEntryOffsets.push_back(Offset);
----------------
JackKemp99 wrote:
> clangd crashes here:
> {F15446669}
@JackKemp99 It means that you have a source file that has number of source location that exceeds 32-bit offset. Do you have a reproducer that you can share?

Is it something Boost related? There is a discussion about too many source location with Boost https://lists.llvm.org/pipermail/cfe-dev/2021-February/067599.html Your example may not exceed amount in of SourceLocation IDs but exceeds lower bound on offsets during preamble generation.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D76594



More information about the cfe-commits mailing list