[Ada] Clean up error handling of 'Image
authorBob Duff <duff@adacore.com>
Mon, 30 Mar 2020 14:20:33 +0000 (10:20 -0400)
committerPierre-Marie de Rodat <derodat@adacore.com>
Mon, 15 Jun 2020 08:04:24 +0000 (04:04 -0400)
commit6349cf36d8bb7fb83f67a7bc27fc67dca73b19dd
tree0812c36df6e46c61907a17b1bc377b3a79245b19
parentbfdb362c000c1502ca4757bb7e5ce5cb42a6a5ae
[Ada] Clean up error handling of 'Image

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

gcc/ada/

* sem_attr.adb (Check_Image_Type): New procedure for checking
the type, depending on language version. Disable the Ada 2020
support until the corresponding expander work is done.
(Analyze_Image_Attribute): Call Check_Image_Type.  Rearrange the
code to be simplier and more logical.  When P_Type is modified,
modify P_Base_Type accordingly.
* sem_util.adb (Is_Object_Image): Do not return False if the
prefix is a type. X'Image should be considered an image of an
object iff X is an object (albeit illegal pre-2020 if
nonscalar).
gcc/ada/sem_attr.adb
gcc/ada/sem_util.adb