This patch implements AI12-0304. In particular, Put_Image (and
therefore 'Image) is provided for the containers and for unbounded
strings.

Tested on x86_64-pc-linux-gnu, committed on trunk

gcc/ada/

        * exp_put_image.adb (Build_Elementary_Put_Image_Call): Use the
        base type to recognize various cases of access types.
        * libgnat/a-cbdlli.adb, libgnat/a-cbdlli.ads, libgnat/a-cbhama.adb,
        libgnat/a-cbhama.ads, libgnat/a-cbhase.adb, libgnat/a-cbhase.ads,
        libgnat/a-cbmutr.adb, libgnat/a-cbmutr.ads, libgnat/a-cborma.adb,
        libgnat/a-cborma.ads, libgnat/a-cborse.adb, libgnat/a-cborse.ads,
        libgnat/a-cdlili.adb, libgnat/a-cdlili.ads, libgnat/a-cidlli.adb,
        libgnat/a-cidlli.ads, libgnat/a-cihama.adb, libgnat/a-cihama.ads,
        libgnat/a-cihase.adb, libgnat/a-cihase.ads, libgnat/a-cimutr.adb,
        libgnat/a-cimutr.ads, libgnat/a-ciorma.adb, libgnat/a-ciorma.ads,
        libgnat/a-ciormu.adb, libgnat/a-ciormu.ads, libgnat/a-ciorse.adb,
        libgnat/a-ciorse.ads, libgnat/a-coboho.adb, libgnat/a-coboho.ads,
        libgnat/a-cobove.adb, libgnat/a-cobove.ads, libgnat/a-cohama.adb,
        libgnat/a-cohama.ads, libgnat/a-cohase.adb, libgnat/a-cohase.ads,
        libgnat/a-coinho.adb, libgnat/a-coinho.ads,
        libgnat/a-coinho__shared.adb, libgnat/a-coinho__shared.ads,
        libgnat/a-coinve.adb, libgnat/a-coinve.ads, libgnat/a-comutr.adb,
        libgnat/a-comutr.ads, libgnat/a-coorma.adb, libgnat/a-coorma.ads,
        libgnat/a-coormu.adb, libgnat/a-coormu.ads, libgnat/a-coorse.adb,
        libgnat/a-coorse.ads, libgnat/a-strunb.adb, libgnat/a-strunb.ads,
        libgnat/a-strunb__shared.adb, libgnat/a-strunb__shared.ads:
        Implement Put_Image attibute.
        * libgnat/a-stteou.ads, libgnat/s-putima.ads,
        libgnat/a-stouut.ads, libgnat/a-stoubu.adb: Make
        Ada.Strings.Text_Output, Ada.Strings.Text_Output.Utils, and
        System.Put_Images Pure, so they can be with'ed by Pure units
        that should have Put_Image defined.
        * libgnat/a-stouut.adb: Add missing column adjustments, and
        remove a redundant one.
        * libgnat/s-putima.adb (Put_Arrow): New routine to print an
        arrow. Avoids adding a with clause to some containers.

Attachment: patch.diff.gz
Description: application/gzip

Reply via email to