This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Tim Prince wrote:
> 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 {}.
But it seems pointless to make a parallel loop which contains nothing but
a critical section.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]