http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51930

Philipp <s...@s-e-f-i.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |

--- Comment #5 from Philipp <s...@s-e-f-i.de> 2012-01-29 12:19:48 UTC ---
Thanks, Jason, the above test case now works.
However, a similar problem with explicitly instantiated template classes still
exists.
Here is a test case.

struct test
{
};

template<
        typename T
>
struct template_test
{
        __attribute__((visibility("default")))
        void function();
};

template<
        typename T
>
void template_test<T>::function()
{
}

template
__attribute__((visibility("default")))
struct template_test<test>;

With gcc-4.7, template_test<test>::function gets hidden visibility, while with
gcc-4.6.2 it gets default visibility.

Reply via email to