Possible Duplicates:
C/C++ pragma in define macro
Conditional “pragma omp”
How can I use an OpenMP pragmas inside a macro definition? E.g.
#define A() { \
...a lot of code... \
#pragma omp for \
for(..) \
..do_for.. \
...another a lot of code \
}
As it was answered here Conditional "pragma omp"
C99 has the
_Pragma
keyword that allows you to place what otherwise would be#pragma
inside macros. Something like
#define OMP_PARA_INTERNAL _Pragma("omp parallel for")
So,
#define OMP_PARA_FOR _Pragma("omp for")
#define A() { \
...a lot of code... \
OMP_PARA_FOR \
for(..) \
..do_for.. \
...another a lot of code \
}
several _Pragma
s can be combined as unary operator, e.g.:
_Pragma("first pragma") _Pragma("Second pragma")