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
2009-06-07 9:04 ` schwab at linux-m68k dot org
0 siblings, 2 replies; 4+ 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] 4+ messages in thread
* [Bug c/40366] Array + XOR swap fails
2009-06-07 7:15 [Bug c/40366] New: " ashutosh dot sharma dot 0204 at gmail dot com
@ 2009-06-07 7:23 ` pinskia at gmail dot com
2009-06-07 9:04 ` schwab at linux-m68k dot org
1 sibling, 0 replies; 4+ messages in thread
From: pinskia at gmail dot com @ 2009-06-07 7:23 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from pinskia at gmail dot com 2009-06-07 07:23 -------
Subject: Re: New: Array + XOR swap fails
Both of these are undefined. Look up about sequence point rules.
Sent from my iPhone
On Jun 7, 2009, at 12:15 AM, "ashutosh dot sharma dot 0204 at gmail
dot com" <gcc-bugzilla@gcc.gnu.org> wrote:
> 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
>
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40366
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug c/40366] Array + XOR swap fails
2009-06-07 7:15 [Bug c/40366] New: " 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 9:04 ` schwab at linux-m68k dot org
1 sibling, 0 replies; 4+ messages in thread
From: schwab at linux-m68k dot org @ 2009-06-07 9:04 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from schwab at linux-m68k dot org 2009-06-07 09:04 -------
*** This bug has been marked as a duplicate of 11751 ***
--
schwab at linux-m68k dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |DUPLICATE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40366
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-11-05 23:18 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <bug-40366-4@http.gcc.gnu.org/bugzilla/>
2014-02-16 13:15 ` [Bug c/40366] Array + XOR swap fails jackie.rosen at hushmail dot com
2021-11-05 23:18 ` timturnerc at yahoo dot com
2009-06-07 7:15 [Bug c/40366] New: " 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 9:04 ` schwab at linux-m68k dot org
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).