https://llvm.org/bugs/show_bug.cgi?id=31453
Bug ID: 31453 Summary: [Sema] ProcessDeclAttributeList - Assertion `isa<X>(Val) && "cast<Ty>() argument of incompatible type!"' failed. Product: clang Version: unspecified Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P Component: Frontend Assignee: unassignedclangb...@nondot.org Reporter: mcros...@codeaurora.org CC: llvm-bugs@lists.llvm.org Classification: Unclassified We ran into the below assertion with our 12/21 nightly. Reduced test case: {7397}> more test.c #define x0(x1) __attribute__((__alloc_size__(x1) typedef x2; (*x3)(x2) x0(1) Reproduce with: clang -O3 test.c Backtrace: clang-4.0: /local/mnt/workspace/mrosier/llvm-community/llvm/include/llvm/Support/Casting.h:236: typename cast_retty<X, Y *>::ret_type llvm::cast(Y *) [X = clang::FunctionDecl, Y = clang::Decl]: Assertion `isa<X>(Val) && "cast<Ty>() argument of incompatible type!"' failed. #0 0x0000000001ad7998 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/local/mnt/workspace/mrosier/llvm-community/build/llvm/bin/clang-4.0+0x1ad7998) #1 0x0000000001ad8536 SignalHandler(int) (/local/mnt/workspace/mrosier/llvm-community/build/llvm/bin/clang-4.0+0x1ad8536) #2 0x00007fe1fac64cb0 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0xfcb0) #3 0x00007fe1f97ee035 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x36035) #4 0x00007fe1f97f179b abort (/lib/x86_64-linux-gnu/libc.so.6+0x3979b) #5 0x00007fe1f97e6e1e (/lib/x86_64-linux-gnu/libc.so.6+0x2ee1e) #6 0x00007fe1f97e6ec2 (/lib/x86_64-linux-gnu/libc.so.6+0x2eec2) #7 0x0000000002b3dc9f ProcessDeclAttribute(clang::Sema&, clang::Scope*, clang::Decl*, clang::AttributeList const&, bool) (/local/mnt/workspace/mrosier/llvm-community/build/llvm/bin/clang-4.0+0x2b3dc9f) #8 0x0000000002b23264 clang::Sema::ProcessDeclAttributeList(clang::Scope*, clang::Decl*, clang::AttributeList const*, bool) (/local/mnt/workspace/mrosier/llvm-community/build/llvm/bin/clang-4.0+0x2b23264) #9 0x0000000002ae16f7 clang::Sema::ActOnVariableDeclarator(clang::Scope*, clang::Declarator&, clang::DeclContext*, clang::TypeSourceInfo*, clang::LookupResult&, llvm::MutableArrayRef<clang::TemplateParameterList*>, bool&, llvm::ArrayRef<clang::BindingDecl*>) (/local/mnt/workspace/mrosier/llvm-community/build/llvm/bin/clang-4.0+0x2ae16f7) #10 0x0000000002ad4cde clang::Sema::HandleDeclarator(clang::Scope*, clang::Declarator&, llvm::MutableArrayRef<clang::TemplateParameterList*>) (/local/mnt/workspace/mrosier/llvm-community/build/llvm/bin/clang-4.0+0x2ad4cde) #11 0x0000000002ad3e68 clang::Sema::ActOnDeclarator(clang::Scope*, clang::Declarator&) (/local/mnt/workspace/mrosier/llvm-community/build/llvm/bin/clang-4.0+0x2ad3e68) #12 0x0000000002802228 clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) (/local/mnt/workspace/mrosier/llvm-community/build/llvm/bin/clang-4.0+0x2802228) #13 0x0000000002800797 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, unsigned int, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/local/mnt/workspace/mrosier/llvm-community/build/llvm/bin/clang-4.0+0x2800797) #14 0x00000000027e6a12 clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/local/mnt/workspace/mrosier/llvm-community/build/llvm/bin/clang-4.0+0x27e6a12) #15 0x00000000027e6361 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/local/mnt/workspace/mrosier/llvm-community/build/llvm/bin/clang-4.0+0x27e6361) #16 0x00000000027e563f clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) (/local/mnt/workspace/mrosier/llvm-community/build/llvm/bin/clang-4.0+0x27e563f) #17 0x00000000027e43c7 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) (/local/mnt/workspace/mrosier/llvm-community/build/llvm/bin/clang-4.0+0x27e43c7) #18 0x00000000027dfc77 clang::ParseAST(clang::Sema&, bool, bool) (/local/mnt/workspace/mrosier/llvm-community/build/llvm/bin/clang-4.0+0x27dfc77) #19 0x00000000020195e8 clang::FrontendAction::Execute() (/local/mnt/workspace/mrosier/llvm-community/build/llvm/bin/clang-4.0+0x20195e8) #20 0x0000000001fdfcb1 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/local/mnt/workspace/mrosier/llvm-community/build/llvm/bin/clang-4.0+0x1fdfcb1) #21 0x000000000209f22d clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/local/mnt/workspace/mrosier/llvm-community/build/llvm/bin/clang-4.0+0x209f22d) #22 0x0000000000811096 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/local/mnt/workspace/mrosier/llvm-community/build/llvm/bin/clang-4.0+0x811096) #23 0x000000000080fd2b main (/local/mnt/workspace/mrosier/llvm-community/build/llvm/bin/clang-4.0+0x80fd2b) #24 0x00007fe1f97d97ed __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x217ed) #25 0x000000000080ccc5 _start (/local/mnt/workspace/mrosier/llvm-community/build/llvm/bin/clang-4.0+0x80ccc5) Stack dump: 0. Program arguments: /local/mnt/workspace/mrosier/llvm-community/build/llvm/bin/clang-4.0 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -disable-free -main-file-name test.c -mrelocation-model static -mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -momit-leaf-frame-pointer -dwarf-column-info -debugger-tuning=gdb -resource-dir /local/mnt/workspace/mrosier/llvm-community/build/llvm/bin/../lib/clang/4.0.0 -internal-isystem /usr/local/include -internal-isystem /local/mnt/workspace/mrosier/llvm-community/build/llvm/bin/../lib/clang/4.0.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O3 -fdebug-compilation-dir /tmp -ferror-limit 19 -fmessage-length 139 -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -o /tmp/test-18c5d1.o -x c test.c 1. <eof> parser at end of file clang-4.0: error: unable to execute command: Aborted (core dumped) clang-4.0: error: clang frontend command failed due to signal (use -v to see invocation) clang version 4.0.0 (trunk 290341) (llvm/trunk 290338) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /local/mnt/workspace/mrosier/llvm-community/build/llvm/bin clang-4.0: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script. clang-4.0: note: diagnostic msg: ******************** PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: Preprocessed source(s) and associated run script(s) are located at: clang-4.0: note: diagnostic msg: /tmp/test-872a16.c clang-4.0: note: diagnostic msg: /tmp/test-872a16.sh clang-4.0: note: diagnostic msg: ******************** -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs