In the following example:

namespace NS {
        class T { };
        void g(T, int) { }
}
NS::T parm;
void g(NS::T, float) { }
int main() {
        extern void g(NS::T, float);
        g(parm, 1);
}

program should call void ::g(NS::T, float), but g++ calls NS::g(T, int).


-- 
           Summary: g++ violate [basic.lookup.argdep]
           Product: gcc
           Version: 4.3.4
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: pi3orama at gmail dot com


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

Reply via email to