------- Comment #1 from laurent at guerby dot net 2008-07-25 19:52 ------- AFloat : constant Boolean := Long_Float'Size = 48 and Long_Long_Float'Size = 48; -- Set True if we are on an AAMP with 48-bit extended floating point
type ByteLF is array (0 .. 7 - 2 * Boolean'Pos (AFloat)) of Byte1; IV_Ilf : aliased ByteLF; -- Initialize long float for IV_Ilf'Address use IS_Ilf'Address; IS_Ilf : aliased Long_Float := 0.0; -- Initialize long float This tells us s-scaval.adb assumes long_float is at least 64 bits, but it seems to be 32 bits for sh target. Only long_long_float seems to be 64 bits on sh and this also breaks another assumption made a few lines below, that is that we are on ... x86 :) EFloat : constant Boolean := Long_Long_Float'Size > Long_Float'Size; -- Set True if we are on an x86 with 96-bit floats for extended -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36939