From 135df52cc3f1ef90092ab02a01c4dabc7fd0ed18 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 25 Oct 2019 00:29:09 +0200 Subject: gimplify.h (omp_construct_selector_matches): Declare. * gimplify.h (omp_construct_selector_matches): Declare. * gimplify.c (struct gimplify_omp_ctx): Add code member. (gimplify_call_expr): Call omp_resolve_declare_variant and remap called function if needed for flag_openmp. (gimplify_scan_omp_clauses): Set ctx->code. (omp_construct_selector_matches): New function. * omp-general.h (omp_constructor_traits_to_codes, omp_context_selector_matches, omp_resolve_declare_variant): Declare. * omp-general.c (omp_constructor_traits_to_codes, omp_context_selector_matches, omp_resolve_declare_variant): New functions. c-family/ * c-common.h (c_omp_context_selector_matches): Remove. * c-omp.c (c_omp_context_selector_matches): Remove. * c-attribs.c (c_common_attribute_table): Add "omp declare target {host,nohost,block}" attributes. c/ * c-parser.c (c_finish_omp_declare_variant): Use omp_context_selector_matches instead of c_omp_context_selector_matches. * c-decl.c (c_decl_attributes): Add "omp declare target block" attribute in between declare target and end declare target pragmas. cp/ * decl2.c (cplus_decl_attributes): Add "omp declare target block" attribute in between declare target and end declare target pragmas. testsuite/ * c-c++-common/gomp/declare-variant-8.c: New test. From-SVN: r277427 --- gcc/c/c-decl.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'gcc/c/c-decl.c') diff --git a/gcc/c/c-decl.c b/gcc/c/c-decl.c index f67033b..c6c4a4d 100644 --- a/gcc/c/c-decl.c +++ b/gcc/c/c-decl.c @@ -4832,8 +4832,12 @@ c_decl_attributes (tree *node, tree attributes, int flags) attributes = tree_cons (get_identifier ("omp declare target implicit"), NULL_TREE, attributes); else - attributes = tree_cons (get_identifier ("omp declare target"), - NULL_TREE, attributes); + { + attributes = tree_cons (get_identifier ("omp declare target"), + NULL_TREE, attributes); + attributes = tree_cons (get_identifier ("omp declare target block"), + NULL_TREE, attributes); + } } /* Look up the current declaration with all the attributes merged -- cgit v1.1