Module Name:    src
Committed By:   joerg
Date:           Sat Dec 25 22:30:52 UTC 2010

Modified Files:
        src/sys/sys: cdefs.h

Log Message:
Rename __BEGIN_PUBLIC / __BEGIN_HIDDEN to __BEGIN_PUBLIC_DECLS /
__BEGIN_HIDDEN_DECLS and corresponding __END_* macros. Push the extern
"C" logic into __BEGIN_PUBLIC_DECLS / __BEGIN_HIDDEN_DECLS to make them
easier to use in header files used by C++.


To generate a diff of this commit:
cvs rdiff -u -r1.80 -r1.81 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.80 src/sys/sys/cdefs.h:1.81
--- src/sys/sys/cdefs.h:1.80	Sat Aug  7 21:03:18 2010
+++ src/sys/sys/cdefs.h	Sat Dec 25 22:30:52 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: cdefs.h,v 1.80 2010/08/07 21:03:18 joerg Exp $	*/
+/*	$NetBSD: cdefs.h,v 1.81 2010/12/25 22:30:52 joerg Exp $	*/
 
 /*
  * Copyright (c) 1991, 1993
@@ -218,32 +218,36 @@
 #define	__used		__unused
 #endif
 
+#if defined(__cplusplus)
+#define	__BEGIN_EXTERN_C	extern "C" {
+#define	__END_EXTERN_C		}
+#define	__static_cast(x,y)	static_cast<x>(y)
+#else
+#define	__BEGIN_EXTERN_C
+#define	__END_EXTERN_C
+#define	__static_cast(x,y)	(x)y
+#endif
+
 #if __GNUC_PREREQ__(4, 0)
 #  define __dso_public	__attribute__((__visibility__("default")))
 #  define __dso_hidden	__attribute__((__visibility__("hidden")))
-#  define __BEGIN_PUBLIC	_Pragma("GCC visibility push(default)")
-#  define __END_PUBLIC		_Pragma("GCC visibility pop")
-#  define __BEGIN_HIDDEN	_Pragma("GCC visibility push(hidden)")
-#  define __END_HIDDEN		_Pragma("GCC visibility pop")
+#  define __BEGIN_PUBLIC_DECLS	\
+	_Pragma("GCC visibility push(default)") __BEGIN_EXTERN_C
+#  define __END_PUBLIC_DECLS	__END_EXTERN_C _Pragma("GCC visibility pop")
+#  define __BEGIN_HIDDEN_DECLS	\
+	_Pragma("GCC visibility push(hidden)") __BEGIN_EXTERN_C
+#  define __END_HIDDEN_DECLS	__END_EXTERN_C _Pragma("GCC visibility pop")
 #else
 #  define __dso_public
 #  define __dso_hidden
-#  define __BEGIN_PUBLIC
-#  define __END_PUBLIC
-#  define __BEGIN_HIDDEN
-#  define __END_HIDDEN
+#  define __BEGIN_PUBLIC_DECLS	__BEGIN_EXTERN_C
+#  define __END_PUBLIC_DECLS	__END_EXTERN_C
+#  define __BEGIN_HIDDEN_DECLS	__BEGIN_EXTERN_C
+#  define __END_HIDDEN_DECLS	__END_EXTERN_C
 #endif
 
-
-#if defined(__cplusplus)
-#define	__BEGIN_DECLS		__BEGIN_PUBLIC extern "C" {
-#define	__END_DECLS		} __END_PUBLIC
-#define	__static_cast(x,y)	static_cast<x>(y)
-#else
-#define	__BEGIN_DECLS		__BEGIN_PUBLIC
-#define	__END_DECLS		__END_PUBLIC
-#define	__static_cast(x,y)	(x)y
-#endif
+#define	__BEGIN_DECLS		__BEGIN_PUBLIC_DECLS
+#define	__END_DECLS		__END_PUBLIC_DECLS
 
 /*
  * Non-static C99 inline functions are optional bodies.  They don't

Reply via email to