[LLVMbugs] [Bug 5559] New: Problems with nested templates
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Thu Nov 19 03:05:51 PST 2009
http://llvm.org/bugs/show_bug.cgi?id=5559
Summary: Problems with nested templates
Product: clang
Version: trunk
Platform: All
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: parser
AssignedTo: dgregor at apple.com
ReportedBy: ggreif at gmail.com
CC: llvmbugs at cs.uiuc.edu
Created an attachment (id=3837)
--> (http://llvm.org/bugs/attachment.cgi?id=3837)
Testcase plus errors
Please see attached file. I have distilled this from error messages I got for
http://micker.googlecode.com
Here I reproduce the code:
-------------------------------------------------------------
// file: FooBar.hpp
// invokation: clang -x c++ -c FooBar.hpp -o /dev/null
template <typename T>
struct Foo;
template <>
struct Foo<int>
{
template <typename U>
struct Bar
{};
};
template <>
template <>
struct Foo<int>::Bar<void>
{};
template <typename FT,
typename FT::template Bar<int>::Quux QUUX>
struct Baz;
------------------------------------------------------
/*
clang --version
clang version 1.1 (trunk 89084)
Target: x86_64-unknown-linux-gnu
Thread model: posix
I get these errors:
FooBar.hpp:12:1: error: extraneous template parameter list in template
specialization or out-of-line template definition
template <>
^~~~~~~~~~~
FooBar.hpp:19:20: error: declaration of 'FT' shadows template parameter
typename FT::template Bar<int>::Quux QUUX>
^
FooBar.hpp:18:20: note: template parameter is declared here
template <typename FT,
^
FooBar.hpp:19:40: error: expected unqualified-id
typename FT::template Bar<int>::Quux QUUX>
^
4 diagnostics generated.
80001b614af1c567clang: error: unable to remove file: not a file or directory
^^^^^^^^^^^^^^^^ please note this strange output!!
g++ (v3.4.6) does compile this without problems.
*/
--
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