This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Static destructors not running

I'm sure this is the result of my having done something stupid
with the setup application, but suddenly static destructors no
longer run.  That is, for the following program:

    #include <stdio.h>
    struct S {
    } s;
    S::S() {
      printf("In ctor.\n");
    S::~S() {
      printf("In dtor.\n");
    int main() {
      printf("In main.\n");

the output is

    In ctor.
    In main.

The output "In dtor." is missing.

I have tried to update all the gcc compilers and mingw libraries to
the latest versions that the setup application allows me, on the
assumption that somehow I managed to get an old version of a
library during my last update, but nothing I have done restores the
static destructor output.  From cygcheck, here are the versions of
things I think might matter:

    gcc                  3.4.1-1
    gcc-ada              3.4.1-1
    gcc-core             3.4.1-1
    gcc-g++              3.4.1-1
    gcc-g77              3.4.1-1
    gcc-java             3.4.1-1
    gcc-mingw            20040810-1
    gcc-mingw-ada        20040822-1
    gcc-mingw-core       20040822-1
    gcc-mingw-g++        20040822-1
    gcc-mingw-g77        20040822-1
    gcc-mingw-java       20040822-1
    mingw-runtime        3.7-1

Anyone have any idea how I managed to do this to myself and,
more importantly, how I can undo it?


William M. (Mike) Miller

Unsubscribe info:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]