I'm trying to use fairly recent GCC sources (the gcc-darwin branch to be
precise) to build Ada, starting with the latest (2020) release of Gnat from
Adacore.
It fails for several reasons. One is that two source files use [ ] for array
initializer brackets when ( ) is apparently supposed to be used instead. Once
I fix that, I get a pile of messages I don't know what to do about:
s-imagei.ads:95:11: declare_expression is an Ada 2020 feature
s-valueu.ads:152:09: declare_expression is an Ada 2020 feature
s-valueu.ads:160:09: declare_expression is an Ada 2020 feature
s-valueu.ads:184:06: "Subprogram_Variant" is not a valid aspect identifier
s-valuei.ads:80:11: declare_expression is an Ada 2020 feature
s-valuei.ads:95:08: declare_expression is an Ada 2020 feature
s-valuei.ads:141:06: "Subprogram_Variant" is not a valid aspect identifier
s-widthu.ads:84:09: declare_expression is an Ada 2020 feature
s-widthu.ads:93:11: run-time library configuration error
s-widthu.ads:93:11: file s-imgint.ads had parser errors
s-widthu.ads:93:11: entity "System.Img_Int.Image_Integer" not available
compilation abandoned
make[2]: *** [ada/contracts.o] Error 1
Given that the current open source Gnat is from 2020, so (apparently) it
doesn't support Ada 2020 features, how is someone supposed to build the current
GCC? I looked in the prerequisites listing on the webpage, but it says that
the Gnat that is built on GCC 5.1 is sufficient. That seems to be wrong; the
GCC in Gnat 2020 is 8.4.1 and it is apparently too old to work.
paul