svn commit: r284890 - head/sys/sys

Pedro F. Giffuni pfg at FreeBSD.org
Sat Jun 27 15:13:15 UTC 2015


Author: pfg
Date: Sat Jun 27 15:13:14 2015
New Revision: 284890
URL: https://svnweb.freebsd.org/changeset/base/284890

Log:
  Change detection for the gnu_inline attribute.
  
  According to the GCC documentation:
  "This attribute is available in GCC 4.1.3 and later. It is available
  if either of the preprocessor macros __GNUC_GNU_INLINE__ or
  __GNUC_STDC_INLINE__ are defined."
  
  We don't keep the gcc granularity up to the minor number so it's
  better to use the documented way. Current clang defines both
  macros.
  
  Reference:
  https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#Common-Function-Attributes

Modified:
  head/sys/sys/cdefs.h

Modified: head/sys/sys/cdefs.h
==============================================================================
--- head/sys/sys/cdefs.h	Sat Jun 27 12:37:09 2015	(r284889)
+++ head/sys/sys/cdefs.h	Sat Jun 27 15:13:14 2015	(r284890)
@@ -542,7 +542,7 @@
  * using these but GCC-compatible compilers tend to support the extensions
  * well enough to use them in limited cases.
  */ 
-#if __GNUC_PREREQ__(4, 1)
+#if defined(__GNUC_GNU_INLINE__) || defined(__GNUC_STDC_INLINE__)
 #if __has_attribute(artificial) || __GNUC_PREREQ__(4, 3)
 #define	__gnu_inline	__attribute__((__gnu_inline__, __artificial__))
 #else


More information about the svn-src-all mailing list