This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
c++/816: function parameters incorrect order when using ++ as a parameter
- To: gcc-gnats at gcc dot gnu dot org
- Subject: c++/816: function parameters incorrect order when using ++ as a parameter
- From: super dot aorta at ntlworld dot com
- Date: 15 Nov 2000 21:06:14 -0000
- Reply-To: super dot aorta at ntlworld dot com
>Number: 816
>Category: c++
>Synopsis: function parameters incorrect order when using ++ as a parameter
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Nov 15 13:16:01 PST 2000
>Closed-Date:
>Last-Modified:
>Originator: matt clark
>Release: gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
>Organization:
>Environment:
Linux substitute 2.2.14-5.0 #1 Tue Mar 7 21:07:39 EST 2000 i686 unknown
>Description:
Compiler generates unexpected code when the ++ command is
used in function parameters. The compiler seems to reverse
the order of the parameters (see code it is much easier to
view, than to describe)
I don't know if this is C++ legal to do this, but it is
the reverse of everything I am used to and a bit irritating.
I will download the latest version of g++ and test it
(manana).
I don't know if it even belongs to g++ yet.
Thanks m
NOT present in g++ gcc version 2.8.1.
>How-To-Repeat:
// UNDER 2.91.66 with BUG
g++ test1.cc -o test1
test1
This is matts compiler test program 1
6 5 4 3 2 1 // incorrect
This is test_fun
6 5 4 3 2 1 // incorrect
This is test_fun
6 5 4 3 2 1 // incorrect
This is test_fun
1 2 3 4 5 6 // correct
This is test_fun
1 2 3 4 5 6
// correct
// BY COMPARISON
// UNDER 2.8.1 with NO BUG
test1
This is matts compiler test program 1
1 2 3 4 5 6
This is test_fun
1 2 3 4 5 6
This is test_fun
1 2 3 4 5 6
This is test_fun
1 2 3 4 5 6
This is test_fun
1 2 3 4 5 6
// correct every time!
>Fix:
Can code around it and maybe fixed in newer g++,
can't find it in the bug list.
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="test1.cc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="test1.cc"
I2luY2x1ZGU8ZnN0cmVhbS5oPgp2b2lkIHRlc3RfZnVuKHNob3J0LHNob3J0LHNob3J0LHNob3J0
LHNob3J0LHNob3J0KTsKbWFpbigpewppbnQgaTsKc2hvcnQgdHNbMTAwXTsJCnNob3J0ICpwdHI7
Cgp0c1swXT0xOwp0c1sxXT0yOwp0c1syXT0zOwp0c1szXT00Owp0c1s0XT01Owp0c1s1XT02Owpw
dHI9dHM7Cgljb3V0PDwiVGhpcyBpcyBtYXR0cyBjb21waWxlciB0ZXN0IHByb2dyYW0gMVxuIjsK
CWk9MDsKCWNvdXQ8PHRzW2krK108PCIgIjw8dHNbaSsrXTw8IiAiPDx0c1tpKytdPDwiICI8PHRz
W2krK108PCIgIjw8dHNbaSsrXTw8IiAiPDx0c1tpKytdPDwiICI8PGVuZGw7CglpPTA7Cgl0ZXN0
X2Z1bih0c1tpKytdLHRzW2krK10sdHNbaSsrXSx0c1tpKytdLHRzW2krK10sdHNbaSsrXSk7Cgl0
ZXN0X2Z1bigqKHB0cisrKSwqKHB0cisrKSwqKHB0cisrKSwqKHB0cisrKSwqKHB0cisrKSwqKHB0
cisrKSk7Cgl0ZXN0X2Z1bigqKHRzKzApLCoodHMrMSksKih0cysyKSwqKHRzKzMpLCoodHMrNCks
Kih0cys1KSk7Cgl0ZXN0X2Z1bih0c1swXSx0c1sxXSx0c1syXSx0c1szXSx0c1s0XSx0c1s1XSk7
Cgl9Cgp2b2lkIHRlc3RfZnVuKHNob3J0IG9uZSwgc2hvcnQgdHdvICwgc2hvcnQgdGhyZWUsIHNo
b3J0IGZvdXIsc2hvcnQgZml2ZSxzaG9ydCBzaXgpewpjb3V0PDwiVGhpcyBpcyB0ZXN0X2Z1blxu
IjsKY291dDw8b25lPDwiICI8PHR3bzw8IiAiPDx0aHJlZTw8IiAiPDxmb3VyPDwiICI8PGZpdmU8
PCIgIjw8c2l4PDxlbmRsOwoJfQo=