Commit 8ffac116 by Eric Botcazou Committed by Eric Botcazou

utils2.c (build_allocator): In the unconstrained array type case...

	* gcc-interface/utils2.c (build_allocator): In the unconstrained array
	type case, do not strip a padding type around the array type.

From-SVN: r171888
parent de9528f0
2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/utils2.c (build_allocator): In the unconstrained array
type case, do not strip a padding type around the array type.
2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/utils.c (update_pointer_to): Finalize named pointer
types.
......
......@@ -2135,17 +2135,9 @@ build_allocator (tree type, tree init, tree result_type, Entity_Id gnat_proc,
gnat_proc, gnat_pool, gnat_node);
storage = convert (storage_ptr_type, gnat_protect_expr (storage));
if (TYPE_IS_PADDING_P (type))
{
type = TREE_TYPE (TYPE_FIELDS (type));
if (init)
init = convert (type, init);
}
/* If there is an initializing expression, make a constructor for
the entire object including the bounds and copy it into the
object. If there is no initializing expression, just set the
bounds. */
/* If there is an initializing expression, then make a constructor for
the entire object including the bounds and copy it into the object.
If there is no initializing expression, just set the bounds. */
if (init)
{
VEC(constructor_elt,gc) *v = VEC_alloc (constructor_elt, gc, 2);
......@@ -2154,7 +2146,6 @@ build_allocator (tree type, tree init, tree result_type, Entity_Id gnat_proc,
build_template (template_type, type, init));
CONSTRUCTOR_APPEND_ELT (v, DECL_CHAIN (TYPE_FIELDS (storage_type)),
init);
return convert
(result_type,
build2 (COMPOUND_EXPR, storage_ptr_type,
......
2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/specs/aggr2.ads: New test.
2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/debug2.ad[sb]: New test.
* gnat.dg/debug2_pkg.ads: New helper.
* gnat.dg/debug3.ad[sb]: New test.
......
-- { dg-do compile }
package Aggr2 is
type Buffer is array (Positive range <>) of Boolean;
for Buffer'Alignment use 4;
type Buffer_Ptr is access Buffer;
subtype My_Buffer is Buffer (1 .. 2);
P : Buffer_Ptr := new My_Buffer'(Others => False);
end Aggr2;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment