1
0
mirror of https://https.git.savannah.gnu.org/git/gnulib.git synced 2026-04-28 06:33:36 +00:00

27 Commits

Author SHA1 Message Date
Collin Funk
a8482ceecf maint: run 'make update-copyright' 2026-01-01 10:37:05 -08:00
Paul Eggert
e245c0a23c snippet/warn-on-use: don’t #undef before _GL_WARN_ON_USE
Don’t #undef X before invoking _GL_WARN_ON_USE or
_GL_WARN_ON_USE_CXX on X.  However, dprintf and mtx_lock are
exceptions, and keep their #undefs at least for now; see
<https://lists.gnu.org/r/bug-gnulib/2025-11/msg00251.html>.
2025-11-25 00:02:56 -08:00
Pádraig Brady
7b08932179 maint: run 'make update-copyright' 2025-01-01 09:25:10 +00:00
Bruno Haible
fe929b5022 malloc-h: Support several gnulib-tool invocations better.
* lib/malloc.in.h (_GL_ALREADY_INCLUDING_MALLOC_H): Rename to a macro
that depends on GUARD_PREFIX.
2024-12-24 14:16:08 +01:00
Paul Eggert
cf96562feb Don’t port July [[...]] changes to C89
Yesterday’s changes to port to C17 and earlier were intrusive,
since they twice replaced one macro with two.  Revert the macro
definitions to what they were before yesterday, and instead change
callers so that they always have four arguments even if the last
one is empty.  Although this change requires C99 or later, that’s
safe nowadays.  Suggested by Bruno Haible in:
https://lists.gnu.org/r/bug-gnulib/2024-09/msg00079.html
* lib/c++defs.h (_GL_FUNCDECL_RPL, _GL_FUNCDECL_SYS):
Revert yesterday’s changes.  All callers changed.
Add comments explaining the required comma before missing attrs.
2024-09-16 09:48:06 -07:00
Paul Eggert
4531edcf05 Port July changes for [[...]] to C17
The July 30 changes to _GL_FUNCDECL_RPL etc. to support use of
attributes in bracket syntax used a C23 preprocessor feature that is
a common extension to C17 and earlier, but which doesn’t work when
compiled with stricter C17-and-earlier compilers.  The feature is
using ‘#define f(a, ...) b’ and calling ‘f’ with only one arg.
Port back to C17 and earlier.  Problem discovered with
IBM XL C/C++ for AIX, V12.1 (5765-J02, 5725-C72) on cfarm111.
* lib/c++defs.h (_GL_FUNCDECL_RPL): Turn this into two macros
_GL_FUNCDECL_RPL and _GL_FUNCATTR_RPL.  The first macro is for
functions without attributes, the second one for functions with
attributes.  All uses changed.
(_GL_FUNCDECL_SYS): Likewise, turn this into _GL_FUNCDECL_SYS
and _GL_FUNCATTR_SYS.
2024-09-15 21:23:13 -07:00
Bruno Haible
61720eb1b5 Explicitly exclude clang when we test for a GCC version >= 4.3.
Rationale: clang can disguise as any possible GCC version.

