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.