You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stdcxx.apache.org by fa...@apache.org on 2008/05/15 14:41:26 UTC

svn commit: r656632 - /stdcxx/trunk/include/rw/_mutex.h

Author: faridz
Date: Thu May 15 05:41:25 2008
New Revision: 656632

URL: http://svn.apache.org/viewvc?rev=656632&view=rev
Log:
2008-05-15  Farid Zaripov  <fa...@epam.com>

	Merged from branches/4.2.x.

	2008-05-15  Farid Zaripov  <fa...@epam.com>
	* include/rw/_mutex.h: Set size of __rw_critical_section equal to 40 on _WIN64.


	2008-05-05  Martin Sebor  <se...@roguewave.com>
	STDCXX-911
	* include/rw/_mutex.h [6 == _RWSTD_HP_aCC_MAJOR]: Suppressed HP aCC
	aCC 6 remarks: 64 bit migration: conversion from long* to "int* may
	cause target of pointers to have a different size.

Modified:
    stdcxx/trunk/include/rw/_mutex.h

Modified: stdcxx/trunk/include/rw/_mutex.h
URL: http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_mutex.h?rev=656632&r1=656631&r2=656632&view=diff
==============================================================================
--- stdcxx/trunk/include/rw/_mutex.h (original)
+++ stdcxx/trunk/include/rw/_mutex.h Thu May 15 05:41:25 2008
@@ -156,7 +156,12 @@
 // fake critical section type
 union __rw_critical_section {
     long _C_pad;   // force alignment
+
+#    ifndef _WIN64
     char _C_buf [24 /* == sizeof (_RTL_CRITICAL_SECTION) */];
+#    else    // #ifdef _WIN64
+    char _C_buf [40 /* == sizeof (_RTL_CRITICAL_SECTION) */];
+#    endif   // _WIN64
 };
 
 #    define _RWSTD_MUTEX_T _RW::__rw_critical_section
@@ -1936,6 +1941,14 @@
 
 #if _RWSTD_LONG_SIZE == _RWSTD_INT_SIZE
 
+#  if 6 == _RWSTD_HP_aCC_MAJOR
+     // suppress HP aCC 64 bit migration remark: conversion from
+     // "long *" to "int *" may cause target of pointers to have
+     // a different size
+#    pragma diag_suppress 4230
+#  endif   // HP aCC 6
+
+
 inline long
 __rw_atomic_preincrement (long &__x, bool)
 {
@@ -1981,6 +1994,11 @@
                                  false);
 }
 
+
+#  if 6 == _RWSTD_HP_aCC_MAJOR
+#    pragma diag_default 4230
+#  endif   // HP aCC 6
+
 #endif   // _RWSTD_LONG_SIZE == _RWSTD_INT_SIZE
 
 /********************** generic long long functions *******************/