This patch adds Fortran support for OMP 5.1 "canonical loop nest form" and non-rectangular loops. The C/C++ and middle-end support is already present except for some missing constraint checks in the gimplifier, which I've added here. There's still a TODO with respect to the not-yet-implemented TILE construct. Is this OK for stage 1 when the time comes? -Sandra