diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2015-06-23 10:17:23 +0200 |
---|---|---|
committer | Thomas Schwinge <tschwinge@gcc.gnu.org> | 2015-06-23 10:17:23 +0200 |
commit | 31575896b2380fea53d76e24c2f811d4209253ae (patch) | |
tree | e350ee4fe9096390884d41b15c52965fa6a54a43 | |
parent | f9180d0e87bdf87b77934e2b4b8e17c8656581bb (diff) | |
download | gcc-31575896b2380fea53d76e24c2f811d4209253ae.zip gcc-31575896b2380fea53d76e24c2f811d4209253ae.tar.gz gcc-31575896b2380fea53d76e24c2f811d4209253ae.tar.bz2 |
[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.
From-SVN: r224822
-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 d5329af..f17ae0d 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 0000000..402c8d1 --- /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 0000000..5f77359 --- /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); +} |