On Wed, 29 Jul 2015, EGarrulo wrote: > Thanks. However, my understanding is that the inlining is > unpredictable. According to the RM 6.3.2 (emphasis mine): > > "**For each call**, an implementation is free to follow or to ignore the > recommendation determined by the Inline aspect. " Well, yes! There are plenty of stupid things an Ada compiler can do, without formally violating the standard. Such as raising Storage_Error, when adding two integers. But usually, the maintainers of Ada compilers try to avoid stupid behavior. A compiler is not required to support inlining and dead code elimination -- and I seem to recall that gnat needs to be "pushed" doing that by turning on optimization (at least -O1). But when a compiler does inlining and dead code elimination at all, I would be shocked if it would not actually inline and eliminate where this is obvioulsly applicable, as in the Debug.Trace example. -------- I love the taste of Cryptanalysis in the morning! -------- www.uni-weimar.de/de/medien/professuren/mediensicherheit/people/stefan-lucks ----Stefan.Lucks (at) uni-weimar.de, Bauhaus-Universität Weimar, Germany----