What steps will reproduce the problem?
1. Compile gtest then cd into make/
2. Change CXX to CXX=icpc in make/Makefile.
3. Run make
What is the expected output? What do you see instead?
I expected to see the code compile and run fine.
What version of the product are you using? On what operating system?
Linux yk-dev-yg.corp.nanometrics.com 2.6.27.9-159.fc10.i686 #1 SMP Tue Dec
16 15:12:04 EST 2008 i686 i686 i386 GNU/Linux
gtest-1.2.1
icc (ICC) 11.0 20080930
Please provide any additional information below.
Here is the output of make:
icpc -I.. -I../include -g -c ../samples/sample1.cc
icpc -I.. -I../include -g -c ../samples/sample1_unittest.cc
/usr/include/c++/4.3.2/tr1/tuple(74): error: expected an identifier
template<int _Idx, typename... _Elements>
^
/usr/include/c++/4.3.2/tr1/tuple(82): error: too few arguments for class
template "std::tr1::_Tuple_impl"
struct _Tuple_impl<_Idx> { };
^
/usr/include/c++/4.3.2/tr1/tuple(89): error: expected an identifier
template<int _Idx, typename _Head, typename... _Tail>
^
/usr/include/c++/4.3.2/tr1/tuple(90): error: type name is not allowed
struct _Tuple_impl<_Idx, _Head, _Tail...>
^
/usr/include/c++/4.3.2/tr1/tuple(90): error: too many arguments for class
template "std::tr1::_Tuple_impl"
struct _Tuple_impl<_Idx, _Head, _Tail...>
^
/usr/include/c++/4.3.2/tr1/tuple(132): error: expected an identifier
template<typename... _Elements>
^
/usr/include/c++/4.3.2/tr1/tuple(133): error: identifier "_Elements" is
undefined
class tuple : public _Tuple_impl<0, _Elements...>
^
/usr/include/c++/4.3.2/tr1/tuple(133): error: expected a ">"
class tuple : public _Tuple_impl<0, _Elements...>
^
/usr/include/c++/4.3.2/tr1/tuple(133): error: not a class or struct name
class tuple : public _Tuple_impl<0, _Elements...>
^
/usr/include/c++/4.3.2/tr1/tuple(135): error: expected a ">"
typedef _Tuple_impl<0, _Elements...> _Inherited;
^
/usr/include/c++/4.3.2/tr1/tuple(141): error: "_Elements" is not a type name
tuple(typename __add_c_ref<_Elements>::type... __elements)
^
/usr/include/c++/4.3.2/tr1/tuple(141): error: expected a ")"
tuple(typename __add_c_ref<_Elements>::type... __elements)
^
/usr/include/c++/4.3.2/tr1/tuple(144): error: expected an identifier
template<typename... _UElements>
^
/usr/include/c++/4.3.2/tr1/tuple(145): error: identifier "_UElements" is
undefined
tuple(const tuple<_UElements...>& __in)
^
/usr/include/c++/4.3.2/tr1/tuple(145): error: expected a ">"
tuple(const tuple<_UElements...>& __in)
^
/usr/include/c++/4.3.2/tr1/tuple(151): error: expected an identifier
template<typename... _UElements>
^
/usr/include/c++/4.3.2/tr1/tuple(153): error: identifier "_UElements" is
undefined
operator=(const tuple<_UElements...>& __in)
^
/usr/include/c++/4.3.2/tr1/tuple(153): error: expected a ">"
operator=(const tuple<_UElements...>& __in)
^
/usr/include/c++/4.3.2/tr1/tuple(167): error: too few arguments for class
template "std::tr1::tuple"
template<> class tuple<> { };
^
/usr/include/c++/4.3.2/tr1/tuple(171): error: type name is not allowed
class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2>
^
/usr/include/c++/4.3.2/tr1/tuple(171): error: too many arguments for class
template "std::tr1::tuple"
class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2>
^
/usr/include/c++/4.3.2/tr1/tuple(232): error: expected an identifier
template<int __i, typename _Head, typename... _Tail>
^
/usr/include/c++/4.3.2/tr1/tuple(233): error: type name is not allowed
struct tuple_element<__i, tuple<_Head, _Tail...> >
^
/usr/include/c++/4.3.2/tr1/tuple(233): error: too many arguments for class
template "std::tr1::tuple"
struct tuple_element<__i, tuple<_Head, _Tail...> >
^
/usr/include/c++/4.3.2/tr1/tuple(239): error: expected an identifier
template<typename _Head, typename... _Tail>
^
/usr/include/c++/4.3.2/tr1/tuple(240): error: type name is not allowed
struct tuple_element<0, tuple<_Head, _Tail...> >
^
/usr/include/c++/4.3.2/tr1/tuple(240): error: too many arguments for class
template "std::tr1::tuple"
struct tuple_element<0, tuple<_Head, _Tail...> >
^
/usr/include/c++/4.3.2/tr1/tuple(240): error: invalid partial
specialization -- class "std::tr1::tuple_element<0, <error-type>>" is
already fully specialized
struct tuple_element<0, tuple<_Head, _Tail...> >
^
/usr/include/c++/4.3.2/tr1/tuple(250): error: expected an identifier
template<typename... _Elements>
^
/usr/include/c++/4.3.2/tr1/tuple(251): error: expected a ">"
struct tuple_size<tuple<_Elements...> >
^
/usr/include/c++/4.3.2/tr1/tuple(251): error: invalid partial
specialization -- class "std::tr1::tuple_size<<error-type>>" is already
fully specialized
struct tuple_size<tuple<_Elements...> >
^
/usr/include/c++/4.3.2/tr1/tuple(256): error: expected an identifier
template<typename... _Elements>
^
/usr/include/c++/4.3.2/tr1/tuple(257): error: expected a ">"
const int tuple_size<tuple<_Elements...> >::value;
^
/usr/include/c++/4.3.2/tr1/tuple(257): error: incomplete type is not allowed
const int tuple_size<tuple<_Elements...> >::value;
^
/usr/include/c++/4.3.2/tr1/tuple(259): error: expected an identifier
template<int __i, typename _Head, typename... _Tail>
^
/usr/include/c++/4.3.2/tr1/tuple(261): error: type name is not allowed
__get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t)
^
/usr/include/c++/4.3.2/tr1/tuple(261): error: too many arguments for class
template "std::tr1::_Tuple_impl"
__get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t)
^
/usr/include/c++/4.3.2/tr1/tuple(266): error: expected an identifier
template<int __i, typename _Head, typename... _Tail>
^
/usr/include/c++/4.3.2/tr1/tuple(268): error: type name is not allowed
__get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t)
^
/usr/include/c++/4.3.2/tr1/tuple(268): error: too many arguments for class
template "std::tr1::_Tuple_impl"
__get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t)
^
/usr/include/c++/4.3.2/tr1/tuple(275): error: expected an identifier
template<int __i, typename... _Elements>
^
/usr/include/c++/4.3.2/tr1/tuple(277): error: expected a ">"
typename tuple_element<__i, tuple<_Elements...> >::type
^
/usr/include/c++/4.3.2/tr1/tuple(279): error: expected a ">"
get(tuple<_Elements...>& __t)
^
/usr/include/c++/4.3.2/tr1/tuple(284): error: expected an identifier
template<int __i, typename... _Elements>
^
/usr/include/c++/4.3.2/tr1/tuple(286): error: expected a ">"
typename tuple_element<__i, tuple<_Elements...> >::type
^
/usr/include/c++/4.3.2/tr1/tuple(288): error: expected a ">"
get(const tuple<_Elements...>& __t)
^
/usr/include/c++/4.3.2/tr1/tuple(325): error: expected an identifier
template<typename... _TElements, typename... _UElements>
^
/usr/include/c++/4.3.2/tr1/tuple(325): error: expected an identifier
template<typename... _TElements, typename... _UElements>
^
/usr/include/c++/4.3.2/tr1/tuple(327): error: identifier "_TElements" is
undefined
operator==(const tuple<_TElements...>& __t,
^
/usr/include/c++/4.3.2/tr1/tuple(327): error: expected a ">"
operator==(const tuple<_TElements...>& __t,
^
/usr/include/c++/4.3.2/tr1/tuple(328): error: identifier "_UElements" is
undefined
const tuple<_UElements...>& __u)
^
/usr/include/c++/4.3.2/tr1/tuple(328): error: expected a ">"
const tuple<_UElements...>& __u)
^
/usr/include/c++/4.3.2/tr1/tuple(327): error: nonmember operator requires a
parameter with class or enum type
operator==(const tuple<_TElements...>& __t,
^
/usr/include/c++/4.3.2/tr1/tuple(336): error: expected an identifier
template<typename... _TElements, typename... _UElements>
^
/usr/include/c++/4.3.2/tr1/tuple(336): error: expected an identifier
template<typename... _TElements, typename... _UElements>
^
/usr/include/c++/4.3.2/tr1/tuple(338): error: identifier "_TElements" is
undefined
operator<(const tuple<_TElements...>& __t,
^
/usr/include/c++/4.3.2/tr1/tuple(338): error: expected a ">"
operator<(const tuple<_TElements...>& __t,
^
/usr/include/c++/4.3.2/tr1/tuple(339): error: identifier "_UElements" is
undefined
const tuple<_UElements...>& __u)
^
/usr/include/c++/4.3.2/tr1/tuple(339): error: expected a ">"
const tuple<_UElements...>& __u)
^
/usr/include/c++/4.3.2/tr1/tuple(338): error: nonmember operator requires a
parameter with class or enum type
operator<(const tuple<_TElements...>& __t,
^
/usr/include/c++/4.3.2/tr1/tuple(347): error: expected an identifier
template<typename... _TElements, typename... _UElements>
^
/usr/include/c++/4.3.2/tr1/tuple(347): error: expected an identifier
template<typename... _TElements, typename... _UElements>
^
/usr/include/c++/4.3.2/tr1/tuple(349): error: identifier "_TElements" is
undefined
operator!=(const tuple<_TElements...>& __t,
^
/usr/include/c++/4.3.2/tr1/tuple(349): error: expected a ">"
operator!=(const tuple<_TElements...>& __t,
^
/usr/include/c++/4.3.2/tr1/tuple(350): error: identifier "_UElements" is
undefined
const tuple<_UElements...>& __u)
^
/usr/include/c++/4.3.2/tr1/tuple(350): error: expected a ">"
const tuple<_UElements...>& __u)
^
/usr/include/c++/4.3.2/tr1/tuple(349): error: nonmember operator requires a
parameter with class or enum type
operator!=(const tuple<_TElements...>& __t,
^
/usr/include/c++/4.3.2/tr1/tuple(353): error: expected an identifier
template<typename... _TElements, typename... _UElements>
^
/usr/include/c++/4.3.2/tr1/tuple(353): error: expected an identifier
template<typename... _TElements, typename... _UElements>
^
/usr/include/c++/4.3.2/tr1/tuple(355): error: identifier "_TElements" is
undefined
operator>(const tuple<_TElements...>& __t,
^
/usr/include/c++/4.3.2/tr1/tuple(355): error: expected a ">"
operator>(const tuple<_TElements...>& __t,
^
/usr/include/c++/4.3.2/tr1/tuple(356): error: identifier "_UElements" is
undefined
const tuple<_UElements...>& __u)
^
/usr/include/c++/4.3.2/tr1/tuple(356): error: expected a ">"
const tuple<_UElements...>& __u)
^
/usr/include/c++/4.3.2/tr1/tuple(355): error: nonmember operator requires a
parameter with class or enum type
operator>(const tuple<_TElements...>& __t,
^
/usr/include/c++/4.3.2/tr1/tuple(359): error: expected an identifier
template<typename... _TElements, typename... _UElements>
^
/usr/include/c++/4.3.2/tr1/tuple(359): error: expected an identifier
template<typename... _TElements, typename... _UElements>
^
/usr/include/c++/4.3.2/tr1/tuple(361): error: identifier "_TElements" is
undefined
operator<=(const tuple<_TElements...>& __t,
^
/usr/include/c++/4.3.2/tr1/tuple(361): error: expected a ">"
operator<=(const tuple<_TElements...>& __t,
^
/usr/include/c++/4.3.2/tr1/tuple(362): error: identifier "_UElements" is
undefined
const tuple<_UElements...>& __u)
^
/usr/include/c++/4.3.2/tr1/tuple(362): error: expected a ">"
const tuple<_UElements...>& __u)
^
/usr/include/c++/4.3.2/tr1/tuple(361): error: nonmember operator requires a
parameter with class or enum type
operator<=(const tuple<_TElements...>& __t,
^
/usr/include/c++/4.3.2/tr1/tuple(365): error: expected an identifier
template<typename... _TElements, typename... _UElements>
^
/usr/include/c++/4.3.2/tr1/tuple(365): error: expected an identifier
template<typename... _TElements, typename... _UElements>
^
/usr/include/c++/4.3.2/tr1/tuple(367): error: identifier "_TElements" is
undefined
operator>=(const tuple<_TElements...>& __t,
^
/usr/include/c++/4.3.2/tr1/tuple(367): error: expected a ">"
operator>=(const tuple<_TElements...>& __t,
^
/usr/include/c++/4.3.2/tr1/tuple(368): error: identifier "_UElements" is
undefined
const tuple<_UElements...>& __u)
^
/usr/include/c++/4.3.2/tr1/tuple(368): error: expected a ">"
const tuple<_UElements...>& __u)
^
/usr/include/c++/4.3.2/tr1/tuple(367): error: nonmember operator requires a
parameter with class or enum type
operator>=(const tuple<_TElements...>& __t,
^
/usr/include/c++/4.3.2/tr1/tuple(393): error: expected an identifier
template<typename... _Elements>
^
/usr/include/c++/4.3.2/tr1/tuple(394): error: "_Elements" is not a type name
inline tuple<typename __strip_reference_wrapper<_Elements>::__type...>
^
/usr/include/c++/4.3.2/tr1/tuple(394): error: type name is not allowed
inline tuple<typename __strip_reference_wrapper<_Elements>::__type...>
^
/usr/include/c++/4.3.2/tr1/tuple(394): error: expected a ">"
inline tuple<typename __strip_reference_wrapper<_Elements>::__type...>
^
/usr/include/c++/4.3.2/tr1/tuple(395): error: "make_tuple" is not a
function or static data member
make_tuple(_Elements... __args)
^
/usr/include/c++/4.3.2/tr1/tuple(395): error: expected a ";"
make_tuple(_Elements... __args)
^
/usr/include/c++/4.3.2/tr1/tuple(422): error: identifier "_Swallow_assign"
is undefined
_Swallow_assign ignore;
^
../include/gtest/internal/gtest-param-util-generated.h(2670): error: type
name is not allowed
: public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2> > {
^
../include/gtest/internal/gtest-param-util-generated.h(2670): error: too
many arguments for class template "std::tr1::tuple"
: public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2> > {
^
../include/gtest/internal/gtest-param-util-generated.h(2672): error: type
name is not allowed
typedef ::std::tr1::tuple<T1, T2> ParamType;
^
../include/gtest/internal/gtest-param-util-generated.h(2672): error: too
many arguments for class template "std::tr1::tuple"
typedef ::std::tr1::tuple<T1, T2> ParamType;
^
../include/gtest/internal/gtest-param-util-generated.h(2779): error: type
name is not allowed
: public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3> > {
^
compilation aborted for ../samples/sample1_unittest.cc (code 4)
gmake: *** [sample1_unittest.o] Error 4
Original issue reported on code.google.com by Sardathr...@gmail.com on 14 Jan 2009 at 10:40
Original issue reported on code.google.com by
Sardathr...@gmail.com
on 14 Jan 2009 at 10:40