-
Notifications
You must be signed in to change notification settings - Fork 15.3k
[mlir][python] Support CLANG_CL
#121075
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[mlir][python] Support CLANG_CL
#121075
Conversation
6774f06 to
d3947d5
Compare
d3947d5 to
412eae3
Compare
CLANG_CL
| set_target_properties(${name} PROPERTIES | ||
| MLIR_AGGREGATE_EXCLUDE_LIBS "${_embed_libs}") | ||
| if(MSVC) | ||
| if(WIN32) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this change and the other MSVC -> WIN32 one below aren't strictly related to the build failure but it's also wrong - this is a windows platform requirement, not an MSVC requirement.
|
@llvm/pr-subscribers-mlir Author: Maksim Levental (makslevental) ChangesWithout passing Tested by rebasing on top of this PR (i.e., my fork) here. Full diff: https://github.com/llvm/llvm-project/pull/121075.diff 2 Files Affected:
diff --git a/mlir/cmake/modules/AddMLIR.cmake b/mlir/cmake/modules/AddMLIR.cmake
index e1e79593ec2cb4..9c7b00b660ba7d 100644
--- a/mlir/cmake/modules/AddMLIR.cmake
+++ b/mlir/cmake/modules/AddMLIR.cmake
@@ -584,7 +584,7 @@ function(add_mlir_aggregate name)
# TODO: Should be transitive.
set_target_properties(${name} PROPERTIES
MLIR_AGGREGATE_EXCLUDE_LIBS "${_embed_libs}")
- if(MSVC)
+ if(WIN32)
set_property(TARGET ${name} PROPERTY WINDOWS_EXPORT_ALL_SYMBOLS ON)
endif()
diff --git a/mlir/cmake/modules/AddMLIRPython.cmake b/mlir/cmake/modules/AddMLIRPython.cmake
index 53a70139fd5a68..9d4e06c7909c81 100644
--- a/mlir/cmake/modules/AddMLIRPython.cmake
+++ b/mlir/cmake/modules/AddMLIRPython.cmake
@@ -512,7 +512,7 @@ function(add_mlir_python_common_capi_library name)
)
add_dependencies(${name} ${_header_sources_target})
- if(MSVC)
+ if(WIN32)
set_property(TARGET ${name} PROPERTY WINDOWS_EXPORT_ALL_SYMBOLS ON)
endif()
set_target_properties(${name} PROPERTIES
@@ -649,6 +649,15 @@ function(add_mlir_python_extension libname extname)
message(FATAL_ERROR "Unhandled arguments to add_mlir_python_extension(${libname}, ... : ${ARG_UNPARSED_ARGUMENTS}")
endif()
+ # The extension itself must be compiled with RTTI and exceptions enabled.
+ # Also, some warning classes triggered by pybind11 are disabled.
+ set(eh_rtti_enable)
+ if (MSVC)
+ set(eh_rtti_enable /EHsc /GR)
+ elseif(LLVM_COMPILER_IS_GCC_COMPATIBLE OR CLANG_CL)
+ set(eh_rtti_enable -frtti -fexceptions)
+ endif ()
+
# The actual extension library produces a shared-object or DLL and has
# sources that must be compiled in accordance with pybind11 needs (RTTI and
# exceptions).
@@ -671,18 +680,11 @@ function(add_mlir_python_extension libname extname)
-Wno-nested-anon-types
-Wno-c++98-compat-extra-semi
-Wno-covered-switch-default
+ ${eh_rtti_enable}
)
endif()
endif()
- # The extension itself must be compiled with RTTI and exceptions enabled.
- # Also, some warning classes triggered by pybind11 are disabled.
- set(eh_rtti_enable)
- if (MSVC)
- set(eh_rtti_enable /EHsc /GR)
- elseif(LLVM_COMPILER_IS_GCC_COMPATIBLE)
- set(eh_rtti_enable -frtti -fexceptions)
- endif ()
target_compile_options(${libname} PRIVATE ${eh_rtti_enable})
# Configure the output to match python expectations.
|
jpienaar
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
Without passing
${eh_rtti_enable}totarget_compile_options(nanobind-static ...this fails to build underclang-cl.exeon Windows because exceptions aren't enabled.Tested by rebasing on top of this PR (i.e., my fork) here.