Hi!
On Fri, Nov 03, 2017 at 06:07:38PM -0400, Michael Meissner wrote:
> This patch fixes PR 82748, which is a compiler abort if you use the old
> __builtin_fabsq function when you are changing the long double default from
> IBM
> double-double format to IEEE.
>
> The problem is __builtin_fabsq returns a KFmode type, but when you use
> -mabi=ieeelongdouble, the float128 type is TFmode.
> --- gcc/config/rs6000/rs6000.c (revision 254357)
> +++ gcc/config/rs6000/rs6000.c (working copy)
> @@ -16109,39 +16109,11 @@ rs6000_invalid_builtin (enum rs6000_buil
> from ia64.c. */
>
> static tree
> -rs6000_fold_builtin (tree fndecl, int n_args ATTRIBUTE_UNUSED,
> - tree *args, bool ignore ATTRIBUTE_UNUSED)
> +rs6000_fold_builtin (tree fndecl ATTRIBUTE_UNUSED,
> + int n_args ATTRIBUTE_UNUSED,
> + tree *args ATTRIBUTE_UNUSED,
> + bool ignore ATTRIBUTE_UNUSED)
No extra spaces please.
If the arguments are always unused, you can simply leave out their name
(or comment the name), like
static tree
rs6000_fold_builtin (tree /*fndecl*/, int /*n_args*/, tree * /*args*/,
bool /*ignore*/)
or
static tree
rs6000_fold_builtin (tree, int, tree *, bool)
> + case FLOAT128_BUILTIN_TRUNCF128_ODD:
> + return rs6000_expand_unop_builtin (TARGET_IEEEQUAD
> + ? CODE_FOR_trunctfdf2_odd
> + : CODE_FOR_trunckfdf2_odd, exp,
> target);
The indent is wrong in this one.
Rest looks good. Okay for trunk. Thanks!
Segher