From 2c83543b39ea183588fd8358b949891f0edbe5c6 Mon Sep 17 00:00:00 2001 From: aramis_acg Date: Wed, 6 Apr 2011 12:06:40 +0000 Subject: [PATCH] - remove aiAssert, use a plain assert instead. This removes the exit() call in Assimp. git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@943 67173fc5-114c-0410-ac8e-9d2fd5bffc1f --- code/CMakeLists.txt | 2 - code/ValidateDataStructure.cpp | 2 +- code/aiAssert.cpp | 68 ---------------------------------- include/aiAssert.h | 22 ++--------- workspaces/vc9/assimp.vcproj | 4 -- 5 files changed, 4 insertions(+), 94 deletions(-) delete mode 100644 code/aiAssert.cpp diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt index 6d7ec13e5..1b351b813 100644 --- a/code/CMakeLists.txt +++ b/code/CMakeLists.txt @@ -80,7 +80,6 @@ SOURCE_GROUP( Logging FILES ) SOURCE_GROUP( Common FILES - aiAssert.cpp fast_atof.h qnan.h BaseImporter.cpp @@ -672,7 +671,6 @@ ADD_LIBRARY( assimp SHARED XFileImporter.h XFileParser.cpp XFileParser.h - aiAssert.cpp fast_atof.h irrXMLWrapper.h qnan.h diff --git a/code/ValidateDataStructure.cpp b/code/ValidateDataStructure.cpp index 4413c28bb..9004360de 100644 --- a/code/ValidateDataStructure.cpp +++ b/code/ValidateDataStructure.cpp @@ -87,7 +87,7 @@ AI_WONT_RETURN void ValidateDSProcess::ReportError(const char* msg,...) va_end(args); #ifdef _DEBUG - aiAssert( szBuffer,__LINE__,__FILE__ ); + ai_assert( false ); #endif throw DeadlyImportError("Validation failed: " + std::string(szBuffer,iLen)); } diff --git a/code/aiAssert.cpp b/code/aiAssert.cpp deleted file mode 100644 index 5b0eda509..000000000 --- a/code/aiAssert.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/* -Open Asset Import Library (ASSIMP) ----------------------------------------------------------------------- - -Copyright (c) 2006-2008, ASSIMP Development Team -All rights reserved. - -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the -following conditions are met: - -* Redistributions of source code must retain the above - copyright notice, this list of conditions and the - following disclaimer. - -* Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the - following disclaimer in the documentation and/or other - materials provided with the distribution. - -* Neither the name of the ASSIMP team, nor the names of its - contributors may be used to endorse or promote products - derived from this software without specific prior - written permission of the ASSIMP Development Team. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ----------------------------------------------------------------------- -*/ -#include "AssimpPCH.h" -#include "../include/aiAssert.h" -#ifdef _WIN32 -#ifndef __GNUC__ -# include "crtdbg.h" -#endif // ndef gcc -#endif // _WIN32 - -// Set a breakpoint using win32, else line, file and message will be returned and progam ends with -// errrocode = 1 -AI_WONT_RETURN void Assimp::aiAssert (const std::string &message, unsigned int uiLine, const std::string &file) -{ - // moved expression testing out of the function and into the macro to avoid constructing - // two std::string on every single ai_assert test -// if (!expression) - { - // FIX (Aramis): changed std::cerr to std::cout that the message appears in VS' output window ... - std::cout << "File :" << file << ", line " << uiLine << " : " << message << std::endl; - -#ifdef _WIN32 -#ifndef __GNUC__ - // Set breakpoint - __debugbreak(); -#endif //ndef gcc -#else - exit (1); -#endif - } -} diff --git a/include/aiAssert.h b/include/aiAssert.h index 7e2d8f54a..8b7b41444 100644 --- a/include/aiAssert.h +++ b/include/aiAssert.h @@ -3,28 +3,12 @@ #ifndef AI_DEBUG_H_INC #define AI_DEBUG_H_INC -#include - -#ifndef __cplusplus -#error This header requires C++ to be used. -#endif - -namespace Assimp { - -//! \brief ASSIMP specific assertion test, only works in debug mode -//! \param uiLine Line in file -//! \param file Source file -ASSIMP_API AI_WONT_RETURN void aiAssert(const std::string &message, unsigned int uiLine, const std::string &file); - - -//! \def ai_assert -//! \brief ASSIMP specific assertion test #ifdef _DEBUG -# define ai_assert(expression) if( !(expression)) Assimp::aiAssert( #expression, __LINE__, __FILE__); +# include +# define ai_assert(expression) assert(expression) #else -# define ai_assert(expression) +# define ai_assert(expression) #endif -} // Namespace Assimp #endif diff --git a/workspaces/vc9/assimp.vcproj b/workspaces/vc9/assimp.vcproj index 304ecad3a..e48b024c8 100644 --- a/workspaces/vc9/assimp.vcproj +++ b/workspaces/vc9/assimp.vcproj @@ -2298,10 +2298,6 @@ - -