[Bug c++/48015] [4.6 Regression] [C++0x] ICE: unexpected expression 'std::min' of kind overload
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Mar 7 15:16:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48015
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|ICE: unexpected expression |[4.6 Regression] [C++0x]
|'std::min' of kind overload |ICE: unexpected expression
| |'std::min' of kind overload
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-03-07 15:16:10 UTC ---
reduced form below shows it's a regression since 4.5, only an ICE with C++0x -
appears to be due to C++0x constexpr support
namespace std
{
template<typename T>
T min(const T& l, const T& r)
{
return l < r ? l : r;
}
}
using namespace std;
int f();
void g(const int&);
template <typename T>
static
void
call_operator ( )
{
int const a = f();
int const b = f();
int const c = min (a, b);
g (c - 0); // ICE
}
More information about the Gcc-bugs
mailing list