This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

target/3850: gcc 2.73-3.0 code generation on HP and SUN WRONG



>Number:         3850
>Category:       target
>Synopsis:       gcc 2.73-3.0  code generation on HP and SUN WRONG
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    unassigned
>State:          open
>Class:          wrong-code
>Submitter-Id:   net
>Arrival-Date:   Fri Jul 27 14:36:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Daniel Sittig
>Release:        unknown-1.0
>Organization:
>Environment:
On HP: HPUX 10.20, PA85000	
ON SUN: Solaris 2.6, UII 
>Description:
The code generation for example printf function call
is wrong: ( it is not printf specific ! )

int a;
printf("a=%d a=%d", (a=1,a), (a=2,a));

The expected output shall be : a=1 a=2

But this works only on a x86 , both UII and HP PA fails.
I was dissassembling it and found that ALL Gcc we have 
create ONE memory reference for variable 'a'. 
I was doublechecking with HP 'cc' and it created correctly
2 memory references thus displaying the expected result.
Linux is applying a 'pushd' before loading '2' to %eax.
This also works and the example above works correctly.

>How-To-Repeat:
gcc mini.c -g
gdb a.out
disassemble
>Fix:
No fix known. 
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="mini.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="mini.c"

I2luY2x1ZGUgPHN0ZGlvLmg+CgoKaW50IG1haW4oKQp7CiAgLy8gaW50IGE7CiAgdm9sYXRpbGUg
aW50IGE7CiAgcHJpbnRmKCJhPSVkIGE9JWRcbiIsIChhPTEsYSksIChhPTIsYSkpOwogIHJldHVy
biAwOwp9CgovKgoKU1VOOiAgZ2NjMi45NS4xCgoweDEwYTU0IDxtYWluPjogc2F2ZSAgJXNwLCAt
MTIwLCAlc3AKMHgxMGE1OCA8bWFpbis0PjogICAgICAgbW92ICAxLCAlbzAKMHgxMGE1YyA8bWFp
bis4PjogICAgICAgc3QgICVvMCwgWyAlZnAgKyAtMjAgXQoweDEwYTYwIDxtYWluKzEyPjogICAg
ICBtb3YgIDIsICVvMAoweDEwYTY0IDxtYWluKzE2PjogICAgICBzdCAgJW8wLCBbICVmcCArIC0y
MCBdCjB4MTBhNjggPG1haW4rMjA+OiAgICAgIHNldGhpICAlaGkoMHgxMTQwMCksICVvMQoweDEw
YTZjIDxtYWluKzI0PjogICAgICBvciAgJW8xLCAweDFlOCwgJW8wICAgICAhIDB4MTE1ZTggPF9s
aWJfdmVyc2lvbis4PgoweDEwYTcwIDxtYWluKzI4PjogICAgICBsZCAgWyAlZnAgKyAtMjAgXSwg
JW8xCjB4MTBhNzQgPG1haW4rMzI+OiAgICAgIGxkICBbICVmcCArIC0yMCBdLCAlbzIKMHgxMGE3
OCA8bWFpbiszNj46ICAgICAgY2FsbCAgMHgyMTY3OCA8cHJpbnRmPgoweDEwYTdjIDxtYWluKzQw
PjogICAgICBub3AgCjB4MTBhODAgPG1haW4rNDQ+OiAgICAgIGNsciAgJWkwICAgICAgICAhIDB4
MAoweDEwYTg0IDxtYWluKzQ4PjogICAgICBiICAweDEwYThjIDxtYWluKzU2PgoweDEwYTg4IDxt
YWluKzUyPjogICAgICBub3AgCjB4MTBhOGMgPG1haW4rNTY+OiAgICAgIHJldCAKMHgxMGE5MCA8
bWFpbis2MD46ICAgICAgcmVzdG9yZSAKCgpIUCAnY2MnCgo7OzsgICBwcmludGYoImE9JWQgYT0l
ZFxuIiwgKGE9MSxhKSwgKGE9MixhKSk7CjB4MzIyYyA8bWFpbis4PjogICAgICAgIGFkZGlsIEwn
LTB4ODAwLCVkcCwlcjEKMHgzMjMwIDxtYWluKzEyPjogICAgICAgbGRvIDB4NzM4KCVyMSksJXIy
NgoweDMyMzQgPG1haW4rMTY+OiAgICAgICBsZGkgMSwlcjEKMHgzMjM4IDxtYWluKzIwPjogICAg
ICAgc3R3ICVyMSwtMHgzOCglc3ApCjB4MzIzYyA8bWFpbisyND46ICAgICAgIGxkdyAtMHgzOCgl
c3ApLCVyMjUKMHgzMjQwIDxtYWluKzI4PjogICAgICAgbGRpIDIsJXIzMQoweDMyNDQgPG1haW4r
MzI+OiAgICAgICBzdHcgJXIzMSwtMHgzOCglc3ApCjB4MzI0OCA8bWFpbiszNj46ICAgICAgIGxk
dyAtMHgzOCglc3ApLCVyMjQKMHgzMjRjIDxtYWluKzQwPjogICAgICAgbGRpbCBMJzB4MzAwMCwl
cjMxCjB4MzI1MCA8bWFpbis0ND46ICAgICAgIGJlLGwgMHgyMTQoJXNyNCwlcjMxKSwlc3IwLCVy
MzEKMHgzMjU0IDxtYWluKzQ4PjogICAgICAgY29weSAlcjMxLCVycAo7OzsgICByZXR1cm4gMDsK
CgpIUCAnZ2NjMi45NS4xJwoKOzs7ICAgcHJpbnRmKCJhPSVkIGE9JWRcbiIsIChhPTEsYSksIChh
PTIsYSkpOwoweDMyZjAgPG1haW4rMjQ+OiAgICAgICBsZGkgMSwlcjE5CjB4MzJmNCA8bWFpbisy
OD46ICAgICAgIHN0dyAlcjE5LDgoJXIzKQoweDMyZjggPG1haW4rMzI+OiAgICAgICBsZGkgMiwl
cjE5CjB4MzJmYyA8bWFpbiszNj46ICAgICAgIHN0dyAlcjE5LDgoJXIzKQoweDMzMDAgPG1haW4r
NDA+OiAgICAgICBsZGlsIEwnMHgyODAwLCVyMTkKMHgzMzA0IDxtYWluKzQ0PjogICAgICAgbGRv
IDB4MmEwKCVyMTkpLCVyMjYKMHgzMzA4IDxtYWluKzQ4PjogICAgICAgbGR3IDgoJXIzKSwlcjI1
CjB4MzMwYyA8bWFpbis1Mj46ICAgICAgIGxkdyA4KCVyMyksJXIyNAoweDMzMTAgPG1haW4rNTY+
OiAgICAgICBiLGwgMHgzMmMwIDxwcmludGY+LCVycAoweDMzMTQgPG1haW4rNjA+OiAgICAgICBu
b3AKOzs7ICAgcmV0dXJuIDA7CgpMSU5VWCAnZ2NjMi45NS4xJwoKMHg4MDQ4NDkwIDxtYWluPjog
ICAgICAgcHVzaGwgICVlYnAKMHg4MDQ4NDkxIDxtYWluKzE+OiAgICAgbW92bCAgICVlc3AsJWVi
cAoweDgwNDg0OTMgPG1haW4rMz46ICAgICBzdWJsICAgJDB4NCwlZXNwCjB4ODA0ODQ5NiA8bWFp
bis2PjogICAgIG1vdmwgICAkMHgyLDB4ZmZmZmZmZmMoJWVicCkKMHg4MDQ4NDlkIDxtYWluKzEz
PjogICAgbW92bCAgIDB4ZmZmZmZmZmMoJWVicCksJWVheAoweDgwNDg0YTAgPG1haW4rMTY+OiAg
ICBwdXNobCAgJWVheAoweDgwNDg0YTEgPG1haW4rMTc+OiAgICBtb3ZsICAgJDB4MSwweGZmZmZm
ZmZjKCVlYnApCjB4ODA0ODRhOCA8bWFpbisyND46ICAgIG1vdmwgICAweGZmZmZmZmZjKCVlYnAp
LCVlYXgKMHg4MDQ4NGFiIDxtYWluKzI3PjogICAgcHVzaGwgICVlYXgKMHg4MDQ4NGFjIDxtYWlu
KzI4PjogICAgcHVzaGwgICQweDgwNDg1MmMKMHg4MDQ4NGIxIDxtYWluKzMzPjogICAgY2FsbCAg
IDB4ODA0ODNiYyA8cHJpbnRmPgoweDgwNDg0YjYgPG1haW4rMzg+OiAgICBhZGRsICAgJDB4Yywl
ZXNwCjB4ODA0ODRiOSA8bWFpbis0MT46ICAgIHhvcmwgICAlZWF4LCVlYXgKMHg4MDQ4NGJiIDxt
YWluKzQzPjogICAgam1wICAgIDB4ODA0ODRjMCA8bWFpbis0OD4KMHg4MDQ4NGJkIDxtYWluKzQ1
PjogICAgbGVhbCAgIDB4MCglZXNpKSwlZXNpCjB4ODA0ODRjMCA8bWFpbis0OD46ICAgIG1vdmwg
ICAlZWJwLCVlc3AKMHg4MDQ4NGMyIDxtYWluKzUwPjogICAgcG9wbCAgICVlYnAKMHg4MDQ4NGMz
IDxtYWluKzUxPjogICAgcmV0ICAgIAoqLwo=


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]