public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/57075] New: verify_flow_info failed: control flow in the middle of basic block
@ 2013-04-25 20:20 dcb314 at hotmail dot com
  2013-04-26  8:56 ` [Bug c/57075] [4.9 Regression] " mpolacek at gcc dot gnu.org
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: dcb314 at hotmail dot com @ 2013-04-25 20:20 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57075

             Bug #: 57075
           Summary: verify_flow_info failed: control flow in the middle of
                    basic block
    Classification: Unclassified
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: dcb314@hotmail.com


Created attachment 29942
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29942
C source code

I just tried to compile the package jam-2.5-14
on gcc-4.9 trunk dated 20130425 on an AMD x86_64 box.

The compiler said

execunix.c: In function 'execcmd':
execunix.c:322:1: error: control flow in the middle of basic block 10
 }
 ^
execunix.c:322:1: error: control flow in the middle of basic block 10
execunix.c:322:1: error: control flow in the middle of basic block 10
execunix.c:322:1: internal compiler error: verify_flow_info failed
0x5f9ae1 verify_flow_info()
    ../../src/trunk/gcc/cfghooks.c:260
0x91dec4 cleanup_tree_cfg_noloop
    ../../src/trunk/gcc/tree-cfgcleanup.c:693
0x91dec4 cleanup_tree_cfg()
    ../../src/trunk/gcc/tree-cfgcleanup.c:742
0x84be64 execute_function_todo
    ../../src/trunk/gcc/passes.c:1921
0x84c7e7 execute_todo
    ../../src/trunk/gcc/passes.c:1996
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

Preprocessed source code attached. Flag -O2 required.


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

* [Bug c/57075] [4.9 Regression] verify_flow_info failed: control flow in the middle of basic block
  2013-04-25 20:20 [Bug c/57075] New: verify_flow_info failed: control flow in the middle of basic block dcb314 at hotmail dot com
@ 2013-04-26  8:56 ` mpolacek at gcc dot gnu.org
  2013-04-26 10:24 ` mpolacek at gcc dot gnu.org
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-04-26  8:56 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57075

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2013-04-26
                 CC|                            |mpolacek at gcc dot gnu.org
      Known to work|                            |4.8.1
   Target Milestone|---                         |4.9.0
            Summary|verify_flow_info failed:    |[4.9 Regression]
                   |control flow in the middle  |verify_flow_info failed:
                   |of basic block              |control flow in the middle
                   |                            |of basic block
     Ever Confirmed|0                           |1
      Known to fail|                            |4.9.0

--- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> 2013-04-26 08:56:13 UTC ---
Confirmed.


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

* [Bug c/57075] [4.9 Regression] verify_flow_info failed: control flow in the middle of basic block
  2013-04-25 20:20 [Bug c/57075] New: verify_flow_info failed: control flow in the middle of basic block dcb314 at hotmail dot com
  2013-04-26  8:56 ` [Bug c/57075] [4.9 Regression] " mpolacek at gcc dot gnu.org
@ 2013-04-26 10:24 ` mpolacek at gcc dot gnu.org
  2013-04-26 11:34 ` [Bug tree-optimization/57075] " rguenth at gcc dot gnu.org
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-04-26 10:24 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57075

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

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

--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> 2013-04-26 10:24:35 UTC ---
Started with http://gcc.gnu.org/r198192


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

* [Bug tree-optimization/57075] [4.9 Regression] verify_flow_info failed: control flow in the middle of basic block
  2013-04-25 20:20 [Bug c/57075] New: verify_flow_info failed: control flow in the middle of basic block dcb314 at hotmail dot com
  2013-04-26  8:56 ` [Bug c/57075] [4.9 Regression] " mpolacek at gcc dot gnu.org
  2013-04-26 10:24 ` mpolacek at gcc dot gnu.org
@ 2013-04-26 11:34 ` rguenth at gcc dot gnu.org
  2013-04-26 12:03 ` mpolacek at gcc dot gnu.org
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-04-26 11:34 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57075

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> 2013-04-26 11:34:35 UTC ---
Generally fixup_cfg () is used for this kind of needed adjustments.


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

* [Bug tree-optimization/57075] [4.9 Regression] verify_flow_info failed: control flow in the middle of basic block
  2013-04-25 20:20 [Bug c/57075] New: verify_flow_info failed: control flow in the middle of basic block dcb314 at hotmail dot com
                   ` (2 preceding siblings ...)
  2013-04-26 11:34 ` [Bug tree-optimization/57075] " rguenth at gcc dot gnu.org
