[all-commits] [llvm/llvm-project] 1ede7b: [clang][modules] Avoid serializing all diag mappin...

Ben Langmuir via All-commits all-commits at lists.llvm.org
Thu Jun 29 13:17:52 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1ede7b47493f8d8548202e5f4e4a150c11e070fd
      https://github.com/llvm/llvm-project/commit/1ede7b47493f8d8548202e5f4e4a150c11e070fd
  Author: Ben Langmuir <blangmuir at apple.com>
  Date:   2023-06-29 (Thu, 29 Jun 2023)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticIDs.h
    M clang/lib/Basic/Diagnostic.cpp
    M clang/lib/Basic/DiagnosticIDs.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/Modules/diag-mappings.c

  Log Message:
  -----------
  [clang][modules] Avoid serializing all diag mappings in non-deterministic order

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

Differential Revision: https://reviews.llvm.org/D154016




More information about the All-commits mailing list