Commit 1ae28577 authored by timeless%mozdev.org's avatar timeless%mozdev.org
Browse files

b=354388, Update cairo to cairo 2006-09-26 trunk broke Solaris compiler

because the cairo people didn't actually read the documentation.
__hidden is something that comes before the declaration, not after.
almost all of cairo gets this right. but not libpixman.
parent 31837c44
Loading
Loading
Loading
Loading
+51 −0
Original line number Diff line number Diff line
Index: libpixman/src/icrop.h
===================================================================
RCS file: /cvsroot/mozilla/gfx/cairo/libpixman/src/icrop.h,v
retrieving revision 1.4
diff -u -r1.4 libpixman/src/icrop.h
--- libpixman/src/icrop.h
+++ libpixman/src/icrop.h
@@ -29,7 +29,7 @@
     FbBits   ca1, cx1, ca2, cx2;
 } FbMergeRopRec, *FbMergeRopPtr;
 
-extern const FbMergeRopRec FbMergeRopBits[16] pixman_private;
+extern const pixman_private FbMergeRopRec FbMergeRopBits[16];
 
 #define FbDeclareMergeRop() FbBits   _ca1, _cx1, _ca2, _cx2;
 #define FbDeclarePrebuiltMergeRop()	FbBits	_cca, _ccx;
@@ -98,7 +98,7 @@
  */
 
 /* half of table */
-extern const pixman_bits_t fbStipple16Bits[256] pixman_private;
+extern const pixman_private pixman_bits_t fbStipple16Bits[256];
 #define FbStipple16Bits(b) \
     (fbStipple16Bits[(b)&0xff] | fbStipple16Bits[(b) >> 8] << FB_HALFUNIT)
 
Index: libpixman/src/slim_internal.h
===================================================================
RCS file: /cvsroot/mozilla/gfx/cairo/libpixman/src/slim_internal.h,v
retrieving revision 1.4
diff -u -r1.4 libpixman/src/slim_internal.h
--- libpixman/src/slim_internal.h
+++ libpixman/src/slim_internal.h
@@ -27,6 +27,8 @@
 #ifndef _SLIM_INTERNAL_H_
 #define _SLIM_INTERNAL_H_ 1
 
+/* XXX THIS DOCUMENTATION IS BLOODY WRONG. SOMEONE DID NOT ACTUALLY
+       CONSULT WITH THE COMPILERS THEY CLAIMED TO SUPPORT */
 /* This macro marks a symbol as STV_HIDDEN, which prevents it from being
    added to the dynamic symbol table of the shared library.  This prevents
    users of the library from knowingly or unknowingly accessing library
@@ -40,7 +42,8 @@
 	somefunction(void);
 
    or after a data name,
-
+    XXX THIS IS WRONG. YOU CAN NOT DO THIS WITH THE COMPILERS THAT
+        THIS PACKAGE CLAIMS TO SUPPORT.
 	extern int somedata pixman_private;
 
    The ELF visibility attribute did not exist before gcc 3.3.  */
+2 −2
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ typedef struct _mergeRopBits {
    FbBits   ca1, cx1, ca2, cx2;
} FbMergeRopRec, *FbMergeRopPtr;

extern const FbMergeRopRec FbMergeRopBits[16] pixman_private;
extern const pixman_private FbMergeRopRec FbMergeRopBits[16];

#define FbDeclareMergeRop() FbBits   _ca1, _cx1, _ca2, _cx2;
#define FbDeclarePrebuiltMergeRop()	FbBits	_cca, _ccx;
@@ -98,7 +98,7 @@ extern const FbMergeRopRec FbMergeRopBits[16] pixman_private;
 */

/* half of table */
extern const pixman_bits_t fbStipple16Bits[256] pixman_private;
extern const pixman_private pixman_bits_t fbStipple16Bits[256];
#define FbStipple16Bits(b) \
    (fbStipple16Bits[(b)&0xff] | fbStipple16Bits[(b) >> 8] << FB_HALFUNIT)

+4 −1
Original line number Diff line number Diff line
@@ -27,6 +27,8 @@
#ifndef _SLIM_INTERNAL_H_
#define _SLIM_INTERNAL_H_ 1

/* XXX THIS DOCUMENTATION IS BLOODY WRONG. SOMEONE DID NOT ACTUALLY
       CONSULT WITH THE COMPILERS THEY CLAIMED TO SUPPORT */
/* This macro marks a symbol as STV_HIDDEN, which prevents it from being
   added to the dynamic symbol table of the shared library.  This prevents
   users of the library from knowingly or unknowingly accessing library
@@ -40,7 +42,8 @@
	somefunction(void);

   or after a data name,

    XXX THIS IS WRONG. YOU CAN NOT DO THIS WITH THE COMPILERS THAT
        THIS PACKAGE CLAIMS TO SUPPORT.
	extern int somedata pixman_private;

   The ELF visibility attribute did not exist before gcc 3.3.  */