public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/104787] New: [12 Regression] False positive -Wreturn-type since r12-5638-ga3e75c1491cd2d50
@ 2022-03-04 15:46 marxin at gcc dot gnu.org
  2022-03-04 15:46 ` [Bug c++/104787] " marxin at gcc dot gnu.org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: marxin at gcc dot gnu.org @ 2022-03-04 15:46 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 104787
           Summary: [12 Regression] False positive -Wreturn-type since
                    r12-5638-ga3e75c1491cd2d50
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: jason at gcc dot gnu.org
  Target Milestone: ---

Similarly to PR103597, the following triggers false positive without an
optimization level (reduced from godot game engine):

$ cat godot.ii
struct String {
  String(const char *);
};
struct FileAccessRef {
  FileAccessRef(int);
  ~FileAccessRef();
};
struct OS_LinuxBSD {
  String get_processor_name() const;
};
String OS_LinuxBSD::get_processor_name() const {
  FileAccessRef f = 0;
  if (true)
    return "";
}

$ g++ godot.ii -Werror=return-type -c
godot.ii: In member function ‘String OS_LinuxBSD::get_processor_name() const’:
godot.ii:15:1: error: control reaches end of non-void function
[-Werror=return-type]
   15 | }
      | ^
cc1plus: some warnings being treated as errors

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

* [Bug c++/104787] [12 Regression] False positive -Wreturn-type since r12-5638-ga3e75c1491cd2d50
  2022-03-04 15:46 [Bug c++/104787] New: [12 Regression] False positive -Wreturn-type since r12-5638-ga3e75c1491cd2d50 marxin at gcc dot gnu.org
@ 2022-03-04 15:46 ` marxin at gcc dot gnu.org
  2022-03-05  0:38 ` pinskia at gcc dot gnu.org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: marxin at gcc dot gnu.org @ 2022-03-04 15:46 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |https://gcc.gnu.org/bugzill
                   |                            |a/show_bug.cgi?id=103597
   Target Milestone|---                         |12.0

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

* [Bug c++/104787] [12 Regression] False positive -Wreturn-type since r12-5638-ga3e75c1491cd2d50
  2022-03-04 15:46 [Bug c++/104787] New: [12 Regression] False positive -Wreturn-type since r12-5638-ga3e75c1491cd2d50 marxin at gcc dot gnu.org
  2022-03-04 15:46 ` [Bug c++/104787] " marxin at gcc dot gnu.org
@ 2022-03-05  0:38 ` pinskia at gcc dot gnu.org
  2022-03-28 16:06 ` [Bug middle-end/104787] " jason at gcc dot gnu.org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-03-05  0:38 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2022-03-05
             Status|UNCONFIRMED                 |NEW

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed reduced to this just:
struct FileAccessRef {
  ~FileAccessRef();
};
int get_processor_name() {
  FileAccessRef f;
  if (true)
    return 0;
}

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

* [Bug middle-end/104787] [12 Regression] False positive -Wreturn-type since r12-5638-ga3e75c1491cd2d50
  2022-03-04 15:46 [Bug c++/104787] New: [12 Regression] False positive -Wreturn-type since r12-5638-ga3e75c1491cd2d50 marxin at gcc dot gnu.org
  2022-03-04 15:46 ` [Bug c++/104787] " marxin at gcc dot gnu.org
  2022-03-05  0:38 ` pinskia at gcc dot gnu.org
