This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Target FUNCTION_{PRO,EPI}LOGUE question


Laurent Guerby <guerby@acm.org> writes:

> Florian Weimer <Florian.Weimer@RUS.Uni-Stuttgart.DE>:
> > Actually, there are some obscure cases in which universal integers
> > exist during run time, and they can even be larger than a machine word
> > (but on usual architectures, you only need three additional bits, so GNU
> > MP is certainly overkill).
> 
> I'm surprised by this statement, I believe all runtime computations
> are done with T'Base which is implementation defined and will probably
> match a machine supported size (but of course could be using GMP).
> 
> Could you point out an AI or relevant documents on your obscure cases?

The value of the Size attribute is of type univeral_integer.  If you
compare the values of the Size attributes of two objects, a universal
integer exist at run time.  Since the size of an object is counted in
bits.  Therefore, on typical architectures, you need three more bits
than a machine word can store to represent all possible values of the
Size attribute.

(A few months ago, some person reported the problem on comp.lang.ada,
so people are really affected by this.)

-- 
Florian Weimer 	                  Florian.Weimer@RUS.Uni-Stuttgart.DE
University of Stuttgart           http://cert.uni-stuttgart.de/
RUS-CERT                          +49-711-685-5973/fax +49-711-685-5898


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]