Commit Graph

140 Commits

Author SHA1 Message Date
Mike Stump
a4a3f053b7 tree.def (OFFSET_REF): Remove.
* tree.def (OFFSET_REF): Remove.
        * expr.c (expand_expr, case OFFSET_REF): Ditto.
        * tree.c (substitute_in_expr): Remove OFFSET_REF code.
Remove some old cruft

From-SVN: r12127
1996-05-31 05:08:47 +00:00
Richard Kenner
4d12b2fee4 (unsave_expr_now): Avoid use of NULL_RTX since no rtl.h.
From-SVN: r12037
1996-05-18 22:09:21 -04:00
Mike Stump
4847c9386b expr.c (expand_expr, [...]): Make TARGET_EXPRs redoable for UNSAVE_EXPR.
* expr.c (expand_expr, cond TARGET_EXPR): Make TARGET_EXPRs
	redoable for UNSAVE_EXPR.
	* stmt.c (expand_decl_cleanup): Wrap the cleanup in an UNSAVE_EXPR
	to that we can redo it.
	* tree.c (unsave_expr_now): Handle TARGET_EXPRs fully now.
	* tree.def (TARGET_EXPR): Add a third field so that TARGET_EXPRs
	are redoable.

From-SVN: r12018
1996-05-17 21:48:14 +00:00
Mike Stump
679163cf4d expr.c (expand_expr, [...]): Move from the C++ frontend to the backend where it belongs.
* expr.c (expand_expr, cond UNSAVE_EXPR): Move from the C++
	frontend to the backend where it belongs.
	* tree.c (unsave_expr): Ditto.
	(unsave_expr_now): Ditto.
	* tree.def (UNSAVE_EXPR): Ditto.
	* tree.h (unsave_expr): Ditto.
	(unsave_expr_now): Ditto.

From-SVN: r12015
1996-05-17 20:13:01 +00:00
Mike Stump
7b8b9722a4 expr.c (expand_increment): Add third parameter to know when to ignore the result value.
* expr.c (expand_increment): Add third parameter to know when to
        ignore the result value.
        (store_constructor): Ditto.
        (expand_expr, case PREINCREMENT_EXPR): Ditto.
        (expand_expr, case PREDECREMENT_EXPR): Ditto.
        (expand_expr, case POSTINCREMENT_EXPR): Ditto.
        (expand_expr, case POSTDECREMENT_EXPR): Ditto.
        * tree.c (stabilize_reference): Always ignore the first operand of
        COMPOUND_EXPRs.

From-SVN: r11939
1996-05-06 18:07:22 +00:00
Richard Kenner
fef854565e (build_real_from_int_cst): Remove spurious test for
REAL_IS_NOT_DOUBLE.

From-SVN: r11924
1996-05-05 12:47:58 -04:00
Richard Kenner
84c7be4b21 (real_value_from_int_cst): New arg, TYPE.
Pass mode to REAL_VALUE_FROM_INT.
(build_real_from_int_cst): Properly deal with truncation.

From-SVN: r11767
1996-04-14 08:56:17 -04:00
Richard Kenner
9b594acf0e (substitute_in_expr): Don't return new expression if nothing changed.
(substitute_in_type): Deleted, not used.

From-SVN: r11683
1996-04-09 07:10:49 -04:00
Richard Kenner
6cba9fcc21 (substitute_in_expr, case COMPONENT_REF): Ignore if inner
PLACEHOLDER_EXPR has not yet been initialized.

From-SVN: r11547
1996-03-16 19:23:14 -05:00
Jason Merrill
3e29c1a88c (staticp): Check DECL_NO_STATIC_CHAIN on nested functions.
From-SVN: r11462
1996-03-05 22:16:33 +00:00
Jason Merrill
2a6cff31d6 (decl_function_context): Do decl_function_context right for
|       function-local classes.

From-SVN: r11334
1996-02-21 19:12:32 +00:00
Per Bothner
28238567cd Changes to distinguish typedef from original type in debug output.
* tree.c (copy_node):  Zero out type.symtab union.

