This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[patch] add asserts to convert_move, allow store_expr to handle BLKmode
- From: Eric Christopher <echristo at apple dot com>
- To: gcc-patches List <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 8 May 2007 16:24:18 -0700
- Subject: [patch] add asserts to convert_move, allow store_expr to handle BLKmode
This patch fixes an ICE I found while running the testsuite with -
fstack-protector-all on ppc64-darwin. gcc.dg/compat/vector-2_x.c
failed to compile in mainline with an ICE. Basically convert_move was
being given a BLKmode target with a DImode tmp and crashing later
because convert_move isn't designed to handle BLKmode (as it's comment
agrees). Best place would probably be to handle this in store_expr
where we generated the wackiness in the first place by calling
emit_block_move for the target.
Tested on x86-darwin, ppc-darwin, ppc64-darwin and x86_64-darwin with
no regressions.
OK? Did I miss something?
-eric
2007-05-08 Eric Christopher <echristo@apple.com>
* expr.c (convert_move): Assert that we don't have a BLKmode operand.
(store_expr): Handle BLKmode moves by calling emit_block_move.
Attachment:
expr.c.diff.txt
Description: Text document