[llvm-bugs] [Bug 43537] New: ICE with list-initialization and array of unknown bound

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Oct 2 06:01:55 PDT 2019


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

            Bug ID: 43537
           Summary: ICE with list-initialization and array of unknown
                    bound
           Product: clang
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: C++2a
          Assignee: unassignedclangbugs at nondot.org
          Reporter: polacek at redhat.com
                CC: blitzrakete at gmail.com, erik.pilkington at gmail.com,
                    llvm-bugs at lists.llvm.org, richard-llvm at metafoo.co.uk

The following (valid C++20, with P0388R4) code triggers an ICE:

const int (&r)[]{1};

This is
clang version 8.0.0 (Fedora 8.0.0-1.fc30)
Target: x86_64-unknown-linux-gnu
but trunk seems to crash too.

Stack dump:
0.      Program arguments: /usr/bin/clang-8 -cc1 -triple
x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free
-disable-llvm-verifier -discard-value-names -main-file-name clang.C
-mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno
-masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array
-target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -coverage-notes-file
/home/marek/x/trunk/gcc/clang.gcno -resource-dir /usr/lib64/clang/8.0.0
-internal-isystem
/usr/bin/../lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9
-internal-isystem
/usr/bin/../lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/x86_64-redhat-linux
-internal-isystem
/usr/bin/../lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/backward
-internal-isystem /usr/local/include -internal-isystem
/usr/lib64/clang/8.0.0/include -internal-externc-isystem /include
-internal-externc-isystem /usr/include -fdeprecated-macro
-fdebug-compilation-dir /home/marek/x/trunk/gcc -ferror-limit 19
-fmessage-length 107 -fobjc-runtime=gcc -fcxx-exceptions -fexceptions
-fdiagnostics-show-option -fcolor-diagnostics -o clang.o -x c++ clang.C
-faddrsig 
1.      <eof> parser at end of file
2.      clang.C:1:13: LLVM IR generation of declaration 'r'
3.      clang.C:1:13: Generating code for declaration 'r'
 #0 0x00007fa3c23ab06e llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(/lib64/libLLVM-8.so+0xabd06e)
 #1 0x00007fa3c23a9014 llvm::sys::RunSignalHandlers()
(/lib64/libLLVM-8.so+0xabb014)
 #2 0x00007fa3c23a9195 (/lib64/libLLVM-8.so+0xabb195)
 #3 0x00007fa3c0729ec0 __restore_rt (/lib64/libc.so.6+0x37ec0)
 #4 0x00007fa3c12884c6
clang::CodeGen::ConstantEmitter::tryEmitPrivate(clang::APValue const&,
clang::QualType) (/lib64/libclangCodeGen.so.8+0x22e4c6)
 #5 0x00007fa3c12892aa
clang::CodeGen::ConstantEmitter::tryEmitPrivateForMemory(clang::APValue const&,
clang::QualType) (/lib64/libclangCodeGen.so.8+0x22f2aa)
 #6 0x00007fa3c13fc860
clang::CodeGen::CodeGenModule::GetAddrOfGlobalTemporary(clang::MaterializeTemporaryExpr
const*, clang::Expr const*) (/lib64/libclangCodeGen.so.8+0x3a2860)
 #7 0x00007fa3c1288a4d
clang::CodeGen::ConstantEmitter::tryEmitPrivate(clang::APValue const&,
clang::QualType) (/lib64/libclangCodeGen.so.8+0x22ea4d)
 #8 0x00007fa3c12892aa
clang::CodeGen::ConstantEmitter::tryEmitPrivateForMemory(clang::APValue const&,
clang::QualType) (/lib64/libclangCodeGen.so.8+0x22f2aa)
 #9 0x00007fa3c128c0ff
clang::CodeGen::ConstantEmitter::tryEmitPrivateForVarInit(clang::VarDecl
const&) (/lib64/libclangCodeGen.so.8+0x2320ff)
#10 0x00007fa3c128c3c4
clang::CodeGen::ConstantEmitter::tryEmitForInitializer(clang::VarDecl const&)
(/lib64/libclangCodeGen.so.8+0x2323c4)
#11 0x00007fa3c140f1e6
clang::CodeGen::CodeGenModule::EmitGlobalVarDefinition(clang::VarDecl const*,
bool) (/lib64/libclangCodeGen.so.8+0x3b51e6)
#12 0x00007fa3c142e0e5
clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl,
llvm::GlobalValue*) (/lib64/libclangCodeGen.so.8+0x3d40e5)
#13 0x00007fa3c142e89b
clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl)
(/lib64/libclangCodeGen.so.8+0x3d489b)
#14 0x00007fa3c14342fd
clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*)
(/lib64/libclangCodeGen.so.8+0x3da2fd)
#15 0x00007fa3c14a677f (/lib64/libclangCodeGen.so.8+0x44c77f)
#16 0x00007fa3c13d00a1 (/lib64/libclangCodeGen.so.8+0x3760a1)
#17 0x00007fa3bfe62214 clang::ParseAST(clang::Sema&, bool, bool)
(/lib64/libclangParse.so.8+0x3c214)
#18 0x00007fa3c13d5a61 clang::CodeGenAction::ExecuteAction()
(/lib64/libclangCodeGen.so.8+0x37ba61)
#19 0x00007fa3c0da6066 clang::FrontendAction::Execute()
(/lib64/libclangFrontend.so.8+0xef066)
#20 0x00007fa3c0d58406
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
(/lib64/libclangFrontend.so.8+0xa1406)
#21 0x00007fa3c0cb2ac2
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
(/lib64/libclangFrontendTool.so.8+0x5ac2)
#22 0x000055e05a2a2378 cc1_main(llvm::ArrayRef<char const*>, char const*,
void*) (/usr/bin/clang-8+0x16378)
#23 0x000055e05a29deb3 main (/usr/bin/clang-8+0x11eb3)
#24 0x00007fa3c0715f43 __libc_start_main
/usr/src/debug/glibc-2.29-32-g6d8eaf4a25/csu/../csu/libc-start.c:308:16
#25 0x000055e05a29e9fe _start (/usr/bin/clang-8+0x129fe)

-- 
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/20191002/cff3b18b/attachment-0001.html>


More information about the llvm-bugs mailing list