c++/936: gcc-2.95.2 would not compile

manuca@jdc.monaco.mc manuca@jdc.monaco.mc
Thu Nov 30 02:56:00 GMT 2000


>Number:         936
>Category:       c++
>Synopsis:       gcc-2.95.2 would not compile
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          support
>Submitter-Id:   net
>Arrival-Date:   Thu Nov 30 02:56:01 PST 2000
>Closed-Date:
>Last-Modified:
>Originator:     manuca@jdc.monaco.mc
>Release:        gcc-2.95.2
>Organization:
>Environment:
linux RedHat 7.0 on a i686 machine.
>Description:
streamoff and streampos are used interchangebly in most
libio/* files, although streamoff is scalar whereas
streampos is a structure (first field is scalar).
Look near line 75 in libio/streambuf.h
and for example near line 75 in libio/indstream.cc (attached).
NOTE: it is the release version I downloaded from gcc.gnu.org.
>How-To-Repeat:

>Fix:
I have tried a few changes, but there are too many to be
made.  I would preffer this being solved the right way.
NOTE: in the 2.96 version streamoff and streampos have
the same scalar type and thus can be interchanged.
However, 2.96 has a lot of precompilation bugs, and I
cannot use.
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="indstream.cc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="indstream.cc"

LyogVGhpcyBpcyBwYXJ0IG9mIGxpYmlvL2lvc3RyZWFtLCBwcm92aWRpbmcgLSotIEMrKyAtKi0g
aW5wdXQvb3V0cHV0LgpDb3B5cmlnaHQgKEMpIDE5OTMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
CgpUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIElPIExpYnJhcnkuICBUaGlzIGxpYnJhcnkg
aXMgZnJlZQpzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBp
dCB1bmRlciB0aGUKdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUKRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAy
LCBvciAoYXQgeW91ciBvcHRpb24pCmFueSBsYXRlciB2ZXJzaW9uLgoKVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCmJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCk1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KCllvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
CmFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy4gIElmIG5vdCwg
d3JpdGUgdG8gdGhlIEZyZWUKU29mdHdhcmUgRm91bmRhdGlvbiwgNTkgVGVtcGxlIFBsYWNlIC0g
U3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3LCBVU0EuCgpBcyBhIHNwZWNpYWwgZXhj
ZXB0aW9uLCBpZiB5b3UgbGluayB0aGlzIGxpYnJhcnkgd2l0aCBmaWxlcwpjb21waWxlZCB3aXRo
IGEgR05VIGNvbXBpbGVyIHRvIHByb2R1Y2UgYW4gZXhlY3V0YWJsZSwgdGhpcyBkb2VzIG5vdCBj
YXVzZQp0aGUgcmVzdWx0aW5nIGV4ZWN1dGFibGUgdG8gYmUgY292ZXJlZCBieSB0aGUgR05VIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UuClRoaXMgZXhjZXB0aW9uIGRvZXMgbm90IGhvd2V2ZXIgaW52
YWxpZGF0ZSBhbnkgb3RoZXIgcmVhc29ucyB3aHkKdGhlIGV4ZWN1dGFibGUgZmlsZSBtaWdodCBi
ZSBjb3ZlcmVkIGJ5IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCldyaXR0ZW4gYnkg
UGVyIEJvdGhuZXIgKGJvdGhuZXJAY3lnbnVzLmNvbSkuICovCgojaWZkZWYgX19HTlVHX18KI3By
YWdtYSBpbXBsZW1lbnRhdGlvbgojZW5kaWYKCiNpbmNsdWRlIDxpbmRzdHJlYW0uaD4KCmluZGly
ZWN0YnVmOjppbmRpcmVjdGJ1ZihzdHJlYW1idWYgKmdldCwgc3RyZWFtYnVmICpwdXQsIGludCBk
ZWxldGVfbW9kZSkKOiBzdHJlYW1idWYoKQp7CiAgICBfZ2V0X3N0cmVhbSA9IGdldDsKICAgIF9w
dXRfc3RyZWFtID0gcHV0ID09IE5VTEwgPyBnZXQgOiBwdXQ7CiAgICBfZGVsZXRlX2ZsYWdzID0g
ZGVsZXRlX21vZGU7Cn0KCmluZGlyZWN0YnVmOjp+aW5kaXJlY3RidWYoKQp7CiAgICBpZiAoX2Rl
bGV0ZV9mbGFncyAmIGlvczo6aW4pICBkZWxldGUgZ2V0X3N0cmVhbSgpOwogICAgaWYgKF9kZWxl
dGVfZmxhZ3MgJiBpb3M6Om91dCkgIGRlbGV0ZSBwdXRfc3RyZWFtKCk7Cn0KCnN0cmVhbXNpemUg
aW5kaXJlY3RidWY6OnhzcHV0bihjb25zdCBjaGFyKiBzLCBzdHJlYW1zaXplIG4pCnsKICAgIHJl
dHVybiBwdXRfc3RyZWFtKCktPnNwdXRuKHMsIG4pOwp9CgpzdHJlYW1zaXplIGluZGlyZWN0YnVm
Ojp4c2dldG4oY2hhciogcywgc3RyZWFtc2l6ZSBuKQp7CiAgICByZXR1cm4gZ2V0X3N0cmVhbSgp
LT5zZ2V0bihzLCBuKTsKfQoKaW50IGluZGlyZWN0YnVmOjpvdmVyZmxvdyhpbnQgYyAvKiA9IEVP
RiAqLykKewogICAgaWYgKGMgPT0gRU9GKQoJcmV0dXJuIHB1dF9zdHJlYW0oKS0+b3ZlcmZsb3co
Yyk7CiAgICBlbHNlCglyZXR1cm4gcHV0X3N0cmVhbSgpLT5zcHV0YyhjKTsKfQoKaW50IGluZGly
ZWN0YnVmOjp1bmRlcmZsb3coKQp7CiAgICByZXR1cm4gZ2V0X3N0cmVhbSgpLT5zZ2V0YygpOwp9
CgppbnQgaW5kaXJlY3RidWY6OnVmbG93KCkKewogICAgcmV0dXJuIGdldF9zdHJlYW0oKS0+c2J1
bXBjKCk7Cn0KCnN0cmVhbXBvcyBpbmRpcmVjdGJ1Zjo6c2Vla29mZihzdHJlYW1vZmYgb2ZmLCBf
c2Vla19kaXIgZGlyLCBpbnQgbW9kZSkKewogICAgaW50IHJldF92YWwgPSAwOwogICAgaW50IHNl
bGVjdCA9IG1vZGUgPT0gMCA/IChpb3M6OmlufGlvczo6b3V0KSA6IG1vZGU7CiAgICBzdHJlYW1i
dWYgKmdidWYgPSAoc2VsZWN0ICYgaW9zOjppbikgPyBnZXRfc3RyZWFtKCkgOiAoc3RyZWFtYnVm
KilOVUxMOwogICAgc3RyZWFtYnVmICpwYnVmID0gKHNlbGVjdCAmIGlvczo6b3V0KSA/IHB1dF9z
dHJlYW0oKSA6IChzdHJlYW1idWYqKU5VTEw7CiAgICBpZiAoZ2J1ZiA9PSBwYnVmKQoJcmV0X3Zh
bCA9IGdidWYtPnNlZWtvZmYob2ZmLCBkaXIsIG1vZGUpOwogICAgZWxzZSB7CglpZiAoZ2J1ZikK
CSAgICByZXRfdmFsID0gZ2J1Zi0+c2Vla29mZihvZmYsIGRpciwgaW9zOjppbik7CglpZiAocGJ1
ZiAmJiByZXRfdmFsICE9IEVPRikKCSAgICByZXRfdmFsID0gcGJ1Zi0+c2Vla29mZihvZmYsIGRp
ciwgaW9zOjpvdXQpOwogICAgfQogICAgcmV0dXJuIHJldF92YWw7Cn0KCnN0cmVhbXBvcyBpbmRp
cmVjdGJ1Zjo6c2Vla3BvcyhzdHJlYW1wb3MgcG9zLCBpbnQgbW9kZSkKewogICAgaW50IHJldF92
YWwgPSBFT0Y7CiAgICBpbnQgc2VsZWN0ID0gbW9kZSA9PSAwID8gKGlvczo6aW58aW9zOjpvdXQp
IDogbW9kZTsKICAgIHN0cmVhbWJ1ZiAqZ2J1ZiA9IChzZWxlY3QgJiBpb3M6OmluKSA/IGdldF9z
dHJlYW0oKSA6IChzdHJlYW1idWYqKU5VTEw7CiAgICBzdHJlYW1idWYgKnBidWYgPSAoc2VsZWN0
ICYgaW9zOjpvdXQpID8gcHV0X3N0cmVhbSgpIDogKHN0cmVhbWJ1ZiopTlVMTDsKICAgIGlmIChn
YnVmID09IHBidWYgJiYgZ2J1ZiAhPSBOVUxMKQoJcmV0X3ZhbCA9IGdidWYtPnNlZWtwb3MocG9z
LCBtb2RlKTsKICAgIGVsc2UgewoJaWYgKGdidWYpCgkgICAgcmV0X3ZhbCA9IGdidWYtPnNlZWtw
b3MocG9zLCBpb3M6OmluKTsKCWlmIChwYnVmICYmIHJldF92YWwgIT0gRU9GKQoJICAgIHJldF92
YWwgPSBwYnVmLT5zZWVrcG9zKHBvcywgaW9zOjpvdXQpOwogICAgfQogICAgcmV0dXJuIHJldF92
YWw7Cn0KCmludCBpbmRpcmVjdGJ1Zjo6c3luYygpCnsKICBzdHJlYW1idWYgKmdidWYgPSBnZXRf
c3RyZWFtKCk7CiAgaW50IGdldF9yZXRfdmFsID0gZ2J1ZiA/IGdidWYtPnN5bmMoKSA6IDA7CiAg
c3RyZWFtYnVmICpwYnVmID0gcHV0X3N0cmVhbSgpOwogIGludCBwdXRfcmV0X3ZhbCA9IChwYnVm
ICYmIHBidWYgIT0gZ2J1ZikgPyAgcGJ1Zi0+c3luYygpIDogMDsKICByZXR1cm4gZ2V0X3JldF92
YWwgfHwgcHV0X3JldF92YWw7Cn0KCmludCBpbmRpcmVjdGJ1Zjo6cGJhY2tmYWlsKGludCBjKQp7
CiAgICByZXR1cm4gZ2V0X3N0cmVhbSgpLT5zcHV0YmFja2MoYyk7Cn0K


More information about the Gcc-bugs mailing list