diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-04-28 10:40:50 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-04-28 10:40:50 -0400 |
commit | 48dd3a7cb107947568ddb33dc92ad87b5b9be14e (patch) | |
tree | 30937b69b59f525bb716d36b7aa9542f18f72592 | |
parent | 7ac18cf65b8a345802235e788c1e7cd1297a7e27 (diff) | |
download | gcc-48dd3a7cb107947568ddb33dc92ad87b5b9be14e.zip gcc-48dd3a7cb107947568ddb33dc92ad87b5b9be14e.tar.gz gcc-48dd3a7cb107947568ddb33dc92ad87b5b9be14e.tar.bz2 |
(pop_init_level, output_init_element): Pass require_constant_* to
digest_init.
From-SVN: r9534
-rw-r--r-- | gcc/c-typeck.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index 30d6679..6356ffe 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -5436,7 +5436,8 @@ pop_init_level (implicit) && constructor_incremental) { constructor = digest_init (constructor_type, constructor, - 0, 0); + require_constant_value, + require_constant_elements); /* If initializing an array of unknown size, determine the size now. */ @@ -5771,7 +5772,8 @@ output_init_element (value, type, field, pending) constructor_index, which is modified in place. */ constructor_pending_elts = tree_cons (copy_node (field), - digest_init (type, value, 0, 0), + digest_init (type, value, require_constant_value, + require_constant_elements), constructor_pending_elts); } else if (TREE_CODE (constructor_type) == RECORD_TYPE @@ -5783,7 +5785,8 @@ output_init_element (value, type, field, pending) if (!duplicate) constructor_pending_elts = tree_cons (field, - digest_init (type, value, 0, 0), + digest_init (type, value, require_constant_value, + require_constant_elements), constructor_pending_elts); } else @@ -5798,7 +5801,9 @@ output_init_element (value, type, field, pending) if (field && TREE_CODE (field) == INTEGER_CST) field = copy_node (field); constructor_elements - = tree_cons (field, digest_init (type, value, 0, 0), + = tree_cons (field, digest_init (type, value, + require_constant_value, + require_constant_elements), constructor_elements); } else @@ -5819,7 +5824,9 @@ output_init_element (value, type, field, pending) assemble_zeros (next - here); } } - output_constant (digest_init (type, value, 0, 0), + output_constant (digest_init (type, value, + require_constant_value, + require_constant_elements), int_size_in_bytes (type)); /* For a record or union, |