[LLVMbugs] [Bug 7587] New: segfault on parsing, related to a complex default value for a template parameter

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Jul 7 11:32:53 PDT 2010


           Summary: segfault on parsing, related to a complex default
                    value for a template parameter
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: orzel at freehackers.org
                CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com

Created an attachment (id=5180)
 --> (http://llvm.org/bugs/attachment.cgi?id=5180)
file to reproduce the problem

The problem appears with recent trunk (updated today, svn rev 107795, but has
been here for several weeks).

The original code is from eigen (homepage: http://eigen.tuxfamily.org/, code:
http://bitbucket.org/eigen/eigen/), but i've narrowed it to this file.

g++ and lot of other compilers have no problem with this. For this narrowed
problem, g++ will fail because of m_matrix being undeclared, but this is
something else.

clang segfault this way:

orzel at berlioz /home/orzel% /home/orzel/svn/llvm/Release/bin/clang++
clang: SemaTemplateInstantiate.cpp:881:
clang::TemplateTypeParmTypeLoc, clang::QualType): Assertion
`TemplateArgs(T->getDepth(), T->getIndex()).getKind() == TemplateArgument::Type
&& "Template argument kind mismatch"' failed.
0  clang           0x00000000015629cf
1  clang           0x000000000156351a
2  libpthread.so.0 0x00007f54da6461b0
3  libc.so.6       0x00007f54d995e555 gsignal + 53
4  libc.so.6       0x00007f54d995f9d6 abort + 390
5  libc.so.6       0x00007f54d99570c5 __assert_fail + 245
6  clang           0x0000000000818f98
7  clang           0x0000000000819407
8  clang           0x0000000000825ee2
9  clang           0x0000000000827cdc
10 clang           0x0000000000817892
11 clang           0x0000000000819407
12 clang           0x000000000081961d
13 clang           0x0000000000819e89
14 clang           0x000000000081a30e
15 clang           0x0000000000817ad7
16 clang           0x0000000000819407
17 clang           0x000000000081dda8
18 clang           0x00000000007e20f9
19 clang           0x00000000007f5ece
20 clang           0x00000000007f8e34
21 clang           0x00000000007f9440
22 clang           0x0000000000b0e1c8
23 clang           0x0000000000b034b6
24 clang           0x0000000000acf548
25 clang           0x0000000000addd6a
26 clang           0x0000000000aea810
27 clang           0x0000000000aed13d
28 clang           0x0000000000aee10d
29 clang           0x0000000000addf86
30 clang           0x0000000000b0c44b
31 clang           0x0000000000b0f74b
32 clang           0x0000000000b1115b
33 clang           0x0000000000ae15a7
34 clang           0x0000000000ad3850
35 clang           0x0000000000ad3fba
36 clang           0x0000000000678cbb
37 clang           0x00000000005275c4
38 clang           0x00000000004273ad
39 clang           0x00000000004096b5
40 clang           0x0000000000410195 main + 2629
41 libc.so.6       0x00007f54d994ab6d __libc_start_main + 253
42 clang           0x00000000004075c9
Stack dump:
0.      Program arguments: /home/orzel/svn/llvm/Release/bin/clang -cc1 -triple
x86_64-unknown-linux-gnu -S -disable-free -main-file-name clang.problem.cpp
-mrelocation-model static -mdisable-fp-elim -mconstructor-aliases
-munwind-tables -target-cpu x86-64 -resource-dir
/home/orzel/svn/llvm/Release/lib/clang/2.8 -ferror-limit 19 -fmessage-length
172 -fexceptions -fgnu-runtime -fdiagnostics-show-option -fcolor-diagnostics -o
/tmp/cc-UeX0i4.s -x c++ /home/orzel/clang.problem.cpp 
1.      /home/orzel/clang.problem.cpp:27:20: at annotation token 
2.      /home/orzel/clang.problem.cpp:10:50: parsing struct/union/class body
clang: error: clang frontend command failed due to signal 6 (use -v to see

Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

More information about the llvm-bugs mailing list