[llvm-bugs] [Bug 45083] New: Assertion `E->isRValue() && "missing lvalue-to-rvalue conv in bool condition"' failed

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Mar 2 15:24:18 PST 2020


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

            Bug ID: 45083
           Summary: Assertion `E->isRValue() && "missing lvalue-to-rvalue
                    conv in bool condition"' failed
           Product: new-bugs
           Version: 10.0
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: bero at lindev.ch
                CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org

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 
1.      ../src/style-internal.cpp:817:5
<Spelling=/usr/include/glib-2.0/glib/gmacros.h:934:68>: current parser token
')'
2.      ../src/style-internal.cpp:816:1: parsing function body
'SPIEnum::update_value_merge'
3.      ../src/style-internal.cpp:816:1: in compound statement ('{}')
4.      ../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::OpaquePtr<clang::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::Optional<llvm::StringRef>
>, std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >*, 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.

-- 
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/20200302/4c78350e/attachment.html>


More information about the llvm-bugs mailing list