aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndrew Pinski <pinskia@physics.uc.edu>2004-10-28 23:38:47 +0000
committerAndrew Pinski <pinskia@gcc.gnu.org>2004-10-28 16:38:47 -0700
commitd533f1cb17580dea7f45d6ff7a1a371b796556e3 (patch)
treef7bb9a830096e0eda4a125d40d0604355b033c4c /gcc
parentde66168d60454ab3cb39479bfe86a27254b679ea (diff)
downloadgcc-d533f1cb17580dea7f45d6ff7a1a371b796556e3.zip
gcc-d533f1cb17580dea7f45d6ff7a1a371b796556e3.tar.gz
gcc-d533f1cb17580dea7f45d6ff7a1a371b796556e3.tar.bz2
visibility-[1-9a].c: Change to use scan-hidden instead of scan-assembler.
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog11
-rw-r--r--gcc/testsuite/gcc.dg/visibility-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/visibility-2.c2
-rw-r--r--gcc/testsuite/gcc.dg/visibility-3.c2
-rw-r--r--gcc/testsuite/gcc.dg/visibility-4.c2
-rw-r--r--gcc/testsuite/gcc.dg/visibility-5.c2
-rw-r--r--gcc/testsuite/gcc.dg/visibility-6.c2
-rw-r--r--gcc/testsuite/gcc.dg/visibility-7.c2
-rw-r--r--gcc/testsuite/gcc.dg/visibility-8.c2
-rw-r--r--gcc/testsuite/gcc.dg/visibility-9.c2
-rw-r--r--gcc/testsuite/gcc.dg/visibility-a.c2
-rw-r--r--gcc/testsuite/gcc.dg/visibility-b.c4
-rw-r--r--gcc/testsuite/lib/scanasm.exp24
-rw-r--r--gcc/testsuite/lib/target-supports.exp1
14 files changed, 47 insertions, 13 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 556d330..c781e8b 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
diff --git a/gcc/testsuite/gcc.dg/visibility-1.c b/gcc/testsuite/gcc.dg/visibility-1.c
index f76c3ca..864b971 100644
--- a/gcc/testsuite/gcc.dg/visibility-1.c
+++ b/gcc/testsuite/gcc.dg/visibility-1.c
@@ -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")))
diff --git a/gcc/testsuite/gcc.dg/visibility-2.c b/gcc/testsuite/gcc.dg/visibility-2.c
index e62dbbb..0977aba 100644
--- a/gcc/testsuite/gcc.dg/visibility-2.c
+++ b/gcc/testsuite/gcc.dg/visibility-2.c
@@ -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")))
diff --git a/gcc/testsuite/gcc.dg/visibility-3.c b/gcc/testsuite/gcc.dg/visibility-3.c
index e0bf01f..cb5a715 100644
--- a/gcc/testsuite/gcc.dg/visibility-3.c
+++ b/gcc/testsuite/gcc.dg/visibility-3.c
@@ -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")))
diff --git a/gcc/testsuite/gcc.dg/visibility-4.c b/gcc/testsuite/gcc.dg/visibility-4.c
index 1a0b3ca..af0d461 100644
--- a/gcc/testsuite/gcc.dg/visibility-4.c
+++ b/gcc/testsuite/gcc.dg/visibility-4.c
@@ -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")))
diff --git a/gcc/testsuite/gcc.dg/visibility-5.c b/gcc/testsuite/gcc.dg/visibility-5.c
index b1f46d2..0302768 100644
--- a/gcc/testsuite/gcc.dg/visibility-5.c
+++ b/gcc/testsuite/gcc.dg/visibility-5.c
@@ -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();
diff --git a/gcc/testsuite/gcc.dg/visibility-6.c b/gcc/testsuite/gcc.dg/visibility-6.c
index 632f2ac..4e9deeb 100644
--- a/gcc/testsuite/gcc.dg/visibility-6.c
+++ b/gcc/testsuite/gcc.dg/visibility-6.c
@@ -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;
diff --git a/gcc/testsuite/gcc.dg/visibility-7.c b/gcc/testsuite/gcc.dg/visibility-7.c
index 5bdc2b0..f5e6e9a 100644
--- a/gcc/testsuite/gcc.dg/visibility-7.c
+++ b/gcc/testsuite/gcc.dg/visibility-7.c
@@ -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")))
diff --git a/gcc/testsuite/gcc.dg/visibility-8.c b/gcc/testsuite/gcc.dg/visibility-8.c
index fc3a105..89f89c0 100644
--- a/gcc/testsuite/gcc.dg/visibility-8.c
+++ b/gcc/testsuite/gcc.dg/visibility-8.c
@@ -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")
diff --git a/gcc/testsuite/gcc.dg/visibility-9.c b/gcc/testsuite/gcc.dg/visibility-9.c
index ac6493e..9d57516 100644
--- a/gcc/testsuite/gcc.dg/visibility-9.c
+++ b/gcc/testsuite/gcc.dg/visibility-9.c
@@ -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();
diff --git a/gcc/testsuite/gcc.dg/visibility-a.c b/gcc/testsuite/gcc.dg/visibility-a.c
index 1749234..23a51d7 100644
--- a/gcc/testsuite/gcc.dg/visibility-a.c
+++ b/gcc/testsuite/gcc.dg/visibility-a.c
@@ -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();
diff --git a/gcc/testsuite/gcc.dg/visibility-b.c b/gcc/testsuite/gcc.dg/visibility-b.c
index b1f1575..8b0c41d 100644
--- a/gcc/testsuite/gcc.dg/visibility-b.c
+++ b/gcc/testsuite/gcc.dg/visibility-b.c
@@ -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")))
diff --git a/gcc/testsuite/lib/scanasm.exp b/gcc/testsuite/lib/scanasm.exp
index 9116afc..33c574a 100644
--- a/gcc/testsuite/lib/scanasm.exp
+++ b/gcc/testsuite/lib/scanasm.exp
@@ -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
}
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index a737f5d..b968de2 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -88,6 +88,7 @@ proc check_visibility_available { } {
switch $objformat {
elf { return 1 }
+ mach-o { return 1 }
unknown { return -1 }
default { return 0 }
}