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