Commit Graph

173 Commits

Author SHA1 Message Date
Per Bothner
ca1f6b57bb * c-typeck.c (initializer_constant_valid_p): Make non-static.
From-SVN: r6433
1994-01-26 15:24:12 -08:00
Richard Kenner
b5ff0f707c (output_init_elements): Use FIELD instead of constructor_fields when doing alignment and sizing.
(output_init_elements): Use FIELD instead of constructor_fields when
doing alignment and sizing.
(output_pending_init_elements): Don't blow up when writing other than
first field put haven't written anything yet.  Update
constructor_bit_index when we emit a skip.

From-SVN: r6414
1994-01-23 09:11:44 -05:00
Richard Kenner
5cb7368c66 (really_start_incremental_init): Save current elements instead of
clearing them.

From-SVN: r6406
1994-01-23 05:59:15 -05:00
Richard Kenner
88a3dbc1a9 (c_expand_return): Issue a warning if returning address of non-static
local object.

From-SVN: r6405
1994-01-22 17:18:10 -05:00
Torbjorn Granlund
8b39ed65f1 (build_binary_op, case *_DIV_EXPR): Use same shorten
condition as for TRUNC_MOD_EXPR.

From-SVN: r6353
1994-01-03 21:59:04 +00:00
Richard Kenner
75326e8c5a (common_type): For COMPLEX_TYPE, return one of the original types if is the desired common type.
(common_type): For COMPLEX_TYPE, return one of the original types if is the
desired common type.
(build_binary_op): Use SHORT_COMPARE code even if complex.

From-SVN: r6312
1993-12-25 08:30:49 -05:00
Richard Kenner
3c9d8bafe2 (check_init_type_bitfields): Check recursively inside arrays and
records.

From-SVN: r6301
1993-12-24 07:54:26 -05:00
Richard Kenner
792089b33e (pop_init_level): Don't abort if have incomplete array type inside
some other type.

From-SVN: r6295
1993-12-24 05:35:46 -05:00
Richard Kenner
b16bd3ad93 Fix typo in comment.
From-SVN: r6273
1993-12-22 14:43:24 -05:00
Richard Kenner
dea273dfa1 (struct initializer_stack): New field ELEMENTS.
(start_init, finish_init): Save and restore constructor_elements.

From-SVN: r6250
1993-12-20 19:22:51 -05:00
Richard Kenner
b71c7f8acb (missing_braces_mentioned): Renamed from `partial_bracket_mentioned'.
(start_init): Clear `missing_braces_mentioned'.
(warning_init): New function.
(push_init_level): Optionally warn about missing braces.
When warning about braces around scalars, identify which scalars.

From-SVN: r6239
1993-12-15 18:30:48 -05:00
Richard Kenner
70768eda2a (c_expand_return): Return if convert_for_assignment returns
error_mark_node.

From-SVN: r6185
1993-12-03 07:06:46 -05:00
Richard Kenner
5ded5b76a2 (pop_init_level): Ensure never on momentary_obstack when calling
complete_array_type.

From-SVN: r6169
1993-11-27 06:19:03 -05:00
Richard Stallman
9db931afe6 (build_binary_op): Don't accept complex types for max, min, lt, etc.
From-SVN: r6151
1993-11-23 23:10:32 +00:00
Richard Stallman
9d3a34d458 (push_init_level): When aligning next struct field,
make sure there's another field left.

From-SVN: r6110
1993-11-16 13:40:41 +00:00
Richard Stallman
fc62385421 (push_init_level, really_start_incremental_init):
Skip any nameless bitfields at start of record.
(process_init_element): Skip any nameless bitfields after the field
just processed.

From-SVN: r6099
1993-11-15 07:20:32 +00:00
Richard Stallman
b037a230c5 (convert_for_assignment): Fix typo (codel => coder).
From-SVN: r6088
1993-11-14 22:25:54 +00:00
Richard Stallman
ce95080d6d (mark_addressable): Handle REALPART_EXPR and IMAGPART_EXPR.
From-SVN: r6070
1993-11-11 15:43:41 +00:00
Richard Stallman
840f571bf5 (build_binary_op): Warn for ordered compare of ptr with 0
only if pedantic in both cases.

From-SVN: r6039
1993-11-08 21:51:20 +00:00
Richard Stallman
346d29dc36 (build_function_call): Initialize fundecl to 0.
From-SVN: r5989
1993-11-04 05:00:24 +00:00
Richard Stallman
281ec92f7e (output_pending_init_elements): Don't crash if
constructor_unfilled_fields is 0.

(build_c_cast): When making union constructor,
copy TREE_CONSTANT from the given value.
(initializer_constant_valid_p): Special handling for "constant"
union constructor.

From-SVN: r5921
1993-10-27 21:42:09 +00:00
Richard Stallman
03d5b1f5a3 (build_binary_op): For TRUNC_MOD_EXPR and FLOOR_MOD_EXPR, set common.
From-SVN: r5895
1993-10-26 17:00:09 +00:00
Richard Stallman
05f3fda388 (build_binary_op): For TRUNC_MOD_EXPR and FLOOR_MOD_EXPR,
don't shorten when divisor might be -1.

From-SVN: r5893
1993-10-26 08:26:08 +00:00
Richard Stallman
e700c8ecce (push_init_level): Align here for element of record.
(process_init_element): Not here (was before call to push_init_level).

From-SVN: r5891
1993-10-26 06:41:41 +00:00
Richard Stallman
76aaaae2a4 (output_init_element): When initializing a union,
do it right away: never put the field on the pending list.

