[Bug ada/13849] New: backend ICE (verify_flow_info) on ACATS test cxa5011 when using -O3 -funroll-all-loops

laurent at guerby dot net gcc-bugzilla@gcc.gnu.org
Sat Jan 24 22:15:00 GMT 2004


The problem does not occur 

$ gcc -c -O3  -funroll-all-loops cxa5011.adb 
cxa5011.adb: In function `CXA5011':
cxa5011.adb:3: error: verify_flow_info: REG_BR_PROB does not match cfg 29 0
cxa5011.adb:3: error: verify_flow_info: REG_BR_PROB does not match cfg 29 0
cxa5011.adb:3: error: verify_flow_info: REG_BR_PROB does not match cfg 29 0
cxa5011.adb:3: error: verify_flow_info: REG_BR_PROB does not match cfg 29 0
+===========================GNAT BUG DETECTED==============================+
| 3.5.0 20040123 (experimental) (i686-pc-linux-gnu) verify_flow_info failed|
| Error detected at cxa5011.adb:25:5                                       |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.            |
| Include the entire contents of this bug box in the report.               |
| Include the exact gcc or gnatmake command that you entered.              |
| Also include sources listed below in gnatchop format                     |
| (concatenated together with no headers between files).                   |
+==========================================================================+

Please include these source files with error report
Note that list may not be accurate in some cases, 
so please double check that the problem can still 
be reproduced with the set of files listed.

cxa5011.adb

compilation abandoned
$ gcc -v
Reading specs from
/home/guerby/work/gcc/install/install-20040123T214648/lib/gcc/i686-pc-linux-gnu/3.5.0/specs
Configured with: /home/guerby/work/gcc/gcc/configure
--prefix=/home/guerby/work/gcc/install/install-20040123T214648
--enable-languages=ada,c --enable-threads --disable-nls
Thread model: posix
gcc version 3.5.0 20040123 (experimental)

The source is reduced from the ACATS test:

$ cat cxa5011.adb
with Ada.Numerics.Discrete_Random;

procedure CXA5011 is
      type    Discrete_Range   is mod 2**(Integer'Size-1);
      package Discrete_Package is new Ada.Numerics.Discrete_Random(Discrete_Range);
      TC_Max_Loop_Count        : constant Natural := 1000;

      procedure Toto (X : String) is
      begin
         null;
      end Toto;

      Gen_1, Gen_2    : Discrete_Package.Generator;
      Check_Failed    : Boolean := False;
begin
   for i in 1..TC_Max_Loop_Count loop
      if Discrete_Package.Random(Gen_1) /=
        Discrete_Package.Random(Gen_2)
      then
         Check_Failed := True;
         exit;
      end if;
   end loop;
   Toto (Integer'Image (0));
end CXA5011;

-- 
           Summary: backend ICE (verify_flow_info) on ACATS test cxa5011
                    when using -O3 -funroll-all-loops
           Product: gcc
           Version: 3.5.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P2
         Component: ada
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: laurent at guerby dot net
                CC: gcc-bugs at gcc dot gnu dot org,laurent at guerby dot
                    net
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



More information about the Gcc-bugs mailing list