]> git.ipfire.org Git - thirdparty/gcc.git/commit
c++: Fix weird expression in test for clauses other than when/default/otherwise ...
authorJakub Jelinek <jakub@redhat.com>
Thu, 23 Jan 2025 10:13:52 +0000 (11:13 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 23 Jan 2025 10:13:52 +0000 (11:13 +0100)
commitdd14b08e2caba952c0d8ff756a84e15d83aebeff
tree542ef3f61cc645442d844565633fb8af394510d2
parentd19b0682f18f9f5217aee8002e3d04f8ded04ae8
c++: Fix weird expression in test for clauses other than when/default/otherwise [PR118604]

Some clang analyzer warned about
if (!strcmp (p, "when") == 0 && !default_p)
which really looks weird, it is better to use strcmp (p, "when") != 0
or !!strcmp (p, "when").  Furthermore, as a micro optimization, it is cheaper
to evaluate default_p than calling strcmp, so that can be put first in the &&.

The C test for the same thing wasn't that weird, but I think for consistency
it is better to use the same test rather than trying to be creative.

2025-01-23  Jakub Jelinek  <jakub@redhat.com>

PR c++/118604
gcc/c/
* c-parser.cc (c_parser_omp_metadirective): Rewrite
condition for clauses other than when, default and otherwise.
gcc/cp/
* parser.cc (cp_parser_omp_metadirective): Test !default_p
first and use strcmp () != 0 rather than !strcmp () == 0.
gcc/c/c-parser.cc
gcc/cp/parser.cc