Commit 4f1a975c by Eric Botcazou Committed by Eric Botcazou

ada-tree.h (TYPE_EXTRA_SUBTYPE_P): Add internal check.

	* 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.

From-SVN: r178335
parent f2991b48
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.
2011-08-30 Eric Botcazou <ebotcazou@adacore.com>
* raise-gcc.c: Do not include coretypes.h and tm.h.
(setup_to_install): Remove test for compiler macro.
* targext.c: Document use for the library.
......
......@@ -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
......
......@@ -544,7 +544,7 @@ build_binary_op (enum tree_code op_code, tree result_type,
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, tree result_type, tree operand)
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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment