This page contains information on GCC's implementation of the OpenMP specification and related functionality like the auto parallelizer (-ftree-parallelize-loops).
As of GCC 4.2, the compiler implements version 2.5 of the OpenMP specification and as of 4.4 it implements version 3.0 of the OpenMP specification. The OpenMP 3.1 specification is supported since GCC 4.7. GCC 4.9 supports OpenMP 4.0 with the follow exceptions (as of 2013-10-11): The new directives are not support in Fortran, omp target will always run on the host and omp declare simd will run as non-SIMD version.
Documentation on libgomp (OpenMP runtime for GCC).
Test Suites and Benchmarks
OpenMP task test suite by BSC
Feel free to add new items to this list as you run into issues or features that would be interesting to add. Send mail to the list and/or the GCC OpenMP maintainers if any item in this list sounds interesting but is hard to understand.
Fix PR 35423 (missing parts of OpenMP WORKSHARE).
Fine tune the auto scheduling feature for parallel loops.
Implement untied tasks (no compliance issue; needs to be well tuned to be actually faster; cf. page 53 of pdf) - see also next item
A comparison for tasks between libgomp, another library (gcc+libKOMP) and Intel (cf. benchmark on p. 10); see also another IOMP 2012 comparison
OpenMP 4.0 (specifications released on July 2013). Cf. slides at the IWOMP, the International Workshop for OpenMP (slides and tutorials) in June 2010 and the OWOMP 2010 proceedings. There is also a blog entry. See also IWOMP 2012's talks and the committee report. SC2011 (November 2011): OpenMP Lang Committee Report, CEO report
And a comment prior to the final release: OpenMP 4.0 about to be released and IWOMP 2013, by Michael Wong (May 2013)