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

            Bug ID: 98011
           Summary: [OpenACC] 'gcc/fortran/scanner.c:load_line' should
                    consider 'flag_openacc' in addition to 'flag_openmp'
                    (and vice versa?)?
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Keywords: openacc
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tschwinge at gcc dot gnu.org
                CC: burnus at gcc dot gnu.org, jakub at gcc dot gnu.org
  Target Milestone: ---

It's not obvious (to me, at least), why in 'gcc/fortran/scanner.c:load_line'
'flag_openmp' and 'flag_openacc' are handled differently:

    /* For truncation and tab warnings, set seen_comment to false if one has
       either an OpenMP or OpenACC directive - or a !GCC$ attribute.  If
       OpenMP is enabled, use '!$' as as conditional compilation sentinel
       and OpenMP directive ('!$omp').  */
    if (seen_comment && first_comment && flag_openmp && comment_ix + 1 == i
        && c == '$')
      first_comment = seen_comment = false;
    if (seen_comment && first_comment && comment_ix + 4 == i)
      {
        if (((*pbuf)[comment_ix+1] == 'g' || (*pbuf)[comment_ix+1] == 'G')
            && ((*pbuf)[comment_ix+2] == 'c' || (*pbuf)[comment_ix+2] == 'C')
            && ((*pbuf)[comment_ix+3] == 'c' || (*pbuf)[comment_ix+3] == 'C')
            && c == '$')
          first_comment = seen_comment = false;
        if (flag_openacc
            && (*pbuf)[comment_ix+1] == '$'
            && ((*pbuf)[comment_ix+2] == 'a' || (*pbuf)[comment_ix+2] == 'A')
            && ((*pbuf)[comment_ix+3] == 'c' || (*pbuf)[comment_ix+3] == 'C')
            && (c == 'c' || c == 'C'))
          first_comment = seen_comment = false;
      }

Shouldn't this also be handled vice versa?

If that indeed is meant to be different, then let's please add some "dummy
handling"/commentary to make this explicit, to show that we did consider this.

Reply via email to