fortran: Fix free-form mixed OpenACC/OpenMP continuation state

Clear the opposite directive flag only for fresh free-form OpenMP/OpenACC
sentinel lines so continued directives do not leak OpenACC/OpenMP state into
the next independent directive.

PR fortran/108382
gcc/fortran/ChangeLog:

	* scanner.cc (skip_free_oacc_sentinel): Clear openmp_flag only for
	fresh OpenACC directive lines.
	(skip_free_omp_sentinel): Clear openacc_flag only for fresh OpenMP
	directive lines.

gcc/testsuite/ChangeLog:

	* gfortran.dg/goacc/omp-108382.f90: New test.

Signed-off-by: Christopher Albert <albert@tugraz.at>
2 files changed