case OMP_CLAUSE_AUTO:
break;
+ /* OpenACC tile clauses are discarded during gimplification. */
case OMP_CLAUSE_TILE:
- /* OpenACC tile clauses are discarded during gimplification, so we
- don't expect to see anything here. */
- gcc_unreachable ();
-
+ /* The following clause belongs to the OpenACC cache directive, which
+ is discarded during gimplification. */
case OMP_CLAUSE__CACHE_:
- /* These clauses belong to the OpenACC cache directive, which is
- discarded during gimplification, so we don't expect to see
- anything here. */
- gcc_unreachable ();
-
+ /* The following clauses are only allowed in the OpenMP declare simd
+ directive, so not seen here. */
+ case OMP_CLAUSE_UNIFORM:
+ case OMP_CLAUSE_INBRANCH:
+ case OMP_CLAUSE_NOTINBRANCH:
+ /* The following clauses are only allowed on OpenMP cancel and
+ cancellation point directives, which at this point have already
+ been lowered into a function call. */
+ case OMP_CLAUSE_FOR:
+ case OMP_CLAUSE_PARALLEL:
+ case OMP_CLAUSE_SECTIONS:
+ case OMP_CLAUSE_TASKGROUP:
+ /* The following clauses are only added during OMP lowering; nested
+ function decomposition happens before that. */
+ case OMP_CLAUSE__LOOPTEMP_:
+ case OMP_CLAUSE__SIMDUID_:
+ case OMP_CLAUSE__GRIDDIM_:
+ /* Anything else. */
default:
gcc_unreachable ();
}
case OMP_CLAUSE_AUTO:
break;
+ /* OpenACC tile clauses are discarded during gimplification. */
case OMP_CLAUSE_TILE:
- /* OpenACC tile clauses are discarded during gimplification, so we
- don't expect to see anything here. */
- gcc_unreachable ();
-
+ /* The following clause belongs to the OpenACC cache directive, which
+ is discarded during gimplification. */
case OMP_CLAUSE__CACHE_:
- /* These clauses belong to the OpenACC cache directive, which is
- discarded during gimplification, so we don't expect to see
- anything here. */
- gcc_unreachable ();
-
+ /* The following clauses are only allowed in the OpenMP declare simd
+ directive, so not seen here. */
+ case OMP_CLAUSE_UNIFORM:
+ case OMP_CLAUSE_INBRANCH:
+ case OMP_CLAUSE_NOTINBRANCH:
+ /* The following clauses are only allowed on OpenMP cancel and
+ cancellation point directives, which at this point have already
+ been lowered into a function call. */
+ case OMP_CLAUSE_FOR:
+ case OMP_CLAUSE_PARALLEL:
+ case OMP_CLAUSE_SECTIONS:
+ case OMP_CLAUSE_TASKGROUP:
+ /* The following clauses are only added during OMP lowering; nested
+ function decomposition happens before that. */
+ case OMP_CLAUSE__LOOPTEMP_:
+ case OMP_CLAUSE__SIMDUID_:
+ case OMP_CLAUSE__GRIDDIM_:
+ /* Anything else. */
default:
gcc_unreachable ();
}