about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--wcsmbs/wchar.h2
2 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 370d3c6089..31d788808e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2006-03-27  Jakub Jelinek  <jakub@redhat.com>
+
+	* wcsmbs/wchar.h (btowc, wctob): Don't optimize in C++.
+
 2006-03-24  David S. Miller  <davem@sunset.davemloft.net>
 
 	* sysdeps/sparc/sparc32/bits/atomic.h
diff --git a/wcsmbs/wchar.h b/wcsmbs/wchar.h
index 5e4c717904..5dc7e19345 100644
--- a/wcsmbs/wchar.h
+++ b/wcsmbs/wchar.h
@@ -321,6 +321,7 @@ __END_NAMESPACE_C99
 #ifdef __USE_EXTERN_INLINES
 /* Define inline function as optimization.  */
 
+# ifndef __cplusplus
 /* We can use the BTOWC and WCTOB optimizations since we know that all
    locales must use ASCII encoding for the values in the ASCII range
    and because the wchar_t encoding is always ISO 10646.  */
@@ -335,6 +336,7 @@ extern __inline int
 __NTH (wctob (wint_t __wc))
 { return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f'
 	  ? (int) __wc : __wctob_alias (__wc)); }
+# endif
 
 extern __inline size_t
 __NTH (mbrlen (__const char *__restrict __s, size_t __n,