summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/gcc
diff options
context:
space:
mode:
authorHiroaki Etoh <etoh@cvs.openbsd.org>2004-04-19 01:06:40 +0000
committerHiroaki Etoh <etoh@cvs.openbsd.org>2004-04-19 01:06:40 +0000
commit035301d3f2d8e01fdca091c02d1e4a52958d4699 (patch)
tree1d419ad4fda1f6fe4f4799e0fee94b029b1fb3b2 /gnu/usr.bin/gcc
parent31c14de23fda5e7b893c38756bdad2e28769786a (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.c5
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);
}
}