Closed simonjwright closed 1 year ago
Well, in spite of those dire warnings, the demo/
examples ran fine.
You could decorate type Exported_Procedure
with with Size => Standard’Address_Size
, but that looks quite GNAT-specific.
My attempt to concoct a demonstrator failed, even with your GPR and all the compilation switches!
Thanks for the test! Regarding the first GNAT warning, it is legitimate: the range is actually empty.
subtype Compile_Warning is Compile_Diagnostic
range Compile_Diagnostic'Succ (err_obsolete_hat_name) .. err_obsolete_hat_name;
-- ^ Fake, just, currently, an empty range!
This will heal with the appearance of the first kind of HAC warning (funny linguistic situation BTW: warnings about warnings). The second one is a GNAT bug, spotted on Zip-Ada as well. The third batch could be solved Address_To_Access conversions (I think there is a standard Ada.* package for that).
Regarding the Address issue (be it on GNAT's side or not), I have replaced the use of System.Address by an access : https://github.com/zertovitch/hac/commit/18ada18ab84a7e559a4eef3acddff454b7717169 . Does it prevent the warnings?
Does it prevent the warnings?
Yes, and the demo/
examples run OK.
Now with the appearance of the first HAC warning kind, the last GNAT 14.0.0 warning is the GNAT bug mentioned above.
This is on macOS aarch64-apple-darwin, with GCC 14.0.0 20230820 (experimental):
Using gnat-llvm, built from the same compiler sources, these additional warnings are given:
which have to be the result of different code generation. Will try to cook up a small demonstrator for Adacore.