http://llvm.org/bugs/show_bug.cgi?id=6538
Summary: Undeclared template names in base class lists cause
parse explosions
Product: clang
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: C++
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected], [email protected]
cop...@overthere:~$ cat output.cpp
struct foo
{ };
template <typename T>
struct bar
: public undeclared<undeclared, foo>
{ };
struct baz : public foo { };
cop...@overthere:~$ clang output.cpp
output.cpp:6:14: error: unknown template name 'undeclared'
: public undeclared<undeclared, foo>
^
output.cpp:6:40: error: expected '{' after base class list
: public undeclared<undeclared, foo>
^
output.cpp:6:40: error: expected ';' after struct
: public undeclared<undeclared, foo>
^
;
output.cpp:6:40: error: expected unqualified-id
clang: DeclBase.cpp:444: void clang::Decl::CheckAccessDeclContext() const:
Assertion `Access != AS_none && "Access specifier is AS_none inside a record
decl"' failed.
0 clang 0x0936e5c6
1 clang 0x0936e43b
2 0x00fcd400 __kernel_sigreturn + 0
3 libc.so.6 0x00d81932 abort + 386
4 libc.so.6 0x00d77648 __assert_fail + 248
5 clang 0x085c203c
6 clang 0x080b8070
7 clang 0x08469ebf
8 clang 0x08311bdc
9 clang 0x0866d304
10 clang 0x08661517
11 clang 0x08658429
12 clang 0x0865885b
13 clang 0x0865820e
14 clang 0x08657adb
15 clang 0x082bff26
16 clang 0x0807462e
17 clang 0x080742c1
18 clang 0x080600d9
19 clang 0x0804e724
20 clang 0x08053571 main + 267
21 libc.so.6 0x00d6ab56 __libc_start_main + 230
22 clang 0x0804d2b1
Stack dump:
0. Program arguments: /usr/local/bin/clang -cc1 -triple i386-pc-linux-gnu
-S -disable-free -main-file-name output.cpp -mrelocation-model static
-mdisable-fp-elim -mconstructor-aliases -target-cpu pentium4 -resource-dir
/usr/local/lib/clang/1.1 -fmessage-length 167 -fexceptions -fgnu-runtime
-fdiagnostics-show-option -fcolor-diagnostics -o /tmp/cc-pQ2Cgw.s -x c++
output.cpp
1. output.cpp:9:14: current parser token ':'
clang: error: compiler command failed due to signal 6 (use -v to see
invocation)
cop...@overthere:~$
--
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.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs