aboutsummaryrefslogtreecommitdiff
path: root/libgomp/oacc-init.c
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2015-10-02 21:43:41 +0200
committerThomas Schwinge <tschwinge@gcc.gnu.org>2015-10-02 21:43:41 +0200
commit113020dc598b57e0f2a73bf1516e5c83668aca21 (patch)
treeaa9ed3c30c222e71bcb81aabff26db2e11ffd802 /libgomp/oacc-init.c
parent7fcdbdd21d6adc14421bc8de439bf91b58eae6d1 (diff)
downloadgcc-113020dc598b57e0f2a73bf1516e5c83668aca21.zip
gcc-113020dc598b57e0f2a73bf1516e5c83668aca21.tar.gz
gcc-113020dc598b57e0f2a73bf1516e5c83668aca21.tar.bz2
nvptx offloading linking
gcc/ * config/nvptx/mkoffload.c (Kind, Vis): Remove enums. (Token, Stmt): Remove structs. (decls, vars, fns): Remove variables. (alloc_comment, append_stmt, is_keyword): Remove macros. (tokenize, write_token, write_tokens, alloc_stmt, rev_stmts) (write_stmt, write_stmts, parse_insn, parse_list_nosemi) (parse_init, parse_file): Remove functions. (read_file): Accept a pointer to a length and store into it. (process): Don't try to parse the input file, just write it out as a string, but looking for maps. Also write out the length. (main): Don't use "-S" to compile PTX code. libgomp/ * oacc-ptx.h: Remove file, moving its content into... * config/nvptx/fortran.c: ... here... * config/nvptx/oacc-init.c: ..., here... * config/nvptx/oacc-parallel.c: ..., and here. * config/nvptx/openacc.f90: New file. * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h". (link_ptx): Don't link in predefined bits of PTX code. Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com> From-SVN: r228418
Diffstat (limited to 'libgomp/oacc-init.c')
-rw-r--r--libgomp/oacc-init.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libgomp/oacc-init.c b/libgomp/oacc-init.c
index 28b9e7a..a0e62a4 100644
--- a/libgomp/oacc-init.c
+++ b/libgomp/oacc-init.c
@@ -620,7 +620,11 @@ acc_set_device_num (int ord, acc_device_t d)
ialias (acc_set_device_num)
-/* Compile on_device with optimization, so that the compiler expands
+/* For -O and higher, the compiler always attempts to expand acc_on_device, but
+ if the user disables the builtin, or calls it via a pointer, we'll need this
+ version.
+
+ Compile this with optimization, so that the compiler expands
this, rather than generating infinitely recursive code. */
int __attribute__ ((__optimize__ ("O2")))