aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/lib/gcc-dg.exp
diff options
context:
space:
mode:
authorMatt Austern <austern@apple.com>2003-12-10 06:34:46 +0000
committerMatt Austern <austern@gcc.gnu.org>2003-12-10 06:34:46 +0000
commitfacef326df0c41371da002b8d5e7716346750f17 (patch)
treee430472ee9dc43efc31173fbf8f2e7bc2d14a17c /gcc/testsuite/lib/gcc-dg.exp
parent5ec3f5662c13c44e04e4f7e6a79ee050d0ba6884 (diff)
downloadgcc-facef326df0c41371da002b8d5e7716346750f17.zip
gcc-facef326df0c41371da002b8d5e7716346750f17.tar.gz
gcc-facef326df0c41371da002b8d5e7716346750f17.tar.bz2
re PR c/13134 (Visibility attribute is ignored)
PR c/13134 * c--decl.c (duplicate_decls): Copy visibility flag when appropriate. * cp/decl.c (duplicate_decls): Copy visibility flag when appropriate. * testsuite/lib/gcc-dg.exp (dg-require-visibility): Define. * testsuite/lib/target-supports (check_visibility_available): Define. * testsuite/gcc.dg/visibility-1.c: New test. * testsuite/gcc.dg/visibility-2.c: Likewise. * testsuite/gcc.dg/visibility-3.c: Likewise. * testsuite/gcc.dg/visibility-4.c: Likewise. * testsuite/gcc.dg/visibility-5.c: Likewise. * testsuite/gcc.dg/visibility-6.c: Likewise. * testsuite/g++.dg/ext/visibility-1.C: Likewise. * testsuite/g++.dg/ext/visibility-2.C: Likewise. * testsuite/g++.dg/ext/visibility-3.C: Likewise. * testsuite/g++.dg/ext/visibility-4.C: Likewise. * testsuite/g++.dg/ext/visibility-5.C: Likewise. * testsuite/g++.dg/ext/visibility-6.C: Likewise. From-SVN: r74487
Diffstat (limited to 'gcc/testsuite/lib/gcc-dg.exp')
-rw-r--r--gcc/testsuite/lib/gcc-dg.exp17
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp
index ee1d4d8..7fd52a9 100644
--- a/gcc/testsuite/lib/gcc-dg.exp
+++ b/gcc/testsuite/lib/gcc-dg.exp
@@ -267,6 +267,23 @@ proc dg-require-weak { args } {
}
}
+# If this target does not support the "visibility" attribute, skip this
+# test.
+
+proc dg-require-visibility { args } {
+ upvar dg-do-what dg-do-what
+ upvar name name
+
+ set visibility_available [ check_visibility_available ]
+ if { $visibility_available == -1 } {
+ unresolved "$name"
+ }
+ if { $visibility_available != 1 } {
+ set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
+ return
+ }
+}
+
# If this target does not support the "alias" attribute, skip this
# test.