diff options
Diffstat (limited to 'gl')
399 files changed, 4178 insertions, 2516 deletions
diff --git a/gl/Makefile.am b/gl/Makefile.am index 5451c47b..deb665cf 100644 --- a/gl/Makefile.am +++ b/gl/Makefile.am | |||
| @@ -1,10 +1,10 @@ | |||
| 1 | ## DO NOT EDIT! GENERATED AUTOMATICALLY! | 1 | ## DO NOT EDIT! GENERATED AUTOMATICALLY! |
| 2 | ## Process this file with automake to produce Makefile.in. | 2 | ## Process this file with automake to produce Makefile.in. |
| 3 | # Copyright (C) 2002-2021 Free Software Foundation, Inc. | 3 | # Copyright (C) 2002-2022 Free Software Foundation, Inc. |
| 4 | # | 4 | # |
| 5 | # This file is free software; you can redistribute it and/or modify | 5 | # This file is free software; you can redistribute it and/or modify |
| 6 | # it under the terms of the GNU General Public License as published by | 6 | # it under the terms of the GNU General Public License as published by |
| 7 | # the Free Software Foundation; either version 3 of the License, or | 7 | # the Free Software Foundation, either version 3 of the License, or |
| 8 | # (at your option) any later version. | 8 | # (at your option) any later version. |
| 9 | # | 9 | # |
| 10 | # This file is distributed in the hope that it will be useful, | 10 | # This file is distributed in the hope that it will be useful, |
| @@ -56,7 +56,7 @@ | |||
| 56 | # vasprintf \ | 56 | # vasprintf \ |
| 57 | # vsnprintf | 57 | # vsnprintf |
| 58 | 58 | ||
| 59 | AUTOMAKE_OPTIONS = 1.11 gnits subdir-objects | 59 | AUTOMAKE_OPTIONS = 1.14 gnits subdir-objects |
| 60 | 60 | ||
| 61 | SUBDIRS = | 61 | SUBDIRS = |
| 62 | noinst_HEADERS = | 62 | noinst_HEADERS = |
| @@ -79,6 +79,7 @@ AM_CFLAGS = | |||
| 79 | noinst_LIBRARIES += libgnu.a | 79 | noinst_LIBRARIES += libgnu.a |
| 80 | 80 | ||
| 81 | libgnu_a_SOURCES = | 81 | libgnu_a_SOURCES = |
| 82 | libgnu_a_CFLAGS = $(AM_CFLAGS) $(GL_CFLAG_GNULIB_WARNINGS) | ||
| 82 | libgnu_a_LIBADD = $(gl_LIBOBJS) | 83 | libgnu_a_LIBADD = $(gl_LIBOBJS) |
| 83 | libgnu_a_DEPENDENCIES = $(gl_LIBOBJS) | 84 | libgnu_a_DEPENDENCIES = $(gl_LIBOBJS) |
| 84 | EXTRA_libgnu_a_SOURCES = | 85 | EXTRA_libgnu_a_SOURCES = |
| @@ -100,11 +101,10 @@ BUILT_SOURCES += $(ALLOCA_H) | |||
| 100 | # doesn't have one that works with the given compiler. | 101 | # doesn't have one that works with the given compiler. |
| 101 | if GL_GENERATE_ALLOCA_H | 102 | if GL_GENERATE_ALLOCA_H |
| 102 | alloca.h: alloca.in.h $(top_builddir)/config.status | 103 | alloca.h: alloca.in.h $(top_builddir)/config.status |
| 103 | $(AM_V_GEN)rm -f $@-t $@ && \ | 104 | $(gl_V_at)$(SED_HEADER_STDOUT) \ |
| 104 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ | 105 | -e 's|@''HAVE_ALLOCA_H''@|$(HAVE_ALLOCA_H)|g' \ |
| 105 | sed -e 's|@''HAVE_ALLOCA_H''@|$(HAVE_ALLOCA_H)|g' < $(srcdir)/alloca.in.h; \ | 106 | $(srcdir)/alloca.in.h > $@-t |
| 106 | } > $@-t && \ | 107 | $(AM_V_at)mv $@-t $@ |
| 107 | mv -f $@-t $@ | ||
| 108 | else | 108 | else |
| 109 | alloca.h: $(top_builddir)/config.status | 109 | alloca.h: $(top_builddir)/config.status |
| 110 | rm -f $@ | 110 | rm -f $@ |
| @@ -122,10 +122,9 @@ BUILT_SOURCES += arpa/inet.h | |||
| 122 | # We need the following in order to create <arpa/inet.h> when the system | 122 | # We need the following in order to create <arpa/inet.h> when the system |
| 123 | # doesn't have one. | 123 | # doesn't have one. |
| 124 | arpa/inet.h: arpa_inet.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) | 124 | arpa/inet.h: arpa_inet.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) |
| 125 | $(AM_V_at)$(MKDIR_P) arpa | 125 | $(AM_V_GEN)$(MKDIR_P) '%reldir%/arpa' |
| 126 | $(AM_V_GEN)rm -f $@-t $@ && \ | 126 | $(AM_V_at)$(SED_HEADER_STDOUT) \ |
| 127 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ | 127 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 128 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 129 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 128 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 130 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 129 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| 131 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ | 130 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ |
| @@ -142,9 +141,8 @@ arpa/inet.h: arpa_inet.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON | |||
| 142 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ | 141 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ |
| 143 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ | 142 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ |
| 144 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ | 143 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ |
| 145 | < $(srcdir)/arpa_inet.in.h; \ | 144 | $(srcdir)/arpa_inet.in.h > $@-t |
| 146 | } > $@-t && \ | 145 | $(AM_V_at)mv $@-t $@ |
| 147 | mv $@-t $@ | ||
| 148 | MOSTLYCLEANFILES += arpa/inet.h arpa/inet.h-t | 146 | MOSTLYCLEANFILES += arpa/inet.h arpa/inet.h-t |
| 149 | MOSTLYCLEANDIRS += arpa | 147 | MOSTLYCLEANDIRS += arpa |
| 150 | 148 | ||
| @@ -175,10 +173,9 @@ EXTRA_DIST += basename-lgpl.h | |||
| 175 | 173 | ||
| 176 | ## begin gnulib module btowc | 174 | ## begin gnulib module btowc |
| 177 | 175 | ||
| 178 | 176 | if GL_COND_OBJ_BTOWC | |
| 179 | EXTRA_DIST += btowc.c | 177 | libgnu_a_SOURCES += btowc.c |
| 180 | 178 | endif | |
| 181 | EXTRA_libgnu_a_SOURCES += btowc.c | ||
| 182 | 179 | ||
| 183 | ## end gnulib module btowc | 180 | ## end gnulib module btowc |
| 184 | 181 | ||
| @@ -190,11 +187,8 @@ BUILT_SOURCES += $(BYTESWAP_H) | |||
| 190 | # doesn't have one. | 187 | # doesn't have one. |
| 191 | if GL_GENERATE_BYTESWAP_H | 188 | if GL_GENERATE_BYTESWAP_H |
| 192 | byteswap.h: byteswap.in.h $(top_builddir)/config.status | 189 | byteswap.h: byteswap.in.h $(top_builddir)/config.status |
| 193 | $(AM_V_GEN)rm -f $@-t $@ && \ | 190 | $(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/byteswap.in.h |
| 194 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ | 191 | $(AM_V_at)mv $@-t $@ |
| 195 | cat $(srcdir)/byteswap.in.h; \ | ||
| 196 | } > $@-t && \ | ||
| 197 | mv -f $@-t $@ | ||
| 198 | else | 192 | else |
| 199 | byteswap.h: $(top_builddir)/config.status | 193 | byteswap.h: $(top_builddir)/config.status |
| 200 | rm -f $@ | 194 | rm -f $@ |
| @@ -233,10 +227,9 @@ EXTRA_DIST += cloexec.h | |||
| 233 | 227 | ||
| 234 | ## begin gnulib module close | 228 | ## begin gnulib module close |
| 235 | 229 | ||
| 236 | 230 | if GL_COND_OBJ_CLOSE | |
| 237 | EXTRA_DIST += close.c | 231 | libgnu_a_SOURCES += close.c |
| 238 | 232 | endif | |
| 239 | EXTRA_libgnu_a_SOURCES += close.c | ||
| 240 | 233 | ||
| 241 | ## end gnulib module close | 234 | ## end gnulib module close |
| 242 | 235 | ||
| @@ -282,10 +275,9 @@ EXTRA_DIST += dirname.h | |||
| 282 | 275 | ||
| 283 | ## begin gnulib module dup2 | 276 | ## begin gnulib module dup2 |
| 284 | 277 | ||
| 285 | 278 | if GL_COND_OBJ_DUP2 | |
| 286 | EXTRA_DIST += dup2.c | 279 | libgnu_a_SOURCES += dup2.c |
| 287 | 280 | endif | |
| 288 | EXTRA_libgnu_a_SOURCES += dup2.c | ||
| 289 | 281 | ||
| 290 | ## end gnulib module dup2 | 282 | ## end gnulib module dup2 |
| 291 | 283 | ||
| @@ -294,27 +286,24 @@ EXTRA_libgnu_a_SOURCES += dup2.c | |||
| 294 | BUILT_SOURCES += malloc/dynarray.gl.h malloc/dynarray-skeleton.gl.h | 286 | BUILT_SOURCES += malloc/dynarray.gl.h malloc/dynarray-skeleton.gl.h |
| 295 | 287 | ||
| 296 | malloc/dynarray.gl.h: malloc/dynarray.h | 288 | malloc/dynarray.gl.h: malloc/dynarray.h |
| 297 | $(AM_V_at)$(MKDIR_P) malloc | 289 | $(AM_V_GEN)$(MKDIR_P) '%reldir%/malloc' |
| 298 | $(AM_V_GEN)rm -f $@-t $@ && \ | 290 | $(AM_V_at)$(SED_HEADER_STDOUT) \ |
| 299 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ | 291 | -e '/libc_hidden_proto/d' \ |
| 300 | sed -e '/libc_hidden_proto/d' < $(srcdir)/malloc/dynarray.h; \ | 292 | $(srcdir)/malloc/dynarray.h > $@-t |
| 301 | } > $@-t && \ | 293 | $(AM_V_at)mv $@-t $@ |
| 302 | mv $@-t $@ | ||
| 303 | MOSTLYCLEANFILES += malloc/dynarray.gl.h malloc/dynarray.gl.h-t | 294 | MOSTLYCLEANFILES += malloc/dynarray.gl.h malloc/dynarray.gl.h-t |
| 304 | 295 | ||
| 305 | malloc/dynarray-skeleton.gl.h: malloc/dynarray-skeleton.c | 296 | malloc/dynarray-skeleton.gl.h: malloc/dynarray-skeleton.c |
| 306 | $(AM_V_at)$(MKDIR_P) malloc | 297 | $(AM_V_GEN)$(MKDIR_P) '%reldir%/malloc' |
| 307 | $(AM_V_GEN)rm -f $@-t $@ && \ | 298 | $(AM_V_at)$(SED_HEADER_STDOUT) \ |
| 308 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ | 299 | -e 's|<malloc/dynarray\.h>|<malloc/dynarray.gl.h>|g' \ |
| 309 | sed -e 's|<malloc/dynarray\.h>|<malloc/dynarray.gl.h>|g' \ | ||
| 310 | -e 's|__attribute_maybe_unused__|_GL_ATTRIBUTE_MAYBE_UNUSED|g' \ | 300 | -e 's|__attribute_maybe_unused__|_GL_ATTRIBUTE_MAYBE_UNUSED|g' \ |
| 311 | -e 's|__attribute_nonnull__|_GL_ATTRIBUTE_NONNULL|g' \ | 301 | -e 's|__attribute_nonnull__|_GL_ATTRIBUTE_NONNULL|g' \ |
| 312 | -e 's|__attribute_warn_unused_result__|_GL_ATTRIBUTE_NODISCARD|g' \ | 302 | -e 's|__attribute_warn_unused_result__|_GL_ATTRIBUTE_NODISCARD|g' \ |
| 313 | -e 's|__glibc_likely|_GL_LIKELY|g' \ | 303 | -e 's|__glibc_likely|_GL_LIKELY|g' \ |
| 314 | -e 's|__glibc_unlikely|_GL_UNLIKELY|g' \ | 304 | -e 's|__glibc_unlikely|_GL_UNLIKELY|g' \ |
| 315 | < $(srcdir)/malloc/dynarray-skeleton.c; \ | 305 | $(srcdir)/malloc/dynarray-skeleton.c > $@-t |
| 316 | } > $@-t && \ | 306 | $(AM_V_at)mv $@-t $@ |
| 317 | mv $@-t $@ | ||
| 318 | MOSTLYCLEANFILES += malloc/dynarray-skeleton.gl.h malloc/dynarray-skeleton.gl.h-t | 307 | MOSTLYCLEANFILES += malloc/dynarray-skeleton.gl.h malloc/dynarray-skeleton.gl.h-t |
| 319 | 308 | ||
| 320 | libgnu_a_SOURCES += malloc/dynarray_at_failure.c malloc/dynarray_emplace_enlarge.c malloc/dynarray_finalize.c malloc/dynarray_resize.c malloc/dynarray_resize_clear.c | 309 | libgnu_a_SOURCES += malloc/dynarray_at_failure.c malloc/dynarray_emplace_enlarge.c malloc/dynarray_finalize.c malloc/dynarray_resize.c malloc/dynarray_resize_clear.c |
| @@ -333,9 +322,8 @@ BUILT_SOURCES += $(ERRNO_H) | |||
| 333 | # doesn't have one that is POSIX compliant. | 322 | # doesn't have one that is POSIX compliant. |
| 334 | if GL_GENERATE_ERRNO_H | 323 | if GL_GENERATE_ERRNO_H |
| 335 | errno.h: errno.in.h $(top_builddir)/config.status | 324 | errno.h: errno.in.h $(top_builddir)/config.status |
| 336 | $(AM_V_GEN)rm -f $@-t $@ && \ | 325 | $(gl_V_at)$(SED_HEADER_STDOUT) \ |
| 337 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ | 326 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 338 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 339 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 327 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 340 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 328 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| 341 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ | 329 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ |
| @@ -346,9 +334,8 @@ errno.h: errno.in.h $(top_builddir)/config.status | |||
| 346 | -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \ | 334 | -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \ |
| 347 | -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \ | 335 | -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \ |
| 348 | -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \ | 336 | -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \ |
| 349 | < $(srcdir)/errno.in.h; \ | 337 | $(srcdir)/errno.in.h > $@-t |
| 350 | } > $@-t && \ | 338 | $(AM_V_at)mv $@-t $@ |
| 351 | mv $@-t $@ | ||
| 352 | else | 339 | else |
| 353 | errno.h: $(top_builddir)/config.status | 340 | errno.h: $(top_builddir)/config.status |
| 354 | rm -f $@ | 341 | rm -f $@ |
| @@ -361,10 +348,11 @@ EXTRA_DIST += errno.in.h | |||
| 361 | 348 | ||
| 362 | ## begin gnulib module error | 349 | ## begin gnulib module error |
| 363 | 350 | ||
| 351 | if GL_COND_OBJ_ERROR | ||
| 352 | libgnu_a_SOURCES += error.c | ||
| 353 | endif | ||
| 364 | 354 | ||
| 365 | EXTRA_DIST += error.c error.h | 355 | EXTRA_DIST += error.h |
| 366 | |||
| 367 | EXTRA_libgnu_a_SOURCES += error.c | ||
| 368 | 356 | ||
| 369 | ## end gnulib module error | 357 | ## end gnulib module error |
| 370 | 358 | ||
| @@ -378,10 +366,9 @@ EXTRA_DIST += exitfail.h | |||
| 378 | 366 | ||
| 379 | ## begin gnulib module fcntl | 367 | ## begin gnulib module fcntl |
| 380 | 368 | ||
| 381 | 369 | if GL_COND_OBJ_FCNTL | |
| 382 | EXTRA_DIST += fcntl.c | 370 | libgnu_a_SOURCES += fcntl.c |
| 383 | 371 | endif | |
| 384 | EXTRA_libgnu_a_SOURCES += fcntl.c | ||
| 385 | 372 | ||
| 386 | ## end gnulib module fcntl | 373 | ## end gnulib module fcntl |
| 387 | 374 | ||
| @@ -392,9 +379,8 @@ BUILT_SOURCES += fcntl.h | |||
| 392 | # We need the following in order to create <fcntl.h> when the system | 379 | # We need the following in order to create <fcntl.h> when the system |
| 393 | # doesn't have one that works with the given compiler. | 380 | # doesn't have one that works with the given compiler. |
| 394 | fcntl.h: fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) | 381 | fcntl.h: fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) |
| 395 | $(AM_V_GEN)rm -f $@-t $@ && \ | 382 | $(gl_V_at)$(SED_HEADER_STDOUT) \ |
| 396 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ | 383 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 397 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 398 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 384 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 399 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 385 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| 400 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ | 386 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ |
| @@ -415,9 +401,8 @@ fcntl.h: fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) | |||
| 415 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ | 401 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ |
| 416 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ | 402 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ |
| 417 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ | 403 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ |
| 418 | < $(srcdir)/fcntl.in.h; \ | 404 | $(srcdir)/fcntl.in.h > $@-t |
| 419 | } > $@-t && \ | 405 | $(AM_V_at)mv $@-t $@ |
| 420 | mv $@-t $@ | ||
| 421 | MOSTLYCLEANFILES += fcntl.h fcntl.h-t | 406 | MOSTLYCLEANFILES += fcntl.h fcntl.h-t |
| 422 | 407 | ||
| 423 | EXTRA_DIST += fcntl.in.h | 408 | EXTRA_DIST += fcntl.in.h |
| @@ -434,10 +419,11 @@ EXTRA_DIST += fd-hook.h | |||
| 434 | 419 | ||
| 435 | ## begin gnulib module fflush | 420 | ## begin gnulib module fflush |
| 436 | 421 | ||
| 422 | if GL_COND_OBJ_FFLUSH | ||
| 423 | libgnu_a_SOURCES += fflush.c | ||
| 424 | endif | ||
| 437 | 425 | ||
| 438 | EXTRA_DIST += fflush.c stdio-impl.h | 426 | EXTRA_DIST += stdio-impl.h |
| 439 | |||
| 440 | EXTRA_libgnu_a_SOURCES += fflush.c | ||
| 441 | 427 | ||
| 442 | ## end gnulib module fflush | 428 | ## end gnulib module fflush |
| 443 | 429 | ||
| @@ -456,35 +442,41 @@ BUILT_SOURCES += $(FLOAT_H) | |||
| 456 | # doesn't have one that works with the given compiler. | 442 | # doesn't have one that works with the given compiler. |
| 457 | if GL_GENERATE_FLOAT_H | 443 | if GL_GENERATE_FLOAT_H |
| 458 | float.h: float.in.h $(top_builddir)/config.status | 444 | float.h: float.in.h $(top_builddir)/config.status |
| 459 | $(AM_V_GEN)rm -f $@-t $@ && \ | 445 | $(gl_V_at)$(SED_HEADER_STDOUT) \ |
| 460 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ | 446 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 461 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 462 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 447 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 463 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 448 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| 464 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ | 449 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ |
| 465 | -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \ | 450 | -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \ |
| 466 | -e 's|@''REPLACE_ITOLD''@|$(REPLACE_ITOLD)|g' \ | 451 | -e 's|@''REPLACE_ITOLD''@|$(REPLACE_ITOLD)|g' \ |
| 467 | < $(srcdir)/float.in.h; \ | 452 | $(srcdir)/float.in.h > $@-t |
| 468 | } > $@-t && \ | 453 | $(AM_V_at)mv $@-t $@ |
| 469 | mv $@-t $@ | ||
| 470 | else | 454 | else |
| 471 | float.h: $(top_builddir)/config.status | 455 | float.h: $(top_builddir)/config.status |
| 472 | rm -f $@ | 456 | rm -f $@ |
| 473 | endif | 457 | endif |
| 474 | MOSTLYCLEANFILES += float.h float.h-t | 458 | MOSTLYCLEANFILES += float.h float.h-t |
| 475 | 459 | ||
| 476 | EXTRA_DIST += float.c float.in.h itold.c | 460 | if GL_COND_OBJ_FLOAT |
| 461 | libgnu_a_SOURCES += float.c | ||
| 462 | endif | ||
| 463 | if GL_COND_OBJ_ITOLD | ||
| 464 | libgnu_a_SOURCES += itold.c | ||
| 465 | endif | ||
| 477 | 466 | ||
| 478 | EXTRA_libgnu_a_SOURCES += float.c itold.c | 467 | EXTRA_DIST += float.in.h |
| 479 | 468 | ||
| 480 | ## end gnulib module float | 469 | ## end gnulib module float |
| 481 | 470 | ||
| 482 | ## begin gnulib module floorf | 471 | ## begin gnulib module floorf |
| 483 | 472 | ||
| 473 | if GL_COND_OBJ_FLOORF | ||
| 474 | libgnu_a_SOURCES += floorf.c | ||
| 475 | endif | ||
| 484 | 476 | ||
| 485 | EXTRA_DIST += floor.c floorf.c | 477 | EXTRA_DIST += floor.c |
| 486 | 478 | ||
| 487 | EXTRA_libgnu_a_SOURCES += floor.c floorf.c | 479 | EXTRA_libgnu_a_SOURCES += floor.c |
| 488 | 480 | ||
| 489 | ## end gnulib module floorf | 481 | ## end gnulib module floorf |
| 490 | 482 | ||
| @@ -508,10 +500,11 @@ EXTRA_libgnu_a_SOURCES += fopen.c | |||
| 508 | 500 | ||
| 509 | ## begin gnulib module fpurge | 501 | ## begin gnulib module fpurge |
| 510 | 502 | ||
| 503 | if GL_COND_OBJ_FPURGE | ||
| 504 | libgnu_a_SOURCES += fpurge.c | ||
| 505 | endif | ||
| 511 | 506 | ||
| 512 | EXTRA_DIST += fpurge.c stdio-impl.h | 507 | EXTRA_DIST += stdio-impl.h |
| 513 | |||
| 514 | EXTRA_libgnu_a_SOURCES += fpurge.c | ||
| 515 | 508 | ||
| 516 | ## end gnulib module fpurge | 509 | ## end gnulib module fpurge |
| 517 | 510 | ||
| @@ -525,118 +518,139 @@ EXTRA_DIST += freading.h stdio-impl.h | |||
| 525 | 518 | ||
| 526 | ## begin gnulib module free-posix | 519 | ## begin gnulib module free-posix |
| 527 | 520 | ||
| 528 | 521 | if GL_COND_OBJ_FREE | |
| 529 | EXTRA_DIST += free.c | 522 | libgnu_a_SOURCES += free.c |
| 530 | 523 | endif | |
| 531 | EXTRA_libgnu_a_SOURCES += free.c | ||
| 532 | 524 | ||
| 533 | ## end gnulib module free-posix | 525 | ## end gnulib module free-posix |
| 534 | 526 | ||
| 535 | ## begin gnulib module fseek | 527 | ## begin gnulib module fseek |
| 536 | 528 | ||
| 537 | 529 | if GL_COND_OBJ_FSEEK | |
| 538 | EXTRA_DIST += fseek.c | 530 | libgnu_a_SOURCES += fseek.c |
| 539 | 531 | endif | |
| 540 | EXTRA_libgnu_a_SOURCES += fseek.c | ||
| 541 | 532 | ||
| 542 | ## end gnulib module fseek | 533 | ## end gnulib module fseek |
| 543 | 534 | ||
| 544 | ## begin gnulib module fseeko | 535 | ## begin gnulib module fseeko |
| 545 | 536 | ||
| 537 | if GL_COND_OBJ_FSEEKO | ||
| 538 | libgnu_a_SOURCES += fseeko.c | ||
| 539 | endif | ||
| 546 | 540 | ||
| 547 | EXTRA_DIST += fseeko.c stdio-impl.h | 541 | EXTRA_DIST += stdio-impl.h |
| 548 | |||
| 549 | EXTRA_libgnu_a_SOURCES += fseeko.c | ||
| 550 | 542 | ||
| 551 | ## end gnulib module fseeko | 543 | ## end gnulib module fseeko |
| 552 | 544 | ||
| 553 | ## begin gnulib module fstat | 545 | ## begin gnulib module fstat |
| 554 | 546 | ||
| 547 | if GL_COND_OBJ_FSTAT | ||
| 548 | libgnu_a_SOURCES += fstat.c | ||
| 549 | endif | ||
| 555 | 550 | ||
| 556 | EXTRA_DIST += fstat.c stat-w32.c stat-w32.h | 551 | EXTRA_DIST += stat-w32.c stat-w32.h |
| 557 | 552 | ||
| 558 | EXTRA_libgnu_a_SOURCES += fstat.c stat-w32.c | 553 | EXTRA_libgnu_a_SOURCES += stat-w32.c |
| 559 | 554 | ||
| 560 | ## end gnulib module fstat | 555 | ## end gnulib module fstat |
| 561 | 556 | ||
| 562 | ## begin gnulib module fsusage | 557 | ## begin gnulib module fsusage |
| 563 | 558 | ||
| 559 | if GL_COND_OBJ_FSUSAGE | ||
| 560 | libgnu_a_SOURCES += fsusage.c | ||
| 561 | endif | ||
| 564 | 562 | ||
| 565 | EXTRA_DIST += fsusage.c fsusage.h | 563 | EXTRA_DIST += fsusage.h |
| 566 | |||
| 567 | EXTRA_libgnu_a_SOURCES += fsusage.c | ||
| 568 | 564 | ||
| 569 | ## end gnulib module fsusage | 565 | ## end gnulib module fsusage |
| 570 | 566 | ||
| 571 | ## begin gnulib module ftell | 567 | ## begin gnulib module ftell |
| 572 | 568 | ||
| 573 | 569 | if GL_COND_OBJ_FTELL | |
| 574 | EXTRA_DIST += ftell.c | 570 | libgnu_a_SOURCES += ftell.c |
| 575 | 571 | endif | |
| 576 | EXTRA_libgnu_a_SOURCES += ftell.c | ||
| 577 | 572 | ||
| 578 | ## end gnulib module ftell | 573 | ## end gnulib module ftell |
| 579 | 574 | ||
| 580 | ## begin gnulib module ftello | 575 | ## begin gnulib module ftello |
| 581 | 576 | ||
| 577 | if GL_COND_OBJ_FTELLO | ||
| 578 | libgnu_a_SOURCES += ftello.c | ||
| 579 | endif | ||
| 582 | 580 | ||
| 583 | EXTRA_DIST += ftello.c stdio-impl.h | 581 | EXTRA_DIST += stdio-impl.h |
| 584 | |||
| 585 | EXTRA_libgnu_a_SOURCES += ftello.c | ||
| 586 | 582 | ||
| 587 | ## end gnulib module ftello | 583 | ## end gnulib module ftello |
| 588 | 584 | ||
| 589 | ## begin gnulib module getaddrinfo | 585 | ## begin gnulib module gen-header |
| 590 | 586 | ||
| 587 | # In 'sed', replace the pattern space with a "DO NOT EDIT" comment. | ||
| 588 | SED_HEADER_NOEDIT = s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */, | ||
| 591 | 589 | ||
| 592 | EXTRA_DIST += gai_strerror.c getaddrinfo.c | 590 | # '$(SED_HEADER_STDOUT) -e "..."' runs 'sed' but first outputs "DO NOT EDIT". |
| 591 | SED_HEADER_STDOUT = sed -e 1h -e '1$(SED_HEADER_NOEDIT)' -e 1G | ||
| 593 | 592 | ||
| 594 | EXTRA_libgnu_a_SOURCES += gai_strerror.c getaddrinfo.c | 593 | # '$(SED_HEADER_TO_AT_t) FILE' copies FILE to $@-t, prepending a leading |
| 594 | # "DO_NOT_EDIT". Although this could be done more simply via: | ||
| 595 | # SED_HEADER_TO_AT_t = $(SED_HEADER_STDOUT) > $@-t | ||
| 596 | # the -n and 'w' avoid a fork+exec, at least when GNU Make is used. | ||
| 597 | SED_HEADER_TO_AT_t = $(SED_HEADER_STDOUT) -n -e 'w $@-t' | ||
| 595 | 598 | ||
| 596 | ## end gnulib module getaddrinfo | 599 | # Use $(gl_V_at) instead of $(AM_V_GEN) or $(AM_V_at) on a line that |
| 600 | gl_V_at = $(AM_V_GEN) | ||
| 597 | 601 | ||
| 598 | ## begin gnulib module getdelim | 602 | ## end gnulib module gen-header |
| 599 | 603 | ||
| 604 | ## begin gnulib module getaddrinfo | ||
| 600 | 605 | ||
| 601 | EXTRA_DIST += getdelim.c | 606 | if GL_COND_OBJ_GETADDRINFO |
| 607 | libgnu_a_SOURCES += getaddrinfo.c | ||
| 608 | endif | ||
| 609 | if GL_COND_OBJ_GAI_STRERROR | ||
| 610 | libgnu_a_SOURCES += gai_strerror.c | ||
| 611 | endif | ||
| 602 | 612 | ||
| 603 | EXTRA_libgnu_a_SOURCES += getdelim.c | 613 | ## end gnulib module getaddrinfo |
| 604 | 614 | ||
| 605 | ## end gnulib module getdelim | 615 | ## begin gnulib module getdelim |
| 606 | 616 | ||
| 607 | ## begin gnulib module getdtablesize | 617 | if GL_COND_OBJ_GETDELIM |
| 618 | libgnu_a_SOURCES += getdelim.c | ||
| 619 | endif | ||
| 608 | 620 | ||
| 621 | ## end gnulib module getdelim | ||
| 609 | 622 | ||
| 610 | EXTRA_DIST += getdtablesize.c | 623 | ## begin gnulib module getdtablesize |
| 611 | 624 | ||
| 612 | EXTRA_libgnu_a_SOURCES += getdtablesize.c | 625 | if GL_COND_OBJ_GETDTABLESIZE |
| 626 | libgnu_a_SOURCES += getdtablesize.c | ||
| 627 | endif | ||
| 613 | 628 | ||
| 614 | ## end gnulib module getdtablesize | 629 | ## end gnulib module getdtablesize |
| 615 | 630 | ||
| 616 | ## begin gnulib module gethostname | 631 | ## begin gnulib module gethostname |
| 617 | 632 | ||
| 633 | if GL_COND_OBJ_GETHOSTNAME | ||
| 634 | libgnu_a_SOURCES += gethostname.c | ||
| 635 | endif | ||
| 618 | 636 | ||
| 619 | EXTRA_DIST += gethostname.c w32sock.h | 637 | EXTRA_DIST += w32sock.h |
| 620 | |||
| 621 | EXTRA_libgnu_a_SOURCES += gethostname.c | ||
| 622 | 638 | ||
| 623 | ## end gnulib module gethostname | 639 | ## end gnulib module gethostname |
| 624 | 640 | ||
| 625 | ## begin gnulib module getline | 641 | ## begin gnulib module getline |
| 626 | 642 | ||
| 627 | 643 | if GL_COND_OBJ_GETLINE | |
| 628 | EXTRA_DIST += getline.c | 644 | libgnu_a_SOURCES += getline.c |
| 629 | 645 | endif | |
| 630 | EXTRA_libgnu_a_SOURCES += getline.c | ||
| 631 | 646 | ||
| 632 | ## end gnulib module getline | 647 | ## end gnulib module getline |
| 633 | 648 | ||
| 634 | ## begin gnulib module getloadavg | 649 | ## begin gnulib module getloadavg |
| 635 | 650 | ||
| 636 | 651 | if GL_COND_OBJ_GETLOADAVG | |
| 637 | EXTRA_DIST += getloadavg.c | 652 | libgnu_a_SOURCES += getloadavg.c |
| 638 | 653 | endif | |
| 639 | EXTRA_libgnu_a_SOURCES += getloadavg.c | ||
| 640 | 654 | ||
| 641 | ## end gnulib module getloadavg | 655 | ## end gnulib module getloadavg |
| 642 | 656 | ||
| @@ -646,33 +660,41 @@ BUILT_SOURCES += $(GETOPT_H) $(GETOPT_CDEFS_H) | |||
| 646 | 660 | ||
| 647 | # We need the following in order to create <getopt.h> when the system | 661 | # We need the following in order to create <getopt.h> when the system |
| 648 | # doesn't have one that works with the given compiler. | 662 | # doesn't have one that works with the given compiler. |
| 663 | if GL_GENERATE_GETOPT_H | ||
| 649 | getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H) | 664 | getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H) |
| 650 | $(AM_V_GEN)rm -f $@-t $@ && \ | 665 | $(gl_V_at)$(SED_HEADER_STDOUT) \ |
| 651 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ | 666 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 652 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 653 | -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \ | 667 | -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \ |
| 654 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 668 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 655 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 669 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| 656 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ | 670 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ |
| 657 | -e 's|@''NEXT_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \ | 671 | -e 's|@''NEXT_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \ |
| 658 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ | 672 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ |
| 659 | < $(srcdir)/getopt.in.h; \ | 673 | $(srcdir)/getopt.in.h > $@-t |
| 660 | } > $@-t && \ | 674 | $(AM_V_at)mv $@-t $@ |
| 661 | mv -f $@-t $@ | 675 | else |
| 676 | getopt.h: $(top_builddir)/config.status | ||
| 677 | rm -f $@ | ||
| 678 | endif | ||
| 662 | 679 | ||
| 680 | if GL_GENERATE_GETOPT_CDEFS_H | ||
| 663 | getopt-cdefs.h: getopt-cdefs.in.h $(top_builddir)/config.status | 681 | getopt-cdefs.h: getopt-cdefs.in.h $(top_builddir)/config.status |
| 664 | $(AM_V_GEN)rm -f $@-t $@ && \ | 682 | $(AM_V_GEN)$(SED_HEADER_STDOUT) \ |
| 665 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ | 683 | -e 's|@''HAVE_SYS_CDEFS_H''@|$(HAVE_SYS_CDEFS_H)|g' \ |
| 666 | sed -e 's|@''HAVE_SYS_CDEFS_H''@|$(HAVE_SYS_CDEFS_H)|g' \ | 684 | $(srcdir)/getopt-cdefs.in.h > $@-t |
| 667 | < $(srcdir)/getopt-cdefs.in.h; \ | 685 | $(AM_V_at)mv $@-t $@ |
| 668 | } > $@-t && \ | 686 | else |
| 669 | mv -f $@-t $@ | 687 | getopt-cdefs.h: $(top_builddir)/config.status |
| 688 | rm -f $@ | ||
| 689 | endif | ||
| 670 | 690 | ||
| 671 | MOSTLYCLEANFILES += getopt.h getopt.h-t getopt-cdefs.h getopt-cdefs.h-t | 691 | MOSTLYCLEANFILES += getopt.h getopt.h-t getopt-cdefs.h getopt-cdefs.h-t |
| 672 | 692 | ||
| 673 | EXTRA_DIST += getopt-cdefs.in.h getopt-core.h getopt-ext.h getopt-pfx-core.h getopt-pfx-ext.h getopt.c getopt.in.h getopt1.c getopt_int.h | 693 | if GL_COND_OBJ_GETOPT |
| 694 | libgnu_a_SOURCES += getopt.c getopt1.c | ||
| 695 | endif | ||
| 674 | 696 | ||
| 675 | EXTRA_libgnu_a_SOURCES += getopt.c getopt1.c | 697 | EXTRA_DIST += getopt-cdefs.in.h getopt-core.h getopt-ext.h getopt-pfx-core.h getopt-pfx-ext.h getopt.in.h getopt_int.h |
| 676 | 698 | ||
| 677 | ## end gnulib module getopt-posix | 699 | ## end gnulib module getopt-posix |
| 678 | 700 | ||
| @@ -744,17 +766,16 @@ libgnu_a_SOURCES += idx.h | |||
| 744 | 766 | ||
| 745 | ## begin gnulib module inet_ntop | 767 | ## begin gnulib module inet_ntop |
| 746 | 768 | ||
| 747 | 769 | if GL_COND_OBJ_INET_NTOP | |
| 748 | EXTRA_DIST += inet_ntop.c | 770 | libgnu_a_SOURCES += inet_ntop.c |
| 749 | 771 | endif | |
| 750 | EXTRA_libgnu_a_SOURCES += inet_ntop.c | ||
| 751 | 772 | ||
| 752 | ## end gnulib module inet_ntop | 773 | ## end gnulib module inet_ntop |
| 753 | 774 | ||
| 754 | ## begin gnulib module intprops | 775 | ## begin gnulib module intprops |
| 755 | 776 | ||
| 756 | 777 | ||
| 757 | EXTRA_DIST += intprops.h | 778 | EXTRA_DIST += intprops-internal.h intprops.h |
| 758 | 779 | ||
| 759 | ## end gnulib module intprops | 780 | ## end gnulib module intprops |
| 760 | 781 | ||
| @@ -765,9 +786,8 @@ BUILT_SOURCES += inttypes.h | |||
| 765 | # We need the following in order to create <inttypes.h> when the system | 786 | # We need the following in order to create <inttypes.h> when the system |
| 766 | # doesn't have one that works with the given compiler. | 787 | # doesn't have one that works with the given compiler. |
| 767 | inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) | 788 | inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) |
| 768 | $(AM_V_GEN)rm -f $@-t $@ && \ | 789 | $(gl_V_at)$(SED_HEADER_STDOUT) \ |
| 769 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ | 790 | -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ |
| 770 | sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \ | ||
| 771 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 791 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 772 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 792 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| 773 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ | 793 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ |
| @@ -792,9 +812,8 @@ inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_U | |||
| 792 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ | 812 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ |
| 793 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ | 813 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ |
| 794 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ | 814 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ |
| 795 | < $(srcdir)/inttypes.in.h; \ | 815 | $(srcdir)/inttypes.in.h > $@-t |
| 796 | } > $@-t && \ | 816 | $(AM_V_at)mv $@-t $@ |
| 797 | mv $@-t $@ | ||
| 798 | MOSTLYCLEANFILES += inttypes.h inttypes.h-t | 817 | MOSTLYCLEANFILES += inttypes.h inttypes.h-t |
| 799 | 818 | ||
| 800 | EXTRA_DIST += inttypes.in.h | 819 | EXTRA_DIST += inttypes.in.h |
| @@ -808,9 +827,8 @@ BUILT_SOURCES += langinfo.h | |||
| 808 | # We need the following in order to create an empty placeholder for | 827 | # We need the following in order to create an empty placeholder for |
| 809 | # <langinfo.h> when the system doesn't have one. | 828 | # <langinfo.h> when the system doesn't have one. |
| 810 | langinfo.h: langinfo.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) | 829 | langinfo.h: langinfo.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) |
| 811 | $(AM_V_GEN)rm -f $@-t $@ && \ | 830 | $(gl_V_at)$(SED_HEADER_STDOUT) \ |
| 812 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ | 831 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 813 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 814 | -e 's|@''HAVE_LANGINFO_H''@|$(HAVE_LANGINFO_H)|g' \ | 832 | -e 's|@''HAVE_LANGINFO_H''@|$(HAVE_LANGINFO_H)|g' \ |
| 815 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 833 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 816 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 834 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| @@ -826,9 +844,8 @@ langinfo.h: langinfo.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_U | |||
| 826 | -e 's|@''REPLACE_NL_LANGINFO''@|$(REPLACE_NL_LANGINFO)|g' \ | 844 | -e 's|@''REPLACE_NL_LANGINFO''@|$(REPLACE_NL_LANGINFO)|g' \ |
| 827 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ | 845 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ |
| 828 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ | 846 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ |
| 829 | < $(srcdir)/langinfo.in.h; \ | 847 | $(srcdir)/langinfo.in.h > $@-t |
| 830 | } > $@-t && \ | 848 | $(AM_V_at)mv $@-t $@ |
| 831 | mv $@-t $@ | ||
| 832 | MOSTLYCLEANFILES += langinfo.h langinfo.h-t | 849 | MOSTLYCLEANFILES += langinfo.h langinfo.h-t |
| 833 | 850 | ||
| 834 | EXTRA_DIST += langinfo.in.h | 851 | EXTRA_DIST += langinfo.in.h |
| @@ -850,16 +867,14 @@ BUILT_SOURCES += $(LIMITS_H) | |||
| 850 | # doesn't have one that is compatible with GNU. | 867 | # doesn't have one that is compatible with GNU. |
| 851 | if GL_GENERATE_LIMITS_H | 868 | if GL_GENERATE_LIMITS_H |
| 852 | limits.h: limits.in.h $(top_builddir)/config.status | 869 | limits.h: limits.in.h $(top_builddir)/config.status |
| 853 | $(AM_V_GEN)rm -f $@-t $@ && \ | 870 | $(gl_V_at)$(SED_HEADER_STDOUT) \ |
| 854 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ | 871 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 855 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 856 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 872 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 857 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 873 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| 858 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ | 874 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ |
| 859 | -e 's|@''NEXT_LIMITS_H''@|$(NEXT_LIMITS_H)|g' \ | 875 | -e 's|@''NEXT_LIMITS_H''@|$(NEXT_LIMITS_H)|g' \ |
| 860 | < $(srcdir)/limits.in.h; \ | 876 | $(srcdir)/limits.in.h > $@-t |
| 861 | } > $@-t && \ | 877 | $(AM_V_at)mv $@-t $@ |
| 862 | mv $@-t $@ | ||
| 863 | else | 878 | else |
| 864 | limits.h: $(top_builddir)/config.status | 879 | limits.h: $(top_builddir)/config.status |
| 865 | rm -f $@ | 880 | rm -f $@ |
| @@ -885,9 +900,8 @@ BUILT_SOURCES += locale.h | |||
| 885 | # We need the following in order to create <locale.h> when the system | 900 | # We need the following in order to create <locale.h> when the system |
| 886 | # doesn't have one that provides all definitions. | 901 | # doesn't have one that provides all definitions. |
| 887 | locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) | 902 | locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) |
| 888 | $(AM_V_GEN)rm -f $@-t $@ && \ | 903 | $(gl_V_at)$(SED_HEADER_STDOUT) \ |
| 889 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ | 904 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 890 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 891 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 905 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 892 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 906 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| 893 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ | 907 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ |
| @@ -911,9 +925,8 @@ locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H | |||
| 911 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ | 925 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ |
| 912 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ | 926 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ |
| 913 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ | 927 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ |
| 914 | < $(srcdir)/locale.in.h; \ | 928 | $(srcdir)/locale.in.h > $@-t |
| 915 | } > $@-t && \ | 929 | $(AM_V_at)mv $@-t $@ |
| 916 | mv $@-t $@ | ||
| 917 | MOSTLYCLEANFILES += locale.h locale.h-t | 930 | MOSTLYCLEANFILES += locale.h locale.h-t |
| 918 | 931 | ||
| 919 | EXTRA_DIST += locale.in.h | 932 | EXTRA_DIST += locale.in.h |
| @@ -922,10 +935,9 @@ EXTRA_DIST += locale.in.h | |||
| 922 | 935 | ||
| 923 | ## begin gnulib module localeconv | 936 | ## begin gnulib module localeconv |
| 924 | 937 | ||
| 925 | 938 | if GL_COND_OBJ_LOCALECONV | |
| 926 | EXTRA_DIST += localeconv.c | 939 | libgnu_a_SOURCES += localeconv.c |
| 927 | 940 | endif | |
| 928 | EXTRA_libgnu_a_SOURCES += localeconv.c | ||
| 929 | 941 | ||
| 930 | ## end gnulib module localeconv | 942 | ## end gnulib module localeconv |
| 931 | 943 | ||
| @@ -937,10 +949,9 @@ libgnu_a_SOURCES += glthread/lock.h glthread/lock.c | |||
| 937 | 949 | ||
| 938 | ## begin gnulib module lseek | 950 | ## begin gnulib module lseek |
| 939 | 951 | ||
| 940 | 952 | if GL_COND_OBJ_LSEEK | |
| 941 | EXTRA_DIST += lseek.c | 953 | libgnu_a_SOURCES += lseek.c |
| 942 | 954 | endif | |
| 943 | EXTRA_libgnu_a_SOURCES += lseek.c | ||
| 944 | 955 | ||
| 945 | ## end gnulib module lseek | 956 | ## end gnulib module lseek |
| 946 | 957 | ||
| @@ -978,9 +989,8 @@ libgnu_a_SOURCES += math.c | |||
| 978 | # We need the following in order to create <math.h> when the system | 989 | # We need the following in order to create <math.h> when the system |
| 979 | # doesn't have one that works with the given compiler. | 990 | # doesn't have one that works with the given compiler. |
| 980 | math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) | 991 | math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) |
| 981 | $(AM_V_GEN)rm -f $@-t $@ && \ | 992 | $(gl_V_at)$(SED_HEADER_STDOUT) \ |
| 982 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ | 993 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 983 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 984 | -e 's|@''INCLUDE_NEXT_AS_FIRST_DIRECTIVE''@|$(INCLUDE_NEXT_AS_FIRST_DIRECTIVE)|g' \ | 994 | -e 's|@''INCLUDE_NEXT_AS_FIRST_DIRECTIVE''@|$(INCLUDE_NEXT_AS_FIRST_DIRECTIVE)|g' \ |
| 985 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 995 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| 986 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ | 996 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ |
| @@ -1267,9 +1277,9 @@ math.h: math.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $( | |||
| 1267 | -e 's|@''REPLACE_TRUNCL''@|$(REPLACE_TRUNCL)|g' \ | 1277 | -e 's|@''REPLACE_TRUNCL''@|$(REPLACE_TRUNCL)|g' \ |
| 1268 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ | 1278 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ |
| 1269 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ | 1279 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ |
| 1270 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ | 1280 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ |
| 1271 | } > $@-t && \ | 1281 | > $@-t |
| 1272 | mv $@-t $@ | 1282 | $(AM_V_at)mv $@-t $@ |
| 1273 | MOSTLYCLEANFILES += math.h math.h-t | 1283 | MOSTLYCLEANFILES += math.h math.h-t |
| 1274 | 1284 | ||
| 1275 | EXTRA_DIST += math.in.h | 1285 | EXTRA_DIST += math.in.h |
| @@ -1278,37 +1288,41 @@ EXTRA_DIST += math.in.h | |||
| 1278 | 1288 | ||
| 1279 | ## begin gnulib module mbrtowc | 1289 | ## begin gnulib module mbrtowc |
| 1280 | 1290 | ||
| 1291 | if GL_COND_OBJ_MBRTOWC | ||
| 1292 | libgnu_a_SOURCES += mbrtowc.c | ||
| 1293 | endif | ||
| 1281 | 1294 | ||
| 1282 | EXTRA_DIST += lc-charset-dispatch.c lc-charset-dispatch.h mbrtowc-impl-utf8.h mbrtowc-impl.h mbrtowc.c mbtowc-lock.c mbtowc-lock.h windows-initguard.h | 1295 | EXTRA_DIST += lc-charset-dispatch.c lc-charset-dispatch.h mbrtowc-impl-utf8.h mbrtowc-impl.h mbtowc-lock.c mbtowc-lock.h windows-initguard.h |
| 1283 | 1296 | ||
| 1284 | EXTRA_libgnu_a_SOURCES += lc-charset-dispatch.c mbrtowc.c mbtowc-lock.c | 1297 | EXTRA_libgnu_a_SOURCES += lc-charset-dispatch.c mbtowc-lock.c |
| 1285 | 1298 | ||
| 1286 | ## end gnulib module mbrtowc | 1299 | ## end gnulib module mbrtowc |
| 1287 | 1300 | ||
| 1288 | ## begin gnulib module mbsinit | 1301 | ## begin gnulib module mbsinit |
| 1289 | 1302 | ||
| 1290 | 1303 | if GL_COND_OBJ_MBSINIT | |
| 1291 | EXTRA_DIST += mbsinit.c | 1304 | libgnu_a_SOURCES += mbsinit.c |
| 1292 | 1305 | endif | |
| 1293 | EXTRA_libgnu_a_SOURCES += mbsinit.c | ||
| 1294 | 1306 | ||
| 1295 | ## end gnulib module mbsinit | 1307 | ## end gnulib module mbsinit |
| 1296 | 1308 | ||
| 1297 | ## begin gnulib module mbtowc | 1309 | ## begin gnulib module mbtowc |
| 1298 | 1310 | ||
| 1311 | if GL_COND_OBJ_MBTOWC | ||
| 1312 | libgnu_a_SOURCES += mbtowc.c | ||
| 1313 | endif | ||
| 1299 | 1314 | ||
| 1300 | EXTRA_DIST += mbtowc-impl.h mbtowc.c | 1315 | EXTRA_DIST += mbtowc-impl.h |
| 1301 | |||
| 1302 | EXTRA_libgnu_a_SOURCES += mbtowc.c | ||
| 1303 | 1316 | ||
| 1304 | ## end gnulib module mbtowc | 1317 | ## end gnulib module mbtowc |
| 1305 | 1318 | ||
| 1306 | ## begin gnulib module memchr | 1319 | ## begin gnulib module memchr |
| 1307 | 1320 | ||
| 1321 | if GL_COND_OBJ_MEMCHR | ||
| 1322 | libgnu_a_SOURCES += memchr.c | ||
| 1323 | endif | ||
| 1308 | 1324 | ||
| 1309 | EXTRA_DIST += memchr.c memchr.valgrind | 1325 | EXTRA_DIST += memchr.valgrind |
| 1310 | |||
| 1311 | EXTRA_libgnu_a_SOURCES += memchr.c | ||
| 1312 | 1326 | ||
| 1313 | ## end gnulib module memchr | 1327 | ## end gnulib module memchr |
| 1314 | 1328 | ||
| @@ -1338,28 +1352,31 @@ EXTRA_libgnu_a_SOURCES += mktime.c | |||
| 1338 | 1352 | ||
| 1339 | ## begin gnulib module mountlist | 1353 | ## begin gnulib module mountlist |
| 1340 | 1354 | ||
| 1355 | if GL_COND_OBJ_MOUNTLIST | ||
| 1356 | libgnu_a_SOURCES += mountlist.c | ||
| 1357 | endif | ||
| 1341 | 1358 | ||
| 1342 | EXTRA_DIST += mountlist.c mountlist.h | 1359 | EXTRA_DIST += mountlist.h |
| 1343 | |||
| 1344 | EXTRA_libgnu_a_SOURCES += mountlist.c | ||
| 1345 | 1360 | ||
| 1346 | ## end gnulib module mountlist | 1361 | ## end gnulib module mountlist |
| 1347 | 1362 | ||
| 1348 | ## begin gnulib module msvc-inval | 1363 | ## begin gnulib module msvc-inval |
| 1349 | 1364 | ||
| 1365 | if GL_COND_OBJ_MSVC_INVAL | ||
| 1366 | libgnu_a_SOURCES += msvc-inval.c | ||
| 1367 | endif | ||
| 1350 | 1368 | ||
| 1351 | EXTRA_DIST += msvc-inval.c msvc-inval.h | 1369 | EXTRA_DIST += msvc-inval.h |
| 1352 | |||
| 1353 | EXTRA_libgnu_a_SOURCES += msvc-inval.c | ||
| 1354 | 1370 | ||
| 1355 | ## end gnulib module msvc-inval | 1371 | ## end gnulib module msvc-inval |
| 1356 | 1372 | ||
| 1357 | ## begin gnulib module msvc-nothrow | 1373 | ## begin gnulib module msvc-nothrow |
| 1358 | 1374 | ||
| 1375 | if GL_COND_OBJ_MSVC_NOTHROW | ||
| 1376 | libgnu_a_SOURCES += msvc-nothrow.c | ||
| 1377 | endif | ||
| 1359 | 1378 | ||
| 1360 | EXTRA_DIST += msvc-nothrow.c msvc-nothrow.h | 1379 | EXTRA_DIST += msvc-nothrow.h |
| 1361 | |||
| 1362 | EXTRA_libgnu_a_SOURCES += msvc-nothrow.c | ||
| 1363 | 1380 | ||
| 1364 | ## end gnulib module msvc-nothrow | 1381 | ## end gnulib module msvc-nothrow |
| 1365 | 1382 | ||
| @@ -1370,9 +1387,8 @@ BUILT_SOURCES += netdb.h | |||
| 1370 | # We need the following in order to create <netdb.h> when the system | 1387 | # We need the following in order to create <netdb.h> when the system |
| 1371 | # doesn't have one that works with the given compiler. | 1388 | # doesn't have one that works with the given compiler. |
| 1372 | netdb.h: netdb.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) | 1389 | netdb.h: netdb.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) |
| 1373 | $(AM_V_GEN)rm -f $@-t $@ && \ | 1390 | $(gl_V_at)$(SED_HEADER_STDOUT) \ |
| 1374 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ | 1391 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 1375 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 1376 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 1392 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 1377 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 1393 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| 1378 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ | 1394 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ |
| @@ -1389,9 +1405,8 @@ netdb.h: netdb.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) | |||
| 1389 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ | 1405 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ |
| 1390 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ | 1406 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ |
| 1391 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ | 1407 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ |
| 1392 | < $(srcdir)/netdb.in.h; \ | 1408 | $(srcdir)/netdb.in.h > $@-t |
| 1393 | } > $@-t && \ | 1409 | $(AM_V_at)mv $@-t $@ |
| 1394 | mv $@-t $@ | ||
| 1395 | MOSTLYCLEANFILES += netdb.h netdb.h-t | 1410 | MOSTLYCLEANFILES += netdb.h netdb.h-t |
| 1396 | 1411 | ||
| 1397 | EXTRA_DIST += netdb.in.h | 1412 | EXTRA_DIST += netdb.in.h |
| @@ -1406,18 +1421,16 @@ BUILT_SOURCES += $(NETINET_IN_H) | |||
| 1406 | # doesn't have one. | 1421 | # doesn't have one. |
| 1407 | if GL_GENERATE_NETINET_IN_H | 1422 | if GL_GENERATE_NETINET_IN_H |
| 1408 | netinet/in.h: netinet_in.in.h $(top_builddir)/config.status | 1423 | netinet/in.h: netinet_in.in.h $(top_builddir)/config.status |
| 1409 | $(AM_V_at)$(MKDIR_P) netinet | 1424 | $(AM_V_GEN)$(MKDIR_P) '%reldir%/netinet' |
| 1410 | $(AM_V_GEN)rm -f $@-t $@ && \ | 1425 | $(AM_V_at)$(SED_HEADER_STDOUT) \ |
| 1411 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ | 1426 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 1412 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 1413 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 1427 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 1414 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 1428 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| 1415 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ | 1429 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ |
| 1416 | -e 's|@''NEXT_NETINET_IN_H''@|$(NEXT_NETINET_IN_H)|g' \ | 1430 | -e 's|@''NEXT_NETINET_IN_H''@|$(NEXT_NETINET_IN_H)|g' \ |
| 1417 | -e 's|@''HAVE_NETINET_IN_H''@|$(HAVE_NETINET_IN_H)|g' \ | 1431 | -e 's|@''HAVE_NETINET_IN_H''@|$(HAVE_NETINET_IN_H)|g' \ |
| 1418 | < $(srcdir)/netinet_in.in.h; \ | 1432 | $(srcdir)/netinet_in.in.h > $@-t |
| 1419 | } > $@-t && \ | 1433 | $(AM_V_at)mv $@-t $@ |
| 1420 | mv $@-t $@ | ||
| 1421 | else | 1434 | else |
| 1422 | netinet/in.h: $(top_builddir)/config.status | 1435 | netinet/in.h: $(top_builddir)/config.status |
| 1423 | rm -f $@ | 1436 | rm -f $@ |
| @@ -1431,19 +1444,22 @@ EXTRA_DIST += netinet_in.in.h | |||
| 1431 | 1444 | ||
| 1432 | ## begin gnulib module nl_langinfo | 1445 | ## begin gnulib module nl_langinfo |
| 1433 | 1446 | ||
| 1447 | if GL_COND_OBJ_NL_LANGINFO | ||
| 1448 | libgnu_a_SOURCES += nl_langinfo.c | ||
| 1449 | endif | ||
| 1450 | if GL_COND_OBJ_NL_LANGINFO_LOCK | ||
| 1451 | libgnu_a_SOURCES += nl_langinfo-lock.c | ||
| 1452 | endif | ||
| 1434 | 1453 | ||
| 1435 | EXTRA_DIST += nl_langinfo-lock.c nl_langinfo.c windows-initguard.h | 1454 | EXTRA_DIST += windows-initguard.h |
| 1436 | |||
| 1437 | EXTRA_libgnu_a_SOURCES += nl_langinfo-lock.c nl_langinfo.c | ||
| 1438 | 1455 | ||
| 1439 | ## end gnulib module nl_langinfo | 1456 | ## end gnulib module nl_langinfo |
| 1440 | 1457 | ||
| 1441 | ## begin gnulib module open | 1458 | ## begin gnulib module open |
| 1442 | 1459 | ||
| 1443 | 1460 | if GL_COND_OBJ_OPEN | |
| 1444 | EXTRA_DIST += open.c | 1461 | libgnu_a_SOURCES += open.c |
| 1445 | 1462 | endif | |
| 1446 | EXTRA_libgnu_a_SOURCES += open.c | ||
| 1447 | 1463 | ||
| 1448 | ## end gnulib module open | 1464 | ## end gnulib module open |
| 1449 | 1465 | ||
| @@ -1474,38 +1490,40 @@ EXTRA_libgnu_a_SOURCES += realloc.c | |||
| 1474 | 1490 | ||
| 1475 | ## begin gnulib module reallocarray | 1491 | ## begin gnulib module reallocarray |
| 1476 | 1492 | ||
| 1477 | 1493 | if GL_COND_OBJ_REALLOCARRAY | |
| 1478 | EXTRA_DIST += reallocarray.c | 1494 | libgnu_a_SOURCES += reallocarray.c |
| 1479 | 1495 | endif | |
| 1480 | EXTRA_libgnu_a_SOURCES += reallocarray.c | ||
| 1481 | 1496 | ||
| 1482 | ## end gnulib module reallocarray | 1497 | ## end gnulib module reallocarray |
| 1483 | 1498 | ||
| 1484 | ## begin gnulib module regex | 1499 | ## begin gnulib module regex |
| 1485 | 1500 | ||
| 1501 | if GL_COND_OBJ_REGEX | ||
| 1502 | libgnu_a_SOURCES += regex.c | ||
| 1503 | endif | ||
| 1486 | 1504 | ||
| 1487 | EXTRA_DIST += regcomp.c regex.c regex.h regex_internal.c regex_internal.h regexec.c | 1505 | EXTRA_DIST += regcomp.c regex.h regex_internal.c regex_internal.h regexec.c |
| 1488 | 1506 | ||
| 1489 | EXTRA_libgnu_a_SOURCES += regcomp.c regex.c regex_internal.c regexec.c | 1507 | EXTRA_libgnu_a_SOURCES += regcomp.c regex_internal.c regexec.c |
| 1490 | 1508 | ||
| 1491 | ## end gnulib module regex | 1509 | ## end gnulib module regex |
| 1492 | 1510 | ||
| 1493 | ## begin gnulib module setenv | 1511 | ## begin gnulib module setenv |
| 1494 | 1512 | ||
| 1495 | 1513 | if GL_COND_OBJ_SETENV | |
| 1496 | EXTRA_DIST += setenv.c | 1514 | libgnu_a_SOURCES += setenv.c |
| 1497 | 1515 | endif | |
| 1498 | EXTRA_libgnu_a_SOURCES += setenv.c | ||
| 1499 | 1516 | ||
| 1500 | ## end gnulib module setenv | 1517 | ## end gnulib module setenv |
| 1501 | 1518 | ||
| 1502 | ## begin gnulib module setlocale-null | 1519 | ## begin gnulib module setlocale-null |
| 1503 | 1520 | ||
| 1504 | libgnu_a_SOURCES += setlocale_null.c | 1521 | libgnu_a_SOURCES += setlocale_null.c |
| 1522 | if GL_COND_OBJ_SETLOCALE_LOCK | ||
| 1523 | libgnu_a_SOURCES += setlocale-lock.c | ||
| 1524 | endif | ||
| 1505 | 1525 | ||
| 1506 | EXTRA_DIST += setlocale-lock.c setlocale_null.h windows-initguard.h | 1526 | EXTRA_DIST += setlocale_null.h windows-initguard.h |
| 1507 | |||
| 1508 | EXTRA_libgnu_a_SOURCES += setlocale-lock.c | ||
| 1509 | 1527 | ||
| 1510 | ## end gnulib module setlocale-null | 1528 | ## end gnulib module setlocale-null |
| 1511 | 1529 | ||
| @@ -1582,10 +1600,13 @@ EXTRA_DIST += w32sock.h | |||
| 1582 | 1600 | ||
| 1583 | ## begin gnulib module stat | 1601 | ## begin gnulib module stat |
| 1584 | 1602 | ||
| 1603 | if GL_COND_OBJ_STAT | ||
| 1604 | libgnu_a_SOURCES += stat.c | ||
| 1605 | endif | ||
| 1585 | 1606 | ||
| 1586 | EXTRA_DIST += stat-w32.c stat-w32.h stat.c | 1607 | EXTRA_DIST += stat-w32.c stat-w32.h |
| 1587 | 1608 | ||
| 1588 | EXTRA_libgnu_a_SOURCES += stat-w32.c stat.c | 1609 | EXTRA_libgnu_a_SOURCES += stat-w32.c |
| 1589 | 1610 | ||
| 1590 | ## end gnulib module stat | 1611 | ## end gnulib module stat |
| 1591 | 1612 | ||
| @@ -1605,11 +1626,8 @@ BUILT_SOURCES += $(STDALIGN_H) | |||
| 1605 | # doesn't have one that works. | 1626 | # doesn't have one that works. |
| 1606 | if GL_GENERATE_STDALIGN_H | 1627 | if GL_GENERATE_STDALIGN_H |
| 1607 | stdalign.h: stdalign.in.h $(top_builddir)/config.status | 1628 | stdalign.h: stdalign.in.h $(top_builddir)/config.status |
| 1608 | $(AM_V_GEN)rm -f $@-t $@ && \ | 1629 | $(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/stdalign.in.h |
| 1609 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ | 1630 | $(AM_V_at)mv $@-t $@ |
| 1610 | cat $(srcdir)/stdalign.in.h; \ | ||
| 1611 | } > $@-t && \ | ||
| 1612 | mv $@-t $@ | ||
| 1613 | else | 1631 | else |
| 1614 | stdalign.h: $(top_builddir)/config.status | 1632 | stdalign.h: $(top_builddir)/config.status |
| 1615 | rm -f $@ | 1633 | rm -f $@ |
| @@ -1628,11 +1646,10 @@ BUILT_SOURCES += $(STDBOOL_H) | |||
| 1628 | # doesn't have one that works. | 1646 | # doesn't have one that works. |
| 1629 | if GL_GENERATE_STDBOOL_H | 1647 | if GL_GENERATE_STDBOOL_H |
| 1630 | stdbool.h: stdbool.in.h $(top_builddir)/config.status | 1648 | stdbool.h: stdbool.in.h $(top_builddir)/config.status |
| 1631 | $(AM_V_GEN)rm -f $@-t $@ && \ | 1649 | $(gl_V_at)$(SED_HEADER_STDOUT) \ |
| 1632 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ | 1650 | -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' \ |
| 1633 | sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \ | 1651 | $(srcdir)/stdbool.in.h > $@-t |
| 1634 | } > $@-t && \ | 1652 | $(AM_V_at)mv $@-t $@ |
| 1635 | mv $@-t $@ | ||
| 1636 | else | 1653 | else |
| 1637 | stdbool.h: $(top_builddir)/config.status | 1654 | stdbool.h: $(top_builddir)/config.status |
| 1638 | rm -f $@ | 1655 | rm -f $@ |
| @@ -1643,6 +1660,27 @@ EXTRA_DIST += stdbool.in.h | |||
| 1643 | 1660 | ||
| 1644 | ## end gnulib module stdbool | 1661 | ## end gnulib module stdbool |
| 1645 | 1662 | ||
| 1663 | ## begin gnulib module stdckdint | ||
| 1664 | |||
| 1665 | BUILT_SOURCES += $(STDCKDINT_H) | ||
| 1666 | |||
| 1667 | # We need the following in order to create <stdckdint.h> when the system | ||
| 1668 | # doesn't have one that works with the given compiler. | ||
| 1669 | if GL_GENERATE_STDCKDINT_H | ||
| 1670 | stdckdint.h: stdckdint.in.h $(top_builddir)/config.status | ||
| 1671 | $(gl_V_at)$(SED_HEADER_STDOUT) \ | ||
| 1672 | $(srcdir)/stdckdint.in.h > $@-t | ||
| 1673 | $(AM_V_at)mv $@-t $@ | ||
| 1674 | else | ||
| 1675 | stdckdint.h: $(top_builddir)/config.status | ||
| 1676 | rm -f $@ | ||
| 1677 | endif | ||
| 1678 | MOSTLYCLEANFILES += stdckdint.h stdckdint.h-t | ||
| 1679 | |||
| 1680 | EXTRA_DIST += intprops-internal.h stdckdint.in.h | ||
| 1681 | |||
| 1682 | ## end gnulib module stdckdint | ||
| 1683 | |||
| 1646 | ## begin gnulib module stddef | 1684 | ## begin gnulib module stddef |
| 1647 | 1685 | ||
| 1648 | BUILT_SOURCES += $(STDDEF_H) | 1686 | BUILT_SOURCES += $(STDDEF_H) |
| @@ -1651,9 +1689,8 @@ BUILT_SOURCES += $(STDDEF_H) | |||
| 1651 | # doesn't have one that works with the given compiler. | 1689 | # doesn't have one that works with the given compiler. |
| 1652 | if GL_GENERATE_STDDEF_H | 1690 | if GL_GENERATE_STDDEF_H |
| 1653 | stddef.h: stddef.in.h $(top_builddir)/config.status | 1691 | stddef.h: stddef.in.h $(top_builddir)/config.status |
| 1654 | $(AM_V_GEN)rm -f $@-t $@ && \ | 1692 | $(gl_V_at)$(SED_HEADER_STDOUT) \ |
| 1655 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ | 1693 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 1656 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 1657 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 1694 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 1658 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 1695 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| 1659 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ | 1696 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ |
| @@ -1661,9 +1698,8 @@ stddef.h: stddef.in.h $(top_builddir)/config.status | |||
| 1661 | -e 's|@''HAVE_MAX_ALIGN_T''@|$(HAVE_MAX_ALIGN_T)|g' \ | 1698 | -e 's|@''HAVE_MAX_ALIGN_T''@|$(HAVE_MAX_ALIGN_T)|g' \ |
| 1662 | -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \ | 1699 | -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \ |
| 1663 | -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \ | 1700 | -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \ |
| 1664 | < $(srcdir)/stddef.in.h; \ | 1701 | $(srcdir)/stddef.in.h > $@-t |
| 1665 | } > $@-t && \ | 1702 | $(AM_V_at)mv $@-t $@ |
| 1666 | mv $@-t $@ | ||
| 1667 | else | 1703 | else |
| 1668 | stddef.h: $(top_builddir)/config.status | 1704 | stddef.h: $(top_builddir)/config.status |
| 1669 | rm -f $@ | 1705 | rm -f $@ |
| @@ -1682,9 +1718,8 @@ BUILT_SOURCES += $(STDINT_H) | |||
| 1682 | # doesn't have one that works with the given compiler. | 1718 | # doesn't have one that works with the given compiler. |
| 1683 | if GL_GENERATE_STDINT_H | 1719 | if GL_GENERATE_STDINT_H |
| 1684 | stdint.h: stdint.in.h $(top_builddir)/config.status | 1720 | stdint.h: stdint.in.h $(top_builddir)/config.status |
| 1685 | $(AM_V_GEN)rm -f $@-t $@ && \ | 1721 | $(gl_V_at)$(SED_HEADER_STDOUT) \ |
| 1686 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ | 1722 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 1687 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 1688 | -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \ | 1723 | -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \ |
| 1689 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 1724 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 1690 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 1725 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| @@ -1711,9 +1746,8 @@ stdint.h: stdint.in.h $(top_builddir)/config.status | |||
| 1711 | -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ | 1746 | -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \ |
| 1712 | -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ | 1747 | -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \ |
| 1713 | -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \ | 1748 | -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \ |
| 1714 | < $(srcdir)/stdint.in.h; \ | 1749 | $(srcdir)/stdint.in.h > $@-t |
| 1715 | } > $@-t && \ | 1750 | $(AM_V_at)mv $@-t $@ |
| 1716 | mv $@-t $@ | ||
| 1717 | else | 1751 | else |
| 1718 | stdint.h: $(top_builddir)/config.status | 1752 | stdint.h: $(top_builddir)/config.status |
| 1719 | rm -f $@ | 1753 | rm -f $@ |
| @@ -1731,9 +1765,8 @@ BUILT_SOURCES += stdio.h | |||
| 1731 | # We need the following in order to create <stdio.h> when the system | 1765 | # We need the following in order to create <stdio.h> when the system |
| 1732 | # doesn't have one that works with the given compiler. | 1766 | # doesn't have one that works with the given compiler. |
| 1733 | stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) | 1767 | stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) |
| 1734 | $(AM_V_GEN)rm -f $@-t $@ && \ | 1768 | $(gl_V_at)$(SED_HEADER_STDOUT) \ |
| 1735 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ | 1769 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 1736 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 1737 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 1770 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 1738 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 1771 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| 1739 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ | 1772 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ |
| @@ -1745,6 +1778,7 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) | |||
| 1745 | -e 's/@''GNULIB_FGETC''@/$(GL_GNULIB_FGETC)/g' \ | 1778 | -e 's/@''GNULIB_FGETC''@/$(GL_GNULIB_FGETC)/g' \ |
| 1746 | -e 's/@''GNULIB_FGETS''@/$(GL_GNULIB_FGETS)/g' \ | 1779 | -e 's/@''GNULIB_FGETS''@/$(GL_GNULIB_FGETS)/g' \ |
| 1747 | -e 's/@''GNULIB_FOPEN''@/$(GL_GNULIB_FOPEN)/g' \ | 1780 | -e 's/@''GNULIB_FOPEN''@/$(GL_GNULIB_FOPEN)/g' \ |
| 1781 | -e 's/@''GNULIB_FOPEN_GNU''@/$(GL_GNULIB_FOPEN_GNU)/g' \ | ||
| 1748 | -e 's/@''GNULIB_FPRINTF''@/$(GL_GNULIB_FPRINTF)/g' \ | 1782 | -e 's/@''GNULIB_FPRINTF''@/$(GL_GNULIB_FPRINTF)/g' \ |
| 1749 | -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GL_GNULIB_FPRINTF_POSIX)/g' \ | 1783 | -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GL_GNULIB_FPRINTF_POSIX)/g' \ |
| 1750 | -e 's/@''GNULIB_FPURGE''@/$(GL_GNULIB_FPURGE)/g' \ | 1784 | -e 's/@''GNULIB_FPURGE''@/$(GL_GNULIB_FPURGE)/g' \ |
| @@ -1820,6 +1854,7 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) | |||
| 1820 | -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \ | 1854 | -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \ |
| 1821 | -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \ | 1855 | -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \ |
| 1822 | -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \ | 1856 | -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \ |
| 1857 | -e 's|@''REPLACE_FOPEN_FOR_FOPEN_GNU''@|$(REPLACE_FOPEN_FOR_FOPEN_GNU)|g' \ | ||
| 1823 | -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \ | 1858 | -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \ |
| 1824 | -e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \ | 1859 | -e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \ |
| 1825 | -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \ | 1860 | -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \ |
| @@ -1850,11 +1885,18 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) | |||
| 1850 | -e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|g' \ | 1885 | -e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|g' \ |
| 1851 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ | 1886 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ |
| 1852 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ | 1887 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ |
| 1853 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ | 1888 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ |
| 1854 | } > $@-t && \ | 1889 | > $@-t |
| 1855 | mv $@-t $@ | 1890 | $(AM_V_at)mv $@-t $@ |
| 1856 | MOSTLYCLEANFILES += stdio.h stdio.h-t | 1891 | MOSTLYCLEANFILES += stdio.h stdio.h-t |
| 1857 | 1892 | ||
| 1893 | if GL_COND_OBJ_STDIO_READ | ||
| 1894 | libgnu_a_SOURCES += stdio-read.c | ||
| 1895 | endif | ||
| 1896 | if GL_COND_OBJ_STDIO_WRITE | ||
| 1897 | libgnu_a_SOURCES += stdio-write.c | ||
| 1898 | endif | ||
| 1899 | |||
| 1858 | EXTRA_DIST += stdio.in.h | 1900 | EXTRA_DIST += stdio.in.h |
| 1859 | 1901 | ||
| 1860 | ## end gnulib module stdio | 1902 | ## end gnulib module stdio |
| @@ -1867,9 +1909,8 @@ BUILT_SOURCES += stdlib.h | |||
| 1867 | # doesn't have one that works with the given compiler. | 1909 | # doesn't have one that works with the given compiler. |
| 1868 | stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ | 1910 | stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ |
| 1869 | $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) | 1911 | $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) |
| 1870 | $(AM_V_GEN)rm -f $@-t $@ && \ | 1912 | $(gl_V_at)$(SED_HEADER_STDOUT) \ |
| 1871 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ | 1913 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 1872 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 1873 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 1914 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 1874 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 1915 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| 1875 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ | 1916 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ |
| @@ -1877,12 +1918,14 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ | |||
| 1877 | -e 's/@''GNULIB__EXIT''@/$(GL_GNULIB__EXIT)/g' \ | 1918 | -e 's/@''GNULIB__EXIT''@/$(GL_GNULIB__EXIT)/g' \ |
| 1878 | -e 's/@''GNULIB_ALIGNED_ALLOC''@/$(GL_GNULIB_ALIGNED_ALLOC)/g' \ | 1919 | -e 's/@''GNULIB_ALIGNED_ALLOC''@/$(GL_GNULIB_ALIGNED_ALLOC)/g' \ |
| 1879 | -e 's/@''GNULIB_ATOLL''@/$(GL_GNULIB_ATOLL)/g' \ | 1920 | -e 's/@''GNULIB_ATOLL''@/$(GL_GNULIB_ATOLL)/g' \ |
| 1921 | -e 's/@''GNULIB_CALLOC_GNU''@/$(GL_GNULIB_CALLOC_GNU)/g' \ | ||
| 1880 | -e 's/@''GNULIB_CALLOC_POSIX''@/$(GL_GNULIB_CALLOC_POSIX)/g' \ | 1922 | -e 's/@''GNULIB_CALLOC_POSIX''@/$(GL_GNULIB_CALLOC_POSIX)/g' \ |
| 1881 | -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GL_GNULIB_CANONICALIZE_FILE_NAME)/g' \ | 1923 | -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GL_GNULIB_CANONICALIZE_FILE_NAME)/g' \ |
| 1882 | -e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \ | 1924 | -e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \ |
| 1883 | -e 's/@''GNULIB_GETLOADAVG''@/$(GL_GNULIB_GETLOADAVG)/g' \ | 1925 | -e 's/@''GNULIB_GETLOADAVG''@/$(GL_GNULIB_GETLOADAVG)/g' \ |
| 1884 | -e 's/@''GNULIB_GETSUBOPT''@/$(GL_GNULIB_GETSUBOPT)/g' \ | 1926 | -e 's/@''GNULIB_GETSUBOPT''@/$(GL_GNULIB_GETSUBOPT)/g' \ |
| 1885 | -e 's/@''GNULIB_GRANTPT''@/$(GL_GNULIB_GRANTPT)/g' \ | 1927 | -e 's/@''GNULIB_GRANTPT''@/$(GL_GNULIB_GRANTPT)/g' \ |
| 1928 | -e 's/@''GNULIB_MALLOC_GNU''@/$(GL_GNULIB_MALLOC_GNU)/g' \ | ||
| 1886 | -e 's/@''GNULIB_MALLOC_POSIX''@/$(GL_GNULIB_MALLOC_POSIX)/g' \ | 1929 | -e 's/@''GNULIB_MALLOC_POSIX''@/$(GL_GNULIB_MALLOC_POSIX)/g' \ |
| 1887 | -e 's/@''GNULIB_MBTOWC''@/$(GL_GNULIB_MBTOWC)/g' \ | 1930 | -e 's/@''GNULIB_MBTOWC''@/$(GL_GNULIB_MBTOWC)/g' \ |
| 1888 | -e 's/@''GNULIB_MKDTEMP''@/$(GL_GNULIB_MKDTEMP)/g' \ | 1931 | -e 's/@''GNULIB_MKDTEMP''@/$(GL_GNULIB_MKDTEMP)/g' \ |
| @@ -1898,6 +1941,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ | |||
| 1898 | -e 's/@''GNULIB_QSORT_R''@/$(GL_GNULIB_QSORT_R)/g' \ | 1941 | -e 's/@''GNULIB_QSORT_R''@/$(GL_GNULIB_QSORT_R)/g' \ |
| 1899 | -e 's/@''GNULIB_RANDOM''@/$(GL_GNULIB_RANDOM)/g' \ | 1942 | -e 's/@''GNULIB_RANDOM''@/$(GL_GNULIB_RANDOM)/g' \ |
| 1900 | -e 's/@''GNULIB_RANDOM_R''@/$(GL_GNULIB_RANDOM_R)/g' \ | 1943 | -e 's/@''GNULIB_RANDOM_R''@/$(GL_GNULIB_RANDOM_R)/g' \ |
| 1944 | -e 's/@''GNULIB_REALLOC_GNU''@/$(GL_GNULIB_REALLOC_GNU)/g' \ | ||
| 1901 | -e 's/@''GNULIB_REALLOC_POSIX''@/$(GL_GNULIB_REALLOC_POSIX)/g' \ | 1945 | -e 's/@''GNULIB_REALLOC_POSIX''@/$(GL_GNULIB_REALLOC_POSIX)/g' \ |
| 1902 | -e 's/@''GNULIB_REALLOCARRAY''@/$(GL_GNULIB_REALLOCARRAY)/g' \ | 1946 | -e 's/@''GNULIB_REALLOCARRAY''@/$(GL_GNULIB_REALLOCARRAY)/g' \ |
| 1903 | -e 's/@''GNULIB_REALPATH''@/$(GL_GNULIB_REALPATH)/g' \ | 1947 | -e 's/@''GNULIB_REALPATH''@/$(GL_GNULIB_REALPATH)/g' \ |
| @@ -1964,11 +2008,13 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ | |||
| 1964 | -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \ | 2008 | -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \ |
| 1965 | -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \ | 2009 | -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \ |
| 1966 | -e 's|@''REPLACE_ALIGNED_ALLOC''@|$(REPLACE_ALIGNED_ALLOC)|g' \ | 2010 | -e 's|@''REPLACE_ALIGNED_ALLOC''@|$(REPLACE_ALIGNED_ALLOC)|g' \ |
| 1967 | -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \ | 2011 | -e 's|@''REPLACE_CALLOC_FOR_CALLOC_GNU''@|$(REPLACE_CALLOC_FOR_CALLOC_GNU)|g' \ |
| 2012 | -e 's|@''REPLACE_CALLOC_FOR_CALLOC_POSIX''@|$(REPLACE_CALLOC_FOR_CALLOC_POSIX)|g' \ | ||
| 1968 | -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \ | 2013 | -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \ |
| 1969 | -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \ | 2014 | -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \ |
| 1970 | -e 's|@''REPLACE_INITSTATE''@|$(REPLACE_INITSTATE)|g' \ | 2015 | -e 's|@''REPLACE_INITSTATE''@|$(REPLACE_INITSTATE)|g' \ |
| 1971 | -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \ | 2016 | -e 's|@''REPLACE_MALLOC_FOR_MALLOC_GNU''@|$(REPLACE_MALLOC_FOR_MALLOC_GNU)|g' \ |
| 2017 | -e 's|@''REPLACE_MALLOC_FOR_MALLOC_POSIX''@|$(REPLACE_MALLOC_FOR_MALLOC_POSIX)|g' \ | ||
| 1972 | -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \ | 2018 | -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \ |
| 1973 | -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ | 2019 | -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ |
| 1974 | -e 's|@''REPLACE_POSIX_MEMALIGN''@|$(REPLACE_POSIX_MEMALIGN)|g' \ | 2020 | -e 's|@''REPLACE_POSIX_MEMALIGN''@|$(REPLACE_POSIX_MEMALIGN)|g' \ |
| @@ -1978,7 +2024,8 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ | |||
| 1978 | -e 's|@''REPLACE_QSORT_R''@|$(REPLACE_QSORT_R)|g' \ | 2024 | -e 's|@''REPLACE_QSORT_R''@|$(REPLACE_QSORT_R)|g' \ |
| 1979 | -e 's|@''REPLACE_RANDOM''@|$(REPLACE_RANDOM)|g' \ | 2025 | -e 's|@''REPLACE_RANDOM''@|$(REPLACE_RANDOM)|g' \ |
| 1980 | -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \ | 2026 | -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \ |
| 1981 | -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \ | 2027 | -e 's|@''REPLACE_REALLOC_FOR_REALLOC_GNU''@|$(REPLACE_REALLOC_FOR_REALLOC_GNU)|g' \ |
| 2028 | -e 's|@''REPLACE_REALLOC_FOR_REALLOC_POSIX''@|$(REPLACE_REALLOC_FOR_REALLOC_POSIX)|g' \ | ||
| 1982 | -e 's|@''REPLACE_REALLOCARRAY''@|$(REPLACE_REALLOCARRAY)|g' \ | 2029 | -e 's|@''REPLACE_REALLOCARRAY''@|$(REPLACE_REALLOCARRAY)|g' \ |
| 1983 | -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \ | 2030 | -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \ |
| 1984 | -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \ | 2031 | -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \ |
| @@ -1994,9 +2041,9 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ | |||
| 1994 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ | 2041 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ |
| 1995 | -e '/definition of _Noreturn/r $(_NORETURN_H)' \ | 2042 | -e '/definition of _Noreturn/r $(_NORETURN_H)' \ |
| 1996 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ | 2043 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ |
| 1997 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ | 2044 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ |
| 1998 | } > $@-t && \ | 2045 | > $@-t |
| 1999 | mv $@-t $@ | 2046 | $(AM_V_at)mv $@-t $@ |
| 2000 | MOSTLYCLEANFILES += stdlib.h stdlib.h-t | 2047 | MOSTLYCLEANFILES += stdlib.h stdlib.h-t |
| 2001 | 2048 | ||
| 2002 | EXTRA_DIST += stdlib.in.h | 2049 | EXTRA_DIST += stdlib.in.h |
| @@ -2005,10 +2052,12 @@ EXTRA_DIST += stdlib.in.h | |||
| 2005 | 2052 | ||
| 2006 | ## begin gnulib module strcase | 2053 | ## begin gnulib module strcase |
| 2007 | 2054 | ||
| 2008 | 2055 | if GL_COND_OBJ_STRCASECMP | |
| 2009 | EXTRA_DIST += strcasecmp.c strncasecmp.c | 2056 | libgnu_a_SOURCES += strcasecmp.c |
| 2010 | 2057 | endif | |
| 2011 | EXTRA_libgnu_a_SOURCES += strcasecmp.c strncasecmp.c | 2058 | if GL_COND_OBJ_STRNCASECMP |
| 2059 | libgnu_a_SOURCES += strncasecmp.c | ||
| 2060 | endif | ||
| 2012 | 2061 | ||
| 2013 | ## end gnulib module strcase | 2062 | ## end gnulib module strcase |
| 2014 | 2063 | ||
| @@ -2039,19 +2088,19 @@ EXTRA_DIST += streq.h | |||
| 2039 | 2088 | ||
| 2040 | ## begin gnulib module strerror | 2089 | ## begin gnulib module strerror |
| 2041 | 2090 | ||
| 2042 | 2091 | if GL_COND_OBJ_STRERROR | |
| 2043 | EXTRA_DIST += strerror.c | 2092 | libgnu_a_SOURCES += strerror.c |
| 2044 | 2093 | endif | |
| 2045 | EXTRA_libgnu_a_SOURCES += strerror.c | ||
| 2046 | 2094 | ||
| 2047 | ## end gnulib module strerror | 2095 | ## end gnulib module strerror |
| 2048 | 2096 | ||
| 2049 | ## begin gnulib module strerror-override | 2097 | ## begin gnulib module strerror-override |
| 2050 | 2098 | ||
| 2099 | if GL_COND_OBJ_STRERROR_OVERRIDE | ||
| 2100 | libgnu_a_SOURCES += strerror-override.c | ||
| 2101 | endif | ||
| 2051 | 2102 | ||
| 2052 | EXTRA_DIST += strerror-override.c strerror-override.h | 2103 | EXTRA_DIST += strerror-override.h |
| 2053 | |||
| 2054 | EXTRA_libgnu_a_SOURCES += strerror-override.c | ||
| 2055 | 2104 | ||
| 2056 | ## end gnulib module strerror-override | 2105 | ## end gnulib module strerror-override |
| 2057 | 2106 | ||
| @@ -2062,9 +2111,8 @@ BUILT_SOURCES += string.h | |||
| 2062 | # We need the following in order to create <string.h> when the system | 2111 | # We need the following in order to create <string.h> when the system |
| 2063 | # doesn't have one that works with the given compiler. | 2112 | # doesn't have one that works with the given compiler. |
| 2064 | string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) | 2113 | string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) |
| 2065 | $(AM_V_GEN)rm -f $@-t $@ && \ | 2114 | $(gl_V_at)$(SED_HEADER_STDOUT) \ |
| 2066 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ | 2115 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 2067 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 2068 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 2116 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 2069 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 2117 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| 2070 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ | 2118 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ |
| @@ -2158,10 +2206,9 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H | |||
| 2158 | -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \ | 2206 | -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \ |
| 2159 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ | 2207 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ |
| 2160 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ | 2208 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ |
| 2161 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ | 2209 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ |
| 2162 | < $(srcdir)/string.in.h; \ | 2210 | > $@-t |
| 2163 | } > $@-t && \ | 2211 | $(AM_V_at)mv $@-t $@ |
| 2164 | mv $@-t $@ | ||
| 2165 | MOSTLYCLEANFILES += string.h string.h-t | 2212 | MOSTLYCLEANFILES += string.h string.h-t |
| 2166 | 2213 | ||
| 2167 | EXTRA_DIST += string.in.h | 2214 | EXTRA_DIST += string.in.h |
| @@ -2175,9 +2222,8 @@ BUILT_SOURCES += strings.h | |||
| 2175 | # We need the following in order to create <strings.h> when the system | 2222 | # We need the following in order to create <strings.h> when the system |
| 2176 | # doesn't have one that works with the given compiler. | 2223 | # doesn't have one that works with the given compiler. |
| 2177 | strings.h: strings.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) | 2224 | strings.h: strings.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) |
| 2178 | $(AM_V_GEN)rm -f $@-t $@ && \ | 2225 | $(gl_V_at)$(SED_HEADER_STDOUT) \ |
| 2179 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ | 2226 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 2180 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 2181 | -e 's|@''HAVE_STRINGS_H''@|$(HAVE_STRINGS_H)|g' \ | 2227 | -e 's|@''HAVE_STRINGS_H''@|$(HAVE_STRINGS_H)|g' \ |
| 2182 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 2228 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 2183 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 2229 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| @@ -2190,9 +2236,8 @@ strings.h: strings.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE | |||
| 2190 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ | 2236 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ |
| 2191 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ | 2237 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ |
| 2192 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ | 2238 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ |
| 2193 | < $(srcdir)/strings.in.h; \ | 2239 | $(srcdir)/strings.in.h > $@-t |
| 2194 | } > $@-t && \ | 2240 | $(AM_V_at)mv $@-t $@ |
| 2195 | mv $@-t $@ | ||
| 2196 | MOSTLYCLEANFILES += strings.h strings.h-t | 2241 | MOSTLYCLEANFILES += strings.h strings.h-t |
| 2197 | 2242 | ||
| 2198 | EXTRA_DIST += strings.in.h | 2243 | EXTRA_DIST += strings.in.h |
| @@ -2201,10 +2246,9 @@ EXTRA_DIST += strings.in.h | |||
| 2201 | 2246 | ||
| 2202 | ## begin gnulib module strsep | 2247 | ## begin gnulib module strsep |
| 2203 | 2248 | ||
| 2204 | 2249 | if GL_COND_OBJ_STRSEP | |
| 2205 | EXTRA_DIST += strsep.c | 2250 | libgnu_a_SOURCES += strsep.c |
| 2206 | 2251 | endif | |
| 2207 | EXTRA_libgnu_a_SOURCES += strsep.c | ||
| 2208 | 2252 | ||
| 2209 | ## end gnulib module strsep | 2253 | ## end gnulib module strsep |
| 2210 | 2254 | ||
| @@ -2225,10 +2269,9 @@ libgnu_a_SOURCES += sys_socket.c | |||
| 2225 | # We need the following in order to create <sys/socket.h> when the system | 2269 | # We need the following in order to create <sys/socket.h> when the system |
| 2226 | # doesn't have one that works with the given compiler. | 2270 | # doesn't have one that works with the given compiler. |
| 2227 | sys/socket.h: sys_socket.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) | 2271 | sys/socket.h: sys_socket.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H) |
| 2228 | $(AM_V_at)$(MKDIR_P) sys | 2272 | $(AM_V_GEN)$(MKDIR_P) '%reldir%/sys' |
| 2229 | $(AM_V_GEN)rm -f $@-t $@ && \ | 2273 | $(AM_V_at)$(SED_HEADER_STDOUT) \ |
| 2230 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ | 2274 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 2231 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 2232 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 2275 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 2233 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 2276 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| 2234 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ | 2277 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ |
| @@ -2259,9 +2302,8 @@ sys/socket.h: sys_socket.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ | |||
| 2259 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ | 2302 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ |
| 2260 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ | 2303 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ |
| 2261 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ | 2304 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ |
| 2262 | < $(srcdir)/sys_socket.in.h; \ | 2305 | $(srcdir)/sys_socket.in.h > $@-t |
| 2263 | } > $@-t && \ | 2306 | $(AM_V_at)mv $@-t $@ |
| 2264 | mv -f $@-t $@ | ||
| 2265 | MOSTLYCLEANFILES += sys/socket.h sys/socket.h-t | 2307 | MOSTLYCLEANFILES += sys/socket.h sys/socket.h-t |
| 2266 | MOSTLYCLEANDIRS += sys | 2308 | MOSTLYCLEANDIRS += sys |
| 2267 | 2309 | ||
| @@ -2276,16 +2318,16 @@ BUILT_SOURCES += sys/stat.h | |||
| 2276 | # We need the following in order to create <sys/stat.h> when the system | 2318 | # We need the following in order to create <sys/stat.h> when the system |
| 2277 | # has one that is incomplete. | 2319 | # has one that is incomplete. |
| 2278 | sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) | 2320 | sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) |
| 2279 | $(AM_V_at)$(MKDIR_P) sys | 2321 | $(AM_V_GEN)$(MKDIR_P) '%reldir%/sys' |
| 2280 | $(AM_V_GEN)rm -f $@-t $@ && \ | 2322 | $(AM_V_at)$(SED_HEADER_STDOUT) \ |
| 2281 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ | 2323 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 2282 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 2283 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 2324 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 2284 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 2325 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| 2285 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ | 2326 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ |
| 2286 | -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ | 2327 | -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \ |
| 2287 | -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|$(WINDOWS_64_BIT_ST_SIZE)|g' \ | 2328 | -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|$(WINDOWS_64_BIT_ST_SIZE)|g' \ |
| 2288 | -e 's|@''WINDOWS_STAT_TIMESPEC''@|$(WINDOWS_STAT_TIMESPEC)|g' \ | 2329 | -e 's|@''WINDOWS_STAT_TIMESPEC''@|$(WINDOWS_STAT_TIMESPEC)|g' \ |
| 2330 | -e 's/@''GNULIB_CHMOD''@/$(GL_GNULIB_CHMOD)/g' \ | ||
| 2289 | -e 's/@''GNULIB_FCHMODAT''@/$(GL_GNULIB_FCHMODAT)/g' \ | 2331 | -e 's/@''GNULIB_FCHMODAT''@/$(GL_GNULIB_FCHMODAT)/g' \ |
| 2290 | -e 's/@''GNULIB_FSTAT''@/$(GL_GNULIB_FSTAT)/g' \ | 2332 | -e 's/@''GNULIB_FSTAT''@/$(GL_GNULIB_FSTAT)/g' \ |
| 2291 | -e 's/@''GNULIB_FSTATAT''@/$(GL_GNULIB_FSTATAT)/g' \ | 2333 | -e 's/@''GNULIB_FSTATAT''@/$(GL_GNULIB_FSTATAT)/g' \ |
| @@ -2317,6 +2359,7 @@ sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNU | |||
| 2317 | -e 's|@''HAVE_MKNOD''@|$(HAVE_MKNOD)|g' \ | 2359 | -e 's|@''HAVE_MKNOD''@|$(HAVE_MKNOD)|g' \ |
| 2318 | -e 's|@''HAVE_MKNODAT''@|$(HAVE_MKNODAT)|g' \ | 2360 | -e 's|@''HAVE_MKNODAT''@|$(HAVE_MKNODAT)|g' \ |
| 2319 | -e 's|@''HAVE_UTIMENSAT''@|$(HAVE_UTIMENSAT)|g' \ | 2361 | -e 's|@''HAVE_UTIMENSAT''@|$(HAVE_UTIMENSAT)|g' \ |
| 2362 | -e 's|@''REPLACE_CHMOD''@|$(REPLACE_CHMOD)|g' \ | ||
| 2320 | -e 's|@''REPLACE_FCHMODAT''@|$(REPLACE_FCHMODAT)|g' \ | 2363 | -e 's|@''REPLACE_FCHMODAT''@|$(REPLACE_FCHMODAT)|g' \ |
| 2321 | -e 's|@''REPLACE_FSTAT''@|$(REPLACE_FSTAT)|g' \ | 2364 | -e 's|@''REPLACE_FSTAT''@|$(REPLACE_FSTAT)|g' \ |
| 2322 | -e 's|@''REPLACE_FSTATAT''@|$(REPLACE_FSTATAT)|g' \ | 2365 | -e 's|@''REPLACE_FSTATAT''@|$(REPLACE_FSTATAT)|g' \ |
| @@ -2332,9 +2375,8 @@ sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNU | |||
| 2332 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ | 2375 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ |
| 2333 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ | 2376 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ |
| 2334 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ | 2377 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ |
| 2335 | < $(srcdir)/sys_stat.in.h; \ | 2378 | $(srcdir)/sys_stat.in.h > $@-t |
| 2336 | } > $@-t && \ | 2379 | $(AM_V_at)mv $@-t $@ |
| 2337 | mv $@-t $@ | ||
| 2338 | MOSTLYCLEANFILES += sys/stat.h sys/stat.h-t | 2380 | MOSTLYCLEANFILES += sys/stat.h sys/stat.h-t |
| 2339 | MOSTLYCLEANDIRS += sys | 2381 | MOSTLYCLEANDIRS += sys |
| 2340 | 2382 | ||
| @@ -2349,19 +2391,17 @@ BUILT_SOURCES += sys/types.h | |||
| 2349 | # We need the following in order to create <sys/types.h> when the system | 2391 | # We need the following in order to create <sys/types.h> when the system |
| 2350 | # doesn't have one that works with the given compiler. | 2392 | # doesn't have one that works with the given compiler. |
| 2351 | sys/types.h: sys_types.in.h $(top_builddir)/config.status | 2393 | sys/types.h: sys_types.in.h $(top_builddir)/config.status |
| 2352 | $(AM_V_at)$(MKDIR_P) sys | 2394 | $(AM_V_GEN)$(MKDIR_P) '%reldir%/sys' |
| 2353 | $(AM_V_GEN)rm -f $@-t $@ && \ | 2395 | $(AM_V_at)$(SED_HEADER_STDOUT) \ |
| 2354 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ | 2396 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 2355 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 2356 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 2397 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 2357 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 2398 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| 2358 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ | 2399 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ |
| 2359 | -e 's|@''NEXT_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \ | 2400 | -e 's|@''NEXT_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \ |
| 2360 | -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \ | 2401 | -e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \ |
| 2361 | -e 's|@''WINDOWS_STAT_INODES''@|$(WINDOWS_STAT_INODES)|g' \ | 2402 | -e 's|@''WINDOWS_STAT_INODES''@|$(WINDOWS_STAT_INODES)|g' \ |
| 2362 | < $(srcdir)/sys_types.in.h; \ | 2403 | $(srcdir)/sys_types.in.h > $@-t |
| 2363 | } > $@-t && \ | 2404 | $(AM_V_at)mv $@-t $@ |
| 2364 | mv $@-t $@ | ||
| 2365 | MOSTLYCLEANFILES += sys/types.h sys/types.h-t | 2405 | MOSTLYCLEANFILES += sys/types.h sys/types.h-t |
| 2366 | 2406 | ||
| 2367 | EXTRA_DIST += sys_types.in.h | 2407 | EXTRA_DIST += sys_types.in.h |
| @@ -2375,18 +2415,16 @@ BUILT_SOURCES += sys/uio.h | |||
| 2375 | # We need the following in order to create <sys/uio.h> when the system | 2415 | # We need the following in order to create <sys/uio.h> when the system |
| 2376 | # doesn't have one that works with the given compiler. | 2416 | # doesn't have one that works with the given compiler. |
| 2377 | sys/uio.h: sys_uio.in.h $(top_builddir)/config.status | 2417 | sys/uio.h: sys_uio.in.h $(top_builddir)/config.status |
| 2378 | $(AM_V_at)$(MKDIR_P) sys | 2418 | $(AM_V_GEN)$(MKDIR_P) '%reldir%/sys' |
| 2379 | $(AM_V_GEN)rm -f $@-t $@ && \ | 2419 | $(AM_V_at)$(SED_HEADER_STDOUT) \ |
| 2380 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ | 2420 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 2381 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 2382 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 2421 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 2383 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 2422 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| 2384 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ | 2423 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ |
| 2385 | -e 's|@''NEXT_SYS_UIO_H''@|$(NEXT_SYS_UIO_H)|g' \ | 2424 | -e 's|@''NEXT_SYS_UIO_H''@|$(NEXT_SYS_UIO_H)|g' \ |
| 2386 | -e 's|@''HAVE_SYS_UIO_H''@|$(HAVE_SYS_UIO_H)|g' \ | 2425 | -e 's|@''HAVE_SYS_UIO_H''@|$(HAVE_SYS_UIO_H)|g' \ |
| 2387 | < $(srcdir)/sys_uio.in.h; \ | 2426 | $(srcdir)/sys_uio.in.h > $@-t |
| 2388 | } > $@-t && \ | 2427 | $(AM_V_at)mv $@-t $@ |
| 2389 | mv -f $@-t $@ | ||
| 2390 | MOSTLYCLEANFILES += sys/uio.h sys/uio.h-t | 2428 | MOSTLYCLEANFILES += sys/uio.h sys/uio.h-t |
| 2391 | MOSTLYCLEANDIRS += sys | 2429 | MOSTLYCLEANDIRS += sys |
| 2392 | 2430 | ||
| @@ -2407,9 +2445,8 @@ BUILT_SOURCES += time.h | |||
| 2407 | # We need the following in order to create <time.h> when the system | 2445 | # We need the following in order to create <time.h> when the system |
| 2408 | # doesn't have one that works with the given compiler. | 2446 | # doesn't have one that works with the given compiler. |
| 2409 | time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) | 2447 | time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) |
| 2410 | $(AM_V_GEN)rm -f $@-t $@ && \ | 2448 | $(gl_V_at)$(SED_HEADER_STDOUT) \ |
| 2411 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ | 2449 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 2412 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 2413 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 2450 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 2414 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 2451 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| 2415 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ | 2452 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ |
| @@ -2422,6 +2459,7 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $( | |||
| 2422 | -e 's/@''GNULIB_STRPTIME''@/$(GL_GNULIB_STRPTIME)/g' \ | 2459 | -e 's/@''GNULIB_STRPTIME''@/$(GL_GNULIB_STRPTIME)/g' \ |
| 2423 | -e 's/@''GNULIB_TIMEGM''@/$(GL_GNULIB_TIMEGM)/g' \ | 2460 | -e 's/@''GNULIB_TIMEGM''@/$(GL_GNULIB_TIMEGM)/g' \ |
| 2424 | -e 's/@''GNULIB_TIMESPEC_GET''@/$(GL_GNULIB_TIMESPEC_GET)/g' \ | 2461 | -e 's/@''GNULIB_TIMESPEC_GET''@/$(GL_GNULIB_TIMESPEC_GET)/g' \ |
| 2462 | -e 's/@''GNULIB_TIMESPEC_GETRES''@/$(GL_GNULIB_TIMESPEC_GETRES)/g' \ | ||
| 2425 | -e 's/@''GNULIB_TIME_R''@/$(GL_GNULIB_TIME_R)/g' \ | 2463 | -e 's/@''GNULIB_TIME_R''@/$(GL_GNULIB_TIME_R)/g' \ |
| 2426 | -e 's/@''GNULIB_TIME_RZ''@/$(GL_GNULIB_TIME_RZ)/g' \ | 2464 | -e 's/@''GNULIB_TIME_RZ''@/$(GL_GNULIB_TIME_RZ)/g' \ |
| 2427 | -e 's/@''GNULIB_TZSET''@/$(GL_GNULIB_TZSET)/g' \ | 2465 | -e 's/@''GNULIB_TZSET''@/$(GL_GNULIB_TZSET)/g' \ |
| @@ -2431,6 +2469,7 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $( | |||
| 2431 | -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \ | 2469 | -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \ |
| 2432 | -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \ | 2470 | -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \ |
| 2433 | -e 's|@''HAVE_TIMESPEC_GET''@|$(HAVE_TIMESPEC_GET)|g' \ | 2471 | -e 's|@''HAVE_TIMESPEC_GET''@|$(HAVE_TIMESPEC_GET)|g' \ |
| 2472 | -e 's|@''HAVE_TIMESPEC_GETRES''@|$(HAVE_TIMESPEC_GETRES)|g' \ | ||
| 2434 | -e 's|@''HAVE_TIMEZONE_T''@|$(HAVE_TIMEZONE_T)|g' \ | 2473 | -e 's|@''HAVE_TIMEZONE_T''@|$(HAVE_TIMEZONE_T)|g' \ |
| 2435 | -e 's|@''REPLACE_CTIME''@|$(REPLACE_CTIME)|g' \ | 2474 | -e 's|@''REPLACE_CTIME''@|$(REPLACE_CTIME)|g' \ |
| 2436 | -e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \ | 2475 | -e 's|@''REPLACE_GMTIME''@|$(REPLACE_GMTIME)|g' \ |
| @@ -2449,9 +2488,8 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $( | |||
| 2449 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ | 2488 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ |
| 2450 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ | 2489 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ |
| 2451 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ | 2490 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ |
| 2452 | < $(srcdir)/time.in.h; \ | 2491 | $(srcdir)/time.in.h > $@-t |
| 2453 | } > $@-t && \ | 2492 | $(AM_V_at)mv $@-t $@ |
| 2454 | mv $@-t $@ | ||
| 2455 | MOSTLYCLEANFILES += time.h time.h-t | 2493 | MOSTLYCLEANFILES += time.h time.h-t |
| 2456 | 2494 | ||
| 2457 | EXTRA_DIST += time.in.h | 2495 | EXTRA_DIST += time.in.h |
| @@ -2460,19 +2498,19 @@ EXTRA_DIST += time.in.h | |||
| 2460 | 2498 | ||
| 2461 | ## begin gnulib module time_r | 2499 | ## begin gnulib module time_r |
| 2462 | 2500 | ||
| 2463 | 2501 | if GL_COND_OBJ_TIME_R | |
| 2464 | EXTRA_DIST += time_r.c | 2502 | libgnu_a_SOURCES += time_r.c |
| 2465 | 2503 | endif | |
| 2466 | EXTRA_libgnu_a_SOURCES += time_r.c | ||
| 2467 | 2504 | ||
| 2468 | ## end gnulib module time_r | 2505 | ## end gnulib module time_r |
| 2469 | 2506 | ||
| 2470 | ## begin gnulib module timegm | 2507 | ## begin gnulib module timegm |
| 2471 | 2508 | ||
| 2509 | if GL_COND_OBJ_TIMEGM | ||
| 2510 | libgnu_a_SOURCES += timegm.c | ||
| 2511 | endif | ||
| 2472 | 2512 | ||
| 2473 | EXTRA_DIST += mktime-internal.h timegm.c | 2513 | EXTRA_DIST += mktime-internal.h |
| 2474 | |||
| 2475 | EXTRA_libgnu_a_SOURCES += timegm.c | ||
| 2476 | 2514 | ||
| 2477 | ## end gnulib module timegm | 2515 | ## end gnulib module timegm |
| 2478 | 2516 | ||
| @@ -2484,9 +2522,8 @@ libgnu_a_SOURCES += unistd.c | |||
| 2484 | # We need the following in order to create an empty placeholder for | 2522 | # We need the following in order to create an empty placeholder for |
| 2485 | # <unistd.h> when the system doesn't have one. | 2523 | # <unistd.h> when the system doesn't have one. |
| 2486 | unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) | 2524 | unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) |
| 2487 | $(AM_V_GEN)rm -f $@-t $@ && \ | 2525 | $(gl_V_at)$(SED_HEADER_STDOUT) \ |
| 2488 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ | 2526 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 2489 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 2490 | -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \ | 2527 | -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \ |
| 2491 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 2528 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 2492 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 2529 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| @@ -2527,6 +2564,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H | |||
| 2527 | -e 's/@''GNULIB_GETOPT_POSIX''@/$(GL_GNULIB_GETOPT_POSIX)/g' \ | 2564 | -e 's/@''GNULIB_GETOPT_POSIX''@/$(GL_GNULIB_GETOPT_POSIX)/g' \ |
| 2528 | -e 's/@''GNULIB_GETPAGESIZE''@/$(GL_GNULIB_GETPAGESIZE)/g' \ | 2565 | -e 's/@''GNULIB_GETPAGESIZE''@/$(GL_GNULIB_GETPAGESIZE)/g' \ |
| 2529 | -e 's/@''GNULIB_GETPASS''@/$(GL_GNULIB_GETPASS)/g' \ | 2566 | -e 's/@''GNULIB_GETPASS''@/$(GL_GNULIB_GETPASS)/g' \ |
| 2567 | -e 's/@''GNULIB_GETPASS_GNU''@/$(GL_GNULIB_GETPASS_GNU)/g' \ | ||
| 2530 | -e 's/@''GNULIB_GETUSERSHELL''@/$(GL_GNULIB_GETUSERSHELL)/g' \ | 2568 | -e 's/@''GNULIB_GETUSERSHELL''@/$(GL_GNULIB_GETUSERSHELL)/g' \ |
| 2531 | -e 's/@''GNULIB_GROUP_MEMBER''@/$(GL_GNULIB_GROUP_MEMBER)/g' \ | 2569 | -e 's/@''GNULIB_GROUP_MEMBER''@/$(GL_GNULIB_GROUP_MEMBER)/g' \ |
| 2532 | -e 's/@''GNULIB_ISATTY''@/$(GL_GNULIB_ISATTY)/g' \ | 2570 | -e 's/@''GNULIB_ISATTY''@/$(GL_GNULIB_ISATTY)/g' \ |
| @@ -2628,6 +2666,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H | |||
| 2628 | sed -e 's|@''REPLACE_ACCESS''@|$(REPLACE_ACCESS)|g' \ | 2666 | sed -e 's|@''REPLACE_ACCESS''@|$(REPLACE_ACCESS)|g' \ |
| 2629 | -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \ | 2667 | -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \ |
| 2630 | -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \ | 2668 | -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \ |
| 2669 | -e 's|@''REPLACE_COPY_FILE_RANGE''@|$(REPLACE_COPY_FILE_RANGE)|g' \ | ||
| 2631 | -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \ | 2670 | -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \ |
| 2632 | -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \ | 2671 | -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \ |
| 2633 | -e 's|@''REPLACE_EXECL''@|$(REPLACE_EXECL)|g' \ | 2672 | -e 's|@''REPLACE_EXECL''@|$(REPLACE_EXECL)|g' \ |
| @@ -2647,6 +2686,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H | |||
| 2647 | -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \ | 2686 | -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \ |
| 2648 | -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ | 2687 | -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ |
| 2649 | -e 's|@''REPLACE_GETPASS''@|$(REPLACE_GETPASS)|g' \ | 2688 | -e 's|@''REPLACE_GETPASS''@|$(REPLACE_GETPASS)|g' \ |
| 2689 | -e 's|@''REPLACE_GETPASS_FOR_GETPASS_GNU''@|$(REPLACE_GETPASS_FOR_GETPASS_GNU)|g' \ | ||
| 2650 | -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \ | 2690 | -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \ |
| 2651 | -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \ | 2691 | -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \ |
| 2652 | -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \ | 2692 | -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \ |
| @@ -2672,9 +2712,9 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H | |||
| 2672 | -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \ | 2712 | -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \ |
| 2673 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ | 2713 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ |
| 2674 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ | 2714 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ |
| 2675 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ | 2715 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ |
| 2676 | } > $@-t && \ | 2716 | > $@-t |
| 2677 | mv $@-t $@ | 2717 | $(AM_V_at)mv $@-t $@ |
| 2678 | MOSTLYCLEANFILES += unistd.h unistd.h-t | 2718 | MOSTLYCLEANFILES += unistd.h unistd.h-t |
| 2679 | 2719 | ||
| 2680 | EXTRA_DIST += unistd.in.h | 2720 | EXTRA_DIST += unistd.in.h |
| @@ -2690,10 +2730,9 @@ EXTRA_DIST += unlocked-io.h | |||
| 2690 | 2730 | ||
| 2691 | ## begin gnulib module unsetenv | 2731 | ## begin gnulib module unsetenv |
| 2692 | 2732 | ||
| 2693 | 2733 | if GL_COND_OBJ_UNSETENV | |
| 2694 | EXTRA_DIST += unsetenv.c | 2734 | libgnu_a_SOURCES += unsetenv.c |
| 2695 | 2735 | endif | |
| 2696 | EXTRA_libgnu_a_SOURCES += unsetenv.c | ||
| 2697 | 2736 | ||
| 2698 | ## end gnulib module unsetenv | 2737 | ## end gnulib module unsetenv |
| 2699 | 2738 | ||
| @@ -2738,9 +2777,8 @@ BUILT_SOURCES += wchar.h | |||
| 2738 | # We need the following in order to create <wchar.h> when the system | 2777 | # We need the following in order to create <wchar.h> when the system |
| 2739 | # version does not work standalone. | 2778 | # version does not work standalone. |
| 2740 | wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) | 2779 | wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) |
| 2741 | $(AM_V_GEN)rm -f $@-t $@ && \ | 2780 | $(gl_V_at)$(SED_HEADER_STDOUT) \ |
| 2742 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ | 2781 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 2743 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 2744 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 2782 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 2745 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 2783 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| 2746 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ | 2784 | -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ |
| @@ -2855,9 +2893,9 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) | |||
| 2855 | -e 's|@''REPLACE_WCSTOK''@|$(REPLACE_WCSTOK)|g' \ | 2893 | -e 's|@''REPLACE_WCSTOK''@|$(REPLACE_WCSTOK)|g' \ |
| 2856 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ | 2894 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ |
| 2857 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ | 2895 | -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ |
| 2858 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ | 2896 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ |
| 2859 | } > $@-t && \ | 2897 | > $@-t |
| 2860 | mv $@-t $@ | 2898 | $(AM_V_at)mv $@-t $@ |
| 2861 | MOSTLYCLEANFILES += wchar.h wchar.h-t | 2899 | MOSTLYCLEANFILES += wchar.h wchar.h-t |
| 2862 | 2900 | ||
| 2863 | EXTRA_DIST += wchar.in.h | 2901 | EXTRA_DIST += wchar.in.h |
| @@ -2866,10 +2904,9 @@ EXTRA_DIST += wchar.in.h | |||
| 2866 | 2904 | ||
| 2867 | ## begin gnulib module wcrtomb | 2905 | ## begin gnulib module wcrtomb |
| 2868 | 2906 | ||
| 2869 | 2907 | if GL_COND_OBJ_WCRTOMB | |
| 2870 | EXTRA_DIST += wcrtomb.c | 2908 | libgnu_a_SOURCES += wcrtomb.c |
| 2871 | 2909 | endif | |
| 2872 | EXTRA_libgnu_a_SOURCES += wcrtomb.c | ||
| 2873 | 2910 | ||
| 2874 | ## end gnulib module wcrtomb | 2911 | ## end gnulib module wcrtomb |
| 2875 | 2912 | ||
| @@ -2881,9 +2918,8 @@ libgnu_a_SOURCES += wctype-h.c | |||
| 2881 | # We need the following in order to create <wctype.h> when the system | 2918 | # We need the following in order to create <wctype.h> when the system |
| 2882 | # doesn't have one that works with the given compiler. | 2919 | # doesn't have one that works with the given compiler. |
| 2883 | wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) | 2920 | wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) |
| 2884 | $(AM_V_GEN)rm -f $@-t $@ && \ | 2921 | $(gl_V_at)$(SED_HEADER_STDOUT) \ |
| 2885 | { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ | 2922 | -e 's|@''GUARD_PREFIX''@|GL|g' \ |
| 2886 | sed -e 's|@''GUARD_PREFIX''@|GL|g' \ | ||
| 2887 | -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \ | 2923 | -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \ |
| 2888 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ | 2924 | -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
| 2889 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ | 2925 | -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
| @@ -2910,9 +2946,8 @@ wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H | |||
| 2910 | -e 's/@''REPLACE_TOWLOWER''@/$(REPLACE_TOWLOWER)/g' \ | 2946 | -e 's/@''REPLACE_TOWLOWER''@/$(REPLACE_TOWLOWER)/g' \ |
| 2911 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ | 2947 | -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ |
| 2912 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ | 2948 | -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ |
| 2913 | < $(srcdir)/wctype.in.h; \ | 2949 | $(srcdir)/wctype.in.h > $@-t |
| 2914 | } > $@-t && \ | 2950 | $(AM_V_at)mv $@-t $@ |
| 2915 | mv $@-t $@ | ||
| 2916 | MOSTLYCLEANFILES += wctype.h wctype.h-t | 2951 | MOSTLYCLEANFILES += wctype.h wctype.h-t |
| 2917 | 2952 | ||
| 2918 | EXTRA_DIST += wctype.in.h | 2953 | EXTRA_DIST += wctype.in.h |
| @@ -2921,37 +2956,41 @@ EXTRA_DIST += wctype.in.h | |||
| 2921 | 2956 | ||
| 2922 | ## begin gnulib module windows-mutex | 2957 | ## begin gnulib module windows-mutex |
| 2923 | 2958 | ||
| 2959 | if GL_COND_OBJ_WINDOWS_MUTEX | ||
| 2960 | libgnu_a_SOURCES += windows-mutex.c | ||
| 2961 | endif | ||
| 2924 | 2962 | ||
| 2925 | EXTRA_DIST += windows-initguard.h windows-mutex.c windows-mutex.h | 2963 | EXTRA_DIST += windows-initguard.h windows-mutex.h |
| 2926 | |||
| 2927 | EXTRA_libgnu_a_SOURCES += windows-mutex.c | ||
| 2928 | 2964 | ||
| 2929 | ## end gnulib module windows-mutex | 2965 | ## end gnulib module windows-mutex |
| 2930 | 2966 | ||
| 2931 | ## begin gnulib module windows-once | 2967 | ## begin gnulib module windows-once |
| 2932 | 2968 | ||
| 2969 | if GL_COND_OBJ_WINDOWS_ONCE | ||
| 2970 | libgnu_a_SOURCES += windows-once.c | ||
| 2971 | endif | ||
| 2933 | 2972 | ||
| 2934 | EXTRA_DIST += windows-once.c windows-once.h | 2973 | EXTRA_DIST += windows-once.h |
| 2935 | |||
| 2936 | EXTRA_libgnu_a_SOURCES += windows-once.c | ||
| 2937 | 2974 | ||
| 2938 | ## end gnulib module windows-once | 2975 | ## end gnulib module windows-once |
| 2939 | 2976 | ||
| 2940 | ## begin gnulib module windows-recmutex | 2977 | ## begin gnulib module windows-recmutex |
| 2941 | 2978 | ||
| 2979 | if GL_COND_OBJ_WINDOWS_RECMUTEX | ||
| 2980 | libgnu_a_SOURCES += windows-recmutex.c | ||
| 2981 | endif | ||
| 2942 | 2982 | ||
| 2943 | EXTRA_DIST += windows-initguard.h windows-recmutex.c windows-recmutex.h | 2983 | EXTRA_DIST += windows-initguard.h windows-recmutex.h |
| 2944 | |||
| 2945 | EXTRA_libgnu_a_SOURCES += windows-recmutex.c | ||
| 2946 | 2984 | ||
| 2947 | ## end gnulib module windows-recmutex | 2985 | ## end gnulib module windows-recmutex |
| 2948 | 2986 | ||
| 2949 | ## begin gnulib module windows-rwlock | 2987 | ## begin gnulib module windows-rwlock |
| 2950 | 2988 | ||
| 2989 | if GL_COND_OBJ_WINDOWS_RWLOCK | ||
| 2990 | libgnu_a_SOURCES += windows-rwlock.c | ||
| 2991 | endif | ||
| 2951 | 2992 | ||
| 2952 | EXTRA_DIST += windows-initguard.h windows-rwlock.c windows-rwlock.h | 2993 | EXTRA_DIST += windows-initguard.h windows-rwlock.h |
| 2953 | |||
| 2954 | EXTRA_libgnu_a_SOURCES += windows-rwlock.c | ||
| 2955 | 2994 | ||
| 2956 | ## end gnulib module windows-rwlock | 2995 | ## end gnulib module windows-rwlock |
| 2957 | 2996 | ||
| @@ -2992,3 +3031,7 @@ mostlyclean-local: mostlyclean-generic | |||
| 2992 | fi; \ | 3031 | fi; \ |
| 2993 | done; \ | 3032 | done; \ |
| 2994 | : | 3033 | : |
| 3034 | distclean-local: distclean-gnulib-libobjs | ||
| 3035 | distclean-gnulib-libobjs: | ||
| 3036 | -rm -f @gl_LIBOBJDEPS@ | ||
| 3037 | maintainer-clean-local: distclean-gnulib-libobjs | ||
diff --git a/gl/_Noreturn.h b/gl/_Noreturn.h index 6fed3c79..e914627a 100644 --- a/gl/_Noreturn.h +++ b/gl/_Noreturn.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* A C macro for declaring that a function does not return. | 1 | /* A C macro for declaring that a function does not return. |
| 2 | Copyright (C) 2011-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2011-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This program is free software: you can redistribute it and/or modify it | 4 | This program is free software: you can redistribute it and/or modify it |
| 5 | under the terms of the GNU Lesser General Public License as published | 5 | under the terms of the GNU Lesser General Public License as published |
diff --git a/gl/af_alg.c b/gl/af_alg.c index 748af70b..084bff60 100644 --- a/gl/af_alg.c +++ b/gl/af_alg.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* af_alg.c - Compute message digests from file streams and buffers. | 1 | /* af_alg.c - Compute message digests from file streams and buffers. |
| 2 | Copyright (C) 2018-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2018-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/af_alg.h b/gl/af_alg.h index f0fe7fc0..ddd6568b 100644 --- a/gl/af_alg.h +++ b/gl/af_alg.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* af_alg.h - Compute message digests from file streams and buffers. | 1 | /* af_alg.h - Compute message digests from file streams and buffers. |
| 2 | Copyright (C) 2018-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2018-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/alloca.in.h b/gl/alloca.in.h index 65c2d4d9..e2b14613 100644 --- a/gl/alloca.in.h +++ b/gl/alloca.in.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Memory allocation on the stack. | 1 | /* Memory allocation on the stack. |
| 2 | 2 | ||
| 3 | Copyright (C) 1995, 1999, 2001-2004, 2006-2021 Free Software Foundation, | 3 | Copyright (C) 1995, 1999, 2001-2004, 2006-2022 Free Software Foundation, |
| 4 | Inc. | 4 | Inc. |
| 5 | 5 | ||
| 6 | This file is free software: you can redistribute it and/or modify | 6 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/arpa_inet.in.h b/gl/arpa_inet.in.h index 9968067a..f5d7db2d 100644 --- a/gl/arpa_inet.in.h +++ b/gl/arpa_inet.in.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* A GNU-like <arpa/inet.h>. | 1 | /* A GNU-like <arpa/inet.h>. |
| 2 | 2 | ||
| 3 | Copyright (C) 2005-2006, 2008-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2005-2006, 2008-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/asnprintf.c b/gl/asnprintf.c index c5367b28..0c5c76ea 100644 --- a/gl/asnprintf.c +++ b/gl/asnprintf.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Formatted output to strings. | 1 | /* Formatted output to strings. |
| 2 | Copyright (C) 1999, 2002, 2006, 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 1999, 2002, 2006, 2009-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/asprintf.c b/gl/asprintf.c index 9c78c13d..9c163f38 100644 --- a/gl/asprintf.c +++ b/gl/asprintf.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Formatted output to strings. | 1 | /* Formatted output to strings. |
| 2 | Copyright (C) 1999, 2002, 2006-2007, 2009-2021 Free Software Foundation, | 2 | Copyright (C) 1999, 2002, 2006-2007, 2009-2022 Free Software Foundation, |
| 3 | Inc. | 3 | Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/attribute.h b/gl/attribute.h index eb36188d..378d4f0a 100644 --- a/gl/attribute.h +++ b/gl/attribute.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* ATTRIBUTE_* macros for using attributes in GCC and similar compilers | 1 | /* ATTRIBUTE_* macros for using attributes in GCC and similar compilers |
| 2 | 2 | ||
| 3 | Copyright 2020-2021 Free Software Foundation, Inc. | 3 | Copyright 2020-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/base64.c b/gl/base64.c index b204cb71..6b6e5b09 100644 --- a/gl/base64.c +++ b/gl/base64.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* base64.c -- Encode binary data using printable characters. | 1 | /* base64.c -- Encode binary data using printable characters. |
| 2 | Copyright (C) 1999-2001, 2004-2006, 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 1999-2001, 2004-2006, 2009-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/base64.h b/gl/base64.h index e58ccfb1..6b8b3dc3 100644 --- a/gl/base64.h +++ b/gl/base64.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* base64.h -- Encode binary data using printable characters. | 1 | /* base64.h -- Encode binary data using printable characters. |
| 2 | Copyright (C) 2004-2006, 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2004-2006, 2009-2022 Free Software Foundation, Inc. |
| 3 | Written by Simon Josefsson. | 3 | Written by Simon Josefsson. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/basename-lgpl.c b/gl/basename-lgpl.c index 5dbd1570..eb07e254 100644 --- a/gl/basename-lgpl.c +++ b/gl/basename-lgpl.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* basename.c -- return the last element in a file name | 1 | /* basename.c -- return the last element in a file name |
| 2 | 2 | ||
| 3 | Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2021 Free Software | 3 | Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2022 Free Software |
| 4 | Foundation, Inc. | 4 | Foundation, Inc. |
| 5 | 5 | ||
| 6 | This file is free software: you can redistribute it and/or modify | 6 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/basename-lgpl.h b/gl/basename-lgpl.h index d520c093..5569f219 100644 --- a/gl/basename-lgpl.h +++ b/gl/basename-lgpl.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Extract the last component (base name) of a file name. | 1 | /* Extract the last component (base name) of a file name. |
| 2 | 2 | ||
| 3 | Copyright (C) 1998, 2001, 2003-2006, 2009-2021 Free Software Foundation, | 3 | Copyright (C) 1998, 2001, 2003-2006, 2009-2022 Free Software Foundation, |
| 4 | Inc. | 4 | Inc. |
| 5 | 5 | ||
| 6 | This file is free software: you can redistribute it and/or modify | 6 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/basename.c b/gl/basename.c index 1181134e..0e372ca5 100644 --- a/gl/basename.c +++ b/gl/basename.c | |||
| @@ -1,11 +1,11 @@ | |||
| 1 | /* basename.c -- return the last element in a file name | 1 | /* basename.c -- return the last element in a file name |
| 2 | 2 | ||
| 3 | Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2021 Free Software | 3 | Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2022 Free Software |
| 4 | Foundation, Inc. | 4 | Foundation, Inc. |
| 5 | 5 | ||
| 6 | This program is free software: you can redistribute it and/or modify | 6 | This program is free software: you can redistribute it and/or modify |
| 7 | it under the terms of the GNU General Public License as published by | 7 | it under the terms of the GNU General Public License as published by |
| 8 | the Free Software Foundation; either version 3 of the License, or | 8 | the Free Software Foundation, either version 3 of the License, or |
| 9 | (at your option) any later version. | 9 | (at your option) any later version. |
| 10 | 10 | ||
| 11 | This program is distributed in the hope that it will be useful, | 11 | This program is distributed in the hope that it will be useful, |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Convert unibyte character to wide character. | 1 | /* Convert unibyte character to wide character. |
| 2 | Copyright (C) 2008, 2010-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2008, 2010-2022 Free Software Foundation, Inc. |
| 3 | Written by Bruno Haible <bruno@clisp.org>, 2008. | 3 | Written by Bruno Haible <bruno@clisp.org>, 2008. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/byteswap.in.h b/gl/byteswap.in.h index 113f8780..f4746d39 100644 --- a/gl/byteswap.in.h +++ b/gl/byteswap.in.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* byteswap.h - Byte swapping | 1 | /* byteswap.h - Byte swapping |
| 2 | Copyright (C) 2005, 2007, 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2005, 2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | Written by Oskar Liljeblad <oskar@osk.mine.nu>, 2005. | 3 | Written by Oskar Liljeblad <oskar@osk.mine.nu>, 2005. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/calloc.c b/gl/calloc.c index 25064e9e..0a934b30 100644 --- a/gl/calloc.c +++ b/gl/calloc.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* calloc() function that is glibc compatible. | 1 | /* calloc() function that is glibc compatible. |
| 2 | This wrapper function is required at least on Tru64 UNIX 5.1 and mingw. | 2 | This wrapper function is required at least on Tru64 UNIX 5.1 and mingw. |
| 3 | Copyright (C) 2004-2007, 2009-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2004-2007, 2009-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
| @@ -1,4 +1,4 @@ | |||
| 1 | /* Copyright (C) 1992-2021 Free Software Foundation, Inc. | 1 | /* Copyright (C) 1992-2022 Free Software Foundation, Inc. |
| 2 | Copyright The GNU Toolchain Authors. | 2 | Copyright The GNU Toolchain Authors. |
| 3 | This file is part of the GNU C Library. | 3 | This file is part of the GNU C Library. |
| 4 | 4 | ||
| @@ -41,7 +41,9 @@ | |||
| 41 | Similarly for __has_builtin, etc. */ | 41 | Similarly for __has_builtin, etc. */ |
| 42 | #if (defined __has_attribute \ | 42 | #if (defined __has_attribute \ |
| 43 | && (!defined __clang_minor__ \ | 43 | && (!defined __clang_minor__ \ |
| 44 | || 3 < __clang_major__ + (5 <= __clang_minor__))) | 44 | || (defined __apple_build_version__ \ |
| 45 | ? 6000000 <= __apple_build_version__ \ | ||
| 46 | : 3 < __clang_major__ + (5 <= __clang_minor__)))) | ||
| 45 | # define __glibc_has_attribute(attr) __has_attribute (attr) | 47 | # define __glibc_has_attribute(attr) __has_attribute (attr) |
| 46 | #else | 48 | #else |
| 47 | # define __glibc_has_attribute(attr) 0 | 49 | # define __glibc_has_attribute(attr) 0 |
| @@ -143,7 +145,8 @@ | |||
| 143 | #define __bos0(ptr) __builtin_object_size (ptr, 0) | 145 | #define __bos0(ptr) __builtin_object_size (ptr, 0) |
| 144 | 146 | ||
| 145 | /* Use __builtin_dynamic_object_size at _FORTIFY_SOURCE=3 when available. */ | 147 | /* Use __builtin_dynamic_object_size at _FORTIFY_SOURCE=3 when available. */ |
| 146 | #if __USE_FORTIFY_LEVEL == 3 && __glibc_clang_prereq (9, 0) | 148 | #if __USE_FORTIFY_LEVEL == 3 && (__glibc_clang_prereq (9, 0) \ |
| 149 | || __GNUC_PREREQ (12, 0)) | ||
| 147 | # define __glibc_objsize0(__o) __builtin_dynamic_object_size (__o, 0) | 150 | # define __glibc_objsize0(__o) __builtin_dynamic_object_size (__o, 0) |
| 148 | # define __glibc_objsize(__o) __builtin_dynamic_object_size (__o, 1) | 151 | # define __glibc_objsize(__o) __builtin_dynamic_object_size (__o, 1) |
| 149 | #else | 152 | #else |
| @@ -161,15 +164,15 @@ | |||
| 161 | || (__builtin_constant_p (__l) && (__l) > 0)) | 164 | || (__builtin_constant_p (__l) && (__l) > 0)) |
| 162 | 165 | ||
| 163 | /* Length is known to be safe at compile time if the __L * __S <= __OBJSZ | 166 | /* Length is known to be safe at compile time if the __L * __S <= __OBJSZ |
| 164 | condition can be folded to a constant and if it is true. The -1 check is | 167 | condition can be folded to a constant and if it is true, or unknown (-1) */ |
| 165 | redundant because since it implies that __glibc_safe_len_cond is true. */ | ||
| 166 | #define __glibc_safe_or_unknown_len(__l, __s, __osz) \ | 168 | #define __glibc_safe_or_unknown_len(__l, __s, __osz) \ |
| 167 | (__glibc_unsigned_or_positive (__l) \ | 169 | ((__osz) == (__SIZE_TYPE__) -1 \ |
| 168 | && __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \ | 170 | || (__glibc_unsigned_or_positive (__l) \ |
| 169 | __s, __osz)) \ | 171 | && __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \ |
| 170 | && __glibc_safe_len_cond ((__SIZE_TYPE__) (__l), __s, __osz)) | 172 | (__s), (__osz))) \ |
| 173 | && __glibc_safe_len_cond ((__SIZE_TYPE__) (__l), (__s), (__osz)))) | ||
| 171 | 174 | ||
| 172 | /* Conversely, we know at compile time that the length is safe if the | 175 | /* Conversely, we know at compile time that the length is unsafe if the |
| 173 | __L * __S <= __OBJSZ condition can be folded to a constant and if it is | 176 | __L * __S <= __OBJSZ condition can be folded to a constant and if it is |
| 174 | false. */ | 177 | false. */ |
| 175 | #define __glibc_unsafe_len(__l, __s, __osz) \ | 178 | #define __glibc_unsafe_len(__l, __s, __osz) \ |
diff --git a/gl/cloexec.c b/gl/cloexec.c index 7defa934..812be01a 100644 --- a/gl/cloexec.c +++ b/gl/cloexec.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* cloexec.c - set or clear the close-on-exec descriptor flag | 1 | /* cloexec.c - set or clear the close-on-exec descriptor flag |
| 2 | 2 | ||
| 3 | Copyright (C) 1991, 2004-2006, 2009-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 1991, 2004-2006, 2009-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/cloexec.h b/gl/cloexec.h index 97a3659e..7a22d775 100644 --- a/gl/cloexec.h +++ b/gl/cloexec.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* cloexec.c - set or clear the close-on-exec descriptor flag | 1 | /* cloexec.c - set or clear the close-on-exec descriptor flag |
| 2 | 2 | ||
| 3 | Copyright (C) 2004, 2009-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2004, 2009-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* close replacement. | 1 | /* close replacement. |
| 2 | Copyright (C) 2008-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2008-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/dirname-lgpl.c b/gl/dirname-lgpl.c index 95f9c991..d54f6a91 100644 --- a/gl/dirname-lgpl.c +++ b/gl/dirname-lgpl.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* dirname.c -- return all but the last element in a file name | 1 | /* dirname.c -- return all but the last element in a file name |
| 2 | 2 | ||
| 3 | Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2021 Free Software | 3 | Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2022 Free Software |
| 4 | Foundation, Inc. | 4 | Foundation, Inc. |
| 5 | 5 | ||
| 6 | This file is free software: you can redistribute it and/or modify | 6 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/dirname.c b/gl/dirname.c index d8b07d31..3d2aaf1e 100644 --- a/gl/dirname.c +++ b/gl/dirname.c | |||
| @@ -1,11 +1,11 @@ | |||
| 1 | /* dirname.c -- return all but the last element in a file name | 1 | /* dirname.c -- return all but the last element in a file name |
| 2 | 2 | ||
| 3 | Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2021 Free Software | 3 | Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2022 Free Software |
| 4 | Foundation, Inc. | 4 | Foundation, Inc. |
| 5 | 5 | ||
| 6 | This program is free software: you can redistribute it and/or modify | 6 | This program is free software: you can redistribute it and/or modify |
| 7 | it under the terms of the GNU General Public License as published by | 7 | it under the terms of the GNU General Public License as published by |
| 8 | the Free Software Foundation; either version 3 of the License, or | 8 | the Free Software Foundation, either version 3 of the License, or |
| 9 | (at your option) any later version. | 9 | (at your option) any later version. |
| 10 | 10 | ||
| 11 | This program is distributed in the hope that it will be useful, | 11 | This program is distributed in the hope that it will be useful, |
diff --git a/gl/dirname.h b/gl/dirname.h index 25abc7b7..e18a97ea 100644 --- a/gl/dirname.h +++ b/gl/dirname.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Take file names apart into directory and base names. | 1 | /* Take file names apart into directory and base names. |
| 2 | 2 | ||
| 3 | Copyright (C) 1998, 2001, 2003-2006, 2009-2021 Free Software Foundation, | 3 | Copyright (C) 1998, 2001, 2003-2006, 2009-2022 Free Software Foundation, |
| 4 | Inc. | 4 | Inc. |
| 5 | 5 | ||
| 6 | This file is free software: you can redistribute it and/or modify | 6 | This file is free software: you can redistribute it and/or modify |
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Duplicate an open file descriptor to a specified file descriptor. | 1 | /* Duplicate an open file descriptor to a specified file descriptor. |
| 2 | 2 | ||
| 3 | Copyright (C) 1999, 2004-2007, 2009-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 1999, 2004-2007, 2009-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/dynarray.h b/gl/dynarray.h index ec64273b..ca6439d3 100644 --- a/gl/dynarray.h +++ b/gl/dynarray.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Type-safe arrays which grow dynamically. | 1 | /* Type-safe arrays which grow dynamically. |
| 2 | Copyright 2021 Free Software Foundation, Inc. | 2 | Copyright 2021-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/errno.in.h b/gl/errno.in.h index 3cad9e2d..3ec18456 100644 --- a/gl/errno.in.h +++ b/gl/errno.in.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* A POSIX-like <errno.h>. | 1 | /* A POSIX-like <errno.h>. |
| 2 | 2 | ||
| 3 | Copyright (C) 2008-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2008-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Error handler for noninteractive utilities | 1 | /* Error handler for noninteractive utilities |
| 2 | Copyright (C) 1990-1998, 2000-2007, 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 1990-1998, 2000-2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU C Library. | 3 | This file is part of the GNU C Library. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Declaration for error-reporting function | 1 | /* Declaration for error-reporting function |
| 2 | Copyright (C) 1995-1997, 2003, 2006, 2008-2021 Free Software Foundation, | 2 | Copyright (C) 1995-1997, 2003, 2006, 2008-2022 Free Software Foundation, |
| 3 | Inc. | 3 | Inc. |
| 4 | This file is part of the GNU C Library. | 4 | This file is part of the GNU C Library. |
| 5 | 5 | ||
diff --git a/gl/exitfail.c b/gl/exitfail.c index ebc1f58f..84fb0eff 100644 --- a/gl/exitfail.c +++ b/gl/exitfail.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Failure exit status | 1 | /* Failure exit status |
| 2 | 2 | ||
| 3 | Copyright (C) 2002-2003, 2005-2007, 2009-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2002-2003, 2005-2007, 2009-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/exitfail.h b/gl/exitfail.h index 4add9e0f..865f096a 100644 --- a/gl/exitfail.h +++ b/gl/exitfail.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Failure exit status | 1 | /* Failure exit status |
| 2 | 2 | ||
| 3 | Copyright (C) 2002, 2009-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2002, 2009-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Provide file descriptor control. | 1 | /* Provide file descriptor control. |
| 2 | 2 | ||
| 3 | Copyright (C) 2009-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2009-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/fcntl.in.h b/gl/fcntl.in.h index 26dedc30..9270ced8 100644 --- a/gl/fcntl.in.h +++ b/gl/fcntl.in.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Like <fcntl.h>, but with non-working flags defined to 0. | 1 | /* Like <fcntl.h>, but with non-working flags defined to 0. |
| 2 | 2 | ||
| 3 | Copyright (C) 2006-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2006-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
| @@ -435,6 +435,10 @@ _GL_WARN_ON_USE (openat, "openat is not portable - " | |||
| 435 | # define AT_EACCESS 4 | 435 | # define AT_EACCESS 4 |
| 436 | #endif | 436 | #endif |
| 437 | 437 | ||
| 438 | /* Ignore this flag if not supported. */ | ||
| 439 | #ifndef AT_NO_AUTOMOUNT | ||
| 440 | # define AT_NO_AUTOMOUNT 0 | ||
| 441 | #endif | ||
| 438 | 442 | ||
| 439 | #endif /* _@GUARD_PREFIX@_FCNTL_H */ | 443 | #endif /* _@GUARD_PREFIX@_FCNTL_H */ |
| 440 | #endif /* _@GUARD_PREFIX@_FCNTL_H */ | 444 | #endif /* _@GUARD_PREFIX@_FCNTL_H */ |
diff --git a/gl/fd-hook.c b/gl/fd-hook.c index 75b1626d..64a7a80c 100644 --- a/gl/fd-hook.c +++ b/gl/fd-hook.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Hook for making file descriptor functions close(), ioctl() extensible. | 1 | /* Hook for making file descriptor functions close(), ioctl() extensible. |
| 2 | Copyright (C) 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2009-2022 Free Software Foundation, Inc. |
| 3 | Written by Bruno Haible <bruno@clisp.org>, 2009. | 3 | Written by Bruno Haible <bruno@clisp.org>, 2009. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/fd-hook.h b/gl/fd-hook.h index 98e2a526..d6c4964d 100644 --- a/gl/fd-hook.h +++ b/gl/fd-hook.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Hook for making file descriptor functions close(), ioctl() extensible. | 1 | /* Hook for making file descriptor functions close(), ioctl() extensible. |
| 2 | Copyright (C) 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2009-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/fflush.c b/gl/fflush.c index 8fe9d262..69511cde 100644 --- a/gl/fflush.c +++ b/gl/fflush.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* fflush.c -- allow flushing input streams | 1 | /* fflush.c -- allow flushing input streams |
| 2 | Copyright (C) 2007-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/filename.h b/gl/filename.h index dafe3dfd..ab77ca2d 100644 --- a/gl/filename.h +++ b/gl/filename.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Basic filename support macros. | 1 | /* Basic filename support macros. |
| 2 | Copyright (C) 2001-2004, 2007-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2001-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU C Library. | 3 | This file is part of the GNU C Library. |
| 4 | 4 | ||
| 5 | The GNU C Library is free software; you can redistribute it and/or | 5 | The GNU C Library is free software; you can redistribute it and/or |
diff --git a/gl/float+.h b/gl/float+.h index ad891f65..9ab45208 100644 --- a/gl/float+.h +++ b/gl/float+.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Supplemental information about the floating-point formats. | 1 | /* Supplemental information about the floating-point formats. |
| 2 | Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | Written by Bruno Haible <bruno@clisp.org>, 2007. | 3 | Written by Bruno Haible <bruno@clisp.org>, 2007. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Auxiliary definitions for <float.h>. | 1 | /* Auxiliary definitions for <float.h>. |
| 2 | Copyright (C) 2011-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2011-2022 Free Software Foundation, Inc. |
| 3 | Written by Bruno Haible <bruno@clisp.org>, 2011. | 3 | Written by Bruno Haible <bruno@clisp.org>, 2011. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/float.in.h b/gl/float.in.h index f52aba36..a4183765 100644 --- a/gl/float.in.h +++ b/gl/float.in.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* A correct <float.h>. | 1 | /* A correct <float.h>. |
| 2 | 2 | ||
| 3 | Copyright (C) 2007-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
| @@ -1,9 +1,9 @@ | |||
| 1 | /* Round towards negative infinity. | 1 | /* Round towards negative infinity. |
| 2 | Copyright (C) 2007, 2010-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2007, 2010-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
| 6 | published by the Free Software Foundation; either version 3 of the | 6 | published by the Free Software Foundation, either version 3 of the |
| 7 | License, or (at your option) any later version. | 7 | License, or (at your option) any later version. |
| 8 | 8 | ||
| 9 | This file is distributed in the hope that it will be useful, | 9 | This file is distributed in the hope that it will be useful, |
diff --git a/gl/floorf.c b/gl/floorf.c index 587f73b2..457ec750 100644 --- a/gl/floorf.c +++ b/gl/floorf.c | |||
| @@ -1,9 +1,9 @@ | |||
| 1 | /* Round towards negative infinity. | 1 | /* Round towards negative infinity. |
| 2 | Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
| 6 | published by the Free Software Foundation; either version 3 of the | 6 | published by the Free Software Foundation, either version 3 of the |
| 7 | License, or (at your option) any later version. | 7 | License, or (at your option) any later version. |
| 8 | 8 | ||
| 9 | This file is distributed in the hope that it will be useful, | 9 | This file is distributed in the hope that it will be useful, |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Open a stream to a file. | 1 | /* Open a stream to a file. |
| 2 | Copyright (C) 2007-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/fpurge.c b/gl/fpurge.c index 6b9c17a2..21e3b862 100644 --- a/gl/fpurge.c +++ b/gl/fpurge.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Flushing buffers of a FILE stream. | 1 | /* Flushing buffers of a FILE stream. |
| 2 | Copyright (C) 2007-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/freading.c b/gl/freading.c index be4f561a..93e96e00 100644 --- a/gl/freading.c +++ b/gl/freading.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Retrieve information about a FILE stream. | 1 | /* Retrieve information about a FILE stream. |
| 2 | Copyright (C) 2007-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/freading.h b/gl/freading.h index 61cdbd22..74fed227 100644 --- a/gl/freading.h +++ b/gl/freading.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Retrieve information about a FILE stream. | 1 | /* Retrieve information about a FILE stream. |
| 2 | Copyright (C) 2007-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Make free() preserve errno. | 1 | /* Make free() preserve errno. |
| 2 | 2 | ||
| 3 | Copyright (C) 2003, 2006, 2009-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2003, 2006, 2009-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* An fseek() function that, together with fflush(), is POSIX compliant. | 1 | /* An fseek() function that, together with fflush(), is POSIX compliant. |
| 2 | Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/fseeko.c b/gl/fseeko.c index 3539a364..2ca2db88 100644 --- a/gl/fseeko.c +++ b/gl/fseeko.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* An fseeko() function that, together with fflush(), is POSIX compliant. | 1 | /* An fseeko() function that, together with fflush(), is POSIX compliant. |
| 2 | Copyright (C) 2007-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* fstat() replacement. | 1 | /* fstat() replacement. |
| 2 | Copyright (C) 2011-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2011-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/fsusage.c b/gl/fsusage.c index 740cdc21..18f790f6 100644 --- a/gl/fsusage.c +++ b/gl/fsusage.c | |||
| @@ -1,11 +1,11 @@ | |||
| 1 | /* fsusage.c -- return space usage of mounted file systems | 1 | /* fsusage.c -- return space usage of mounted file systems |
| 2 | 2 | ||
| 3 | Copyright (C) 1991-1992, 1996, 1998-1999, 2002-2006, 2009-2021 Free Software | 3 | Copyright (C) 1991-1992, 1996, 1998-1999, 2002-2006, 2009-2022 Free Software |
| 4 | Foundation, Inc. | 4 | Foundation, Inc. |
| 5 | 5 | ||
| 6 | This file is free software: you can redistribute it and/or modify | 6 | This file is free software: you can redistribute it and/or modify |
| 7 | it under the terms of the GNU Lesser General Public License as | 7 | it under the terms of the GNU Lesser General Public License as |
| 8 | published by the Free Software Foundation; either version 3 of the | 8 | published by the Free Software Foundation, either version 3 of the |
| 9 | License, or (at your option) any later version. | 9 | License, or (at your option) any later version. |
| 10 | 10 | ||
| 11 | This file is distributed in the hope that it will be useful, | 11 | This file is distributed in the hope that it will be useful, |
diff --git a/gl/fsusage.h b/gl/fsusage.h index b3f58d99..0443d19f 100644 --- a/gl/fsusage.h +++ b/gl/fsusage.h | |||
| @@ -1,11 +1,11 @@ | |||
| 1 | /* fsusage.h -- declarations for file system space usage info | 1 | /* fsusage.h -- declarations for file system space usage info |
| 2 | 2 | ||
| 3 | Copyright (C) 1991-1992, 1997, 2003-2006, 2009-2021 Free Software | 3 | Copyright (C) 1991-1992, 1997, 2003-2006, 2009-2022 Free Software |
| 4 | Foundation, Inc. | 4 | Foundation, Inc. |
| 5 | 5 | ||
| 6 | This file is free software: you can redistribute it and/or modify | 6 | This file is free software: you can redistribute it and/or modify |
| 7 | it under the terms of the GNU Lesser General Public License as | 7 | it under the terms of the GNU Lesser General Public License as |
| 8 | published by the Free Software Foundation; either version 3 of the | 8 | published by the Free Software Foundation, either version 3 of the |
| 9 | License, or (at your option) any later version. | 9 | License, or (at your option) any later version. |
| 10 | 10 | ||
| 11 | This file is distributed in the hope that it will be useful, | 11 | This file is distributed in the hope that it will be useful, |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* An ftell() function that works around platform bugs. | 1 | /* An ftell() function that works around platform bugs. |
| 2 | Copyright (C) 2007-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/ftello.c b/gl/ftello.c index f701aa63..989614a0 100644 --- a/gl/ftello.c +++ b/gl/ftello.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* An ftello() function that works around platform bugs. | 1 | /* An ftello() function that works around platform bugs. |
| 2 | Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/gai_strerror.c b/gl/gai_strerror.c index 4874ef5e..c7eedb2f 100644 --- a/gl/gai_strerror.c +++ b/gl/gai_strerror.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* Copyright (C) 1997, 2001-2002, 2004-2006, 2008-2021 Free Software | 1 | /* Copyright (C) 1997, 2001-2002, 2004-2006, 2008-2022 Free Software |
| 2 | Foundation, Inc. | 2 | Foundation, Inc. |
| 3 | This file is part of the GNU C Library. | 3 | This file is part of the GNU C Library. |
| 4 | Contributed by Philip Blundell <pjb27@cam.ac.uk>, 1997. | 4 | Contributed by Philip Blundell <pjb27@cam.ac.uk>, 1997. |
diff --git a/gl/getaddrinfo.c b/gl/getaddrinfo.c index 0c42d1b7..39228985 100644 --- a/gl/getaddrinfo.c +++ b/gl/getaddrinfo.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Get address information (partial implementation). | 1 | /* Get address information (partial implementation). |
| 2 | Copyright (C) 1997, 2001-2002, 2004-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 1997, 2001-2002, 2004-2022 Free Software Foundation, Inc. |
| 3 | Contributed by Simon Josefsson <simon@josefsson.org>. | 3 | Contributed by Simon Josefsson <simon@josefsson.org>. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/getdelim.c b/gl/getdelim.c index c690b106..9eb0483c 100644 --- a/gl/getdelim.c +++ b/gl/getdelim.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* getdelim.c --- Implementation of replacement getdelim function. | 1 | /* getdelim.c --- Implementation of replacement getdelim function. |
| 2 | Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2021 Free Software | 2 | Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2022 Free Software |
| 3 | Foundation, Inc. | 3 | Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/getdtablesize.c b/gl/getdtablesize.c index 5006c2d5..793e0f88 100644 --- a/gl/getdtablesize.c +++ b/gl/getdtablesize.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* getdtablesize() function: Return maximum possible file descriptor value + 1. | 1 | /* getdtablesize() function: Return maximum possible file descriptor value + 1. |
| 2 | Copyright (C) 2008-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2008-2022 Free Software Foundation, Inc. |
| 3 | Written by Bruno Haible <bruno@clisp.org>, 2008. | 3 | Written by Bruno Haible <bruno@clisp.org>, 2008. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/gethostname.c b/gl/gethostname.c index 028edc63..ce9bf414 100644 --- a/gl/gethostname.c +++ b/gl/gethostname.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* gethostname emulation for SysV and POSIX.1. | 1 | /* gethostname emulation for SysV and POSIX.1. |
| 2 | 2 | ||
| 3 | Copyright (C) 1992, 2003, 2006, 2008-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 1992, 2003, 2006, 2008-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/getline.c b/gl/getline.c index 47de1bac..34b91177 100644 --- a/gl/getline.c +++ b/gl/getline.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* getline.c --- Implementation of replacement getline function. | 1 | /* getline.c --- Implementation of replacement getline function. |
| 2 | Copyright (C) 2005-2007, 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2005-2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/getloadavg.c b/gl/getloadavg.c index d42d0cd2..37e82808 100644 --- a/gl/getloadavg.c +++ b/gl/getloadavg.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Get the system load averages. | 1 | /* Get the system load averages. |
| 2 | 2 | ||
| 3 | Copyright (C) 1985-1989, 1991-1995, 1997, 1999-2000, 2003-2021 Free Software | 3 | Copyright (C) 1985-1989, 1991-1995, 1997, 1999-2000, 2003-2022 Free Software |
| 4 | Foundation, Inc. | 4 | Foundation, Inc. |
| 5 | 5 | ||
| 6 | NOTE: The canonical source of this file is maintained with gnulib. | 6 | NOTE: The canonical source of this file is maintained with gnulib. |
| @@ -8,7 +8,7 @@ | |||
| 8 | 8 | ||
| 9 | This program is free software: you can redistribute it and/or modify | 9 | This program is free software: you can redistribute it and/or modify |
| 10 | it under the terms of the GNU General Public License as published by | 10 | it under the terms of the GNU General Public License as published by |
| 11 | the Free Software Foundation; either version 3 of the License, or | 11 | the Free Software Foundation, either version 3 of the License, or |
| 12 | (at your option) any later version. | 12 | (at your option) any later version. |
| 13 | 13 | ||
| 14 | This program is distributed in the hope that it will be useful, | 14 | This program is distributed in the hope that it will be useful, |
diff --git a/gl/getopt-cdefs.in.h b/gl/getopt-cdefs.in.h index 33e3d4b3..b6dd913c 100644 --- a/gl/getopt-cdefs.in.h +++ b/gl/getopt-cdefs.in.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* getopt-on-non-glibc compatibility macros. | 1 | /* getopt-on-non-glibc compatibility macros. |
| 2 | Copyright (C) 1989-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 1989-2022 Free Software Foundation, Inc. |
| 3 | This file is part of gnulib. | 3 | This file is part of gnulib. |
| 4 | Unlike most of the getopt implementation, it is NOT shared | 4 | Unlike most of the getopt implementation, it is NOT shared |
| 5 | with the GNU C Library. | 5 | with the GNU C Library. |
diff --git a/gl/getopt-core.h b/gl/getopt-core.h index ceb14d05..1c40ecc8 100644 --- a/gl/getopt-core.h +++ b/gl/getopt-core.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Declarations for getopt (basic, portable features only). | 1 | /* Declarations for getopt (basic, portable features only). |
| 2 | Copyright (C) 1989-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 1989-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU C Library and is also part of gnulib. | 3 | This file is part of the GNU C Library and is also part of gnulib. |
| 4 | Patches to this file should be submitted to both projects. | 4 | Patches to this file should be submitted to both projects. |
| 5 | 5 | ||
diff --git a/gl/getopt-ext.h b/gl/getopt-ext.h index f82a8c61..d661fcc5 100644 --- a/gl/getopt-ext.h +++ b/gl/getopt-ext.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Declarations for getopt (GNU extensions). | 1 | /* Declarations for getopt (GNU extensions). |
| 2 | Copyright (C) 1989-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 1989-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU C Library and is also part of gnulib. | 3 | This file is part of the GNU C Library and is also part of gnulib. |
| 4 | Patches to this file should be submitted to both projects. | 4 | Patches to this file should be submitted to both projects. |
| 5 | 5 | ||
diff --git a/gl/getopt-pfx-core.h b/gl/getopt-pfx-core.h index b1733a34..3eead0e0 100644 --- a/gl/getopt-pfx-core.h +++ b/gl/getopt-pfx-core.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* getopt (basic, portable features) gnulib wrapper header. | 1 | /* getopt (basic, portable features) gnulib wrapper header. |
| 2 | Copyright (C) 1989-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 1989-2022 Free Software Foundation, Inc. |
| 3 | This file is part of gnulib. | 3 | This file is part of gnulib. |
| 4 | Unlike most of the getopt implementation, it is NOT shared | 4 | Unlike most of the getopt implementation, it is NOT shared |
| 5 | with the GNU C Library. | 5 | with the GNU C Library. |
diff --git a/gl/getopt-pfx-ext.h b/gl/getopt-pfx-ext.h index b9a14ba0..85a6cb5d 100644 --- a/gl/getopt-pfx-ext.h +++ b/gl/getopt-pfx-ext.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* getopt (GNU extensions) gnulib wrapper header. | 1 | /* getopt (GNU extensions) gnulib wrapper header. |
| 2 | Copyright (C) 1989-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 1989-2022 Free Software Foundation, Inc. |
| 3 | This file is part of gnulib. | 3 | This file is part of gnulib. |
| 4 | Unlike most of the getopt implementation, it is NOT shared | 4 | Unlike most of the getopt implementation, it is NOT shared |
| 5 | with the GNU C Library. | 5 | with the GNU C Library. |
diff --git a/gl/getopt.c b/gl/getopt.c index 7f3aa5aa..128dc7fc 100644 --- a/gl/getopt.c +++ b/gl/getopt.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Getopt for GNU. | 1 | /* Getopt for GNU. |
| 2 | Copyright (C) 1987-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 1987-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU C Library and is also part of gnulib. | 3 | This file is part of the GNU C Library and is also part of gnulib. |
| 4 | Patches to this file should be submitted to both projects. | 4 | Patches to this file should be submitted to both projects. |
| 5 | 5 | ||
diff --git a/gl/getopt.in.h b/gl/getopt.in.h index bf884f03..9bc50ee2 100644 --- a/gl/getopt.in.h +++ b/gl/getopt.in.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Declarations for getopt. | 1 | /* Declarations for getopt. |
| 2 | Copyright (C) 1989-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 1989-2022 Free Software Foundation, Inc. |
| 3 | This file is part of gnulib. | 3 | This file is part of gnulib. |
| 4 | Unlike most of the getopt implementation, it is NOT shared | 4 | Unlike most of the getopt implementation, it is NOT shared |
| 5 | with the GNU C Library, which supplies a different version of | 5 | with the GNU C Library, which supplies a different version of |
diff --git a/gl/getopt1.c b/gl/getopt1.c index 5a928062..990eee1b 100644 --- a/gl/getopt1.c +++ b/gl/getopt1.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* getopt_long and getopt_long_only entry points for GNU getopt. | 1 | /* getopt_long and getopt_long_only entry points for GNU getopt. |
| 2 | Copyright (C) 1987-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 1987-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU C Library and is also part of gnulib. | 3 | This file is part of the GNU C Library and is also part of gnulib. |
| 4 | Patches to this file should be submitted to both projects. | 4 | Patches to this file should be submitted to both projects. |
| 5 | 5 | ||
diff --git a/gl/getopt_int.h b/gl/getopt_int.h index 91254e48..ccdbb973 100644 --- a/gl/getopt_int.h +++ b/gl/getopt_int.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Internal declarations for getopt. | 1 | /* Internal declarations for getopt. |
| 2 | Copyright (C) 1989-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 1989-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU C Library and is also part of gnulib. | 3 | This file is part of the GNU C Library and is also part of gnulib. |
| 4 | Patches to this file should be submitted to both projects. | 4 | Patches to this file should be submitted to both projects. |
| 5 | 5 | ||
diff --git a/gl/getprogname.c b/gl/getprogname.c index 9a802811..62a48004 100644 --- a/gl/getprogname.c +++ b/gl/getprogname.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Program name management. | 1 | /* Program name management. |
| 2 | Copyright (C) 2016-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2016-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This program is free software: you can redistribute it and/or modify | 4 | This program is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as published by | 5 | it under the terms of the GNU Lesser General Public License as published by |
diff --git a/gl/getprogname.h b/gl/getprogname.h index eb12dcdc..9a35e584 100644 --- a/gl/getprogname.h +++ b/gl/getprogname.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Program name management. | 1 | /* Program name management. |
| 2 | Copyright (C) 2016-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2016-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This program is free software: you can redistribute it and/or modify | 4 | This program is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as published by | 5 | it under the terms of the GNU Lesser General Public License as published by |
diff --git a/gl/gettext.h b/gl/gettext.h index f1c7a240..b3577a04 100644 --- a/gl/gettext.h +++ b/gl/gettext.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Convenience header for conditional use of GNU <libintl.h>. | 1 | /* Convenience header for conditional use of GNU <libintl.h>. |
| 2 | Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2021 Free Software | 2 | Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2022 Free Software |
| 3 | Foundation, Inc. | 3 | Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| @@ -138,7 +138,7 @@ | |||
| 138 | #define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \ | 138 | #define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \ |
| 139 | npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category) | 139 | npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category) |
| 140 | 140 | ||
| 141 | #ifdef __GNUC__ | 141 | #if defined __GNUC__ || defined __clang__ |
| 142 | __inline | 142 | __inline |
| 143 | #else | 143 | #else |
| 144 | #ifdef __cplusplus | 144 | #ifdef __cplusplus |
| @@ -157,7 +157,7 @@ pgettext_aux (const char *domain, | |||
| 157 | return translation; | 157 | return translation; |
| 158 | } | 158 | } |
| 159 | 159 | ||
| 160 | #ifdef __GNUC__ | 160 | #if defined __GNUC__ || defined __clang__ |
| 161 | __inline | 161 | __inline |
| 162 | #else | 162 | #else |
| 163 | #ifdef __cplusplus | 163 | #ifdef __cplusplus |
| @@ -191,9 +191,8 @@ npgettext_aux (const char *domain, | |||
| 191 | or may have security implications due to non-deterministic stack usage. */ | 191 | or may have security implications due to non-deterministic stack usage. */ |
| 192 | 192 | ||
| 193 | #if (!defined GNULIB_NO_VLA \ | 193 | #if (!defined GNULIB_NO_VLA \ |
| 194 | && (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \ | 194 | && defined __STDC_VERSION__ && 199901L <= __STDC_VERSION__ \ |
| 195 | /* || (__STDC_VERSION__ == 199901L && !defined __HP_cc) | 195 | && !defined __STDC_NO_VLA__) |
| 196 | || (__STDC_VERSION__ >= 201112L && !defined __STDC_NO_VLA__) */ )) | ||
| 197 | # define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 1 | 196 | # define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 1 |
| 198 | #else | 197 | #else |
| 199 | # define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 0 | 198 | # define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 0 |
| @@ -208,7 +207,7 @@ npgettext_aux (const char *domain, | |||
| 208 | #define dpgettext_expr(Domainname, Msgctxt, Msgid) \ | 207 | #define dpgettext_expr(Domainname, Msgctxt, Msgid) \ |
| 209 | dcpgettext_expr (Domainname, Msgctxt, Msgid, LC_MESSAGES) | 208 | dcpgettext_expr (Domainname, Msgctxt, Msgid, LC_MESSAGES) |
| 210 | 209 | ||
| 211 | #ifdef __GNUC__ | 210 | #if defined __GNUC__ || defined __clang__ |
| 212 | __inline | 211 | __inline |
| 213 | #else | 212 | #else |
| 214 | #ifdef __cplusplus | 213 | #ifdef __cplusplus |
| @@ -255,7 +254,7 @@ dcpgettext_expr (const char *domain, | |||
| 255 | #define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ | 254 | #define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ |
| 256 | dcnpgettext_expr (Domainname, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) | 255 | dcnpgettext_expr (Domainname, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) |
| 257 | 256 | ||
| 258 | #ifdef __GNUC__ | 257 | #if defined __GNUC__ || defined __clang__ |
| 259 | __inline | 258 | __inline |
| 260 | #else | 259 | #else |
| 261 | #ifdef __cplusplus | 260 | #ifdef __cplusplus |
diff --git a/gl/gl_openssl.h b/gl/gl_openssl.h index ed98975f..4c42ac86 100644 --- a/gl/gl_openssl.h +++ b/gl/gl_openssl.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Wrap openssl crypto hash routines in gnulib interface. -*- coding: utf-8 -*- | 1 | /* Wrap openssl crypto hash routines in gnulib interface. -*- coding: utf-8 -*- |
| 2 | 2 | ||
| 3 | Copyright (C) 2013-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2013-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/glthread/lock.c b/gl/glthread/lock.c index 44335e32..b650c219 100644 --- a/gl/glthread/lock.c +++ b/gl/glthread/lock.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Locking in multithreaded situations. | 1 | /* Locking in multithreaded situations. |
| 2 | Copyright (C) 2005-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2005-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/glthread/lock.h b/gl/glthread/lock.h index cc4c5193..47eed8fe 100644 --- a/gl/glthread/lock.h +++ b/gl/glthread/lock.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Locking in multithreaded situations. | 1 | /* Locking in multithreaded situations. |
| 2 | Copyright (C) 2005-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2005-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/glthread/threadlib.c b/gl/glthread/threadlib.c index 793bc694..88a76bad 100644 --- a/gl/glthread/threadlib.c +++ b/gl/glthread/threadlib.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Multithreading primitives. | 1 | /* Multithreading primitives. |
| 2 | Copyright (C) 2005-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2005-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/hard-locale.c b/gl/hard-locale.c index 8b6802d1..f7fbc470 100644 --- a/gl/hard-locale.c +++ b/gl/hard-locale.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* hard-locale.c -- Determine whether a locale is hard. | 1 | /* hard-locale.c -- Determine whether a locale is hard. |
| 2 | 2 | ||
| 3 | Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2021 Free Software | 3 | Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2022 Free Software |
| 4 | Foundation, Inc. | 4 | Foundation, Inc. |
| 5 | 5 | ||
| 6 | This file is free software: you can redistribute it and/or modify | 6 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/hard-locale.h b/gl/hard-locale.h index eba66018..6066f4ed 100644 --- a/gl/hard-locale.h +++ b/gl/hard-locale.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Determine whether a locale is hard. | 1 | /* Determine whether a locale is hard. |
| 2 | 2 | ||
| 3 | Copyright (C) 1999, 2003-2004, 2009-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 1999, 2003-2004, 2009-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/ialloc.c b/gl/ialloc.c index 01370995..43c10433 100644 --- a/gl/ialloc.c +++ b/gl/ialloc.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* malloc with idx_t rather than size_t | 1 | /* malloc with idx_t rather than size_t |
| 2 | 2 | ||
| 3 | Copyright 2021 Free Software Foundation, Inc. | 3 | Copyright 2021-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/ialloc.h b/gl/ialloc.h index d4f54ced..37cf4bfb 100644 --- a/gl/ialloc.h +++ b/gl/ialloc.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* ialloc.h -- malloc with idx_t rather than size_t | 1 | /* ialloc.h -- malloc with idx_t rather than size_t |
| 2 | 2 | ||
| 3 | Copyright 2021 Free Software Foundation, Inc. | 3 | Copyright 2021-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/idpriv-droptemp.c b/gl/idpriv-droptemp.c index 532413ab..f3272365 100644 --- a/gl/idpriv-droptemp.c +++ b/gl/idpriv-droptemp.c | |||
| @@ -1,9 +1,9 @@ | |||
| 1 | /* Dropping uid/gid privileges of the current process temporarily. | 1 | /* Dropping uid/gid privileges of the current process temporarily. |
| 2 | Copyright (C) 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2009-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This program is free software: you can redistribute it and/or modify | 4 | This program is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
| 6 | the Free Software Foundation; either version 3 of the License, or | 6 | the Free Software Foundation, either version 3 of the License, or |
| 7 | (at your option) any later version. | 7 | (at your option) any later version. |
| 8 | 8 | ||
| 9 | This program is distributed in the hope that it will be useful, | 9 | This program is distributed in the hope that it will be useful, |
diff --git a/gl/idpriv.h b/gl/idpriv.h index 0f7e2f44..b97d1922 100644 --- a/gl/idpriv.h +++ b/gl/idpriv.h | |||
| @@ -1,9 +1,9 @@ | |||
| 1 | /* Dropping uid/gid privileges of the current process. | 1 | /* Dropping uid/gid privileges of the current process. |
| 2 | Copyright (C) 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2009-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This program is free software: you can redistribute it and/or modify | 4 | This program is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU General Public License as published by | 5 | it under the terms of the GNU General Public License as published by |
| 6 | the Free Software Foundation; either version 3 of the License, or | 6 | the Free Software Foundation, either version 3 of the License, or |
| 7 | (at your option) any later version. | 7 | (at your option) any later version. |
| 8 | 8 | ||
| 9 | This program is distributed in the hope that it will be useful, | 9 | This program is distributed in the hope that it will be useful, |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* A type for indices and sizes. | 1 | /* A type for indices and sizes. |
| 2 | Copyright (C) 2020-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2020-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU C Library. | 3 | This file is part of the GNU C Library. |
| 4 | 4 | ||
| 5 | The GNU C Library is free software; you can redistribute it and/or | 5 | The GNU C Library is free software; you can redistribute it and/or |
diff --git a/gl/inet_ntop.c b/gl/inet_ntop.c index 409e88c7..2d401d22 100644 --- a/gl/inet_ntop.c +++ b/gl/inet_ntop.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* inet_ntop.c -- convert IPv4 and IPv6 addresses from binary to text form | 1 | /* inet_ntop.c -- convert IPv4 and IPv6 addresses from binary to text form |
| 2 | 2 | ||
| 3 | Copyright (C) 2005-2006, 2008-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2005-2006, 2008-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/intprops-internal.h b/gl/intprops-internal.h new file mode 100644 index 00000000..f6455f78 --- /dev/null +++ b/gl/intprops-internal.h | |||
| @@ -0,0 +1,392 @@ | |||
| 1 | /* intprops-internal.h -- properties of integer types not visible to users | ||
| 2 | |||
| 3 | Copyright (C) 2001-2022 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This program is free software: you can redistribute it and/or modify it | ||
| 6 | under the terms of the GNU Lesser General Public License as published | ||
| 7 | by the Free Software Foundation; either version 2.1 of the License, or | ||
| 8 | (at your option) any later version. | ||
| 9 | |||
| 10 | This program is distributed in the hope that it will be useful, | ||
| 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | GNU Lesser General Public License for more details. | ||
| 14 | |||
| 15 | You should have received a copy of the GNU Lesser General Public License | ||
| 16 | along with this program. If not, see <https://www.gnu.org/licenses/>. */ | ||
| 17 | |||
| 18 | #ifndef _GL_INTPROPS_INTERNAL_H | ||
| 19 | #define _GL_INTPROPS_INTERNAL_H | ||
| 20 | |||
| 21 | #include <limits.h> | ||
| 22 | |||
| 23 | /* Return a value with the common real type of E and V and the value of V. | ||
| 24 | Do not evaluate E. */ | ||
| 25 | #define _GL_INT_CONVERT(e, v) ((1 ? 0 : (e)) + (v)) | ||
| 26 | |||
| 27 | /* Act like _GL_INT_CONVERT (E, -V) but work around a bug in IRIX 6.5 cc; see | ||
| 28 | <https://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>. */ | ||
| 29 | #define _GL_INT_NEGATE_CONVERT(e, v) ((1 ? 0 : (e)) - (v)) | ||
| 30 | |||
| 31 | /* The extra casts in the following macros work around compiler bugs, | ||
| 32 | e.g., in Cray C 5.0.3.0. */ | ||
| 33 | |||
| 34 | /* True if the real type T is signed. */ | ||
| 35 | #define _GL_TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) | ||
| 36 | |||
| 37 | /* Return 1 if the real expression E, after promotion, has a | ||
| 38 | signed or floating type. Do not evaluate E. */ | ||
| 39 | #define _GL_EXPR_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0) | ||
| 40 | |||
| 41 | |||
| 42 | /* Minimum and maximum values for integer types and expressions. */ | ||
| 43 | |||
| 44 | /* The width in bits of the integer type or expression T. | ||
| 45 | Do not evaluate T. T must not be a bit-field expression. | ||
| 46 | Padding bits are not supported; this is checked at compile-time below. */ | ||
| 47 | #define _GL_TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT) | ||
| 48 | |||
| 49 | /* The maximum and minimum values for the type of the expression E, | ||
| 50 | after integer promotion. E is not evaluated. */ | ||
| 51 | #define _GL_INT_MINIMUM(e) \ | ||
| 52 | (_GL_EXPR_SIGNED (e) \ | ||
| 53 | ? ~ _GL_SIGNED_INT_MAXIMUM (e) \ | ||
| 54 | : _GL_INT_CONVERT (e, 0)) | ||
| 55 | #define _GL_INT_MAXIMUM(e) \ | ||
| 56 | (_GL_EXPR_SIGNED (e) \ | ||
| 57 | ? _GL_SIGNED_INT_MAXIMUM (e) \ | ||
| 58 | : _GL_INT_NEGATE_CONVERT (e, 1)) | ||
| 59 | #define _GL_SIGNED_INT_MAXIMUM(e) \ | ||
| 60 | (((_GL_INT_CONVERT (e, 1) << (_GL_TYPE_WIDTH (+ (e)) - 2)) - 1) * 2 + 1) | ||
| 61 | |||
| 62 | /* Work around OpenVMS incompatibility with C99. */ | ||
| 63 | #if !defined LLONG_MAX && defined __INT64_MAX | ||
| 64 | # define LLONG_MAX __INT64_MAX | ||
| 65 | # define LLONG_MIN __INT64_MIN | ||
| 66 | #endif | ||
| 67 | |||
| 68 | /* This include file assumes that signed types are two's complement without | ||
| 69 | padding bits; the above macros have undefined behavior otherwise. | ||
| 70 | If this is a problem for you, please let us know how to fix it for your host. | ||
| 71 | This assumption is tested by the intprops-tests module. */ | ||
| 72 | |||
| 73 | /* Does the __typeof__ keyword work? This could be done by | ||
| 74 | 'configure', but for now it's easier to do it by hand. */ | ||
| 75 | #if (2 <= __GNUC__ \ | ||
| 76 | || (4 <= __clang_major__) \ | ||
| 77 | || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \ | ||
| 78 | || (0x5110 <= __SUNPRO_C && !__STDC__)) | ||
| 79 | # define _GL_HAVE___TYPEOF__ 1 | ||
| 80 | #else | ||
| 81 | # define _GL_HAVE___TYPEOF__ 0 | ||
| 82 | #endif | ||
| 83 | |||
| 84 | /* Return 1 if the integer type or expression T might be signed. Return 0 | ||
| 85 | if it is definitely unsigned. T must not be a bit-field expression. | ||
| 86 | This macro does not evaluate its argument, and expands to an | ||
| 87 | integer constant expression. */ | ||
| 88 | #if _GL_HAVE___TYPEOF__ | ||
| 89 | # define _GL_SIGNED_TYPE_OR_EXPR(t) _GL_TYPE_SIGNED (__typeof__ (t)) | ||
| 90 | #else | ||
| 91 | # define _GL_SIGNED_TYPE_OR_EXPR(t) 1 | ||
| 92 | #endif | ||
| 93 | |||
| 94 | /* Return 1 if - A would overflow in [MIN,MAX] arithmetic. | ||
| 95 | A should not have side effects, and A's type should be an | ||
| 96 | integer with minimum value MIN and maximum MAX. */ | ||
| 97 | #define _GL_INT_NEGATE_RANGE_OVERFLOW(a, min, max) \ | ||
| 98 | ((min) < 0 ? (a) < - (max) : 0 < (a)) | ||
| 99 | |||
| 100 | /* True if __builtin_add_overflow (A, B, P) and __builtin_sub_overflow | ||
| 101 | (A, B, P) work when P is non-null. */ | ||
| 102 | #ifdef __EDG__ | ||
| 103 | /* EDG-based compilers like nvc 22.1 cannot add 64-bit signed to unsigned | ||
| 104 | <https://bugs.gnu.org/53256>. */ | ||
| 105 | # define _GL_HAS_BUILTIN_ADD_OVERFLOW 0 | ||
| 106 | #elif defined __has_builtin | ||
| 107 | # define _GL_HAS_BUILTIN_ADD_OVERFLOW __has_builtin (__builtin_add_overflow) | ||
| 108 | /* __builtin_{add,sub}_overflow exists but is not reliable in GCC 5.x and 6.x, | ||
| 109 | see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98269>. */ | ||
| 110 | #elif 7 <= __GNUC__ | ||
| 111 | # define _GL_HAS_BUILTIN_ADD_OVERFLOW 1 | ||
| 112 | #else | ||
| 113 | # define _GL_HAS_BUILTIN_ADD_OVERFLOW 0 | ||
| 114 | #endif | ||
| 115 | |||
| 116 | /* True if __builtin_mul_overflow (A, B, P) works when P is non-null. */ | ||
| 117 | #if defined __clang_major__ && __clang_major__ < 14 | ||
| 118 | /* Work around Clang bug <https://bugs.llvm.org/show_bug.cgi?id=16404>. */ | ||
| 119 | # define _GL_HAS_BUILTIN_MUL_OVERFLOW 0 | ||
| 120 | #else | ||
| 121 | # define _GL_HAS_BUILTIN_MUL_OVERFLOW _GL_HAS_BUILTIN_ADD_OVERFLOW | ||
| 122 | #endif | ||
| 123 | |||
| 124 | /* True if __builtin_add_overflow_p (A, B, C) works, and similarly for | ||
| 125 | __builtin_sub_overflow_p and __builtin_mul_overflow_p. */ | ||
| 126 | #ifdef __EDG__ | ||
| 127 | /* In EDG-based compilers like ICC 2021.3 and earlier, | ||
| 128 | __builtin_add_overflow_p etc. are not treated as integral constant | ||
| 129 | expressions even when all arguments are. */ | ||
| 130 | # define _GL_HAS_BUILTIN_OVERFLOW_P 0 | ||
| 131 | #elif defined __has_builtin | ||
| 132 | # define _GL_HAS_BUILTIN_OVERFLOW_P __has_builtin (__builtin_mul_overflow_p) | ||
| 133 | #else | ||
| 134 | # define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__) | ||
| 135 | #endif | ||
| 136 | |||
| 137 | #if (!defined _GL_STDCKDINT_H && 202311 <= __STDC_VERSION__ \ | ||
| 138 | && ! (_GL_HAS_BUILTIN_ADD_OVERFLOW && _GL_HAS_BUILTIN_MUL_OVERFLOW)) | ||
| 139 | # include <stdckdint.h> | ||
| 140 | #endif | ||
| 141 | |||
| 142 | /* Store the low-order bits of A + B, A - B, A * B, respectively, into *R. | ||
| 143 | Return 1 if the result overflows. Arguments should not have side | ||
| 144 | effects and A, B and *R can be of any integer type other than char, | ||
| 145 | bool, a bit-precise integer type, or an enumeration type. */ | ||
| 146 | #if _GL_HAS_BUILTIN_ADD_OVERFLOW | ||
| 147 | # define _GL_INT_ADD_WRAPV(a, b, r) __builtin_add_overflow (a, b, r) | ||
| 148 | # define _GL_INT_SUBTRACT_WRAPV(a, b, r) __builtin_sub_overflow (a, b, r) | ||
| 149 | #elif defined ckd_add && defined ckd_sub && !defined _GL_STDCKDINT_H | ||
| 150 | # define _GL_INT_ADD_WRAPV(a, b, r) ckd_add (r, + (a), + (b)) | ||
| 151 | # define _GL_INT_SUBTRACT_WRAPV(a, b, r) ckd_sub (r, + (a), + (b)) | ||
| 152 | #else | ||
| 153 | # define _GL_INT_ADD_WRAPV(a, b, r) \ | ||
| 154 | _GL_INT_OP_WRAPV (a, b, r, +, _GL_INT_ADD_RANGE_OVERFLOW) | ||
| 155 | # define _GL_INT_SUBTRACT_WRAPV(a, b, r) \ | ||
| 156 | _GL_INT_OP_WRAPV (a, b, r, -, _GL_INT_SUBTRACT_RANGE_OVERFLOW) | ||
| 157 | #endif | ||
| 158 | #if _GL_HAS_BUILTIN_MUL_OVERFLOW | ||
| 159 | # if ((9 < __GNUC__ + (3 <= __GNUC_MINOR__) \ | ||
| 160 | || (__GNUC__ == 8 && 4 <= __GNUC_MINOR__)) \ | ||
| 161 | && !defined __EDG__) | ||
| 162 | # define _GL_INT_MULTIPLY_WRAPV(a, b, r) __builtin_mul_overflow (a, b, r) | ||
| 163 | # else | ||
| 164 | /* Work around GCC bug 91450. */ | ||
| 165 | # define _GL_INT_MULTIPLY_WRAPV(a, b, r) \ | ||
| 166 | ((!_GL_SIGNED_TYPE_OR_EXPR (*(r)) && _GL_EXPR_SIGNED (a) && _GL_EXPR_SIGNED (b) \ | ||
| 167 | && _GL_INT_MULTIPLY_RANGE_OVERFLOW (a, b, 0, (__typeof__ (*(r))) -1)) \ | ||
| 168 | ? ((void) __builtin_mul_overflow (a, b, r), 1) \ | ||
| 169 | : __builtin_mul_overflow (a, b, r)) | ||
| 170 | # endif | ||
| 171 | #elif defined ckd_mul && !defined _GL_STDCKDINT_H | ||
| 172 | # define _GL_INT_MULTIPLY_WRAPV(a, b, r) ckd_mul (r, + (a), + (b)) | ||
| 173 | #else | ||
| 174 | # define _GL_INT_MULTIPLY_WRAPV(a, b, r) \ | ||
| 175 | _GL_INT_OP_WRAPV (a, b, r, *, _GL_INT_MULTIPLY_RANGE_OVERFLOW) | ||
| 176 | #endif | ||
| 177 | |||
| 178 | /* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See: | ||
| 179 | https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193 | ||
| 180 | https://llvm.org/bugs/show_bug.cgi?id=25390 | ||
| 181 | For now, assume all versions of GCC-like compilers generate bogus | ||
| 182 | warnings for _Generic. This matters only for compilers that | ||
| 183 | lack relevant builtins. */ | ||
| 184 | #if __GNUC__ || defined __clang__ | ||
| 185 | # define _GL__GENERIC_BOGUS 1 | ||
| 186 | #else | ||
| 187 | # define _GL__GENERIC_BOGUS 0 | ||
| 188 | #endif | ||
| 189 | |||
| 190 | /* Store the low-order bits of A <op> B into *R, where OP specifies | ||
| 191 | the operation and OVERFLOW the overflow predicate. Return 1 if the | ||
| 192 | result overflows. Arguments should not have side effects, | ||
| 193 | and A, B and *R can be of any integer type other than char, bool, a | ||
| 194 | bit-precise integer type, or an enumeration type. */ | ||
| 195 | #if 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS | ||
| 196 | # define _GL_INT_OP_WRAPV(a, b, r, op, overflow) \ | ||
| 197 | (_Generic \ | ||
| 198 | (*(r), \ | ||
| 199 | signed char: \ | ||
| 200 | _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ | ||
| 201 | signed char, SCHAR_MIN, SCHAR_MAX), \ | ||
| 202 | unsigned char: \ | ||
| 203 | _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ | ||
| 204 | unsigned char, 0, UCHAR_MAX), \ | ||
| 205 | short int: \ | ||
| 206 | _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ | ||
| 207 | short int, SHRT_MIN, SHRT_MAX), \ | ||
| 208 | unsigned short int: \ | ||
| 209 | _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ | ||
| 210 | unsigned short int, 0, USHRT_MAX), \ | ||
| 211 | int: \ | ||
| 212 | _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ | ||
| 213 | int, INT_MIN, INT_MAX), \ | ||
| 214 | unsigned int: \ | ||
| 215 | _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ | ||
| 216 | unsigned int, 0, UINT_MAX), \ | ||
| 217 | long int: \ | ||
| 218 | _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ | ||
| 219 | long int, LONG_MIN, LONG_MAX), \ | ||
| 220 | unsigned long int: \ | ||
| 221 | _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ | ||
| 222 | unsigned long int, 0, ULONG_MAX), \ | ||
| 223 | long long int: \ | ||
| 224 | _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ | ||
| 225 | long long int, LLONG_MIN, LLONG_MAX), \ | ||
| 226 | unsigned long long int: \ | ||
| 227 | _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ | ||
| 228 | unsigned long long int, 0, ULLONG_MAX))) | ||
| 229 | #else | ||
| 230 | /* Store the low-order bits of A <op> B into *R, where OP specifies | ||
| 231 | the operation and OVERFLOW the overflow predicate. If *R is | ||
| 232 | signed, its type is ST with bounds SMIN..SMAX; otherwise its type | ||
| 233 | is UT with bounds U..UMAX. ST and UT are narrower than int. | ||
| 234 | Return 1 if the result overflows. Arguments should not have side | ||
| 235 | effects, and A, B and *R can be of any integer type other than | ||
| 236 | char, bool, a bit-precise integer type, or an enumeration type. */ | ||
| 237 | # if _GL_HAVE___TYPEOF__ | ||
| 238 | # define _GL_INT_OP_WRAPV_SMALLISH(a,b,r,op,overflow,st,smin,smax,ut,umax) \ | ||
| 239 | (_GL_TYPE_SIGNED (__typeof__ (*(r))) \ | ||
| 240 | ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, st, smin, smax) \ | ||
| 241 | : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, ut, 0, umax)) | ||
| 242 | # else | ||
| 243 | # define _GL_INT_OP_WRAPV_SMALLISH(a,b,r,op,overflow,st,smin,smax,ut,umax) \ | ||
| 244 | (overflow (a, b, smin, smax) \ | ||
| 245 | ? (overflow (a, b, 0, umax) \ | ||
| 246 | ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st), 1) \ | ||
| 247 | : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st)) < 0) \ | ||
| 248 | : (overflow (a, b, 0, umax) \ | ||
| 249 | ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st)) >= 0 \ | ||
| 250 | : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st), 0))) | ||
| 251 | # endif | ||
| 252 | |||
| 253 | # define _GL_INT_OP_WRAPV(a, b, r, op, overflow) \ | ||
| 254 | (sizeof *(r) == sizeof (signed char) \ | ||
| 255 | ? _GL_INT_OP_WRAPV_SMALLISH (a, b, r, op, overflow, \ | ||
| 256 | signed char, SCHAR_MIN, SCHAR_MAX, \ | ||
| 257 | unsigned char, UCHAR_MAX) \ | ||
| 258 | : sizeof *(r) == sizeof (short int) \ | ||
| 259 | ? _GL_INT_OP_WRAPV_SMALLISH (a, b, r, op, overflow, \ | ||
| 260 | short int, SHRT_MIN, SHRT_MAX, \ | ||
| 261 | unsigned short int, USHRT_MAX) \ | ||
| 262 | : sizeof *(r) == sizeof (int) \ | ||
| 263 | ? (_GL_EXPR_SIGNED (*(r)) \ | ||
| 264 | ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ | ||
| 265 | int, INT_MIN, INT_MAX) \ | ||
| 266 | : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ | ||
| 267 | unsigned int, 0, UINT_MAX)) \ | ||
| 268 | : _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow)) | ||
| 269 | # ifdef LLONG_MAX | ||
| 270 | # define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \ | ||
| 271 | (sizeof *(r) == sizeof (long int) \ | ||
| 272 | ? (_GL_EXPR_SIGNED (*(r)) \ | ||
| 273 | ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ | ||
| 274 | long int, LONG_MIN, LONG_MAX) \ | ||
| 275 | : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ | ||
| 276 | unsigned long int, 0, ULONG_MAX)) \ | ||
| 277 | : (_GL_EXPR_SIGNED (*(r)) \ | ||
| 278 | ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ | ||
| 279 | long long int, LLONG_MIN, LLONG_MAX) \ | ||
| 280 | : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ | ||
| 281 | unsigned long long int, 0, ULLONG_MAX))) | ||
| 282 | # else | ||
| 283 | # define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \ | ||
| 284 | (_GL_EXPR_SIGNED (*(r)) \ | ||
| 285 | ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ | ||
| 286 | long int, LONG_MIN, LONG_MAX) \ | ||
| 287 | : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ | ||
| 288 | unsigned long int, 0, ULONG_MAX)) | ||
| 289 | # endif | ||
| 290 | #endif | ||
| 291 | |||
| 292 | /* Store the low-order bits of A <op> B into *R, where the operation | ||
| 293 | is given by OP. Use the unsigned type UT for calculation to avoid | ||
| 294 | overflow problems. *R's type is T, with extrema TMIN and TMAX. | ||
| 295 | T can be any signed integer type other than char, bool, a | ||
| 296 | bit-precise integer type, or an enumeration type. | ||
| 297 | Return 1 if the result overflows. */ | ||
| 298 | #define _GL_INT_OP_CALC(a, b, r, op, overflow, ut, t, tmin, tmax) \ | ||
| 299 | (overflow (a, b, tmin, tmax) \ | ||
| 300 | ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t), 1) \ | ||
| 301 | : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t), 0)) | ||
| 302 | |||
| 303 | /* Return 1 if the integer expressions A - B and -A would overflow, | ||
| 304 | respectively. Arguments should not have side effects, | ||
| 305 | and can be any signed integer type other than char, bool, a | ||
| 306 | bit-precise integer type, or an enumeration type. | ||
| 307 | These macros are tuned for their last input argument being a constant. */ | ||
| 308 | |||
| 309 | #if _GL_HAS_BUILTIN_OVERFLOW_P | ||
| 310 | # define _GL_INT_NEGATE_OVERFLOW(a) \ | ||
| 311 | __builtin_sub_overflow_p (0, a, (__typeof__ (- (a))) 0) | ||
| 312 | #else | ||
| 313 | # define _GL_INT_NEGATE_OVERFLOW(a) \ | ||
| 314 | _GL_INT_NEGATE_RANGE_OVERFLOW (a, _GL_INT_MINIMUM (a), _GL_INT_MAXIMUM (a)) | ||
| 315 | #endif | ||
| 316 | |||
| 317 | /* Return the low-order bits of A <op> B, where the operation is given | ||
| 318 | by OP. Use the unsigned type UT for calculation to avoid undefined | ||
| 319 | behavior on signed integer overflow, and convert the result to type T. | ||
| 320 | UT is at least as wide as T and is no narrower than unsigned int, | ||
| 321 | T is two's complement, and there is no padding or trap representations. | ||
| 322 | Assume that converting UT to T yields the low-order bits, as is | ||
| 323 | done in all known two's-complement C compilers. E.g., see: | ||
| 324 | https://gcc.gnu.org/onlinedocs/gcc/Integers-implementation.html | ||
| 325 | |||
| 326 | According to the C standard, converting UT to T yields an | ||
| 327 | implementation-defined result or signal for values outside T's | ||
| 328 | range. However, code that works around this theoretical problem | ||
| 329 | runs afoul of a compiler bug in Oracle Studio 12.3 x86. See: | ||
| 330 | https://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html | ||
| 331 | As the compiler bug is real, don't try to work around the | ||
| 332 | theoretical problem. */ | ||
| 333 | |||
| 334 | #define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, ut, t) \ | ||
| 335 | ((t) ((ut) (a) op (ut) (b))) | ||
| 336 | |||
| 337 | /* Return true if the numeric values A + B, A - B, A * B fall outside | ||
| 338 | the range TMIN..TMAX. Arguments should not have side effects | ||
| 339 | and can be any integer type other than char, bool, | ||
| 340 | a bit-precise integer type, or an enumeration type. | ||
| 341 | TMIN should be signed and nonpositive. | ||
| 342 | TMAX should be positive, and should be signed unless TMIN is zero. */ | ||
| 343 | #define _GL_INT_ADD_RANGE_OVERFLOW(a, b, tmin, tmax) \ | ||
| 344 | ((b) < 0 \ | ||
| 345 | ? (((tmin) \ | ||
| 346 | ? ((_GL_EXPR_SIGNED (_GL_INT_CONVERT (a, (tmin) - (b))) || (b) < (tmin)) \ | ||
| 347 | && (a) < (tmin) - (b)) \ | ||
| 348 | : (a) <= -1 - (b)) \ | ||
| 349 | || ((_GL_EXPR_SIGNED (a) ? 0 <= (a) : (tmax) < (a)) && (tmax) < (a) + (b))) \ | ||
| 350 | : (a) < 0 \ | ||
| 351 | ? (((tmin) \ | ||
| 352 | ? ((_GL_EXPR_SIGNED (_GL_INT_CONVERT (b, (tmin) - (a))) || (a) < (tmin)) \ | ||
| 353 | && (b) < (tmin) - (a)) \ | ||
| 354 | : (b) <= -1 - (a)) \ | ||
| 355 | || ((_GL_EXPR_SIGNED (_GL_INT_CONVERT (a, b)) || (tmax) < (b)) \ | ||
| 356 | && (tmax) < (a) + (b))) \ | ||
| 357 | : (tmax) < (b) || (tmax) - (b) < (a)) | ||
| 358 | #define _GL_INT_SUBTRACT_RANGE_OVERFLOW(a, b, tmin, tmax) \ | ||
| 359 | (((a) < 0) == ((b) < 0) \ | ||
| 360 | ? ((a) < (b) \ | ||
| 361 | ? !(tmin) || -1 - (tmin) < (b) - (a) - 1 \ | ||
| 362 | : (tmax) < (a) - (b)) \ | ||
| 363 | : (a) < 0 \ | ||
| 364 | ? ((!_GL_EXPR_SIGNED (_GL_INT_CONVERT ((a) - (tmin), b)) && (a) - (tmin) < 0) \ | ||
| 365 | || (a) - (tmin) < (b)) \ | ||
| 366 | : ((! (_GL_EXPR_SIGNED (_GL_INT_CONVERT (tmax, b)) \ | ||
| 367 | && _GL_EXPR_SIGNED (_GL_INT_CONVERT ((tmax) + (b), a))) \ | ||
| 368 | && (tmax) <= -1 - (b)) \ | ||
| 369 | || (tmax) + (b) < (a))) | ||
| 370 | #define _GL_INT_MULTIPLY_RANGE_OVERFLOW(a, b, tmin, tmax) \ | ||
| 371 | ((b) < 0 \ | ||
| 372 | ? ((a) < 0 \ | ||
| 373 | ? (_GL_EXPR_SIGNED (_GL_INT_CONVERT (tmax, b)) \ | ||
| 374 | ? (a) < (tmax) / (b) \ | ||
| 375 | : ((_GL_INT_NEGATE_OVERFLOW (b) \ | ||
| 376 | ? _GL_INT_CONVERT (b, tmax) >> (_GL_TYPE_WIDTH (+ (b)) - 1) \ | ||
| 377 | : (tmax) / -(b)) \ | ||
| 378 | <= -1 - (a))) \ | ||
| 379 | : _GL_INT_NEGATE_OVERFLOW (_GL_INT_CONVERT (b, tmin)) && (b) == -1 \ | ||
| 380 | ? (_GL_EXPR_SIGNED (a) \ | ||
| 381 | ? 0 < (a) + (tmin) \ | ||
| 382 | : 0 < (a) && -1 - (tmin) < (a) - 1) \ | ||
| 383 | : (tmin) / (b) < (a)) \ | ||
| 384 | : (b) == 0 \ | ||
| 385 | ? 0 \ | ||
| 386 | : ((a) < 0 \ | ||
| 387 | ? (_GL_INT_NEGATE_OVERFLOW (_GL_INT_CONVERT (a, tmin)) && (a) == -1 \ | ||
| 388 | ? (_GL_EXPR_SIGNED (b) ? 0 < (b) + (tmin) : -1 - (tmin) < (b) - 1) \ | ||
| 389 | : (tmin) / (a) < (b)) \ | ||
| 390 | : (tmax) / (b) < (a))) | ||
| 391 | |||
| 392 | #endif /* _GL_INTPROPS_INTERNAL_H */ | ||
diff --git a/gl/intprops.h b/gl/intprops.h index 3fe64e82..f182ddc1 100644 --- a/gl/intprops.h +++ b/gl/intprops.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* intprops.h -- properties of integer types | 1 | /* intprops.h -- properties of integer types |
| 2 | 2 | ||
| 3 | Copyright (C) 2001-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2001-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This program is free software: you can redistribute it and/or modify it | 5 | This program is free software: you can redistribute it and/or modify it |
| 6 | under the terms of the GNU Lesser General Public License as published | 6 | under the terms of the GNU Lesser General Public License as published |
| @@ -15,19 +15,10 @@ | |||
| 15 | You should have received a copy of the GNU Lesser General Public License | 15 | You should have received a copy of the GNU Lesser General Public License |
| 16 | along with this program. If not, see <https://www.gnu.org/licenses/>. */ | 16 | along with this program. If not, see <https://www.gnu.org/licenses/>. */ |
| 17 | 17 | ||
| 18 | |||
| 19 | #ifndef _GL_INTPROPS_H | 18 | #ifndef _GL_INTPROPS_H |
| 20 | #define _GL_INTPROPS_H | 19 | #define _GL_INTPROPS_H |
| 21 | 20 | ||
| 22 | #include <limits.h> | 21 | #include "intprops-internal.h" |
| 23 | |||
| 24 | /* Return a value with the common real type of E and V and the value of V. | ||
| 25 | Do not evaluate E. */ | ||
| 26 | #define _GL_INT_CONVERT(e, v) ((1 ? 0 : (e)) + (v)) | ||
| 27 | |||
| 28 | /* Act like _GL_INT_CONVERT (E, -V) but work around a bug in IRIX 6.5 cc; see | ||
| 29 | <https://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>. */ | ||
| 30 | #define _GL_INT_NEGATE_CONVERT(e, v) ((1 ? 0 : (e)) - (v)) | ||
| 31 | 22 | ||
| 32 | /* The extra casts in the following macros work around compiler bugs, | 23 | /* The extra casts in the following macros work around compiler bugs, |
| 33 | e.g., in Cray C 5.0.3.0. */ | 24 | e.g., in Cray C 5.0.3.0. */ |
| @@ -37,11 +28,11 @@ | |||
| 37 | #define TYPE_IS_INTEGER(t) ((t) 1.5 == 1) | 28 | #define TYPE_IS_INTEGER(t) ((t) 1.5 == 1) |
| 38 | 29 | ||
| 39 | /* True if the real type T is signed. */ | 30 | /* True if the real type T is signed. */ |
| 40 | #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) | 31 | #define TYPE_SIGNED(t) _GL_TYPE_SIGNED (t) |
| 41 | 32 | ||
| 42 | /* Return 1 if the real expression E, after promotion, has a | 33 | /* Return 1 if the real expression E, after promotion, has a |
| 43 | signed or floating type. Do not evaluate E. */ | 34 | signed or floating type. Do not evaluate E. */ |
| 44 | #define EXPR_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0) | 35 | #define EXPR_SIGNED(e) _GL_EXPR_SIGNED (e) |
| 45 | 36 | ||
| 46 | 37 | ||
| 47 | /* Minimum and maximum values for integer types and expressions. */ | 38 | /* Minimum and maximum values for integer types and expressions. */ |
| @@ -49,7 +40,7 @@ | |||
| 49 | /* The width in bits of the integer type or expression T. | 40 | /* The width in bits of the integer type or expression T. |
| 50 | Do not evaluate T. T must not be a bit-field expression. | 41 | Do not evaluate T. T must not be a bit-field expression. |
| 51 | Padding bits are not supported; this is checked at compile-time below. */ | 42 | Padding bits are not supported; this is checked at compile-time below. */ |
| 52 | #define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT) | 43 | #define TYPE_WIDTH(t) _GL_TYPE_WIDTH (t) |
| 53 | 44 | ||
| 54 | /* The maximum and minimum values for the integer type T. */ | 45 | /* The maximum and minimum values for the integer type T. */ |
| 55 | #define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t)) | 46 | #define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t)) |
| @@ -58,51 +49,6 @@ | |||
| 58 | ? (t) -1 \ | 49 | ? (t) -1 \ |
| 59 | : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1))) | 50 | : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1))) |
| 60 | 51 | ||
| 61 | /* The maximum and minimum values for the type of the expression E, | ||
| 62 | after integer promotion. E is not evaluated. */ | ||
| 63 | #define _GL_INT_MINIMUM(e) \ | ||
| 64 | (EXPR_SIGNED (e) \ | ||
| 65 | ? ~ _GL_SIGNED_INT_MAXIMUM (e) \ | ||
| 66 | : _GL_INT_CONVERT (e, 0)) | ||
| 67 | #define _GL_INT_MAXIMUM(e) \ | ||
| 68 | (EXPR_SIGNED (e) \ | ||
| 69 | ? _GL_SIGNED_INT_MAXIMUM (e) \ | ||
| 70 | : _GL_INT_NEGATE_CONVERT (e, 1)) | ||
| 71 | #define _GL_SIGNED_INT_MAXIMUM(e) \ | ||
| 72 | (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH (+ (e)) - 2)) - 1) * 2 + 1) | ||
| 73 | |||
| 74 | /* Work around OpenVMS incompatibility with C99. */ | ||
| 75 | #if !defined LLONG_MAX && defined __INT64_MAX | ||
| 76 | # define LLONG_MAX __INT64_MAX | ||
| 77 | # define LLONG_MIN __INT64_MIN | ||
| 78 | #endif | ||
| 79 | |||
| 80 | /* This include file assumes that signed types are two's complement without | ||
| 81 | padding bits; the above macros have undefined behavior otherwise. | ||
| 82 | If this is a problem for you, please let us know how to fix it for your host. | ||
| 83 | This assumption is tested by the intprops-tests module. */ | ||
| 84 | |||
| 85 | /* Does the __typeof__ keyword work? This could be done by | ||
| 86 | 'configure', but for now it's easier to do it by hand. */ | ||
| 87 | #if (2 <= __GNUC__ \ | ||
| 88 | || (4 <= __clang_major__) \ | ||
| 89 | || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \ | ||
| 90 | || (0x5110 <= __SUNPRO_C && !__STDC__)) | ||
| 91 | # define _GL_HAVE___TYPEOF__ 1 | ||
| 92 | #else | ||
| 93 | # define _GL_HAVE___TYPEOF__ 0 | ||
| 94 | #endif | ||
| 95 | |||
| 96 | /* Return 1 if the integer type or expression T might be signed. Return 0 | ||
| 97 | if it is definitely unsigned. T must not be a bit-field expression. | ||
| 98 | This macro does not evaluate its argument, and expands to an | ||
| 99 | integer constant expression. */ | ||
| 100 | #if _GL_HAVE___TYPEOF__ | ||
| 101 | # define _GL_SIGNED_TYPE_OR_EXPR(t) TYPE_SIGNED (__typeof__ (t)) | ||
| 102 | #else | ||
| 103 | # define _GL_SIGNED_TYPE_OR_EXPR(t) 1 | ||
| 104 | #endif | ||
| 105 | |||
| 106 | /* Bound on length of the string representing an unsigned integer | 52 | /* Bound on length of the string representing an unsigned integer |
| 107 | value representable in B bits. log10 (2.0) < 146/485. The | 53 | value representable in B bits. log10 (2.0) < 146/485. The |
| 108 | smallest value of B where this bound is not tight is 2621. */ | 54 | smallest value of B where this bound is not tight is 2621. */ |
| @@ -129,12 +75,11 @@ | |||
| 129 | /* Range overflow checks. | 75 | /* Range overflow checks. |
| 130 | 76 | ||
| 131 | The INT_<op>_RANGE_OVERFLOW macros return 1 if the corresponding C | 77 | The INT_<op>_RANGE_OVERFLOW macros return 1 if the corresponding C |
| 132 | operators might not yield numerically correct answers due to | 78 | operators overflow arithmetically when given the same arguments. |
| 133 | arithmetic overflow. They do not rely on undefined or | 79 | These macros do not rely on undefined or implementation-defined behavior. |
| 134 | implementation-defined behavior. Their implementations are simple | 80 | Although their implementations are simple and straightforward, |
| 135 | and straightforward, but they are harder to use and may be less | 81 | they are harder to use and may be less efficient than the |
| 136 | efficient than the INT_<op>_WRAPV, INT_<op>_OK, and | 82 | INT_<op>_WRAPV, INT_<op>_OK, and INT_<op>_OVERFLOW macros described below. |
| 137 | INT_<op>_OVERFLOW macros described below. | ||
| 138 | 83 | ||
| 139 | Example usage: | 84 | Example usage: |
| 140 | 85 | ||
| @@ -181,9 +126,7 @@ | |||
| 181 | /* Return 1 if - A would overflow in [MIN,MAX] arithmetic. | 126 | /* Return 1 if - A would overflow in [MIN,MAX] arithmetic. |
| 182 | See above for restrictions. */ | 127 | See above for restrictions. */ |
| 183 | #define INT_NEGATE_RANGE_OVERFLOW(a, min, max) \ | 128 | #define INT_NEGATE_RANGE_OVERFLOW(a, min, max) \ |
| 184 | ((min) < 0 \ | 129 | _GL_INT_NEGATE_RANGE_OVERFLOW (a, min, max) |
| 185 | ? (a) < - (max) \ | ||
| 186 | : 0 < (a)) | ||
| 187 | 130 | ||
| 188 | /* Return 1 if A * B would overflow in [MIN,MAX] arithmetic. | 131 | /* Return 1 if A * B would overflow in [MIN,MAX] arithmetic. |
| 189 | See above for restrictions. Avoid && and || as they tickle | 132 | See above for restrictions. Avoid && and || as they tickle |
| @@ -227,40 +170,6 @@ | |||
| 227 | ? (a) < (min) >> (b) \ | 170 | ? (a) < (min) >> (b) \ |
| 228 | : (max) >> (b) < (a)) | 171 | : (max) >> (b) < (a)) |
| 229 | 172 | ||
| 230 | /* True if __builtin_add_overflow (A, B, P) and __builtin_sub_overflow | ||
| 231 | (A, B, P) work when P is non-null. */ | ||
| 232 | /* __builtin_{add,sub}_overflow exists but is not reliable in GCC 5.x and 6.x, | ||
| 233 | see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98269>. */ | ||
| 234 | #if 7 <= __GNUC__ && !defined __ICC | ||
| 235 | # define _GL_HAS_BUILTIN_ADD_OVERFLOW 1 | ||
| 236 | #elif defined __has_builtin | ||
| 237 | # define _GL_HAS_BUILTIN_ADD_OVERFLOW __has_builtin (__builtin_add_overflow) | ||
| 238 | #else | ||
| 239 | # define _GL_HAS_BUILTIN_ADD_OVERFLOW 0 | ||
| 240 | #endif | ||
| 241 | |||
| 242 | /* True if __builtin_mul_overflow (A, B, P) works when P is non-null. */ | ||
| 243 | #ifdef __clang__ | ||
| 244 | /* Work around Clang bug <https://bugs.llvm.org/show_bug.cgi?id=16404>. */ | ||
| 245 | # define _GL_HAS_BUILTIN_MUL_OVERFLOW 0 | ||
| 246 | #else | ||
| 247 | # define _GL_HAS_BUILTIN_MUL_OVERFLOW _GL_HAS_BUILTIN_ADD_OVERFLOW | ||
| 248 | #endif | ||
| 249 | |||
| 250 | /* True if __builtin_add_overflow_p (A, B, C) works, and similarly for | ||
| 251 | __builtin_sub_overflow_p and __builtin_mul_overflow_p. */ | ||
| 252 | #if defined __clang__ || defined __ICC | ||
| 253 | /* Clang 11 lacks __builtin_mul_overflow_p, and even if it did it | ||
| 254 | would presumably run afoul of Clang bug 16404. ICC 2021.1's | ||
| 255 | __builtin_add_overflow_p etc. are not treated as integral constant | ||
| 256 | expressions even when all arguments are. */ | ||
| 257 | # define _GL_HAS_BUILTIN_OVERFLOW_P 0 | ||
| 258 | #elif defined __has_builtin | ||
| 259 | # define _GL_HAS_BUILTIN_OVERFLOW_P __has_builtin (__builtin_mul_overflow_p) | ||
| 260 | #else | ||
| 261 | # define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__) | ||
| 262 | #endif | ||
| 263 | |||
| 264 | /* The _GL*_OVERFLOW macros have the same restrictions as the | 173 | /* The _GL*_OVERFLOW macros have the same restrictions as the |
| 265 | *_RANGE_OVERFLOW macros, except that they do not assume that operands | 174 | *_RANGE_OVERFLOW macros, except that they do not assume that operands |
| 266 | (e.g., A and B) have the same type as MIN and MAX. Instead, they assume | 175 | (e.g., A and B) have the same type as MIN and MAX. Instead, they assume |
| @@ -347,13 +256,18 @@ | |||
| 347 | Because the WRAPV macros convert the result, they report overflow | 256 | Because the WRAPV macros convert the result, they report overflow |
| 348 | in different circumstances than the OVERFLOW macros do. For | 257 | in different circumstances than the OVERFLOW macros do. For |
| 349 | example, in the typical case with 16-bit 'short' and 32-bit 'int', | 258 | example, in the typical case with 16-bit 'short' and 32-bit 'int', |
| 350 | if A, B and R are all of type 'short' then INT_ADD_OVERFLOW (A, B) | 259 | if A, B and *R are all of type 'short' then INT_ADD_OVERFLOW (A, B) |
| 351 | returns false because the addition cannot overflow after A and B | 260 | returns false because the addition cannot overflow after A and B |
| 352 | are converted to 'int', whereas INT_ADD_WRAPV (A, B, &R) returns | 261 | are converted to 'int', whereas INT_ADD_WRAPV (A, B, R) returns |
| 353 | true or false depending on whether the sum fits into 'short'. | 262 | true or false depending on whether the sum fits into 'short'. |
| 354 | 263 | ||
| 355 | These macros are tuned for their last input argument being a constant. | 264 | These macros are tuned for their last input argument being a constant. |
| 356 | 265 | ||
| 266 | A, B, and *R should be integers; they need not be the same type, | ||
| 267 | and they need not be all signed or all unsigned. | ||
| 268 | However, none of the integer types should be bit-precise, | ||
| 269 | and *R's type should not be char, bool, or an enumeration type. | ||
| 270 | |||
| 357 | Return 1 if the integer expressions A * B, A - B, -A, A * B, A / B, | 271 | Return 1 if the integer expressions A * B, A - B, -A, A * B, A / B, |
| 358 | A % B, and A << B would overflow, respectively. */ | 272 | A % B, and A << B would overflow, respectively. */ |
| 359 | 273 | ||
| @@ -361,12 +275,7 @@ | |||
| 361 | _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW) | 275 | _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW) |
| 362 | #define INT_SUBTRACT_OVERFLOW(a, b) \ | 276 | #define INT_SUBTRACT_OVERFLOW(a, b) \ |
| 363 | _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW) | 277 | _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW) |
| 364 | #if _GL_HAS_BUILTIN_OVERFLOW_P | 278 | #define INT_NEGATE_OVERFLOW(a) _GL_INT_NEGATE_OVERFLOW (a) |
| 365 | # define INT_NEGATE_OVERFLOW(a) INT_SUBTRACT_OVERFLOW (0, a) | ||
| 366 | #else | ||
| 367 | # define INT_NEGATE_OVERFLOW(a) \ | ||
| 368 | INT_NEGATE_RANGE_OVERFLOW (a, _GL_INT_MINIMUM (a), _GL_INT_MAXIMUM (a)) | ||
| 369 | #endif | ||
| 370 | #define INT_MULTIPLY_OVERFLOW(a, b) \ | 279 | #define INT_MULTIPLY_OVERFLOW(a, b) \ |
| 371 | _GL_BINARY_OP_OVERFLOW (a, b, _GL_MULTIPLY_OVERFLOW) | 280 | _GL_BINARY_OP_OVERFLOW (a, b, _GL_MULTIPLY_OVERFLOW) |
| 372 | #define INT_DIVIDE_OVERFLOW(a, b) \ | 281 | #define INT_DIVIDE_OVERFLOW(a, b) \ |
| @@ -388,224 +297,9 @@ | |||
| 388 | 297 | ||
| 389 | /* Store the low-order bits of A + B, A - B, A * B, respectively, into *R. | 298 | /* Store the low-order bits of A + B, A - B, A * B, respectively, into *R. |
| 390 | Return 1 if the result overflows. See above for restrictions. */ | 299 | Return 1 if the result overflows. See above for restrictions. */ |
| 391 | #if _GL_HAS_BUILTIN_ADD_OVERFLOW | 300 | #define INT_ADD_WRAPV(a, b, r) _GL_INT_ADD_WRAPV (a, b, r) |
| 392 | # define INT_ADD_WRAPV(a, b, r) __builtin_add_overflow (a, b, r) | 301 | #define INT_SUBTRACT_WRAPV(a, b, r) _GL_INT_SUBTRACT_WRAPV (a, b, r) |
| 393 | # define INT_SUBTRACT_WRAPV(a, b, r) __builtin_sub_overflow (a, b, r) | 302 | #define INT_MULTIPLY_WRAPV(a, b, r) _GL_INT_MULTIPLY_WRAPV (a, b, r) |
| 394 | #else | ||
| 395 | # define INT_ADD_WRAPV(a, b, r) \ | ||
| 396 | _GL_INT_OP_WRAPV (a, b, r, +, _GL_INT_ADD_RANGE_OVERFLOW) | ||
| 397 | # define INT_SUBTRACT_WRAPV(a, b, r) \ | ||
| 398 | _GL_INT_OP_WRAPV (a, b, r, -, _GL_INT_SUBTRACT_RANGE_OVERFLOW) | ||
| 399 | #endif | ||
| 400 | #if _GL_HAS_BUILTIN_MUL_OVERFLOW | ||
| 401 | # if ((9 < __GNUC__ + (3 <= __GNUC_MINOR__) \ | ||
| 402 | || (__GNUC__ == 8 && 4 <= __GNUC_MINOR__)) \ | ||
| 403 | && !defined __ICC) | ||
| 404 | # define INT_MULTIPLY_WRAPV(a, b, r) __builtin_mul_overflow (a, b, r) | ||
| 405 | # else | ||
| 406 | /* Work around GCC bug 91450. */ | ||
| 407 | # define INT_MULTIPLY_WRAPV(a, b, r) \ | ||
| 408 | ((!_GL_SIGNED_TYPE_OR_EXPR (*(r)) && EXPR_SIGNED (a) && EXPR_SIGNED (b) \ | ||
| 409 | && _GL_INT_MULTIPLY_RANGE_OVERFLOW (a, b, 0, (__typeof__ (*(r))) -1)) \ | ||
| 410 | ? ((void) __builtin_mul_overflow (a, b, r), 1) \ | ||
| 411 | : __builtin_mul_overflow (a, b, r)) | ||
| 412 | # endif | ||
| 413 | #else | ||
| 414 | # define INT_MULTIPLY_WRAPV(a, b, r) \ | ||
| 415 | _GL_INT_OP_WRAPV (a, b, r, *, _GL_INT_MULTIPLY_RANGE_OVERFLOW) | ||
| 416 | #endif | ||
| 417 | |||
| 418 | /* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See: | ||
| 419 | https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193 | ||
| 420 | https://llvm.org/bugs/show_bug.cgi?id=25390 | ||
| 421 | For now, assume all versions of GCC-like compilers generate bogus | ||
| 422 | warnings for _Generic. This matters only for compilers that | ||
| 423 | lack relevant builtins. */ | ||
| 424 | #if __GNUC__ || defined __clang__ | ||
| 425 | # define _GL__GENERIC_BOGUS 1 | ||
| 426 | #else | ||
| 427 | # define _GL__GENERIC_BOGUS 0 | ||
| 428 | #endif | ||
| 429 | |||
| 430 | /* Store the low-order bits of A <op> B into *R, where OP specifies | ||
| 431 | the operation and OVERFLOW the overflow predicate. Return 1 if the | ||
| 432 | result overflows. See above for restrictions. */ | ||
| 433 | #if 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS | ||
| 434 | # define _GL_INT_OP_WRAPV(a, b, r, op, overflow) \ | ||
| 435 | (_Generic \ | ||
| 436 | (*(r), \ | ||
| 437 | signed char: \ | ||
| 438 | _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ | ||
| 439 | signed char, SCHAR_MIN, SCHAR_MAX), \ | ||
| 440 | unsigned char: \ | ||
| 441 | _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ | ||
| 442 | unsigned char, 0, UCHAR_MAX), \ | ||
| 443 | short int: \ | ||
| 444 | _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ | ||
| 445 | short int, SHRT_MIN, SHRT_MAX), \ | ||
| 446 | unsigned short int: \ | ||
| 447 | _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ | ||
| 448 | unsigned short int, 0, USHRT_MAX), \ | ||
| 449 | int: \ | ||
| 450 | _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ | ||
| 451 | int, INT_MIN, INT_MAX), \ | ||
| 452 | unsigned int: \ | ||
| 453 | _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ | ||
| 454 | unsigned int, 0, UINT_MAX), \ | ||
| 455 | long int: \ | ||
| 456 | _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ | ||
| 457 | long int, LONG_MIN, LONG_MAX), \ | ||
| 458 | unsigned long int: \ | ||
| 459 | _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ | ||
| 460 | unsigned long int, 0, ULONG_MAX), \ | ||
| 461 | long long int: \ | ||
| 462 | _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ | ||
| 463 | long long int, LLONG_MIN, LLONG_MAX), \ | ||
| 464 | unsigned long long int: \ | ||
| 465 | _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ | ||
| 466 | unsigned long long int, 0, ULLONG_MAX))) | ||
| 467 | #else | ||
| 468 | /* Store the low-order bits of A <op> B into *R, where OP specifies | ||
| 469 | the operation and OVERFLOW the overflow predicate. If *R is | ||
| 470 | signed, its type is ST with bounds SMIN..SMAX; otherwise its type | ||
| 471 | is UT with bounds U..UMAX. ST and UT are narrower than int. | ||
| 472 | Return 1 if the result overflows. See above for restrictions. */ | ||
| 473 | # if _GL_HAVE___TYPEOF__ | ||
| 474 | # define _GL_INT_OP_WRAPV_SMALLISH(a,b,r,op,overflow,st,smin,smax,ut,umax) \ | ||
| 475 | (TYPE_SIGNED (__typeof__ (*(r))) \ | ||
| 476 | ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, st, smin, smax) \ | ||
| 477 | : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, ut, 0, umax)) | ||
| 478 | # else | ||
| 479 | # define _GL_INT_OP_WRAPV_SMALLISH(a,b,r,op,overflow,st,smin,smax,ut,umax) \ | ||
| 480 | (overflow (a, b, smin, smax) \ | ||
| 481 | ? (overflow (a, b, 0, umax) \ | ||
| 482 | ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st), 1) \ | ||
| 483 | : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st)) < 0) \ | ||
| 484 | : (overflow (a, b, 0, umax) \ | ||
| 485 | ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st)) >= 0 \ | ||
| 486 | : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st), 0))) | ||
| 487 | # endif | ||
| 488 | |||
| 489 | # define _GL_INT_OP_WRAPV(a, b, r, op, overflow) \ | ||
| 490 | (sizeof *(r) == sizeof (signed char) \ | ||
| 491 | ? _GL_INT_OP_WRAPV_SMALLISH (a, b, r, op, overflow, \ | ||
| 492 | signed char, SCHAR_MIN, SCHAR_MAX, \ | ||
| 493 | unsigned char, UCHAR_MAX) \ | ||
| 494 | : sizeof *(r) == sizeof (short int) \ | ||
| 495 | ? _GL_INT_OP_WRAPV_SMALLISH (a, b, r, op, overflow, \ | ||
| 496 | short int, SHRT_MIN, SHRT_MAX, \ | ||
| 497 | unsigned short int, USHRT_MAX) \ | ||
| 498 | : sizeof *(r) == sizeof (int) \ | ||
| 499 | ? (EXPR_SIGNED (*(r)) \ | ||
| 500 | ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ | ||
| 501 | int, INT_MIN, INT_MAX) \ | ||
| 502 | : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ | ||
| 503 | unsigned int, 0, UINT_MAX)) \ | ||
| 504 | : _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow)) | ||
| 505 | # ifdef LLONG_MAX | ||
| 506 | # define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \ | ||
| 507 | (sizeof *(r) == sizeof (long int) \ | ||
| 508 | ? (EXPR_SIGNED (*(r)) \ | ||
| 509 | ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ | ||
| 510 | long int, LONG_MIN, LONG_MAX) \ | ||
| 511 | : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ | ||
| 512 | unsigned long int, 0, ULONG_MAX)) \ | ||
| 513 | : (EXPR_SIGNED (*(r)) \ | ||
| 514 | ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ | ||
| 515 | long long int, LLONG_MIN, LLONG_MAX) \ | ||
| 516 | : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ | ||
| 517 | unsigned long long int, 0, ULLONG_MAX))) | ||
| 518 | # else | ||
| 519 | # define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \ | ||
| 520 | (EXPR_SIGNED (*(r)) \ | ||
| 521 | ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ | ||
| 522 | long int, LONG_MIN, LONG_MAX) \ | ||
| 523 | : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ | ||
| 524 | unsigned long int, 0, ULONG_MAX)) | ||
| 525 | # endif | ||
| 526 | #endif | ||
| 527 | |||
| 528 | /* Store the low-order bits of A <op> B into *R, where the operation | ||
| 529 | is given by OP. Use the unsigned type UT for calculation to avoid | ||
| 530 | overflow problems. *R's type is T, with extrema TMIN and TMAX. | ||
| 531 | T must be a signed integer type. Return 1 if the result overflows. */ | ||
| 532 | #define _GL_INT_OP_CALC(a, b, r, op, overflow, ut, t, tmin, tmax) \ | ||
| 533 | (overflow (a, b, tmin, tmax) \ | ||
| 534 | ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t), 1) \ | ||
| 535 | : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t), 0)) | ||
| 536 | |||
| 537 | /* Return the low-order bits of A <op> B, where the operation is given | ||
| 538 | by OP. Use the unsigned type UT for calculation to avoid undefined | ||
| 539 | behavior on signed integer overflow, and convert the result to type T. | ||
| 540 | UT is at least as wide as T and is no narrower than unsigned int, | ||
| 541 | T is two's complement, and there is no padding or trap representations. | ||
| 542 | Assume that converting UT to T yields the low-order bits, as is | ||
| 543 | done in all known two's-complement C compilers. E.g., see: | ||
| 544 | https://gcc.gnu.org/onlinedocs/gcc/Integers-implementation.html | ||
| 545 | |||
| 546 | According to the C standard, converting UT to T yields an | ||
| 547 | implementation-defined result or signal for values outside T's | ||
| 548 | range. However, code that works around this theoretical problem | ||
| 549 | runs afoul of a compiler bug in Oracle Studio 12.3 x86. See: | ||
| 550 | https://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html | ||
| 551 | As the compiler bug is real, don't try to work around the | ||
| 552 | theoretical problem. */ | ||
| 553 | |||
| 554 | #define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, ut, t) \ | ||
| 555 | ((t) ((ut) (a) op (ut) (b))) | ||
| 556 | |||
| 557 | /* Return true if the numeric values A + B, A - B, A * B fall outside | ||
| 558 | the range TMIN..TMAX. Arguments should be integer expressions | ||
| 559 | without side effects. TMIN should be signed and nonpositive. | ||
| 560 | TMAX should be positive, and should be signed unless TMIN is zero. */ | ||
| 561 | #define _GL_INT_ADD_RANGE_OVERFLOW(a, b, tmin, tmax) \ | ||
| 562 | ((b) < 0 \ | ||
| 563 | ? (((tmin) \ | ||
| 564 | ? ((EXPR_SIGNED (_GL_INT_CONVERT (a, (tmin) - (b))) || (b) < (tmin)) \ | ||
| 565 | && (a) < (tmin) - (b)) \ | ||
| 566 | : (a) <= -1 - (b)) \ | ||
| 567 | || ((EXPR_SIGNED (a) ? 0 <= (a) : (tmax) < (a)) && (tmax) < (a) + (b))) \ | ||
| 568 | : (a) < 0 \ | ||
| 569 | ? (((tmin) \ | ||
| 570 | ? ((EXPR_SIGNED (_GL_INT_CONVERT (b, (tmin) - (a))) || (a) < (tmin)) \ | ||
| 571 | && (b) < (tmin) - (a)) \ | ||
| 572 | : (b) <= -1 - (a)) \ | ||
| 573 | || ((EXPR_SIGNED (_GL_INT_CONVERT (a, b)) || (tmax) < (b)) \ | ||
| 574 | && (tmax) < (a) + (b))) \ | ||
| 575 | : (tmax) < (b) || (tmax) - (b) < (a)) | ||
| 576 | #define _GL_INT_SUBTRACT_RANGE_OVERFLOW(a, b, tmin, tmax) \ | ||
| 577 | (((a) < 0) == ((b) < 0) \ | ||
| 578 | ? ((a) < (b) \ | ||
| 579 | ? !(tmin) || -1 - (tmin) < (b) - (a) - 1 \ | ||
| 580 | : (tmax) < (a) - (b)) \ | ||
| 581 | : (a) < 0 \ | ||
| 582 | ? ((!EXPR_SIGNED (_GL_INT_CONVERT ((a) - (tmin), b)) && (a) - (tmin) < 0) \ | ||
| 583 | || (a) - (tmin) < (b)) \ | ||
| 584 | : ((! (EXPR_SIGNED (_GL_INT_CONVERT (tmax, b)) \ | ||
| 585 | && EXPR_SIGNED (_GL_INT_CONVERT ((tmax) + (b), a))) \ | ||
| 586 | && (tmax) <= -1 - (b)) \ | ||
| 587 | || (tmax) + (b) < (a))) | ||
| 588 | #define _GL_INT_MULTIPLY_RANGE_OVERFLOW(a, b, tmin, tmax) \ | ||
| 589 | ((b) < 0 \ | ||
| 590 | ? ((a) < 0 \ | ||
| 591 | ? (EXPR_SIGNED (_GL_INT_CONVERT (tmax, b)) \ | ||
| 592 | ? (a) < (tmax) / (b) \ | ||
| 593 | : ((INT_NEGATE_OVERFLOW (b) \ | ||
| 594 | ? _GL_INT_CONVERT (b, tmax) >> (TYPE_WIDTH (+ (b)) - 1) \ | ||
| 595 | : (tmax) / -(b)) \ | ||
| 596 | <= -1 - (a))) \ | ||
| 597 | : INT_NEGATE_OVERFLOW (_GL_INT_CONVERT (b, tmin)) && (b) == -1 \ | ||
| 598 | ? (EXPR_SIGNED (a) \ | ||
| 599 | ? 0 < (a) + (tmin) \ | ||
| 600 | : 0 < (a) && -1 - (tmin) < (a) - 1) \ | ||
| 601 | : (tmin) / (b) < (a)) \ | ||
| 602 | : (b) == 0 \ | ||
| 603 | ? 0 \ | ||
| 604 | : ((a) < 0 \ | ||
| 605 | ? (INT_NEGATE_OVERFLOW (_GL_INT_CONVERT (a, tmin)) && (a) == -1 \ | ||
| 606 | ? (EXPR_SIGNED (b) ? 0 < (b) + (tmin) : -1 - (tmin) < (b) - 1) \ | ||
| 607 | : (tmin) / (a) < (b)) \ | ||
| 608 | : (tmax) / (b) < (a))) | ||
| 609 | 303 | ||
| 610 | /* The following macros compute A + B, A - B, and A * B, respectively. | 304 | /* The following macros compute A + B, A - B, and A * B, respectively. |
| 611 | If no overflow occurs, they set *R to the result and return 1; | 305 | If no overflow occurs, they set *R to the result and return 1; |
| @@ -621,6 +315,8 @@ | |||
| 621 | 315 | ||
| 622 | A, B, and *R should be integers; they need not be the same type, | 316 | A, B, and *R should be integers; they need not be the same type, |
| 623 | and they need not be all signed or all unsigned. | 317 | and they need not be all signed or all unsigned. |
| 318 | However, none of the integer types should be bit-precise, | ||
| 319 | and *R's type should not be char, bool, or an enumeration type. | ||
| 624 | 320 | ||
| 625 | These macros work correctly on all known practical hosts, and do not rely | 321 | These macros work correctly on all known practical hosts, and do not rely |
| 626 | on undefined behavior due to signed arithmetic overflow. | 322 | on undefined behavior due to signed arithmetic overflow. |
| @@ -632,8 +328,8 @@ | |||
| 632 | 328 | ||
| 633 | These macros are tuned for B being a constant. */ | 329 | These macros are tuned for B being a constant. */ |
| 634 | 330 | ||
| 635 | #define INT_ADD_OK(a, b, r) ! INT_ADD_WRAPV (a, b, r) | 331 | #define INT_ADD_OK(a, b, r) (! INT_ADD_WRAPV (a, b, r)) |
| 636 | #define INT_SUBTRACT_OK(a, b, r) ! INT_SUBTRACT_WRAPV (a, b, r) | 332 | #define INT_SUBTRACT_OK(a, b, r) (! INT_SUBTRACT_WRAPV (a, b, r)) |
| 637 | #define INT_MULTIPLY_OK(a, b, r) ! INT_MULTIPLY_WRAPV (a, b, r) | 333 | #define INT_MULTIPLY_OK(a, b, r) (! INT_MULTIPLY_WRAPV (a, b, r)) |
| 638 | 334 | ||
| 639 | #endif /* _GL_INTPROPS_H */ | 335 | #endif /* _GL_INTPROPS_H */ |
diff --git a/gl/inttypes.in.h b/gl/inttypes.in.h index 41cb4220..853eca08 100644 --- a/gl/inttypes.in.h +++ b/gl/inttypes.in.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* Copyright (C) 2006-2021 Free Software Foundation, Inc. | 1 | /* Copyright (C) 2006-2022 Free Software Foundation, Inc. |
| 2 | Written by Paul Eggert, Bruno Haible, Derek Price. | 2 | Written by Paul Eggert, Bruno Haible, Derek Price. |
| 3 | This file is part of gnulib. | 3 | This file is part of gnulib. |
| 4 | 4 | ||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Replacement for 'int' to 'long double' conversion routine. | 1 | /* Replacement for 'int' to 'long double' conversion routine. |
| 2 | Copyright (C) 2011-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2011-2022 Free Software Foundation, Inc. |
| 3 | Written by Bruno Haible <bruno@clisp.org>, 2011. | 3 | Written by Bruno Haible <bruno@clisp.org>, 2011. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/langinfo.in.h b/gl/langinfo.in.h index 4873899d..98aea6a8 100644 --- a/gl/langinfo.in.h +++ b/gl/langinfo.in.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Substitute for and wrapper around <langinfo.h>. | 1 | /* Substitute for and wrapper around <langinfo.h>. |
| 2 | Copyright (C) 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2009-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/lc-charset-dispatch.c b/gl/lc-charset-dispatch.c index 88a0bd32..66d78fd3 100644 --- a/gl/lc-charset-dispatch.c +++ b/gl/lc-charset-dispatch.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Dispatching based on the current locale's character encoding. | 1 | /* Dispatching based on the current locale's character encoding. |
| 2 | Copyright (C) 2018-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2018-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/lc-charset-dispatch.h b/gl/lc-charset-dispatch.h index 59b485de..3867c323 100644 --- a/gl/lc-charset-dispatch.h +++ b/gl/lc-charset-dispatch.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Dispatching based on the current locale's character encoding. | 1 | /* Dispatching based on the current locale's character encoding. |
| 2 | Copyright (C) 2018-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2018-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/libc-config.h b/gl/libc-config.h index 886c11f3..a56665b1 100644 --- a/gl/libc-config.h +++ b/gl/libc-config.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* System definitions for code taken from the GNU C Library | 1 | /* System definitions for code taken from the GNU C Library |
| 2 | 2 | ||
| 3 | Copyright 2017-2021 Free Software Foundation, Inc. | 3 | Copyright 2017-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This program is free software; you can redistribute it and/or | 5 | This program is free software; you can redistribute it and/or |
| 6 | modify it under the terms of the GNU Lesser General Public | 6 | modify it under the terms of the GNU Lesser General Public |
| @@ -121,6 +121,7 @@ | |||
| 121 | # undef __attr_dealloc | 121 | # undef __attr_dealloc |
| 122 | # undef __attr_dealloc_free | 122 | # undef __attr_dealloc_free |
| 123 | # undef __attribute__ | 123 | # undef __attribute__ |
| 124 | # undef __attribute_alloc_align__ | ||
| 124 | # undef __attribute_alloc_size__ | 125 | # undef __attribute_alloc_size__ |
| 125 | # undef __attribute_artificial__ | 126 | # undef __attribute_artificial__ |
| 126 | # undef __attribute_const__ | 127 | # undef __attribute_const__ |
| @@ -129,6 +130,7 @@ | |||
| 129 | # undef __attribute_format_arg__ | 130 | # undef __attribute_format_arg__ |
| 130 | # undef __attribute_format_strfmon__ | 131 | # undef __attribute_format_strfmon__ |
| 131 | # undef __attribute_malloc__ | 132 | # undef __attribute_malloc__ |
| 133 | # undef __attribute_maybe_unused__ | ||
| 132 | # undef __attribute_noinline__ | 134 | # undef __attribute_noinline__ |
| 133 | # undef __attribute_nonstring__ | 135 | # undef __attribute_nonstring__ |
| 134 | # undef __attribute_pure__ | 136 | # undef __attribute_pure__ |
| @@ -142,16 +144,24 @@ | |||
| 142 | # undef __extern_always_inline | 144 | # undef __extern_always_inline |
| 143 | # undef __extern_inline | 145 | # undef __extern_inline |
| 144 | # undef __flexarr | 146 | # undef __flexarr |
| 147 | # undef __fortified_attr_access | ||
| 145 | # undef __fortify_function | 148 | # undef __fortify_function |
| 146 | # undef __glibc_c99_flexarr_available | 149 | # undef __glibc_c99_flexarr_available |
| 150 | # undef __glibc_fortify | ||
| 151 | # undef __glibc_fortify_n | ||
| 147 | # undef __glibc_has_attribute | 152 | # undef __glibc_has_attribute |
| 148 | # undef __glibc_has_builtin | 153 | # undef __glibc_has_builtin |
| 149 | # undef __glibc_has_extension | 154 | # undef __glibc_has_extension |
| 155 | # undef __glibc_likely | ||
| 150 | # undef __glibc_macro_warning | 156 | # undef __glibc_macro_warning |
| 151 | # undef __glibc_macro_warning1 | 157 | # undef __glibc_macro_warning1 |
| 152 | # undef __glibc_objsize | 158 | # undef __glibc_objsize |
| 153 | # undef __glibc_objsize0 | 159 | # undef __glibc_objsize0 |
| 160 | # undef __glibc_safe_len_cond | ||
| 161 | # undef __glibc_safe_or_unknown_len | ||
| 154 | # undef __glibc_unlikely | 162 | # undef __glibc_unlikely |
| 163 | # undef __glibc_unsafe_len | ||
| 164 | # undef __glibc_unsigned_or_positive | ||
| 155 | # undef __inline | 165 | # undef __inline |
| 156 | # undef __ptr_t | 166 | # undef __ptr_t |
| 157 | # undef __restrict | 167 | # undef __restrict |
| @@ -159,6 +169,7 @@ | |||
| 159 | # undef __va_arg_pack | 169 | # undef __va_arg_pack |
| 160 | # undef __va_arg_pack_len | 170 | # undef __va_arg_pack_len |
| 161 | # undef __warnattr | 171 | # undef __warnattr |
| 172 | # undef __wur | ||
| 162 | 173 | ||
| 163 | /* Include our copy of glibc <sys/cdefs.h>. */ | 174 | /* Include our copy of glibc <sys/cdefs.h>. */ |
| 164 | # include <cdefs.h> | 175 | # include <cdefs.h> |
diff --git a/gl/limits.in.h b/gl/limits.in.h index 2ecafebb..b77bf75c 100644 --- a/gl/limits.in.h +++ b/gl/limits.in.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* A GNU-like <limits.h>. | 1 | /* A GNU-like <limits.h>. |
| 2 | 2 | ||
| 3 | Copyright 2016-2021 Free Software Foundation, Inc. | 3 | Copyright 2016-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/localcharset.c b/gl/localcharset.c index 3c50858a..17a4a1ef 100644 --- a/gl/localcharset.c +++ b/gl/localcharset.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Determine a canonical name for the current locale's character encoding. | 1 | /* Determine a canonical name for the current locale's character encoding. |
| 2 | 2 | ||
| 3 | Copyright (C) 2000-2006, 2008-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2000-2006, 2008-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/localcharset.h b/gl/localcharset.h index 0ff49544..62efbf32 100644 --- a/gl/localcharset.h +++ b/gl/localcharset.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Determine a canonical name for the current locale's character encoding. | 1 | /* Determine a canonical name for the current locale's character encoding. |
| 2 | Copyright (C) 2000-2003, 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2000-2003, 2009-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU CHARSET Library. | 3 | This file is part of the GNU CHARSET Library. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/locale.in.h b/gl/locale.in.h index 10630706..4aef74d4 100644 --- a/gl/locale.in.h +++ b/gl/locale.in.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* A POSIX <locale.h>. | 1 | /* A POSIX <locale.h>. |
| 2 | Copyright (C) 2007-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/localeconv.c b/gl/localeconv.c index 25e95a11..ef261205 100644 --- a/gl/localeconv.c +++ b/gl/localeconv.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Query locale dependent information for formatting numbers. | 1 | /* Query locale dependent information for formatting numbers. |
| 2 | Copyright (C) 2012-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2012-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* An lseek() function that detects pipes. | 1 | /* An lseek() function that detects pipes. |
| 2 | Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/m4/00gnulib.m4 b/gl/m4/00gnulib.m4 index 9ba1743e..dea34e83 100644 --- a/gl/m4/00gnulib.m4 +++ b/gl/m4/00gnulib.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # 00gnulib.m4 serial 8 | 1 | # 00gnulib.m4 serial 8 |
| 2 | dnl Copyright (C) 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/__inline.m4 b/gl/m4/__inline.m4 index b28cc6ab..fbe2098e 100644 --- a/gl/m4/__inline.m4 +++ b/gl/m4/__inline.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # Test for __inline keyword | 1 | # Test for __inline keyword |
| 2 | dnl Copyright 2017-2021 Free Software Foundation, Inc. | 2 | dnl Copyright 2017-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/absolute-header.m4 b/gl/m4/absolute-header.m4 index 52d80d04..67d6507c 100644 --- a/gl/m4/absolute-header.m4 +++ b/gl/m4/absolute-header.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # absolute-header.m4 serial 17 | 1 | # absolute-header.m4 serial 17 |
| 2 | dnl Copyright (C) 2006-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/af_alg.m4 b/gl/m4/af_alg.m4 index 601cf674..9c7edf0f 100644 --- a/gl/m4/af_alg.m4 +++ b/gl/m4/af_alg.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # af_alg.m4 serial 6 | 1 | # af_alg.m4 serial 6 |
| 2 | dnl Copyright 2018-2021 Free Software Foundation, Inc. | 2 | dnl Copyright 2018-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/alloca.m4 b/gl/m4/alloca.m4 index ba2f679d..dc6f47e3 100644 --- a/gl/m4/alloca.m4 +++ b/gl/m4/alloca.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # alloca.m4 serial 20 | 1 | # alloca.m4 serial 21 |
| 2 | dnl Copyright (C) 2002-2004, 2006-2007, 2009-2021 Free Software Foundation, | 2 | dnl Copyright (C) 2002-2004, 2006-2007, 2009-2022 Free Software Foundation, |
| 3 | dnl Inc. | 3 | dnl Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
| @@ -26,17 +26,15 @@ AC_DEFUN([gl_FUNC_ALLOCA], | |||
| 26 | AC_DEFINE([HAVE_ALLOCA], [1], | 26 | AC_DEFINE([HAVE_ALLOCA], [1], |
| 27 | [Define to 1 if you have 'alloca' after including <alloca.h>, | 27 | [Define to 1 if you have 'alloca' after including <alloca.h>, |
| 28 | a header that may be supplied by this distribution.]) | 28 | a header that may be supplied by this distribution.]) |
| 29 | ALLOCA_H=alloca.h | 29 | GL_GENERATE_ALLOCA_H=true |
| 30 | else | 30 | else |
| 31 | dnl alloca exists as a library function, i.e. it is slow and probably | 31 | dnl alloca exists as a library function, i.e. it is slow and probably |
| 32 | dnl a memory leak. Don't define HAVE_ALLOCA in this case. | 32 | dnl a memory leak. Don't define HAVE_ALLOCA in this case. |
| 33 | ALLOCA_H= | 33 | GL_GENERATE_ALLOCA_H=false |
| 34 | fi | 34 | fi |
| 35 | else | 35 | else |
| 36 | ALLOCA_H=alloca.h | 36 | GL_GENERATE_ALLOCA_H=true |
| 37 | fi | 37 | fi |
| 38 | AC_SUBST([ALLOCA_H]) | ||
| 39 | AM_CONDITIONAL([GL_GENERATE_ALLOCA_H], [test -n "$ALLOCA_H"]) | ||
| 40 | 38 | ||
| 41 | if test $ac_cv_working_alloca_h = yes; then | 39 | if test $ac_cv_working_alloca_h = yes; then |
| 42 | HAVE_ALLOCA_H=1 | 40 | HAVE_ALLOCA_H=1 |
diff --git a/gl/m4/arpa_inet_h.m4 b/gl/m4/arpa_inet_h.m4 index a3ba2562..057e13fc 100644 --- a/gl/m4/arpa_inet_h.m4 +++ b/gl/m4/arpa_inet_h.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # arpa_inet_h.m4 serial 17 | 1 | # arpa_inet_h.m4 serial 17 |
| 2 | dnl Copyright (C) 2006, 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006, 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/base64.m4 b/gl/m4/base64.m4 index ab950818..fed3398e 100644 --- a/gl/m4/base64.m4 +++ b/gl/m4/base64.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # base64.m4 serial 4 | 1 | # base64.m4 serial 4 |
| 2 | dnl Copyright (C) 2004, 2006, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2004, 2006, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/btowc.m4 b/gl/m4/btowc.m4 index d2b2fe85..45a61f5e 100644 --- a/gl/m4/btowc.m4 +++ b/gl/m4/btowc.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # btowc.m4 serial 12 | 1 | # btowc.m4 serial 12 |
| 2 | dnl Copyright (C) 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/builtin-expect.m4 b/gl/m4/builtin-expect.m4 index c5841164..b1fb12a3 100644 --- a/gl/m4/builtin-expect.m4 +++ b/gl/m4/builtin-expect.m4 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | dnl Check for __builtin_expect. | 1 | dnl Check for __builtin_expect. |
| 2 | 2 | ||
| 3 | dnl Copyright 2016-2021 Free Software Foundation, Inc. | 3 | dnl Copyright 2016-2022 Free Software Foundation, Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
| 6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/byteswap.m4 b/gl/m4/byteswap.m4 index 1083b4c9..99aeb687 100644 --- a/gl/m4/byteswap.m4 +++ b/gl/m4/byteswap.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # byteswap.m4 serial 4 | 1 | # byteswap.m4 serial 5 |
| 2 | dnl Copyright (C) 2005, 2007, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005, 2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -10,10 +10,8 @@ AC_DEFUN([gl_BYTESWAP], | |||
| 10 | [ | 10 | [ |
| 11 | dnl Prerequisites of lib/byteswap.in.h. | 11 | dnl Prerequisites of lib/byteswap.in.h. |
| 12 | AC_CHECK_HEADERS([byteswap.h], [ | 12 | AC_CHECK_HEADERS([byteswap.h], [ |
| 13 | BYTESWAP_H='' | 13 | GL_GENERATE_BYTESWAP_H=false |
| 14 | ], [ | 14 | ], [ |
| 15 | BYTESWAP_H='byteswap.h' | 15 | GL_GENERATE_BYTESWAP_H=true |
| 16 | ]) | 16 | ]) |
| 17 | AC_SUBST([BYTESWAP_H]) | ||
| 18 | AM_CONDITIONAL([GL_GENERATE_BYTESWAP_H], [test -n "$BYTESWAP_H"]) | ||
| 19 | ]) | 17 | ]) |
diff --git a/gl/m4/calloc.m4 b/gl/m4/calloc.m4 index fe12b15d..c01520e5 100644 --- a/gl/m4/calloc.m4 +++ b/gl/m4/calloc.m4 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | # calloc.m4 serial 27 | 1 | # calloc.m4 serial 29 |
| 2 | 2 | ||
| 3 | # Copyright (C) 2004-2021 Free Software Foundation, Inc. | 3 | # Copyright (C) 2004-2022 Free Software Foundation, Inc. |
| 4 | # This file is free software; the Free Software Foundation | 4 | # This file is free software; the Free Software Foundation |
| 5 | # gives unlimited permission to copy and/or distribute it, | 5 | # gives unlimited permission to copy and/or distribute it, |
| 6 | # with or without modifications, as long as this notice is preserved. | 6 | # with or without modifications, as long as this notice is preserved. |
| @@ -58,8 +58,9 @@ AC_DEFUN([gl_FUNC_CALLOC_GNU], | |||
| 58 | [ | 58 | [ |
| 59 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) | 59 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) |
| 60 | AC_REQUIRE([gl_FUNC_CALLOC_POSIX]) | 60 | AC_REQUIRE([gl_FUNC_CALLOC_POSIX]) |
| 61 | if test $REPLACE_CALLOC = 0; then | 61 | REPLACE_CALLOC_FOR_CALLOC_GNU="$REPLACE_CALLOC_FOR_CALLOC_POSIX" |
| 62 | _AC_FUNC_CALLOC_IF([], [REPLACE_CALLOC=1]) | 62 | if test $REPLACE_CALLOC_FOR_CALLOC_GNU = 0; then |
| 63 | _AC_FUNC_CALLOC_IF([], [REPLACE_CALLOC_FOR_CALLOC_GNU=1]) | ||
| 63 | fi | 64 | fi |
| 64 | ])# gl_FUNC_CALLOC_GNU | 65 | ])# gl_FUNC_CALLOC_GNU |
| 65 | 66 | ||
| @@ -72,8 +73,8 @@ AC_DEFUN([gl_FUNC_CALLOC_POSIX], | |||
| 72 | [ | 73 | [ |
| 73 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) | 74 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) |
| 74 | AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) | 75 | AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) |
| 75 | if test $REPLACE_MALLOC = 1; then | 76 | if test $REPLACE_MALLOC_FOR_MALLOC_POSIX = 1; then |
| 76 | REPLACE_CALLOC=1 | 77 | REPLACE_CALLOC_FOR_CALLOC_POSIX=1 |
| 77 | fi | 78 | fi |
| 78 | dnl Although in theory we should also test for size_t overflow, | 79 | dnl Although in theory we should also test for size_t overflow, |
| 79 | dnl in practice testing for ptrdiff_t overflow suffices | 80 | dnl in practice testing for ptrdiff_t overflow suffices |
diff --git a/gl/m4/close.m4 b/gl/m4/close.m4 index 77a50471..f95dbc9d 100644 --- a/gl/m4/close.m4 +++ b/gl/m4/close.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # close.m4 serial 9 | 1 | # close.m4 serial 9 |
| 2 | dnl Copyright (C) 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/codeset.m4 b/gl/m4/codeset.m4 index 629f4ee3..eb732601 100644 --- a/gl/m4/codeset.m4 +++ b/gl/m4/codeset.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # codeset.m4 serial 5 (gettext-0.18.2) | 1 | # codeset.m4 serial 5 (gettext-0.18.2) |
| 2 | dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016, 2019-2021 Free Software | 2 | dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016, 2019-2022 Free Software |
| 3 | dnl Foundation, Inc. | 3 | dnl Foundation, Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
diff --git a/gl/m4/double-slash-root.m4 b/gl/m4/double-slash-root.m4 index c9bbcef6..09ff5f0d 100644 --- a/gl/m4/double-slash-root.m4 +++ b/gl/m4/double-slash-root.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # double-slash-root.m4 serial 4 -*- Autoconf -*- | 1 | # double-slash-root.m4 serial 4 -*- Autoconf -*- |
| 2 | dnl Copyright (C) 2006, 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006, 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/dup2.m4 b/gl/m4/dup2.m4 index 0753a324..7e777cde 100644 --- a/gl/m4/dup2.m4 +++ b/gl/m4/dup2.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | #serial 27 | 1 | #serial 27 |
| 2 | dnl Copyright (C) 2002, 2005, 2007, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002, 2005, 2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/eealloc.m4 b/gl/m4/eealloc.m4 index 002f0c86..a6aa2f88 100644 --- a/gl/m4/eealloc.m4 +++ b/gl/m4/eealloc.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # eealloc.m4 serial 3 | 1 | # eealloc.m4 serial 3 |
| 2 | dnl Copyright (C) 2003, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/environ.m4 b/gl/m4/environ.m4 index ae532910..583dac39 100644 --- a/gl/m4/environ.m4 +++ b/gl/m4/environ.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # environ.m4 serial 8 | 1 | # environ.m4 serial 8 |
| 2 | dnl Copyright (C) 2001-2004, 2006-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2001-2004, 2006-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/errno_h.m4 b/gl/m4/errno_h.m4 index 51dfe929..4be9780a 100644 --- a/gl/m4/errno_h.m4 +++ b/gl/m4/errno_h.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # errno_h.m4 serial 13 | 1 | # errno_h.m4 serial 14 |
| 2 | dnl Copyright (C) 2004, 2006, 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2004, 2006, 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -68,13 +68,11 @@ booboo | |||
| 68 | [gl_cv_header_errno_h_complete=yes]) | 68 | [gl_cv_header_errno_h_complete=yes]) |
| 69 | ]) | 69 | ]) |
| 70 | if test $gl_cv_header_errno_h_complete = yes; then | 70 | if test $gl_cv_header_errno_h_complete = yes; then |
| 71 | ERRNO_H='' | 71 | GL_GENERATE_ERRNO_H=false |
| 72 | else | 72 | else |
| 73 | gl_NEXT_HEADERS([errno.h]) | 73 | gl_NEXT_HEADERS([errno.h]) |
| 74 | ERRNO_H='errno.h' | 74 | GL_GENERATE_ERRNO_H=true |
| 75 | fi | 75 | fi |
| 76 | AC_SUBST([ERRNO_H]) | ||
| 77 | AM_CONDITIONAL([GL_GENERATE_ERRNO_H], [test -n "$ERRNO_H"]) | ||
| 78 | gl_REPLACE_ERRNO_VALUE([EMULTIHOP]) | 76 | gl_REPLACE_ERRNO_VALUE([EMULTIHOP]) |
| 79 | gl_REPLACE_ERRNO_VALUE([ENOLINK]) | 77 | gl_REPLACE_ERRNO_VALUE([ENOLINK]) |
| 80 | gl_REPLACE_ERRNO_VALUE([EOVERFLOW]) | 78 | gl_REPLACE_ERRNO_VALUE([EOVERFLOW]) |
| @@ -88,7 +86,7 @@ booboo | |||
| 88 | # Set the variables EOVERFLOW_HIDDEN and EOVERFLOW_VALUE. | 86 | # Set the variables EOVERFLOW_HIDDEN and EOVERFLOW_VALUE. |
| 89 | AC_DEFUN([gl_REPLACE_ERRNO_VALUE], | 87 | AC_DEFUN([gl_REPLACE_ERRNO_VALUE], |
| 90 | [ | 88 | [ |
| 91 | if test -n "$ERRNO_H"; then | 89 | if $GL_GENERATE_ERRNO_H; then |
| 92 | AC_CACHE_CHECK([for ]$1[ value], [gl_cv_header_errno_h_]$1, [ | 90 | AC_CACHE_CHECK([for ]$1[ value], [gl_cv_header_errno_h_]$1, [ |
| 93 | AC_EGREP_CPP([yes],[ | 91 | AC_EGREP_CPP([yes],[ |
| 94 | #include <errno.h> | 92 | #include <errno.h> |
diff --git a/gl/m4/error.m4 b/gl/m4/error.m4 index 8e3cf95d..7a103446 100644 --- a/gl/m4/error.m4 +++ b/gl/m4/error.m4 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | #serial 15 | 1 | #serial 15 |
| 2 | 2 | ||
| 3 | # Copyright (C) 1996-1998, 2001-2004, 2009-2021 Free Software Foundation, Inc. | 3 | # Copyright (C) 1996-1998, 2001-2004, 2009-2022 Free Software Foundation, Inc. |
| 4 | # | 4 | # |
| 5 | # This file is free software; the Free Software Foundation | 5 | # This file is free software; the Free Software Foundation |
| 6 | # gives unlimited permission to copy and/or distribute it, | 6 | # gives unlimited permission to copy and/or distribute it, |
diff --git a/gl/m4/exponentd.m4 b/gl/m4/exponentd.m4 index fb136f47..83ac08bf 100644 --- a/gl/m4/exponentd.m4 +++ b/gl/m4/exponentd.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # exponentd.m4 serial 3 | 1 | # exponentd.m4 serial 3 |
| 2 | dnl Copyright (C) 2007-2008, 2010-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2008, 2010-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/extensions.m4 b/gl/m4/extensions.m4 index 5792a955..0b3e4b5a 100644 --- a/gl/m4/extensions.m4 +++ b/gl/m4/extensions.m4 | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | # serial 22 -*- Autoconf -*- | 1 | # serial 22 -*- Autoconf -*- |
| 2 | # Enable extensions on systems that normally disable them. | 2 | # Enable extensions on systems that normally disable them. |
| 3 | 3 | ||
| 4 | # Copyright (C) 2003, 2006-2021 Free Software Foundation, Inc. | 4 | # Copyright (C) 2003, 2006-2022 Free Software Foundation, Inc. |
| 5 | # This file is free software; the Free Software Foundation | 5 | # This file is free software; the Free Software Foundation |
| 6 | # gives unlimited permission to copy and/or distribute it, | 6 | # gives unlimited permission to copy and/or distribute it, |
| 7 | # with or without modifications, as long as this notice is preserved. | 7 | # with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/extern-inline.m4 b/gl/m4/extern-inline.m4 index a4ac5ea5..8a12bddd 100644 --- a/gl/m4/extern-inline.m4 +++ b/gl/m4/extern-inline.m4 | |||
| @@ -1,13 +1,28 @@ | |||
| 1 | dnl 'extern inline' a la ISO C99. | 1 | dnl 'extern inline' a la ISO C99. |
| 2 | 2 | ||
| 3 | dnl Copyright 2012-2021 Free Software Foundation, Inc. | 3 | dnl Copyright 2012-2022 Free Software Foundation, Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
| 6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
| 7 | 7 | ||
| 8 | AC_DEFUN([gl_EXTERN_INLINE], | 8 | AC_DEFUN([gl_EXTERN_INLINE], |
| 9 | [ | 9 | [ |
| 10 | AH_VERBATIM([extern_inline], | 10 | AC_CACHE_CHECK([whether ctype.h defines __header_inline], |
| 11 | [gl_cv_have___header_inline], | ||
| 12 | [AC_PREPROC_IFELSE( | ||
| 13 | [AC_LANG_SOURCE([[#include <ctype.h> | ||
| 14 | #ifndef __header_inline | ||
| 15 | #error "<ctype.h> does not define __header_inline" | ||
| 16 | #endif | ||
| 17 | ]])], | ||
| 18 | [gl_cv_have___header_inline=yes], | ||
| 19 | [gl_cv_have___header_inline=no])]) | ||
| 20 | if test "$gl_cv_have___header_inline" = yes; then | ||
| 21 | AC_DEFINE([HAVE___HEADER_INLINE], [1], | ||
| 22 | [Define to 1 if ctype.h defines __header_inline.]) | ||
| 23 | fi | ||
| 24 | |||
| 25 | AH_VERBATIM([HAVE___HEADER_INLINE_1], | ||
| 11 | [/* Please see the Gnulib manual for how to use these macros. | 26 | [/* Please see the Gnulib manual for how to use these macros. |
| 12 | 27 | ||
| 13 | Suppress extern inline with HP-UX cc, as it appears to be broken; see | 28 | Suppress extern inline with HP-UX cc, as it appears to be broken; see |
| @@ -54,7 +69,7 @@ AC_DEFUN([gl_EXTERN_INLINE], | |||
| 54 | */ | 69 | */ |
| 55 | #if (((defined __APPLE__ && defined __MACH__) \ | 70 | #if (((defined __APPLE__ && defined __MACH__) \ |
| 56 | || defined __DragonFly__ || defined __FreeBSD__) \ | 71 | || defined __DragonFly__ || defined __FreeBSD__) \ |
| 57 | && (defined __header_inline \ | 72 | && (defined HAVE___HEADER_INLINE \ |
| 58 | ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ | 73 | ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ |
| 59 | && ! defined __clang__) \ | 74 | && ! defined __clang__) \ |
| 60 | : ((! defined _DONT_USE_CTYPE_INLINE_ \ | 75 | : ((! defined _DONT_USE_CTYPE_INLINE_ \ |
diff --git a/gl/m4/fcntl-o.m4 b/gl/m4/fcntl-o.m4 index 7c459ad1..4dcde9e0 100644 --- a/gl/m4/fcntl-o.m4 +++ b/gl/m4/fcntl-o.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # fcntl-o.m4 serial 7 | 1 | # fcntl-o.m4 serial 7 |
| 2 | dnl Copyright (C) 2006, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/fcntl.m4 b/gl/m4/fcntl.m4 index f6264345..428e5709 100644 --- a/gl/m4/fcntl.m4 +++ b/gl/m4/fcntl.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # fcntl.m4 serial 11 | 1 | # fcntl.m4 serial 11 |
| 2 | dnl Copyright (C) 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/fcntl_h.m4 b/gl/m4/fcntl_h.m4 index aba44735..267f98bf 100644 --- a/gl/m4/fcntl_h.m4 +++ b/gl/m4/fcntl_h.m4 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | # serial 20 | 1 | # serial 20 |
| 2 | # Configure fcntl.h. | 2 | # Configure fcntl.h. |
| 3 | dnl Copyright (C) 2006-2007, 2009-2021 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 2006-2007, 2009-2022 Free Software Foundation, Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
| 6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/fflush.m4 b/gl/m4/fflush.m4 index 43266ef3..e36f90ee 100644 --- a/gl/m4/fflush.m4 +++ b/gl/m4/fflush.m4 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | # fflush.m4 serial 18 | 1 | # fflush.m4 serial 18 |
| 2 | 2 | ||
| 3 | # Copyright (C) 2007-2021 Free Software Foundation, Inc. | 3 | # Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 4 | # This file is free software; the Free Software Foundation | 4 | # This file is free software; the Free Software Foundation |
| 5 | # gives unlimited permission to copy and/or distribute it, | 5 | # gives unlimited permission to copy and/or distribute it, |
| 6 | # with or without modifications, as long as this notice is preserved. | 6 | # with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/float_h.m4 b/gl/m4/float_h.m4 index ba38a289..0e845726 100644 --- a/gl/m4/float_h.m4 +++ b/gl/m4/float_h.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # float_h.m4 serial 12 | 1 | # float_h.m4 serial 13 |
| 2 | dnl Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -8,18 +8,18 @@ AC_DEFUN([gl_FLOAT_H], | |||
| 8 | [ | 8 | [ |
| 9 | AC_REQUIRE([AC_PROG_CC]) | 9 | AC_REQUIRE([AC_PROG_CC]) |
| 10 | AC_REQUIRE([AC_CANONICAL_HOST]) | 10 | AC_REQUIRE([AC_CANONICAL_HOST]) |
| 11 | FLOAT_H= | 11 | GL_GENERATE_FLOAT_H=false |
| 12 | REPLACE_FLOAT_LDBL=0 | 12 | REPLACE_FLOAT_LDBL=0 |
| 13 | case "$host_os" in | 13 | case "$host_os" in |
| 14 | aix* | beos* | openbsd* | mirbsd* | irix*) | 14 | aix* | beos* | openbsd* | mirbsd* | irix*) |
| 15 | FLOAT_H=float.h | 15 | GL_GENERATE_FLOAT_H=true |
| 16 | ;; | 16 | ;; |
| 17 | freebsd* | dragonfly*) | 17 | freebsd* | dragonfly*) |
| 18 | case "$host_cpu" in | 18 | case "$host_cpu" in |
| 19 | changequote(,)dnl | 19 | changequote(,)dnl |
| 20 | i[34567]86 ) | 20 | i[34567]86 ) |
| 21 | changequote([,])dnl | 21 | changequote([,])dnl |
| 22 | FLOAT_H=float.h | 22 | GL_GENERATE_FLOAT_H=true |
| 23 | ;; | 23 | ;; |
| 24 | x86_64 ) | 24 | x86_64 ) |
| 25 | # On x86_64 systems, the C compiler may still be generating | 25 | # On x86_64 systems, the C compiler may still be generating |
| @@ -33,21 +33,21 @@ changequote([,])dnl | |||
| 33 | #endif | 33 | #endif |
| 34 | ]])], | 34 | ]])], |
| 35 | [], | 35 | [], |
| 36 | [FLOAT_H=float.h]) | 36 | [GL_GENERATE_FLOAT_H=true]) |
| 37 | ;; | 37 | ;; |
| 38 | esac | 38 | esac |
| 39 | ;; | 39 | ;; |
| 40 | linux*) | 40 | linux*) |
| 41 | case "$host_cpu" in | 41 | case "$host_cpu" in |
| 42 | powerpc*) | 42 | powerpc*) |
| 43 | FLOAT_H=float.h | 43 | GL_GENERATE_FLOAT_H=true |
| 44 | ;; | 44 | ;; |
| 45 | esac | 45 | esac |
| 46 | ;; | 46 | ;; |
| 47 | esac | 47 | esac |
| 48 | case "$host_os" in | 48 | case "$host_os" in |
| 49 | aix* | freebsd* | dragonfly* | linux*) | 49 | aix* | freebsd* | dragonfly* | linux*) |
| 50 | if test -n "$FLOAT_H"; then | 50 | if $GL_GENERATE_FLOAT_H; then |
| 51 | REPLACE_FLOAT_LDBL=1 | 51 | REPLACE_FLOAT_LDBL=1 |
| 52 | fi | 52 | fi |
| 53 | ;; | 53 | ;; |
| @@ -95,14 +95,12 @@ int main () | |||
| 95 | REPLACE_ITOLD=1 | 95 | REPLACE_ITOLD=1 |
| 96 | dnl We add the workaround to <float.h> but also to <math.h>, | 96 | dnl We add the workaround to <float.h> but also to <math.h>, |
| 97 | dnl to increase the chances that the fix function gets pulled in. | 97 | dnl to increase the chances that the fix function gets pulled in. |
| 98 | FLOAT_H=float.h | 98 | GL_GENERATE_FLOAT_H=true |
| 99 | ;; | 99 | ;; |
| 100 | esac | 100 | esac |
| 101 | 101 | ||
| 102 | if test -n "$FLOAT_H"; then | 102 | if $GL_GENERATE_FLOAT_H; then |
| 103 | gl_NEXT_HEADERS([float.h]) | 103 | gl_NEXT_HEADERS([float.h]) |
| 104 | fi | 104 | fi |
| 105 | AC_SUBST([FLOAT_H]) | ||
| 106 | AM_CONDITIONAL([GL_GENERATE_FLOAT_H], [test -n "$FLOAT_H"]) | ||
| 107 | AC_SUBST([REPLACE_ITOLD]) | 105 | AC_SUBST([REPLACE_ITOLD]) |
| 108 | ]) | 106 | ]) |
diff --git a/gl/m4/floorf.m4 b/gl/m4/floorf.m4 index f5214378..e8f290b0 100644 --- a/gl/m4/floorf.m4 +++ b/gl/m4/floorf.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # floorf.m4 serial 18 | 1 | # floorf.m4 serial 18 |
| 2 | dnl Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/fopen.m4 b/gl/m4/fopen.m4 index 4ed7dce2..50767f82 100644 --- a/gl/m4/fopen.m4 +++ b/gl/m4/fopen.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # fopen.m4 serial 12 | 1 | # fopen.m4 serial 13 |
| 2 | dnl Copyright (C) 2007-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -136,11 +136,12 @@ int main () | |||
| 136 | ]) | 136 | ]) |
| 137 | rm -f conftest.x | 137 | rm -f conftest.x |
| 138 | ]) | 138 | ]) |
| 139 | REPLACE_FOPEN_FOR_FOPEN_GNU="$REPLACE_FOPEN" | ||
| 139 | case "$gl_cv_func_fopen_mode_x" in | 140 | case "$gl_cv_func_fopen_mode_x" in |
| 140 | *no) REPLACE_FOPEN=1 ;; | 141 | *no) REPLACE_FOPEN_FOR_FOPEN_GNU=1 ;; |
| 141 | esac | 142 | esac |
| 142 | case "$gl_cv_func_fopen_mode_e" in | 143 | case "$gl_cv_func_fopen_mode_e" in |
| 143 | *no) REPLACE_FOPEN=1 ;; | 144 | *no) REPLACE_FOPEN_FOR_FOPEN_GNU=1 ;; |
| 144 | esac | 145 | esac |
| 145 | ]) | 146 | ]) |
| 146 | 147 | ||
diff --git a/gl/m4/fpurge.m4 b/gl/m4/fpurge.m4 index 275c9d0e..1a154541 100644 --- a/gl/m4/fpurge.m4 +++ b/gl/m4/fpurge.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # fpurge.m4 serial 12 | 1 | # fpurge.m4 serial 12 |
| 2 | dnl Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/freading.m4 b/gl/m4/freading.m4 index 6cc660ff..81b17a64 100644 --- a/gl/m4/freading.m4 +++ b/gl/m4/freading.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # freading.m4 serial 2 | 1 | # freading.m4 serial 2 |
| 2 | dnl Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/free.m4 b/gl/m4/free.m4 index a7923b90..dfeecd2b 100644 --- a/gl/m4/free.m4 +++ b/gl/m4/free.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # free.m4 serial 6 | 1 | # free.m4 serial 6 |
| 2 | # Copyright (C) 2003-2005, 2009-2021 Free Software Foundation, Inc. | 2 | # Copyright (C) 2003-2005, 2009-2022 Free Software Foundation, Inc. |
| 3 | # This file is free software; the Free Software Foundation | 3 | # This file is free software; the Free Software Foundation |
| 4 | # gives unlimited permission to copy and/or distribute it, | 4 | # gives unlimited permission to copy and/or distribute it, |
| 5 | # with or without modifications, as long as this notice is preserved. | 5 | # with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/fseek.m4 b/gl/m4/fseek.m4 index 2e90afc1..bd4a55be 100644 --- a/gl/m4/fseek.m4 +++ b/gl/m4/fseek.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # fseek.m4 serial 4 | 1 | # fseek.m4 serial 4 |
| 2 | dnl Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/fseeko.m4 b/gl/m4/fseeko.m4 index 531e4428..e50fe398 100644 --- a/gl/m4/fseeko.m4 +++ b/gl/m4/fseeko.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # fseeko.m4 serial 20 | 1 | # fseeko.m4 serial 20 |
| 2 | dnl Copyright (C) 2007-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/fstat.m4 b/gl/m4/fstat.m4 index cdaca80d..9e61bcce 100644 --- a/gl/m4/fstat.m4 +++ b/gl/m4/fstat.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # fstat.m4 serial 8 | 1 | # fstat.m4 serial 8 |
| 2 | dnl Copyright (C) 2011-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2011-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/fstypename.m4 b/gl/m4/fstypename.m4 index 895c4f07..67499223 100644 --- a/gl/m4/fstypename.m4 +++ b/gl/m4/fstypename.m4 | |||
| @@ -6,7 +6,7 @@ dnl See if struct statfs has the f_fstypename member. | |||
| 6 | dnl If so, define HAVE_STRUCT_STATFS_F_FSTYPENAME. | 6 | dnl If so, define HAVE_STRUCT_STATFS_F_FSTYPENAME. |
| 7 | dnl | 7 | dnl |
| 8 | 8 | ||
| 9 | # Copyright (C) 1998-1999, 2001, 2004, 2006, 2009-2021 Free Software | 9 | # Copyright (C) 1998-1999, 2001, 2004, 2006, 2009-2022 Free Software |
| 10 | # Foundation, Inc. | 10 | # Foundation, Inc. |
| 11 | # This file is free software; the Free Software Foundation | 11 | # This file is free software; the Free Software Foundation |
| 12 | # gives unlimited permission to copy and/or distribute it, | 12 | # gives unlimited permission to copy and/or distribute it, |
diff --git a/gl/m4/fsusage.m4 b/gl/m4/fsusage.m4 index d005579f..06e60886 100644 --- a/gl/m4/fsusage.m4 +++ b/gl/m4/fsusage.m4 | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | # serial 35 | 1 | # serial 35 |
| 2 | # Obtaining file system usage information. | 2 | # Obtaining file system usage information. |
| 3 | 3 | ||
| 4 | # Copyright (C) 1997-1998, 2000-2001, 2003-2021 Free Software Foundation, Inc. | 4 | # Copyright (C) 1997-1998, 2000-2001, 2003-2022 Free Software Foundation, Inc. |
| 5 | # | 5 | # |
| 6 | # This file is free software; the Free Software Foundation | 6 | # This file is free software; the Free Software Foundation |
| 7 | # gives unlimited permission to copy and/or distribute it, | 7 | # gives unlimited permission to copy and/or distribute it, |
diff --git a/gl/m4/ftell.m4 b/gl/m4/ftell.m4 index f9cc619b..89f2d1bd 100644 --- a/gl/m4/ftell.m4 +++ b/gl/m4/ftell.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # ftell.m4 serial 3 | 1 | # ftell.m4 serial 3 |
| 2 | dnl Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/ftello.m4 b/gl/m4/ftello.m4 index 65bec396..919f39d8 100644 --- a/gl/m4/ftello.m4 +++ b/gl/m4/ftello.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # ftello.m4 serial 14 | 1 | # ftello.m4 serial 14 |
| 2 | dnl Copyright (C) 2007-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/getaddrinfo.m4 b/gl/m4/getaddrinfo.m4 index 3f8e04f9..65a0fd0e 100644 --- a/gl/m4/getaddrinfo.m4 +++ b/gl/m4/getaddrinfo.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # getaddrinfo.m4 serial 34 | 1 | # getaddrinfo.m4 serial 34 |
| 2 | dnl Copyright (C) 2004-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2004-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/getdelim.m4 b/gl/m4/getdelim.m4 index 244a7319..0b63b553 100644 --- a/gl/m4/getdelim.m4 +++ b/gl/m4/getdelim.m4 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | # getdelim.m4 serial 15 | 1 | # getdelim.m4 serial 15 |
| 2 | 2 | ||
| 3 | dnl Copyright (C) 2005-2007, 2009-2021 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 2005-2007, 2009-2022 Free Software Foundation, Inc. |
| 4 | dnl | 4 | dnl |
| 5 | dnl This file is free software; the Free Software Foundation | 5 | dnl This file is free software; the Free Software Foundation |
| 6 | dnl gives unlimited permission to copy and/or distribute it, | 6 | dnl gives unlimited permission to copy and/or distribute it, |
diff --git a/gl/m4/getdtablesize.m4 b/gl/m4/getdtablesize.m4 index 8fbc9418..6134eaac 100644 --- a/gl/m4/getdtablesize.m4 +++ b/gl/m4/getdtablesize.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # getdtablesize.m4 serial 8 | 1 | # getdtablesize.m4 serial 8 |
| 2 | dnl Copyright (C) 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/gethostname.m4 b/gl/m4/gethostname.m4 index 25e9eb20..11f22b2f 100644 --- a/gl/m4/gethostname.m4 +++ b/gl/m4/gethostname.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # gethostname.m4 serial 15 | 1 | # gethostname.m4 serial 15 |
| 2 | dnl Copyright (C) 2002, 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002, 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/getline.m4 b/gl/m4/getline.m4 index 58b27c73..ca0301d2 100644 --- a/gl/m4/getline.m4 +++ b/gl/m4/getline.m4 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | # getline.m4 serial 30 | 1 | # getline.m4 serial 30 |
| 2 | 2 | ||
| 3 | dnl Copyright (C) 1998-2003, 2005-2007, 2009-2021 Free Software Foundation, | 3 | dnl Copyright (C) 1998-2003, 2005-2007, 2009-2022 Free Software Foundation, |
| 4 | dnl Inc. | 4 | dnl Inc. |
| 5 | dnl | 5 | dnl |
| 6 | dnl This file is free software; the Free Software Foundation | 6 | dnl This file is free software; the Free Software Foundation |
diff --git a/gl/m4/getloadavg.m4 b/gl/m4/getloadavg.m4 index bba22169..7bb8890b 100644 --- a/gl/m4/getloadavg.m4 +++ b/gl/m4/getloadavg.m4 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | # Check for getloadavg. | 1 | # Check for getloadavg. |
| 2 | 2 | ||
| 3 | # Copyright (C) 1992-1996, 1999-2000, 2002-2003, 2006, 2008-2021 Free Software | 3 | # Copyright (C) 1992-1996, 1999-2000, 2002-2003, 2006, 2008-2022 Free Software |
| 4 | # Foundation, Inc. | 4 | # Foundation, Inc. |
| 5 | 5 | ||
| 6 | # This file is free software; the Free Software Foundation | 6 | # This file is free software; the Free Software Foundation |
diff --git a/gl/m4/getopt.m4 b/gl/m4/getopt.m4 index bb95c5ea..ff78ed53 100644 --- a/gl/m4/getopt.m4 +++ b/gl/m4/getopt.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # getopt.m4 serial 47 | 1 | # getopt.m4 serial 48 |
| 2 | dnl Copyright (C) 2002-2006, 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2006, 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -21,6 +21,8 @@ AC_DEFUN([gl_FUNC_GETOPT_POSIX], | |||
| 21 | REPLACE_GETOPT=1 | 21 | REPLACE_GETOPT=1 |
| 22 | fi | 22 | fi |
| 23 | ]) | 23 | ]) |
| 24 | GL_GENERATE_GETOPT_H=false | ||
| 25 | GL_GENERATE_GETOPT_CDEFS_H=false | ||
| 24 | if test $REPLACE_GETOPT = 1; then | 26 | if test $REPLACE_GETOPT = 1; then |
| 25 | dnl Arrange for getopt.h to be created. | 27 | dnl Arrange for getopt.h to be created. |
| 26 | gl_GETOPT_SUBSTITUTE_HEADER | 28 | gl_GETOPT_SUBSTITUTE_HEADER |
| @@ -374,8 +376,6 @@ AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER], | |||
| 374 | AC_DEFINE([__GETOPT_PREFIX], [[rpl_]], | 376 | AC_DEFINE([__GETOPT_PREFIX], [[rpl_]], |
| 375 | [Define to rpl_ if the getopt replacement functions and variables | 377 | [Define to rpl_ if the getopt replacement functions and variables |
| 376 | should be used.]) | 378 | should be used.]) |
| 377 | GETOPT_H=getopt.h | 379 | GL_GENERATE_GETOPT_H=true |
| 378 | GETOPT_CDEFS_H=getopt-cdefs.h | 380 | GL_GENERATE_GETOPT_CDEFS_H=true |
| 379 | AC_SUBST([GETOPT_H]) | ||
| 380 | AC_SUBST([GETOPT_CDEFS_H]) | ||
| 381 | ]) | 381 | ]) |
diff --git a/gl/m4/getprogname.m4 b/gl/m4/getprogname.m4 index 65917d6a..b26146e9 100644 --- a/gl/m4/getprogname.m4 +++ b/gl/m4/getprogname.m4 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | # getprogname.m4 - check for getprogname or replacements for it | 1 | # getprogname.m4 - check for getprogname or replacements for it |
| 2 | 2 | ||
| 3 | # Copyright (C) 2016-2021 Free Software Foundation, Inc. | 3 | # Copyright (C) 2016-2022 Free Software Foundation, Inc. |
| 4 | # This file is free software; the Free Software Foundation | 4 | # This file is free software; the Free Software Foundation |
| 5 | # gives unlimited permission to copy and/or distribute it, | 5 | # gives unlimited permission to copy and/or distribute it, |
| 6 | # with or without modifications, as long as this notice is preserved. | 6 | # with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/gettext.m4 b/gl/m4/gettext.m4 index c7f54609..989d6456 100644 --- a/gl/m4/gettext.m4 +++ b/gl/m4/gettext.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # gettext.m4 serial 71 (gettext-0.20.2) | 1 | # gettext.m4 serial 71 (gettext-0.20.2) |
| 2 | dnl Copyright (C) 1995-2014, 2016, 2018-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1995-2014, 2016, 2018-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/gl-openssl.m4 b/gl/m4/gl-openssl.m4 index c968eb68..d076f844 100644 --- a/gl/m4/gl-openssl.m4 +++ b/gl/m4/gl-openssl.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # gl-openssl.m4 serial 6 | 1 | # gl-openssl.m4 serial 6 |
| 2 | dnl Copyright (C) 2013-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2013-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/gnulib-cache.m4 b/gl/m4/gnulib-cache.m4 index 2471be27..9d0128a0 100644 --- a/gl/m4/gnulib-cache.m4 +++ b/gl/m4/gnulib-cache.m4 | |||
| @@ -1,8 +1,8 @@ | |||
| 1 | # Copyright (C) 2002-2021 Free Software Foundation, Inc. | 1 | # Copyright (C) 2002-2022 Free Software Foundation, Inc. |
| 2 | # | 2 | # |
| 3 | # This file is free software; you can redistribute it and/or modify | 3 | # This file is free software; you can redistribute it and/or modify |
| 4 | # it under the terms of the GNU General Public License as published by | 4 | # it under the terms of the GNU General Public License as published by |
| 5 | # the Free Software Foundation; either version 3 of the License, or | 5 | # the Free Software Foundation, either version 3 of the License, or |
| 6 | # (at your option) any later version. | 6 | # (at your option) any later version. |
| 7 | # | 7 | # |
| 8 | # This file is distributed in the hope that it will be useful, | 8 | # This file is distributed in the hope that it will be useful, |
diff --git a/gl/m4/gnulib-common.m4 b/gl/m4/gnulib-common.m4 index 12b19dbc..30911d15 100644 --- a/gl/m4/gnulib-common.m4 +++ b/gl/m4/gnulib-common.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # gnulib-common.m4 serial 67 | 1 | # gnulib-common.m4 serial 73 |
| 2 | dnl Copyright (C) 2007-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -69,7 +69,9 @@ AC_DEFUN([gl_COMMON_BODY], [ | |||
| 69 | [/* Attributes. */ | 69 | [/* Attributes. */ |
| 70 | #if (defined __has_attribute \ | 70 | #if (defined __has_attribute \ |
| 71 | && (!defined __clang_minor__ \ | 71 | && (!defined __clang_minor__ \ |
| 72 | || 3 < __clang_major__ + (5 <= __clang_minor__))) | 72 | || (defined __apple_build_version__ \ |
| 73 | ? 6000000 <= __apple_build_version__ \ | ||
| 74 | : 3 < __clang_major__ + (5 <= __clang_minor__)))) | ||
| 73 | # define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__) | 75 | # define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__) |
| 74 | #else | 76 | #else |
| 75 | # define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr | 77 | # define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr |
| @@ -104,6 +106,10 @@ AC_DEFUN([gl_COMMON_BODY], [ | |||
| 104 | #endif | 106 | #endif |
| 105 | 107 | ||
| 106 | #ifdef __has_c_attribute | 108 | #ifdef __has_c_attribute |
| 109 | # if ((defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) <= 201710 \ | ||
| 110 | && _GL_GNUC_PREREQ (4, 6)) | ||
| 111 | # pragma GCC diagnostic ignored "-Wpedantic" | ||
| 112 | # endif | ||
| 107 | # define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__) | 113 | # define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__) |
| 108 | #else | 114 | #else |
| 109 | # define _GL_HAS_C_ATTRIBUTE(attr) 0 | 115 | # define _GL_HAS_C_ATTRIBUTE(attr) 0 |
| @@ -181,7 +187,12 @@ AC_DEFUN([gl_COMMON_BODY], [ | |||
| 181 | #else | 187 | #else |
| 182 | # define _GL_ATTRIBUTE_DEALLOC(f, i) | 188 | # define _GL_ATTRIBUTE_DEALLOC(f, i) |
| 183 | #endif | 189 | #endif |
| 184 | #define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) | 190 | /* If gnulib's <string.h> or <wchar.h> has already defined this macro, continue |
| 191 | to use this earlier definition, since <stdlib.h> may not have been included | ||
| 192 | yet. */ | ||
| 193 | #ifndef _GL_ATTRIBUTE_DEALLOC_FREE | ||
| 194 | # define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) | ||
| 195 | #endif | ||
| 185 | 196 | ||
| 186 | /* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated. | 197 | /* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated. |
| 187 | The compiler may warn if the entity is used. */ | 198 | The compiler may warn if the entity is used. */ |
| @@ -813,6 +824,24 @@ AC_DEFUN([gl_CACHE_VAL_SILENT], | |||
| 813 | ]) | 824 | ]) |
| 814 | ]) | 825 | ]) |
| 815 | 826 | ||
| 827 | # gl_CONDITIONAL(conditional, condition) | ||
| 828 | # is like AM_CONDITIONAL(conditional, condition), except that it does not | ||
| 829 | # produce an error | ||
| 830 | # configure: error: conditional "..." was never defined. | ||
| 831 | # Usually this means the macro was only invoked conditionally. | ||
| 832 | # when only invoked conditionally. Instead, in that case, both the _TRUE | ||
| 833 | # and the _FALSE case are disabled. | ||
| 834 | AC_DEFUN([gl_CONDITIONAL], | ||
| 835 | [ | ||
| 836 | pushdef([AC_CONFIG_COMMANDS_PRE], [:])dnl | ||
| 837 | AM_CONDITIONAL([$1], [$2]) | ||
| 838 | popdef([AC_CONFIG_COMMANDS_PRE])dnl | ||
| 839 | if test -z "${[$1]_TRUE}" && test -z "${[$1]_FALSE}"; then | ||
| 840 | [$1]_TRUE='#' | ||
| 841 | [$1]_FALSE='#' | ||
| 842 | fi | ||
| 843 | ]) | ||
| 844 | |||
| 816 | # gl_CC_ALLOW_WARNINGS | 845 | # gl_CC_ALLOW_WARNINGS |
| 817 | # sets and substitutes a variable GL_CFLAG_ALLOW_WARNINGS, to a $(CC) option | 846 | # sets and substitutes a variable GL_CFLAG_ALLOW_WARNINGS, to a $(CC) option |
| 818 | # that reverts a preceding '-Werror' option, if available. | 847 | # that reverts a preceding '-Werror' option, if available. |
| @@ -879,6 +908,102 @@ AC_DEFUN([gl_CXX_ALLOW_WARNINGS], | |||
| 879 | AC_SUBST([GL_CXXFLAG_ALLOW_WARNINGS]) | 908 | AC_SUBST([GL_CXXFLAG_ALLOW_WARNINGS]) |
| 880 | ]) | 909 | ]) |
| 881 | 910 | ||
| 911 | # gl_CC_GNULIB_WARNINGS | ||
| 912 | # sets and substitutes a variable GL_CFLAG_GNULIB_WARNINGS, to a $(CC) option | ||
| 913 | # set that enables or disables warnings as suitable for the Gnulib coding style. | ||
| 914 | AC_DEFUN([gl_CC_GNULIB_WARNINGS], | ||
| 915 | [ | ||
| 916 | AC_REQUIRE([gl_CC_ALLOW_WARNINGS]) | ||
| 917 | dnl Assume that the compiler supports -Wno-* options only if it also supports | ||
| 918 | dnl -Wno-error. | ||
| 919 | GL_CFLAG_GNULIB_WARNINGS='' | ||
| 920 | if test -n "$GL_CFLAG_ALLOW_WARNINGS"; then | ||
| 921 | dnl Enable these warning options: | ||
| 922 | dnl | ||
| 923 | dnl GCC clang | ||
| 924 | dnl -Wno-cast-qual >= 3 >= 3.9 | ||
| 925 | dnl -Wno-conversion >= 3 >= 3.9 | ||
| 926 | dnl -Wno-float-conversion >= 4.9 >= 3.9 | ||
| 927 | dnl -Wno-float-equal >= 3 >= 3.9 | ||
| 928 | dnl -Wimplicit-fallthrough >= 7 >= 3.9 | ||
| 929 | dnl -Wno-pedantic >= 4.8 >= 3.9 | ||
| 930 | dnl -Wno-sign-compare >= 3 >= 3.9 | ||
| 931 | dnl -Wno-sign-conversion >= 4.3 >= 3.9 | ||
| 932 | dnl -Wno-type-limits >= 4.3 >= 3.9 | ||
| 933 | dnl -Wno-undef >= 3 >= 3.9 | ||
| 934 | dnl -Wno-unsuffixed-float-constants >= 4.5 | ||
| 935 | dnl -Wno-unused-function >= 3 >= 3.9 | ||
| 936 | dnl -Wno-unused-parameter >= 3 >= 3.9 | ||
| 937 | dnl | ||
| 938 | cat > conftest.c <<\EOF | ||
| 939 | #if __GNUC__ >= 3 || (__clang_major__ + (__clang_minor__ >= 9) > 3) | ||
| 940 | -Wno-cast-qual | ||
| 941 | -Wno-conversion | ||
| 942 | -Wno-float-equal | ||
| 943 | -Wno-sign-compare | ||
| 944 | -Wno-undef | ||
| 945 | -Wno-unused-function | ||
| 946 | -Wno-unused-parameter | ||
| 947 | #endif | ||
| 948 | #if __GNUC__ + (__GNUC_MINOR__ >= 9) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) | ||
| 949 | -Wno-float-conversion | ||
| 950 | #endif | ||
| 951 | #if __GNUC__ >= 7 || (__clang_major__ + (__clang_minor__ >= 9) > 3) | ||
| 952 | -Wimplicit-fallthrough | ||
| 953 | #endif | ||
| 954 | #if __GNUC__ + (__GNUC_MINOR__ >= 8) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) | ||
| 955 | -Wno-pedantic | ||
| 956 | #endif | ||
| 957 | #if __GNUC__ + (__GNUC_MINOR__ >= 3) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) | ||
| 958 | -Wno-sign-conversion | ||
| 959 | -Wno-type-limits | ||
| 960 | #endif | ||
| 961 | #if __GNUC__ + (__GNUC_MINOR__ >= 5) > 4 | ||
| 962 | -Wno-unsuffixed-float-constants | ||
| 963 | #endif | ||
| 964 | EOF | ||
| 965 | gl_command="$CC $CFLAGS $CPPFLAGS -E conftest.c > conftest.out" | ||
| 966 | if AC_TRY_EVAL([gl_command]); then | ||
| 967 | gl_options=`grep -v '#' conftest.out` | ||
| 968 | for word in $gl_options; do | ||
| 969 | GL_CFLAG_GNULIB_WARNINGS="$GL_CFLAG_GNULIB_WARNINGS $word" | ||
| 970 | done | ||
| 971 | fi | ||
| 972 | rm -f conftest.c conftest.out | ||
| 973 | fi | ||
| 974 | AC_SUBST([GL_CFLAG_GNULIB_WARNINGS]) | ||
| 975 | ]) | ||
| 976 | |||
| 977 | dnl gl_CONDITIONAL_HEADER([foo.h]) | ||
| 978 | dnl takes a shell variable GL_GENERATE_FOO_H (with value true or false) as input | ||
| 979 | dnl and produces | ||
| 980 | dnl - an AC_SUBSTed variable FOO_H that is either a file name or empty, based | ||
| 981 | dnl on whether GL_GENERATE_FOO_H is true or false, | ||
| 982 | dnl - an Automake conditional GL_GENERATE_FOO_H that evaluates to the value of | ||
| 983 | dnl the shell variable GL_GENERATE_FOO_H. | ||
| 984 | AC_DEFUN([gl_CONDITIONAL_HEADER], | ||
| 985 | [ | ||
| 986 | m4_pushdef([gl_header_name], AS_TR_SH(m4_toupper($1))) | ||
| 987 | m4_pushdef([gl_generate_var], [GL_GENERATE_]AS_TR_SH(m4_toupper($1))) | ||
| 988 | m4_pushdef([gl_generate_cond], [GL_GENERATE_]AS_TR_SH(m4_toupper($1))) | ||
| 989 | case "$gl_generate_var" in | ||
| 990 | false) gl_header_name='' ;; | ||
| 991 | true) | ||
| 992 | dnl It is OK to use a .h file in lib/ from within tests/, but not vice | ||
| 993 | dnl versa. | ||
| 994 | if test -z "$gl_header_name"; then | ||
| 995 | gl_header_name="${gl_source_base_prefix}$1" | ||
| 996 | fi | ||
| 997 | ;; | ||
| 998 | *) echo "*** gl_generate_var is not set correctly" 1>&2; exit 1 ;; | ||
| 999 | esac | ||
| 1000 | AC_SUBST(gl_header_name) | ||
| 1001 | gl_CONDITIONAL(gl_generate_cond, [$gl_generate_var]) | ||
| 1002 | m4_popdef([gl_generate_cond]) | ||
| 1003 | m4_popdef([gl_generate_var]) | ||
| 1004 | m4_popdef([gl_header_name]) | ||
| 1005 | ]) | ||
| 1006 | |||
| 882 | dnl Expands to some code for use in .c programs that, on native Windows, defines | 1007 | dnl Expands to some code for use in .c programs that, on native Windows, defines |
| 883 | dnl the Microsoft deprecated alias function names to the underscore-prefixed | 1008 | dnl the Microsoft deprecated alias function names to the underscore-prefixed |
| 884 | dnl actual function names. With this macro, these function names are available | 1009 | dnl actual function names. With this macro, these function names are available |
diff --git a/gl/m4/gnulib-comp.m4 b/gl/m4/gnulib-comp.m4 index 219b81e2..a82c5de2 100644 --- a/gl/m4/gnulib-comp.m4 +++ b/gl/m4/gnulib-comp.m4 | |||
| @@ -1,9 +1,9 @@ | |||
| 1 | # DO NOT EDIT! GENERATED AUTOMATICALLY! | 1 | # DO NOT EDIT! GENERATED AUTOMATICALLY! |
| 2 | # Copyright (C) 2002-2021 Free Software Foundation, Inc. | 2 | # Copyright (C) 2002-2022 Free Software Foundation, Inc. |
| 3 | # | 3 | # |
| 4 | # This file is free software; you can redistribute it and/or modify | 4 | # This file is free software; you can redistribute it and/or modify |
| 5 | # it under the terms of the GNU General Public License as published by | 5 | # it under the terms of the GNU General Public License as published by |
| 6 | # the Free Software Foundation; either version 3 of the License, or | 6 | # the Free Software Foundation, either version 3 of the License, or |
| 7 | # (at your option) any later version. | 7 | # (at your option) any later version. |
| 8 | # | 8 | # |
| 9 | # This file is distributed in the hope that it will be useful, | 9 | # This file is distributed in the hope that it will be useful, |
| @@ -42,7 +42,6 @@ AC_DEFUN([gl_EARLY], | |||
| 42 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | 42 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) |
| 43 | AC_REQUIRE([gl_PROG_AR_RANLIB]) | 43 | AC_REQUIRE([gl_PROG_AR_RANLIB]) |
| 44 | 44 | ||
| 45 | AC_REQUIRE([AM_PROG_CC_C_O]) | ||
| 46 | # Code from module absolute-header: | 45 | # Code from module absolute-header: |
| 47 | # Code from module alloca-opt: | 46 | # Code from module alloca-opt: |
| 48 | # Code from module arpa_inet: | 47 | # Code from module arpa_inet: |
| @@ -92,6 +91,7 @@ AC_DEFUN([gl_EARLY], | |||
| 92 | # Code from module ftell: | 91 | # Code from module ftell: |
| 93 | # Code from module ftello: | 92 | # Code from module ftello: |
| 94 | AC_REQUIRE([gl_SET_LARGEFILE_SOURCE]) | 93 | AC_REQUIRE([gl_SET_LARGEFILE_SOURCE]) |
| 94 | # Code from module gen-header: | ||
| 95 | # Code from module getaddrinfo: | 95 | # Code from module getaddrinfo: |
| 96 | # Code from module getdelim: | 96 | # Code from module getdelim: |
| 97 | # Code from module getdtablesize: | 97 | # Code from module getdtablesize: |
| @@ -167,6 +167,7 @@ AC_DEFUN([gl_EARLY], | |||
| 167 | # Code from module std-gnu11: | 167 | # Code from module std-gnu11: |
| 168 | # Code from module stdalign: | 168 | # Code from module stdalign: |
| 169 | # Code from module stdbool: | 169 | # Code from module stdbool: |
| 170 | # Code from module stdckdint: | ||
| 170 | # Code from module stddef: | 171 | # Code from module stddef: |
| 171 | # Code from module stdint: | 172 | # Code from module stdint: |
| 172 | # Code from module stdio: | 173 | # Code from module stdio: |
| @@ -193,6 +194,7 @@ AC_DEFUN([gl_EARLY], | |||
| 193 | # Code from module unistd: | 194 | # Code from module unistd: |
| 194 | # Code from module unlocked-io-internal: | 195 | # Code from module unlocked-io-internal: |
| 195 | # Code from module unsetenv: | 196 | # Code from module unsetenv: |
| 197 | # Code from module vararrays: | ||
| 196 | # Code from module vasnprintf: | 198 | # Code from module vasnprintf: |
| 197 | # Code from module vasprintf: | 199 | # Code from module vasprintf: |
| 198 | # Code from module verify: | 200 | # Code from module verify: |
| @@ -228,33 +230,38 @@ AC_DEFUN([gl_INIT], | |||
| 228 | m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL]) | 230 | m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL]) |
| 229 | gl_COMMON | 231 | gl_COMMON |
| 230 | gl_source_base='gl' | 232 | gl_source_base='gl' |
| 233 | gl_source_base_prefix= | ||
| 231 | gl_FUNC_ALLOCA | 234 | gl_FUNC_ALLOCA |
| 235 | gl_CONDITIONAL_HEADER([alloca.h]) | ||
| 236 | AC_PROG_MKDIR_P | ||
| 232 | gl_ARPA_INET_H | 237 | gl_ARPA_INET_H |
| 233 | gl_ARPA_INET_H_REQUIRE_DEFAULTS | 238 | gl_ARPA_INET_H_REQUIRE_DEFAULTS |
| 234 | AC_PROG_MKDIR_P | 239 | AC_PROG_MKDIR_P |
| 235 | gl_FUNC_BASE64 | 240 | gl_FUNC_BASE64 |
| 236 | gl_FUNC_BTOWC | 241 | gl_FUNC_BTOWC |
| 237 | if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then | 242 | gl_CONDITIONAL([GL_COND_OBJ_BTOWC], |
| 238 | AC_LIBOBJ([btowc]) | 243 | [test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1]) |
| 244 | AM_COND_IF([GL_COND_OBJ_BTOWC], [ | ||
| 239 | gl_PREREQ_BTOWC | 245 | gl_PREREQ_BTOWC |
| 240 | fi | 246 | ]) |
| 241 | gl_WCHAR_MODULE_INDICATOR([btowc]) | 247 | gl_WCHAR_MODULE_INDICATOR([btowc]) |
| 242 | gl___BUILTIN_EXPECT | 248 | gl___BUILTIN_EXPECT |
| 243 | gl_BYTESWAP | 249 | gl_BYTESWAP |
| 250 | gl_CONDITIONAL_HEADER([byteswap.h]) | ||
| 251 | AC_PROG_MKDIR_P | ||
| 244 | gl_FUNC_CALLOC_GNU | 252 | gl_FUNC_CALLOC_GNU |
| 245 | if test $REPLACE_CALLOC = 1; then | 253 | if test $REPLACE_CALLOC_FOR_CALLOC_GNU = 1; then |
| 246 | AC_LIBOBJ([calloc]) | 254 | AC_LIBOBJ([calloc]) |
| 247 | fi | 255 | fi |
| 256 | gl_STDLIB_MODULE_INDICATOR([calloc-gnu]) | ||
| 248 | gl_FUNC_CALLOC_POSIX | 257 | gl_FUNC_CALLOC_POSIX |
| 249 | if test $REPLACE_CALLOC = 1; then | 258 | if test $REPLACE_CALLOC_FOR_CALLOC_POSIX = 1; then |
| 250 | AC_LIBOBJ([calloc]) | 259 | AC_LIBOBJ([calloc]) |
| 251 | fi | 260 | fi |
| 252 | gl_STDLIB_MODULE_INDICATOR([calloc-posix]) | 261 | gl_STDLIB_MODULE_INDICATOR([calloc-posix]) |
| 253 | gl_MODULE_INDICATOR_FOR_TESTS([cloexec]) | 262 | gl_MODULE_INDICATOR_FOR_TESTS([cloexec]) |
| 254 | gl_FUNC_CLOSE | 263 | gl_FUNC_CLOSE |
| 255 | if test $REPLACE_CLOSE = 1; then | 264 | gl_CONDITIONAL([GL_COND_OBJ_CLOSE], [test $REPLACE_CLOSE = 1]) |
| 256 | AC_LIBOBJ([close]) | ||
| 257 | fi | ||
| 258 | gl_UNISTD_MODULE_INDICATOR([close]) | 265 | gl_UNISTD_MODULE_INDICATOR([close]) |
| 259 | gl_AF_ALG | 266 | gl_AF_ALG |
| 260 | AC_REQUIRE([AC_C_RESTRICT]) | 267 | AC_REQUIRE([AC_C_RESTRICT]) |
| @@ -262,18 +269,20 @@ AC_DEFUN([gl_INIT], | |||
| 262 | gl_MODULE_INDICATOR([dirname]) | 269 | gl_MODULE_INDICATOR([dirname]) |
| 263 | gl_DOUBLE_SLASH_ROOT | 270 | gl_DOUBLE_SLASH_ROOT |
| 264 | gl_FUNC_DUP2 | 271 | gl_FUNC_DUP2 |
| 265 | if test $REPLACE_DUP2 = 1; then | 272 | gl_CONDITIONAL([GL_COND_OBJ_DUP2], [test $REPLACE_DUP2 = 1]) |
| 266 | AC_LIBOBJ([dup2]) | 273 | AM_COND_IF([GL_COND_OBJ_DUP2], [ |
| 267 | gl_PREREQ_DUP2 | 274 | gl_PREREQ_DUP2 |
| 268 | fi | 275 | ]) |
| 269 | gl_UNISTD_MODULE_INDICATOR([dup2]) | 276 | gl_UNISTD_MODULE_INDICATOR([dup2]) |
| 270 | AC_PROG_MKDIR_P | 277 | AC_PROG_MKDIR_P |
| 271 | gl_ENVIRON | 278 | gl_ENVIRON |
| 272 | gl_UNISTD_MODULE_INDICATOR([environ]) | 279 | gl_UNISTD_MODULE_INDICATOR([environ]) |
| 273 | gl_HEADER_ERRNO_H | 280 | gl_HEADER_ERRNO_H |
| 281 | gl_CONDITIONAL_HEADER([errno.h]) | ||
| 282 | AC_PROG_MKDIR_P | ||
| 274 | gl_ERROR | 283 | gl_ERROR |
| 275 | AS_IF([test "$ac_cv_lib_error_at_line" = no], [ | 284 | gl_CONDITIONAL([GL_COND_OBJ_ERROR], [test "$ac_cv_lib_error_at_line" = no]) |
| 276 | AC_LIBOBJ([error]) | 285 | AM_COND_IF([GL_COND_OBJ_ERROR], [ |
| 277 | gl_PREREQ_ERROR | 286 | gl_PREREQ_ERROR |
| 278 | ]) | 287 | ]) |
| 279 | m4_ifdef([AM_XGETTEXT_OPTION], | 288 | m4_ifdef([AM_XGETTEXT_OPTION], |
| @@ -281,30 +290,27 @@ AC_DEFUN([gl_INIT], | |||
| 281 | AM_][XGETTEXT_OPTION([--flag=error_at_line:5:c-format])]) | 290 | AM_][XGETTEXT_OPTION([--flag=error_at_line:5:c-format])]) |
| 282 | AC_REQUIRE([gl_EXTERN_INLINE]) | 291 | AC_REQUIRE([gl_EXTERN_INLINE]) |
| 283 | gl_FUNC_FCNTL | 292 | gl_FUNC_FCNTL |
| 284 | if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then | 293 | gl_CONDITIONAL([GL_COND_OBJ_FCNTL], |
| 285 | AC_LIBOBJ([fcntl]) | 294 | [test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1]) |
| 286 | fi | ||
| 287 | gl_FCNTL_MODULE_INDICATOR([fcntl]) | 295 | gl_FCNTL_MODULE_INDICATOR([fcntl]) |
| 288 | gl_FCNTL_H | 296 | gl_FCNTL_H |
| 289 | gl_FCNTL_H_REQUIRE_DEFAULTS | 297 | gl_FCNTL_H_REQUIRE_DEFAULTS |
| 298 | AC_PROG_MKDIR_P | ||
| 290 | gl_FUNC_FFLUSH | 299 | gl_FUNC_FFLUSH |
| 291 | if test $REPLACE_FFLUSH = 1; then | 300 | gl_CONDITIONAL([GL_COND_OBJ_FFLUSH], [test $REPLACE_FFLUSH = 1]) |
| 292 | AC_LIBOBJ([fflush]) | 301 | AM_COND_IF([GL_COND_OBJ_FFLUSH], [ |
| 293 | gl_PREREQ_FFLUSH | 302 | gl_PREREQ_FFLUSH |
| 294 | fi | 303 | ]) |
| 295 | gl_MODULE_INDICATOR([fflush]) | 304 | gl_MODULE_INDICATOR([fflush]) |
| 296 | gl_STDIO_MODULE_INDICATOR([fflush]) | 305 | gl_STDIO_MODULE_INDICATOR([fflush]) |
| 297 | gl_FLOAT_H | 306 | gl_FLOAT_H |
| 298 | if test $REPLACE_FLOAT_LDBL = 1; then | 307 | gl_CONDITIONAL_HEADER([float.h]) |
| 299 | AC_LIBOBJ([float]) | 308 | AC_PROG_MKDIR_P |
| 300 | fi | 309 | gl_CONDITIONAL([GL_COND_OBJ_FLOAT], [test $REPLACE_FLOAT_LDBL = 1]) |
| 301 | if test $REPLACE_ITOLD = 1; then | 310 | gl_CONDITIONAL([GL_COND_OBJ_ITOLD], [test $REPLACE_ITOLD = 1]) |
| 302 | AC_LIBOBJ([itold]) | ||
| 303 | fi | ||
| 304 | gl_FUNC_FLOORF | 311 | gl_FUNC_FLOORF |
| 305 | if test $HAVE_DECL_FLOORF = 0 || test $REPLACE_FLOORF = 1; then | 312 | gl_CONDITIONAL([GL_COND_OBJ_FLOORF], |
| 306 | AC_LIBOBJ([floorf]) | 313 | [test $HAVE_DECL_FLOORF = 0 || test $REPLACE_FLOORF = 1]) |
| 307 | fi | ||
| 308 | gl_MATH_MODULE_INDICATOR([floorf]) | 314 | gl_MATH_MODULE_INDICATOR([floorf]) |
| 309 | gl_FUNC_FOPEN | 315 | gl_FUNC_FOPEN |
| 310 | if test $REPLACE_FOPEN = 1; then | 316 | if test $REPLACE_FOPEN = 1; then |
| @@ -313,112 +319,112 @@ AC_DEFUN([gl_INIT], | |||
| 313 | fi | 319 | fi |
| 314 | gl_STDIO_MODULE_INDICATOR([fopen]) | 320 | gl_STDIO_MODULE_INDICATOR([fopen]) |
| 315 | gl_FUNC_FOPEN_GNU | 321 | gl_FUNC_FOPEN_GNU |
| 316 | if test $REPLACE_FOPEN = 1; then | 322 | if test $REPLACE_FOPEN_FOR_FOPEN_GNU = 1; then |
| 317 | AC_LIBOBJ([fopen]) | 323 | AC_LIBOBJ([fopen]) |
| 318 | gl_PREREQ_FOPEN | 324 | gl_PREREQ_FOPEN |
| 319 | fi | 325 | fi |
| 320 | gl_MODULE_INDICATOR([fopen-gnu]) | 326 | gl_MODULE_INDICATOR([fopen-gnu]) |
| 327 | gl_STDIO_MODULE_INDICATOR([fopen-gnu]) | ||
| 321 | gl_FUNC_FPURGE | 328 | gl_FUNC_FPURGE |
| 322 | if test $HAVE_FPURGE = 0 || test $REPLACE_FPURGE = 1; then | 329 | gl_CONDITIONAL([GL_COND_OBJ_FPURGE], |
| 323 | AC_LIBOBJ([fpurge]) | 330 | [test $HAVE_FPURGE = 0 || test $REPLACE_FPURGE = 1]) |
| 324 | fi | ||
| 325 | gl_STDIO_MODULE_INDICATOR([fpurge]) | 331 | gl_STDIO_MODULE_INDICATOR([fpurge]) |
| 326 | gl_FUNC_FREADING | 332 | gl_FUNC_FREADING |
| 327 | gl_FUNC_FREE | 333 | gl_FUNC_FREE |
| 328 | if test $REPLACE_FREE = 1; then | 334 | gl_CONDITIONAL([GL_COND_OBJ_FREE], [test $REPLACE_FREE = 1]) |
| 329 | AC_LIBOBJ([free]) | 335 | AM_COND_IF([GL_COND_OBJ_FREE], [ |
| 330 | gl_PREREQ_FREE | 336 | gl_PREREQ_FREE |
| 331 | fi | 337 | ]) |
| 332 | gl_STDLIB_MODULE_INDICATOR([free-posix]) | 338 | gl_STDLIB_MODULE_INDICATOR([free-posix]) |
| 333 | gl_FUNC_FSEEK | 339 | gl_FUNC_FSEEK |
| 334 | if test $REPLACE_FSEEK = 1; then | 340 | gl_CONDITIONAL([GL_COND_OBJ_FSEEK], [test $REPLACE_FSEEK = 1]) |
| 335 | AC_LIBOBJ([fseek]) | ||
| 336 | fi | ||
| 337 | gl_STDIO_MODULE_INDICATOR([fseek]) | 341 | gl_STDIO_MODULE_INDICATOR([fseek]) |
| 338 | gl_FUNC_FSEEKO | 342 | gl_FUNC_FSEEKO |
| 339 | if test $HAVE_FSEEKO = 0 || test $REPLACE_FSEEKO = 1; then | 343 | gl_CONDITIONAL([GL_COND_OBJ_FSEEKO], |
| 340 | AC_LIBOBJ([fseeko]) | 344 | [test $HAVE_FSEEKO = 0 || test $REPLACE_FSEEKO = 1]) |
| 345 | AM_COND_IF([GL_COND_OBJ_FSEEKO], [ | ||
| 341 | gl_PREREQ_FSEEKO | 346 | gl_PREREQ_FSEEKO |
| 342 | fi | 347 | ]) |
| 343 | gl_STDIO_MODULE_INDICATOR([fseeko]) | 348 | gl_STDIO_MODULE_INDICATOR([fseeko]) |
| 344 | gl_FUNC_FSTAT | 349 | gl_FUNC_FSTAT |
| 345 | if test $REPLACE_FSTAT = 1; then | 350 | gl_CONDITIONAL([GL_COND_OBJ_FSTAT], [test $REPLACE_FSTAT = 1]) |
| 346 | AC_LIBOBJ([fstat]) | 351 | AM_COND_IF([GL_COND_OBJ_FSTAT], [ |
| 347 | case "$host_os" in | 352 | case "$host_os" in |
| 348 | mingw*) | 353 | mingw*) |
| 349 | AC_LIBOBJ([stat-w32]) | 354 | AC_LIBOBJ([stat-w32]) |
| 350 | ;; | 355 | ;; |
| 351 | esac | 356 | esac |
| 352 | gl_PREREQ_FSTAT | 357 | gl_PREREQ_FSTAT |
| 353 | fi | 358 | ]) |
| 354 | gl_SYS_STAT_MODULE_INDICATOR([fstat]) | 359 | gl_SYS_STAT_MODULE_INDICATOR([fstat]) |
| 355 | gl_FSUSAGE | 360 | gl_FSUSAGE |
| 356 | if test $gl_cv_fs_space = yes; then | 361 | gl_CONDITIONAL([GL_COND_OBJ_FSUSAGE], [test $gl_cv_fs_space = yes]) |
| 357 | AC_LIBOBJ([fsusage]) | 362 | AM_COND_IF([GL_COND_OBJ_FSUSAGE], [ |
| 358 | gl_PREREQ_FSUSAGE_EXTRA | 363 | gl_PREREQ_FSUSAGE_EXTRA |
| 359 | fi | 364 | ]) |
| 360 | gl_FUNC_FTELL | 365 | gl_FUNC_FTELL |
| 361 | if test $REPLACE_FTELL = 1; then | 366 | gl_CONDITIONAL([GL_COND_OBJ_FTELL], [test $REPLACE_FTELL = 1]) |
| 362 | AC_LIBOBJ([ftell]) | ||
| 363 | fi | ||
| 364 | gl_STDIO_MODULE_INDICATOR([ftell]) | 367 | gl_STDIO_MODULE_INDICATOR([ftell]) |
| 365 | gl_FUNC_FTELLO | 368 | gl_FUNC_FTELLO |
| 366 | if test $HAVE_FTELLO = 0 || test $REPLACE_FTELLO = 1; then | 369 | gl_CONDITIONAL([GL_COND_OBJ_FTELLO], |
| 367 | AC_LIBOBJ([ftello]) | 370 | [test $HAVE_FTELLO = 0 || test $REPLACE_FTELLO = 1]) |
| 371 | AM_COND_IF([GL_COND_OBJ_FTELLO], [ | ||
| 368 | gl_PREREQ_FTELLO | 372 | gl_PREREQ_FTELLO |
| 369 | fi | 373 | ]) |
| 370 | gl_STDIO_MODULE_INDICATOR([ftello]) | 374 | gl_STDIO_MODULE_INDICATOR([ftello]) |
| 371 | gl_GETADDRINFO | 375 | gl_GETADDRINFO |
| 372 | if test $HAVE_GETADDRINFO = 0 || test $REPLACE_GETADDRINFO = 1; then | 376 | gl_CONDITIONAL([GL_COND_OBJ_GETADDRINFO], |
| 373 | AC_LIBOBJ([getaddrinfo]) | 377 | [test $HAVE_GETADDRINFO = 0 || test $REPLACE_GETADDRINFO = 1]) |
| 374 | fi | 378 | gl_CONDITIONAL([GL_COND_OBJ_GAI_STRERROR], |
| 375 | if test $HAVE_DECL_GAI_STRERROR = 0 || test $REPLACE_GAI_STRERROR = 1; then | 379 | [test $HAVE_DECL_GAI_STRERROR = 0 || test $REPLACE_GAI_STRERROR = 1]) |
| 376 | AC_LIBOBJ([gai_strerror]) | ||
| 377 | fi | ||
| 378 | gl_NETDB_MODULE_INDICATOR([getaddrinfo]) | 380 | gl_NETDB_MODULE_INDICATOR([getaddrinfo]) |
| 379 | gl_FUNC_GETDELIM | 381 | gl_FUNC_GETDELIM |
| 380 | if test $HAVE_GETDELIM = 0 || test $REPLACE_GETDELIM = 1; then | 382 | gl_CONDITIONAL([GL_COND_OBJ_GETDELIM], |
| 381 | AC_LIBOBJ([getdelim]) | 383 | [test $HAVE_GETDELIM = 0 || test $REPLACE_GETDELIM = 1]) |
| 384 | AM_COND_IF([GL_COND_OBJ_GETDELIM], [ | ||
| 382 | gl_PREREQ_GETDELIM | 385 | gl_PREREQ_GETDELIM |
| 383 | fi | 386 | ]) |
| 384 | gl_STDIO_MODULE_INDICATOR([getdelim]) | 387 | gl_STDIO_MODULE_INDICATOR([getdelim]) |
| 385 | gl_FUNC_GETDTABLESIZE | 388 | gl_FUNC_GETDTABLESIZE |
| 386 | if test $HAVE_GETDTABLESIZE = 0 || test $REPLACE_GETDTABLESIZE = 1; then | 389 | gl_CONDITIONAL([GL_COND_OBJ_GETDTABLESIZE], |
| 387 | AC_LIBOBJ([getdtablesize]) | 390 | [test $HAVE_GETDTABLESIZE = 0 || test $REPLACE_GETDTABLESIZE = 1]) |
| 391 | AM_COND_IF([GL_COND_OBJ_GETDTABLESIZE], [ | ||
| 388 | gl_PREREQ_GETDTABLESIZE | 392 | gl_PREREQ_GETDTABLESIZE |
| 389 | fi | 393 | ]) |
| 390 | gl_UNISTD_MODULE_INDICATOR([getdtablesize]) | 394 | gl_UNISTD_MODULE_INDICATOR([getdtablesize]) |
| 391 | gl_FUNC_GETHOSTNAME | 395 | gl_FUNC_GETHOSTNAME |
| 392 | if test $HAVE_GETHOSTNAME = 0; then | 396 | gl_CONDITIONAL([GL_COND_OBJ_GETHOSTNAME], [test $HAVE_GETHOSTNAME = 0]) |
| 393 | AC_LIBOBJ([gethostname]) | 397 | AM_COND_IF([GL_COND_OBJ_GETHOSTNAME], [ |
| 394 | gl_PREREQ_GETHOSTNAME | 398 | gl_PREREQ_GETHOSTNAME |
| 395 | fi | 399 | ]) |
| 396 | gl_UNISTD_MODULE_INDICATOR([gethostname]) | 400 | gl_UNISTD_MODULE_INDICATOR([gethostname]) |
| 397 | gl_FUNC_GETLINE | 401 | gl_FUNC_GETLINE |
| 398 | if test $REPLACE_GETLINE = 1; then | 402 | gl_CONDITIONAL([GL_COND_OBJ_GETLINE], [test $REPLACE_GETLINE = 1]) |
| 399 | AC_LIBOBJ([getline]) | 403 | AM_COND_IF([GL_COND_OBJ_GETLINE], [ |
| 400 | gl_PREREQ_GETLINE | 404 | gl_PREREQ_GETLINE |
| 401 | fi | 405 | ]) |
| 402 | gl_STDIO_MODULE_INDICATOR([getline]) | 406 | gl_STDIO_MODULE_INDICATOR([getline]) |
| 403 | AC_REQUIRE([AC_CANONICAL_HOST]) | 407 | AC_REQUIRE([AC_CANONICAL_HOST]) |
| 404 | gl_GETLOADAVG | 408 | gl_GETLOADAVG |
| 405 | if test $HAVE_GETLOADAVG = 0; then | 409 | gl_CONDITIONAL([GL_COND_OBJ_GETLOADAVG], [test $HAVE_GETLOADAVG = 0]) |
| 406 | AC_LIBOBJ([getloadavg]) | 410 | AM_COND_IF([GL_COND_OBJ_GETLOADAVG], [ |
| 407 | gl_PREREQ_GETLOADAVG | 411 | gl_PREREQ_GETLOADAVG |
| 408 | fi | 412 | ]) |
| 409 | gl_STDLIB_MODULE_INDICATOR([getloadavg]) | 413 | gl_STDLIB_MODULE_INDICATOR([getloadavg]) |
| 410 | gl_FUNC_GETOPT_GNU | 414 | gl_FUNC_GETOPT_GNU |
| 411 | dnl Because of the way gl_FUNC_GETOPT_GNU is implemented (the gl_getopt_required | 415 | dnl Because of the way gl_FUNC_GETOPT_GNU is implemented (the gl_getopt_required |
| 412 | dnl mechanism), there is no need to do any AC_LIBOBJ or AC_SUBST here; they are | 416 | dnl mechanism), there is no need to do any AC_LIBOBJ or AC_SUBST here; they are |
| 413 | dnl done in the getopt-posix module. | 417 | dnl done in the getopt-posix module. |
| 414 | gl_FUNC_GETOPT_POSIX | 418 | gl_FUNC_GETOPT_POSIX |
| 415 | if test $REPLACE_GETOPT = 1; then | 419 | gl_CONDITIONAL_HEADER([getopt.h]) |
| 416 | AC_LIBOBJ([getopt]) | 420 | gl_CONDITIONAL_HEADER([getopt-cdefs.h]) |
| 417 | AC_LIBOBJ([getopt1]) | 421 | AC_PROG_MKDIR_P |
| 422 | gl_CONDITIONAL([GL_COND_OBJ_GETOPT], [test $REPLACE_GETOPT = 1]) | ||
| 423 | AM_COND_IF([GL_COND_OBJ_GETOPT], [ | ||
| 418 | dnl Define the substituted variable GNULIB_UNISTD_H_GETOPT to 1. | 424 | dnl Define the substituted variable GNULIB_UNISTD_H_GETOPT to 1. |
| 419 | gl_UNISTD_H_REQUIRE_DEFAULTS | 425 | gl_UNISTD_H_REQUIRE_DEFAULTS |
| 420 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNISTD_H_GETOPT], [1]) | 426 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNISTD_H_GETOPT], [1]) |
| 421 | fi | 427 | ]) |
| 422 | gl_UNISTD_MODULE_INDICATOR([getopt-posix]) | 428 | gl_UNISTD_MODULE_INDICATOR([getopt-posix]) |
| 423 | gl_FUNC_GETPROGNAME | 429 | gl_FUNC_GETPROGNAME |
| 424 | dnl you must add AM_GNU_GETTEXT([external]) or similar to configure.ac. | 430 | dnl you must add AM_GNU_GETTEXT([external]) or similar to configure.ac. |
| @@ -432,77 +438,86 @@ AC_DEFUN([gl_INIT], | |||
| 432 | gl_HOSTENT | 438 | gl_HOSTENT |
| 433 | gl_IDPRIV | 439 | gl_IDPRIV |
| 434 | gl_FUNC_INET_NTOP | 440 | gl_FUNC_INET_NTOP |
| 435 | if test $HAVE_INET_NTOP = 0 || test $REPLACE_INET_NTOP = 1; then | 441 | gl_CONDITIONAL([GL_COND_OBJ_INET_NTOP], |
| 436 | AC_LIBOBJ([inet_ntop]) | 442 | [test $HAVE_INET_NTOP = 0 || test $REPLACE_INET_NTOP = 1]) |
| 443 | AM_COND_IF([GL_COND_OBJ_INET_NTOP], [ | ||
| 437 | gl_PREREQ_INET_NTOP | 444 | gl_PREREQ_INET_NTOP |
| 438 | fi | 445 | ]) |
| 439 | gl_ARPA_INET_MODULE_INDICATOR([inet_ntop]) | 446 | gl_ARPA_INET_MODULE_INDICATOR([inet_ntop]) |
| 440 | gl_INTTYPES_INCOMPLETE | 447 | gl_INTTYPES_INCOMPLETE |
| 441 | gl_INTTYPES_H_REQUIRE_DEFAULTS | 448 | gl_INTTYPES_H_REQUIRE_DEFAULTS |
| 449 | AC_PROG_MKDIR_P | ||
| 442 | gl_LANGINFO_H | 450 | gl_LANGINFO_H |
| 443 | gl_LANGINFO_H_REQUIRE_DEFAULTS | 451 | gl_LANGINFO_H_REQUIRE_DEFAULTS |
| 452 | AC_PROG_MKDIR_P | ||
| 444 | AC_REQUIRE([gl_LARGEFILE]) | 453 | AC_REQUIRE([gl_LARGEFILE]) |
| 445 | gl___INLINE | 454 | gl___INLINE |
| 446 | gl_LIMITS_H | 455 | gl_LIMITS_H |
| 456 | gl_CONDITIONAL_HEADER([limits.h]) | ||
| 457 | AC_PROG_MKDIR_P | ||
| 447 | gl_LOCALCHARSET | 458 | gl_LOCALCHARSET |
| 448 | dnl For backward compatibility. Some packages still use this. | 459 | dnl For backward compatibility. Some packages still use this. |
| 449 | LOCALCHARSET_TESTS_ENVIRONMENT= | 460 | LOCALCHARSET_TESTS_ENVIRONMENT= |
| 450 | AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT]) | 461 | AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT]) |
| 451 | gl_LOCALE_H | 462 | gl_LOCALE_H |
| 452 | gl_LOCALE_H_REQUIRE_DEFAULTS | 463 | gl_LOCALE_H_REQUIRE_DEFAULTS |
| 464 | AC_PROG_MKDIR_P | ||
| 453 | gl_FUNC_LOCALECONV | 465 | gl_FUNC_LOCALECONV |
| 454 | if test $REPLACE_LOCALECONV = 1; then | 466 | gl_CONDITIONAL([GL_COND_OBJ_LOCALECONV], [test $REPLACE_LOCALECONV = 1]) |
| 455 | AC_LIBOBJ([localeconv]) | 467 | AM_COND_IF([GL_COND_OBJ_LOCALECONV], [ |
| 456 | gl_PREREQ_LOCALECONV | 468 | gl_PREREQ_LOCALECONV |
| 457 | fi | 469 | ]) |
| 458 | gl_LOCALE_MODULE_INDICATOR([localeconv]) | 470 | gl_LOCALE_MODULE_INDICATOR([localeconv]) |
| 459 | gl_LOCK | 471 | gl_LOCK |
| 460 | gl_MODULE_INDICATOR([lock]) | 472 | gl_MODULE_INDICATOR([lock]) |
| 461 | gl_FUNC_LSEEK | 473 | gl_FUNC_LSEEK |
| 462 | if test $REPLACE_LSEEK = 1; then | 474 | gl_CONDITIONAL([GL_COND_OBJ_LSEEK], [test $REPLACE_LSEEK = 1]) |
| 463 | AC_LIBOBJ([lseek]) | ||
| 464 | fi | ||
| 465 | gl_UNISTD_MODULE_INDICATOR([lseek]) | 475 | gl_UNISTD_MODULE_INDICATOR([lseek]) |
| 466 | gl_FUNC_MALLOC_GNU | 476 | gl_FUNC_MALLOC_GNU |
| 467 | if test $REPLACE_MALLOC = 1; then | 477 | if test $REPLACE_MALLOC_FOR_MALLOC_GNU = 1; then |
| 468 | AC_LIBOBJ([malloc]) | 478 | AC_LIBOBJ([malloc]) |
| 469 | fi | 479 | fi |
| 480 | gl_STDLIB_MODULE_INDICATOR([malloc-gnu]) | ||
| 470 | AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) | 481 | AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) |
| 471 | if test $REPLACE_MALLOC = 1; then | 482 | if test $REPLACE_MALLOC_FOR_MALLOC_POSIX = 1; then |
| 472 | AC_LIBOBJ([malloc]) | 483 | AC_LIBOBJ([malloc]) |
| 473 | fi | 484 | fi |
| 474 | gl_STDLIB_MODULE_INDICATOR([malloc-posix]) | 485 | gl_STDLIB_MODULE_INDICATOR([malloc-posix]) |
| 475 | gl_MALLOCA | 486 | gl_MALLOCA |
| 476 | gl_MATH_H | 487 | gl_MATH_H |
| 477 | gl_MATH_H_REQUIRE_DEFAULTS | 488 | gl_MATH_H_REQUIRE_DEFAULTS |
| 489 | AC_PROG_MKDIR_P | ||
| 478 | gl_FUNC_MBRTOWC | 490 | gl_FUNC_MBRTOWC |
| 479 | if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then | 491 | gl_CONDITIONAL([GL_COND_OBJ_MBRTOWC], |
| 480 | AC_LIBOBJ([mbrtowc]) | 492 | [test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1]) |
| 493 | AM_COND_IF([GL_COND_OBJ_MBRTOWC], [ | ||
| 481 | if test $REPLACE_MBSTATE_T = 1; then | 494 | if test $REPLACE_MBSTATE_T = 1; then |
| 482 | AC_LIBOBJ([lc-charset-dispatch]) | 495 | AC_LIBOBJ([lc-charset-dispatch]) |
| 483 | AC_LIBOBJ([mbtowc-lock]) | 496 | AC_LIBOBJ([mbtowc-lock]) |
| 484 | gl_PREREQ_MBTOWC_LOCK | 497 | gl_PREREQ_MBTOWC_LOCK |
| 485 | fi | 498 | fi |
| 486 | gl_PREREQ_MBRTOWC | 499 | gl_PREREQ_MBRTOWC |
| 487 | fi | 500 | ]) |
| 488 | gl_WCHAR_MODULE_INDICATOR([mbrtowc]) | 501 | gl_WCHAR_MODULE_INDICATOR([mbrtowc]) |
| 489 | gl_FUNC_MBSINIT | 502 | gl_FUNC_MBSINIT |
| 490 | if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then | 503 | gl_CONDITIONAL([GL_COND_OBJ_MBSINIT], |
| 491 | AC_LIBOBJ([mbsinit]) | 504 | [test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1]) |
| 505 | AM_COND_IF([GL_COND_OBJ_MBSINIT], [ | ||
| 492 | gl_PREREQ_MBSINIT | 506 | gl_PREREQ_MBSINIT |
| 493 | fi | 507 | ]) |
| 494 | gl_WCHAR_MODULE_INDICATOR([mbsinit]) | 508 | gl_WCHAR_MODULE_INDICATOR([mbsinit]) |
| 495 | gl_FUNC_MBTOWC | 509 | gl_FUNC_MBTOWC |
| 496 | if test $HAVE_MBTOWC = 0 || test $REPLACE_MBTOWC = 1; then | 510 | gl_CONDITIONAL([GL_COND_OBJ_MBTOWC], |
| 497 | AC_LIBOBJ([mbtowc]) | 511 | [test $HAVE_MBTOWC = 0 || test $REPLACE_MBTOWC = 1]) |
| 512 | AM_COND_IF([GL_COND_OBJ_MBTOWC], [ | ||
| 498 | gl_PREREQ_MBTOWC | 513 | gl_PREREQ_MBTOWC |
| 499 | fi | 514 | ]) |
| 500 | gl_STDLIB_MODULE_INDICATOR([mbtowc]) | 515 | gl_STDLIB_MODULE_INDICATOR([mbtowc]) |
| 501 | gl_FUNC_MEMCHR | 516 | gl_FUNC_MEMCHR |
| 502 | if test $REPLACE_MEMCHR = 1; then | 517 | gl_CONDITIONAL([GL_COND_OBJ_MEMCHR], [test $REPLACE_MEMCHR = 1]) |
| 503 | AC_LIBOBJ([memchr]) | 518 | AM_COND_IF([GL_COND_OBJ_MEMCHR], [ |
| 504 | gl_PREREQ_MEMCHR | 519 | gl_PREREQ_MEMCHR |
| 505 | fi | 520 | ]) |
| 506 | gl_STRING_MODULE_INDICATOR([memchr]) | 521 | gl_STRING_MODULE_INDICATOR([memchr]) |
| 507 | gl_MINMAX | 522 | gl_MINMAX |
| 508 | gl_FUNC_MKTIME | 523 | gl_FUNC_MKTIME |
| @@ -517,72 +532,74 @@ AC_DEFUN([gl_INIT], | |||
| 517 | gl_PREREQ_MKTIME | 532 | gl_PREREQ_MKTIME |
| 518 | fi | 533 | fi |
| 519 | gl_MOUNTLIST | 534 | gl_MOUNTLIST |
| 520 | if test $gl_cv_list_mounted_fs = yes; then | 535 | gl_CONDITIONAL([GL_COND_OBJ_MOUNTLIST], [test $gl_cv_list_mounted_fs = yes]) |
| 521 | AC_LIBOBJ([mountlist]) | 536 | AM_COND_IF([GL_COND_OBJ_MOUNTLIST], [ |
| 522 | gl_PREREQ_MOUNTLIST_EXTRA | 537 | gl_PREREQ_MOUNTLIST_EXTRA |
| 523 | fi | 538 | ]) |
| 524 | AC_REQUIRE([gl_MSVC_INVAL]) | 539 | AC_REQUIRE([gl_MSVC_INVAL]) |
| 525 | if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then | 540 | gl_CONDITIONAL([GL_COND_OBJ_MSVC_INVAL], |
| 526 | AC_LIBOBJ([msvc-inval]) | 541 | [test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1]) |
| 527 | fi | ||
| 528 | AC_REQUIRE([gl_MSVC_NOTHROW]) | 542 | AC_REQUIRE([gl_MSVC_NOTHROW]) |
| 529 | if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then | 543 | gl_CONDITIONAL([GL_COND_OBJ_MSVC_NOTHROW], |
| 530 | AC_LIBOBJ([msvc-nothrow]) | 544 | [test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1]) |
| 531 | fi | ||
| 532 | gl_MODULE_INDICATOR([msvc-nothrow]) | 545 | gl_MODULE_INDICATOR([msvc-nothrow]) |
| 533 | gl_MULTIARCH | 546 | gl_MULTIARCH |
| 534 | gl_NETDB_H | 547 | gl_NETDB_H |
| 535 | gl_NETDB_H_REQUIRE_DEFAULTS | 548 | gl_NETDB_H_REQUIRE_DEFAULTS |
| 549 | AC_PROG_MKDIR_P | ||
| 536 | gl_HEADER_NETINET_IN | 550 | gl_HEADER_NETINET_IN |
| 551 | gl_CONDITIONAL_HEADER([netinet/in.h]) | ||
| 537 | AC_PROG_MKDIR_P | 552 | AC_PROG_MKDIR_P |
| 538 | gl_FUNC_NL_LANGINFO | 553 | gl_FUNC_NL_LANGINFO |
| 539 | if test $HAVE_NL_LANGINFO = 0 || test $REPLACE_NL_LANGINFO = 1; then | 554 | gl_CONDITIONAL([GL_COND_OBJ_NL_LANGINFO], |
| 540 | AC_LIBOBJ([nl_langinfo]) | 555 | [test $HAVE_NL_LANGINFO = 0 || test $REPLACE_NL_LANGINFO = 1]) |
| 541 | fi | 556 | gl_CONDITIONAL([GL_COND_OBJ_NL_LANGINFO_LOCK], |
| 557 | [test $REPLACE_NL_LANGINFO = 1 && test $NL_LANGINFO_MTSAFE = 0]) | ||
| 542 | if test $REPLACE_NL_LANGINFO = 1 && test $NL_LANGINFO_MTSAFE = 0; then | 558 | if test $REPLACE_NL_LANGINFO = 1 && test $NL_LANGINFO_MTSAFE = 0; then |
| 543 | AC_LIBOBJ([nl_langinfo-lock]) | ||
| 544 | gl_PREREQ_NL_LANGINFO_LOCK | 559 | gl_PREREQ_NL_LANGINFO_LOCK |
| 545 | fi | 560 | fi |
| 546 | gl_LANGINFO_MODULE_INDICATOR([nl_langinfo]) | 561 | gl_LANGINFO_MODULE_INDICATOR([nl_langinfo]) |
| 547 | gl_FUNC_OPEN | 562 | gl_FUNC_OPEN |
| 548 | if test $REPLACE_OPEN = 1; then | 563 | gl_CONDITIONAL([GL_COND_OBJ_OPEN], [test $REPLACE_OPEN = 1]) |
| 549 | AC_LIBOBJ([open]) | 564 | AM_COND_IF([GL_COND_OBJ_OPEN], [ |
| 550 | gl_PREREQ_OPEN | 565 | gl_PREREQ_OPEN |
| 551 | fi | 566 | ]) |
| 552 | gl_FCNTL_MODULE_INDICATOR([open]) | 567 | gl_FCNTL_MODULE_INDICATOR([open]) |
| 553 | gl_PATHMAX | 568 | gl_PATHMAX |
| 554 | gl_FUNC_REALLOC_GNU | 569 | gl_FUNC_REALLOC_GNU |
| 555 | if test $REPLACE_REALLOC = 1; then | 570 | if test $REPLACE_REALLOC_FOR_REALLOC_GNU = 1; then |
| 556 | AC_LIBOBJ([realloc]) | 571 | AC_LIBOBJ([realloc]) |
| 557 | fi | 572 | fi |
| 573 | gl_STDLIB_MODULE_INDICATOR([realloc-gnu]) | ||
| 558 | gl_FUNC_REALLOC_POSIX | 574 | gl_FUNC_REALLOC_POSIX |
| 559 | if test $REPLACE_REALLOC = 1; then | 575 | if test $REPLACE_REALLOC_FOR_REALLOC_POSIX = 1; then |
| 560 | AC_LIBOBJ([realloc]) | 576 | AC_LIBOBJ([realloc]) |
| 561 | fi | 577 | fi |
| 562 | gl_STDLIB_MODULE_INDICATOR([realloc-posix]) | 578 | gl_STDLIB_MODULE_INDICATOR([realloc-posix]) |
| 563 | gl_FUNC_REALLOCARRAY | 579 | gl_FUNC_REALLOCARRAY |
| 564 | if test $HAVE_REALLOCARRAY = 0 || test $REPLACE_REALLOCARRAY = 1; then | 580 | gl_CONDITIONAL([GL_COND_OBJ_REALLOCARRAY], |
| 565 | AC_LIBOBJ([reallocarray]) | 581 | [test $HAVE_REALLOCARRAY = 0 || test $REPLACE_REALLOCARRAY = 1]) |
| 582 | AM_COND_IF([GL_COND_OBJ_REALLOCARRAY], [ | ||
| 566 | gl_PREREQ_REALLOCARRAY | 583 | gl_PREREQ_REALLOCARRAY |
| 567 | fi | 584 | ]) |
| 568 | gl_MODULE_INDICATOR([reallocarray]) | 585 | gl_MODULE_INDICATOR([reallocarray]) |
| 569 | gl_STDLIB_MODULE_INDICATOR([reallocarray]) | 586 | gl_STDLIB_MODULE_INDICATOR([reallocarray]) |
| 570 | gl_REGEX | 587 | gl_REGEX |
| 571 | if test $ac_use_included_regex = yes; then | 588 | gl_CONDITIONAL([GL_COND_OBJ_REGEX], [test $ac_use_included_regex = yes]) |
| 572 | AC_LIBOBJ([regex]) | 589 | AM_COND_IF([GL_COND_OBJ_REGEX], [ |
| 573 | gl_PREREQ_REGEX | 590 | gl_PREREQ_REGEX |
| 574 | fi | 591 | ]) |
| 575 | gl_SERVENT | 592 | gl_SERVENT |
| 576 | gl_FUNC_SETENV | 593 | gl_FUNC_SETENV |
| 577 | if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then | 594 | gl_CONDITIONAL([GL_COND_OBJ_SETENV], |
| 578 | AC_LIBOBJ([setenv]) | 595 | [test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1]) |
| 579 | fi | ||
| 580 | gl_STDLIB_MODULE_INDICATOR([setenv]) | 596 | gl_STDLIB_MODULE_INDICATOR([setenv]) |
| 581 | gl_FUNC_SETLOCALE_NULL | 597 | gl_FUNC_SETLOCALE_NULL |
| 582 | if test $SETLOCALE_NULL_ALL_MTSAFE = 0 || test $SETLOCALE_NULL_ONE_MTSAFE = 0; then | 598 | gl_CONDITIONAL([GL_COND_OBJ_SETLOCALE_LOCK], |
| 583 | AC_LIBOBJ([setlocale-lock]) | 599 | [test $SETLOCALE_NULL_ALL_MTSAFE = 0 || test $SETLOCALE_NULL_ONE_MTSAFE = 0]) |
| 600 | AM_COND_IF([GL_COND_OBJ_SETLOCALE_LOCK], [ | ||
| 584 | gl_PREREQ_SETLOCALE_LOCK | 601 | gl_PREREQ_SETLOCALE_LOCK |
| 585 | fi | 602 | ]) |
| 586 | gl_LOCALE_MODULE_INDICATOR([setlocale_null]) | 603 | gl_LOCALE_MODULE_INDICATOR([setlocale_null]) |
| 587 | gl_SIZE_MAX | 604 | gl_SIZE_MAX |
| 588 | gl_FUNC_SNPRINTF | 605 | gl_FUNC_SNPRINTF |
| @@ -593,25 +610,46 @@ AC_DEFUN([gl_INIT], | |||
| 593 | gl_TYPE_SOCKLEN_T | 610 | gl_TYPE_SOCKLEN_T |
| 594 | gt_TYPE_SSIZE_T | 611 | gt_TYPE_SSIZE_T |
| 595 | gl_FUNC_STAT | 612 | gl_FUNC_STAT |
| 596 | if test $REPLACE_STAT = 1; then | 613 | gl_CONDITIONAL([GL_COND_OBJ_STAT], [test $REPLACE_STAT = 1]) |
| 597 | AC_LIBOBJ([stat]) | 614 | AM_COND_IF([GL_COND_OBJ_STAT], [ |
| 598 | case "$host_os" in | 615 | case "$host_os" in |
| 599 | mingw*) | 616 | mingw*) |
| 600 | AC_LIBOBJ([stat-w32]) | 617 | AC_LIBOBJ([stat-w32]) |
| 601 | ;; | 618 | ;; |
| 602 | esac | 619 | esac |
| 603 | gl_PREREQ_STAT | 620 | gl_PREREQ_STAT |
| 604 | fi | 621 | ]) |
| 605 | gl_SYS_STAT_MODULE_INDICATOR([stat]) | 622 | gl_SYS_STAT_MODULE_INDICATOR([stat]) |
| 606 | gl_STAT_TIME | 623 | gl_STAT_TIME |
| 607 | gl_STAT_BIRTHTIME | 624 | gl_STAT_BIRTHTIME |
| 608 | gl_STDALIGN_H | 625 | gl_STDALIGN_H |
| 609 | AM_STDBOOL_H | 626 | gl_CONDITIONAL_HEADER([stdalign.h]) |
| 627 | AC_PROG_MKDIR_P | ||
| 628 | gl_STDBOOL_H | ||
| 629 | gl_CONDITIONAL_HEADER([stdbool.h]) | ||
| 630 | AC_PROG_MKDIR_P | ||
| 631 | AC_CHECK_HEADERS_ONCE([stdckdint.h]) | ||
| 632 | if test $ac_cv_header_stdckdint_h = yes; then | ||
| 633 | GL_GENERATE_STDCKDINT_H=false | ||
| 634 | else | ||
| 635 | GL_GENERATE_STDCKDINT_H=true | ||
| 636 | fi | ||
| 637 | gl_CONDITIONAL_HEADER([stdckdint.h]) | ||
| 638 | AC_PROG_MKDIR_P | ||
| 610 | gl_STDDEF_H | 639 | gl_STDDEF_H |
| 611 | gl_STDDEF_H_REQUIRE_DEFAULTS | 640 | gl_STDDEF_H_REQUIRE_DEFAULTS |
| 641 | gl_CONDITIONAL_HEADER([stddef.h]) | ||
| 642 | AC_PROG_MKDIR_P | ||
| 612 | gl_STDINT_H | 643 | gl_STDINT_H |
| 644 | gl_CONDITIONAL_HEADER([stdint.h]) | ||
| 645 | dnl Because of gl_REPLACE_LIMITS_H: | ||
| 646 | gl_CONDITIONAL_HEADER([limits.h]) | ||
| 647 | AC_PROG_MKDIR_P | ||
| 613 | gl_STDIO_H | 648 | gl_STDIO_H |
| 614 | gl_STDIO_H_REQUIRE_DEFAULTS | 649 | gl_STDIO_H_REQUIRE_DEFAULTS |
| 650 | AC_PROG_MKDIR_P | ||
| 651 | gl_CONDITIONAL([GL_COND_OBJ_STDIO_READ], [test $REPLACE_STDIO_READ_FUNCS = 1]) | ||
| 652 | gl_CONDITIONAL([GL_COND_OBJ_STDIO_WRITE], [test $REPLACE_STDIO_WRITE_FUNCS = 1]) | ||
| 615 | dnl No need to create extra modules for these functions. Everyone who uses | 653 | dnl No need to create extra modules for these functions. Everyone who uses |
| 616 | dnl <stdio.h> likely needs them. | 654 | dnl <stdio.h> likely needs them. |
| 617 | gl_STDIO_MODULE_INDICATOR([fscanf]) | 655 | gl_STDIO_MODULE_INDICATOR([fscanf]) |
| @@ -637,15 +675,16 @@ AC_DEFUN([gl_INIT], | |||
| 637 | gl_STDIO_MODULE_INDICATOR([fwrite]) | 675 | gl_STDIO_MODULE_INDICATOR([fwrite]) |
| 638 | gl_STDLIB_H | 676 | gl_STDLIB_H |
| 639 | gl_STDLIB_H_REQUIRE_DEFAULTS | 677 | gl_STDLIB_H_REQUIRE_DEFAULTS |
| 678 | AC_PROG_MKDIR_P | ||
| 640 | gl_STRCASE | 679 | gl_STRCASE |
| 641 | if test $HAVE_STRCASECMP = 0; then | 680 | gl_CONDITIONAL([GL_COND_OBJ_STRCASECMP], [test $HAVE_STRCASECMP = 0]) |
| 642 | AC_LIBOBJ([strcasecmp]) | 681 | AM_COND_IF([GL_COND_OBJ_STRCASECMP], [ |
| 643 | gl_PREREQ_STRCASECMP | 682 | gl_PREREQ_STRCASECMP |
| 644 | fi | 683 | ]) |
| 645 | if test $HAVE_STRNCASECMP = 0; then | 684 | gl_CONDITIONAL([GL_COND_OBJ_STRNCASECMP], [test $HAVE_STRNCASECMP = 0]) |
| 646 | AC_LIBOBJ([strncasecmp]) | 685 | AM_COND_IF([GL_COND_OBJ_STRNCASECMP], [ |
| 647 | gl_PREREQ_STRNCASECMP | 686 | gl_PREREQ_STRNCASECMP |
| 648 | fi | 687 | ]) |
| 649 | gl_FUNC_STRCASESTR | 688 | gl_FUNC_STRCASESTR |
| 650 | if test $HAVE_STRCASESTR = 0 || test $REPLACE_STRCASESTR = 1; then | 689 | if test $HAVE_STRCASESTR = 0 || test $REPLACE_STRCASESTR = 1; then |
| 651 | AC_LIBOBJ([strcasestr]) | 690 | AC_LIBOBJ([strcasestr]) |
| @@ -658,26 +697,27 @@ AC_DEFUN([gl_INIT], | |||
| 658 | fi | 697 | fi |
| 659 | gl_STRING_MODULE_INDICATOR([strcasestr]) | 698 | gl_STRING_MODULE_INDICATOR([strcasestr]) |
| 660 | gl_FUNC_STRERROR | 699 | gl_FUNC_STRERROR |
| 661 | if test $REPLACE_STRERROR = 1; then | 700 | gl_CONDITIONAL([GL_COND_OBJ_STRERROR], [test $REPLACE_STRERROR = 1]) |
| 662 | AC_LIBOBJ([strerror]) | ||
| 663 | fi | ||
| 664 | gl_MODULE_INDICATOR([strerror]) | 701 | gl_MODULE_INDICATOR([strerror]) |
| 665 | gl_STRING_MODULE_INDICATOR([strerror]) | 702 | gl_STRING_MODULE_INDICATOR([strerror]) |
| 666 | AC_REQUIRE([gl_HEADER_ERRNO_H]) | 703 | AC_REQUIRE([gl_HEADER_ERRNO_H]) |
| 667 | AC_REQUIRE([gl_FUNC_STRERROR_0]) | 704 | AC_REQUIRE([gl_FUNC_STRERROR_0]) |
| 668 | if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then | 705 | gl_CONDITIONAL([GL_COND_OBJ_STRERROR_OVERRIDE], |
| 669 | AC_LIBOBJ([strerror-override]) | 706 | [test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1]) |
| 707 | AM_COND_IF([GL_COND_OBJ_STRERROR_OVERRIDE], [ | ||
| 670 | gl_PREREQ_SYS_H_WINSOCK2 | 708 | gl_PREREQ_SYS_H_WINSOCK2 |
| 671 | fi | 709 | ]) |
| 672 | gl_STRING_H | 710 | gl_STRING_H |
| 673 | gl_STRING_H_REQUIRE_DEFAULTS | 711 | gl_STRING_H_REQUIRE_DEFAULTS |
| 712 | AC_PROG_MKDIR_P | ||
| 674 | gl_STRINGS_H | 713 | gl_STRINGS_H |
| 675 | gl_STRINGS_H_REQUIRE_DEFAULTS | 714 | gl_STRINGS_H_REQUIRE_DEFAULTS |
| 715 | AC_PROG_MKDIR_P | ||
| 676 | gl_FUNC_STRSEP | 716 | gl_FUNC_STRSEP |
| 677 | if test $HAVE_STRSEP = 0; then | 717 | gl_CONDITIONAL([GL_COND_OBJ_STRSEP], [test $HAVE_STRSEP = 0]) |
| 678 | AC_LIBOBJ([strsep]) | 718 | AM_COND_IF([GL_COND_OBJ_STRSEP], [ |
| 679 | gl_PREREQ_STRSEP | 719 | gl_PREREQ_STRSEP |
| 680 | fi | 720 | ]) |
| 681 | gl_STRING_MODULE_INDICATOR([strsep]) | 721 | gl_STRING_MODULE_INDICATOR([strsep]) |
| 682 | gl_FUNC_STRSTR_SIMPLE | 722 | gl_FUNC_STRSTR_SIMPLE |
| 683 | if test $REPLACE_STRSTR = 1; then | 723 | if test $REPLACE_STRSTR = 1; then |
| @@ -699,27 +739,33 @@ AC_DEFUN([gl_INIT], | |||
| 699 | AC_REQUIRE([gl_THREADLIB]) | 739 | AC_REQUIRE([gl_THREADLIB]) |
| 700 | gl_TIME_H | 740 | gl_TIME_H |
| 701 | gl_TIME_H_REQUIRE_DEFAULTS | 741 | gl_TIME_H_REQUIRE_DEFAULTS |
| 742 | AC_PROG_MKDIR_P | ||
| 702 | gl_TIME_R | 743 | gl_TIME_R |
| 703 | if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then | 744 | gl_CONDITIONAL([GL_COND_OBJ_TIME_R], |
| 704 | AC_LIBOBJ([time_r]) | 745 | [test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1]) |
| 746 | AM_COND_IF([GL_COND_OBJ_TIME_R], [ | ||
| 705 | gl_PREREQ_TIME_R | 747 | gl_PREREQ_TIME_R |
| 706 | fi | 748 | ]) |
| 707 | gl_TIME_MODULE_INDICATOR([time_r]) | 749 | gl_TIME_MODULE_INDICATOR([time_r]) |
| 708 | gl_FUNC_TIMEGM | 750 | gl_FUNC_TIMEGM |
| 709 | if test $HAVE_TIMEGM = 0 || test $REPLACE_TIMEGM = 1; then | 751 | gl_CONDITIONAL([GL_COND_OBJ_TIMEGM], |
| 710 | AC_LIBOBJ([timegm]) | 752 | [test $HAVE_TIMEGM = 0 || test $REPLACE_TIMEGM = 1]) |
| 753 | AM_COND_IF([GL_COND_OBJ_TIMEGM], [ | ||
| 711 | gl_PREREQ_TIMEGM | 754 | gl_PREREQ_TIMEGM |
| 712 | fi | 755 | ]) |
| 713 | gl_TIME_MODULE_INDICATOR([timegm]) | 756 | gl_TIME_MODULE_INDICATOR([timegm]) |
| 714 | gl_UNISTD_H | 757 | gl_UNISTD_H |
| 715 | gl_UNISTD_H_REQUIRE_DEFAULTS | 758 | gl_UNISTD_H_REQUIRE_DEFAULTS |
| 759 | AC_PROG_MKDIR_P | ||
| 716 | gl_FUNC_GLIBC_UNLOCKED_IO | 760 | gl_FUNC_GLIBC_UNLOCKED_IO |
| 717 | gl_FUNC_UNSETENV | 761 | gl_FUNC_UNSETENV |
| 718 | if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then | 762 | gl_CONDITIONAL([GL_COND_OBJ_UNSETENV], |
| 719 | AC_LIBOBJ([unsetenv]) | 763 | [test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1]) |
| 764 | AM_COND_IF([GL_COND_OBJ_UNSETENV], [ | ||
| 720 | gl_PREREQ_UNSETENV | 765 | gl_PREREQ_UNSETENV |
| 721 | fi | 766 | ]) |
| 722 | gl_STDLIB_MODULE_INDICATOR([unsetenv]) | 767 | gl_STDLIB_MODULE_INDICATOR([unsetenv]) |
| 768 | AC_C_VARARRAYS | ||
| 723 | AC_REQUIRE([AC_C_RESTRICT]) | 769 | AC_REQUIRE([AC_C_RESTRICT]) |
| 724 | gl_FUNC_VASNPRINTF | 770 | gl_FUNC_VASNPRINTF |
| 725 | gl_FUNC_VASPRINTF | 771 | gl_FUNC_VASPRINTF |
| @@ -731,38 +777,29 @@ AC_DEFUN([gl_INIT], | |||
| 731 | gl_STDIO_MODULE_INDICATOR([vsnprintf]) | 777 | gl_STDIO_MODULE_INDICATOR([vsnprintf]) |
| 732 | gl_WCHAR_H | 778 | gl_WCHAR_H |
| 733 | gl_WCHAR_H_REQUIRE_DEFAULTS | 779 | gl_WCHAR_H_REQUIRE_DEFAULTS |
| 780 | AC_PROG_MKDIR_P | ||
| 734 | gl_FUNC_WCRTOMB | 781 | gl_FUNC_WCRTOMB |
| 735 | if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then | 782 | gl_CONDITIONAL([GL_COND_OBJ_WCRTOMB], |
| 736 | AC_LIBOBJ([wcrtomb]) | 783 | [test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1]) |
| 784 | AM_COND_IF([GL_COND_OBJ_WCRTOMB], [ | ||
| 737 | gl_PREREQ_WCRTOMB | 785 | gl_PREREQ_WCRTOMB |
| 738 | fi | 786 | ]) |
| 739 | gl_WCHAR_MODULE_INDICATOR([wcrtomb]) | 787 | gl_WCHAR_MODULE_INDICATOR([wcrtomb]) |
| 740 | gl_WCTYPE_H | 788 | gl_WCTYPE_H |
| 741 | gl_WCTYPE_H_REQUIRE_DEFAULTS | 789 | gl_WCTYPE_H_REQUIRE_DEFAULTS |
| 790 | AC_PROG_MKDIR_P | ||
| 742 | AC_REQUIRE([AC_CANONICAL_HOST]) | 791 | AC_REQUIRE([AC_CANONICAL_HOST]) |
| 743 | case "$host_os" in | 792 | gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_MUTEX], |
| 744 | mingw*) | 793 | [case "$host_os" in mingw*) true;; *) false;; esac]) |
| 745 | AC_LIBOBJ([windows-mutex]) | ||
| 746 | ;; | ||
| 747 | esac | ||
| 748 | AC_REQUIRE([AC_CANONICAL_HOST]) | 794 | AC_REQUIRE([AC_CANONICAL_HOST]) |
| 749 | case "$host_os" in | 795 | gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_ONCE], |
| 750 | mingw*) | 796 | [case "$host_os" in mingw*) true;; *) false;; esac]) |
| 751 | AC_LIBOBJ([windows-once]) | ||
| 752 | ;; | ||
| 753 | esac | ||
| 754 | AC_REQUIRE([AC_CANONICAL_HOST]) | 797 | AC_REQUIRE([AC_CANONICAL_HOST]) |
| 755 | case "$host_os" in | 798 | gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_RECMUTEX], |
| 756 | mingw*) | 799 | [case "$host_os" in mingw*) true;; *) false;; esac]) |
| 757 | AC_LIBOBJ([windows-recmutex]) | ||
| 758 | ;; | ||
| 759 | esac | ||
| 760 | AC_REQUIRE([AC_CANONICAL_HOST]) | 800 | AC_REQUIRE([AC_CANONICAL_HOST]) |
| 761 | case "$host_os" in | 801 | gl_CONDITIONAL([GL_COND_OBJ_WINDOWS_RWLOCK], |
| 762 | mingw*) | 802 | [case "$host_os" in mingw*) true;; *) false;; esac]) |
| 763 | AC_LIBOBJ([windows-rwlock]) | ||
| 764 | ;; | ||
| 765 | esac | ||
| 766 | gl_XALLOC | 803 | gl_XALLOC |
| 767 | gl_MODULE_INDICATOR([xalloc]) | 804 | gl_MODULE_INDICATOR([xalloc]) |
| 768 | gl_MODULE_INDICATOR([xalloc-die]) | 805 | gl_MODULE_INDICATOR([xalloc-die]) |
| @@ -789,16 +826,28 @@ AC_DEFUN([gl_INIT], | |||
| 789 | AC_CONFIG_COMMANDS_PRE([ | 826 | AC_CONFIG_COMMANDS_PRE([ |
| 790 | gl_libobjs= | 827 | gl_libobjs= |
| 791 | gl_ltlibobjs= | 828 | gl_ltlibobjs= |
| 829 | gl_libobjdeps= | ||
| 792 | if test -n "$gl_LIBOBJS"; then | 830 | if test -n "$gl_LIBOBJS"; then |
| 793 | # Remove the extension. | 831 | # Remove the extension. |
| 832 | changequote(,)dnl | ||
| 794 | sed_drop_objext='s/\.o$//;s/\.obj$//' | 833 | sed_drop_objext='s/\.o$//;s/\.obj$//' |
| 834 | sed_dirname1='s,//*,/,g' | ||
| 835 | sed_dirname2='s,\(.\)/$,\1,' | ||
| 836 | sed_dirname3='s,^[^/]*$,.,' | ||
| 837 | sed_dirname4='s,\(.\)/[^/]*$,\1,' | ||
| 838 | sed_basename1='s,.*/,,' | ||
| 839 | changequote([, ])dnl | ||
| 795 | for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do | 840 | for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do |
| 796 | gl_libobjs="$gl_libobjs $i.$ac_objext" | 841 | gl_libobjs="$gl_libobjs $i.$ac_objext" |
| 797 | gl_ltlibobjs="$gl_ltlibobjs $i.lo" | 842 | gl_ltlibobjs="$gl_ltlibobjs $i.lo" |
| 843 | i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` | ||
| 844 | i_base=`echo "$i" | sed -e "$sed_basename1"` | ||
| 845 | gl_libobjdeps="$gl_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Po" | ||
| 798 | done | 846 | done |
| 799 | fi | 847 | fi |
| 800 | AC_SUBST([gl_LIBOBJS], [$gl_libobjs]) | 848 | AC_SUBST([gl_LIBOBJS], [$gl_libobjs]) |
| 801 | AC_SUBST([gl_LTLIBOBJS], [$gl_ltlibobjs]) | 849 | AC_SUBST([gl_LTLIBOBJS], [$gl_ltlibobjs]) |
| 850 | AC_SUBST([gl_LIBOBJDEPS], [$gl_libobjdeps]) | ||
| 802 | ]) | 851 | ]) |
| 803 | gltests_libdeps= | 852 | gltests_libdeps= |
| 804 | gltests_ltlibdeps= | 853 | gltests_ltlibdeps= |
| @@ -811,6 +860,7 @@ AC_DEFUN([gl_INIT], | |||
| 811 | m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL]) | 860 | m4_pushdef([GL_MODULE_INDICATOR_PREFIX], [GL]) |
| 812 | gl_COMMON | 861 | gl_COMMON |
| 813 | gl_source_base='tests' | 862 | gl_source_base='tests' |
| 863 | gl_source_base_prefix= | ||
| 814 | changequote(,)dnl | 864 | changequote(,)dnl |
| 815 | gltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS | 865 | gltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS |
| 816 | changequote([, ])dnl | 866 | changequote([, ])dnl |
| @@ -839,17 +889,30 @@ changequote([, ])dnl | |||
| 839 | AC_CONFIG_COMMANDS_PRE([ | 889 | AC_CONFIG_COMMANDS_PRE([ |
| 840 | gltests_libobjs= | 890 | gltests_libobjs= |
| 841 | gltests_ltlibobjs= | 891 | gltests_ltlibobjs= |
| 892 | gltests_libobjdeps= | ||
| 842 | if test -n "$gltests_LIBOBJS"; then | 893 | if test -n "$gltests_LIBOBJS"; then |
| 843 | # Remove the extension. | 894 | # Remove the extension. |
| 895 | changequote(,)dnl | ||
| 844 | sed_drop_objext='s/\.o$//;s/\.obj$//' | 896 | sed_drop_objext='s/\.o$//;s/\.obj$//' |
| 897 | sed_dirname1='s,//*,/,g' | ||
| 898 | sed_dirname2='s,\(.\)/$,\1,' | ||
| 899 | sed_dirname3='s,^[^/]*$,.,' | ||
| 900 | sed_dirname4='s,\(.\)/[^/]*$,\1,' | ||
| 901 | sed_basename1='s,.*/,,' | ||
| 902 | changequote([, ])dnl | ||
| 845 | for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do | 903 | for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do |
| 846 | gltests_libobjs="$gltests_libobjs $i.$ac_objext" | 904 | gltests_libobjs="$gltests_libobjs $i.$ac_objext" |
| 847 | gltests_ltlibobjs="$gltests_ltlibobjs $i.lo" | 905 | gltests_ltlibobjs="$gltests_ltlibobjs $i.lo" |
| 906 | i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"` | ||
| 907 | i_base=`echo "$i" | sed -e "$sed_basename1"` | ||
| 908 | gltests_libobjdeps="$gltests_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Po" | ||
| 848 | done | 909 | done |
| 849 | fi | 910 | fi |
| 850 | AC_SUBST([gltests_LIBOBJS], [$gltests_libobjs]) | 911 | AC_SUBST([gltests_LIBOBJS], [$gltests_libobjs]) |
| 851 | AC_SUBST([gltests_LTLIBOBJS], [$gltests_ltlibobjs]) | 912 | AC_SUBST([gltests_LTLIBOBJS], [$gltests_ltlibobjs]) |
| 913 | AC_SUBST([gltests_LIBOBJDEPS], [$gltests_libobjdeps]) | ||
| 852 | ]) | 914 | ]) |
| 915 | AC_REQUIRE([gl_CC_GNULIB_WARNINGS]) | ||
| 853 | LIBGNU_LIBDEPS="$gl_libdeps" | 916 | LIBGNU_LIBDEPS="$gl_libdeps" |
| 854 | AC_SUBST([LIBGNU_LIBDEPS]) | 917 | AC_SUBST([LIBGNU_LIBDEPS]) |
| 855 | LIBGNU_LTLIBDEPS="$gl_ltlibdeps" | 918 | LIBGNU_LTLIBDEPS="$gl_ltlibdeps" |
| @@ -1000,6 +1063,7 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
| 1000 | lib/idpriv.h | 1063 | lib/idpriv.h |
| 1001 | lib/idx.h | 1064 | lib/idx.h |
| 1002 | lib/inet_ntop.c | 1065 | lib/inet_ntop.c |
| 1066 | lib/intprops-internal.h | ||
| 1003 | lib/intprops.h | 1067 | lib/intprops.h |
| 1004 | lib/inttypes.in.h | 1068 | lib/inttypes.in.h |
| 1005 | lib/itold.c | 1069 | lib/itold.c |
| @@ -1080,9 +1144,12 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
| 1080 | lib/stat.c | 1144 | lib/stat.c |
| 1081 | lib/stdalign.in.h | 1145 | lib/stdalign.in.h |
| 1082 | lib/stdbool.in.h | 1146 | lib/stdbool.in.h |
| 1147 | lib/stdckdint.in.h | ||
| 1083 | lib/stddef.in.h | 1148 | lib/stddef.in.h |
| 1084 | lib/stdint.in.h | 1149 | lib/stdint.in.h |
| 1085 | lib/stdio-impl.h | 1150 | lib/stdio-impl.h |
| 1151 | lib/stdio-read.c | ||
| 1152 | lib/stdio-write.c | ||
| 1086 | lib/stdio.in.h | 1153 | lib/stdio.in.h |
| 1087 | lib/stdlib.in.h | 1154 | lib/stdlib.in.h |
| 1088 | lib/str-two-way.h | 1155 | lib/str-two-way.h |
| @@ -1285,6 +1352,7 @@ AC_DEFUN([gl_FILE_LIST], [ | |||
| 1285 | m4/ungetc.m4 | 1352 | m4/ungetc.m4 |
| 1286 | m4/unistd_h.m4 | 1353 | m4/unistd_h.m4 |
| 1287 | m4/unlocked-io.m4 | 1354 | m4/unlocked-io.m4 |
| 1355 | m4/vararrays.m4 | ||
| 1288 | m4/vasnprintf.m4 | 1356 | m4/vasnprintf.m4 |
| 1289 | m4/vasprintf.m4 | 1357 | m4/vasprintf.m4 |
| 1290 | m4/visibility.m4 | 1358 | m4/visibility.m4 |
diff --git a/gl/m4/gnulib-tool.m4 b/gl/m4/gnulib-tool.m4 index 3d56d83f..8428901c 100644 --- a/gl/m4/gnulib-tool.m4 +++ b/gl/m4/gnulib-tool.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # gnulib-tool.m4 serial 2 | 1 | # gnulib-tool.m4 serial 4 |
| 2 | dnl Copyright (C) 2004-2005, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2004-2005, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -44,6 +44,12 @@ AC_DEFUN([gl_LGPL], []) | |||
| 44 | dnl Usage: gl_MAKEFILE_NAME([FILENAME]) | 44 | dnl Usage: gl_MAKEFILE_NAME([FILENAME]) |
| 45 | AC_DEFUN([gl_MAKEFILE_NAME], []) | 45 | AC_DEFUN([gl_MAKEFILE_NAME], []) |
| 46 | 46 | ||
| 47 | dnl Usage: gl_TESTS_MAKEFILE_NAME([FILENAME]) | ||
| 48 | AC_DEFUN([gl_TESTS_MAKEFILE_NAME], []) | ||
| 49 | |||
| 50 | dnl Usage: gl_AUTOMAKE_SUBDIR | ||
| 51 | AC_DEFUN([gl_AUTOMAKE_SUBDIR], []) | ||
| 52 | |||
| 47 | dnl Usage: gl_LIBTOOL | 53 | dnl Usage: gl_LIBTOOL |
| 48 | AC_DEFUN([gl_LIBTOOL], []) | 54 | AC_DEFUN([gl_LIBTOOL], []) |
| 49 | 55 | ||
diff --git a/gl/m4/host-cpu-c-abi.m4 b/gl/m4/host-cpu-c-abi.m4 index 64e28b1d..b9223241 100644 --- a/gl/m4/host-cpu-c-abi.m4 +++ b/gl/m4/host-cpu-c-abi.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # host-cpu-c-abi.m4 serial 14 | 1 | # host-cpu-c-abi.m4 serial 15 |
| 2 | dnl Copyright (C) 2002-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -382,6 +382,9 @@ EOF | |||
| 382 | #ifndef __ia64__ | 382 | #ifndef __ia64__ |
| 383 | #undef __ia64__ | 383 | #undef __ia64__ |
| 384 | #endif | 384 | #endif |
| 385 | #ifndef __loongarch64__ | ||
| 386 | #undef __loongarch64__ | ||
| 387 | #endif | ||
| 385 | #ifndef __m68k__ | 388 | #ifndef __m68k__ |
| 386 | #undef __m68k__ | 389 | #undef __m68k__ |
| 387 | #endif | 390 | #endif |
diff --git a/gl/m4/hostent.m4 b/gl/m4/hostent.m4 index f1390a32..69fc5ac1 100644 --- a/gl/m4/hostent.m4 +++ b/gl/m4/hostent.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # hostent.m4 serial 4 | 1 | # hostent.m4 serial 4 |
| 2 | dnl Copyright (C) 2008, 2010-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008, 2010-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/iconv.m4 b/gl/m4/iconv.m4 index d0e61de2..2065c977 100644 --- a/gl/m4/iconv.m4 +++ b/gl/m4/iconv.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # iconv.m4 serial 24 | 1 | # iconv.m4 serial 26 |
| 2 | dnl Copyright (C) 2000-2002, 2007-2014, 2016-2021 Free Software Foundation, | 2 | dnl Copyright (C) 2000-2002, 2007-2014, 2016-2022 Free Software Foundation, |
| 3 | dnl Inc. | 3 | dnl Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
| @@ -234,12 +234,6 @@ AC_DEFUN([AM_ICONV_LINK], | |||
| 234 | 234 | ||
| 235 | dnl Define AM_ICONV using AC_DEFUN_ONCE, in order to avoid warnings like | 235 | dnl Define AM_ICONV using AC_DEFUN_ONCE, in order to avoid warnings like |
| 236 | dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". | 236 | dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". |
| 237 | dnl This is tricky because of the way 'aclocal' is implemented: | ||
| 238 | dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN. | ||
| 239 | dnl Otherwise aclocal's initial scan pass would miss the macro definition. | ||
| 240 | dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions. | ||
| 241 | dnl Otherwise aclocal would emit many "Use of uninitialized value $1" | ||
| 242 | dnl warnings. | ||
| 243 | AC_DEFUN_ONCE([AM_ICONV], | 237 | AC_DEFUN_ONCE([AM_ICONV], |
| 244 | [ | 238 | [ |
| 245 | AM_ICONV_LINK | 239 | AM_ICONV_LINK |
| @@ -280,4 +274,20 @@ size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, si | |||
| 280 | ICONV_CONST="const" | 274 | ICONV_CONST="const" |
| 281 | fi | 275 | fi |
| 282 | ]) | 276 | ]) |
| 277 | |||
| 278 | dnl A summary result, for those packages which want to print a summary at the | ||
| 279 | dnl end of the configuration. | ||
| 280 | if test "$am_func_iconv" = yes; then | ||
| 281 | if test -n "$LIBICONV"; then | ||
| 282 | am_cv_func_iconv_summary='yes, in libiconv' | ||
| 283 | else | ||
| 284 | am_cv_func_iconv_summary='yes, in libc' | ||
| 285 | fi | ||
| 286 | else | ||
| 287 | if test "$am_cv_func_iconv" = yes; then | ||
| 288 | am_cv_func_iconv_summary='not working, consider installing GNU libiconv' | ||
| 289 | else | ||
| 290 | am_cv_func_iconv_summary='no, consider installing GNU libiconv' | ||
| 291 | fi | ||
| 292 | fi | ||
| 283 | ]) | 293 | ]) |
diff --git a/gl/m4/idpriv.m4 b/gl/m4/idpriv.m4 index d96fdd16..b3b1c7b4 100644 --- a/gl/m4/idpriv.m4 +++ b/gl/m4/idpriv.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # idpriv.m4 serial 1 | 1 | # idpriv.m4 serial 1 |
| 2 | dnl Copyright (C) 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/include_next.m4 b/gl/m4/include_next.m4 index bdd542bc..a9247f6f 100644 --- a/gl/m4/include_next.m4 +++ b/gl/m4/include_next.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # include_next.m4 serial 26 | 1 | # include_next.m4 serial 26 |
| 2 | dnl Copyright (C) 2006-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -193,9 +193,9 @@ AC_DEFUN([gl_NEXT_HEADERS_INTERNAL], | |||
| 193 | if test AS_VAR_GET([gl_header_exists]) = yes; then | 193 | if test AS_VAR_GET([gl_header_exists]) = yes; then |
| 194 | AS_VAR_POPDEF([gl_header_exists]) | 194 | AS_VAR_POPDEF([gl_header_exists]) |
| 195 | ]) | 195 | ]) |
| 196 | gl_ABSOLUTE_HEADER_ONE(gl_HEADER_NAME) | 196 | gl_ABSOLUTE_HEADER_ONE(gl_HEADER_NAME) |
| 197 | AS_VAR_COPY([gl_header], [gl_cv_absolute_]AS_TR_SH(gl_HEADER_NAME)) | 197 | AS_VAR_COPY([gl_header], [gl_cv_absolute_]AS_TR_SH(gl_HEADER_NAME)) |
| 198 | AS_VAR_SET([gl_next_header], ['"'$gl_header'"']) | 198 | AS_VAR_SET([gl_next_header], ['"'$gl_header'"']) |
| 199 | m4_if([$2], [check], | 199 | m4_if([$2], [check], |
| 200 | [else | 200 | [else |
| 201 | AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) | 201 | AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) |
diff --git a/gl/m4/inet_ntop.m4 b/gl/m4/inet_ntop.m4 index 171f53ee..c335cae7 100644 --- a/gl/m4/inet_ntop.m4 +++ b/gl/m4/inet_ntop.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # inet_ntop.m4 serial 21 | 1 | # inet_ntop.m4 serial 21 |
| 2 | dnl Copyright (C) 2005-2006, 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005-2006, 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/intl-thread-locale.m4 b/gl/m4/intl-thread-locale.m4 index 890fec00..d5d5b26a 100644 --- a/gl/m4/intl-thread-locale.m4 +++ b/gl/m4/intl-thread-locale.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # intl-thread-locale.m4 serial 9 | 1 | # intl-thread-locale.m4 serial 9 |
| 2 | dnl Copyright (C) 2015-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2015-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/intlmacosx.m4 b/gl/m4/intlmacosx.m4 index 4ae0d128..ecc88d6e 100644 --- a/gl/m4/intlmacosx.m4 +++ b/gl/m4/intlmacosx.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # intlmacosx.m4 serial 8 (gettext-0.20.2) | 1 | # intlmacosx.m4 serial 8 (gettext-0.20.2) |
| 2 | dnl Copyright (C) 2004-2014, 2016, 2019-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2004-2014, 2016, 2019-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/intmax_t.m4 b/gl/m4/intmax_t.m4 index 63c4b415..8a15dabd 100644 --- a/gl/m4/intmax_t.m4 +++ b/gl/m4/intmax_t.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # intmax_t.m4 serial 9 | 1 | # intmax_t.m4 serial 9 |
| 2 | dnl Copyright (C) 1997-2004, 2006-2007, 2009-2021 Free Software Foundation, | 2 | dnl Copyright (C) 1997-2004, 2006-2007, 2009-2022 Free Software Foundation, |
| 3 | dnl Inc. | 3 | dnl Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
diff --git a/gl/m4/inttypes.m4 b/gl/m4/inttypes.m4 index 64b1de5c..df25a21e 100644 --- a/gl/m4/inttypes.m4 +++ b/gl/m4/inttypes.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # inttypes.m4 serial 35 | 1 | # inttypes.m4 serial 36 |
| 2 | dnl Copyright (C) 2006-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -36,7 +36,7 @@ AC_DEFUN_ONCE([gl_INTTYPES_INCOMPLETE], | |||
| 36 | AC_DEFUN([gl_INTTYPES_PRI_SCN], | 36 | AC_DEFUN([gl_INTTYPES_PRI_SCN], |
| 37 | [ | 37 | [ |
| 38 | PRIPTR_PREFIX= | 38 | PRIPTR_PREFIX= |
| 39 | if test -n "$STDINT_H"; then | 39 | if $GL_GENERATE_STDINT_H; then |
| 40 | dnl Using the gnulib <stdint.h>. It defines intptr_t to 'long' or | 40 | dnl Using the gnulib <stdint.h>. It defines intptr_t to 'long' or |
| 41 | dnl 'long long', depending on _WIN64. | 41 | dnl 'long long', depending on _WIN64. |
| 42 | AC_COMPILE_IFELSE( | 42 | AC_COMPILE_IFELSE( |
diff --git a/gl/m4/inttypes_h.m4 b/gl/m4/inttypes_h.m4 index 672a93e0..6e9eebf1 100644 --- a/gl/m4/inttypes_h.m4 +++ b/gl/m4/inttypes_h.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # inttypes_h.m4 serial 10 | 1 | # inttypes_h.m4 serial 10 |
| 2 | dnl Copyright (C) 1997-2004, 2006, 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1997-2004, 2006, 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/langinfo_h.m4 b/gl/m4/langinfo_h.m4 index 87959f77..563c8c43 100644 --- a/gl/m4/langinfo_h.m4 +++ b/gl/m4/langinfo_h.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # langinfo_h.m4 serial 12 | 1 | # langinfo_h.m4 serial 12 |
| 2 | dnl Copyright (C) 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/largefile.m4 b/gl/m4/largefile.m4 index fbde5e66..ec9677c4 100644 --- a/gl/m4/largefile.m4 +++ b/gl/m4/largefile.m4 | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | # Enable large files on systems where this is not the default. | 1 | # Enable large files on systems where this is not the default. |
| 2 | # Enable support for files on Linux file systems with 64-bit inode numbers. | 2 | # Enable support for files on Linux file systems with 64-bit inode numbers. |
| 3 | 3 | ||
| 4 | # Copyright 1992-1996, 1998-2021 Free Software Foundation, Inc. | 4 | # Copyright 1992-1996, 1998-2022 Free Software Foundation, Inc. |
| 5 | # This file is free software; the Free Software Foundation | 5 | # This file is free software; the Free Software Foundation |
| 6 | # gives unlimited permission to copy and/or distribute it, | 6 | # gives unlimited permission to copy and/or distribute it, |
| 7 | # with or without modifications, as long as this notice is preserved. | 7 | # with or without modifications, as long as this notice is preserved. |
| @@ -10,8 +10,10 @@ | |||
| 10 | # It does not set _LARGEFILE_SOURCE=1 on HP-UX/ia64 32-bit, although this | 10 | # It does not set _LARGEFILE_SOURCE=1 on HP-UX/ia64 32-bit, although this |
| 11 | # setting of _LARGEFILE_SOURCE is needed so that <stdio.h> declares fseeko | 11 | # setting of _LARGEFILE_SOURCE is needed so that <stdio.h> declares fseeko |
| 12 | # and ftello in C++ mode as well. | 12 | # and ftello in C++ mode as well. |
| 13 | # Fixed in Autoconf 2.72, which has AC_SYS_YEAR2038. | ||
| 13 | AC_DEFUN([gl_SET_LARGEFILE_SOURCE], | 14 | AC_DEFUN([gl_SET_LARGEFILE_SOURCE], |
| 14 | [ | 15 | [ |
| 16 | m4_ifndef([AC_SYS_YEAR2038], [ | ||
| 15 | AC_REQUIRE([AC_CANONICAL_HOST]) | 17 | AC_REQUIRE([AC_CANONICAL_HOST]) |
| 16 | AC_FUNC_FSEEKO | 18 | AC_FUNC_FSEEKO |
| 17 | case "$host_os" in | 19 | case "$host_os" in |
| @@ -20,9 +22,10 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE], | |||
| 20 | [Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2).]) | 22 | [Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2).]) |
| 21 | ;; | 23 | ;; |
| 22 | esac | 24 | esac |
| 25 | ]) | ||
| 23 | ]) | 26 | ]) |
| 24 | 27 | ||
| 25 | # Work around a problem in Autoconf through at least 2.71 on glibc 2.34+ | 28 | # Work around a problem in Autoconf through 2.71 on glibc 2.34+ |
| 26 | # with _TIME_BITS. Also, work around a problem in autoconf <= 2.69: | 29 | # with _TIME_BITS. Also, work around a problem in autoconf <= 2.69: |
| 27 | # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5, | 30 | # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5, |
| 28 | # or configures them incorrectly in some cases. | 31 | # or configures them incorrectly in some cases. |
| @@ -43,6 +46,7 @@ m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES], | |||
| 43 | ]) | 46 | ]) |
| 44 | ])# m4_version_prereq 2.70 | 47 | ])# m4_version_prereq 2.70 |
| 45 | 48 | ||
| 49 | m4_ifndef([AC_SYS_YEAR2038], [ | ||
| 46 | 50 | ||
| 47 | # _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE, | 51 | # _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE, |
| 48 | # CACHE-VAR, | 52 | # CACHE-VAR, |
| @@ -118,6 +122,7 @@ AS_IF([test "$enable_largefile" != no], | |||
| 118 | [64], | 122 | [64], |
| 119 | [gl_YEAR2038_BODY([])])]) | 123 | [gl_YEAR2038_BODY([])])]) |
| 120 | ])# AC_SYS_LARGEFILE | 124 | ])# AC_SYS_LARGEFILE |
| 125 | ])# m4_ifndef AC_SYS_YEAR2038 | ||
| 121 | 126 | ||
| 122 | # Enable large files on systems where this is implemented by Gnulib, not by the | 127 | # Enable large files on systems where this is implemented by Gnulib, not by the |
| 123 | # system headers. | 128 | # system headers. |
diff --git a/gl/m4/lib-ld.m4 b/gl/m4/lib-ld.m4 index 076358d5..934207a7 100644 --- a/gl/m4/lib-ld.m4 +++ b/gl/m4/lib-ld.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # lib-ld.m4 serial 10 | 1 | # lib-ld.m4 serial 10 |
| 2 | dnl Copyright (C) 1996-2003, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1996-2003, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/lib-link.m4 b/gl/m4/lib-link.m4 index 787efab2..3b75bcd0 100644 --- a/gl/m4/lib-link.m4 +++ b/gl/m4/lib-link.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # lib-link.m4 serial 32 | 1 | # lib-link.m4 serial 33 |
| 2 | dnl Copyright (C) 2001-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2001-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -196,8 +196,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | |||
| 196 | eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\" | 196 | eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\" |
| 197 | ]) | 197 | ]) |
| 198 | AC_ARG_WITH(PACK[-prefix], | 198 | AC_ARG_WITH(PACK[-prefix], |
| 199 | [[ --with-]]PACK[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib | 199 | [[ --with-]]PACK[[-prefix[=DIR] search for ]]PACKLIBS[[ in DIR/include and DIR/lib |
| 200 | --without-]]PACK[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], | 200 | --without-]]PACK[[-prefix don't search for ]]PACKLIBS[[ in includedir and libdir]], |
| 201 | [ | 201 | [ |
| 202 | if test "X$withval" = "Xno"; then | 202 | if test "X$withval" = "Xno"; then |
| 203 | use_additional=no | 203 | use_additional=no |
diff --git a/gl/m4/lib-prefix.m4 b/gl/m4/lib-prefix.m4 index 3c94db0a..999f712f 100644 --- a/gl/m4/lib-prefix.m4 +++ b/gl/m4/lib-prefix.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # lib-prefix.m4 serial 19 | 1 | # lib-prefix.m4 serial 20 |
| 2 | dnl Copyright (C) 2001-2005, 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2001-2005, 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -174,7 +174,7 @@ AC_DEFUN([AC_LIB_PREPARE_MULTILIB], | |||
| 174 | 174 | ||
| 175 | AC_CACHE_CHECK([for ELF binary format], [gl_cv_elf], | 175 | AC_CACHE_CHECK([for ELF binary format], [gl_cv_elf], |
| 176 | [AC_EGREP_CPP([Extensible Linking Format], | 176 | [AC_EGREP_CPP([Extensible Linking Format], |
| 177 | [#ifdef __ELF__ | 177 | [#if defined __ELF__ || (defined __linux__ && defined __EDG__) |
| 178 | Extensible Linking Format | 178 | Extensible Linking Format |
| 179 | #endif | 179 | #endif |
| 180 | ], | 180 | ], |
diff --git a/gl/m4/limits-h.m4 b/gl/m4/limits-h.m4 index 00c9fe9e..5d5a5bf5 100644 --- a/gl/m4/limits-h.m4 +++ b/gl/m4/limits-h.m4 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | dnl Check whether limits.h has needed features. | 1 | dnl Check whether limits.h has needed features. |
| 2 | 2 | ||
| 3 | dnl Copyright 2016-2021 Free Software Foundation, Inc. | 3 | dnl Copyright 2016-2022 Free Software Foundation, Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
| 6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -27,18 +27,15 @@ AC_DEFUN_ONCE([gl_LIMITS_H], | |||
| 27 | [gl_cv_header_limits_width=yes], | 27 | [gl_cv_header_limits_width=yes], |
| 28 | [gl_cv_header_limits_width=no])]) | 28 | [gl_cv_header_limits_width=no])]) |
| 29 | if test "$gl_cv_header_limits_width" = yes; then | 29 | if test "$gl_cv_header_limits_width" = yes; then |
| 30 | LIMITS_H= | 30 | GL_GENERATE_LIMITS_H=false |
| 31 | else | 31 | else |
| 32 | LIMITS_H=limits.h | 32 | GL_GENERATE_LIMITS_H=true |
| 33 | fi | 33 | fi |
| 34 | AC_SUBST([LIMITS_H]) | ||
| 35 | AM_CONDITIONAL([GL_GENERATE_LIMITS_H], [test -n "$LIMITS_H"]) | ||
| 36 | ]) | 34 | ]) |
| 37 | 35 | ||
| 38 | dnl Unconditionally enables the replacement of <limits.h>. | 36 | dnl Unconditionally enables the replacement of <limits.h>. |
| 39 | AC_DEFUN([gl_REPLACE_LIMITS_H], | 37 | AC_DEFUN([gl_REPLACE_LIMITS_H], |
| 40 | [ | 38 | [ |
| 41 | AC_REQUIRE([gl_LIMITS_H]) | 39 | AC_REQUIRE([gl_LIMITS_H]) |
| 42 | LIMITS_H='limits.h' | 40 | GL_GENERATE_LIMITS_H=true |
| 43 | AM_CONDITIONAL([GL_GENERATE_LIMITS_H], [test -n "$LIMITS_H"]) | ||
| 44 | ]) | 41 | ]) |
diff --git a/gl/m4/localcharset.m4 b/gl/m4/localcharset.m4 index 04389fcb..f5dbbd4f 100644 --- a/gl/m4/localcharset.m4 +++ b/gl/m4/localcharset.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # localcharset.m4 serial 8 | 1 | # localcharset.m4 serial 8 |
| 2 | dnl Copyright (C) 2002, 2004, 2006, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002, 2004, 2006, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/locale-fr.m4 b/gl/m4/locale-fr.m4 index b61df7ec..3753891f 100644 --- a/gl/m4/locale-fr.m4 +++ b/gl/m4/locale-fr.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # locale-fr.m4 serial 20 | 1 | # locale-fr.m4 serial 20 |
| 2 | dnl Copyright (C) 2003, 2005-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2005-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/locale-ja.m4 b/gl/m4/locale-ja.m4 index cd94288c..73a5d1ae 100644 --- a/gl/m4/locale-ja.m4 +++ b/gl/m4/locale-ja.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # locale-ja.m4 serial 15 | 1 | # locale-ja.m4 serial 15 |
| 2 | dnl Copyright (C) 2003, 2005-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2005-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/locale-zh.m4 b/gl/m4/locale-zh.m4 index 1228be82..c997971f 100644 --- a/gl/m4/locale-zh.m4 +++ b/gl/m4/locale-zh.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # locale-zh.m4 serial 15 | 1 | # locale-zh.m4 serial 15 |
| 2 | dnl Copyright (C) 2003, 2005-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2005-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/locale_h.m4 b/gl/m4/locale_h.m4 index 444a3817..ca5d0d0f 100644 --- a/gl/m4/locale_h.m4 +++ b/gl/m4/locale_h.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # locale_h.m4 serial 28 | 1 | # locale_h.m4 serial 28 |
| 2 | dnl Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/localeconv.m4 b/gl/m4/localeconv.m4 index e29c7c32..09c1a1ac 100644 --- a/gl/m4/localeconv.m4 +++ b/gl/m4/localeconv.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # localeconv.m4 serial 1 | 1 | # localeconv.m4 serial 1 |
| 2 | dnl Copyright (C) 2012-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2012-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/lock.m4 b/gl/m4/lock.m4 index d68c12d0..c4cbf07b 100644 --- a/gl/m4/lock.m4 +++ b/gl/m4/lock.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # lock.m4 serial 14 | 1 | # lock.m4 serial 14 |
| 2 | dnl Copyright (C) 2005-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/lseek.m4 b/gl/m4/lseek.m4 index faab09b7..0583511e 100644 --- a/gl/m4/lseek.m4 +++ b/gl/m4/lseek.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # lseek.m4 serial 12 | 1 | # lseek.m4 serial 12 |
| 2 | dnl Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/malloc.m4 b/gl/m4/malloc.m4 index 972e808a..6b76c1e6 100644 --- a/gl/m4/malloc.m4 +++ b/gl/m4/malloc.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # malloc.m4 serial 27 | 1 | # malloc.m4 serial 28 |
| 2 | dnl Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -43,8 +43,9 @@ AC_DEFUN([gl_FUNC_MALLOC_GNU], | |||
| 43 | [ | 43 | [ |
| 44 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) | 44 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) |
| 45 | AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) | 45 | AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) |
| 46 | if test $REPLACE_MALLOC = 0; then | 46 | REPLACE_MALLOC_FOR_MALLOC_GNU="$REPLACE_MALLOC_FOR_MALLOC_POSIX" |
| 47 | _AC_FUNC_MALLOC_IF([], [REPLACE_MALLOC=1]) | 47 | if test $REPLACE_MALLOC_FOR_MALLOC_GNU = 0; then |
| 48 | _AC_FUNC_MALLOC_IF([], [REPLACE_MALLOC_FOR_MALLOC_GNU=1]) | ||
| 48 | fi | 49 | fi |
| 49 | ]) | 50 | ]) |
| 50 | 51 | ||
| @@ -56,7 +57,7 @@ AC_DEFUN([gl_FUNC_MALLOC_PTRDIFF], | |||
| 56 | [ | 57 | [ |
| 57 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) | 58 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) |
| 58 | AC_REQUIRE([gl_CHECK_MALLOC_PTRDIFF]) | 59 | AC_REQUIRE([gl_CHECK_MALLOC_PTRDIFF]) |
| 59 | test "$gl_cv_malloc_ptrdiff" = yes || REPLACE_MALLOC=1 | 60 | test "$gl_cv_malloc_ptrdiff" = yes || REPLACE_MALLOC_FOR_MALLOC_POSIX=1 |
| 60 | ]) | 61 | ]) |
| 61 | 62 | ||
| 62 | # Test whether malloc, realloc, calloc refuse to create objects | 63 | # Test whether malloc, realloc, calloc refuse to create objects |
| @@ -109,7 +110,7 @@ AC_DEFUN([gl_FUNC_MALLOC_POSIX], | |||
| 109 | AC_DEFINE([HAVE_MALLOC_POSIX], [1], | 110 | AC_DEFINE([HAVE_MALLOC_POSIX], [1], |
| 110 | [Define if malloc, realloc, and calloc set errno on allocation failure.]) | 111 | [Define if malloc, realloc, and calloc set errno on allocation failure.]) |
| 111 | else | 112 | else |
| 112 | REPLACE_MALLOC=1 | 113 | REPLACE_MALLOC_FOR_MALLOC_POSIX=1 |
| 113 | fi | 114 | fi |
| 114 | ]) | 115 | ]) |
| 115 | 116 | ||
diff --git a/gl/m4/malloca.m4 b/gl/m4/malloca.m4 index 06ed2c6b..77eb96a0 100644 --- a/gl/m4/malloca.m4 +++ b/gl/m4/malloca.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # malloca.m4 serial 2 | 1 | # malloca.m4 serial 2 |
| 2 | dnl Copyright (C) 2003-2004, 2006-2007, 2009-2021 Free Software Foundation, | 2 | dnl Copyright (C) 2003-2004, 2006-2007, 2009-2022 Free Software Foundation, |
| 3 | dnl Inc. | 3 | dnl Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
diff --git a/gl/m4/math_h.m4 b/gl/m4/math_h.m4 index b3a10c3f..a08526a7 100644 --- a/gl/m4/math_h.m4 +++ b/gl/m4/math_h.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # math_h.m4 serial 125 | 1 | # math_h.m4 serial 125 |
| 2 | dnl Copyright (C) 2007-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/mbrtowc.m4 b/gl/m4/mbrtowc.m4 index 1d4e73d7..ec8716b5 100644 --- a/gl/m4/mbrtowc.m4 +++ b/gl/m4/mbrtowc.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # mbrtowc.m4 serial 38 -*- coding: utf-8 -*- | 1 | # mbrtowc.m4 serial 38 -*- coding: utf-8 -*- |
| 2 | dnl Copyright (C) 2001-2002, 2004-2005, 2008-2021 Free Software Foundation, | 2 | dnl Copyright (C) 2001-2002, 2004-2005, 2008-2022 Free Software Foundation, |
| 3 | dnl Inc. | 3 | dnl Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
diff --git a/gl/m4/mbsinit.m4 b/gl/m4/mbsinit.m4 index dc6e10d7..ebd2d4ff 100644 --- a/gl/m4/mbsinit.m4 +++ b/gl/m4/mbsinit.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # mbsinit.m4 serial 9 | 1 | # mbsinit.m4 serial 9 |
| 2 | dnl Copyright (C) 2008, 2010-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008, 2010-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/mbstate_t.m4 b/gl/m4/mbstate_t.m4 index e7fe3580..a6eba1bc 100644 --- a/gl/m4/mbstate_t.m4 +++ b/gl/m4/mbstate_t.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # mbstate_t.m4 serial 14 | 1 | # mbstate_t.m4 serial 14 |
| 2 | dnl Copyright (C) 2000-2002, 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2000-2002, 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/mbtowc.m4 b/gl/m4/mbtowc.m4 index 7fc74c94..2827e833 100644 --- a/gl/m4/mbtowc.m4 +++ b/gl/m4/mbtowc.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # mbtowc.m4 serial 3 | 1 | # mbtowc.m4 serial 3 |
| 2 | dnl Copyright (C) 2011-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2011-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/memchr.m4 b/gl/m4/memchr.m4 index ca08192a..c7489d87 100644 --- a/gl/m4/memchr.m4 +++ b/gl/m4/memchr.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # memchr.m4 serial 18 | 1 | # memchr.m4 serial 18 |
| 2 | dnl Copyright (C) 2002-2004, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2004, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/minmax.m4 b/gl/m4/minmax.m4 index e21a6879..b9767397 100644 --- a/gl/m4/minmax.m4 +++ b/gl/m4/minmax.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # minmax.m4 serial 4 | 1 | # minmax.m4 serial 4 |
| 2 | dnl Copyright (C) 2005, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/mktime.m4 b/gl/m4/mktime.m4 index 721189af..431b17dc 100644 --- a/gl/m4/mktime.m4 +++ b/gl/m4/mktime.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # serial 36 | 1 | # serial 37 |
| 2 | dnl Copyright (C) 2002-2003, 2005-2007, 2009-2021 Free Software Foundation, | 2 | dnl Copyright (C) 2002-2003, 2005-2007, 2009-2022 Free Software Foundation, |
| 3 | dnl Inc. | 3 | dnl Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
| @@ -82,7 +82,8 @@ spring_forward_gap () | |||
| 82 | instead of "TZ=America/Vancouver" in order to detect the bug even | 82 | instead of "TZ=America/Vancouver" in order to detect the bug even |
| 83 | on systems that don't support the Olson extension, or don't have the | 83 | on systems that don't support the Olson extension, or don't have the |
| 84 | full zoneinfo tables installed. */ | 84 | full zoneinfo tables installed. */ |
| 85 | putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); | 85 | if (putenv ("TZ=PST8PDT,M4.1.0,M10.5.0") != 0) |
| 86 | return -1; | ||
| 86 | 87 | ||
| 87 | tm.tm_year = 98; | 88 | tm.tm_year = 98; |
| 88 | tm.tm_mon = 3; | 89 | tm.tm_mon = 3; |
| @@ -170,7 +171,8 @@ year_2050_test () | |||
| 170 | instead of "TZ=America/Vancouver" in order to detect the bug even | 171 | instead of "TZ=America/Vancouver" in order to detect the bug even |
| 171 | on systems that don't support the Olson extension, or don't have the | 172 | on systems that don't support the Olson extension, or don't have the |
| 172 | full zoneinfo tables installed. */ | 173 | full zoneinfo tables installed. */ |
| 173 | putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); | 174 | if (putenv ("TZ=PST8PDT,M4.1.0,M10.5.0") != 0) |
| 175 | return -1; | ||
| 174 | 176 | ||
| 175 | t = mktime (&tm); | 177 | t = mktime (&tm); |
| 176 | 178 | ||
| @@ -181,6 +183,25 @@ year_2050_test () | |||
| 181 | || (0 < t && answer - 120 <= t && t <= answer + 120)); | 183 | || (0 < t && answer - 120 <= t && t <= answer + 120)); |
| 182 | } | 184 | } |
| 183 | 185 | ||
| 186 | static int | ||
| 187 | indiana_test () | ||
| 188 | { | ||
| 189 | if (putenv ("TZ=America/Indiana/Indianapolis") != 0) | ||
| 190 | return -1; | ||
| 191 | struct tm tm; | ||
| 192 | tm.tm_year = 1986 - 1900; tm.tm_mon = 4 - 1; tm.tm_mday = 28; | ||
| 193 | tm.tm_hour = 16; tm.tm_min = 24; tm.tm_sec = 50; tm.tm_isdst = 0; | ||
| 194 | time_t std = mktime (&tm); | ||
| 195 | if (! (std == 515107490 || std == 515107503)) | ||
| 196 | return 1; | ||
| 197 | |||
| 198 | /* This platform supports TZDB, either without or with leap seconds. | ||
| 199 | Return true if GNU Bug#48085 is absent. */ | ||
| 200 | tm.tm_isdst = 1; | ||
| 201 | time_t dst = mktime (&tm); | ||
| 202 | return std - dst == 60 * 60; | ||
| 203 | } | ||
| 204 | |||
| 184 | int | 205 | int |
| 185 | main () | 206 | main () |
| 186 | { | 207 | { |
| @@ -236,7 +257,7 @@ main () | |||
| 236 | result |= 16; | 257 | result |= 16; |
| 237 | if (! spring_forward_gap ()) | 258 | if (! spring_forward_gap ()) |
| 238 | result |= 32; | 259 | result |= 32; |
| 239 | if (! year_2050_test ()) | 260 | if (! year_2050_test () || ! indiana_test ()) |
| 240 | result |= 64; | 261 | result |= 64; |
| 241 | return result; | 262 | return result; |
| 242 | }]])], | 263 | }]])], |
diff --git a/gl/m4/mmap-anon.m4 b/gl/m4/mmap-anon.m4 index e47aa2d2..a4580ff9 100644 --- a/gl/m4/mmap-anon.m4 +++ b/gl/m4/mmap-anon.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # mmap-anon.m4 serial 12 | 1 | # mmap-anon.m4 serial 12 |
| 2 | dnl Copyright (C) 2005, 2007, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005, 2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/mode_t.m4 b/gl/m4/mode_t.m4 index 3bd4b89f..e08d27a7 100644 --- a/gl/m4/mode_t.m4 +++ b/gl/m4/mode_t.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # mode_t.m4 serial 2 | 1 | # mode_t.m4 serial 2 |
| 2 | dnl Copyright (C) 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/mountlist.m4 b/gl/m4/mountlist.m4 index 49029ed7..a3f72dfd 100644 --- a/gl/m4/mountlist.m4 +++ b/gl/m4/mountlist.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # serial 15 | 1 | # serial 15 |
| 2 | dnl Copyright (C) 2002-2006, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2006, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/msvc-inval.m4 b/gl/m4/msvc-inval.m4 index 3ba5b4e9..b32cf6eb 100644 --- a/gl/m4/msvc-inval.m4 +++ b/gl/m4/msvc-inval.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # msvc-inval.m4 serial 1 | 1 | # msvc-inval.m4 serial 1 |
| 2 | dnl Copyright (C) 2011-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2011-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/msvc-nothrow.m4 b/gl/m4/msvc-nothrow.m4 index aae25ce7..16ceb1f1 100644 --- a/gl/m4/msvc-nothrow.m4 +++ b/gl/m4/msvc-nothrow.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # msvc-nothrow.m4 serial 1 | 1 | # msvc-nothrow.m4 serial 1 |
| 2 | dnl Copyright (C) 2011-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2011-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/multiarch.m4 b/gl/m4/multiarch.m4 index f1678d9f..5d942765 100644 --- a/gl/m4/multiarch.m4 +++ b/gl/m4/multiarch.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # multiarch.m4 serial 9 | 1 | # multiarch.m4 serial 9 |
| 2 | dnl Copyright (C) 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/netdb_h.m4 b/gl/m4/netdb_h.m4 index eb7c3b8b..d6a9d709 100644 --- a/gl/m4/netdb_h.m4 +++ b/gl/m4/netdb_h.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # netdb_h.m4 serial 15 | 1 | # netdb_h.m4 serial 15 |
| 2 | dnl Copyright (C) 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/netinet_in_h.m4 b/gl/m4/netinet_in_h.m4 index c5555964..de26fe85 100644 --- a/gl/m4/netinet_in_h.m4 +++ b/gl/m4/netinet_in_h.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # netinet_in_h.m4 serial 5 | 1 | # netinet_in_h.m4 serial 6 |
| 2 | dnl Copyright (C) 2006-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -14,9 +14,9 @@ AC_DEFUN([gl_HEADER_NETINET_IN], | |||
| 14 | [gl_cv_header_netinet_in_h_selfcontained=no]) | 14 | [gl_cv_header_netinet_in_h_selfcontained=no]) |
| 15 | ]) | 15 | ]) |
| 16 | if test $gl_cv_header_netinet_in_h_selfcontained = yes; then | 16 | if test $gl_cv_header_netinet_in_h_selfcontained = yes; then |
| 17 | NETINET_IN_H='' | 17 | GL_GENERATE_NETINET_IN_H=false |
| 18 | else | 18 | else |
| 19 | NETINET_IN_H='netinet/in.h' | 19 | GL_GENERATE_NETINET_IN_H=true |
| 20 | AC_CHECK_HEADERS([netinet/in.h]) | 20 | AC_CHECK_HEADERS([netinet/in.h]) |
| 21 | gl_CHECK_NEXT_HEADERS([netinet/in.h]) | 21 | gl_CHECK_NEXT_HEADERS([netinet/in.h]) |
| 22 | if test $ac_cv_header_netinet_in_h = yes; then | 22 | if test $ac_cv_header_netinet_in_h = yes; then |
| @@ -26,6 +26,4 @@ AC_DEFUN([gl_HEADER_NETINET_IN], | |||
| 26 | fi | 26 | fi |
| 27 | AC_SUBST([HAVE_NETINET_IN_H]) | 27 | AC_SUBST([HAVE_NETINET_IN_H]) |
| 28 | fi | 28 | fi |
| 29 | AC_SUBST([NETINET_IN_H]) | ||
| 30 | AM_CONDITIONAL([GL_GENERATE_NETINET_IN_H], [test -n "$NETINET_IN_H"]) | ||
| 31 | ]) | 29 | ]) |
diff --git a/gl/m4/nl_langinfo.m4 b/gl/m4/nl_langinfo.m4 index 6ad32c80..d20a09cf 100644 --- a/gl/m4/nl_langinfo.m4 +++ b/gl/m4/nl_langinfo.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # nl_langinfo.m4 serial 8 | 1 | # nl_langinfo.m4 serial 8 |
| 2 | dnl Copyright (C) 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/nls.m4 b/gl/m4/nls.m4 index f4f6b801..7c11c90f 100644 --- a/gl/m4/nls.m4 +++ b/gl/m4/nls.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # nls.m4 serial 6 (gettext-0.20.2) | 1 | # nls.m4 serial 6 (gettext-0.20.2) |
| 2 | dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016, 2019-2021 Free | 2 | dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016, 2019-2022 Free |
| 3 | dnl Software Foundation, Inc. | 3 | dnl Software Foundation, Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
diff --git a/gl/m4/nocrash.m4 b/gl/m4/nocrash.m4 index 27412cd2..91f00c1b 100644 --- a/gl/m4/nocrash.m4 +++ b/gl/m4/nocrash.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # nocrash.m4 serial 5 | 1 | # nocrash.m4 serial 5 |
| 2 | dnl Copyright (C) 2005, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/off_t.m4 b/gl/m4/off_t.m4 index bdec43c8..0890adaf 100644 --- a/gl/m4/off_t.m4 +++ b/gl/m4/off_t.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # off_t.m4 serial 1 | 1 | # off_t.m4 serial 1 |
| 2 | dnl Copyright (C) 2012-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2012-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/open-cloexec.m4 b/gl/m4/open-cloexec.m4 index 542a90f4..16cd5ec4 100644 --- a/gl/m4/open-cloexec.m4 +++ b/gl/m4/open-cloexec.m4 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | # Test whether O_CLOEXEC is defined. | 1 | # Test whether O_CLOEXEC is defined. |
| 2 | 2 | ||
| 3 | dnl Copyright 2017-2021 Free Software Foundation, Inc. | 3 | dnl Copyright 2017-2022 Free Software Foundation, Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
| 6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/open-slash.m4 b/gl/m4/open-slash.m4 index e619039e..4fbf491a 100644 --- a/gl/m4/open-slash.m4 +++ b/gl/m4/open-slash.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # open-slash.m4 serial 2 | 1 | # open-slash.m4 serial 2 |
| 2 | dnl Copyright (C) 2007-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/open.m4 b/gl/m4/open.m4 index c6343865..f82fd6ca 100644 --- a/gl/m4/open.m4 +++ b/gl/m4/open.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # open.m4 serial 15 | 1 | # open.m4 serial 15 |
| 2 | dnl Copyright (C) 2007-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/pathmax.m4 b/gl/m4/pathmax.m4 index e67c6566..44add990 100644 --- a/gl/m4/pathmax.m4 +++ b/gl/m4/pathmax.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # pathmax.m4 serial 11 | 1 | # pathmax.m4 serial 11 |
| 2 | dnl Copyright (C) 2002-2003, 2005-2006, 2009-2021 Free Software Foundation, | 2 | dnl Copyright (C) 2002-2003, 2005-2006, 2009-2022 Free Software Foundation, |
| 3 | dnl Inc. | 3 | dnl Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
diff --git a/gl/m4/pid_t.m4 b/gl/m4/pid_t.m4 index b7650a10..cb26f361 100644 --- a/gl/m4/pid_t.m4 +++ b/gl/m4/pid_t.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # pid_t.m4 serial 4 | 1 | # pid_t.m4 serial 4 |
| 2 | dnl Copyright (C) 2020-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2020-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/po.m4 b/gl/m4/po.m4 index 66bea3e6..ace6f960 100644 --- a/gl/m4/po.m4 +++ b/gl/m4/po.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # po.m4 serial 31 (gettext-0.20.2) | 1 | # po.m4 serial 31 (gettext-0.20.2) |
| 2 | dnl Copyright (C) 1995-2014, 2016, 2018-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1995-2014, 2016, 2018-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/printf.m4 b/gl/m4/printf.m4 index 284c7c5d..667452e3 100644 --- a/gl/m4/printf.m4 +++ b/gl/m4/printf.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # printf.m4 serial 73 | 1 | # printf.m4 serial 73 |
| 2 | dnl Copyright (C) 2003, 2007-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2007-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/progtest.m4 b/gl/m4/progtest.m4 index 9e8823c2..4a5b0b4c 100644 --- a/gl/m4/progtest.m4 +++ b/gl/m4/progtest.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # progtest.m4 serial 9 (gettext-0.21.1) | 1 | # progtest.m4 serial 9 (gettext-0.21.1) |
| 2 | dnl Copyright (C) 1996-2003, 2005, 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1996-2003, 2005, 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/pthread_rwlock_rdlock.m4 b/gl/m4/pthread_rwlock_rdlock.m4 index a5fbead6..8ad78392 100644 --- a/gl/m4/pthread_rwlock_rdlock.m4 +++ b/gl/m4/pthread_rwlock_rdlock.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # pthread_rwlock_rdlock.m4 serial 4 | 1 | # pthread_rwlock_rdlock.m4 serial 4 |
| 2 | dnl Copyright (C) 2017-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2017-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/realloc.m4 b/gl/m4/realloc.m4 index 0abc4185..86e57c25 100644 --- a/gl/m4/realloc.m4 +++ b/gl/m4/realloc.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # realloc.m4 serial 24 | 1 | # realloc.m4 serial 26 |
| 2 | dnl Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -43,8 +43,8 @@ AC_DEFUN([gl_FUNC_REALLOC_GNU], | |||
| 43 | [ | 43 | [ |
| 44 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) | 44 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) |
| 45 | AC_REQUIRE([gl_FUNC_REALLOC_POSIX]) | 45 | AC_REQUIRE([gl_FUNC_REALLOC_POSIX]) |
| 46 | if test $REPLACE_REALLOC = 0; then | 46 | if test $REPLACE_REALLOC_FOR_REALLOC_GNU = 0; then |
| 47 | _AC_FUNC_REALLOC_IF([], [REPLACE_REALLOC=1]) | 47 | _AC_FUNC_REALLOC_IF([], [REPLACE_REALLOC_FOR_REALLOC_GNU=1]) |
| 48 | fi | 48 | fi |
| 49 | ])# gl_FUNC_REALLOC_GNU | 49 | ])# gl_FUNC_REALLOC_GNU |
| 50 | 50 | ||
| @@ -57,7 +57,7 @@ AC_DEFUN([gl_FUNC_REALLOC_POSIX], | |||
| 57 | [ | 57 | [ |
| 58 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) | 58 | AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) |
| 59 | AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) | 59 | AC_REQUIRE([gl_FUNC_MALLOC_POSIX]) |
| 60 | if test $REPLACE_MALLOC = 1; then | 60 | if test $REPLACE_MALLOC_FOR_MALLOC_POSIX = 1; then |
| 61 | REPLACE_REALLOC=1 | 61 | REPLACE_REALLOC_FOR_REALLOC_POSIX=1 |
| 62 | fi | 62 | fi |
| 63 | ]) | 63 | ]) |
diff --git a/gl/m4/reallocarray.m4 b/gl/m4/reallocarray.m4 index 9d8a6266..f39ab6ea 100644 --- a/gl/m4/reallocarray.m4 +++ b/gl/m4/reallocarray.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # reallocarray.m4 serial 3 | 1 | # reallocarray.m4 serial 3 |
| 2 | dnl Copyright (C) 2017-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2017-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/regex.m4 b/gl/m4/regex.m4 index 1c7e562f..47342986 100644 --- a/gl/m4/regex.m4 +++ b/gl/m4/regex.m4 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | # serial 73 | 1 | # serial 73 |
| 2 | 2 | ||
| 3 | # Copyright (C) 1996-2001, 2003-2021 Free Software Foundation, Inc. | 3 | # Copyright (C) 1996-2001, 2003-2022 Free Software Foundation, Inc. |
| 4 | # | 4 | # |
| 5 | # This file is free software; the Free Software Foundation | 5 | # This file is free software; the Free Software Foundation |
| 6 | # gives unlimited permission to copy and/or distribute it, | 6 | # gives unlimited permission to copy and/or distribute it, |
diff --git a/gl/m4/servent.m4 b/gl/m4/servent.m4 index 9bc3bcd4..c1b7d154 100644 --- a/gl/m4/servent.m4 +++ b/gl/m4/servent.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # servent.m4 serial 4 | 1 | # servent.m4 serial 4 |
| 2 | dnl Copyright (C) 2008, 2010-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008, 2010-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/setenv.m4 b/gl/m4/setenv.m4 index f79a2785..2000039a 100644 --- a/gl/m4/setenv.m4 +++ b/gl/m4/setenv.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # setenv.m4 serial 30 | 1 | # setenv.m4 serial 30 |
| 2 | dnl Copyright (C) 2001-2004, 2006-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2001-2004, 2006-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/setlocale_null.m4 b/gl/m4/setlocale_null.m4 index 2c958ed7..09ea50ea 100644 --- a/gl/m4/setlocale_null.m4 +++ b/gl/m4/setlocale_null.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # setlocale_null.m4 serial 5 | 1 | # setlocale_null.m4 serial 5 |
| 2 | dnl Copyright (C) 2019-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2019-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/sha1.m4 b/gl/m4/sha1.m4 index fdba7a6f..0d7abc72 100644 --- a/gl/m4/sha1.m4 +++ b/gl/m4/sha1.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # sha1.m4 serial 12 | 1 | # sha1.m4 serial 12 |
| 2 | dnl Copyright (C) 2002-2006, 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2006, 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/size_max.m4 b/gl/m4/size_max.m4 index 1d41ce9a..1d6abaea 100644 --- a/gl/m4/size_max.m4 +++ b/gl/m4/size_max.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # size_max.m4 serial 12 | 1 | # size_max.m4 serial 12 |
| 2 | dnl Copyright (C) 2003, 2005-2006, 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2005-2006, 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/snprintf.m4 b/gl/m4/snprintf.m4 index 85209940..7420591c 100644 --- a/gl/m4/snprintf.m4 +++ b/gl/m4/snprintf.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # snprintf.m4 serial 7 | 1 | # snprintf.m4 serial 7 |
| 2 | dnl Copyright (C) 2002-2004, 2007-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2004, 2007-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/socketlib.m4 b/gl/m4/socketlib.m4 index 0f8a0829..b8bd0afa 100644 --- a/gl/m4/socketlib.m4 +++ b/gl/m4/socketlib.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # socketlib.m4 serial 3 | 1 | # socketlib.m4 serial 3 |
| 2 | dnl Copyright (C) 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/sockets.m4 b/gl/m4/sockets.m4 index 02b43b6e..aa04acc3 100644 --- a/gl/m4/sockets.m4 +++ b/gl/m4/sockets.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # sockets.m4 serial 7 | 1 | # sockets.m4 serial 7 |
| 2 | dnl Copyright (C) 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/socklen.m4 b/gl/m4/socklen.m4 index eca1d1b9..1390ac41 100644 --- a/gl/m4/socklen.m4 +++ b/gl/m4/socklen.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # socklen.m4 serial 11 | 1 | # socklen.m4 serial 11 |
| 2 | dnl Copyright (C) 2005-2007, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005-2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/sockpfaf.m4 b/gl/m4/sockpfaf.m4 index 17e14c7a..b1c4068a 100644 --- a/gl/m4/sockpfaf.m4 +++ b/gl/m4/sockpfaf.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # sockpfaf.m4 serial 10 | 1 | # sockpfaf.m4 serial 10 |
| 2 | dnl Copyright (C) 2004, 2006, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2004, 2006, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/ssize_t.m4 b/gl/m4/ssize_t.m4 index f0ed509f..03b2b895 100644 --- a/gl/m4/ssize_t.m4 +++ b/gl/m4/ssize_t.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # ssize_t.m4 serial 5 (gettext-0.18.2) | 1 | # ssize_t.m4 serial 5 (gettext-0.18.2) |
| 2 | dnl Copyright (C) 2001-2003, 2006, 2010-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2001-2003, 2006, 2010-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/stat-time.m4 b/gl/m4/stat-time.m4 index df1c2a74..342857d3 100644 --- a/gl/m4/stat-time.m4 +++ b/gl/m4/stat-time.m4 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | # Checks for stat-related time functions. | 1 | # Checks for stat-related time functions. |
| 2 | 2 | ||
| 3 | # Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2021 Free Software | 3 | # Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2022 Free Software |
| 4 | # Foundation, Inc. | 4 | # Foundation, Inc. |
| 5 | 5 | ||
| 6 | # This file is free software; the Free Software Foundation | 6 | # This file is free software; the Free Software Foundation |
diff --git a/gl/m4/stat.m4 b/gl/m4/stat.m4 index 9bcdb72d..916eb886 100644 --- a/gl/m4/stat.m4 +++ b/gl/m4/stat.m4 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | # serial 18 | 1 | # serial 18 |
| 2 | 2 | ||
| 3 | # Copyright (C) 2009-2021 Free Software Foundation, Inc. | 3 | # Copyright (C) 2009-2022 Free Software Foundation, Inc. |
| 4 | # | 4 | # |
| 5 | # This file is free software; the Free Software Foundation | 5 | # This file is free software; the Free Software Foundation |
| 6 | # gives unlimited permission to copy and/or distribute it, | 6 | # gives unlimited permission to copy and/or distribute it, |
diff --git a/gl/m4/std-gnu11.m4 b/gl/m4/std-gnu11.m4 index 7b1a042a..5ca18607 100644 --- a/gl/m4/std-gnu11.m4 +++ b/gl/m4/std-gnu11.m4 | |||
| @@ -9,7 +9,7 @@ | |||
| 9 | m4_version_prereq([2.70], [], [ | 9 | m4_version_prereq([2.70], [], [ |
| 10 | 10 | ||
| 11 | 11 | ||
| 12 | # Copyright (C) 2001-2021 Free Software Foundation, Inc. | 12 | # Copyright (C) 2001-2022 Free Software Foundation, Inc. |
| 13 | 13 | ||
| 14 | # This program is free software; you can redistribute it and/or modify | 14 | # This program is free software; you can redistribute it and/or modify |
| 15 | # it under the terms of the GNU General Public License as published by | 15 | # it under the terms of the GNU General Public License as published by |
diff --git a/gl/m4/stdalign.m4 b/gl/m4/stdalign.m4 index e22d7f78..78577cb2 100644 --- a/gl/m4/stdalign.m4 +++ b/gl/m4/stdalign.m4 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | # Check for stdalign.h that conforms to C11. | 1 | # Check for stdalign.h that conforms to C11. |
| 2 | 2 | ||
| 3 | dnl Copyright 2011-2021 Free Software Foundation, Inc. | 3 | dnl Copyright 2011-2022 Free Software Foundation, Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
| 6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -49,11 +49,8 @@ AC_DEFUN([gl_STDALIGN_H], | |||
| 49 | [gl_cv_header_working_stdalign_h=no])]) | 49 | [gl_cv_header_working_stdalign_h=no])]) |
| 50 | 50 | ||
| 51 | if test $gl_cv_header_working_stdalign_h = yes; then | 51 | if test $gl_cv_header_working_stdalign_h = yes; then |
| 52 | STDALIGN_H='' | 52 | GL_GENERATE_STDALIGN_H=false |
| 53 | else | 53 | else |
| 54 | STDALIGN_H='stdalign.h' | 54 | GL_GENERATE_STDALIGN_H=true |
| 55 | fi | 55 | fi |
| 56 | |||
| 57 | AC_SUBST([STDALIGN_H]) | ||
| 58 | AM_CONDITIONAL([GL_GENERATE_STDALIGN_H], [test -n "$STDALIGN_H"]) | ||
| 59 | ]) | 56 | ]) |
diff --git a/gl/m4/stdbool.m4 b/gl/m4/stdbool.m4 index 3169779d..c67908aa 100644 --- a/gl/m4/stdbool.m4 +++ b/gl/m4/stdbool.m4 | |||
| @@ -1,15 +1,15 @@ | |||
| 1 | # Check for stdbool.h that conforms to C99. | 1 | # Check for stdbool.h that conforms to C99. |
| 2 | 2 | ||
| 3 | dnl Copyright (C) 2002-2006, 2009-2021 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 2002-2006, 2009-2022 Free Software Foundation, Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
| 6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
| 7 | 7 | ||
| 8 | #serial 8 | 8 | #serial 9 |
| 9 | 9 | ||
| 10 | # Prepare for substituting <stdbool.h> if it is not supported. | 10 | # Prepare for substituting <stdbool.h> if it is not supported. |
| 11 | 11 | ||
| 12 | AC_DEFUN([AM_STDBOOL_H], | 12 | AC_DEFUN([gl_STDBOOL_H], |
| 13 | [ | 13 | [ |
| 14 | AC_REQUIRE([AC_CHECK_HEADER_STDBOOL]) | 14 | AC_REQUIRE([AC_CHECK_HEADER_STDBOOL]) |
| 15 | AC_REQUIRE([AC_CANONICAL_HOST]) | 15 | AC_REQUIRE([AC_CANONICAL_HOST]) |
| @@ -22,20 +22,18 @@ AC_DEFUN([AM_STDBOOL_H], | |||
| 22 | case "$host_os" in | 22 | case "$host_os" in |
| 23 | solaris*) | 23 | solaris*) |
| 24 | if test -z "$GCC"; then | 24 | if test -z "$GCC"; then |
| 25 | STDBOOL_H='stdbool.h' | 25 | GL_GENERATE_STDBOOL_H=true |
| 26 | else | 26 | else |
| 27 | STDBOOL_H='' | 27 | GL_GENERATE_STDBOOL_H=false |
| 28 | fi | 28 | fi |
| 29 | ;; | 29 | ;; |
| 30 | *) | 30 | *) |
| 31 | STDBOOL_H='' | 31 | GL_GENERATE_STDBOOL_H=false |
| 32 | ;; | 32 | ;; |
| 33 | esac | 33 | esac |
| 34 | else | 34 | else |
| 35 | STDBOOL_H='stdbool.h' | 35 | GL_GENERATE_STDBOOL_H=true |
| 36 | fi | 36 | fi |
| 37 | AC_SUBST([STDBOOL_H]) | ||
| 38 | AM_CONDITIONAL([GL_GENERATE_STDBOOL_H], [test -n "$STDBOOL_H"]) | ||
| 39 | 37 | ||
| 40 | if test "$ac_cv_type__Bool" = yes; then | 38 | if test "$ac_cv_type__Bool" = yes; then |
| 41 | HAVE__BOOL=1 | 39 | HAVE__BOOL=1 |
| @@ -45,78 +43,76 @@ AC_DEFUN([AM_STDBOOL_H], | |||
| 45 | AC_SUBST([HAVE__BOOL]) | 43 | AC_SUBST([HAVE__BOOL]) |
| 46 | ]) | 44 | ]) |
| 47 | 45 | ||
| 48 | # AM_STDBOOL_H will be renamed to gl_STDBOOL_H in the future. | 46 | m4_version_prereq([2.72], [], [ |
| 49 | AC_DEFUN([gl_STDBOOL_H], [AM_STDBOOL_H]) | ||
| 50 | |||
| 51 | # This version of the macro is needed in autoconf <= 2.68. | ||
| 52 | 47 | ||
| 53 | AC_DEFUN([AC_CHECK_HEADER_STDBOOL], | 48 | AC_DEFUN([AC_CHECK_HEADER_STDBOOL], |
| 54 | [AC_CACHE_CHECK([for stdbool.h that conforms to C99], | 49 | [AC_CHECK_TYPES([_Bool]) |
| 50 | AC_CACHE_CHECK([for stdbool.h that conforms to C99 or later], | ||
| 55 | [ac_cv_header_stdbool_h], | 51 | [ac_cv_header_stdbool_h], |
| 56 | [AC_COMPILE_IFELSE( | 52 | [AC_COMPILE_IFELSE( |
| 57 | [AC_LANG_PROGRAM( | 53 | [AC_LANG_PROGRAM( |
| 58 | [[ | 54 | [[#include <stdbool.h> |
| 59 | #include <stdbool.h> | 55 | |
| 60 | 56 | /* "true" and "false" should be usable in #if expressions and | |
| 61 | #ifdef __cplusplus | 57 | integer constant expressions, and "bool" should be a valid |
| 62 | typedef bool Bool; | 58 | type name. |
| 63 | #else | 59 | |
| 64 | typedef _Bool Bool; | 60 | Although C 1999 requires bool, true, and false to be macros, |
| 65 | #ifndef bool | 61 | C 2023 and C++ 2011 overrule that, so do not test for that. |
| 66 | "error: bool is not defined" | 62 | Although C 1999 requires __bool_true_false_are_defined and |
| 67 | #endif | 63 | _Bool, C 2023 says they are obsolescent, so do not require |
| 68 | #ifndef false | 64 | them. */ |
| 69 | "error: false is not defined" | 65 | |
| 70 | #endif | 66 | #if !true |
| 71 | #if false | 67 | #error "'true' is not true" |
| 72 | "error: false is not 0" | 68 | #endif |
| 73 | #endif | 69 | #if true != 1 |
| 74 | #ifndef true | 70 | #error "'true' is not equal to 1" |
| 75 | "error: true is not defined" | ||
| 76 | #endif | ||
| 77 | #if true != 1 | ||
| 78 | "error: true is not 1" | ||
| 79 | #endif | ||
| 80 | #endif | 71 | #endif |
| 72 | char b[true == 1 ? 1 : -1]; | ||
| 73 | char c[true]; | ||
| 81 | 74 | ||
| 82 | #ifndef __bool_true_false_are_defined | 75 | #if false |
| 83 | "error: __bool_true_false_are_defined is not defined" | 76 | #error "'false' is not false" |
| 77 | #endif | ||
| 78 | #if false != 0 | ||
| 79 | #error "'false' is not equal to 0" | ||
| 84 | #endif | 80 | #endif |
| 81 | char d[false == 0 ? 1 : -1]; | ||
| 82 | |||
| 83 | enum { e = false, f = true, g = false * true, h = true * 256 }; | ||
| 84 | |||
| 85 | char i[(bool) 0.5 == true ? 1 : -1]; | ||
| 86 | char j[(bool) 0.0 == false ? 1 : -1]; | ||
| 87 | char k[sizeof (bool) > 0 ? 1 : -1]; | ||
| 88 | |||
| 89 | struct sb { bool s: 1; bool t; } s; | ||
| 90 | char l[sizeof s.t > 0 ? 1 : -1]; | ||
| 85 | 91 | ||
| 86 | struct s { Bool s: 1; Bool t; bool u: 1; bool v; } s; | ||
| 87 | |||
| 88 | char a[true == 1 ? 1 : -1]; | ||
| 89 | char b[false == 0 ? 1 : -1]; | ||
| 90 | char c[__bool_true_false_are_defined == 1 ? 1 : -1]; | ||
| 91 | char d[(bool) 0.5 == true ? 1 : -1]; | ||
| 92 | /* See body of main program for 'e'. */ | ||
| 93 | char f[(Bool) 0.0 == false ? 1 : -1]; | ||
| 94 | char g[true]; | ||
| 95 | char h[sizeof (Bool)]; | ||
| 96 | char i[sizeof s.t]; | ||
| 97 | enum { j = false, k = true, l = false * true, m = true * 256 }; | ||
| 98 | /* The following fails for | 92 | /* The following fails for |
| 99 | HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ | 93 | HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ |
| 100 | Bool n[m]; | 94 | bool m[h]; |
| 101 | char o[sizeof n == m * sizeof n[0] ? 1 : -1]; | 95 | char n[sizeof m == h * sizeof m[0] ? 1 : -1]; |
| 102 | char p[-1 - (Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; | 96 | char o[-1 - (bool) 0 < 0 ? 1 : -1]; |
| 103 | /* Catch a bug in an HP-UX C compiler. See | 97 | /* Catch a bug in an HP-UX C compiler. See |
| 104 | https://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html | 98 | https://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html |
| 105 | https://lists.gnu.org/r/bug-coreutils/2005-11/msg00161.html | 99 | https://lists.gnu.org/r/bug-coreutils/2005-11/msg00161.html |
| 106 | */ | 100 | */ |
| 107 | Bool q = true; | 101 | bool p = true; |
| 108 | Bool *pq = &q; | 102 | bool *pp = &p; |
| 109 | bool *qq = &q; | ||
| 110 | ]], | 103 | ]], |
| 111 | [[ | 104 | [[ |
| 112 | bool e = &s; | 105 | bool ps = &s; |
| 113 | *pq |= q; *pq |= ! q; | 106 | *pp |= p; |
| 114 | *qq |= q; *qq |= ! q; | 107 | *pp |= ! p; |
| 115 | /* Refer to every declared value, to avoid compiler optimizations. */ | 108 | |
| 116 | return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l | 109 | /* Refer to every declared value, so they cannot be |
| 117 | + !m + !n + !o + !p + !q + !pq + !qq); | 110 | discarded as unused. */ |
| 111 | return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !j + !k | ||
| 112 | + !l + !m + !n + !o + !p + !pp + !ps); | ||
| 118 | ]])], | 113 | ]])], |
| 119 | [ac_cv_header_stdbool_h=yes], | 114 | [ac_cv_header_stdbool_h=yes], |
| 120 | [ac_cv_header_stdbool_h=no])]) | 115 | [ac_cv_header_stdbool_h=no])]) |
| 121 | AC_CHECK_TYPES([_Bool]) | 116 | ])# AC_CHECK_HEADER_STDBOOL |
| 122 | ]) | 117 | |
| 118 | ]) # m4_version_prereq 2.72 | ||
diff --git a/gl/m4/stddef_h.m4 b/gl/m4/stddef_h.m4 index 1303d2e0..abfd2030 100644 --- a/gl/m4/stddef_h.m4 +++ b/gl/m4/stddef_h.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # stddef_h.m4 serial 11 | 1 | # stddef_h.m4 serial 12 |
| 2 | dnl Copyright (C) 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -14,7 +14,7 @@ AC_DEFUN_ONCE([gl_STDDEF_H], | |||
| 14 | dnl Persuade OpenBSD <stddef.h> to declare max_align_t. | 14 | dnl Persuade OpenBSD <stddef.h> to declare max_align_t. |
| 15 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | 15 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) |
| 16 | 16 | ||
| 17 | STDDEF_H= | 17 | GL_GENERATE_STDDEF_H=false |
| 18 | 18 | ||
| 19 | dnl Test whether the type max_align_t exists and whether its alignment | 19 | dnl Test whether the type max_align_t exists and whether its alignment |
| 20 | dnl "is as great as is supported by the implementation in all contexts". | 20 | dnl "is as great as is supported by the implementation in all contexts". |
| @@ -41,12 +41,12 @@ AC_DEFUN_ONCE([gl_STDDEF_H], | |||
| 41 | ]) | 41 | ]) |
| 42 | if test $gl_cv_type_max_align_t = no; then | 42 | if test $gl_cv_type_max_align_t = no; then |
| 43 | HAVE_MAX_ALIGN_T=0 | 43 | HAVE_MAX_ALIGN_T=0 |
| 44 | STDDEF_H=stddef.h | 44 | GL_GENERATE_STDDEF_H=true |
| 45 | fi | 45 | fi |
| 46 | 46 | ||
| 47 | if test $gt_cv_c_wchar_t = no; then | 47 | if test $gt_cv_c_wchar_t = no; then |
| 48 | HAVE_WCHAR_T=0 | 48 | HAVE_WCHAR_T=0 |
| 49 | STDDEF_H=stddef.h | 49 | GL_GENERATE_STDDEF_H=true |
| 50 | fi | 50 | fi |
| 51 | 51 | ||
| 52 | AC_CACHE_CHECK([whether NULL can be used in arbitrary expressions], | 52 | AC_CACHE_CHECK([whether NULL can be used in arbitrary expressions], |
| @@ -58,12 +58,10 @@ AC_DEFUN_ONCE([gl_STDDEF_H], | |||
| 58 | [gl_cv_decl_null_works=no])]) | 58 | [gl_cv_decl_null_works=no])]) |
| 59 | if test $gl_cv_decl_null_works = no; then | 59 | if test $gl_cv_decl_null_works = no; then |
| 60 | REPLACE_NULL=1 | 60 | REPLACE_NULL=1 |
| 61 | STDDEF_H=stddef.h | 61 | GL_GENERATE_STDDEF_H=true |
| 62 | fi | 62 | fi |
| 63 | 63 | ||
| 64 | AC_SUBST([STDDEF_H]) | 64 | if $GL_GENERATE_STDDEF_H; then |
| 65 | AM_CONDITIONAL([GL_GENERATE_STDDEF_H], [test -n "$STDDEF_H"]) | ||
| 66 | if test -n "$STDDEF_H"; then | ||
| 67 | gl_NEXT_HEADERS([stddef.h]) | 65 | gl_NEXT_HEADERS([stddef.h]) |
| 68 | fi | 66 | fi |
| 69 | ]) | 67 | ]) |
diff --git a/gl/m4/stdint.m4 b/gl/m4/stdint.m4 index 2eb1652d..c3f08942 100644 --- a/gl/m4/stdint.m4 +++ b/gl/m4/stdint.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # stdint.m4 serial 60 | 1 | # stdint.m4 serial 61 |
| 2 | dnl Copyright (C) 2001-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2001-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -296,7 +296,7 @@ static const char *macro_values[] = | |||
| 296 | HAVE_C99_STDINT_H=0 | 296 | HAVE_C99_STDINT_H=0 |
| 297 | HAVE_SYS_BITYPES_H=0 | 297 | HAVE_SYS_BITYPES_H=0 |
| 298 | HAVE_SYS_INTTYPES_H=0 | 298 | HAVE_SYS_INTTYPES_H=0 |
| 299 | STDINT_H=stdint.h | 299 | GL_GENERATE_STDINT_H=true |
| 300 | case "$gl_cv_header_working_stdint_h" in | 300 | case "$gl_cv_header_working_stdint_h" in |
| 301 | *yes) | 301 | *yes) |
| 302 | HAVE_C99_STDINT_H=1 | 302 | HAVE_C99_STDINT_H=1 |
| @@ -341,7 +341,7 @@ int32_t i32 = INT32_C (0x7fffffff); | |||
| 341 | ]])], | 341 | ]])], |
| 342 | [gl_cv_header_stdint_width=yes])]) | 342 | [gl_cv_header_stdint_width=yes])]) |
| 343 | if test "$gl_cv_header_stdint_width" = yes; then | 343 | if test "$gl_cv_header_stdint_width" = yes; then |
| 344 | STDINT_H= | 344 | GL_GENERATE_STDINT_H=false |
| 345 | fi | 345 | fi |
| 346 | ;; | 346 | ;; |
| 347 | *) | 347 | *) |
| @@ -364,8 +364,6 @@ int32_t i32 = INT32_C (0x7fffffff); | |||
| 364 | AC_SUBST([HAVE_C99_STDINT_H]) | 364 | AC_SUBST([HAVE_C99_STDINT_H]) |
| 365 | AC_SUBST([HAVE_SYS_BITYPES_H]) | 365 | AC_SUBST([HAVE_SYS_BITYPES_H]) |
| 366 | AC_SUBST([HAVE_SYS_INTTYPES_H]) | 366 | AC_SUBST([HAVE_SYS_INTTYPES_H]) |
| 367 | AC_SUBST([STDINT_H]) | ||
| 368 | AM_CONDITIONAL([GL_GENERATE_STDINT_H], [test -n "$STDINT_H"]) | ||
| 369 | ]) | 367 | ]) |
| 370 | 368 | ||
| 371 | dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES) | 369 | dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES) |
diff --git a/gl/m4/stdint_h.m4 b/gl/m4/stdint_h.m4 index 18aa50a4..b8684b61 100644 --- a/gl/m4/stdint_h.m4 +++ b/gl/m4/stdint_h.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # stdint_h.m4 serial 9 | 1 | # stdint_h.m4 serial 9 |
| 2 | dnl Copyright (C) 1997-2004, 2006, 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 1997-2004, 2006, 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/stdio_h.m4 b/gl/m4/stdio_h.m4 index e7043838..42e96071 100644 --- a/gl/m4/stdio_h.m4 +++ b/gl/m4/stdio_h.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # stdio_h.m4 serial 56 | 1 | # stdio_h.m4 serial 59 |
| 2 | dnl Copyright (C) 2007-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -40,41 +40,32 @@ AC_DEFUN_ONCE([gl_STDIO_H], | |||
| 40 | attribute "__gnu_printf__" instead of "__printf__"]) | 40 | attribute "__gnu_printf__" instead of "__printf__"]) |
| 41 | fi | 41 | fi |
| 42 | 42 | ||
| 43 | dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c" | 43 | dnl This ifdef is an optimization, to avoid performing a configure check whose |
| 44 | dnl "expected source file, required through AC_LIBSOURCES, not found". It is | 44 | dnl result is not used. But it does not make the test of |
| 45 | dnl also an optimization, to avoid performing a configure check whose result | 45 | dnl GNULIB_STDIO_H_NONBLOCKING or GNULIB_NONBLOCKING redundant. |
| 46 | dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING | ||
| 47 | dnl or GNULIB_NONBLOCKING redundant. | ||
| 48 | m4_ifdef([gl_NONBLOCKING_IO], [ | 46 | m4_ifdef([gl_NONBLOCKING_IO], [ |
| 49 | gl_NONBLOCKING_IO | 47 | gl_NONBLOCKING_IO |
| 50 | if test $gl_cv_have_nonblocking != yes; then | 48 | if test $gl_cv_have_nonblocking != yes; then |
| 51 | REPLACE_STDIO_READ_FUNCS=1 | 49 | REPLACE_STDIO_READ_FUNCS=1 |
| 52 | AC_LIBOBJ([stdio-read]) | ||
| 53 | fi | 50 | fi |
| 54 | ]) | 51 | ]) |
| 55 | 52 | ||
| 56 | dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c" | 53 | dnl This ifdef is an optimization, to avoid performing a configure check whose |
| 57 | dnl "expected source file, required through AC_LIBSOURCES, not found". It is | 54 | dnl result is not used. But it does not make the test of |
| 58 | dnl also an optimization, to avoid performing a configure check whose result | 55 | dnl GNULIB_STDIO_H_SIGPIPE or GNULIB_SIGPIPE redundant. |
| 59 | dnl is not used. But it does not make the test of GNULIB_STDIO_H_SIGPIPE or | ||
| 60 | dnl GNULIB_SIGPIPE redundant. | ||
| 61 | m4_ifdef([gl_SIGNAL_SIGPIPE], [ | 56 | m4_ifdef([gl_SIGNAL_SIGPIPE], [ |
| 62 | gl_SIGNAL_SIGPIPE | 57 | gl_SIGNAL_SIGPIPE |
| 63 | if test $gl_cv_header_signal_h_SIGPIPE != yes; then | 58 | if test $gl_cv_header_signal_h_SIGPIPE != yes; then |
| 64 | REPLACE_STDIO_WRITE_FUNCS=1 | 59 | REPLACE_STDIO_WRITE_FUNCS=1 |
| 65 | AC_LIBOBJ([stdio-write]) | ||
| 66 | fi | 60 | fi |
| 67 | ]) | 61 | ]) |
| 68 | dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c" | 62 | dnl This ifdef is an optimization, to avoid performing a configure check whose |
| 69 | dnl "expected source file, required through AC_LIBSOURCES, not found". It is | 63 | dnl result is not used. But it does not make the test of |
| 70 | dnl also an optimization, to avoid performing a configure check whose result | 64 | dnl GNULIB_STDIO_H_NONBLOCKING or GNULIB_NONBLOCKING redundant. |
| 71 | dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING | ||
| 72 | dnl or GNULIB_NONBLOCKING redundant. | ||
| 73 | m4_ifdef([gl_NONBLOCKING_IO], [ | 65 | m4_ifdef([gl_NONBLOCKING_IO], [ |
| 74 | gl_NONBLOCKING_IO | 66 | gl_NONBLOCKING_IO |
| 75 | if test $gl_cv_have_nonblocking != yes; then | 67 | if test $gl_cv_have_nonblocking != yes; then |
| 76 | REPLACE_STDIO_WRITE_FUNCS=1 | 68 | REPLACE_STDIO_WRITE_FUNCS=1 |
| 77 | AC_LIBOBJ([stdio-write]) | ||
| 78 | fi | 69 | fi |
| 79 | ]) | 70 | ]) |
| 80 | 71 | ||
| @@ -119,6 +110,7 @@ AC_DEFUN([gl_STDIO_H_REQUIRE_DEFAULTS], | |||
| 119 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FGETC]) | 110 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FGETC]) |
| 120 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FGETS]) | 111 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FGETS]) |
| 121 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FOPEN]) | 112 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FOPEN]) |
| 113 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FOPEN_GNU]) | ||
| 122 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPRINTF]) | 114 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPRINTF]) |
| 123 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPRINTF_POSIX]) | 115 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPRINTF_POSIX]) |
| 124 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPURGE]) | 116 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FPURGE]) |
| @@ -202,6 +194,7 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS], | |||
| 202 | REPLACE_FDOPEN=0; AC_SUBST([REPLACE_FDOPEN]) | 194 | REPLACE_FDOPEN=0; AC_SUBST([REPLACE_FDOPEN]) |
| 203 | REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH]) | 195 | REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH]) |
| 204 | REPLACE_FOPEN=0; AC_SUBST([REPLACE_FOPEN]) | 196 | REPLACE_FOPEN=0; AC_SUBST([REPLACE_FOPEN]) |
| 197 | REPLACE_FOPEN_FOR_FOPEN_GNU=0; AC_SUBST([REPLACE_FOPEN_FOR_FOPEN_GNU]) | ||
| 205 | REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF]) | 198 | REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF]) |
| 206 | REPLACE_FPURGE=0; AC_SUBST([REPLACE_FPURGE]) | 199 | REPLACE_FPURGE=0; AC_SUBST([REPLACE_FPURGE]) |
| 207 | REPLACE_FREOPEN=0; AC_SUBST([REPLACE_FREOPEN]) | 200 | REPLACE_FREOPEN=0; AC_SUBST([REPLACE_FREOPEN]) |
diff --git a/gl/m4/stdlib_h.m4 b/gl/m4/stdlib_h.m4 index 9c1d1c76..9e209697 100644 --- a/gl/m4/stdlib_h.m4 +++ b/gl/m4/stdlib_h.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # stdlib_h.m4 serial 63 | 1 | # stdlib_h.m4 serial 66 |
| 2 | dnl Copyright (C) 2007-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -68,12 +68,14 @@ AC_DEFUN([gl_STDLIB_H_REQUIRE_DEFAULTS], | |||
| 68 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB__EXIT]) | 68 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB__EXIT]) |
| 69 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ALIGNED_ALLOC]) | 69 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ALIGNED_ALLOC]) |
| 70 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ATOLL]) | 70 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ATOLL]) |
| 71 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CALLOC_GNU]) | ||
| 71 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CALLOC_POSIX]) | 72 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CALLOC_POSIX]) |
| 72 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CANONICALIZE_FILE_NAME]) | 73 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CANONICALIZE_FILE_NAME]) |
| 73 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREE_POSIX]) | 74 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREE_POSIX]) |
| 74 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLOADAVG]) | 75 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLOADAVG]) |
| 75 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETSUBOPT]) | 76 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETSUBOPT]) |
| 76 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GRANTPT]) | 77 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GRANTPT]) |
| 78 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MALLOC_GNU]) | ||
| 77 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MALLOC_POSIX]) | 79 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MALLOC_POSIX]) |
| 78 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBTOWC]) | 80 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBTOWC]) |
| 79 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKDTEMP]) | 81 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKDTEMP]) |
| @@ -90,6 +92,7 @@ AC_DEFUN([gl_STDLIB_H_REQUIRE_DEFAULTS], | |||
| 90 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM]) | 92 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM]) |
| 91 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM_R]) | 93 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM_R]) |
| 92 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOCARRAY]) | 94 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOCARRAY]) |
| 95 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOC_GNU]) | ||
| 93 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOC_POSIX]) | 96 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOC_POSIX]) |
| 94 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALPATH]) | 97 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALPATH]) |
| 95 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RPMATCH]) | 98 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RPMATCH]) |
| @@ -164,11 +167,13 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], | |||
| 164 | HAVE_UNLOCKPT=1; AC_SUBST([HAVE_UNLOCKPT]) | 167 | HAVE_UNLOCKPT=1; AC_SUBST([HAVE_UNLOCKPT]) |
| 165 | HAVE_DECL_UNSETENV=1; AC_SUBST([HAVE_DECL_UNSETENV]) | 168 | HAVE_DECL_UNSETENV=1; AC_SUBST([HAVE_DECL_UNSETENV]) |
| 166 | REPLACE_ALIGNED_ALLOC=0; AC_SUBST([REPLACE_ALIGNED_ALLOC]) | 169 | REPLACE_ALIGNED_ALLOC=0; AC_SUBST([REPLACE_ALIGNED_ALLOC]) |
| 167 | REPLACE_CALLOC=0; AC_SUBST([REPLACE_CALLOC]) | 170 | REPLACE_CALLOC_FOR_CALLOC_GNU=0; AC_SUBST([REPLACE_CALLOC_FOR_CALLOC_GNU]) |
| 171 | REPLACE_CALLOC_FOR_CALLOC_POSIX=0; AC_SUBST([REPLACE_CALLOC_FOR_CALLOC_POSIX]) | ||
| 168 | REPLACE_CANONICALIZE_FILE_NAME=0; AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME]) | 172 | REPLACE_CANONICALIZE_FILE_NAME=0; AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME]) |
| 169 | REPLACE_FREE=0; AC_SUBST([REPLACE_FREE]) | 173 | REPLACE_FREE=0; AC_SUBST([REPLACE_FREE]) |
| 170 | REPLACE_INITSTATE=0; AC_SUBST([REPLACE_INITSTATE]) | 174 | REPLACE_INITSTATE=0; AC_SUBST([REPLACE_INITSTATE]) |
| 171 | REPLACE_MALLOC=0; AC_SUBST([REPLACE_MALLOC]) | 175 | REPLACE_MALLOC_FOR_MALLOC_GNU=0; AC_SUBST([REPLACE_MALLOC_FOR_MALLOC_GNU]) |
| 176 | REPLACE_MALLOC_FOR_MALLOC_POSIX=0; AC_SUBST([REPLACE_MALLOC_FOR_MALLOC_POSIX]) | ||
| 172 | REPLACE_MBTOWC=0; AC_SUBST([REPLACE_MBTOWC]) | 177 | REPLACE_MBTOWC=0; AC_SUBST([REPLACE_MBTOWC]) |
| 173 | REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) | 178 | REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) |
| 174 | REPLACE_POSIX_MEMALIGN=0; AC_SUBST([REPLACE_POSIX_MEMALIGN]) | 179 | REPLACE_POSIX_MEMALIGN=0; AC_SUBST([REPLACE_POSIX_MEMALIGN]) |
| @@ -178,7 +183,8 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], | |||
| 178 | REPLACE_QSORT_R=0; AC_SUBST([REPLACE_QSORT_R]) | 183 | REPLACE_QSORT_R=0; AC_SUBST([REPLACE_QSORT_R]) |
| 179 | REPLACE_RANDOM=0; AC_SUBST([REPLACE_RANDOM]) | 184 | REPLACE_RANDOM=0; AC_SUBST([REPLACE_RANDOM]) |
| 180 | REPLACE_RANDOM_R=0; AC_SUBST([REPLACE_RANDOM_R]) | 185 | REPLACE_RANDOM_R=0; AC_SUBST([REPLACE_RANDOM_R]) |
| 181 | REPLACE_REALLOC=0; AC_SUBST([REPLACE_REALLOC]) | 186 | REPLACE_REALLOC_FOR_REALLOC_GNU=0; AC_SUBST([REPLACE_REALLOC_FOR_REALLOC_GNU]) |
| 187 | REPLACE_REALLOC_FOR_REALLOC_POSIX=0; AC_SUBST([REPLACE_REALLOC_FOR_REALLOC_POSIX]) | ||
| 182 | REPLACE_REALLOCARRAY=0; AC_SUBST([REPLACE_REALLOCARRAY]) | 188 | REPLACE_REALLOCARRAY=0; AC_SUBST([REPLACE_REALLOCARRAY]) |
| 183 | REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH]) | 189 | REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH]) |
| 184 | REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV]) | 190 | REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV]) |
diff --git a/gl/m4/strcase.m4 b/gl/m4/strcase.m4 index ea88283f..d1ffaba3 100644 --- a/gl/m4/strcase.m4 +++ b/gl/m4/strcase.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # strcase.m4 serial 12 | 1 | # strcase.m4 serial 12 |
| 2 | dnl Copyright (C) 2002, 2005-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002, 2005-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/strcasestr.m4 b/gl/m4/strcasestr.m4 index 6939144b..6344b7e5 100644 --- a/gl/m4/strcasestr.m4 +++ b/gl/m4/strcasestr.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # strcasestr.m4 serial 28 | 1 | # strcasestr.m4 serial 28 |
| 2 | dnl Copyright (C) 2005, 2007-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005, 2007-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/strerror.m4 b/gl/m4/strerror.m4 index 438ba920..4716649b 100644 --- a/gl/m4/strerror.m4 +++ b/gl/m4/strerror.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # strerror.m4 serial 22 | 1 | # strerror.m4 serial 23 |
| 2 | dnl Copyright (C) 2002, 2007-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002, 2007-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -13,7 +13,7 @@ AC_DEFUN([gl_FUNC_STRERROR], | |||
| 13 | m4_ifdef([gl_FUNC_STRERROR_R_WORKS], [ | 13 | m4_ifdef([gl_FUNC_STRERROR_R_WORKS], [ |
| 14 | AC_REQUIRE([gl_FUNC_STRERROR_R_WORKS]) | 14 | AC_REQUIRE([gl_FUNC_STRERROR_R_WORKS]) |
| 15 | ]) | 15 | ]) |
| 16 | if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then | 16 | if test "$GL_GENERATE_ERRNO_H:$REPLACE_STRERROR_0" = false:0; then |
| 17 | AC_CACHE_CHECK([for working strerror function], | 17 | AC_CACHE_CHECK([for working strerror function], |
| 18 | [gl_cv_func_working_strerror], | 18 | [gl_cv_func_working_strerror], |
| 19 | [AC_RUN_IFELSE( | 19 | [AC_RUN_IFELSE( |
diff --git a/gl/m4/string_h.m4 b/gl/m4/string_h.m4 index e88ac9ca..9e09b96e 100644 --- a/gl/m4/string_h.m4 +++ b/gl/m4/string_h.m4 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | # Configure a GNU-like replacement for <string.h>. | 1 | # Configure a GNU-like replacement for <string.h>. |
| 2 | 2 | ||
| 3 | # Copyright (C) 2007-2021 Free Software Foundation, Inc. | 3 | # Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 4 | # This file is free software; the Free Software Foundation | 4 | # This file is free software; the Free Software Foundation |
| 5 | # gives unlimited permission to copy and/or distribute it, | 5 | # gives unlimited permission to copy and/or distribute it, |
| 6 | # with or without modifications, as long as this notice is preserved. | 6 | # with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/strings_h.m4 b/gl/m4/strings_h.m4 index 69de32ac..6965b7c1 100644 --- a/gl/m4/strings_h.m4 +++ b/gl/m4/strings_h.m4 | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | # Configure a replacement for <strings.h>. | 1 | # Configure a replacement for <strings.h>. |
| 2 | # serial 9 | 2 | # serial 9 |
| 3 | 3 | ||
| 4 | # Copyright (C) 2007, 2009-2021 Free Software Foundation, Inc. | 4 | # Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. |
| 5 | # This file is free software; the Free Software Foundation | 5 | # This file is free software; the Free Software Foundation |
| 6 | # gives unlimited permission to copy and/or distribute it, | 6 | # gives unlimited permission to copy and/or distribute it, |
| 7 | # with or without modifications, as long as this notice is preserved. | 7 | # with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/strsep.m4 b/gl/m4/strsep.m4 index 8743f055..602f96ab 100644 --- a/gl/m4/strsep.m4 +++ b/gl/m4/strsep.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # strsep.m4 serial 11 | 1 | # strsep.m4 serial 11 |
| 2 | dnl Copyright (C) 2002-2004, 2007, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2004, 2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/strstr.m4 b/gl/m4/strstr.m4 index a32e9c12..6cc20727 100644 --- a/gl/m4/strstr.m4 +++ b/gl/m4/strstr.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # strstr.m4 serial 24 | 1 | # strstr.m4 serial 24 |
| 2 | dnl Copyright (C) 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/sys_socket_h.m4 b/gl/m4/sys_socket_h.m4 index 5676a0d2..ba3ae68e 100644 --- a/gl/m4/sys_socket_h.m4 +++ b/gl/m4/sys_socket_h.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # sys_socket_h.m4 serial 28 | 1 | # sys_socket_h.m4 serial 29 |
| 2 | dnl Copyright (C) 2005-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -22,6 +22,7 @@ AC_DEFUN_ONCE([gl_SYS_SOCKET_H], | |||
| 22 | ;; | 22 | ;; |
| 23 | esac | 23 | esac |
| 24 | 24 | ||
| 25 | GL_GENERATE_SYS_SOCKET_H=false | ||
| 25 | AC_CACHE_CHECK([whether <sys/socket.h> is self-contained], | 26 | AC_CACHE_CHECK([whether <sys/socket.h> is self-contained], |
| 26 | [gl_cv_header_sys_socket_h_selfcontained], | 27 | [gl_cv_header_sys_socket_h_selfcontained], |
| 27 | [ | 28 | [ |
| @@ -44,7 +45,7 @@ AC_DEFUN_ONCE([gl_SYS_SOCKET_H], | |||
| 44 | [gl_cv_header_sys_socket_h_shut=no]) | 45 | [gl_cv_header_sys_socket_h_shut=no]) |
| 45 | ]) | 46 | ]) |
| 46 | if test $gl_cv_header_sys_socket_h_shut = no; then | 47 | if test $gl_cv_header_sys_socket_h_shut = no; then |
| 47 | SYS_SOCKET_H='sys/socket.h' | 48 | GL_GENERATE_SYS_SOCKET_H=true |
| 48 | fi | 49 | fi |
| 49 | fi | 50 | fi |
| 50 | fi | 51 | fi |
| @@ -83,7 +84,7 @@ AC_DEFUN_ONCE([gl_SYS_SOCKET_H], | |||
| 83 | fi | 84 | fi |
| 84 | if test $HAVE_STRUCT_SOCKADDR_STORAGE = 0 || test $HAVE_SA_FAMILY_T = 0 \ | 85 | if test $HAVE_STRUCT_SOCKADDR_STORAGE = 0 || test $HAVE_SA_FAMILY_T = 0 \ |
| 85 | || test $HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = 0; then | 86 | || test $HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = 0; then |
| 86 | SYS_SOCKET_H='sys/socket.h' | 87 | GL_GENERATE_SYS_SOCKET_H=true |
| 87 | fi | 88 | fi |
| 88 | gl_PREREQ_SYS_H_WINSOCK2 | 89 | gl_PREREQ_SYS_H_WINSOCK2 |
| 89 | 90 | ||
diff --git a/gl/m4/sys_stat_h.m4 b/gl/m4/sys_stat_h.m4 index ac91d425..2adbfdee 100644 --- a/gl/m4/sys_stat_h.m4 +++ b/gl/m4/sys_stat_h.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # sys_stat_h.m4 serial 41 -*- Autoconf -*- | 1 | # sys_stat_h.m4 serial 42 -*- Autoconf -*- |
| 2 | dnl Copyright (C) 2006-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -46,7 +46,7 @@ AC_DEFUN_ONCE([gl_SYS_STAT_H], | |||
| 46 | dnl Check for declarations of anything we want to poison if the | 46 | dnl Check for declarations of anything we want to poison if the |
| 47 | dnl corresponding gnulib module is not in use. | 47 | dnl corresponding gnulib module is not in use. |
| 48 | gl_WARN_ON_USE_PREPARE([[#include <sys/stat.h> | 48 | gl_WARN_ON_USE_PREPARE([[#include <sys/stat.h> |
| 49 | ]], [fchmodat fstat fstatat futimens getumask lchmod lstat | 49 | ]], [chmod fchmodat fstat fstatat futimens getumask lchmod lstat |
| 50 | mkdirat mkfifo mkfifoat mknod mknodat stat utimensat]) | 50 | mkdirat mkfifo mkfifoat mknod mknodat stat utimensat]) |
| 51 | 51 | ||
| 52 | AC_REQUIRE([AC_C_RESTRICT]) | 52 | AC_REQUIRE([AC_C_RESTRICT]) |
| @@ -72,6 +72,7 @@ AC_DEFUN([gl_SYS_STAT_H_REQUIRE_DEFAULTS], | |||
| 72 | [ | 72 | [ |
| 73 | m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_STAT_H_MODULE_INDICATOR_DEFAULTS], [ | 73 | m4_defun(GL_MODULE_INDICATOR_PREFIX[_SYS_STAT_H_MODULE_INDICATOR_DEFAULTS], [ |
| 74 | gl_UNISTD_H_REQUIRE_DEFAULTS dnl for REPLACE_FCHDIR | 74 | gl_UNISTD_H_REQUIRE_DEFAULTS dnl for REPLACE_FCHDIR |
| 75 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CHMOD]) | ||
| 75 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCHMODAT]) | 76 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCHMODAT]) |
| 76 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSTAT]) | 77 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSTAT]) |
| 77 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSTATAT]) | 78 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FSTATAT]) |
| @@ -112,6 +113,7 @@ AC_DEFUN([gl_SYS_STAT_H_DEFAULTS], | |||
| 112 | HAVE_MKNOD=1; AC_SUBST([HAVE_MKNOD]) | 113 | HAVE_MKNOD=1; AC_SUBST([HAVE_MKNOD]) |
| 113 | HAVE_MKNODAT=1; AC_SUBST([HAVE_MKNODAT]) | 114 | HAVE_MKNODAT=1; AC_SUBST([HAVE_MKNODAT]) |
| 114 | HAVE_UTIMENSAT=1; AC_SUBST([HAVE_UTIMENSAT]) | 115 | HAVE_UTIMENSAT=1; AC_SUBST([HAVE_UTIMENSAT]) |
| 116 | REPLACE_CHMOD=0; AC_SUBST([REPLACE_CHMOD]) | ||
| 115 | REPLACE_FCHMODAT=0; AC_SUBST([REPLACE_FCHMODAT]) | 117 | REPLACE_FCHMODAT=0; AC_SUBST([REPLACE_FCHMODAT]) |
| 116 | REPLACE_FSTAT=0; AC_SUBST([REPLACE_FSTAT]) | 118 | REPLACE_FSTAT=0; AC_SUBST([REPLACE_FSTAT]) |
| 117 | REPLACE_FSTATAT=0; AC_SUBST([REPLACE_FSTATAT]) | 119 | REPLACE_FSTATAT=0; AC_SUBST([REPLACE_FSTATAT]) |
diff --git a/gl/m4/sys_types_h.m4 b/gl/m4/sys_types_h.m4 index 6dd6fee1..a5bef220 100644 --- a/gl/m4/sys_types_h.m4 +++ b/gl/m4/sys_types_h.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # sys_types_h.m4 serial 13 | 1 | # sys_types_h.m4 serial 13 |
| 2 | dnl Copyright (C) 2011-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2011-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/sys_uio_h.m4 b/gl/m4/sys_uio_h.m4 index fa176e0b..36f55ead 100644 --- a/gl/m4/sys_uio_h.m4 +++ b/gl/m4/sys_uio_h.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # sys_uio_h.m4 serial 3 | 1 | # sys_uio_h.m4 serial 3 |
| 2 | dnl Copyright (C) 2011-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2011-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/threadlib.m4 b/gl/m4/threadlib.m4 index 6b43bbdf..ecb4970a 100644 --- a/gl/m4/threadlib.m4 +++ b/gl/m4/threadlib.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # threadlib.m4 serial 32 | 1 | # threadlib.m4 serial 32 |
| 2 | dnl Copyright (C) 2005-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/time_h.m4 b/gl/m4/time_h.m4 index b57474b4..98d7b6e0 100644 --- a/gl/m4/time_h.m4 +++ b/gl/m4/time_h.m4 | |||
| @@ -1,8 +1,8 @@ | |||
| 1 | # Configure a more-standard replacement for <time.h>. | 1 | # Configure a more-standard replacement for <time.h>. |
| 2 | 2 | ||
| 3 | # Copyright (C) 2000-2001, 2003-2007, 2009-2021 Free Software Foundation, Inc. | 3 | # Copyright (C) 2000-2001, 2003-2007, 2009-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | # serial 18 | 5 | # serial 19 |
| 6 | 6 | ||
| 7 | # This file is free software; the Free Software Foundation | 7 | # This file is free software; the Free Software Foundation |
| 8 | # gives unlimited permission to copy and/or distribute it, | 8 | # gives unlimited permission to copy and/or distribute it, |
| @@ -133,6 +133,7 @@ AC_DEFUN([gl_TIME_H_REQUIRE_DEFAULTS], | |||
| 133 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRPTIME]) | 133 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRPTIME]) |
| 134 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMEGM]) | 134 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMEGM]) |
| 135 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMESPEC_GET]) | 135 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMESPEC_GET]) |
| 136 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMESPEC_GETRES]) | ||
| 136 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIME_R]) | 137 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIME_R]) |
| 137 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIME_RZ]) | 138 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIME_RZ]) |
| 138 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TZSET]) | 139 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TZSET]) |
| @@ -151,6 +152,7 @@ AC_DEFUN([gl_TIME_H_DEFAULTS], | |||
| 151 | HAVE_STRPTIME=1; AC_SUBST([HAVE_STRPTIME]) | 152 | HAVE_STRPTIME=1; AC_SUBST([HAVE_STRPTIME]) |
| 152 | HAVE_TIMEGM=1; AC_SUBST([HAVE_TIMEGM]) | 153 | HAVE_TIMEGM=1; AC_SUBST([HAVE_TIMEGM]) |
| 153 | HAVE_TIMESPEC_GET=1; AC_SUBST([HAVE_TIMESPEC_GET]) | 154 | HAVE_TIMESPEC_GET=1; AC_SUBST([HAVE_TIMESPEC_GET]) |
| 155 | HAVE_TIMESPEC_GETRES=1; AC_SUBST([HAVE_TIMESPEC_GETRES]) | ||
| 154 | dnl Even GNU libc does not have timezone_t yet. | 156 | dnl Even GNU libc does not have timezone_t yet. |
| 155 | HAVE_TIMEZONE_T=0; AC_SUBST([HAVE_TIMEZONE_T]) | 157 | HAVE_TIMEZONE_T=0; AC_SUBST([HAVE_TIMEZONE_T]) |
| 156 | dnl If another module says to replace or to not replace, do that. | 158 | dnl If another module says to replace or to not replace, do that. |
diff --git a/gl/m4/time_r.m4 b/gl/m4/time_r.m4 index 2d49b64f..8a1ad9da 100644 --- a/gl/m4/time_r.m4 +++ b/gl/m4/time_r.m4 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | dnl Reentrant time functions: localtime_r, gmtime_r. | 1 | dnl Reentrant time functions: localtime_r, gmtime_r. |
| 2 | 2 | ||
| 3 | dnl Copyright (C) 2003, 2006-2021 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 2003, 2006-2022 Free Software Foundation, Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
| 6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/timegm.m4 b/gl/m4/timegm.m4 index 58123beb..f1893941 100644 --- a/gl/m4/timegm.m4 +++ b/gl/m4/timegm.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # timegm.m4 serial 13 | 1 | # timegm.m4 serial 13 |
| 2 | dnl Copyright (C) 2003, 2007, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/ungetc.m4 b/gl/m4/ungetc.m4 index dd5d1ddc..12a10991 100644 --- a/gl/m4/ungetc.m4 +++ b/gl/m4/ungetc.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # ungetc.m4 serial 10 | 1 | # ungetc.m4 serial 10 |
| 2 | dnl Copyright (C) 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/unistd_h.m4 b/gl/m4/unistd_h.m4 index 0ce4ea45..4c66ccc0 100644 --- a/gl/m4/unistd_h.m4 +++ b/gl/m4/unistd_h.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # unistd_h.m4 serial 89 | 1 | # unistd_h.m4 serial 90 |
| 2 | dnl Copyright (C) 2006-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2006-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -112,6 +112,7 @@ AC_DEFUN([gl_UNISTD_H_REQUIRE_DEFAULTS], | |||
| 112 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETOPT_POSIX]) | 112 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETOPT_POSIX]) |
| 113 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPAGESIZE]) | 113 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPAGESIZE]) |
| 114 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPASS]) | 114 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPASS]) |
| 115 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPASS_GNU]) | ||
| 115 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETUSERSHELL]) | 116 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETUSERSHELL]) |
| 116 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GROUP_MEMBER]) | 117 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GROUP_MEMBER]) |
| 117 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISATTY]) | 118 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISATTY]) |
| @@ -170,98 +171,100 @@ AC_DEFUN([gl_UNISTD_H_REQUIRE_DEFAULTS], | |||
| 170 | AC_DEFUN([gl_UNISTD_H_DEFAULTS], | 171 | AC_DEFUN([gl_UNISTD_H_DEFAULTS], |
| 171 | [ | 172 | [ |
| 172 | dnl Assume proper GNU behavior unless another module says otherwise. | 173 | dnl Assume proper GNU behavior unless another module says otherwise. |
| 173 | HAVE_CHOWN=1; AC_SUBST([HAVE_CHOWN]) | 174 | HAVE_CHOWN=1; AC_SUBST([HAVE_CHOWN]) |
| 174 | HAVE_COPY_FILE_RANGE=1; AC_SUBST([HAVE_COPY_FILE_RANGE]) | 175 | HAVE_COPY_FILE_RANGE=1; AC_SUBST([HAVE_COPY_FILE_RANGE]) |
| 175 | HAVE_DUP3=1; AC_SUBST([HAVE_DUP3]) | 176 | HAVE_DUP3=1; AC_SUBST([HAVE_DUP3]) |
| 176 | HAVE_EUIDACCESS=1; AC_SUBST([HAVE_EUIDACCESS]) | 177 | HAVE_EUIDACCESS=1; AC_SUBST([HAVE_EUIDACCESS]) |
| 177 | HAVE_EXECVPE=1; AC_SUBST([HAVE_EXECVPE]) | 178 | HAVE_EXECVPE=1; AC_SUBST([HAVE_EXECVPE]) |
| 178 | HAVE_FACCESSAT=1; AC_SUBST([HAVE_FACCESSAT]) | 179 | HAVE_FACCESSAT=1; AC_SUBST([HAVE_FACCESSAT]) |
| 179 | HAVE_FCHDIR=1; AC_SUBST([HAVE_FCHDIR]) | 180 | HAVE_FCHDIR=1; AC_SUBST([HAVE_FCHDIR]) |
| 180 | HAVE_FCHOWNAT=1; AC_SUBST([HAVE_FCHOWNAT]) | 181 | HAVE_FCHOWNAT=1; AC_SUBST([HAVE_FCHOWNAT]) |
| 181 | HAVE_FDATASYNC=1; AC_SUBST([HAVE_FDATASYNC]) | 182 | HAVE_FDATASYNC=1; AC_SUBST([HAVE_FDATASYNC]) |
| 182 | HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC]) | 183 | HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC]) |
| 183 | HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE]) | 184 | HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE]) |
| 184 | HAVE_GETDTABLESIZE=1; AC_SUBST([HAVE_GETDTABLESIZE]) | 185 | HAVE_GETDTABLESIZE=1; AC_SUBST([HAVE_GETDTABLESIZE]) |
| 185 | HAVE_GETENTROPY=1; AC_SUBST([HAVE_GETENTROPY]) | 186 | HAVE_GETENTROPY=1; AC_SUBST([HAVE_GETENTROPY]) |
| 186 | HAVE_GETGROUPS=1; AC_SUBST([HAVE_GETGROUPS]) | 187 | HAVE_GETGROUPS=1; AC_SUBST([HAVE_GETGROUPS]) |
| 187 | HAVE_GETHOSTNAME=1; AC_SUBST([HAVE_GETHOSTNAME]) | 188 | HAVE_GETHOSTNAME=1; AC_SUBST([HAVE_GETHOSTNAME]) |
| 188 | HAVE_GETLOGIN=1; AC_SUBST([HAVE_GETLOGIN]) | 189 | HAVE_GETLOGIN=1; AC_SUBST([HAVE_GETLOGIN]) |
| 189 | HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE]) | 190 | HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE]) |
| 190 | HAVE_GETPASS=1; AC_SUBST([HAVE_GETPASS]) | 191 | HAVE_GETPASS=1; AC_SUBST([HAVE_GETPASS]) |
| 191 | HAVE_GROUP_MEMBER=1; AC_SUBST([HAVE_GROUP_MEMBER]) | 192 | HAVE_GROUP_MEMBER=1; AC_SUBST([HAVE_GROUP_MEMBER]) |
| 192 | HAVE_LCHOWN=1; AC_SUBST([HAVE_LCHOWN]) | 193 | HAVE_LCHOWN=1; AC_SUBST([HAVE_LCHOWN]) |
| 193 | HAVE_LINK=1; AC_SUBST([HAVE_LINK]) | 194 | HAVE_LINK=1; AC_SUBST([HAVE_LINK]) |
| 194 | HAVE_LINKAT=1; AC_SUBST([HAVE_LINKAT]) | 195 | HAVE_LINKAT=1; AC_SUBST([HAVE_LINKAT]) |
| 195 | HAVE_PIPE=1; AC_SUBST([HAVE_PIPE]) | 196 | HAVE_PIPE=1; AC_SUBST([HAVE_PIPE]) |
| 196 | HAVE_PIPE2=1; AC_SUBST([HAVE_PIPE2]) | 197 | HAVE_PIPE2=1; AC_SUBST([HAVE_PIPE2]) |
| 197 | HAVE_PREAD=1; AC_SUBST([HAVE_PREAD]) | 198 | HAVE_PREAD=1; AC_SUBST([HAVE_PREAD]) |
| 198 | HAVE_PWRITE=1; AC_SUBST([HAVE_PWRITE]) | 199 | HAVE_PWRITE=1; AC_SUBST([HAVE_PWRITE]) |
| 199 | HAVE_READLINK=1; AC_SUBST([HAVE_READLINK]) | 200 | HAVE_READLINK=1; AC_SUBST([HAVE_READLINK]) |
| 200 | HAVE_READLINKAT=1; AC_SUBST([HAVE_READLINKAT]) | 201 | HAVE_READLINKAT=1; AC_SUBST([HAVE_READLINKAT]) |
| 201 | HAVE_SETHOSTNAME=1; AC_SUBST([HAVE_SETHOSTNAME]) | 202 | HAVE_SETHOSTNAME=1; AC_SUBST([HAVE_SETHOSTNAME]) |
| 202 | HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP]) | 203 | HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP]) |
| 203 | HAVE_SYMLINK=1; AC_SUBST([HAVE_SYMLINK]) | 204 | HAVE_SYMLINK=1; AC_SUBST([HAVE_SYMLINK]) |
| 204 | HAVE_SYMLINKAT=1; AC_SUBST([HAVE_SYMLINKAT]) | 205 | HAVE_SYMLINKAT=1; AC_SUBST([HAVE_SYMLINKAT]) |
| 205 | HAVE_UNLINKAT=1; AC_SUBST([HAVE_UNLINKAT]) | 206 | HAVE_UNLINKAT=1; AC_SUBST([HAVE_UNLINKAT]) |
| 206 | HAVE_USLEEP=1; AC_SUBST([HAVE_USLEEP]) | 207 | HAVE_USLEEP=1; AC_SUBST([HAVE_USLEEP]) |
| 207 | HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON]) | 208 | HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON]) |
| 208 | HAVE_DECL_EXECVPE=1; AC_SUBST([HAVE_DECL_EXECVPE]) | 209 | HAVE_DECL_EXECVPE=1; AC_SUBST([HAVE_DECL_EXECVPE]) |
| 209 | HAVE_DECL_FCHDIR=1; AC_SUBST([HAVE_DECL_FCHDIR]) | 210 | HAVE_DECL_FCHDIR=1; AC_SUBST([HAVE_DECL_FCHDIR]) |
| 210 | HAVE_DECL_FDATASYNC=1; AC_SUBST([HAVE_DECL_FDATASYNC]) | 211 | HAVE_DECL_FDATASYNC=1; AC_SUBST([HAVE_DECL_FDATASYNC]) |
| 211 | HAVE_DECL_GETDOMAINNAME=1; AC_SUBST([HAVE_DECL_GETDOMAINNAME]) | 212 | HAVE_DECL_GETDOMAINNAME=1; AC_SUBST([HAVE_DECL_GETDOMAINNAME]) |
| 212 | HAVE_DECL_GETLOGIN=1; AC_SUBST([HAVE_DECL_GETLOGIN]) | 213 | HAVE_DECL_GETLOGIN=1; AC_SUBST([HAVE_DECL_GETLOGIN]) |
| 213 | HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R]) | 214 | HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R]) |
| 214 | HAVE_DECL_GETPAGESIZE=1; AC_SUBST([HAVE_DECL_GETPAGESIZE]) | 215 | HAVE_DECL_GETPAGESIZE=1; AC_SUBST([HAVE_DECL_GETPAGESIZE]) |
| 215 | HAVE_DECL_GETUSERSHELL=1; AC_SUBST([HAVE_DECL_GETUSERSHELL]) | 216 | HAVE_DECL_GETUSERSHELL=1; AC_SUBST([HAVE_DECL_GETUSERSHELL]) |
| 216 | HAVE_DECL_SETHOSTNAME=1; AC_SUBST([HAVE_DECL_SETHOSTNAME]) | 217 | HAVE_DECL_SETHOSTNAME=1; AC_SUBST([HAVE_DECL_SETHOSTNAME]) |
| 217 | HAVE_DECL_TRUNCATE=1; AC_SUBST([HAVE_DECL_TRUNCATE]) | 218 | HAVE_DECL_TRUNCATE=1; AC_SUBST([HAVE_DECL_TRUNCATE]) |
| 218 | HAVE_DECL_TTYNAME_R=1; AC_SUBST([HAVE_DECL_TTYNAME_R]) | 219 | HAVE_DECL_TTYNAME_R=1; AC_SUBST([HAVE_DECL_TTYNAME_R]) |
| 219 | HAVE_OS_H=0; AC_SUBST([HAVE_OS_H]) | 220 | HAVE_OS_H=0; AC_SUBST([HAVE_OS_H]) |
| 220 | HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H]) | 221 | HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H]) |
| 221 | REPLACE_ACCESS=0; AC_SUBST([REPLACE_ACCESS]) | 222 | REPLACE_ACCESS=0; AC_SUBST([REPLACE_ACCESS]) |
| 222 | REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN]) | 223 | REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN]) |
| 223 | REPLACE_CLOSE=0; AC_SUBST([REPLACE_CLOSE]) | 224 | REPLACE_CLOSE=0; AC_SUBST([REPLACE_CLOSE]) |
| 224 | REPLACE_DUP=0; AC_SUBST([REPLACE_DUP]) | 225 | REPLACE_COPY_FILE_RANGE=0; AC_SUBST([REPLACE_COPY_FILE_RANGE]) |
| 225 | REPLACE_DUP2=0; AC_SUBST([REPLACE_DUP2]) | 226 | REPLACE_DUP=0; AC_SUBST([REPLACE_DUP]) |
| 226 | REPLACE_EXECL=0; AC_SUBST([REPLACE_EXECL]) | 227 | REPLACE_DUP2=0; AC_SUBST([REPLACE_DUP2]) |
| 227 | REPLACE_EXECLE=0; AC_SUBST([REPLACE_EXECLE]) | 228 | REPLACE_EXECL=0; AC_SUBST([REPLACE_EXECL]) |
| 228 | REPLACE_EXECLP=0; AC_SUBST([REPLACE_EXECLP]) | 229 | REPLACE_EXECLE=0; AC_SUBST([REPLACE_EXECLE]) |
| 229 | REPLACE_EXECV=0; AC_SUBST([REPLACE_EXECV]) | 230 | REPLACE_EXECLP=0; AC_SUBST([REPLACE_EXECLP]) |
| 230 | REPLACE_EXECVE=0; AC_SUBST([REPLACE_EXECVE]) | 231 | REPLACE_EXECV=0; AC_SUBST([REPLACE_EXECV]) |
| 231 | REPLACE_EXECVP=0; AC_SUBST([REPLACE_EXECVP]) | 232 | REPLACE_EXECVE=0; AC_SUBST([REPLACE_EXECVE]) |
| 232 | REPLACE_EXECVPE=0; AC_SUBST([REPLACE_EXECVPE]) | 233 | REPLACE_EXECVP=0; AC_SUBST([REPLACE_EXECVP]) |
| 233 | REPLACE_FACCESSAT=0; AC_SUBST([REPLACE_FACCESSAT]) | 234 | REPLACE_EXECVPE=0; AC_SUBST([REPLACE_EXECVPE]) |
| 234 | REPLACE_FCHOWNAT=0; AC_SUBST([REPLACE_FCHOWNAT]) | 235 | REPLACE_FACCESSAT=0; AC_SUBST([REPLACE_FACCESSAT]) |
| 235 | REPLACE_FTRUNCATE=0; AC_SUBST([REPLACE_FTRUNCATE]) | 236 | REPLACE_FCHOWNAT=0; AC_SUBST([REPLACE_FCHOWNAT]) |
| 236 | REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD]) | 237 | REPLACE_FTRUNCATE=0; AC_SUBST([REPLACE_FTRUNCATE]) |
| 237 | REPLACE_GETDOMAINNAME=0; AC_SUBST([REPLACE_GETDOMAINNAME]) | 238 | REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD]) |
| 238 | REPLACE_GETDTABLESIZE=0; AC_SUBST([REPLACE_GETDTABLESIZE]) | 239 | REPLACE_GETDOMAINNAME=0; AC_SUBST([REPLACE_GETDOMAINNAME]) |
| 239 | REPLACE_GETLOGIN_R=0; AC_SUBST([REPLACE_GETLOGIN_R]) | 240 | REPLACE_GETDTABLESIZE=0; AC_SUBST([REPLACE_GETDTABLESIZE]) |
| 240 | REPLACE_GETGROUPS=0; AC_SUBST([REPLACE_GETGROUPS]) | 241 | REPLACE_GETLOGIN_R=0; AC_SUBST([REPLACE_GETLOGIN_R]) |
| 241 | REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE]) | 242 | REPLACE_GETGROUPS=0; AC_SUBST([REPLACE_GETGROUPS]) |
| 242 | REPLACE_GETPASS=0; AC_SUBST([REPLACE_GETPASS]) | 243 | REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE]) |
| 243 | REPLACE_ISATTY=0; AC_SUBST([REPLACE_ISATTY]) | 244 | REPLACE_GETPASS=0; AC_SUBST([REPLACE_GETPASS]) |
| 244 | REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN]) | 245 | REPLACE_GETPASS_FOR_GETPASS_GNU=0; AC_SUBST([REPLACE_GETPASS_FOR_GETPASS_GNU]) |
| 245 | REPLACE_LINK=0; AC_SUBST([REPLACE_LINK]) | 246 | REPLACE_ISATTY=0; AC_SUBST([REPLACE_ISATTY]) |
| 246 | REPLACE_LINKAT=0; AC_SUBST([REPLACE_LINKAT]) | 247 | REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN]) |
| 247 | REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK]) | 248 | REPLACE_LINK=0; AC_SUBST([REPLACE_LINK]) |
| 248 | REPLACE_PREAD=0; AC_SUBST([REPLACE_PREAD]) | 249 | REPLACE_LINKAT=0; AC_SUBST([REPLACE_LINKAT]) |
| 249 | REPLACE_PWRITE=0; AC_SUBST([REPLACE_PWRITE]) | 250 | REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK]) |
| 250 | REPLACE_READ=0; AC_SUBST([REPLACE_READ]) | 251 | REPLACE_PREAD=0; AC_SUBST([REPLACE_PREAD]) |
| 251 | REPLACE_READLINK=0; AC_SUBST([REPLACE_READLINK]) | 252 | REPLACE_PWRITE=0; AC_SUBST([REPLACE_PWRITE]) |
| 252 | REPLACE_READLINKAT=0; AC_SUBST([REPLACE_READLINKAT]) | 253 | REPLACE_READ=0; AC_SUBST([REPLACE_READ]) |
| 253 | REPLACE_RMDIR=0; AC_SUBST([REPLACE_RMDIR]) | 254 | REPLACE_READLINK=0; AC_SUBST([REPLACE_READLINK]) |
| 254 | REPLACE_SLEEP=0; AC_SUBST([REPLACE_SLEEP]) | 255 | REPLACE_READLINKAT=0; AC_SUBST([REPLACE_READLINKAT]) |
| 255 | REPLACE_SYMLINK=0; AC_SUBST([REPLACE_SYMLINK]) | 256 | REPLACE_RMDIR=0; AC_SUBST([REPLACE_RMDIR]) |
| 256 | REPLACE_SYMLINKAT=0; AC_SUBST([REPLACE_SYMLINKAT]) | 257 | REPLACE_SLEEP=0; AC_SUBST([REPLACE_SLEEP]) |
| 257 | REPLACE_TRUNCATE=0; AC_SUBST([REPLACE_TRUNCATE]) | 258 | REPLACE_SYMLINK=0; AC_SUBST([REPLACE_SYMLINK]) |
| 258 | REPLACE_TTYNAME_R=0; AC_SUBST([REPLACE_TTYNAME_R]) | 259 | REPLACE_SYMLINKAT=0; AC_SUBST([REPLACE_SYMLINKAT]) |
| 259 | REPLACE_UNLINK=0; AC_SUBST([REPLACE_UNLINK]) | 260 | REPLACE_TRUNCATE=0; AC_SUBST([REPLACE_TRUNCATE]) |
| 260 | REPLACE_UNLINKAT=0; AC_SUBST([REPLACE_UNLINKAT]) | 261 | REPLACE_TTYNAME_R=0; AC_SUBST([REPLACE_TTYNAME_R]) |
| 261 | REPLACE_USLEEP=0; AC_SUBST([REPLACE_USLEEP]) | 262 | REPLACE_UNLINK=0; AC_SUBST([REPLACE_UNLINK]) |
| 262 | REPLACE_WRITE=0; AC_SUBST([REPLACE_WRITE]) | 263 | REPLACE_UNLINKAT=0; AC_SUBST([REPLACE_UNLINKAT]) |
| 263 | UNISTD_H_HAVE_SYS_RANDOM_H=0; AC_SUBST([UNISTD_H_HAVE_SYS_RANDOM_H]) | 264 | REPLACE_USLEEP=0; AC_SUBST([REPLACE_USLEEP]) |
| 264 | UNISTD_H_HAVE_WINSOCK2_H=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H]) | 265 | REPLACE_WRITE=0; AC_SUBST([REPLACE_WRITE]) |
| 266 | UNISTD_H_HAVE_SYS_RANDOM_H=0; AC_SUBST([UNISTD_H_HAVE_SYS_RANDOM_H]) | ||
| 267 | UNISTD_H_HAVE_WINSOCK2_H=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H]) | ||
| 265 | UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0; | 268 | UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0; |
| 266 | AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS]) | 269 | AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS]) |
| 267 | ]) | 270 | ]) |
diff --git a/gl/m4/unlocked-io.m4 b/gl/m4/unlocked-io.m4 index b689020f..d42c95ce 100644 --- a/gl/m4/unlocked-io.m4 +++ b/gl/m4/unlocked-io.m4 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | # unlocked-io.m4 serial 16 | 1 | # unlocked-io.m4 serial 16 |
| 2 | 2 | ||
| 3 | # Copyright (C) 1998-2006, 2009-2021 Free Software Foundation, Inc. | 3 | # Copyright (C) 1998-2006, 2009-2022 Free Software Foundation, Inc. |
| 4 | # | 4 | # |
| 5 | # This file is free software; the Free Software Foundation | 5 | # This file is free software; the Free Software Foundation |
| 6 | # gives unlimited permission to copy and/or distribute it, | 6 | # gives unlimited permission to copy and/or distribute it, |
diff --git a/gl/m4/vararrays.m4 b/gl/m4/vararrays.m4 new file mode 100644 index 00000000..28e22a49 --- /dev/null +++ b/gl/m4/vararrays.m4 | |||
| @@ -0,0 +1,72 @@ | |||
| 1 | # Check for variable-length arrays. | ||
| 2 | |||
| 3 | # serial 6 | ||
| 4 | |||
| 5 | # From Paul Eggert | ||
| 6 | |||
| 7 | # Copyright (C) 2001, 2009-2022 Free Software Foundation, Inc. | ||
| 8 | # This file is free software; the Free Software Foundation | ||
| 9 | # gives unlimited permission to copy and/or distribute it, | ||
| 10 | # with or without modifications, as long as this notice is preserved. | ||
| 11 | |||
| 12 | m4_version_prereq([2.70], [], [ | ||
| 13 | |||
| 14 | # AC_C_VARARRAYS | ||
| 15 | # -------------- | ||
| 16 | # Check whether the C compiler supports variable-length arrays. | ||
| 17 | AC_DEFUN([AC_C_VARARRAYS], | ||
| 18 | [ | ||
| 19 | AC_CACHE_CHECK([for variable-length arrays], | ||
| 20 | ac_cv_c_vararrays, | ||
| 21 | [AC_EGREP_CPP([defined], | ||
| 22 | [#ifdef __STDC_NO_VLA__ | ||
| 23 | defined | ||
| 24 | #endif | ||
| 25 | ], | ||
| 26 | [ac_cv_c_vararrays='no: __STDC_NO_VLA__ is defined'], | ||
| 27 | [AC_COMPILE_IFELSE( | ||
| 28 | [AC_LANG_PROGRAM( | ||
| 29 | [[/* Test for VLA support. This test is partly inspired | ||
| 30 | from examples in the C standard. Use at least two VLA | ||
| 31 | functions to detect the GCC 3.4.3 bug described in: | ||
| 32 | https://lists.gnu.org/archive/html/bug-gnulib/2014-08/msg00014.html | ||
| 33 | */ | ||
| 34 | #ifdef __STDC_NO_VLA__ | ||
| 35 | syntax error; | ||
| 36 | #else | ||
| 37 | extern int n; | ||
| 38 | int B[100]; | ||
| 39 | int fvla (int m, int C[m][m]); | ||
| 40 | |||
| 41 | int | ||
| 42 | simple (int count, int all[static count]) | ||
| 43 | { | ||
| 44 | return all[count - 1]; | ||
| 45 | } | ||
| 46 | |||
| 47 | int | ||
| 48 | fvla (int m, int C[m][m]) | ||
| 49 | { | ||
| 50 | typedef int VLA[m][m]; | ||
| 51 | VLA x; | ||
| 52 | int D[m]; | ||
| 53 | static int (*q)[m] = &B; | ||
| 54 | int (*s)[n] = q; | ||
| 55 | return C && &x[0][0] == &D[0] && &D[0] == s[0]; | ||
| 56 | } | ||
| 57 | #endif | ||
| 58 | ]])], | ||
| 59 | [ac_cv_c_vararrays=yes], | ||
| 60 | [ac_cv_c_vararrays=no])])]) | ||
| 61 | if test "$ac_cv_c_vararrays" = yes; then | ||
| 62 | dnl This is for compatibility with Autoconf 2.61-2.69. | ||
| 63 | AC_DEFINE([HAVE_C_VARARRAYS], 1, | ||
| 64 | [Define to 1 if C supports variable-length arrays.]) | ||
| 65 | elif test "$ac_cv_c_vararrays" = no; then | ||
| 66 | AC_DEFINE([__STDC_NO_VLA__], 1, | ||
| 67 | [Define to 1 if C does not support variable-length arrays, and | ||
| 68 | if the compiler does not already define this.]) | ||
| 69 | fi | ||
| 70 | ]) | ||
| 71 | |||
| 72 | ]) | ||
diff --git a/gl/m4/vasnprintf.m4 b/gl/m4/vasnprintf.m4 index 483bba96..afdece71 100644 --- a/gl/m4/vasnprintf.m4 +++ b/gl/m4/vasnprintf.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # vasnprintf.m4 serial 38 | 1 | # vasnprintf.m4 serial 38 |
| 2 | dnl Copyright (C) 2002-2004, 2006-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2004, 2006-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/vasprintf.m4 b/gl/m4/vasprintf.m4 index a26de845..b92977b6 100644 --- a/gl/m4/vasprintf.m4 +++ b/gl/m4/vasprintf.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # vasprintf.m4 serial 6 | 1 | # vasprintf.m4 serial 6 |
| 2 | dnl Copyright (C) 2002-2003, 2006-2007, 2009-2021 Free Software Foundation, | 2 | dnl Copyright (C) 2002-2003, 2006-2007, 2009-2022 Free Software Foundation, |
| 3 | dnl Inc. | 3 | dnl Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
diff --git a/gl/m4/visibility.m4 b/gl/m4/visibility.m4 index d161bd7f..4a212a4e 100644 --- a/gl/m4/visibility.m4 +++ b/gl/m4/visibility.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # visibility.m4 serial 8 | 1 | # visibility.m4 serial 8 |
| 2 | dnl Copyright (C) 2005, 2008, 2010-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2005, 2008, 2010-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/vsnprintf.m4 b/gl/m4/vsnprintf.m4 index 5f5375e6..02b448f3 100644 --- a/gl/m4/vsnprintf.m4 +++ b/gl/m4/vsnprintf.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # vsnprintf.m4 serial 7 | 1 | # vsnprintf.m4 serial 7 |
| 2 | dnl Copyright (C) 2002-2004, 2007-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2004, 2007-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/warn-on-use.m4 b/gl/m4/warn-on-use.m4 index 04edfe85..d43355ab 100644 --- a/gl/m4/warn-on-use.m4 +++ b/gl/m4/warn-on-use.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # warn-on-use.m4 serial 9 | 1 | # warn-on-use.m4 serial 9 |
| 2 | dnl Copyright (C) 2010-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2010-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/wchar_h.m4 b/gl/m4/wchar_h.m4 index 9529cdd0..4baba1af 100644 --- a/gl/m4/wchar_h.m4 +++ b/gl/m4/wchar_h.m4 | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues. | 1 | dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues. |
| 2 | 2 | ||
| 3 | dnl Copyright (C) 2007-2021 Free Software Foundation, Inc. | 3 | dnl Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 4 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 5 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
| 6 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/wchar_t.m4 b/gl/m4/wchar_t.m4 index 34db10e5..268e3e51 100644 --- a/gl/m4/wchar_t.m4 +++ b/gl/m4/wchar_t.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # wchar_t.m4 serial 4 (gettext-0.18.2) | 1 | # wchar_t.m4 serial 4 (gettext-0.18.2) |
| 2 | dnl Copyright (C) 2002-2003, 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2003, 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/wcrtomb.m4 b/gl/m4/wcrtomb.m4 index cd96f116..fee21d7e 100644 --- a/gl/m4/wcrtomb.m4 +++ b/gl/m4/wcrtomb.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # wcrtomb.m4 serial 17 | 1 | # wcrtomb.m4 serial 17 |
| 2 | dnl Copyright (C) 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/wctype_h.m4 b/gl/m4/wctype_h.m4 index 7d742127..702cb39c 100644 --- a/gl/m4/wctype_h.m4 +++ b/gl/m4/wctype_h.m4 | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | dnl A placeholder for ISO C99 <wctype.h>, for platforms that lack it. | 3 | dnl A placeholder for ISO C99 <wctype.h>, for platforms that lack it. |
| 4 | 4 | ||
| 5 | dnl Copyright (C) 2006-2021 Free Software Foundation, Inc. | 5 | dnl Copyright (C) 2006-2022 Free Software Foundation, Inc. |
| 6 | dnl This file is free software; the Free Software Foundation | 6 | dnl This file is free software; the Free Software Foundation |
| 7 | dnl gives unlimited permission to copy and/or distribute it, | 7 | dnl gives unlimited permission to copy and/or distribute it, |
| 8 | dnl with or without modifications, as long as this notice is preserved. | 8 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/wint_t.m4 b/gl/m4/wint_t.m4 index a49c5081..adc58661 100644 --- a/gl/m4/wint_t.m4 +++ b/gl/m4/wint_t.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # wint_t.m4 serial 11 | 1 | # wint_t.m4 serial 11 |
| 2 | dnl Copyright (C) 2003, 2007-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003, 2007-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/xalloc.m4 b/gl/m4/xalloc.m4 index 8fabf1c3..17a9c06d 100644 --- a/gl/m4/xalloc.m4 +++ b/gl/m4/xalloc.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # xalloc.m4 serial 18 | 1 | # xalloc.m4 serial 18 |
| 2 | dnl Copyright (C) 2002-2006, 2009-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2002-2006, 2009-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/xsize.m4 b/gl/m4/xsize.m4 index 64e8a4f4..0109049e 100644 --- a/gl/m4/xsize.m4 +++ b/gl/m4/xsize.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # xsize.m4 serial 5 | 1 | # xsize.m4 serial 5 |
| 2 | dnl Copyright (C) 2003-2004, 2008-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2003-2004, 2008-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/m4/year2038.m4 b/gl/m4/year2038.m4 index da0f8d73..2e4427e6 100644 --- a/gl/m4/year2038.m4 +++ b/gl/m4/year2038.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # year2038.m4 serial 7 | 1 | # year2038.m4 serial 8 |
| 2 | dnl Copyright (C) 2017-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2017-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
| @@ -7,6 +7,12 @@ dnl with or without modifications, as long as this notice is preserved. | |||
| 7 | dnl Attempt to ensure that 'time_t' can go past the year 2038 and that | 7 | dnl Attempt to ensure that 'time_t' can go past the year 2038 and that |
| 8 | dnl the functions 'time', 'stat', etc. work with post-2038 timestamps. | 8 | dnl the functions 'time', 'stat', etc. work with post-2038 timestamps. |
| 9 | 9 | ||
| 10 | m4_ifdef([AC_SYS_YEAR2038], [ | ||
| 11 | AC_DEFUN([gl_YEAR2038_EARLY]) | ||
| 12 | AC_DEFUN([gl_YEAR2038], [AC_SYS_YEAR2038]) | ||
| 13 | AC_DEFUN([gl_YEAR2038_BODY], [_AC_SYS_YEAR2038]) | ||
| 14 | ], [ | ||
| 15 | |||
| 10 | AC_DEFUN([gl_YEAR2038_EARLY], | 16 | AC_DEFUN([gl_YEAR2038_EARLY], |
| 11 | [ | 17 | [ |
| 12 | AC_REQUIRE([AC_CANONICAL_HOST]) | 18 | AC_REQUIRE([AC_CANONICAL_HOST]) |
| @@ -122,3 +128,5 @@ AC_DEFUN([gl_YEAR2038], | |||
| 122 | [ | 128 | [ |
| 123 | gl_YEAR2038_BODY([require-year2038-safe]) | 129 | gl_YEAR2038_BODY([require-year2038-safe]) |
| 124 | ]) | 130 | ]) |
| 131 | |||
| 132 | ]) # m4_ifndef AC_SYS_YEAR2038 | ||
diff --git a/gl/m4/zzgnulib.m4 b/gl/m4/zzgnulib.m4 index b9533847..fd73a201 100644 --- a/gl/m4/zzgnulib.m4 +++ b/gl/m4/zzgnulib.m4 | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # zzgnulib.m4 serial 1 | 1 | # zzgnulib.m4 serial 1 |
| 2 | dnl Copyright (C) 2020-2021 Free Software Foundation, Inc. | 2 | dnl Copyright (C) 2020-2022 Free Software Foundation, Inc. |
| 3 | dnl This file is free software; the Free Software Foundation | 3 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 4 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 5 | dnl with or without modifications, as long as this notice is preserved. |
diff --git a/gl/malloc.c b/gl/malloc.c index 0d8b3596..f334dd6e 100644 --- a/gl/malloc.c +++ b/gl/malloc.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* malloc() function that is glibc compatible. | 1 | /* malloc() function that is glibc compatible. |
| 2 | 2 | ||
| 3 | Copyright (C) 1997-1998, 2006-2007, 2009-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 1997-1998, 2006-2007, 2009-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/malloc/.deps/.dirstamp b/gl/malloc/.deps/.dirstamp new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/gl/malloc/.deps/.dirstamp | |||
diff --git a/gl/malloc/.deps/dynarray-skeleton.Po b/gl/malloc/.deps/dynarray-skeleton.Po new file mode 100644 index 00000000..9ce06a81 --- /dev/null +++ b/gl/malloc/.deps/dynarray-skeleton.Po | |||
| @@ -0,0 +1 @@ | |||
| # dummy | |||
diff --git a/gl/malloc/.deps/dynarray_at_failure.Po b/gl/malloc/.deps/dynarray_at_failure.Po new file mode 100644 index 00000000..a5b1cb97 --- /dev/null +++ b/gl/malloc/.deps/dynarray_at_failure.Po | |||
| @@ -0,0 +1,232 @@ | |||
| 1 | malloc/dynarray_at_failure.o: malloc/dynarray_at_failure.c libc-config.h \ | ||
| 2 | ../config.h \ | ||
| 3 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/errno.h \ | ||
| 4 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/features.h \ | ||
| 5 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/features-time64.h \ | ||
| 6 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/wordsize.h \ | ||
| 7 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/timesize.h \ | ||
| 8 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/stdc-predef.h \ | ||
| 9 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/cdefs.h \ | ||
| 10 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/long-double.h \ | ||
| 11 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/gnu/stubs.h \ | ||
| 12 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/gnu/stubs-64.h \ | ||
| 13 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/errno.h \ | ||
| 14 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/linux/errno.h \ | ||
| 15 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm/errno.h \ | ||
| 16 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm-generic/errno.h \ | ||
| 17 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm-generic/errno-base.h \ | ||
| 18 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/error_t.h \ | ||
| 19 | cdefs.h stdlib.h \ | ||
| 20 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/stdlib.h \ | ||
| 21 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/libc-header-start.h \ | ||
| 22 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/stddef.h \ | ||
| 23 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/waitflags.h \ | ||
| 24 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/waitstatus.h \ | ||
| 25 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/floatn.h \ | ||
| 26 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/floatn-common.h \ | ||
| 27 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/locale_t.h \ | ||
| 28 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__locale_t.h \ | ||
| 29 | sys/types.h \ | ||
| 30 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/types.h \ | ||
| 31 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types.h \ | ||
| 32 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/typesizes.h \ | ||
| 33 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/time64.h \ | ||
| 34 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/clock_t.h \ | ||
| 35 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/clockid_t.h \ | ||
| 36 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/time_t.h \ | ||
| 37 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/timer_t.h \ | ||
| 38 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdint-intn.h \ | ||
| 39 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/endian.h \ | ||
| 40 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/endian.h \ | ||
| 41 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/endianness.h \ | ||
| 42 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/byteswap.h \ | ||
| 43 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/uintn-identity.h \ | ||
| 44 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/select.h \ | ||
| 45 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/select.h \ | ||
| 46 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/sigset_t.h \ | ||
| 47 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__sigset_t.h \ | ||
| 48 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/struct_timeval.h \ | ||
| 49 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/struct_timespec.h \ | ||
| 50 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/pthreadtypes.h \ | ||
| 51 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/thread-shared-types.h \ | ||
| 52 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ | ||
| 53 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/struct_mutex.h \ | ||
| 54 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/struct_rwlock.h \ | ||
| 55 | alloca.h \ | ||
| 56 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdlib-bsearch.h \ | ||
| 57 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdlib-float.h \ | ||
| 58 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/__stddef_max_align_t.h \ | ||
| 59 | dynarray.h malloc/dynarray.h \ | ||
| 60 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/stdbool.h \ | ||
| 61 | string.h \ | ||
| 62 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/string.h \ | ||
| 63 | strings.h \ | ||
| 64 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/strings.h \ | ||
| 65 | stdio.h \ | ||
| 66 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/stdio.h \ | ||
| 67 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/stdarg.h \ | ||
| 68 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__fpos_t.h \ | ||
| 69 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__mbstate_t.h \ | ||
| 70 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__fpos64_t.h \ | ||
| 71 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__FILE.h \ | ||
| 72 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/FILE.h \ | ||
| 73 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/struct_FILE.h \ | ||
| 74 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/cookie_io_functions_t.h \ | ||
| 75 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdio_lim.h \ | ||
| 76 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdio.h | ||
| 77 | |||
| 78 | libc-config.h: | ||
| 79 | |||
| 80 | ../config.h: | ||
| 81 | |||
| 82 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/errno.h: | ||
| 83 | |||
| 84 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/features.h: | ||
| 85 | |||
| 86 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/features-time64.h: | ||
| 87 | |||
| 88 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/wordsize.h: | ||
| 89 | |||
| 90 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/timesize.h: | ||
| 91 | |||
| 92 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/stdc-predef.h: | ||
| 93 | |||
| 94 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/cdefs.h: | ||
| 95 | |||
| 96 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/long-double.h: | ||
| 97 | |||
| 98 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/gnu/stubs.h: | ||
| 99 | |||
| 100 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/gnu/stubs-64.h: | ||
| 101 | |||
| 102 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/errno.h: | ||
| 103 | |||
| 104 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/linux/errno.h: | ||
| 105 | |||
| 106 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm/errno.h: | ||
| 107 | |||
| 108 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm-generic/errno.h: | ||
| 109 | |||
| 110 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm-generic/errno-base.h: | ||
| 111 | |||
| 112 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/error_t.h: | ||
| 113 | |||
| 114 | cdefs.h: | ||
| 115 | |||
| 116 | stdlib.h: | ||
| 117 | |||
| 118 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/stdlib.h: | ||
| 119 | |||
| 120 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/libc-header-start.h: | ||
| 121 | |||
| 122 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/stddef.h: | ||
| 123 | |||
| 124 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/waitflags.h: | ||
| 125 | |||
| 126 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/waitstatus.h: | ||
| 127 | |||
| 128 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/floatn.h: | ||
| 129 | |||
| 130 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/floatn-common.h: | ||
| 131 | |||
| 132 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/locale_t.h: | ||
| 133 | |||
| 134 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__locale_t.h: | ||
| 135 | |||
| 136 | sys/types.h: | ||
| 137 | |||
| 138 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/types.h: | ||
| 139 | |||
| 140 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types.h: | ||
| 141 | |||
| 142 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/typesizes.h: | ||
| 143 | |||
| 144 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/time64.h: | ||
| 145 | |||
| 146 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/clock_t.h: | ||
| 147 | |||
| 148 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/clockid_t.h: | ||
| 149 | |||
| 150 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/time_t.h: | ||
| 151 | |||
| 152 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/timer_t.h: | ||
| 153 | |||
| 154 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdint-intn.h: | ||
| 155 | |||
| 156 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/endian.h: | ||
| 157 | |||
| 158 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/endian.h: | ||
| 159 | |||
| 160 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/endianness.h: | ||
| 161 | |||
| 162 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/byteswap.h: | ||
| 163 | |||
| 164 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/uintn-identity.h: | ||
| 165 | |||
| 166 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/select.h: | ||
| 167 | |||
| 168 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/select.h: | ||
| 169 | |||
| 170 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/sigset_t.h: | ||
| 171 | |||
| 172 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__sigset_t.h: | ||
| 173 | |||
| 174 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/struct_timeval.h: | ||
| 175 | |||
| 176 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/struct_timespec.h: | ||
| 177 | |||
| 178 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/pthreadtypes.h: | ||
| 179 | |||
| 180 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/thread-shared-types.h: | ||
| 181 | |||
| 182 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h: | ||
| 183 | |||
| 184 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/struct_mutex.h: | ||
| 185 | |||
| 186 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/struct_rwlock.h: | ||
| 187 | |||
| 188 | alloca.h: | ||
| 189 | |||
| 190 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdlib-bsearch.h: | ||
| 191 | |||
| 192 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdlib-float.h: | ||
| 193 | |||
| 194 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/__stddef_max_align_t.h: | ||
| 195 | |||
| 196 | dynarray.h: | ||
| 197 | |||
| 198 | malloc/dynarray.h: | ||
| 199 | |||
| 200 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/stdbool.h: | ||
| 201 | |||
| 202 | string.h: | ||
| 203 | |||
| 204 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/string.h: | ||
| 205 | |||
| 206 | strings.h: | ||
| 207 | |||
| 208 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/strings.h: | ||
| 209 | |||
| 210 | stdio.h: | ||
| 211 | |||
| 212 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/stdio.h: | ||
| 213 | |||
| 214 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/stdarg.h: | ||
| 215 | |||
| 216 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__fpos_t.h: | ||
| 217 | |||
| 218 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__mbstate_t.h: | ||
| 219 | |||
| 220 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__fpos64_t.h: | ||
| 221 | |||
| 222 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__FILE.h: | ||
| 223 | |||
| 224 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/FILE.h: | ||
| 225 | |||
| 226 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/struct_FILE.h: | ||
| 227 | |||
| 228 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/cookie_io_functions_t.h: | ||
| 229 | |||
| 230 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdio_lim.h: | ||
| 231 | |||
| 232 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdio.h: | ||
diff --git a/gl/malloc/.deps/dynarray_emplace_enlarge.Po b/gl/malloc/.deps/dynarray_emplace_enlarge.Po new file mode 100644 index 00000000..652de97f --- /dev/null +++ b/gl/malloc/.deps/dynarray_emplace_enlarge.Po | |||
| @@ -0,0 +1,231 @@ | |||
| 1 | malloc/dynarray_emplace_enlarge.o: malloc/dynarray_emplace_enlarge.c \ | ||
| 2 | libc-config.h ../config.h \ | ||
| 3 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/errno.h \ | ||
| 4 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/features.h \ | ||
| 5 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/features-time64.h \ | ||
| 6 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/wordsize.h \ | ||
| 7 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/timesize.h \ | ||
| 8 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/stdc-predef.h \ | ||
| 9 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/cdefs.h \ | ||
| 10 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/long-double.h \ | ||
| 11 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/gnu/stubs.h \ | ||
| 12 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/gnu/stubs-64.h \ | ||
| 13 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/errno.h \ | ||
| 14 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/linux/errno.h \ | ||
| 15 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm/errno.h \ | ||
| 16 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm-generic/errno.h \ | ||
| 17 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm-generic/errno-base.h \ | ||
| 18 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/error_t.h \ | ||
| 19 | cdefs.h dynarray.h malloc/dynarray.h \ | ||
| 20 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/stdbool.h \ | ||
| 21 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/stddef.h \ | ||
| 22 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/__stddef_max_align_t.h \ | ||
| 23 | string.h \ | ||
| 24 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/string.h \ | ||
| 25 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/libc-header-start.h \ | ||
| 26 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/locale_t.h \ | ||
| 27 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__locale_t.h \ | ||
| 28 | strings.h \ | ||
| 29 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/strings.h \ | ||
| 30 | intprops.h limits.h \ | ||
| 31 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/limits.h \ | ||
| 32 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/limits.h \ | ||
| 33 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/posix1_lim.h \ | ||
| 34 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/local_lim.h \ | ||
| 35 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/linux/limits.h \ | ||
| 36 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/pthread_stack_min-dynamic.h \ | ||
| 37 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/pthread_stack_min.h \ | ||
| 38 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/posix2_lim.h \ | ||
| 39 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/xopen_lim.h \ | ||
| 40 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/uio_lim.h \ | ||
| 41 | stdlib.h \ | ||
| 42 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/stdlib.h \ | ||
| 43 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/waitflags.h \ | ||
| 44 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/waitstatus.h \ | ||
| 45 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/floatn.h \ | ||
| 46 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/floatn-common.h \ | ||
| 47 | sys/types.h \ | ||
| 48 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/types.h \ | ||
| 49 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types.h \ | ||
| 50 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/typesizes.h \ | ||
| 51 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/time64.h \ | ||
| 52 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/clock_t.h \ | ||
| 53 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/clockid_t.h \ | ||
| 54 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/time_t.h \ | ||
| 55 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/timer_t.h \ | ||
| 56 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdint-intn.h \ | ||
| 57 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/endian.h \ | ||
| 58 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/endian.h \ | ||
| 59 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/endianness.h \ | ||
| 60 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/byteswap.h \ | ||
| 61 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/uintn-identity.h \ | ||
| 62 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/select.h \ | ||
| 63 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/select.h \ | ||
| 64 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/sigset_t.h \ | ||
| 65 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__sigset_t.h \ | ||
| 66 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/struct_timeval.h \ | ||
| 67 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/struct_timespec.h \ | ||
| 68 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/pthreadtypes.h \ | ||
| 69 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/thread-shared-types.h \ | ||
| 70 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ | ||
| 71 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/struct_mutex.h \ | ||
| 72 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/struct_rwlock.h \ | ||
| 73 | alloca.h \ | ||
| 74 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdlib-bsearch.h \ | ||
| 75 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdlib-float.h | ||
| 76 | |||
| 77 | libc-config.h: | ||
| 78 | |||
| 79 | ../config.h: | ||
| 80 | |||
| 81 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/errno.h: | ||
| 82 | |||
| 83 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/features.h: | ||
| 84 | |||
| 85 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/features-time64.h: | ||
| 86 | |||
| 87 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/wordsize.h: | ||
| 88 | |||
| 89 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/timesize.h: | ||
| 90 | |||
| 91 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/stdc-predef.h: | ||
| 92 | |||
| 93 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/cdefs.h: | ||
| 94 | |||
| 95 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/long-double.h: | ||
| 96 | |||
| 97 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/gnu/stubs.h: | ||
| 98 | |||
| 99 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/gnu/stubs-64.h: | ||
| 100 | |||
| 101 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/errno.h: | ||
| 102 | |||
| 103 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/linux/errno.h: | ||
| 104 | |||
| 105 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm/errno.h: | ||
| 106 | |||
| 107 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm-generic/errno.h: | ||
| 108 | |||
| 109 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm-generic/errno-base.h: | ||
| 110 | |||
| 111 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/error_t.h: | ||
| 112 | |||
| 113 | cdefs.h: | ||
| 114 | |||
| 115 | dynarray.h: | ||
| 116 | |||
| 117 | malloc/dynarray.h: | ||
| 118 | |||
| 119 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/stdbool.h: | ||
| 120 | |||
| 121 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/stddef.h: | ||
| 122 | |||
| 123 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/__stddef_max_align_t.h: | ||
| 124 | |||
| 125 | string.h: | ||
| 126 | |||
| 127 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/string.h: | ||
| 128 | |||
| 129 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/libc-header-start.h: | ||
| 130 | |||
| 131 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/locale_t.h: | ||
| 132 | |||
| 133 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__locale_t.h: | ||
| 134 | |||
| 135 | strings.h: | ||
| 136 | |||
| 137 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/strings.h: | ||
| 138 | |||
| 139 | intprops.h: | ||
| 140 | |||
| 141 | limits.h: | ||
| 142 | |||
| 143 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/limits.h: | ||
| 144 | |||
| 145 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/limits.h: | ||
| 146 | |||
| 147 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/posix1_lim.h: | ||
| 148 | |||
| 149 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/local_lim.h: | ||
| 150 | |||
| 151 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/linux/limits.h: | ||
| 152 | |||
| 153 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/pthread_stack_min-dynamic.h: | ||
| 154 | |||
| 155 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/pthread_stack_min.h: | ||
| 156 | |||
| 157 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/posix2_lim.h: | ||
| 158 | |||
| 159 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/xopen_lim.h: | ||
| 160 | |||
| 161 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/uio_lim.h: | ||
| 162 | |||
| 163 | stdlib.h: | ||
| 164 | |||
| 165 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/stdlib.h: | ||
| 166 | |||
| 167 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/waitflags.h: | ||
| 168 | |||
| 169 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/waitstatus.h: | ||
| 170 | |||
| 171 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/floatn.h: | ||
| 172 | |||
| 173 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/floatn-common.h: | ||
| 174 | |||
| 175 | sys/types.h: | ||
| 176 | |||
| 177 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/types.h: | ||
| 178 | |||
| 179 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types.h: | ||
| 180 | |||
| 181 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/typesizes.h: | ||
| 182 | |||
| 183 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/time64.h: | ||
| 184 | |||
| 185 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/clock_t.h: | ||
| 186 | |||
| 187 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/clockid_t.h: | ||
| 188 | |||
| 189 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/time_t.h: | ||
| 190 | |||
| 191 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/timer_t.h: | ||
| 192 | |||
| 193 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdint-intn.h: | ||
| 194 | |||
| 195 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/endian.h: | ||
| 196 | |||
| 197 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/endian.h: | ||
| 198 | |||
| 199 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/endianness.h: | ||
| 200 | |||
| 201 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/byteswap.h: | ||
| 202 | |||
| 203 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/uintn-identity.h: | ||
| 204 | |||
| 205 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/select.h: | ||
| 206 | |||
| 207 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/select.h: | ||
| 208 | |||
| 209 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/sigset_t.h: | ||
| 210 | |||
| 211 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__sigset_t.h: | ||
| 212 | |||
| 213 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/struct_timeval.h: | ||
| 214 | |||
| 215 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/struct_timespec.h: | ||
| 216 | |||
| 217 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/pthreadtypes.h: | ||
| 218 | |||
| 219 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/thread-shared-types.h: | ||
| 220 | |||
| 221 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h: | ||
| 222 | |||
| 223 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/struct_mutex.h: | ||
| 224 | |||
| 225 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/struct_rwlock.h: | ||
| 226 | |||
| 227 | alloca.h: | ||
| 228 | |||
| 229 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdlib-bsearch.h: | ||
| 230 | |||
| 231 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdlib-float.h: | ||
diff --git a/gl/malloc/.deps/dynarray_finalize.Po b/gl/malloc/.deps/dynarray_finalize.Po new file mode 100644 index 00000000..d7356c07 --- /dev/null +++ b/gl/malloc/.deps/dynarray_finalize.Po | |||
| @@ -0,0 +1,196 @@ | |||
| 1 | malloc/dynarray_finalize.o: malloc/dynarray_finalize.c libc-config.h \ | ||
| 2 | ../config.h \ | ||
| 3 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/errno.h \ | ||
| 4 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/features.h \ | ||
| 5 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/features-time64.h \ | ||
| 6 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/wordsize.h \ | ||
| 7 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/timesize.h \ | ||
| 8 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/stdc-predef.h \ | ||
| 9 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/cdefs.h \ | ||
| 10 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/long-double.h \ | ||
| 11 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/gnu/stubs.h \ | ||
| 12 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/gnu/stubs-64.h \ | ||
| 13 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/errno.h \ | ||
| 14 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/linux/errno.h \ | ||
| 15 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm/errno.h \ | ||
| 16 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm-generic/errno.h \ | ||
| 17 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm-generic/errno-base.h \ | ||
| 18 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/error_t.h \ | ||
| 19 | cdefs.h dynarray.h malloc/dynarray.h \ | ||
| 20 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/stdbool.h \ | ||
| 21 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/stddef.h \ | ||
| 22 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/__stddef_max_align_t.h \ | ||
| 23 | string.h \ | ||
| 24 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/string.h \ | ||
| 25 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/libc-header-start.h \ | ||
| 26 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/locale_t.h \ | ||
| 27 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__locale_t.h \ | ||
| 28 | strings.h \ | ||
| 29 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/strings.h \ | ||
| 30 | stdlib.h \ | ||
| 31 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/stdlib.h \ | ||
| 32 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/waitflags.h \ | ||
| 33 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/waitstatus.h \ | ||
| 34 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/floatn.h \ | ||
| 35 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/floatn-common.h \ | ||
| 36 | sys/types.h \ | ||
| 37 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/types.h \ | ||
| 38 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types.h \ | ||
| 39 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/typesizes.h \ | ||
| 40 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/time64.h \ | ||
| 41 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/clock_t.h \ | ||
| 42 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/clockid_t.h \ | ||
| 43 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/time_t.h \ | ||
| 44 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/timer_t.h \ | ||
| 45 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdint-intn.h \ | ||
| 46 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/endian.h \ | ||
| 47 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/endian.h \ | ||
| 48 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/endianness.h \ | ||
| 49 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/byteswap.h \ | ||
| 50 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/uintn-identity.h \ | ||
| 51 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/select.h \ | ||
| 52 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/select.h \ | ||
| 53 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/sigset_t.h \ | ||
| 54 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__sigset_t.h \ | ||
| 55 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/struct_timeval.h \ | ||
| 56 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/struct_timespec.h \ | ||
| 57 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/pthreadtypes.h \ | ||
| 58 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/thread-shared-types.h \ | ||
| 59 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ | ||
| 60 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/struct_mutex.h \ | ||
| 61 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/struct_rwlock.h \ | ||
| 62 | alloca.h \ | ||
| 63 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdlib-bsearch.h \ | ||
| 64 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdlib-float.h | ||
| 65 | |||
| 66 | libc-config.h: | ||
| 67 | |||
| 68 | ../config.h: | ||
| 69 | |||
| 70 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/errno.h: | ||
| 71 | |||
| 72 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/features.h: | ||
| 73 | |||
| 74 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/features-time64.h: | ||
| 75 | |||
| 76 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/wordsize.h: | ||
| 77 | |||
| 78 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/timesize.h: | ||
| 79 | |||
| 80 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/stdc-predef.h: | ||
| 81 | |||
| 82 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/cdefs.h: | ||
| 83 | |||
| 84 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/long-double.h: | ||
| 85 | |||
| 86 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/gnu/stubs.h: | ||
| 87 | |||
| 88 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/gnu/stubs-64.h: | ||
| 89 | |||
| 90 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/errno.h: | ||
| 91 | |||
| 92 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/linux/errno.h: | ||
| 93 | |||
| 94 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm/errno.h: | ||
| 95 | |||
| 96 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm-generic/errno.h: | ||
| 97 | |||
| 98 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm-generic/errno-base.h: | ||
| 99 | |||
| 100 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/error_t.h: | ||
| 101 | |||
| 102 | cdefs.h: | ||
| 103 | |||
| 104 | dynarray.h: | ||
| 105 | |||
| 106 | malloc/dynarray.h: | ||
| 107 | |||
| 108 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/stdbool.h: | ||
| 109 | |||
| 110 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/stddef.h: | ||
| 111 | |||
| 112 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/__stddef_max_align_t.h: | ||
| 113 | |||
| 114 | string.h: | ||
| 115 | |||
| 116 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/string.h: | ||
| 117 | |||
| 118 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/libc-header-start.h: | ||
| 119 | |||
| 120 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/locale_t.h: | ||
| 121 | |||
| 122 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__locale_t.h: | ||
| 123 | |||
| 124 | strings.h: | ||
| 125 | |||
| 126 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/strings.h: | ||
| 127 | |||
| 128 | stdlib.h: | ||
| 129 | |||
| 130 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/stdlib.h: | ||
| 131 | |||
| 132 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/waitflags.h: | ||
| 133 | |||
| 134 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/waitstatus.h: | ||
| 135 | |||
| 136 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/floatn.h: | ||
| 137 | |||
| 138 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/floatn-common.h: | ||
| 139 | |||
| 140 | sys/types.h: | ||
| 141 | |||
| 142 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/types.h: | ||
| 143 | |||
| 144 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types.h: | ||
| 145 | |||
| 146 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/typesizes.h: | ||
| 147 | |||
| 148 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/time64.h: | ||
| 149 | |||
| 150 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/clock_t.h: | ||
| 151 | |||
| 152 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/clockid_t.h: | ||
| 153 | |||
| 154 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/time_t.h: | ||
| 155 | |||
| 156 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/timer_t.h: | ||
| 157 | |||
| 158 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdint-intn.h: | ||
| 159 | |||
| 160 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/endian.h: | ||
| 161 | |||
| 162 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/endian.h: | ||
| 163 | |||
| 164 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/endianness.h: | ||
| 165 | |||
| 166 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/byteswap.h: | ||
| 167 | |||
| 168 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/uintn-identity.h: | ||
| 169 | |||
| 170 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/select.h: | ||
| 171 | |||
| 172 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/select.h: | ||
| 173 | |||
| 174 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/sigset_t.h: | ||
| 175 | |||
| 176 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__sigset_t.h: | ||
| 177 | |||
| 178 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/struct_timeval.h: | ||
| 179 | |||
| 180 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/struct_timespec.h: | ||
| 181 | |||
| 182 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/pthreadtypes.h: | ||
| 183 | |||
| 184 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/thread-shared-types.h: | ||
| 185 | |||
| 186 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h: | ||
| 187 | |||
| 188 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/struct_mutex.h: | ||
| 189 | |||
| 190 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/struct_rwlock.h: | ||
| 191 | |||
| 192 | alloca.h: | ||
| 193 | |||
| 194 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdlib-bsearch.h: | ||
| 195 | |||
| 196 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdlib-float.h: | ||
diff --git a/gl/malloc/.deps/dynarray_resize.Po b/gl/malloc/.deps/dynarray_resize.Po new file mode 100644 index 00000000..6ad67119 --- /dev/null +++ b/gl/malloc/.deps/dynarray_resize.Po | |||
| @@ -0,0 +1,231 @@ | |||
| 1 | malloc/dynarray_resize.o: malloc/dynarray_resize.c libc-config.h \ | ||
| 2 | ../config.h \ | ||
| 3 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/errno.h \ | ||
| 4 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/features.h \ | ||
| 5 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/features-time64.h \ | ||
| 6 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/wordsize.h \ | ||
| 7 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/timesize.h \ | ||
| 8 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/stdc-predef.h \ | ||
| 9 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/cdefs.h \ | ||
| 10 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/long-double.h \ | ||
| 11 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/gnu/stubs.h \ | ||
| 12 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/gnu/stubs-64.h \ | ||
| 13 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/errno.h \ | ||
| 14 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/linux/errno.h \ | ||
| 15 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm/errno.h \ | ||
| 16 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm-generic/errno.h \ | ||
| 17 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm-generic/errno-base.h \ | ||
| 18 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/error_t.h \ | ||
| 19 | cdefs.h dynarray.h malloc/dynarray.h \ | ||
| 20 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/stdbool.h \ | ||
| 21 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/stddef.h \ | ||
| 22 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/__stddef_max_align_t.h \ | ||
| 23 | string.h \ | ||
| 24 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/string.h \ | ||
| 25 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/libc-header-start.h \ | ||
| 26 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/locale_t.h \ | ||
| 27 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__locale_t.h \ | ||
| 28 | strings.h \ | ||
| 29 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/strings.h \ | ||
| 30 | intprops.h limits.h \ | ||
| 31 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/limits.h \ | ||
| 32 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/limits.h \ | ||
| 33 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/posix1_lim.h \ | ||
| 34 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/local_lim.h \ | ||
| 35 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/linux/limits.h \ | ||
| 36 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/pthread_stack_min-dynamic.h \ | ||
| 37 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/pthread_stack_min.h \ | ||
| 38 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/posix2_lim.h \ | ||
| 39 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/xopen_lim.h \ | ||
| 40 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/uio_lim.h \ | ||
| 41 | stdlib.h \ | ||
| 42 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/stdlib.h \ | ||
| 43 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/waitflags.h \ | ||
| 44 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/waitstatus.h \ | ||
| 45 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/floatn.h \ | ||
| 46 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/floatn-common.h \ | ||
| 47 | sys/types.h \ | ||
| 48 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/types.h \ | ||
| 49 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types.h \ | ||
| 50 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/typesizes.h \ | ||
| 51 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/time64.h \ | ||
| 52 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/clock_t.h \ | ||
| 53 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/clockid_t.h \ | ||
| 54 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/time_t.h \ | ||
| 55 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/timer_t.h \ | ||
| 56 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdint-intn.h \ | ||
| 57 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/endian.h \ | ||
| 58 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/endian.h \ | ||
| 59 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/endianness.h \ | ||
| 60 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/byteswap.h \ | ||
| 61 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/uintn-identity.h \ | ||
| 62 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/select.h \ | ||
| 63 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/select.h \ | ||
| 64 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/sigset_t.h \ | ||
| 65 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__sigset_t.h \ | ||
| 66 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/struct_timeval.h \ | ||
| 67 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/struct_timespec.h \ | ||
| 68 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/pthreadtypes.h \ | ||
| 69 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/thread-shared-types.h \ | ||
| 70 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ | ||
| 71 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/struct_mutex.h \ | ||
| 72 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/struct_rwlock.h \ | ||
| 73 | alloca.h \ | ||
| 74 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdlib-bsearch.h \ | ||
| 75 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdlib-float.h | ||
| 76 | |||
| 77 | libc-config.h: | ||
| 78 | |||
| 79 | ../config.h: | ||
| 80 | |||
| 81 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/errno.h: | ||
| 82 | |||
| 83 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/features.h: | ||
| 84 | |||
| 85 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/features-time64.h: | ||
| 86 | |||
| 87 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/wordsize.h: | ||
| 88 | |||
| 89 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/timesize.h: | ||
| 90 | |||
| 91 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/stdc-predef.h: | ||
| 92 | |||
| 93 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/cdefs.h: | ||
| 94 | |||
| 95 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/long-double.h: | ||
| 96 | |||
| 97 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/gnu/stubs.h: | ||
| 98 | |||
| 99 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/gnu/stubs-64.h: | ||
| 100 | |||
| 101 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/errno.h: | ||
| 102 | |||
| 103 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/linux/errno.h: | ||
| 104 | |||
| 105 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm/errno.h: | ||
| 106 | |||
| 107 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm-generic/errno.h: | ||
| 108 | |||
| 109 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm-generic/errno-base.h: | ||
| 110 | |||
| 111 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/error_t.h: | ||
| 112 | |||
| 113 | cdefs.h: | ||
| 114 | |||
| 115 | dynarray.h: | ||
| 116 | |||
| 117 | malloc/dynarray.h: | ||
| 118 | |||
| 119 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/stdbool.h: | ||
| 120 | |||
| 121 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/stddef.h: | ||
| 122 | |||
| 123 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/__stddef_max_align_t.h: | ||
| 124 | |||
| 125 | string.h: | ||
| 126 | |||
| 127 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/string.h: | ||
| 128 | |||
| 129 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/libc-header-start.h: | ||
| 130 | |||
| 131 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/locale_t.h: | ||
| 132 | |||
| 133 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__locale_t.h: | ||
| 134 | |||
| 135 | strings.h: | ||
| 136 | |||
| 137 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/strings.h: | ||
| 138 | |||
| 139 | intprops.h: | ||
| 140 | |||
| 141 | limits.h: | ||
| 142 | |||
| 143 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/limits.h: | ||
| 144 | |||
| 145 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/limits.h: | ||
| 146 | |||
| 147 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/posix1_lim.h: | ||
| 148 | |||
| 149 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/local_lim.h: | ||
| 150 | |||
| 151 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/linux/limits.h: | ||
| 152 | |||
| 153 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/pthread_stack_min-dynamic.h: | ||
| 154 | |||
| 155 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/pthread_stack_min.h: | ||
| 156 | |||
| 157 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/posix2_lim.h: | ||
| 158 | |||
| 159 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/xopen_lim.h: | ||
| 160 | |||
| 161 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/uio_lim.h: | ||
| 162 | |||
| 163 | stdlib.h: | ||
| 164 | |||
| 165 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/stdlib.h: | ||
| 166 | |||
| 167 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/waitflags.h: | ||
| 168 | |||
| 169 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/waitstatus.h: | ||
| 170 | |||
| 171 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/floatn.h: | ||
| 172 | |||
| 173 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/floatn-common.h: | ||
| 174 | |||
| 175 | sys/types.h: | ||
| 176 | |||
| 177 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/types.h: | ||
| 178 | |||
| 179 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types.h: | ||
| 180 | |||
| 181 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/typesizes.h: | ||
| 182 | |||
| 183 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/time64.h: | ||
| 184 | |||
| 185 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/clock_t.h: | ||
| 186 | |||
| 187 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/clockid_t.h: | ||
| 188 | |||
| 189 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/time_t.h: | ||
| 190 | |||
| 191 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/timer_t.h: | ||
| 192 | |||
| 193 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdint-intn.h: | ||
| 194 | |||
| 195 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/endian.h: | ||
| 196 | |||
| 197 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/endian.h: | ||
| 198 | |||
| 199 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/endianness.h: | ||
| 200 | |||
| 201 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/byteswap.h: | ||
| 202 | |||
| 203 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/uintn-identity.h: | ||
| 204 | |||
| 205 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/select.h: | ||
| 206 | |||
| 207 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/select.h: | ||
| 208 | |||
| 209 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/sigset_t.h: | ||
| 210 | |||
| 211 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__sigset_t.h: | ||
| 212 | |||
| 213 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/struct_timeval.h: | ||
| 214 | |||
| 215 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/struct_timespec.h: | ||
| 216 | |||
| 217 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/pthreadtypes.h: | ||
| 218 | |||
| 219 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/thread-shared-types.h: | ||
| 220 | |||
| 221 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h: | ||
| 222 | |||
| 223 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/struct_mutex.h: | ||
| 224 | |||
| 225 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/struct_rwlock.h: | ||
| 226 | |||
| 227 | alloca.h: | ||
| 228 | |||
| 229 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdlib-bsearch.h: | ||
| 230 | |||
| 231 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/stdlib-float.h: | ||
diff --git a/gl/malloc/.deps/dynarray_resize_clear.Po b/gl/malloc/.deps/dynarray_resize_clear.Po new file mode 100644 index 00000000..207fa9d3 --- /dev/null +++ b/gl/malloc/.deps/dynarray_resize_clear.Po | |||
| @@ -0,0 +1,91 @@ | |||
| 1 | malloc/dynarray_resize_clear.o: malloc/dynarray_resize_clear.c \ | ||
| 2 | libc-config.h ../config.h \ | ||
| 3 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/errno.h \ | ||
| 4 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/features.h \ | ||
| 5 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/features-time64.h \ | ||
| 6 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/wordsize.h \ | ||
| 7 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/timesize.h \ | ||
| 8 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/stdc-predef.h \ | ||
| 9 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/cdefs.h \ | ||
| 10 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/long-double.h \ | ||
| 11 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/gnu/stubs.h \ | ||
| 12 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/gnu/stubs-64.h \ | ||
| 13 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/errno.h \ | ||
| 14 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/linux/errno.h \ | ||
| 15 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm/errno.h \ | ||
| 16 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm-generic/errno.h \ | ||
| 17 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm-generic/errno-base.h \ | ||
| 18 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/error_t.h \ | ||
| 19 | cdefs.h dynarray.h malloc/dynarray.h \ | ||
| 20 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/stdbool.h \ | ||
| 21 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/stddef.h \ | ||
| 22 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/__stddef_max_align_t.h \ | ||
| 23 | string.h \ | ||
| 24 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/string.h \ | ||
| 25 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/libc-header-start.h \ | ||
| 26 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/locale_t.h \ | ||
| 27 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__locale_t.h \ | ||
| 28 | strings.h \ | ||
| 29 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/strings.h | ||
| 30 | |||
| 31 | libc-config.h: | ||
| 32 | |||
| 33 | ../config.h: | ||
| 34 | |||
| 35 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/errno.h: | ||
| 36 | |||
| 37 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/features.h: | ||
| 38 | |||
| 39 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/features-time64.h: | ||
| 40 | |||
| 41 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/wordsize.h: | ||
| 42 | |||
| 43 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/timesize.h: | ||
| 44 | |||
| 45 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/stdc-predef.h: | ||
| 46 | |||
| 47 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/sys/cdefs.h: | ||
| 48 | |||
| 49 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/bits/long-double.h: | ||
| 50 | |||
| 51 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/gnu/stubs.h: | ||
| 52 | |||
| 53 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/x86_64-linux-gnu/gnu/stubs-64.h: | ||
| 54 | |||
| 55 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/errno.h: | ||
| 56 | |||
| 57 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/linux/errno.h: | ||
| 58 | |||
| 59 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm/errno.h: | ||
| 60 | |||
| 61 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm-generic/errno.h: | ||
| 62 | |||
| 63 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/any-linux-any/asm-generic/errno-base.h: | ||
| 64 | |||
| 65 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/error_t.h: | ||
| 66 | |||
| 67 | cdefs.h: | ||
| 68 | |||
| 69 | dynarray.h: | ||
| 70 | |||
| 71 | malloc/dynarray.h: | ||
| 72 | |||
| 73 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/stdbool.h: | ||
| 74 | |||
| 75 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/stddef.h: | ||
| 76 | |||
| 77 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/include/__stddef_max_align_t.h: | ||
| 78 | |||
| 79 | string.h: | ||
| 80 | |||
| 81 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/string.h: | ||
| 82 | |||
| 83 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/libc-header-start.h: | ||
| 84 | |||
| 85 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/locale_t.h: | ||
| 86 | |||
| 87 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/bits/types/__locale_t.h: | ||
| 88 | |||
| 89 | strings.h: | ||
| 90 | |||
| 91 | /home/rincewind/Downloads/zig/zig-linux-x86_64-0.9.1/lib/libc/include/generic-glibc/strings.h: | ||
diff --git a/gl/malloc/.dirstamp b/gl/malloc/.dirstamp new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/gl/malloc/.dirstamp | |||
diff --git a/gl/malloc/dynarray-skeleton.c b/gl/malloc/dynarray-skeleton.c index 48210e32..bad548a4 100644 --- a/gl/malloc/dynarray-skeleton.c +++ b/gl/malloc/dynarray-skeleton.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Type-safe arrays which grow dynamically. | 1 | /* Type-safe arrays which grow dynamically. |
| 2 | Copyright (C) 2017-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2017-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU C Library. | 3 | This file is part of the GNU C Library. |
| 4 | 4 | ||
| 5 | The GNU C Library is free software; you can redistribute it and/or | 5 | The GNU C Library is free software; you can redistribute it and/or |
diff --git a/gl/malloc/dynarray.h b/gl/malloc/dynarray.h index 638c33f9..f16fd950 100644 --- a/gl/malloc/dynarray.h +++ b/gl/malloc/dynarray.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Type-safe arrays which grow dynamically. Shared definitions. | 1 | /* Type-safe arrays which grow dynamically. Shared definitions. |
| 2 | Copyright (C) 2017-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2017-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU C Library. | 3 | This file is part of the GNU C Library. |
| 4 | 4 | ||
| 5 | The GNU C Library is free software; you can redistribute it and/or | 5 | The GNU C Library is free software; you can redistribute it and/or |
diff --git a/gl/malloc/dynarray_at_failure.c b/gl/malloc/dynarray_at_failure.c index 8dd68507..062ab706 100644 --- a/gl/malloc/dynarray_at_failure.c +++ b/gl/malloc/dynarray_at_failure.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Report an dynamic array index out of bounds condition. | 1 | /* Report an dynamic array index out of bounds condition. |
| 2 | Copyright (C) 2017-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2017-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU C Library. | 3 | This file is part of the GNU C Library. |
| 4 | 4 | ||
| 5 | The GNU C Library is free software; you can redistribute it and/or | 5 | The GNU C Library is free software; you can redistribute it and/or |
diff --git a/gl/malloc/dynarray_emplace_enlarge.c b/gl/malloc/dynarray_emplace_enlarge.c index 0f8baf94..0cff2e70 100644 --- a/gl/malloc/dynarray_emplace_enlarge.c +++ b/gl/malloc/dynarray_emplace_enlarge.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Increase the size of a dynamic array in preparation of an emplace operation. | 1 | /* Increase the size of a dynamic array in preparation of an emplace operation. |
| 2 | Copyright (C) 2017-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2017-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU C Library. | 3 | This file is part of the GNU C Library. |
| 4 | 4 | ||
| 5 | The GNU C Library is free software; you can redistribute it and/or | 5 | The GNU C Library is free software; you can redistribute it and/or |
diff --git a/gl/malloc/dynarray_finalize.c b/gl/malloc/dynarray_finalize.c index c33da413..3f360c3a 100644 --- a/gl/malloc/dynarray_finalize.c +++ b/gl/malloc/dynarray_finalize.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Copy the dynamically-allocated area to an explicitly-sized heap allocation. | 1 | /* Copy the dynamically-allocated area to an explicitly-sized heap allocation. |
| 2 | Copyright (C) 2017-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2017-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU C Library. | 3 | This file is part of the GNU C Library. |
| 4 | 4 | ||
| 5 | The GNU C Library is free software; you can redistribute it and/or | 5 | The GNU C Library is free software; you can redistribute it and/or |
diff --git a/gl/malloc/dynarray_resize.c b/gl/malloc/dynarray_resize.c index 5a57166a..8d1922e5 100644 --- a/gl/malloc/dynarray_resize.c +++ b/gl/malloc/dynarray_resize.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Increase the size of a dynamic array. | 1 | /* Increase the size of a dynamic array. |
| 2 | Copyright (C) 2017-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2017-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU C Library. | 3 | This file is part of the GNU C Library. |
| 4 | 4 | ||
| 5 | The GNU C Library is free software; you can redistribute it and/or | 5 | The GNU C Library is free software; you can redistribute it and/or |
diff --git a/gl/malloc/dynarray_resize_clear.c b/gl/malloc/dynarray_resize_clear.c index 9c43b00c..8cf1b0d0 100644 --- a/gl/malloc/dynarray_resize_clear.c +++ b/gl/malloc/dynarray_resize_clear.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Increase the size of a dynamic array and clear the new part. | 1 | /* Increase the size of a dynamic array and clear the new part. |
| 2 | Copyright (C) 2017-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2017-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU C Library. | 3 | This file is part of the GNU C Library. |
| 4 | 4 | ||
| 5 | The GNU C Library is free software; you can redistribute it and/or | 5 | The GNU C Library is free software; you can redistribute it and/or |
diff --git a/gl/malloca.c b/gl/malloca.c index b4884234..183783a7 100644 --- a/gl/malloca.c +++ b/gl/malloca.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Safe automatic memory allocation. | 1 | /* Safe automatic memory allocation. |
| 2 | Copyright (C) 2003, 2006-2007, 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2003, 2006-2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | Written by Bruno Haible <bruno@clisp.org>, 2003, 2018. | 3 | Written by Bruno Haible <bruno@clisp.org>, 2003, 2018. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| @@ -21,8 +21,9 @@ | |||
| 21 | /* Specification. */ | 21 | /* Specification. */ |
| 22 | #include "malloca.h" | 22 | #include "malloca.h" |
| 23 | 23 | ||
| 24 | #include <stdckdint.h> | ||
| 25 | |||
| 24 | #include "idx.h" | 26 | #include "idx.h" |
| 25 | #include "intprops.h" | ||
| 26 | #include "verify.h" | 27 | #include "verify.h" |
| 27 | 28 | ||
| 28 | /* The speed critical point in this file is freea() applied to an alloca() | 29 | /* The speed critical point in this file is freea() applied to an alloca() |
| @@ -50,17 +51,16 @@ mmalloca (size_t n) | |||
| 50 | uintptr_t alignment2_mask = 2 * sa_alignment_max - 1; | 51 | uintptr_t alignment2_mask = 2 * sa_alignment_max - 1; |
| 51 | int plus = sizeof (small_t) + alignment2_mask; | 52 | int plus = sizeof (small_t) + alignment2_mask; |
| 52 | idx_t nplus; | 53 | idx_t nplus; |
| 53 | if (!INT_ADD_WRAPV (n, plus, &nplus) && !xalloc_oversized (nplus, 1)) | 54 | if (!ckd_add (&nplus, n, plus) && !xalloc_oversized (nplus, 1)) |
| 54 | { | 55 | { |
| 55 | char *mem = (char *) malloc (nplus); | 56 | char *mem = (char *) malloc (nplus); |
| 56 | 57 | ||
| 57 | if (mem != NULL) | 58 | if (mem != NULL) |
| 58 | { | 59 | { |
| 59 | uintptr_t umem = (uintptr_t)mem, umemplus; | 60 | uintptr_t umem = (uintptr_t)mem, umemplus; |
| 60 | /* The INT_ADD_WRAPV avoids signed integer overflow on | 61 | /* The ckd_add avoids signed integer overflow on |
| 61 | theoretical platforms where UINTPTR_MAX <= INT_MAX. */ | 62 | theoretical platforms where UINTPTR_MAX <= INT_MAX. */ |
| 62 | INT_ADD_WRAPV (umem, sizeof (small_t) + sa_alignment_max - 1, | 63 | ckd_add (&umemplus, umem, sizeof (small_t) + sa_alignment_max - 1); |
| 63 | &umemplus); | ||
| 64 | idx_t offset = ((umemplus & ~alignment2_mask) | 64 | idx_t offset = ((umemplus & ~alignment2_mask) |
| 65 | + sa_alignment_max - umem); | 65 | + sa_alignment_max - umem); |
| 66 | void *vp = mem + offset; | 66 | void *vp = mem + offset; |
diff --git a/gl/malloca.h b/gl/malloca.h index 7eb63d2a..7ec235f3 100644 --- a/gl/malloca.h +++ b/gl/malloca.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Safe automatic memory allocation. | 1 | /* Safe automatic memory allocation. |
| 2 | Copyright (C) 2003-2007, 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2003-2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | Written by Bruno Haible <bruno@clisp.org>, 2003. | 3 | Written by Bruno Haible <bruno@clisp.org>, 2003. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Inline functions for <math.h>. | 1 | /* Inline functions for <math.h>. |
| 2 | 2 | ||
| 3 | Copyright (C) 2012-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2012-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/math.in.h b/gl/math.in.h index c87cc12f..a74a95da 100644 --- a/gl/math.in.h +++ b/gl/math.in.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* A GNU-like <math.h>. | 1 | /* A GNU-like <math.h>. |
| 2 | 2 | ||
| 3 | Copyright (C) 2002-2003, 2007-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2002-2003, 2007-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
| @@ -2433,6 +2433,7 @@ _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isfinite) | |||
| 2433 | functions. */ | 2433 | functions. */ |
| 2434 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite, rpl_isfinite, bool) | 2434 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite, rpl_isfinite, bool) |
| 2435 | # define isfinite rpl_isfinite | 2435 | # define isfinite rpl_isfinite |
| 2436 | # define GNULIB_NAMESPACE_LACKS_ISFINITE 1 | ||
| 2436 | # else | 2437 | # else |
| 2437 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite, isfinite, bool) | 2438 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite, isfinite, bool) |
| 2438 | # endif | 2439 | # endif |
| @@ -2467,6 +2468,7 @@ _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isinf) | |||
| 2467 | functions. */ | 2468 | functions. */ |
| 2468 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf, rpl_isinf, bool) | 2469 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf, rpl_isinf, bool) |
| 2469 | # define isinf rpl_isinf | 2470 | # define isinf rpl_isinf |
| 2471 | # define GNULIB_NAMESPACE_LACKS_ISINF 1 | ||
| 2470 | # else | 2472 | # else |
| 2471 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf, isinf, bool) | 2473 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf, isinf, bool) |
| 2472 | # endif | 2474 | # endif |
| @@ -2594,6 +2596,7 @@ _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isnan) | |||
| 2594 | functions. */ | 2596 | functions. */ |
| 2595 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan, rpl_isnan, bool) | 2597 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan, rpl_isnan, bool) |
| 2596 | # define isnan rpl_isnan | 2598 | # define isnan rpl_isnan |
| 2599 | # define GNULIB_NAMESPACE_LACKS_ISNAN 1 | ||
| 2597 | # else | 2600 | # else |
| 2598 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan, isnan, bool) | 2601 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan, isnan, bool) |
| 2599 | # endif | 2602 | # endif |
| @@ -2677,6 +2680,7 @@ _GL_MATH_CXX_REAL_FLOATING_DECL_1 (signbit) | |||
| 2677 | functions. */ | 2680 | functions. */ |
| 2678 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit, rpl_signbit, bool) | 2681 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit, rpl_signbit, bool) |
| 2679 | # define signbit rpl_signbit | 2682 | # define signbit rpl_signbit |
| 2683 | # define GNULIB_NAMESPACE_LACKS_SIGNBIT 1 | ||
| 2680 | # else | 2684 | # else |
| 2681 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit, signbit, bool) | 2685 | _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit, signbit, bool) |
| 2682 | # endif | 2686 | # endif |
diff --git a/gl/mbrtowc-impl-utf8.h b/gl/mbrtowc-impl-utf8.h index 330fb105..8e5ac14e 100644 --- a/gl/mbrtowc-impl-utf8.h +++ b/gl/mbrtowc-impl-utf8.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Convert multibyte character to wide character. | 1 | /* Convert multibyte character to wide character. |
| 2 | Copyright (C) 1999-2002, 2005-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 1999-2002, 2005-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/mbrtowc-impl.h b/gl/mbrtowc-impl.h index bc3e6882..65538e74 100644 --- a/gl/mbrtowc-impl.h +++ b/gl/mbrtowc-impl.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Convert multibyte character to wide character. | 1 | /* Convert multibyte character to wide character. |
| 2 | Copyright (C) 1999-2002, 2005-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 1999-2002, 2005-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/mbrtowc.c b/gl/mbrtowc.c index 8832f6e8..4b164edd 100644 --- a/gl/mbrtowc.c +++ b/gl/mbrtowc.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Convert multibyte character to wide character. | 1 | /* Convert multibyte character to wide character. |
| 2 | Copyright (C) 1999-2002, 2005-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 1999-2002, 2005-2022 Free Software Foundation, Inc. |
| 3 | Written by Bruno Haible <bruno@clisp.org>, 2008. | 3 | Written by Bruno Haible <bruno@clisp.org>, 2008. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/mbsinit.c b/gl/mbsinit.c index f4401553..9621defc 100644 --- a/gl/mbsinit.c +++ b/gl/mbsinit.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Test for initial conversion state. | 1 | /* Test for initial conversion state. |
| 2 | Copyright (C) 2008-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2008-2022 Free Software Foundation, Inc. |
| 3 | Written by Bruno Haible <bruno@clisp.org>, 2008. | 3 | Written by Bruno Haible <bruno@clisp.org>, 2008. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/mbtowc-impl.h b/gl/mbtowc-impl.h index 30d715d6..2b27bafd 100644 --- a/gl/mbtowc-impl.h +++ b/gl/mbtowc-impl.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Convert multibyte character to wide character. | 1 | /* Convert multibyte character to wide character. |
| 2 | Copyright (C) 2011-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2011-2022 Free Software Foundation, Inc. |
| 3 | Written by Bruno Haible <bruno@clisp.org>, 2011. | 3 | Written by Bruno Haible <bruno@clisp.org>, 2011. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/mbtowc-lock.c b/gl/mbtowc-lock.c index 0f7ae6c2..06d32246 100644 --- a/gl/mbtowc-lock.c +++ b/gl/mbtowc-lock.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Return the internal lock used by mbrtowc and mbrtoc32. | 1 | /* Return the internal lock used by mbrtowc and mbrtoc32. |
| 2 | Copyright (C) 2019-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2019-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/mbtowc-lock.h b/gl/mbtowc-lock.h index d31b0b6c..ecfd44e8 100644 --- a/gl/mbtowc-lock.h +++ b/gl/mbtowc-lock.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Use the internal lock used by mbrtowc and mbrtoc32. | 1 | /* Use the internal lock used by mbrtowc and mbrtoc32. |
| 2 | Copyright (C) 2019-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2019-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/mbtowc.c b/gl/mbtowc.c index 47b431a4..a9a79951 100644 --- a/gl/mbtowc.c +++ b/gl/mbtowc.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Convert multibyte character to wide character. | 1 | /* Convert multibyte character to wide character. |
| 2 | Copyright (C) 2011-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2011-2022 Free Software Foundation, Inc. |
| 3 | Written by Bruno Haible <bruno@clisp.org>, 2011. | 3 | Written by Bruno Haible <bruno@clisp.org>, 2011. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/memchr.c b/gl/memchr.c index 56fd59d7..0ca7b30a 100644 --- a/gl/memchr.c +++ b/gl/memchr.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2021 | 1 | /* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2022 |
| 2 | Free Software Foundation, Inc. | 2 | Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | Based on strlen implementation by Torbjorn Granlund (tege@sics.se), | 4 | Based on strlen implementation by Torbjorn Granlund (tege@sics.se), |
diff --git a/gl/memchr.valgrind b/gl/memchr.valgrind index 4f16481c..cb0f351c 100644 --- a/gl/memchr.valgrind +++ b/gl/memchr.valgrind | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | # Suppress a valgrind message about use of uninitialized memory in memchr(). | 1 | # Suppress a valgrind message about use of uninitialized memory in memchr(). |
| 2 | 2 | ||
| 3 | # Copyright (C) 2009-2021 Free Software Foundation, Inc. | 3 | # Copyright (C) 2009-2022 Free Software Foundation, Inc. |
| 4 | # | 4 | # |
| 5 | # This file is free software: you can redistribute it and/or modify | 5 | # This file is free software: you can redistribute it and/or modify |
| 6 | # it under the terms of the GNU Lesser General Public License as | 6 | # it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/minmax.h b/gl/minmax.h index a03361ba..b4b1345b 100644 --- a/gl/minmax.h +++ b/gl/minmax.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* MIN, MAX macros. | 1 | /* MIN, MAX macros. |
| 2 | Copyright (C) 1995, 1998, 2001, 2003, 2005, 2009-2021 Free Software | 2 | Copyright (C) 1995, 1998, 2001, 2003, 2005, 2009-2022 Free Software |
| 3 | Foundation, Inc. | 3 | Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/mktime-internal.h b/gl/mktime-internal.h index 7386625d..170764ea 100644 --- a/gl/mktime-internal.h +++ b/gl/mktime-internal.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Internals of mktime and related functions | 1 | /* Internals of mktime and related functions |
| 2 | Copyright 2016-2021 Free Software Foundation, Inc. | 2 | Copyright 2016-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU C Library. | 3 | This file is part of the GNU C Library. |
| 4 | Contributed by Paul Eggert <eggert@cs.ucla.edu>. | 4 | Contributed by Paul Eggert <eggert@cs.ucla.edu>. |
| 5 | 5 | ||
diff --git a/gl/mktime.c b/gl/mktime.c index ae721c72..7dc9d67e 100644 --- a/gl/mktime.c +++ b/gl/mktime.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Convert a 'struct tm' to a time_t value. | 1 | /* Convert a 'struct tm' to a time_t value. |
| 2 | Copyright (C) 1993-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 1993-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU C Library. | 3 | This file is part of the GNU C Library. |
| 4 | Contributed by Paul Eggert <eggert@twinsun.com>. | 4 | Contributed by Paul Eggert <eggert@twinsun.com>. |
| 5 | 5 | ||
| @@ -429,8 +429,13 @@ __mktime_internal (struct tm *tp, | |||
| 429 | time with the right value, and use its UTC offset. | 429 | time with the right value, and use its UTC offset. |
| 430 | 430 | ||
| 431 | Heuristic: probe the adjacent timestamps in both directions, | 431 | Heuristic: probe the adjacent timestamps in both directions, |
| 432 | looking for the desired isdst. This should work for all real | 432 | looking for the desired isdst. If none is found within a |
| 433 | time zone histories in the tz database. */ | 433 | reasonable duration bound, assume a one-hour DST difference. |
| 434 | This should work for all real time zone histories in the tz | ||
| 435 | database. */ | ||
| 436 | |||
| 437 | /* +1 if we wanted standard time but got DST, -1 if the reverse. */ | ||
| 438 | int dst_difference = (isdst == 0) - (tm.tm_isdst == 0); | ||
| 434 | 439 | ||
| 435 | /* Distance between probes when looking for a DST boundary. In | 440 | /* Distance between probes when looking for a DST boundary. In |
| 436 | tzdata2003a, the shortest period of DST is 601200 seconds | 441 | tzdata2003a, the shortest period of DST is 601200 seconds |
| @@ -441,12 +446,14 @@ __mktime_internal (struct tm *tp, | |||
| 441 | periods when probing. */ | 446 | periods when probing. */ |
| 442 | int stride = 601200; | 447 | int stride = 601200; |
| 443 | 448 | ||
| 444 | /* The longest period of DST in tzdata2003a is 536454000 seconds | 449 | /* In TZDB 2021e, the longest period of DST (or of non-DST), in |
| 445 | (e.g., America/Jujuy starting 1946-10-01 01:00). The longest | 450 | which the DST (or adjacent DST) difference is not one hour, |
| 446 | period of non-DST is much longer, but it makes no real sense | 451 | is 457243209 seconds: e.g., America/Cambridge_Bay with leap |
| 447 | to search for more than a year of non-DST, so use the DST | 452 | seconds, starting 1965-10-31 00:00 in a switch from |
| 448 | max. */ | 453 | double-daylight time (-05) to standard time (-07), and |
| 449 | int duration_max = 536454000; | 454 | continuing to 1980-04-27 02:00 in a switch from standard time |
| 455 | (-07) to daylight time (-06). */ | ||
| 456 | int duration_max = 457243209; | ||
| 450 | 457 | ||
| 451 | /* Search in both directions, so the maximum distance is half | 458 | /* Search in both directions, so the maximum distance is half |
| 452 | the duration; add the stride to avoid off-by-1 problems. */ | 459 | the duration; add the stride to avoid off-by-1 problems. */ |
| @@ -483,6 +490,11 @@ __mktime_internal (struct tm *tp, | |||
| 483 | } | 490 | } |
| 484 | } | 491 | } |
| 485 | 492 | ||
| 493 | /* No unusual DST offset was found nearby. Assume one-hour DST. */ | ||
| 494 | t += 60 * 60 * dst_difference; | ||
| 495 | if (mktime_min <= t && t <= mktime_max && convert_time (convert, t, &tm)) | ||
| 496 | goto offset_found; | ||
| 497 | |||
| 486 | __set_errno (EOVERFLOW); | 498 | __set_errno (EOVERFLOW); |
| 487 | return -1; | 499 | return -1; |
| 488 | } | 500 | } |
diff --git a/gl/mountlist.c b/gl/mountlist.c index 352b35f3..fac5c45e 100644 --- a/gl/mountlist.c +++ b/gl/mountlist.c | |||
| @@ -1,10 +1,10 @@ | |||
| 1 | /* mountlist.c -- return a list of mounted file systems | 1 | /* mountlist.c -- return a list of mounted file systems |
| 2 | 2 | ||
| 3 | Copyright (C) 1991-1992, 1997-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 1991-1992, 1997-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This program is free software: you can redistribute it and/or modify | 5 | This program is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU General Public License as published by | 6 | it under the terms of the GNU General Public License as published by |
| 7 | the Free Software Foundation; either version 3 of the License, or | 7 | the Free Software Foundation, either version 3 of the License, or |
| 8 | (at your option) any later version. | 8 | (at your option) any later version. |
| 9 | 9 | ||
| 10 | This program is distributed in the hope that it will be useful, | 10 | This program is distributed in the hope that it will be useful, |
diff --git a/gl/mountlist.h b/gl/mountlist.h index fbad1246..6edac121 100644 --- a/gl/mountlist.h +++ b/gl/mountlist.h | |||
| @@ -1,11 +1,11 @@ | |||
| 1 | /* mountlist.h -- declarations for list of mounted file systems | 1 | /* mountlist.h -- declarations for list of mounted file systems |
| 2 | 2 | ||
| 3 | Copyright (C) 1991-1992, 1998, 2000-2005, 2009-2021 Free Software | 3 | Copyright (C) 1991-1992, 1998, 2000-2005, 2009-2022 Free Software |
| 4 | Foundation, Inc. | 4 | Foundation, Inc. |
| 5 | 5 | ||
| 6 | This program is free software: you can redistribute it and/or modify | 6 | This program is free software: you can redistribute it and/or modify |
| 7 | it under the terms of the GNU General Public License as published by | 7 | it under the terms of the GNU General Public License as published by |
| 8 | the Free Software Foundation; either version 3 of the License, or | 8 | the Free Software Foundation, either version 3 of the License, or |
| 9 | (at your option) any later version. | 9 | (at your option) any later version. |
| 10 | 10 | ||
| 11 | This program is distributed in the hope that it will be useful, | 11 | This program is distributed in the hope that it will be useful, |
diff --git a/gl/msvc-inval.c b/gl/msvc-inval.c index a23dac95..d6651caa 100644 --- a/gl/msvc-inval.c +++ b/gl/msvc-inval.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Invalid parameter handler for MSVC runtime libraries. | 1 | /* Invalid parameter handler for MSVC runtime libraries. |
| 2 | Copyright (C) 2011-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2011-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/msvc-inval.h b/gl/msvc-inval.h index e115a351..1230b899 100644 --- a/gl/msvc-inval.h +++ b/gl/msvc-inval.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Invalid parameter handler for MSVC runtime libraries. | 1 | /* Invalid parameter handler for MSVC runtime libraries. |
| 2 | Copyright (C) 2011-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2011-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/msvc-nothrow.c b/gl/msvc-nothrow.c index d3c1f54b..aa069643 100644 --- a/gl/msvc-nothrow.c +++ b/gl/msvc-nothrow.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Wrappers that don't throw invalid parameter notifications | 1 | /* Wrappers that don't throw invalid parameter notifications |
| 2 | with MSVC runtime libraries. | 2 | with MSVC runtime libraries. |
| 3 | Copyright (C) 2011-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2011-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/msvc-nothrow.h b/gl/msvc-nothrow.h index 057b5dd8..53451557 100644 --- a/gl/msvc-nothrow.h +++ b/gl/msvc-nothrow.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Wrappers that don't throw invalid parameter notifications | 1 | /* Wrappers that don't throw invalid parameter notifications |
| 2 | with MSVC runtime libraries. | 2 | with MSVC runtime libraries. |
| 3 | Copyright (C) 2011-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2011-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/netdb.in.h b/gl/netdb.in.h index eb5c960b..e05cf4b1 100644 --- a/gl/netdb.in.h +++ b/gl/netdb.in.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Provide a netdb.h header file for systems lacking it (read: MinGW). | 1 | /* Provide a netdb.h header file for systems lacking it (read: MinGW). |
| 2 | Copyright (C) 2008-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2008-2022 Free Software Foundation, Inc. |
| 3 | Written by Simon Josefsson. | 3 | Written by Simon Josefsson. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/netinet_in.in.h b/gl/netinet_in.in.h index 21f3a64f..e23807ca 100644 --- a/gl/netinet_in.in.h +++ b/gl/netinet_in.in.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Substitute for <netinet/in.h>. | 1 | /* Substitute for <netinet/in.h>. |
| 2 | Copyright (C) 2007-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/nl_langinfo-lock.c b/gl/nl_langinfo-lock.c index fcdf56dc..c36882d5 100644 --- a/gl/nl_langinfo-lock.c +++ b/gl/nl_langinfo-lock.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Return the internal lock used by nl_langinfo. | 1 | /* Return the internal lock used by nl_langinfo. |
| 2 | Copyright (C) 2019-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2019-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/nl_langinfo.c b/gl/nl_langinfo.c index b481f209..3fa47822 100644 --- a/gl/nl_langinfo.c +++ b/gl/nl_langinfo.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* nl_langinfo() replacement: query locale dependent information. | 1 | /* nl_langinfo() replacement: query locale dependent information. |
| 2 | 2 | ||
| 3 | Copyright (C) 2007-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Open a descriptor to a file. | 1 | /* Open a descriptor to a file. |
| 2 | Copyright (C) 2007-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/pathmax.h b/gl/pathmax.h index 716f4a9a..19b93d7e 100644 --- a/gl/pathmax.h +++ b/gl/pathmax.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Define PATH_MAX somehow. Requires sys/types.h. | 1 | /* Define PATH_MAX somehow. Requires sys/types.h. |
| 2 | Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2021 Free Software | 2 | Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2022 Free Software |
| 3 | Foundation, Inc. | 3 | Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/printf-args.c b/gl/printf-args.c index b822682c..669c24a4 100644 --- a/gl/printf-args.c +++ b/gl/printf-args.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Decomposed printf argument list. | 1 | /* Decomposed printf argument list. |
| 2 | Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2021 Free Software | 2 | Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2022 Free Software |
| 3 | Foundation, Inc. | 3 | Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/printf-args.h b/gl/printf-args.h index c8d91747..553fe961 100644 --- a/gl/printf-args.h +++ b/gl/printf-args.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Decomposed printf argument list. | 1 | /* Decomposed printf argument list. |
| 2 | Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2021 Free Software | 2 | Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2022 Free Software |
| 3 | Foundation, Inc. | 3 | Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/printf-parse.c b/gl/printf-parse.c index f21cc17c..aab02dc5 100644 --- a/gl/printf-parse.c +++ b/gl/printf-parse.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Formatted output to strings. | 1 | /* Formatted output to strings. |
| 2 | Copyright (C) 1999-2000, 2002-2003, 2006-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 1999-2000, 2002-2003, 2006-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/printf-parse.h b/gl/printf-parse.h index 77b74093..b12ccea3 100644 --- a/gl/printf-parse.h +++ b/gl/printf-parse.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Parse printf format string. | 1 | /* Parse printf format string. |
| 2 | Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2021 Free Software | 2 | Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2022 Free Software |
| 3 | Foundation, Inc. | 3 | Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/realloc.c b/gl/realloc.c index af03f0c5..c8783815 100644 --- a/gl/realloc.c +++ b/gl/realloc.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* realloc() function that is glibc compatible. | 1 | /* realloc() function that is glibc compatible. |
| 2 | 2 | ||
| 3 | Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2021 Free Software | 3 | Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2022 Free Software |
| 4 | Foundation, Inc. | 4 | Foundation, Inc. |
| 5 | 5 | ||
| 6 | This file is free software: you can redistribute it and/or modify | 6 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/reallocarray.c b/gl/reallocarray.c index 1fb2f3c7..70c1b478 100644 --- a/gl/reallocarray.c +++ b/gl/reallocarray.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* reallocarray function that is glibc compatible. | 1 | /* reallocarray function that is glibc compatible. |
| 2 | 2 | ||
| 3 | Copyright (C) 2017-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2017-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
| @@ -19,16 +19,15 @@ | |||
| 19 | 19 | ||
| 20 | #include <config.h> | 20 | #include <config.h> |
| 21 | 21 | ||
| 22 | #include <stdckdint.h> | ||
| 22 | #include <stdlib.h> | 23 | #include <stdlib.h> |
| 23 | #include <errno.h> | 24 | #include <errno.h> |
| 24 | 25 | ||
| 25 | #include "intprops.h" | ||
| 26 | |||
| 27 | void * | 26 | void * |
| 28 | reallocarray (void *ptr, size_t nmemb, size_t size) | 27 | reallocarray (void *ptr, size_t nmemb, size_t size) |
| 29 | { | 28 | { |
| 30 | size_t nbytes; | 29 | size_t nbytes; |
| 31 | if (INT_MULTIPLY_WRAPV (nmemb, size, &nbytes)) | 30 | if (ckd_mul (&nbytes, nmemb, size)) |
| 32 | { | 31 | { |
| 33 | errno = ENOMEM; | 32 | errno = ENOMEM; |
| 34 | return NULL; | 33 | return NULL; |
diff --git a/gl/regcomp.c b/gl/regcomp.c index 887e5b50..122c3de5 100644 --- a/gl/regcomp.c +++ b/gl/regcomp.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Extended regular expression matching and search library. | 1 | /* Extended regular expression matching and search library. |
| 2 | Copyright (C) 2002-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2002-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU C Library. | 3 | This file is part of the GNU C Library. |
| 4 | Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. | 4 | Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. |
| 5 | 5 | ||
| @@ -27,14 +27,10 @@ static void re_compile_fastmap_iter (regex_t *bufp, | |||
| 27 | const re_dfastate_t *init_state, | 27 | const re_dfastate_t *init_state, |
| 28 | char *fastmap); | 28 | char *fastmap); |
| 29 | static reg_errcode_t init_dfa (re_dfa_t *dfa, size_t pat_len); | 29 | static reg_errcode_t init_dfa (re_dfa_t *dfa, size_t pat_len); |
| 30 | #ifdef RE_ENABLE_I18N | ||
| 31 | static void free_charset (re_charset_t *cset); | 30 | static void free_charset (re_charset_t *cset); |
| 32 | #endif /* RE_ENABLE_I18N */ | ||
| 33 | static void free_workarea_compile (regex_t *preg); | 31 | static void free_workarea_compile (regex_t *preg); |
| 34 | static reg_errcode_t create_initial_state (re_dfa_t *dfa); | 32 | static reg_errcode_t create_initial_state (re_dfa_t *dfa); |
| 35 | #ifdef RE_ENABLE_I18N | ||
| 36 | static void optimize_utf8 (re_dfa_t *dfa); | 33 | static void optimize_utf8 (re_dfa_t *dfa); |
| 37 | #endif | ||
| 38 | static reg_errcode_t analyze (regex_t *preg); | 34 | static reg_errcode_t analyze (regex_t *preg); |
| 39 | static reg_errcode_t preorder (bin_tree_t *root, | 35 | static reg_errcode_t preorder (bin_tree_t *root, |
| 40 | reg_errcode_t (fn (void *, bin_tree_t *)), | 36 | reg_errcode_t (fn (void *, bin_tree_t *)), |
| @@ -89,7 +85,6 @@ static reg_errcode_t parse_bracket_element (bracket_elem_t *elem, | |||
| 89 | static reg_errcode_t parse_bracket_symbol (bracket_elem_t *elem, | 85 | static reg_errcode_t parse_bracket_symbol (bracket_elem_t *elem, |
| 90 | re_string_t *regexp, | 86 | re_string_t *regexp, |
| 91 | re_token_t *token); | 87 | re_token_t *token); |
| 92 | #ifdef RE_ENABLE_I18N | ||
| 93 | static reg_errcode_t build_equiv_class (bitset_t sbcset, | 88 | static reg_errcode_t build_equiv_class (bitset_t sbcset, |
| 94 | re_charset_t *mbcset, | 89 | re_charset_t *mbcset, |
| 95 | Idx *equiv_class_alloc, | 90 | Idx *equiv_class_alloc, |
| @@ -100,14 +95,6 @@ static reg_errcode_t build_charclass (RE_TRANSLATE_TYPE trans, | |||
| 100 | Idx *char_class_alloc, | 95 | Idx *char_class_alloc, |
| 101 | const char *class_name, | 96 | const char *class_name, |
| 102 | reg_syntax_t syntax); | 97 | reg_syntax_t syntax); |
| 103 | #else /* not RE_ENABLE_I18N */ | ||
| 104 | static reg_errcode_t build_equiv_class (bitset_t sbcset, | ||
| 105 | const unsigned char *name); | ||
| 106 | static reg_errcode_t build_charclass (RE_TRANSLATE_TYPE trans, | ||
| 107 | bitset_t sbcset, | ||
| 108 | const char *class_name, | ||
| 109 | reg_syntax_t syntax); | ||
| 110 | #endif /* not RE_ENABLE_I18N */ | ||
| 111 | static bin_tree_t *build_charclass_op (re_dfa_t *dfa, | 98 | static bin_tree_t *build_charclass_op (re_dfa_t *dfa, |
| 112 | RE_TRANSLATE_TYPE trans, | 99 | RE_TRANSLATE_TYPE trans, |
| 113 | const char *class_name, | 100 | const char *class_name, |
| @@ -279,8 +266,7 @@ re_compile_fastmap (struct re_pattern_buffer *bufp) | |||
| 279 | } | 266 | } |
| 280 | weak_alias (__re_compile_fastmap, re_compile_fastmap) | 267 | weak_alias (__re_compile_fastmap, re_compile_fastmap) |
| 281 | 268 | ||
| 282 | static inline void | 269 | static __always_inline void |
| 283 | __attribute__ ((always_inline)) | ||
| 284 | re_set_fastmap (char *fastmap, bool icase, int ch) | 270 | re_set_fastmap (char *fastmap, bool icase, int ch) |
| 285 | { | 271 | { |
| 286 | fastmap[ch] = 1; | 272 | fastmap[ch] = 1; |
| @@ -306,7 +292,6 @@ re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state, | |||
| 306 | if (type == CHARACTER) | 292 | if (type == CHARACTER) |
| 307 | { | 293 | { |
| 308 | re_set_fastmap (fastmap, icase, dfa->nodes[node].opr.c); | 294 | re_set_fastmap (fastmap, icase, dfa->nodes[node].opr.c); |
| 309 | #ifdef RE_ENABLE_I18N | ||
| 310 | if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1) | 295 | if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1) |
| 311 | { | 296 | { |
| 312 | unsigned char buf[MB_LEN_MAX]; | 297 | unsigned char buf[MB_LEN_MAX]; |
| @@ -327,7 +312,6 @@ re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state, | |||
| 327 | != (size_t) -1)) | 312 | != (size_t) -1)) |
| 328 | re_set_fastmap (fastmap, false, buf[0]); | 313 | re_set_fastmap (fastmap, false, buf[0]); |
| 329 | } | 314 | } |
| 330 | #endif | ||
| 331 | } | 315 | } |
| 332 | else if (type == SIMPLE_BRACKET) | 316 | else if (type == SIMPLE_BRACKET) |
| 333 | { | 317 | { |
| @@ -341,13 +325,12 @@ re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state, | |||
| 341 | re_set_fastmap (fastmap, icase, ch); | 325 | re_set_fastmap (fastmap, icase, ch); |
| 342 | } | 326 | } |
| 343 | } | 327 | } |
| 344 | #ifdef RE_ENABLE_I18N | ||
| 345 | else if (type == COMPLEX_BRACKET) | 328 | else if (type == COMPLEX_BRACKET) |
| 346 | { | 329 | { |
| 347 | re_charset_t *cset = dfa->nodes[node].opr.mbcset; | 330 | re_charset_t *cset = dfa->nodes[node].opr.mbcset; |
| 348 | Idx i; | 331 | Idx i; |
| 349 | 332 | ||
| 350 | # ifdef _LIBC | 333 | #ifdef _LIBC |
| 351 | /* See if we have to try all bytes which start multiple collation | 334 | /* See if we have to try all bytes which start multiple collation |
| 352 | elements. | 335 | elements. |
| 353 | e.g. In da_DK, we want to catch 'a' since "aa" is a valid | 336 | e.g. In da_DK, we want to catch 'a' since "aa" is a valid |
| @@ -363,7 +346,7 @@ re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state, | |||
| 363 | if (table[i] < 0) | 346 | if (table[i] < 0) |
| 364 | re_set_fastmap (fastmap, icase, i); | 347 | re_set_fastmap (fastmap, icase, i); |
| 365 | } | 348 | } |
| 366 | # endif /* _LIBC */ | 349 | #endif /* _LIBC */ |
| 367 | 350 | ||
| 368 | /* See if we have to start the match at all multibyte characters, | 351 | /* See if we have to start the match at all multibyte characters, |
| 369 | i.e. where we would not find an invalid sequence. This only | 352 | i.e. where we would not find an invalid sequence. This only |
| @@ -371,9 +354,9 @@ re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state, | |||
| 371 | sets, the SIMPLE_BRACKET again suffices. */ | 354 | sets, the SIMPLE_BRACKET again suffices. */ |
| 372 | if (dfa->mb_cur_max > 1 | 355 | if (dfa->mb_cur_max > 1 |
| 373 | && (cset->nchar_classes || cset->non_match || cset->nranges | 356 | && (cset->nchar_classes || cset->non_match || cset->nranges |
| 374 | # ifdef _LIBC | 357 | #ifdef _LIBC |
| 375 | || cset->nequiv_classes | 358 | || cset->nequiv_classes |
| 376 | # endif /* _LIBC */ | 359 | #endif /* _LIBC */ |
| 377 | )) | 360 | )) |
| 378 | { | 361 | { |
| 379 | unsigned char c = 0; | 362 | unsigned char c = 0; |
| @@ -406,12 +389,7 @@ re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t *init_state, | |||
| 406 | } | 389 | } |
| 407 | } | 390 | } |
| 408 | } | 391 | } |
| 409 | #endif /* RE_ENABLE_I18N */ | 392 | else if (type == OP_PERIOD || type == OP_UTF8_PERIOD || type == END_OF_RE) |
| 410 | else if (type == OP_PERIOD | ||
| 411 | #ifdef RE_ENABLE_I18N | ||
| 412 | || type == OP_UTF8_PERIOD | ||
| 413 | #endif /* RE_ENABLE_I18N */ | ||
| 414 | || type == END_OF_RE) | ||
| 415 | { | 393 | { |
| 416 | memset (fastmap, '\1', sizeof (char) * SBC_MAX); | 394 | memset (fastmap, '\1', sizeof (char) * SBC_MAX); |
| 417 | if (type == END_OF_RE) | 395 | if (type == END_OF_RE) |
| @@ -550,7 +528,6 @@ regerror (int errcode, const regex_t *__restrict preg, char *__restrict errbuf, | |||
| 550 | weak_alias (__regerror, regerror) | 528 | weak_alias (__regerror, regerror) |
| 551 | 529 | ||
| 552 | 530 | ||
| 553 | #ifdef RE_ENABLE_I18N | ||
| 554 | /* This static array is used for the map to single-byte characters when | 531 | /* This static array is used for the map to single-byte characters when |
| 555 | UTF-8 is used. Otherwise we would allocate memory just to initialize | 532 | UTF-8 is used. Otherwise we would allocate memory just to initialize |
| 556 | it the same all the time. UTF-8 is the preferred encoding so this is | 533 | it the same all the time. UTF-8 is the preferred encoding so this is |
| @@ -558,25 +535,24 @@ weak_alias (__regerror, regerror) | |||
| 558 | static const bitset_t utf8_sb_map = | 535 | static const bitset_t utf8_sb_map = |
| 559 | { | 536 | { |
| 560 | /* Set the first 128 bits. */ | 537 | /* Set the first 128 bits. */ |
| 561 | # if (defined __GNUC__ || __clang_major__ >= 4) && !defined __STRICT_ANSI__ | 538 | #if (defined __GNUC__ || __clang_major__ >= 4) && !defined __STRICT_ANSI__ |
| 562 | [0 ... 0x80 / BITSET_WORD_BITS - 1] = BITSET_WORD_MAX | 539 | [0 ... 0x80 / BITSET_WORD_BITS - 1] = BITSET_WORD_MAX |
| 563 | # else | 540 | #else |
| 564 | # if 4 * BITSET_WORD_BITS < ASCII_CHARS | 541 | # if 4 * BITSET_WORD_BITS < ASCII_CHARS |
| 565 | # error "bitset_word_t is narrower than 32 bits" | 542 | # error "bitset_word_t is narrower than 32 bits" |
| 566 | # elif 3 * BITSET_WORD_BITS < ASCII_CHARS | 543 | # elif 3 * BITSET_WORD_BITS < ASCII_CHARS |
| 567 | BITSET_WORD_MAX, BITSET_WORD_MAX, BITSET_WORD_MAX, | 544 | BITSET_WORD_MAX, BITSET_WORD_MAX, BITSET_WORD_MAX, |
| 568 | # elif 2 * BITSET_WORD_BITS < ASCII_CHARS | 545 | # elif 2 * BITSET_WORD_BITS < ASCII_CHARS |
| 569 | BITSET_WORD_MAX, BITSET_WORD_MAX, | 546 | BITSET_WORD_MAX, BITSET_WORD_MAX, |
| 570 | # elif 1 * BITSET_WORD_BITS < ASCII_CHARS | 547 | # elif 1 * BITSET_WORD_BITS < ASCII_CHARS |
| 571 | BITSET_WORD_MAX, | 548 | BITSET_WORD_MAX, |
| 572 | # endif | 549 | # endif |
| 573 | (BITSET_WORD_MAX | 550 | (BITSET_WORD_MAX |
| 574 | >> (SBC_MAX % BITSET_WORD_BITS == 0 | 551 | >> (SBC_MAX % BITSET_WORD_BITS == 0 |
| 575 | ? 0 | 552 | ? 0 |
| 576 | : BITSET_WORD_BITS - SBC_MAX % BITSET_WORD_BITS)) | 553 | : BITSET_WORD_BITS - SBC_MAX % BITSET_WORD_BITS)) |
| 577 | # endif | ||
| 578 | }; | ||
| 579 | #endif | 554 | #endif |
| 555 | }; | ||
| 580 | 556 | ||
| 581 | 557 | ||
| 582 | static void | 558 | static void |
| @@ -614,10 +590,8 @@ free_dfa_content (re_dfa_t *dfa) | |||
| 614 | re_free (entry->array); | 590 | re_free (entry->array); |
| 615 | } | 591 | } |
| 616 | re_free (dfa->state_table); | 592 | re_free (dfa->state_table); |
| 617 | #ifdef RE_ENABLE_I18N | ||
| 618 | if (dfa->sb_char != utf8_sb_map) | 593 | if (dfa->sb_char != utf8_sb_map) |
| 619 | re_free (dfa->sb_char); | 594 | re_free (dfa->sb_char); |
| 620 | #endif | ||
| 621 | re_free (dfa->subexp_map); | 595 | re_free (dfa->subexp_map); |
| 622 | #ifdef DEBUG | 596 | #ifdef DEBUG |
| 623 | re_free (dfa->re_str); | 597 | re_free (dfa->re_str); |
| @@ -796,11 +770,9 @@ re_compile_internal (regex_t *preg, const char * pattern, size_t length, | |||
| 796 | if (__glibc_unlikely (err != REG_NOERROR)) | 770 | if (__glibc_unlikely (err != REG_NOERROR)) |
| 797 | goto re_compile_internal_free_return; | 771 | goto re_compile_internal_free_return; |
| 798 | 772 | ||
| 799 | #ifdef RE_ENABLE_I18N | ||
| 800 | /* If possible, do searching in single byte encoding to speed things up. */ | 773 | /* If possible, do searching in single byte encoding to speed things up. */ |
| 801 | if (dfa->is_utf8 && !(syntax & RE_ICASE) && preg->translate == NULL) | 774 | if (dfa->is_utf8 && !(syntax & RE_ICASE) && preg->translate == NULL) |
| 802 | optimize_utf8 (dfa); | 775 | optimize_utf8 (dfa); |
| 803 | #endif | ||
| 804 | 776 | ||
| 805 | /* Then create the initial state of the dfa. */ | 777 | /* Then create the initial state of the dfa. */ |
| 806 | err = create_initial_state (dfa); | 778 | err = create_initial_state (dfa); |
| @@ -830,11 +802,7 @@ init_dfa (re_dfa_t *dfa, size_t pat_len) | |||
| 830 | #ifndef _LIBC | 802 | #ifndef _LIBC |
| 831 | const char *codeset_name; | 803 | const char *codeset_name; |
| 832 | #endif | 804 | #endif |
| 833 | #ifdef RE_ENABLE_I18N | ||
| 834 | size_t max_i18n_object_size = MAX (sizeof (wchar_t), sizeof (wctype_t)); | 805 | size_t max_i18n_object_size = MAX (sizeof (wchar_t), sizeof (wctype_t)); |
| 835 | #else | ||
| 836 | size_t max_i18n_object_size = 0; | ||
| 837 | #endif | ||
| 838 | size_t max_object_size = | 806 | size_t max_object_size = |
| 839 | MAX (sizeof (struct re_state_table_entry), | 807 | MAX (sizeof (struct re_state_table_entry), |
| 840 | MAX (sizeof (re_token_t), | 808 | MAX (sizeof (re_token_t), |
| @@ -886,7 +854,6 @@ init_dfa (re_dfa_t *dfa, size_t pat_len) | |||
| 886 | dfa->map_notascii = 0; | 854 | dfa->map_notascii = 0; |
| 887 | #endif | 855 | #endif |
| 888 | 856 | ||
| 889 | #ifdef RE_ENABLE_I18N | ||
| 890 | if (dfa->mb_cur_max > 1) | 857 | if (dfa->mb_cur_max > 1) |
| 891 | { | 858 | { |
| 892 | if (dfa->is_utf8) | 859 | if (dfa->is_utf8) |
| @@ -906,14 +873,13 @@ init_dfa (re_dfa_t *dfa, size_t pat_len) | |||
| 906 | wint_t wch = __btowc (ch); | 873 | wint_t wch = __btowc (ch); |
| 907 | if (wch != WEOF) | 874 | if (wch != WEOF) |
| 908 | dfa->sb_char[i] |= (bitset_word_t) 1 << j; | 875 | dfa->sb_char[i] |= (bitset_word_t) 1 << j; |
| 909 | # ifndef _LIBC | 876 | #ifndef _LIBC |
| 910 | if (isascii (ch) && wch != ch) | 877 | if (isascii (ch) && wch != ch) |
| 911 | dfa->map_notascii = 1; | 878 | dfa->map_notascii = 1; |
| 912 | # endif | 879 | #endif |
| 913 | } | 880 | } |
| 914 | } | 881 | } |
| 915 | } | 882 | } |
| 916 | #endif | ||
| 917 | 883 | ||
| 918 | if (__glibc_unlikely (dfa->nodes == NULL || dfa->state_table == NULL)) | 884 | if (__glibc_unlikely (dfa->nodes == NULL || dfa->state_table == NULL)) |
| 919 | return REG_ESPACE; | 885 | return REG_ESPACE; |
| @@ -933,8 +899,6 @@ init_word_char (re_dfa_t *dfa) | |||
| 933 | dfa->word_ops_used = 1; | 899 | dfa->word_ops_used = 1; |
| 934 | if (__glibc_likely (dfa->map_notascii == 0)) | 900 | if (__glibc_likely (dfa->map_notascii == 0)) |
| 935 | { | 901 | { |
| 936 | /* Avoid uint32_t and uint64_t as some non-GCC platforms lack | ||
| 937 | them, an issue when this code is used in Gnulib. */ | ||
| 938 | bitset_word_t bits0 = 0x00000000; | 902 | bitset_word_t bits0 = 0x00000000; |
| 939 | bitset_word_t bits1 = 0x03ff0000; | 903 | bitset_word_t bits1 = 0x03ff0000; |
| 940 | bitset_word_t bits2 = 0x87fffffe; | 904 | bitset_word_t bits2 = 0x87fffffe; |
| @@ -1074,7 +1038,6 @@ create_initial_state (re_dfa_t *dfa) | |||
| 1074 | return REG_NOERROR; | 1038 | return REG_NOERROR; |
| 1075 | } | 1039 | } |
| 1076 | 1040 | ||
| 1077 | #ifdef RE_ENABLE_I18N | ||
| 1078 | /* If it is possible to do searching in single byte encoding instead of UTF-8 | 1041 | /* If it is possible to do searching in single byte encoding instead of UTF-8 |
| 1079 | to speed things up, set dfa->mb_cur_max to 1, clear is_utf8 and change | 1042 | to speed things up, set dfa->mb_cur_max to 1, clear is_utf8 and change |
| 1080 | DFA nodes where needed. */ | 1043 | DFA nodes where needed. */ |
| @@ -1154,7 +1117,6 @@ optimize_utf8 (re_dfa_t *dfa) | |||
| 1154 | dfa->is_utf8 = 0; | 1117 | dfa->is_utf8 = 0; |
| 1155 | dfa->has_mb_node = dfa->nbackref > 0 || has_period; | 1118 | dfa->has_mb_node = dfa->nbackref > 0 || has_period; |
| 1156 | } | 1119 | } |
| 1157 | #endif | ||
| 1158 | 1120 | ||
| 1159 | /* Analyze the structure tree, and calculate "first", "next", "edest", | 1121 | /* Analyze the structure tree, and calculate "first", "next", "edest", |
| 1160 | "eclosure", and "inveclosure". */ | 1122 | "eclosure", and "inveclosure". */ |
| @@ -1792,7 +1754,6 @@ peek_token (re_token_t *token, re_string_t *input, reg_syntax_t syntax) | |||
| 1792 | token->opr.c = c; | 1754 | token->opr.c = c; |
| 1793 | 1755 | ||
| 1794 | token->word_char = 0; | 1756 | token->word_char = 0; |
| 1795 | #ifdef RE_ENABLE_I18N | ||
| 1796 | token->mb_partial = 0; | 1757 | token->mb_partial = 0; |
| 1797 | if (input->mb_cur_max > 1 | 1758 | if (input->mb_cur_max > 1 |
| 1798 | && !re_string_first_byte (input, re_string_cur_idx (input))) | 1759 | && !re_string_first_byte (input, re_string_cur_idx (input))) |
| @@ -1801,7 +1762,6 @@ peek_token (re_token_t *token, re_string_t *input, reg_syntax_t syntax) | |||
| 1801 | token->mb_partial = 1; | 1762 | token->mb_partial = 1; |
| 1802 | return 1; | 1763 | return 1; |
| 1803 | } | 1764 | } |
| 1804 | #endif | ||
| 1805 | if (c == '\\') | 1765 | if (c == '\\') |
| 1806 | { | 1766 | { |
| 1807 | unsigned char c2; | 1767 | unsigned char c2; |
| @@ -1814,7 +1774,6 @@ peek_token (re_token_t *token, re_string_t *input, reg_syntax_t syntax) | |||
| 1814 | c2 = re_string_peek_byte_case (input, 1); | 1774 | c2 = re_string_peek_byte_case (input, 1); |
| 1815 | token->opr.c = c2; | 1775 | token->opr.c = c2; |
| 1816 | token->type = CHARACTER; | 1776 | token->type = CHARACTER; |
| 1817 | #ifdef RE_ENABLE_I18N | ||
| 1818 | if (input->mb_cur_max > 1) | 1777 | if (input->mb_cur_max > 1) |
| 1819 | { | 1778 | { |
| 1820 | wint_t wc = re_string_wchar_at (input, | 1779 | wint_t wc = re_string_wchar_at (input, |
| @@ -1822,7 +1781,6 @@ peek_token (re_token_t *token, re_string_t *input, reg_syntax_t syntax) | |||
| 1822 | token->word_char = IS_WIDE_WORD_CHAR (wc) != 0; | 1781 | token->word_char = IS_WIDE_WORD_CHAR (wc) != 0; |
| 1823 | } | 1782 | } |
| 1824 | else | 1783 | else |
| 1825 | #endif | ||
| 1826 | token->word_char = IS_WORD_CHAR (c2) != 0; | 1784 | token->word_char = IS_WORD_CHAR (c2) != 0; |
| 1827 | 1785 | ||
| 1828 | switch (c2) | 1786 | switch (c2) |
| @@ -1928,14 +1886,12 @@ peek_token (re_token_t *token, re_string_t *input, reg_syntax_t syntax) | |||
| 1928 | } | 1886 | } |
| 1929 | 1887 | ||
| 1930 | token->type = CHARACTER; | 1888 | token->type = CHARACTER; |
| 1931 | #ifdef RE_ENABLE_I18N | ||
| 1932 | if (input->mb_cur_max > 1) | 1889 | if (input->mb_cur_max > 1) |
| 1933 | { | 1890 | { |
| 1934 | wint_t wc = re_string_wchar_at (input, re_string_cur_idx (input)); | 1891 | wint_t wc = re_string_wchar_at (input, re_string_cur_idx (input)); |
| 1935 | token->word_char = IS_WIDE_WORD_CHAR (wc) != 0; | 1892 | token->word_char = IS_WIDE_WORD_CHAR (wc) != 0; |
| 1936 | } | 1893 | } |
| 1937 | else | 1894 | else |
| 1938 | #endif | ||
| 1939 | token->word_char = IS_WORD_CHAR (token->opr.c); | 1895 | token->word_char = IS_WORD_CHAR (token->opr.c); |
| 1940 | 1896 | ||
| 1941 | switch (c) | 1897 | switch (c) |
| @@ -2027,14 +1983,12 @@ peek_token_bracket (re_token_t *token, re_string_t *input, reg_syntax_t syntax) | |||
| 2027 | c = re_string_peek_byte (input, 0); | 1983 | c = re_string_peek_byte (input, 0); |
| 2028 | token->opr.c = c; | 1984 | token->opr.c = c; |
| 2029 | 1985 | ||
| 2030 | #ifdef RE_ENABLE_I18N | ||
| 2031 | if (input->mb_cur_max > 1 | 1986 | if (input->mb_cur_max > 1 |
| 2032 | && !re_string_first_byte (input, re_string_cur_idx (input))) | 1987 | && !re_string_first_byte (input, re_string_cur_idx (input))) |
| 2033 | { | 1988 | { |
| 2034 | token->type = CHARACTER; | 1989 | token->type = CHARACTER; |
| 2035 | return 1; | 1990 | return 1; |
| 2036 | } | 1991 | } |
| 2037 | #endif /* RE_ENABLE_I18N */ | ||
| 2038 | 1992 | ||
| 2039 | if (c == '\\' && (syntax & RE_BACKSLASH_ESCAPE_IN_LISTS) | 1993 | if (c == '\\' && (syntax & RE_BACKSLASH_ESCAPE_IN_LISTS) |
| 2040 | && re_string_cur_idx (input) + 1 < re_string_length (input)) | 1994 | && re_string_cur_idx (input) + 1 < re_string_length (input)) |
| @@ -2084,15 +2038,25 @@ peek_token_bracket (re_token_t *token, re_string_t *input, reg_syntax_t syntax) | |||
| 2084 | } | 2038 | } |
| 2085 | switch (c) | 2039 | switch (c) |
| 2086 | { | 2040 | { |
| 2087 | case '-': | ||
| 2088 | token->type = OP_CHARSET_RANGE; | ||
| 2089 | break; | ||
| 2090 | case ']': | 2041 | case ']': |
| 2091 | token->type = OP_CLOSE_BRACKET; | 2042 | token->type = OP_CLOSE_BRACKET; |
| 2092 | break; | 2043 | break; |
| 2093 | case '^': | 2044 | case '^': |
| 2094 | token->type = OP_NON_MATCH_LIST; | 2045 | token->type = OP_NON_MATCH_LIST; |
| 2095 | break; | 2046 | break; |
| 2047 | case '-': | ||
| 2048 | /* In V7 Unix grep and Unix awk and mawk, [...---...] | ||
| 2049 | (3 adjacent minus signs) stands for a single minus sign. | ||
| 2050 | Support that without breaking anything else. */ | ||
| 2051 | if (! (re_string_cur_idx (input) + 2 < re_string_length (input) | ||
| 2052 | && re_string_peek_byte (input, 1) == '-' | ||
| 2053 | && re_string_peek_byte (input, 2) == '-')) | ||
| 2054 | { | ||
| 2055 | token->type = OP_CHARSET_RANGE; | ||
| 2056 | break; | ||
| 2057 | } | ||
| 2058 | re_string_skip_bytes (input, 2); | ||
| 2059 | FALLTHROUGH; | ||
| 2096 | default: | 2060 | default: |
| 2097 | token->type = CHARACTER; | 2061 | token->type = CHARACTER; |
| 2098 | } | 2062 | } |
| @@ -2256,7 +2220,6 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token, | |||
| 2256 | *err = REG_ESPACE; | 2220 | *err = REG_ESPACE; |
| 2257 | return NULL; | 2221 | return NULL; |
| 2258 | } | 2222 | } |
| 2259 | #ifdef RE_ENABLE_I18N | ||
| 2260 | if (dfa->mb_cur_max > 1) | 2223 | if (dfa->mb_cur_max > 1) |
| 2261 | { | 2224 | { |
| 2262 | while (!re_string_eoi (regexp) | 2225 | while (!re_string_eoi (regexp) |
| @@ -2273,7 +2236,6 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token, | |||
| 2273 | } | 2236 | } |
| 2274 | } | 2237 | } |
| 2275 | } | 2238 | } |
| 2276 | #endif | ||
| 2277 | break; | 2239 | break; |
| 2278 | 2240 | ||
| 2279 | case OP_OPEN_SUBEXP: | 2241 | case OP_OPEN_SUBEXP: |
| @@ -2666,40 +2628,30 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa, | |||
| 2666 | 2628 | ||
| 2667 | #ifndef _LIBC | 2629 | #ifndef _LIBC |
| 2668 | 2630 | ||
| 2669 | # ifdef RE_ENABLE_I18N | ||
| 2670 | /* Convert the byte B to the corresponding wide character. In a | 2631 | /* Convert the byte B to the corresponding wide character. In a |
| 2671 | unibyte locale, treat B as itself. In a multibyte locale, return | 2632 | unibyte locale, treat B as itself. In a multibyte locale, return |
| 2672 | WEOF if B is an encoding error. */ | 2633 | WEOF if B is an encoding error. */ |
| 2673 | static wint_t | 2634 | static wint_t |
| 2674 | parse_byte (unsigned char b, re_charset_t *mbcset) | 2635 | parse_byte (unsigned char b, re_dfa_t const *dfa) |
| 2675 | { | 2636 | { |
| 2676 | return mbcset == NULL ? b : __btowc (b); | 2637 | return dfa->mb_cur_max > 1 ? __btowc (b) : b; |
| 2677 | } | 2638 | } |
| 2678 | # endif | ||
| 2679 | 2639 | ||
| 2680 | /* Local function for parse_bracket_exp only used in case of NOT _LIBC. | 2640 | /* Local function for parse_bracket_exp used in _LIBC environment. |
| 2681 | Build the range expression which starts from START_ELEM, and ends | 2641 | Build the range expression which starts from START_ELEM, and ends |
| 2682 | at END_ELEM. The result are written to MBCSET and SBCSET. | 2642 | at END_ELEM. The result are written to MBCSET and SBCSET. |
| 2683 | RANGE_ALLOC is the allocated size of mbcset->range_starts, and | 2643 | RANGE_ALLOC is the allocated size of mbcset->range_starts, and |
| 2684 | mbcset->range_ends, is a pointer argument since we may | 2644 | mbcset->range_ends, is a pointer argument since we may |
| 2685 | update it. */ | 2645 | update it. */ |
| 2686 | 2646 | ||
| 2687 | static reg_errcode_t | 2647 | static reg_errcode_t |
| 2688 | # ifdef RE_ENABLE_I18N | 2648 | build_range_exp (bitset_t sbcset, re_charset_t *mbcset, Idx *range_alloc, |
| 2689 | build_range_exp (const reg_syntax_t syntax, | 2649 | bracket_elem_t *start_elem, bracket_elem_t *end_elem, |
| 2690 | bitset_t sbcset, | 2650 | re_dfa_t *dfa, reg_syntax_t syntax, uint_fast32_t nrules, |
| 2691 | re_charset_t *mbcset, | 2651 | const unsigned char *collseqmb, const char *collseqwc, |
| 2692 | Idx *range_alloc, | 2652 | int_fast32_t table_size, const void *symb_table, |
| 2693 | const bracket_elem_t *start_elem, | 2653 | const unsigned char *extra) |
| 2694 | const bracket_elem_t *end_elem) | ||
| 2695 | # else /* not RE_ENABLE_I18N */ | ||
| 2696 | build_range_exp (const reg_syntax_t syntax, | ||
| 2697 | bitset_t sbcset, | ||
| 2698 | const bracket_elem_t *start_elem, | ||
| 2699 | const bracket_elem_t *end_elem) | ||
| 2700 | # endif /* not RE_ENABLE_I18N */ | ||
| 2701 | { | 2654 | { |
| 2702 | unsigned int start_ch, end_ch; | ||
| 2703 | /* Equivalence Classes and Character Classes can't be a range start/end. */ | 2655 | /* Equivalence Classes and Character Classes can't be a range start/end. */ |
| 2704 | if (__glibc_unlikely (start_elem->type == EQUIV_CLASS | 2656 | if (__glibc_unlikely (start_elem->type == EQUIV_CLASS |
| 2705 | || start_elem->type == CHAR_CLASS | 2657 | || start_elem->type == CHAR_CLASS |
| @@ -2715,110 +2667,88 @@ build_range_exp (const reg_syntax_t syntax, | |||
| 2715 | && strlen ((char *) end_elem->opr.name) > 1))) | 2667 | && strlen ((char *) end_elem->opr.name) > 1))) |
| 2716 | return REG_ECOLLATE; | 2668 | return REG_ECOLLATE; |
| 2717 | 2669 | ||
| 2718 | # ifdef RE_ENABLE_I18N | 2670 | unsigned int |
| 2719 | { | ||
| 2720 | wchar_t wc; | ||
| 2721 | wint_t start_wc; | ||
| 2722 | wint_t end_wc; | ||
| 2723 | |||
| 2724 | start_ch = ((start_elem->type == SB_CHAR) ? start_elem->opr.ch | 2671 | start_ch = ((start_elem->type == SB_CHAR) ? start_elem->opr.ch |
| 2725 | : ((start_elem->type == COLL_SYM) ? start_elem->opr.name[0] | 2672 | : ((start_elem->type == COLL_SYM) ? start_elem->opr.name[0] |
| 2726 | : 0)); | 2673 | : 0)), |
| 2727 | end_ch = ((end_elem->type == SB_CHAR) ? end_elem->opr.ch | 2674 | end_ch = ((end_elem->type == SB_CHAR) ? end_elem->opr.ch |
| 2728 | : ((end_elem->type == COLL_SYM) ? end_elem->opr.name[0] | 2675 | : ((end_elem->type == COLL_SYM) ? end_elem->opr.name[0] |
| 2729 | : 0)); | 2676 | : 0)); |
| 2677 | wint_t | ||
| 2730 | start_wc = ((start_elem->type == SB_CHAR || start_elem->type == COLL_SYM) | 2678 | start_wc = ((start_elem->type == SB_CHAR || start_elem->type == COLL_SYM) |
| 2731 | ? parse_byte (start_ch, mbcset) : start_elem->opr.wch); | 2679 | ? parse_byte (start_ch, dfa) : start_elem->opr.wch), |
| 2732 | end_wc = ((end_elem->type == SB_CHAR || end_elem->type == COLL_SYM) | 2680 | end_wc = ((end_elem->type == SB_CHAR || end_elem->type == COLL_SYM) |
| 2733 | ? parse_byte (end_ch, mbcset) : end_elem->opr.wch); | 2681 | ? parse_byte (end_ch, dfa) : end_elem->opr.wch); |
| 2734 | if (start_wc == WEOF || end_wc == WEOF) | ||
| 2735 | return REG_ECOLLATE; | ||
| 2736 | else if (__glibc_unlikely ((syntax & RE_NO_EMPTY_RANGES) | ||
| 2737 | && start_wc > end_wc)) | ||
| 2738 | return REG_ERANGE; | ||
| 2739 | |||
| 2740 | /* Got valid collation sequence values, add them as a new entry. | ||
| 2741 | However, for !_LIBC we have no collation elements: if the | ||
| 2742 | character set is single byte, the single byte character set | ||
| 2743 | that we build below suffices. parse_bracket_exp passes | ||
| 2744 | no MBCSET if dfa->mb_cur_max == 1. */ | ||
| 2745 | if (mbcset) | ||
| 2746 | { | ||
| 2747 | /* Check the space of the arrays. */ | ||
| 2748 | if (__glibc_unlikely (*range_alloc == mbcset->nranges)) | ||
| 2749 | { | ||
| 2750 | /* There is not enough space, need realloc. */ | ||
| 2751 | wchar_t *new_array_start, *new_array_end; | ||
| 2752 | Idx new_nranges; | ||
| 2753 | |||
| 2754 | /* +1 in case of mbcset->nranges is 0. */ | ||
| 2755 | new_nranges = 2 * mbcset->nranges + 1; | ||
| 2756 | /* Use realloc since mbcset->range_starts and mbcset->range_ends | ||
| 2757 | are NULL if *range_alloc == 0. */ | ||
| 2758 | new_array_start = re_realloc (mbcset->range_starts, wchar_t, | ||
| 2759 | new_nranges); | ||
| 2760 | new_array_end = re_realloc (mbcset->range_ends, wchar_t, | ||
| 2761 | new_nranges); | ||
| 2762 | 2682 | ||
| 2763 | if (__glibc_unlikely (new_array_start == NULL | 2683 | if (start_wc == WEOF || end_wc == WEOF) |
| 2764 | || new_array_end == NULL)) | 2684 | return REG_ECOLLATE; |
| 2765 | { | 2685 | else if (__glibc_unlikely ((syntax & RE_NO_EMPTY_RANGES) |
| 2766 | re_free (new_array_start); | 2686 | && start_wc > end_wc)) |
| 2767 | re_free (new_array_end); | 2687 | return REG_ERANGE; |
| 2768 | return REG_ESPACE; | ||
| 2769 | } | ||
| 2770 | 2688 | ||
| 2771 | mbcset->range_starts = new_array_start; | 2689 | /* Got valid collation sequence values, add them as a new entry. |
| 2772 | mbcset->range_ends = new_array_end; | 2690 | However, for !_LIBC we have no collation elements: if the |
| 2773 | *range_alloc = new_nranges; | 2691 | character set is single byte, the single byte character set |
| 2774 | } | 2692 | that we build below suffices. parse_bracket_exp passes |
| 2693 | no MBCSET if dfa->mb_cur_max == 1. */ | ||
| 2694 | if (dfa->mb_cur_max > 1) | ||
| 2695 | { | ||
| 2696 | /* Check the space of the arrays. */ | ||
| 2697 | if (__glibc_unlikely (*range_alloc == mbcset->nranges)) | ||
| 2698 | { | ||
| 2699 | /* There is not enough space, need realloc. */ | ||
| 2700 | wchar_t *new_array_start, *new_array_end; | ||
| 2701 | Idx new_nranges; | ||
| 2775 | 2702 | ||
| 2776 | mbcset->range_starts[mbcset->nranges] = start_wc; | 2703 | /* +1 in case of mbcset->nranges is 0. */ |
| 2777 | mbcset->range_ends[mbcset->nranges++] = end_wc; | 2704 | new_nranges = 2 * mbcset->nranges + 1; |
| 2778 | } | 2705 | /* Use realloc since mbcset->range_starts and mbcset->range_ends |
| 2706 | are NULL if *range_alloc == 0. */ | ||
| 2707 | new_array_start = re_realloc (mbcset->range_starts, wchar_t, | ||
| 2708 | new_nranges); | ||
| 2709 | new_array_end = re_realloc (mbcset->range_ends, wchar_t, | ||
| 2710 | new_nranges); | ||
| 2711 | |||
| 2712 | if (__glibc_unlikely (new_array_start == NULL | ||
| 2713 | || new_array_end == NULL)) | ||
| 2714 | { | ||
| 2715 | re_free (new_array_start); | ||
| 2716 | re_free (new_array_end); | ||
| 2717 | return REG_ESPACE; | ||
| 2718 | } | ||
| 2719 | |||
| 2720 | mbcset->range_starts = new_array_start; | ||
| 2721 | mbcset->range_ends = new_array_end; | ||
| 2722 | *range_alloc = new_nranges; | ||
| 2723 | } | ||
| 2724 | |||
| 2725 | mbcset->range_starts[mbcset->nranges] = start_wc; | ||
| 2726 | mbcset->range_ends[mbcset->nranges++] = end_wc; | ||
| 2727 | } | ||
| 2728 | |||
| 2729 | /* Build the table for single byte characters. */ | ||
| 2730 | for (wchar_t wc = 0; wc < SBC_MAX; ++wc) | ||
| 2731 | { | ||
| 2732 | if (start_wc <= wc && wc <= end_wc) | ||
| 2733 | bitset_set (sbcset, wc); | ||
| 2734 | } | ||
| 2779 | 2735 | ||
| 2780 | /* Build the table for single byte characters. */ | ||
| 2781 | for (wc = 0; wc < SBC_MAX; ++wc) | ||
| 2782 | { | ||
| 2783 | if (start_wc <= wc && wc <= end_wc) | ||
| 2784 | bitset_set (sbcset, wc); | ||
| 2785 | } | ||
| 2786 | } | ||
| 2787 | # else /* not RE_ENABLE_I18N */ | ||
| 2788 | { | ||
| 2789 | unsigned int ch; | ||
| 2790 | start_ch = ((start_elem->type == SB_CHAR ) ? start_elem->opr.ch | ||
| 2791 | : ((start_elem->type == COLL_SYM) ? start_elem->opr.name[0] | ||
| 2792 | : 0)); | ||
| 2793 | end_ch = ((end_elem->type == SB_CHAR ) ? end_elem->opr.ch | ||
| 2794 | : ((end_elem->type == COLL_SYM) ? end_elem->opr.name[0] | ||
| 2795 | : 0)); | ||
| 2796 | if (start_ch > end_ch) | ||
| 2797 | return REG_ERANGE; | ||
| 2798 | /* Build the table for single byte characters. */ | ||
| 2799 | for (ch = 0; ch < SBC_MAX; ++ch) | ||
| 2800 | if (start_ch <= ch && ch <= end_ch) | ||
| 2801 | bitset_set (sbcset, ch); | ||
| 2802 | } | ||
| 2803 | # endif /* not RE_ENABLE_I18N */ | ||
| 2804 | return REG_NOERROR; | 2736 | return REG_NOERROR; |
| 2805 | } | 2737 | } |
| 2806 | #endif /* not _LIBC */ | 2738 | #endif /* not _LIBC */ |
| 2807 | 2739 | ||
| 2808 | #ifndef _LIBC | 2740 | #ifndef _LIBC |
| 2809 | /* Helper function for parse_bracket_exp only used in case of NOT _LIBC.. | 2741 | /* Helper function for parse_bracket_exp only used in case of NOT _LIBC. |
| 2810 | Build the collating element which is represented by NAME. | 2742 | Build the collating element which is represented by NAME. |
| 2811 | The result are written to MBCSET and SBCSET. | 2743 | The result are written to MBCSET and SBCSET. |
| 2812 | COLL_SYM_ALLOC is the allocated size of mbcset->coll_sym, is a | 2744 | COLL_SYM_ALLOC is the allocated size of mbcset->coll_sym, is a |
| 2813 | pointer argument since we may update it. */ | 2745 | pointer argument since we may update it. */ |
| 2814 | 2746 | ||
| 2815 | static reg_errcode_t | 2747 | static reg_errcode_t |
| 2816 | # ifdef RE_ENABLE_I18N | ||
| 2817 | build_collating_symbol (bitset_t sbcset, re_charset_t *mbcset, | 2748 | build_collating_symbol (bitset_t sbcset, re_charset_t *mbcset, |
| 2818 | Idx *coll_sym_alloc, const unsigned char *name) | 2749 | Idx *coll_sym_alloc, const unsigned char *name, |
| 2819 | # else /* not RE_ENABLE_I18N */ | 2750 | uint_fast32_t nrules, int_fast32_t table_size, |
| 2820 | build_collating_symbol (bitset_t sbcset, const unsigned char *name) | 2751 | const void *symb_table, const unsigned char *extra) |
| 2821 | # endif /* not RE_ENABLE_I18N */ | ||
| 2822 | { | 2752 | { |
| 2823 | size_t name_len = strlen ((const char *) name); | 2753 | size_t name_len = strlen ((const char *) name); |
| 2824 | if (__glibc_unlikely (name_len != 1)) | 2754 | if (__glibc_unlikely (name_len != 1)) |
| @@ -2831,271 +2761,280 @@ build_collating_symbol (bitset_t sbcset, const unsigned char *name) | |||
| 2831 | } | 2761 | } |
| 2832 | #endif /* not _LIBC */ | 2762 | #endif /* not _LIBC */ |
| 2833 | 2763 | ||
| 2834 | /* This function parse bracket expression like "[abc]", "[a-c]", | ||
| 2835 | "[[.a-a.]]" etc. */ | ||
| 2836 | |||
| 2837 | static bin_tree_t * | ||
| 2838 | parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, | ||
| 2839 | reg_syntax_t syntax, reg_errcode_t *err) | ||
| 2840 | { | ||
| 2841 | #ifdef _LIBC | 2764 | #ifdef _LIBC |
| 2842 | const unsigned char *collseqmb; | 2765 | /* Local function for parse_bracket_exp used in _LIBC environment. |
| 2843 | const char *collseqwc; | 2766 | Seek the collating symbol entry corresponding to NAME. |
| 2844 | uint32_t nrules; | 2767 | Return the index of the symbol in the SYMB_TABLE, |
| 2845 | int32_t table_size; | 2768 | or -1 if not found. */ |
| 2846 | const int32_t *symb_table; | 2769 | |
| 2847 | const unsigned char *extra; | 2770 | static __always_inline int32_t |
| 2848 | 2771 | seek_collating_symbol_entry (const unsigned char *name, size_t name_len, | |
| 2849 | /* Local function for parse_bracket_exp used in _LIBC environment. | 2772 | const int32_t *symb_table, |
| 2850 | Seek the collating symbol entry corresponding to NAME. | 2773 | int_fast32_t table_size, |
| 2851 | Return the index of the symbol in the SYMB_TABLE, | 2774 | const unsigned char *extra) |
| 2852 | or -1 if not found. */ | 2775 | { |
| 2853 | 2776 | int_fast32_t elem; | |
| 2854 | auto inline int32_t | ||
| 2855 | __attribute__ ((always_inline)) | ||
| 2856 | seek_collating_symbol_entry (const unsigned char *name, size_t name_len) | ||
| 2857 | { | ||
| 2858 | int32_t elem; | ||
| 2859 | |||
| 2860 | for (elem = 0; elem < table_size; elem++) | ||
| 2861 | if (symb_table[2 * elem] != 0) | ||
| 2862 | { | ||
| 2863 | int32_t idx = symb_table[2 * elem + 1]; | ||
| 2864 | /* Skip the name of collating element name. */ | ||
| 2865 | idx += 1 + extra[idx]; | ||
| 2866 | if (/* Compare the length of the name. */ | ||
| 2867 | name_len == extra[idx] | ||
| 2868 | /* Compare the name. */ | ||
| 2869 | && memcmp (name, &extra[idx + 1], name_len) == 0) | ||
| 2870 | /* Yep, this is the entry. */ | ||
| 2871 | return elem; | ||
| 2872 | } | ||
| 2873 | return -1; | ||
| 2874 | } | ||
| 2875 | 2777 | ||
| 2876 | /* Local function for parse_bracket_exp used in _LIBC environment. | 2778 | for (elem = 0; elem < table_size; elem++) |
| 2877 | Look up the collation sequence value of BR_ELEM. | 2779 | if (symb_table[2 * elem] != 0) |
| 2878 | Return the value if succeeded, UINT_MAX otherwise. */ | 2780 | { |
| 2781 | int32_t idx = symb_table[2 * elem + 1]; | ||
| 2782 | /* Skip the name of collating element name. */ | ||
| 2783 | idx += 1 + extra[idx]; | ||
| 2784 | if (/* Compare the length of the name. */ | ||
| 2785 | name_len == extra[idx] | ||
| 2786 | /* Compare the name. */ | ||
| 2787 | && memcmp (name, &extra[idx + 1], name_len) == 0) | ||
| 2788 | /* Yep, this is the entry. */ | ||
| 2789 | return elem; | ||
| 2790 | } | ||
| 2791 | return -1; | ||
| 2792 | } | ||
| 2879 | 2793 | ||
| 2880 | auto inline unsigned int | 2794 | /* Local function for parse_bracket_exp used in _LIBC environment. |
| 2881 | __attribute__ ((always_inline)) | 2795 | Look up the collation sequence value of BR_ELEM. |
| 2882 | lookup_collation_sequence_value (bracket_elem_t *br_elem) | 2796 | Return the value if succeeded, UINT_MAX otherwise. */ |
| 2797 | |||
| 2798 | static __always_inline unsigned int | ||
| 2799 | lookup_collation_sequence_value (bracket_elem_t *br_elem, uint32_t nrules, | ||
| 2800 | const unsigned char *collseqmb, | ||
| 2801 | const char *collseqwc, | ||
| 2802 | int_fast32_t table_size, | ||
| 2803 | const int32_t *symb_table, | ||
| 2804 | const unsigned char *extra) | ||
| 2805 | { | ||
| 2806 | if (br_elem->type == SB_CHAR) | ||
| 2883 | { | 2807 | { |
| 2884 | if (br_elem->type == SB_CHAR) | 2808 | /* if (MB_CUR_MAX == 1) */ |
| 2885 | { | 2809 | if (nrules == 0) |
| 2886 | /* | 2810 | return collseqmb[br_elem->opr.ch]; |
| 2887 | if (MB_CUR_MAX == 1) | 2811 | else |
| 2888 | */ | ||
| 2889 | if (nrules == 0) | ||
| 2890 | return collseqmb[br_elem->opr.ch]; | ||
| 2891 | else | ||
| 2892 | { | ||
| 2893 | wint_t wc = __btowc (br_elem->opr.ch); | ||
| 2894 | return __collseq_table_lookup (collseqwc, wc); | ||
| 2895 | } | ||
| 2896 | } | ||
| 2897 | else if (br_elem->type == MB_CHAR) | ||
| 2898 | { | 2812 | { |
| 2899 | if (nrules != 0) | 2813 | wint_t wc = __btowc (br_elem->opr.ch); |
| 2900 | return __collseq_table_lookup (collseqwc, br_elem->opr.wch); | 2814 | return __collseq_table_lookup (collseqwc, wc); |
| 2901 | } | 2815 | } |
| 2902 | else if (br_elem->type == COLL_SYM) | 2816 | } |
| 2817 | else if (br_elem->type == MB_CHAR) | ||
| 2818 | { | ||
| 2819 | if (nrules != 0) | ||
| 2820 | return __collseq_table_lookup (collseqwc, br_elem->opr.wch); | ||
| 2821 | } | ||
| 2822 | else if (br_elem->type == COLL_SYM) | ||
| 2823 | { | ||
| 2824 | size_t sym_name_len = strlen ((char *) br_elem->opr.name); | ||
| 2825 | if (nrules != 0) | ||
| 2903 | { | 2826 | { |
| 2904 | size_t sym_name_len = strlen ((char *) br_elem->opr.name); | 2827 | int32_t elem, idx; |
| 2905 | if (nrules != 0) | 2828 | elem = seek_collating_symbol_entry (br_elem->opr.name, |
| 2829 | sym_name_len, | ||
| 2830 | symb_table, table_size, | ||
| 2831 | extra); | ||
| 2832 | if (elem != -1) | ||
| 2906 | { | 2833 | { |
| 2907 | int32_t elem, idx; | 2834 | /* We found the entry. */ |
| 2908 | elem = seek_collating_symbol_entry (br_elem->opr.name, | 2835 | idx = symb_table[2 * elem + 1]; |
| 2909 | sym_name_len); | 2836 | /* Skip the name of collating element name. */ |
| 2910 | if (elem != -1) | 2837 | idx += 1 + extra[idx]; |
| 2911 | { | 2838 | /* Skip the byte sequence of the collating element. */ |
| 2912 | /* We found the entry. */ | 2839 | idx += 1 + extra[idx]; |
| 2913 | idx = symb_table[2 * elem + 1]; | 2840 | /* Adjust for the alignment. */ |
| 2914 | /* Skip the name of collating element name. */ | 2841 | idx = (idx + 3) & ~3; |
| 2915 | idx += 1 + extra[idx]; | 2842 | /* Skip the multibyte collation sequence value. */ |
| 2916 | /* Skip the byte sequence of the collating element. */ | 2843 | idx += sizeof (unsigned int); |
| 2917 | idx += 1 + extra[idx]; | 2844 | /* Skip the wide char sequence of the collating element. */ |
| 2918 | /* Adjust for the alignment. */ | 2845 | idx += sizeof (unsigned int) * |
| 2919 | idx = (idx + 3) & ~3; | 2846 | (1 + *(unsigned int *) (extra + idx)); |
| 2920 | /* Skip the multibyte collation sequence value. */ | 2847 | /* Return the collation sequence value. */ |
| 2921 | idx += sizeof (unsigned int); | 2848 | return *(unsigned int *) (extra + idx); |
| 2922 | /* Skip the wide char sequence of the collating element. */ | ||
| 2923 | idx += sizeof (unsigned int) * | ||
| 2924 | (1 + *(unsigned int *) (extra + idx)); | ||
| 2925 | /* Return the collation sequence value. */ | ||
| 2926 | return *(unsigned int *) (extra + idx); | ||
| 2927 | } | ||
| 2928 | else if (sym_name_len == 1) | ||
| 2929 | { | ||
| 2930 | /* No valid character. Match it as a single byte | ||
| 2931 | character. */ | ||
| 2932 | return collseqmb[br_elem->opr.name[0]]; | ||
| 2933 | } | ||
| 2934 | } | 2849 | } |
| 2935 | else if (sym_name_len == 1) | 2850 | else if (sym_name_len == 1) |
| 2936 | return collseqmb[br_elem->opr.name[0]]; | 2851 | { |
| 2852 | /* No valid character. Match it as a single byte | ||
| 2853 | character. */ | ||
| 2854 | return collseqmb[br_elem->opr.name[0]]; | ||
| 2855 | } | ||
| 2937 | } | 2856 | } |
| 2938 | return UINT_MAX; | 2857 | else if (sym_name_len == 1) |
| 2858 | return collseqmb[br_elem->opr.name[0]]; | ||
| 2939 | } | 2859 | } |
| 2860 | return UINT_MAX; | ||
| 2861 | } | ||
| 2940 | 2862 | ||
| 2941 | /* Local function for parse_bracket_exp used in _LIBC environment. | 2863 | /* Local function for parse_bracket_exp used in _LIBC environment. |
| 2942 | Build the range expression which starts from START_ELEM, and ends | 2864 | Build the range expression which starts from START_ELEM, and ends |
| 2943 | at END_ELEM. The result are written to MBCSET and SBCSET. | 2865 | at END_ELEM. The result are written to MBCSET and SBCSET. |
| 2944 | RANGE_ALLOC is the allocated size of mbcset->range_starts, and | 2866 | RANGE_ALLOC is the allocated size of mbcset->range_starts, and |
| 2945 | mbcset->range_ends, is a pointer argument since we may | 2867 | mbcset->range_ends, is a pointer argument since we may |
| 2946 | update it. */ | 2868 | update it. */ |
| 2869 | |||
| 2870 | static __always_inline reg_errcode_t | ||
| 2871 | build_range_exp (bitset_t sbcset, re_charset_t *mbcset, Idx *range_alloc, | ||
| 2872 | bracket_elem_t *start_elem, bracket_elem_t *end_elem, | ||
| 2873 | re_dfa_t *dfa, reg_syntax_t syntax, uint32_t nrules, | ||
| 2874 | const unsigned char *collseqmb, const char *collseqwc, | ||
| 2875 | int_fast32_t table_size, const int32_t *symb_table, | ||
| 2876 | const unsigned char *extra) | ||
| 2877 | { | ||
| 2878 | unsigned int ch; | ||
| 2879 | uint32_t start_collseq; | ||
| 2880 | uint32_t end_collseq; | ||
| 2947 | 2881 | ||
| 2948 | auto inline reg_errcode_t | 2882 | /* Equivalence Classes and Character Classes can't be a range |
| 2949 | __attribute__ ((always_inline)) | 2883 | start/end. */ |
| 2950 | build_range_exp (bitset_t sbcset, re_charset_t *mbcset, int *range_alloc, | 2884 | if (__glibc_unlikely (start_elem->type == EQUIV_CLASS |
| 2951 | bracket_elem_t *start_elem, bracket_elem_t *end_elem) | 2885 | || start_elem->type == CHAR_CLASS |
| 2952 | { | 2886 | || end_elem->type == EQUIV_CLASS |
| 2953 | unsigned int ch; | 2887 | || end_elem->type == CHAR_CLASS)) |
| 2954 | uint32_t start_collseq; | 2888 | return REG_ERANGE; |
| 2955 | uint32_t end_collseq; | ||
| 2956 | |||
| 2957 | /* Equivalence Classes and Character Classes can't be a range | ||
| 2958 | start/end. */ | ||
| 2959 | if (__glibc_unlikely (start_elem->type == EQUIV_CLASS | ||
| 2960 | || start_elem->type == CHAR_CLASS | ||
| 2961 | || end_elem->type == EQUIV_CLASS | ||
| 2962 | || end_elem->type == CHAR_CLASS)) | ||
| 2963 | return REG_ERANGE; | ||
| 2964 | 2889 | ||
| 2965 | /* FIXME: Implement rational ranges here, too. */ | 2890 | /* FIXME: Implement rational ranges here, too. */ |
| 2966 | start_collseq = lookup_collation_sequence_value (start_elem); | 2891 | start_collseq = lookup_collation_sequence_value (start_elem, nrules, collseqmb, collseqwc, |
| 2967 | end_collseq = lookup_collation_sequence_value (end_elem); | 2892 | table_size, symb_table, extra); |
| 2968 | /* Check start/end collation sequence values. */ | 2893 | end_collseq = lookup_collation_sequence_value (end_elem, nrules, collseqmb, collseqwc, |
| 2969 | if (__glibc_unlikely (start_collseq == UINT_MAX | 2894 | table_size, symb_table, extra); |
| 2970 | || end_collseq == UINT_MAX)) | 2895 | /* Check start/end collation sequence values. */ |
| 2971 | return REG_ECOLLATE; | 2896 | if (__glibc_unlikely (start_collseq == UINT_MAX |
| 2972 | if (__glibc_unlikely ((syntax & RE_NO_EMPTY_RANGES) | 2897 | || end_collseq == UINT_MAX)) |
| 2973 | && start_collseq > end_collseq)) | 2898 | return REG_ECOLLATE; |
| 2974 | return REG_ERANGE; | 2899 | if (__glibc_unlikely ((syntax & RE_NO_EMPTY_RANGES) |
| 2900 | && start_collseq > end_collseq)) | ||
| 2901 | return REG_ERANGE; | ||
| 2975 | 2902 | ||
| 2976 | /* Got valid collation sequence values, add them as a new entry. | 2903 | /* Got valid collation sequence values, add them as a new entry. |
| 2977 | However, if we have no collation elements, and the character set | 2904 | However, if we have no collation elements, and the character set |
| 2978 | is single byte, the single byte character set that we | 2905 | is single byte, the single byte character set that we |
| 2979 | build below suffices. */ | 2906 | build below suffices. */ |
| 2980 | if (nrules > 0 || dfa->mb_cur_max > 1) | 2907 | if (nrules > 0 || dfa->mb_cur_max > 1) |
| 2908 | { | ||
| 2909 | /* Check the space of the arrays. */ | ||
| 2910 | if (__glibc_unlikely (*range_alloc == mbcset->nranges)) | ||
| 2981 | { | 2911 | { |
| 2982 | /* Check the space of the arrays. */ | 2912 | /* There is not enough space, need realloc. */ |
| 2983 | if (__glibc_unlikely (*range_alloc == mbcset->nranges)) | 2913 | uint32_t *new_array_start; |
| 2984 | { | 2914 | uint32_t *new_array_end; |
| 2985 | /* There is not enough space, need realloc. */ | 2915 | int new_nranges; |
| 2986 | uint32_t *new_array_start; | ||
| 2987 | uint32_t *new_array_end; | ||
| 2988 | Idx new_nranges; | ||
| 2989 | |||
| 2990 | /* +1 in case of mbcset->nranges is 0. */ | ||
| 2991 | new_nranges = 2 * mbcset->nranges + 1; | ||
| 2992 | new_array_start = re_realloc (mbcset->range_starts, uint32_t, | ||
| 2993 | new_nranges); | ||
| 2994 | new_array_end = re_realloc (mbcset->range_ends, uint32_t, | ||
| 2995 | new_nranges); | ||
| 2996 | |||
| 2997 | if (__glibc_unlikely (new_array_start == NULL | ||
| 2998 | || new_array_end == NULL)) | ||
| 2999 | return REG_ESPACE; | ||
| 3000 | 2916 | ||
| 3001 | mbcset->range_starts = new_array_start; | 2917 | /* +1 in case of mbcset->nranges is 0. */ |
| 3002 | mbcset->range_ends = new_array_end; | 2918 | new_nranges = 2 * mbcset->nranges + 1; |
| 3003 | *range_alloc = new_nranges; | 2919 | new_array_start = re_realloc (mbcset->range_starts, uint32_t, |
| 3004 | } | 2920 | new_nranges); |
| 2921 | new_array_end = re_realloc (mbcset->range_ends, uint32_t, | ||
| 2922 | new_nranges); | ||
| 3005 | 2923 | ||
| 3006 | mbcset->range_starts[mbcset->nranges] = start_collseq; | 2924 | if (__glibc_unlikely (new_array_start == NULL |
| 3007 | mbcset->range_ends[mbcset->nranges++] = end_collseq; | 2925 | || new_array_end == NULL)) |
| 3008 | } | 2926 | return REG_ESPACE; |
| 3009 | 2927 | ||
| 3010 | /* Build the table for single byte characters. */ | 2928 | mbcset->range_starts = new_array_start; |
| 3011 | for (ch = 0; ch < SBC_MAX; ch++) | 2929 | mbcset->range_ends = new_array_end; |
| 3012 | { | 2930 | *range_alloc = new_nranges; |
| 3013 | uint32_t ch_collseq; | ||
| 3014 | /* | ||
| 3015 | if (MB_CUR_MAX == 1) | ||
| 3016 | */ | ||
| 3017 | if (nrules == 0) | ||
| 3018 | ch_collseq = collseqmb[ch]; | ||
| 3019 | else | ||
| 3020 | ch_collseq = __collseq_table_lookup (collseqwc, __btowc (ch)); | ||
| 3021 | if (start_collseq <= ch_collseq && ch_collseq <= end_collseq) | ||
| 3022 | bitset_set (sbcset, ch); | ||
| 3023 | } | 2931 | } |
| 3024 | return REG_NOERROR; | 2932 | |
| 2933 | mbcset->range_starts[mbcset->nranges] = start_collseq; | ||
| 2934 | mbcset->range_ends[mbcset->nranges++] = end_collseq; | ||
| 3025 | } | 2935 | } |
| 3026 | 2936 | ||
| 3027 | /* Local function for parse_bracket_exp used in _LIBC environment. | 2937 | /* Build the table for single byte characters. */ |
| 3028 | Build the collating element which is represented by NAME. | 2938 | for (ch = 0; ch < SBC_MAX; ch++) |
| 3029 | The result are written to MBCSET and SBCSET. | 2939 | { |
| 3030 | COLL_SYM_ALLOC is the allocated size of mbcset->coll_sym, is a | 2940 | uint32_t ch_collseq; |
| 3031 | pointer argument since we may update it. */ | 2941 | /* if (MB_CUR_MAX == 1) */ |
| 2942 | if (nrules == 0) | ||
| 2943 | ch_collseq = collseqmb[ch]; | ||
| 2944 | else | ||
| 2945 | ch_collseq = __collseq_table_lookup (collseqwc, __btowc (ch)); | ||
| 2946 | if (start_collseq <= ch_collseq && ch_collseq <= end_collseq) | ||
| 2947 | bitset_set (sbcset, ch); | ||
| 2948 | } | ||
| 2949 | return REG_NOERROR; | ||
| 2950 | } | ||
| 3032 | 2951 | ||
| 3033 | auto inline reg_errcode_t | 2952 | /* Local function for parse_bracket_exp used in _LIBC environment. |
| 3034 | __attribute__ ((always_inline)) | 2953 | Build the collating element which is represented by NAME. |
| 3035 | build_collating_symbol (bitset_t sbcset, re_charset_t *mbcset, | 2954 | The result are written to MBCSET and SBCSET. |
| 3036 | Idx *coll_sym_alloc, const unsigned char *name) | 2955 | COLL_SYM_ALLOC is the allocated size of mbcset->coll_sym, is a |
| 2956 | pointer argument since we may update it. */ | ||
| 2957 | |||
| 2958 | static __always_inline reg_errcode_t | ||
| 2959 | build_collating_symbol (bitset_t sbcset, re_charset_t *mbcset, | ||
| 2960 | Idx *coll_sym_alloc, const unsigned char *name, | ||
| 2961 | uint_fast32_t nrules, int_fast32_t table_size, | ||
| 2962 | const int32_t *symb_table, const unsigned char *extra) | ||
| 2963 | { | ||
| 2964 | int32_t elem, idx; | ||
| 2965 | size_t name_len = strlen ((const char *) name); | ||
| 2966 | if (nrules != 0) | ||
| 3037 | { | 2967 | { |
| 3038 | int32_t elem, idx; | 2968 | elem = seek_collating_symbol_entry (name, name_len, symb_table, |
| 3039 | size_t name_len = strlen ((const char *) name); | 2969 | table_size, extra); |
| 3040 | if (nrules != 0) | 2970 | if (elem != -1) |
| 3041 | { | 2971 | { |
| 3042 | elem = seek_collating_symbol_entry (name, name_len); | 2972 | /* We found the entry. */ |
| 3043 | if (elem != -1) | 2973 | idx = symb_table[2 * elem + 1]; |
| 3044 | { | 2974 | /* Skip the name of collating element name. */ |
| 3045 | /* We found the entry. */ | 2975 | idx += 1 + extra[idx]; |
| 3046 | idx = symb_table[2 * elem + 1]; | 2976 | } |
| 3047 | /* Skip the name of collating element name. */ | 2977 | else if (name_len == 1) |
| 3048 | idx += 1 + extra[idx]; | 2978 | { |
| 3049 | } | 2979 | /* No valid character, treat it as a normal |
| 3050 | else if (name_len == 1) | 2980 | character. */ |
| 3051 | { | 2981 | bitset_set (sbcset, name[0]); |
| 3052 | /* No valid character, treat it as a normal | ||
| 3053 | character. */ | ||
| 3054 | bitset_set (sbcset, name[0]); | ||
| 3055 | return REG_NOERROR; | ||
| 3056 | } | ||
| 3057 | else | ||
| 3058 | return REG_ECOLLATE; | ||
| 3059 | |||
| 3060 | /* Got valid collation sequence, add it as a new entry. */ | ||
| 3061 | /* Check the space of the arrays. */ | ||
| 3062 | if (__glibc_unlikely (*coll_sym_alloc == mbcset->ncoll_syms)) | ||
| 3063 | { | ||
| 3064 | /* Not enough, realloc it. */ | ||
| 3065 | /* +1 in case of mbcset->ncoll_syms is 0. */ | ||
| 3066 | Idx new_coll_sym_alloc = 2 * mbcset->ncoll_syms + 1; | ||
| 3067 | /* Use realloc since mbcset->coll_syms is NULL | ||
| 3068 | if *alloc == 0. */ | ||
| 3069 | int32_t *new_coll_syms = re_realloc (mbcset->coll_syms, int32_t, | ||
| 3070 | new_coll_sym_alloc); | ||
| 3071 | if (__glibc_unlikely (new_coll_syms == NULL)) | ||
| 3072 | return REG_ESPACE; | ||
| 3073 | mbcset->coll_syms = new_coll_syms; | ||
| 3074 | *coll_sym_alloc = new_coll_sym_alloc; | ||
| 3075 | } | ||
| 3076 | mbcset->coll_syms[mbcset->ncoll_syms++] = idx; | ||
| 3077 | return REG_NOERROR; | 2982 | return REG_NOERROR; |
| 3078 | } | 2983 | } |
| 3079 | else | 2984 | else |
| 2985 | return REG_ECOLLATE; | ||
| 2986 | |||
| 2987 | /* Got valid collation sequence, add it as a new entry. */ | ||
| 2988 | /* Check the space of the arrays. */ | ||
| 2989 | if (__glibc_unlikely (*coll_sym_alloc == mbcset->ncoll_syms)) | ||
| 3080 | { | 2990 | { |
| 3081 | if (__glibc_unlikely (name_len != 1)) | 2991 | /* Not enough, realloc it. */ |
| 3082 | return REG_ECOLLATE; | 2992 | /* +1 in case of mbcset->ncoll_syms is 0. */ |
| 3083 | else | 2993 | int new_coll_sym_alloc = 2 * mbcset->ncoll_syms + 1; |
| 3084 | { | 2994 | /* Use realloc since mbcset->coll_syms is NULL |
| 3085 | bitset_set (sbcset, name[0]); | 2995 | if *alloc == 0. */ |
| 3086 | return REG_NOERROR; | 2996 | int32_t *new_coll_syms = re_realloc (mbcset->coll_syms, int32_t, |
| 3087 | } | 2997 | new_coll_sym_alloc); |
| 2998 | if (__glibc_unlikely (new_coll_syms == NULL)) | ||
| 2999 | return REG_ESPACE; | ||
| 3000 | mbcset->coll_syms = new_coll_syms; | ||
| 3001 | *coll_sym_alloc = new_coll_sym_alloc; | ||
| 3088 | } | 3002 | } |
| 3003 | mbcset->coll_syms[mbcset->ncoll_syms++] = idx; | ||
| 3004 | return REG_NOERROR; | ||
| 3089 | } | 3005 | } |
| 3090 | #endif | 3006 | else |
| 3007 | { | ||
| 3008 | if (__glibc_unlikely (name_len != 1)) | ||
| 3009 | return REG_ECOLLATE; | ||
| 3010 | else | ||
| 3011 | { | ||
| 3012 | bitset_set (sbcset, name[0]); | ||
| 3013 | return REG_NOERROR; | ||
| 3014 | } | ||
| 3015 | } | ||
| 3016 | } | ||
| 3017 | #endif /* _LIBC */ | ||
| 3018 | |||
| 3019 | /* This function parse bracket expression like "[abc]", "[a-c]", | ||
| 3020 | "[[.a-a.]]" etc. */ | ||
| 3021 | |||
| 3022 | static bin_tree_t * | ||
| 3023 | parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, | ||
| 3024 | reg_syntax_t syntax, reg_errcode_t *err) | ||
| 3025 | { | ||
| 3026 | const unsigned char *collseqmb = NULL; | ||
| 3027 | const char *collseqwc = NULL; | ||
| 3028 | uint_fast32_t nrules = 0; | ||
| 3029 | int_fast32_t table_size = 0; | ||
| 3030 | const void *symb_table = NULL; | ||
| 3031 | const unsigned char *extra = NULL; | ||
| 3091 | 3032 | ||
| 3092 | re_token_t br_token; | 3033 | re_token_t br_token; |
| 3093 | re_bitset_ptr_t sbcset; | 3034 | re_bitset_ptr_t sbcset; |
| 3094 | #ifdef RE_ENABLE_I18N | ||
| 3095 | re_charset_t *mbcset; | 3035 | re_charset_t *mbcset; |
| 3096 | Idx coll_sym_alloc = 0, range_alloc = 0, mbchar_alloc = 0; | 3036 | Idx coll_sym_alloc = 0, range_alloc = 0, mbchar_alloc = 0; |
| 3097 | Idx equiv_class_alloc = 0, char_class_alloc = 0; | 3037 | Idx equiv_class_alloc = 0, char_class_alloc = 0; |
| 3098 | #endif /* not RE_ENABLE_I18N */ | ||
| 3099 | bool non_match = false; | 3038 | bool non_match = false; |
| 3100 | bin_tree_t *work_tree; | 3039 | bin_tree_t *work_tree; |
| 3101 | int token_len; | 3040 | int token_len; |
| @@ -3111,26 +3050,17 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, | |||
| 3111 | */ | 3050 | */ |
| 3112 | collseqwc = _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQWC); | 3051 | collseqwc = _NL_CURRENT (LC_COLLATE, _NL_COLLATE_COLLSEQWC); |
| 3113 | table_size = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_SYMB_HASH_SIZEMB); | 3052 | table_size = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_SYMB_HASH_SIZEMB); |
| 3114 | symb_table = (const int32_t *) _NL_CURRENT (LC_COLLATE, | 3053 | symb_table = _NL_CURRENT (LC_COLLATE, _NL_COLLATE_SYMB_TABLEMB); |
| 3115 | _NL_COLLATE_SYMB_TABLEMB); | ||
| 3116 | extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, | 3054 | extra = (const unsigned char *) _NL_CURRENT (LC_COLLATE, |
| 3117 | _NL_COLLATE_SYMB_EXTRAMB); | 3055 | _NL_COLLATE_SYMB_EXTRAMB); |
| 3118 | } | 3056 | } |
| 3119 | #endif | 3057 | #endif |
| 3120 | sbcset = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1); | 3058 | sbcset = (re_bitset_ptr_t) calloc (sizeof (bitset_t), 1); |
| 3121 | #ifdef RE_ENABLE_I18N | ||
| 3122 | mbcset = (re_charset_t *) calloc (sizeof (re_charset_t), 1); | 3059 | mbcset = (re_charset_t *) calloc (sizeof (re_charset_t), 1); |
| 3123 | #endif /* RE_ENABLE_I18N */ | ||
| 3124 | #ifdef RE_ENABLE_I18N | ||
| 3125 | if (__glibc_unlikely (sbcset == NULL || mbcset == NULL)) | 3060 | if (__glibc_unlikely (sbcset == NULL || mbcset == NULL)) |
| 3126 | #else | ||
| 3127 | if (__glibc_unlikely (sbcset == NULL)) | ||
| 3128 | #endif /* RE_ENABLE_I18N */ | ||
| 3129 | { | 3061 | { |
| 3130 | re_free (sbcset); | 3062 | re_free (sbcset); |
| 3131 | #ifdef RE_ENABLE_I18N | ||
| 3132 | re_free (mbcset); | 3063 | re_free (mbcset); |
| 3133 | #endif | ||
| 3134 | *err = REG_ESPACE; | 3064 | *err = REG_ESPACE; |
| 3135 | return NULL; | 3065 | return NULL; |
| 3136 | } | 3066 | } |
| @@ -3143,9 +3073,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, | |||
| 3143 | } | 3073 | } |
| 3144 | if (token->type == OP_NON_MATCH_LIST) | 3074 | if (token->type == OP_NON_MATCH_LIST) |
| 3145 | { | 3075 | { |
| 3146 | #ifdef RE_ENABLE_I18N | ||
| 3147 | mbcset->non_match = 1; | 3076 | mbcset->non_match = 1; |
| 3148 | #endif /* not RE_ENABLE_I18N */ | ||
| 3149 | non_match = true; | 3077 | non_match = true; |
| 3150 | if (syntax & RE_HAT_LISTS_NOT_NEWLINE) | 3078 | if (syntax & RE_HAT_LISTS_NOT_NEWLINE) |
| 3151 | bitset_set (sbcset, '\n'); | 3079 | bitset_set (sbcset, '\n'); |
| @@ -3228,18 +3156,10 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, | |||
| 3228 | 3156 | ||
| 3229 | token_len = peek_token_bracket (token, regexp, syntax); | 3157 | token_len = peek_token_bracket (token, regexp, syntax); |
| 3230 | 3158 | ||
| 3231 | #ifdef _LIBC | ||
| 3232 | *err = build_range_exp (sbcset, mbcset, &range_alloc, | 3159 | *err = build_range_exp (sbcset, mbcset, &range_alloc, |
| 3233 | &start_elem, &end_elem); | 3160 | &start_elem, &end_elem, |
| 3234 | #else | 3161 | dfa, syntax, nrules, collseqmb, collseqwc, |
| 3235 | # ifdef RE_ENABLE_I18N | 3162 | table_size, symb_table, extra); |
| 3236 | *err = build_range_exp (syntax, sbcset, | ||
| 3237 | dfa->mb_cur_max > 1 ? mbcset : NULL, | ||
| 3238 | &range_alloc, &start_elem, &end_elem); | ||
| 3239 | # else | ||
| 3240 | *err = build_range_exp (syntax, sbcset, &start_elem, &end_elem); | ||
| 3241 | # endif | ||
| 3242 | #endif /* RE_ENABLE_I18N */ | ||
| 3243 | if (__glibc_unlikely (*err != REG_NOERROR)) | 3163 | if (__glibc_unlikely (*err != REG_NOERROR)) |
| 3244 | goto parse_bracket_exp_free_return; | 3164 | goto parse_bracket_exp_free_return; |
| 3245 | } | 3165 | } |
| @@ -3250,7 +3170,6 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, | |||
| 3250 | case SB_CHAR: | 3170 | case SB_CHAR: |
| 3251 | bitset_set (sbcset, start_elem.opr.ch); | 3171 | bitset_set (sbcset, start_elem.opr.ch); |
| 3252 | break; | 3172 | break; |
| 3253 | #ifdef RE_ENABLE_I18N | ||
| 3254 | case MB_CHAR: | 3173 | case MB_CHAR: |
| 3255 | /* Check whether the array has enough space. */ | 3174 | /* Check whether the array has enough space. */ |
| 3256 | if (__glibc_unlikely (mbchar_alloc == mbcset->nmbchars)) | 3175 | if (__glibc_unlikely (mbchar_alloc == mbcset->nmbchars)) |
| @@ -3268,30 +3187,24 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, | |||
| 3268 | } | 3187 | } |
| 3269 | mbcset->mbchars[mbcset->nmbchars++] = start_elem.opr.wch; | 3188 | mbcset->mbchars[mbcset->nmbchars++] = start_elem.opr.wch; |
| 3270 | break; | 3189 | break; |
| 3271 | #endif /* RE_ENABLE_I18N */ | ||
| 3272 | case EQUIV_CLASS: | 3190 | case EQUIV_CLASS: |
| 3273 | *err = build_equiv_class (sbcset, | 3191 | *err = build_equiv_class (sbcset, |
| 3274 | #ifdef RE_ENABLE_I18N | ||
| 3275 | mbcset, &equiv_class_alloc, | 3192 | mbcset, &equiv_class_alloc, |
| 3276 | #endif /* RE_ENABLE_I18N */ | ||
| 3277 | start_elem.opr.name); | 3193 | start_elem.opr.name); |
| 3278 | if (__glibc_unlikely (*err != REG_NOERROR)) | 3194 | if (__glibc_unlikely (*err != REG_NOERROR)) |
| 3279 | goto parse_bracket_exp_free_return; | 3195 | goto parse_bracket_exp_free_return; |
| 3280 | break; | 3196 | break; |
| 3281 | case COLL_SYM: | 3197 | case COLL_SYM: |
| 3282 | *err = build_collating_symbol (sbcset, | 3198 | *err = build_collating_symbol (sbcset, |
| 3283 | #ifdef RE_ENABLE_I18N | ||
| 3284 | mbcset, &coll_sym_alloc, | 3199 | mbcset, &coll_sym_alloc, |
| 3285 | #endif /* RE_ENABLE_I18N */ | 3200 | start_elem.opr.name, |
| 3286 | start_elem.opr.name); | 3201 | nrules, table_size, symb_table, extra); |
| 3287 | if (__glibc_unlikely (*err != REG_NOERROR)) | 3202 | if (__glibc_unlikely (*err != REG_NOERROR)) |
| 3288 | goto parse_bracket_exp_free_return; | 3203 | goto parse_bracket_exp_free_return; |
| 3289 | break; | 3204 | break; |
| 3290 | case CHAR_CLASS: | 3205 | case CHAR_CLASS: |
| 3291 | *err = build_charclass (regexp->trans, sbcset, | 3206 | *err = build_charclass (regexp->trans, sbcset, |
| 3292 | #ifdef RE_ENABLE_I18N | ||
| 3293 | mbcset, &char_class_alloc, | 3207 | mbcset, &char_class_alloc, |
| 3294 | #endif /* RE_ENABLE_I18N */ | ||
| 3295 | (const char *) start_elem.opr.name, | 3208 | (const char *) start_elem.opr.name, |
| 3296 | syntax); | 3209 | syntax); |
| 3297 | if (__glibc_unlikely (*err != REG_NOERROR)) | 3210 | if (__glibc_unlikely (*err != REG_NOERROR)) |
| @@ -3317,7 +3230,6 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, | |||
| 3317 | if (non_match) | 3230 | if (non_match) |
| 3318 | bitset_not (sbcset); | 3231 | bitset_not (sbcset); |
| 3319 | 3232 | ||
| 3320 | #ifdef RE_ENABLE_I18N | ||
| 3321 | /* Ensure only single byte characters are set. */ | 3233 | /* Ensure only single byte characters are set. */ |
| 3322 | if (dfa->mb_cur_max > 1) | 3234 | if (dfa->mb_cur_max > 1) |
| 3323 | bitset_mask (sbcset, dfa->sb_char); | 3235 | bitset_mask (sbcset, dfa->sb_char); |
| @@ -3361,11 +3273,8 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, | |||
| 3361 | } | 3273 | } |
| 3362 | } | 3274 | } |
| 3363 | else | 3275 | else |
| 3364 | #endif /* not RE_ENABLE_I18N */ | ||
| 3365 | { | 3276 | { |
| 3366 | #ifdef RE_ENABLE_I18N | ||
| 3367 | free_charset (mbcset); | 3277 | free_charset (mbcset); |
| 3368 | #endif | ||
| 3369 | /* Build a tree for simple bracket. */ | 3278 | /* Build a tree for simple bracket. */ |
| 3370 | br_token.type = SIMPLE_BRACKET; | 3279 | br_token.type = SIMPLE_BRACKET; |
| 3371 | br_token.opr.sbcset = sbcset; | 3280 | br_token.opr.sbcset = sbcset; |
| @@ -3379,9 +3288,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, | |||
| 3379 | *err = REG_ESPACE; | 3288 | *err = REG_ESPACE; |
| 3380 | parse_bracket_exp_free_return: | 3289 | parse_bracket_exp_free_return: |
| 3381 | re_free (sbcset); | 3290 | re_free (sbcset); |
| 3382 | #ifdef RE_ENABLE_I18N | ||
| 3383 | free_charset (mbcset); | 3291 | free_charset (mbcset); |
| 3384 | #endif /* RE_ENABLE_I18N */ | ||
| 3385 | return NULL; | 3292 | return NULL; |
| 3386 | } | 3293 | } |
| 3387 | 3294 | ||
| @@ -3392,7 +3299,6 @@ parse_bracket_element (bracket_elem_t *elem, re_string_t *regexp, | |||
| 3392 | re_token_t *token, int token_len, re_dfa_t *dfa, | 3299 | re_token_t *token, int token_len, re_dfa_t *dfa, |
| 3393 | reg_syntax_t syntax, bool accept_hyphen) | 3300 | reg_syntax_t syntax, bool accept_hyphen) |
| 3394 | { | 3301 | { |
| 3395 | #ifdef RE_ENABLE_I18N | ||
| 3396 | int cur_char_size; | 3302 | int cur_char_size; |
| 3397 | cur_char_size = re_string_char_size_at (regexp, re_string_cur_idx (regexp)); | 3303 | cur_char_size = re_string_char_size_at (regexp, re_string_cur_idx (regexp)); |
| 3398 | if (cur_char_size > 1) | 3304 | if (cur_char_size > 1) |
| @@ -3402,7 +3308,6 @@ parse_bracket_element (bracket_elem_t *elem, re_string_t *regexp, | |||
| 3402 | re_string_skip_bytes (regexp, cur_char_size); | 3308 | re_string_skip_bytes (regexp, cur_char_size); |
| 3403 | return REG_NOERROR; | 3309 | return REG_NOERROR; |
| 3404 | } | 3310 | } |
| 3405 | #endif /* RE_ENABLE_I18N */ | ||
| 3406 | re_string_skip_bytes (regexp, token_len); /* Skip a token. */ | 3311 | re_string_skip_bytes (regexp, token_len); /* Skip a token. */ |
| 3407 | if (token->type == OP_OPEN_COLL_ELEM || token->type == OP_OPEN_CHAR_CLASS | 3312 | if (token->type == OP_OPEN_COLL_ELEM || token->type == OP_OPEN_CHAR_CLASS |
| 3408 | || token->type == OP_OPEN_EQUIV_CLASS) | 3313 | || token->type == OP_OPEN_EQUIV_CLASS) |
| @@ -3475,12 +3380,8 @@ parse_bracket_symbol (bracket_elem_t *elem, re_string_t *regexp, | |||
| 3475 | is a pointer argument since we may update it. */ | 3380 | is a pointer argument since we may update it. */ |
| 3476 | 3381 | ||
| 3477 | static reg_errcode_t | 3382 | static reg_errcode_t |
| 3478 | #ifdef RE_ENABLE_I18N | ||
| 3479 | build_equiv_class (bitset_t sbcset, re_charset_t *mbcset, | 3383 | build_equiv_class (bitset_t sbcset, re_charset_t *mbcset, |
| 3480 | Idx *equiv_class_alloc, const unsigned char *name) | 3384 | Idx *equiv_class_alloc, const unsigned char *name) |
| 3481 | #else /* not RE_ENABLE_I18N */ | ||
| 3482 | build_equiv_class (bitset_t sbcset, const unsigned char *name) | ||
| 3483 | #endif /* not RE_ENABLE_I18N */ | ||
| 3484 | { | 3385 | { |
| 3485 | #ifdef _LIBC | 3386 | #ifdef _LIBC |
| 3486 | uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); | 3387 | uint32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); |
| @@ -3560,14 +3461,9 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name) | |||
| 3560 | is a pointer argument since we may update it. */ | 3461 | is a pointer argument since we may update it. */ |
| 3561 | 3462 | ||
| 3562 | static reg_errcode_t | 3463 | static reg_errcode_t |
| 3563 | #ifdef RE_ENABLE_I18N | ||
| 3564 | build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, | 3464 | build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, |
| 3565 | re_charset_t *mbcset, Idx *char_class_alloc, | 3465 | re_charset_t *mbcset, Idx *char_class_alloc, |
| 3566 | const char *class_name, reg_syntax_t syntax) | 3466 | const char *class_name, reg_syntax_t syntax) |
| 3567 | #else /* not RE_ENABLE_I18N */ | ||
| 3568 | build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, | ||
| 3569 | const char *class_name, reg_syntax_t syntax) | ||
| 3570 | #endif /* not RE_ENABLE_I18N */ | ||
| 3571 | { | 3467 | { |
| 3572 | int i; | 3468 | int i; |
| 3573 | const char *name = class_name; | 3469 | const char *name = class_name; |
| @@ -3578,7 +3474,6 @@ build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, | |||
| 3578 | && (strcmp (name, "upper") == 0 || strcmp (name, "lower") == 0)) | 3474 | && (strcmp (name, "upper") == 0 || strcmp (name, "lower") == 0)) |
| 3579 | name = "alpha"; | 3475 | name = "alpha"; |
| 3580 | 3476 | ||
| 3581 | #ifdef RE_ENABLE_I18N | ||
| 3582 | /* Check the space of the arrays. */ | 3477 | /* Check the space of the arrays. */ |
| 3583 | if (__glibc_unlikely (*char_class_alloc == mbcset->nchar_classes)) | 3478 | if (__glibc_unlikely (*char_class_alloc == mbcset->nchar_classes)) |
| 3584 | { | 3479 | { |
| @@ -3594,7 +3489,6 @@ build_charclass (RE_TRANSLATE_TYPE trans, bitset_t sbcset, | |||
| 3594 | *char_class_alloc = new_char_class_alloc; | 3489 | *char_class_alloc = new_char_class_alloc; |
| 3595 | } | 3490 | } |
| 3596 | mbcset->char_classes[mbcset->nchar_classes++] = __wctype (name); | 3491 | mbcset->char_classes[mbcset->nchar_classes++] = __wctype (name); |
| 3597 | #endif /* RE_ENABLE_I18N */ | ||
| 3598 | 3492 | ||
| 3599 | #define BUILD_CHARCLASS_LOOP(ctype_func) \ | 3493 | #define BUILD_CHARCLASS_LOOP(ctype_func) \ |
| 3600 | do { \ | 3494 | do { \ |
| @@ -3649,10 +3543,8 @@ build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans, | |||
| 3649 | reg_errcode_t *err) | 3543 | reg_errcode_t *err) |
| 3650 | { | 3544 | { |
| 3651 | re_bitset_ptr_t sbcset; | 3545 | re_bitset_ptr_t sbcset; |
| 3652 | #ifdef RE_ENABLE_I18N | ||
| 3653 | re_charset_t *mbcset; | 3546 | re_charset_t *mbcset; |
| 3654 | Idx alloc = 0; | 3547 | Idx alloc = 0; |
| 3655 | #endif /* not RE_ENABLE_I18N */ | ||
| 3656 | reg_errcode_t ret; | 3548 | reg_errcode_t ret; |
| 3657 | bin_tree_t *tree; | 3549 | bin_tree_t *tree; |
| 3658 | 3550 | ||
| @@ -3662,7 +3554,6 @@ build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans, | |||
| 3662 | *err = REG_ESPACE; | 3554 | *err = REG_ESPACE; |
| 3663 | return NULL; | 3555 | return NULL; |
| 3664 | } | 3556 | } |
| 3665 | #ifdef RE_ENABLE_I18N | ||
| 3666 | mbcset = (re_charset_t *) calloc (sizeof (re_charset_t), 1); | 3557 | mbcset = (re_charset_t *) calloc (sizeof (re_charset_t), 1); |
| 3667 | if (__glibc_unlikely (mbcset == NULL)) | 3558 | if (__glibc_unlikely (mbcset == NULL)) |
| 3668 | { | 3559 | { |
| @@ -3671,21 +3562,14 @@ build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans, | |||
| 3671 | return NULL; | 3562 | return NULL; |
| 3672 | } | 3563 | } |
| 3673 | mbcset->non_match = non_match; | 3564 | mbcset->non_match = non_match; |
| 3674 | #endif /* RE_ENABLE_I18N */ | ||
| 3675 | 3565 | ||
| 3676 | /* We don't care the syntax in this case. */ | 3566 | /* We don't care the syntax in this case. */ |
| 3677 | ret = build_charclass (trans, sbcset, | 3567 | ret = build_charclass (trans, sbcset, mbcset, &alloc, class_name, 0); |
| 3678 | #ifdef RE_ENABLE_I18N | ||
| 3679 | mbcset, &alloc, | ||
| 3680 | #endif /* RE_ENABLE_I18N */ | ||
| 3681 | class_name, 0); | ||
| 3682 | 3568 | ||
| 3683 | if (__glibc_unlikely (ret != REG_NOERROR)) | 3569 | if (__glibc_unlikely (ret != REG_NOERROR)) |
| 3684 | { | 3570 | { |
| 3685 | re_free (sbcset); | 3571 | re_free (sbcset); |
| 3686 | #ifdef RE_ENABLE_I18N | ||
| 3687 | free_charset (mbcset); | 3572 | free_charset (mbcset); |
| 3688 | #endif /* RE_ENABLE_I18N */ | ||
| 3689 | *err = ret; | 3573 | *err = ret; |
| 3690 | return NULL; | 3574 | return NULL; |
| 3691 | } | 3575 | } |
| @@ -3697,11 +3581,9 @@ build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans, | |||
| 3697 | if (non_match) | 3581 | if (non_match) |
| 3698 | bitset_not (sbcset); | 3582 | bitset_not (sbcset); |
| 3699 | 3583 | ||
| 3700 | #ifdef RE_ENABLE_I18N | ||
| 3701 | /* Ensure only single byte characters are set. */ | 3584 | /* Ensure only single byte characters are set. */ |
| 3702 | if (dfa->mb_cur_max > 1) | 3585 | if (dfa->mb_cur_max > 1) |
| 3703 | bitset_mask (sbcset, dfa->sb_char); | 3586 | bitset_mask (sbcset, dfa->sb_char); |
| 3704 | #endif | ||
| 3705 | 3587 | ||
| 3706 | /* Build a tree for simple bracket. */ | 3588 | /* Build a tree for simple bracket. */ |
| 3707 | re_token_t br_token = { .type = SIMPLE_BRACKET, .opr.sbcset = sbcset }; | 3589 | re_token_t br_token = { .type = SIMPLE_BRACKET, .opr.sbcset = sbcset }; |
| @@ -3709,7 +3591,6 @@ build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans, | |||
| 3709 | if (__glibc_unlikely (tree == NULL)) | 3591 | if (__glibc_unlikely (tree == NULL)) |
| 3710 | goto build_word_op_espace; | 3592 | goto build_word_op_espace; |
| 3711 | 3593 | ||
| 3712 | #ifdef RE_ENABLE_I18N | ||
| 3713 | if (dfa->mb_cur_max > 1) | 3594 | if (dfa->mb_cur_max > 1) |
| 3714 | { | 3595 | { |
| 3715 | bin_tree_t *mbc_tree; | 3596 | bin_tree_t *mbc_tree; |
| @@ -3730,15 +3611,10 @@ build_charclass_op (re_dfa_t *dfa, RE_TRANSLATE_TYPE trans, | |||
| 3730 | free_charset (mbcset); | 3611 | free_charset (mbcset); |
| 3731 | return tree; | 3612 | return tree; |
| 3732 | } | 3613 | } |
| 3733 | #else /* not RE_ENABLE_I18N */ | ||
| 3734 | return tree; | ||
| 3735 | #endif /* not RE_ENABLE_I18N */ | ||
| 3736 | 3614 | ||
| 3737 | build_word_op_espace: | 3615 | build_word_op_espace: |
| 3738 | re_free (sbcset); | 3616 | re_free (sbcset); |
| 3739 | #ifdef RE_ENABLE_I18N | ||
| 3740 | free_charset (mbcset); | 3617 | free_charset (mbcset); |
| 3741 | #endif /* RE_ENABLE_I18N */ | ||
| 3742 | *err = REG_ESPACE; | 3618 | *err = REG_ESPACE; |
| 3743 | return NULL; | 3619 | return NULL; |
| 3744 | } | 3620 | } |
| @@ -3771,21 +3647,19 @@ fetch_number (re_string_t *input, re_token_t *token, reg_syntax_t syntax) | |||
| 3771 | return num; | 3647 | return num; |
| 3772 | } | 3648 | } |
| 3773 | 3649 | ||
| 3774 | #ifdef RE_ENABLE_I18N | ||
| 3775 | static void | 3650 | static void |
| 3776 | free_charset (re_charset_t *cset) | 3651 | free_charset (re_charset_t *cset) |
| 3777 | { | 3652 | { |
| 3778 | re_free (cset->mbchars); | 3653 | re_free (cset->mbchars); |
| 3779 | # ifdef _LIBC | 3654 | #ifdef _LIBC |
| 3780 | re_free (cset->coll_syms); | 3655 | re_free (cset->coll_syms); |
| 3781 | re_free (cset->equiv_classes); | 3656 | re_free (cset->equiv_classes); |
| 3782 | # endif | 3657 | #endif |
| 3783 | re_free (cset->range_starts); | 3658 | re_free (cset->range_starts); |
| 3784 | re_free (cset->range_ends); | 3659 | re_free (cset->range_ends); |
| 3785 | re_free (cset->char_classes); | 3660 | re_free (cset->char_classes); |
| 3786 | re_free (cset); | 3661 | re_free (cset); |
| 3787 | } | 3662 | } |
| 3788 | #endif /* RE_ENABLE_I18N */ | ||
| 3789 | 3663 | ||
| 3790 | /* Functions for binary tree operation. */ | 3664 | /* Functions for binary tree operation. */ |
| 3791 | 3665 | ||
| @@ -3851,13 +3725,10 @@ mark_opt_subexp (void *extra, bin_tree_t *node) | |||
| 3851 | static void | 3725 | static void |
| 3852 | free_token (re_token_t *node) | 3726 | free_token (re_token_t *node) |
| 3853 | { | 3727 | { |
| 3854 | #ifdef RE_ENABLE_I18N | ||
| 3855 | if (node->type == COMPLEX_BRACKET && node->duplicated == 0) | 3728 | if (node->type == COMPLEX_BRACKET && node->duplicated == 0) |
| 3856 | free_charset (node->opr.mbcset); | 3729 | free_charset (node->opr.mbcset); |
| 3857 | else | 3730 | else if (node->type == SIMPLE_BRACKET && node->duplicated == 0) |
| 3858 | #endif /* RE_ENABLE_I18N */ | 3731 | re_free (node->opr.sbcset); |
| 3859 | if (node->type == SIMPLE_BRACKET && node->duplicated == 0) | ||
| 3860 | re_free (node->opr.sbcset); | ||
| 3861 | } | 3732 | } |
| 3862 | 3733 | ||
| 3863 | /* Worker function for tree walking. Free the allocated memory inside NODE | 3734 | /* Worker function for tree walking. Free the allocated memory inside NODE |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Extended regular expression matching and search library. | 1 | /* Extended regular expression matching and search library. |
| 2 | Copyright (C) 2002-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2002-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU C Library. | 3 | This file is part of the GNU C Library. |
| 4 | Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. | 4 | Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. |
| 5 | 5 | ||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Definitions for data structures and routines for the regular | 1 | /* Definitions for data structures and routines for the regular |
| 2 | expression library. | 2 | expression library. |
| 3 | Copyright (C) 1985, 1989-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 1985, 1989-2022 Free Software Foundation, Inc. |
| 4 | This file is part of the GNU C Library. | 4 | This file is part of the GNU C Library. |
| 5 | 5 | ||
| 6 | The GNU C Library is free software; you can redistribute it and/or | 6 | The GNU C Library is free software; you can redistribute it and/or |
diff --git a/gl/regex_internal.c b/gl/regex_internal.c index aefcfa2f..0e6919f3 100644 --- a/gl/regex_internal.c +++ b/gl/regex_internal.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Extended regular expression matching and search library. | 1 | /* Extended regular expression matching and search library. |
| 2 | Copyright (C) 2002-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2002-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU C Library. | 3 | This file is part of the GNU C Library. |
| 4 | Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. | 4 | Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. |
| 5 | 5 | ||
| @@ -30,10 +30,8 @@ static re_dfastate_t *create_cd_newstate (const re_dfa_t *dfa, | |||
| 30 | re_hashval_t hash); | 30 | re_hashval_t hash); |
| 31 | static reg_errcode_t re_string_realloc_buffers (re_string_t *pstr, | 31 | static reg_errcode_t re_string_realloc_buffers (re_string_t *pstr, |
| 32 | Idx new_buf_len); | 32 | Idx new_buf_len); |
| 33 | #ifdef RE_ENABLE_I18N | ||
| 34 | static void build_wcs_buffer (re_string_t *pstr); | 33 | static void build_wcs_buffer (re_string_t *pstr); |
| 35 | static reg_errcode_t build_wcs_upper_buffer (re_string_t *pstr); | 34 | static reg_errcode_t build_wcs_upper_buffer (re_string_t *pstr); |
| 36 | #endif /* RE_ENABLE_I18N */ | ||
| 37 | static void build_upper_buffer (re_string_t *pstr); | 35 | static void build_upper_buffer (re_string_t *pstr); |
| 38 | static void re_string_translate_buffer (re_string_t *pstr); | 36 | static void re_string_translate_buffer (re_string_t *pstr); |
| 39 | static unsigned int re_string_context_at (const re_string_t *input, Idx idx, | 37 | static unsigned int re_string_context_at (const re_string_t *input, Idx idx, |
| @@ -91,7 +89,6 @@ re_string_construct (re_string_t *pstr, const char *str, Idx len, | |||
| 91 | 89 | ||
| 92 | if (icase) | 90 | if (icase) |
| 93 | { | 91 | { |
| 94 | #ifdef RE_ENABLE_I18N | ||
| 95 | if (dfa->mb_cur_max > 1) | 92 | if (dfa->mb_cur_max > 1) |
| 96 | { | 93 | { |
| 97 | while (1) | 94 | while (1) |
| @@ -109,16 +106,13 @@ re_string_construct (re_string_t *pstr, const char *str, Idx len, | |||
| 109 | } | 106 | } |
| 110 | } | 107 | } |
| 111 | else | 108 | else |
| 112 | #endif /* RE_ENABLE_I18N */ | ||
| 113 | build_upper_buffer (pstr); | 109 | build_upper_buffer (pstr); |
| 114 | } | 110 | } |
| 115 | else | 111 | else |
| 116 | { | 112 | { |
| 117 | #ifdef RE_ENABLE_I18N | ||
| 118 | if (dfa->mb_cur_max > 1) | 113 | if (dfa->mb_cur_max > 1) |
| 119 | build_wcs_buffer (pstr); | 114 | build_wcs_buffer (pstr); |
| 120 | else | 115 | else |
| 121 | #endif /* RE_ENABLE_I18N */ | ||
| 122 | { | 116 | { |
| 123 | if (trans != NULL) | 117 | if (trans != NULL) |
| 124 | re_string_translate_buffer (pstr); | 118 | re_string_translate_buffer (pstr); |
| @@ -139,7 +133,6 @@ static reg_errcode_t | |||
| 139 | __attribute_warn_unused_result__ | 133 | __attribute_warn_unused_result__ |
| 140 | re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len) | 134 | re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len) |
| 141 | { | 135 | { |
| 142 | #ifdef RE_ENABLE_I18N | ||
| 143 | if (pstr->mb_cur_max > 1) | 136 | if (pstr->mb_cur_max > 1) |
| 144 | { | 137 | { |
| 145 | wint_t *new_wcs; | 138 | wint_t *new_wcs; |
| @@ -162,7 +155,6 @@ re_string_realloc_buffers (re_string_t *pstr, Idx new_buf_len) | |||
| 162 | pstr->offsets = new_offsets; | 155 | pstr->offsets = new_offsets; |
| 163 | } | 156 | } |
| 164 | } | 157 | } |
| 165 | #endif /* RE_ENABLE_I18N */ | ||
| 166 | if (pstr->mbs_allocated) | 158 | if (pstr->mbs_allocated) |
| 167 | { | 159 | { |
| 168 | unsigned char *new_mbs = re_realloc (pstr->mbs, unsigned char, | 160 | unsigned char *new_mbs = re_realloc (pstr->mbs, unsigned char, |
| @@ -194,7 +186,6 @@ re_string_construct_common (const char *str, Idx len, re_string_t *pstr, | |||
| 194 | pstr->raw_stop = pstr->stop; | 186 | pstr->raw_stop = pstr->stop; |
| 195 | } | 187 | } |
| 196 | 188 | ||
| 197 | #ifdef RE_ENABLE_I18N | ||
| 198 | 189 | ||
| 199 | /* Build wide character buffer PSTR->WCS. | 190 | /* Build wide character buffer PSTR->WCS. |
| 200 | If the byte sequence of the string are: | 191 | If the byte sequence of the string are: |
| @@ -530,7 +521,6 @@ re_string_skip_chars (re_string_t *pstr, Idx new_raw_idx, wint_t *last_wc) | |||
| 530 | *last_wc = wc; | 521 | *last_wc = wc; |
| 531 | return rawbuf_idx; | 522 | return rawbuf_idx; |
| 532 | } | 523 | } |
| 533 | #endif /* RE_ENABLE_I18N */ | ||
| 534 | 524 | ||
| 535 | /* Build the buffer PSTR->MBS, and apply the translation if we need. | 525 | /* Build the buffer PSTR->MBS, and apply the translation if we need. |
| 536 | This function is used in case of REG_ICASE. */ | 526 | This function is used in case of REG_ICASE. */ |
| @@ -585,10 +575,8 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags) | |||
| 585 | else | 575 | else |
| 586 | { | 576 | { |
| 587 | /* Reset buffer. */ | 577 | /* Reset buffer. */ |
| 588 | #ifdef RE_ENABLE_I18N | ||
| 589 | if (pstr->mb_cur_max > 1) | 578 | if (pstr->mb_cur_max > 1) |
| 590 | memset (&pstr->cur_state, '\0', sizeof (mbstate_t)); | 579 | memset (&pstr->cur_state, '\0', sizeof (mbstate_t)); |
| 591 | #endif /* RE_ENABLE_I18N */ | ||
| 592 | pstr->len = pstr->raw_len; | 580 | pstr->len = pstr->raw_len; |
| 593 | pstr->stop = pstr->raw_stop; | 581 | pstr->stop = pstr->raw_stop; |
| 594 | pstr->valid_len = 0; | 582 | pstr->valid_len = 0; |
| @@ -608,7 +596,6 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags) | |||
| 608 | if (__glibc_likely (offset < pstr->valid_raw_len)) | 596 | if (__glibc_likely (offset < pstr->valid_raw_len)) |
| 609 | { | 597 | { |
| 610 | /* Yes, move them to the front of the buffer. */ | 598 | /* Yes, move them to the front of the buffer. */ |
| 611 | #ifdef RE_ENABLE_I18N | ||
| 612 | if (__glibc_unlikely (pstr->offsets_needed)) | 599 | if (__glibc_unlikely (pstr->offsets_needed)) |
| 613 | { | 600 | { |
| 614 | Idx low = 0, high = pstr->valid_len, mid; | 601 | Idx low = 0, high = pstr->valid_len, mid; |
| @@ -672,15 +659,12 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags) | |||
| 672 | } | 659 | } |
| 673 | } | 660 | } |
| 674 | else | 661 | else |
| 675 | #endif | ||
| 676 | { | 662 | { |
| 677 | pstr->tip_context = re_string_context_at (pstr, offset - 1, | 663 | pstr->tip_context = re_string_context_at (pstr, offset - 1, |
| 678 | eflags); | 664 | eflags); |
| 679 | #ifdef RE_ENABLE_I18N | ||
| 680 | if (pstr->mb_cur_max > 1) | 665 | if (pstr->mb_cur_max > 1) |
| 681 | memmove (pstr->wcs, pstr->wcs + offset, | 666 | memmove (pstr->wcs, pstr->wcs + offset, |
| 682 | (pstr->valid_len - offset) * sizeof (wint_t)); | 667 | (pstr->valid_len - offset) * sizeof (wint_t)); |
| 683 | #endif /* RE_ENABLE_I18N */ | ||
| 684 | if (__glibc_unlikely (pstr->mbs_allocated)) | 668 | if (__glibc_unlikely (pstr->mbs_allocated)) |
| 685 | memmove (pstr->mbs, pstr->mbs + offset, | 669 | memmove (pstr->mbs, pstr->mbs + offset, |
| 686 | pstr->valid_len - offset); | 670 | pstr->valid_len - offset); |
| @@ -691,7 +675,6 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags) | |||
| 691 | } | 675 | } |
| 692 | else | 676 | else |
| 693 | { | 677 | { |
| 694 | #ifdef RE_ENABLE_I18N | ||
| 695 | /* No, skip all characters until IDX. */ | 678 | /* No, skip all characters until IDX. */ |
| 696 | Idx prev_valid_len = pstr->valid_len; | 679 | Idx prev_valid_len = pstr->valid_len; |
| 697 | 680 | ||
| @@ -701,9 +684,7 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags) | |||
| 701 | pstr->stop = pstr->raw_stop - idx + offset; | 684 | pstr->stop = pstr->raw_stop - idx + offset; |
| 702 | pstr->offsets_needed = 0; | 685 | pstr->offsets_needed = 0; |
| 703 | } | 686 | } |
| 704 | #endif | ||
| 705 | pstr->valid_len = 0; | 687 | pstr->valid_len = 0; |
| 706 | #ifdef RE_ENABLE_I18N | ||
| 707 | if (pstr->mb_cur_max > 1) | 688 | if (pstr->mb_cur_max > 1) |
| 708 | { | 689 | { |
| 709 | Idx wcs_idx; | 690 | Idx wcs_idx; |
| @@ -787,7 +768,6 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags) | |||
| 787 | pstr->valid_raw_len = pstr->valid_len; | 768 | pstr->valid_raw_len = pstr->valid_len; |
| 788 | } | 769 | } |
| 789 | else | 770 | else |
| 790 | #endif /* RE_ENABLE_I18N */ | ||
| 791 | { | 771 | { |
| 792 | int c = pstr->raw_mbs[pstr->raw_mbs_idx + offset - 1]; | 772 | int c = pstr->raw_mbs[pstr->raw_mbs_idx + offset - 1]; |
| 793 | pstr->valid_raw_len = 0; | 773 | pstr->valid_raw_len = 0; |
| @@ -807,7 +787,6 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags) | |||
| 807 | pstr->stop -= offset; | 787 | pstr->stop -= offset; |
| 808 | 788 | ||
| 809 | /* Then build the buffers. */ | 789 | /* Then build the buffers. */ |
| 810 | #ifdef RE_ENABLE_I18N | ||
| 811 | if (pstr->mb_cur_max > 1) | 790 | if (pstr->mb_cur_max > 1) |
| 812 | { | 791 | { |
| 813 | if (pstr->icase) | 792 | if (pstr->icase) |
| @@ -820,7 +799,6 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int eflags) | |||
| 820 | build_wcs_buffer (pstr); | 799 | build_wcs_buffer (pstr); |
| 821 | } | 800 | } |
| 822 | else | 801 | else |
| 823 | #endif /* RE_ENABLE_I18N */ | ||
| 824 | if (__glibc_unlikely (pstr->mbs_allocated)) | 802 | if (__glibc_unlikely (pstr->mbs_allocated)) |
| 825 | { | 803 | { |
| 826 | if (pstr->icase) | 804 | if (pstr->icase) |
| @@ -846,28 +824,22 @@ re_string_peek_byte_case (const re_string_t *pstr, Idx idx) | |||
| 846 | if (__glibc_likely (!pstr->mbs_allocated)) | 824 | if (__glibc_likely (!pstr->mbs_allocated)) |
| 847 | return re_string_peek_byte (pstr, idx); | 825 | return re_string_peek_byte (pstr, idx); |
| 848 | 826 | ||
| 849 | #ifdef RE_ENABLE_I18N | ||
| 850 | if (pstr->mb_cur_max > 1 | 827 | if (pstr->mb_cur_max > 1 |
| 851 | && ! re_string_is_single_byte_char (pstr, pstr->cur_idx + idx)) | 828 | && ! re_string_is_single_byte_char (pstr, pstr->cur_idx + idx)) |
| 852 | return re_string_peek_byte (pstr, idx); | 829 | return re_string_peek_byte (pstr, idx); |
| 853 | #endif | ||
| 854 | 830 | ||
| 855 | off = pstr->cur_idx + idx; | 831 | off = pstr->cur_idx + idx; |
| 856 | #ifdef RE_ENABLE_I18N | ||
| 857 | if (pstr->offsets_needed) | 832 | if (pstr->offsets_needed) |
| 858 | off = pstr->offsets[off]; | 833 | off = pstr->offsets[off]; |
| 859 | #endif | ||
| 860 | 834 | ||
| 861 | ch = pstr->raw_mbs[pstr->raw_mbs_idx + off]; | 835 | ch = pstr->raw_mbs[pstr->raw_mbs_idx + off]; |
| 862 | 836 | ||
| 863 | #ifdef RE_ENABLE_I18N | ||
| 864 | /* Ensure that e.g. for tr_TR.UTF-8 BACKSLASH DOTLESS SMALL LETTER I | 837 | /* Ensure that e.g. for tr_TR.UTF-8 BACKSLASH DOTLESS SMALL LETTER I |
| 865 | this function returns CAPITAL LETTER I instead of first byte of | 838 | this function returns CAPITAL LETTER I instead of first byte of |
| 866 | DOTLESS SMALL LETTER I. The latter would confuse the parser, | 839 | DOTLESS SMALL LETTER I. The latter would confuse the parser, |
| 867 | since peek_byte_case doesn't advance cur_idx in any way. */ | 840 | since peek_byte_case doesn't advance cur_idx in any way. */ |
| 868 | if (pstr->offsets_needed && !isascii (ch)) | 841 | if (pstr->offsets_needed && !isascii (ch)) |
| 869 | return re_string_peek_byte (pstr, idx); | 842 | return re_string_peek_byte (pstr, idx); |
| 870 | #endif | ||
| 871 | 843 | ||
| 872 | return ch; | 844 | return ch; |
| 873 | } | 845 | } |
| @@ -878,7 +850,6 @@ re_string_fetch_byte_case (re_string_t *pstr) | |||
| 878 | if (__glibc_likely (!pstr->mbs_allocated)) | 850 | if (__glibc_likely (!pstr->mbs_allocated)) |
| 879 | return re_string_fetch_byte (pstr); | 851 | return re_string_fetch_byte (pstr); |
| 880 | 852 | ||
| 881 | #ifdef RE_ENABLE_I18N | ||
| 882 | if (pstr->offsets_needed) | 853 | if (pstr->offsets_needed) |
| 883 | { | 854 | { |
| 884 | Idx off; | 855 | Idx off; |
| @@ -904,7 +875,6 @@ re_string_fetch_byte_case (re_string_t *pstr) | |||
| 904 | re_string_char_size_at (pstr, pstr->cur_idx)); | 875 | re_string_char_size_at (pstr, pstr->cur_idx)); |
| 905 | return ch; | 876 | return ch; |
| 906 | } | 877 | } |
| 907 | #endif | ||
| 908 | 878 | ||
| 909 | return pstr->raw_mbs[pstr->raw_mbs_idx + pstr->cur_idx++]; | 879 | return pstr->raw_mbs[pstr->raw_mbs_idx + pstr->cur_idx++]; |
| 910 | } | 880 | } |
| @@ -912,10 +882,8 @@ re_string_fetch_byte_case (re_string_t *pstr) | |||
| 912 | static void | 882 | static void |
| 913 | re_string_destruct (re_string_t *pstr) | 883 | re_string_destruct (re_string_t *pstr) |
| 914 | { | 884 | { |
| 915 | #ifdef RE_ENABLE_I18N | ||
| 916 | re_free (pstr->wcs); | 885 | re_free (pstr->wcs); |
| 917 | re_free (pstr->offsets); | 886 | re_free (pstr->offsets); |
| 918 | #endif /* RE_ENABLE_I18N */ | ||
| 919 | if (pstr->mbs_allocated) | 887 | if (pstr->mbs_allocated) |
| 920 | re_free (pstr->mbs); | 888 | re_free (pstr->mbs); |
| 921 | } | 889 | } |
| @@ -933,7 +901,6 @@ re_string_context_at (const re_string_t *input, Idx idx, int eflags) | |||
| 933 | if (__glibc_unlikely (idx == input->len)) | 901 | if (__glibc_unlikely (idx == input->len)) |
| 934 | return ((eflags & REG_NOTEOL) ? CONTEXT_ENDBUF | 902 | return ((eflags & REG_NOTEOL) ? CONTEXT_ENDBUF |
| 935 | : CONTEXT_NEWLINE | CONTEXT_ENDBUF); | 903 | : CONTEXT_NEWLINE | CONTEXT_ENDBUF); |
| 936 | #ifdef RE_ENABLE_I18N | ||
| 937 | if (input->mb_cur_max > 1) | 904 | if (input->mb_cur_max > 1) |
| 938 | { | 905 | { |
| 939 | wint_t wc; | 906 | wint_t wc; |
| @@ -953,7 +920,6 @@ re_string_context_at (const re_string_t *input, Idx idx, int eflags) | |||
| 953 | ? CONTEXT_NEWLINE : 0); | 920 | ? CONTEXT_NEWLINE : 0); |
| 954 | } | 921 | } |
| 955 | else | 922 | else |
| 956 | #endif | ||
| 957 | { | 923 | { |
| 958 | c = re_string_byte_at (input, idx); | 924 | c = re_string_byte_at (input, idx); |
| 959 | if (bitset_contain (input->word_char, c)) | 925 | if (bitset_contain (input->word_char, c)) |
| @@ -1430,32 +1396,28 @@ re_dfa_add_node (re_dfa_t *dfa, re_token_t token) | |||
| 1430 | if (__glibc_unlikely (new_nodes == NULL)) | 1396 | if (__glibc_unlikely (new_nodes == NULL)) |
| 1431 | return -1; | 1397 | return -1; |
| 1432 | dfa->nodes = new_nodes; | 1398 | dfa->nodes = new_nodes; |
| 1399 | dfa->nodes_alloc = new_nodes_alloc; | ||
| 1433 | new_nexts = re_realloc (dfa->nexts, Idx, new_nodes_alloc); | 1400 | new_nexts = re_realloc (dfa->nexts, Idx, new_nodes_alloc); |
| 1401 | if (new_nexts != NULL) | ||
| 1402 | dfa->nexts = new_nexts; | ||
| 1434 | new_indices = re_realloc (dfa->org_indices, Idx, new_nodes_alloc); | 1403 | new_indices = re_realloc (dfa->org_indices, Idx, new_nodes_alloc); |
| 1404 | if (new_indices != NULL) | ||
| 1405 | dfa->org_indices = new_indices; | ||
| 1435 | new_edests = re_realloc (dfa->edests, re_node_set, new_nodes_alloc); | 1406 | new_edests = re_realloc (dfa->edests, re_node_set, new_nodes_alloc); |
| 1407 | if (new_edests != NULL) | ||
| 1408 | dfa->edests = new_edests; | ||
| 1436 | new_eclosures = re_realloc (dfa->eclosures, re_node_set, new_nodes_alloc); | 1409 | new_eclosures = re_realloc (dfa->eclosures, re_node_set, new_nodes_alloc); |
| 1410 | if (new_eclosures != NULL) | ||
| 1411 | dfa->eclosures = new_eclosures; | ||
| 1437 | if (__glibc_unlikely (new_nexts == NULL || new_indices == NULL | 1412 | if (__glibc_unlikely (new_nexts == NULL || new_indices == NULL |
| 1438 | || new_edests == NULL || new_eclosures == NULL)) | 1413 | || new_edests == NULL || new_eclosures == NULL)) |
| 1439 | { | 1414 | return -1; |
| 1440 | re_free (new_nexts); | ||
| 1441 | re_free (new_indices); | ||
| 1442 | re_free (new_edests); | ||
| 1443 | re_free (new_eclosures); | ||
| 1444 | return -1; | ||
| 1445 | } | ||
| 1446 | dfa->nexts = new_nexts; | ||
| 1447 | dfa->org_indices = new_indices; | ||
| 1448 | dfa->edests = new_edests; | ||
| 1449 | dfa->eclosures = new_eclosures; | ||
| 1450 | dfa->nodes_alloc = new_nodes_alloc; | ||
| 1451 | } | 1415 | } |
| 1452 | dfa->nodes[dfa->nodes_len] = token; | 1416 | dfa->nodes[dfa->nodes_len] = token; |
| 1453 | dfa->nodes[dfa->nodes_len].constraint = 0; | 1417 | dfa->nodes[dfa->nodes_len].constraint = 0; |
| 1454 | #ifdef RE_ENABLE_I18N | ||
| 1455 | dfa->nodes[dfa->nodes_len].accept_mb = | 1418 | dfa->nodes[dfa->nodes_len].accept_mb = |
| 1456 | ((token.type == OP_PERIOD && dfa->mb_cur_max > 1) | 1419 | ((token.type == OP_PERIOD && dfa->mb_cur_max > 1) |
| 1457 | || token.type == COMPLEX_BRACKET); | 1420 | || token.type == COMPLEX_BRACKET); |
| 1458 | #endif | ||
| 1459 | dfa->nexts[dfa->nodes_len] = -1; | 1421 | dfa->nexts[dfa->nodes_len] = -1; |
| 1460 | re_node_set_init_empty (dfa->edests + dfa->nodes_len); | 1422 | re_node_set_init_empty (dfa->edests + dfa->nodes_len); |
| 1461 | re_node_set_init_empty (dfa->eclosures + dfa->nodes_len); | 1423 | re_node_set_init_empty (dfa->eclosures + dfa->nodes_len); |
| @@ -1651,9 +1613,7 @@ create_ci_newstate (const re_dfa_t *dfa, const re_node_set *nodes, | |||
| 1651 | re_token_type_t type = node->type; | 1613 | re_token_type_t type = node->type; |
| 1652 | if (type == CHARACTER && !node->constraint) | 1614 | if (type == CHARACTER && !node->constraint) |
| 1653 | continue; | 1615 | continue; |
| 1654 | #ifdef RE_ENABLE_I18N | ||
| 1655 | newstate->accept_mb |= node->accept_mb; | 1616 | newstate->accept_mb |= node->accept_mb; |
| 1656 | #endif /* RE_ENABLE_I18N */ | ||
| 1657 | 1617 | ||
| 1658 | /* If the state has the halt node, the state is a halt state. */ | 1618 | /* If the state has the halt node, the state is a halt state. */ |
| 1659 | if (type == END_OF_RE) | 1619 | if (type == END_OF_RE) |
| @@ -1705,9 +1665,7 @@ create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes, | |||
| 1705 | 1665 | ||
| 1706 | if (type == CHARACTER && !constraint) | 1666 | if (type == CHARACTER && !constraint) |
| 1707 | continue; | 1667 | continue; |
| 1708 | #ifdef RE_ENABLE_I18N | ||
| 1709 | newstate->accept_mb |= node->accept_mb; | 1668 | newstate->accept_mb |= node->accept_mb; |
| 1710 | #endif /* RE_ENABLE_I18N */ | ||
| 1711 | 1669 | ||
| 1712 | /* If the state has the halt node, the state is a halt state. */ | 1670 | /* If the state has the halt node, the state is a halt state. */ |
| 1713 | if (type == END_OF_RE) | 1671 | if (type == END_OF_RE) |
diff --git a/gl/regex_internal.h b/gl/regex_internal.h index 1245e782..57a455b1 100644 --- a/gl/regex_internal.h +++ b/gl/regex_internal.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Extended regular expression matching and search library. | 1 | /* Extended regular expression matching and search library. |
| 2 | Copyright (C) 2002-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2002-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU C Library. | 3 | This file is part of the GNU C Library. |
| 4 | Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. | 4 | Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. |
| 5 | 5 | ||
| @@ -116,10 +116,6 @@ | |||
| 116 | # define gettext_noop(String) String | 116 | # define gettext_noop(String) String |
| 117 | #endif | 117 | #endif |
| 118 | 118 | ||
| 119 | #if (defined MB_CUR_MAX && HAVE_WCTYPE_H && HAVE_ISWCTYPE) || _LIBC | ||
| 120 | # define RE_ENABLE_I18N | ||
| 121 | #endif | ||
| 122 | |||
| 123 | /* Number of ASCII characters. */ | 119 | /* Number of ASCII characters. */ |
| 124 | #define ASCII_CHARS 0x80 | 120 | #define ASCII_CHARS 0x80 |
| 125 | 121 | ||
| @@ -150,6 +146,11 @@ | |||
| 150 | # define __regfree regfree | 146 | # define __regfree regfree |
| 151 | #endif /* not _LIBC */ | 147 | #endif /* not _LIBC */ |
| 152 | 148 | ||
| 149 | /* Types related to integers. Unless protected by #ifdef _LIBC, the | ||
| 150 | regex code should avoid exact-width types like int32_t and uint64_t | ||
| 151 | as some non-GCC platforms lack them, an issue when this code is | ||
| 152 | used in Gnulib. */ | ||
| 153 | |||
| 153 | #ifndef SSIZE_MAX | 154 | #ifndef SSIZE_MAX |
| 154 | # define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2)) | 155 | # define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2)) |
| 155 | #endif | 156 | #endif |
| @@ -246,10 +247,8 @@ typedef enum | |||
| 246 | SIMPLE_BRACKET = 3, | 247 | SIMPLE_BRACKET = 3, |
| 247 | OP_BACK_REF = 4, | 248 | OP_BACK_REF = 4, |
| 248 | OP_PERIOD = 5, | 249 | OP_PERIOD = 5, |
| 249 | #ifdef RE_ENABLE_I18N | ||
| 250 | COMPLEX_BRACKET = 6, | 250 | COMPLEX_BRACKET = 6, |
| 251 | OP_UTF8_PERIOD = 7, | 251 | OP_UTF8_PERIOD = 7, |
| 252 | #endif /* RE_ENABLE_I18N */ | ||
| 253 | 252 | ||
| 254 | /* We define EPSILON_BIT as a macro so that OP_OPEN_SUBEXP is used | 253 | /* We define EPSILON_BIT as a macro so that OP_OPEN_SUBEXP is used |
| 255 | when the debugger shows values of this enum type. */ | 254 | when the debugger shows values of this enum type. */ |
| @@ -287,30 +286,29 @@ typedef enum | |||
| 287 | 286 | ||
| 288 | } re_token_type_t; | 287 | } re_token_type_t; |
| 289 | 288 | ||
| 290 | #ifdef RE_ENABLE_I18N | ||
| 291 | typedef struct | 289 | typedef struct |
| 292 | { | 290 | { |
| 293 | /* Multibyte characters. */ | 291 | /* Multibyte characters. */ |
| 294 | wchar_t *mbchars; | 292 | wchar_t *mbchars; |
| 295 | 293 | ||
| 294 | #ifdef _LIBC | ||
| 296 | /* Collating symbols. */ | 295 | /* Collating symbols. */ |
| 297 | # ifdef _LIBC | ||
| 298 | int32_t *coll_syms; | 296 | int32_t *coll_syms; |
| 299 | # endif | 297 | #endif |
| 300 | 298 | ||
| 299 | #ifdef _LIBC | ||
| 301 | /* Equivalence classes. */ | 300 | /* Equivalence classes. */ |
| 302 | # ifdef _LIBC | ||
| 303 | int32_t *equiv_classes; | 301 | int32_t *equiv_classes; |
| 304 | # endif | 302 | #endif |
| 305 | 303 | ||
| 306 | /* Range expressions. */ | 304 | /* Range expressions. */ |
| 307 | # ifdef _LIBC | 305 | #ifdef _LIBC |
| 308 | uint32_t *range_starts; | 306 | uint32_t *range_starts; |
| 309 | uint32_t *range_ends; | 307 | uint32_t *range_ends; |
| 310 | # else /* not _LIBC */ | 308 | #else |
| 311 | wchar_t *range_starts; | 309 | wchar_t *range_starts; |
| 312 | wchar_t *range_ends; | 310 | wchar_t *range_ends; |
| 313 | # endif /* not _LIBC */ | 311 | #endif |
| 314 | 312 | ||
| 315 | /* Character classes. */ | 313 | /* Character classes. */ |
| 316 | wctype_t *char_classes; | 314 | wctype_t *char_classes; |
| @@ -333,7 +331,6 @@ typedef struct | |||
| 333 | /* # of character classes. */ | 331 | /* # of character classes. */ |
| 334 | Idx nchar_classes; | 332 | Idx nchar_classes; |
| 335 | } re_charset_t; | 333 | } re_charset_t; |
| 336 | #endif /* RE_ENABLE_I18N */ | ||
| 337 | 334 | ||
| 338 | typedef struct | 335 | typedef struct |
| 339 | { | 336 | { |
| @@ -341,9 +338,7 @@ typedef struct | |||
| 341 | { | 338 | { |
| 342 | unsigned char c; /* for CHARACTER */ | 339 | unsigned char c; /* for CHARACTER */ |
| 343 | re_bitset_ptr_t sbcset; /* for SIMPLE_BRACKET */ | 340 | re_bitset_ptr_t sbcset; /* for SIMPLE_BRACKET */ |
| 344 | #ifdef RE_ENABLE_I18N | ||
| 345 | re_charset_t *mbcset; /* for COMPLEX_BRACKET */ | 341 | re_charset_t *mbcset; /* for COMPLEX_BRACKET */ |
| 346 | #endif /* RE_ENABLE_I18N */ | ||
| 347 | Idx idx; /* for BACK_REF */ | 342 | Idx idx; /* for BACK_REF */ |
| 348 | re_context_type ctx_type; /* for ANCHOR */ | 343 | re_context_type ctx_type; /* for ANCHOR */ |
| 349 | } opr; | 344 | } opr; |
| @@ -355,12 +350,10 @@ typedef struct | |||
| 355 | unsigned int constraint : 10; /* context constraint */ | 350 | unsigned int constraint : 10; /* context constraint */ |
| 356 | unsigned int duplicated : 1; | 351 | unsigned int duplicated : 1; |
| 357 | unsigned int opt_subexp : 1; | 352 | unsigned int opt_subexp : 1; |
| 358 | #ifdef RE_ENABLE_I18N | ||
| 359 | unsigned int accept_mb : 1; | 353 | unsigned int accept_mb : 1; |
| 360 | /* These 2 bits can be moved into the union if needed (e.g. if running out | 354 | /* These 2 bits can be moved into the union if needed (e.g. if running out |
| 361 | of bits; move opr.c to opr.c.c and move the flags to opr.c.flags). */ | 355 | of bits; move opr.c to opr.c.c and move the flags to opr.c.flags). */ |
| 362 | unsigned int mb_partial : 1; | 356 | unsigned int mb_partial : 1; |
| 363 | #endif | ||
| 364 | unsigned int word_char : 1; | 357 | unsigned int word_char : 1; |
| 365 | } re_token_t; | 358 | } re_token_t; |
| 366 | 359 | ||
| @@ -375,12 +368,10 @@ struct re_string_t | |||
| 375 | REG_ICASE, upper cases of the string are stored, otherwise MBS points | 368 | REG_ICASE, upper cases of the string are stored, otherwise MBS points |
| 376 | the same address that RAW_MBS points. */ | 369 | the same address that RAW_MBS points. */ |
| 377 | unsigned char *mbs; | 370 | unsigned char *mbs; |
| 378 | #ifdef RE_ENABLE_I18N | ||
| 379 | /* Store the wide character string which is corresponding to MBS. */ | 371 | /* Store the wide character string which is corresponding to MBS. */ |
| 380 | wint_t *wcs; | 372 | wint_t *wcs; |
| 381 | Idx *offsets; | 373 | Idx *offsets; |
| 382 | mbstate_t cur_state; | 374 | mbstate_t cur_state; |
| 383 | #endif | ||
| 384 | /* Index in RAW_MBS. Each character mbs[i] corresponds to | 375 | /* Index in RAW_MBS. Each character mbs[i] corresponds to |
| 385 | raw_mbs[raw_mbs_idx + i]. */ | 376 | raw_mbs[raw_mbs_idx + i]. */ |
| 386 | Idx raw_mbs_idx; | 377 | Idx raw_mbs_idx; |
| @@ -779,7 +770,6 @@ bitset_mask (bitset_t dest, const bitset_t src) | |||
| 779 | dest[bitset_i] &= src[bitset_i]; | 770 | dest[bitset_i] &= src[bitset_i]; |
| 780 | } | 771 | } |
| 781 | 772 | ||
| 782 | #ifdef RE_ENABLE_I18N | ||
| 783 | /* Functions for re_string. */ | 773 | /* Functions for re_string. */ |
| 784 | static int | 774 | static int |
| 785 | __attribute__ ((pure, unused)) | 775 | __attribute__ ((pure, unused)) |
| @@ -803,15 +793,15 @@ re_string_wchar_at (const re_string_t *pstr, Idx idx) | |||
| 803 | return (wint_t) pstr->wcs[idx]; | 793 | return (wint_t) pstr->wcs[idx]; |
| 804 | } | 794 | } |
| 805 | 795 | ||
| 806 | # ifdef _LIBC | 796 | #ifdef _LIBC |
| 807 | # include <locale/weight.h> | 797 | # include <locale/weight.h> |
| 808 | # endif | 798 | #endif |
| 809 | 799 | ||
| 810 | static int | 800 | static int |
| 811 | __attribute__ ((pure, unused)) | 801 | __attribute__ ((pure, unused)) |
| 812 | re_string_elem_size_at (const re_string_t *pstr, Idx idx) | 802 | re_string_elem_size_at (const re_string_t *pstr, Idx idx) |
| 813 | { | 803 | { |
| 814 | # ifdef _LIBC | 804 | #ifdef _LIBC |
| 815 | const unsigned char *p, *extra; | 805 | const unsigned char *p, *extra; |
| 816 | const int32_t *table, *indirect; | 806 | const int32_t *table, *indirect; |
| 817 | uint_fast32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); | 807 | uint_fast32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); |
| @@ -827,11 +817,10 @@ re_string_elem_size_at (const re_string_t *pstr, Idx idx) | |||
| 827 | findidx (table, indirect, extra, &p, pstr->len - idx); | 817 | findidx (table, indirect, extra, &p, pstr->len - idx); |
| 828 | return p - pstr->mbs - idx; | 818 | return p - pstr->mbs - idx; |
| 829 | } | 819 | } |
| 830 | else | 820 | #endif /* _LIBC */ |
| 831 | # endif /* _LIBC */ | 821 | |
| 832 | return 1; | 822 | return 1; |
| 833 | } | 823 | } |
| 834 | #endif /* RE_ENABLE_I18N */ | ||
| 835 | 824 | ||
| 836 | #ifdef _LIBC | 825 | #ifdef _LIBC |
| 837 | # if __GNUC__ >= 7 | 826 | # if __GNUC__ >= 7 |
diff --git a/gl/regexec.c b/gl/regexec.c index 6aeba3c0..521cb028 100644 --- a/gl/regexec.c +++ b/gl/regexec.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Extended regular expression matching and search library. | 1 | /* Extended regular expression matching and search library. |
| 2 | Copyright (C) 2002-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2002-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU C Library. | 3 | This file is part of the GNU C Library. |
| 4 | Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. | 4 | Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. |
| 5 | 5 | ||
| @@ -67,11 +67,9 @@ static reg_errcode_t set_regs (const regex_t *preg, | |||
| 67 | bool fl_backtrack); | 67 | bool fl_backtrack); |
| 68 | static reg_errcode_t free_fail_stack_return (struct re_fail_stack_t *fs); | 68 | static reg_errcode_t free_fail_stack_return (struct re_fail_stack_t *fs); |
| 69 | 69 | ||
| 70 | #ifdef RE_ENABLE_I18N | ||
| 71 | static int sift_states_iter_mb (const re_match_context_t *mctx, | 70 | static int sift_states_iter_mb (const re_match_context_t *mctx, |
| 72 | re_sift_context_t *sctx, | 71 | re_sift_context_t *sctx, |
| 73 | Idx node_idx, Idx str_idx, Idx max_str_idx); | 72 | Idx node_idx, Idx str_idx, Idx max_str_idx); |
| 74 | #endif /* RE_ENABLE_I18N */ | ||
| 75 | static reg_errcode_t sift_states_backward (const re_match_context_t *mctx, | 73 | static reg_errcode_t sift_states_backward (const re_match_context_t *mctx, |
| 76 | re_sift_context_t *sctx); | 74 | re_sift_context_t *sctx); |
| 77 | static reg_errcode_t build_sifted_states (const re_match_context_t *mctx, | 75 | static reg_errcode_t build_sifted_states (const re_match_context_t *mctx, |
| @@ -123,10 +121,8 @@ static re_dfastate_t *transit_state_sb (reg_errcode_t *err, | |||
| 123 | re_match_context_t *mctx, | 121 | re_match_context_t *mctx, |
| 124 | re_dfastate_t *pstate); | 122 | re_dfastate_t *pstate); |
| 125 | #endif | 123 | #endif |
| 126 | #ifdef RE_ENABLE_I18N | ||
| 127 | static reg_errcode_t transit_state_mb (re_match_context_t *mctx, | 124 | static reg_errcode_t transit_state_mb (re_match_context_t *mctx, |
| 128 | re_dfastate_t *pstate); | 125 | re_dfastate_t *pstate); |
| 129 | #endif /* RE_ENABLE_I18N */ | ||
| 130 | static reg_errcode_t transit_state_bkref (re_match_context_t *mctx, | 126 | static reg_errcode_t transit_state_bkref (re_match_context_t *mctx, |
| 131 | const re_node_set *nodes); | 127 | const re_node_set *nodes); |
| 132 | static reg_errcode_t get_subexp (re_match_context_t *mctx, | 128 | static reg_errcode_t get_subexp (re_match_context_t *mctx, |
| @@ -156,14 +152,12 @@ static reg_errcode_t expand_bkref_cache (re_match_context_t *mctx, | |||
| 156 | re_node_set *cur_nodes, Idx cur_str, | 152 | re_node_set *cur_nodes, Idx cur_str, |
| 157 | Idx subexp_num, int type); | 153 | Idx subexp_num, int type); |
| 158 | static bool build_trtable (const re_dfa_t *dfa, re_dfastate_t *state); | 154 | static bool build_trtable (const re_dfa_t *dfa, re_dfastate_t *state); |
| 159 | #ifdef RE_ENABLE_I18N | ||
| 160 | static int check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, | 155 | static int check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, |
| 161 | const re_string_t *input, Idx idx); | 156 | const re_string_t *input, Idx idx); |
| 162 | # ifdef _LIBC | 157 | #ifdef _LIBC |
| 163 | static unsigned int find_collation_sequence_value (const unsigned char *mbs, | 158 | static unsigned int find_collation_sequence_value (const unsigned char *mbs, |
| 164 | size_t name_len); | 159 | size_t name_len); |
| 165 | # endif /* _LIBC */ | 160 | #endif |
| 166 | #endif /* RE_ENABLE_I18N */ | ||
| 167 | static Idx group_nodes_into_DFAstates (const re_dfa_t *dfa, | 161 | static Idx group_nodes_into_DFAstates (const re_dfa_t *dfa, |
| 168 | const re_dfastate_t *state, | 162 | const re_dfastate_t *state, |
| 169 | re_node_set *states_node, | 163 | re_node_set *states_node, |
| @@ -779,12 +773,10 @@ re_search_internal (const regex_t *preg, const char *string, Idx length, | |||
| 779 | if (__glibc_unlikely (err != REG_NOERROR)) | 773 | if (__glibc_unlikely (err != REG_NOERROR)) |
| 780 | goto free_return; | 774 | goto free_return; |
| 781 | 775 | ||
| 782 | #ifdef RE_ENABLE_I18N | 776 | /* Don't consider this char as a possible match start if it part, |
| 783 | /* Don't consider this char as a possible match start if it part, | 777 | yet isn't the head, of a multibyte character. */ |
| 784 | yet isn't the head, of a multibyte character. */ | ||
| 785 | if (!sb && !re_string_first_byte (&mctx.input, 0)) | 778 | if (!sb && !re_string_first_byte (&mctx.input, 0)) |
| 786 | continue; | 779 | continue; |
| 787 | #endif | ||
| 788 | 780 | ||
| 789 | /* It seems to be appropriate one, then use the matcher. */ | 781 | /* It seems to be appropriate one, then use the matcher. */ |
| 790 | /* We assume that the matching starts from 0. */ | 782 | /* We assume that the matching starts from 0. */ |
| @@ -858,7 +850,6 @@ re_search_internal (const regex_t *preg, const char *string, Idx length, | |||
| 858 | for (reg_idx = 0; reg_idx < nmatch; ++reg_idx) | 850 | for (reg_idx = 0; reg_idx < nmatch; ++reg_idx) |
| 859 | if (pmatch[reg_idx].rm_so != -1) | 851 | if (pmatch[reg_idx].rm_so != -1) |
| 860 | { | 852 | { |
| 861 | #ifdef RE_ENABLE_I18N | ||
| 862 | if (__glibc_unlikely (mctx.input.offsets_needed != 0)) | 853 | if (__glibc_unlikely (mctx.input.offsets_needed != 0)) |
| 863 | { | 854 | { |
| 864 | pmatch[reg_idx].rm_so = | 855 | pmatch[reg_idx].rm_so = |
| @@ -870,9 +861,6 @@ re_search_internal (const regex_t *preg, const char *string, Idx length, | |||
| 870 | ? mctx.input.valid_raw_len | 861 | ? mctx.input.valid_raw_len |
| 871 | : mctx.input.offsets[pmatch[reg_idx].rm_eo]); | 862 | : mctx.input.offsets[pmatch[reg_idx].rm_eo]); |
| 872 | } | 863 | } |
| 873 | #else | ||
| 874 | DEBUG_ASSERT (mctx.input.offsets_needed == 0); | ||
| 875 | #endif | ||
| 876 | pmatch[reg_idx].rm_so += match_first; | 864 | pmatch[reg_idx].rm_so += match_first; |
| 877 | pmatch[reg_idx].rm_eo += match_first; | 865 | pmatch[reg_idx].rm_eo += match_first; |
| 878 | } | 866 | } |
| @@ -996,8 +984,7 @@ prune_impossible_nodes (re_match_context_t *mctx) | |||
| 996 | We must select appropriate initial state depending on the context, | 984 | We must select appropriate initial state depending on the context, |
| 997 | since initial states may have constraints like "\<", "^", etc.. */ | 985 | since initial states may have constraints like "\<", "^", etc.. */ |
| 998 | 986 | ||
| 999 | static inline re_dfastate_t * | 987 | static __always_inline re_dfastate_t * |
| 1000 | __attribute__ ((always_inline)) | ||
| 1001 | acquire_init_state_context (reg_errcode_t *err, const re_match_context_t *mctx, | 988 | acquire_init_state_context (reg_errcode_t *err, const re_match_context_t *mctx, |
| 1002 | Idx idx) | 989 | Idx idx) |
| 1003 | { | 990 | { |
| @@ -1261,12 +1248,9 @@ proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs, | |||
| 1261 | Idx naccepted = 0; | 1248 | Idx naccepted = 0; |
| 1262 | re_token_type_t type = dfa->nodes[node].type; | 1249 | re_token_type_t type = dfa->nodes[node].type; |
| 1263 | 1250 | ||
| 1264 | #ifdef RE_ENABLE_I18N | ||
| 1265 | if (dfa->nodes[node].accept_mb) | 1251 | if (dfa->nodes[node].accept_mb) |
| 1266 | naccepted = check_node_accept_bytes (dfa, node, &mctx->input, *pidx); | 1252 | naccepted = check_node_accept_bytes (dfa, node, &mctx->input, *pidx); |
| 1267 | else | 1253 | else if (type == OP_BACK_REF) |
| 1268 | #endif /* RE_ENABLE_I18N */ | ||
| 1269 | if (type == OP_BACK_REF) | ||
| 1270 | { | 1254 | { |
| 1271 | Idx subexp_idx = dfa->nodes[node].opr.idx + 1; | 1255 | Idx subexp_idx = dfa->nodes[node].opr.idx + 1; |
| 1272 | if (subexp_idx < nregs) | 1256 | if (subexp_idx < nregs) |
| @@ -1324,8 +1308,8 @@ push_fail_stack (struct re_fail_stack_t *fs, Idx str_idx, Idx dest_node, | |||
| 1324 | re_node_set *eps_via_nodes) | 1308 | re_node_set *eps_via_nodes) |
| 1325 | { | 1309 | { |
| 1326 | reg_errcode_t err; | 1310 | reg_errcode_t err; |
| 1327 | Idx num = fs->num++; | 1311 | Idx num = fs->num; |
| 1328 | if (fs->num == fs->alloc) | 1312 | if (num == fs->alloc) |
| 1329 | { | 1313 | { |
| 1330 | struct re_fail_stack_ent_t *new_array; | 1314 | struct re_fail_stack_ent_t *new_array; |
| 1331 | new_array = re_realloc (fs->stack, struct re_fail_stack_ent_t, | 1315 | new_array = re_realloc (fs->stack, struct re_fail_stack_ent_t, |
| @@ -1340,6 +1324,7 @@ push_fail_stack (struct re_fail_stack_t *fs, Idx str_idx, Idx dest_node, | |||
| 1340 | fs->stack[num].regs = re_malloc (regmatch_t, 2 * nregs); | 1324 | fs->stack[num].regs = re_malloc (regmatch_t, 2 * nregs); |
| 1341 | if (fs->stack[num].regs == NULL) | 1325 | if (fs->stack[num].regs == NULL) |
| 1342 | return REG_ESPACE; | 1326 | return REG_ESPACE; |
| 1327 | fs->num = num + 1; | ||
| 1343 | memcpy (fs->stack[num].regs, regs, sizeof (regmatch_t) * nregs); | 1328 | memcpy (fs->stack[num].regs, regs, sizeof (regmatch_t) * nregs); |
| 1344 | memcpy (fs->stack[num].regs + nregs, prevregs, sizeof (regmatch_t) * nregs); | 1329 | memcpy (fs->stack[num].regs + nregs, prevregs, sizeof (regmatch_t) * nregs); |
| 1345 | err = re_node_set_init_copy (&fs->stack[num].eps_via_nodes, eps_via_nodes); | 1330 | err = re_node_set_init_copy (&fs->stack[num].eps_via_nodes, eps_via_nodes); |
| @@ -1634,12 +1619,10 @@ build_sifted_states (const re_match_context_t *mctx, re_sift_context_t *sctx, | |||
| 1634 | bool ok; | 1619 | bool ok; |
| 1635 | DEBUG_ASSERT (!IS_EPSILON_NODE (dfa->nodes[prev_node].type)); | 1620 | DEBUG_ASSERT (!IS_EPSILON_NODE (dfa->nodes[prev_node].type)); |
| 1636 | 1621 | ||
| 1637 | #ifdef RE_ENABLE_I18N | ||
| 1638 | /* If the node may accept "multi byte". */ | 1622 | /* If the node may accept "multi byte". */ |
| 1639 | if (dfa->nodes[prev_node].accept_mb) | 1623 | if (dfa->nodes[prev_node].accept_mb) |
| 1640 | naccepted = sift_states_iter_mb (mctx, sctx, prev_node, | 1624 | naccepted = sift_states_iter_mb (mctx, sctx, prev_node, |
| 1641 | str_idx, sctx->last_str_idx); | 1625 | str_idx, sctx->last_str_idx); |
| 1642 | #endif /* RE_ENABLE_I18N */ | ||
| 1643 | 1626 | ||
| 1644 | /* We don't check backreferences here. | 1627 | /* We don't check backreferences here. |
| 1645 | See update_cur_sifted_state(). */ | 1628 | See update_cur_sifted_state(). */ |
| @@ -1688,6 +1671,7 @@ clean_state_log_if_needed (re_match_context_t *mctx, Idx next_state_log_idx) | |||
| 1688 | 1671 | ||
| 1689 | if (top < next_state_log_idx) | 1672 | if (top < next_state_log_idx) |
| 1690 | { | 1673 | { |
| 1674 | DEBUG_ASSERT (mctx->state_log != NULL); | ||
| 1691 | memset (mctx->state_log + top + 1, '\0', | 1675 | memset (mctx->state_log + top + 1, '\0', |
| 1692 | sizeof (re_dfastate_t *) * (next_state_log_idx - top)); | 1676 | sizeof (re_dfastate_t *) * (next_state_log_idx - top)); |
| 1693 | mctx->state_log_top = next_state_log_idx; | 1677 | mctx->state_log_top = next_state_log_idx; |
| @@ -2176,7 +2160,6 @@ sift_states_bkref (const re_match_context_t *mctx, re_sift_context_t *sctx, | |||
| 2176 | } | 2160 | } |
| 2177 | 2161 | ||
| 2178 | 2162 | ||
| 2179 | #ifdef RE_ENABLE_I18N | ||
| 2180 | static int | 2163 | static int |
| 2181 | sift_states_iter_mb (const re_match_context_t *mctx, re_sift_context_t *sctx, | 2164 | sift_states_iter_mb (const re_match_context_t *mctx, re_sift_context_t *sctx, |
| 2182 | Idx node_idx, Idx str_idx, Idx max_str_idx) | 2165 | Idx node_idx, Idx str_idx, Idx max_str_idx) |
| @@ -2196,8 +2179,6 @@ sift_states_iter_mb (const re_match_context_t *mctx, re_sift_context_t *sctx, | |||
| 2196 | 'naccepted' bytes input. */ | 2179 | 'naccepted' bytes input. */ |
| 2197 | return naccepted; | 2180 | return naccepted; |
| 2198 | } | 2181 | } |
| 2199 | #endif /* RE_ENABLE_I18N */ | ||
| 2200 | |||
| 2201 | 2182 | ||
| 2202 | /* Functions for state transition. */ | 2183 | /* Functions for state transition. */ |
| 2203 | 2184 | ||
| @@ -2215,7 +2196,6 @@ transit_state (reg_errcode_t *err, re_match_context_t *mctx, | |||
| 2215 | re_dfastate_t **trtable; | 2196 | re_dfastate_t **trtable; |
| 2216 | unsigned char ch; | 2197 | unsigned char ch; |
| 2217 | 2198 | ||
| 2218 | #ifdef RE_ENABLE_I18N | ||
| 2219 | /* If the current state can accept multibyte. */ | 2199 | /* If the current state can accept multibyte. */ |
| 2220 | if (__glibc_unlikely (state->accept_mb)) | 2200 | if (__glibc_unlikely (state->accept_mb)) |
| 2221 | { | 2201 | { |
| @@ -2223,7 +2203,6 @@ transit_state (reg_errcode_t *err, re_match_context_t *mctx, | |||
| 2223 | if (__glibc_unlikely (*err != REG_NOERROR)) | 2203 | if (__glibc_unlikely (*err != REG_NOERROR)) |
| 2224 | return NULL; | 2204 | return NULL; |
| 2225 | } | 2205 | } |
| 2226 | #endif /* RE_ENABLE_I18N */ | ||
| 2227 | 2206 | ||
| 2228 | /* Then decide the next state with the single byte. */ | 2207 | /* Then decide the next state with the single byte. */ |
| 2229 | #if 0 | 2208 | #if 0 |
| @@ -2444,7 +2423,6 @@ transit_state_sb (reg_errcode_t *err, re_match_context_t *mctx, | |||
| 2444 | } | 2423 | } |
| 2445 | #endif | 2424 | #endif |
| 2446 | 2425 | ||
| 2447 | #ifdef RE_ENABLE_I18N | ||
| 2448 | static reg_errcode_t | 2426 | static reg_errcode_t |
| 2449 | transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate) | 2427 | transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate) |
| 2450 | { | 2428 | { |
| @@ -2512,7 +2490,6 @@ transit_state_mb (re_match_context_t *mctx, re_dfastate_t *pstate) | |||
| 2512 | } | 2490 | } |
| 2513 | return REG_NOERROR; | 2491 | return REG_NOERROR; |
| 2514 | } | 2492 | } |
| 2515 | #endif /* RE_ENABLE_I18N */ | ||
| 2516 | 2493 | ||
| 2517 | static reg_errcode_t | 2494 | static reg_errcode_t |
| 2518 | transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes) | 2495 | transit_state_bkref (re_match_context_t *mctx, const re_node_set *nodes) |
| @@ -3002,9 +2979,7 @@ check_arrival_add_next_nodes (re_match_context_t *mctx, Idx str_idx, | |||
| 3002 | const re_dfa_t *const dfa = mctx->dfa; | 2979 | const re_dfa_t *const dfa = mctx->dfa; |
| 3003 | bool ok; | 2980 | bool ok; |
| 3004 | Idx cur_idx; | 2981 | Idx cur_idx; |
| 3005 | #ifdef RE_ENABLE_I18N | ||
| 3006 | reg_errcode_t err = REG_NOERROR; | 2982 | reg_errcode_t err = REG_NOERROR; |
| 3007 | #endif | ||
| 3008 | re_node_set union_set; | 2983 | re_node_set union_set; |
| 3009 | re_node_set_init_empty (&union_set); | 2984 | re_node_set_init_empty (&union_set); |
| 3010 | for (cur_idx = 0; cur_idx < cur_nodes->nelem; ++cur_idx) | 2985 | for (cur_idx = 0; cur_idx < cur_nodes->nelem; ++cur_idx) |
| @@ -3013,7 +2988,6 @@ check_arrival_add_next_nodes (re_match_context_t *mctx, Idx str_idx, | |||
| 3013 | Idx cur_node = cur_nodes->elems[cur_idx]; | 2988 | Idx cur_node = cur_nodes->elems[cur_idx]; |
| 3014 | DEBUG_ASSERT (!IS_EPSILON_NODE (dfa->nodes[cur_node].type)); | 2989 | DEBUG_ASSERT (!IS_EPSILON_NODE (dfa->nodes[cur_node].type)); |
| 3015 | 2990 | ||
| 3016 | #ifdef RE_ENABLE_I18N | ||
| 3017 | /* If the node may accept "multi byte". */ | 2991 | /* If the node may accept "multi byte". */ |
| 3018 | if (dfa->nodes[cur_node].accept_mb) | 2992 | if (dfa->nodes[cur_node].accept_mb) |
| 3019 | { | 2993 | { |
| @@ -3051,7 +3025,7 @@ check_arrival_add_next_nodes (re_match_context_t *mctx, Idx str_idx, | |||
| 3051 | } | 3025 | } |
| 3052 | } | 3026 | } |
| 3053 | } | 3027 | } |
| 3054 | #endif /* RE_ENABLE_I18N */ | 3028 | |
| 3055 | if (naccepted | 3029 | if (naccepted |
| 3056 | || check_node_accept (mctx, dfa->nodes + cur_node, str_idx)) | 3030 | || check_node_accept (mctx, dfa->nodes + cur_node, str_idx)) |
| 3057 | { | 3031 | { |
| @@ -3475,18 +3449,15 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, | |||
| 3475 | } | 3449 | } |
| 3476 | else if (type == OP_PERIOD) | 3450 | else if (type == OP_PERIOD) |
| 3477 | { | 3451 | { |
| 3478 | #ifdef RE_ENABLE_I18N | ||
| 3479 | if (dfa->mb_cur_max > 1) | 3452 | if (dfa->mb_cur_max > 1) |
| 3480 | bitset_merge (accepts, dfa->sb_char); | 3453 | bitset_merge (accepts, dfa->sb_char); |
| 3481 | else | 3454 | else |
| 3482 | #endif | ||
| 3483 | bitset_set_all (accepts); | 3455 | bitset_set_all (accepts); |
| 3484 | if (!(dfa->syntax & RE_DOT_NEWLINE)) | 3456 | if (!(dfa->syntax & RE_DOT_NEWLINE)) |
| 3485 | bitset_clear (accepts, '\n'); | 3457 | bitset_clear (accepts, '\n'); |
| 3486 | if (dfa->syntax & RE_DOT_NOT_NULL) | 3458 | if (dfa->syntax & RE_DOT_NOT_NULL) |
| 3487 | bitset_clear (accepts, '\0'); | 3459 | bitset_clear (accepts, '\0'); |
| 3488 | } | 3460 | } |
| 3489 | #ifdef RE_ENABLE_I18N | ||
| 3490 | else if (type == OP_UTF8_PERIOD) | 3461 | else if (type == OP_UTF8_PERIOD) |
| 3491 | { | 3462 | { |
| 3492 | if (ASCII_CHARS % BITSET_WORD_BITS == 0) | 3463 | if (ASCII_CHARS % BITSET_WORD_BITS == 0) |
| @@ -3498,7 +3469,6 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, | |||
| 3498 | if (dfa->syntax & RE_DOT_NOT_NULL) | 3469 | if (dfa->syntax & RE_DOT_NOT_NULL) |
| 3499 | bitset_clear (accepts, '\0'); | 3470 | bitset_clear (accepts, '\0'); |
| 3500 | } | 3471 | } |
| 3501 | #endif | ||
| 3502 | else | 3472 | else |
| 3503 | continue; | 3473 | continue; |
| 3504 | 3474 | ||
| @@ -3529,12 +3499,10 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, | |||
| 3529 | bitset_empty (accepts); | 3499 | bitset_empty (accepts); |
| 3530 | continue; | 3500 | continue; |
| 3531 | } | 3501 | } |
| 3532 | #ifdef RE_ENABLE_I18N | ||
| 3533 | if (dfa->mb_cur_max > 1) | 3502 | if (dfa->mb_cur_max > 1) |
| 3534 | for (j = 0; j < BITSET_WORDS; ++j) | 3503 | for (j = 0; j < BITSET_WORDS; ++j) |
| 3535 | any_set |= (accepts[j] &= (dfa->word_char[j] | ~dfa->sb_char[j])); | 3504 | any_set |= (accepts[j] &= (dfa->word_char[j] | ~dfa->sb_char[j])); |
| 3536 | else | 3505 | else |
| 3537 | #endif | ||
| 3538 | for (j = 0; j < BITSET_WORDS; ++j) | 3506 | for (j = 0; j < BITSET_WORDS; ++j) |
| 3539 | any_set |= (accepts[j] &= dfa->word_char[j]); | 3507 | any_set |= (accepts[j] &= dfa->word_char[j]); |
| 3540 | if (!any_set) | 3508 | if (!any_set) |
| @@ -3548,12 +3516,10 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, | |||
| 3548 | bitset_empty (accepts); | 3516 | bitset_empty (accepts); |
| 3549 | continue; | 3517 | continue; |
| 3550 | } | 3518 | } |
| 3551 | #ifdef RE_ENABLE_I18N | ||
| 3552 | if (dfa->mb_cur_max > 1) | 3519 | if (dfa->mb_cur_max > 1) |
| 3553 | for (j = 0; j < BITSET_WORDS; ++j) | 3520 | for (j = 0; j < BITSET_WORDS; ++j) |
| 3554 | any_set |= (accepts[j] &= ~(dfa->word_char[j] & dfa->sb_char[j])); | 3521 | any_set |= (accepts[j] &= ~(dfa->word_char[j] & dfa->sb_char[j])); |
| 3555 | else | 3522 | else |
| 3556 | #endif | ||
| 3557 | for (j = 0; j < BITSET_WORDS; ++j) | 3523 | for (j = 0; j < BITSET_WORDS; ++j) |
| 3558 | any_set |= (accepts[j] &= ~dfa->word_char[j]); | 3524 | any_set |= (accepts[j] &= ~dfa->word_char[j]); |
| 3559 | if (!any_set) | 3525 | if (!any_set) |
| @@ -3630,7 +3596,6 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, | |||
| 3630 | return -1; | 3596 | return -1; |
| 3631 | } | 3597 | } |
| 3632 | 3598 | ||
| 3633 | #ifdef RE_ENABLE_I18N | ||
| 3634 | /* Check how many bytes the node 'dfa->nodes[node_idx]' accepts. | 3599 | /* Check how many bytes the node 'dfa->nodes[node_idx]' accepts. |
| 3635 | Return the number of the bytes the node accepts. | 3600 | Return the number of the bytes the node accepts. |
| 3636 | STR_IDX is the current index of the input string. | 3601 | STR_IDX is the current index of the input string. |
| @@ -3639,9 +3604,9 @@ group_nodes_into_DFAstates (const re_dfa_t *dfa, const re_dfastate_t *state, | |||
| 3639 | one collating element like '.', '[a-z]', opposite to the other nodes | 3604 | one collating element like '.', '[a-z]', opposite to the other nodes |
| 3640 | can only accept one byte. */ | 3605 | can only accept one byte. */ |
| 3641 | 3606 | ||
| 3642 | # ifdef _LIBC | 3607 | #ifdef _LIBC |
| 3643 | # include <locale/weight.h> | 3608 | # include <locale/weight.h> |
| 3644 | # endif | 3609 | #endif |
| 3645 | 3610 | ||
| 3646 | static int | 3611 | static int |
| 3647 | check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, | 3612 | check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, |
| @@ -3725,12 +3690,12 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, | |||
| 3725 | if (node->type == COMPLEX_BRACKET) | 3690 | if (node->type == COMPLEX_BRACKET) |
| 3726 | { | 3691 | { |
| 3727 | const re_charset_t *cset = node->opr.mbcset; | 3692 | const re_charset_t *cset = node->opr.mbcset; |
| 3728 | # ifdef _LIBC | 3693 | #ifdef _LIBC |
| 3729 | const unsigned char *pin | 3694 | const unsigned char *pin |
| 3730 | = ((const unsigned char *) re_string_get_buffer (input) + str_idx); | 3695 | = ((const unsigned char *) re_string_get_buffer (input) + str_idx); |
| 3731 | Idx j; | 3696 | Idx j; |
| 3732 | uint32_t nrules; | 3697 | uint32_t nrules; |
| 3733 | # endif /* _LIBC */ | 3698 | #endif |
| 3734 | int match_len = 0; | 3699 | int match_len = 0; |
| 3735 | wchar_t wc = ((cset->nranges || cset->nchar_classes || cset->nmbchars) | 3700 | wchar_t wc = ((cset->nranges || cset->nchar_classes || cset->nmbchars) |
| 3736 | ? re_string_wchar_at (input, str_idx) : 0); | 3701 | ? re_string_wchar_at (input, str_idx) : 0); |
| @@ -3753,7 +3718,7 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, | |||
| 3753 | } | 3718 | } |
| 3754 | } | 3719 | } |
| 3755 | 3720 | ||
| 3756 | # ifdef _LIBC | 3721 | #ifdef _LIBC |
| 3757 | nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); | 3722 | nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); |
| 3758 | if (nrules != 0) | 3723 | if (nrules != 0) |
| 3759 | { | 3724 | { |
| @@ -3842,7 +3807,7 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, | |||
| 3842 | } | 3807 | } |
| 3843 | } | 3808 | } |
| 3844 | else | 3809 | else |
| 3845 | # endif /* _LIBC */ | 3810 | #endif /* _LIBC */ |
| 3846 | { | 3811 | { |
| 3847 | /* match with range expression? */ | 3812 | /* match with range expression? */ |
| 3848 | for (i = 0; i < cset->nranges; ++i) | 3813 | for (i = 0; i < cset->nranges; ++i) |
| @@ -3868,7 +3833,7 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, | |||
| 3868 | return 0; | 3833 | return 0; |
| 3869 | } | 3834 | } |
| 3870 | 3835 | ||
| 3871 | # ifdef _LIBC | 3836 | #ifdef _LIBC |
| 3872 | static unsigned int | 3837 | static unsigned int |
| 3873 | find_collation_sequence_value (const unsigned char *mbs, size_t mbs_len) | 3838 | find_collation_sequence_value (const unsigned char *mbs, size_t mbs_len) |
| 3874 | { | 3839 | { |
| @@ -3926,8 +3891,7 @@ find_collation_sequence_value (const unsigned char *mbs, size_t mbs_len) | |||
| 3926 | return UINT_MAX; | 3891 | return UINT_MAX; |
| 3927 | } | 3892 | } |
| 3928 | } | 3893 | } |
| 3929 | # endif /* _LIBC */ | 3894 | #endif /* _LIBC */ |
| 3930 | #endif /* RE_ENABLE_I18N */ | ||
| 3931 | 3895 | ||
| 3932 | /* Check whether the node accepts the byte which is IDX-th | 3896 | /* Check whether the node accepts the byte which is IDX-th |
| 3933 | byte of the INPUT. */ | 3897 | byte of the INPUT. */ |
| @@ -3950,12 +3914,10 @@ check_node_accept (const re_match_context_t *mctx, const re_token_t *node, | |||
| 3950 | return false; | 3914 | return false; |
| 3951 | break; | 3915 | break; |
| 3952 | 3916 | ||
| 3953 | #ifdef RE_ENABLE_I18N | ||
| 3954 | case OP_UTF8_PERIOD: | 3917 | case OP_UTF8_PERIOD: |
| 3955 | if (ch >= ASCII_CHARS) | 3918 | if (ch >= ASCII_CHARS) |
| 3956 | return false; | 3919 | return false; |
| 3957 | FALLTHROUGH; | 3920 | FALLTHROUGH; |
| 3958 | #endif | ||
| 3959 | case OP_PERIOD: | 3921 | case OP_PERIOD: |
| 3960 | if ((ch == '\n' && !(mctx->dfa->syntax & RE_DOT_NEWLINE)) | 3922 | if ((ch == '\n' && !(mctx->dfa->syntax & RE_DOT_NEWLINE)) |
| 3961 | || (ch == '\0' && (mctx->dfa->syntax & RE_DOT_NOT_NULL))) | 3923 | || (ch == '\0' && (mctx->dfa->syntax & RE_DOT_NOT_NULL))) |
| @@ -4016,7 +3978,6 @@ extend_buffers (re_match_context_t *mctx, int min_len) | |||
| 4016 | /* Then reconstruct the buffers. */ | 3978 | /* Then reconstruct the buffers. */ |
| 4017 | if (pstr->icase) | 3979 | if (pstr->icase) |
| 4018 | { | 3980 | { |
| 4019 | #ifdef RE_ENABLE_I18N | ||
| 4020 | if (pstr->mb_cur_max > 1) | 3981 | if (pstr->mb_cur_max > 1) |
| 4021 | { | 3982 | { |
| 4022 | ret = build_wcs_upper_buffer (pstr); | 3983 | ret = build_wcs_upper_buffer (pstr); |
| @@ -4024,16 +3985,13 @@ extend_buffers (re_match_context_t *mctx, int min_len) | |||
| 4024 | return ret; | 3985 | return ret; |
| 4025 | } | 3986 | } |
| 4026 | else | 3987 | else |
| 4027 | #endif /* RE_ENABLE_I18N */ | ||
| 4028 | build_upper_buffer (pstr); | 3988 | build_upper_buffer (pstr); |
| 4029 | } | 3989 | } |
| 4030 | else | 3990 | else |
| 4031 | { | 3991 | { |
| 4032 | #ifdef RE_ENABLE_I18N | ||
| 4033 | if (pstr->mb_cur_max > 1) | 3992 | if (pstr->mb_cur_max > 1) |
| 4034 | build_wcs_buffer (pstr); | 3993 | build_wcs_buffer (pstr); |
| 4035 | else | 3994 | else |
| 4036 | #endif /* RE_ENABLE_I18N */ | ||
| 4037 | { | 3995 | { |
| 4038 | if (pstr->trans != NULL) | 3996 | if (pstr->trans != NULL) |
| 4039 | re_string_translate_buffer (pstr); | 3997 | re_string_translate_buffer (pstr); |
diff --git a/gl/setenv.c b/gl/setenv.c index 3ad3477e..ebfd4e55 100644 --- a/gl/setenv.c +++ b/gl/setenv.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* Copyright (C) 1992, 1995-2003, 2005-2021 Free Software Foundation, Inc. | 1 | /* Copyright (C) 1992, 1995-2003, 2005-2022 Free Software Foundation, Inc. |
| 2 | This file is part of the GNU C Library. | 2 | This file is part of the GNU C Library. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/setlocale-lock.c b/gl/setlocale-lock.c index 53e231c6..4e7540e1 100644 --- a/gl/setlocale-lock.c +++ b/gl/setlocale-lock.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Return the internal lock used by setlocale_null_r. | 1 | /* Return the internal lock used by setlocale_null_r. |
| 2 | Copyright (C) 2019-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2019-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/setlocale_null.c b/gl/setlocale_null.c index dbfda25c..778429b9 100644 --- a/gl/setlocale_null.c +++ b/gl/setlocale_null.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Query the name of the current global locale. | 1 | /* Query the name of the current global locale. |
| 2 | Copyright (C) 2019-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2019-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/setlocale_null.h b/gl/setlocale_null.h index 00c42e2a..d1921b09 100644 --- a/gl/setlocale_null.h +++ b/gl/setlocale_null.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Query the name of the current global locale. | 1 | /* Query the name of the current global locale. |
| 2 | Copyright (C) 2019-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2019-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/sha1-stream.c b/gl/sha1-stream.c index fbf8c7b2..0ba04352 100644 --- a/gl/sha1-stream.c +++ b/gl/sha1-stream.c | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | /* sha1.c - Functions to compute SHA1 message digest of files or | 1 | /* sha1.c - Functions to compute SHA1 message digest of files or |
| 2 | memory blocks according to the NIST specification FIPS-180-1. | 2 | memory blocks according to the NIST specification FIPS-180-1. |
| 3 | 3 | ||
| 4 | Copyright (C) 2000-2001, 2003-2006, 2008-2021 Free Software Foundation, Inc. | 4 | Copyright (C) 2000-2001, 2003-2006, 2008-2022 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | This file is free software: you can redistribute it and/or modify | 6 | This file is free software: you can redistribute it and/or modify |
| 7 | it under the terms of the GNU Lesser General Public License as | 7 | it under the terms of the GNU Lesser General Public License as |
| @@ -1,7 +1,7 @@ | |||
| 1 | /* sha1.c - Functions to compute SHA1 message digest of files or | 1 | /* sha1.c - Functions to compute SHA1 message digest of files or |
| 2 | memory blocks according to the NIST specification FIPS-180-1. | 2 | memory blocks according to the NIST specification FIPS-180-1. |
| 3 | 3 | ||
| 4 | Copyright (C) 2000-2001, 2003-2006, 2008-2021 Free Software Foundation, Inc. | 4 | Copyright (C) 2000-2001, 2003-2006, 2008-2022 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | This file is free software: you can redistribute it and/or modify | 6 | This file is free software: you can redistribute it and/or modify |
| 7 | it under the terms of the GNU Lesser General Public License as | 7 | it under the terms of the GNU Lesser General Public License as |
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Declarations of functions and data types used for SHA1 sum | 1 | /* Declarations of functions and data types used for SHA1 sum |
| 2 | library functions. | 2 | library functions. |
| 3 | Copyright (C) 2000-2001, 2003, 2005-2006, 2008-2021 Free Software | 3 | Copyright (C) 2000-2001, 2003, 2005-2006, 2008-2022 Free Software |
| 4 | Foundation, Inc. | 4 | Foundation, Inc. |
| 5 | 5 | ||
| 6 | This file is free software: you can redistribute it and/or modify | 6 | This file is free software: you can redistribute it and/or modify |
| @@ -23,6 +23,9 @@ | |||
| 23 | # include <stdint.h> | 23 | # include <stdint.h> |
| 24 | 24 | ||
| 25 | # if HAVE_OPENSSL_SHA1 | 25 | # if HAVE_OPENSSL_SHA1 |
| 26 | # ifndef OPENSSL_API_COMPAT | ||
| 27 | # define OPENSSL_API_COMPAT 0x10101000L /* FIXME: Use OpenSSL 1.1+ API. */ | ||
| 28 | # endif | ||
| 26 | # include <openssl/sha.h> | 29 | # include <openssl/sha.h> |
| 27 | # endif | 30 | # endif |
| 28 | 31 | ||
diff --git a/gl/size_max.h b/gl/size_max.h index 1186ba95..dee2b8ee 100644 --- a/gl/size_max.h +++ b/gl/size_max.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* size_max.h -- declare SIZE_MAX through system headers | 1 | /* size_max.h -- declare SIZE_MAX through system headers |
| 2 | Copyright (C) 2005-2006, 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2005-2006, 2009-2022 Free Software Foundation, Inc. |
| 3 | Written by Simon Josefsson. | 3 | Written by Simon Josefsson. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/snprintf.c b/gl/snprintf.c index a589cf1a..3d87854e 100644 --- a/gl/snprintf.c +++ b/gl/snprintf.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Formatted output to strings. | 1 | /* Formatted output to strings. |
| 2 | Copyright (C) 2004, 2006-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2004, 2006-2022 Free Software Foundation, Inc. |
| 3 | Written by Simon Josefsson and Paul Eggert. | 3 | Written by Simon Josefsson and Paul Eggert. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/sockets.c b/gl/sockets.c index f7846b33..31b43029 100644 --- a/gl/sockets.c +++ b/gl/sockets.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* sockets.c --- wrappers for Windows socket functions | 1 | /* sockets.c --- wrappers for Windows socket functions |
| 2 | 2 | ||
| 3 | Copyright (C) 2008-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2008-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/sockets.h b/gl/sockets.h index e70c2bbf..75e49fce 100644 --- a/gl/sockets.h +++ b/gl/sockets.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* sockets.h - wrappers for Windows socket functions | 1 | /* sockets.h - wrappers for Windows socket functions |
| 2 | 2 | ||
| 3 | Copyright (C) 2008-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2008-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/stat-time.c b/gl/stat-time.c index 7b927926..3d48a2b5 100644 --- a/gl/stat-time.c +++ b/gl/stat-time.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* stat-related time functions. | 1 | /* stat-related time functions. |
| 2 | 2 | ||
| 3 | Copyright (C) 2012-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2012-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/stat-time.h b/gl/stat-time.h index 6b2cc686..6b0088e3 100644 --- a/gl/stat-time.h +++ b/gl/stat-time.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* stat-related time functions. | 1 | /* stat-related time functions. |
| 2 | 2 | ||
| 3 | Copyright (C) 2005, 2007, 2009-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2005, 2007, 2009-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/stat-w32.c b/gl/stat-w32.c index 4164199b..c1a29239 100644 --- a/gl/stat-w32.c +++ b/gl/stat-w32.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Core of implementation of fstat and stat for native Windows. | 1 | /* Core of implementation of fstat and stat for native Windows. |
| 2 | Copyright (C) 2017-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2017-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/stat-w32.h b/gl/stat-w32.h index 5b56c09d..0f79d614 100644 --- a/gl/stat-w32.h +++ b/gl/stat-w32.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Core of implementation of fstat and stat for native Windows. | 1 | /* Core of implementation of fstat and stat for native Windows. |
| 2 | Copyright (C) 2017-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2017-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Work around platform bugs in stat. | 1 | /* Work around platform bugs in stat. |
| 2 | Copyright (C) 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2009-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/stdalign.in.h b/gl/stdalign.in.h index 592d58e3..3b117df1 100644 --- a/gl/stdalign.in.h +++ b/gl/stdalign.in.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* A substitute for ISO C11 <stdalign.h>. | 1 | /* A substitute for ISO C11 <stdalign.h>. |
| 2 | 2 | ||
| 3 | Copyright 2011-2021 Free Software Foundation, Inc. | 3 | Copyright 2011-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/stdbool.in.h b/gl/stdbool.in.h index 2a1992da..2fa46724 100644 --- a/gl/stdbool.in.h +++ b/gl/stdbool.in.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* Copyright (C) 2001-2003, 2006-2021 Free Software Foundation, Inc. | 1 | /* Copyright (C) 2001-2003, 2006-2022 Free Software Foundation, Inc. |
| 2 | Written by Bruno Haible <haible@clisp.cons.org>, 2001. | 2 | Written by Bruno Haible <haible@clisp.cons.org>, 2001. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| @@ -58,27 +58,11 @@ | |||
| 58 | 58 | ||
| 59 | /* 7.16. Boolean type and values */ | 59 | /* 7.16. Boolean type and values */ |
| 60 | 60 | ||
| 61 | /* BeOS <sys/socket.h> already #defines false 0, true 1. We use the same | ||
| 62 | definitions below, but temporarily we have to #undef them. */ | ||
| 63 | #if defined __BEOS__ && !defined __HAIKU__ | ||
| 64 | # include <OS.h> /* defines bool but not _Bool */ | ||
| 65 | # undef false | ||
| 66 | # undef true | ||
| 67 | #endif | ||
| 68 | |||
| 69 | #ifdef __cplusplus | 61 | #ifdef __cplusplus |
| 70 | # define _Bool bool | 62 | # define _Bool bool |
| 71 | # define bool bool | 63 | # define bool bool |
| 72 | #else | 64 | #else |
| 73 | # if defined __BEOS__ && !defined __HAIKU__ | 65 | # if !defined __GNUC__ |
| 74 | /* A compiler known to have 'bool'. */ | ||
| 75 | /* If the compiler already has both 'bool' and '_Bool', we can assume they | ||
| 76 | are the same types. */ | ||
| 77 | # if !@HAVE__BOOL@ | ||
| 78 | typedef bool _Bool; | ||
| 79 | # endif | ||
| 80 | # else | ||
| 81 | # if !defined __GNUC__ | ||
| 82 | /* If @HAVE__BOOL@: | 66 | /* If @HAVE__BOOL@: |
| 83 | Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when | 67 | Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when |
| 84 | the built-in _Bool type is used. See | 68 | the built-in _Bool type is used. See |
| @@ -98,10 +82,10 @@ typedef bool _Bool; | |||
| 98 | "Invalid enumerator. (badenum)" with HP-UX cc on Tru64. | 82 | "Invalid enumerator. (badenum)" with HP-UX cc on Tru64. |
| 99 | The only benefit of the enum, debuggability, is not important | 83 | The only benefit of the enum, debuggability, is not important |
| 100 | with these compilers. So use 'signed char' and no enum. */ | 84 | with these compilers. So use 'signed char' and no enum. */ |
| 101 | # define _Bool signed char | 85 | # define _Bool signed char |
| 102 | # else | 86 | # else |
| 103 | /* With this compiler, trust the _Bool type if the compiler has it. */ | 87 | /* With this compiler, trust the _Bool type if the compiler has it. */ |
| 104 | # if !@HAVE__BOOL@ | 88 | # if !@HAVE__BOOL@ |
| 105 | /* For the sake of symbolic names in gdb, define true and false as | 89 | /* For the sake of symbolic names in gdb, define true and false as |
| 106 | enum constants, not only as macros. | 90 | enum constants, not only as macros. |
| 107 | It is tempting to write | 91 | It is tempting to write |
| @@ -112,7 +96,6 @@ typedef bool _Bool; | |||
| 112 | (see ISO C 99 6.3.1.1.(2)). So add a negative value to the | 96 | (see ISO C 99 6.3.1.1.(2)). So add a negative value to the |
| 113 | enum; this ensures that '_Bool' promotes to 'int'. */ | 97 | enum; this ensures that '_Bool' promotes to 'int'. */ |
| 114 | typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool; | 98 | typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool; |
| 115 | # endif | ||
| 116 | # endif | 99 | # endif |
| 117 | # endif | 100 | # endif |
| 118 | # define bool _Bool | 101 | # define bool _Bool |
diff --git a/gl/stdckdint.in.h b/gl/stdckdint.in.h new file mode 100644 index 00000000..90fa62e5 --- /dev/null +++ b/gl/stdckdint.in.h | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | /* stdckdint.h -- checked integer arithmetic | ||
| 2 | |||
| 3 | Copyright 2022 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | This program is free software: you can redistribute it and/or modify it | ||
| 6 | under the terms of the GNU Lesser General Public License as published | ||
| 7 | by the Free Software Foundation; either version 2.1 of the License, or | ||
| 8 | (at your option) any later version. | ||
| 9 | |||
| 10 | This program is distributed in the hope that it will be useful, | ||
| 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | GNU Lesser General Public License for more details. | ||
| 14 | |||
| 15 | You should have received a copy of the GNU Lesser General Public License | ||
| 16 | along with this program. If not, see <https://www.gnu.org/licenses/>. */ | ||
| 17 | |||
| 18 | #ifndef _GL_STDCKDINT_H | ||
| 19 | #define _GL_STDCKDINT_H | ||
| 20 | |||
| 21 | #include "intprops-internal.h" | ||
| 22 | |||
| 23 | #include <stdbool.h> | ||
| 24 | |||
| 25 | /* Store into *R the low-order bits of A + B, A - B, A * B, respectively. | ||
| 26 | Return 1 if the result overflows, 0 otherwise. | ||
| 27 | A, B, and *R can have any integer type other than char, bool, a | ||
| 28 | bit-precise integer type, or an enumeration type. | ||
| 29 | |||
| 30 | These are like the standard macros introduced in C23, except that | ||
| 31 | arguments should not have side effects. */ | ||
| 32 | |||
| 33 | #define ckd_add(r, a, b) ((bool) _GL_INT_ADD_WRAPV (a, b, r)) | ||
| 34 | #define ckd_sub(r, a, b) ((bool) _GL_INT_SUBTRACT_WRAPV (a, b, r)) | ||
| 35 | #define ckd_mul(r, a, b) ((bool) _GL_INT_MULTIPLY_WRAPV (a, b, r)) | ||
| 36 | |||
| 37 | #endif /* _GL_STDCKDINT_H */ | ||
diff --git a/gl/stddef.in.h b/gl/stddef.in.h index 42290d44..5c9a747d 100644 --- a/gl/stddef.in.h +++ b/gl/stddef.in.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues. | 1 | /* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues. |
| 2 | 2 | ||
| 3 | Copyright (C) 2009-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2009-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/stdint.in.h b/gl/stdint.in.h index 85c5418f..eaa7874f 100644 --- a/gl/stdint.in.h +++ b/gl/stdint.in.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* Copyright (C) 2001-2002, 2004-2021 Free Software Foundation, Inc. | 1 | /* Copyright (C) 2001-2002, 2004-2022 Free Software Foundation, Inc. |
| 2 | Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. | 2 | Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. |
| 3 | This file is part of gnulib. | 3 | This file is part of gnulib. |
| 4 | 4 | ||
diff --git a/gl/stdio-impl.h b/gl/stdio-impl.h index 3fa94b48..ed32e698 100644 --- a/gl/stdio-impl.h +++ b/gl/stdio-impl.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Implementation details of FILE streams. | 1 | /* Implementation details of FILE streams. |
| 2 | Copyright (C) 2007-2008, 2010-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2007-2008, 2010-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/stdio-read.c b/gl/stdio-read.c new file mode 100644 index 00000000..85efa0d4 --- /dev/null +++ b/gl/stdio-read.c | |||
| @@ -0,0 +1,168 @@ | |||
| 1 | /* POSIX compatible FILE stream read function. | ||
| 2 | Copyright (C) 2008-2022 Free Software Foundation, Inc. | ||
| 3 | Written by Bruno Haible <bruno@clisp.org>, 2011. | ||
| 4 | |||
| 5 | This file is free software: you can redistribute it and/or modify | ||
| 6 | it under the terms of the GNU Lesser General Public License as | ||
| 7 | published by the Free Software Foundation; either version 2.1 of the | ||
| 8 | License, or (at your option) any later version. | ||
| 9 | |||
| 10 | This file is distributed in the hope that it will be useful, | ||
| 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | GNU Lesser General Public License for more details. | ||
| 14 | |||
| 15 | You should have received a copy of the GNU Lesser General Public License | ||
| 16 | along with this program. If not, see <https://www.gnu.org/licenses/>. */ | ||
| 17 | |||
| 18 | #include <config.h> | ||
| 19 | |||
| 20 | /* Specification. */ | ||
| 21 | #include <stdio.h> | ||
| 22 | |||
| 23 | /* Replace these functions only if module 'nonblocking' is requested. */ | ||
| 24 | #if GNULIB_NONBLOCKING | ||
| 25 | |||
| 26 | /* On native Windows platforms, when read() is called on a non-blocking pipe | ||
| 27 | with an empty buffer, ReadFile() fails with error GetLastError() = | ||
| 28 | ERROR_NO_DATA, and read() in consequence fails with error EINVAL. This | ||
| 29 | read() function is at the basis of the function which fills the buffer of | ||
| 30 | a FILE stream. */ | ||
| 31 | |||
| 32 | # if defined _WIN32 && ! defined __CYGWIN__ | ||
| 33 | |||
| 34 | # include <errno.h> | ||
| 35 | # include <io.h> | ||
| 36 | |||
| 37 | # define WIN32_LEAN_AND_MEAN /* avoid including junk */ | ||
| 38 | # include <windows.h> | ||
| 39 | |||
| 40 | # if GNULIB_MSVC_NOTHROW | ||
| 41 | # include "msvc-nothrow.h" | ||
| 42 | # else | ||
| 43 | # include <io.h> | ||
| 44 | # endif | ||
| 45 | |||
| 46 | /* Don't assume that UNICODE is not defined. */ | ||
| 47 | # undef GetNamedPipeHandleState | ||
| 48 | # define GetNamedPipeHandleState GetNamedPipeHandleStateA | ||
| 49 | |||
| 50 | # define CALL_WITH_ERRNO_FIX(RETTYPE, EXPRESSION, FAILED) \ | ||
| 51 | if (ferror (stream)) \ | ||
| 52 | return (EXPRESSION); \ | ||
| 53 | else \ | ||
| 54 | { \ | ||
| 55 | RETTYPE ret; \ | ||
| 56 | SetLastError (0); \ | ||
| 57 | ret = (EXPRESSION); \ | ||
| 58 | if (FAILED) \ | ||
| 59 | { \ | ||
| 60 | if (GetLastError () == ERROR_NO_DATA && ferror (stream)) \ | ||
| 61 | { \ | ||
| 62 | int fd = fileno (stream); \ | ||
| 63 | if (fd >= 0) \ | ||
| 64 | { \ | ||
| 65 | HANDLE h = (HANDLE) _get_osfhandle (fd); \ | ||
| 66 | if (GetFileType (h) == FILE_TYPE_PIPE) \ | ||
| 67 | { \ | ||
| 68 | /* h is a pipe or socket. */ \ | ||
| 69 | DWORD state; \ | ||
| 70 | if (GetNamedPipeHandleState (h, &state, NULL, NULL, \ | ||
| 71 | NULL, NULL, 0) \ | ||
| 72 | && (state & PIPE_NOWAIT) != 0) \ | ||
| 73 | /* h is a pipe in non-blocking mode. \ | ||
| 74 | Change errno from EINVAL to EAGAIN. */ \ | ||
| 75 | errno = EAGAIN; \ | ||
| 76 | } \ | ||
| 77 | } \ | ||
| 78 | } \ | ||
| 79 | } \ | ||
| 80 | return ret; \ | ||
| 81 | } | ||
| 82 | |||
| 83 | /* Enable this function definition only if gnulib's <stdio.h> has prepared it. | ||
| 84 | Otherwise we get a function definition conflict with mingw64's <stdio.h>. */ | ||
| 85 | # if GNULIB_SCANF | ||
| 86 | int | ||
| 87 | scanf (const char *format, ...) | ||
| 88 | { | ||
| 89 | int retval; | ||
| 90 | va_list args; | ||
| 91 | |||
| 92 | va_start (args, format); | ||
| 93 | retval = vfscanf (stdin, format, args); | ||
| 94 | va_end (args); | ||
| 95 | |||
| 96 | return retval; | ||
| 97 | } | ||
| 98 | # endif | ||
| 99 | |||
| 100 | /* Enable this function definition only if gnulib's <stdio.h> has prepared it. | ||
| 101 | Otherwise we get a function definition conflict with mingw64's <stdio.h>. */ | ||
| 102 | # if GNULIB_FSCANF | ||
| 103 | int | ||
| 104 | fscanf (FILE *stream, const char *format, ...) | ||
| 105 | { | ||
| 106 | int retval; | ||
| 107 | va_list args; | ||
| 108 | |||
| 109 | va_start (args, format); | ||
| 110 | retval = vfscanf (stream, format, args); | ||
| 111 | va_end (args); | ||
| 112 | |||
| 113 | return retval; | ||
| 114 | } | ||
| 115 | # endif | ||
| 116 | |||
| 117 | /* Enable this function definition only if gnulib's <stdio.h> has prepared it. | ||
| 118 | Otherwise we get a function definition conflict with mingw64's <stdio.h>. */ | ||
| 119 | # if GNULIB_VSCANF | ||
| 120 | int | ||
| 121 | vscanf (const char *format, va_list args) | ||
| 122 | { | ||
| 123 | return vfscanf (stdin, format, args); | ||
| 124 | } | ||
| 125 | # endif | ||
| 126 | |||
| 127 | /* Enable this function definition only if gnulib's <stdio.h> has prepared it. | ||
| 128 | Otherwise we get a function definition conflict with mingw64's <stdio.h>. */ | ||
| 129 | # if GNULIB_VFSCANF | ||
| 130 | int | ||
| 131 | vfscanf (FILE *stream, const char *format, va_list args) | ||
| 132 | #undef vfscanf | ||
| 133 | { | ||
| 134 | CALL_WITH_ERRNO_FIX (int, vfscanf (stream, format, args), ret == EOF) | ||
| 135 | } | ||
| 136 | # endif | ||
| 137 | |||
| 138 | int | ||
| 139 | getchar (void) | ||
| 140 | { | ||
| 141 | return fgetc (stdin); | ||
| 142 | } | ||
| 143 | |||
| 144 | int | ||
| 145 | fgetc (FILE *stream) | ||
| 146 | #undef fgetc | ||
| 147 | { | ||
| 148 | CALL_WITH_ERRNO_FIX (int, fgetc (stream), ret == EOF) | ||
| 149 | } | ||
| 150 | |||
| 151 | char * | ||
| 152 | fgets (char *s, int n, FILE *stream) | ||
| 153 | #undef fgets | ||
| 154 | { | ||
| 155 | CALL_WITH_ERRNO_FIX (char *, fgets (s, n, stream), ret == NULL) | ||
| 156 | } | ||
| 157 | |||
| 158 | /* We intentionally don't bother to fix gets. */ | ||
| 159 | |||
| 160 | size_t | ||
| 161 | fread (void *ptr, size_t s, size_t n, FILE *stream) | ||
| 162 | #undef fread | ||
| 163 | { | ||
| 164 | CALL_WITH_ERRNO_FIX (size_t, fread (ptr, s, n, stream), ret < n) | ||
| 165 | } | ||
| 166 | |||
| 167 | # endif | ||
| 168 | #endif | ||
diff --git a/gl/stdio-write.c b/gl/stdio-write.c new file mode 100644 index 00000000..82facf54 --- /dev/null +++ b/gl/stdio-write.c | |||
| @@ -0,0 +1,206 @@ | |||
| 1 | /* POSIX compatible FILE stream write function. | ||
| 2 | Copyright (C) 2008-2022 Free Software Foundation, Inc. | ||
| 3 | Written by Bruno Haible <bruno@clisp.org>, 2008. | ||
| 4 | |||
| 5 | This file is free software: you can redistribute it and/or modify | ||
| 6 | it under the terms of the GNU Lesser General Public License as | ||
| 7 | published by the Free Software Foundation; either version 2.1 of the | ||
| 8 | License, or (at your option) any later version. | ||
| 9 | |||
| 10 | This file is distributed in the hope that it will be useful, | ||
| 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | GNU Lesser General Public License for more details. | ||
| 14 | |||
| 15 | You should have received a copy of the GNU Lesser General Public License | ||
| 16 | along with this program. If not, see <https://www.gnu.org/licenses/>. */ | ||
| 17 | |||
| 18 | #include <config.h> | ||
| 19 | |||
| 20 | /* Specification. */ | ||
| 21 | #include <stdio.h> | ||
| 22 | |||
| 23 | /* Replace these functions only if module 'nonblocking' or module 'sigpipe' is | ||
| 24 | requested. */ | ||
| 25 | #if GNULIB_NONBLOCKING || GNULIB_SIGPIPE | ||
| 26 | |||
| 27 | /* On native Windows platforms, SIGPIPE does not exist. When write() is | ||
| 28 | called on a pipe with no readers, WriteFile() fails with error | ||
| 29 | GetLastError() = ERROR_NO_DATA, and write() in consequence fails with | ||
| 30 | error EINVAL. This write() function is at the basis of the function | ||
| 31 | which flushes the buffer of a FILE stream. */ | ||
| 32 | |||
| 33 | # if defined _WIN32 && ! defined __CYGWIN__ | ||
| 34 | |||
| 35 | # include <errno.h> | ||
| 36 | # include <signal.h> | ||
| 37 | # include <io.h> | ||
| 38 | |||
| 39 | # define WIN32_LEAN_AND_MEAN /* avoid including junk */ | ||
| 40 | # include <windows.h> | ||
| 41 | |||
| 42 | # if GNULIB_MSVC_NOTHROW | ||
| 43 | # include "msvc-nothrow.h" | ||
| 44 | # else | ||
| 45 | # include <io.h> | ||
| 46 | # endif | ||
| 47 | |||
| 48 | /* Don't assume that UNICODE is not defined. */ | ||
| 49 | # undef GetNamedPipeHandleState | ||
| 50 | # define GetNamedPipeHandleState GetNamedPipeHandleStateA | ||
| 51 | |||
| 52 | # if GNULIB_NONBLOCKING | ||
| 53 | # define CLEAR_ERRNO \ | ||
| 54 | errno = 0; | ||
| 55 | # define HANDLE_ENOSPC \ | ||
| 56 | if (errno == ENOSPC && ferror (stream)) \ | ||
| 57 | { \ | ||
| 58 | int fd = fileno (stream); \ | ||
| 59 | if (fd >= 0) \ | ||
| 60 | { \ | ||
| 61 | HANDLE h = (HANDLE) _get_osfhandle (fd); \ | ||
| 62 | if (GetFileType (h) == FILE_TYPE_PIPE) \ | ||
| 63 | { \ | ||
| 64 | /* h is a pipe or socket. */ \ | ||
| 65 | DWORD state; \ | ||
| 66 | if (GetNamedPipeHandleState (h, &state, NULL, NULL, \ | ||
| 67 | NULL, NULL, 0) \ | ||
| 68 | && (state & PIPE_NOWAIT) != 0) \ | ||
| 69 | /* h is a pipe in non-blocking mode. \ | ||
| 70 | Change errno from ENOSPC to EAGAIN. */ \ | ||
| 71 | errno = EAGAIN; \ | ||
| 72 | } \ | ||
| 73 | } \ | ||
| 74 | } \ | ||
| 75 | else | ||
| 76 | # else | ||
| 77 | # define CLEAR_ERRNO | ||
| 78 | # define HANDLE_ENOSPC | ||
| 79 | # endif | ||
| 80 | |||
| 81 | # if GNULIB_SIGPIPE | ||
| 82 | # define CLEAR_LastError \ | ||
| 83 | SetLastError (0); | ||
| 84 | # define HANDLE_ERROR_NO_DATA \ | ||
| 85 | if (GetLastError () == ERROR_NO_DATA && ferror (stream)) \ | ||
| 86 | { \ | ||
| 87 | int fd = fileno (stream); \ | ||
| 88 | if (fd >= 0 \ | ||
| 89 | && GetFileType ((HANDLE) _get_osfhandle (fd)) \ | ||
| 90 | == FILE_TYPE_PIPE) \ | ||
| 91 | { \ | ||
| 92 | /* Try to raise signal SIGPIPE. */ \ | ||
| 93 | raise (SIGPIPE); \ | ||
| 94 | /* If it is currently blocked or ignored, change errno from \ | ||
| 95 | EINVAL to EPIPE. */ \ | ||
| 96 | errno = EPIPE; \ | ||
| 97 | } \ | ||
| 98 | } \ | ||
| 99 | else | ||
| 100 | # else | ||
| 101 | # define CLEAR_LastError | ||
| 102 | # define HANDLE_ERROR_NO_DATA | ||
| 103 | # endif | ||
| 104 | |||
| 105 | # define CALL_WITH_SIGPIPE_EMULATION(RETTYPE, EXPRESSION, FAILED) \ | ||
| 106 | if (ferror (stream)) \ | ||
| 107 | return (EXPRESSION); \ | ||
| 108 | else \ | ||
| 109 | { \ | ||
| 110 | RETTYPE ret; \ | ||
| 111 | CLEAR_ERRNO \ | ||
| 112 | CLEAR_LastError \ | ||
| 113 | ret = (EXPRESSION); \ | ||
| 114 | if (FAILED) \ | ||
| 115 | { \ | ||
| 116 | HANDLE_ENOSPC \ | ||
| 117 | HANDLE_ERROR_NO_DATA \ | ||
| 118 | ; \ | ||
| 119 | } \ | ||
| 120 | return ret; \ | ||
| 121 | } | ||
| 122 | |||
| 123 | # if !REPLACE_PRINTF_POSIX /* avoid collision with printf.c */ | ||
| 124 | int | ||
| 125 | printf (const char *format, ...) | ||
| 126 | { | ||
| 127 | int retval; | ||
| 128 | va_list args; | ||
| 129 | |||
| 130 | va_start (args, format); | ||
| 131 | retval = vfprintf (stdout, format, args); | ||
| 132 | va_end (args); | ||
| 133 | |||
| 134 | return retval; | ||
| 135 | } | ||
| 136 | # endif | ||
| 137 | |||
| 138 | # if !REPLACE_FPRINTF_POSIX /* avoid collision with fprintf.c */ | ||
| 139 | int | ||
| 140 | fprintf (FILE *stream, const char *format, ...) | ||
| 141 | { | ||
| 142 | int retval; | ||
| 143 | va_list args; | ||
| 144 | |||
| 145 | va_start (args, format); | ||
| 146 | retval = vfprintf (stream, format, args); | ||
| 147 | va_end (args); | ||
| 148 | |||
| 149 | return retval; | ||
| 150 | } | ||
| 151 | # endif | ||
| 152 | |||
| 153 | # if !REPLACE_VPRINTF_POSIX /* avoid collision with vprintf.c */ | ||
| 154 | int | ||
| 155 | vprintf (const char *format, va_list args) | ||
| 156 | { | ||
| 157 | return vfprintf (stdout, format, args); | ||
| 158 | } | ||
| 159 | # endif | ||
| 160 | |||
| 161 | # if !REPLACE_VFPRINTF_POSIX /* avoid collision with vfprintf.c */ | ||
| 162 | int | ||
| 163 | vfprintf (FILE *stream, const char *format, va_list args) | ||
| 164 | #undef vfprintf | ||
| 165 | { | ||
| 166 | CALL_WITH_SIGPIPE_EMULATION (int, vfprintf (stream, format, args), ret == EOF) | ||
| 167 | } | ||
| 168 | # endif | ||
| 169 | |||
| 170 | int | ||
| 171 | putchar (int c) | ||
| 172 | { | ||
| 173 | return fputc (c, stdout); | ||
| 174 | } | ||
| 175 | |||
| 176 | int | ||
| 177 | fputc (int c, FILE *stream) | ||
| 178 | #undef fputc | ||
| 179 | { | ||
| 180 | CALL_WITH_SIGPIPE_EMULATION (int, fputc (c, stream), ret == EOF) | ||
| 181 | } | ||
| 182 | |||
| 183 | int | ||
| 184 | fputs (const char *string, FILE *stream) | ||
| 185 | #undef fputs | ||
| 186 | { | ||
| 187 | CALL_WITH_SIGPIPE_EMULATION (int, fputs (string, stream), ret == EOF) | ||
| 188 | } | ||
| 189 | |||
| 190 | int | ||
| 191 | puts (const char *string) | ||
| 192 | #undef puts | ||
| 193 | { | ||
| 194 | FILE *stream = stdout; | ||
| 195 | CALL_WITH_SIGPIPE_EMULATION (int, puts (string), ret == EOF) | ||
| 196 | } | ||
| 197 | |||
| 198 | size_t | ||
| 199 | fwrite (const void *ptr, size_t s, size_t n, FILE *stream) | ||
| 200 | #undef fwrite | ||
| 201 | { | ||
| 202 | CALL_WITH_SIGPIPE_EMULATION (size_t, fwrite (ptr, s, n, stream), ret < n) | ||
| 203 | } | ||
| 204 | |||
| 205 | # endif | ||
| 206 | #endif | ||
diff --git a/gl/stdio.in.h b/gl/stdio.in.h index 0ca2c8e1..7b36dac2 100644 --- a/gl/stdio.in.h +++ b/gl/stdio.in.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* A GNU-like <stdio.h>. | 1 | /* A GNU-like <stdio.h>. |
| 2 | 2 | ||
| 3 | Copyright (C) 2004, 2007-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2004, 2007-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
| @@ -399,7 +399,8 @@ _GL_CXXALIASWARN (fileno); | |||
| 399 | #endif | 399 | #endif |
| 400 | 400 | ||
| 401 | #if @GNULIB_FOPEN@ | 401 | #if @GNULIB_FOPEN@ |
| 402 | # if @REPLACE_FOPEN@ | 402 | # if (@GNULIB_FOPEN@ && @REPLACE_FOPEN@) \ |
| 403 | || (@GNULIB_FOPEN_GNU@ && @REPLACE_FOPEN_FOR_FOPEN_GNU@) | ||
| 403 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | 404 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
| 404 | # undef fopen | 405 | # undef fopen |
| 405 | # define fopen rpl_fopen | 406 | # define fopen rpl_fopen |
diff --git a/gl/stdlib.in.h b/gl/stdlib.in.h index 0855112d..a86643c3 100644 --- a/gl/stdlib.in.h +++ b/gl/stdlib.in.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* A GNU-like <stdlib.h>. | 1 | /* A GNU-like <stdlib.h>. |
| 2 | 2 | ||
| 3 | Copyright (C) 1995, 2001-2004, 2006-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 1995, 2001-2004, 2006-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
| @@ -184,7 +184,11 @@ _GL_WARN_ON_USE (_Exit, "_Exit is unportable - " | |||
| 184 | # undef free | 184 | # undef free |
| 185 | # define free rpl_free | 185 | # define free rpl_free |
| 186 | # endif | 186 | # endif |
| 187 | # if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2) | ||
| 188 | _GL_FUNCDECL_RPL (free, void, (void *ptr) throw ()); | ||
| 189 | # else | ||
| 187 | _GL_FUNCDECL_RPL (free, void, (void *ptr)); | 190 | _GL_FUNCDECL_RPL (free, void, (void *ptr)); |
| 191 | # endif | ||
| 188 | _GL_CXXALIAS_RPL (free, void, (void *ptr)); | 192 | _GL_CXXALIAS_RPL (free, void, (void *ptr)); |
| 189 | # else | 193 | # else |
| 190 | _GL_CXXALIAS_SYS (free, void, (void *ptr)); | 194 | _GL_CXXALIAS_SYS (free, void, (void *ptr)); |
| @@ -260,7 +264,8 @@ _GL_WARN_ON_USE (atoll, "atoll is unportable - " | |||
| 260 | #endif | 264 | #endif |
| 261 | 265 | ||
| 262 | #if @GNULIB_CALLOC_POSIX@ | 266 | #if @GNULIB_CALLOC_POSIX@ |
| 263 | # if @REPLACE_CALLOC@ | 267 | # if (@GNULIB_CALLOC_POSIX@ && @REPLACE_CALLOC_FOR_CALLOC_POSIX@) \ |
| 268 | || (@GNULIB_CALLOC_GNU@ && @REPLACE_CALLOC_FOR_CALLOC_GNU@) | ||
| 264 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | 269 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
| 265 | # undef calloc | 270 | # undef calloc |
| 266 | # define calloc rpl_calloc | 271 | # define calloc rpl_calloc |
| @@ -474,7 +479,8 @@ _GL_WARN_ON_USE (grantpt, "grantpt is not portable - " | |||
| 474 | by never specifying a zero size), so it does not need malloc or | 479 | by never specifying a zero size), so it does not need malloc or |
| 475 | realloc to be redefined. */ | 480 | realloc to be redefined. */ |
| 476 | #if @GNULIB_MALLOC_POSIX@ | 481 | #if @GNULIB_MALLOC_POSIX@ |
| 477 | # if @REPLACE_MALLOC@ | 482 | # if (@GNULIB_MALLOC_POSIX@ && @REPLACE_MALLOC_FOR_MALLOC_POSIX@) \ |
| 483 | || (@GNULIB_MALLOC_GNU@ && @REPLACE_MALLOC_FOR_MALLOC_GNU@) | ||
| 478 | # if !((defined __cplusplus && defined GNULIB_NAMESPACE) \ | 484 | # if !((defined __cplusplus && defined GNULIB_NAMESPACE) \ |
| 479 | || _GL_USE_STDLIB_ALLOC) | 485 | || _GL_USE_STDLIB_ALLOC) |
| 480 | # undef malloc | 486 | # undef malloc |
| @@ -828,29 +834,35 @@ _GL_CXXALIASWARN (putenv); | |||
| 828 | /* Sort an array of NMEMB elements, starting at address BASE, each element | 834 | /* Sort an array of NMEMB elements, starting at address BASE, each element |
| 829 | occupying SIZE bytes, in ascending order according to the comparison | 835 | occupying SIZE bytes, in ascending order according to the comparison |
| 830 | function COMPARE. */ | 836 | function COMPARE. */ |
| 837 | # ifdef __cplusplus | ||
| 838 | extern "C" { | ||
| 839 | # endif | ||
| 840 | # if !GNULIB_defined_qsort_r_fn_types | ||
| 841 | typedef int (*_gl_qsort_r_compar_fn) (void const *, void const *, void *); | ||
| 842 | # define GNULIB_defined_qsort_r_fn_types 1 | ||
| 843 | # endif | ||
| 844 | # ifdef __cplusplus | ||
| 845 | } | ||
| 846 | # endif | ||
| 831 | # if @REPLACE_QSORT_R@ | 847 | # if @REPLACE_QSORT_R@ |
| 832 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | 848 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
| 833 | # undef qsort_r | 849 | # undef qsort_r |
| 834 | # define qsort_r rpl_qsort_r | 850 | # define qsort_r rpl_qsort_r |
| 835 | # endif | 851 | # endif |
| 836 | _GL_FUNCDECL_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size, | 852 | _GL_FUNCDECL_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size, |
| 837 | int (*compare) (void const *, void const *, | 853 | _gl_qsort_r_compar_fn compare, |
| 838 | void *), | ||
| 839 | void *arg) _GL_ARG_NONNULL ((1, 4))); | 854 | void *arg) _GL_ARG_NONNULL ((1, 4))); |
| 840 | _GL_CXXALIAS_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size, | 855 | _GL_CXXALIAS_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size, |
| 841 | int (*compare) (void const *, void const *, | 856 | _gl_qsort_r_compar_fn compare, |
| 842 | void *), | ||
| 843 | void *arg)); | 857 | void *arg)); |
| 844 | # else | 858 | # else |
| 845 | # if !@HAVE_QSORT_R@ | 859 | # if !@HAVE_QSORT_R@ |
| 846 | _GL_FUNCDECL_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size, | 860 | _GL_FUNCDECL_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size, |
| 847 | int (*compare) (void const *, void const *, | 861 | _gl_qsort_r_compar_fn compare, |
| 848 | void *), | ||
| 849 | void *arg) _GL_ARG_NONNULL ((1, 4))); | 862 | void *arg) _GL_ARG_NONNULL ((1, 4))); |
| 850 | # endif | 863 | # endif |
| 851 | _GL_CXXALIAS_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size, | 864 | _GL_CXXALIAS_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size, |
| 852 | int (*compare) (void const *, void const *, | 865 | _gl_qsort_r_compar_fn compare, |
| 853 | void *), | ||
| 854 | void *arg)); | 866 | void *arg)); |
| 855 | # endif | 867 | # endif |
| 856 | _GL_CXXALIASWARN (qsort_r); | 868 | _GL_CXXALIASWARN (qsort_r); |
| @@ -1101,7 +1113,8 @@ _GL_WARN_ON_USE (setstate_r, "setstate_r is unportable - " | |||
| 1101 | 1113 | ||
| 1102 | 1114 | ||
| 1103 | #if @GNULIB_REALLOC_POSIX@ | 1115 | #if @GNULIB_REALLOC_POSIX@ |
| 1104 | # if @REPLACE_REALLOC@ | 1116 | # if (@GNULIB_REALLOC_POSIX@ && @REPLACE_REALLOC_FOR_REALLOC_POSIX@) \ |
| 1117 | || (@GNULIB_REALLOC_GNU@ && @REPLACE_REALLOC_FOR_REALLOC_GNU@) | ||
| 1105 | # if !((defined __cplusplus && defined GNULIB_NAMESPACE) \ | 1118 | # if !((defined __cplusplus && defined GNULIB_NAMESPACE) \ |
| 1106 | || _GL_USE_STDLIB_ALLOC) | 1119 | || _GL_USE_STDLIB_ALLOC) |
| 1107 | # undef realloc | 1120 | # undef realloc |
diff --git a/gl/str-two-way.h b/gl/str-two-way.h index fc2db03b..b00017c0 100644 --- a/gl/str-two-way.h +++ b/gl/str-two-way.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Byte-wise substring search, using the Two-Way algorithm. | 1 | /* Byte-wise substring search, using the Two-Way algorithm. |
| 2 | Copyright (C) 2008-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2008-2022 Free Software Foundation, Inc. |
| 3 | This file is part of the GNU C Library. | 3 | This file is part of the GNU C Library. |
| 4 | Written by Eric Blake <ebb9@byu.net>, 2008. | 4 | Written by Eric Blake <ebb9@byu.net>, 2008. |
| 5 | 5 | ||
| @@ -231,7 +231,7 @@ critical_factorization (const unsigned char *needle, size_t needle_len, | |||
| 231 | most 2 * HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching. | 231 | most 2 * HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching. |
| 232 | If AVAILABLE modifies HAYSTACK_LEN (as in strstr), then at most 3 * | 232 | If AVAILABLE modifies HAYSTACK_LEN (as in strstr), then at most 3 * |
| 233 | HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching. */ | 233 | HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching. */ |
| 234 | static RETURN_TYPE | 234 | static RETURN_TYPE _GL_ATTRIBUTE_PURE |
| 235 | two_way_short_needle (const unsigned char *haystack, size_t haystack_len, | 235 | two_way_short_needle (const unsigned char *haystack, size_t haystack_len, |
| 236 | const unsigned char *needle, size_t needle_len) | 236 | const unsigned char *needle, size_t needle_len) |
| 237 | { | 237 | { |
| @@ -325,7 +325,7 @@ two_way_short_needle (const unsigned char *haystack, size_t haystack_len, | |||
| 325 | If AVAILABLE modifies HAYSTACK_LEN (as in strstr), then at most 3 * | 325 | If AVAILABLE modifies HAYSTACK_LEN (as in strstr), then at most 3 * |
| 326 | HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching, and | 326 | HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching, and |
| 327 | sublinear performance is not possible. */ | 327 | sublinear performance is not possible. */ |
| 328 | static RETURN_TYPE | 328 | static RETURN_TYPE _GL_ATTRIBUTE_PURE |
| 329 | two_way_long_needle (const unsigned char *haystack, size_t haystack_len, | 329 | two_way_long_needle (const unsigned char *haystack, size_t haystack_len, |
| 330 | const unsigned char *needle, size_t needle_len) | 330 | const unsigned char *needle, size_t needle_len) |
| 331 | { | 331 | { |
diff --git a/gl/strcasecmp.c b/gl/strcasecmp.c index c714270d..a85a2b10 100644 --- a/gl/strcasecmp.c +++ b/gl/strcasecmp.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Case-insensitive string comparison function. | 1 | /* Case-insensitive string comparison function. |
| 2 | Copyright (C) 1998-1999, 2005-2007, 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 1998-1999, 2005-2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/strcasestr.c b/gl/strcasestr.c index 1935967c..b36f4091 100644 --- a/gl/strcasestr.c +++ b/gl/strcasestr.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Case-insensitive searching in a string. | 1 | /* Case-insensitive searching in a string. |
| 2 | Copyright (C) 2005-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2005-2022 Free Software Foundation, Inc. |
| 3 | Written by Bruno Haible <bruno@clisp.org>, 2005. | 3 | Written by Bruno Haible <bruno@clisp.org>, 2005. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Optimized string comparison. | 1 | /* Optimized string comparison. |
| 2 | Copyright (C) 2001-2002, 2007, 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2001-2002, 2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/strerror-override.c b/gl/strerror-override.c index e76d55db..6be1afdc 100644 --- a/gl/strerror-override.c +++ b/gl/strerror-override.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* strerror-override.c --- POSIX compatible system error routine | 1 | /* strerror-override.c --- POSIX compatible system error routine |
| 2 | 2 | ||
| 3 | Copyright (C) 2010-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2010-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/strerror-override.h b/gl/strerror-override.h index 9cfc5ad9..d010d27c 100644 --- a/gl/strerror-override.h +++ b/gl/strerror-override.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* strerror-override.h --- POSIX compatible system error routine | 1 | /* strerror-override.h --- POSIX compatible system error routine |
| 2 | 2 | ||
| 3 | Copyright (C) 2010-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2010-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/strerror.c b/gl/strerror.c index 83926dfa..67c5216e 100644 --- a/gl/strerror.c +++ b/gl/strerror.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* strerror.c --- POSIX compatible system error routine | 1 | /* strerror.c --- POSIX compatible system error routine |
| 2 | 2 | ||
| 3 | Copyright (C) 2007-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/string.in.h b/gl/string.in.h index afe73508..3996da9f 100644 --- a/gl/string.in.h +++ b/gl/string.in.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* A GNU-like <string.h>. | 1 | /* A GNU-like <string.h>. |
| 2 | 2 | ||
| 3 | Copyright (C) 1995-1996, 2001-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 1995-1996, 2001-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
| @@ -112,13 +112,43 @@ | |||
| 112 | 112 | ||
| 113 | /* The definition of _GL_WARN_ON_USE is copied here. */ | 113 | /* The definition of _GL_WARN_ON_USE is copied here. */ |
| 114 | 114 | ||
| 115 | /* Declare 'free' if needed for _GL_ATTRIBUTE_DEALLOC_FREE. */ | 115 | /* Make _GL_ATTRIBUTE_DEALLOC_FREE work, even though <stdlib.h> may not have |
| 116 | _GL_EXTERN_C void free (void *); | 116 | been included yet. */ |
| 117 | #if @GNULIB_FREE_POSIX@ | 117 | #if @GNULIB_FREE_POSIX@ |
| 118 | # if (@REPLACE_FREE@ && !defined free \ | 118 | # if (@REPLACE_FREE@ && !defined free \ |
| 119 | && !(defined __cplusplus && defined GNULIB_NAMESPACE)) | 119 | && !(defined __cplusplus && defined GNULIB_NAMESPACE)) |
| 120 | # define free rpl_free | 120 | /* We can't do '#define free rpl_free' here. */ |
| 121 | _GL_EXTERN_C void rpl_free (void *); | ||
| 122 | # undef _GL_ATTRIBUTE_DEALLOC_FREE | ||
| 123 | # define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (rpl_free, 1) | ||
| 124 | # else | ||
| 125 | # if defined _MSC_VER && !defined free | ||
| 126 | _GL_EXTERN_C | ||
| 127 | # if defined _DLL | ||
| 128 | __declspec (dllimport) | ||
| 129 | # endif | ||
| 130 | void __cdecl free (void *); | ||
| 131 | # else | ||
| 132 | # if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2) | ||
| 133 | _GL_EXTERN_C void free (void *) throw (); | ||
| 134 | # else | ||
| 121 | _GL_EXTERN_C void free (void *); | 135 | _GL_EXTERN_C void free (void *); |
| 136 | # endif | ||
| 137 | # endif | ||
| 138 | # endif | ||
| 139 | #else | ||
| 140 | # if defined _MSC_VER && !defined free | ||
| 141 | _GL_EXTERN_C | ||
| 142 | # if defined _DLL | ||
| 143 | __declspec (dllimport) | ||
| 144 | # endif | ||
| 145 | void __cdecl free (void *); | ||
| 146 | # else | ||
| 147 | # if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2) | ||
| 148 | _GL_EXTERN_C void free (void *) throw (); | ||
| 149 | # else | ||
| 150 | _GL_EXTERN_C void free (void *); | ||
| 151 | # endif | ||
| 122 | # endif | 152 | # endif |
| 123 | #endif | 153 | #endif |
| 124 | 154 | ||
| @@ -216,10 +246,11 @@ _GL_CXXALIAS_SYS_CAST2 (memchr, | |||
| 216 | void const *, (void const *__s, int __c, size_t __n)); | 246 | void const *, (void const *__s, int __c, size_t __n)); |
| 217 | # endif | 247 | # endif |
| 218 | # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ | 248 | # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ |
| 219 | && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) | 249 | && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \ |
| 220 | _GL_CXXALIASWARN1 (memchr, void *, (void *__s, int __c, size_t __n)); | 250 | || defined __clang__) |
| 251 | _GL_CXXALIASWARN1 (memchr, void *, (void *__s, int __c, size_t __n) throw ()); | ||
| 221 | _GL_CXXALIASWARN1 (memchr, void const *, | 252 | _GL_CXXALIASWARN1 (memchr, void const *, |
| 222 | (void const *__s, int __c, size_t __n)); | 253 | (void const *__s, int __c, size_t __n) throw ()); |
| 223 | # elif __GLIBC__ >= 2 | 254 | # elif __GLIBC__ >= 2 |
| 224 | _GL_CXXALIASWARN (memchr); | 255 | _GL_CXXALIASWARN (memchr); |
| 225 | # endif | 256 | # endif |
| @@ -301,9 +332,10 @@ _GL_CXXALIAS_SYS_CAST2 (memrchr, | |||
| 301 | void *, (void const *, int, size_t), | 332 | void *, (void const *, int, size_t), |
| 302 | void const *, (void const *, int, size_t)); | 333 | void const *, (void const *, int, size_t)); |
| 303 | # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ | 334 | # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ |
| 304 | && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) | 335 | && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \ |
| 305 | _GL_CXXALIASWARN1 (memrchr, void *, (void *, int, size_t)); | 336 | || defined __clang__) |
| 306 | _GL_CXXALIASWARN1 (memrchr, void const *, (void const *, int, size_t)); | 337 | _GL_CXXALIASWARN1 (memrchr, void *, (void *, int, size_t) throw ()); |
| 338 | _GL_CXXALIASWARN1 (memrchr, void const *, (void const *, int, size_t) throw ()); | ||
| 307 | # else | 339 | # else |
| 308 | _GL_CXXALIASWARN (memrchr); | 340 | _GL_CXXALIASWARN (memrchr); |
| 309 | # endif | 341 | # endif |
| @@ -331,9 +363,11 @@ _GL_CXXALIAS_SYS_CAST2 (rawmemchr, | |||
| 331 | void *, (void const *__s, int __c_in), | 363 | void *, (void const *__s, int __c_in), |
| 332 | void const *, (void const *__s, int __c_in)); | 364 | void const *, (void const *__s, int __c_in)); |
| 333 | # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ | 365 | # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ |
| 334 | && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) | 366 | && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \ |
| 335 | _GL_CXXALIASWARN1 (rawmemchr, void *, (void *__s, int __c_in)); | 367 | || defined __clang__) |
| 336 | _GL_CXXALIASWARN1 (rawmemchr, void const *, (void const *__s, int __c_in)); | 368 | _GL_CXXALIASWARN1 (rawmemchr, void *, (void *__s, int __c_in) throw ()); |
| 369 | _GL_CXXALIASWARN1 (rawmemchr, void const *, | ||
| 370 | (void const *__s, int __c_in) throw ()); | ||
| 337 | # else | 371 | # else |
| 338 | _GL_CXXALIASWARN (rawmemchr); | 372 | _GL_CXXALIASWARN (rawmemchr); |
| 339 | # endif | 373 | # endif |
| @@ -435,9 +469,11 @@ _GL_CXXALIAS_SYS_CAST2 (strchrnul, | |||
| 435 | char const *, (char const *__s, int __c_in)); | 469 | char const *, (char const *__s, int __c_in)); |
| 436 | # endif | 470 | # endif |
| 437 | # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ | 471 | # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ |
| 438 | && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) | 472 | && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \ |
| 439 | _GL_CXXALIASWARN1 (strchrnul, char *, (char *__s, int __c_in)); | 473 | || defined __clang__) |
| 440 | _GL_CXXALIASWARN1 (strchrnul, char const *, (char const *__s, int __c_in)); | 474 | _GL_CXXALIASWARN1 (strchrnul, char *, (char *__s, int __c_in) throw ()); |
| 475 | _GL_CXXALIASWARN1 (strchrnul, char const *, | ||
| 476 | (char const *__s, int __c_in) throw ()); | ||
| 441 | # else | 477 | # else |
| 442 | _GL_CXXALIASWARN (strchrnul); | 478 | _GL_CXXALIASWARN (strchrnul); |
| 443 | # endif | 479 | # endif |
| @@ -549,22 +585,35 @@ _GL_WARN_ON_USE (strncat, "strncat is unportable - " | |||
| 549 | # undef strndup | 585 | # undef strndup |
| 550 | # define strndup rpl_strndup | 586 | # define strndup rpl_strndup |
| 551 | # endif | 587 | # endif |
| 552 | _GL_FUNCDECL_RPL (strndup, char *, (char const *__s, size_t __n) | 588 | _GL_FUNCDECL_RPL (strndup, char *, |
| 553 | _GL_ARG_NONNULL ((1))); | 589 | (char const *__s, size_t __n) |
| 590 | _GL_ARG_NONNULL ((1)) | ||
| 591 | _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); | ||
| 554 | _GL_CXXALIAS_RPL (strndup, char *, (char const *__s, size_t __n)); | 592 | _GL_CXXALIAS_RPL (strndup, char *, (char const *__s, size_t __n)); |
| 555 | # else | 593 | # else |
| 556 | # if ! @HAVE_DECL_STRNDUP@ | 594 | # if !@HAVE_DECL_STRNDUP@ || (__GNUC__ >= 11 && !defined strndup) |
| 557 | _GL_FUNCDECL_SYS (strndup, char *, (char const *__s, size_t __n) | 595 | _GL_FUNCDECL_SYS (strndup, char *, |
| 558 | _GL_ARG_NONNULL ((1))); | 596 | (char const *__s, size_t __n) |
| 597 | _GL_ARG_NONNULL ((1)) | ||
| 598 | _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); | ||
| 559 | # endif | 599 | # endif |
| 560 | _GL_CXXALIAS_SYS (strndup, char *, (char const *__s, size_t __n)); | 600 | _GL_CXXALIAS_SYS (strndup, char *, (char const *__s, size_t __n)); |
| 561 | # endif | 601 | # endif |
| 562 | _GL_CXXALIASWARN (strndup); | 602 | _GL_CXXALIASWARN (strndup); |
| 563 | #elif defined GNULIB_POSIXCHECK | 603 | #else |
| 564 | # undef strndup | 604 | # if __GNUC__ >= 11 && !defined strndup |
| 565 | # if HAVE_RAW_DECL_STRNDUP | 605 | /* For -Wmismatched-dealloc: Associate strndup with free or rpl_free. */ |
| 606 | _GL_FUNCDECL_SYS (strndup, char *, | ||
| 607 | (char const *__s, size_t __n) | ||
| 608 | _GL_ARG_NONNULL ((1)) | ||
| 609 | _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); | ||
| 610 | # endif | ||
| 611 | # if defined GNULIB_POSIXCHECK | ||
| 612 | # undef strndup | ||
| 613 | # if HAVE_RAW_DECL_STRNDUP | ||
| 566 | _GL_WARN_ON_USE (strndup, "strndup is unportable - " | 614 | _GL_WARN_ON_USE (strndup, "strndup is unportable - " |
| 567 | "use gnulib module strndup for portability"); | 615 | "use gnulib module strndup for portability"); |
| 616 | # endif | ||
| 568 | # endif | 617 | # endif |
| 569 | #endif | 618 | #endif |
| 570 | 619 | ||
| @@ -624,10 +673,11 @@ _GL_CXXALIAS_SYS_CAST2 (strpbrk, | |||
| 624 | char *, (char const *__s, char const *__accept), | 673 | char *, (char const *__s, char const *__accept), |
| 625 | const char *, (char const *__s, char const *__accept)); | 674 | const char *, (char const *__s, char const *__accept)); |
| 626 | # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ | 675 | # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ |
| 627 | && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) | 676 | && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \ |
| 628 | _GL_CXXALIASWARN1 (strpbrk, char *, (char *__s, char const *__accept)); | 677 | || defined __clang__) |
| 678 | _GL_CXXALIASWARN1 (strpbrk, char *, (char *__s, char const *__accept) throw ()); | ||
| 629 | _GL_CXXALIASWARN1 (strpbrk, char const *, | 679 | _GL_CXXALIASWARN1 (strpbrk, char const *, |
| 630 | (char const *__s, char const *__accept)); | 680 | (char const *__s, char const *__accept) throw ()); |
| 631 | # elif __GLIBC__ >= 2 | 681 | # elif __GLIBC__ >= 2 |
| 632 | _GL_CXXALIASWARN (strpbrk); | 682 | _GL_CXXALIASWARN (strpbrk); |
| 633 | # endif | 683 | # endif |
| @@ -732,10 +782,12 @@ _GL_CXXALIAS_SYS_CAST2 (strstr, | |||
| 732 | const char *, (const char *haystack, const char *needle)); | 782 | const char *, (const char *haystack, const char *needle)); |
| 733 | # endif | 783 | # endif |
| 734 | # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ | 784 | # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ |
| 735 | && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) | 785 | && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \ |
| 736 | _GL_CXXALIASWARN1 (strstr, char *, (char *haystack, const char *needle)); | 786 | || defined __clang__) |
| 787 | _GL_CXXALIASWARN1 (strstr, char *, | ||
| 788 | (char *haystack, const char *needle) throw ()); | ||
| 737 | _GL_CXXALIASWARN1 (strstr, const char *, | 789 | _GL_CXXALIASWARN1 (strstr, const char *, |
| 738 | (const char *haystack, const char *needle)); | 790 | (const char *haystack, const char *needle) throw ()); |
| 739 | # elif __GLIBC__ >= 2 | 791 | # elif __GLIBC__ >= 2 |
| 740 | _GL_CXXALIASWARN (strstr); | 792 | _GL_CXXALIASWARN (strstr); |
| 741 | # endif | 793 | # endif |
| @@ -781,10 +833,12 @@ _GL_CXXALIAS_SYS_CAST2 (strcasestr, | |||
| 781 | const char *, (const char *haystack, const char *needle)); | 833 | const char *, (const char *haystack, const char *needle)); |
| 782 | # endif | 834 | # endif |
| 783 | # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ | 835 | # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ |
| 784 | && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) | 836 | && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \ |
| 785 | _GL_CXXALIASWARN1 (strcasestr, char *, (char *haystack, const char *needle)); | 837 | || defined __clang__) |
| 838 | _GL_CXXALIASWARN1 (strcasestr, char *, | ||
| 839 | (char *haystack, const char *needle) throw ()); | ||
| 786 | _GL_CXXALIASWARN1 (strcasestr, const char *, | 840 | _GL_CXXALIASWARN1 (strcasestr, const char *, |
| 787 | (const char *haystack, const char *needle)); | 841 | (const char *haystack, const char *needle) throw ()); |
| 788 | # else | 842 | # else |
| 789 | _GL_CXXALIASWARN (strcasestr); | 843 | _GL_CXXALIASWARN (strcasestr); |
| 790 | # endif | 844 | # endif |
diff --git a/gl/strings.in.h b/gl/strings.in.h index 07aed188..2c31d2e1 100644 --- a/gl/strings.in.h +++ b/gl/strings.in.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* A substitute <strings.h>. | 1 | /* A substitute <strings.h>. |
| 2 | 2 | ||
| 3 | Copyright (C) 2007-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/stripslash.c b/gl/stripslash.c index 99bfbe66..aee89b78 100644 --- a/gl/stripslash.c +++ b/gl/stripslash.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* stripslash.c -- remove redundant trailing slashes from a file name | 1 | /* stripslash.c -- remove redundant trailing slashes from a file name |
| 2 | 2 | ||
| 3 | Copyright (C) 1990, 2001, 2003-2006, 2009-2021 Free Software Foundation, | 3 | Copyright (C) 1990, 2001, 2003-2006, 2009-2022 Free Software Foundation, |
| 4 | Inc. | 4 | Inc. |
| 5 | 5 | ||
| 6 | This file is free software: you can redistribute it and/or modify | 6 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/strncasecmp.c b/gl/strncasecmp.c index ccc01703..35d215b9 100644 --- a/gl/strncasecmp.c +++ b/gl/strncasecmp.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* strncasecmp.c -- case insensitive string comparator | 1 | /* strncasecmp.c -- case insensitive string comparator |
| 2 | Copyright (C) 1998-1999, 2005-2007, 2009-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 1998-1999, 2005-2007, 2009-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/strsep.c b/gl/strsep.c index 3bd89f42..c05d7ebe 100644 --- a/gl/strsep.c +++ b/gl/strsep.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* Copyright (C) 2004, 2007, 2009-2021 Free Software Foundation, Inc. | 1 | /* Copyright (C) 2004, 2007, 2009-2022 Free Software Foundation, Inc. |
| 2 | 2 | ||
| 3 | Written by Yoann Vandoorselaere <yoann@prelude-ids.org>. | 3 | Written by Yoann Vandoorselaere <yoann@prelude-ids.org>. |
| 4 | 4 | ||
diff --git a/gl/strstr.c b/gl/strstr.c index 2f62ce48..62369159 100644 --- a/gl/strstr.c +++ b/gl/strstr.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* Copyright (C) 1991-1994, 1996-1998, 2000, 2004, 2007-2021 Free Software | 1 | /* Copyright (C) 1991-1994, 1996-1998, 2000, 2004, 2007-2022 Free Software |
| 2 | Foundation, Inc. | 2 | Foundation, Inc. |
| 3 | This file is part of the GNU C Library. | 3 | This file is part of the GNU C Library. |
| 4 | 4 | ||
diff --git a/gl/sys-limits.h b/gl/sys-limits.h index 2d9784d1..d154f0b2 100644 --- a/gl/sys-limits.h +++ b/gl/sys-limits.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* System call limits | 1 | /* System call limits |
| 2 | 2 | ||
| 3 | Copyright 2018-2021 Free Software Foundation, Inc. | 3 | Copyright 2018-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/sys_socket.c b/gl/sys_socket.c index d90b32c9..0bfd60f2 100644 --- a/gl/sys_socket.c +++ b/gl/sys_socket.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Inline functions for <sys/socket.h>. | 1 | /* Inline functions for <sys/socket.h>. |
| 2 | 2 | ||
| 3 | Copyright (C) 2012-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2012-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/sys_socket.in.h b/gl/sys_socket.in.h index 0a2c57db..acdf7eee 100644 --- a/gl/sys_socket.in.h +++ b/gl/sys_socket.in.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Provide a sys/socket header file for systems lacking it (read: MinGW) | 1 | /* Provide a sys/socket header file for systems lacking it (read: MinGW) |
| 2 | and for systems where it is incomplete. | 2 | and for systems where it is incomplete. |
| 3 | Copyright (C) 2005-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2005-2022 Free Software Foundation, Inc. |
| 4 | Written by Simon Josefsson. | 4 | Written by Simon Josefsson. |
| 5 | 5 | ||
| 6 | This file is free software: you can redistribute it and/or modify | 6 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/sys_stat.in.h b/gl/sys_stat.in.h index babe3dba..714c3cb1 100644 --- a/gl/sys_stat.in.h +++ b/gl/sys_stat.in.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Provide a more complete sys/stat.h header file. | 1 | /* Provide a more complete sys/stat.h header file. |
| 2 | Copyright (C) 2005-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2005-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
| @@ -391,7 +391,33 @@ struct stat | |||
| 391 | #endif | 391 | #endif |
| 392 | 392 | ||
| 393 | 393 | ||
| 394 | #if @GNULIB_MDA_CHMOD@ | 394 | #if @GNULIB_CHMOD@ |
| 395 | # if @REPLACE_CHMOD@ | ||
| 396 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | ||
| 397 | # undef chmod | ||
| 398 | # define chmod rpl_chmod | ||
| 399 | # endif | ||
| 400 | _GL_FUNCDECL_RPL (chmod, int, (const char *filename, mode_t mode) | ||
| 401 | _GL_ARG_NONNULL ((1))); | ||
| 402 | _GL_CXXALIAS_RPL (chmod, int, (const char *filename, mode_t mode)); | ||
| 403 | # elif defined _WIN32 && !defined __CYGWIN__ | ||
| 404 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | ||
| 405 | # undef chmod | ||
| 406 | # define chmod _chmod | ||
| 407 | # endif | ||
| 408 | /* Need to cast, because in mingw the last argument is 'int mode'. */ | ||
| 409 | _GL_CXXALIAS_MDA_CAST (chmod, int, (const char *filename, mode_t mode)); | ||
| 410 | # else | ||
| 411 | _GL_CXXALIAS_SYS (chmod, int, (const char *filename, mode_t mode)); | ||
| 412 | # endif | ||
| 413 | _GL_CXXALIASWARN (chmod); | ||
| 414 | #elif defined GNULIB_POSIXCHECK | ||
| 415 | # undef chmod | ||
| 416 | # if HAVE_RAW_DECL_CHMOD | ||
| 417 | _GL_WARN_ON_USE (chmod, "chmod has portability problems - " | ||
| 418 | "use gnulib module chmod for portability"); | ||
| 419 | # endif | ||
| 420 | #elif @GNULIB_MDA_CHMOD@ | ||
| 395 | /* On native Windows, map 'chmod' to '_chmod', so that -loldnames is not | 421 | /* On native Windows, map 'chmod' to '_chmod', so that -loldnames is not |
| 396 | required. In C++ with GNULIB_NAMESPACE, avoid differences between | 422 | required. In C++ with GNULIB_NAMESPACE, avoid differences between |
| 397 | platforms by defining GNULIB_NAMESPACE::chmod always. */ | 423 | platforms by defining GNULIB_NAMESPACE::chmod always. */ |
diff --git a/gl/sys_types.in.h b/gl/sys_types.in.h index 2079d72e..698e88d6 100644 --- a/gl/sys_types.in.h +++ b/gl/sys_types.in.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Provide a more complete sys/types.h. | 1 | /* Provide a more complete sys/types.h. |
| 2 | 2 | ||
| 3 | Copyright (C) 2011-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2011-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/sys_uio.in.h b/gl/sys_uio.in.h index 507ab011..788d461f 100644 --- a/gl/sys_uio.in.h +++ b/gl/sys_uio.in.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Substitute for <sys/uio.h>. | 1 | /* Substitute for <sys/uio.h>. |
| 2 | Copyright (C) 2011-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2011-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/time.in.h b/gl/time.in.h index a73fe59c..6d4c7719 100644 --- a/gl/time.in.h +++ b/gl/time.in.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* A more-standard <time.h>. | 1 | /* A more-standard <time.h>. |
| 2 | 2 | ||
| 3 | Copyright (C) 2007-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
| @@ -120,6 +120,17 @@ _GL_CXXALIAS_SYS (timespec_get, int, (struct timespec *ts, int base)); | |||
| 120 | _GL_CXXALIASWARN (timespec_get); | 120 | _GL_CXXALIASWARN (timespec_get); |
| 121 | # endif | 121 | # endif |
| 122 | 122 | ||
| 123 | /* Set *TS to the current time resolution, and return BASE. | ||
| 124 | Upon failure, return 0. */ | ||
| 125 | # if @GNULIB_TIMESPEC_GETRES@ | ||
| 126 | # if ! @HAVE_TIMESPEC_GETRES@ | ||
| 127 | _GL_FUNCDECL_SYS (timespec_getres, int, (struct timespec *ts, int base) | ||
| 128 | _GL_ARG_NONNULL ((1))); | ||
| 129 | # endif | ||
| 130 | _GL_CXXALIAS_SYS (timespec_getres, int, (struct timespec *ts, int base)); | ||
| 131 | _GL_CXXALIASWARN (timespec_getres); | ||
| 132 | # endif | ||
| 133 | |||
| 123 | /* Sleep for at least RQTP seconds unless interrupted, If interrupted, | 134 | /* Sleep for at least RQTP seconds unless interrupted, If interrupted, |
| 124 | return -1 and store the remaining time into RMTP. See | 135 | return -1 and store the remaining time into RMTP. See |
| 125 | <https://pubs.opengroup.org/onlinepubs/9699919799/functions/nanosleep.html>. */ | 136 | <https://pubs.opengroup.org/onlinepubs/9699919799/functions/nanosleep.html>. */ |
diff --git a/gl/time_r.c b/gl/time_r.c index 88d3c1c7..d4b22755 100644 --- a/gl/time_r.c +++ b/gl/time_r.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Reentrant time functions like localtime_r. | 1 | /* Reentrant time functions like localtime_r. |
| 2 | 2 | ||
| 3 | Copyright (C) 2003, 2006-2007, 2010-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2003, 2006-2007, 2010-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/timegm.c b/gl/timegm.c index 7e723e1f..a1b19efc 100644 --- a/gl/timegm.c +++ b/gl/timegm.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Convert UTC calendar time to simple time. Like mktime but assumes UTC. | 1 | /* Convert UTC calendar time to simple time. Like mktime but assumes UTC. |
| 2 | 2 | ||
| 3 | Copyright (C) 1994-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 1994-2022 Free Software Foundation, Inc. |
| 4 | This file is part of the GNU C Library. | 4 | This file is part of the GNU C Library. |
| 5 | 5 | ||
| 6 | The GNU C Library is free software; you can redistribute it and/or | 6 | The GNU C Library is free software; you can redistribute it and/or |
diff --git a/gl/unistd.c b/gl/unistd.c index 07634560..95978e6a 100644 --- a/gl/unistd.c +++ b/gl/unistd.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Inline functions for <unistd.h>. | 1 | /* Inline functions for <unistd.h>. |
| 2 | 2 | ||
| 3 | Copyright (C) 2012-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2012-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/unistd.in.h b/gl/unistd.in.h index 73c882f9..57df09ec 100644 --- a/gl/unistd.in.h +++ b/gl/unistd.in.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Substitute for and wrapper around <unistd.h>. | 1 | /* Substitute for and wrapper around <unistd.h>. |
| 2 | Copyright (C) 2003-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2003-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
| @@ -415,16 +415,30 @@ _GL_CXXALIASWARN (close); | |||
| 415 | 415 | ||
| 416 | 416 | ||
| 417 | #if @GNULIB_COPY_FILE_RANGE@ | 417 | #if @GNULIB_COPY_FILE_RANGE@ |
| 418 | # if !@HAVE_COPY_FILE_RANGE@ | 418 | # if @REPLACE_COPY_FILE_RANGE@ |
| 419 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | ||
| 420 | # undef copy_file_range | ||
| 421 | # define copy_file_range rpl_copy_file_range | ||
| 422 | # endif | ||
| 423 | _GL_FUNCDECL_RPL (copy_file_range, ssize_t, (int ifd, off_t *ipos, | ||
| 424 | int ofd, off_t *opos, | ||
| 425 | size_t len, unsigned flags)); | ||
| 426 | _GL_CXXALIAS_RPL (copy_file_range, ssize_t, (int ifd, off_t *ipos, | ||
| 427 | int ofd, off_t *opos, | ||
| 428 | size_t len, unsigned flags)); | ||
| 429 | # else | ||
| 430 | # if !@HAVE_COPY_FILE_RANGE@ | ||
| 419 | _GL_FUNCDECL_SYS (copy_file_range, ssize_t, (int ifd, off_t *ipos, | 431 | _GL_FUNCDECL_SYS (copy_file_range, ssize_t, (int ifd, off_t *ipos, |
| 420 | int ofd, off_t *opos, | 432 | int ofd, off_t *opos, |
| 421 | size_t len, unsigned flags)); | 433 | size_t len, unsigned flags)); |
| 434 | # endif | ||
| 422 | _GL_CXXALIAS_SYS (copy_file_range, ssize_t, (int ifd, off_t *ipos, | 435 | _GL_CXXALIAS_SYS (copy_file_range, ssize_t, (int ifd, off_t *ipos, |
| 423 | int ofd, off_t *opos, | 436 | int ofd, off_t *opos, |
| 424 | size_t len, unsigned flags)); | 437 | size_t len, unsigned flags)); |
| 425 | # endif | 438 | # endif |
| 426 | _GL_CXXALIASWARN (copy_file_range); | 439 | _GL_CXXALIASWARN (copy_file_range); |
| 427 | #elif defined GNULIB_POSIXCHECK | 440 | #elif defined GNULIB_POSIXCHECK |
| 441 | # undef copy_file_range | ||
| 428 | # if HAVE_RAW_DECL_COPY_FILE_RANGE | 442 | # if HAVE_RAW_DECL_COPY_FILE_RANGE |
| 429 | _GL_WARN_ON_USE (copy_file_range, | 443 | _GL_WARN_ON_USE (copy_file_range, |
| 430 | "copy_file_range is unportable - " | 444 | "copy_file_range is unportable - " |
| @@ -1409,7 +1423,8 @@ _GL_WARN_ON_USE (getpagesize, "getpagesize is unportable - " | |||
| 1409 | Read a password from /dev/tty or stdin. | 1423 | Read a password from /dev/tty or stdin. |
| 1410 | Function getpass() from module 'getpass-gnu': | 1424 | Function getpass() from module 'getpass-gnu': |
| 1411 | Read a password of arbitrary length from /dev/tty or stdin. */ | 1425 | Read a password of arbitrary length from /dev/tty or stdin. */ |
| 1412 | # if @REPLACE_GETPASS@ | 1426 | # if (@GNULIB_GETPASS@ && @REPLACE_GETPASS@) \ |
| 1427 | || (@GNULIB_GETPASS_GNU@ && @REPLACE_GETPASS_FOR_GETPASS_GNU@) | ||
| 1413 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | 1428 | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
| 1414 | # undef getpass | 1429 | # undef getpass |
| 1415 | # define getpass rpl_getpass | 1430 | # define getpass rpl_getpass |
diff --git a/gl/unlocked-io.h b/gl/unlocked-io.h index ca184b31..7461d740 100644 --- a/gl/unlocked-io.h +++ b/gl/unlocked-io.h | |||
| @@ -1,10 +1,10 @@ | |||
| 1 | /* Prefer faster, non-thread-safe stdio functions if available. | 1 | /* Prefer faster, non-thread-safe stdio functions if available. |
| 2 | 2 | ||
| 3 | Copyright (C) 2001-2004, 2009-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2001-2004, 2009-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This program is free software: you can redistribute it and/or modify | 5 | This program is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU General Public License as published by | 6 | it under the terms of the GNU General Public License as published by |
| 7 | the Free Software Foundation; either version 3 of the License, or | 7 | the Free Software Foundation, either version 3 of the License, or |
| 8 | (at your option) any later version. | 8 | (at your option) any later version. |
| 9 | 9 | ||
| 10 | This program is distributed in the hope that it will be useful, | 10 | This program is distributed in the hope that it will be useful, |
diff --git a/gl/unsetenv.c b/gl/unsetenv.c index b2e910e3..07eac6fd 100644 --- a/gl/unsetenv.c +++ b/gl/unsetenv.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* Copyright (C) 1992, 1995-2002, 2005-2021 Free Software Foundation, Inc. | 1 | /* Copyright (C) 1992, 1995-2002, 2005-2022 Free Software Foundation, Inc. |
| 2 | This file is part of the GNU C Library. | 2 | This file is part of the GNU C Library. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/vasnprintf.c b/gl/vasnprintf.c index d9b669d1..285c674b 100644 --- a/gl/vasnprintf.c +++ b/gl/vasnprintf.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* vsprintf with automatic memory allocation. | 1 | /* vsprintf with automatic memory allocation. |
| 2 | Copyright (C) 1999, 2002-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 1999, 2002-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
| @@ -915,8 +915,7 @@ divide (mpn_t a, mpn_t b, mpn_t *q) | |||
| 915 | q_ptr[q_len++] = 1; | 915 | q_ptr[q_len++] = 1; |
| 916 | } | 916 | } |
| 917 | keep_q: | 917 | keep_q: |
| 918 | if (tmp_roomptr != NULL) | 918 | free (tmp_roomptr); |
| 919 | free (tmp_roomptr); | ||
| 920 | q->limbs = q_ptr; | 919 | q->limbs = q_ptr; |
| 921 | q->nlimbs = q_len; | 920 | q->nlimbs = q_len; |
| 922 | return roomptr; | 921 | return roomptr; |
| @@ -1873,11 +1872,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, | |||
| 1873 | free (a.arg); | 1872 | free (a.arg); |
| 1874 | 1873 | ||
| 1875 | if (PRINTF_FETCHARGS (args, &a) < 0) | 1874 | if (PRINTF_FETCHARGS (args, &a) < 0) |
| 1876 | { | 1875 | goto fail_1_with_EINVAL; |
| 1877 | CLEANUP (); | ||
| 1878 | errno = EINVAL; | ||
| 1879 | return NULL; | ||
| 1880 | } | ||
| 1881 | 1876 | ||
| 1882 | { | 1877 | { |
| 1883 | size_t buf_neededlength; | 1878 | size_t buf_neededlength; |
| @@ -1913,19 +1908,12 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, | |||
| 1913 | buf_malloced = buf; | 1908 | buf_malloced = buf; |
| 1914 | } | 1909 | } |
| 1915 | 1910 | ||
| 1916 | if (resultbuf != NULL) | 1911 | result = resultbuf; |
| 1917 | { | 1912 | allocated = (resultbuf != NULL ? *lengthp : 0); |
| 1918 | result = resultbuf; | ||
| 1919 | allocated = *lengthp; | ||
| 1920 | } | ||
| 1921 | else | ||
| 1922 | { | ||
| 1923 | result = NULL; | ||
| 1924 | allocated = 0; | ||
| 1925 | } | ||
| 1926 | length = 0; | 1913 | length = 0; |
| 1927 | /* Invariants: | 1914 | /* Invariants: |
| 1928 | result is either == resultbuf or == NULL or malloc-allocated. | 1915 | result is either == resultbuf or malloc-allocated. |
| 1916 | If result == NULL, resultbuf is == NULL as well. | ||
| 1929 | If length > 0, then result != NULL. */ | 1917 | If length > 0, then result != NULL. */ |
| 1930 | 1918 | ||
| 1931 | /* Ensures that allocated >= needed. Aborts through a jump to | 1919 | /* Ensures that allocated >= needed. Aborts through a jump to |
| @@ -1942,7 +1930,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, | |||
| 1942 | memory_size = xtimes (allocated, sizeof (DCHAR_T)); \ | 1930 | memory_size = xtimes (allocated, sizeof (DCHAR_T)); \ |
| 1943 | if (size_overflow_p (memory_size)) \ | 1931 | if (size_overflow_p (memory_size)) \ |
| 1944 | oom_statement \ | 1932 | oom_statement \ |
| 1945 | if (result == resultbuf || result == NULL) \ | 1933 | if (result == resultbuf) \ |
| 1946 | memory = (DCHAR_T *) malloc (memory_size); \ | 1934 | memory = (DCHAR_T *) malloc (memory_size); \ |
| 1947 | else \ | 1935 | else \ |
| 1948 | memory = (DCHAR_T *) realloc (result, memory_size); \ | 1936 | memory = (DCHAR_T *) realloc (result, memory_size); \ |
| @@ -2112,15 +2100,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, | |||
| 2112 | if (count == 0) | 2100 | if (count == 0) |
| 2113 | break; | 2101 | break; |
| 2114 | if (count < 0) | 2102 | if (count < 0) |
| 2115 | { | 2103 | goto fail_with_EILSEQ; |
| 2116 | if (!(result == resultbuf || result == NULL)) | ||
| 2117 | free (result); | ||
| 2118 | if (buf_malloced != NULL) | ||
| 2119 | free (buf_malloced); | ||
| 2120 | CLEANUP (); | ||
| 2121 | errno = EILSEQ; | ||
| 2122 | return NULL; | ||
| 2123 | } | ||
| 2124 | arg_end += count; | 2104 | arg_end += count; |
| 2125 | characters++; | 2105 | characters++; |
| 2126 | } | 2106 | } |
| @@ -2137,15 +2117,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, | |||
| 2137 | if (count == 0) | 2117 | if (count == 0) |
| 2138 | break; | 2118 | break; |
| 2139 | if (count < 0) | 2119 | if (count < 0) |
| 2140 | { | 2120 | goto fail_with_EILSEQ; |
| 2141 | if (!(result == resultbuf || result == NULL)) | ||
| 2142 | free (result); | ||
| 2143 | if (buf_malloced != NULL) | ||
| 2144 | free (buf_malloced); | ||
| 2145 | CLEANUP (); | ||
| 2146 | errno = EILSEQ; | ||
| 2147 | return NULL; | ||
| 2148 | } | ||
| 2149 | arg_end += count; | 2121 | arg_end += count; |
| 2150 | characters++; | 2122 | characters++; |
| 2151 | } | 2123 | } |
| @@ -2191,14 +2163,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, | |||
| 2191 | converted, &converted_len); | 2163 | converted, &converted_len); |
| 2192 | # endif | 2164 | # endif |
| 2193 | if (converted == NULL) | 2165 | if (converted == NULL) |
| 2194 | { | 2166 | goto fail_with_errno; |
| 2195 | if (!(result == resultbuf || result == NULL)) | ||
| 2196 | free (result); | ||
| 2197 | if (buf_malloced != NULL) | ||
| 2198 | free (buf_malloced); | ||
| 2199 | CLEANUP (); | ||
| 2200 | return NULL; | ||
| 2201 | } | ||
| 2202 | if (converted != result + length) | 2167 | if (converted != result + length) |
| 2203 | { | 2168 | { |
| 2204 | ENSURE_ALLOCATION_ELSE (xsum (length, converted_len), | 2169 | ENSURE_ALLOCATION_ELSE (xsum (length, converted_len), |
| @@ -2237,15 +2202,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, | |||
| 2237 | if (count == 0) | 2202 | if (count == 0) |
| 2238 | break; | 2203 | break; |
| 2239 | if (count < 0) | 2204 | if (count < 0) |
| 2240 | { | 2205 | goto fail_with_EILSEQ; |
| 2241 | if (!(result == resultbuf || result == NULL)) | ||
| 2242 | free (result); | ||
| 2243 | if (buf_malloced != NULL) | ||
| 2244 | free (buf_malloced); | ||
| 2245 | CLEANUP (); | ||
| 2246 | errno = EILSEQ; | ||
| 2247 | return NULL; | ||
| 2248 | } | ||
| 2249 | arg_end += count; | 2206 | arg_end += count; |
| 2250 | characters++; | 2207 | characters++; |
| 2251 | } | 2208 | } |
| @@ -2262,15 +2219,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, | |||
| 2262 | if (count == 0) | 2219 | if (count == 0) |
| 2263 | break; | 2220 | break; |
| 2264 | if (count < 0) | 2221 | if (count < 0) |
| 2265 | { | 2222 | goto fail_with_EILSEQ; |
| 2266 | if (!(result == resultbuf || result == NULL)) | ||
| 2267 | free (result); | ||
| 2268 | if (buf_malloced != NULL) | ||
| 2269 | free (buf_malloced); | ||
| 2270 | CLEANUP (); | ||
| 2271 | errno = EILSEQ; | ||
| 2272 | return NULL; | ||
| 2273 | } | ||
| 2274 | arg_end += count; | 2223 | arg_end += count; |
| 2275 | characters++; | 2224 | characters++; |
| 2276 | } | 2225 | } |
| @@ -2316,14 +2265,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, | |||
| 2316 | converted, &converted_len); | 2265 | converted, &converted_len); |
| 2317 | # endif | 2266 | # endif |
| 2318 | if (converted == NULL) | 2267 | if (converted == NULL) |
| 2319 | { | 2268 | goto fail_with_errno; |
| 2320 | if (!(result == resultbuf || result == NULL)) | ||
| 2321 | free (result); | ||
| 2322 | if (buf_malloced != NULL) | ||
| 2323 | free (buf_malloced); | ||
| 2324 | CLEANUP (); | ||
| 2325 | return NULL; | ||
| 2326 | } | ||
| 2327 | if (converted != result + length) | 2269 | if (converted != result + length) |
| 2328 | { | 2270 | { |
| 2329 | ENSURE_ALLOCATION_ELSE (xsum (length, converted_len), | 2271 | ENSURE_ALLOCATION_ELSE (xsum (length, converted_len), |
| @@ -2362,15 +2304,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, | |||
| 2362 | if (count == 0) | 2304 | if (count == 0) |
| 2363 | break; | 2305 | break; |
| 2364 | if (count < 0) | 2306 | if (count < 0) |
| 2365 | { | 2307 | goto fail_with_EILSEQ; |
| 2366 | if (!(result == resultbuf || result == NULL)) | ||
| 2367 | free (result); | ||
| 2368 | if (buf_malloced != NULL) | ||
| 2369 | free (buf_malloced); | ||
| 2370 | CLEANUP (); | ||
| 2371 | errno = EILSEQ; | ||
| 2372 | return NULL; | ||
| 2373 | } | ||
| 2374 | arg_end += count; | 2308 | arg_end += count; |
| 2375 | characters++; | 2309 | characters++; |
| 2376 | } | 2310 | } |
| @@ -2387,15 +2321,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, | |||
| 2387 | if (count == 0) | 2321 | if (count == 0) |
| 2388 | break; | 2322 | break; |
| 2389 | if (count < 0) | 2323 | if (count < 0) |
| 2390 | { | 2324 | goto fail_with_EILSEQ; |
| 2391 | if (!(result == resultbuf || result == NULL)) | ||
| 2392 | free (result); | ||
| 2393 | if (buf_malloced != NULL) | ||
| 2394 | free (buf_malloced); | ||
| 2395 | CLEANUP (); | ||
| 2396 | errno = EILSEQ; | ||
| 2397 | return NULL; | ||
| 2398 | } | ||
| 2399 | arg_end += count; | 2325 | arg_end += count; |
| 2400 | characters++; | 2326 | characters++; |
| 2401 | } | 2327 | } |
| @@ -2441,14 +2367,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, | |||
| 2441 | converted, &converted_len); | 2367 | converted, &converted_len); |
| 2442 | # endif | 2368 | # endif |
| 2443 | if (converted == NULL) | 2369 | if (converted == NULL) |
| 2444 | { | 2370 | goto fail_with_errno; |
| 2445 | if (!(result == resultbuf || result == NULL)) | ||
| 2446 | free (result); | ||
| 2447 | if (buf_malloced != NULL) | ||
| 2448 | free (buf_malloced); | ||
| 2449 | CLEANUP (); | ||
| 2450 | return NULL; | ||
| 2451 | } | ||
| 2452 | if (converted != result + length) | 2371 | if (converted != result + length) |
| 2453 | { | 2372 | { |
| 2454 | ENSURE_ALLOCATION_ELSE (xsum (length, converted_len), | 2373 | ENSURE_ALLOCATION_ELSE (xsum (length, converted_len), |
| @@ -2590,16 +2509,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, | |||
| 2590 | /* Found the terminating NUL. */ | 2509 | /* Found the terminating NUL. */ |
| 2591 | break; | 2510 | break; |
| 2592 | if (count < 0) | 2511 | if (count < 0) |
| 2593 | { | 2512 | /* Invalid or incomplete multibyte character. */ |
| 2594 | /* Invalid or incomplete multibyte character. */ | 2513 | goto fail_with_EILSEQ; |
| 2595 | if (!(result == resultbuf || result == NULL)) | ||
| 2596 | free (result); | ||
| 2597 | if (buf_malloced != NULL) | ||
| 2598 | free (buf_malloced); | ||
| 2599 | CLEANUP (); | ||
| 2600 | errno = EILSEQ; | ||
| 2601 | return NULL; | ||
| 2602 | } | ||
| 2603 | arg_end += count; | 2514 | arg_end += count; |
| 2604 | characters++; | 2515 | characters++; |
| 2605 | } | 2516 | } |
| @@ -2626,16 +2537,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, | |||
| 2626 | /* Found the terminating NUL. */ | 2537 | /* Found the terminating NUL. */ |
| 2627 | break; | 2538 | break; |
| 2628 | if (count < 0) | 2539 | if (count < 0) |
| 2629 | { | 2540 | /* Invalid or incomplete multibyte character. */ |
| 2630 | /* Invalid or incomplete multibyte character. */ | 2541 | goto fail_with_EILSEQ; |
| 2631 | if (!(result == resultbuf || result == NULL)) | ||
| 2632 | free (result); | ||
| 2633 | if (buf_malloced != NULL) | ||
| 2634 | free (buf_malloced); | ||
| 2635 | CLEANUP (); | ||
| 2636 | errno = EILSEQ; | ||
| 2637 | return NULL; | ||
| 2638 | } | ||
| 2639 | arg_end += count; | 2542 | arg_end += count; |
| 2640 | characters++; | 2543 | characters++; |
| 2641 | } | 2544 | } |
| @@ -2752,16 +2655,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, | |||
| 2752 | break; | 2655 | break; |
| 2753 | count = local_wcrtomb (cbuf, *arg_end, &state); | 2656 | count = local_wcrtomb (cbuf, *arg_end, &state); |
| 2754 | if (count < 0) | 2657 | if (count < 0) |
| 2755 | { | 2658 | /* Cannot convert. */ |
| 2756 | /* Cannot convert. */ | 2659 | goto fail_with_EILSEQ; |
| 2757 | if (!(result == resultbuf || result == NULL)) | ||
| 2758 | free (result); | ||
| 2759 | if (buf_malloced != NULL) | ||
| 2760 | free (buf_malloced); | ||
| 2761 | CLEANUP (); | ||
| 2762 | errno = EILSEQ; | ||
| 2763 | return NULL; | ||
| 2764 | } | ||
| 2765 | if (precision < (unsigned int) count) | 2660 | if (precision < (unsigned int) count) |
| 2766 | break; | 2661 | break; |
| 2767 | arg_end++; | 2662 | arg_end++; |
| @@ -2793,16 +2688,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, | |||
| 2793 | break; | 2688 | break; |
| 2794 | count = local_wcrtomb (cbuf, *arg_end, &state); | 2689 | count = local_wcrtomb (cbuf, *arg_end, &state); |
| 2795 | if (count < 0) | 2690 | if (count < 0) |
| 2796 | { | 2691 | /* Cannot convert. */ |
| 2797 | /* Cannot convert. */ | 2692 | goto fail_with_EILSEQ; |
| 2798 | if (!(result == resultbuf || result == NULL)) | ||
| 2799 | free (result); | ||
| 2800 | if (buf_malloced != NULL) | ||
| 2801 | free (buf_malloced); | ||
| 2802 | CLEANUP (); | ||
| 2803 | errno = EILSEQ; | ||
| 2804 | return NULL; | ||
| 2805 | } | ||
| 2806 | arg_end++; | 2693 | arg_end++; |
| 2807 | characters += count; | 2694 | characters += count; |
| 2808 | } | 2695 | } |
| @@ -2859,12 +2746,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, | |||
| 2859 | if (tmpdst == NULL) | 2746 | if (tmpdst == NULL) |
| 2860 | { | 2747 | { |
| 2861 | free (tmpsrc); | 2748 | free (tmpsrc); |
| 2862 | if (!(result == resultbuf || result == NULL)) | 2749 | goto fail_with_errno; |
| 2863 | free (result); | ||
| 2864 | if (buf_malloced != NULL) | ||
| 2865 | free (buf_malloced); | ||
| 2866 | CLEANUP (); | ||
| 2867 | return NULL; | ||
| 2868 | } | 2750 | } |
| 2869 | free (tmpsrc); | 2751 | free (tmpsrc); |
| 2870 | # endif | 2752 | # endif |
| @@ -2938,16 +2820,8 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, | |||
| 2938 | abort (); | 2820 | abort (); |
| 2939 | count = local_wcrtomb (cbuf, *arg, &state); | 2821 | count = local_wcrtomb (cbuf, *arg, &state); |
| 2940 | if (count <= 0) | 2822 | if (count <= 0) |
| 2941 | { | 2823 | /* Cannot convert. */ |
| 2942 | /* Cannot convert. */ | 2824 | goto fail_with_EILSEQ; |
| 2943 | if (!(result == resultbuf || result == NULL)) | ||
| 2944 | free (result); | ||
| 2945 | if (buf_malloced != NULL) | ||
| 2946 | free (buf_malloced); | ||
| 2947 | CLEANUP (); | ||
| 2948 | errno = EILSEQ; | ||
| 2949 | return NULL; | ||
| 2950 | } | ||
| 2951 | ENSURE_ALLOCATION (xsum (length, count)); | 2825 | ENSURE_ALLOCATION (xsum (length, count)); |
| 2952 | memcpy (result + length, cbuf, count); | 2826 | memcpy (result + length, cbuf, count); |
| 2953 | length += count; | 2827 | length += count; |
| @@ -3083,14 +2957,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, | |||
| 3083 | NULL, | 2957 | NULL, |
| 3084 | NULL, &tmpdst_len); | 2958 | NULL, &tmpdst_len); |
| 3085 | if (tmpdst == NULL) | 2959 | if (tmpdst == NULL) |
| 3086 | { | 2960 | goto fail_with_errno; |
| 3087 | if (!(result == resultbuf || result == NULL)) | ||
| 3088 | free (result); | ||
| 3089 | if (buf_malloced != NULL) | ||
| 3090 | free (buf_malloced); | ||
| 3091 | CLEANUP (); | ||
| 3092 | return NULL; | ||
| 3093 | } | ||
| 3094 | # endif | 2961 | # endif |
| 3095 | 2962 | ||
| 3096 | if (has_width) | 2963 | if (has_width) |
| @@ -5463,13 +5330,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, | |||
| 5463 | errno = EINVAL; | 5330 | errno = EINVAL; |
| 5464 | } | 5331 | } |
| 5465 | 5332 | ||
| 5466 | if (!(result == resultbuf || result == NULL)) | 5333 | goto fail_with_errno; |
| 5467 | free (result); | ||
| 5468 | if (buf_malloced != NULL) | ||
| 5469 | free (buf_malloced); | ||
| 5470 | CLEANUP (); | ||
| 5471 | |||
| 5472 | return NULL; | ||
| 5473 | } | 5334 | } |
| 5474 | 5335 | ||
| 5475 | #if USE_SNPRINTF | 5336 | #if USE_SNPRINTF |
| @@ -5603,14 +5464,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, | |||
| 5603 | NULL, | 5464 | NULL, |
| 5604 | NULL, &tmpdst_len); | 5465 | NULL, &tmpdst_len); |
| 5605 | if (tmpdst == NULL) | 5466 | if (tmpdst == NULL) |
| 5606 | { | 5467 | goto fail_with_errno; |
| 5607 | if (!(result == resultbuf || result == NULL)) | ||
| 5608 | free (result); | ||
| 5609 | if (buf_malloced != NULL) | ||
| 5610 | free (buf_malloced); | ||
| 5611 | CLEANUP (); | ||
| 5612 | return NULL; | ||
| 5613 | } | ||
| 5614 | ENSURE_ALLOCATION_ELSE (xsum (length, tmpdst_len), | 5468 | ENSURE_ALLOCATION_ELSE (xsum (length, tmpdst_len), |
| 5615 | { free (tmpdst); goto out_of_memory; }); | 5469 | { free (tmpdst); goto out_of_memory; }); |
| 5616 | DCHAR_CPY (result + length, tmpdst, tmpdst_len); | 5470 | DCHAR_CPY (result + length, tmpdst, tmpdst_len); |
| @@ -5835,25 +5689,40 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, | |||
| 5835 | 5689 | ||
| 5836 | #if USE_SNPRINTF | 5690 | #if USE_SNPRINTF |
| 5837 | overflow: | 5691 | overflow: |
| 5838 | if (!(result == resultbuf || result == NULL)) | ||
| 5839 | free (result); | ||
| 5840 | if (buf_malloced != NULL) | ||
| 5841 | free (buf_malloced); | ||
| 5842 | CLEANUP (); | ||
| 5843 | errno = EOVERFLOW; | 5692 | errno = EOVERFLOW; |
| 5844 | return NULL; | 5693 | goto fail_with_errno; |
| 5845 | #endif | 5694 | #endif |
| 5846 | 5695 | ||
| 5847 | out_of_memory: | 5696 | out_of_memory: |
| 5848 | if (!(result == resultbuf || result == NULL)) | 5697 | errno = ENOMEM; |
| 5698 | goto fail_with_errno; | ||
| 5699 | |||
| 5700 | #if ENABLE_UNISTDIO || ((!USE_SNPRINTF || !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF || (NEED_PRINTF_DIRECTIVE_LS && !defined IN_LIBINTL) || ENABLE_WCHAR_FALLBACK) && HAVE_WCHAR_T) | ||
| 5701 | fail_with_EILSEQ: | ||
| 5702 | errno = EILSEQ; | ||
| 5703 | goto fail_with_errno; | ||
| 5704 | #endif | ||
| 5705 | |||
| 5706 | fail_with_errno: | ||
| 5707 | if (result != resultbuf) | ||
| 5849 | free (result); | 5708 | free (result); |
| 5850 | if (buf_malloced != NULL) | 5709 | if (buf_malloced != NULL) |
| 5851 | free (buf_malloced); | 5710 | free (buf_malloced); |
| 5852 | out_of_memory_1: | ||
| 5853 | CLEANUP (); | 5711 | CLEANUP (); |
| 5854 | errno = ENOMEM; | ||
| 5855 | return NULL; | 5712 | return NULL; |
| 5856 | } | 5713 | } |
| 5714 | |||
| 5715 | out_of_memory_1: | ||
| 5716 | errno = ENOMEM; | ||
| 5717 | goto fail_1_with_errno; | ||
| 5718 | |||
| 5719 | fail_1_with_EINVAL: | ||
| 5720 | errno = EINVAL; | ||
| 5721 | goto fail_1_with_errno; | ||
| 5722 | |||
| 5723 | fail_1_with_errno: | ||
| 5724 | CLEANUP (); | ||
| 5725 | return NULL; | ||
| 5857 | } | 5726 | } |
| 5858 | 5727 | ||
| 5859 | #undef MAX_ROOM_NEEDED | 5728 | #undef MAX_ROOM_NEEDED |
diff --git a/gl/vasnprintf.h b/gl/vasnprintf.h index 9b02cdf8..27cf54c5 100644 --- a/gl/vasnprintf.h +++ b/gl/vasnprintf.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* vsprintf with automatic memory allocation. | 1 | /* vsprintf with automatic memory allocation. |
| 2 | Copyright (C) 2002-2004, 2007-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2002-2004, 2007-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/vasprintf.c b/gl/vasprintf.c index fe8b14fb..218275f2 100644 --- a/gl/vasprintf.c +++ b/gl/vasprintf.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Formatted output to strings. | 1 | /* Formatted output to strings. |
| 2 | Copyright (C) 1999, 2002, 2006-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 1999, 2002, 2006-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/verify.h b/gl/verify.h index a8ca59b0..47b6ee66 100644 --- a/gl/verify.h +++ b/gl/verify.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Compile-time assert-like macros. | 1 | /* Compile-time assert-like macros. |
| 2 | 2 | ||
| 3 | Copyright (C) 2005-2006, 2009-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2005-2006, 2009-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
| @@ -34,7 +34,7 @@ | |||
| 34 | #ifndef __cplusplus | 34 | #ifndef __cplusplus |
| 35 | # if (201112L <= __STDC_VERSION__ \ | 35 | # if (201112L <= __STDC_VERSION__ \ |
| 36 | || (!defined __STRICT_ANSI__ \ | 36 | || (!defined __STRICT_ANSI__ \ |
| 37 | && (4 < __GNUC__ + (6 <= __GNUC_MINOR__) || 4 <= __clang_major__))) | 37 | && (4 < __GNUC__ + (6 <= __GNUC_MINOR__) || 5 <= __clang_major__))) |
| 38 | # define _GL_HAVE__STATIC_ASSERT 1 | 38 | # define _GL_HAVE__STATIC_ASSERT 1 |
| 39 | # endif | 39 | # endif |
| 40 | # if (202000L <= __STDC_VERSION__ \ | 40 | # if (202000L <= __STDC_VERSION__ \ |
| @@ -215,6 +215,9 @@ template <int w> | |||
| 215 | # define _GL_VERIFY(R, DIAGNOSTIC, ...) \ | 215 | # define _GL_VERIFY(R, DIAGNOSTIC, ...) \ |
| 216 | extern int (*_GL_GENSYM (_gl_verify_function) (void)) \ | 216 | extern int (*_GL_GENSYM (_gl_verify_function) (void)) \ |
| 217 | [_GL_VERIFY_TRUE (R, DIAGNOSTIC)] | 217 | [_GL_VERIFY_TRUE (R, DIAGNOSTIC)] |
| 218 | # if 4 < __GNUC__ + (6 <= __GNUC_MINOR__) | ||
| 219 | # pragma GCC diagnostic ignored "-Wnested-externs" | ||
| 220 | # endif | ||
| 218 | #endif | 221 | #endif |
| 219 | 222 | ||
| 220 | /* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h. */ | 223 | /* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h. */ |
| @@ -300,13 +303,16 @@ template <int w> | |||
| 300 | # define assume(R) ((R) ? (void) 0 : __builtin_unreachable ()) | 303 | # define assume(R) ((R) ? (void) 0 : __builtin_unreachable ()) |
| 301 | #elif 1200 <= _MSC_VER | 304 | #elif 1200 <= _MSC_VER |
| 302 | # define assume(R) __assume (R) | 305 | # define assume(R) __assume (R) |
| 306 | #elif 202311L <= __STDC_VERSION__ | ||
| 307 | # include <stddef.h> | ||
| 308 | # define assume(R) ((R) ? (void) 0 : unreachable ()) | ||
| 303 | #elif (defined GCC_LINT || defined lint) && _GL_HAS_BUILTIN_TRAP | 309 | #elif (defined GCC_LINT || defined lint) && _GL_HAS_BUILTIN_TRAP |
| 304 | /* Doing it this way helps various packages when configured with | 310 | /* Doing it this way helps various packages when configured with |
| 305 | --enable-gcc-warnings, which compiles with -Dlint. It's nicer | 311 | --enable-gcc-warnings, which compiles with -Dlint. It's nicer |
| 306 | when 'assume' silences warnings even with older GCCs. */ | 312 | if 'assume' silences warnings with GCC 3.4 through GCC 4.4.7 (2012). */ |
| 307 | # define assume(R) ((R) ? (void) 0 : __builtin_trap ()) | 313 | # define assume(R) ((R) ? (void) 0 : __builtin_trap ()) |
| 308 | #else | 314 | #else |
| 309 | /* Some tools grok NOTREACHED, e.g., Oracle Studio 12.6. */ | 315 | /* Some older tools grok NOTREACHED, e.g., Oracle Studio 12.6 (2017). */ |
| 310 | # define assume(R) ((R) ? (void) 0 : /*NOTREACHED*/ (void) 0) | 316 | # define assume(R) ((R) ? (void) 0 : /*NOTREACHED*/ (void) 0) |
| 311 | #endif | 317 | #endif |
| 312 | 318 | ||
diff --git a/gl/vsnprintf.c b/gl/vsnprintf.c index 4a0a3dc6..80999e9b 100644 --- a/gl/vsnprintf.c +++ b/gl/vsnprintf.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Formatted output to strings. | 1 | /* Formatted output to strings. |
| 2 | Copyright (C) 2004, 2006-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2004, 2006-2022 Free Software Foundation, Inc. |
| 3 | Written by Simon Josefsson and Yoann Vandoorselaere <yoann@prelude-ids.org>. | 3 | Written by Simon Josefsson and Yoann Vandoorselaere <yoann@prelude-ids.org>. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/w32sock.h b/gl/w32sock.h index 635a1b22..17db3f12 100644 --- a/gl/w32sock.h +++ b/gl/w32sock.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* w32sock.h --- internal auxiliary functions for Windows socket functions | 1 | /* w32sock.h --- internal auxiliary functions for Windows socket functions |
| 2 | 2 | ||
| 3 | Copyright (C) 2008-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2008-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/wchar.in.h b/gl/wchar.in.h index 20315dd7..835ddbe6 100644 --- a/gl/wchar.in.h +++ b/gl/wchar.in.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* A substitute for ISO C99 <wchar.h>, for platforms that have issues. | 1 | /* A substitute for ISO C99 <wchar.h>, for platforms that have issues. |
| 2 | 2 | ||
| 3 | Copyright (C) 2007-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2007-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
| @@ -175,13 +175,43 @@ typedef int rpl_mbstate_t; | |||
| 175 | # endif | 175 | # endif |
| 176 | #endif | 176 | #endif |
| 177 | 177 | ||
| 178 | /* Declare 'free' if needed for _GL_ATTRIBUTE_DEALLOC_FREE. */ | 178 | /* Make _GL_ATTRIBUTE_DEALLOC_FREE work, even though <stdlib.h> may not have |
| 179 | _GL_EXTERN_C void free (void *); | 179 | been included yet. */ |
| 180 | #if @GNULIB_FREE_POSIX@ | 180 | #if @GNULIB_FREE_POSIX@ |
| 181 | # if (@REPLACE_FREE@ && !defined free \ | 181 | # if (@REPLACE_FREE@ && !defined free \ |
| 182 | && !(defined __cplusplus && defined GNULIB_NAMESPACE)) | 182 | && !(defined __cplusplus && defined GNULIB_NAMESPACE)) |
| 183 | # define free rpl_free | 183 | /* We can't do '#define free rpl_free' here. */ |
| 184 | _GL_EXTERN_C void rpl_free (void *); | ||
| 185 | # undef _GL_ATTRIBUTE_DEALLOC_FREE | ||
| 186 | # define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (rpl_free, 1) | ||
| 187 | # else | ||
| 188 | # if defined _MSC_VER && !defined free | ||
| 189 | _GL_EXTERN_C | ||
| 190 | # if defined _DLL | ||
| 191 | __declspec (dllimport) | ||
| 192 | # endif | ||
| 193 | void __cdecl free (void *); | ||
| 194 | # else | ||
| 195 | # if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2) | ||
| 196 | _GL_EXTERN_C void free (void *) throw (); | ||
| 197 | # else | ||
| 198 | _GL_EXTERN_C void free (void *); | ||
| 199 | # endif | ||
| 200 | # endif | ||
| 201 | # endif | ||
| 202 | #else | ||
| 203 | # if defined _MSC_VER && !defined free | ||
| 204 | _GL_EXTERN_C | ||
| 205 | # if defined _DLL | ||
| 206 | __declspec (dllimport) | ||
| 207 | # endif | ||
| 208 | void __cdecl free (void *); | ||
| 209 | # else | ||
| 210 | # if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2) | ||
| 211 | _GL_EXTERN_C void free (void *) throw (); | ||
| 212 | # else | ||
| 184 | _GL_EXTERN_C void free (void *); | 213 | _GL_EXTERN_C void free (void *); |
| 214 | # endif | ||
| 185 | # endif | 215 | # endif |
| 186 | #endif | 216 | #endif |
| 187 | 217 | ||
diff --git a/gl/wcrtomb.c b/gl/wcrtomb.c index 5c9fd795..e14d8022 100644 --- a/gl/wcrtomb.c +++ b/gl/wcrtomb.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Convert wide character to multibyte character. | 1 | /* Convert wide character to multibyte character. |
| 2 | Copyright (C) 2008-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2008-2022 Free Software Foundation, Inc. |
| 3 | Written by Bruno Haible <bruno@clisp.org>, 2008. | 3 | Written by Bruno Haible <bruno@clisp.org>, 2008. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
diff --git a/gl/wctype-h.c b/gl/wctype-h.c index 150221d6..12781433 100644 --- a/gl/wctype-h.c +++ b/gl/wctype-h.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Inline functions for <wctype.h>. | 1 | /* Inline functions for <wctype.h>. |
| 2 | 2 | ||
| 3 | Copyright (C) 2012-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2012-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/wctype.in.h b/gl/wctype.in.h index 652d811e..98cafee7 100644 --- a/gl/wctype.in.h +++ b/gl/wctype.in.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* A substitute for ISO C99 <wctype.h>, for platforms that lack it. | 1 | /* A substitute for ISO C99 <wctype.h>, for platforms that lack it. |
| 2 | 2 | ||
| 3 | Copyright (C) 2006-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2006-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/windows-initguard.h b/gl/windows-initguard.h index 7999b233..a29d7e97 100644 --- a/gl/windows-initguard.h +++ b/gl/windows-initguard.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Init guards, somewhat like spinlocks (native Windows implementation). | 1 | /* Init guards, somewhat like spinlocks (native Windows implementation). |
| 2 | Copyright (C) 2005-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2005-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/windows-mutex.c b/gl/windows-mutex.c index 2edfeaab..28e429c1 100644 --- a/gl/windows-mutex.c +++ b/gl/windows-mutex.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Plain mutexes (native Windows implementation). | 1 | /* Plain mutexes (native Windows implementation). |
| 2 | Copyright (C) 2005-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2005-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/windows-mutex.h b/gl/windows-mutex.h index 5ecf9f89..7aedfdf6 100644 --- a/gl/windows-mutex.h +++ b/gl/windows-mutex.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Plain mutexes (native Windows implementation). | 1 | /* Plain mutexes (native Windows implementation). |
| 2 | Copyright (C) 2005-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2005-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/windows-once.c b/gl/windows-once.c index 8dcd37c4..deea5487 100644 --- a/gl/windows-once.c +++ b/gl/windows-once.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Once-only control (native Windows implementation). | 1 | /* Once-only control (native Windows implementation). |
| 2 | Copyright (C) 2005-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2005-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/windows-once.h b/gl/windows-once.h index 58632f92..85534c99 100644 --- a/gl/windows-once.h +++ b/gl/windows-once.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Once-only control (native Windows implementation). | 1 | /* Once-only control (native Windows implementation). |
| 2 | Copyright (C) 2005-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2005-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/windows-recmutex.c b/gl/windows-recmutex.c index cfc94b4b..d8087ac1 100644 --- a/gl/windows-recmutex.c +++ b/gl/windows-recmutex.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Plain recursive mutexes (native Windows implementation). | 1 | /* Plain recursive mutexes (native Windows implementation). |
| 2 | Copyright (C) 2005-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2005-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/windows-recmutex.h b/gl/windows-recmutex.h index 174fe739..746e75c0 100644 --- a/gl/windows-recmutex.h +++ b/gl/windows-recmutex.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Plain recursive mutexes (native Windows implementation). | 1 | /* Plain recursive mutexes (native Windows implementation). |
| 2 | Copyright (C) 2005-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2005-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/windows-rwlock.c b/gl/windows-rwlock.c index d63936c2..d186e037 100644 --- a/gl/windows-rwlock.c +++ b/gl/windows-rwlock.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Read-write locks (native Windows implementation). | 1 | /* Read-write locks (native Windows implementation). |
| 2 | Copyright (C) 2005-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2005-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/windows-rwlock.h b/gl/windows-rwlock.h index 280c9f2a..65c5ab49 100644 --- a/gl/windows-rwlock.h +++ b/gl/windows-rwlock.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Read-write locks (native Windows implementation). | 1 | /* Read-write locks (native Windows implementation). |
| 2 | Copyright (C) 2005-2021 Free Software Foundation, Inc. | 2 | Copyright (C) 2005-2022 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is free software: you can redistribute it and/or modify | 4 | This file is free software: you can redistribute it and/or modify |
| 5 | it under the terms of the GNU Lesser General Public License as | 5 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/xalloc-die.c b/gl/xalloc-die.c index 1bf0a9ed..5b947f10 100644 --- a/gl/xalloc-die.c +++ b/gl/xalloc-die.c | |||
| @@ -1,11 +1,11 @@ | |||
| 1 | /* Report a memory allocation failure and exit. | 1 | /* Report a memory allocation failure and exit. |
| 2 | 2 | ||
| 3 | Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2021 Free Software | 3 | Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2022 Free Software |
| 4 | Foundation, Inc. | 4 | Foundation, Inc. |
| 5 | 5 | ||
| 6 | This program is free software: you can redistribute it and/or modify | 6 | This program is free software: you can redistribute it and/or modify |
| 7 | it under the terms of the GNU General Public License as published by | 7 | it under the terms of the GNU General Public License as published by |
| 8 | the Free Software Foundation; either version 3 of the License, or | 8 | the Free Software Foundation, either version 3 of the License, or |
| 9 | (at your option) any later version. | 9 | (at your option) any later version. |
| 10 | 10 | ||
| 11 | This program is distributed in the hope that it will be useful, | 11 | This program is distributed in the hope that it will be useful, |
diff --git a/gl/xalloc-oversized.h b/gl/xalloc-oversized.h index 4184f339..aefa6fd8 100644 --- a/gl/xalloc-oversized.h +++ b/gl/xalloc-oversized.h | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* xalloc-oversized.h -- memory allocation size checking | 1 | /* xalloc-oversized.h -- memory allocation size checking |
| 2 | 2 | ||
| 3 | Copyright (C) 1990-2000, 2003-2004, 2006-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 1990-2000, 2003-2004, 2006-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
diff --git a/gl/xalloc.h b/gl/xalloc.h index 7f2c3fb8..9f4bf8d4 100644 --- a/gl/xalloc.h +++ b/gl/xalloc.h | |||
| @@ -1,10 +1,10 @@ | |||
| 1 | /* xalloc.h -- malloc with out-of-memory checking | 1 | /* xalloc.h -- malloc with out-of-memory checking |
| 2 | 2 | ||
| 3 | Copyright (C) 1990-2000, 2003-2004, 2006-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 1990-2000, 2003-2004, 2006-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This program is free software: you can redistribute it and/or modify | 5 | This program is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU General Public License as published by | 6 | it under the terms of the GNU General Public License as published by |
| 7 | the Free Software Foundation; either version 3 of the License, or | 7 | the Free Software Foundation, either version 3 of the License, or |
| 8 | (at your option) any later version. | 8 | (at your option) any later version. |
| 9 | 9 | ||
| 10 | This program is distributed in the hope that it will be useful, | 10 | This program is distributed in the hope that it will be useful, |
diff --git a/gl/xmalloc.c b/gl/xmalloc.c index d5def0bc..3c3cb207 100644 --- a/gl/xmalloc.c +++ b/gl/xmalloc.c | |||
| @@ -1,10 +1,10 @@ | |||
| 1 | /* xmalloc.c -- malloc with out of memory checking | 1 | /* xmalloc.c -- malloc with out of memory checking |
| 2 | 2 | ||
| 3 | Copyright (C) 1990-2000, 2002-2006, 2008-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 1990-2000, 2002-2006, 2008-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This program is free software: you can redistribute it and/or modify | 5 | This program is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU General Public License as published by | 6 | it under the terms of the GNU General Public License as published by |
| 7 | the Free Software Foundation; either version 3 of the License, or | 7 | the Free Software Foundation, either version 3 of the License, or |
| 8 | (at your option) any later version. | 8 | (at your option) any later version. |
| 9 | 9 | ||
| 10 | This program is distributed in the hope that it will be useful, | 10 | This program is distributed in the hope that it will be useful, |
| @@ -22,9 +22,9 @@ | |||
| 22 | #include "xalloc.h" | 22 | #include "xalloc.h" |
| 23 | 23 | ||
| 24 | #include "ialloc.h" | 24 | #include "ialloc.h" |
| 25 | #include "intprops.h" | ||
| 26 | #include "minmax.h" | 25 | #include "minmax.h" |
| 27 | 26 | ||
| 27 | #include <stdckdint.h> | ||
| 28 | #include <stdlib.h> | 28 | #include <stdlib.h> |
| 29 | #include <string.h> | 29 | #include <string.h> |
| 30 | 30 | ||
| @@ -195,7 +195,7 @@ x2nrealloc (void *p, size_t *pn, size_t s) | |||
| 195 | else | 195 | else |
| 196 | { | 196 | { |
| 197 | /* Set N = floor (1.5 * N) + 1 to make progress even if N == 0. */ | 197 | /* Set N = floor (1.5 * N) + 1 to make progress even if N == 0. */ |
| 198 | if (INT_ADD_WRAPV (n, (n >> 1) + 1, &n)) | 198 | if (ckd_add (&n, n, (n >> 1) + 1)) |
| 199 | xalloc_die (); | 199 | xalloc_die (); |
| 200 | } | 200 | } |
| 201 | 201 | ||
| @@ -236,7 +236,7 @@ xpalloc (void *pa, idx_t *pn, idx_t n_incr_min, ptrdiff_t n_max, idx_t s) | |||
| 236 | N_MAX, and what the C language can represent safely. */ | 236 | N_MAX, and what the C language can represent safely. */ |
| 237 | 237 | ||
| 238 | idx_t n; | 238 | idx_t n; |
| 239 | if (INT_ADD_WRAPV (n0, n0 >> 1, &n)) | 239 | if (ckd_add (&n, n0, n0 >> 1)) |
| 240 | n = IDX_MAX; | 240 | n = IDX_MAX; |
| 241 | if (0 <= n_max && n_max < n) | 241 | if (0 <= n_max && n_max < n) |
| 242 | n = n_max; | 242 | n = n_max; |
| @@ -251,7 +251,7 @@ xpalloc (void *pa, idx_t *pn, idx_t n_incr_min, ptrdiff_t n_max, idx_t s) | |||
| 251 | size_t nbytes; | 251 | size_t nbytes; |
| 252 | #endif | 252 | #endif |
| 253 | idx_t adjusted_nbytes | 253 | idx_t adjusted_nbytes |
| 254 | = (INT_MULTIPLY_WRAPV (n, s, &nbytes) | 254 | = (ckd_mul (&nbytes, n, s) |
| 255 | ? MIN (IDX_MAX, SIZE_MAX) | 255 | ? MIN (IDX_MAX, SIZE_MAX) |
| 256 | : nbytes < DEFAULT_MXFAST ? DEFAULT_MXFAST : 0); | 256 | : nbytes < DEFAULT_MXFAST ? DEFAULT_MXFAST : 0); |
| 257 | if (adjusted_nbytes) | 257 | if (adjusted_nbytes) |
| @@ -263,9 +263,9 @@ xpalloc (void *pa, idx_t *pn, idx_t n_incr_min, ptrdiff_t n_max, idx_t s) | |||
| 263 | if (! pa) | 263 | if (! pa) |
| 264 | *pn = 0; | 264 | *pn = 0; |
| 265 | if (n - n0 < n_incr_min | 265 | if (n - n0 < n_incr_min |
| 266 | && (INT_ADD_WRAPV (n0, n_incr_min, &n) | 266 | && (ckd_add (&n, n0, n_incr_min) |
| 267 | || (0 <= n_max && n_max < n) | 267 | || (0 <= n_max && n_max < n) |
| 268 | || INT_MULTIPLY_WRAPV (n, s, &nbytes))) | 268 | || ckd_mul (&nbytes, n, s))) |
| 269 | xalloc_die (); | 269 | xalloc_die (); |
| 270 | pa = xrealloc (pa, nbytes); | 270 | pa = xrealloc (pa, nbytes); |
| 271 | *pn = n; | 271 | *pn = n; |
| @@ -1,6 +1,6 @@ | |||
| 1 | /* Checked size_t computations. | 1 | /* Checked size_t computations. |
| 2 | 2 | ||
| 3 | Copyright (C) 2012-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2012-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
| @@ -1,6 +1,6 @@ | |||
| 1 | /* xsize.h -- Checked size_t computations. | 1 | /* xsize.h -- Checked size_t computations. |
| 2 | 2 | ||
| 3 | Copyright (C) 2003, 2008-2021 Free Software Foundation, Inc. | 3 | Copyright (C) 2003, 2008-2022 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is free software: you can redistribute it and/or modify | 5 | This file is free software: you can redistribute it and/or modify |
| 6 | it under the terms of the GNU Lesser General Public License as | 6 | it under the terms of the GNU Lesser General Public License as |
