Cleaned up some more memory leaks reported by Intel Inspector XE 2011 (Kinneburgh)

git-svn-id: svn://136.177.114.72/svn_GW/IPhreeqc/trunk@5005 1feff8c3-07ed-0310-ac33-dd36852eb9cd
This commit is contained in:
Scott R Charlton 2010-12-29 01:33:27 +00:00
parent e65a77807e
commit d46aaf4b1b
3 changed files with 11 additions and 2 deletions

View File

@ -14,8 +14,8 @@
<Tool Name="VFPostBuildEventTool"/> <Tool Name="VFPostBuildEventTool"/>
<Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration> <Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration>
<Configuration Name="Release|Win32"> <Configuration Name="Release|Win32">
<Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" AdditionalIncludeDirectories="../include"/> <Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" DebugInformationFormat="debugLineInfoOnly" AdditionalIncludeDirectories="../include"/>
<Tool Name="VFLinkerTool" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" AdditionalLibraryDirectories="../lib" SubSystem="subSystemConsole" AdditionalDependencies="IPhreeqc.lib"/> <Tool Name="VFLinkerTool" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" AdditionalLibraryDirectories="../lib" GenerateDebugInformation="true" SubSystem="subSystemConsole" AdditionalDependencies="IPhreeqc.lib"/>
<Tool Name="VFResourceCompilerTool"/> <Tool Name="VFResourceCompilerTool"/>
<Tool Name="VFMidlTool" SuppressStartupBanner="true"/> <Tool Name="VFMidlTool" SuppressStartupBanner="true"/>
<Tool Name="VFCustomBuildTool"/> <Tool Name="VFCustomBuildTool"/>

View File

@ -21,6 +21,8 @@ OPEN(UNIT=13, file='test_memory_leak.log', STATUS='UNKNOWN', IOSTAT = ios)
IF (ios.NE.0) STOP 'Could not open log file' IF (ios.NE.0) STOP 'Could not open log file'
id1 = new_phreeqc_id() id1 = new_phreeqc_id()
!!nerr = DestroyIPhreeqc(id1)
!!STOP
nerr = SetSelectedOutputFileOn(id1,.TRUE.) nerr = SetSelectedOutputFileOn(id1,.TRUE.)
nerr = SetOutputFileOn(id1,.TRUE.) nerr = SetOutputFileOn(id1,.TRUE.)

View File

@ -10,8 +10,15 @@ class IErrorReporter
public: public:
virtual size_t AddError(const char* error_msg) = 0; virtual size_t AddError(const char* error_msg) = 0;
virtual void Clear(void) = 0; virtual void Clear(void) = 0;
virtual ~IErrorReporter(void) = 0;
}; };
// Note: this is req'd in order for subclass dtors to be called
//
IErrorReporter::~IErrorReporter(void)
{
}
template <typename OS> template <typename OS>
class CErrorReporter : public IErrorReporter class CErrorReporter : public IErrorReporter
{ {