diff --git a/Source/kwsys/Configure.hxx.in b/Source/kwsys/Configure.hxx.in index 572d710d7..2f3fe3420 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 fe0e31bcd..2ea54b0f2 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) {