- Notifications
You must be signed in to change notification settings - Fork 15.1k
Description
| Bugzilla Link | 49339 |
| Resolution | FIXED |
| Resolved on | Mar 05, 2021 09:31 |
| Version | unspecified |
| OS | Linux |
| Blocks | #48246 |
| CC | @jpeyton52 |
| Fixed by commit(s) | e83380f 99350dc |
Extended Description
This reproduces both with the current 12.x branch and main branch (as of abbdb56)
Building the openmp runtime with clang-cl fails as below (i was doing a 32-bit build but I'm not sure that matters):
[2212/5188] Building CXX object projects\openmp\runtime\src\CMakeFiles\omp.dir\kmp_lock.cpp.obj
FAILED: projects/openmp/runtime/src/CMakeFiles/omp.dir/kmp_lock.cpp.obj
C:\src\llvm_package_1200-rc2\build32_stage0\bin\clang-cl.exe /nologo -TP -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Domp_EXPORTS -Iprojects\openmp\runtime\src -IC:\src\llvm_package_1200-rc2\llvm-project\openmp\runtime\src -Iinclude -IC:\src\llvm_package_1200-rc2\llvm-project\llvm\include -IC:\src\llvm_package_1200-rc2\llvm-project\openmp\runtime\src\i18n -IC:\src\llvm_package_1200-rc2\llvm-project\openmp\runtime\src\include -IC:\src\llvm_package_1200-rc2\llvm-project\openmp\runtime\src\thirdparty\ittnotify /DWIN32 /D_WINDOWS /Zc:inline /Zc:__cplusplus /Zc:strictStrings /Oi /Zc:rvalueCast /Brepro /bigobj /W4 -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion /Gw -Wcast-qual -Wformat-pedantic -Wimplicit-fallthrough -Wsign-compare -Wno-extra -Wno-pedantic /MT /O2 /Ob2 -D _CRT_SECURE_NO_WARNINGS -D _CRT_SECURE_NO_DEPRECATE -D _WINDOWS -D _WINNT -D _WIN32_WINNT=0x0501 -D _USRDLL -UNDEBUG -std:c++14 -Wno-covered-switch-default -Wno-frame-address -Wno-strict-aliasing -Wno-switch -Wno-uninitialized /GS /EHsc -mrtm /arch:SSE2 -msse2 /showIncludes /Foprojects\openmp\runtime\src\CMakeFiles\omp.dir\kmp_lock.cpp.obj /Fdprojects\openmp\runtime\src\CMakeFiles\omp.dir\ -c C:\src\llvm_package_1200-rc2\llvm-project\openmp\runtime\src\kmp_lock.cpp
C:\src\llvm_package_1200-rc2\llvm-project\openmp\runtime\src\kmp_lock.cpp(1721,9): warning: '_XABORT_CODE' macro redefined [-Wmacro-redefined]
#define _XABORT_CODE(x) ((unsigned char)(((x) >> 24) & 0xFF))
^
C:\src\llvm_package_1200-rc2\build32_stage0\lib\clang\12.0.0\include\rtmintrin.h(24,9): note: previous definition is here
#define _XABORT_CODE(x) (((x) >> 24) & 0xFF)
^
C:\src\llvm_package_1200-rc2\llvm-project\openmp\runtime\src\kmp_lock.cpp(1733,21): error: functions that differ only in their return type cannot be overloaded
static __inline int _xbegin() {
~~~ ^
C:\src\llvm_package_1200-rc2\build32_stage0\lib\clang\12.0.0\include\rtmintrin.h(30,1): note: previous definition is here
_xbegin(void)
^
C:\src\llvm_package_1200-rc2\llvm-project\openmp\runtime\src\kmp_lock.cpp(1781,22): error: redefinition of '_xend'
static __inline void _xend() {
^
C:\src\llvm_package_1200-rc2\build32_stage0\lib\clang\12.0.0\include\rtmintrin.h(36,1): note: previous definition is here
_xend(void)
^
C:\src\llvm_package_1200-rc2\llvm-project\openmp\runtime\src\kmp_lock.cpp(1798,9): warning: '_xabort' macro redefined [-Wmacro-redefined]
#define _xabort(ARG) _asm _emit 0xc6 _asm _emit 0xf8 _asm _emit ARG
^
C:\src\llvm_package_1200-rc2\build32_stage0\lib\clang\12.0.0\include\rtmintrin.h(41,9): note: previous definition is here
#define _xabort(imm) __builtin_ia32_xabort((imm))
^
2 warnings and 2 errors generated.