Module Name: src Committed By: kamil Date: Fri Sep 20 10:54:07 UTC 2019
Modified Files: src/sys/external/bsd/drm2/include/asm: bug.h Log Message: Adapt DRMKMS BUILD_BUG_ON_MSG() to static_assert semantics static_assert is violated with runtime-only compiler semantics in a few places. Instead of breaking the build, stop asserting these corner cases. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/external/bsd/drm2/include/asm/bug.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/external/bsd/drm2/include/asm/bug.h diff -u src/sys/external/bsd/drm2/include/asm/bug.h:1.4 src/sys/external/bsd/drm2/include/asm/bug.h:1.5 --- src/sys/external/bsd/drm2/include/asm/bug.h:1.4 Mon Aug 27 06:19:16 2018 +++ src/sys/external/bsd/drm2/include/asm/bug.h Fri Sep 20 10:54:07 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: bug.h,v 1.4 2018/08/27 06:19:16 riastradh Exp $ */ +/* $NetBSD: bug.h,v 1.5 2019/09/20 10:54:07 kamil Exp $ */ /*- * Copyright (c) 2013 The NetBSD Foundation, Inc. @@ -40,7 +40,13 @@ #define BUILD_BUG() do {} while (0) #define BUILD_BUG_ON(CONDITION) CTASSERT(!(CONDITION)) -#define BUILD_BUG_ON_MSG(CONDITION,MSG) CTASSERT(!(CONDITION)) +/* + * static_assert is violated with runtime-only compiler semantics in a few + * places. Instead of breaking the build, stop asserting these corner cases. + */ +#define BUILD_BUG_ON_MSG(CONDITION,MSG) \ + CTASSERT((__builtin_choose_expr( \ + __builtin_constant_p(CONDITION), !(CONDITION), 1))) /* XXX Rate limit? */