# CANCELLATION POINT

OpenMP* Fortran Compiler Directive: Defines a point at which implicit or explicit tasks check to see if cancellation has been requested for the innermost enclosing region of the type specified. This construct does not implement a synchronization between threads or tasks.

## Syntax

!$OMP CANCELLATION POINT construct-clause

construct-clause | Is one of the following: DO PARALLEL SECTIONS TASKGROUP

This is a stand-alone directive, so there are some restrictions on its placement within a program:

- It can only be placed at a point where a Fortran executable statement is allowed.

- It cannot be used as the action statement in an IF statement, or as the executable statement following a label, if the label is referenced in the program.

A CANCELLATION POINT region binds to the current task region.

If construct-clause is TASKGROUP, the CANCELLATION POINT construct must be closely nested inside a TASK construct. Otherwise, the CANCELLATION POINT construct must be closely nested inside an OpenMP construct that matches the type specified by the construct-clause.

When an implicit or explicit task reaches a user-defined cancellation point, the task immediately checks for cancellation of the region specified in the clause and performs cancellation of this region if cancellation is observed. If the clause specified is TASKGROUP then the current task region is canceled.

An OpenMP program with orphaned CANCELLATION POINT constructs is non-conforming.

Parent topic: C to D

## See Also

OpenMP Fortran Compiler Directives
Syntax Rules for Compiler Directives
CANCEL