[Bug c++/19238] New: cannot change visibility of static variable in function template
jbeulich at novell dot com
gcc-bugzilla@gcc.gnu.org
Mon Jan 3 10:52:00 GMT 2005
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
More information about the Gcc-bugs
mailing list