c-decl.c (build_compound_literal): Use TYPE_READONLY.
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Mon, 5 Apr 2004 12:25:26 +0000 (12:25 +0000)
committerRichard Kenner <kenner@gcc.gnu.org>
Mon, 5 Apr 2004 12:25:26 +0000 (08:25 -0400)
commit4f976745b7f4deeed63381e21990fd2a2c2e2103
tree7cf8c66a6e9e97bafc971ed6abd2828df8113d1e
parent5ffc47306c2e13f9d65d98f2a6fd3ea277945ce5
c-decl.c (build_compound_literal): Use TYPE_READONLY.

* c-decl.c (build_compound_literal): Use TYPE_READONLY.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
* objc/objc-act.c (adorn_decl, gen_declspecs): Likewise.
* c-typeck.c (decl_constant_value): Don't access DECL_INITIAL of a
PARM_DECL.
* calls.c (flags_from_decl_or_type): Use TYPE_READONLY and do so only
for a type.
* print-tree.c (print_node): Properly handle side-effects, readonly,
and constant flags.
* tree.c (build1_stat, build_expr_wfl): Only look at TREE_SIDE_EFFECTS
and TREE_CONSTANT if not a type.
* tree.h (IS_NON_TYPE_CODE_CLASS): New macro.
(IS_EXPR_CODE_CLASS): Write 'E', not 'e'.
(NON_TYPE_CHECK): New macro.
(TREE_SIDE_EFFECT, TREE_READONLY, TREE_CONSTANT: Add check.

* cp/init.c (decl_constant_value): Don't look at DECL_INITIAL
of PARM_DECL.
* cp/tree.c (bot_manip, build_min): Don't look at TREE_CONSTANT
or TREE_SIDE_EFFECTS of a type.

* ada/decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
* ada/utils.c (create_field_decl): Likewise.
* ada/utils2.c (build_unary_op, gnat_build_constructor): Likewise.

From-SVN: r80430
16 files changed:
gcc/ChangeLog
gcc/ada/ChangeLog
gcc/ada/decl.c
gcc/ada/utils.c
gcc/ada/utils2.c
gcc/c-decl.c
gcc/c-typeck.c
gcc/calls.c
gcc/cp/ChangeLog
gcc/cp/init.c
gcc/cp/tree.c
gcc/emit-rtl.c
gcc/objc/objc-act.c
gcc/print-tree.c
gcc/tree.c
gcc/tree.h