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; 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? Thanks! -- William M. (Mike) Miller [EMAIL PROTECTED] -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/