ada: Fix spurious error on Ada 2022 declare expression of limited type
The underlying problem is that declare expressions are implemented by means
of a temporary in most cases and that's incompatible with limited types.
gcc/ada/ChangeLog:
* exp_ch4.adb (Expand_N_Expression_With_Actions): Create a temporary
only for types that can be copied, and replace the EWA node by its
expression for other types.
* exp_ch6.adb (Expand_Ctrl_Function_Call): Bail out when the parent
is an EWA node.
* sem_ch3.adb (OK_For_Limited_Init_In_05): Recurse on the expression
of an EWA node.