aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@adacore.com>2014-08-01 14:23:53 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2014-08-01 16:23:53 +0200
commit5b2bf62c762ab68a914a68ba4b8e115ac944507e (patch)
tree5fcaed63bfb6031e4dcf5286d5dc1a4a7baebb17 /gcc
parent7b53649518674605dd757f4089c8a522e4272273 (diff)
downloadgcc-5b2bf62c762ab68a914a68ba4b8e115ac944507e.zip
gcc-5b2bf62c762ab68a914a68ba4b8e115ac944507e.tar.gz
gcc-5b2bf62c762ab68a914a68ba4b8e115ac944507e.tar.bz2
fe.h (GNAT_Mode): New.
* 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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog6
-rw-r--r--gcc/ada/fe.h2
-rw-r--r--gcc/ada/gcc-interface/decl.c3
3 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index dba624f..9cdbd8a 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -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.
diff --git a/gcc/ada/fe.h b/gcc/ada/fe.h
index c76affa..6f0c1d4 100644
--- a/gcc/ada/fe.h
+++ b/gcc/ada/fe.h
@@ -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;
diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c
index bf70486..9f05067 100644
--- a/gcc/ada/gcc-interface/decl.c
+++ b/gcc/ada/gcc-interface/decl.c
@@ -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);