]> git.ipfire.org Git - thirdparty/gcc.git/commit
ada: Support Put_Image for types in user-defined instances of predefined generics.
authorSteve Baird <baird@adacore.com>
Tue, 14 Nov 2023 22:34:47 +0000 (14:34 -0800)
committerMarc Poulhiès <poulhies@adacore.com>
Thu, 30 Nov 2023 10:12:49 +0000 (11:12 +0100)
commit262229e1e61c5130c7d5f1b4fa4e77ff60c9bc86
treee78bbc74048e70d16af305c84a60ff1f0af0bf7b
parent1029b95079a073bba17d5e39029287e1e9600021
ada: Support Put_Image for types in user-defined instances of predefined generics.

Predefined units do not generally support the Put_Image attribute.
There are good reasons for this in most cases. But if a user-defined
instantiation of a predefined generic occurs in Ada 2022 code, then
Put_Image can be supported for types declared therein. Add this support.

gcc/ada/

* exp_put_image.adb (Put_Image_Enabled): Return True in more
cases. In particular, when testing to see if a type occurs in a
predefined unit, test the type's code unit
(obtained by calling Get_Code_Unit). In the case of type within a
user-defined instance of a predefined generic, Is_Predefined_Unit
will return True for the type and False for the type's code unit.
gcc/ada/exp_put_image.adb