https://github.com/qiongsiwu updated https://github.com/llvm/llvm-project/pull/119473
>From 06ae1ba1222f09e35ed428bcd6da91438b15e016 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu <qiongsi...@apple.com> Date: Tue, 10 Dec 2024 15:42:46 -0800 Subject: [PATCH 1/2] Fixing issues causing build break when -DLLVM_ENABLE_MODULES=ON --- clang/include/clang/Support/Compiler.h | 2 -- clang/include/module.modulemap | 5 ++++- llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h | 1 + llvm/include/llvm/IR/NVVMIntrinsicFlags.h | 2 ++ llvm/include/llvm/Support/Memory.h | 1 + llvm/include/llvm/TargetParser/AArch64TargetParser.h | 1 + llvm/include/module.modulemap | 1 + llvm/tools/llvm-jitlink/llvm-jitlink-executor/CMakeLists.txt | 1 + llvm/unittests/tools/llvm-profgen/CMakeLists.txt | 1 + 9 files changed, 12 insertions(+), 3 deletions(-) diff --git a/clang/include/clang/Support/Compiler.h b/clang/include/clang/Support/Compiler.h index 13582b899dc2a6..0cba1ad7331682 100644 --- a/clang/include/clang/Support/Compiler.h +++ b/clang/include/clang/Support/Compiler.h @@ -14,8 +14,6 @@ #ifndef CLANG_SUPPORT_COMPILER_H #define CLANG_SUPPORT_COMPILER_H -#include "llvm/Support/Compiler.h" - /// CLANG_ABI is the main export/visibility macro to mark something as /// explicitly exported when clang is built as a shared library with everything /// else that is unannotated having hidden visibility. diff --git a/clang/include/module.modulemap b/clang/include/module.modulemap index b399f0beee59a1..e9218c715147b0 100644 --- a/clang/include/module.modulemap +++ b/clang/include/module.modulemap @@ -115,7 +115,7 @@ module Clang_Diagnostics { module Driver { header "clang/Driver/DriverDiagnostic.h" export * } module Frontend { header "clang/Frontend/FrontendDiagnostic.h" export * } module Lex { header "clang/Lex/LexDiagnostic.h" export * } - module Parse { header "clang/Parse/ParseDiagnostic.h" export * } + module Parse { header "clang/Basic/DiagnosticParse.h" export * } module Serialization { header "clang/Serialization/SerializationDiagnostic.h" export * } module Refactoring { header "clang/Tooling/Refactoring/RefactoringDiagnostic.h" export * } } @@ -186,6 +186,9 @@ module Clang_StaticAnalyzer_Frontend { module Clang_Testing { requires cplusplus umbrella "clang/Testing" + + textual header "clang/Testing/TestLanguage.def" + module * { export * } } diff --git a/llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h b/llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h index 3c936b93865045..bd25f6c30ebf1f 100644 --- a/llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h +++ b/llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h @@ -9,6 +9,7 @@ #ifndef LLVM_DEBUGINFO_DWARF_DWARFTYPEPRINTER_H #define LLVM_DEBUGINFO_DWARF_DWARFTYPEPRINTER_H +#include "llvm/ADT/StringExtras.h" #include "llvm/ADT/StringRef.h" #include "llvm/BinaryFormat/Dwarf.h" #include "llvm/Support/Error.h" diff --git a/llvm/include/llvm/IR/NVVMIntrinsicFlags.h b/llvm/include/llvm/IR/NVVMIntrinsicFlags.h index 43dde42bbbd620..dfb6e857b3a6ad 100644 --- a/llvm/include/llvm/IR/NVVMIntrinsicFlags.h +++ b/llvm/include/llvm/IR/NVVMIntrinsicFlags.h @@ -15,6 +15,8 @@ #ifndef LLVM_IR_NVVMINTRINSICFLAGS_H #define LLVM_IR_NVVMINTRINSICFLAGS_H +#include <stdint.h> + namespace llvm { namespace nvvm { diff --git a/llvm/include/llvm/Support/Memory.h b/llvm/include/llvm/Support/Memory.h index c02a3cc14dc7de..a587f2a8542b2e 100644 --- a/llvm/include/llvm/Support/Memory.h +++ b/llvm/include/llvm/Support/Memory.h @@ -15,6 +15,7 @@ #include "llvm/Support/DataTypes.h" #include <system_error> +#include <utility> namespace llvm { diff --git a/llvm/include/llvm/TargetParser/AArch64TargetParser.h b/llvm/include/llvm/TargetParser/AArch64TargetParser.h index 1311329821828f..11836e87d1b208 100644 --- a/llvm/include/llvm/TargetParser/AArch64TargetParser.h +++ b/llvm/include/llvm/TargetParser/AArch64TargetParser.h @@ -16,6 +16,7 @@ #include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/Bitset.h" +#include "llvm/ADT/StringExtras.h" #include "llvm/ADT/StringMap.h" #include "llvm/ADT/StringRef.h" #include "llvm/Support/VersionTuple.h" diff --git a/llvm/include/module.modulemap b/llvm/include/module.modulemap index b00da6d7cd28c7..ac7bd257cbb422 100644 --- a/llvm/include/module.modulemap +++ b/llvm/include/module.modulemap @@ -346,6 +346,7 @@ extern module LLVM_Extern_Utils_DataTypes "module.extern.modulemap" // TargetParser module before building the TargetParser module itself. module TargetParserGen { module AArch64TargetParserDef { + textual header "llvm/TargetParser/AArch64CPUFeatures.inc" header "llvm/TargetParser/AArch64TargetParser.h" extern module LLVM_Extern_TargetParser_Gen "module.extern.modulemap" export * diff --git a/llvm/tools/llvm-jitlink/llvm-jitlink-executor/CMakeLists.txt b/llvm/tools/llvm-jitlink/llvm-jitlink-executor/CMakeLists.txt index f2daa294eec072..0692f4351ad67f 100644 --- a/llvm/tools/llvm-jitlink/llvm-jitlink-executor/CMakeLists.txt +++ b/llvm/tools/llvm-jitlink/llvm-jitlink-executor/CMakeLists.txt @@ -2,6 +2,7 @@ set(LLVM_LINK_COMPONENTS OrcShared OrcTargetProcess Support + Core ) add_llvm_utility(llvm-jitlink-executor diff --git a/llvm/unittests/tools/llvm-profgen/CMakeLists.txt b/llvm/unittests/tools/llvm-profgen/CMakeLists.txt index 5a658cf7084678..51de95311a6c91 100644 --- a/llvm/unittests/tools/llvm-profgen/CMakeLists.txt +++ b/llvm/unittests/tools/llvm-profgen/CMakeLists.txt @@ -1,5 +1,6 @@ set(LLVM_LINK_COMPONENTS Support + Core ) add_llvm_unittest(LLVMProfgenTests >From 9f758eece7bf27999837eaa337c7577d7b8ebac2 Mon Sep 17 00:00:00 2001 From: Qiongsi Wu <qiongsi...@apple.com> Date: Wed, 11 Dec 2024 10:56:40 -0800 Subject: [PATCH 2/2] Revise to handle Attrs.inc better. --- clang/include/clang/AST/Attr.h | 1 + clang/include/clang/Support/Compiler.h | 2 ++ clang/include/module.modulemap | 2 ++ clang/utils/TableGen/ClangAttrEmitter.cpp | 1 - 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/clang/include/clang/AST/Attr.h b/clang/include/clang/AST/Attr.h index 725498e132fc28..3365ebe4d9012b 100644 --- a/clang/include/clang/AST/Attr.h +++ b/clang/include/clang/AST/Attr.h @@ -24,6 +24,7 @@ #include "clang/Basic/OpenMPKinds.h" #include "clang/Basic/Sanitizers.h" #include "clang/Basic/SourceLocation.h" +#include "clang/Support/Compiler.h" #include "llvm/Frontend/HLSL/HLSLResource.h" #include "llvm/Support/CodeGen.h" #include "llvm/Support/ErrorHandling.h" diff --git a/clang/include/clang/Support/Compiler.h b/clang/include/clang/Support/Compiler.h index 0cba1ad7331682..13582b899dc2a6 100644 --- a/clang/include/clang/Support/Compiler.h +++ b/clang/include/clang/Support/Compiler.h @@ -14,6 +14,8 @@ #ifndef CLANG_SUPPORT_COMPILER_H #define CLANG_SUPPORT_COMPILER_H +#include "llvm/Support/Compiler.h" + /// CLANG_ABI is the main export/visibility macro to mark something as /// explicitly exported when clang is built as a shared library with everything /// else that is unannotated having hidden visibility. diff --git a/clang/include/module.modulemap b/clang/include/module.modulemap index e9218c715147b0..5bb9f6b7a91f67 100644 --- a/clang/include/module.modulemap +++ b/clang/include/module.modulemap @@ -183,6 +183,8 @@ module Clang_StaticAnalyzer_Frontend { module * { export * } } +module Clang_Support { requires cplusplus umbrella "clang/Support" module * { export * } } + module Clang_Testing { requires cplusplus umbrella "clang/Testing" diff --git a/clang/utils/TableGen/ClangAttrEmitter.cpp b/clang/utils/TableGen/ClangAttrEmitter.cpp index 630beaef983bc6..cc6a8eaebd44ec 100644 --- a/clang/utils/TableGen/ClangAttrEmitter.cpp +++ b/clang/utils/TableGen/ClangAttrEmitter.cpp @@ -3183,7 +3183,6 @@ void clang::EmitClangAttrClass(const RecordKeeper &Records, raw_ostream &OS) { OS << "#ifndef LLVM_CLANG_ATTR_CLASSES_INC\n"; OS << "#define LLVM_CLANG_ATTR_CLASSES_INC\n"; - OS << "#include \"clang/Support/Compiler.h\"\n\n"; emitAttributes(Records, OS, true); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits