https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62256
Bug ID: 62256
Summary: /usr/include/c++/4.8/tr1/random.tcc:792:2: error: no
matching function for call to 'min'
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: major
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: wangn at ca dot ibm.com
use g++ to compile perennial test case TR19768/P95252.scenario fails. seems
related to header file.
source code:
$ cat t.cpp
#include
typedef std::tr1::xor_combine< std::tr1::subtract_with_carry, 8, std::tr1::subtract_with_carry, 2 > type01;
/**/
int main(void)
{
type01 cl01;
return 0;
}
how to reproduce:
g++ -c t.cpp
actual output:
In file included from /usr/include/c++/4.8/tr1/random:48:0,
from t.cpp:1:
/usr/include/c++/4.8/tr1/random.tcc: In instantiation of âvoid
std::tr1::xor_combine<_UniformRandomNumberGenerator1, __s1,
_UniformRandomNumberGenerator2, __s2>::_M_initialize_max() [with
_UniformRandomNumberGenerator1 = std::tr1::subtract_with_carry; int __s1 = 8; _UniformRandomNumberGenerator2 =
std::tr1::subtract_with_carry; int __s2 = 2]â:
/usr/include/c++/4.8/tr1/random.h:1324:27: required from
âstd::tr1::xor_combine<_UniformRandomNumberGenerator1, __s1,
_UniformRandomNumberGenerator2, __s2>::xor_combine() [with
_UniformRandomNumberGenerator1 = std::tr1::subtract_with_carry; int __s1 = 8; _UniformRandomNumberGenerator2 =
std::tr1::subtract_with_carry; int __s2 = 2]â
t.cpp:8:12: required from here
/usr/include/c++/4.8/tr1/random.tcc:793:58: error: no matching function for
call to âmin(std::tr1::xor_combine, 8, std::tr1::subtract_with_carry,
2>::result_type, int)â
__detail::_Shift::__value - 1);
^
/usr/include/c++/4.8/tr1/random.tcc:793:58: note: candidates are:
In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0,
from /usr/include/c++/4.8/string:40,
from /usr/include/c++/4.8/tr1/random:38,
from t.cpp:1:
/usr/include/c++/4.8/bits/stl_algobase.h:193:5: note: template const
_Tp& std::min(const _Tp&, const _Tp&)
min(const _Tp& __a, const _Tp& __b)
^
/usr/include/c++/4.8/bits/stl_algobase.h:193:5: note: template argument
deduction/substitution failed:
In file included from /usr/include/c++/4.8/tr1/random:48:0,
from t.cpp:1:
/usr/include/c++/4.8/tr1/random.tcc:793:58: note: deduced conflicting types
for parameter âconst _Tpâ (âshort intâ and âintâ)
__detail::_Shift::__value - 1);
^
In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0,
from /usr/include/c++/4.8/string:40,
from /usr/include/c++/4.8/tr1/random:38,
from t.cpp:1:
/usr/include/c++/4.8/bits/stl_algobase.h:239:5: note: template const _Tp& std::min(const _Tp&, const _Tp&, _Compare)
min(const _Tp& __a, const _Tp& __b, _Compare __comp)
^
/usr/include/c++/4.8/bits/stl_algobase.h:239:5: note: template argument
deduction/substitution failed:
In file included from /usr/include/c++/4.8/tr1/random:48:0,
from t.cpp:1:
/usr/include/c++/4.8/tr1/random.tcc:793:58: note: deduced conflicting types
for parameter âconst _Tpâ (âshort intâ and âintâ)
__detail::_Shift::__value - 1);
^
/usr/include/c++/4.8/tr1/random.tcc:797:58: error: no matching function for
call to âmin(std::tr1::xor_combine, 8, std::tr1::subtract_with_carry,
2>::result_type, int)â
__detail::_Shift::__value - 1);
^
/usr/include/c++/4.8/tr1/random.tcc:797:58: note: candidates are:
In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0,
from /usr/include/c++/4.8/string:40,
from /usr/include/c++/4.8/tr1/random:38,
from t.cpp:1:
/usr/include/c++/4.8/bits/stl_algobase.h:193:5: note: template const
_Tp& std::min(const _Tp&, const _Tp&)
min(const _Tp& __a, const _Tp& __b)
^
/usr/include/c++/4.8/bits/stl_algobase.h:193:5: note: template argument
deduction/substitution failed:
In file included from /usr/include/c++/4.8/tr1/random:48:0,
from t.cpp:1:
/usr/include/c++/4.8/tr1/random.tcc:797:58: note: deduced conflicting types
for parameter âconst _Tpâ (âshort intâ and âintâ)
__detail::_Shift::__value - 1);
^
In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0,
from /usr/include/c++/4.8/string:40,
from /usr/include/c++/4.8/tr1/