From 566b213ab1d920957c39fd8e4ba5b78f517a68fa Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Fri, 29 Jul 1994 19:03:37 +0000 Subject: [PATCH] Reverse order of execution of destructor lists. From-SVN: r7817 --- gcc/libgcc2.c | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c index fc2e1ac64b4..98c75d89e26 100644 --- a/gcc/libgcc2.c +++ b/gcc/libgcc2.c @@ -1995,21 +1995,9 @@ __do_global_dtors () #ifdef DO_GLOBAL_DTORS_BODY DO_GLOBAL_DTORS_BODY; #else - unsigned nptrs = (unsigned HOST_WIDE_INT) __DTOR_LIST__[0]; - unsigned i; - - /* Some systems place the number of pointers - in the first word of the table. - On other systems, that word is -1. - In all cases, the table is null-terminated. */ - - /* If the length is not recorded, count up to the null. */ - if (nptrs == -1) - for (nptrs = 0; __DTOR_LIST__[nptrs + 1] != 0; nptrs++); - - /* GNU LD format. */ - for (i = nptrs; i >= 1; i--) - __DTOR_LIST__[i] (); + func_ptr *p; + for (p = __DTOR_LIST__ + 1; *p; ) + (*p++) (); #endif } -- 2.30.2