gcov: Fix __LIBGCC_HAVE_LIBATOMIC definition
Checks
Context |
Check |
Description |
linaro-tcwg-bot/tcwg_gcc_build--master-arm |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_gcc_check--master-arm |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_gcc_build--master-aarch64 |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_gcc_check--master-aarch64 |
success
|
Testing passed
|
Commit Message
In libgcov we use defined (__LIBGCC_HAVE_LIBATOMIC), so we must define it only
if needed (vs. #if __LIBGCC_HAVE_LIBATOMIC).
gcc/c-family/ChangeLog:
PR target/112777
* c-cppbuiltin.cc (c_cpp_builtins): Define __LIBGCC_HAVE_LIBATOMIC
only if targetm.have_libatomic is true.
---
gcc/c-family/c-cppbuiltin.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Comments
On Thu, Nov 30, 2023 at 5:21 PM Sebastian Huber
<sebastian.huber@embedded-brains.de> wrote:
>
> In libgcov we use defined (__LIBGCC_HAVE_LIBATOMIC), so we must define it only
> if needed (vs. #if __LIBGCC_HAVE_LIBATOMIC).
For consistency wouldn't it be better to change the user side in libgcc?
> gcc/c-family/ChangeLog:
>
> PR target/112777
>
> * c-cppbuiltin.cc (c_cpp_builtins): Define __LIBGCC_HAVE_LIBATOMIC
> only if targetm.have_libatomic is true.
> ---
> gcc/c-family/c-cppbuiltin.cc | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/gcc/c-family/c-cppbuiltin.cc b/gcc/c-family/c-cppbuiltin.cc
> index e536429fa4c..f8ec6f1747c 100644
> --- a/gcc/c-family/c-cppbuiltin.cc
> +++ b/gcc/c-family/c-cppbuiltin.cc
> @@ -1570,8 +1570,8 @@ c_cpp_builtins (cpp_reader *pfile)
> /* For libgcov. */
> builtin_define_with_int_value ("__LIBGCC_VTABLE_USES_DESCRIPTORS__",
> TARGET_VTABLE_USES_DESCRIPTORS);
> - builtin_define_with_int_value ("__LIBGCC_HAVE_LIBATOMIC",
> - targetm.have_libatomic);
> + if (targetm.have_libatomic)
> + cpp_define (pfile, "__LIBGCC_HAVE_LIBATOMIC");
> }
>
> /* For use in assembly language. */
> --
> 2.35.3
>
@@ -1570,8 +1570,8 @@ c_cpp_builtins (cpp_reader *pfile)
/* For libgcov. */
builtin_define_with_int_value ("__LIBGCC_VTABLE_USES_DESCRIPTORS__",
TARGET_VTABLE_USES_DESCRIPTORS);
- builtin_define_with_int_value ("__LIBGCC_HAVE_LIBATOMIC",
- targetm.have_libatomic);
+ if (targetm.have_libatomic)
+ cpp_define (pfile, "__LIBGCC_HAVE_LIBATOMIC");
}
/* For use in assembly language. */