[cfe-commits] [patch][3.1] Fix regression in visibility computation from 3.0

Rafael EspĂ­ndola rafael.espindola at gmail.com
Fri Apr 20 16:33:10 PDT 2012


pr12552 is a regression from 3.0. In the last run of mozilla's tests
when compiling with clang r154343
(https://tbpl.mozilla.org/?tree=Try&rev=3428e6faedb8), that was the
only problem on the clang side.

The issue is fixed on trunk. I have attached some patches that fix it
in 3.1. The first one is a full port of the changes on trunk. It also
fixes

template <class T> struct __attribute__((visibility("default"))) A {
  static void zed() {}
};
struct H {};
template class A<H>;

with -fvisibility=hidden, for which we currently produce a default
symbol. Trunk and gcc 4.7 produce a hidden one.

The second patch ports just enough of the new logic to fix pr12552.

The third patch is a completely different fix. It is based on what I
did in r154749.

Is one of these OK for 3.1?

Cheers,
Rafael
-------------- next part --------------
A non-text attachment was scrubbed...
Name: clang-visibility-3.1-full.patch
Type: application/octet-stream
Size: 8929 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120420/c957e33d/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: clang-visibility-3.1-partial.patch
Type: application/octet-stream
Size: 2232 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120420/c957e33d/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: clang-visibility-3.1-other.patch
Type: application/octet-stream
Size: 2731 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120420/c957e33d/attachment-0002.obj>


More information about the cfe-commits mailing list