Subject: Re: CVS commit: syssrc/sys/dev/cardbus
To: Klaus Klein <kleink@reziprozitaet.de>
From: enami tsugutomo <enami@but-b.or.jp>
List: source-changes
Date: 11/23/2001 09:56:38
> I think your change is functionally just fine. However, for clarity
> and consistency with the leading comment I'd suggest rearranging the
> logic a bit, like
> 
>   #if !C99
>   #if GCC2.6
>   #elif GCC2.4
>   #else
>   #endif
>   #endif /* !C99 */
> 
> This should make it clear that a C99 feature is to be provided.

Ok, I'll commit following version.

btw, the test:

	defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L

is borrowed from assert.h but I noticed that the other part of cdefs.h
uses just this test:

	__STDC_VERSION__ >= 199901L

I guess latter fails on a compiler which doesn't define
__STDC_VERSION__ at all.

enami.
Index: cdefs.h
===================================================================
RCS file: /cvsroot/syssrc/sys/sys/cdefs.h,v
retrieving revision 1.41
diff -u -r1.41 cdefs.h
--- cdefs.h	2001/05/06 14:04:58	1.41
+++ cdefs.h	2001/11/23 00:51:03
@@ -181,6 +181,20 @@
 #endif
 #endif
 
+/*
+ * C99 defines __func__ predefined identifier, which was made available
+ * in GCC 2.95.
+ */
+#if !(defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L)
+#if __GNUC_PREREQ__(2, 6)
+#define	__func__	__PRETTY_FUNCTION__
+#elif __GNUC_PREREQ__(2, 4)
+#define	__func__	__FUNCTION__
+#else
+#define	__func__	""
+#endif
+#endif /* !(defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) */
+
 #if defined(_KERNEL)
 #if defined(NO_KERNEL_RCSIDS)
 #undef __KERNEL_RCSID