@ 2013-04-26 12:03 ` mpolacek at gcc dot gnu.org
  2013-04-26 12:11 ` rguenther at suse dot de
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-04-26 12:03 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57075

--- Comment #7 from Marek Polacek <mpolacek at gcc dot gnu.org> 2013-04-26 12:03:00 UTC ---
(In reply to comment #5)
> Ok, that's because printf is considered a possible caller of longjmp but
> inlining doesn't split the block before handling the return.

IIUC, stmt_ends_bb_p then should return true for
D.1722 = __builtin_printf ("$");
shouldn't it?

It returns false for that stmt.


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

* [Bug tree-optimization/57075] [4.9 Regression] verify_flow_info failed: control flow in the middle of basic block
  2013-04-25 20:20 [Bug c/57075] New: verify_flow_info failed: control flow in the middle of basic block dcb314 at hotmail dot com
                   ` (3 preceding siblings ...)
  2013-04-26 12:03 ` mpolacek at gcc dot gnu.org
@ 2013-04-26 12:11 ` rguenther at suse dot de
  2013-04-29 12:58 ` rguenth at gcc dot gnu.org
  2013-04-29 15:06 ` rguenth at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: rguenther at suse dot de @ 2013-04-26 12:11 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57075

--- Comment #8 from rguenther at suse dot de <rguenther at suse dot de> 2013-04-26 12:11:07 UTC ---
On Fri, 26 Apr 2013, mpolacek at gcc dot gnu.org wrote:

> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57075
> 
> --- Comment #7 from Marek Polacek <mpolacek at gcc dot gnu.org> 2013-04-26 12:03:00 UTC ---
> (In reply to comment #5)
> > Ok, that's because printf is considered a possible caller of longjmp but
> > inlining doesn't split the block before handling the return.
> 
> IIUC, stmt_ends_bb_p then should return true for
> D.1722 = __builtin_printf ("$");
> shouldn't it?
> 
> It returns false for that stmt.

The return value is dependent on function context :/


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

* [Bug tree-optimization/57075] [4.9 Regression] verify_flow_info failed: control flow in the middle of basic block
  2013-04-25 20:20 [Bug c/57075] New: verify_flow_info failed: control flow in the middle of basic block dcb314 at hotmail dot com
                   ` (4 preceding siblings ...)
  2013-04-26 12:11 ` rguenther at suse dot de
@ 2013-04-29 12:58 ` rguenth at gcc dot gnu.org
  2013-04-29 15:06 ` rguenth at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-04-29 12:58 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57075

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
         AssignedTo|unassigned at gcc dot       |rguenth at gcc dot gnu.org
                   |gnu.org                     |

--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> 2013-04-29 12:58:47 UTC ---
I have a patch.


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

* [Bug tree-optimization/57075] [4.9 Regression] verify_flow_info failed: control flow in the middle of basic block
  2013-04-25 20:20 [Bug c/57075] New: verify_flow_info failed: control flow in the middle of basic block dcb314 at hotmail dot com
                   ` (5 preceding siblings ...)
  2013-04-29 12:58 ` rguenth at gcc dot gnu.org
@ 2013-04-29 15:06 ` rguenth at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-04-29 15:06 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57075

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

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

--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> 2013-04-29 15:06:39 UTC ---
Author: rguenth
Date: Mon Apr 29 15:06:18 2013
New Revision: 198423

URL: http://gcc.gnu.org/viewcvs?rev=198423&root=gcc&view=rev
Log:
2013-04-29  Richard Biener  <rguenther@suse.de>

    PR middle-end/57075
    * tree-inline.c (copy_edges_for_bb): Still split the bbs,
    even if not adding abnormal edges for calls that can make
    abnormal gotos.

    * gcc.dg/torture/pr57075.c: New testcase.

Added:
    trunk/gcc/testsuite/gcc.dg/torture/pr57075.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-inline.c


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

end of thread, other threads:[~2013-04-29 15:06 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-25 20:20 [Bug c/57075] New: verify_flow_info failed: control flow in the middle of basic block dcb314 at hotmail dot com
2013-04-26  8:56 ` [Bug c/57075] [4.9 Regression] " mpolacek at gcc dot gnu.org
2013-04-26 10:24 ` mpolacek at gcc dot gnu.org
2013-04-26 11:34 ` [Bug tree-optimization/57075] " rguenth at gcc dot gnu.org
2013-04-26 12:03 ` mpolacek at gcc dot gnu.org
2013-04-26 12:11 ` rguenther at suse dot de
2013-04-29 12:58 ` rguenth at gcc dot gnu.org
2013-04-29 15:06 ` 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).