comp.lang.ada
 help / color / mirror / Atom feed
From: "Marin David Condic" <dont.bother.mcondic.auntie.spam@[acm.org>
Subject: Representation Clauses That Used To Work On Gnat 3.13p
Date: Wed, 6 Mar 2002 16:04:30 -0500
Date: 2002-03-06T21:04:36+00:00	[thread overview]
Message-ID: <a66094$716$1@nh.pace.co.uk> (raw)

Testing some stuff I used to have working using Gnat 3.13p on a PC/NT
machine, I discovered a representation clause that chokes on Gnat 3.14p. I'm
wondering if possibly I am doing something wrong. The following code
illustrates this:

package Test_It is
    --  Issues warning:
    --  test_it.ads:5:27: warning: 32 bits of "Float_96" unused
    type Float_96 is digits 18 ;
    for Float_96'Size use 96 ;
    --  Issues error:
    --  test_it.ads:9:46: size for "Float_96" too small, minimum allowed is
128
    type Vector_96 is array (Integer range <>) of Float_96 ;
    for Vector_96'Component_Size use Float_96'Size ;
    pragma Pack (Vector_96) ;
end Test_It ;

It used to be that Gnat stored an 80 bit IEEE floating point number using 96
bits & the above would compile on a PC (but not necessarily elsewhere.) Now
it seems to require 128 bits & I'm wondering if getting the original 96 bits
just requires some different/additional representation clauses or if it is
just plain impossible.

BTW: If it really used all 128 bits for computation, that would be fun. But
since its only using 80 of them, it seems like a lot of wasted space... Does
this speed things up any on an x86?

MDC

--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/






                 reply	other threads:[~2002-03-06 21:04 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox