diff options
author | Arnaud Charlet <charlet@adacore.com> | 2014-08-01 14:23:53 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-08-01 16:23:53 +0200 |
commit | 5b2bf62c762ab68a914a68ba4b8e115ac944507e (patch) | |
tree | 5fcaed63bfb6031e4dcf5286d5dc1a4a7baebb17 /gcc | |
parent | 7b53649518674605dd757f4089c8a522e4272273 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/ada/fe.h | 2 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/decl.c | 3 |
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); |