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

             Bug #: 51367
           Summary: [4.7 Regression] Broken diagnostic: 'pointer_type' not
                    supported by dump_expr
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: reich...@gcc.gnu.org


Trunk produces a broken diagnostic for the following code snippet:

========================================
template<typename T> void foo(T, T);

void bar(void* p)
{
  foo(0,p);
}
========================================

bug.cc: In function 'void bar(void*)':
bug.cc:5:10: error: no matching function for call to 'foo(int, void*&)'
bug.cc:5:10: note: candidate is:
bug.cc:1:27: note: template<class T> void foo(T, T)
bug.cc:1:27: note:   template argument deduction/substitution failed:
bug.cc:5:10: note:   conflicting deductions for parameter 'T' ('int' and
'#'pointer_type' not supported by dump_expr#<expression error>')

Reply via email to