[Ada] Fix detection of volatile expressions in restricted contexts

gcc/ada/

	* sem_res.adb (Flag_Effectively_Volatile_Objects): Detect also
	allocators within restricted contexts and not just entity names.
	(Resolve_Actuals): Remove duplicated code for detecting
	restricted contexts; it is now exclusively done in
	Is_OK_Volatile_Context.
	(Resolve_Entity_Name): Adapt to new parameter of
	Is_OK_Volatile_Context.
	* sem_util.ads, sem_util.adb (Is_OK_Volatile_Context): Adapt to
	handle contexts both inside and outside of subprogram call
	actual parameters.
	(Within_Subprogram_Call): Remove; now handled by
	Is_OK_Volatile_Context itself and its parameter.
3 files changed