On 02/19/14 02:14, Jakub Jelinek wrote:
Hi!

While fixing PR60267, I've noticed that #pragma simd is not registered
when -E -fcilkplus, even when it asks for macro replacements in the clauses.

So, either we have to register it even when preprocessing, so that say for
-save-temps, or other cases of separate preprocessing and separate
compilation you get the macro replacement in there, or #pragma simd doesn't
want to do macro replacement in the clauses, in that case it should call
the cpp_register_deferred_pragma function with false, false rather than
true, false.  But then even #define N 8 ... #pragma simd vectorlength(N)
wouldn't work.

2014-02-19  Jakub Jelinek  <ja...@redhat.com>

        * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
        (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
        even when flag_preprocess_only.

        * c-c++-common/cilk-plus/PS/vectorlength-2.c: New test.
        * c-c++-common/cilk-plus/PS/vectorlength-3.c: New test.
OK.
jeff

Reply via email to