public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/114691] New: [11/12/13/14 Regression] Bogus ignoring loop annotation warning
@ 2024-04-11 10:08 jakub at gcc dot gnu.org
  2024-04-11 10:09 ` [Bug c++/114691] " jakub at gcc dot gnu.org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-04-11 10:08 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 114691
           Summary: [11/12/13/14 Regression] Bogus ignoring loop
                    annotation warning
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jakub at gcc dot gnu.org
                CC: jakub at gcc dot gnu.org, jason at gcc dot gnu.org,
                    pinskia at gcc dot gnu.org, ppalka at gcc dot gnu.org,
                    sjames at gcc dot gnu.org, webrown.cpp at gmail dot com
        Depends on: 114409
  Target Milestone: ---

+++ This bug was initially created as a clone of Bug #114409 +++

As the PR114409 initially reported P1 bug is now fixed, I'm cloning it for the
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114409#c10 regression.

int foo (int);

void
qux (int x)
{
  #pragma GCC ivdep
  while (int y = foo (x))
    ++y;
}

With no options this didn't emit any warnings e.g. in r200000 (i.e. in GCC
4.9), while
it emits
pr114409-2.C:7:24: warning: ignoring loop annotation
warning in r220000 (i.e. in GCC 5+).
Can't bisect easily, because in various revisions in between it ICEs on
ANNOTATE_EXPR.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114409
[Bug 114409] [14 Regression] ICE after adding novector pragmas (internal
compiler error: in tsubst_expr, at cp/pt.cc:21794) since
r14-4229-g9c62af101e11e1cce573c2b3d2e18b403412dbc8

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug c++/114691] [11/12/13/14 Regression] Bogus ignoring loop annotation warning
  2024-04-11 10:08 [Bug c++/114691] New: [11/12/13/14 Regression] Bogus ignoring loop annotation warning jakub at gcc dot gnu.org
@ 2024-04-11 10:09 ` jakub at gcc dot gnu.org
  2024-04-11 10:11 ` jakub at gcc dot gnu.org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-04-11 10:09 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
           Priority|P3                          |P2
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2024-04-11
           Assignee|unassigned at gcc dot gnu.org      |jakub at gcc dot gnu.org
   Target Milestone|---                         |11.5

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114409#c11
contains the fix which has been posted to gcc-patches but not reviewed yet.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug c++/114691] [11/12/13/14 Regression] Bogus ignoring loop annotation warning
  2024-04-11 10:08 [Bug c++/114691] New: [11/12/13/14 Regression] Bogus ignoring loop annotation warning jakub at gcc dot gnu.org
  2024-04-11 10:09 ` [Bug c++/114691] " jakub at gcc dot gnu.org
@ 2024-04-11 10:11 ` jakub at gcc dot gnu.org
  2024-04-12 18:55 ` cvs-commit at gcc dot gnu.org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-04-11 10:11 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114691
Bug 114691 depends on bug 114409, which changed state.

Bug 114409 Summary: [14 Regression] ICE after adding novector pragmas (internal compiler error: in tsubst_expr, at cp/pt.cc:21794) since r14-4229-g9c62af101e11e1cce573c2b3d2e18b403412dbc8
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114409

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug c++/114691] [11/12/13/14 Regression] Bogus ignoring loop annotation warning
  2024-04-11 10:08 [Bug c++/114691] New: [11/12/13/14 Regression] Bogus ignoring loop annotation warning jakub at gcc dot gnu.org
  2024-04-11 10:09 ` [Bug c++/114691] " jakub at gcc dot gnu.org
  2024-04-11 10:11 ` jakub at gcc dot gnu.org
