From patchwork Wed Jul 15 14:28:19 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Thomas Schwinge X-Patchwork-Id: 495866 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 029711402AC for ; Thu, 16 Jul 2015 00:28:45 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=ZnfE1p3W; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:subject:in-reply-to:references:date:message-id:mime-version :content-type; q=dns; s=default; b=I7RPrFSQfw0dD5xTSDcgI+TQA7XR1 MArWsf2WENXi+aAF3WejJU1Rk2gy6UgEnF30yG6ZHfF2UytD0G3WGgWBhUb7aiWW QKdN47vMlE/WmxyO+R5mbr+xqHRNKDf07ugTKBFqX4nZrCcR+UH/EsW4UqTJJ16H 4eRE7wK2aKCL5Q= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:subject:in-reply-to:references:date:message-id:mime-version :content-type; s=default; bh=JfjzHKl8/WvToR14Oa84AU1eT9E=; b=Znf E1p3WBtrlfYSgXVIqNeoUJkRL87vhKiGOCbqNambo/Zs8osqEHlQcN2HqrpYzN3g 7Wj9gXGC0OoPVXVTfS8Rp12V/o3BR2UtZWnLcOEOa62+g2SSr/eeDlje04Cas5E0 zJ4P15x/YG85PbOEUPClhKwesRhgeKQVnFuBwT5U= Received: (qmail 85840 invoked by alias); 15 Jul 2015 14:28:38 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 85831 invoked by uid 89); 15 Jul 2015 14:28:37 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=AWL, BAYES_40, KAM_INFOUSMEBIZ, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 15 Jul 2015 14:28:34 +0000 Received: from nat-ies.mentorg.com ([192.94.31.2] helo=SVR-IES-FEM-01.mgc.mentorg.com) by relay1.mentorg.com with esmtp id 1ZFNfi-0004CY-BK from Thomas_Schwinge@mentor.com for gcc-patches@gcc.gnu.org; Wed, 15 Jul 2015 07:28:31 -0700 Received: from feldtkeller.schwinge.homeip.net (137.202.0.76) by SVR-IES-FEM-01.mgc.mentorg.com (137.202.0.104) with Microsoft SMTP Server id 14.3.224.2; Wed, 15 Jul 2015 15:28:29 +0100 From: Thomas Schwinge To: Nathan Sidwell , Subject: Re: [gomp4] libgomp: Cope with DejaGnu having no mechanism to transfer environment variables to remote boards In-Reply-To: <87iobwjfh1.fsf@schwinge.name> References: <5375D239.40605@mentor.com> <537644B1.6090600@mentor.com> <87ppjd61ro.fsf@schwinge.name> <87lho6rfr7.fsf@schwinge.name> <87vbnaph0d.fsf@schwinge.name> <87iobwjfh1.fsf@schwinge.name> <55A6652D.4090004@mentor.com> User-Agent: Notmuch/0.9-101-g81dad07 (http://notmuchmail.org) Emacs/24.4.1 (i586-pc-linux-gnu) Date: Wed, 15 Jul 2015 16:28:19 +0200 Message-ID: <87oajdwl4s.fsf@kepler.schwinge.homeip.net> MIME-Version: 1.0 Hi! (CCed to gcc-patches in case this is useful for anyone else, too.) Nathan noticed that the following patch ("hack") no longer applies cleanly to GCC trunk: On Thu, 14 May 2015 00:10:50 +0200, I wrote: > On Fri, 24 Oct 2014 00:18:10 +0200, I wrote: > > On Thu, 23 Oct 2014 17:02:20 +0200, I wrote: > > > On Fri, 16 May 2014 20:01:47 +0200, I wrote: > > > > On Fri, 16 May 2014 19:02:41 +0200, Tom de Vries wrote: > > > > > Essentially I want to run the set of testcases in libgomp.oacc-c, similar to how > > > > > it is done in libgomp.oacc-c/c.exp, with the environment variable > > > > > ACC_DEVICE_TYPE set to host for the executable. > > > > > > > > Thanks for working on this; indeed the idea is that we run the libgomp > > > > execution tests is as many configurations as possible -- sort of how > > > > certain classes of GCC tests are run for many different compiler options > > > > (optimization levels). I suggest this to be implemented in the existing > > > > libgomp.*/*.exp files, by setting up some suitable looping over all > > > > supported accelerator targets (currently just the one GCC has been > > > > configured with) as well as host fallback, with suitable tags being added > > > > to the PASS/FAIL lines. It appears to make sense to first separate any > > > > libgomp tests that test "traditional" OpenMP shared-memory, so don't run > > > > on acceleration devices; these of course only need to be run once. > > > > > > > > > I'm not sure setenv is guaranteed to work. > > > > > > Indeed that does not work for non-native testing, which is what we're > > > doing [...]... That means, we can't do any testing of > > > offloading -- which is "a bit" unfortunate. > > > > > > I found this related discussion: > > > > > http://marc.info/?t=121622718700001&r=1&w=2 . > > > > > > > > Is it just the shell quoting issue that remains? That's fixable. > > > > > > Instead of going this route (the approach has later been disputed > > > upstream), I cooked up something else. This is clearly a hack, and I > > > hope to get rid of that as soon as possible. But it works. > > > > Here it is. Don't look closely -- you've been warned. My hope is that > > we'll be able to get rid of that rather sooner than later: > > [...] for this use of ACC_DEVICE_TYPE, I hope that soon we'll > > get a compiler option to specify the default offloading device. (Intel > > are working into this direction, upstream, -foffload=[...].) > > (That -foffload=[...] option exists, but we're not yet (able) to use it > as desired.) See also the discussion in > , > , > and so on. > > > Until then: committed [...], with disgust. > > Until then: committed to gomp-4_0-branch in r223185, with disgust. > > commit 5803a3376041706672baede225a2dc47d70dd9a1 > Author: tschwinge > Date: Wed May 13 22:07:27 2015 +0000 > > libgomp: Cope with DejaGnu having no mechanism to transfer environment variables to remote boards ..., so I resolved the merge conflicts; here is the patch (untested, but should be fine) rebased onto current trunk r225829: commit 31d8e05087bf129c1afe7be6593311d204393c09 Author: Thomas Schwinge Date: Wed Jul 15 16:11:23 2015 +0200 libgomp: Cope with DejaGnu having no mechanism to transfer environment variables to remote boards No doubt, looking forward to the day, when this can be reverted. Port gomp-4_0-branch r223185: libgomp/ * env.c (initialize_env): Remove static attribute. * libgomp.map (INTERNAL): Export initialize_env. * testsuite/lib/libgomp.exp (libgomp_init): Build a few object files to pre-set environment variables. (ALWAYS_CFLAGS): Add constructor-setenv-defaults.o to ldflags. (libgomp_target_compile): Don't set the compiler. * testsuite/libgomp.c++/c++.exp (GXX_UNDER_TEST): Provide default. (libgomp_compile_options): Set the compiler. * testsuite/libgomp.c/c.exp (libgomp_compile_options): Set the compiler. * testsuite/libgomp.fortran/fortran.exp (GFORTRAN_UNDER_TEST): Provide default. (libgomp_compile_options): Set the compiler. * testsuite/libgomp.graphite/graphite.exp (libgomp_compile_options): Set the compiler. * testsuite/libgomp.oacc-c++/c++.exp (SAVE_GCC_UNDER_TEST) (GCC_UNDER_TEST): Don't set. (GXX_UNDER_TEST): Provide default. (libgomp_compile_options): Set the compiler. (ALWAYS_CFLAGS): Add the respective constructor-setenv-ACC_DEVICE_TYPE-$offload_target_openacc.o to ldflags. (ACC_DEVICE_TYPE): Don't set. * testsuite/libgomp.oacc-c/c.exp (libgomp_compile_options): Set the compiler. (ALWAYS_CFLAGS): Add the respective constructor-setenv-ACC_DEVICE_TYPE-$offload_target_openacc.o to ldflags. (ACC_DEVICE_TYPE): Don't set. * testsuite/libgomp.oacc-fortran/fortran.exp (libgomp_compile_options): Set the compiler. (ALWAYS_CFLAGS): Add the respective constructor-setenv-ACC_DEVICE_TYPE-$offload_target_openacc.o to ldflags. (ACC_DEVICE_TYPE): Don't set. --- libgomp/env.c | 6 ++- libgomp/libgomp.map | 6 +++ libgomp/testsuite/lib/libgomp.exp | 56 ++++++++++++++++++-- libgomp/testsuite/libgomp.c++/c++.exp | 13 +++++ libgomp/testsuite/libgomp.c/c.exp | 2 + libgomp/testsuite/libgomp.fortran/fortran.exp | 5 ++ libgomp/testsuite/libgomp.graphite/graphite.exp | 2 + libgomp/testsuite/libgomp.oacc-c++/c++.exp | 25 ++++++--- libgomp/testsuite/libgomp.oacc-c/c.exp | 7 ++- libgomp/testsuite/libgomp.oacc-fortran/fortran.exp | 12 ++++- 10 files changed, 117 insertions(+), 17 deletions(-) Grüße, Thomas diff --git libgomp/env.c libgomp/env.c index 6b5e963..1811bf5 100644 --- libgomp/env.c +++ libgomp/env.c @@ -1175,7 +1175,11 @@ handle_omp_display_env (unsigned long stacksize, int wait_policy) } -static void __attribute__((constructor)) +/* TODO. See testsuite/lib/libgomp.exp:libgomp_init. */ +#if 0 +static +#endif +void __attribute__((constructor)) initialize_env (void) { unsigned long thread_limit_var, stacksize; diff --git libgomp/libgomp.map libgomp/libgomp.map index 2b2b953..a3e80b4 100644 --- libgomp/libgomp.map +++ libgomp/libgomp.map @@ -337,3 +337,9 @@ GOMP_PLUGIN_1.0 { GOMP_PLUGIN_async_unmap_vars; GOMP_PLUGIN_acc_thread; }; + +# TODO. See testsuite/lib/libgomp.exp:libgomp_init. +INTERNAL { + global: + initialize_env; +}; diff --git libgomp/testsuite/lib/libgomp.exp libgomp/testsuite/lib/libgomp.exp index 438777f..982d25e 100644 --- libgomp/testsuite/lib/libgomp.exp +++ libgomp/testsuite/lib/libgomp.exp @@ -235,6 +235,57 @@ proc libgomp_init { args } { if { $offload_additional_options != "" } { lappend ALWAYS_CFLAGS "additional_flags=${offload_additional_options}" } + + # TODO. Evil hack. DejaGnu doesn't have a mechanism for setting + # environment variables on remote boards. Thus, we have to fake it, using + # GCC's constructor attributes to create object files that install the + # desired environment variables. + set e_list [list \ + [list defaults DUMMY=dummy ] \ + [list ACC_DEVICE_TYPE-host ACC_DEVICE_TYPE=host ] \ + [list ACC_DEVICE_TYPE-host_nonshm ACC_DEVICE_TYPE=host_nonshm ] \ + [list ACC_DEVICE_TYPE-nvidia ACC_DEVICE_TYPE=nvidia ] ] + foreach e $e_list { + set v [lindex $e 0] + set s [lindex $e 1] + verbose "creating constructor-setenv: $v: $s" + set src constructor-setenv-$v.c + set obj constructor-setenv-$v.o + set f_src [open $src "w"] + puts $f_src "static void __attribute__((constructor(1000)))" + puts $f_src "init_env(void) {" + puts $f_src " int putenv(char *);" + puts $f_src " putenv(\"$s\");" + puts $f_src "}" + if { $v == "defaults" } { + # TODO. We want libgomp to initialize after the putenv calls. + # But: shared libraries' constructors (and thus + # env.c:initialize_env) will be called before the executable's + # (init_env functions created above), so it will already have been + # initialized (and has to be, in case we're not linking in this + # gunk). Assuming no execution of other libgomp functionality in + # between (which we're not doing during initialization), + # initialize_env's effects are idempotent when calling it again, so + # we'll do that now, after the putenv calls have been executed. + puts $f_src "static void __attribute__((constructor(1001)))" + puts $f_src "init_libgomp(void) {" + # Some test cases specify -fno-openmp, so libgomp isn't linked in. + puts $f_src " void initialize_env(void) __attribute__((weak));" + puts $f_src " if (initialize_env)" + puts $f_src " initialize_env();" + puts $f_src "}" + } + close $f_src + # TODO. Using whichever compiler is currently configured... At least + # switch it into C mode. + set lines [libgomp_target_compile $src $obj object "additional_flags=-xc"] + # TODO. Error checking. + file delete $src + } + # When adding constructor-setenv-*.o files, make sure to cancel any -x flag + # that may have been set before. + lappend ALWAYS_CFLAGS "ldflags=-x none" + lappend ALWAYS_CFLAGS "ldflags=constructor-setenv-defaults.o" } # @@ -246,7 +297,6 @@ proc libgomp_target_compile { source dest type options } { global libgomp_compile_options global gluefile wrap_flags global ALWAYS_CFLAGS - global GCC_UNDER_TEST global lang_test_file global lang_library_path global lang_link_flags @@ -274,7 +324,6 @@ proc libgomp_target_compile { source dest type options } { lappend options "additional_flags=[libio_include_flags]" lappend options "timeout=[timeout_value]" - lappend options "compiler=$GCC_UNDER_TEST" set options [concat $libgomp_compile_options $options] @@ -332,8 +381,7 @@ proc check_effective_target_openacc_nvidia_accel_present { } { } # Return 1 if at least one nvidia board is present, and the nvidia device type -# is selected by default by means of setting the environment variable -# ACC_DEVICE_TYPE. +# is selected by default. proc check_effective_target_openacc_nvidia_accel_selected { } { if { ![check_effective_target_openacc_nvidia_accel_present] } { diff --git libgomp/testsuite/libgomp.c++/c++.exp libgomp/testsuite/libgomp.c++/c++.exp index 0454f95..d6d525a 100644 --- libgomp/testsuite/libgomp.c++/c++.exp +++ libgomp/testsuite/libgomp.c++/c++.exp @@ -4,6 +4,7 @@ load_gcc_lib gcc-dg.exp global shlib_ext set shlib_ext [get_shlib_extension] +#TODO set lang_link_flags "-lstdc++" set lang_test_file_found 0 set lang_library_path "../libstdc++-v3/src/.libs" @@ -46,6 +47,13 @@ if { $blddir != "" } { } if { $lang_test_file_found } { + if ![info exists GXX_UNDER_TEST] then { + # TODO. See libgomp.oacc-c++/c++.exp. + set HAVE_SET_GXX_UNDER_TEST "" + set GXX_UNDER_TEST "$GCC_UNDER_TEST" + } + lappend libgomp_compile_options "compiler=$GXX_UNDER_TEST" + # Gather a list of all tests. set tests [lsort [find $srcdir/$subdir *.C]] @@ -68,5 +76,10 @@ if { $lang_test_file_found } { dg-runtest $tests "" "$libstdcxx_includes $DEFAULT_CFLAGS" } +# TODO. See above. +if { [info exists HAVE_SET_GXX_UNDER_TEST] } { + unset GXX_UNDER_TEST +} + # All done. dg-finish diff --git libgomp/testsuite/libgomp.c/c.exp libgomp/testsuite/libgomp.c/c.exp index 300b921..25f347b 100644 --- libgomp/testsuite/libgomp.c/c.exp +++ libgomp/testsuite/libgomp.c/c.exp @@ -23,6 +23,8 @@ dg-init # Turn on OpenMP. lappend ALWAYS_CFLAGS "additional_flags=-fopenmp" +lappend libgomp_compile_options "compiler=$GCC_UNDER_TEST" + # Gather a list of all tests. set tests [lsort [find $srcdir/$subdir *.c]] diff --git libgomp/testsuite/libgomp.fortran/fortran.exp libgomp/testsuite/libgomp.fortran/fortran.exp index 9e6b643..38ed30a 100644 --- libgomp/testsuite/libgomp.fortran/fortran.exp +++ libgomp/testsuite/libgomp.fortran/fortran.exp @@ -44,6 +44,11 @@ if { $blddir != "" } { } if { $lang_test_file_found } { + if ![info exists GFORTRAN_UNDER_TEST] then { + set GFORTRAN_UNDER_TEST $GCC_UNDER_TEST + } + lappend libgomp_compile_options "compiler=$GFORTRAN_UNDER_TEST" + # Gather a list of all tests. set tests [lsort [find $srcdir/$subdir *.\[fF\]{,90,95,03,08}]] diff --git libgomp/testsuite/libgomp.graphite/graphite.exp libgomp/testsuite/libgomp.graphite/graphite.exp index d737c85..716cdc3 100644 --- libgomp/testsuite/libgomp.graphite/graphite.exp +++ libgomp/testsuite/libgomp.graphite/graphite.exp @@ -48,6 +48,8 @@ dg-init # Turn on OpenMP. lappend ALWAYS_CFLAGS "additional_flags=-fopenmp" +lappend libgomp_compile_options "compiler=$GCC_UNDER_TEST" + # Gather a list of all tests. set tests [lsort [find $srcdir/$subdir *.c]] diff --git libgomp/testsuite/libgomp.oacc-c++/c++.exp libgomp/testsuite/libgomp.oacc-c++/c++.exp index 3b97024..0272b98 100644 --- libgomp/testsuite/libgomp.oacc-c++/c++.exp +++ libgomp/testsuite/libgomp.oacc-c++/c++.exp @@ -6,6 +6,7 @@ load_gcc_lib gcc-dg.exp global shlib_ext set shlib_ext [get_shlib_extension] +#TODO set lang_link_flags "-lstdc++" set lang_test_file_found 0 set lang_library_path "../libstdc++-v3/src/.libs" @@ -24,11 +25,6 @@ dg-init # Turn on OpenACC. lappend ALWAYS_CFLAGS "additional_flags=-fopenacc" -# Switch into C++ mode. Otherwise, the libgomp.oacc-c-c++-common/*.c -# files would be compiled as C files. -set SAVE_GCC_UNDER_TEST "$GCC_UNDER_TEST" -set GCC_UNDER_TEST "$GCC_UNDER_TEST -x c++" - set blddir [lookfor_file [get_multilibs] libgomp] @@ -53,6 +49,14 @@ if { $blddir != "" } { } if { $lang_test_file_found } { + if ![info exists GXX_UNDER_TEST] then { + # Use GCC_UNDER_TEST, but switch into C++ mode, as otherwise the + # libgomp.oacc-c-c++-common/*.c files would be compiled as C files. + set HAVE_SET_GXX_UNDER_TEST "" + set GXX_UNDER_TEST "$GCC_UNDER_TEST -x c++" + } + lappend libgomp_compile_options "compiler=$GXX_UNDER_TEST" + # Gather a list of all tests. set tests [lsort [concat \ [find $srcdir/$subdir *.C] \ @@ -74,8 +78,13 @@ if { $lang_test_file_found } { } # Test OpenACC with available accelerators. + set SAVE_ALWAYS_CFLAGS "$ALWAYS_CFLAGS" foreach offload_target_openacc $offload_targets_s_openacc { + set ALWAYS_CFLAGS "$SAVE_ALWAYS_CFLAGS" set tagopt "-DACC_DEVICE_TYPE_$offload_target_openacc=1" + # Set $ACC_DEVICE_TYPE. See the comments in + # ../lib/libgomp.exp:libgomp_init. + lappend ALWAYS_CFLAGS "ldflags=constructor-setenv-ACC_DEVICE_TYPE-$offload_target_openacc.o" switch $offload_target_openacc { host { @@ -105,14 +114,14 @@ if { $lang_test_file_found } { } set tagopt "$tagopt -DACC_MEM_SHARED=$acc_mem_shared" - setenv ACC_DEVICE_TYPE $offload_target_openacc - dg-runtest $tests "$tagopt" "$libstdcxx_includes $DEFAULT_CFLAGS" } } # See above. -set GCC_UNDER_TEST "$SAVE_GCC_UNDER_TEST" +if { [info exists HAVE_SET_GXX_UNDER_TEST] } { + unset GXX_UNDER_TEST +} # All done. dg-finish diff --git libgomp/testsuite/libgomp.oacc-c/c.exp libgomp/testsuite/libgomp.oacc-c/c.exp index 326b988..03946a6 100644 --- libgomp/testsuite/libgomp.oacc-c/c.exp +++ libgomp/testsuite/libgomp.oacc-c/c.exp @@ -25,6 +25,8 @@ dg-init # Turn on OpenACC. lappend ALWAYS_CFLAGS "additional_flags=-fopenacc" +lappend libgomp_compile_options "compiler=$GCC_UNDER_TEST" + # Gather a list of all tests. set tests [lsort [concat \ [find $srcdir/$subdir *.c] \ @@ -39,6 +41,9 @@ set SAVE_ALWAYS_CFLAGS "$ALWAYS_CFLAGS" foreach offload_target_openacc $offload_targets_s_openacc { set ALWAYS_CFLAGS "$SAVE_ALWAYS_CFLAGS" set tagopt "-DACC_DEVICE_TYPE_$offload_target_openacc=1" + # Set $ACC_DEVICE_TYPE. See the comments in + # ../lib/libgomp.exp:libgomp_init. + lappend ALWAYS_CFLAGS "ldflags=constructor-setenv-ACC_DEVICE_TYPE-$offload_target_openacc.o" switch $offload_target_openacc { host { @@ -68,8 +73,6 @@ foreach offload_target_openacc $offload_targets_s_openacc { } set tagopt "$tagopt -DACC_MEM_SHARED=$acc_mem_shared" - setenv ACC_DEVICE_TYPE $offload_target_openacc - dg-runtest $tests "$tagopt" $DEFAULT_CFLAGS } diff --git libgomp/testsuite/libgomp.oacc-fortran/fortran.exp libgomp/testsuite/libgomp.oacc-fortran/fortran.exp index a8aaff0..0814426 100644 --- libgomp/testsuite/libgomp.oacc-fortran/fortran.exp +++ libgomp/testsuite/libgomp.oacc-fortran/fortran.exp @@ -46,6 +46,11 @@ if { $blddir != "" } { } if { $lang_test_file_found } { + if ![info exists GFORTRAN_UNDER_TEST] then { + set GFORTRAN_UNDER_TEST $GCC_UNDER_TEST + } + lappend libgomp_compile_options "compiler=$GFORTRAN_UNDER_TEST" + # Gather a list of all tests. set tests [lsort [find $srcdir/$subdir *.\[fF\]{,90,95,03,08}]] @@ -66,8 +71,13 @@ if { $lang_test_file_found } { set_ld_library_path_env_vars # Test OpenACC with available accelerators. + set SAVE_ALWAYS_CFLAGS "$ALWAYS_CFLAGS" foreach offload_target_openacc $offload_targets_s_openacc { + set ALWAYS_CFLAGS "$SAVE_ALWAYS_CFLAGS" set tagopt "-DACC_DEVICE_TYPE_$offload_target_openacc=1" + # Set $ACC_DEVICE_TYPE. See the comments in + # ../lib/libgomp.exp:libgomp_init. + lappend ALWAYS_CFLAGS "ldflags=constructor-setenv-ACC_DEVICE_TYPE-$offload_target_openacc.o" switch $offload_target_openacc { host { @@ -91,8 +101,6 @@ if { $lang_test_file_found } { } set tagopt "$tagopt -DACC_MEM_SHARED=$acc_mem_shared" - setenv ACC_DEVICE_TYPE $offload_target_openacc - # For Fortran we're doing torture testing, as Fortran has far more tests # with arrays etc. that testing just -O0 or -O2 is insufficient, that is # typically not the case for C/C++.