===================================================================
@@ -3586,7 +3586,8 @@ build_user_type_conversion_1 (tree totype, tree ex
/* It's OK to bind a temporary for converting constructor arguments, but
not in converting the return value of a conversion operator. */
- convflags = ((flags & LOOKUP_NO_TEMP_BIND) | LOOKUP_NO_CONVERSION);
+ convflags = ((flags & LOOKUP_NO_TEMP_BIND) | LOOKUP_NO_CONVERSION
+ | (flags & LOOKUP_NO_NARROWING));
flags &= ~LOOKUP_NO_TEMP_BIND;
if (ctors)
===================================================================
@@ -5755,6 +5755,7 @@ check_initializer (tree decl, tree init, int flags
}
else
{
+ flags |= LOOKUP_NO_NARROWING;
init = reshape_init (type, init, tf_warning_or_error);
if (SCALAR_TYPE_P (type))
check_narrowing (type, init);