Problem in hfa_element_mode for IA64

Richard Kenner kenner@vlsi1.ultra.nyu.edu
Sun Mar 31 14:13:00 GMT 2002


Consider the following tiny Ada program (this can't be reproduced in C
since we don't have arguments of ARRAY_TYPE):

procedure Tbg0331 is
   type Arr1 is array (1..1) of Float;
   procedure Foo (X: Arr1);
   pragma Import (Ada, Foo);
   X: Arr1;
begin
   Foo (X);
end Tbg0331;

This blows up because hfa_element_mdoe when applied to type Arr1 says
it's SFmode since it's an array of SFmode.

But Arr1 is SImode since layout_type sets its mode to an integer mode.

So we try to call emit_move_insn with SFmode output and SImode input
and that aborts.

Who's wrong here?



More information about the Gcc mailing list