[Bug c/111344] bogus "warning: suggest parentheses around assignment used as truth value [-Wparentheses]"

2023-09-08 Thread markgaleck at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111344

--- Comment #6 from Mark Galeck  ---
(In reply to Andrew Pinski from comment #5)
> Reduced:
> ```
> int *f(const char*);
> int *g(int*);
> int main()
> {
>  int* pdir;
>  int* pentry;
> 
>  pdir = f("d");
> 
>  while (pentry = g(pdir)) ;
> }
> ```
> 
> No this warning is not bogus and is telling you exactly what it says.


Andrew I respect your opinion and certainly you are more experienced at gcc
than me.  But, with all due respect, I disagree with "is telling you exactly
what it says"

No it doesn't... it says "suggest parentheses around " and the parentheses is
there.   


Maybe it should say something like "suggest double parentheses, to confirm that
you meant = and not ==  , although, I fail to see how double parent should
confirm such a thing.

[Bug c/111344] bogus "warning: suggest parentheses around assignment used as truth value [-Wparentheses]"

2023-09-08 Thread markgaleck at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111344

--- Comment #4 from Mark Galeck  ---
I am getting seemingly bogus "warning: suggest parentheses around assignment
used as truth value [-Wparentheses]".  I see long time ago there were such
reports, fixed at the time, but this is happening now for me with gcc 13.1.0

The preprocessed file foobar.i is attached. 

The warning is triggered by:

$gcc-13   -Wall  -lc -c foobar.i
foobar.c: In function ‘main’:
foobar.c:11:16: warning: suggest parentheses around assignment used as truth
value [-Wparentheses]
   11 | while (pentry = readdir(pdir)) ;
  |^~



If I add ANOTHER parentheses as the warning seems to suggest:

while ((pentry = readdir(pdir)))

the warning disappears.  


foobar.i is attached



$ gcc-13 -v
Using built-in specs.
COLLECT_GCC=gcc-13
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu
13.1.0-8ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs
--enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2,rust --prefix=/usr
--with-gcc-major-version-only --program-suffix=-13
--program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id
--libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix
--libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes
--with-default-libstdcxx-abi=new --enable-gnu-unique-object
--disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib
--enable-libphobos-checking=release --with-target-system-zlib=auto
--enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet
--with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32
--enable-multilib --with-tune=generic
--enable-offload-targets=nvptx-none=/build/gcc-13-IvzKaI/gcc-13-13.1.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-IvzKaI/gcc-13-13.1.0/debian/tmp-gcn/usr
--enable-offload-defaulted --without-cuda-driver --enable-checking=release
--build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
--with-build-config=bootstrap-lto-lean --enable-link-serialization=2
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 13.1.0 (Ubuntu 13.1.0-8ubuntu1~22.04)

[Bug c/111344] bogus "warning: suggest parentheses around assignment used as truth value [-Wparentheses]"

2023-09-08 Thread markgaleck at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111344

--- Comment #3 from Mark Galeck  ---
Created attachment 55859
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55859=edit
preprocessed SSCCE foobar.i

[Bug c/111344] bogus "warning: suggest parentheses around assignment used as truth value [-Wparentheses]"

2023-09-08 Thread markgaleck at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111344

--- Comment #2 from Mark Galeck  ---
Created attachment 55858
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55858=edit
preprocessed SSCCE foobar.i

[Bug c/111344] New: bogus "warning: suggest parentheses around assignment used as truth value [-Wparentheses]"

2023-09-08 Thread markgaleck at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111344

Bug ID: 111344
   Summary: bogus "warning: suggest parentheses around assignment
used as truth value [-Wparentheses]"
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: markgaleck at gmail dot com
  Target Milestone: ---