From-SVN: r11218
1996-02-12 12:03:24 -08:00
Doug Evans
f3209e2f76 (merge_attributes): Moved here from c-typeck.c.
From-SVN: r10955
1996-01-09 22:23:26 +00:00
Mike Stump
8fa6b6c92c libgcc2.c (__empty): An empty function used by the C++ frontend for defaulting cleanup actions.
* libgcc2.c (__empty): An empty function used by the C++ frontend for
	defaulting cleanup actions.

	* tree.c (save_tree_status, restore_tree_status): Save and restore
	temporary_firstobj, so that in progress objects that live on the
	temporary obstack are not reallocated, if we save and restore the
	tree status in their lifetime.

From-SVN: r10799
1995-12-18 17:42:56 +00:00
Richard Kenner
2cd2a93e72 (staticp, case INDIRECT_EXPR): Disable case.
From-SVN: r10416
1995-10-01 21:27:28 -04:00
Richard Kenner
e0094edb03 (save_expr): Return original for ERROR_MARK.
From-SVN: r10399
1995-09-25 17:50:22 -04:00
Richard Kenner
978958060c (simple_cst_equal): Work around enum bug in vax ultrix 4.3 pcc.
From-SVN: r10016
1995-06-19 19:08:22 -04:00
Richard Kenner
e9fa0c7c6f Update FSF address.
From-SVN: r9966
1995-06-15 08:29:51 -04:00
Jason Merrill
bbda425097 *** empty log message ***
From-SVN: r9811
1995-05-24 21:46:55 +00:00
Richard Kenner
364e1f1cf2 (type_list_equal, simple_cst_list_equal, index_type_equal):
Check for simple_cst_equal return value of -1.

From-SVN: r9802
1995-05-24 15:41:37 -04:00
Richard Kenner
15c8ec1ccd (valid_machine_attribute): Handle attribute on pointer-to-function
types.

From-SVN: r9762
1995-05-22 07:10:37 -04:00
Richard Kenner
8ae49a28b3 (simple_cst_equal): Don't look at language-specific nodes since we
don't know what's in them.

From-SVN: r9754
1995-05-20 07:00:47 -04:00
Richard Kenner
9faa82d8c0 Fix typos in comments.
From-SVN: r9712
1995-05-16 08:39:54 -04:00
Richard Kenner
abd23b66b4 (substitute_in_expr): Preserve TREE_READONLY.
From-SVN: r9546
1995-04-30 07:16:51 -04:00
Doug Evans
2a3c15b553 (attribute_hash_list): New function.
(build_type_attribute_variant): Call it.
(valid_machine_attribute): Handle attributes with arguments.
(is_attribute_p): New function.
(lookup_attribute): New function.
(attribute_in_list): Deleted.
(attribute_list_contained): Check TREE_PURPOSE and TREE_VALUE.

From-SVN: r9520
1995-04-28 01:08:30 +00:00
Richard Kenner
3c013dd5b9 (valid_machine_attribute): Update last change.
From-SVN: r9504
1995-04-27 08:56:36 -04:00
Richard Kenner
3e3d7e77cd (valid_machine_attribute): Use new function attribute_in_list...
(valid_machine_attribute): Use new function attribute_in_list, makes
sure type_attribute_variants are reused even when attributes have
parameters.
Assign any new type to TREE_TYPE (decl).
(attribute_in_list): New function.
(attribute_list_contained): Use it.

