pixman: Branch 'master' - 2 commits

Andrea Canciani ranma42 at kemper.freedesktop.org
Sun Aug 28 22:39:19 PDT 2011


 pixman/pixman-region.c    |    4 ++++
 test/Makefile.win32       |    5 ++++-
 test/lowlevel-blt-bench.c |    6 ++----
 3 files changed, 10 insertions(+), 5 deletions(-)

New commits:
commit 4ffa077487cb71ab17d12c37d298ca8a17e5bf35
Author: Andrea Canciani <ranma42 at gmail.com>
Date:   Sat Aug 13 16:18:17 2011 +0200

    Workaround bug in llvm-gcc
    
    llvm-gcc (shipped in Apple XCode 4.1.1 as the default compiler or in
    the 2.9 release of LLVM) performs an invalid optimization which
    unifies the empty_region and the bad_region structures because they
    have the same content.
    
    A bugreport has been filed against Apple Developers Tool for this
    issue. This commit works around this bug by making one of the two
    structures volatile, so that it cannot be merged.
    
    Fixes region-contains-test.

diff --git a/pixman/pixman-region.c b/pixman/pixman-region.c
index 9ff5157..47beb52 100644
--- a/pixman/pixman-region.c
+++ b/pixman/pixman-region.c
@@ -102,7 +102,11 @@
 
 static const box_type_t PREFIX (_empty_box_) = { 0, 0, 0, 0 };
 static const region_data_type_t PREFIX (_empty_data_) = { 0, 0 };
+#if defined (__llvm__) && !defined (__clang__)
+static const volatile region_data_type_t PREFIX (_broken_data_) = { 0, 0 };
+#else
 static const region_data_type_t PREFIX (_broken_data_) = { 0, 0 };
+#endif
 
 static box_type_t *pixman_region_empty_box =
     (box_type_t *)&PREFIX (_empty_box_);
commit a1ebff0dcbb52cd9eba2bf953b3ba251df6dd787
Author: Andrea Canciani <ranma42 at gmail.com>
Date:   Wed Jun 29 14:14:38 2011 +0200

    win32: Build benchmarks
    
    Add the makefile rules needed to compile lowlevel-blt-bench on win32
    and fix the compilation errors.

diff --git a/test/Makefile.win32 b/test/Makefile.win32
index c71afe1..a62b6fc 100644
--- a/test/Makefile.win32
+++ b/test/Makefile.win32
@@ -35,6 +35,7 @@ SOURCES =			\
 	scaling-test.c		\
 	affine-test.c		\
 	composite.c		\
+	lowlevel-blt-bench.c	\
 	utils.c
 
 TESTS =						\
@@ -56,6 +57,8 @@ TESTS =						\
 	$(CFG_VAR)/affine-test.exe		\
 	$(CFG_VAR)/composite.exe
 
+BENCHMARKS =					\
+	$(CFG_VAR)/lowlevel-blt-bench.exe
 
 OBJECTS     = $(patsubst %.c, $(CFG_VAR)/%.obj, $(SOURCES))
 
@@ -66,7 +69,7 @@ $(CFG_VAR)/%.obj: %.c
 $(CFG_VAR)/%.exe: $(CFG_VAR)/%.obj
 	$(LINK) /NOLOGO /OUT:$@ $< $(CFG_VAR)/utils.obj $(TEST_LDADD)
 
-all: $(OBJECTS) $(TESTS)
+all: $(OBJECTS) $(TESTS) $(BENCHMARKS)
 	@exit 0
 
 clean:
diff --git a/test/lowlevel-blt-bench.c b/test/lowlevel-blt-bench.c
index b00e487..099e434 100644
--- a/test/lowlevel-blt-bench.c
+++ b/test/lowlevel-blt-bench.c
@@ -26,11 +26,9 @@
 #include <stdlib.h>
 #include <string.h>
 
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
+#define PIXMAN_USE_INTERNAL_API
+#include <pixman.h>
 
-#include "pixman-private.h"
 #include "utils.h"
 
 #define SOLID_FLAG 1


More information about the xorg-commit mailing list