Various C++17 decomposition fixes.
commit357b96452a5fc70011df4f27b5d4dffc5e2f2603
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 15 Nov 2016 05:22:28 +0000 (15 05:22 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 15 Nov 2016 05:22:28 +0000 (15 05:22 +0000)
tree376f8789de74bf75a940c9583acaea031e9de6d6
parent571fff6fe69c5b7b0820ae8f2825c8bb36ffd997
Various C++17 decomposition fixes.

* tree.c (bitfield_p): New.
* cp-tree.h: Declare it.
* typeck.c (cxx_sizeof_expr, cxx_alignof_expr)
(cp_build_addr_expr_1): Use it instead of DECL_C_BIT_FIELD.
* decl.c (cp_finish_decomp): Look through reference.  Always
SET_DECL_DECOMPOSITION_P.
* semantics.c (finish_decltype_type): Adjust decomposition handling.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@242408 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/semantics.c
gcc/cp/tree.c
gcc/cp/typeck.c
gcc/testsuite/g++.dg/cpp0x/addressof2.C
gcc/testsuite/g++.dg/cpp1z/decomp-bitfield1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp1z/decomp-constexpr1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp1z/decomp10.C
gcc/testsuite/g++.dg/cpp1z/decomp11.C [new file with mode: 0644]