2017-09-05 Paul Eggert <eggert@cs.ucla.edu>
+ libc-config: port to MSVC
+ Problems reported by Gisle Vanem in:
+ http://lists.gnu.org/archive/html/bug-gnulib/2017-09/msg00016.html
+ * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
+ (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
+ * m4/__inline.m4: New file.
+ * modules/libc-config (Files): Add it.
+ (Depends-on): Use it.
+
glob: Use enum for __glob_pattern_type result
From a patch proposed by Adhemerval Zanella in:
https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
/* <cdefs.h> __inline is too pessimistic for non-GCC. */
#undef __inline
-#ifndef __GNUC__
-# if 199901 <= __STDC_VERSION__
+#ifndef HAVE___INLINE
+# if 199901 <= __STDC_VERSION__ || defined inline
# define __inline inline
# else
# define __inline
/* A substitute for glibc <libc-symbols.h>, good enough for Gnulib. */
#define attribute_hidden
-#define libc_hidden_proto(name, attrs...)
+#define libc_hidden_proto(name, ...)
#define libc_hidden_def(name)
#define libc_hidden_weak(name)
#define libc_hidden_ver(local, name)
--- /dev/null
+# Test for __inline keyword
+dnl Copyright 2017 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl___INLINE],
+[
+ AC_CACHE_CHECK([whether the compiler supports the __inline keyword],
+ [gl_cv_c___inline],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[typedef int foo_t;
+ static __inline foo_t foo (void) { return 0; }]],
+ [[return foo ();]])],
+ [gl_cv_c___inline=yes],
+ [gl_cv_c___inline=no])])
+ if test $gl_cv_c___inline = yes; then
+ AC_DEFINE([HAVE___INLINE], [1],
+ [Define to 1 if the compiler supports the keyword '__inline'.])
+ fi
+])
Files:
lib/cdefs.h
lib/libc-config.h
+m4/__inline.m4
Depends-on:
configure.ac:
+gl___INLINE
Makefile.am: