This is the mail archive of the
mailing list for the GCC project.
r242862 - in /trunk/gcc: ChangeLog config/rs600...
- From: rsandifo at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Fri, 25 Nov 2016 08:20:40 -0000
- Subject: r242862 - in /trunk/gcc: ChangeLog config/rs600...
Date: Fri Nov 25 08:20:40 2016
New Revision: 242862
Set mode of decimal floats before calling layout_type
Previously decimal floating-point types were created and laid
out as binary floating-point types, then the caller changed
the mode to a decimal mode later. The problem with that
approach is that not all targets support an equivalent binary
floating-point mode. When they didn't, we would give the
type BLKmode and lay it out as a zero-sized type.
This probably had no effect in practice. If a target doesn't
support a binary mode then it's unlikely to support the decimal
equivalent either. However, with the stricter mode checking
added by later patches, we would assert if a scalar floating-
point type didn't have a scalar floating-point mode.
2016-11-16 Richard Sandiford <firstname.lastname@example.org>
Alan Hayward <email@example.com>
David Sherwood <firstname.lastname@example.org>
* stor-layout.c (layout_type): Allow the caller to set the mode of
a float type. Only choose one here if the mode is still VOIDmode.
* tree.c (build_common_tree_nodes): Set the type mode of decimal
floats before calling layout_type.
* config/rs6000/rs6000.c (rs6000_init_builtins): Likewise.