* tree.c (max_int_size_in_bytes): New function, inspired from
authorhainque <hainque@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 23 Jun 2006 16:18:49 +0000 (16:18 +0000)
committerhainque <hainque@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 23 Jun 2006 16:18:49 +0000 (16:18 +0000)
commit150edb0704ca198f9f9f37ff133ab6210e2ff3ae
tree21e2dd58058f99241fdf55ad680c1c3ebc3dd2e5
parent457556f88e31daea3fe57e4bdf751528438331ac
    * 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114938 138bc75d-0d04-0410-961f-82ee72b054a4
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