VirtualBox

Changeset 4979 in vbox for trunk/include/iprt/assert.h


Ignore:
Timestamp:
Sep 22, 2007 12:04:09 AM (18 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
24745
Message:

New ring-0 assertion avoidance, now for all platforms.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/assert.h

    r4976 r4979  
    109109#  define AssertCompileMemberAlignment(type, member, align) \
    110110    AssertCompile(!(RT_OFFSETOF(type, member) & ((align) - 1)))
    111 # endif 
     111# endif
    112112#else
    113113# define AssertCompileMemberAlignment(type, member, align) \
    114114    AssertCompile(!(RT_OFFSETOF(type, member) & ((align) - 1)))
    115 #endif 
     115#endif
    116116
    117117
     
    491491#ifdef __GNUC__
    492492# ifndef __L4ENV__
    493 #  define AssertReleaseBreakpoint()   do { __asm__ __volatile__ ("int3\n\tnop"); } while (0)
     493#  define AssertReleaseBreakpoint()     do { RTAssertDoBreakpoint(); __asm__ __volatile__ ("int3\n\tnop"); } while (0)
    494494# else
    495 #  define AssertReleaseBreakpoint()   do { __asm__ __volatile__ ("int3; jmp 1f; 1:"); } while (0)
     495#  define AssertReleaseBreakpoint()     do { RTAssertDoBreakpoint(); __asm__ __volatile__ ("int3; jmp 1f; 1:"); } while (0)
    496496# endif
    497497#elif defined(_MSC_VER)
    498 # define AssertReleaseBreakpoint()      __debugbreak()
     498# define AssertReleaseBreakpoint()      do { RTAssertDoBreakpoint(); __debugbreak(); } while (0)
    499499#else
    500500# error "Unknown compiler"
     
    11741174
    11751175/**
    1176  * Overridable function that decides whether assertions executes the breakpoint or not. 
    1177  * 
     1176 * Overridable function that decides whether assertions executes the breakpoint or not.
     1177 *
    11781178 * The generic implementation will return true.
    1179  * 
     1179 *
    11801180 * @returns true if the breakpoint should be hit, false if it should be ignored.
    11811181 * @remark  The RTDECL() makes this a bit difficult to override on windows. Sorry.
    11821182 */
    11831183RTDECL(bool)    RTAssertDoBreakpoint(void);
    1184 
    11851184
    11861185/** The last assert message, 1st part. */
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette