https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56365
--- Comment #4 from Oleg Endo <olegendo at gcc dot gnu.org> ---
As of r213381 this problem still exists.
compiled as C 003t.original:
;; Function min (null)
;; enabled by -tree-original
{
return MIN_EXPR <b, a>;
}
;; Function max (null)
;; enabled by -tree-original
{
return MAX_EXPR <a, b>;
}
;; Function test_04 (null)
;; enabled by -tree-original
{
return max (-128, min (127, a));
}
compiled as C++ 003t.original:
;; Function int min(int, int) (null)
;; enabled by -tree-original
return <retval> = a < b ? a : b;
;; Function int max(int, int) (null)
;; enabled by -tree-original
return <retval> = a < b ? b : a;
;; Function int test_04(int, int) (null)
;; enabled by -tree-original
<<cleanup_point return <retval> = max (-128, min (127, a))>>;