Open
Description
After #93519, when building ArmSMEStubs.cpp on mingw with LLVM_BUILD_LLVM_DYLIB=ON
, mlir_arm_sme_abi_stubs_EXPORTS
is no longer defined as expected from the cmake file,
llvm-project/mlir/lib/ExecutionEngine/CMakeLists.txt
Lines 208 to 211 in bec1d86
This causes the following error,
ninja: job failed: /opt/bin/x86_64-w64-mingw32-libgfortran5-cxx11/x86_64-w64-mingw32-clang++ --target=x86_64-w64-mingw32 --sysroot=/opt/x86_64-w64-mingw32/x86_64-w64-mingw32/sys-root/ -DGTEST_HAS_RTTI=0 -D_FILE_OFFSET_BITS=64 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/workspace/build/tools/mlir/lib/ExecutionEngine -I/workspace/srcdir/llvm-project/mlir/lib/ExecutionEngine -I/workspace/build/include -I/workspace/srcdir/llvm-project/llvm/include -I/workspace/srcdir/llvm-project/mlir/include -I/workspace/build/tools/mlir/include -remap -D__USING_SJLJ_EXCEPTIONS__ -D__CRT__NO_INLINE -pthread -DMLIR_CAPI_ENABLE_WINDOWS_DLL_DECLSPEC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -ffunction-sections -fdata-sections -Wundef -Werror=mismatched-tags -O3 -DNDEBUG -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -funwind-tables -fno-rtti -std=c++17 -MD -MT tools/mlir/lib/ExecutionEngine/CMakeFiles/obj.mlir_arm_sme_abi_stubs.dir/ArmSMEStubs.cpp.obj -MF tools/mlir/lib/ExecutionEngine/CMakeFiles/obj.mlir_arm_sme_abi_stubs.dir/ArmSMEStubs.cpp.obj.d -o tools/mlir/lib/ExecutionEngine/CMakeFiles/obj.mlir_arm_sme_abi_stubs.dir/ArmSMEStubs.cpp.obj -c /workspace/srcdir/llvm-project/mlir/lib/ExecutionEngine/ArmSMEStubs.cpp
clang++: warning: argument unused during compilation: '-remap' [-Wunused-command-line-argument]
/workspace/srcdir/llvm-project/mlir/lib/ExecutionEngine/ArmSMEStubs.cpp:37:35: error: dllimport cannot be applied to non-inline function definition
37 | bool MLIR_ARMSMEABISTUBS_EXPORTED __aarch64_sme_accessible() {
| ^
/workspace/srcdir/llvm-project/mlir/lib/ExecutionEngine/ArmSMEStubs.cpp:47:40: error: dllimport cannot be applied to non-inline function definition
47 | sme_state MLIR_ARMSMEABISTUBS_EXPORTED __arm_sme_state() {
| ^
/workspace/srcdir/llvm-project/mlir/lib/ExecutionEngine/ArmSMEStubs.cpp:52:35: error: dllimport cannot be applied to non-inline function definition
52 | void MLIR_ARMSMEABISTUBS_EXPORTED __arm_tpidr2_restore() {
| ^
/workspace/srcdir/llvm-project/mlir/lib/ExecutionEngine/ArmSMEStubs.cpp:56:35: error: dllimport cannot be applied to non-inline function definition
56 | void MLIR_ARMSMEABISTUBS_EXPORTED __arm_tpidr2_save() {
| ^
/workspace/srcdir/llvm-project/mlir/lib/ExecutionEngine/ArmSMEStubs.cpp:60:35: error: dllimport cannot be applied to non-inline function definition
60 | void MLIR_ARMSMEABISTUBS_EXPORTED __arm_za_disable() {
| ^
5 errors generated.
Note how -Dmlir_arm_sme_abi_stubs_EXPORTS
is not present in the compiler invocation when it is with #93519 reverted or without LLVM_BUILD_LLVM_DYLIB=ON
.