From: Julian Brown Date: Wed, 10 Jan 2024 12:28:48 +0000 (+0000) Subject: OpenMP: Fix new lvalue-parsing map/to/from tests for 32-bit targets X-Git-Tag: basepoints/gcc-15~3037 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3c52d7998bd664a11a767048ef2d274766f1b160;p=thirdparty%2Fgcc.git OpenMP: Fix new lvalue-parsing map/to/from tests for 32-bit targets This patch fixes several tests introduced by the commit r14-7033-g1413af02d62182 for 32-bit targets. 2024-01-10 Julian Brown gcc/testsuite/ * g++.dg/gomp/array-section-1.C: Fix scan output for 32-bit target. * g++.dg/gomp/array-section-2.C: Likewise. * g++.dg/gomp/bad-array-section-4.C: Adjust error output for 32-bit target. --- diff --git a/gcc/testsuite/g++.dg/gomp/array-section-1.C b/gcc/testsuite/g++.dg/gomp/array-section-1.C index 023706b15c5f..562475ab80e9 100644 --- a/gcc/testsuite/g++.dg/gomp/array-section-1.C +++ b/gcc/testsuite/g++.dg/gomp/array-section-1.C @@ -8,10 +8,10 @@ void foo() { int arr1[40]; #pragma omp target map(arr1[x ? C : D]) -// { dg-final { scan-tree-dump {map\(tofrom:arr1\[SAVE_EXPR \] \[len: [0-9]+\]\) map\(firstprivate:arr1 \[pointer assign, bias: \(long int\) &arr1\[SAVE_EXPR \] - \(long int\) &arr1\]\)} "original" } } +// { dg-final { scan-tree-dump {map\(tofrom:arr1\[SAVE_EXPR \] \[len: [0-9]+\]\) map\(firstprivate:arr1 \[pointer assign, bias: \((?:long )?int\) &arr1\[SAVE_EXPR \] - \((?:long )?int\) &arr1\]\)} "original" } } { } #pragma omp target map(arr1[x ? C : D : D]) -// { dg-final { scan-tree-dump {map\(tofrom:arr1\[SAVE_EXPR \] \[len: [0-9]+\]\) map\(firstprivate:arr1 \[pointer assign, bias: \(long int\) &arr1\[SAVE_EXPR \] - \(long int\) &arr1\]\)} "original" } } +// { dg-final { scan-tree-dump {map\(tofrom:arr1\[SAVE_EXPR \] \[len: [0-9]+\]\) map\(firstprivate:arr1 \[pointer assign, bias: \((?:long )?int\) &arr1\[SAVE_EXPR \] - \((?:long )?int\) &arr1\]\)} "original" } } { } #pragma omp target map(arr1[1 : x ? C : D]) // { dg-final { scan-tree-dump {map\(tofrom:arr1\[1\] \[len: x != 0 \? [0-9]+ : [0-9]+\]\) map\(firstprivate:arr1 \[pointer assign, bias: [0-9]+\]\)} "original" } } @@ -22,10 +22,10 @@ int main() { int arr1[40]; #pragma omp target map(arr1[x ? 3 : 5]) -// { dg-final { scan-tree-dump {map\(tofrom:arr1\[SAVE_EXPR \] \[len: [0-9]+\]\) map\(firstprivate:arr1 \[pointer assign, bias: \(long int\) &arr1\[SAVE_EXPR \] - \(long int\) &arr1\]\)} "original" } } +// { dg-final { scan-tree-dump {map\(tofrom:arr1\[SAVE_EXPR \] \[len: [0-9]+\]\) map\(firstprivate:arr1 \[pointer assign, bias: \((?:long )?int\) &arr1\[SAVE_EXPR \] - \((?:long )?int\) &arr1\]\)} "original" } } { } #pragma omp target map(arr1[x ? 3 : 5 : 5]) -// { dg-final { scan-tree-dump {map\(tofrom:arr1\[SAVE_EXPR \] \[len: [0-9]+\]\) map\(firstprivate:arr1 \[pointer assign, bias: \(long int\) &arr1\[SAVE_EXPR \] - \(long int\) &arr1\]\)} "original" } } +// { dg-final { scan-tree-dump {map\(tofrom:arr1\[SAVE_EXPR \] \[len: [0-9]+\]\) map\(firstprivate:arr1 \[pointer assign, bias: \((?:long )?int\) &arr1\[SAVE_EXPR \] - \((?:long )?int\) &arr1\]\)} "original" } } { } #pragma omp target map(arr1[1 : x ? 3 : 5]) // { dg-final { scan-tree-dump {map\(tofrom:arr1\[1\] [len: x != 0 ? [0-9]+ : [0-9]+\]\) map\(firstprivate:arr1 \[pointer assign, bias: [0-9]+\]\)} "original" } } diff --git a/gcc/testsuite/g++.dg/gomp/array-section-2.C b/gcc/testsuite/g++.dg/gomp/array-section-2.C index 072108d1f894..e2be9791e817 100644 --- a/gcc/testsuite/g++.dg/gomp/array-section-2.C +++ b/gcc/testsuite/g++.dg/gomp/array-section-2.C @@ -16,10 +16,10 @@ int C::foo() /* There is a parsing ambiguity here without the space. We don't try to resolve that automatically (though maybe we could, in theory). */ #pragma omp target map(arr1[::x: ::y]) -// { dg-final { scan-tree-dump {map\(tofrom:arr1\[SAVE_EXPR \] \[len: \(sizetype\) y \* [0-9]+\]\) map\(firstprivate:arr1 \[pointer assign, bias: \(long int\) &arr1\[SAVE_EXPR \] - \(long int\) &arr1\]\)} "original" } } +// { dg-final { scan-tree-dump {map\(tofrom:arr1\[SAVE_EXPR \] \[len: \(sizetype\) y \* [0-9]+\]\) map\(firstprivate:arr1 \[pointer assign, bias: \((?:long )?int\) &arr1\[SAVE_EXPR \] - \((?:long )?int\) &arr1\]\)} "original" } } { } #pragma omp target map(arr1[::x:]) -// { dg-final { scan-tree-dump {map\(tofrom:arr1\[SAVE_EXPR \] \[len: \(40 - \(sizetype\) SAVE_EXPR \) \* [0-9]+\]\) map\(firstprivate:arr1 \[pointer assign, bias: \(long int\) &arr1\[SAVE_EXPR \] - \(long int\) &arr1\]\)} "original" } } +// { dg-final { scan-tree-dump {map\(tofrom:arr1\[SAVE_EXPR \] \[len: \(40 - \(sizetype\) SAVE_EXPR \) \* [0-9]+\]\) map\(firstprivate:arr1 \[pointer assign, bias: \((?:long )?int\) &arr1\[SAVE_EXPR \] - \((?:long )?int\) &arr1\]\)} "original" } } { } #pragma omp target map(arr1[: ::y]) // { dg-final { scan-tree-dump {map\(tofrom:arr1\[0\] \[len: \(sizetype\) y \* [0-9]+\]\) map\(firstprivate:arr1 \[pointer assign, bias: 0\]\)} "original" } } @@ -40,10 +40,10 @@ void Ct::foo() { int arr1[40]; #pragma omp target map(arr1[::x: ::y]) -// { dg-final { scan-tree-dump {map\(tofrom:arr1\[SAVE_EXPR \] \[len: \(sizetype\) y \* [0-9]+\]\) map\(firstprivate:arr1 \[pointer assign, bias: \(long int\) &arr1\[SAVE_EXPR \] - \(long int\) &arr1\]\)} "original" } } +// { dg-final { scan-tree-dump {map\(tofrom:arr1\[SAVE_EXPR \] \[len: \(sizetype\) y \* [0-9]+\]\) map\(firstprivate:arr1 \[pointer assign, bias: \((?:long )?int\) &arr1\[SAVE_EXPR \] - \((?:long )?int\) &arr1\]\)} "original" } } { } #pragma omp target map(arr1[::x:]) -// { dg-final { scan-tree-dump {map\(tofrom:arr1\[SAVE_EXPR \] \[len: \(40 - \(sizetype\) SAVE_EXPR \) \* [0-9]+\]\) map\(firstprivate:arr1 \[pointer assign, bias: \(long int\) &arr1\[SAVE_EXPR \] - \(long int\) &arr1\]\)} "original" } } +// { dg-final { scan-tree-dump {map\(tofrom:arr1\[SAVE_EXPR \] \[len: \(40 - \(sizetype\) SAVE_EXPR \) \* [0-9]+\]\) map\(firstprivate:arr1 \[pointer assign, bias: \((?:long )?int\) &arr1\[SAVE_EXPR \] - \((?:long )?int\) &arr1\]\)} "original" } } { } #pragma omp target map(arr1[: ::y]) // { dg-final { scan-tree-dump {map\(tofrom:arr1\[0\] \[len: \(sizetype\) y \* [0-9]+\]\) map\(firstprivate:arr1 \[pointer assign, bias: 0\]\)} "original" } } diff --git a/gcc/testsuite/g++.dg/gomp/bad-array-section-4.C b/gcc/testsuite/g++.dg/gomp/bad-array-section-4.C index 707c2c31cb2a..5d9f056bf7c4 100644 --- a/gcc/testsuite/g++.dg/gomp/bad-array-section-4.C +++ b/gcc/testsuite/g++.dg/gomp/bad-array-section-4.C @@ -34,7 +34,7 @@ int main() // Reject array section in compound initialiser. #pragma omp target map( (struct S) { .ptr = (int *) arr[5:5] } ) // { dg-error {expected '\]' before ':' token} "" { target *-*-* } .-1 } -// { dg-warning {cast to pointer from integer of different size} "" { target *-*-* } .-2 } +// { dg-warning {cast to pointer from integer of different size} "" { target lp64 } .-2 } // { dg-error {expected primary-expression before 'struct'} "" { target *-*-* } .-3 } // { dg-error {expected '\)' before 'struct'} "" { target *-*-* } .-4 } { }