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 {