aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1995-01-06 18:17:39 -0800
committerJim Wilson <wilson@gcc.gnu.org>1995-01-06 18:17:39 -0800
commitc1fe41cbd37fca7d9079cc7fce669c68ac294c99 (patch)
tree5ebd5cfed699126c01f5e04859f332bd19212ff8
parenta18b5d986c46258e4290d86005195e89522a480d (diff)
downloadgcc-c1fe41cbd37fca7d9079cc7fce669c68ac294c99.zip
gcc-c1fe41cbd37fca7d9079cc7fce669c68ac294c99.tar.gz
gcc-c1fe41cbd37fca7d9079cc7fce669c68ac294c99.tar.bz2
(DO_GLOBAL_CTORS_BODY): Run constructors from right to
left not left to right. From-SVN: r8722
-rw-r--r--gcc/config/h8300/h8300.h4
-rw-r--r--gcc/config/sh/sh.h4
2 files changed, 4 insertions, 4 deletions
diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h
index 674b0f2..494dd45 100644
--- a/gcc/config/h8300/h8300.h
+++ b/gcc/config/h8300/h8300.h
@@ -1037,9 +1037,9 @@ dtors_section() \
extern pfunc __ctors[]; \
extern pfunc __ctors_end[]; \
pfunc *p; \
- for (p = __ctors; p < __ctors_end; p++) \
+ for (p = __ctors_end; p > __ctors; ) \
{ \
- (*p)(); \
+ (*--p)(); \
} \
}
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index 21351b2..de39ef8 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -1292,9 +1292,9 @@ dtors_section() \
extern pfunc __ctors[]; \
extern pfunc __ctors_end[]; \
pfunc *p; \
- for (p = __ctors; p < __ctors_end; p++) \
+ for (p = __ctors_end; p > __ctors; ) \
{ \
- (*p)(); \
+ (*--p)(); \
} \
}