[Bug c++/32143] New: decl rtl generated with incorrect visibility

amylaar at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Tue May 29 17:58:00 GMT 2007


Because of the patch for PR19238, make_decl_rtl is called before the visibility
of variables is determined.
You can see this when you compile g++.old-deja/g++.mike/ns12.c with -fpic.
default_binds_local_p_1 (decl, 1) does not return true for
(anonymous namespace)::i when its decl rtl is created, and hence its symbol_ref
flags don't have SYMBOL_FLAG_LOCAL set.
Although default_binds_local_p_1 konws how to use the visibility of the decl,
it has no way of calling decl_anon_ns_mem_p in the c++ frontend, like
decl2.c:determine_visibility does.

That also means that TARGET_IN_SMALL_DATA_P has no usable visibility
information
that it acn use to guide the decision if something should be put into a small
data section.


-- 
           Summary: decl rtl generated with incorrect visibility
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: amylaar at gcc dot gnu dot org


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



More information about the Gcc-bugs mailing list