[PATCH] D154016: [clang][modules] Avoid serializing all diag mappings in non-deterministic order

Ben Langmuir via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 28 16:27:20 PDT 2023


benlangmuir created this revision.
benlangmuir added reviewers: steven_wu, jansvoboda11, akyrtzi.
Herald added a subscriber: mgrang.
Herald added a project: All.
benlangmuir requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

When writing a pcm, we serialize diagnostic mappings in order to
accurately reproduce the diagnostic environment inside any headers from
that module. However, the diagnostic state mapping table contains
entries for every diagnostic ID ever accessed, while we only want to
serialize the ones that are actually modified from their default value.
Futher, we need to serialize them in a deterministic order.

rdar://111477511


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D154016

Files:
  clang/include/clang/Basic/DiagnosticIDs.h
  clang/lib/Basic/Diagnostic.cpp
  clang/lib/Basic/DiagnosticIDs.cpp
  clang/lib/Serialization/ASTWriter.cpp
  clang/test/Modules/diag-mappings.c

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D154016.535554.patch
Type: text/x-patch
Size: 7261 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230628/101f78ef/attachment.bin>


More information about the cfe-commits mailing list