aboutsummaryrefslogtreecommitdiff
path: root/gcc/c/c-decl.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2019-10-25 00:29:09 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2019-10-25 00:29:09 +0200
commit135df52cc3f1ef90092ab02a01c4dabc7fd0ed18 (patch)
tree788a3c845a393f73563f1c4dba757939c85265ff /gcc/c/c-decl.c
parentf8cb8bcde13df2f2b1a996567c849ec512eec210 (diff)
downloadgcc-135df52cc3f1ef90092ab02a01c4dabc7fd0ed18.zip
gcc-135df52cc3f1ef90092ab02a01c4dabc7fd0ed18.tar.gz
gcc-135df52cc3f1ef90092ab02a01c4dabc7fd0ed18.tar.bz2
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
Diffstat (limited to 'gcc/c/c-decl.c')
-rw-r--r--gcc/c/c-decl.c8
1 files changed, 6 insertions, 2 deletions
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