c++/4172: scope-qualified member reference, e.g. MyClass::foo, fails

singer@stanford.edu singer@stanford.edu
Wed Aug 29 10:46:00 GMT 2001


>Number:         4172
>Category:       c++
>Synopsis:       scope-qualified member reference, e.g. MyClass::foo, fails
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    unassigned
>State:          open
>Class:          wrong-code
>Submitter-Id:   net
>Arrival-Date:   Wed Aug 29 10:46:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     joshua a. sweetkind-singer
>Release:        gcc version 2.95.3 20010315 (release)
>Organization:
>Environment:
Reading specs from /usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.3/specs
gcc version 2.95.3 20010315 (release)
>Description:
compiler generates incorrect memory reference for
scope-qualified member, such as MyClass::foo.
>How-To-Repeat:
Compile the attached file and observe the output.
The file is commented and indicates the source line that
compiles incorrectly.
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="main.cpp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="main.cpp"

I2luY2x1ZGUgPHN0ZGlvLmg+Ci8qClRoaXMgZmlsZSBpbGx1c3RyYXRlcyBhIGJ1ZyBpbiB0aGUg
Z251IGNvbXBpbGVyLCB2ZXJzaW9uIDIuOTUuMy4KVGhlIGNsYXNzIEMsIGRlZmluZWQgYmVsb3cs
IGluaGVyaXRzIGEgbWVtYmVyICJmb28iIGZyb20gY2xhc3MgQi4KQnV0IHRoZSByZWZlcmVuY2Ug
Qzo6Zm9vIGlzIHRyZWF0ZWQgaW1wcm9wZXJseSBieSB0aGUgY29tcGlsZXIuCgogKi8KCmNsYXNz
IEEKewpwdWJsaWM6CiAgdmlydHVhbCB2b2lkIGlnbm9yZW1lKCl7fQp9OwoKCgpjbGFzcyBCCnsK
cHVibGljOgogIGludCBmb287CiAgdmlydHVhbCB2b2lkIGlnbm9yZW1lKCl7fQp9OwoKCgoKY2xh
c3MgQyA6IHB1YmxpYyBBLAoJICBwdWJsaWMgQgp7CiBwdWJsaWM6CiAgdm9pZCBJbml0ICgpCiAg
ewogICAgLy8gVEhFU0UgVEhSRUUgQVNTSUdOTUVOVFMgU0hPVUxEIAogICAgLy8gQUxMIEJFIFRP
IFRIRSBTQU1FIE1FTU9SWSBMT0NBVElPTgogICAgZm9vID0gMTsgICAgICAgICAgCiAgICBCOjpm
b28gPSAyOyAgICAgICAKICAgIEM6OmZvbyA9IDM7ICAgICAgIC8vICEhISAgQ09NUElMRVIgQlVH
ICAgISEhCiAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGFzc2lnbm1lbnQgZmFpbHMhIEFz
c2lnbnMgdG8gYm9ndXMgbWVtb3J5IHBvc2l0aW9uLgogICAgICAgICAgICAgICAgICAgICAgLy8g
TXkgY29tcGlsZXIgYXNzaWducyB0byBvZmZzZXQgMCByZWxhdGl2ZSB0byBvYmplY3QsCiAgICAg
ICAgICAgICAgICAgICAgICAvLyB3aGljaCB3aXBlcyBvdXQgdmlydHVhbCB0YWJsZSBmb3Igc3Vi
Y2xhc3MgQS4KCiAgICBwcmludGYoImZvbyA9ICVkXG4iLCBmb28pOwogICAgcHJpbnRmKCJCOjpm
b28gPSAlZFxuIiwgQjo6Zm9vKTsKICAgIHByaW50ZigiQzo6Zm9vID0gJWRcbiIsIEM6OmZvbyk7
IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgoKICAgIC8vIEJVVCBUSElO
R1MgV09SSyBGSU5FIElGIFlPVSBETyBJVCBUSElTIFdBWQogICAgdGhpcy0+Zm9vID0gMTA7ICAg
ICAgIAogICAgdGhpcy0+Qjo6Zm9vID0gMjA7CiAgICB0aGlzLT5DOjpmb28gPSAzMDsKCiAgICBw
cmludGYoInRoaXMtPmZvbyA9ICVkXG4iLCB0aGlzLT5mb28pOwogICAgcHJpbnRmKCJ0aGlzLT5C
Ojpmb28gPSAlZFxuIiwgdGhpcy0+Qjo6Zm9vKTsKICAgIHByaW50ZigidGhpcy0+Qzo6Zm9vID0g
JWRcbiIsIHRoaXMtPkM6OmZvbyk7CgogIH0KfTsKCgoKCmludCBtYWluKGludCBhcmdjLCBjaGFy
KiogYXJndikKewogIEMgeDsKICB4LkluaXQoKTsKCiAgcmV0dXJuIDA7Cn0K



More information about the Gcc-prs mailing list