aboutsummaryrefslogtreecommitdiff
path: root/gcc/c/c-decl.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2015-03-19 20:12:43 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2015-03-19 20:12:43 +0100
commit9b65e171edf31cd83fd075f6ed4f3943ebecc505 (patch)
treef0b46bd92e908bd774e4726f1c69ec6676f54ea5 /gcc/c/c-decl.c
parent257291fc895a29a88d3d68719e580edcddd9a280 (diff)
downloadgcc-9b65e171edf31cd83fd075f6ed4f3943ebecc505.zip
gcc-9b65e171edf31cd83fd075f6ed4f3943ebecc505.tar.gz
gcc-9b65e171edf31cd83fd075f6ed4f3943ebecc505.tar.bz2
c-decl.c (c_decl_attributes): Also add "omp declare target" attribute for DECL_EXTERNAL VAR_DECLs.
* c-decl.c (c_decl_attributes): Also add "omp declare target" attribute for DECL_EXTERNAL VAR_DECLs. * decl2.c (cplus_decl_attributes): Also add "omp declare target" attribute for DECL_EXTERNAL VAR_DECLs. * testsuite/libgomp.c/target-10.c: New test. * testsuite/libgomp.c++/target-4.C: New test. From-SVN: r221520
Diffstat (limited to 'gcc/c/c-decl.c')
-rw-r--r--gcc/c/c-decl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/c/c-decl.c b/gcc/c/c-decl.c
index c140837..e1741f1 100644
--- a/gcc/c/c-decl.c
+++ b/gcc/c/c-decl.c
@@ -4407,7 +4407,8 @@ c_decl_attributes (tree *node, tree attributes, int flags)
{
/* Add implicit "omp declare target" attribute if requested. */
if (current_omp_declare_target_attribute
- && ((TREE_CODE (*node) == VAR_DECL && TREE_STATIC (*node))
+ && ((TREE_CODE (*node) == VAR_DECL
+ && (TREE_STATIC (*node) || DECL_EXTERNAL (*node)))
|| TREE_CODE (*node) == FUNCTION_DECL))
{
if (TREE_CODE (*node) == VAR_DECL