comp.lang.ada
 help / color / mirror / Atom feed
* clarification of ARM  12.3 Generic Instantiation
@ 2005-03-24 13:36 Christopher Broeg
  2005-04-11 11:25 ` Marius Amado Alves
  0 siblings, 1 reply; 3+ messages in thread
From: Christopher Broeg @ 2005-03-24 13:36 UTC (permalink / raw)


Hello,

I am having problems understanding the following sentence in the ARM:

  12.3 Generic Instantiation

Post-Compilation Rules
19  "Recursive generic instantiation is not allowed in the following 
sense: if a given generic unit includes an instantiation of a second 
generic unit, then the instance generated by this instantiation shall 
not include an instance of the first generic unit (whether this instance 
is generated directly, or indirectly by intermediate instantiations)."


Is it thus allowed to have a generic package A
that instantiates the generic packages B and C
when package C also instantiates package B?


I am experiencing very strange behaviour and I am having a rather 
complicated nested generic instantiation structure.
A spline package is used to interpolate several tabulated functions 
which are then combined and again tabulated in an array which is again 
interpolated.

Running the above in a seperate test program works fine. When I include 
it in my large code, the result is radom. Sometimes it works, sometimes 
the numbers are wrong and sometimes the numbers are even NaN values. 
This all depends on the array dimensions say 100x100 or 1000x1000 might 
work and 300x200 crashes. Further it depends on the floating point type. 
digits 18 crashes often, but long_float and even float fails in some cases.

I am compiling using GNAT Academic verision.
I tried -fstack-check and elaboration order. Everything seems fine.

Sorry if I am confusing but this is all very hard to explain.

thanks for any help,

Chris



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2005-04-12 12:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-03-24 13:36 clarification of ARM 12.3 Generic Instantiation Christopher Broeg
2005-04-11 11:25 ` Marius Amado Alves
2005-04-12 12:32   ` Christopher Broeg

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