aboutsummaryrefslogtreecommitdiff
path: root/gcc/c/c-parser.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2019-11-02 10:02:21 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2019-11-02 10:02:21 +0100
commitd0c464d27244ba47e66f3e1444354e423304bd12 (patch)
treebf2a4b0ab2cb56537d82c7caa73be8a0c0ed6173 /gcc/c/c-parser.c
parent628be4ef7078d5fcbd0096f7b11fb9a24e4da08a (diff)
downloadgcc-d0c464d27244ba47e66f3e1444354e423304bd12.zip
gcc-d0c464d27244ba47e66f3e1444354e423304bd12.tar.gz
gcc-d0c464d27244ba47e66f3e1444354e423304bd12.tar.bz2
gimplify.h (omp_construct_selector_matches): Change return type to int, add a new SCORES argument.
* gimplify.h (omp_construct_selector_matches): Change return type to int, add a new SCORES argument. * gimplify.c (omp_construct_selector_matches): Likewise. If SCORES is non-NULL, compute scores of each construct. * omp-general.h (omp_get_context_selector): Declare. * omp-general.c (omp_maybe_offloaded, omp_context_selector_matches): Adjust omp_construct_selector_matches callers. (omp_get_context_selector): New function, moved from c-family/c-omp.c. (omp_context_compute_score): New function. (omp_resolve_declare_variant): Compute scores and decide based on that. c-family/ * c-common.h (c_omp_get_context_selector): Remove. * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c and renamed to omp_get_context_selector. c/ * c-parser.c (c_finish_omp_declare_variant): Use omp_get_context_selector instead of c_omp_get_context_selector. cp/ * decl.c (omp_declare_variant_finalize_one): Use omp_get_context_selector instead of c_omp_get_context_selector. testsuite/ * c-c++-common/gomp/declare-variant-12.c: New test. From-SVN: r277742
Diffstat (limited to 'gcc/c/c-parser.c')
-rw-r--r--gcc/c/c-parser.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c
index 9589cc6..6a43419 100644
--- a/gcc/c/c-parser.c
+++ b/gcc/c/c-parser.c
@@ -19465,8 +19465,7 @@ c_finish_omp_declare_variant (c_parser *parser, tree fndecl, tree parms)
error_at (token->location, "variant %qD is not a function", variant);
variant = error_mark_node;
}
- else if (c_omp_get_context_selector (ctx, "construct", "simd")
- == NULL_TREE
+ else if (omp_get_context_selector (ctx, "construct", "simd") == NULL_TREE
&& !comptypes (TREE_TYPE (fndecl), TREE_TYPE (variant)))
{
error_at (token->location, "variant %qD and base %qD have "
@@ -19487,7 +19486,7 @@ c_finish_omp_declare_variant (c_parser *parser, tree fndecl, tree parms)
if (variant != error_mark_node)
{
C_DECL_USED (variant) = 1;
- tree construct = c_omp_get_context_selector (ctx, "construct", NULL);
+ tree construct = omp_get_context_selector (ctx, "construct", NULL);
c_omp_mark_declare_variant (match_loc, variant, construct);
if (omp_context_selector_matches (ctx))
{