The following reply was made to PR java/6484; it has been noted by GNATS. From: Pierre Habouzit To: tromey@redhat.com Cc: gcc-gnats@gcc.gnu.org, debian-gcc@lists.debian.org Subject: Re: java/6484: Error of compilation of GCJ-3.0 (debian gcj-3.0.4-5 Date: Sun, 28 Apr 2002 00:06:49 +0200 --------------Boundary-00=_DRY8DNGDG8AUOAZUXS8U Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 8bit Le Samedi 27 Avril 2002 21:44, Tom Tromey a écrit : > >>>>> "Pierre" == pierre habouzit writes: > > Pierre> Synopsis: Error of compilation of GCJ-3.0 (debian > gcj-3.0.4-5 Pierre> Release: 3.0.4 (Debian testing/unstable) > > Pierre> there is a bug when compiling this function: > Pierre> ,------------------------------------------------------- > Pierre> void setInt(int newInt, int pos) { > Pierre> set[pos] = newInt; > Pierre> for(int i=0; i<=pos; i++) ++sums[set[i]+newInt]; > Pierre> } > Pierre> `------------------------------------------------------- > > Could you be more specific? What happens? What did you expect to > happen? what happens : with "++sums[...]" the "++" doesn't happens. my int[] has only '0'. with a +=1, it works fine ! I give you the code wich gives me this problem (line 29) > When I compile this to bytecode with gcj3.1, the output is identical > either way. Are you compiling to object code? What flags are you > using? gcj --main=Sidon sidon.java -o sidon [but i use a gcj 3.0 (the gcj from actual debian sid)] try "./sidon 5 12" the right output must be : ,--------------------------------- { 1, 2, 5, 10, 12 } { 1, 3, 8, 9, 12 } { 1, 3, 8, 11, 12 } { 1, 4, 5, 10, 12 } nombre de combinaisons: 4 `--------------------------------- and with blackdown jdk or sun jdk, it works fine. -- MadCoder (53 53) "Un OS n'est pas censé être obscur, bizarre et plein de pièges (ça, ce sont les attributs de la magie)" - Dave Small --------------Boundary-00=_DRY8DNGDG8AUOAZUXS8U Content-Type: text/x-c++; charset="iso-8859-15"; name="sidon.java" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="sidon.java" Y2xhc3MgU2lkb24gewogICAgLyoqCiAgICAgKiBzZXQgY29udGllbnQgbGVzIGVuc2VtYmxlcyBk ZSBTaWRvbgogICAgICogc3VtcyB0b3V0ZXMgbGVzIHNvbW1lcyAyIOAgMgogICAgICogc2l6ZSBl dCBtYXggc29udCBsZXMgcGFyYW3odHJlcyBtIGV0IGIgZGUgbCfpbm9uY+kKICAgICAqLwogICAg aW50W10gc2V0OwogICAgaW50W10gc3VtczsKICAgIGludCBzaXplLCBtYXg7CiAgIAogICAgLyoq CiAgICAgKiBDb25zdHJ1Y3RldXIKICAgICAqLwogICAgU2lkb24oaW50IHRhaWxsZSwgaW50IG1h eGkpIHsKCXNpemUJPSB0YWlsbGU7CgltYXgJPSBtYXhpOwoJc2V0CT0gbmV3IGludFt0YWlsbGVd OwoJc3Vtcwk9IG5ldyBpbnRbMiptYXgrMV07Cglmb3IoaW50IGk9MDsgaTxzdW1zLmxlbmd0aDsg aSsrKSBzdW1zW2ldID0gMDsKCWZvcihpbnQgaT0wOyBpPHRhaWxsZTsgaSsrKSB7IHNldFtpXSA9 IDA7IH0KICAgIH0KCiAgICAvKioKICAgICAqIEFqb3V0ZSB1biBlbnRpZXIg4CBsJ2Vuc2VtYmxl IGRlIFNpZG9uLCBlbiBwb3NpdGlvbiAicG9zIiwKICAgICAqIG1ldCDgIGpvdXIgbGUgdGFibGVh dSBkZXMgc29tbWVzCiAgICAgKi8KICAgIHZvaWQgc2V0SW50KGludCBuZXdJbnQsIGludCBwb3Mp IHsKCXNldFtwb3NdID0gbmV3SW50OwoJZm9yKGludCBpPTA7IGk8PXBvczsgaSsrKSArK3N1bXNb c2V0W2ldK25ld0ludF07CiAgICB9CiAgICAKICAgIC8qKgogICAgICogcmV0b3VybmUgc2kgdW4g bm9tcmUgZXN0IGF1dG9yaXPpCiAgICAgKi8KICAgIGJvb2xlYW4gaXNHb29kKGludCBuZXdJbnQs IGludCBwb3MpIHsKCWZvcihpbnQgaT0wOyBpPHBvczsgaSsrKQoJICAgIGlmKHN1bXNbc2V0W2ld K25ld0ludF09PTEpIHJldHVybiBmYWxzZTsKCXJldHVybih0cnVlKTsKICAgIH0KCiAgICAvKioK ICAgICAqIFN1cHByaW1lciBsJ+ls6W1lbnQgZW4gcG9zaXNpb24gInBvcyIgZCd1biBlbnNlbWJs ZSBkZSBTaWRvbiwKICAgICAqIGVuIG1ldHRhbmxlIHRhYmxlYXUgZGVzIHNvbW1lcyDgIGpvdXIK ICAgICAqLwogICAgdm9pZCBkZWxJbnQoaW50IHBvcykgewoJaW50IG9sZEludDsKCWlmKChvbGRJ bnQgPSBzZXRbcG9zXSkgIT0gMCkKCSAgICBmb3IoaW50IGk9MDsgaTw9cG9zOyBpKyspIHN1bXNb c2V0W2ldK29sZEludF0tLTsKCXNldFtwb3NdID0gMDsKICAgIH0KCiAgICAvKioKICAgICAqIGZv bmN0aW9uIGQnYWZmaWNoYWdlIGQndW4gZW5zZWJtbGUgZGUgU2lkb24KICAgICAqLwogICAgdm9p ZCBwcmludCgpIHsKCVN5c3RlbS5vdXQucHJpbnQoInsgIitzZXRbMF0pOwoJZm9yKGludCBpPTE7 IGk8c2l6ZTsgaSsrKSBTeXN0ZW0ub3V0LnByaW50KCIsICIgKyBzZXRbaV0pOwoJU3lzdGVtLm91 dC5wcmludGxuKCIgfSIpOwogICAgfQogICAgCiAgICAvKioKICAgICAqIGZvbmN0aW9uIOAgbGFx dWVsbGUgb24gcGFzc2UgbGUgZGVybmllciBlbnRpZXIgYWpvdXTpIOAgbCdlbnNlbWJsZSwKICAg ICAqIGV0IGxhIHBvc2l0aW9uIOAgbGFxdWVsbGUgaWwgYSDpdOkgYWpvdXTpCiAgICAgKgogICAg ICogbGEgZmluIGRlIGxhIHLpY3Vyc2lvbiBlc3Qgc29pdCBxdWUgbCdvbiBhIHJlbXBsaSBsZSB0 YWJsZWF1LAogICAgICogc29pdCBxdWUgbGEgcmFjaW5lIGNy6WUgbmUgc29pdCBwYXMgdW5lIHN1 aXN0ZSBkZSBTaWRvbgogICAgICovCiAgICBpbnQgY29tcHV0ZShpbnQgY3VycmVudCwgaW50IHBv cykgewoJaW50IHJlcyA9IDA7CgoJaWYocG9zID09IHNpemUtMSkgeyBwcmludCgpOyByZXR1cm4g MTsgfQoJZm9yKGludCBpID0gY3VycmVudCsxOyBpIDw9IG1heC1zaXplK3BvcysyOyBpKyspCgkg ICAgaWYoaXNHb29kKGksIHBvcysxKSkgewoJCXNldEludChpLCBwb3MrMSk7CgkJcmVzICs9IGNv bXB1dGUoaSwgcG9zKzEpOwoJCWRlbEludChwb3MrMSk7CgkgICAgfQoJcmV0dXJuIHJlczsKICAg IH0KCiAgICAvKioKICAgICAqIGZvbmN0aW9uIGQnYXBwZWwgZGUgbGEgculjdXJzaW9uCiAgICAg Ki8KICAgIGludCBwcmludEFsbFNpZG9uKCkgewoJc2V0WzBdID0gMTsKCXN1bXNbMl0gPSAxOwoJ cmV0dXJuKGNvbXB1dGUoMSwgMCkpOwogICAgfQogICAgCiAgICAvKioKICAgICAqIGZvbmN0aW9u IG1haW4gZGUgbGEgY2xhc3NlCiAgICAgKiBwcmVuZCBkZXV4IGFyZ3VtZW50cyA6IGxhIHRhaWxs ZSwgcHVpcyBsJ2VudGllciBtYXgKICAgICAqIEFwcGVsZXIgbGUgcHJvZ3JhbW1lIHBhciAiamF2 YSBTaWRvbiBtIGIiCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZyBh cmdzW10pIHsKCWlmKGFyZ3MubGVuZ3RoPDIpIHsKCSAgICBTeXN0ZW0ub3V0LnByaW50bG4oInVz YWdlIDogamF2YSBTaWRvbiBtIGIiKTsKCSAgICBTeXN0ZW0ub3V0LnByaW50bG4oIiAqIG1cdG5v bWJyZSBkJ+ls6W1lbnRzIGRlcyBlbnNlbWJsZXMg4CByZWNoZXJjaGVyIik7CgkgICAgU3lzdGVt Lm91dC5wcmludGxuKCIgKiBiXHRtYWpvcmFudCBkZXMgZW5zZW1ibGVzIik7CgkgICAgcmV0dXJu OwoJfQoJU2lkb24gc2lkb24gPSBuZXcgU2lkb24oSW50ZWdlci5wYXJzZUludChhcmdzWzBdKSwg SW50ZWdlci5wYXJzZUludChhcmdzWzFdKSk7CglTeXN0ZW0ub3V0LnByaW50bG4oIm5vbWJyZSBk ZSBjb21iaW5haXNvbnM6ICIgKyBzaWRvbi5wcmludEFsbFNpZG9uKCkpOwogICAgfQp9Cg== --------------Boundary-00=_DRY8DNGDG8AUOAZUXS8U--