diff options
author | Tobias Burnus <tobias@codesourcery.com> | 2023-09-12 11:12:16 +0200 |
---|---|---|
committer | Tobias Burnus <tobias@codesourcery.com> | 2023-09-12 11:12:16 +0200 |
commit | 27144cc05c4e12f58998b6e30d23098664dd51db (patch) | |
tree | 31387db649022efa9262e679687434c33fb39127 /gcc/go | |
parent | 5e19f8991579f70aeccbe4003b7f8c914ce7f338 (diff) | |
download | gcc-27144cc05c4e12f58998b6e30d23098664dd51db.zip gcc-27144cc05c4e12f58998b6e30d23098664dd51db.tar.gz gcc-27144cc05c4e12f58998b6e30d23098664dd51db.tar.bz2 |
OpenMP (C only): For 'omp allocate', really walk tree for 'alloctor' check
Walk expression tree of the 'allocator' clause of 'omp allocate' to
detect more cases where the allocator expression depends on code between
a variable declaration and its associated '#pragma omp allocate'. It also
contains the fix for the 'allocator((omp_allocator_handle_t)-1)' ICE, also
tested for in previous commit.
The changes of this commit were supposed to be part of
r14-3863-g35f498d8dfc8e579eaba2ff2d2b96769c632fd58
OpenMP (C only): omp allocate - extend parsing support, improve diagnostic
which also contains the associated testcase changes but were left out (oops!).
gcc/c/ChangeLog:
* c-parser.cc (struct c_omp_loc_tree): New.
(c_check_omp_allocate_allocator_r): New; checking moved from ...
(c_parser_omp_allocate): ... here. Call it via walk_tree. Avoid
ICE with tree_to_shwi for invalid too-large value.
Diffstat (limited to 'gcc/go')
0 files changed, 0 insertions, 0 deletions