openmp: Ensure proper diagnostics for -> in map/to/from clauses [PR104532]
authorJakub Jelinek <jakub@redhat.com>
Thu, 17 Feb 2022 09:29:06 +0000 (10:29 +0100)
committerJakub Jelinek <jakub@redhat.com>
Thu, 17 Feb 2022 09:29:06 +0000 (10:29 +0100)
commitf99ad11af953568e1a01e4f4fe31cba0f11879a5
tree965f0a884111ea38f707392d8aebc25e98a8a53e
parent550cabd00238a8e74783ba6ad05a7580d074aabd
openmp: Ensure proper diagnostics for -> in map/to/from clauses [PR104532]

The following patch uses the functions normal CPP_DEREF parsing uses,
i.e. convert_lvalue_to_rvalue and build_indirect_ref, instead of
blindly calling build_simple_mem_ref, so that if the variable does not
have correct type, we properly diagnose it instead of ICEing on it.

2022-02-17  Jakub Jelinek  <jakub@redhat.com>

PR c/104532
* c-parser.cc (c_parser_omp_variable_list): For CPP_DEREF, use
convert_lvalue_to_rvalue and build_indirect_ref instead of
build_simple_mem_ref.

* gcc.dg/gomp/pr104532.c: New test.
gcc/c/c-parser.cc
gcc/testsuite/gcc.dg/gomp/pr104532.c [new file with mode: 0644]