aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRafael Avila de Espindola <espindola@google.com>2008-08-14 16:05:36 +0000
committerRafael Espindola <espindola@gcc.gnu.org>2008-08-14 16:05:36 +0000
commit6eefb96d4696ef15f07639bb232c1d3acfb20ea9 (patch)
tree8a20ecfa1c0836c4c6beb7ab87346106992f242c /gcc
parent0450a9665e7b06791114a521a20a691e2a1dbf2b (diff)
downloadgcc-6eefb96d4696ef15f07639bb232c1d3acfb20ea9.zip
gcc-6eefb96d4696ef15f07639bb232c1d3acfb20ea9.tar.gz
gcc-6eefb96d4696ef15f07639bb232c1d3acfb20ea9.tar.bz2
visibility-14.c: New test.
2008-08-14 Rafael Avila de Espindola <espindola@google.com> * gcc.dg/visibility-14.c: New test. * gcc.dg/visibility-15.c: New test. * gcc.dg/visibility-16.c: New test. * gcc.dg/visibility-17.c: New test. * gcc.dg/visibility-18.c: New test. * gcc.dg/visibility-19.c: New test. From-SVN: r139100
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog9
-rw-r--r--gcc/testsuite/gcc.dg/visibility-14.c9
-rw-r--r--gcc/testsuite/gcc.dg/visibility-15.c11
-rw-r--r--gcc/testsuite/gcc.dg/visibility-16.c9
-rw-r--r--gcc/testsuite/gcc.dg/visibility-17.c9
-rw-r--r--gcc/testsuite/gcc.dg/visibility-18.c7
-rw-r--r--gcc/testsuite/gcc.dg/visibility-19.c8
7 files changed, 62 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 5355b4d..f738628 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,12 @@
+2008-08-14 Rafael Avila de Espindola <espindola@google.com>
+
+ * gcc.dg/visibility-14.c: New test.
+ * gcc.dg/visibility-15.c: New test.
+ * gcc.dg/visibility-16.c: New test.
+ * gcc.dg/visibility-17.c: New test.
+ * gcc.dg/visibility-18.c: New test.
+ * gcc.dg/visibility-19.c: New test.
+
2008-08-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/34600
diff --git a/gcc/testsuite/gcc.dg/visibility-14.c b/gcc/testsuite/gcc.dg/visibility-14.c
new file mode 100644
index 0000000..6b75608
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/visibility-14.c
@@ -0,0 +1,9 @@
+/* Test that called external functions are marked. */
+/* { dg-do compile } */
+/* { dg-require-visibility "" } */
+/* { dg-final { scan-hidden "foo" } } */
+
+extern void foo(void) __attribute__ ((visibility ("hidden")));
+int f () {
+ foo();
+}
diff --git a/gcc/testsuite/gcc.dg/visibility-15.c b/gcc/testsuite/gcc.dg/visibility-15.c
new file mode 100644
index 0000000..4a3aa68
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/visibility-15.c
@@ -0,0 +1,11 @@
+/* Test that accessed external functions are marked. */
+/* { dg-do compile } */
+/* { dg-require-visibility "" } */
+/* { dg-final { scan-hidden "foo" } } */
+
+extern void foo(void) __attribute__ ((visibility ("hidden")));
+typedef void (*foo_t)(void);
+
+foo_t g(void) {
+ return foo;
+}
diff --git a/gcc/testsuite/gcc.dg/visibility-16.c b/gcc/testsuite/gcc.dg/visibility-16.c
new file mode 100644
index 0000000..055d00f
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/visibility-16.c
@@ -0,0 +1,9 @@
+/* Test that accessed external variables are marked. */
+/* { dg-do compile } */
+/* { dg-require-visibility "" } */
+/* { dg-final { scan-hidden "foo" } } */
+
+extern int foo __attribute__ ((visibility ("hidden")));
+int f () {
+ return foo;
+}
diff --git a/gcc/testsuite/gcc.dg/visibility-17.c b/gcc/testsuite/gcc.dg/visibility-17.c
new file mode 100644
index 0000000..99a1bc2
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/visibility-17.c
@@ -0,0 +1,9 @@
+/* Test that external variable whose address is taken are marked. */
+/* { dg-do compile } */
+/* { dg-require-visibility "" } */
+/* { dg-final { scan-hidden "foo" } } */
+
+extern int foo __attribute__ ((visibility ("hidden")));
+int *f () {
+ return &foo;
+}
diff --git a/gcc/testsuite/gcc.dg/visibility-18.c b/gcc/testsuite/gcc.dg/visibility-18.c
new file mode 100644
index 0000000..4e87066
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/visibility-18.c
@@ -0,0 +1,7 @@
+/* Test that external variable whose address is taken are marked. */
+/* { dg-do compile } */
+/* { dg-require-visibility "" } */
+/* { dg-final { scan-hidden "foo" } } */
+
+extern int foo __attribute__ ((visibility ("hidden")));
+int *test = &foo;
diff --git a/gcc/testsuite/gcc.dg/visibility-19.c b/gcc/testsuite/gcc.dg/visibility-19.c
new file mode 100644
index 0000000..f56f136
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/visibility-19.c
@@ -0,0 +1,8 @@
+/* Test that accessed external functions are marked. */
+/* { dg-do compile } */
+/* { dg-require-visibility "" } */
+/* { dg-final { scan-hidden "foo" } } */
+
+extern void foo(void) __attribute__ ((visibility ("hidden")));
+typedef void (*foo_t)(void);
+foo_t test = foo;