diff options
author | tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-06-23 08:17:23 +0000 |
---|---|---|
committer | tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-06-23 08:17:23 +0000 |
commit | 5b988b24f5e557e19242d50179aa4e3e0c3752d9 (patch) | |
tree | e350ee4fe9096390884d41b15c52965fa6a54a43 | |
parent | 68621ee7d126fe090271bfa33bfce9f68247042e (diff) | |
download | gcc-5b988b24f5e557e19242d50179aa4e3e0c3752d9.tar.gz |
[nvptx] gcc/testsuite/gcc.target/nvptx/
We don't claim to support "K&R C" for nvptx, but needed this corresponding
functionality ("incomplete prototypes") to support the Fortran
libgomp/openacc_lib.h file.
gcc/testsuite/
* gcc.target/nvptx/nvptx.exp: New file.
* gcc.target/nvptx/proto-1.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224822 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/nvptx/nvptx.exp | 42 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/nvptx/proto-1.c | 13 |
3 files changed, 60 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d5329af391c..f17ae0db623 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-06-23 Thomas Schwinge <thomas@codesourcery.com> + + * gcc.target/nvptx/nvptx.exp: New file. + * gcc.target/nvptx/proto-1.c: Likewise. + 2015-06-23 Bin Cheng <bin.cheng@arm.com> PR tree-optimization/66449 diff --git a/gcc/testsuite/gcc.target/nvptx/nvptx.exp b/gcc/testsuite/gcc.target/nvptx/nvptx.exp new file mode 100644 index 00000000000..402c8d14a22 --- /dev/null +++ b/gcc/testsuite/gcc.target/nvptx/nvptx.exp @@ -0,0 +1,42 @@ +# Specific regression driver for nvptx. +# Copyright (C) 2015 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GCC; see the file COPYING3. If not see +# <http://www.gnu.org/licenses/>. + +# GCC testsuite that uses the `dg.exp' driver. + +# Exit immediately if this isn't a nvptx target. +if ![istarget nvptx*-*-*] then { + return +} + +# Load support procs. +load_lib gcc-dg.exp + +# If a testcase doesn't have special options, use these. +global DEFAULT_CFLAGS +if ![info exists DEFAULT_CFLAGS] then { + set DEFAULT_CFLAGS " -ansi -pedantic-errors" +} + +# Initialize `dg'. +dg-init + +# Main loop. +dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] \ + "" $DEFAULT_CFLAGS + +# All done. +dg-finish diff --git a/gcc/testsuite/gcc.target/nvptx/proto-1.c b/gcc/testsuite/gcc.target/nvptx/proto-1.c new file mode 100644 index 00000000000..5f7735928fe --- /dev/null +++ b/gcc/testsuite/gcc.target/nvptx/proto-1.c @@ -0,0 +1,13 @@ +/* { dg-do compile } */ + +int f(void) +{ + const int dev = 4; + + /* Check that without an explicit prototype, we deduce from call site the + signature for the (mandatory in PTX) prototype. */ + /* extern int acc_on_device_(int *); */ + /* { dg-final { scan-assembler-not "\\\.callprototype" } } */ + /* { dg-final { scan-assembler "\\\.extern \\\.func \\\(\[^,\n\r\]+\\\)acc_on_device_ \\\(\[^,\n\r\]+\\\);" } } */ + return !acc_on_device_(&dev); +} |