https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118604

--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:dd14b08e2caba952c0d8ff756a84e15d83aebeff

commit r15-7154-gdd14b08e2caba952c0d8ff756a84e15d83aebeff
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Thu Jan 23 11:13:52 2025 +0100

    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  <ja...@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.

Reply via email to