"Daniel Norte Moraes" wrote in message news:378bc69a-8388-4daf-b13f-523fd1defa12n@googlegroups.com... >Em terça-feira, 4 de janeiro de 2022 às 10:52:42 UTC-3, Fabien Chouteau >escreveu: >> On Friday, December 31, 2021 at 5:13:33 PM UTC+1, daniel...@gmail.com >> wrote: >> > For this reason, if really 'is' pure, not pure, preelaborate or what >> > (?), pleeeeeeaaase, we ask the group's Ada Language Lawyers to help >> > analyze and suggest modifications if necessary. >> I recommend reading this: >> https://stackoverflow.com/questions/19353228/when-to-use-pragma-pure-preelaborate >> >> If your units are declared as Pure, the compiler considers that they have >> no side effect and can decided to call the sub-programs only once and >> cache the result, or not even call the sub-program if the result is not >> used after. >Thanks! >I read the post and believe that because most variables are either streamed >or aliased and imported, lib works as it should. >However, there is still the possible problem of omitting the same >subprograms with the same parameters (by compiler), although in the tests >this did not happen, would replacing aspect 'pure' by 'preelaborate' solve >this possible problem? Yes. The permission to omit calls only applies to Pure (see 10.2.1(18/3)). http://www.ada-auth.org/standards/2xaarm/html/AA-10-2-1.html#p18. (I gave a reference to the Ada 2022 AARM, but this rule hasn't changed in spirit since it was introduced in Ada 95.) Randy.