On Fri, Jan 31, 2014 at 04:18:28PM +0000, Iyer, Balaji V wrote:
> I tried to do this. The thing is, you had me model like this:
>
> #pragma omp parallel for
> _Cilk_for (...)
> {
> Body
> }
>
> Now, the compiler will do something like this:
>
> #pragma OMP parallel
> {
> #pragma Omp for
> {
> _Cilk_for (...)
> Body
> }
> }
>
> Now, if by the time it starts to look at evaluating/breaking up the
> _Cilk-for's parts, we are already at the scope inside #pragma omp
> parallel. If I try to pop here, it has some scope issues with #pragma omp
> parallel. This requires a lot of rewrite of existing OMP code to port it
> for _Cilk_for. This can be done but will take significant time which I
> don't think I have since we are close to end of stage3.
It really doesn't require lots of rewriting, after all, OpenMP handles
the C++ iterators very similarly.
> We can look into what you want, but in the meantime, can you accept this
> patch with the way I have modelled so that the feature can make it into
> 4.9?
No. In GCC we do not rush in bad changes just because there is time
pressure. As Cilk+ is new in GCC 4.9, if you adjust things properly in
say 2-3 weeks frame, we might still make an exception and allow it in
during stage4, otherwise it will have to wait for 5.0.
Jakub