Improve variadic function call handling in PTA

The following fixes handling of __builtin_va_start handling and
implements .VA_ARG handling in PTA constraint generation to
improve precision around variadic calls.  I've added a testcase
for IPA PTA involving an indirect variadic call verifying precision.

The pr99679-1.C no longer emits an expected error that was triggered
by PTA calling aggregate_value_p on the .VA_ARG call which we no
longer do.

	* gimple-ssa-pta-constraints.cc (find_func_aliases_for_builtin_call):
	Correctly use SCALAR rhs from the variadic argument part of
	the function info or from NONLOCAL in case of intra-PTA.
	(find_func_aliases_for_call): Handle .VA_ARG.

	* gcc.dg/ipa/ipa-pta-20.c: New testcase.
	* g++.target/i386/pr99679-1.C: Remove expected error.
	* g++.target/i386/pr99679-2.C: Likewise.
4 files changed