@ 2024-04-12 18:55 ` cvs-commit at gcc dot gnu.org
  2024-04-12 18:55 ` [Bug c++/114691] [11/12/13 " jakub at gcc dot gnu.org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-04-12 18:55 UTC (permalink / raw)
  To: gcc-bugs

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

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

https://gcc.gnu.org/g:91146346f57cc54dfeb2669347edd0eb3d13af7f

commit r14-9944-g91146346f57cc54dfeb2669347edd0eb3d13af7f
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Fri Apr 12 20:53:10 2024 +0200

    c++: Fix bogus warnings about ignored annotations [PR114691]

    The middle-end warns about the ANNOTATE_EXPR added for while/for loops
    if they declare a var inside of the loop condition.
    This is because the assumption is that ANNOTATE_EXPR argument is used
    immediately in a COND_EXPR (later GIMPLE_COND), but simplify_loop_decl_cond
    wraps the ANNOTATE_EXPR inside of a TRUTH_NOT_EXPR, so it no longer
    holds.

    The following patch fixes that by adding the TRUTH_NOT_EXPR inside of the
    ANNOTATE_EXPR argument if any.

    2024-04-12  Jakub Jelinek  <jakub@redhat.com>

            PR c++/114691
            * semantics.cc (simplify_loop_decl_cond): Use cp_build_unary_op
with
            TRUTH_NOT_EXPR on ANNOTATE_EXPR argument (if any) rather than
            ANNOTATE_EXPR itself.

            * g++.dg/ext/pr114691.C: New test.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug c++/114691] [11/12/13 Regression] Bogus ignoring loop annotation warning
  2024-04-11 10:08 [Bug c++/114691] New: [11/12/13/14 Regression] Bogus ignoring loop annotation warning jakub at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2024-04-12 18:55 ` cvs-commit at gcc dot gnu.org
@ 2024-04-12 18:55 ` jakub at gcc dot gnu.org
  2024-04-21  4:09 ` cvs-commit at gcc dot gnu.org
  2024-04-23  6:44 ` [Bug c++/114691] [11/12 " jakub at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-04-12 18:55 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[11/12/13/14 Regression]    |[11/12/13 Regression] Bogus
                   |Bogus ignoring loop         |ignoring loop annotation
                   |annotation warning          |warning

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed on the trunk so far.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug c++/114691] [11/12/13 Regression] Bogus ignoring loop annotation warning
  2024-04-11 10:08 [Bug c++/114691] New: [11/12/13/14 Regression] Bogus ignoring loop annotation warning jakub at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2024-04-12 18:55 ` [Bug c++/114691] [11/12/13 " jakub at gcc dot gnu.org
@ 2024-04-21  4:09 ` cvs-commit at gcc dot gnu.org
  2024-04-23  6:44 ` [Bug c++/114691] [11/12 " jakub at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-04-21  4:09 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:

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

commit r13-8632-ged7be7ba6f125cfda7ad07263213cbe02b7e7ced
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Fri Apr 12 20:53:10 2024 +0200

    c++: Fix bogus warnings about ignored annotations [PR114691]

    The middle-end warns about the ANNOTATE_EXPR added for while/for loops
    if they declare a var inside of the loop condition.
    This is because the assumption is that ANNOTATE_EXPR argument is used
    immediately in a COND_EXPR (later GIMPLE_COND), but simplify_loop_decl_cond
    wraps the ANNOTATE_EXPR inside of a TRUTH_NOT_EXPR, so it no longer
    holds.

    The following patch fixes that by adding the TRUTH_NOT_EXPR inside of the
    ANNOTATE_EXPR argument if any.

    2024-04-12  Jakub Jelinek  <jakub@redhat.com>

            PR c++/114691
            * semantics.cc (simplify_loop_decl_cond): Use cp_build_unary_op
with
            TRUTH_NOT_EXPR on ANNOTATE_EXPR argument (if any) rather than
            ANNOTATE_EXPR itself.

            * g++.dg/ext/pr114691.C: New test.

    (cherry picked from commit 91146346f57cc54dfeb2669347edd0eb3d13af7f)

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug c++/114691] [11/12 Regression] Bogus ignoring loop annotation warning
  2024-04-11 10:08 [Bug c++/114691] New: [11/12/13/14 Regression] Bogus ignoring loop annotation warning jakub at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2024-04-21  4:09 ` cvs-commit at gcc dot gnu.org
@ 2024-04-23  6:44 ` jakub at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-04-23  6:44 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[11/12/13 Regression] Bogus |[11/12 Regression] Bogus
                   |ignoring loop annotation    |ignoring loop annotation
                   |warning                     |warning

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed for 13.3 too.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-04-23  6:44 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-11 10:08 [Bug c++/114691] New: [11/12/13/14 Regression] Bogus ignoring loop annotation warning jakub at gcc dot gnu.org
2024-04-11 10:09 ` [Bug c++/114691] " jakub at gcc dot gnu.org
2024-04-11 10:11 ` jakub at gcc dot gnu.org
2024-04-12 18:55 ` cvs-commit at gcc dot gnu.org
2024-04-12 18:55 ` [Bug c++/114691] [11/12/13 " jakub at gcc dot gnu.org
2024-04-21  4:09 ` cvs-commit at gcc dot gnu.org
2024-04-23  6:44 ` [Bug c++/114691] [11/12 " jakub at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).