This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/19238] New: cannot change visibility of static variable in function template
- From: "jbeulich at novell dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 3 Jan 2005 10:52:02 -0000
- Subject: [Bug c++/19238] New: cannot change visibility of static variable in function template
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Since handle_visibility_attribute as its very first action checks
decl_function_context (decl) != 0, and since the visibility attribute of the
function template does not get inherited to its static variables, there is no
way to actually limit the visibility of these static variables.
This in turn prevents on IA64 that the variable be accessed without going
through the linkage table at all (i.e. even saving the pointless instruction
resulting from the linker conversion of ltoff22x/ldxmov).
Along with that, it might even lead to ill behavior since the containing
function instances can't be overridden by identically named ones in a different
load module, but the static variables (being weak, but not visibility
restricted) can.
--
Summary: cannot change visibility of static variable in function
template
Product: gcc
Version: 3.4.3
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jbeulich at novell dot com
CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: ia64-*-*
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19238