From 0c16ddf7006c4d440a3a8840b7ed41dbed080be0 Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Thu, 15 Jul 1993 05:40:42 +0000 Subject: [PATCH] (build_c_cast): When casting to union, if value is array or function, do default_conversion. From-SVN: r4926 --- gcc/c-typeck.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index 8ff4da5524f..85d2058f900 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -3854,6 +3854,10 @@ build_c_cast (type, expr) else if (TREE_CODE (type) == UNION_TYPE) { tree field; + if (TREE_CODE (TREE_TYPE (value)) == ARRAY_TYPE + || TREE_CODE (TREE_TYPE (value)) == FUNCTION_TYPE) + value = default_conversion (value); + for (field = TYPE_FIELDS (type); field; field = TREE_CHAIN (field)) if (comptypes (TYPE_MAIN_VARIANT (TREE_TYPE (field)), TYPE_MAIN_VARIANT (TREE_TYPE (value)))) -- 2.30.2