PR20625: Instantiate static constexpr member function of a local struct in a function...
authorRichard Smith <richard-llvm@metafoo.co.uk>
Mon, 11 May 2015 23:09:06 +0000 (23:09 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Mon, 11 May 2015 23:09:06 +0000 (23:09 +0000)
commitb0b68010c5da4828c5a43d8a85f8f3b2de65a3c9
treecfcb7bb90ad8e4f841414f228f214165df1846ba
parentcc14f387e83bc4d542a0e510fead7b736ad70282
PR20625: Instantiate static constexpr member function of a local struct in a function template earlier.

This is necessary in order to allow the use of a constexpr member function, or
a member function with deduced return type, of a local class within a
surrounding instantiated function template specialization.

Patch by Michael Park!

This re-commits r236063, which was reverted in r236134, along with a fix for a
delayed template parsing bug that was exposed by this change.

llvm-svn: 237064
clang/lib/Parse/ParseTemplate.cpp
clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
clang/test/SemaTemplate/instantiate-local-class.cpp