This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/21019] New: fails to identify template function overload


The attached code is doing metaprogramming where a "showNode" template function
 recurses up a linked list of "attrNode" templates (with different argument
types) until it hits an "attrBottom" type at the end of the list. That
identifies a different overload of "showNode" and stops the recursion. 

As the error shows, it has successfully recursed to the end, but at the last
node it is identifying the generic recursive "showNode" overload rather than the
specific overload for "attrBottom". The actual problem is the indentification;
once the wrong identification was made the resulting errors are correct, and
there would be no errors had the right overload been identified. 

The misidentification appears fragile; the same recursion works fine elsewhere
in the code, and relatively minor twiddles of the code get the compiler to
identify correctly, which is why I don't have a reduced case for you.

-- 
           Summary: fails to identify template function overload
           Product: gcc
           Version: 3.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: igodard at pacbell dot net
                CC: gcc-bugs at gcc dot gnu dot org


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]