Commit 871b3f47 by Jakub Jelinek Committed by Jakub Jelinek

re PR c++/69826 (problem with cilkplus pragma and preprocessor variable)

	PR c++/69826
	* c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
	(init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
	flag_preprocess_only.

	* c-c++-common/cilk-plus/CK/pr69826-1.c: New test.
	* c-c++-common/cilk-plus/CK/pr69826-2.c: New test.

From-SVN: r233571
parent 77a37715
2016-02-19 Jakub Jelinek <jakub@redhat.com>
PR c++/69826
* c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
(init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
flag_preprocess_only.
2016-02-16 Jakub Jelinek <jakub@redhat.com>
PR c/69835
......
......@@ -1336,6 +1336,13 @@ c_pp_lookup_pragma (unsigned int id, const char **space, const char **name)
return;
}
if (id == PRAGMA_CILK_GRAINSIZE)
{
*space = "cilk";
*name = "grainsize";
return;
}
if (id >= PRAGMA_FIRST_EXTERNAL
&& (id < PRAGMA_FIRST_EXTERNAL + registered_pp_pragmas.length ()))
{
......@@ -1523,7 +1530,7 @@ init_pragma (void)
cpp_register_deferred_pragma (parse_in, "GCC", "ivdep", PRAGMA_IVDEP, false,
false);
if (flag_cilkplus && !flag_preprocess_only)
if (flag_cilkplus)
cpp_register_deferred_pragma (parse_in, "cilk", "grainsize",
PRAGMA_CILK_GRAINSIZE, true, false);
......
2016-02-19 Jakub Jelinek <jakub@redhat.com>
PR c++/69826
* c-c++-common/cilk-plus/CK/pr69826-1.c: New test.
* c-c++-common/cilk-plus/CK/pr69826-2.c: New test.
PR c++/69850
* g++.dg/warn/Wnonnull-compare-4.C: New test.
......
/* { dg-do run { target { i?86-*-* x86_64-*-* } } } */
/* { dg-options "-fcilkplus" } */
/* { dg-additional-options "-std=gnu99" { target c } } */
/* { dg-additional-options "-lcilkrts" { target { i?86-*-* x86_64-*-* } } } */
#define GRAINSIZE 2
int
main ()
{
int a[64];
#pragma cilk grainsize=GRAINSIZE
_Cilk_for (int i = 0; i < 64; i++)
a[i] = 0;
#pragma cilk grainsize =GRAINSIZE
_Cilk_for (int i = 0; i < 64; i++)
a[i]++;
#pragma cilk grainsize = GRAINSIZE
_Cilk_for (int i = 0; i < 64; i++)
a[i]++;
for (int i = 0; i < 64; i++)
if (a[i] != 2)
__builtin_abort ();
return 0;
}
/* { dg-do run { target { i?86-*-* x86_64-*-* } } } */
/* { dg-options "-fcilkplus -save-temps" } */
/* { dg-additional-options "-std=gnu99" { target c } } */
/* { dg-additional-options "-lcilkrts" { target { i?86-*-* x86_64-*-* } } } */
#include "pr69826-1.c"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment