[llvm-bugs] [Bug 47860] New: fatal error C1189: #error: "We don't know a correct way to implement alignof(T) in C++03 outside of Clang" (MSVC 19.27.29112)

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Oct 15 08:22:28 PDT 2020


https://bugs.llvm.org/show_bug.cgi?id=47860

            Bug ID: 47860
           Summary: fatal error C1189: #error:  "We don't know a correct
                    way to implement alignof(T) in C++03 outside of Clang"
                    (MSVC 19.27.29112)
           Product: libc++
           Version: 11.0
          Hardware: PC
                OS: Windows XP
            Status: NEW
          Severity: release blocker
          Priority: P
         Component: Standards Issues
          Assignee: unassignedclangbugs at nondot.org
          Reporter: local.tourist.kiev at gmail.com
                CC: llvm-bugs at lists.llvm.org, mclow.lists at gmail.com

Created attachment 24066
  --> https://bugs.llvm.org/attachment.cgi?id=24066&action=edit
My build config, despite it is not that helpful alone

I was curious to dig deeper into unresolved bugs, for supporting libc++, with
MSVC.

So I tried such a scenario:

>cmake -DLLVM_PATH=../llvm -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="C:\Users\Worker\libcxx_dist"  -G Ninja ../libcxx

Haven't saw anything suspicious, until I fired Ninja:

>ninja -j 1

Then I saw an error:

[1/82] Building CXX object src\CMakeFiles\cxx_shared.dir\barrier.cpp.obj
FAILED: src/CMakeFiles/cxx_shared.dir/barrier.cpp.obj
"C:\PROGRA~2\Microsoft Visual
Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\Hostx64\x64\cl.exe" 
/nologo /TP -DNDEBUG -D_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH
-D_ALLOW_MSC_VER_MISMATCH -D_CRTBLD -D_CRT_SECURE_NO_WARNINGS
-D_CRT_STDIO_ISO_WIDE_SPECIFIERS -D_LIBCPP_BUILDING_LIBRARY
-D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER  /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MD /O2
/Ob2 /DNDEBUG -Wall -EHsc /I
C:/Users/Worker/Desktop/llvm-project/build_libcxx_msvc/include/c++/v1 /FI
C:/Users/Worker/Desktop/llvm-project/build_libcxx_msvc/__config_site -std:c++17
/showIncludes /Fosrc\CMakeFiles\cxx_shared.dir\barrier.cpp.obj
/Fdsrc\CMakeFiles\cxx_shared.dir\ /FS -c
C:\Users\Worker\Desktop\llvm-project\libcxx\src\barrier.cpp
Примечание: включение файла: 
C:/Users/Worker/Desktop/llvm-project/build_libcxx_msvc/__config_site
Примечание: включение файла: 
C:/Users/Worker/Desktop/llvm-project/build_libcxx_msvc/include/c++/v1\__config
C:/Users/Worker/Desktop/llvm-project/build_libcxx_msvc/include/c++/v1\__config(385):
warning C4668: "__ISO_C_VISIBLE" не задано как макроопределение препроцессора,
замена на "0" для "#if/#elif"
C:/Users/Worker/Desktop/llvm-project/build_libcxx_msvc/include/c++/v1\__config(439):
fatal error C1189: #error:  "We don't know a correct way to implement
alignof(T) in C++03 outside of Clang"

It seems to point me into
https://github.com/llvm/llvm-project/blob/c778f6c4f9d511023c0d71b9e14a90e60445d314/libcxx/include/__config#L401

Not only unclear why CMake's config. does not have a pre-defined error/require
checks.
I will perform farther investigation - but there might be some bug in
generator's instructions, in case if
https://docs.microsoft.com/en-us/cpp/build/reference/std-specify-language-standard-version?view=vs-2019
should be passed/specified properly.
But I am unsure YET.

https://drive.google.com/file/d/1VmtGHaeHWzBwYznEsgEtN7uNXGu7D8qK/view?usp=sharing
- this is my compressed build folder.

I am using VS 2019 Community edition.

>cl
Оптимизирующий компилятор Microsoft (R) C/C++ версии 19.27.29112 для x64

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20201015/70199f13/attachment.html>


More information about the llvm-bugs mailing list