This change has no user-visible effect except when Gnat2scil is running.

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

2017-04-27  Steve Baird  <ba...@adacore.com>

        * exp_attr.adb (Expand_N_Attribute_Reference):
        Don't expand Image, Wide_Image, Wide_Wide_Image attributes
        for CodePeer.

Index: exp_attr.adb
===================================================================
--- exp_attr.adb        (revision 247293)
+++ exp_attr.adb        (working copy)
@@ -3598,6 +3598,14 @@
       --  Image attribute is handled in separate unit Exp_Imgv
 
       when Attribute_Image =>
+
+         --  Leave attribute unexpanded in CodePeer mode: the gnat2scil
+         --  back-end knows how to handle this attribute directly.
+
+         if CodePeer_Mode then
+            return;
+         end if;
+
          Exp_Imgv.Expand_Image_Attribute (N);
 
       ---------
@@ -6995,6 +7003,14 @@
       --  Wide_Image attribute is handled in separate unit Exp_Imgv
 
       when Attribute_Wide_Image =>
+
+         --  Leave attribute unexpanded in CodePeer mode: the gnat2scil
+         --  back-end knows how to handle this attribute directly.
+
+         if CodePeer_Mode then
+            return;
+         end if;
+
          Exp_Imgv.Expand_Wide_Image_Attribute (N);
 
       ---------------------
@@ -7004,6 +7020,14 @@
       --  Wide_Wide_Image attribute is handled in separate unit Exp_Imgv
 
       when Attribute_Wide_Wide_Image =>
+
+         --  Leave attribute unexpanded in CodePeer mode: the gnat2scil
+         --  back-end knows how to handle this attribute directly.
+
+         if CodePeer_Mode then
+            return;
+         end if;
+
          Exp_Imgv.Expand_Wide_Wide_Image_Attribute (N);
 
       ----------------

Reply via email to