Module Name:    src
Committed By:   christos
Date:           Wed Jul 20 20:06:05 UTC 2016

Modified Files:
        src/lib/libpthread: pthread_types.h

Log Message:
cplusplus does not like complex named initializers...


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/lib/libpthread/pthread_types.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libpthread/pthread_types.h
diff -u src/lib/libpthread/pthread_types.h:1.20 src/lib/libpthread/pthread_types.h:1.21
--- src/lib/libpthread/pthread_types.h:1.20	Wed Jul 20 15:26:52 2016
+++ src/lib/libpthread/pthread_types.h	Wed Jul 20 16:06:04 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: pthread_types.h,v 1.20 2016/07/20 19:26:52 christos Exp $	*/
+/*	$NetBSD: pthread_types.h,v 1.21 2016/07/20 20:06:04 christos Exp $	*/
 
 /*-
  * Copyright (c) 2001, 2008 The NetBSD Foundation, Inc.
@@ -114,7 +114,11 @@ struct	__pthread_mutex_st {
 	__pthread_spin_t ptm_errorcheck;
 #ifdef __CPU_SIMPLE_LOCK_PAD
 	uint8_t		ptm_pad1[3];
+#ifdef __cplusplus
+#define _PTHREAD_MUTEX_PAD(a)	{ 0, 0, 0 },
+#else
 #define _PTHREAD_MUTEX_PAD(a)	.a = { 0, 0, 0 },
+#endif
 #else
 #define _PTHREAD_MUTEX_PAD(a)
 #endif
@@ -134,16 +138,22 @@ struct	__pthread_mutex_st {
 #define	_PT_MUTEX_MAGIC	0x33330003
 #define	_PT_MUTEX_DEAD	0xDEAD0003
 
-#define _PTHREAD_MUTEX_INITIALIZER {			\
-	.ptm_magic = _PT_MUTEX_MAGIC, 			\
-	.ptm_errorcheck = __SIMPLELOCK_UNLOCKED,	\
-	_PTHREAD_MUTEX_PAD(ptm_pad1)			\
-	.ptm_ceiling = 0,				\
-	_PTHREAD_MUTEX_PAD(ptm_pad2)			\
-	.ptm_owner = NULL,				\
-	.ptm_waiters = NULL,				\
-	.ptm_recursed = 0,				\
-	.ptm_spare2 = NULL,				\
+#ifdef __cplusplus
+#define _PTHREAD_MUTEX_INI(a, b) b
+#else
+#define _PTHREAD_MUTEX_INI(a, b) .a = b
+#endif
+
+#define _PTHREAD_MUTEX_INITIALIZER {					\
+	_PTHREAD_MUTEX_INI(ptm_magic, _PT_MUTEX_MAGIC), 		\
+	_PTHREAD_MUTEX_INI(ptm_errorcheck, __SIMPLELOCK_UNLOCKED),	\
+	_PTHREAD_MUTEX_PAD(ptm_pad1)					\
+	_PTHREAD_MUTEX_INI(ptm_ceiling, 0),				\
+	_PTHREAD_MUTEX_PAD(ptm_pad2)					\
+	_PTHREAD_MUTEX_INI(ptm_owner, NULL),				\
+	_PTHREAD_MUTEX_INI(ptm_waiters, NULL),				\
+	_PTHREAD_MUTEX_INI(ptm_recursed, 0),				\
+	_PTHREAD_MUTEX_INI(ptm_spare2, NULL),				\
 }
 
 struct	__pthread_mutexattr_st {

Reply via email to