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.
This commit is contained in:
timeless%mozdev.org 2006-09-27 21:40:46 +00:00
parent 31837c44ec
commit 1ae2857785
3 changed files with 57 additions and 3 deletions

View File

@ -0,0 +1,51 @@
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. */

View File

@ -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)

View File

@ -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. */