Adriaan van Os wrote:
Any comments on http://bugs.freepascal.org/view.php?id=15921 ?
AFAICS according to ISO your program is "implementation dependent". Namely, you are not allowed to simultaneuosy use two variants. It is implementation dependent if access to component is done before assignment proper or if there is overlap.
GNU Pascal passess your construct without any special treatment to the backend. I believe that backend first evaluates component and only later is doing assignment, so it should work.