On Tue, Jun 14, 2016 at 6:12 PM, Paolo Carlini <paolo.carl...@oracle.com> wrote: > constexpr-specialization.C:7:26: error: redeclaration ‘constexpr int foo(T) > [with T = int]’ differs in ‘constexpr’ > > constexpr-specialization.C:6:16: error: from previous declaration ‘constexpr > int foo(T) [with T = int]’ > > see? The pretty printing of the previous declaration is very misleading > because it has constexpr in it!
I'm guessing this happens because we're printing the type of the template plus template arguments, and the template is declared constexpr. That should be easy enough to fix in dump_function_decl by looking at the instantiation when deciding whether to print "constexpr". Jason