From-SVN: r9456
1995-04-25 18:52:18 -04:00
Richard Kenner
33a79dfafb (chain_member_purpose): Make similar to chain_member_value.
From-SVN: r9454
1995-04-25 18:39:11 -04:00
Richard Kenner
8980b5a34d (integer_all_onesp): Test to size of mode, not TYPE_PRECISION.
From-SVN: r9427
1995-04-21 08:11:06 -04:00
Per Bothner
8a0e8d4dc4 (get_set_constructor_bytes): Fix BITS_BIG_ENDIAN -> BYTES_BIG_ENDIAN.
From-SVN: r9417
1995-04-18 18:09:38 -07:00
Richard Kenner
0bcec3673d (chain_member_purpose): New function.
From-SVN: r9292
1995-04-02 07:55:13 -04:00
Richard Kenner
4084f7897a (valid_machine_attribute): Now receive name and args.
From-SVN: r9262
1995-03-30 08:59:39 -05:00
Jason Merrill
a0dabda52b Handle compilation of nested functions from another scope.
From-SVN: r9185
1995-03-15 21:48:01 +00:00
Per Bothner
b001a02f29 Remove Feb 28's FUNCTION_NEEDS_STATIC_CHAIN changes.
From-SVN: r9106
1995-03-01 19:33:25 -08:00
Per Bothner
d72471fd1a * tree.c (staticp): Use FUNCTION_NEEDS_STATIC_CHAIN.
From-SVN: r9097
1995-02-28 15:06:49 -08:00
Richard Kenner
f8a89236c4 Formatting changes.
From-SVN: r9048
1995-02-23 07:06:03 -05:00
Richard Kenner
1a2927d261 (chain_member_value, decl_attribute_variant): New functions.
(valid_machine_attribute): Moved here from c-common.c.

From-SVN: r9020
1995-02-21 18:58:27 -05:00
Per Bothner
f3ffec8eee tree.c (get_set_constructor_bytes): New function. Replaces ...
(get_set_constructor_words):  ... removed old function.

From-SVN: r8952
1995-02-14 22:39:19 -08:00
Richard Kenner
4745ddae5d (stabilize_reference_1): No longer static.
From-SVN: r8951
1995-02-14 08:04:52 -05:00
Per Bothner
9ccd47de71 tree.c (permanent_allocation): Pop function_maybepermanent_obstack, not hardwired &maybepermanent_obstack.
* tree.c (permanent_allocation):  Pop function_maybepermanent_obstack,
not hardwired &maybepermanent_obstack.

From-SVN: r8938
1995-02-13 12:55:17 -08:00
Richard Kenner
21f0e042fc (stabilize_reference): Fix typo in last change.
From-SVN: r8771
1995-01-18 07:42:42 -05:00
Richard Kenner
c36a127d64 (stabilize_reference, case RTL_EXPR): New case.
From-SVN: r8770
1995-01-17 22:33:13 -05:00
Richard Kenner
9e8730a444 (preserve_momentary): New function.
From-SVN: r8623
1994-12-07 16:42:35 -05:00
Richard Kenner
9ad265b05e (integer_{zero,one,all_ones,pow2}p): Handle COMPLEX_CST.
(real_{zero,one,two}p): Likewise.

From-SVN: r8473
1994-11-16 17:37:52 -05:00
Ian Lance Taylor
f76b9db287 Check target endianness at run time, not compile time
From-SVN: r8470
1994-11-16 21:10:09 +00:00
Richard Kenner
1324c5deb7 (staticp): A non-nested function is always static.
From-SVN: r8451
1994-11-15 19:28:56 -05:00
Jason Merrill
cafbaf85f5 (save_tree_status): Add argument to indicate that the new function is not a nested function.
(save_tree_status): Add argument to indicate that the new
        function is not a nested function.
        (restore_tree_status): Ditto.

From-SVN: r8206
1994-10-02 23:17:08 +00:00
Mike Stump
fe1e3bf47e tree.c (decl_function_context): Don't treat C++ member functions of classes declared in a function...
* tree.c (decl_function_context): Don't treat C++ member
        functions of classes declared in a function, as nested functions.

From-SVN: r8065
1994-09-09 23:48:21 +00:00
Per Bothner
bca949e251 (get_set_constructor_bits, get_set_constructor_words): New functions.
From-SVN: r8044
1994-09-08 11:59:33 -07:00
Jason Merrill
ac83e1bb1c (type_list_equal): If the types of the default arguments
differ, the lists do not match.

From-SVN: r8015
1994-09-01 23:33:02 +00:00