[all-commits] [llvm/llvm-project] d2d531: [clang][Serialization] Stop including Frontend hea...

Jorge Gorbe Moya via All-commits all-commits at lists.llvm.org
Thu Jan 16 10:12:26 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d2d531e0974e845df6cdff4b50da1e9d2ff61431
      https://github.com/llvm/llvm-project/commit/d2d531e0974e845df6cdff4b50da1e9d2ff61431
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M clang/lib/Serialization/GeneratePCH.cpp
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel

  Log Message:
  -----------
  [clang][Serialization] Stop including Frontend headers from Serialization (NFC) (#123140)

The Frontend library depends on Serialization. This is an explicit
dependency encoded in the CMake target. However, Serialization currently
has an implicit dependency on Frontend, as it includes one of its
headers. This is not reflected in the CMake build rules, but Bazel is
stricter so, in order to avoid a dependency cycle, it hackily declares
the Frontend headers as source files for Serialization.

Fortunately, the only Frontend header used by Serialization is
clang/Frontend/FrontendDiagnostic.h, which is a legacy header that just
includes clang/Basic/DiagnosticFrontend since
d076608d58d1ec55016eb747a995511e3a3f72aa, back in 2018.

This commit changes Serialization to use the underlying header from
Basic instead. Both Serialization and Frontend depend on Basic, so this
breaks the dependency cycle.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list