Hi Julian! On 2024-01-07T16:04:37+0100, Tobias Burnus <bur...@net-b.de> wrote: > Am 05.01.24 um 13:23 schrieb Julian Brown: >> Here's a rebased/retested version [...]
> LGTM - [...] Got pushed as commit r14-7033-g1413af02d62182bc1e19698aaa4dae406f8f13bf "OpenMP: lvalue parsing for map/to/from clauses (C++)". Some (hopefully minor) tuning in the test cases is necessary; for example, for x86_64-pc-linux-gnu '-m32' testing, I see a few FAILs: +PASS: g++.dg/gomp/array-section-1.C -std=c++98 scan-tree-dump original "map\\(tofrom:arr1\\[1\\] [len: x != 0 ? [0-9]+ : [0-9]+\\]\\) map\\(firstprivate:arr1 \\[pointer assign, bias: [0-9]+\\]\\)" +PASS: g++.dg/gomp/array-section-1.C -std=c++98 scan-tree-dump original "map\\(tofrom:arr1\\[1\\] \\[len: x != 0 \\? [0-9]+ : [0-9]+\\]\\) map\\(firstprivate:arr1 \\[pointer assign, bias: [0-9]+\\]\\)" +FAIL: g++.dg/gomp/array-section-1.C -std=c++98 scan-tree-dump original "map\\(tofrom:arr1\\[SAVE_EXPR <x != 0 \\? 3 : 5>\\] \\[len: [0-9]+\\]\\) map\\(firstprivate:arr1 \\[pointer assign, bias: \\(long int\\) &arr1\\[SAVE_EXPR <x != 0 \\? 3 : 5>\\] - \\(long int\\) &arr1\\]\\)" +FAIL: g++.dg/gomp/array-section-1.C -std=c++98 scan-tree-dump original "map\\(tofrom:arr1\\[SAVE_EXPR <x != 0 \\? 3 : 5>\\] \\[len: [0-9]+\\]\\) map\\(firstprivate:arr1 \\[pointer assign, bias: \\(long int\\) &arr1\\[SAVE_EXPR <x != 0 \\? 3 : 5>\\] - \\(long int\\) &arr1\\]\\)" +FAIL: g++.dg/gomp/array-section-1.C -std=c++98 scan-tree-dump original "map\\(tofrom:arr1\\[SAVE_EXPR <x != 0 \\? 3 : 5>\\] \\[len: [0-9]+\\]\\) map\\(firstprivate:arr1 \\[pointer assign, bias: \\(long int\\) &arr1\\[SAVE_EXPR <x != 0 \\? 3 : 5>\\] - \\(long int\\) &arr1\\]\\)" +FAIL: g++.dg/gomp/array-section-1.C -std=c++98 scan-tree-dump original "map\\(tofrom:arr1\\[SAVE_EXPR <x != 0 \\? 3 : 5>\\] \\[len: [0-9]+\\]\\) map\\(firstprivate:arr1 \\[pointer assign, bias: \\(long int\\) &arr1\\[SAVE_EXPR <x != 0 \\? 3 : 5>\\] - \\(long int\\) &arr1\\]\\)" +PASS: g++.dg/gomp/array-section-1.C -std=c++98 (test for excess errors) Etc. +PASS: g++.dg/gomp/array-section-2.C -std=c++98 scan-tree-dump original "map\\(tofrom:arr1\\[0\\] \\[len: \\(sizetype\\) y \\* [0-9]+\\]\\) map\\(firstprivate:arr1 \\[pointer assign, bias: 0\\]\\)" +PASS: g++.dg/gomp/array-section-2.C -std=c++98 scan-tree-dump original "map\\(tofrom:arr1\\[0\\] \\[len: \\(sizetype\\) y \\* [0-9]+\\]\\) map\\(firstprivate:arr1 \\[pointer assign, bias: 0\\]\\)" +FAIL: g++.dg/gomp/array-section-2.C -std=c++98 scan-tree-dump original "map\\(tofrom:arr1\\[SAVE_EXPR <x>\\] \\[len: \\(40 - \\(sizetype\\) SAVE_EXPR <x>\\) \\* [0-9]+\\]\\) map\\(firstprivate:arr1 \\[pointer assign, bias: \\(long int\\) &arr1\\[SAVE_EXPR <x>\\] - \\(long int\\) &arr1\\]\\)" +FAIL: g++.dg/gomp/array-section-2.C -std=c++98 scan-tree-dump original "map\\(tofrom:arr1\\[SAVE_EXPR <x>\\] \\[len: \\(40 - \\(sizetype\\) SAVE_EXPR <x>\\) \\* [0-9]+\\]\\) map\\(firstprivate:arr1 \\[pointer assign, bias: \\(long int\\) &arr1\\[SAVE_EXPR <x>\\] - \\(long int\\) &arr1\\]\\)" +FAIL: g++.dg/gomp/array-section-2.C -std=c++98 scan-tree-dump original "map\\(tofrom:arr1\\[SAVE_EXPR <x>\\] \\[len: \\(sizetype\\) y \\* [0-9]+\\]\\) map\\(firstprivate:arr1 \\[pointer assign, bias: \\(long int\\) &arr1\\[SAVE_EXPR <x>\\] - \\(long int\\) &arr1\\]\\)" +FAIL: g++.dg/gomp/array-section-2.C -std=c++98 scan-tree-dump original "map\\(tofrom:arr1\\[SAVE_EXPR <x>\\] \\[len: \\(sizetype\\) y \\* [0-9]+\\]\\) map\\(firstprivate:arr1 \\[pointer assign, bias: \\(long int\\) &arr1\\[SAVE_EXPR <x>\\] - \\(long int\\) &arr1\\]\\)" +PASS: g++.dg/gomp/array-section-2.C -std=c++98 (test for excess errors) Etc. +PASS: g++.dg/gomp/bad-array-section-4.C -std=c++98 at line 15 (test for errors, line 14) +PASS: g++.dg/gomp/bad-array-section-4.C -std=c++98 at line 16 (test for errors, line 14) +PASS: g++.dg/gomp/bad-array-section-4.C -std=c++98 at line 17 (test for errors, line 14) +PASS: g++.dg/gomp/bad-array-section-4.C -std=c++98 at line 22 (test for warnings, line 21) +PASS: g++.dg/gomp/bad-array-section-4.C -std=c++98 at line 36 (test for errors, line 35) +FAIL: g++.dg/gomp/bad-array-section-4.C -std=c++98 at line 37 (test for warnings, line 35) +PASS: g++.dg/gomp/bad-array-section-4.C -std=c++98 at line 38 (test for errors, line 35) +PASS: g++.dg/gomp/bad-array-section-4.C -std=c++98 at line 39 (test for errors, line 35) +PASS: g++.dg/gomp/bad-array-section-4.C -std=c++98 at line 44 (test for warnings, line 43) +PASS: g++.dg/gomp/bad-array-section-4.C -std=c++98 (test for excess errors) Etc. Grüße Thomas ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955