]> git.ipfire.org Git - thirdparty/gcc.git/commit
* stor-layout.c (layout_type) <ARRAY_TYPE>: Do not clear TREE_OVERFLOW
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 28 Nov 2012 10:51:19 +0000 (10:51 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 28 Nov 2012 10:51:19 +0000 (10:51 +0000)
commit97658fc97709841bfbdbb9acb2c38a0535b7ba1f
tree66a07373943672c9d9ef3f8e395acb3f21fe89cd
parent004805e2af84281eb0f8606f83b271df19a44193
* stor-layout.c (layout_type) <ARRAY_TYPE>: Do not clear TREE_OVERFLOW
on overflowed zeroes, except in one specific case.
ada/
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use
valid_constant_size_p to detect too large objects.
<E_Subprogram_Type>: Likewise for too large return types.
(allocatable_size_p): Call valid_constant_size_p in the fixed case.
(annotate_value) <INTEGER_CST>: Simplify.
<BIT_AND_EXPR>: Deal with negative values here.
* gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Use
valid_constant_size_p to detect too large objects on the LHS.
* gcc-interface/misc.c (default_pass_by_ref): Likewise for large types.
And use TYPE_SIZE_UNIT throughout.
(must_pass_by_ref): Likewise.
* gcc-interface/utils.c (max_size) <tcc_unary>: Split from common case.
<tcc_binary>: Likewise.  Call size_binop instead of fold_build2.
<tcc_expression>: Simplify.
* gcc-interface/utils2.c (build_allocator): Use valid_constant_size_p
to detect too large allocations.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193886 138bc75d-0d04-0410-961f-82ee72b054a4
13 files changed:
gcc/ChangeLog
gcc/ada/ChangeLog
gcc/ada/gcc-interface/decl.c
gcc/ada/gcc-interface/misc.c
gcc/ada/gcc-interface/trans.c
gcc/ada/gcc-interface/utils.c
gcc/ada/gcc-interface/utils2.c
gcc/stor-layout.c
gcc/testsuite/ChangeLog
gcc/testsuite/gnat.dg/object_overflow1.adb [moved from gcc/testsuite/gnat.dg/object_overflow.adb with 87% similarity]
gcc/testsuite/gnat.dg/object_overflow2.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/object_overflow3.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/object_overflow4.adb [new file with mode: 0644]