[Ada] Put_Image improvements for strings
authorBob Duff <duff@adacore.com>
Mon, 30 Mar 2020 14:14:27 +0000 (10:14 -0400)
committerPierre-Marie de Rodat <derodat@adacore.com>
Mon, 15 Jun 2020 08:04:21 +0000 (04:04 -0400)
commiteb72521915b1f109b3b65aa384005c2527f76c31
tree59fbf0467f5bf4c8384ab12ba6d48f866e88f85b
parent6c04efdd9c2a21f719c6fabcf267d03d7127982f
[Ada] Put_Image improvements for strings

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

gcc/ada/

* exp_attr.adb (Put_Image): Use underlying type for strings.
Remove unchecked union processing.
* exp_put_image.adb (Tagged_Put_Image_Enabled): Use -gnatd_z to
enable default Put_Image for tagged types.  This allows testing
that feature.
(Build_String_Put_Image_Call): Set Conversion_OK flag.
(Make_Component_List_Attributes): Remove unchecked union
processing.
(Enable_Put_Image): Disable for unchecked unions.  Enable for
nonscalar types (which were mistakenly disabled in earlier
changes).
* debug.adb: Document -gnatd_z switch.
* libgnat/s-putima.adb (Put_Image_String, Put_Image_Wide_String,
Put_Image_Wide_Wide_String): Double double-quote characters.
Forget about special handling of control characters for now --
that's rare enough to not be a priority, and it's not clear what
the right thing to do is anyway.
* namet.adb: Minor: Improve debugger-friendliness.
* sinfo.ads: Minor: Add "???" comment.
gcc/ada/debug.adb
gcc/ada/exp_attr.adb
gcc/ada/exp_put_image.adb
gcc/ada/libgnat/s-putima.adb
gcc/ada/namet.adb
gcc/ada/sinfo.ads