This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch 3/6] scalar-storage-order merge: C++ front-end
- From: Jeff Law <law at redhat dot com>
- To: Eric Botcazou <ebotcazou at adacore dot com>, gcc-patches at gcc dot gnu dot org
- Date: Mon, 12 Oct 2015 16:27:16 -0600
- Subject: Re: [patch 3/6] scalar-storage-order merge: C++ front-end
- Authentication-results: sourceware.org; auth=none
- References: <1475877 dot YmvvkeqT8x at polaris> <84951064 dot 57Pv8Ag7Kj at polaris>
On 10/06/2015 05:03 AM, Eric Botcazou wrote:
This is the C++ front-end part, probably incomplete but passes the testsuite.
cp/
* class.c: Add c-family/c-pragma.h.
(finish_struct_1): If structure has reverse scalar storage order,
rewrite the type of array fields with scalar component. Call
maybe_apply_pragma_scalar_storage_order on entry.
* constexpr.c (reduced_constant_expression_p): Unfold recursion and
deal with TYPE_REVERSE_STORAGE_ORDER.
* typeck.c (structural_comptypes): Return false if two aggregate
types have different scalar storage order.
(cp_build_addr_expr_1) <case COMPONENT_REF>: New case. Issue the
error for bit-fields here and not later.
<case ARRAY_REF>: Issue error and warning for reverse scalar storage
order.
* typeck2.c (split_nonconstant_init_1) <RECORD_TYPE>: Adjust call to
initializer_constant_valid_p.
Explicitly leaving for Jason.
jeff