OpenMP directive turns a statement into a real code block [with proper example]

Tim Prince TimothyPrince@sbcglobal.net
Sat Jun 20 15:30:00 GMT 2009


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 {}.



More information about the Gcc-help mailing list