Patchwork [Ada] Issue sorry message for Scalar_Storage_Order

login
register
mail settings
Submitter Eric Botcazou
Date Feb. 3, 2013, 11:51 a.m.
Message ID <2154749.icuIsyPkve@polaris>
Download mbox | patch
Permalink /patch/217743/
State New
Headers show

Comments

Eric Botcazou - Feb. 3, 2013, 11:51 a.m.
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  <ebotcazou@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).

Patch

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