X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=tools%2Flli%2Flli.cpp;h=adc6e90eb99a9c02fd492da28c3be3a463f2990d;hb=867fe8570f299a058f155f98646d85cabc27155b;hp=4c377805e6a3662f3b7111caf198921252353eba;hpb=75ebbceeeda1e7a78efe1848bb90e034f0c6ba61;p=oota-llvm.git diff --git a/tools/lli/lli.cpp b/tools/lli/lli.cpp index 4c377805e6a..adc6e90eb99 100644 --- a/tools/lli/lli.cpp +++ b/tools/lli/lli.cpp @@ -33,6 +33,14 @@ #include "llvm/System/Signals.h" #include "llvm/Target/TargetSelect.h" #include + +#ifdef __CYGWIN__ +#include +#if defined(CYGWIN_VERSION_DLL_MAJOR) && CYGWIN_VERSION_DLL_MAJOR<1007 +#define DO_NOTHING_ATEXIT 1 +#endif +#endif + using namespace llvm; namespace { @@ -99,8 +107,11 @@ namespace { static ExecutionEngine *EE = 0; static void do_shutdown() { + // Cygwin-1.5 invokes DLL's dtors before atexit handler. +#ifndef DO_NOTHING_ATEXIT delete EE; llvm_shutdown(); +#endif } //===----------------------------------------------------------------------===//