michele.scandale created this revision.
michele.scandale added reviewers: clementval, simon_tatham, chandlerc.
Herald added subscribers: cfe-commits, sstefan1, martong, arphaman, mgorny.
Herald added a reviewer: jdoerfert.
Herald added a project: clang.

Having the `omp_gen` dependency added unconditionally to Clang libraries
breaks the Clang standalone build. This dependency should be added only
if `CLANG_BUILT_STANDALONE` is false, similarly to the `intrinsics_gen`
case.
Moreover the C++ standard must be set properly as well.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D83414

Files:
  clang/CMakeLists.txt
  clang/lib/ARCMigrate/CMakeLists.txt
  clang/lib/AST/CMakeLists.txt
  clang/lib/ASTMatchers/CMakeLists.txt
  clang/lib/ASTMatchers/Dynamic/CMakeLists.txt
  clang/lib/Analysis/CMakeLists.txt
  clang/lib/Basic/CMakeLists.txt
  clang/lib/Frontend/Rewrite/CMakeLists.txt
  clang/lib/Index/CMakeLists.txt
  clang/lib/Parse/CMakeLists.txt
  clang/lib/Sema/CMakeLists.txt
  clang/lib/Serialization/CMakeLists.txt
  clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
  clang/lib/StaticAnalyzer/Core/CMakeLists.txt
  clang/lib/StaticAnalyzer/Frontend/CMakeLists.txt
  clang/lib/Tooling/ASTDiff/CMakeLists.txt
  clang/lib/Tooling/CMakeLists.txt
  clang/lib/Tooling/Refactoring/CMakeLists.txt
  clang/lib/Tooling/Syntax/CMakeLists.txt
  clang/lib/Tooling/Transformer/CMakeLists.txt

Index: clang/lib/Tooling/Transformer/CMakeLists.txt
===================================================================
--- clang/lib/Tooling/Transformer/CMakeLists.txt
+++ clang/lib/Tooling/Transformer/CMakeLists.txt
@@ -19,7 +19,4 @@
   clangLex
   clangToolingCore
   clangToolingRefactoring
-
-  DEPENDS
-  omp_gen
   )
Index: clang/lib/Tooling/Syntax/CMakeLists.txt
===================================================================
--- clang/lib/Tooling/Syntax/CMakeLists.txt
+++ clang/lib/Tooling/Syntax/CMakeLists.txt
@@ -15,7 +15,4 @@
   clangFrontend
   clangLex
   clangToolingCore
-
-  DEPENDS
-  omp_gen
   )
Index: clang/lib/Tooling/Refactoring/CMakeLists.txt
===================================================================
--- clang/lib/Tooling/Refactoring/CMakeLists.txt
+++ clang/lib/Tooling/Refactoring/CMakeLists.txt
@@ -22,7 +22,4 @@
   clangLex
   clangRewrite
   clangToolingCore
-
-  DEPENDS
-  omp_gen
   )
Index: clang/lib/Tooling/CMakeLists.txt
===================================================================
--- clang/lib/Tooling/CMakeLists.txt
+++ clang/lib/Tooling/CMakeLists.txt
@@ -31,7 +31,6 @@
 
   DEPENDS
   ClangDriverOptions
-  omp_gen
 
   LINK_LIBS
   clangAST
Index: clang/lib/Tooling/ASTDiff/CMakeLists.txt
===================================================================
--- clang/lib/Tooling/ASTDiff/CMakeLists.txt
+++ clang/lib/Tooling/ASTDiff/CMakeLists.txt
@@ -8,7 +8,4 @@
   clangBasic
   clangAST
   clangLex
-
-  DEPENDS
-  omp_gen
   )
Index: clang/lib/StaticAnalyzer/Frontend/CMakeLists.txt
===================================================================
--- clang/lib/StaticAnalyzer/Frontend/CMakeLists.txt
+++ clang/lib/StaticAnalyzer/Frontend/CMakeLists.txt
@@ -23,7 +23,4 @@
   clangLex
   clangStaticAnalyzerCheckers
   clangStaticAnalyzerCore
-
-  DEPENDS
-  omp_gen
   )
Index: clang/lib/StaticAnalyzer/Core/CMakeLists.txt
===================================================================
--- clang/lib/StaticAnalyzer/Core/CMakeLists.txt
+++ clang/lib/StaticAnalyzer/Core/CMakeLists.txt
@@ -61,8 +61,5 @@
   clangLex
   clangRewrite
   clangToolingCore
-
-  DEPENDS
-  omp_gen
   )
 
Index: clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
===================================================================
--- clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
+++ clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
@@ -135,7 +135,4 @@
   clangBasic
   clangLex
   clangStaticAnalyzerCore
-
-  DEPENDS
-  omp_gen
   )
Index: clang/lib/Serialization/CMakeLists.txt
===================================================================
--- clang/lib/Serialization/CMakeLists.txt
+++ clang/lib/Serialization/CMakeLists.txt
@@ -30,7 +30,4 @@
   clangBasic
   clangLex
   clangSema
-
-  DEPENDS
-  omp_gen
   )
