llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
28.48k stars 11.77k forks source link

Cannot compile clang 3.7.0 with msvc 14 (2015) #26024

Closed llvmbot closed 8 years ago

llvmbot commented 8 years ago
Bugzilla Link 25650
Resolution FIXED
Resolved on Dec 01, 2015 02:22
Version 3.7
OS Windows NT
Reporter LLVM Bugzilla Contributor
CC @rnk

Extended Description

When compiling clang 3.7.0 with msvc 14 using cmake, it fails on ASTWriter.cpp : C:\dev\cling\src\tools\clang\lib\Serialization\ASTWriter.cpp(1517): error C2664: 'void llvm::BitstreamWriter::EmitRecord WithBlob(unsigned int,llvm::SmallVectorImpl &,llvm::StringRef)': cannot convert argument 3 from 'uns igned int ' to 'llvm::StringRef' C:\dev\cling\src\tools\clang\lib\Serialization\ASTWriter.cpp(1517): note: No constructor could take the source type, or constructor overload resolution was ambiguous C:\dev\cling\src\tools\clang\lib\Serialization\ASTWriter.cpp(1912): error C2664: 'void llvm::BitstreamWriter::EmitRecord WithBlob(unsigned int,llvm::SmallVectorImpl &,llvm::StringRef)': cannot convert argument 3 from 'uns igned int ' to 'llvm::StringRef' C:\dev\cling\src\tools\clang\lib\Serialization\ASTWriter.cpp(1912): note: No constructor could take the source type, or constructor overload resolution was ambiguous C:\dev\cling\src\tools\clang\lib\Serialization\ASTWriter.cpp(2237): error C2664: 'void llvm::BitstreamWriter::EmitRecord WithBlob(unsigned int,llvm::SmallVectorImpl &,llvm::StringRef)': cannot convert argument 3 from 'uns igned int ' to 'llvm::StringRef' C:\dev\cling\src\tools\clang\lib\Serialization\ASTWriter.cpp(2237): note: No constructor could take the source type, or constructor overload resolution was ambiguous C:\dev\cling\src\tools\clang\lib\Serialization\ASTWriter.cpp(2783): error C2664: 'void llvm::BitstreamWriter::EmitRecord WithBlob(unsigned int,llvm::SmallVectorImpl &,llvm::StringRef)': cannot convert argument 3 from 'std ::pair<uint32_t,clang::serialization::DeclID> ' to 'llvm::StringRef' C:\dev\cling\src\tools\clang\lib\Serialization\ASTWriter.cpp(2783): note: No constructor could take the source type, or constructor overload resolution was ambiguous C:\dev\cling\src\tools\clang\lib\Serialization\ASTWriter.cpp(2802): error C2664: 'void llvm::BitstreamWriter::EmitRecord WithBlob(unsigned int,llvm::SmallVectorImpl &,llvm::StringRef)': cannot convert argument 3 from 'uns igned int ' to 'llvm::StringRef' C:\dev\cling\src\tools\clang\lib\Serialization\ASTWriter.cpp(2802): note: No constructor could take the source type, or constructor overload resolution was ambiguous C:\dev\cling\src\tools\clang\lib\Serialization\ASTWriter.cpp(2815): error C2664: 'void llvm::BitstreamWriter::EmitRecord WithBlob(unsigned int,llvm::SmallVectorImpl &,llvm::StringRef)': cannot convert argument 3 from 'cla ng::serialization::DeclOffset ' to 'llvm::StringRef' C:\dev\cling\src\tools\clang\lib\Serialization\ASTWriter.cpp(2815): note: No constructor could take the source type, or constructor overload resolution was ambiguous C:\dev\cling\src\tools\clang\lib\Serialization\ASTWriter.cpp(3070): error C2664: 'void llvm::BitstreamWriter::EmitRecord WithBlob(unsigned int,llvm::SmallVectorImpl &,llvm::StringRef)': cannot convert argument 3 from 'uns igned int ' to 'llvm::StringRef' C:\dev\cling\src\tools\clang\lib\Serialization\ASTWriter.cpp(3070): note: No constructor could take the source type, or constructor overload resolution was ambiguous C:\dev\cling\src\tools\clang\lib\Serialization\ASTWriter.cpp(3520): error C2664: 'void llvm::BitstreamWriter::EmitRecord WithBlob(unsigned int,llvm::SmallVectorImpl &,llvm::StringRef)': cannot convert argument 3 from 'uns igned int *' to 'llvm::StringRef' C:\dev\cling\src\tools\clang\lib\Serialization\ASTWriter.cpp(3520): note: No constructor could take the source type, or constructor overload resolution was ambiguous C:\dev\cling\src\tools\clang\lib\Serialization\ASTWriter.cpp(4446): error C2664: 'void llvm::BitstreamWriter::EmitRecord WithBlob(unsigned int,llvm::SmallVectorImpl &,llvm::StringRef)': cannot convert argument 3 from 'std ::pair<uint32_t,clang::serialization::DeclID> ' to 'llvm::StringRef' C:\dev\cling\src\tools\clang\lib\Serialization\ASTWriter.cpp(4446): note: No constructor could take the source type, or constructor overload resolution was ambiguous ASTWriterStmt.cpp

