From: Kaz Kojima Date: Sat, 27 Sep 2008 22:12:08 +0000 (+0000) Subject: sh.c (sh_gimplify_va_arg_expr): Use VIEW_CONVERT_EXPR if needed. X-Git-Tag: releases/gcc-4.4.0~2239 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f2a945b1b80c53db81428bd09da4212dfb16487a;p=thirdparty%2Fgcc.git sh.c (sh_gimplify_va_arg_expr): Use VIEW_CONVERT_EXPR if needed. * config/sh/sh.c (sh_gimplify_va_arg_expr): Use VIEW_CONVERT_EXPR if needed. From-SVN: r140724 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9b32387518de..8782ad273745 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2008-09-27 Kaz Kojima + + * config/sh/sh.c (sh_gimplify_va_arg_expr): Use VIEW_CONVERT_EXPR + if needed. + 2008-09-26 Vladimir Makarov Revert: diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index fdd98937f8c4..533d28c53a84 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -7385,7 +7385,9 @@ sh_gimplify_va_arg_expr (tree valist, tree type, gimple_seq *pre_p, = std_gimplify_va_arg_expr (next_fp_tmp, subtype, pre_p, NULL); real = get_initialized_tmp_var (real, pre_p, NULL); - result = build2 (COMPLEX_EXPR, type, real, imag); + result = build2 (COMPLEX_EXPR, eff_type, real, imag); + if (type != eff_type) + result = build1 (VIEW_CONVERT_EXPR, type, result); result = get_initialized_tmp_var (result, pre_p, NULL); } #endif /* FUNCTION_ARG_SCmode_WART */