The error message is :

/local_scratch/douze/gcc_cur/lib/gcc/i686-pc-linux-gnu/4.0.0/../../../../include/c++/4.0.0/bits/cpp_type_traits.h:
In instantiation of 'std::__is_pod<std::less<int> >':
/local_scratch/douze/gcc_cur/lib/gcc/i686-pc-linux-gnu/4.0.0/../../../../include/c++/4.0.0/bits/stl_tree.h:431:
  instantiated from 'std::_Rb_tree<int, std::pair<const int, A<0> >,
std::_Select1st<std::pair<const int, A<0> > >, std::less<int>,
std::allocator<std::pair<const int, A<0> > > >'
/local_scratch/douze/gcc_cur/lib/gcc/i686-pc-linux-gnu/4.0.0/../../../../include/c++/4.0.0/bits/stl_map.h:124:
  instantiated from 'std::map<int, A<0>, std::less<int>,
std::allocator<std::pair<const int, A<0> > > >'
test7.cpp:5:   instantiated from 'A<0>'
test7.cpp:10:   instantiated from here
/local_scratch/douze/gcc_cur/lib/gcc/i686-pc-linux-gnu/4.0.0/../../../../include/c++/4.0.0/bits/cpp_type_traits.h:398:
error: too many template parameter lists in declaration of
'std::__is_pod<std::less<int> >::<anonymous enum>'

The error appears with gcc 3.4.1 and gcc 4.0.0, but not with 3.3.2

-- 
           Summary: map with a class template + method template fails to
                    compile.
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: libstdc++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: douze at enseeiht dot fr
                CC: gcc-bugs at gcc dot gnu dot org
  GCC host triplet: 686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19487

Reply via email to