[Bug preprocessor/48532] New: Wrong location of namespaced pragma involing macros
dodji at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Apr 9 18:28:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48532
Summary: Wrong location of namespaced pragma involing macros
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: preprocessor
AssignedTo: dodji@gcc.gnu.org
ReportedBy: dodji@gcc.gnu.org
Consider this test case taken from
gcc/testsuite/gcc.dg/gomp/preprocess-1.c:
[dodji@adjoa prtests]$ cat -n test.c
1 void foo (void)
2 {
3 int i1, j1, k1;
4 #define p parallel
5 #define P(x) private (x##1)
6 #define S(x) shared (x##1)
7 #define F(x) firstprivate (x##1)
8 #pragma omp p P(i) \
9 S(j) \
10 F(k)
11 ;
12 }
[dodji@adjoa prtests]$
And now consider its preprocessed output:
[dodji@adjoa prtests]$ cc1 -quiet -E -fopenmp ./test.c
# 1 "./test.c"
# 1 "<interne>"
# 1 "<command-line>"
# 1 "./test.c"
void foo (void)
{
int i1, j1, k1;
# 33554432 "./test.c"
# 8 "./test.c"
#pragma omp parallel private (i1) shared (j1) firstprivate (k1)
;
}
[dodji@adjoa prtests]$
This line in the output is wrong, and should not be present:
# 33554432 "./test.c"
More information about the Gcc-bugs
mailing list