[cairo-commit] src/cairo.c src/cairo-compiler-private.h

Jeff Muizelaar jrmuizel at kemper.freedesktop.org
Thu Feb 19 12:47:57 PST 2009


 src/cairo-compiler-private.h |   24 ------------------------
 src/cairo.c                  |    1 -
 2 files changed, 25 deletions(-)

New commits:
commit 78de0e045ec0c10708052ed48df228e786839ddb
Author: Jeff Muizelaar <jmuizelaar at mozilla.com>
Date:   Thu Feb 19 15:45:11 2009 -0500

    Revert "Add CAIRO_ENSURE_UNIQUE macro and use it in _cairo_error()"
    
    This reverts commit 126824f5e6279f56dab0c040394b6c326b848cf7.
    
    It turns out MSVC doesn't handle line continuation characters in __asm{}
    blocks very well, so revert for now until I come up with something that
    works.

diff --git a/src/cairo-compiler-private.h b/src/cairo-compiler-private.h
index 236246e..bd7cccd 100644
--- a/src/cairo-compiler-private.h
+++ b/src/cairo-compiler-private.h
@@ -172,30 +172,6 @@
 #define inline __inline
 #endif
 
-#ifdef _MSC_VER
-/* When compiling with /Gy and /OPT:ICF identical functions will be folded in together.
-   The CAIRO_ENSURE_UNIQUE macro ensures that a function is always unique and
-   will never be folded into another one. Something like this might eventually
-   be needed for GCC but it seems fine for now. */
-#define CAIRO_ENSURE_UNIQUE                 \
-    do {                                    \
-	char func[] = __FUNCTION__;         \
-	char file[] = __FILE__;             \
-	__asm {                             \
-	    jmp __internal_skip_line_no;    \
-	    _emit (__LINE__ & 0xff);        \
-	    _emit ((__LINE__>>8) & 0xff);   \
-	    _emit ((__LINE__>>16) & 0xff);  \
-	    _emit ((__LINE__>>24) & 0xff);  \
-	    lea eax, func;                  \
-	    lea eax, file;                  \
-	    __internal_skip_line_no:        \
-	};                                  \
-    } while (0)
-#else
-#define CAIRO_ENSURE_UNIQUE    do { } while (0)
-#endif
-
 #ifdef __STRICT_ANSI__
 #undef inline
 #define inline __inline__
diff --git a/src/cairo.c b/src/cairo.c
index ddc8d4a..4aa52f6 100644
--- a/src/cairo.c
+++ b/src/cairo.c
@@ -82,7 +82,6 @@ static const cairo_t _cairo_nil = {
 cairo_status_t
 _cairo_error (cairo_status_t status)
 {
-    CAIRO_ENSURE_UNIQUE;
     assert (_cairo_status_is_error (status));
 
     return status;


More information about the cairo-commit mailing list