I wonder. Is gnatd.v a better option than
pragma preelaborate
Is preelaborate more compiler portable? Though I do not use the features that it protects against such as dynamic dispatch, so it is simply an unneeded restriction for me with Gnat. However gnatd.v seems to offer more such as in regard to uninitialised variables? Assuming it works as I had no compile issues .
see 7.7
https://docs.adacore.com/spark2014-docs/html/lrm/packages.html