[ros-dev] [ros-diffs] [dgorbachev] 52916: [CDFS] Workaround for GCC 4.6 optimizer bug (ICE when compiling with -O3).

Timo Kreuzer timo.kreuzer at web.de
Wed Jul 27 08:02:10 UTC 2011


Can you explain this one in detail?


Am 27.07.2011 04:37, schrieb dgorbachev at svn.reactos.org:
> Author: dgorbachev
> Date: Wed Jul 27 02:37:40 2011
> New Revision: 52916
>
> URL: http://svn.reactos.org/svn/reactos?rev=52916&view=rev
> Log:
> [CDFS]
> Workaround for GCC 4.6 optimizer bug (ICE when compiling with -O3).
>
> Modified:
>      trunk/reactos/drivers/filesystems/cdfs/fsctl.c
>
> Modified: trunk/reactos/drivers/filesystems/cdfs/fsctl.c
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/cdfs/fsctl.c?rev=52916&r1=52915&r2=52916&view=diff
> ==============================================================================
> --- trunk/reactos/drivers/filesystems/cdfs/fsctl.c [iso-8859-1] (original)
> +++ trunk/reactos/drivers/filesystems/cdfs/fsctl.c [iso-8859-1] Wed Jul 27 02:37:40 2011
> @@ -63,10 +63,10 @@
>       for (i = 0; i<  2048; i += 4)
>       {
>           /* DON'T optimize this to ULONG!!! (breaks overflow) */
> +        Serial.Part[3] += Buffer[i+0];
> +        Serial.Part[2] += Buffer[i+1];
> +        Serial.Part[1] += Buffer[i+2];
>           Serial.Part[0] += Buffer[i+3];
> -        Serial.Part[1] += Buffer[i+2];
> -        Serial.Part[2] += Buffer[i+1];
> -        Serial.Part[3] += Buffer[i+0];
>       }
>       CdInfo->SerialNumber = Serial.Value;
>
>
>
>




More information about the Ros-dev mailing list