diff mbox

[Ada] Housekeeping work in gigi (32/n)

Message ID 201108301847.41115.ebotcazou@adacore.com
State New
Headers show

Commit Message

Eric Botcazou Aug. 30, 2011, 4:47 p.m. UTC
Tested on x86_64-suse-linux, applied on the mainline.


2011-08-30  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/ada-tree.h (TYPE_EXTRA_SUBTYPE_P): Add internal check.
	* gcc-interface/utils2.c (build_binary_op): Tighten condition.
	(build_unary_op): Likewise.
diff mbox

Patch

Index: gcc-interface/utils2.c
===================================================================
--- gcc-interface/utils2.c	(revision 178331)
+++ gcc-interface/utils2.c	(working copy)
@@ -544,7 +544,7 @@  build_binary_op (enum tree_code op_code,
     operation_type = TREE_TYPE (TYPE_FIELDS (operation_type));
 
   if (operation_type
-      && !AGGREGATE_TYPE_P (operation_type)
+      && TREE_CODE (operation_type) == INTEGER_TYPE
       && TYPE_EXTRA_SUBTYPE_P (operation_type))
     operation_type = get_base_type (operation_type);
 
@@ -1002,7 +1002,7 @@  build_unary_op (enum tree_code op_code,
     operation_type = TREE_TYPE (TYPE_FIELDS (operation_type));
 
   if (operation_type
-      && !AGGREGATE_TYPE_P (operation_type)
+      && TREE_CODE (operation_type) == INTEGER_TYPE
       && TYPE_EXTRA_SUBTYPE_P (operation_type))
     operation_type = get_base_type (operation_type);
 
Index: gcc-interface/ada-tree.h
===================================================================
--- gcc-interface/ada-tree.h	(revision 178331)
+++ gcc-interface/ada-tree.h	(working copy)
@@ -106,7 +106,7 @@  do {							 \
 
 /* Nonzero in an arithmetic subtype if this is a subtype not known to the
    front-end.  */
-#define TYPE_EXTRA_SUBTYPE_P(NODE) TYPE_LANG_FLAG_2 (NODE)
+#define TYPE_EXTRA_SUBTYPE_P(NODE) TYPE_LANG_FLAG_2 (INTEGER_TYPE_CHECK (NODE))
 
 /* For RECORD_TYPE, UNION_TYPE, and QUAL_UNION_TYPE, nonzero if this is the
    type for an object whose type includes its template in addition to