From 6eefb96d4696ef15f07639bb232c1d3acfb20ea9 Mon Sep 17 00:00:00 2001 From: Rafael Avila de Espindola Date: Thu, 14 Aug 2008 16:05:36 +0000 Subject: [PATCH] visibility-14.c: New test. 2008-08-14 Rafael Avila de Espindola * 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 --- gcc/testsuite/ChangeLog | 9 +++++++++ gcc/testsuite/gcc.dg/visibility-14.c | 9 +++++++++ gcc/testsuite/gcc.dg/visibility-15.c | 11 +++++++++++ gcc/testsuite/gcc.dg/visibility-16.c | 9 +++++++++ gcc/testsuite/gcc.dg/visibility-17.c | 9 +++++++++ gcc/testsuite/gcc.dg/visibility-18.c | 7 +++++++ gcc/testsuite/gcc.dg/visibility-19.c | 8 ++++++++ 7 files changed, 62 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/visibility-14.c create mode 100644 gcc/testsuite/gcc.dg/visibility-15.c create mode 100644 gcc/testsuite/gcc.dg/visibility-16.c create mode 100644 gcc/testsuite/gcc.dg/visibility-17.c create mode 100644 gcc/testsuite/gcc.dg/visibility-18.c create mode 100644 gcc/testsuite/gcc.dg/visibility-19.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5355b4df23a..f7386283660 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2008-08-14 Rafael Avila de Espindola + + * 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 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 00000000000..6b75608f2ac --- /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 00000000000..4a3aa6803f0 --- /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 00000000000..055d00f4856 --- /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 00000000000..99a1bc276de --- /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 00000000000..4e8706640ad --- /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 00000000000..f56f1360678 --- /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;