This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: OpenMP directive turns a statement into a real code block [with proper example]
Peter Cech wrote:
> # pragma omp parallel for
> for (int i = 0; i < 10; ++i) {
> # pragma omp critical
> Class instance = create_and_register_new_instance();
>
> instance.do_something();
> }
But still, turning on OpenMP here creates a new inner block scope, as you
suggested the first time, so the compiler is right to throw the error. If
you mean to keep the original block intact, you will need the additional
set of {}.