From 139aa9db9eddbf7c33df868e99e6ff65f434fa2e Mon Sep 17 00:00:00 2001 From: yamt Date: Thu, 23 Sep 2004 17:40:16 +0000 Subject: [PATCH] a little safer impl of __UNCONST, using __typeof__ if __GNUC__. --- sys/sys/cdefs.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/sys/cdefs.h b/sys/sys/cdefs.h index edfd512c67f8..9ab9e0723c1d 100644 --- a/sys/sys/cdefs.h +++ b/sys/sys/cdefs.h @@ -1,4 +1,4 @@ -/* $NetBSD: cdefs.h,v 1.55 2004/07/01 19:05:12 christos Exp $ */ +/* $NetBSD: cdefs.h,v 1.56 2004/09/23 17:40:16 yamt Exp $ */ /* * Copyright (c) 1991, 1993 @@ -144,7 +144,11 @@ * explicit about unsigned long so that we don't have additional * dependencies. */ +#ifdef __GNUC__ +#define __UNCONST(p) ((__typeof__(*(p)) *)(unsigned long)p) +#else #define __UNCONST(a) ((void *)(unsigned long)(const void *)(a)) +#endif /* * GCC2 provides __extension__ to suppress warnings for various GNU C