mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-30 23:35:00 +08:00
varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for the external decls.
gcc/ * varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for the external decls. libgomp/ * testsuite/libgomp.fortran/declare-target-1.f90: New test. * testsuite/libgomp.fortran/declare-target-2.f90: New file. From-SVN: r221421
This commit is contained in:
parent
d3ef4bd61f
commit
db397e2e5a
@ -1,3 +1,8 @@
|
||||
2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
|
||||
|
||||
* varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for
|
||||
the external decls.
|
||||
|
||||
2015-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||||
|
||||
PR target/64600
|
||||
|
@ -173,7 +173,7 @@ varpool_node::get_create (tree decl)
|
||||
node = varpool_node::create_empty ();
|
||||
node->decl = decl;
|
||||
|
||||
if ((flag_openacc || flag_openmp)
|
||||
if ((flag_openacc || flag_openmp) && !DECL_EXTERNAL (decl)
|
||||
&& lookup_attribute ("omp declare target", DECL_ATTRIBUTES (decl)))
|
||||
{
|
||||
node->offloadable = 1;
|
||||
|
@ -1,3 +1,8 @@
|
||||
2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
|
||||
|
||||
* testsuite/libgomp.fortran/declare-target-1.f90: New test.
|
||||
* testsuite/libgomp.fortran/declare-target-2.f90: New file.
|
||||
|
||||
2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||
|
||||
* configure.tgt (*-*-rtems*): Use local-exec TLS model.
|
||||
|
15
libgomp/testsuite/libgomp.fortran/declare-target-1.f90
Normal file
15
libgomp/testsuite/libgomp.fortran/declare-target-1.f90
Normal file
@ -0,0 +1,15 @@
|
||||
! { dg-do run }
|
||||
! { dg-additional-sources declare-target-2.f90 }
|
||||
|
||||
module declare_target_1_mod
|
||||
integer :: var_x
|
||||
!$omp declare target(var_x)
|
||||
end module declare_target_1_mod
|
||||
|
||||
interface
|
||||
subroutine foo ()
|
||||
end subroutine foo
|
||||
end interface
|
||||
|
||||
call foo ()
|
||||
end
|
18
libgomp/testsuite/libgomp.fortran/declare-target-2.f90
Normal file
18
libgomp/testsuite/libgomp.fortran/declare-target-2.f90
Normal file
@ -0,0 +1,18 @@
|
||||
! Don't compile this anywhere, it is just auxiliary
|
||||
! file compiled together with declare-target-1.f90
|
||||
! to verify inter-CU module handling of omp declare target.
|
||||
! { dg-do compile { target { lp64 && { ! lp64 } } } }
|
||||
|
||||
subroutine foo
|
||||
use declare_target_1_mod
|
||||
|
||||
var_x = 10
|
||||
!$omp target update to(var_x)
|
||||
|
||||
!$omp target
|
||||
var_x = var_x * 2;
|
||||
!$omp end target
|
||||
|
||||
!$omp target update from(var_x)
|
||||
if (var_x /= 20) call abort
|
||||
end subroutine foo
|
Loading…
Reference in New Issue
Block a user