Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

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

Closed Quuxplusone closed 8 years ago

Quuxplusone commented 8 years ago
Bugzilla Link PR25650
Status RESOLVED FIXED
Importance P normal
Reported by Stéphane C. (pendenaor@openaliasbox.org)
Reported on 2015-11-26 02:14:36 -0800
Last modified on 2015-12-01 02:22:14 -0800
Version 3.7
Hardware PC Windows NT
CC llvm-bugs@lists.llvm.org, pendenaor@openaliasbox.org, rnk@google.com
Fixed by commit(s)
Attachments
Blocks
Blocked by
See also
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<uint64_t>(unsigned int,llvm::SmallVectorImpl<uint64_t>
&,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<uint64_t>(unsigned int,llvm::SmallVectorImpl<uint64_t>
&,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<uint64_t>(unsigned int,llvm::SmallVectorImpl<uint64_t>
&,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<uint64_t>(unsigned int,llvm::SmallVectorImpl<uint64_t>
&,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<uint64_t>(unsigned int,llvm::SmallVectorImpl<uint64_t>
&,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<uint64_t>(unsigned int,llvm::SmallVectorImpl<uint64_t>
&,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<uint64_t>(unsigned int,llvm::SmallVectorImpl<uint64_t>
&,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<uint64_t>(unsigned int,llvm::SmallVectorImpl<uint64_t>
&,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<uint64_t>(unsigned int,llvm::SmallVectorImpl<uint64_t>
&,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.
Quuxplusone commented 8 years ago

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

Quuxplusone 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.
Quuxplusone 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".