..\clang\scripts\update.py fails to build llvm (clang 3.8)

Having problems with building or using CEF's C/C++ APIs? This forum is here to help. Please do not post bug reports or feature requests here.

..\clang\scripts\update.py fails to build llvm (clang 3.8)

Postby ari37086 » Thu Aug 20, 2015 4:10 am

Two months ago when I run ..\..\..\build\depot_tools\python276_bin\python.exe tools\clang\scripts\update.py it took clang 3.7 and llvm build was successful

When I run this command today it took clang 3.8 and during llvm compilation I got below error:


[22/328] Building CXX object tools\clang\tools\driver\CMakeFiles\clang.dir\E_\CEF\build\chromium\src\tools\clang\plugins\FindBadConstructsConsumer.cpp.obj
FAILED: C:\PROGRA~2\MICROS~1.0\VC\bin\amd64\cl.exe /nologo /TP /DWIN32 /D_WINDOWS -wd4146 -wd4180 -wd4244 -wd4258 -wd4267 -wd4291 -wd4345 -wd4351 -wd4355 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -w
0 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4324 -w14062 -we4238 /W4 /Zc:inline /MD /O2 /Ob2 -Itools\clang\tool
iver -IE:\CEF\build\chromium\src\third_party\llvm\tools\clang\tools\driver -IE:\CEF\build\chromium\src\third_party\llvm\tools\clang\include -Itools\clang\include -Iinclude -IE:\CEF\build\chromium\src\third_party\llvm
lude -UNDEBUG /EHs-c- /GR- /showIncludes -DCLANG_ENABLE_ARCMT -DCLANG_ENABLE_OBJC_REWRITER -DCLANG_ENABLE_STATIC_ANALYZER -DGTEST_HAS_RTTI=0 -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_
ECATE -D_CRT_SECURE_NO_WARNINGS -D_GNU_SOURCE -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS /Fotools\clang\tools\driver
keFiles\clang.dir\E_\CEF\build\chromium\src\tools\clang\plugins\FindBadConstructsConsumer.cpp.obj /Fdtools\clang\tools\driver\CMakeFiles\clang.dir\ /FS -c E:\CEF\build\chromium\src\tools\clang\plugins\FindBadConstruc
nsumer.cpp
E:\CEF\build\chromium\src\tools\clang\plugins\FindBadConstructsConsumer.cpp(704) : error C2660: 'clang::CXXRecordDecl::lookupInBases' : function does not take 3 arguments
E:\CEF\build\chromium\src\tools\clang\plugins\FindBadConstructsConsumer.cpp(756) : error C2660: 'clang::CXXRecordDecl::lookupInBases' : function does not take 3 arguments

[22/328] Building CXX object tools\clang\tools\libclang\CMakeFiles\libclang.dir\CXString.cpp.obj
ninja: build stopped: subcommand failed.
Failed.


Any help will be appreciated.
thanks
ari37086
Techie
 
Posts: 28
Joined: Thu Feb 19, 2015 10:50 am

Re: ..\clang\scripts\update.py fails to build llvm (clang 3.

Postby magreenblatt » Thu Aug 20, 2015 8:34 am

What OS? What Chromium branch/revision?
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm

Re: ..\clang\scripts\update.py fails to build llvm (clang 3.

Postby magreenblatt » Tue Feb 09, 2016 5:41 pm

I experienced a similar problem building llvm/clang for 2526 branch on Debian 7. I added `--with-chrome-tools ''` to the update.sh command-line (to exclude the chrome plugins which default to "plugins;blink_gc_plugin") and that fixed it for me.
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm

Re: ..\clang\scripts\update.py fails to build llvm (clang 3.

Postby magreenblatt » Tue Feb 09, 2016 6:11 pm

An alternative to the above is to just fix the compile error. Here's the plugin compile error that I saw with 2526 branch:

Code: Select all
/home/marshall/code/chromium_git/chromium/src/tools/clang/plugins/FindBadConstructsConsumer.cpp: In lambda function:
/home/marshall/code/chromium_git/chromium/src/tools/clang/plugins/FindBadConstructsConsumer.cpp:790:61: error: ‘this’ was not captured for this lambda function
/home/marshall/code/chromium_git/chromium/src/tools/clang/plugins/FindBadConstructsConsumer.cpp:791:11: error: return-statement with a value, in function returning 'void' [-fpermissive]
In file included from /home/marshall/code/chromium_git/chromium/src/third_party/llvm/tools/clang/include/clang/Basic/PartialDiagnostic.h:21:0,
                 from /home/marshall/code/chromium_git/chromium/src/third_party/llvm/tools/clang/include/clang/AST/DeclarationName.h:17,
                 from /home/marshall/code/chromium_git/chromium/src/third_party/llvm/tools/clang/include/clang/AST/DeclBase.h:18,
                 from /home/marshall/code/chromium_git/chromium/src/third_party/llvm/tools/clang/include/clang/AST/Decl.h:18,
                 from /home/marshall/code/chromium_git/chromium/src/third_party/llvm/tools/clang/include/clang/AST/ASTTypeTraits.h:20,
                 from /home/marshall/code/chromium_git/chromium/src/third_party/llvm/tools/clang/include/clang/AST/ASTContext.h:18,
                 from /home/marshall/code/chromium_git/chromium/src/third_party/llvm/tools/clang/include/clang/AST/AST.h:18,
                 from /home/marshall/code/chromium_git/chromium/src/tools/clang/plugins/FindBadConstructsConsumer.h:23,
                 from /home/marshall/code/chromium_git/chromium/src/tools/clang/plugins/FindBadConstructsConsumer.cpp:5:


And here's the fix for that compile error:

Code: Select all
diff --git tools/clang/plugins/FindBadConstructsConsumer.cpp tools/clang/plugins/FindBadConstructsConsume
index c99c389..edb5e66 100644
--- tools/clang/plugins/FindBadConstructsConsumer.cpp
+++ tools/clang/plugins/FindBadConstructsConsumer.cpp
@@ -785,7 +785,7 @@ void FindBadConstructsConsumer::CheckRefCountedDtors(
   // that leads to the public destructor in |dtor_paths|.
   CXXBasePaths dtor_paths;
   if (!record->lookupInBases(
-          [](const CXXBaseSpecifier* base, CXXBasePath& path) {
+          [&](const CXXBaseSpecifier* base, CXXBasePath& path) {
             // TODO(thakis): Inline HasPublicDtorCallback() after clang roll.
             return HasPublicDtorCallback(base, path, nullptr);
           },
magreenblatt
Site Admin
 
Posts: 12409
Joined: Fri May 29, 2009 6:57 pm


Return to Support Forum

Who is online

Users browsing this forum: No registered users and 96 guests