On Wed, Nov 06, 2013 at 10:07:36PM +0000, Joseph S. Myers wrote: > The patch I've posted at > <http://gcc.gnu.org/ml/gcc-patches/2013-11/msg00493.html> is intended to > be mainline-ready (with the hopes that other people may pick up the ObjC > and OpenMP issues, and floating-point handling for non-x86 targets, once
For OpenMP, the current standards (including 4.0) only cover C89/C99, but not C11, so mixing C11 _Atomic with OpenMP is in the unspecified category; sorry on any use of _Atomic with -fopenmp is too strict, but I guess at least until the standard starts supporting C11 we are on our own to define how the two features should coexist. I'd say it would be safest to disallow _Atomic in most of the clauses at least for the time being, allow it in shared clause. Because, what would be behavior of say privatized _Atomic variable (or firstprivate, lastprivate, copyin, reduction, ...)? Also using _Atomic for say OpenMP loop iterators sounds weird (but, that is essentially the matter of privatization too). Jakub