Hi Arnaud,
--- exp_ch5.adb (revision 179894)
+++ exp_ch5.adb (working copy)
@@ -3458,6 +3458,20 @@
Statements => Statements (N,
End_Label => End_Label (N)));
+
+ -- The loop parameter's entity must be removed from the loop
+
When a for loop for an enumeration type with an enumeration representation
clause is expanded, it's rewritten as a loop over an integer loop parameter
and the original loop parameter is moved into a new nested block. When
the block is analyzed, the moved entity gets appended to the block scope's
en