c++/644: internal compile error using templates

rettigcd@bigfoot.com rettigcd@bigfoot.com
Mon Oct 16 06:46:00 GMT 2000


>Number:         644
>Category:       c++
>Synopsis:       internal compile error using templates
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Oct 16 06:46:01 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Dean Rettig
>Release:        gcc version 2.95.2 19991024 (release-2)
>Organization:
>Environment:
/i686-pc-cygwin/2.95.2/specs
Cygwin
Used default options during installation.
>Description:
When instatiating a template class with a private member function,
gcc henerates an internal compiler error.  If the member is public
there is no compiler error.
>How-To-Repeat:
gcc units.cpp -o u.exe
>Fix:

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

IyAxICJ1bml0cy5jcHAiCiMgMSAiL3Vzci9saWIvZ2NjLWxpYi9pNjg2LXBjLWN5Z3dpbi8yLjk1
LjIvLi4vLi4vLi4vLi4vaW5jbHVkZS9zdGRpby5oIiAxIDMKIAoKCgoKCgoKCgoKCgoKCgoKCgog
CgoKCgoKCgpleHRlcm4gIkMiIHsKCgoKIyAxICIvdXNyL2xpYi9nY2MtbGliL2k2ODYtcGMtY3ln
d2luLzIuOTUuMi8uLi8uLi8uLi8uLi9pbmNsdWRlL19hbnNpLmgiIDEgMwogCgogCgoKCgoKCgoK
CgoKIyAxICIvdXNyL2xpYi9nY2MtbGliL2k2ODYtcGMtY3lnd2luLzIuOTUuMi8uLi8uLi8uLi8u
Li9pbmNsdWRlL3N5cy9jb25maWcuaCIgMSAzCgoKCiAKIAojIDE0ICIvdXNyL2xpYi9nY2MtbGli
L2k2ODYtcGMtY3lnd2luLzIuOTUuMi8uLi8uLi8uLi8uLi9pbmNsdWRlL3N5cy9jb25maWcuaCIg
MwoKCiMgMjUgIi91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1jeWd3aW4vMi45NS4yLy4uLy4uLy4u
Ly4uL2luY2x1ZGUvc3lzL2NvbmZpZy5oIiAzCgoKIAoKCgoKCgoKCiMgNDQgIi91c3IvbGliL2dj
Yy1saWIvaTY4Ni1wYy1jeWd3aW4vMi45NS4yLy4uLy4uLy4uLy4uL2luY2x1ZGUvc3lzL2NvbmZp
Zy5oIiAzCgoKCgoKCgoKIAoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK
CgoKIAoKCgoKCgoKCgoKCgoKCgoKdHlwZWRlZiBpbnQgX19pbnQzMl90Owp0eXBlZGVmIHVuc2ln
bmVkIGludCBfX3VpbnQzMl90OwoKCgoKCgoKCgoKCgoKCiMgMTUgIi91c3IvbGliL2djYy1saWIv
aTY4Ni1wYy1jeWd3aW4vMi45NS4yLy4uLy4uLy4uLy4uL2luY2x1ZGUvX2Fuc2kuaCIgMiAzCgoK
IAogCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgojIDYxICIvdXNyL2xpYi9nY2MtbGliL2k2ODYt
cGMtY3lnd2luLzIuOTUuMi8uLi8uLi8uLi8uLi9pbmNsdWRlL19hbnNpLmgiIDMKCgogCgoKCgoK
CgoKIyAzMiAiL3Vzci9saWIvZ2NjLWxpYi9pNjg2LXBjLWN5Z3dpbi8yLjk1LjIvLi4vLi4vLi4v
Li4vaW5jbHVkZS9zdGRpby5oIiAyIDMKCgoKCgojIDEgIi91c3IvbGliL2djYy1saWIvaTY4Ni1w
Yy1jeWd3aW4vMi45NS4yL2luY2x1ZGUvc3RkZGVmLmgiIDEgMwoKCgoKCgoKCiAKCgojIDIxICIv
dXNyL2xpYi9nY2MtbGliL2k2ODYtcGMtY3lnd2luLzIuOTUuMi9pbmNsdWRlL3N0ZGRlZi5oIiAz
CgoKCiAKCgogCgoKCgoKIAoKCiMgNjMgIi91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1jeWd3aW4v
Mi45NS4yL2luY2x1ZGUvc3RkZGVmLmgiIDMKCgogCgoKCgoKIAoKCgoKCgoKCgoKCgoKCgoKCgog
CgoKCgoKIAoKIAoKIyAxMzMgIi91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1jeWd3aW4vMi45NS4y
L2luY2x1ZGUvc3RkZGVmLmgiIDMKCgogCgogCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK
CgoKCgp0eXBlZGVmIHVuc2lnbmVkIGludCBzaXplX3Q7CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgog
CgoKCgogCgojIDI3MyAiL3Vzci9saWIvZ2NjLWxpYi9pNjg2LXBjLWN5Z3dpbi8yLjk1LjIvaW5j
bHVkZS9zdGRkZWYuaCIgMwoKCiMgMjg1ICIvdXNyL2xpYi9nY2MtbGliL2k2ODYtcGMtY3lnd2lu
LzIuOTUuMi9pbmNsdWRlL3N0ZGRlZi5oIiAzCgoKIAoKIAoKIyAzMTkgIi91c3IvbGliL2djYy1s
aWIvaTY4Ni1wYy1jeWd3aW4vMi45NS4yL2luY2x1ZGUvc3RkZGVmLmgiIDMKCgoKCiAKCgoKCgoK
CgoKCgoKCgoKCgoKCgoKCiMgMzcgIi91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1jeWd3aW4vMi45
NS4yLy4uLy4uLy4uLy4uL2luY2x1ZGUvc3RkaW8uaCIgMiAzCgoKCiMgMSAiL3Vzci9saWIvZ2Nj
LWxpYi9pNjg2LXBjLWN5Z3dpbi8yLjk1LjIvaW5jbHVkZS9zdGRhcmcuaCIgMSAzCiAKCgoKCgoK
CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK
CgogCgoKCgoKCnR5cGVkZWYgdm9pZCAqX19nbnVjX3ZhX2xpc3Q7CgoKCiAKCiMgMTIzICIvdXNy
L2xpYi9nY2MtbGliL2k2ODYtcGMtY3lnd2luLzIuOTUuMi9pbmNsdWRlL3N0ZGFyZy5oIiAzCgoK
CgoKCgoKCgoKCgoKCgoKCgoKIyAyMTAgIi91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1jeWd3aW4v
Mi45NS4yL2luY2x1ZGUvc3RkYXJnLmgiIDMKCgoKCgojIDQwICIvdXNyL2xpYi9nY2MtbGliL2k2
ODYtcGMtY3lnd2luLzIuOTUuMi8uLi8uLi8uLi8uLi9pbmNsdWRlL3N0ZGlvLmgiIDIgMwoKCiAK
CgoKCgojIDEgIi91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1jeWd3aW4vMi45NS4yLy4uLy4uLy4u
Ly4uL2luY2x1ZGUvc3lzL3JlZW50LmgiIDEgMwogCgogCgoKCgoKZXh0ZXJuICJDIiB7CgoKCgoj
IDEgIi91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1jeWd3aW4vMi45NS4yLy4uLy4uLy4uLy4uL2lu
Y2x1ZGUvdGltZS5oIiAxIDMKIAoKCgoKCgoKCgoKCmV4dGVybiAiQyIgewoKCgoKCgogCiMgMSAi
L3Vzci9saWIvZ2NjLWxpYi9pNjg2LXBjLWN5Z3dpbi8yLjk1LjIvLi4vLi4vLi4vLi4vaW5jbHVk
ZS9tYWNoaW5lL3RpbWUuaCIgMSAzCgoKCgoKCgoKCgojIDIxICIvdXNyL2xpYi9nY2MtbGliL2k2
ODYtcGMtY3lnd2luLzIuOTUuMi8uLi8uLi8uLi8uLi9pbmNsdWRlL3RpbWUuaCIgMiAzCgoKCgoK
CgoKCiMgMSAiL3Vzci9saWIvZ2NjLWxpYi9pNjg2LXBjLWN5Z3dpbi8yLjk1LjIvaW5jbHVkZS9z
dGRkZWYuaCIgMSAzCgoKCgoKCgoKIAoKCiMgMjEgIi91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1j
eWd3aW4vMi45NS4yL2luY2x1ZGUvc3RkZGVmLmgiIDMKCgoKIAoKCiAKCgoKCgogCgoKIyA2MyAi
L3Vzci9saWIvZ2NjLWxpYi9pNjg2LXBjLWN5Z3dpbi8yLjk1LjIvaW5jbHVkZS9zdGRkZWYuaCIg
MwoKCiAKCgoKCgogCgoKCgoKCgoKCgoKCgoKCgoKCiAKCgoKCgogCgogCgojIDEzMyAiL3Vzci9s
aWIvZ2NjLWxpYi9pNjg2LXBjLWN5Z3dpbi8yLjk1LjIvaW5jbHVkZS9zdGRkZWYuaCIgMwoKCiAK
CiAKCgojIDE5MCAiL3Vzci9saWIvZ2NjLWxpYi9pNjg2LXBjLWN5Z3dpbi8yLjk1LjIvaW5jbHVk
ZS9zdGRkZWYuaCIgMwoKCgoKCiAKCgoKCiAKCiMgMjczICIvdXNyL2xpYi9nY2MtbGliL2k2ODYt
cGMtY3lnd2luLzIuOTUuMi9pbmNsdWRlL3N0ZGRlZi5oIiAzCgoKIyAyODUgIi91c3IvbGliL2dj
Yy1saWIvaTY4Ni1wYy1jeWd3aW4vMi45NS4yL2luY2x1ZGUvc3RkZGVmLmgiIDMKCgogCgogCgoj
IDMxOSAiL3Vzci9saWIvZ2NjLWxpYi9pNjg2LXBjLWN5Z3dpbi8yLjk1LjIvaW5jbHVkZS9zdGRk
ZWYuaCIgMwoKCgoKIAoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKIyAzMCAiL3Vzci9saWIvZ2NjLWxp
Yi9pNjg2LXBjLWN5Z3dpbi8yLjk1LjIvLi4vLi4vLi4vLi4vaW5jbHVkZS90aW1lLmgiIDIgMwoK
CiAKIyAxICIvdXNyL2xpYi9nY2MtbGliL2k2ODYtcGMtY3lnd2luLzIuOTUuMi8uLi8uLi8uLi8u
Li9pbmNsdWRlL21hY2hpbmUvdHlwZXMuaCIgMSAzCgoKCgoKCgoKCiMgMzMgIi91c3IvbGliL2dj
Yy1saWIvaTY4Ni1wYy1jeWd3aW4vMi45NS4yLy4uLy4uLy4uLy4uL2luY2x1ZGUvdGltZS5oIiAy
IDMKCgoKdHlwZWRlZiB1bnNpZ25lZCBsb25nICBjbG9ja190OwoKCgoKdHlwZWRlZiBsb25nICB0
aW1lX3Q7CgoKCnN0cnVjdCB0bQp7CiAgaW50CXRtX3NlYzsKICBpbnQJdG1fbWluOwogIGludAl0
bV9ob3VyOwogIGludAl0bV9tZGF5OwogIGludAl0bV9tb247CiAgaW50CXRtX3llYXI7CiAgaW50
CXRtX3dkYXk7CiAgaW50CXRtX3lkYXk7CiAgaW50CXRtX2lzZHN0Owp9OwoKY2xvY2tfdAkgICAg
Y2xvY2sgICAgICAgKHZvaWQpICA7CmRvdWJsZQkgICAgZGlmZnRpbWUgICAgKHRpbWVfdCBfdGlt
ZTIsIHRpbWVfdCBfdGltZTEpICA7CnRpbWVfdAkgICAgbWt0aW1lICAgICAgKHN0cnVjdCB0bSAq
X3RpbWVwdHIpICA7CnRpbWVfdAkgICAgdGltZSAgICAgICAgKHRpbWVfdCAqX3RpbWVyKSAgOwoK
Y2hhcgkgICogIGFzY3RpbWUgICAgIChjb25zdCBzdHJ1Y3QgdG0gKl90YmxvY2spICA7CmNoYXIJ
ICAqICBjdGltZSAgICAgICAoY29uc3QgdGltZV90ICpfdGltZSkgIDsKc3RydWN0IHRtICogIGdt
dGltZSAgICAgIChjb25zdCB0aW1lX3QgKl90aW1lcikgIDsKc3RydWN0IHRtICogIGxvY2FsdGlt
ZSAgIChjb25zdCB0aW1lX3QgKl90aW1lcikgIDsKCnNpemVfdAkgICAgc3RyZnRpbWUgICAgKGNo
YXIgKl9zLCBzaXplX3QgX21heHNpemUsIGNvbnN0IGNoYXIgKl9mbXQsIGNvbnN0IHN0cnVjdCB0
bSAqX3QpICA7CgpjaGFyCSAgKiAgYXNjdGltZV9yICAgCShjb25zdCBzdHJ1Y3QgdG0gKiwgY2hh
ciAqKSAgOwpjaGFyCSAgKiAgY3RpbWVfciAgIAkoY29uc3QgdGltZV90ICosIGNoYXIgKikgIDsK
c3RydWN0IHRtICogIGdtdGltZV9yICAgCShjb25zdCB0aW1lX3QgKiwgc3RydWN0IHRtICopICA7
CnN0cnVjdCB0bSAqICBsb2NhbHRpbWVfciAgIAkoY29uc3QgdGltZV90ICosIHN0cnVjdCB0bSAq
KSAgOwoKCgpleHRlcm4gdGltZV90IF90aW1lem9uZSBfX2F0dHJpYnV0ZV9fKCggZGxsaW1wb3J0
ICkpIDsKZXh0ZXJuIGludCBfZGF5bGlnaHQgX19hdHRyaWJ1dGVfXygoIGRsbGltcG9ydCApKSA7
CmV4dGVybiBjaGFyICpfdHpuYW1lWzJdIF9fYXR0cmlidXRlX18oKCBkbGxpbXBvcnQgKSkgOwoK
Y2hhciAqICB0aW1lem9uZSAgICAodm9pZCkgIDsKdm9pZCAgdHpzZXQgICAgKHZvaWQpICA7CgoK
Cgp9CgoKCiMgMTQgIi91c3IvbGliL2djYy1saWIvaTY4Ni1wYy1jeWd3aW4vMi45NS4yLy4uLy4u
Ly4uLy4uL2luY2x1ZGUvc3lzL3JlZW50LmgiIDIgMwoKCgoKCgoKCgoKCgoKCnR5cGVkZWYgX191
aW50MzJfdCBfX1VMb25nOwoKCnN0cnVjdCBfZ2x1ZSAKewogIHN0cnVjdCBfZ2x1ZSAqX25leHQ7
CiAgaW50IF9uaW9iczsKICBzdHJ1Y3QgX19zRklMRSAqX2lvYnM7Cn07CgpzdHJ1Y3QgX0JpZ2lu
dCAKewogIHN0cnVjdCBfQmlnaW50ICpfbmV4dDsKICBpbnQgX2ssIF9tYXh3ZHMsIF9zaWduLCBf
d2RzOwogIF9fVUxvbmcgX3hbMV07Cn07CgogCgoKCgoKc3RydWN0IF9hdGV4aXQgewoJc3RydWN0
CV9hdGV4aXQgKl9uZXh0OwkJCSAKCWludAlfaW5kOwkJCQkgCgl2b2lkCSgqX2Zuc1szMiBdKSh2
b2lkKTsJIAp9OwoKIAoKCgoKCgpzdHJ1Y3QgX19zYnVmIHsKCXVuc2lnbmVkIGNoYXIgKl9iYXNl
OwoJaW50CV9zaXplOwp9OwoKIAoKCgoKdHlwZWRlZiBsb25nIF9mcG9zX3Q7CQkgCgkJCQkgCgog
CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCnN0cnVjdCBfX3NGSUxFIHsKICB1bnNpZ25lZCBjaGFy
ICpfcDsJIAogIGludAlfcjsJCSAKICBpbnQJX3c7CQkgCiAgc2hvcnQJX2ZsYWdzOwkJIAogIHNo
b3J0CV9maWxlOwkJIAogIHN0cnVjdCBfX3NidWYgX2JmOwkgCiAgaW50CV9sYmZzaXplOwkgCgog
ICAKICB2b2lkICogCV9jb29raWU7CSAKCiAgaW50CSAoKl9yZWFkKSAgICh2b2lkICogIF9jb29r
aWUsIGNoYXIgKl9idWYsIGludCBfbikgIDsKICBpbnQJICgqX3dyaXRlKSAgICh2b2lkICogIF9j
b29raWUsIGNvbnN0IGNoYXIgKl9idWYsIGludCBfbikgIDsKICBfZnBvc190ICAoKl9zZWVrKSAg
ICh2b2lkICogIF9jb29raWUsIF9mcG9zX3QgX29mZnNldCwgaW50IF93aGVuY2UpICA7CiAgaW50
CSAoKl9jbG9zZSkgICAodm9pZCAqICBfY29va2llKSAgOwoKICAgCiAgc3RydWN0IF9fc2J1ZiBf
dWI7CSAKICB1bnNpZ25lZCBjaGFyICpfdXA7CSAKICBpbnQJX3VyOwkJIAoKICAgCiAgdW5zaWdu
ZWQgY2hhciBfdWJ1ZlszXTsJIAogIHVuc2lnbmVkIGNoYXIgX25idWZbMV07CSAKCiAgIAogIHN0
cnVjdCBfX3NidWYgX2xiOwkgCgogICAKICBpbnQJX2Jsa3NpemU7CSAKICBpbnQJX29mZnNldDsJ
IAoKICBzdHJ1Y3QgX3JlZW50ICpfZGF0YTsKfTsKCiAKCgoKCgoKCnN0cnVjdCBfcmVlbnQKewog
ICAKICBpbnQgX2Vycm5vOwoKICAgCgoKICBzdHJ1Y3QgX19zRklMRSAqX3N0ZGluLCAqX3N0ZG91
dCwgKl9zdGRlcnI7CgogIGludCAgX2luYzsJCQkgCiAgY2hhciBfZW1lcmdlbmN5WzI1XTsKIAog
IGludCBfY3VycmVudF9jYXRlZ29yeTsJIAogIGNvbnN0ICBjaGFyICpfY3VycmVudF9sb2NhbGU7
CgogIGludCBfX3NkaWRpbml0OwkJIAoKICB2b2lkICAoKl9fY2xlYW51cCkgICAoc3RydWN0IF9y
ZWVudCAqKSAgOwoKICAgCiAgc3RydWN0IF9CaWdpbnQgKl9yZXN1bHQ7CiAgaW50IF9yZXN1bHRf
azsKICBzdHJ1Y3QgX0JpZ2ludCAqX3A1czsKICBzdHJ1Y3QgX0JpZ2ludCAqKl9mcmVlbGlzdDsK
CiAgIAogIGludCBfY3Z0bGVuOwkJCSAKICBjaGFyICpfY3Z0YnVmOwoKICB1bmlvbgogICAgewog
ICAgICBzdHJ1Y3QKICAgICAgICB7CiAgICAgICAgICB1bnNpZ25lZCBpbnQgX3VudXNlZF9yYW5k
OwogICAgICAgICAgY2hhciAqIF9zdHJ0b2tfbGFzdDsKICAgICAgICAgIGNoYXIgX2FzY3RpbWVf
YnVmWzI2XTsKICAgICAgICAgIHN0cnVjdCB0bSBfbG9jYWx0aW1lX2J1ZjsKICAgICAgICAgIGlu
dCBfZ2FtbWFfc2lnbmdhbTsKICAgICAgICAgIF9fZXh0ZW5zaW9uX18gdW5zaWduZWQgbG9uZyBs
b25nIF9yYW5kX25leHQ7CgogICAgICAgIH0gX3JlZW50OwogICAKCiAKICAgICAgc3RydWN0CiAg
ICAgICAgewoKICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKiBfbmV4dGZbMzAgXTsKICAgICAgICAg
IHVuc2lnbmVkIGludCBfbm1hbGxvY1szMCBdOwogICAgICAgIH0gX3VudXNlZDsKICAgIH0gX25l
dzsKCiAgIAogIHN0cnVjdCBfYXRleGl0ICpfYXRleGl0OwkgCiAgc3RydWN0IF9hdGV4aXQgX2F0
ZXhpdDA7CSAKCiAgIAogIHZvaWQgKCoqKF9zaWdfZnVuYykpKGludCk7CgogICAKCgogIHN0cnVj
dCBfZ2x1ZSBfX3NnbHVlOwkJCSAKICBzdHJ1Y3QgX19zRklMRSBfX3NmWzNdOwkJIAp9OwoKCgoK
CgogCgoKCgoKCgoKZXh0ZXJuIHN0cnVjdCBfcmVlbnQgKl9pbXB1cmVfcHRyICA7Cgp2b2lkIF9y
ZWNsYWltX3JlZW50ICAoc3RydWN0IF9yZWVudCAqKSAgOwoKIAoKCgoKCgp9CgoKIyA0OCAiL3Vz
ci9saWIvZ2NjLWxpYi9pNjg2LXBjLWN5Z3dpbi8yLjk1LjIvLi4vLi4vLi4vLi4vaW5jbHVkZS9z
dGRpby5oIiAyIDMKCgp0eXBlZGVmIF9mcG9zX3QgZnBvc190OwoKdHlwZWRlZiBzdHJ1Y3QgX19z
RklMRSBGSUxFOwoKCgoKCgkgCgoKCgoKCgoKCgoKCgoKIAoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK
CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKIAoKCgoKCgoKCgoKaW50CSByZW1vdmUgICAgKGNvbnN0
IGNoYXIgKikgIDsKaW50CSByZW5hbWUgICAgKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKSAg
OwoKY2hhciAqCSB0ZW1wbmFtICAgIChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKikgIDsKRklM
RSAqCSB0bXBmaWxlICAgICh2b2lkKSAgOwpjaGFyICoJIHRtcG5hbSAgICAoY2hhciAqKSAgOwpp
bnQJIGZjbG9zZSAgICAoRklMRSAqKSAgOwppbnQJIGZmbHVzaCAgICAoRklMRSAqKSAgOwpGSUxF
ICoJIGZyZW9wZW4gICAgKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBGSUxFICopICA7CnZv
aWQJIHNldGJ1ZiAgICAoRklMRSAqLCBjaGFyICopICA7CmludAkgc2V0dmJ1ZiAgICAoRklMRSAq
LCBjaGFyICosIGludCwgc2l6ZV90KSAgOwppbnQJIGZwcmludGYgICAgKEZJTEUgKiwgY29uc3Qg
Y2hhciAqLCAuLi4pICA7CmludAkgZnNjYW5mICAgIChGSUxFICosIGNvbnN0IGNoYXIgKiwgLi4u
KSAgOwppbnQJIHByaW50ZiAgICAoY29uc3QgY2hhciAqLCAuLi4pICA7CmludAkgc2NhbmYgICAg
KGNvbnN0IGNoYXIgKiwgLi4uKSAgOwppbnQJIHNzY2FuZiAgICAoY29uc3QgY2hhciAqLCBjb25z
dCBjaGFyICosIC4uLikgIDsKaW50CSB2ZnByaW50ZiAgICAoRklMRSAqLCBjb25zdCBjaGFyICos
IF9fZ251Y192YV9saXN0ICkgIDsKaW50CSB2cHJpbnRmICAgIChjb25zdCBjaGFyICosIF9fZ251
Y192YV9saXN0ICkgIDsKaW50CSB2c3ByaW50ZiAgICAoY2hhciAqLCBjb25zdCBjaGFyICosIF9f
Z251Y192YV9saXN0ICkgIDsKaW50CSB2c25wcmludGYgICAgKGNoYXIgKiwgc2l6ZV90LCBjb25z
dCBjaGFyICosIF9fZ251Y192YV9saXN0ICkgIDsKaW50CSBmZ2V0YyAgICAoRklMRSAqKSAgOwpj
aGFyICogICBmZ2V0cyAgICAoY2hhciAqLCBpbnQsIEZJTEUgKikgIDsKaW50CSBmcHV0YyAgICAo
aW50LCBGSUxFICopICA7CmludAkgZnB1dHMgICAgKGNvbnN0IGNoYXIgKiwgRklMRSAqKSAgOwpp
bnQJIGdldGMgICAgKEZJTEUgKikgIDsKaW50CSBnZXRjaGFyICAgICh2b2lkKSAgOwpjaGFyICog
ICBnZXRzICAgIChjaGFyICopICA7CmludAkgcHV0YyAgICAoaW50LCBGSUxFICopICA7CmludAkg
cHV0Y2hhciAgICAoaW50KSAgOwppbnQJIHB1dHMgICAgKGNvbnN0IGNoYXIgKikgIDsKaW50CSB1
bmdldGMgICAgKGludCwgRklMRSAqKSAgOwpzaXplX3QJIGZyZWFkICAgICh2b2lkICogLCBzaXpl
X3QgX3NpemUsIHNpemVfdCBfbiwgRklMRSAqKSAgOwpzaXplX3QJIGZ3cml0ZSAgICAoY29uc3Qg
dm9pZCAqICAsIHNpemVfdCBfc2l6ZSwgc2l6ZV90IF9uLCBGSUxFICopICA7CmludAkgZmdldHBv
cyAgICAoRklMRSAqLCBmcG9zX3QgKikgIDsKaW50CSBmc2VlayAgICAoRklMRSAqLCBsb25nLCBp
bnQpICA7CmludAkgZnNldHBvcyAgICAoRklMRSAqLCBjb25zdCBmcG9zX3QgKikgIDsKbG9uZwkg
ZnRlbGwgICAgKCBGSUxFICopICA7CnZvaWQJIHJld2luZCAgICAoRklMRSAqKSAgOwp2b2lkCSBj
bGVhcmVyciAgICAoRklMRSAqKSAgOwppbnQJIGZlb2YgICAgKEZJTEUgKikgIDsKaW50CSBmZXJy
b3IgICAgKEZJTEUgKikgIDsKdm9pZCAgICAgcGVycm9yICAgIChjb25zdCBjaGFyICopICA7CgpG
SUxFICoJIGZvcGVuICAgIChjb25zdCBjaGFyICpfbmFtZSwgY29uc3QgY2hhciAqX3R5cGUpICA7
CmludAkgc3ByaW50ZiAgICAoY2hhciAqLCBjb25zdCBjaGFyICosIC4uLikgIDsKaW50CSBzbnBy
aW50ZiAgICAoY2hhciAqLCBzaXplX3QsIGNvbnN0IGNoYXIgKiwgLi4uKSAgOwoKCmludAkgdmZp
cHJpbnRmICAgIChGSUxFICosIGNvbnN0IGNoYXIgKiwgX19nbnVjX3ZhX2xpc3QgKSAgOwppbnQJ
IGlwcmludGYgICAgKGNvbnN0IGNoYXIgKiwgLi4uKSAgOwppbnQJIGZpcHJpbnRmICAgIChGSUxF
ICosIGNvbnN0IGNoYXIgKiwgLi4uKSAgOwppbnQJIHNpcHJpbnRmICAgIChjaGFyICosIGNvbnN0
IGNoYXIgKiwgLi4uKSAgOwoKCiAKCgoKCgpGSUxFICoJIGZkb3BlbiAgICAoaW50LCBjb25zdCBj
aGFyICopICA7CgppbnQJIGZpbGVubyAgICAoRklMRSAqKSAgOwppbnQJIGdldHcgICAgKEZJTEUg
KikgIDsKaW50CSBwY2xvc2UgICAgKEZJTEUgKikgIDsKRklMRSAqICAgcG9wZW4gICAgKGNvbnN0
IGNoYXIgKiwgY29uc3QgY2hhciAqKSAgOwppbnQJIHB1dHcgICAgKGludCwgRklMRSAqKSAgOwp2
b2lkICAgICBzZXRidWZmZXIgICAgKEZJTEUgKiwgY2hhciAqLCBpbnQpICA7CmludAkgc2V0bGlu
ZWJ1ZiAgICAoRklMRSAqKSAgOwoKCiAKCgoKRklMRSAqCSBfZmRvcGVuX3IgICAgKHN0cnVjdCBf
cmVlbnQgKiwgaW50LCBjb25zdCBjaGFyICopICA7CkZJTEUgKgkgX2ZvcGVuX3IgICAgKHN0cnVj
dCBfcmVlbnQgKiwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopICA7CmludAkgX2dldGNoYXJf
ciAgICAoc3RydWN0IF9yZWVudCAqKSAgOwpjaGFyICoJIF9nZXRzX3IgICAgKHN0cnVjdCBfcmVl
bnQgKiwgY2hhciAqKSAgOwppbnQJIF9pcHJpbnRmX3IgICAgKHN0cnVjdCBfcmVlbnQgKiwgY29u
c3QgY2hhciAqLCAuLi4pICA7CmludAkgX21rc3RlbXBfciAgICAoc3RydWN0IF9yZWVudCAqLCBj
aGFyICopICA7CmNoYXIgKgkgX21rdGVtcF9yICAgIChzdHJ1Y3QgX3JlZW50ICosIGNoYXIgKikg
IDsKdm9pZAkgX3BlcnJvcl9yICAgIChzdHJ1Y3QgX3JlZW50ICosIGNvbnN0IGNoYXIgKikgIDsK
aW50CSBfcHJpbnRmX3IgICAgKHN0cnVjdCBfcmVlbnQgKiwgY29uc3QgY2hhciAqLCAuLi4pICA7
CmludAkgX3B1dGNoYXJfciAgICAoc3RydWN0IF9yZWVudCAqLCBpbnQpICA7CmludAkgX3B1dHNf
ciAgICAoc3RydWN0IF9yZWVudCAqLCBjb25zdCBjaGFyICopICA7CmludAkgX3JlbW92ZV9yICAg
IChzdHJ1Y3QgX3JlZW50ICosIGNvbnN0IGNoYXIgKikgIDsKaW50CSBfcmVuYW1lX3IgICAgKHN0
cnVjdCBfcmVlbnQgKiwKCQkJICAgY29uc3QgY2hhciAqX29sZCwgY29uc3QgY2hhciAqX25ldykg
IDsKaW50CSBfc2NhbmZfciAgICAoc3RydWN0IF9yZWVudCAqLCBjb25zdCBjaGFyICosIC4uLikg
IDsKaW50CSBfc3ByaW50Zl9yICAgIChzdHJ1Y3QgX3JlZW50ICosIGNoYXIgKiwgY29uc3QgY2hh
ciAqLCAuLi4pICA7CmludAkgX3NucHJpbnRmX3IgICAgKHN0cnVjdCBfcmVlbnQgKiwgY2hhciAq
LCBzaXplX3QsIGNvbnN0IGNoYXIgKiwgLi4uKSAgOwpjaGFyICoJIF90ZW1wbmFtX3IgICAgKHN0
cnVjdCBfcmVlbnQgKiwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopICA7CkZJTEUgKgkgX3Rt
cGZpbGVfciAgICAoc3RydWN0IF9yZWVudCAqKSAgOwpjaGFyICoJIF90bXBuYW1fciAgICAoc3Ry
dWN0IF9yZWVudCAqLCBjaGFyICopICA7CmludAkgX3ZmcHJpbnRmX3IgICAgKHN0cnVjdCBfcmVl
bnQgKiwgRklMRSAqLCBjb25zdCBjaGFyICosIF9fZ251Y192YV9saXN0ICkgIDsKaW50CSBfdnBy
aW50Zl9yICAgIChzdHJ1Y3QgX3JlZW50ICosIGNvbnN0IGNoYXIgKiwgX19nbnVjX3ZhX2xpc3Qg
KSAgOwppbnQJIF92c3ByaW50Zl9yICAgIChzdHJ1Y3QgX3JlZW50ICosIGNoYXIgKiwgY29uc3Qg
Y2hhciAqLCBfX2dudWNfdmFfbGlzdCApICA7CmludAkgX3ZzbnByaW50Zl9yICAgIChzdHJ1Y3Qg
X3JlZW50ICosIGNoYXIgKiwgc2l6ZV90LCBjb25zdCBjaGFyICosIF9fZ251Y192YV9saXN0ICkg
IDsKCiAKCgoKaW50CSBfX3NyZ2V0ICAgIChGSUxFICopICA7CmludAkgX19zd2J1ZiAgICAoaW50
LCBGSUxFICopICA7CgogCgoKCgpGSUxFCSogIGZ1bm9wZW4gICAoY29uc3Qgdm9pZCAqICBfY29v
a2llLAoJCWludCAoKnJlYWRmbikodm9pZCAqICBfY29va2llLCBjaGFyICpfYnVmLCBpbnQgX24p
LAoJCWludCAoKndyaXRlZm4pKHZvaWQgKiAgX2Nvb2tpZSwgY29uc3QgY2hhciAqX2J1ZiwgaW50
IF9uKSwKCQlmcG9zX3QgKCpzZWVrZm4pKHZvaWQgKiAgX2Nvb2tpZSwgZnBvc190IF9vZmYsIGlu
dCBfd2hlbmNlKSwKCQlpbnQgKCpjbG9zZWZuKSh2b2lkICogIF9jb29raWUpKSAgOwoKCgoKCiAK
CgoKCgoKc3RhdGljIF9faW5saW5lX18gaW50IF9fc2dldGMoRklMRSAqX19wKQogIHsKICAgIGlu
dCBfX2MgPSAoLS0oIF9fcCApLT5fciA8IDAgPyBfX3NyZ2V0KCBfX3AgKSA6IChpbnQpKCooIF9f
cCApLT5fcCsrKSkgOwogICAgaWYgKChfX3AtPl9mbGFncyAmIDB4NDAwMCApICYmIChfX2MgPT0g
J1xyJykpCiAgICAgIHsKICAgICAgaW50IF9fYzIgPSAoLS0oIF9fcCApLT5fciA8IDAgPyBfX3Ny
Z2V0KCBfX3AgKSA6IChpbnQpKCooIF9fcCApLT5fcCsrKSkgOwogICAgICBpZiAoX19jMiA9PSAn
XG4nKQogICAgICAgIF9fYyA9IF9fYzI7CiAgICAgIGVsc2UKICAgICAgICB1bmdldGMoX19jMiwg
X19wKTsKICAgICAgfQogICAgcmV0dXJuIF9fYzsKICB9CgoKCgojIDI4NiAiL3Vzci9saWIvZ2Nj
LWxpYi9pNjg2LXBjLWN5Z3dpbi8yLjk1LjIvLi4vLi4vLi4vLi4vaW5jbHVkZS9zdGRpby5oIiAz
CgogCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKIAoKCgoKCgoK
CgoKfQoKCiMgMSAidW5pdHMuY3BwIiAyCgojIDEgInVuaXRzLmgiIDEKDQoNCiAKIAogCiAKdGVt
cGxhdGU8IGludCBpTWFzc0V4cG9uZW50LA0KCQkJIGludCBpTGVuZ3RoRXhwb25lbnQsDQoJCQkg
aW50IGlUaW1lRXhwb25lbnQsDQoJCQkgaW50IGlDdXJyZW50RXhwb25lbnQgPg0KY2xhc3MgVW5p
dHMgew0KCXB1YmxpYzoNCg0KCQllbnVtIGVCYXNlIHsNCgkJCSBtYXNzID0gaU1hc3NFeHBvbmVu
dA0KCQkJLGxlbmd0aCA9IGlMZW5ndGhFeHBvbmVudA0KCQkJLHRpbWUgPSBpVGltZUV4cG9uZW50
DQoJCQksY3VycmVudCA9IGlDdXJyZW50RXhwb25lbnQNCgkJfTsNCg0KCXB1YmxpYzoNCg0KCQlk
b3VibGUgVmFsOw0KDQoNCgkJVW5pdHMoKTpWYWwoMS4wKXt9CSAKCQlVbml0cyggY29uc3QgVW5p
dHMmIHUgKTpWYWwodS5WYWwpe30NCg0KCQljb25zdCBVbml0cyYgb3BlcmF0b3I9KCBjb25zdCBV
bml0cyYgdSApewlWYWwgPSB1LlZhbDsgcmV0dXJuICp0aGlzOyB9DQoJCWNvbnN0IFVuaXRzJiBv
cGVyYXRvcio9KCBkb3VibGUgZCApIHsgVmFsKj1kOyByZXR1cm4gKnRoaXM7IH0NCgkJY29uc3Qg
VW5pdHMmIG9wZXJhdG9yLz0oIGRvdWJsZSBkICkgeyBWYWwvPWQ7IHJldHVybiAqdGhpczsgfQ0K
DQoJCVVuaXRzIG9wZXJhdG9yKyggY29uc3QgVW5pdHMmIHUgKSBjb25zdCB7CXJldHVybiBWYWwr
dS5WYWw7IH0NCgkJVW5pdHMgb3BlcmF0b3ItKCBjb25zdCBVbml0cyYgdSApIGNvbnN0IHsJcmV0
dXJuIFZhbC11LlZhbDsgfQ0KCQlVbml0cyBvcGVyYXRvci0oKSBjb25zdCB7IHJldHVybiAtVmFs
OyB9DQoNCgkJVW5pdHMgb3BlcmF0b3IqKCBkb3VibGUgZCApIGNvbnN0IHsgcmV0dXJuIFZhbCpk
OyB9DQoJCVVuaXRzIG9wZXJhdG9yLyggZG91YmxlIGQgKSBjb25zdCB7IHJldHVybiBWYWwvZDsg
fQ0KDQoJCVVuaXRzJiBvcGVyYXRvcis9KCBjb25zdCBVbml0cyYgdSApIHsgVmFsKz11LlZhbDsg
cmV0dXJuICp0aGlzOyB9DQoJCVVuaXRzJiBvcGVyYXRvci09KCBjb25zdCBVbml0cyYgdSApIHsg
VmFsLT11LlZhbDsgcmV0dXJuICp0aGlzOyB9DQoNCgkJYm9vbCBvcGVyYXRvcj09KCBjb25zdCBV
bml0cyYgdSApIGNvbnN0IHsgcmV0dXJuIFZhbD09dS5WYWw7IH0NCgkJYm9vbCBvcGVyYXRvciE9
KCBjb25zdCBVbml0cyYgdSApIGNvbnN0IHsgcmV0dXJuIFZhbCE9dS5WYWw7IH0NCgkJYm9vbCBv
cGVyYXRvcjwgKCBjb25zdCBVbml0cyYgdSApIGNvbnN0IHsgcmV0dXJuIFZhbDx1LlZhbDsgfQ0K
CQlib29sIG9wZXJhdG9yPD0oIGNvbnN0IFVuaXRzJiB1ICkgY29uc3QgeyByZXR1cm4gVmFsPD11
LlZhbDsgfQ0KCQlib29sIG9wZXJhdG9yPiAoIGNvbnN0IFVuaXRzJiB1ICkgY29uc3QgeyByZXR1
cm4gVmFsPnUuVmFsOyB9DQoJCWJvb2wgb3BlcmF0b3I+PSggY29uc3QgVW5pdHMmIHUgKSBjb25z
dCB7IHJldHVybiBWYWw+LXUuVmFsOyB9DQoNCgkJb3BlcmF0b3IgZG91YmxlKCkgY29uc3Q7CSAK
DQoJCWRvdWJsZSBaZXJvKCkgY29uc3QgeyByZXR1cm4gVW5pdHMoIDAuMCApOyB9DQoNCgkJIAoJ
CXRlbXBsYXRlPCBpbnQgQSwgaW50IEIsIGludCBDLCBpbnQgRCA+DQoJCQlVbml0czxpTWFzc0V4
cG9uZW50K0EsaUxlbmd0aEV4cG9uZW50K0IsaVRpbWVFeHBvbmVudCtDLGlDdXJyZW50RXhwb25l
bnQrRD4NCgkJCW9wZXJhdG9yKiggY29uc3QgVW5pdHM8QSxCLEMsRD4mIHUyICkgY29uc3QgeyBy
ZXR1cm4gVmFsKnUyLlZhbDsgfQ0KDQoJCXRlbXBsYXRlPGludCBBLCBpbnQgQiwgaW50IEMsIGlu
dCBEPiBmcmllbmQgVW5pdHM8QSxCLEMsRD47DQoNCg0KIAogCg0KCXByaXZhdGU6DQoJCVVuaXRz
KCBkb3VibGUgdmFsICk6VmFsKHZhbCl7fQ0KDQp9Ow0KDQogCmlubGluZSBVbml0czwwLDAsMCww
Pjo6b3BlcmF0b3IgZG91YmxlKCkgY29uc3QgeyByZXR1cm4gVmFsOyB9DQoNCiAKdGVtcGxhdGU8
IGludCBBLCBpbnQgQiwgaW50IEMsIGludCBEID4NClVuaXRzPCBBLCBCLCBDLCBEID4gaW5saW5l
DQpvcGVyYXRvciooIGRvdWJsZSBkLCBjb25zdCBVbml0czwgQSwgQiwgQywgRCA+JiB1KSB7DQoJ
cmV0dXJuIHUqZDsNCn0NCg0KIAp0ZW1wbGF0ZTwgaW50IEEsIGludCBCLCBpbnQgQywgaW50IEQg
Pg0KVW5pdHM8IC1BLCAtQiwgLUMsIC1EID4gaW5saW5lDQpvcGVyYXRvci8oIGRvdWJsZSBkLCBj
b25zdCBVbml0czwgTWFzc0V4cCwgTGVuZ3RoRXhwLCBUaW1lRXhwLCBDdXJyZW50RXhwID4mIHUp
IHsNCglyZXR1cm4gdS5JbnZlcnNlKCkqZDsNCn0NCg0KDQoNCiAKdGVtcGxhdGU8IGludCBBLCBp
bnQgQiwgaW50IEMsIGludCBELCBpbnQgYSwgaW50IGIsIGludCBjLCBpbnQgZCA+DQpVbml0czxB
LWEsQi1iLEMtYyxELWQ+IGlubGluZQ0Kb3BlcmF0b3IvKCBVbml0czxBLEIsQyxEPiB1MSwgVW5p
dHM8YSxiLGMsZD4gdTIgKXsNCglyZXR1cm4gVW5pdHM8QS1hLEItYixDLWMsRC1kPih1MS5WYWwv
dTIuVmFsLCBCYXNlQ29uc3RydWN0b3IpOw0KfQ0KDQoNCg0KIAp0eXBlZGVmIFVuaXRzPCAxLCAg
MCwgIDAsICAwID4JTWFzczsNCnR5cGVkZWYgVW5pdHM8IDAsICAxLCAgMCwgIDAgPglMZW5ndGg7
DQp0eXBlZGVmIFVuaXRzPCAwLCAgMCwgIDEsICAwID4JVGltZTsNCnR5cGVkZWYgVW5pdHM8IDAs
ICAwLCAgMCwgIDEgPglDdXJyZW50Ow0KDQp0eXBlZGVmIFVuaXRzPCAwLCAgMiwgIDAsICAwID4J
QXJlYTsNCnR5cGVkZWYgVW5pdHM8IDAsICAzLCAgMCwgIDAgPglWb2x1bWU7DQp0eXBlZGVmIFVu
aXRzPCAxLCAgMSwgLTIsICAwID4JRm9yY2U7DQp0eXBlZGVmIFVuaXRzPCAxLCAtMSwgLTIsICAw
ID4JUHJlc3N1cmU7DQp0eXBlZGVmIFVuaXRzPCAwLCAgMSwgLTEsICAwID4JVmVsb2NpdHk7DQp0
eXBlZGVmIFVuaXRzPCAwLCAgMCwgLTEsICAwID4JQW5ndWxhclZlbG9jaXR5Ow0KdHlwZWRlZiBV
bml0czwgMCwgIDMsIC0xLCAgMCA+CUZsb3dSYXRlOw0KdHlwZWRlZiBVbml0czwgMCwgIDAsICAw
LCAgMCA+CUFuZ2xlOw0KdHlwZWRlZiBVbml0czwgMSwgIDIsIC0yLCAgMCA+CVRvcnF1ZTsNCnR5
cGVkZWYgVW5pdHM8IDEsICAyLCAtMiwgIDAgPglFbmVyZ3k7DQp0eXBlZGVmIFVuaXRzPCAxLCAg
MiwgLTMsICAwID4JUG93ZXI7DQoNCiAKY29uc3QgTWFzcyAJCUtpbG9ncmFtOw0KY29uc3QgTGVu
Z3RoCU1ldGVyOw0KY29uc3QgVGltZQkJU2Vjb25kOw0KY29uc3QgQW5nbGUJCVJhZGlhbjsNCmNv
bnN0IEN1cnJlbnQJQW1wZXJlOw0KDQoNCg0KIAogCmNvbnN0IExlbmd0aCBGb290ID0gMC4zMDQ4
ICogTWV0ZXI7DQpjb25zdCBMZW5ndGggTWlsZSA9IDUyODAuMCAqIEZvb3Q7DQpjb25zdCBMZW5n
dGggSW5jaCA9IEZvb3QgLyAxMi4wOw0KY29uc3QgTGVuZ3RoIENlbnRpbWV0ZXIgPSBNZXRlciAv
IDEwMC4wOw0KDQpjb25zdCBWb2x1bWUgTWV0ZXIzID0gTWV0ZXIgKiBNZXRlciAqIE1ldGVyOw0K
Y29uc3QgVm9sdW1lIExpdGVyID0gMC4wMDEgKiBNZXRlcjM7DQogCg0KIAoKCgoKCgoKCgoKCgoK
CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoNCg0KDQogCiAKIAogCg0KIyAyICJ1bml0cy5jcHAiIDIK
Cg0KaW50IG1haW4oIGludCAsIGNoYXIqW10gKSB7DQoNCiAKIAogCg0KIAoNCiAKIAoNCiAKDQoJ
cmV0dXJuIDA7DQp9Cg==


More information about the Gcc-bugs mailing list