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
 
 /*

Reply via email to