The dead branch in routine Get_Enclosing_Object was most likely some
experiment from the early days of GNATprove. This routine is meant
to be called with the LHS of an assignment statement where an implicit
dereference is always rewritten into explicit one, regardless if code
is generated.
gcc/ada/ChangeLog:
* sem_util.adb (Get_Enclosing_Object): Remove dead code.
| N_Selected_Component
| N_Slice
=>
- -- If not generating code, a dereference may be left implicit.
- -- In thoses cases, return Empty.
-
- if Is_Access_Type (Etype (Prefix (N))) then
- return Empty;
- else
- return Get_Enclosing_Object (Prefix (N));
- end if;
+ return Get_Enclosing_Object (Prefix (N));
when N_Type_Conversion =>
return Get_Enclosing_Object (Expression (N));