From: Christopher Broeg <broeg@astro.uni-jena.de>
Subject: clarification of ARM 12.3 Generic Instantiation
Date: Thu, 24 Mar 2005 14:36:55 +0100
Date: 2005-03-24T13:36:55+00:00 [thread overview]
Message-ID: <d1ufpn$dtu$1@fsuj29.rz.uni-jena.de> (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
next reply other threads:[~2005-03-24 13:36 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-24 13:36 Christopher Broeg [this message]
2005-04-11 11:25 ` clarification of ARM 12.3 Generic Instantiation Marius Amado Alves
2005-04-12 12:32 ` Christopher Broeg
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox