From: Richard Stallman Date: Thu, 15 Jul 1993 05:40:42 +0000 (+0000) Subject: (build_c_cast): When casting to union, if value is array X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0c16ddf7006c4d440a3a8840b7ed41dbed080be0;p=gcc.git (build_c_cast): When casting to union, if value is array or function, do default_conversion. From-SVN: r4926 --- 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))))