From-SVN: r5844
1993-10-20 23:24:47 +00:00
Richard Stallman
4d65300e6b (digest_init): For arrays, use comptypes to compare
types instead of comparing pointers.

From-SVN: r5818
1993-10-20 03:29:25 +00:00
Richard Stallman
88687ce983 (process_init_element): Align structure elements that are subaggregates.
From-SVN: r5798
1993-10-19 03:06:44 +00:00
Richard Stallman
81a55c6cd5 (digest_init): If traditional, allow unbraced scalar
to initialize the first element of an aggregate.

From-SVN: r5795
1993-10-18 22:30:29 +00:00
Richard Stallman
f1a2b9559f (start_init): Don't set require_constant_elements for scalar types.
(convert_for_assignment): Allow silent conversion to
a pointer from an integer 0 that resulted from arithmetic.

From-SVN: r5724
1993-10-11 03:04:15 +00:00
Torbjorn Granlund
41f2002ce1 (build_binary_op): For *_DIV_EXPR, set shorten based on orig_op0.
From-SVN: r5669
1993-10-08 00:48:54 +00:00
Richard Kenner
19d76e6003 None. FIxing RCS messup.
From-SVN: r5652
1993-10-06 19:32:11 -04:00
Richard Kenner
30a8c2fe6e *** empty log message ***
From-SVN: r5651
1993-10-06 19:28:26 -04:00
Richard Stallman
8c6c7b4c71 (build_c_cast): When making a CONSTRUCTOR, provide the dummy first operand.
From-SVN: r5637
1993-10-06 17:21:20 +00:00
Jim Wilson
cae856a00a (output_init_element): When try to copy FIELD if it
is an interger constant, first check to make sure it is nonzero.

From-SVN: r5617
1993-10-05 13:39:48 -07:00
Richard Kenner
db18259007 (struct format_char_info...
(struct format_char_info, print_table, scan_table, struct
function_info, function_info_entries, function_info_table,
record_format_info, init_format_info_table, check_format): Moved to
c-common.c.
(build_function_call): Call check_function_format.

From-SVN: r5608
1993-10-05 15:15:40 -04:00
Richard Stallman
e4623f4f57 (build_modify_expr): Check whether recursive calls return error_mark_node.
From-SVN: r5550
1993-10-01 22:49:56 +00:00
Richard Stallman
b03d739a60 (pop_init_level): Add special case for nonincremental scalar initializers.
From-SVN: r5503
1993-09-28 02:01:14 +00:00
Richard Stallman
0e03210994 (set_init_index): Handle and allow CONST_DECL.
(build_c_cast): When making a CONSTRUCTOR for a union cast,
specify its type.

(default_conversion): Implement -fallow-single-precision.

From-SVN: r5424
1993-09-23 02:03:14 +00:00
Richard Stallman
635b1dad85 (build_component_ref): For a field in an anonymous union,
make two nested COMPONENT_REFs.
(lookup_field): Additional arg INDIRECT.

From-SVN: r5400
1993-09-22 18:26:01 +00:00
Per Bothner
cb96be0bf7 Minor push_member_name improvement.
From-SVN: r5380
1993-09-21 18:42:59 -07:00
Richard Stallman
493692cdb5 (build_indirect_ref): TREE_THIS_VOLATILE no longer depends on flag_volatile.
From-SVN: r5374
1993-09-20 21:23:53 +00:00
Richard Stallman
925d5bbfe9 (output_init_element): Update constructor_bit_index for union types.
From-SVN: r5350
1993-09-18 02:36:30 +00:00
Richard Kenner
c1719013cf (lookup_field): Use HOST_WIDE_INT instead of long or int when we want
integer wide enough to hold a pointer difference.

From-SVN: r5345
1993-09-17 18:08:22 -04:00
Doug Evans
2f2d13dade c-typeck.c (lookup_field): New function (for chill).
* c-typeck.c (lookup_field): New function (for chill).
(build_component_ref): Call it.

From-SVN: r5330
1993-09-15 17:37:48 +00:00
Jim Wilson
d9fc6069c6 (valid_compound_expr_initializer): New function.
(digest_init): Handle compound expressions as initializers when
pedantic.

From-SVN: r5323
1993-09-14 19:03:22 -07:00
Per Bothner
5522c047d5 (digest_init): Compare types using comptypes.
From-SVN: r5321
1993-09-14 16:23:18 -07:00
Richard Stallman
94ba506964 (set_init_index): Don't allow variable indices.
(output_init_element): When putting an elt into a
CONSTRUCTOR, always set the TREE_PURPOSE (even for arrays).
Copy the node if it's an INTEGER_CST.
(output_pending_init_elements): If have gap and not incremental,
advance constructor_unfilled_fields or constructor_unfilled_index.

(push_init_level): Pop any implicit levels
that have been filled up.
Don't die if constructor_type is 0.
(process_init_element): If VALUE is 0 for union type,
update constructor_bit_index.

From-SVN: r5317
1993-09-13 20:19:42 +00:00
Doug Evans
59b22f6465 (digest_init): Remove obsolete comments on args TAIL, OF_WHAT.
From-SVN: r5312
1993-09-12 14:58:02 +00:00
Per Bothner
cc77d4d5c4 New variable constructor_no_implicit, set by Chill front-end.
From-SVN: r5306
1993-09-11 13:06:48 -07:00
Richard Stallman
a357ac88c0 (check_init_type_bitfields): Check for mismatch
between field's mode and its type's mode.

From-SVN: r5304
1993-09-10 13:49:30 +00:00