aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
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/cp
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/cp')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/decl2.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index c8135ff..f8ebb2d 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2015-03-19 Jakub Jelinek <jakub@redhat.com>
+
+ * decl2.c (cplus_decl_attributes): Also add "omp declare target"
+ attribute for DECL_EXTERNAL VAR_DECLs.
+
2015-03-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/65340
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index a2d1eae..989a030 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -1440,7 +1440,8 @@ cplus_decl_attributes (tree *decl, tree attributes, int flags)
/* Add implicit "omp declare target" attribute if requested. */
if (scope_chain->omp_declare_target_attribute
- && ((TREE_CODE (*decl) == VAR_DECL && TREE_STATIC (*decl))
+ && ((TREE_CODE (*decl) == VAR_DECL
+ && (TREE_STATIC (*decl) || DECL_EXTERNAL (*decl)))
|| TREE_CODE (*decl) == FUNCTION_DECL))
{
if (TREE_CODE (*decl) == VAR_DECL