| Summary: | Template resolution problem with sizeof expression | ||
|---|---|---|---|
| Product: | [Tools] CDT | Reporter: | Sergey Prigogin <eclipse.sprigogin> |
| Component: | cdt-parser | Assignee: | Sergey Prigogin <eclipse.sprigogin> |
| Status: | RESOLVED FIXED | QA Contact: | Markus Schorn <mschorn.eclipse> |
| Severity: | normal | ||
| Priority: | P3 | CC: | cdtdoug |
| Version: | 8.0 | ||
| Target Milestone: | 8.0.2 | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
A test case for this bug is in AST2TemplateTests._testBoolExpressionAsTemplateArgument_361604(). Fixed in cdt_8_0 and master. *** cdt git genie on behalf of Sergey Prigogin ***
Bug 361604 - Template resolution problem with sizeof expression.
[*] http://git.eclipse.org/c/cdt/org.eclipse.cdt.git/commit/?id=a83da09772f91b66f2616c52066ab18fc766e015
*** cdt git genie on behalf of Sergey Prigogin ***
Bug 361604 - Template resolution problem with sizeof expression.
[*] http://git.eclipse.org/c/cdt/org.eclipse.cdt.git/commit/?id=859779742468f8085e89f01b84cd2828bf54d1cc
|
The following code example is derived from boost::ptr_vector: template<bool V, typename T> struct C { typedef int s; }; template<typename T> struct C<false, T> { typedef T s; }; struct B { typedef B u; }; typedef C<sizeof(char) == sizeof(int), B> r; typedef r::s t; t::u x; // problem on t::u