1 /*
2    { dg-options "-fopenmp" }
3    { dg-do preprocess }
4    { dg-require-effective-target fopenmp }
5  */
6 
foo(void)7 void foo (void)
8 {
9   int i1, j1, k1;
10 #define p parallel
11 #define P(x) private (x##1)
12 #define S(x) shared (x##1)
13 #define F(x) firstprivate (x##1)
14 #pragma omp \
15   p \
16   P(i) \
17   S(j) \
18   F(k)
19   ;
20 }
21 
22 /*
23    The bug here was that we had a line like:
24        # 33554432 "../../gcc/testsuite/gcc.dg/cpp/pragma-3.c"
25 
26    Before line:
27 
28        #pragma omp parallel private (i1) shared (j1) firstprivate (k1)
29 
30    Note the very big integer there.  Normally we should just have
31    this:
32 
33        # 13 "../../gcc/testsuite/gcc.dg/cpp/pragma-3.c"
34        #pragma omp parallel private (i1) shared (j1) firstprivate (k1)
35 
36    So let's check that we have no line with a number of 3 or more
37    digit after #:
38 
39    { dg-final { scan-file-not pragma-3.i "# \[0-9\]{3} \[^\n\r\]*pragma-3.c" } }
40 */
41