The support for the new attribute Scalar_Storage_Order isn't complete yet so
this patch adds a couple of calls to sorry for it in gigi.
Tested on x86_64-suse-linux, applied on the mainline.
2013-02-03 Eric Botcazou <ebotca...@adacore.com>
* gcc-interface/decl.c: Include diagnostic-core.h.
(gnat_to_gnu_entity) <E_Array_Type>: Sorry if Reverse_Storage_Order
is set on the entity.
<E_Record_Type>: Likewise.
* gcc-interface/Make-lang.in (ada/decl.o): Add $(DIAGNOSTIC_CORE_H).
--
Eric Botcazou
Index: gcc-interface/decl.c
===================================================================
--- gcc-interface/decl.c (revision 195690)
+++ gcc-interface/decl.c (working copy)
@@ -33,6 +33,7 @@
#include "ggc.h"
#include "target.h"
#include "tree-inline.h"
+#include "diagnostic-core.h"
#include "ada.h"
#include "types.h"
@@ -2244,6 +2245,8 @@ gnat_to_gnu_entity (Entity_Id gnat_entit
for (index = ndim - 1; index >= 0; index--)
{
tem = build_nonshared_array_type (tem, gnu_index_types[index]);
+ if (Reverse_Storage_Order (gnat_entity))
+ sorry ("non-default Scalar_Storage_Order");
TYPE_MULTI_ARRAY_P (tem) = (index > 0);
if (array_type_has_nonaliased_component (tem, gnat_entity))
TYPE_NONALIASED_COMPONENT (tem) = 1;
@@ -2957,6 +2960,8 @@ gnat_to_gnu_entity (Entity_Id gnat_entit
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))
+ sorry ("non-default Scalar_Storage_Order");
if (!definition)
{
Index: gcc-interface/Make-lang.in
===================================================================
--- gcc-interface/Make-lang.in (revision 195690)
+++ gcc-interface/Make-lang.in (working copy)
@@ -986,8 +986,8 @@ ada/cuintp.o : ada/gcc-interface/cuintp.
$(COMPILER) -c $(ALL_COMPILERFLAGS) -I.. $(ALL_CPPFLAGS) $< -o $@
ada/decl.o : ada/gcc-interface/decl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
- $(TM_H) $(TREE_H) $(FLAGS_H) toplev.h $(TARGET_H) \
- $(TREE_INLINE_H) ada/gcc-interface/ada.h ada/types.h ada/atree.h \
+ $(TM_H) $(TREE_H) $(FLAGS_H) toplev.h $(TARGET_H) $(TREE_INLINE_H) \
+ $(DIAGNOSTIC_CORE_H) ada/gcc-interface/ada.h ada/types.h ada/atree.h \
ada/elists.h ada/namet.h ada/nlists.h ada/repinfo.h ada/snames.h \
ada/stringt.h ada/uintp.h ada/fe.h ada/sinfo.h ada/einfo.h $(ADA_TREE_H) \
ada/gcc-interface/gigi.h gt-ada-decl.h