OSDN Git Service

* tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 21 Jan 2010 05:49:35 +0000 (05:49 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 21 Jan 2010 05:49:35 +0000 (05:49 +0000)
commit8df5a43d64487d03b55a5799f17a6c465e019062
tree3bec735a0f06546a748f8a6b206f44f1a8b31297
parent7b2c73adda6f38cf47e61a5eede9f4c162ecc543
* tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
(TYPE_TRANSPARENT_AGGR): this, for union and record.
* calls.c (initialize argument_information): Handle it.
* c-common.c (handle_transparent_union_attribute): Use new name.
* c-decl.c (finish_struct): Ditto.
* c-typeck.c (type_lists_compatible_p): Ditto.
(convert_for_assignment): Use new name and also handle record.
* function.c (aggregate_value_p): Handle it.
(pass_by_reference): Ditto.
(assign_parm_data_types): Ditto.
* print-tree.c (print_node): Ditto.
* lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
* lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
* tree.c (first_field): New fn.

gcc/cp/
* mangle.c (write_type): Mangle transparent record as member type.
* semantics.c (begin_class_definition): Recognize decimal classes
and set TYPE_TRANSPARENT_AGGR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156106 138bc75d-0d04-0410-961f-82ee72b054a4
57 files changed:
gcc/ChangeLog
gcc/c-common.c
gcc/c-decl.c
gcc/c-typeck.c
gcc/calls.c
gcc/cp/ChangeLog
gcc/cp/mangle.c
gcc/cp/semantics.c
gcc/function.c
gcc/lto-streamer-in.c
gcc/lto-streamer-out.c
gcc/print-tree.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/compat/decimal/compat-common.h [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/decimal-dummy.h [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/pass-1_main.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/pass-1_x.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/pass-1_y.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/pass-2_main.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/pass-2_x.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/pass-2_y.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/pass-3_main.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/pass-3_x.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/pass-3_y.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/pass-4_main.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/pass-4_x.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/pass-4_y.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/pass-5_main.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/pass-5_x.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/pass-5_y.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/pass-6_main.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/pass-6_x.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/pass-6_y.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/pass_x.h [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/pass_y.h [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/return-1_main.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/return-1_x.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/return-1_y.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/return-2_main.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/return-2_x.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/return-2_y.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/return-3_main.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/return-3_x.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/return-3_y.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/return-4_main.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/return-4_x.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/return-4_y.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/return-5_main.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/return-5_x.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/return-5_y.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/return-6_main.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/return-6_x.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/return-6_y.C [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/return_x.h [new file with mode: 0644]
gcc/testsuite/g++.dg/compat/decimal/return_y.h [new file with mode: 0644]
gcc/tree.c
gcc/tree.h