* m4/gnulib-common.m4 (gl_CC_GNULIB_WARNINGS): When testing __GNUC__,
exclude clang.
* lib/_Noreturn.h (_Noreturn): Likewise.
* lib/aligned-malloc.h (aligned_free, aligned_malloc): Likewise.
* lib/base32.h: Likewise.
* lib/base64.h: Likewise.
* lib/dfa.c (FALLTHROUGH): Likewise.
* lib/dirent.in.h (_GL_ATTRIBUTE_DEALLOC, opendir, fdopendir): Likewise.
* lib/intprops-internal.h: Likewise.
* lib/jit/cache.h (clear_cache): Likewise.
* lib/malloc.in.h (memalign): Likewise.
* lib/mcel.h: Likewise.
* lib/regex.h: Likewise.
* lib/stddef.in.h (_GL_HAS_BUILTIN_UNREACHABLE): Likewise.
* lib/stdio.in.h (_GL_ATTRIBUTE_DEALLOC, fdopen, fopen, popen, tmpfile):
Likewise.
* lib/stdlib.in.h (_GL_ATTRIBUTE_DEALLOC, aligned_alloc, calloc,
canonicalize_file_name, malloc, realloc): Likewise.
* lib/string.in.h (_GL_ATTRIBUTE_DEALLOC, strdup, strndup): Likewise.
* lib/verify.h: Likewise.
* lib/wchar.in.h (_GL_ATTRIBUTE_DEALLOC, wcsdup): Likewise.
* lib/xalloc-oversized.h (xalloc_oversized): Likewise.
* lib/fenv-private.h (_FPU_GETCW, _FPU_SETCW, _FPU_GETFPSR,
_FPU_SETFPSR): When testing __GNUC__, exclude clang. Use different
builtins for clang.
* lib/hamt.h (GL_HAMT_THREAD_SAFE): When testing __GNUC__, exclude
clang. Enable for clang >= 4.
* lib/astrxfrm.c: Use _GL_GNUC_PREREQ.
* lib/readutmp.c: Likewise.
* lib/strftime.c: Likewise.
* tests/test-asyncsafe-linked_list-strong.c: Likewise.
* tests/test-asyncsafe-linked_list-weak.c: Likewise.
* tests/test-c-strtod-mt.c: Likewise.
* tests/test-c-strtof-mt.c: Likewise.
* tests/test-c-strtold-mt.c: Likewise.
* tests/test-gmtime_r-mt.c: Likewise.
* tests/test-intprops.c: Likewise.
* tests/test-limits-h.c: Likewise.
* tests/test-localtime_r-mt.c: Likewise.
* tests/test-memrchr.c: Likewise.
* tests/test-nl_langinfo-mt.c: Likewise.
* tests/test-setlocale_null-mt-all.c: Likewise.
* tests/test-setlocale_null-mt-one.c: Likewise.
* tests/test-statat.c: Likewise.
* tests/test-xvasprintf.c: Likewise.
2024-08-27 18:50:42 +02:00
Bruno Haible
513ef3260b Reenable use of attributes in bracket syntax [[...]] (regr. yesterday).
* m4/gnulib-common.m4 (gl_COMMON_BODY): Add more comments. Don't define
_GL_BRACKET_USABLE.
* lib/c++defs.h (_GL_EXTERN_C_FUNC): New macro.
(_GL_FUNCDECL_RPL, _GL_FUNCDECL_RPL_1, _GL_FUNCDECL_SYS): Expect the
attributes in an optional 4th argument. Expand them before the return
type.
* lib/arpa_inet.in.h: Update all _GL_FUNCDECL_RPL and _GL_FUNCDECL_SYS
invocations.
* lib/dirent.in.h: Likewise.
* lib/error.in.h: Likewise.
* lib/fcntl.in.h: Likewise.
* lib/fnmatch.in.h: Likewise.
* lib/glob.in.h: Likewise.
* lib/iconv.in.h: Likewise.
* lib/inttypes.in.h: Likewise.
* lib/locale.in.h: Likewise.
* lib/malloc.in.h: Likewise.
* lib/math.in.h: Likewise.
* lib/monetary.in.h: Likewise.
* lib/netdb.in.h: Likewise.
* lib/pthread.in.h: Likewise.
* lib/search.in.h: Likewise.
* lib/signal.in.h: Likewise.
* lib/spawn.in.h: Likewise.
* lib/stdio.in.h: Likewise.
* lib/stdlib.in.h: Likewise.
* lib/string.in.h: Likewise.
* lib/sys_random.in.h: Likewise.
* lib/sys_resource.in.h: Likewise.
* lib/sys_socket.in.h: Likewise.
* lib/sys_stat.in.h: Likewise.
* lib/sys_time.in.h: Likewise.
* lib/threads.in.h: Likewise.
* lib/time.in.h: Likewise.
* lib/uchar.in.h: Likewise.
* lib/unistd.in.h: Likewise.
* lib/utime.in.h: Likewise.
* lib/wchar.in.h: Likewise.
* lib/wctype.in.h: Likewise.
* lib/c-vasprintf.h (c_aszprintf, c_vaszprintf, c_asprintf,
c_vasprintf): Move _GL_ATTRIBUTE_NODISCARD back to the beginning of the
declaration.
2024-07-30 21:33:02 +02:00
Bruno Haible
b865c4eb02 Use attribute [[nodiscard]] wherever glibc uses __wur.
* lib/malloc.in.h (memalign): Mark with _GL_ATTRIBUTE_NODISCARD.
* lib/stdio.in.h (fdopen, fgets, fopen, fread, freopen, fscanf, ftell,
ftello, getdelim, getline, popen, scanf, tmpfile, vfscanf, vscanf):
Likewise.
* lib/stdlib.in.h (aligned_alloc, atoll, calloc, canonicalize_file_name,
getsubopt, malloc, mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps,
posix_memalign, posix_openpt, ptsname, realloc, reallocarray, realpath,
rpmatch, secure_getenv): Likewise.
* lib/sys_random.in.h (getrandom): Likewise.
* lib/sys_stat.in.h (fchmodat): Likewise.
* lib/unistd.in.h (chown, dup, faccessat, fchdir, fchownat, ftruncate,
getcwd, getdomainname, getentropy, getgroups, lchown, link, linkat,
pipe, pipe2, pread, pwrite, read, readlink, readlinkat, sethostname,
symlink, symlinkat, truncate, ttyname_r, write): Likewise.
2024-07-30 02:46:41 +02:00
Bruno Haible
83b3ee9a3c Fix misspelling of __clang_major__.
* lib/cdefs.h (__THROW, __THROWNL, __NTH, __NTHNL): Fix misspelled macro
name.
* m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
* lib/malloc.in.h (_GL_ATTRIBUTE_NOTHROW): Likewise.
* lib/stddef.in.h (_GL_ATTRIBUTE_NOTHROW): Likewise.
* lib/stdio.in.h (_GL_ATTRIBUTE_NOTHROW): Likewise.
* lib/stdlib.in.h (_GL_ATTRIBUTE_NOTHROW): Likewise.
* lib/string.in.h (_GL_ATTRIBUTE_NOTHROW): Likewise.
* lib/sys_stat.in.h (_GL_ATTRIBUTE_NOTHROW): Likewise.
* lib/wchar.in.h (_GL_ATTRIBUTE_NOTHROW): Likewise.
2024-07-29 21:59:44 +02:00
Simon Josefsson
5b92dd0a45 maint: run 'make update-copyright' 2024-01-01 10:31:48 +01:00
Bruno Haible
afd0db41c3 Fix clang errors "different exception specifier" (regr. 2023-09-04).
* lib/malloc.in.h (memalign): Don't use _GL_ATTRIBUTE_NOTHROW on
platforms other than glibc systems.
* lib/stdio.in.h (fdopen): Likewise.
* lib/stdlib.in.h (aligned_alloc, calloc, canonicalize_file_name,
malloc, realloc): Likewise.
* lib/string.in.h (strdup, strndup): Likewise.
* lib/sys_stat.in.h (getumask): Likewise.
* lib/wchar.in.h (wcsdup): Likewise.
2023-09-10 23:33:41 +02:00
Bruno Haible
930d701fe7 Don't use 'throw ()' in C++ 11 or newer.
* lib/stddef.in.h (_GL_ATTRIBUTE_NOTHROW):  Provide fallback definition.
(abort): Declare with _GL_ATTRIBUTE_NOTHROW instead of throw().
* lib/malloc.in.h (rpl_free, free): Likewise.
* lib/stdlib.in.h (free): Likewise.
* lib/string.in.h (rpl_free, free, memchr, memrchr, rawmemchr,
strchrnul, strpbrk, strstr, strcasestr): Likewise.
* lib/wchar.in.h (rpl_free, free): Likewise.
* lib/getopt-cdefs.in.h (__THROW): Define to noexcept(true) for C++ 11
or newer.
* lib/md5.h (__THROW): Likewise.
2023-09-07 22:22:43 +02:00
Bruno Haible
0b61e45407 Fix some g++ warnings "has a different exception specifier".
* m4/gnulib-common.m4 (gl_COMMON_BODY): Make _GL_ATTRIBUTE_NOTHROW
effective in C++ mode.
* lib/attribute.h (ATTRIBUTE_NOTHROW): Add a comment.
* lib/malloc.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition.
(memalign): Invoke _GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW.
* lib/stdio.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition.
(fdopen): Invoke _GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW.
* lib/stdlib.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition.
(aligned_alloc, calloc, canonicalize_file_name, malloc, realloc): Invoke
_GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW.
* lib/string.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition.
(strdup, strndup): Invoke _GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW.
* lib/sys_stat.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback
definition.
(getumask): Invoke _GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW.
* lib/wchar.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition.
(wcsdup): Invoke _GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW.
2023-09-04 19:22:21 +02:00
Bruno Haible
dcba8542fc Adjust comments in <config.h> reminders.
* lib/*.in.h: In the comments, mention also HAVE_RAW_DECL_*.
* Makefile (sc_check_config_h_reminder): Search also for HAVE_RAW_DECL_.
2023-04-13 22:17:02 +02:00
Bruno Haible
8ad7bc6714 Add more reminders to include <config.h>.
* m4/gnulib-common.m4 (gl_COMMON): In config.h, define
_GL_CONFIG_H_INCLUDED.
* lib/acl-internal.h: Test _GL_CONFIG_H_INCLUDED instead of
_GL_INLINE_HEADER_BEGIN.
* lib/alignalloc.h: Likewise.
* lib/argp-fmtstream.h: Likewise.
* lib/argp.h: Likewise.
* lib/binary-io.h: Likewise.
* lib/bitrotate.h: Likewise.
* lib/c-ctype.h: Likewise.
* lib/count-leading-zeros.h: Likewise.
* lib/count-one-bits.h: Likewise.
* lib/count-trailing-zeros.h: Likewise.
* lib/eealloc.h: Likewise.
* lib/execinfo.in.h: Likewise.
* lib/gethrxtime.h: Likewise.
* lib/gl_list.h: Likewise.
* lib/gl_map.h: Likewise.
* lib/gl_omap.h: Likewise.
* lib/gl_openssl.h: Likewise.
* lib/gl_oset.h: Likewise.
* lib/gl_set.h: Likewise.
* lib/gl_xlist.h: Likewise.
* lib/gl_xmap.h: Likewise.
* lib/gl_xomap.h: Likewise.
* lib/gl_xoset.h: Likewise.
* lib/gl_xset.h: Likewise.
* lib/gl_xsublist.h: Likewise.
* lib/glthread/cond.h: Likewise.
* lib/hamt.h: Likewise.
* lib/ialloc.h: Likewise.
* lib/math.in.h: Likewise.
* lib/mbchar.h: Likewise.
* lib/mbfile.h: Likewise.
* lib/mbiter.h: Likewise.
* lib/mbuiter.h: Likewise.
* lib/openat.h: Likewise.
* lib/pipe-filter-aux.h: Likewise.
* lib/priv-set.h: Likewise.
* lib/safe-alloc.h: Likewise.
* lib/savewd.h: Likewise.
* lib/se-context.in.h: Likewise.
* lib/se-label.in.h: Likewise.
* lib/se-selinux.in.h: Likewise.
* lib/sig-handler.h: Likewise.
* lib/stat-time.h: Likewise.
* lib/string-desc-quotearg.h: Likewise.
* lib/string-desc.h: Likewise.
* lib/sys_socket.in.h: Likewise.
* lib/timespec.h: Likewise.
* lib/u64.h: Likewise.
* lib/uchar.in.h: Likewise.
* lib/unistd.in.h: Likewise.
* lib/utimens.h: Likewise.
* lib/wctype.in.h: Likewise.
* lib/xalloc.h: Likewise.
* lib/xbinary-io.h: Likewise.
* lib/xsize.h: Likewise.
* lib/xstring-desc.h: Likewise.
* lib/xtime.h: Likewise.
* lib/acl.h: Check that config.h was already included.
* lib/alignof.h: Likewise.
* lib/argmatch.h: Likewise.
* lib/argv-iter.h: Likewise.
* lib/arpa_inet.in.h: Likewise.
* lib/attribute.h: Likewise.
* lib/backupfile.h: Likewise.
* lib/base32.h: Likewise.
* lib/base64.h: Likewise.
* lib/basename-lgpl.h: Likewise.
* lib/bitset.h: Likewise.
* lib/bitsetv.h: Likewise.
* lib/c-snprintf.h: Likewise.
* lib/c-stack.h: Likewise.
* lib/c-strcase.h: Likewise.
* lib/c-vasnprintf.h: Likewise.
* lib/c-vasprintf.h: Likewise.
* lib/c-vsnprintf.h: Likewise.
* lib/c-xvasprintf.h: Likewise.
* lib/canon-host.h: Likewise.
* lib/canonicalize.h: Likewise.
* lib/clean-temp.h: Likewise.
* lib/concat-filename.h: Likewise.
* lib/ctype.in.h: Likewise.
* lib/dfa.h: Likewise.
* lib/di-set.h: Likewise.
* lib/dirent-safer.h: Likewise.
* lib/dirent.in.h: Likewise.
* lib/dirname.h: Likewise.
* lib/eloop-threshold.h: Likewise.
* lib/error.in.h: Likewise.
* lib/exclude.h: Likewise.
* lib/fatal-signal.h: Likewise.
* lib/fcntl.in.h: Likewise.
* lib/file-type.h: Likewise.
* lib/filenamecat.h: Likewise.
* lib/filevercmp.h: Likewise.
* lib/flexmember.h: Likewise.
* lib/fnmatch.in.h: Likewise.
* lib/fpending.h: Likewise.
* lib/freadable.h: Likewise.
* lib/freadahead.h: Likewise.
* lib/freading.h: Likewise.
* lib/fts_.h: Likewise.
* lib/fwritable.h: Likewise.
* lib/fwriting.h: Likewise.
* lib/gc.h: Likewise.
* lib/get_progname_of.h: Likewise.
* lib/glob.in.h: Likewise.
* lib/glthread/thread.h: Likewise.
* lib/hash-pjw-bare.h: Likewise.
* lib/hash-pjw.h: Likewise.
* lib/hash-triple.h: Likewise.
* lib/hash.h: Likewise.
* lib/i-ring.h: Likewise.
* lib/iconv.in.h: Likewise.
* lib/ino-map.h: Likewise.
* lib/inttostr.h: Likewise.
* lib/inttypes.in.h: Likewise.
* lib/javaversion.h: Likewise.
* lib/langinfo.in.h: Likewise.
* lib/locale.in.h: Likewise.
* lib/localename.h: Likewise.
* lib/malloc.in.h: Likewise.
* lib/malloca.h: Likewise.
* lib/memcasecmp.h: Likewise.
* lib/memchr2.h: Likewise.
* lib/memcmp2.h: Likewise.
* lib/modechange.h: Likewise.
* lib/monetary.in.h: Likewise.
* lib/mountlist.h: Likewise.
* lib/netdb.in.h: Likewise.
* lib/obstack.h: Likewise.
* lib/opendirat.h: Likewise.
* lib/pagealign_alloc.h: Likewise.
* lib/pipe-filter.h: Likewise.
* lib/poll.in.h: Likewise.
* lib/pthread.in.h: Likewise.
* lib/pty.in.h: Likewise.
* lib/quotearg.h: Likewise.
* lib/read-file.h: Likewise.
* lib/readline.h: Likewise.
* lib/readutmp.h: Likewise.
* lib/regex-quote.h: Likewise.
* lib/relocatable.h: Likewise.
* lib/savedir.h: Likewise.
* lib/sched.in.h: Likewise.
* lib/search.in.h: Likewise.
* lib/sh-quote.h: Likewise.
* lib/signal.in.h: Likewise.
* lib/sigpipe-die.h: Likewise.
* lib/sockets.h: Likewise.
* lib/spawn.in.h: Likewise.
* lib/ssfmalloc.h: Likewise.
* lib/stack.h: Likewise.
* lib/stdalign.in.h: Likewise.
* lib/stdarg.in.h: Likewise.
* lib/stddef.in.h: Likewise.
* lib/stdio-safer.h: Likewise.
* lib/stdio.in.h: Likewise.
* lib/stdlib.in.h: Likewise.
* lib/stdnoreturn.in.h: Likewise.
* lib/strerror-override.h: Likewise.
* lib/striconv.h: Likewise.
* lib/striconveh.h: Likewise.
* lib/striconveha.h: Likewise.
* lib/string-buffer.h: Likewise.
* lib/string.in.h: Likewise.
* lib/strings.in.h: Likewise.
* lib/strnlen1.h: Likewise.
* lib/sys_file.in.h: Likewise.
* lib/sys_ioctl.in.h: Likewise.
* lib/sys_random.in.h: Likewise.
* lib/sys_resource.in.h: Likewise.
* lib/sys_select.in.h: Likewise.
* lib/sys_stat.in.h: Likewise.
* lib/sys_time.in.h: Likewise.
* lib/sys_times.in.h: Likewise.
* lib/sys_utsname.in.h: Likewise.
* lib/sys_wait.in.h: Likewise.
* lib/system-quote.h: Likewise.
* lib/term-style-control.h: Likewise.
* lib/termios.in.h: Likewise.
* lib/textstyle.in.h: Likewise.
* lib/threads.in.h: Likewise.
* lib/time.in.h: Likewise.
* lib/trim.h: Likewise.
* lib/utime.in.h: Likewise.
* lib/utmp.in.h: Likewise.
* lib/vasnprintf.h: Likewise.
* lib/verror.h: Likewise.
* lib/version-etc.h: Likewise.
* lib/wchar.in.h: Likewise.
* lib/windows-spawn.h: Likewise.
* lib/windows-thread.h: Likewise.
* lib/xgetcwd.h: Likewise.
* lib/xgetdomainname.h: Likewise.
* lib/xgethostname.h: Likewise.
* lib/xmalloca.h: Likewise.
* lib/xmemdup0.h: Likewise.
* lib/xprintf.h: Likewise.
* lib/xreadlink.h: Likewise.
* lib/xstriconv.h: Likewise.
* lib/xstriconveh.h: Likewise.
* lib/xstrndup.h: Likewise.
* lib/xstrtol-error.h: Likewise.
* lib/xvasprintf.h: Likewise.
* Makefile (config_h_MACROS*): New variables.
(sc_check_config_h_reminder): New rule.
2023-04-12 19:37:37 +02:00
Bruno Haible
e5ba746bbe Fix error in C++ mode on glibc systems (regression 2022-04-28).
* lib/malloc.in.h (rpl_free): Add exception specification like
stdlib.in.h does.
* lib/string.in.h (rpl_free): Likewise.
* lib/wchar.in.h (rpl_free): Likewise.
2023-02-09 13:16:31 +01:00
Bruno Haible
c5dbe0eaea malloc-h: Improve portability.
* lib/malloc.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE when possible.
* modules/malloc-h (Makefile.am): Substitute
INCLUDE_NEXT_AS_FIRST_DIRECTIVE and NEXT_AS_FIRST_DIRECTIVE_MALLOC_H.
2023-01-09 21:18:46 +01:00
Bruno Haible
199566afec malloc-h: Fix compilation errors in C++ mode on Android.
* lib/malloc.in.h: Don't include <stdlib.h>, except on Solaris and on
HP-UX. Include <stddef.h>. Make _GL_ATTRIBUTE_DEALLOC_FREE work (code
snippet copied from string.in.h and wchar.in.h).
* m4/malloc_h.m4 (gl_MALLOC_H_REQUIRE_DEFAULTS): Invoke
gl_STDLIB_H_REQUIRE_DEFAULTS.
* modules/malloc-h (Depends-on): Add stddef, stdlib.
(Makefile.am): Substitute GNULIB_FREE_POSIX and REPLACE_FREE.
2023-01-09 13:50:22 +01:00
Bruno Haible
8d1d3d0123 malloc-h: Fix compilation error in C++ mode on Android.
* lib/malloc.in.h (_GL_ALREADY_INCLUDING_MALLOC_H): New macro.
2023-01-09 09:54:18 +01:00
Simon Josefsson
32a72f4537 maint: run 'make update-copyright' 2023-01-01 01:14:21 +01:00
Paul Eggert
eec12c00cf maint: run 'make update-copyright' 2022-01-01 09:44:11 -08:00
Bruno Haible
48ece5c3f2 stdlib, string, wchar: Improve GCC 11 allocation-deallocation checking.
* lib/stdlib.in.h (aligned_alloc): For GCC >= 11: Declare also when the
platform already declares the function or when the module
'aligned_alloc' is not in use.
(calloc): For GCC >= 11: Declare nearly always.
(canonicalize_file_name): For GCC >= 11: Declare also when the platform
already declares the function or when the module 'canonicalize-lgpl' is
not in use.
(malloc, realloc): For GCC >= 11: Declare nearly always.
* lib/malloc.in.h: Remove redundant include.
(memalign): For GCC >= 11: Declare also when the platform already
declares the function or when the module 'memalign' is not in use.
* lib/string.in.h: Include <stdlib.h> always.
(strdup): For GCC >= 11: Declare also when the platform already declares
the function or when the module 'strdup' or 'strdup-posix' is not in
use.
* lib/wchar.in.h: Include <stdlib.h> always.
(wcsdup): For GCC >= 11: Declare also when the platform already declares
the function or when the module 'wcsdup' is not in use.
* modules/free-posix (Depends-on): Add string, wchar.
2021-08-08 18:18:25 +02:00
Bruno Haible
e78a8a2df9 stdlib, string, wchar: Improve GCC 11 allocation-deallocation checking.
* lib/stdlib.in.h (free): Move declaration up.
(aligned_alloc, calloc, canonicalize_file_name, malloc, realloc):
Declare that deallocation must happen through 'free' (which may actually
be 'rpl_free').
* lib/string.in.h: Include <stdlib.h>.
(strdup): Declare deallocation.
* lib/wchar.in.h: Include <stdlib.h>.
(wcsdup): Declare deallocation.
* lib/malloc.in.h: Include <stdlib.h>.
(memalign): Declare deallocation.
2021-08-07 16:40:12 +02:00
Bruno Haible
5ffa144085 Put LGPLv2+ notices in source files where appropriate.
* lib/**.{h,c,gperf}: Use LGPLv2+ notice whenever the module description
says so.
2021-06-04 20:55:41 +02:00
Paul Eggert
4b94832196 maint: run 'make update-copyright' 2020-12-31 23:30:01 -08:00
Bruno Haible
ee523efd38 malloc-h: New module.
* lib/malloc.in.h: New file.
* m4/malloc_h.m4: New file.
* modules/malloc-h: New file.
* doc/glibc-headers/malloc.texi: New file.
* doc/gnulib.texi (Glibc Header File Substitutes): Include it.
2020-12-31 22:16:52 +01:00