Module Name: src
Committed By: kamil
Date: Fri Apr 17 14:33:42 UTC 2020
Modified Files:
src/sys/sys: cdefs.h
Log Message:
Fix __CTASSERT1() in sys/cdefs.h for recent Clang/LLVM
Clang now implements a restriction on giving non-C-compatible anonymous
structs a typedef name for linkage purposes, as described in C++ committee
paper `P1766R1 <http://wg21.link/p1766r1>'.
https://reviews.llvm.org/D74103
To generate a diff of this commit:
cvs rdiff -u -r1.151 -r1.152 src/sys/sys/cdefs.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/sys/cdefs.h
diff -u src/sys/sys/cdefs.h:1.151 src/sys/sys/cdefs.h:1.152
--- src/sys/sys/cdefs.h:1.151 Sat Mar 21 22:45:47 2020
+++ src/sys/sys/cdefs.h Fri Apr 17 14:33:42 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: cdefs.h,v 1.151 2020/03/21 22:45:47 kamil Exp $ */
+/* $NetBSD: cdefs.h,v 1.152 2020/04/17 14:33:42 kamil Exp $ */
/* * Copyright (c) 1991, 1993
* The Regents of the University of California. All rights reserved.
@@ -172,9 +172,9 @@
__CONCAT(_,b))
#endif
#define __CTASSERT0(x, y, z) __CTASSERT1(x, y, z)
-#define __CTASSERT1(x, y, z) \
- typedef struct { \
- unsigned int y ## z : /*CONSTCOND*/(x) ? 1 : -1; \
+#define __CTASSERT1(x, y, z) \
+ typedef struct y ## z ## _struct __unused { \
+ unsigned int y ## z : /*CONSTCOND*/(x) ? 1 : -1; \
} y ## z ## _struct __unused
/*