public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/40366]  New: Array + XOR swap fails
@ 2009-06-07  7:15 ashutosh dot sharma dot 0204 at gmail dot com
  2009-06-07  7:23 ` [Bug c/40366] " pinskia at gmail dot com
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: ashutosh dot sharma dot 0204 at gmail dot com @ 2009-06-07  7:15 UTC (permalink / raw)
  To: gcc-bugs

Compiler Version:
gcc (GCC) 4.2.4 (Ubuntu 4.2.4-1ubuntu3)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Sample code:

#include <stdio.h>

int main() {
        int a[2];
        a[0]=10;
        a[1]=20;
        printf("a[0] = %d a[1] = %d\n", a[0], a[1]);
        a[0]^=a[1]^=a[0]^=a[1];
        printf("a[0] = %d a[1] = %d\n", a[0], a[1]);
        return 0;
}

gcc test.c -o test -O2

a[0] = 10 a[1] = 20
a[0] = 20 a[1] = 10

gcc test.c -o test -O0

a[0] = 10 a[1] = 20
a[0] = 0 a[1] = 10

Bug: When compiled with -O0 swap fails.
Swap only fails in case of array. Following code works fine with -O0:

#include <stdio.h>

int main() {
        int a, b;
        a=10;
        b=20;
        printf("a = %d b = %d\n", a, b);
        a^=b^=a^=b;
        printf("a = %d b = %d\n", a, b);
        return 0;
}


-- 
           Summary: Array + XOR swap fails
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ashutosh dot sharma dot 0204 at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40366


^ permalink raw reply	[flat|nested] 6+ messages in thread
[parent not found: <bug-40366-4@http.gcc.gnu.org/bugzilla/>]

end of thread, other threads:[~2021-11-05 23:18 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-06-07  7:15 [Bug c/40366] New: Array + XOR swap fails ashutosh dot sharma dot 0204 at gmail dot com
2009-06-07  7:23 ` [Bug c/40366] " pinskia at gmail dot com
2009-06-07  7:23 ` [Bug c/40366] New: " Andrew Thomas Pinski
2009-06-07  9:04 ` [Bug c/40366] " schwab at linux-m68k dot org
     [not found] <bug-40366-4@http.gcc.gnu.org/bugzilla/>
2014-02-16 13:15 ` jackie.rosen at hushmail dot com
2021-11-05 23:18 ` timturnerc at yahoo dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).