This is the first part extracted from D71179 and cleaned up.
This patch provides parsing support for omp begin/end declare variant,
as defined in OpenMP technical report 8 (TR8) .
A major purpose of this patch is to provide proper math.h/cmath support
for OpenMP target offloading. See PR42061, PR42798, PR42799. The current
code was developed with this feature in mind, see .