@ 2022-03-28 16:06 ` jason at gcc dot gnu.org
  2022-05-06  8:32 ` [Bug middle-end/104787] [12/13 " jakub at gcc dot gnu.org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: jason at gcc dot gnu.org @ 2022-03-28 16:06 UTC (permalink / raw)
  To: gcc-bugs

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

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|c++                         |middle-end

--- Comment #2 from Jason Merrill <jason at gcc dot gnu.org> ---
Changing to middle-end, as discussed in PR103597.

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

* [Bug middle-end/104787] [12/13 Regression] False positive -Wreturn-type since r12-5638-ga3e75c1491cd2d50
  2022-03-04 15:46 [Bug c++/104787] New: [12 Regression] False positive -Wreturn-type since r12-5638-ga3e75c1491cd2d50 marxin at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2022-03-28 16:06 ` [Bug middle-end/104787] " jason at gcc dot gnu.org
@ 2022-05-06  8:32 ` jakub at gcc dot gnu.org
  2022-06-01 19:41 ` jason at gcc dot gnu.org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-05-06  8:32 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|12.0                        |12.2

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 12.1 is being released, retargeting bugs to GCC 12.2.

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

* [Bug middle-end/104787] [12/13 Regression] False positive -Wreturn-type since r12-5638-ga3e75c1491cd2d50
  2022-03-04 15:46 [Bug c++/104787] New: [12 Regression] False positive -Wreturn-type since r12-5638-ga3e75c1491cd2d50 marxin at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2022-05-06  8:32 ` [Bug middle-end/104787] [12/13 " jakub at gcc dot gnu.org
@ 2022-06-01 19:41 ` jason at gcc dot gnu.org
  2022-07-26 12:56 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: jason at gcc dot gnu.org @ 2022-06-01 19:41 UTC (permalink / raw)
  To: gcc-bugs

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

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kamil.sliwak at codepoets dot it

--- Comment #4 from Jason Merrill <jason at gcc dot gnu.org> ---
*** Bug 105794 has been marked as a duplicate of this bug. ***

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

* [Bug middle-end/104787] [12/13 Regression] False positive -Wreturn-type since r12-5638-ga3e75c1491cd2d50
  2022-03-04 15:46 [Bug c++/104787] New: [12 Regression] False positive -Wreturn-type since r12-5638-ga3e75c1491cd2d50 marxin at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2022-06-01 19:41 ` jason at gcc dot gnu.org
@ 2022-07-26 12:56 ` rguenth at gcc dot gnu.org
  2023-01-27 19:39 ` pinskia at gcc dot gnu.org
  2023-05-08 12:24 ` [Bug middle-end/104787] [12/13/14 " rguenth at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-07-26 12:56 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2
                 CC|                            |rguenth at gcc dot gnu.org

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
So the case is probably similar - without the early folding we go all the
way, transforming

    struct FileAccessRef f;
  try
    {
      if (1)
        {
          return <retval> = 0;
        }
    }
  finally
    {
      FileAccessRef::~FileAccessRef (&f);
    }
  __builtin_trap ();

to

D.2402 = 0;
// predicted unlikely by early return (on trees) predictor.
finally_tmp.0 = 0;
FileAccessRef::~FileAccessRef (&f);
if (finally_tmp.0 == 1)
  goto <bb 4>; [INV]
else
  goto <bb 6>; [INV]

since the return-type diagnostic is before any kind of optimization it
probably diagnoses this by design.  Otherwise it would be appropriate
to move the diagnostic to the build_ssa_passes set of diagnostic passes
which could share a common VN run to mark unreachable blocks.

In the end I'm currently not working on the middle-end unreachable code
diagnostic so we can as well revert the frontend change causing all this
fallout ...

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

* [Bug middle-end/104787] [12/13 Regression] False positive -Wreturn-type since r12-5638-ga3e75c1491cd2d50
  2022-03-04 15:46 [Bug c++/104787] New: [12 Regression] False positive -Wreturn-type since r12-5638-ga3e75c1491cd2d50 marxin at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2022-07-26 12:56 ` rguenth at gcc dot gnu.org
@ 2023-01-27 19:39 ` pinskia at gcc dot gnu.org
  2023-05-08 12:24 ` [Bug middle-end/104787] [12/13/14 " rguenth at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-01-27 19:39 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |sergey at polovko dot me

--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
*** Bug 108576 has been marked as a duplicate of this bug. ***

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

* [Bug middle-end/104787] [12/13/14 Regression] False positive -Wreturn-type since r12-5638-ga3e75c1491cd2d50
  2022-03-04 15:46 [Bug c++/104787] New: [12 Regression] False positive -Wreturn-type since r12-5638-ga3e75c1491cd2d50 marxin at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2023-01-27 19:39 ` pinskia at gcc dot gnu.org
@ 2023-05-08 12:24 ` rguenth at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-05-08 12:24 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|12.3                        |12.4

--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 12.3 is being released, retargeting bugs to GCC 12.4.

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

end of thread, other threads:[~2023-05-08 12:24 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-04 15:46 [Bug c++/104787] New: [12 Regression] False positive -Wreturn-type since r12-5638-ga3e75c1491cd2d50 marxin at gcc dot gnu.org
2022-03-04 15:46 ` [Bug c++/104787] " marxin at gcc dot gnu.org
2022-03-05  0:38 ` pinskia at gcc dot gnu.org
2022-03-28 16:06 ` [Bug middle-end/104787] " jason at gcc dot gnu.org
2022-05-06  8:32 ` [Bug middle-end/104787] [12/13 " jakub at gcc dot gnu.org
2022-06-01 19:41 ` jason at gcc dot gnu.org
2022-07-26 12:56 ` rguenth at gcc dot gnu.org
2023-01-27 19:39 ` pinskia at gcc dot gnu.org
2023-05-08 12:24 ` [Bug middle-end/104787] [12/13/14 " rguenth 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).