]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
weak: New directory.
authorStan Shebs <shebs@apple.com>
Fri, 6 Sep 2002 13:00:39 +0000 (13:00 +0000)
committerStan Shebs <shebs@gcc.gnu.org>
Fri, 6 Sep 2002 13:00:39 +0000 (13:00 +0000)
2002-09-06  Stan Shebs  <shebs@apple.com>
            David Edelsohn  <edelsohn@gnu.org>

        * gcc.dg/weak: New directory.
        * gcc.dg/weak-[1-9].c: Move to new directory, remove all
        target-specific xfail bits.
        * gcc.dg/typeof-2.c: Move to new directory.
        * gcc.dg/weak.exp: New expect script.

Co-Authored-By: David Edelsohn <edelsohn@gnu.org>
From-SVN: r56882

14 files changed:
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/weak-7.c [deleted file]
gcc/testsuite/gcc.dg/weak-8.c [deleted file]
gcc/testsuite/gcc.dg/weak/typeof-2.c [moved from gcc/testsuite/gcc.dg/typeof-2.c with 100% similarity]
gcc/testsuite/gcc.dg/weak/weak-1.c [moved from gcc/testsuite/gcc.dg/weak-1.c with 66% similarity]
gcc/testsuite/gcc.dg/weak/weak-2.c [moved from gcc/testsuite/gcc.dg/weak-2.c with 60% similarity]
gcc/testsuite/gcc.dg/weak/weak-3.c [moved from gcc/testsuite/gcc.dg/weak-3.c with 70% similarity]
gcc/testsuite/gcc.dg/weak/weak-4.c [moved from gcc/testsuite/gcc.dg/weak-4.c with 73% similarity]
gcc/testsuite/gcc.dg/weak/weak-5.c [moved from gcc/testsuite/gcc.dg/weak-5.c with 77% similarity]
gcc/testsuite/gcc.dg/weak/weak-6.c [moved from gcc/testsuite/gcc.dg/weak-6.c with 66% similarity]
gcc/testsuite/gcc.dg/weak/weak-7.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/weak/weak-8.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/weak/weak-9.c [moved from gcc/testsuite/gcc.dg/weak-9.c with 56% similarity]
gcc/testsuite/gcc.dg/weak/weak.exp [new file with mode: 0644]

index adc9f532c9b06cce47f820e95ea0fd2a9360889d..578b9b5b63fcc635bb636c2ca859c7265c106044 100644 (file)
@@ -1,3 +1,12 @@
+2002-09-06  Stan Shebs  <shebs@apple.com>
+           David Edelsohn  <edelsohn@gnu.org>
+
+       * gcc.dg/weak: New directory.
+       * gcc.dg/weak-[1-9].c: Move to new directory, remove all
+       target-specific xfail bits.
+       * gcc.dg/typeof-2.c: Move to new directory.
+       * gcc.dg/weak.exp: New expect script.
+
 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
 
        * gcc.c-torture/execute/extzvsi.c: New test.
diff --git a/gcc/testsuite/gcc.dg/weak-7.c b/gcc/testsuite/gcc.dg/weak-7.c
deleted file mode 100644 (file)
index 77a231d..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-/* { dg-do compile } */
-/* { dg-excess-errors "COFF does not support weak symbols" { target *-*-coff i?86-pc-cygwin h8300-*-hms } } */
-/* { dg-excess-errors "Darwin does not support weak symbols" { target *-*-darwin* } } */
-
-extern void * foo (void);
-void * foo (void) { return (void *)foo; } /* { dg-error "precede" } */
-
-extern void * foo (void) __attribute__((weak));
diff --git a/gcc/testsuite/gcc.dg/weak-8.c b/gcc/testsuite/gcc.dg/weak-8.c
deleted file mode 100644 (file)
index b5bb120..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-/* { dg-do assemble } */
-
-/* COFF does not support weak, and dg doesn't support UNSUPPORTED.  */
-/* { dg-do assemble { xfail *-*-coff i?86-pc-cygwin h8300-*-hms *-*-darwin* } } */
-
-__attribute__ ((weak)) int i;
-
-int f() {
-  return i;
-}
similarity index 66%
rename from gcc/testsuite/gcc.dg/weak-1.c
rename to gcc/testsuite/gcc.dg/weak/weak-1.c
index 6cedfeabeda9d67f87ec6e5a4c93e99e35e6572e..52d7230ed04b61fd2e315b92ed800d14a475a5c6 100644 (file)
@@ -1,14 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-fno-common" } */
 
-/* COFF does not support weak, and dg doesn't support UNSUPPORTED.  */
-/* { dg-do compile { xfail *-*-coff i?86-pc-cygwin h8300-*-hms *-*-darwin* } } */
-
-/* { dg-final { global target_triplet } } */
-/* { dg-final { if [string match *-*-darwin* $target_triplet ] {return} } } */
-/* { dg-final { if [string match h8300-*-hms $target_triplet ] {return} } } */
-/* { dg-final { if [string match i?86-pc-cygwin $target_triplet ] {return} } } */
-/* { dg-final { if [string match *-*-coff $target_triplet ] {return} } } */
 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?a" } } */
 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?b" } } */
 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?c" } } */
similarity index 60%
rename from gcc/testsuite/gcc.dg/weak-2.c
rename to gcc/testsuite/gcc.dg/weak/weak-2.c
index 5310faa0c6fcbd95549adbc8298d10f228025103..37fa19a1a65d0a325bd94ac0e59f6002657334d4 100644 (file)
@@ -1,14 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-fno-common" } */
 
-/* COFF does not support weak, and dg doesn't support UNSUPPORTED.  */
-/* { dg-do compile { xfail *-*-coff i?86-pc-cygwin h8300-*-hms *-*-darwin* } } */
-
-/* { dg-final { global target_triplet } } */
-/* { dg-final { if [string match *-*-darwin* $target_triplet ] {return} } } */
-/* { dg-final { if [string match h8300-*-hms $target_triplet ] {return} } } */
-/* { dg-final { if [string match i?86-pc-cygwin $target_triplet ] {return} } } */
-/* { dg-final { if [string match *-*-coff $target_triplet ] {return} } } */
 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?ffoo1a" } } */
 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?ffoo1b" } } */
 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?ffoo1c" } } */
@@ -31,7 +23,7 @@ void * foo1b (void)
   return (void *)ffoo1b;
 }
 
-extern void * ffoo1c (void);  /* { dg-warning "applying #pragma weak" "applying #pragma weak" { xfail *-*-coff i?86-pc-cygwin h8300-*-hms *-*-darwin* } } */
+extern void * ffoo1c (void);  /* { dg-warning "applying #pragma weak" "applying #pragma weak" } */
 void * foo1c (void)
 {
   return (void *)ffoo1c;
similarity index 70%
rename from gcc/testsuite/gcc.dg/weak-3.c
rename to gcc/testsuite/gcc.dg/weak/weak-3.c
index 26061c2bebc6eef862b928af3b18645a9f6f6590..47359edcd098e791d0703727f3d5677de96eb5c2 100644 (file)
@@ -1,16 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-fno-common" } */
 
-/* COFF does not support weak, and dg doesn't support UNSUPPORTED.  */
-/* { dg-do compile { xfail *-*-coff i?86-pc-cygwin h8300-*-hms *-*-darwin* } } */
-/* { dg-excess-errors "COFF does not support weak symbols" { target *-*-coff i?86-pc-cygwin h8300-*-hms } } */
-/* { dg-excess-errors "Darwin does not support weak symbols" { target *-*-darwin* } } */
-
-/* { dg-final { global target_triplet } } */
-/* { dg-final { if [string match *-*-darwin* $target_triplet ] {return} } } */
-/* { dg-final { if [string match h8300-*-hms $target_triplet ] {return} } } */
-/* { dg-final { if [string match i?86-pc-cygwin $target_triplet ] {return} } } */
-/* { dg-final { if [string match *-*-coff $target_triplet ] {return} } } */
 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?ffoo1a" } } */
 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?ffoo1b" } } */
 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?ffoo1c" } } */
similarity index 73%
rename from gcc/testsuite/gcc.dg/weak-4.c
rename to gcc/testsuite/gcc.dg/weak/weak-4.c
index f371586be7910e3d9ed338ba1da25912dd105062..bd530ab594020d3d509ef075f7015dda2ab9263e 100644 (file)
@@ -1,14 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-fno-common" } */
 
-/* COFF does not support weak, and dg doesn't support UNSUPPORTED.  */
-/* { dg-do compile { xfail *-*-coff i?86-pc-cygwin h8300-*-hms *-*-darwin* } } */
-
-/* { dg-final { global target_triplet } } */
-/* { dg-final { if [string match *-*-darwin* $target_triplet ] {return} } } */
-/* { dg-final { if [string match h8300-*-hms $target_triplet ] {return} } } */
-/* { dg-final { if [string match i?86-pc-cygwin $target_triplet ] {return} } } */
-/* { dg-final { if [string match *-*-coff $target_triplet ] {return} } } */
 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1a" } } */
 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1b" } } */
 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1c" } } */
@@ -39,7 +31,7 @@ void * foo1b (void)
 }
 
 
-extern int vfoo1c;  /* { dg-warning "applying #pragma weak" "applying #pragma weak" { xfail *-*-coff i?86-pc-cygwin h8300-*-hms *-*-darwin* } } */
+extern int vfoo1c;  /* { dg-warning "applying #pragma weak" "applying #pragma weak" } */
 void * foo1c (void)
 {
   return (void *)&vfoo1c;
@@ -71,7 +63,7 @@ void * foo1f (void)
 #pragma weak vfoo1f
 
 
-extern int vfoo1g;  /* { dg-warning "applying #pragma weak" "applying #pragma weak" { xfail *-*-coff i?86-pc-cygwin h8300-*-hms *-*-darwin* } } */
+extern int vfoo1g;  /* { dg-warning "applying #pragma weak" "applying #pragma weak" } */
 void * foo1g (void)
 {
   return (void *)&vfoo1g;
similarity index 77%
rename from gcc/testsuite/gcc.dg/weak-5.c
rename to gcc/testsuite/gcc.dg/weak/weak-5.c
index 383e36d85977f8690270f5c78c73886cff1f3de5..c4f67e59c76df084f84421961d13464edfca0d45 100644 (file)
@@ -1,16 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-fno-common" } */
 
-/* COFF does not support weak, and dg doesn't support UNSUPPORTED.  */
-/* { dg-do compile { xfail *-*-coff i?86-pc-cygwin h8300-*-hms *-*-darwin* } } */
-/* { dg-excess-errors "COFF does not support weak symbols" { target *-*-coff i?86-pc-cygwin h8300-*-hms } } */
-/* { dg-excess-errors "Darwin does not support weak symbols" { target *-*-darwin* } } */
-
-/* { dg-final { global target_triplet } } */
-/* { dg-final { if [string match *-*-darwin* $target_triplet ] {return} } } */
-/* { dg-final { if [string match h8300-*-hms $target_triplet ] {return} } } */
-/* { dg-final { if [string match i?86-pc-cygwin $target_triplet ] {return} } } */
-/* { dg-final { if [string match *-*-coff $target_triplet ] {return} } } */
 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1a" } } */
 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1b" } } */
 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?vfoo1c" } } */
similarity index 66%
rename from gcc/testsuite/gcc.dg/weak-6.c
rename to gcc/testsuite/gcc.dg/weak/weak-6.c
index a6e49c83717b3333c298ab68b380caf7ab7edc4b..8f88a675d31df46db405971bbaac7071d917bbe3 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 
 extern void * foo (void);
-void * foo (void) { return (void *)foo; } /* { dg-error "precede" "" { xfail *-*-coff i?86-pc-cygwin h8300-*-hms *-*-darwin* } } */
+void * foo (void) { return (void *)foo; } /* { dg-error "precede" } */
 
 #pragma weak foo
diff --git a/gcc/testsuite/gcc.dg/weak/weak-7.c b/gcc/testsuite/gcc.dg/weak/weak-7.c
new file mode 100644 (file)
index 0000000..64d6155
--- /dev/null
@@ -0,0 +1,6 @@
+/* { dg-do compile } */
+
+extern void * foo (void);
+void * foo (void) { return (void *)foo; } /* { dg-error "precede" } */
+
+extern void * foo (void) __attribute__((weak));
diff --git a/gcc/testsuite/gcc.dg/weak/weak-8.c b/gcc/testsuite/gcc.dg/weak/weak-8.c
new file mode 100644 (file)
index 0000000..6e9c267
--- /dev/null
@@ -0,0 +1,7 @@
+/* { dg-do assemble } */
+
+__attribute__ ((weak)) int i;
+
+int f() {
+  return i;
+}
similarity index 56%
rename from gcc/testsuite/gcc.dg/weak-9.c
rename to gcc/testsuite/gcc.dg/weak/weak-9.c
index ee919b590ab80f965bac30f72ff75892f8689e3a..e5cbdb8bc8707b8baa6ca4e47690086454c19335 100644 (file)
@@ -1,14 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-fno-common" } */
 
-/* COFF does not support weak, and dg doesn't support UNSUPPORTED.  */
-/* { dg-do compile { xfail *-*-coff i?86-pc-cygwin h8300-*-hms *-*-darwin* } } */
-
-/* { dg-final { global target_triplet } } */
-/* { dg-final { if [string match *-*-darwin* $target_triplet ] {return} } } */
-/* { dg-final { if [string match h8300-*-hms $target_triplet ] {return} } } */
-/* { dg-final { if [string match i?86-pc-cygwin $target_triplet ] {return} } } */
-/* { dg-final { if [string match *-*-coff $target_triplet ] {return} } } */
 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?f1" } } */
 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?f2" } } */
 /* { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?f3" } } */
diff --git a/gcc/testsuite/gcc.dg/weak/weak.exp b/gcc/testsuite/gcc.dg/weak/weak.exp
new file mode 100644 (file)
index 0000000..595ca92
--- /dev/null
@@ -0,0 +1,41 @@
+#   Copyright (C) 1997 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 2 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 this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
+
+# GCC testsuite that uses the `dg.exp' driver.
+
+# 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"
+}
+
+if { [ check_weak_available ] == 1 } {
+
+    dg-init
+
+    dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] \
+       "" $DEFAULT_CFLAGS
+
+    dg-finish
+
+} elseif { [ check_weak_available ] == 0 } {
+    unsupported "gcc.dg/weak"
+} else {
+    unresolved "gcc.dg/weak"
+}