The compile command generated by cmake : "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\CL.exe" /c /I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt" I"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include" /IC:\dev\clingbuild\tools\clang\lib\Serialization /IC:\dev\cling\src\tools\clang\lib\Serialization /IC:\dev\cling\src\tools\clang\include /IC:\dev\cling\build\tools\clang\include /IC:\dev\cling\build\include /IC:\dev\cling\src\include /nologo /W1 /WX- /MP /O2 /Ob2 /Oy- /D NDEBUG /D _HAS_EXCEPTIONS=0 /D GTEST_HAS_RTTI=0 /D _CRT_SECURE_NO_DEPRECATE /D _CRT_SECURE_NO_WARNINGS /D _CRT_NONSTDC_NO_DEPRECATE /D _CRT_NONSTDC_NO_WARNINGS /D _SCL_SECURE_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /D STDC_CONSTANT_MACROS /D STDC_FORMAT_MACROS /D __STDC_LIMIT_MACROS /D _GNU_SOURCE /D CLANG_ENABLE_ARCMT /D CLANG_ENABLE_OBJC_REWRITER /D LANG_ENABLE_STATIC_ANALYZER /D "CMAKE_INTDIR=\"Release\"" /D _MBCS /Gm- /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /GR- /Fo"clangSerialization.dir\Release\" /Fd"clangSerialization.dir\Release\clangSerialization.pdb" /Gd /TP /wd4146 /wd4180 /wd4244 /wd4258 /wd4267 /wd4291 /wd4345 /wd4351 /wd4355 /wd4456 /wd4457 /wd4458 /wd4459 /wd4503 /wd4624 /wd4722 /wd4800 /analyze- /errorReport:queue /we4238 /EHs-c- -w14062 C:\dev\cling\src\tools\clang\lib\Serialization\ASTCommon.cpp C:\dev\cling\src\tools\clang\lib\Serialization\ASTReader.cpp C:\dev\cling\src\tools\clang\lib\Serialization\ASTReaderDecl.cpp C:\dev\cling\src\tools\clang\lib\Serialization\ASTReaderStmt.cpp C:\dev\cling\src\tools\clang\lib\Serialization\ASTWriter.cpp C:\dev\cling\src\tools\clang\lib \Serialization\ASTWriterDecl.cpp C:\dev\cling\src\tools\clang\lib\Serialization\ASTWriterStmt.cpp C:\dev\cling\src\tools\clang\lib\Serialization\GeneratePCH.cpp C:\dev\cling\src\tools\clang\lib\Serialization\GlobalModuleIndex.cpp C:\dev\cling\src\tools\clang\lib\Serialization\Module.cpp C:\dev\cling\src\tools\clang\lib\Serialization\ModuleManager.cpp

Stéphane.

llvmbot commented 8 years ago

I ended up with this error :

C:\dev\svn\build>"C:\Program Files (x86)\CMake\bin\cmake.exe" ..\trunk -- Building for: Visual Studio 14 2015 -- The C compiler identification is MSVC 19.0.23026.0 -- The CXX compiler identification is MSVC 19.0.23026.0 -- Check for working C compiler using: Visual Studio 14 2015 -- Check for working C compiler using: Visual Studio 14 2015 -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler using: Visual Studio 14 2015 -- Check for working CXX compiler using: Visual Studio 14 2015 -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done CMake Error at CMakeLists.txt:49 (message): llvm-config not found -- LLVM_CONFIG-NOTFOUND

-- Configuring incomplete, errors occurred! See also "C:/dev/svn/build/CMakeFiles/CMakeOutput.log".

llvmbot commented 8 years ago

No, i dont't have it, do you want me to check out and compile that revision ? Can you tell me what modifications did you make ?

Thanks.

rnk commented 8 years ago

This sounds like what I fixed in r237863. Do you have that revision?