aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/decl.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2011-05-05 16:22:16 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2011-05-05 16:22:16 +0000
commit805e60a08685ba76925f557137adf836f3b4a751 (patch)
tree9e62d25cb4781804834463a8fd123bbf1c17f2bf /gcc/ada/gcc-interface/decl.c
parent4eec64ff1d3b88cce8af5fe81787fd7e2e1cb371 (diff)
downloadgcc-805e60a08685ba76925f557137adf836f3b4a751.zip
gcc-805e60a08685ba76925f557137adf836f3b4a751.tar.gz
gcc-805e60a08685ba76925f557137adf836f3b4a751.tar.bz2
re PR ada/48844 (ICE on assignment of aggregate with discriminated record type)
PR ada/48844 * gcc-interface/gigi.h (get_variant_part): Declare. * gcc-interface/decl.c (get_variant_part): Make global. * gcc-interface/utils2.c (find_common_type): Do not return T1 if the types have the same constant size, are record types and T1 has a variant part while T2 doesn't. From-SVN: r173442
Diffstat (limited to 'gcc/ada/gcc-interface/decl.c')
-rw-r--r--gcc/ada/gcc-interface/decl.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c
index 14929b8..b5406e9 100644
--- a/gcc/ada/gcc-interface/decl.c
+++ b/gcc/ada/gcc-interface/decl.c
@@ -177,7 +177,6 @@ static void check_ok_for_atomic (tree, Entity_Id, bool);
static tree create_field_decl_from (tree, tree, tree, tree, tree,
VEC(subst_pair,heap) *);
static tree get_rep_part (tree);
-static tree get_variant_part (tree);
static tree create_variant_part_from (tree, VEC(variant_desc,heap) *, tree,
tree, VEC(subst_pair,heap) *);
static void copy_and_substitute_in_size (tree, tree, VEC(subst_pair,heap) *);
@@ -8509,7 +8508,7 @@ get_rep_part (tree record_type)
/* Return the variant part of RECORD_TYPE, if any. Otherwise return NULL. */
-static tree
+tree
get_variant_part (tree record_type)
{
tree field;