c++: Implement CWG2635 - Constrained structured bindings

The following patch implements CWG2635.

2022-11-18  Jakub Jelinek  <jakub@redhat.com>

	* decl.cc (grokdeclarator): Implement
	CWG2635 - Constrained structured bindings.  Emit a pedwarn on
	constrained auto type.  Add auto_diagnostic_group for error_at
	and inform for non-auto type on structured bindings declaration.

	* g++.dg/cpp2a/decomp5.C: New test.
	* g++.dg/cpp2a/decomp6.C: New test.
	* g++.dg/cpp2a/decomp7.C: New test.
	* g++.dg/cpp2a/concepts-placeholder7.C: Adjust expected diagnostics.
	* g++.dg/cpp2a/concepts-placeholder8.C: Likewise.
	* g++.dg/cpp2a/concepts-placeholder9.C: New test.
	* g++.dg/cpp2a/concepts-placeholder10.C: New test.
8 files changed