]> git.ipfire.org Git - thirdparty/gcc.git/commit
trans-expr.c (is_zero_initializer_p): Determine whether a given constant expression...
authorRoger Sayle <roger@eyesopen.com>
Wed, 20 Dec 2006 17:23:43 +0000 (17:23 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Wed, 20 Dec 2006 17:23:43 +0000 (17:23 +0000)
commit6822a10d9d8a0f9635e88624fb12ff34653e47a2
tree2deff0c64810fea5035bf5058aeb42b4c126396b
parentf1f4e530a59db86e577e9e83871626c782e33585
trans-expr.c (is_zero_initializer_p): Determine whether a given constant expression is a zero initializer.

* trans-expr.c (is_zero_initializer_p): Determine whether a given
constant expression is a zero initializer.
(gfc_trans_zero_assign): New function to attempt to optimize
"a(:) = 0.0" as a call to __builtin_memset (a, 0, sizeof(a));
(gfc_trans_assignment): Special case array assignments to a
zero initializer constant, using gfc_trans_zero_assign.

* gfortran.dg/array_memset_1.f90: New test case.

From-SVN: r120078
gcc/fortran/ChangeLog
gcc/fortran/trans-expr.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/array_memset_1.f90 [new file with mode: 0644]