Jan 17th, 2017
Relaxed and strict secondary stack management
The compiler now employs two different schemes of managing the secondary stack - relaxed and strict. In relaxed mode, a context which uses the secondary stack will no longer manage it if there exists an enclosing construct which already does that. This behavior cannot propagate beyond packages and subprograms. Relaxed mode is the default mode of secondary stack management. In strict mode, any context which uses the secondary stack will manage it unconditionally. This behavior can be enabled by switch -gnatd.s.