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

            Bug ID: 67511
           Summary: ICE with invalid OpenMP random access iterator
           Product: gcc
           Version: 5.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jakub at gcc dot gnu.org
  Target Milestone: ---

// { dg-do compile }
// { dg-options "-fopenmp" }

struct I
{
  I ();
  I (const I &);
  I &operator++ ();
  bool operator< (const I &) const;
};
__PTRDIFF_TYPE__ operator- (const I &, const I &);

void
foo (I &x, I &y)
{
#pragma omp for
  for (I i = x; i < y; ++i)     // { dg-error "no match for" }
    ;
}

ICEs:
internal compiler error: tree check: expected class ‘type’, have ‘exceptional’
(error_mark) in useless_type_conversion_p, at gimple-expr.c:84

Reply via email to