tree.c (max_int_size_in_bytes): New function, inspired from code in function.c:assign...
authorOlivier Hainque <hainque@adacore.com>
Fri, 23 Jun 2006 16:18:49 +0000 (16:18 +0000)
committerOlivier Hainque <hainque@gcc.gnu.org>
Fri, 23 Jun 2006 16:18:49 +0000 (16:18 +0000)
commita441447f7f6495bb8a8e6d160d7c095da787e708
tree21e2dd58058f99241fdf55ad680c1c3ebc3dd2e5
parenta3d536f1c1c0aa3d414c17c4acc44c900b1f1e38
tree.c (max_int_size_in_bytes): New function, inspired from code in function.c:assign_temp.

        * tree.c (max_int_size_in_bytes): New function, inspired from
        code in function.c:assign_temp.
        * tree.h (max_int_size_in_bytes): Declare.
        * function.c (assign_temp): Use it.
        * gimplify.c (create_tmp_var): Relax the assertions on the type
        properties, not mandating constant size any more.
        (force_constant_size): New static function.
        (gimple_add_tmp_var): Use it, forcing variable size to a
        constant upper bound if it is not constant on entry.

        * ada/misc.c (gnat_type_max_size): Look at TYPE_ADA_SIZE if we have
        not been able to get a constant upper bound from TYPE_SIZE_UNIT.

* gnat.dg/varsize_temp.adb: New test.

From-SVN: r114938
gcc/ChangeLog
gcc/ada/misc.c
gcc/function.c
gcc/gimplify.c
gcc/testsuite/ChangeLog
gcc/testsuite/gnat.dg/varsize_temp.adb [new file with mode: 0644]
gcc/tree.c
gcc/tree.h