[PATCH] Remove unnecessary parentheses around declarator

Brian Inglis Brian.Inglis@SystematicSw.ab.ca
Fri Jul 23 02:14:41 GMT 2021


On 2021-07-22 15:41, Maxim Blinov wrote:
> riscv64-unknown-elf-g++-11.1.0 regression suite reports the following
> failures for
> 
> $ make check-gcc-c++ RUNTESTFLAGS='dg.exp=Wstringop-overflow-6.C'
> 
> ```
> FAIL: g++.dg/warn/Wstringop-overflow-6.C  -std=gnu++14 (test for excess errors)
> FAIL: g++.dg/warn/Wstringop-overflow-6.C  -std=gnu++17 (test for excess errors)
> FAIL: g++.dg/warn/Wstringop-overflow-6.C  -std=gnu++2a (test for excess errors)
> UNSUPPORTED: g++.dg/warn/Wstringop-overflow-6.C  -std=gnu++98
> ```
> 
> The "excess errors" being
> 
> ```
> output is In file included from /home/maxim/prj/riscv-upstream/install/riscv64-unknown-elf/include/wchar.h:6,
>                   from /home/maxim/prj/riscv-upstream/build/gcc-stage2/riscv64-unknown-elf/libstdc++-v3/include/cwchar:44,
>                   from /home/maxim/prj/riscv-upstream/build/gcc-stage2/riscv64-unknown-elf/libstdc++-v3/include/bits/postypes.h:40,
>                   from /home/maxim/prj/riscv-upstream/build/gcc-stage2/riscv64-unknown-elf/libstdc++-v3/include/iosfwd:40,
>                   from /home/maxim/prj/riscv-upstream/build/gcc-stage2/riscv64-unknown-elf/libstdc++-v3/include/ios:38,
>                   from /home/maxim/prj/riscv-upstream/build/gcc-stage2/riscv64-unknown-elf/libstdc++-v3/include/ostream:38,
>                   from /home/maxim/prj/riscv-upstream/build/gcc-stage2/riscv64-unknown-elf/libstdc++-v3/include/iostream:39,
>                   from /home/maxim/prj/riscv-upstream/gcc-11.1.0/gcc/testsuite/g++.dg/warn/Wstringop-overflow-6.C:6:
> /home/maxim/prj/riscv-upstream/install/riscv64-unknown-elf/include/sys/reent.h:685:11: warning: unnecessary parentheses in declaration of '_sig_func' [-Wparentheses]
> ```
> ---
>   newlib/libc/include/sys/reent.h | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h
> index 6e55e1c1f..34aff863a 100644
> --- a/newlib/libc/include/sys/reent.h
> +++ b/newlib/libc/include/sys/reent.h
> @@ -677,7 +677,7 @@ struct _reent
>   # endif
>   
>     /* signal info */
> -  void (**(_sig_func))(int);
> +  void (**_sig_func)(int);
>   
>     /* These are here last so that __FILE can grow without changing the offsets
>        of the above members (on the off chance that future binary compatibility
> 

Such "unnecessary" parentheses are often specified to force functions to 
be called and disallow macro substitution.

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in binary units and prefixes, physical quantities in SI.]


More information about the Newlib mailing list