Many methods in Sema take a bool Diagnose parameter. Examples of such
methods include Sema::FindDeallocationFunction and
Sema::SpecialMemberIsTrivial. Calling these methods with
Diagnose = false allows callers to, for instance, check for the
existence of a deallocation function, without that check resulting in
error diagnostics being emitted if no matching deallocation function exists.
Add a similar bool Diagnose to the Sema::FindAllocationFunctions
method, so that checks for the existence of allocation functions can be
made without triggering error diagnostics.
This allows SemaCoroutine.cpp, in its implementation of the
Coroutines TS, to check for the existence of a particular operator new
overload, but then without error fall back to a default operator new
if no matching overload exists.
Test Plan: check-clang