Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Nov 2023 05:25:20 GMT
From:      Warner Losh <imp@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 17a238a15fbe - main - cdefs: Remove __func__ define
Message-ID:  <202311270525.3AR5PK1V067372@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=17a238a15fbed01477fbc54744d35cbccdb65871

commit 17a238a15fbed01477fbc54744d35cbccdb65871
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2023-11-20 23:34:22 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2023-11-27 05:24:02 +0000

    cdefs: Remove __func__ define
    
    We require an ANSI-C compiler to build the base system. It's required
    that __func__ work. Remove this define since the only known problem
    compilers are ancient history (gcc 2.6 from 1994, almost pre-dating the
    project). 3rd party code that used this define will now need to provide
    it via some other means when using non-ansi-c compilers.
    
    PR: 275221 (exp-run)
    Sponsored by:           Netflix
---
 sys/sys/cdefs.h                    | 40 ++------------------------------------
 tests/sys/opencrypto/cryptodevh.py |  4 ----
 2 files changed, 2 insertions(+), 42 deletions(-)

diff --git a/sys/sys/cdefs.h b/sys/sys/cdefs.h
index c5b6190077b3..bcbf418f9323 100644
--- a/sys/sys/cdefs.h
+++ b/sys/sys/cdefs.h
@@ -96,14 +96,9 @@
 /*
  * The __CONCAT macro is used to concatenate parts of symbol names, e.g.
  * with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
- * The __CONCAT macro is a bit tricky to use if it must work in non-ANSI
- * mode -- there must be no spaces between its arguments, and for nested
- * __CONCAT's, all the __CONCAT's must be at the left.  __CONCAT can also
- * concatenate double-quoted strings produced by the __STRING macro, but
- * this only works with ANSI C.
  *
  * __XSTRING is like __STRING, but it expands any macros in its argument
- * first.  It is only available with ANSI C.
+ * first.
  */
 #if defined(__STDC__) || defined(__cplusplus)
 #define	__P(protos)	protos		/* full-blown ANSI C */
@@ -122,33 +117,7 @@
 #define	__inline			/* delete GCC keyword */
 #endif /* ! __CC_SUPPORTS___INLINE */
 #endif /* !__cplusplus */
-
-#else	/* !(__STDC__ || __cplusplus) */
-#define	__P(protos)	()		/* traditional C preprocessor */
-#define	__CONCAT(x,y)	x/**/y
-#define	__STRING(x)	"x"
-
-#if !defined(__CC_SUPPORTS___INLINE)
-#define	__const				/* delete pseudo-ANSI C keywords */
-#define	__inline
-#define	__signed
-#define	__volatile
-/*
- * In non-ANSI C environments, new programs will want ANSI-only C keywords
- * deleted from the program and old programs will want them left alone.
- * When using a compiler other than gcc, programs using the ANSI C keywords
- * const, inline etc. as normal identifiers should define -DNO_ANSI_KEYWORDS.
- * When using "gcc -traditional", we assume that this is the intent; if
- * __GNUC__ is defined but __STDC__ is not, we leave the new keywords alone.
- */
-#ifndef	NO_ANSI_KEYWORDS
-#define	const				/* delete ANSI C keywords */
-#define	inline
-#define	signed
-#define	volatile
-#endif	/* !NO_ANSI_KEYWORDS */
-#endif	/* !__CC_SUPPORTS___INLINE */
-#endif	/* !(__STDC__ || __cplusplus) */
+#endif	/* __STDC__ || __cplusplus */
 
 /*
  * Compiler-dependent macros to help declare dead (non-returning) and
@@ -343,11 +312,6 @@
 #define	__unreachable()	((void)0)
 #endif
 
-/* XXX: should use `#if __STDC_VERSION__ < 199901'. */
-#if !__GNUC_PREREQ__(2, 7)
-#define	__func__	NULL
-#endif
-
 #if (defined(__GNUC__) && __GNUC__ >= 2) && !defined(__STRICT_ANSI__) || __STDC_VERSION__ >= 199901
 #define	__LONG_LONG_SUPPORTED
 #endif
diff --git a/tests/sys/opencrypto/cryptodevh.py b/tests/sys/opencrypto/cryptodevh.py
index 9607bcd4d115..2d723999abc7 100644
--- a/tests/sys/opencrypto/cryptodevh.py
+++ b/tests/sys/opencrypto/cryptodevh.py
@@ -29,10 +29,6 @@ def __STRING(x): return #x
 
 def __XSTRING(x): return __STRING(x)	 
 
-def __P(protos): return ()		 
-
-def __STRING(x): return "x"
-
 def __aligned(x): return __attribute__((__aligned__(x)))
 
 def __section(x): return __attribute__((__section__(x)))



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202311270525.3AR5PK1V067372>