Compiling the following invalid testcase with -fopenmp causes an ICE:

===================================
void foo()
{
#pragma omp parallel for
  for ( i=0; i<1; ++i ) ;
}
===================================

bug.c: In function 'foo':
bug.c:4: error: 'i' undeclared (first use in this function)
bug.c:4: error: (Each undeclared identifier is reported only once
bug.c:4: error: for each function it appears in.)
bug.c:4: error: invalid type for iteration variable '<erroneous-expression>'
bug.c:4: internal compiler error: tree check: expected class 'type', have
'exceptional' (error_mark) in c_finish_omp_for, at c-omp.c:210
Please submit a full bug report, [etc.]


-- 
           Summary: [gomp] ICE on undefined iteration variable
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Keywords: ice-on-invalid-code, error-recovery, monitored, openmp
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: reichelt at gcc dot gnu dot org


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

Reply via email to