[Ada] T'Image calls T'Put_Image
authorBob Duff <duff@adacore.com>
Tue, 31 Mar 2020 22:59:11 +0000 (18:59 -0400)
committerPierre-Marie de Rodat <derodat@adacore.com>
Mon, 15 Jun 2020 08:04:38 +0000 (04:04 -0400)
commitacc20d256c51f394904b904e8a8ceea3a44855fc
treeb11a3f53620fa45fafdb068a26d75ac2412a3f66
parent2b20de3abdb894c847d2741f35910d584c8f699a
[Ada] T'Image calls T'Put_Image

2020-06-15  Bob Duff  <duff@adacore.com>

gcc/ada/

* exp_put_image.ads, exp_put_image.adb
(Image_Should_Call_Put_Image): New function to determine whether
the call to Put_Image should be generated.
(Build_Image_Call): New procedure to generate the call to
Put_Image.
* exp_imgv.adb (Expand_Image_Attribute): Use underlying types to
bypass privacy (only in Ada 2020). If
Image_Should_Call_Put_Image is True (which happens only in Ada
2020), then call Build_Image_Call.
* rtsfind.ads, rtsfind.adb: Add the necessary declarations in
Ada.Strings.Text_Output.Buffers.
* sem_attr.adb (Check_Image_Type): Enable the Ada 2020 case.
* libgnat/a-stoufo.ads, libgnat/a-stoufo.adb: Use the less
restrictive type that allows newline characters.
gcc/ada/exp_imgv.adb
gcc/ada/exp_put_image.adb
gcc/ada/exp_put_image.ads
gcc/ada/libgnat/a-stoufo.adb
gcc/ada/libgnat/a-stoufo.ads
gcc/ada/rtsfind.adb
gcc/ada/rtsfind.ads
gcc/ada/sem_attr.adb