Commit 4160009f by Richard Kenner

(output_init_element): Constructor is not simple if a bitfield is

being assigned a non-integer.

From-SVN: r9472
parent e4376e63
...@@ -5707,7 +5707,10 @@ output_init_element (value, type, field, pending) ...@@ -5707,7 +5707,10 @@ output_init_element (value, type, field, pending)
constructor_erroneous = 1; constructor_erroneous = 1;
else if (!TREE_CONSTANT (value)) else if (!TREE_CONSTANT (value))
constructor_constant = 0; 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; constructor_simple = 0;
if (require_constant_value && ! TREE_CONSTANT (value)) if (require_constant_value && ! TREE_CONSTANT (value))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment