]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
visibility-[1-9a].c: Change to use scan-hidden instead of scan-assembler.
authorAndrew Pinski <pinskia@physics.uc.edu>
Thu, 28 Oct 2004 23:38:47 +0000 (23:38 +0000)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Thu, 28 Oct 2004 23:38:47 +0000 (16:38 -0700)
2004-10-28  Andrew Pinski  <pinskia@physics.uc.edu>

        * gcc.dg/visibility-[1-9a].c: Change to use scan-hidden instead of
        scan-assembler.
        * lib/scanasm.exp (hidden-scan-for): New proc.
        (scan-hidden): Use hidden-scan-for instead of constructing the scan
        string.
        (scan-not-hidden): Likewise.
        * lib/target-supports.exp (check_visibility_available): mach-o is
        support too.

From-SVN: r89793

14 files changed:
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/visibility-1.c
gcc/testsuite/gcc.dg/visibility-2.c
gcc/testsuite/gcc.dg/visibility-3.c
gcc/testsuite/gcc.dg/visibility-4.c
gcc/testsuite/gcc.dg/visibility-5.c
gcc/testsuite/gcc.dg/visibility-6.c
gcc/testsuite/gcc.dg/visibility-7.c
gcc/testsuite/gcc.dg/visibility-8.c
gcc/testsuite/gcc.dg/visibility-9.c
gcc/testsuite/gcc.dg/visibility-a.c
gcc/testsuite/gcc.dg/visibility-b.c
gcc/testsuite/lib/scanasm.exp
gcc/testsuite/lib/target-supports.exp

index 556d3301c2592630ebf441beae71050a18ae5607..c781e8bb28ea5c3b5041705208fd93dd8e6facff 100644 (file)
@@ -1,3 +1,14 @@
+2004-10-28  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * gcc.dg/visibility-[1-9a].c: Change to use scan-hidden instead of
+       scan-assembler.
+       * lib/scanasm.exp (hidden-scan-for): New proc.
+       (scan-hidden): Use hidden-scan-for instead of constructing the scan
+       string.
+       (scan-not-hidden): Likewise.
+       * lib/target-supports.exp (check_visibility_available): mach-o is
+       support too.
+
 2004-10-28  Mark Mitchell  <mark@codesourcery.com>
 
        PR c++/17132
index f76c3ca915477476b6a27aaf616a11bae1bd6791..864b971dd64c3ca9da11dcca317dc8891b1a77f6 100644 (file)
@@ -1,7 +1,7 @@
 /* Test visibility attribute on function definition. */
 /* { dg-do compile } */
 /* { dg-require-visibility "" } */
-/* { dg-final { scan-assembler "\\.hidden.*foo" } } */
+/* { dg-final { scan-hidden "foo" } } */
 
 void
 __attribute__((visibility ("hidden")))
index e62dbbb4cd52c1eb6eff1a10448b298fd994e919..0977abac2b8d47926bdd80f613a78eadd416ae2e 100644 (file)
@@ -1,7 +1,7 @@
 /* Test that visibility attribute on declaration extends to definition. */
 /* { dg-do compile } */
 /* { dg-require-visibility "" } */
-/* { dg-final { scan-assembler "\\.hidden.*foo" } } */
+/* { dg-final { scan-hidden "foo" } } */
 
 void 
 __attribute__((visibility ("hidden")))
index e0bf01fb130a16aab2afab2cff3bac836efe9efd..cb5a71524f6b5d88ca13dfc9fd7d9358246dbced 100644 (file)
@@ -1,7 +1,7 @@
 /* Test visibility attribute on forward declaration of global variable */
 /* { dg-do compile } */
 /* { dg-require-visibility "" } */
-/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
+/* { dg-final { scan-hidden "xyzzy" } } */
 
 int
 __attribute__((visibility ("hidden")))
index 1a0b3ca37dac05aceb0594fa38d991673713e20f..af0d461c3d9eb0c5f694e6d8d54675c2defb9bc2 100644 (file)
@@ -1,7 +1,7 @@
 /* Test visibility attribute on forward declaration of global variable */
 /* { dg-do compile } */
 /* { dg-require-visibility "" } */
-/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
+/* { dg-final { scan-hidden "xyzzy" } } */
 
 extern int 
 __attribute__((visibility ("hidden")))
index b1f46d2040a8e2130e54b02145d9c58449b1dae9..0302768c91b4f2d9642bd5d5a30dedf2e0bccb55 100644 (file)
@@ -2,7 +2,7 @@
    already had a forward declaration. */
 /* { dg-do compile } */
 /* { dg-require-visibility "" } */
-/* { dg-final { scan-assembler "\\.hidden.*foo" } } */
+/* { dg-final { scan-hidden "foo" } } */
 
 void foo();
 
index 632f2ac205925c79532de1e87b6519106cb78f40..4e9deebec373d5ae161871c920d24c89285f101f 100644 (file)
@@ -2,7 +2,7 @@
    already had a forward declaration. */
 /* { dg-do compile } */
 /* { dg-require-visibility "" } */
-/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
+/* { dg-final { scan-hidden "xyzzy" } } */
 
 extern int xyzzy;
 
index 5bdc2b0280864c00daa4ae6b7e1f44f35878a3ef..f5e6e9aae5cec5849e9297fb991f9108cd0a5ec2 100644 (file)
@@ -1,7 +1,7 @@
 /* Test warning from conflicting visibility specifications. */
 /* { dg-do compile } */
 /* { dg-require-visibility "" } */
-/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
+/* { dg-final { scan-hidden "xyzzy" } } */
 
 extern int 
 __attribute__((visibility ("hidden")))
index fc3a1055757d65b498c21c294b2eb5c426c2f15e..89f89c0822bd2d83cb7b75cb67b11128081b4901 100644 (file)
@@ -2,7 +2,7 @@
 /* { dg-do compile } */
 /* { dg-options "-std=gnu99" } */
 /* { dg-require-visibility "" } */
-/* { dg-final { scan-assembler "\\.hidden.*__GI_fputs_unlocked" } } */
+/* { dg-final { scan-hidden "__GI_fputs_unlocked" } } */
 
 int fputs_unlocked (const char *restrict, int *restrict)
    __asm__ ("__GI_fputs_unlocked")
index ac6493ef323ed5cfe80d61795f957ac59195e804..9d575168491ba4ad61cbbf42ce6a72076036f5ab 100644 (file)
@@ -2,7 +2,7 @@
 /* { dg-do compile } */
 /* { dg-require-visibility "" } */
 /* { dg-options "-fvisibility=hidden" } */
-/* { dg-final { scan-assembler "\\.hidden.*foo" } } */
+/* { dg-final { scan-hidden "foo" } } */
 
 void foo();
 
index 17492342f15ec1f7491f488b4edf426f557a0b06..23a51d7e5a4ebea0e1c08111f6ad6b0a765eb2f4 100644 (file)
@@ -1,7 +1,7 @@
 /* Test that #pragma GCC visibility works. */
 /* { dg-do compile } */
 /* { dg-require-visibility "" } */
-/* { dg-final { scan-assembler "\\.hidden.*foo" } } */
+/* { dg-final { scan-hidden "foo" } } */
 
 #pragma GCC visibility push(hidden)
 void foo();
index b1f15758aa2d78b02ef033cc4629872036dd4501..8b0c41dd59d782621f28799155dbc36a982d0f0f 100644 (file)
@@ -1,4 +1,6 @@
-/* { dg-do assemble { target *-*-darwin* } } */
+/* { dg-do compile } */
+/* { dg-require-visibility "" } */
+/* { dg-final { scan-hidden "n" } } */
 
 #define __private_extern__ extern __attribute__((visibility ("hidden")))
 
index 9116afc1c41913b6fa16689777f35294cb171d59..33c574ac34c94156f23e0abaffc144696280604f 100644 (file)
@@ -79,6 +79,21 @@ proc scan-assembler-not { args } {
     dg-scan "scan-assembler-not" 0 $testcase $output_file $args
 }
 
+# Return the scan for the assembly for hidden visibility. 
+
+proc hidden-scan-for { symbol } {
+
+    set objformat [gcc_target_object_format]
+
+    switch $objformat {
+        elf      { return "hidden\[ \t_\]*$symbol" }
+        mach-o   { return "private_extern\[ \t_\]*_?$symbol" }
+        default  { return "" }
+    }
+
+}
+
+
 # Check that a symbol is defined as a hidden symbol in the .s file
 # produced by the compiler.
 
@@ -87,7 +102,10 @@ proc scan-hidden { args } {
     set output_file "[file rootname [file tail $testcase]].s"
 
     set symbol [lindex $args 0]
-    set args [lreplace $args 0 0 "hidden\[ \t_\]*$symbol"]
+
+    set hidden_scan [hidden-scan-for $symbol]
+
+    set args [lreplace $args 0 0 "$hidden_scan"]
 
     dg-scan "scan-hidden" 1 $testcase $output_file $args
 }
@@ -100,7 +118,9 @@ proc scan-not-hidden { args } {
     set output_file "[file rootname [file tail $testcase]].s"
 
     set symbol [lindex $args 0]
-    set args [lreplace $args 0 0 "hidden\[ \t_\]*$symbol"]
+    set hidden_scan [hidden-scan-for symbol]
+
+    set args [lreplace $args 0 0 "$hidden_scan"]
 
     dg-scan "scan-not-hidden" 0 $testcase $output_file $args
 }
index a737f5db186f5e996b0930c531be76a1b1a74bb6..b968de275a168c2a002054daaeb40315ead32878 100644 (file)
@@ -88,6 +88,7 @@ proc check_visibility_available { } {
 
     switch $objformat {
         elf      { return 1 }
+        mach-o   { return 1 }
         unknown  { return -1 }
         default  { return 0 }
     }