diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.mike/visibility-1.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.mike/visibility-1.C | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/visibility-1.C b/gcc/testsuite/g++.old-deja/g++.mike/visibility-1.C new file mode 100644 index 000000000..40e742708 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.mike/visibility-1.C @@ -0,0 +1,22 @@ +/* Test visibility attribute on template member function + instantiations. */ + +/* { dg-do compile } */ +/* { dg-options "-fvisibility=hidden" } */ +/* { dg-require-visibility "" } */ +/* { dg-final { scan-not-hidden "_ZN7myClassIiE3maxEii" } } */ + +#define EXPORT __attribute__((visibility("default"))) + +template <class T> +class EXPORT myClass { +public: + T max (T t1, T t2); +}; + +template <class T> +T myClass<T>::max (T t1, T t2) { + return (t1 > t2 ? t1 : t2); +} + +template class myClass<int>; |