Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Helpers/Assert.hpp

    r13d5a9 r506d2f  
    1111#include<sstream>
    1212#include<string>
    13 #include<iostream>
     13#include<iosfwd>
    1414#include<vector>
    1515#include<map>
     
    234234      static bool ignore = false;\
    235235      if(!ignore){\
    236         if(Assert::_my_assert::check((condition),STRINGIFY(condition),(message),\
    237                                      __FILE__,__LINE__,ignore)){\
     236        if(!(condition) && Assert::_my_assert::check(STRINGIFY(condition),(message),\
     237                                                     __FILE__,__LINE__,ignore)){\
    238238          Assert::_my_assert::doHooks();\
    239239          DEBUG_BREAK;\
     
    247247                  static bool ignore = false; \
    248248                  if(!ignore){\
    249                           if(Assert::_my_assert::check(false,"Exception caught",(message),__FILE__,__LINE__,ignore)){\
     249                          if(Assert::_my_assert::check("Exception caught",(message),__FILE__,__LINE__,ignore)){\
    250250                            Assert::_my_assert::doHooks();\
    251           DEBUG_BREAK;\
     251                            DEBUG_BREAK;\
    252252                          }\
    253253                  }\
     
    299299    class _my_assert{
    300300    public:
    301       static bool check(const bool res,
    302                         const char* condition,
     301      static bool check(const char* condition,
    303302                        const char* message,
    304303                        const char* filename,
    305304                        const int line,
    306305                        bool& ignore);
     306#ifdef __GNUC__
     307      static void backtrace(const char *file, int line);
     308#endif /* __GNUC__ */
    307309      static void addHook(Assert::hook_t hook);
    308310      static void removeHook(Assert::hook_t hook);
     
    332334
    333335      if(!ignore){
    334         if(_my_assert::check(dynamic_cast<target>(src)==static_cast<target>(src),"type-safe typecast",
    335                                        message_ptr,file,line,ignore)){
     336        bool res = dynamic_cast<target>(src)==static_cast<target>(src);
     337        if(!res && _my_assert::check("type-safe typecast",message_ptr,file,line,ignore)){
    336338          _my_assert::doHooks();
    337339          DEBUG_BREAK;
     
    354356      catch(...){
    355357        if(!ignore){
    356           if(_my_assert::check(0,"type-safe typecast",message_ref,file,line,ignore)){
     358          if(_my_assert::check("type-safe typecast",message_ref,file,line,ignore)){
    357359            _my_assert::doHooks();
    358360            DEBUG_BREAK;
Note: See TracChangeset for help on using the changeset viewer.