summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/visibility-5.c
diff options
context:
space:
mode:
authoraustern <austern@138bc75d-0d04-0410-961f-82ee72b054a4>2003-12-10 06:34:46 +0000
committeraustern <austern@138bc75d-0d04-0410-961f-82ee72b054a4>2003-12-10 06:34:46 +0000
commit503333487efc28f86117110f890daaafebd1eb72 (patch)
treee430472ee9dc43efc31173fbf8f2e7bc2d14a17c /gcc/testsuite/gcc.dg/visibility-5.c
parente6f0a1a70a8cdb5b82f274e23f522020ec39bb6b (diff)
downloadgcc-503333487efc28f86117110f890daaafebd1eb72.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74487 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.dg/visibility-5.c')
-rw-r--r--gcc/testsuite/gcc.dg/visibility-5.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/visibility-5.c b/gcc/testsuite/gcc.dg/visibility-5.c
new file mode 100644
index 00000000000..b1f46d2040a
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/visibility-5.c
@@ -0,0 +1,12 @@
+/* Test visibility attribute on definition of a function that has
+ already had a forward declaration. */
+/* { dg-do compile } */
+/* { dg-require-visibility "" } */
+/* { dg-final { scan-assembler "\\.hidden.*foo" } } */
+
+void foo();
+
+void
+ __attribute__((visibility ("hidden")))
+foo()
+{ }