402N/A--- stdcxx-4.2.1/src/use_facet.h 2008-04-24 20:25:19.000000000 -0400
402N/A+++ stdcxx-4.2.1/src/use_facet.h 2009-07-29 17:21:09.000000000 -0400
402N/A@@ -38,6 +38,16 @@
402N/A
402N/A #include "access.h"
402N/A
402N/A+#if defined(_RWSTD_STRICT_SPARCV8_MUTEX_ALIGNMENT)
402N/A+# pragma pack(8)
402N/A+# pragma align 8(f)
402N/A+# pragma align 8(pf)
402N/A+# define _FACET_UNION_ALIGNMENT_TYPE unsigned long long
402N/A+# define _FACET_UNION_BUFFER_TYPE unsigned char
402N/A+#else
402N/A+# define _FACET_UNION_ALIGNMENT_TYPE void*
402N/A+# define _FACET_UNION_BUFFER_TYPE char
402N/A+#endif
402N/A
402N/A // helper macro _RWSTD_DEFINE_FACET_FACTORY() defines a facet factory
402N/A // function called to construct, on demand, objects of specializations
402N/A@@ -64,8 +74,9 @@
402N/A else { \
402N/A /* construct an ordinary facet in static memory */ \
402N/A static union { \
402N/A- void *align_; \
402N/A- char data_ [sizeof (__rw_ ## fid ## _facet)]; \
402N/A+ _FACET_UNION_ALIGNMENT_TYPE align_; \
402N/A+ _FACET_UNION_BUFFER_TYPE \
402N/A+ data_ [sizeof (__rw_ ## fid ## _facet)]; \
402N/A } f; \
402N/A static __rw_facet* const pf = \
402N/A new (&f) __rw_ ## fid ## _facet (ref); \
402N/A@@ -91,8 +102,9 @@
402N/A { \
402N/A /* construct an ordinary facet in static memory */ \
402N/A static union { \
402N/A- void *align_; \
402N/A- char data_ [sizeof (__rw_ ## fid ## _facet)]; \
402N/A+ _FACET_UNION_ALIGNMENT_TYPE align_; \
402N/A+ _FACET_UNION_BUFFER_TYPE \
402N/A+ data_ [sizeof (__rw_ ## fid ## _facet)]; \
402N/A } f; \
402N/A static __rw_facet* const pf = \
402N/A new (&f) __rw_ ## fid ## _facet (ref); \
402N/A@@ -140,4 +152,8 @@
402N/A } \
402N/A typedef void __rw_unused_type
402N/A
402N/A+#if defined(_RWSTD_STRICT_SPARCV8_MUTEX_ALIGNMENT)
402N/A+# pragma pack(0)
402N/A+#endif
402N/A+
402N/A #endif // _RWSTD_USE_FACET_H_INCLUDED