这里需要修改一下LLVM的源码,首先是llvm\lib\CMakeLists.txt文件,因为本身在window上编译是没有Mac的环境,因此会报一些Mac的头文件错误,我们只需要MACRO的组件去掉就行了。 还有就是注释完此行之后会有一些地方在引用MACRO会产生一些报错,直接修改就完事了,策略就是哪里报错改哪里(因为我也记不住改的哪...
--macro_positions_in_diagnostics Use positions inside macros in diagnostics --make_all_definitions_weak Make all variable and function definitions weak --max_cost_constexpr_call limit Maximum cost (number of calls/number of loop iterations) when evaluating a top-level constexpr call --max_depth...
macro(add_tinylang_subdirectory name) add_llvm_subdirectory(TINYLANG TOOL ${name}) endmacro() macro(add_tinylang_library name) if(BUILD_SHARED_LIBS) set(LIBTYPE SHARED) else() set(LIBTYPE STATIC) endif() llvm_add_library(${name} ${LIBTYPE} ${ARGN}) if(TARGET ${name}) target_link_...
bin/../lib/gcc/x86_64-linux-gnu/13/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdeprecated-macro -ferror-limit 19 -fgnuc-version=4.2.1 -fskip-odr-check-in...
Builder.defineMacro("__arm64e__","1"); getDarwinDefines(Builder, Opts, Triple, PlatformName, PlatformMinVersion); } 从源码上可以看到,只要 ARM CPU 是 64bit,就会定义 __arm64__ 宏,虽然可能这个 CPU 使用的是 ILP32(见下文)。 __LP64__ ...
# Note:blank line at endofmacro is necessary toletit be usedinforeach define install_llvm_module$(MKDIR_P)'$(DESTDIR)${bitcodedir}/$(1)'$(MKDIR_P)$(sort$(dir$(addprefix'$(DESTDIR)${bitcodedir}'/$(1)/,$(2)))$(foreach obj,${2},$(INSTALL_DATA)$(patsubst%.o,%.bc,$(...
这里需要修改一下LLVM的源码,首先是llvm\lib\CMakeLists.txt文件,因为本身在window上编译是没有Mac的环境,因此会报一些Mac的头文件错误,我们只需要MACRO的组件去掉就行了。 还有就是注释完此行之后会有一些地方在引用MACRO会产生一些报错,直接修改就完事了,策略就是哪里报错改哪里(因为我也记不住改的哪...
diff --git a/llvm/lib/MC/MCParser/MasmParser.cpp b/llvm/lib/MC/MCParser/MasmParser.cpp index d88fd09a1aa07c..437436f94dc0a2 100644 --- a/llvm/lib/MC/MCParser/MasmParser.cpp +++ b/llvm/lib/MC/MCParser/MasmParser.cpp @@ -2886,7 +2886,7 @@ bool MasmParser::expandMacro(raw_...
void getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const override: 这个函数用于生成特定于 RISCVN 扩展的宏定义,例如__riscv_n。 这些宏定义可以在代码中用于检测 RISCVN 扩展是否可用。 ArrayRef<Builtin::Info> getTargetBuiltins() const override { return std::nullopt; }: 返回该...
这里需要修改一下LLVM的源码,首先是llvm\lib\CMakeLists.txt文件,因为本身在window上编译是没有Mac的环境,因此会报一些Mac的头文件错误,我们只需要MACRO的组件去掉就行了。 还有就是注释完此行之后会有一些地方在引用MACRO会产生一些报错,直接修改就完事了,策略就是哪里报错改哪里(因为我也记不住改的哪...