aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNick Clifton <nickc@cygnus.com>1999-06-30 01:48:58 +0000
committerNick Clifton <nickc@gcc.gnu.org>1999-06-30 01:48:58 +0000
commitd11e5e83f674a04884c93baa7e4f31cb9d070cba (patch)
treec3da39afeac40912cb398d235426faf5c2c75a30 /gcc
parent58e1e5ad9afab4d5e7868da0a67c507a5f51020c (diff)
downloadgcc-d11e5e83f674a04884c93baa7e4f31cb9d070cba.zip
gcc-d11e5e83f674a04884c93baa7e4f31cb9d070cba.tar.gz
gcc-d11e5e83f674a04884c93baa7e4f31cb9d070cba.tar.bz2
Test DLL attribute support.
From-SVN: r27843
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.c-torture/ChangeLog7
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/dll.c21
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/dll.x20
3 files changed, 48 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/ChangeLog b/gcc/testsuite/gcc.c-torture/ChangeLog
index 60f2943..71e83c6 100644
--- a/gcc/testsuite/gcc.c-torture/ChangeLog
+++ b/gcc/testsuite/gcc.c-torture/ChangeLog
@@ -1,3 +1,10 @@
+1999-06-23 Nick Clifton <nickc@cygnus.com>
+
+ * compile/dll.c: New test case. Check that dll attributes
+ compile.
+ * compile/dll.x: Only support the dll.c test on ports that
+ use the COFF/PE file format.
+
1999-05-25 Nick Clifton <nickc@cygnus.com>
* execute/bf-sign-2.c: Explicitly declare signed bitfields as
diff --git a/gcc/testsuite/gcc.c-torture/compile/dll.c b/gcc/testsuite/gcc.c-torture/compile/dll.c
new file mode 100644
index 0000000..bf0d154
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/dll.c
@@ -0,0 +1,21 @@
+__declspec (dllimport) int foo;
+extern int (* import) (void) __attribute__((dllimport));
+int func2 (void) __attribute__((dllexport));
+
+__declspec(dllexport) int
+func1 (int a)
+{
+ return a + foo;
+}
+
+static int
+internal (void)
+{
+ return 77;
+}
+
+int
+func2 (void)
+{
+ return import ();
+}
diff --git a/gcc/testsuite/gcc.c-torture/compile/dll.x b/gcc/testsuite/gcc.c-torture/compile/dll.x
new file mode 100644
index 0000000..63a1e18
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/dll.x
@@ -0,0 +1,20 @@
+# This test examines the attribute support for DLLs.
+# Only COFF/PE formats support DLLs, (plus, as a special case
+# the mcore-elf toolchain), so the code here tries to determine
+# the file format and decide whether the test should be marked
+# as unsupported.
+
+set torture_eval_before_compile {
+
+ if ![istarget "mcore-*-elf"] {
+
+ set objformat [gcc_target_object_format]
+
+ if { $objformat != "pe" } {
+ unsupported "dll.c"
+ return 1
+ }
+ }
+}
+
+return 0