aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-04-28 10:40:50 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1995-04-28 10:40:50 -0400
commit48dd3a7cb107947568ddb33dc92ad87b5b9be14e (patch)
tree30937b69b59f525bb716d36b7aa9542f18f72592 /gcc
parent7ac18cf65b8a345802235e788c1e7cd1297a7e27 (diff)
downloadgcc-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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/c-typeck.c17
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,