When iterating over list elements with First/Next there is no need to check if the list is present, because First intentionally returns Empty if list is not present and the condition of subsequent loop will not be satisfied. Code cleanup; semantics is unaffected. Occurrences of the redundant pattern were found with: $ grep First -B 3 | less and examining the output for the calls to Present. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * exp_ch13.adb, exp_ch5.adb, exp_ch9.adb, exp_strm.adb, sem_ch10.adb, sem_ch13.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_elab.adb, sem_eval.adb, sem_prag.adb, sem_util.adb: Remove checks for the missing list before iterating with First/Next; reindent code and refill comments.