Module Name:    src
Committed By:   martin
Date:           Tue Feb 21 10:53:08 UTC 2012

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

Log Message:
There are some places where C99 allows a restrict modifier (and posix
demands it), but C++ does not allow it. So add a C only version of
__restrict, which expands to nothing if compiling C++.
See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49347 for a discussion.


To generate a diff of this commit:
cvs rdiff -u -r1.90 -r1.91 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.90 src/sys/sys/cdefs.h:1.91
--- src/sys/sys/cdefs.h:1.90	Fri Feb 17 18:58:51 2012
+++ src/sys/sys/cdefs.h	Tue Feb 21 10:53:08 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: cdefs.h,v 1.90 2012/02/17 18:58:51 joerg Exp $	*/
+/*	$NetBSD: cdefs.h,v 1.91 2012/02/21 10:53:08 martin Exp $	*/
 
 /*
  * Copyright (c) 1991, 1993
@@ -266,10 +266,13 @@
 #define	__BEGIN_EXTERN_C	extern "C" {
 #define	__END_EXTERN_C		}
 #define	__static_cast(x,y)	static_cast<x>(y)
+/* C++ does not allow a __restrict modifier everywhere C99 does */
+#define	__conly_restrict
 #else
 #define	__BEGIN_EXTERN_C
 #define	__END_EXTERN_C
 #define	__static_cast(x,y)	(x)y
+#define	__conly_restrict	__restrict
 #endif
 
 #if __GNUC_PREREQ__(4, 0)

Reply via email to