Community
Participate
Working Groups
Build Identifier: M20100909-0800 When resolving an implicit constructor name, the returned binding points to the wrong constructor. Reproducible: Always Steps to Reproduce: 1. import the attached project 2. open main.cpp 3. ctrl+clicking on "iFive" resolves to the constructor of "Templ<int, length>" instead of the more specific definition "Templ<int, 5>" interesting is, that ctrl+clicking on "Templ<int, 5>" in main resolves to the correct definition. another hint: when copying all template specifications directly into main.cpp and removing the includes, the resolution works correctly.
Created attachment 190829 [details] the eclipse project
Created attachment 192015 [details] testcase + fix
Fixed in 8.0.
*** cdt cvs genie on behalf of mschorn *** Bug 339475: Using explicit instance vs. partial specialization. [*] AST2TemplateTests.java 1.211 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2TemplateTests.java?root=Tools_Project&r1=1.210&r2=1.211 [*] CPPTemplates.java 1.133 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.java?root=Tools_Project&r1=1.132&r2=1.133
Looks like this was fixed.