Index: clang/lib/Sema/CMakeLists.txt
===================================================================
--- clang/lib/Sema/CMakeLists.txt
+++ clang/lib/Sema/CMakeLists.txt
@@ -72,7 +72,6 @@
 
   DEPENDS
   ClangOpenCLBuiltinsImpl
-  omp_gen
 
   LINK_LIBS
   clangAST
Index: clang/lib/Parse/CMakeLists.txt
===================================================================
--- clang/lib/Parse/CMakeLists.txt
+++ clang/lib/Parse/CMakeLists.txt
@@ -27,7 +27,4 @@
   clangBasic
   clangLex
   clangSema
-
-  DEPENDS
-  omp_gen
   )
Index: clang/lib/Index/CMakeLists.txt
===================================================================
--- clang/lib/Index/CMakeLists.txt
+++ clang/lib/Index/CMakeLists.txt
@@ -27,7 +27,4 @@
   clangRewrite
   clangSerialization
   clangToolingCore
-
-  DEPENDS
-  omp_gen
   )
Index: clang/lib/Frontend/Rewrite/CMakeLists.txt
===================================================================
--- clang/lib/Frontend/Rewrite/CMakeLists.txt
+++ clang/lib/Frontend/Rewrite/CMakeLists.txt
@@ -20,7 +20,4 @@
   clangLex
   clangRewrite
   clangSerialization
-
-  DEPENDS
-  omp_gen
   )
Index: clang/lib/Basic/CMakeLists.txt
===================================================================
--- clang/lib/Basic/CMakeLists.txt
+++ clang/lib/Basic/CMakeLists.txt
@@ -95,8 +95,5 @@
   XRayInstr.cpp
   XRayLists.cpp
   ${version_inc}
-
-  DEPENDS
-  omp_gen
   )
 
Index: clang/lib/Analysis/CMakeLists.txt
===================================================================
--- clang/lib/Analysis/CMakeLists.txt
+++ clang/lib/Analysis/CMakeLists.txt
@@ -35,9 +35,6 @@
   clangASTMatchers
   clangBasic
   clangLex
-
-  DEPENDS
-  omp_gen
   )
 
 add_subdirectory(plugins)
Index: clang/lib/ASTMatchers/Dynamic/CMakeLists.txt
===================================================================
--- clang/lib/ASTMatchers/Dynamic/CMakeLists.txt
+++ clang/lib/ASTMatchers/Dynamic/CMakeLists.txt
@@ -23,7 +23,4 @@
   clangAST
   clangASTMatchers
   clangBasic
-
-  DEPENDS
-  omp_gen
   )
Index: clang/lib/ASTMatchers/CMakeLists.txt
===================================================================
--- clang/lib/ASTMatchers/CMakeLists.txt
+++ clang/lib/ASTMatchers/CMakeLists.txt
@@ -14,7 +14,4 @@
   clangAST
   clangBasic
   clangLex
-
-  DEPENDS
-  omp_gen
   )
Index: clang/lib/AST/CMakeLists.txt
===================================================================
--- clang/lib/AST/CMakeLists.txt
+++ clang/lib/AST/CMakeLists.txt
@@ -119,5 +119,4 @@
 
   DEPENDS
   Opcodes
-  omp_gen
   )
Index: clang/lib/ARCMigrate/CMakeLists.txt
===================================================================
--- clang/lib/ARCMigrate/CMakeLists.txt
+++ clang/lib/ARCMigrate/CMakeLists.txt
@@ -34,7 +34,4 @@
   clangRewrite
   clangSema
   clangSerialization
-
-  DEPENDS
-  omp_gen
   )
Index: clang/CMakeLists.txt
===================================================================
--- clang/CMakeLists.txt
+++ clang/CMakeLists.txt
@@ -9,6 +9,10 @@
 if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
   project(Clang)
 
+  set(CMAKE_CXX_STANDARD 14 CACHE STRING "C++ standard to conform to")
+  set(CMAKE_CXX_STANDARD_REQUIRED YES)
+  set(CMAKE_CXX_EXTENSIONS NO)
+
   # Rely on llvm-config.
   set(CONFIG_OUTPUT)
   if(LLVM_CONFIG)
@@ -517,13 +521,16 @@
 
 # All targets below may depend on all tablegen'd files.
 get_property(CLANG_TABLEGEN_TARGETS GLOBAL PROPERTY CLANG_TABLEGEN_TARGETS)
-add_custom_target(clang-tablegen-targets
-  DEPENDS
-  omp_gen
-  ${CLANG_TABLEGEN_TARGETS})
+add_custom_target(clang-tablegen-targets DEPENDS ${CLANG_TABLEGEN_TARGETS})
 set_target_properties(clang-tablegen-targets PROPERTIES FOLDER "Misc")
 list(APPEND LLVM_COMMON_DEPENDS clang-tablegen-targets)
 
+# Force omp_gen to be built as soon as possible because the OpenMP generated
+# headers is transitively included for many Clang libraries.
+if(NOT CLANG_BUILT_STANDALONE)
+  list(APPEND LLVM_COMMON_DEPENDS omp_gen)
+endif()
+
 # Force target to be built as soon as possible. Clang modules builds depend
 # header-wise on it as they ship all headers from the umbrella folders. Building
 # an entire module might include header, which depends on intrinsics_gen.
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to