This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/49316] ICE in in function_and_variable_visibility, at ipa.c:926 with g++.dg/tls/diag-1.C
- From: "ro at CeBiTec dot Uni-Bielefeld.DE" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 26 Oct 2011 09:22:41 +0000
- Subject: [Bug tree-optimization/49316] ICE in in function_and_variable_visibility, at ipa.c:926 with g++.dg/tls/diag-1.C
- Auto-submitted: auto-generated
- References: <bug-49316-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49316
--- Comment #3 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> 2011-10-26 09:22:41 UTC ---
> --- Comment #2 from Graham Reed <greed at pobox dot com> 2011-10-25 20:04:32 UTC ---
> This may be the same fault I'm seeing on AIX with GCC 4.6.1--does Tru64 use an
> "emulated TLS" as well?
It does: while the platform could support native TLS, it is so different
from the usual ELF implementations that it hasn't been implemented in gcc.
> I reduced diag-1.C to this:
>
> template <typename T> struct B { static __thread T t; };
> template <typename T> __thread T B<T>::t = 42;
> void bar () { int j = B<int>::t; }
I get the same ICE on that testcase with trunk as of r180287.
Rainer