From: Richard Kenner Date: Wed, 26 Apr 1995 12:35:12 +0000 (-0400) Subject: (output_init_element): Constructor is not simple if a bitfield is X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4160009ff82996166b12cd9dd5b00228ccf28e91;p=gcc.git (output_init_element): Constructor is not simple if a bitfield is being assigned a non-integer. From-SVN: r9472 --- diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index fd0eae04cfa..1873613a954 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -5707,7 +5707,10 @@ output_init_element (value, type, field, pending) constructor_erroneous = 1; else if (!TREE_CONSTANT (value)) constructor_constant = 0; - else if (initializer_constant_valid_p (value, TREE_TYPE (value)) == 0) + else if (initializer_constant_valid_p (value, TREE_TYPE (value)) == 0 + || ((TREE_CODE (constructor_type) == RECORD_TYPE + || TREE_CODE (constructor_type) == UNION_TYPE) + && DECL_BIT_FIELD (field) && TREE_CODE (value) != INTEGER_CST)) constructor_simple = 0; if (require_constant_value && ! TREE_CONSTANT (value))