gcc bug?
Joao Belo
jbelo@isel.pt
Mon Sep 6 15:32:00 GMT 1999
Hello,
with the code
#include <iterator>
template<class T>
struct X
{
};
template<class T>
X<T> operator+(const X<T>&, const X<T>&);
template<>
X<int> operator+<int>(const X<int>&, const X<int>&);
gcc reports:
/cygnus/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95/../
../../../../include/g++-
3/stl_iterator.h: In instantiation of `iterator_traits<int>':
/cygnus/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95/../
../../../../include/g++-
3/stl_iterator.h:576: instantiated from `reverse_iterator<int>'
x.cpp:12: instantiated from here
/cygnus/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95/../
../../../../include/g++-
3/stl_iterator.h:104: `int' is not a class, struct, or union type
/cygnus/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95/../
../../../../include/g++-
3/stl_iterator.h:105: `int' is not a class, struct, or union type
/cygnus/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95/../
../../../../include/g++-
3/stl_iterator.h:106: `int' is not a class, struct, or union type
/cygnus/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95/../
../../../../include/g++-
3/stl_iterator.h:107: `int' is not a class, struct, or union type
/cygnus/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95/../
../../../../include/g++-
3/stl_iterator.h:108: `int' is not a class, struct, or union type
/cygnus/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95/../
../../../../include/g++-
3/stl_iterator.h: In instantiation of `reverse_iterator<int>':
x.cpp:12: instantiated from here
/cygnus/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95/../
../../../../include/g++-
3/stl_iterator.h:576: no type named `iterator_category' in `struct
iterator_traits<int>'
/cygnus/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95/../
../../../../include/g++-
3/stl_iterator.h:578: no type named `value_type' in `struct
iterator_traits<int>'
/cygnus/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95/../
../../../../include/g++-
3/stl_iterator.h:580: no type named `difference_type' in `struct
iterator_traits<int>'
/cygnus/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95/../
../../../../include/g++-
3/stl_iterator.h:582: no type named `pointer' in `struct
iterator_traits<int>'
/cygnus/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95/../
../../../../include/g++-
3/stl_iterator.h:584: no type named `reference' in `struct
iterator_traits<int>'
/cygnus/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95/../
../../../../include/g++-
3/stl_iterator.h:601: no type named `reference' in `struct
iterator_traits<int>'
/cygnus/cygwin-b20/H-i586-cygwin32/bin/../lib/gcc-lib/i586-cygwin32/2.95/../
../../../../include/g++-
3/stl_iterator.h:601: confused by earlier errors, bailing out
Is this a bug?
I'm using Cygwin b20, gcc version 2.95 19990728 (release)
Thank you,
Joao Belo
More information about the Gcc-bugs
mailing list