re PR middle-end/64744 (ARM: gcc internal compiler error: in store_field, at expr...
authorAlexander Basov <coohpt@gmail.com>
Mon, 3 Aug 2015 19:34:31 +0000 (19:34 +0000)
committerJeff Law <law@gcc.gnu.org>
Mon, 3 Aug 2015 19:34:31 +0000 (13:34 -0600)
commitde0fb9055c0928960ecc8e3a5fe990728611c3ca
treea36a9bce7ffcf52891f3053b06bef0050c844f81
parentf2fef1c8a3a93f320e9842d09a0ad44d0157281b
re PR middle-end/64744 (ARM: gcc internal compiler error: in store_field, at expr.c:6659)

PR middle-end/64744
PR middle-end/48470
PR middle-end/43404
* cfgexpand.c (expand_one_var): Add check if stack is going to
be used in naked function.
* expr.c (expand_expr_addr_expr_1): Remove excess checking
whether expression should not reside in MEM.
* function.c (use_register_for_decl): Do not use registers for
non-register things (volatile, float, BLKMode) in naked functions.

PR middle-end/64744
PR middle-end/48470
PR middle-end/43404
* gcc.target/arm/pr43404.c : New testcase.
* gcc.target/arm/pr48470.c : New testcase.
* gcc.target/arm/pr64744-1.c : New testcase.
* gcc.target/arm/pr64744-2.c : New testcase.

From-SVN: r226528
gcc/ChangeLog
gcc/cfgexpand.c
gcc/expr.c
gcc/function.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/pr43404.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/pr48470.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/pr64744-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/pr64744-2.c [new file with mode: 0644]