This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Another bogus change
- To: kenner at vlsi1 dot ultra dot nyu dot edu
- Subject: Another bogus change
- From: Mark Mitchell <mark at codesourcery dot com>
- Date: Sun, 31 Oct 1999 19:42:51 -0800
- Cc: gcc-bugs at gcc dot gnu dot org
- Reply-to: mark at codesourcery dot com
This change:
Thu Oct 28 18:06:50 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* stmt.c (expand_value_return): Correctly convert VAL when
promoting function return; support RETURN_REG being a
PARALLEL.
is wrong.
if (return_reg != val)
{
#ifdef PROMOTE_FUNCTION_RETURN
tree type = TREE_TYPE (DECL_RESULT (current_function_decl));
int unsignedp = TREE_UNSIGNED (type);
enum machine_mode old_mode
= DECL_MODE (DECL_RESULT (current_function_decl));
enum machine_mode mode
= promote_mode (type, old_mode, &unsignedp, 1);
if (mode != old_mode)
val = convert_modes (mode, old_mode, val, unsignedp);
#endif
if (GET_CODE (return_reg) == PARALLEL)
emit_group_load (return_reg, val, int_size_in_bytes (type),
TYPE_ALIGN (type) / BITS_PER_UNIT);
Here `type' is used, but not declared, in the case that
PROMOTE_FUNCTION_RETURN is not defined. So, with this change we don't
even build the first-stage cc1 on an i686-pc-linux-gnu box.
I know you were just merging stuff from the GCC2 branch, but it still
might have been a good idea to check this stuff in in smaller,
better-tested chunks.
--
Mark Mitchell mark@codesourcery.com
CodeSourcery, LLC http://www.codesourcery.com