-----Original Message-----
Date: Mon, 08 Mar 2010 10:24:09 +0100 Subject: Moving doubles with overlapped memory From: Adriaan van Os gpc@microbizz.nl To: gpc@gnu.de
Any comments on http://bugs.freepascal.org/view.php?id=15921 ?
No errors detected compiling with: gpc version 20041218, based on gcc-3.3.4 (i386) gpc version 20070904, based on gcc-4.1.2 (x86_64)
Ernst-Ludwig
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.