From e7601ca600ff6a183e85e0cc9408547adefd7e86 Mon Sep 17 00:00:00 2001 From: Bill Hoffman Date: Tue, 22 Sep 2009 14:56:33 -0400 Subject: Put a flag in that will stop system tools from deleting system environment memory on exit, as it can cause gcov to crash the programs. --- Source/kwsys/Configure.hxx.in | 3 +++ Source/kwsys/SystemTools.cxx | 2 ++ 2 files changed, 5 insertions(+) diff --git a/Source/kwsys/Configure.hxx.in b/Source/kwsys/Configure.hxx.in index 572d710..2f3fe34 100644 --- a/Source/kwsys/Configure.hxx.in +++ b/Source/kwsys/Configure.hxx.in @@ -17,6 +17,9 @@ /* Include C configuration. */ #include <@KWSYS_NAMESPACE@/Configure.h> +/* Disable cleanup of putenv memory for issues with GCOV */ +#cmakedefine KWSYS_DO_NOT_CLEAN_PUTENV + /* Whether ANSI C++ stream headers are to be used. */ #define @KWSYS_NAMESPACE@_IOS_USE_ANSI @KWSYS_IOS_USE_ANSI@ diff --git a/Source/kwsys/SystemTools.cxx b/Source/kwsys/SystemTools.cxx index fe0e31b..2ea54b0 100644 --- a/Source/kwsys/SystemTools.cxx +++ b/Source/kwsys/SystemTools.cxx @@ -415,11 +415,13 @@ public: kwsysDeletingCharVector::~kwsysDeletingCharVector() { +#ifndef KWSYS_DO_NOT_CLEAN_PUTENV for(kwsys_stl::vector::iterator i = this->begin(); i != this->end(); ++i) { delete []*i; } +#endif } bool SystemTools::PutEnv(const char* value) { -- cgit v0.12