projects
/
gcc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
c8ab446
)
(build_c_cast): When casting to union, if value is array
author
Richard Stallman
<rms@gnu.org>
Thu, 15 Jul 1993 05:40:42 +0000
(
05:40
+0000)
committer
Richard Stallman
<rms@gnu.org>
Thu, 15 Jul 1993 05:40:42 +0000
(
05:40
+0000)
or function, do default_conversion.
From-SVN: r4926
gcc/c-typeck.c
patch
|
blob
|
history
diff --git
a/gcc/c-typeck.c
b/gcc/c-typeck.c
index 8ff4da5524fc130e296b1650904747a7951165a6..85d2058f9005328cf3a1735e4d4ba5a4340f6b53 100644
(file)
--- 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))))