[PATCH] D116750: [clang][lex] Keep references to `DirectoryLookup` objects up-to-date

Jan Svoboda via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 13 07:48:56 PST 2022


jansvoboda11 added a comment.

Thank you!

I'm pretty sure it's this commit that causes the failure.

I now see that `HeaderSearch::LookupFile` callers perform pointer arithmetics on the out-parameter `const DirectoryLookup *&CurDir`. They rely on the fact that all `DirectoryLookup` instances are in contiguous memory. That was true when they were stored in `std::vector<DirectoryLookup>`, but since they are allocated in `llvm::SpecificBumpPtrAllocator<DirectoryLookup>` after this patch, that assumption is no longer true.

I have reverted the patch for now and will look into fixing this.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D116750



More information about the cfe-commits mailing list