Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 319498 - Template function resolution problem with index
Summary: Template function resolution problem with index
Status: RESOLVED FIXED
Alias: None
Product: CDT
Classification: Tools
Component: cdt-parser (show other bugs)
Version: 7.0   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 7.0.1   Edit
Assignee: Markus Schorn CLA
QA Contact: Mike Kucera CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-11 23:19 EDT by Sergey Prigogin CLA
Modified: 2010-07-20 05:23 EDT (History)
1 user (show)

See Also:


Attachments
fix (3.99 KB, patch)
2010-07-19 11:18 EDT, Markus Schorn CLA
mschorn.eclipse: iplog-
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sergey Prigogin CLA 2010-07-11 23:19:30 EDT
CDT HEAD:

test.h
------
template <class U>
void f(const U& u, const typename U::t& v) {
}

template <class U>
void f(U& u, const typename U::t& v) {
}

test.cc
-------
#include "test.h"

template <typename T> class A {
  typedef T t;
};

void test() {
  const A<int>& a;
  int b;
  f(a, b); // problem on f
}

The problem goes away when the contents of test.h are copied to test.cc.
Comment 1 Markus Schorn CLA 2010-07-19 11:18:29 EDT
Created attachment 174632 [details]
fix

The patch fixes the issue, I need to run a few tests before commiting it.
Comment 2 Markus Schorn CLA 2010-07-20 05:19:52 EDT
Fixed in 7.0.1 and 8.0 > 20100720.
Comment 3 CDT Genie CLA 2010-07-20 05:23:03 EDT
*** cdt cvs genie on behalf of mschorn ***
Bug 319498: Comparison of unknown bindings.

[*] IndexCPPTemplateResolutionTest.java 1.65.2.1 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexCPPTemplateResolutionTest.java?root=Tools_Project&r1=1.65&r2=1.65.2.1

[*] CPPVisitor.java 1.122.2.3 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/CPPVisitor.java?root=Tools_Project&r1=1.122.2.2&r2=1.122.2.3

[*] PDOMCPPUnknownClassType.java 1.14.4.1 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPUnknownClassType.java?root=Tools_Project&r1=1.14&r2=1.14.4.1
[*] PDOMCPPUnknownClassInstance.java 1.15.4.1 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPUnknownClassInstance.java?root=Tools_Project&r1=1.15&r2=1.15.4.1

[*] IndexCPPTemplateResolutionTest.java 1.67 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/index/tests/IndexCPPTemplateResolutionTest.java?root=Tools_Project&r1=1.66&r2=1.67

[*] CPPVisitor.java 1.125 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/CPPVisitor.java?root=Tools_Project&r1=1.124&r2=1.125

[*] PDOMCPPUnknownClassType.java 1.15 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPUnknownClassType.java?root=Tools_Project&r1=1.14&r2=1.15
[*] PDOMCPPUnknownClassInstance.java 1.16 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPUnknownClassInstance.java?root=Tools_Project&r1=1.15&r2=1.16