This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/85313] New: gcc/fortran/openmp.c: 2 * confused logic ?


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

            Bug ID: 85313
           Summary: gcc/fortran/openmp.c: 2 * confused logic ?
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

fortran/openmp.c:5591] -> [trunk/gcc/fortran/openmp.c:5603]: (warning)
Identical inner 'if' condition is always true.

Source code is

          for (j = 1; j < i; j++)
            {
              gfc_symbol *ivar = do_code2->ext.iterator->var->symtree->n.sym;
              if (dovar == ivar
                  || gfc_find_sym_in_expr (ivar, do_code->ext.iterator->start)
                  || gfc_find_sym_in_expr (ivar, do_code->ext.iterator->end)
                  || gfc_find_sym_in_expr (ivar, do_code->ext.iterator->step))
                {
                  gfc_error ("%s collapsed loops don't form rectangular "
                             "iteration space at %L", name, &do_code->loc);
                  break;
                }
              if (j < i)
                break;
              do_code2 = do_code2->block->next;
            }

It is not clear to me how the do_code2 = do_code2->block->next ever gets
executed.

Also:

gcc/fortran/openmp.c:5760] -> [trunk/gcc/fortran/openmp.c:5772]: (warning)
Identical inner 'if' condition is always true.

Duplicate.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]