aboutsummaryrefslogtreecommitdiffstats
path: root/lib/string.in.h
diff options
context:
space:
mode:
authorPaul Eggert2021-01-22 11:45:38 -0800
committerPaul Eggert2021-01-22 12:02:55 -0800
commita900e641fa1fd765799f12a7f699f768ebfccfe8 (patch)
treea874eba952d3e51190a2bfe26cfe6c1635e9fda1 /lib/string.in.h
parent9143eba0c6861f467c18bc52d66e6f5c573be56b (diff)
downloademacs-a900e641fa1fd765799f12a7f699f768ebfccfe8.tar.gz
emacs-a900e641fa1fd765799f12a7f699f768ebfccfe8.zip
Update from Gnulib by running admin/merge-gnulib
Diffstat (limited to 'lib/string.in.h')
-rw-r--r--lib/string.in.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/lib/string.in.h b/lib/string.in.h
index 9f68e77c767..c76c1820b36 100644
--- a/lib/string.in.h
+++ b/lib/string.in.h
@@ -69,6 +69,14 @@
69# include <unistd.h> 69# include <unistd.h>
70#endif 70#endif
71 71
72/* AIX 7.2 declares ffsl and ffsll in <strings.h>, not in <string.h>. */
73/* But in any case avoid namespace pollution on glibc systems. */
74#if ((@GNULIB_FFSL@ || @GNULIB_FFSLL@ || defined GNULIB_POSIXCHECK) \
75 && defined _AIX) \
76 && ! defined __GLIBC__
77# include <strings.h>
78#endif
79
72/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ 80/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
73 81
74/* The definition of _GL_ARG_NONNULL is copied here. */ 82/* The definition of _GL_ARG_NONNULL is copied here. */
@@ -110,10 +118,18 @@ _GL_WARN_ON_USE (ffsl, "ffsl is not portable - use the ffsl module");
110 118
111/* Find the index of the least-significant set bit. */ 119/* Find the index of the least-significant set bit. */
112#if @GNULIB_FFSLL@ 120#if @GNULIB_FFSLL@
113# if !@HAVE_FFSLL@ 121# if @REPLACE_FFSLL@
122# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
123# define ffsll rpl_ffsll
124# endif
125_GL_FUNCDECL_RPL (ffsll, int, (long long int i));
126_GL_CXXALIAS_RPL (ffsll, int, (long long int i));
127# else
128# if !@HAVE_FFSLL@
114_GL_FUNCDECL_SYS (ffsll, int, (long long int i)); 129_GL_FUNCDECL_SYS (ffsll, int, (long long int i));
115# endif 130# endif
116_GL_CXXALIAS_SYS (ffsll, int, (long long int i)); 131_GL_CXXALIAS_SYS (ffsll, int, (long long int i));
132# endif
117_GL_CXXALIASWARN (ffsll); 133_GL_CXXALIASWARN (ffsll);
118#elif defined GNULIB_POSIXCHECK 134#elif defined GNULIB_POSIXCHECK
119# undef ffsll 135# undef ffsll