diff mbox series

riscv: Do not use __has_include__

Message ID 87woi0up0l.fsf@oldenburg2.str.redhat.com
State New
Headers show
Series riscv: Do not use __has_include__ | expand

Commit Message

Florian Weimer June 5, 2019, 1:42 p.m. UTC
The user-visible preprocessor construct is called __has_include.

2019-06-05  Florian Weimer  <fweimer@redhat.com>

	* sysdeps/unix/sysv/linux/riscv/flush-icache.c: Do not use
	internal GCC preprocessor identifier __has_include__.

Comments

Palmer Dabbelt June 5, 2019, 5:49 p.m. UTC | #1
On Wed, 05 Jun 2019 06:42:50 PDT (-0700), fweimer@redhat.com wrote:
> The user-visible preprocessor construct is called __has_include.
>
> 2019-06-05  Florian Weimer  <fweimer@redhat.com>
>
> 	* sysdeps/unix/sysv/linux/riscv/flush-icache.c: Do not use
> 	internal GCC preprocessor identifier __has_include__.
>
> diff --git a/sysdeps/unix/sysv/linux/riscv/flush-icache.c b/sysdeps/unix/sysv/linux/riscv/flush-icache.c
> index cd5c400977..f2dfcc50d0 100644
> --- a/sysdeps/unix/sysv/linux/riscv/flush-icache.c
> +++ b/sysdeps/unix/sysv/linux/riscv/flush-icache.c
> @@ -21,7 +21,7 @@
>  #include <stdlib.h>
>  #include <atomic.h>
>  #include <sys/cachectl.h>
> -#if __has_include__ (<asm/syscalls.h>)
> +#if __has_include (<asm/syscalls.h>)
>  # include <asm/syscalls.h>
>  #else
>  # include <asm/unistd.h>

Thanks!
Florian Weimer June 6, 2019, 7:58 a.m. UTC | #2
* Palmer Dabbelt:

> On Wed, 05 Jun 2019 06:42:50 PDT (-0700), fweimer@redhat.com wrote:
>> The user-visible preprocessor construct is called __has_include.
>>
>> 2019-06-05  Florian Weimer  <fweimer@redhat.com>
>>
>> 	* sysdeps/unix/sysv/linux/riscv/flush-icache.c: Do not use
>> 	internal GCC preprocessor identifier __has_include__.
>>
>> diff --git a/sysdeps/unix/sysv/linux/riscv/flush-icache.c b/sysdeps/unix/sysv/linux/riscv/flush-icache.c
>> index cd5c400977..f2dfcc50d0 100644
>> --- a/sysdeps/unix/sysv/linux/riscv/flush-icache.c
>> +++ b/sysdeps/unix/sysv/linux/riscv/flush-icache.c
>> @@ -21,7 +21,7 @@
>>  #include <stdlib.h>
>>  #include <atomic.h>
>>  #include <sys/cachectl.h>
>> -#if __has_include__ (<asm/syscalls.h>)
>> +#if __has_include (<asm/syscalls.h>)
>>  # include <asm/syscalls.h>
>>  #else
>>  # include <asm/unistd.h>
>
> Thanks!

I'll consider this a review and push this later. 8-)

Florian
Yann Droneaud June 6, 2019, 12:17 p.m. UTC | #3
Hi,

Le mercredi 05 juin 2019 à 15:42 +0200, Florian Weimer a écrit :
> The user-visible preprocessor construct is called __has_include.
> 
> 2019-06-05  Florian Weimer  <fweimer@redhat.com>
> 
> 	* sysdeps/unix/sysv/linux/riscv/flush-icache.c: Do not use
> 	internal GCC preprocessor identifier __has_include__.
> 
> diff --git a/sysdeps/unix/sysv/linux/riscv/flush-icache.c
> b/sysdeps/unix/sysv/linux/riscv/flush-icache.c
> index cd5c400977..f2dfcc50d0 100644
> --- a/sysdeps/unix/sysv/linux/riscv/flush-icache.c
> +++ b/sysdeps/unix/sysv/linux/riscv/flush-icache.c
> @@ -21,7 +21,7 @@
>  #include <stdlib.h>
>  #include <atomic.h>
>  #include <sys/cachectl.h>
> -#if __has_include__ (<asm/syscalls.h>)
> +#if __has_include (<asm/syscalls.h>)

Candidate for __glibc_has_include() ?

>  # include <asm/syscalls.h>
>  #else
>  # include <asm/unistd.h>

Regards.
Florian Weimer June 6, 2019, 12:28 p.m. UTC | #4
* Yann Droneaud:

> Hi,
>
> Le mercredi 05 juin 2019 à 15:42 +0200, Florian Weimer a écrit :
>> The user-visible preprocessor construct is called __has_include.
>> 
>> 2019-06-05  Florian Weimer  <fweimer@redhat.com>
>> 
>> 	* sysdeps/unix/sysv/linux/riscv/flush-icache.c: Do not use
>> 	internal GCC preprocessor identifier __has_include__.
>> 
>> diff --git a/sysdeps/unix/sysv/linux/riscv/flush-icache.c
>> b/sysdeps/unix/sysv/linux/riscv/flush-icache.c
>> index cd5c400977..f2dfcc50d0 100644
>> --- a/sysdeps/unix/sysv/linux/riscv/flush-icache.c
>> +++ b/sysdeps/unix/sysv/linux/riscv/flush-icache.c
>> @@ -21,7 +21,7 @@
>>  #include <stdlib.h>
>>  #include <atomic.h>
>>  #include <sys/cachectl.h>
>> -#if __has_include__ (<asm/syscalls.h>)
>> +#if __has_include (<asm/syscalls.h>)
>
> Candidate for __glibc_has_include() ?

That patch hasn't been reviewed it.

Furthermore, we only need to use __glibc_has_include in public header
files.  Inside glibc itself, we can use __has_include directly because
GCC 5 has it.  I prefer to avoid unconditionally available GCC features
directly, without abstracing macros, because it reduces cognitive
overhead for the reader.

Thanks,
Florian
diff mbox series

Patch

diff --git a/sysdeps/unix/sysv/linux/riscv/flush-icache.c b/sysdeps/unix/sysv/linux/riscv/flush-icache.c
index cd5c400977..f2dfcc50d0 100644
--- a/sysdeps/unix/sysv/linux/riscv/flush-icache.c
+++ b/sysdeps/unix/sysv/linux/riscv/flush-icache.c
@@ -21,7 +21,7 @@ 
 #include <stdlib.h>
 #include <atomic.h>
 #include <sys/cachectl.h>
-#if __has_include__ (<asm/syscalls.h>)
+#if __has_include (<asm/syscalls.h>)
 # include <asm/syscalls.h>
 #else
 # include <asm/unistd.h>