fe.h (GNAT_Mode): New.
authorArnaud Charlet <charlet@adacore.com>
Fri, 1 Aug 2014 14:23:53 +0000 (14:23 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Fri, 1 Aug 2014 14:23:53 +0000 (16:23 +0200)
* fe.h (GNAT_Mode): New.
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not error out on
reverse SSO in GNAT mode.

From-SVN: r213473

gcc/ada/ChangeLog
gcc/ada/fe.h
gcc/ada/gcc-interface/decl.c

index dba624f96bf5f3cf4ed7dc7f89fc29da6df0b244..9cdbd8a7b27da2d62a30cb4ec2b30e814c77502c 100644 (file)
@@ -1,3 +1,9 @@
+2014-08-01  Arnaud Charlet  <charlet@adacore.com>
+
+       * fe.h (GNAT_Mode): New.
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Do not error out on
+       reverse SSO in GNAT mode.
+
 2014-08-01  Thomas Quinot  <quinot@adacore.com>
 
        * freeze.adb: Minor reformatting.
index c76affaf29144eaa8af2a7b796ea0ac293045492..6f0c1d4afd59cefc9d1ed5d4702ac51c183f1cf0 100644 (file)
@@ -173,6 +173,7 @@ extern Boolean In_Same_Source_Unit              (Node_Id, Node_Id);
 #define Exception_Locations_Suppressed opt__exception_locations_suppressed
 #define Exception_Mechanism            opt__exception_mechanism
 #define Generate_SCO_Instance_Table    opt__generate_sco_instance_table
+#define GNAT_Mode                     opt__gnat_mode
 #define Float_Format                   opt__float_format
 #define List_Representation_Info       opt__list_representation_info
 
@@ -183,6 +184,7 @@ extern Boolean Exception_Extra_Info;
 extern Boolean Exception_Locations_Suppressed;
 extern Exception_Mechanism_Type Exception_Mechanism;
 extern Boolean Generate_SCO_Instance_Table;
+extern Boolean GNAT_Mode;
 extern Char Float_Format;
 extern Int List_Representation_Info;
 
index bf70486a82353adef00c4719178a9f0ad4fdc59c..9f05067f3505baaf637e808d4d35a017416bddcf 100644 (file)
@@ -2916,7 +2916,8 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
        gnu_type = make_node (tree_code_for_record_type (gnat_entity));
        TYPE_NAME (gnu_type) = gnu_entity_name;
        TYPE_PACKED (gnu_type) = (packed != 0) || has_rep;
-       if (Reverse_Storage_Order (gnat_entity))
+
+       if (Reverse_Storage_Order (gnat_entity) && !GNAT_Mode)
          sorry ("non-default Scalar_Storage_Order");
        process_attributes (&gnu_type, &attr_list, true, gnat_entity);