[llvm-bugs] [Bug 31453] New: [Sema] ProcessDeclAttributeList - Assertion `isa<X>(Val) && "cast<Ty>() argument of incompatible type!"' failed.

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Dec 22 07:32:00 PST 2016


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: unassignedclangbugs at nondot.org
          Reporter: mcrosier at codeaurora.org
                CC: llvm-bugs at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20161222/fc14e09b/attachment-0001.html>


More information about the llvm-bugs mailing list