diff options
author | Hiroaki Etoh <etoh@cvs.openbsd.org> | 2004-04-19 01:06:40 +0000 |
---|---|---|
committer | Hiroaki Etoh <etoh@cvs.openbsd.org> | 2004-04-19 01:06:40 +0000 |
commit | 035301d3f2d8e01fdca091c02d1e4a52958d4699 (patch) | |
tree | 1d419ad4fda1f6fe4f4799e0fee94b029b1fb3b2 /gnu/usr.bin/gcc | |
parent | 31c14de23fda5e7b893c38756bdad2e28769786a (diff) |
fix mysql bug: http://bugs.mysql.com/bug.php?id=1442
changed the order of array relocation with the depth first order of variable scope.
ok pvalchev@
Diffstat (limited to 'gnu/usr.bin/gcc')
-rw-r--r-- | gnu/usr.bin/gcc/gcc/protector.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gnu/usr.bin/gcc/gcc/protector.c b/gnu/usr.bin/gcc/gcc/protector.c index 5e7cdbcffb4..fb8970dc9d2 100644 --- a/gnu/usr.bin/gcc/gcc/protector.c +++ b/gnu/usr.bin/gcc/gcc/protector.c @@ -936,6 +936,9 @@ arrange_var_order (block) while (block && TREE_CODE(block)==BLOCK) { + /* arrange the location of character arrays in depth first. */ + arrange_var_order (BLOCK_SUBBLOCKS (block)); + types = BLOCK_VARS (block); while (types) @@ -991,8 +994,6 @@ arrange_var_order (block) types = TREE_CHAIN(types); } - arrange_var_order (BLOCK_SUBBLOCKS (block)); - block = BLOCK_CHAIN (block); } } |