-
Notifications
You must be signed in to change notification settings - Fork 15.2k
Description
| Bugzilla Link | 45083 |
| Resolution | FIXED |
| Resolved on | Mar 17, 2020 12:59 |
| Version | 10.0 |
| OS | Linux |
| Blocks | #43900 |
| Attachments | Reduced test case, Manually reduced test case |
| CC | @zmodem,@jsonn,@slacka,@zygoloid |
| Fixed by commit(s) | 5c845c1, d9bd6e3 |
Extended Description
Trying to build inkscape 1.0beta2 with a clang 10.0 git snapshot from last week results in
clang++: /builddir/build/BUILD/llvm-project-release-10.x/clang/lib/AST/ExprConstant.cpp:2326: bool EvaluateAsBooleanCondition(const clang::Expr *, bool &, (anonymous namespace)::EvalInfo &): Assertion `E->isRValue() && "missing lvalue-to-rvalue conv in bool condition"' failed.
Stack dump:
0. Program arguments: /usr/bin/clang++ -DHAVE_CONFIG_H -DWITH_CSSBLEND -DWITH_CSSCOMPOSITE -DWITH_MESH -DWITH_SVG2 -Isrc -I../src -I../ -Iinclude -I../src/3rdparty/adaptagrams -isystem /usr/include/harfbuzz -isystem /usr/include/glib-2.0 -isystem /usr/lib64/glib-2.0/include -isystem /usr/include/pango-1.0 -isystem /usr/include/fribidi -isystem /usr/include/freetype2 -isystem /usr/include/libpng16 -isystem /usr/include/uuid -isystem /usr/include/cairo -isystem /usr/include/pixman-1 -isystem /usr/include/libsoup-2.4 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/libxml2 -isystem /usr/include/gc -isystem /usr/include/poppler -isystem /usr/include/libwpg-0.3 -isystem /usr/include/librevenge-0.0 -isystem /usr/include/libvisio-0.1 -isystem /usr/include/libcdr-0.1 -isystem /usr/include/dbus-1.0 -isystem /usr/lib64/dbus-1.0/include -isystem src/extension/dbus -isystem /usr/include/gtkmm-3.0 -isystem /usr/lib64/gtkmm-3.0/include -isystem /usr/include/atkmm-1.6 -isystem /usr/include/atk-1.0 -isystem /usr/include/glibmm-2.4 -isystem /usr/lib64/glibmm-2.4/include -isystem /usr/include/sigc++-2.0 -isystem /usr/lib64/sigc++-2.0/include -isystem /usr/include/giomm-2.4 -isystem /usr/lib64/giomm-2.4/include -isystem /usr/include/pangomm-1.4 -isystem /usr/lib64/pangomm-1.4/include -isystem /usr/include/cairomm-1.0 -isystem /usr/lib64/cairomm-1.0/include -isystem /usr/include/gtk-3.0 -isystem /usr/include/gdk-pixbuf-2.0 -isystem /usr/include/gio-unix-2.0 -isystem /usr/include/at-spi2-atk/2.0 -isystem /usr/include/at-spi-2.0 -isystem /usr/include/gtk-3.0/unix-print -isystem /usr/include/gdkmm-3.0 -isystem /usr/lib64/gdkmm-3.0/include -isystem /usr/include/libgdl-3.0 -isystem /usr/include/GraphicsMagick -Os -fomit-frame-pointer -g1 -Wstrict-aliasing=2 -pipe -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -m64 -mtune=generic -flto -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Werror=format -Werror=format-security -pthread -fopenmp=libomp -Os -fomit-frame-pointer -g1 -Wstrict-aliasing=2 -pipe -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -m64 -mtune=generic -flto -pthread -std=gnu++11 -MD -MT src/CMakeFiles/inkscape_base.dir/style-internal.cpp.o -MF src/CMakeFiles/inkscape_base.dir/style-internal.cpp.o.d -o src/CMakeFiles/inkscape_base.dir/style-internal.cpp.o -c ../src/style-internal.cpp
-
../src/style-internal.cpp:817:5 <Spelling=/usr/include/glib-2.0/glib/gmacros.h:934:68>: current parser token ')' -
../src/style-internal.cpp:816:1: parsing function body 'SPIEnum::update_value_merge' -
../src/style-internal.cpp:816:1: in compound statement ('{}') -
../src/style-internal.cpp:817:5 <Spelling=/usr/include/glib-2.0/glib/gtestutils.h:169:54>: in compound statement ('{}')
#0 0x00007f05492fdde2 (/usr/lib64/libLLVMSupport.so.10.0+0x21bde2)
#1 0x00007f05492fb38e llvm::sys::RunSignalHandlers() (/usr/lib64/libLLVMSupport.so.10.0+0x21938e)
#2 0x00007f05492fce40 llvm::sys::CleanupOnSignal(unsigned long) (/usr/lib64/libLLVMSupport.so.10.0+0x21ae40)
#3 0x00007f054921abb3 (/usr/lib64/libLLVMSupport.so.10.0+0x138bb3)
#4 0x00007f054921ad23 (/usr/lib64/libLLVMSupport.so.10.0+0x138d23)
#5 0x00007f0548d57980 __restore_rt (/lib64/libc.so.6+0x44980)
#6 0x00007f0548d578f7 raise (/lib64/libc.so.6+0x448f7)
#7 0x00007f0548d3853d abort (/lib64/libc.so.6+0x2553d)
#8 0x00007f0548d38411 _nl_load_domain.cold (/lib64/libc.so.6+0x25411)
#9 0x00007f0548d48912 (/lib64/libc.so.6+0x35912)
#10 0x00007f05479cf1e9 (/usr/lib64/libclangAST.so.10.0+0x5201e9)
#11 0x00007f05479dcaf4 (/usr/lib64/libclangAST.so.10.0+0x52daf4)
#12 0x00007f05479e9575 (/usr/lib64/libclangAST.so.10.0+0x53a575)
#13 0x00007f05479b0a5b (/usr/lib64/libclangAST.so.10.0+0x501a5b)
#14 0x00007f05479b3a87 (/usr/lib64/libclangAST.so.10.0+0x504a87)
#15 0x00007f05479aebc9 clang::Expr::EvaluateAsRValue(clang::Expr::EvalResult&, clang::ASTContext const&, bool) const (/usr/lib64/libclangAST.so.10.0+0x4ffbc9)
#16 0x00007f054667076b (/usr/lib64/libclangSema.so.10.0+0x3d676b)
#17 0x00007f054666a0f6 (/usr/lib64/libclangSema.so.10.0+0x3d00f6)
#18 0x00007f054665b0d6 (/usr/lib64/libclangSema.so.10.0+0x3c10d6)
#19 0x00007f054665bba3 (/usr/lib64/libclangSema.so.10.0+0x3c1ba3)
#20 0x00007f054665c7da clang::Sema::CheckCompletedExpr(clang::Expr*, clang::SourceLocation, bool) (/usr/lib64/libclangSema.so.10.0+0x3c27da)
#21 0x00007f05469ee209 clang::Sema::ActOnFinishFullExpr(clang::Expr*, clang::SourceLocation, bool, bool) (/usr/lib64/libclangSema.so.10.0+0x754209)
#22 0x00007f0546972e2d clang::Sema::ActOnCondition(clang::Scope*, clang::SourceLocation, clang::Expr*, clang::Sema::ConditionKind) (/usr/lib64/libclangSema.so.10.0+0x6d8e2d)
#23 0x00007f0546ef1c4b clang::Parser::ParseCXXCondition(clang::ActionResult<clang::Stmt*, true>, clang::SourceLocation, clang::Sema::ConditionKind, clang::Parser::ForRangeInfo) (/usr/lib64/libclangParse.so.10.0+0xd3c4b)
#24 0x00007f0546f3eedf clang::Parser::ParseParenExprOrCondition(clang::ActionResult<clang::Stmt*, true>, clang::Sema::ConditionResult&, clang::SourceLocation, clang::Sema::ConditionKind) (/usr/lib64/libclangParse.so.10.0+0x120edf)
#25 0x00007f0546f388cc clang::Parser::ParseIfStatement(clang::SourceLocation) (/usr/lib64/libclangParse.so.10.0+0x11a8cc)
#26 0x00007f0546f35d67 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::Parser::ParsedAttributesWithRange&) (/usr/lib64/libclangParse.so.10.0+0x117d67)
#27 0x00007f0546f35468 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) (/usr/lib64/libclangParse.so.10.0+0x117468)
#28 0x00007f0546f3e606 clang::Parser::ParseCompoundStatementBody(bool) (/usr/lib64/libclangParse.so.10.0+0x120606)
#29 0x00007f0546f3d342 clang::Parser::ParseCompoundStatement(bool, unsigned int) (/usr/lib64/libclangParse.so.10.0+0x11f342)
#30 0x00007f0546f35dc1 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::Parser::ParsedAttributesWithRange&) (/usr/lib64/libclangParse.so.10.0+0x117dc1)
#31 0x00007f0546f35468 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) (/usr/lib64/libclangParse.so.10.0+0x117468)
#32 0x00007f0546f399e9 clang::Parser::ParseDoStatement() (/usr/lib64/libclangParse.so.10.0+0x11b9e9)
#33 0x00007f0546f35b7b clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::Parser::ParsedAttributesWithRange&) (/usr/lib64/libclangParse.so.10.0+0x117b7b)
#34 0x00007f0546f35468 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) (/usr/lib64/libclangParse.so.10.0+0x117468)
#35 0x00007f0546f3e606 clang::Parser::ParseCompoundStatementBody(bool) (/usr/lib64/libclangParse.so.10.0+0x120606)
#36 0x00007f0546f3f69b clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) (/usr/lib64/libclangParse.so.10.0+0x12169b)
#37 0x00007f0546f5dcb0 clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) (/usr/lib64/libclangParse.so.10.0+0x13fcb0)
#38 0x00007f0546f498de clang::Parser::ParseSingleDeclarationAfterTemplate(clang::DeclaratorContext, clang::Parser::ParsedTemplateInfo const&, clang::ParsingDeclRAIIObject&, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) (/usr/lib64/libclangParse.so.10.0+0x12b8de)
#39 0x00007f0546f47fc1 clang::Parser::ParseTemplateDeclarationOrSpecialization(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) (/usr/lib64/libclangParse.so.10.0+0x129fc1)
#40 0x00007f0546f47740 clang::Parser::ParseDeclarationStartingWithTemplate(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) (/usr/lib64/libclangParse.so.10.0+0x129740)
#41 0x00007f0546e9e256 clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&, clang::SourceLocation*) (/usr/lib64/libclangParse.so.10.0+0x80256)
#42 0x00007f0546f5abe0 clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) (/usr/lib64/libclangParse.so.10.0+0x13cbe0)
#43 0x00007f0546f592db clang::Parser::ParseTopLevelDecl(clang::OpaquePtrclang::DeclGroupRef&, bool) (/usr/lib64/libclangParse.so.10.0+0x13b2db)
#44 0x00007f0546e8a7cd clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib64/libclangParse.so.10.0+0x6c7cd)
#45 0x00007f054c56b285 clang::CodeGenAction::ExecuteAction() (/usr/lib64/libclangCodeGen.so.10.0+0x594285)
#46 0x00007f054ab48c1d clang::FrontendAction::Execute() (/usr/lib64/libclangFrontend.so.10.0+0x174c1d)
#47 0x00007f054aace0ea clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib64/libclangFrontend.so.10.0+0xfa0ea)
#48 0x00007f054cf9e9b4 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib64/libclangFrontendTool.so.10.0+0x59b4)
#49 0x00000000002180d0 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/bin/clang+++0x2180d0)
#50 0x0000000000215fe1 (/usr/bin/clang+++0x215fe1)
#51 0x00007f054a83cdc2 (/usr/lib64/libclangDriver.so.10.0+0xf7dc2)
#52 0x00007f054921aac1 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/lib64/libLLVMSupport.so.10.0+0x138ac1)
#53 0x00007f054a83c1c7 clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optionalllvm::StringRef >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, bool) const (/usr/lib64/libclangDriver.so.10.0+0xf71c7)
#54 0x00007f054a803aba clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const (/usr/lib64/libclangDriver.so.10.0+0xbeaba)
#55 0x00007f054a803fda clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const (/usr/lib64/libclangDriver.so.10.0+0xbefda)
#56 0x00007f054a81fe97 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) (/usr/lib64/libclangDriver.so.10.0+0xdae97)
#57 0x0000000000214fde main (/usr/bin/clang+++0x214fde)
#58 0x00007f0548d39dbb __libc_start_main (/lib64/libc.so.6+0x26dbb)
#59 0x0000000000211a2a _start (/usr/bin/clang+++0x211a2a)
clang++: /builddir/build/BUILD/llvm-project-release-10.x/clang/lib/Parse/Parser.cpp:444: virtual clang::Parser::~Parser(): Assertion `TemplateIds.empty() && "Still alive TemplateIdAnnotations around?"' failed.