[Bug middle-end/59732] New: [4.9 Regression] ICE with -fopenmp: invalid address operand in MEM_REF

burnus at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Jan 8 23:01:00 GMT 2014


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

            Bug ID: 59732
           Summary: [4.9 Regression] ICE with -fopenmp: invalid address
                    operand in MEM_REF
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code, openmp
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: burnus at gcc dot gnu.org
                CC: jakub at gcc dot gnu.org

Created attachment 31780
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31780&action=edit
Test case, compile with "g++ -fopenmp"

Found when compiling Open MPI (trunk version) in the Vampire Trace (vt)
component.

I marked it as regression as I do not see it with GCC 4.8, however, my GCC 4.8
is compiled without checking.


Compiling ompi/contrib/vt/vt/tools/vtfilter/vt_filter_trc.cc - or the attached
test case - fails as follows:

$ g++ -S -fopenmp test46.ii 

test46.ii: In member function 'bool
FilterTraceC::processEventsAndStatistics()':
test46.ii:61:54: error: invalid address operand in MEM_REF
     const set<uint32_t>& procs = m_streamProcs[stream];
                                                      ^
MEM[(struct FilterTraceC *)<<< error >>>];

D.2586 = &MEM[(struct FilterTraceC *)<<< error >>>].m_streamProcs;
test46.ii:61:54: internal compiler error: verify_gimple failed
0xbd7da6 verify_gimple_in_cfg(function*)
        ../../gcc/tree-cfg.c:4854
0xaffcc7 execute_function_todo
        ../../gcc/passes.c:1854
0xb005b3 execute_todo
        ../../gcc/passes.c:1884



More information about the Gcc-bugs mailing list