openmp: Add OMPT variants of GOMP_scope_start

GOMP_scope_start is emitted only for task reductions without -fopenmp-ompt
(unchanged). With -fopenmp-ompt, both GOMP_scope_start_with_end and
GOMP_scope_end are emitted, whether a task reduction is specified or not.

gcc/ChangeLog:

	* omp-builtins.def (BUILT_IN_GOMP_SCOPE_START_WITH_END): New
	builtin.
	(BUILT_IN_GOMP_SCOPE_END): Likewise.
	* omp-low.cc (lower_omp_scope): Emit calls to
	GOMP_scope_start_with_end and GOMP_scope_end when -fopenmp-ompt.

libgomp/ChangeLog:

	* libgomp.map: Add GOMP_scope_start_with_end and GOMP_scope_end.
	* libgomp_g.h (GOMP_scope_start_with_end): Declare.
	(GOMP_scope_end): Likewise.
	* scope.c (GOMP_scope_start_with_end): New function.
	(GOMP_scope_end): New stub.

gcc/testsuite/ChangeLog:

	* c-c++-common/gomp/scope-7.c: New test.
	* c-c++-common/gomp/scope-8.c: New test.
7 files changed