[all-commits] [llvm/llvm-project] 9e6f19: Fix missing build dependency on omp_gen.

Simon Tatham via All-commits all-commits at lists.llvm.org
Thu Jul 2 01:19:02 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 9e6f19fd8390d39a0351941da1582f888d18c369
      https://github.com/llvm/llvm-project/commit/9e6f19fd8390d39a0351941da1582f888d18c369
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2020-07-02 (Thu, 02 Jul 2020)

  Changed paths:
    M clang/CMakeLists.txt

  Log Message:
  -----------
  Fix missing build dependency on omp_gen.

Summary:
`include/llvm/Frontend/OpenMP/CMakeLists.txt` creates a new target
called `omp_gen` which builds the generated include file `OMP.h.inc`.
This target must therefore be a dependency of every compilation step
whose transitive #include dependencies contain `OMP.h.inc`, or else
it's possible for builds to fail if Ninja (or make or whatever)
schedules that compilation step before building `OMP.h.inc` at all.

A few of those dependencies are currently missing, which leads to
intermittent build failures, depending on the order that Ninja (or
whatever) happens to schedule its commands. As far as I can see,
compiles in `clang/lib/CodeGen`, `clang/lib/Frontend`, and
`clang/examples` all depend transitivily on `OMP.h.inc` (usually via
`clang/AST/AST.h`), but don't have the formal dependency in the ninja
graph.

Adding `omp_gen` to the dependencies of `clang-tablegen-targets` seems
to be the way to get the missing dependency into the `clang/examples`
subdirectory. This also fixes the other two clang subdirectories, as
far as I can see.

Reviewers: clementval, thakis, chandlerc, jdoerfert

Reviewed By: clementval

Subscribers: cfe-commits, jdenny, mgorny, sstefan1, llvm-commits

Tags: #llvm, #clang

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




More information about the All-commits mailing list