gcc incorrectly rejects the following template code - seems to be a bug in the
new (gcc 3.4) C++ parser.
> g++-4.0 -Wall -W x.cpp
x.cpp:6: error: spurious '>>', use '>' to terminate a template argument list
x.cpp:6: error: expected primary-expression before "S"
x.cpp:6: error: expected %<;%> before "S"
template <int N> struct IntHolder {
static const int value = N;
};
template <int N, int S> struct ShrIntHolder {
static const int value = IntHolder< N>>S >::value;
};
--
Summary: C++ parser bug when using shr (>>) in templates
Product: gcc
Version: 3.4.1
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: markus at oberhumer dot com
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18140