From: Sebastian Huber Date: Tue, 14 Nov 2023 20:27:37 +0000 (+0100) Subject: Add TARGET_HAVE_LIBATOMIC X-Git-Tag: basepoints/gcc-15~4562 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3ef8882adcb1ab5fa535e9e1a2a28ea7c8eeca4f;p=thirdparty%2Fgcc.git Add TARGET_HAVE_LIBATOMIC Add target data to indicate if libatomic is available. gcc/ChangeLog: * config/rtems.h (TARGET_HAVE_LIBATOMIC): Define. * doc/tm.texi: Regenerate. * doc/tm.texi.in (TARGET_HAVE_LIBATOMIC): Add. * target.def (have_libatomic): New. --- diff --git a/gcc/config/rtems.h b/gcc/config/rtems.h index 8641ea15271d..2c006e4c1e54 100644 --- a/gcc/config/rtems.h +++ b/gcc/config/rtems.h @@ -53,6 +53,8 @@ #define TARGET_POSIX_IO +#define TARGET_HAVE_LIBATOMIC true + /* Prefer int for int32_t (see stdint-newlib.h). */ #undef STDINT_LONG32 #define STDINT_LONG32 (INT_TYPE_SIZE != 32 && LONG_TYPE_SIZE == 32) diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 56d64a046400..dcf77359e66f 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -12605,3 +12605,8 @@ The default clears the top byte of the original pointer. This value is true if the target platform supports @option{-fsanitize=shadow-call-stack}. The default value is false. @end deftypevr + +@deftypevr {Target Hook} bool TARGET_HAVE_LIBATOMIC +This value is true if the target platform supports +libatomic. The default value is false. +@end deftypevr diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in index fb0120fa1bfd..b61a59fdaf3c 100644 --- a/gcc/doc/tm.texi.in +++ b/gcc/doc/tm.texi.in @@ -8041,3 +8041,5 @@ maintainer is familiar with. @hook TARGET_MEMTAG_UNTAGGED_POINTER @hook TARGET_HAVE_SHADOW_CALL_STACK + +@hook TARGET_HAVE_LIBATOMIC diff --git a/gcc/target.def b/gcc/target.def index db87e7d39df3..475c55c22c1d 100644 --- a/gcc/target.def +++ b/gcc/target.def @@ -7251,6 +7251,14 @@ DEFHOOKPOD @option{-fsanitize=shadow-call-stack}. The default value is false.", bool, false) +/* This value represents whether libatomic is available on + the target platform. */ +DEFHOOKPOD +(have_libatomic, + "This value is true if the target platform supports\n\ +libatomic. The default value is false.", + bool, false) + /* Close the 'struct gcc_target' definition. */ HOOK_VECTOR_END (C90_EMPTY_HACK)