c++: address of class NTTP object as targ [PR113242]
invalid_tparm_referent_p was rejecting using the address of a class NTTP
object as a template argument, but this should be fine.
PR c++/113242
PR c++/99493
gcc/cp/ChangeLog:
* pt.cc (invalid_tparm_referent_p) <case ADDR_EXPR>: Suppress
DECL_ARTIFICIAL rejection test for class NTTP objects.
gcc/testsuite/ChangeLog:
* g++.dg/cpp2a/nontype-class61.C: New test.
* g++.dg/cpp2a/nontype-class62.C: New test.
Reviewed-by: Jason Merrill <jason@redhat.com>
(cherry picked from commit
68cea2d32a9fd525154b6a48042e5835d4c5e371)