================ @@ -663,10 +663,15 @@ SourceManager::createExpansionLocImpl(const ExpansionInfo &Info, return SourceLocation::getMacroLoc(LoadedOffset); } LocalSLocEntryTable.push_back(SLocEntry::get(NextLocalOffset, Info)); - // FIXME: Produce a proper diagnostic for this case. - assert(NextLocalOffset + Length + 1 > NextLocalOffset && - NextLocalOffset + Length + 1 <= CurrentLoadedOffset && - "Ran out of source locations!"); + if (NextLocalOffset + Length + 1 <= NextLocalOffset || + NextLocalOffset + Length + 1 > CurrentLoadedOffset) { + Diag.Report(Info.getSpellingLoc(), diag::err_expansions_too_large); + // FIXME: call `noteSLocAddressSpaceUsage` to report details to users. ---------------- ilya-biryukov wrote:
I actually tried moving the sloc entry below this check, but it did not help. So no idea what causes it, and I thought having the change as is is better than the current state, so I decided to sent the PR before figuring this one out. https://github.com/llvm/llvm-project/pull/69908 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits