c/4984: gcc segfaults when compiling this file

sevillar@team.ph.inter.net sevillar@team.ph.inter.net
Sun Dec 2 19:36:00 GMT 2001


>Number:         4984
>Category:       c
>Synopsis:       gcc segfaults when compiling this file
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Sun Dec 02 19:36:02 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Rafael R. Sevilla
>Release:        gcc 3.0.2
>Organization:
>Environment:
i586-pc-linux-gnu
Linux 2.4.12
glibc 2.2.2
Red Hat 7.1 (some customizations)
>Description:
The file is from the Cyclone 0.2 compiler (http://www.cs.cornell.edu/projects/cyclone).  When gcc 3.0, 3.0.1, or 3.0.2 encounters this file it segfaults. However, gcc 2.95.3 can compile it with no problems.
>How-To-Repeat:
Try to build the file.  gcc 3.x segfaults.
>Fix:

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

IyA4ICJiaXR2ZWMuYyIKIyAxICIvdXNyL2luY2x1ZGUvc2V0am1wLmgiIDEgMwojIDI2ICIvdXNy
L2luY2x1ZGUvc2V0am1wLmgiIDMKIyAxICIvdXNyL2luY2x1ZGUvZmVhdHVyZXMuaCIgMSAzCiMg
MjgzICIvdXNyL2luY2x1ZGUvZmVhdHVyZXMuaCIgMwojIDEgIi91c3IvaW5jbHVkZS9zeXMvY2Rl
ZnMuaCIgMSAzCiMgMjg0ICIvdXNyL2luY2x1ZGUvZmVhdHVyZXMuaCIgMiAzCiMgMzExICIvdXNy
L2luY2x1ZGUvZmVhdHVyZXMuaCIgMwojIDEgIi91c3IvaW5jbHVkZS9nbnUvc3R1YnMuaCIgMSAz
CiMgMzEyICIvdXNyL2luY2x1ZGUvZmVhdHVyZXMuaCIgMiAzCiMgMjcgIi91c3IvaW5jbHVkZS9z
ZXRqbXAuaCIgMiAzCgoKCiMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvc2V0am1wLmgiIDEgMwojIDM2
ICIvdXNyL2luY2x1ZGUvYml0cy9zZXRqbXAuaCIgMwp0eXBlZGVmIGludCBfX2ptcF9idWZbNl07
CiMgMzEgIi91c3IvaW5jbHVkZS9zZXRqbXAuaCIgMiAzCiMgMSAiL3Vzci9pbmNsdWRlL2JpdHMv
c2lnc2V0LmgiIDEgMwojIDIzICIvdXNyL2luY2x1ZGUvYml0cy9zaWdzZXQuaCIgMwp0eXBlZGVm
IGludCBfX3NpZ19hdG9taWNfdDsKCgoKCnR5cGVkZWYgc3RydWN0CiAgewogICAgdW5zaWduZWQg
bG9uZyBpbnQgX192YWxbKDEwMjQgLyAoOCAqIHNpemVvZiAodW5zaWduZWQgbG9uZyBpbnQpKSld
OwogIH0gX19zaWdzZXRfdDsKIyAzMiAiL3Vzci9pbmNsdWRlL3NldGptcC5oIiAyIDMKCgp0eXBl
ZGVmIHN0cnVjdCBfX2ptcF9idWZfdGFnCiAgewoKCgoKICAgIF9fam1wX2J1ZiBfX2ptcGJ1ZjsK
ICAgIGludCBfX21hc2tfd2FzX3NhdmVkOwogICAgX19zaWdzZXRfdCBfX3NhdmVkX21hc2s7CiAg
fSBqbXBfYnVmWzFdOwoKCgoKZXh0ZXJuIGludCBzZXRqbXAgKGptcF9idWYgX19lbnYpIDsKCgoK
ZXh0ZXJuIGludCBfc2V0am1wIChqbXBfYnVmIF9fZW52KSA7CgoKCgpleHRlcm4gaW50IF9fc2ln
c2V0am1wIChqbXBfYnVmIF9fZW52LCBpbnQgX19zYXZlbWFzaykgOwojIDczICIvdXNyL2luY2x1
ZGUvc2V0am1wLmgiIDMKZXh0ZXJuIHZvaWQgbG9uZ2ptcCAoam1wX2J1ZiBfX2VudiwgaW50IF9f
dmFsKQogICAgICAgICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm9yZXR1cm5fXykpOwoKCgoKZXh0
ZXJuIHZvaWQgX2xvbmdqbXAgKGptcF9idWYgX19lbnYsIGludCBfX3ZhbCkKICAgICAgICAgICAg
IF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKTsKCgoKCgoKCnR5cGVkZWYgam1wX2J1ZiBz
aWdqbXBfYnVmOwojIDk4ICIvdXNyL2luY2x1ZGUvc2V0am1wLmgiIDMKZXh0ZXJuIHZvaWQgc2ln
bG9uZ2ptcCAoc2lnam1wX2J1ZiBfX2VudiwgaW50IF9fdmFsKQogICAgICAgICAgICAgX19hdHRy
aWJ1dGVfXyAoKF9fbm9yZXR1cm5fXykpOwojIDkgImJpdHZlYy5jIiAyCiMgMjIgImJpdHZlYy5j
IgpzdHJ1Y3QgX3RhZ2dlZF9hcnIgewogIHVuc2lnbmVkIGNoYXIgKmN1cnI7CiAgdW5zaWduZWQg
Y2hhciAqYmFzZTsKICB1bnNpZ25lZCBjaGFyICpsYXN0X3BsdXNfb25lOwp9OwpzdHJ1Y3QgX3Rh
Z2dlZF9zdHJpbmcgewogIHVuc2lnbmVkIGNoYXIgKmN1cnI7CiAgdW5zaWduZWQgY2hhciAqYmFz
ZTsKICB1bnNpZ25lZCBjaGFyICpsYXN0X3BsdXNfb25lOwp9OwoKCnN0cnVjdCBfeHR1bmlvbl9z
dHJ1Y3QgeyBjaGFyICp0YWc7IH07CgoKCgpzdHJ1Y3QgX1J1bnRpbWVTdGFjayB7CiAgaW50IHRh
ZzsKICBzdHJ1Y3QgX1J1bnRpbWVTdGFjayAqbmV4dDsKfTsKCgpzdHJ1Y3QgX1JlZ2lvblBhZ2Ug
ewoKCgoKICBzdHJ1Y3QgX1JlZ2lvblBhZ2UgKm5leHQ7CiAgY2hhciBkYXRhWzBdOwp9OwoKc3Ry
dWN0IF9SZWdpb25IYW5kbGUgewogIHN0cnVjdCBfUnVudGltZVN0YWNrIHM7CiAgc3RydWN0IF9S
ZWdpb25QYWdlICpjdXJyOwogIGNoYXIgKm9mZnNldDsKICBjaGFyICpsYXN0X3BsdXNfb25lOwoK
Cgp9OwoKZXh0ZXJuIHN0cnVjdCBfUmVnaW9uSGFuZGxlIF9uZXdfcmVnaW9uKGNvbnN0IGNoYXIg
Kik7CgpleHRlcm4gdm9pZCAqIF9yZWdpb25fbWFsbG9jKHN0cnVjdCBfUmVnaW9uSGFuZGxlICos
IHVuc2lnbmVkIGludCk7CmV4dGVybiB2b2lkIF9mcmVlX3JlZ2lvbihzdHJ1Y3QgX1JlZ2lvbkhh
bmRsZSAqKTsKCgpzdHJ1Y3QgX2hhbmRsZXJfY29ucyB7CiAgc3RydWN0IF9SdW50aW1lU3RhY2sg
czsKICBqbXBfYnVmIGhhbmRsZXI7Cn07CmV4dGVybiB2b2lkIF9wdXNoX2hhbmRsZXIoc3RydWN0
IF9oYW5kbGVyX2NvbnMgKik7CmV4dGVybiB2b2lkIF9wdXNoX3JlZ2lvbihzdHJ1Y3QgX1JlZ2lv
bkhhbmRsZSAqKTsKZXh0ZXJuIHZvaWQgX25wb3BfaGFuZGxlcihpbnQpOwpleHRlcm4gdm9pZCBf
cG9wX2hhbmRsZXIoKTsKZXh0ZXJuIHZvaWQgX3BvcF9yZWdpb24oKTsKCgpleHRlcm4gaW50IF90
aHJvd19udWxsKCk7CmV4dGVybiBpbnQgX3Rocm93X2FycmF5Ym91bmRzKCk7CmV4dGVybiBpbnQg
X3Rocm93X2JhZGFsbG9jKCk7CmV4dGVybiBpbnQgX3Rocm93KHZvaWQgKiBlKTsKCgpleHRlcm4g
c3RydWN0IF94dHVuaW9uX3N0cnVjdCAqX2V4bl90aHJvd247CgoKZXh0ZXJuIHN0cnVjdCBfeHR1
bmlvbl9zdHJ1Y3QgQ3ljX051bGxfRXhjZXB0aW9uX3N0cnVjdDsKZXh0ZXJuIHN0cnVjdCBfeHR1
bmlvbl9zdHJ1Y3QgKiBDeWNfTnVsbF9FeGNlcHRpb247CmV4dGVybiBzdHJ1Y3QgX3h0dW5pb25f
c3RydWN0IEN5Y19BcnJheV9ib3VuZHNfc3RydWN0OwpleHRlcm4gc3RydWN0IF94dHVuaW9uX3N0
cnVjdCAqIEN5Y19BcnJheV9ib3VuZHM7CmV4dGVybiBzdHJ1Y3QgX3h0dW5pb25fc3RydWN0IEN5
Y19NYXRjaF9FeGNlcHRpb25fc3RydWN0OwpleHRlcm4gc3RydWN0IF94dHVuaW9uX3N0cnVjdCAq
IEN5Y19NYXRjaF9FeGNlcHRpb247CmV4dGVybiBzdHJ1Y3QgX3h0dW5pb25fc3RydWN0IEN5Y19C
YWRfYWxsb2Nfc3RydWN0OwpleHRlcm4gc3RydWN0IF94dHVuaW9uX3N0cnVjdCAqIEN5Y19CYWRf
YWxsb2M7CgoKc3RhdGljIGlubGluZQp2b2lkICogX2NoZWNrX251bGwodm9pZCAqIHB0cikgewoK
ICBpZighcHRyKQogICAgX3Rocm93X251bGwoKTsKCiAgcmV0dXJuIHB0cjsKfQpzdGF0aWMgaW5s
aW5lCmNoYXIgKiBfY2hlY2tfa25vd25fc3Vic2NyaXB0X251bGwodm9pZCAqIHB0ciwgdW5zaWdu
ZWQgYm91bmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgZWx0
X3N6LCB1bnNpZ25lZCBpbmRleCkgewoKICBpZighcHRyKQogICAgX3Rocm93X251bGwoKTsKCgog
IGlmKGluZGV4ID49IGJvdW5kKQogICAgX3Rocm93X2FycmF5Ym91bmRzKCk7CgogIHJldHVybiAo
KGNoYXIgKilwdHIpICsgZWx0X3N6KmluZGV4Owp9CnN0YXRpYyBpbmxpbmUKdW5zaWduZWQgX2No
ZWNrX2tub3duX3N1YnNjcmlwdF9ub3RudWxsKHVuc2lnbmVkIGJvdW5kLCB1bnNpZ25lZCBpbmRl
eCkgewoKICBpZihpbmRleCA+PSBib3VuZCkKICAgIF90aHJvd19hcnJheWJvdW5kcygpOwoKICBy
ZXR1cm4gaW5kZXg7Cn0Kc3RhdGljIGlubGluZQpjaGFyICogX2NoZWNrX3Vua25vd25fc3Vic2Ny
aXB0KHN0cnVjdCBfdGFnZ2VkX2FyciBhcnIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgZWx0X3N6LCB1bnNpZ25lZCBpbmRleCkgewoKCgogIHVuc2lnbmVkIGNoYXIg
KiBhbnMgPSBhcnIuY3VyciArIGVsdF9zeiAqIGluZGV4OwoKCgogIGlmKCFhcnIuYmFzZSkKICAg
IF90aHJvd19udWxsKCk7CgoKICBpZihhbnMgPCBhcnIuYmFzZSB8fCBhbnMgPj0gYXJyLmxhc3Rf
cGx1c19vbmUpCiAgICBfdGhyb3dfYXJyYXlib3VuZHMoKTsKCiAgcmV0dXJuIGFuczsKfQpzdGF0
aWMgaW5saW5lCnN0cnVjdCBfdGFnZ2VkX2FyciBfdGFnX2Fycihjb25zdCB2b2lkICogY3VyciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGVsdF9zeiwgdW5zaWduZWQgbnVt
X2VsdHMpIHsKCiAgc3RydWN0IF90YWdnZWRfYXJyIGFuczsKICBhbnMuYmFzZSA9ICh2b2lkICop
Y3VycjsKICBhbnMuY3VyciA9ICh2b2lkICopY3VycjsKICBhbnMubGFzdF9wbHVzX29uZSA9ICgo
Y2hhciAqKWN1cnIpICsgZWx0X3N6ICogbnVtX2VsdHM7CiAgcmV0dXJuIGFuczsKfQpzdGF0aWMg
aW5saW5lCnN0cnVjdCBfdGFnZ2VkX2FyciAqIF9pbml0X3RhZ19hcnIoc3RydWN0IF90YWdnZWRf
YXJyICogYXJyX3B0ciwgdm9pZCAqIGFyciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBlbHRfc3osIHVuc2lnbmVkIG51bV9lbHRzKSB7CgogIGFycl9wdHItPmJh
c2UgPSBhcnJfcHRyLT5jdXJyID0gYXJyOwogIGFycl9wdHItPmxhc3RfcGx1c19vbmUgPSAoKGNo
YXIgKilhcnIpICsgZWx0X3N6ICogbnVtX2VsdHM7CiAgcmV0dXJuIGFycl9wdHI7Cn0KCnN0YXRp
YyBpbmxpbmUKY2hhciAqIF91bnRhZ19hcnIoc3RydWN0IF90YWdnZWRfYXJyIGFyciwgdW5zaWdu
ZWQgZWx0X3N6LCB1bnNpZ25lZCBudW1fZWx0cykgewoKCgoKICBpZihhcnIuY3VyciA8IGFyci5i
YXNlIHx8IGFyci5jdXJyICsgZWx0X3N6ICogbnVtX2VsdHMgPiBhcnIubGFzdF9wbHVzX29uZSkK
ICAgIF90aHJvd19hcnJheWJvdW5kcygpOwoKICByZXR1cm4gYXJyLmN1cnI7Cn0Kc3RhdGljIGlu
bGluZQp1bnNpZ25lZCBfZ2V0X2Fycl9zaXplKHN0cnVjdCBfdGFnZ2VkX2FyciBhcnIsIHVuc2ln
bmVkIGVsdF9zeikgewogIHJldHVybiAoYXJyLmxhc3RfcGx1c19vbmUgLSBhcnIuY3VycikgLyBl
bHRfc3o7Cn0Kc3RhdGljIGlubGluZQpzdHJ1Y3QgX3RhZ2dlZF9hcnIgX3RhZ2dlZF9hcnJfcGx1
cyhzdHJ1Y3QgX3RhZ2dlZF9hcnIgYXJyLCB1bnNpZ25lZCBlbHRfc3osCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBjaGFuZ2UpIHsKICBzdHJ1Y3QgX3RhZ2dlZF9hcnIg
YW5zID0gYXJyOwogIGFucy5jdXJyICs9ICgoaW50KWVsdF9zeikqY2hhbmdlOwogIHJldHVybiBh
bnM7Cn0Kc3RhdGljIGlubGluZQpzdHJ1Y3QgX3RhZ2dlZF9hcnIgX3RhZ2dlZF9hcnJfaW5wbGFj
ZV9wbHVzKHN0cnVjdCBfdGFnZ2VkX2FyciAqIGFycl9wdHIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgZWx0X3N6LCBpbnQgY2hhbmdlKSB7CiAg
YXJyX3B0ci0+Y3VyciArPSAoKGludCllbHRfc3opKmNoYW5nZTsKICByZXR1cm4gKmFycl9wdHI7
Cn0Kc3RhdGljIGlubGluZQpzdHJ1Y3QgX3RhZ2dlZF9hcnIgX3RhZ2dlZF9hcnJfaW5wbGFjZV9w
bHVzX3Bvc3Qoc3RydWN0IF90YWdnZWRfYXJyICogYXJyX3B0ciwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGVsdF9zeiwgaW50IGNoYW5n
ZSkgewogIHN0cnVjdCBfdGFnZ2VkX2FyciBhbnMgPSAqYXJyX3B0cjsKICBhcnJfcHRyLT5jdXJy
ICs9ICgoaW50KWVsdF9zeikqY2hhbmdlOwogIHJldHVybiBhbnM7Cn0KCgpleHRlcm4gdm9pZCAq
IEdDX21hbGxvYyhpbnQpOwpleHRlcm4gdm9pZCAqIEdDX21hbGxvY19hdG9taWMoaW50KTsKCnN0
YXRpYyBpbmxpbmUgdm9pZCAqIF9jeWNhbGxvYyhpbnQgbikgewogIHZvaWQgKiBhbnMgPSBHQ19t
YWxsb2Mobik7CiAgaWYoIWFucykKICAgIF90aHJvd19iYWRhbGxvYygpOwogIHJldHVybiBhbnM7
Cn0Kc3RhdGljIGlubGluZSB2b2lkICogX2N5Y2FsbG9jX2F0b21pYyhpbnQgbikgewogIHZvaWQg
KiBhbnMgPSBHQ19tYWxsb2Mobik7CiAgaWYoIWFucykKICAgIF90aHJvd19iYWRhbGxvYygpOwog
IHJldHVybiBhbnM7Cn0KCnN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IF9jaGVja190aW1lcyh1
bnNpZ25lZCBpbnQgeCwgdW5zaWduZWQgaW50IHkpIHsKICB1bnNpZ25lZCBsb25nIGxvbmcgd2hv
bGVfYW5zID0KICAgICgodW5zaWduZWQgbG9uZyBsb25nKXgpKigodW5zaWduZWQgbG9uZyBsb25n
KXkpOwogIHVuc2lnbmVkIGludCB3b3JkX2FucyA9ICh1bnNpZ25lZCBpbnQpd2hvbGVfYW5zOwog
IGlmKHdvcmRfYW5zIDwgd2hvbGVfYW5zIHx8IHdvcmRfYW5zID4gKDEgPDwgMjgpKQogICAgX3Ro
cm93X2JhZGFsbG9jKCk7CiAgcmV0dXJuIHdvcmRfYW5zOwp9CiMgMjQ4ICJiaXR2ZWMuYyIKIGV4
dGVybiB2b2lkIGV4aXQoIGludCk7IGV4dGVybiB2b2lkKiBhYm9ydCgpOyBzdHJ1Y3QgQ3ljX0Nv
cmVfT3B0eyB2b2lkKiB2OyB9IDsKZXh0ZXJuIHVuc2lnbmVkIGNoYXIgQ3ljX0NvcmVfSW52YWxp
ZF9hcmd1bWVudFsgMjF1XTsgc3RydWN0IEN5Y19Db3JlX0ludmFsaWRfYXJndW1lbnRfc3RydWN0
ewp1bnNpZ25lZCBjaGFyKiB0YWc7IHN0cnVjdCBfdGFnZ2VkX2FyciBmMTsgfSA7IGV4dGVybiB1
bnNpZ25lZCBjaGFyIEN5Y19Db3JlX0ZhaWx1cmVbCjEydV07IHN0cnVjdCBDeWNfQ29yZV9GYWls
dXJlX3N0cnVjdHsgdW5zaWduZWQgY2hhciogdGFnOyBzdHJ1Y3QgX3RhZ2dlZF9hcnIgZjE7Cn0g
OyBleHRlcm4gdW5zaWduZWQgY2hhciBDeWNfQ29yZV9JbXBvc3NpYmxlWyAxNXVdOyBzdHJ1Y3Qg
Q3ljX0NvcmVfSW1wb3NzaWJsZV9zdHJ1Y3R7CnVuc2lnbmVkIGNoYXIqIHRhZzsgc3RydWN0IF90
YWdnZWRfYXJyIGYxOyB9IDsgZXh0ZXJuIHVuc2lnbmVkIGNoYXIgQ3ljX0NvcmVfTm90X2ZvdW5k
WwoxNHVdOyBleHRlcm4gdW5zaWduZWQgY2hhciBDeWNfQ29yZV9VbnJlYWNoYWJsZVsgMTZ1XTsg
c3RydWN0IEN5Y19Db3JlX1VucmVhY2hhYmxlX3N0cnVjdHsKdW5zaWduZWQgY2hhciogdGFnOyBz
dHJ1Y3QgX3RhZ2dlZF9hcnIgZjE7IH0gOyBleHRlcm4gdW5zaWduZWQgY2hhcioKc3RyaW5nX3Rv
X0NzdHJpbmcoIHN0cnVjdCBfdGFnZ2VkX2Fycik7IGV4dGVybiB1bnNpZ25lZCBjaGFyKiB1bmRl
cmx5aW5nX0NzdHJpbmcoCnN0cnVjdCBfdGFnZ2VkX2Fycik7IGV4dGVybiBzdHJ1Y3QgX3RhZ2dl
ZF9hcnIgQ3N0cmluZ190b19zdHJpbmcoIHVuc2lnbmVkIGNoYXIqKTsKZXh0ZXJuIHN0cnVjdCBf
dGFnZ2VkX2FyciB3cmFwX0NzdHJpbmdfYXNfc3RyaW5nKCB1bnNpZ25lZCBjaGFyKiwgdW5zaWdu
ZWQgaW50KTsKZXh0ZXJuIHN0cnVjdCBfdGFnZ2VkX2FyciBudENzbF90b19udHNsKCB1bnNpZ25l
ZCBjaGFyKiopOyBzdHJ1Y3QgQ3ljX0xpc3RfTGlzdHsKdm9pZCogaGQ7IHN0cnVjdCBDeWNfTGlz
dF9MaXN0KiB0bDsgfSA7IGV4dGVybiB1bnNpZ25lZCBjaGFyIEN5Y19MaXN0X0xpc3RfbWlzbWF0
Y2hbCjE4dV07IGV4dGVybiB1bnNpZ25lZCBjaGFyIEN5Y19MaXN0X050aFsgOHVdOyBzdHJ1Y3Qg
Q3ljX0RpY3RfRGljdDsgZXh0ZXJuCnVuc2lnbmVkIGNoYXIgQ3ljX0RpY3RfUHJlc2VudFsgMTJ1
XTsgZXh0ZXJuIHVuc2lnbmVkIGNoYXIgQ3ljX0RpY3RfQWJzZW50WyAxMXVdOwpleHRlcm4gdm9p
ZCogQ3ljX0RpY3RfbG9va3VwKCBzdHJ1Y3QgQ3ljX0RpY3RfRGljdCogZCwgdm9pZCogayk7IGV4
dGVybiBzdHJ1Y3QKX3RhZ2dlZF9hcnIgQ3ljX0JpdHZlY19uZXdfZW1wdHkoIGludCk7IGV4dGVy
biBzdHJ1Y3QgX3RhZ2dlZF9hcnIgQ3ljX0JpdHZlY19uZXdfZnVsbCgKaW50KTsgZXh0ZXJuIHN0
cnVjdCBfdGFnZ2VkX2FyciBDeWNfQml0dmVjX25ld19jb3B5KCBzdHJ1Y3QgX3RhZ2dlZF9hcnIp
OyBleHRlcm4Kc3RydWN0IF90YWdnZWRfYXJyIEN5Y19CaXR2ZWNfZnJvbV9saXN0KCBzdHJ1Y3Qg
Q3ljX0RpY3RfRGljdCogZCwgaW50KCogZikoIHZvaWQqKSwKaW50IHN6LCBzdHJ1Y3QgQ3ljX0xp
c3RfTGlzdCopOyBleHRlcm4gc3RydWN0IEN5Y19MaXN0X0xpc3QqIEN5Y19CaXR2ZWNfdG9fc29y
dGVkX2xpc3QoCnN0cnVjdCBfdGFnZ2VkX2FyciBidmVjLCBpbnQgc3opOyBleHRlcm4gdm9pZCBD
eWNfQml0dmVjX3ByaW50X2J2ZWMoIHN0cnVjdApfdGFnZ2VkX2FyciBidmVjKTsgZXh0ZXJuIGlu
dCBDeWNfQml0dmVjX2dldCggc3RydWN0IF90YWdnZWRfYXJyLCBpbnQpOyBleHRlcm4Kdm9pZCBD
eWNfQml0dmVjX3NldCggc3RydWN0IF90YWdnZWRfYXJyLCBpbnQpOyBleHRlcm4gdm9pZCBDeWNf
Qml0dmVjX2NsZWFyKApzdHJ1Y3QgX3RhZ2dlZF9hcnIsIGludCk7IGV4dGVybiBpbnQgQ3ljX0Jp
dHZlY19nZXRfYW5kX3NldCggc3RydWN0IF90YWdnZWRfYXJyLAppbnQpOyBleHRlcm4gdm9pZCBD
eWNfQml0dmVjX2NsZWFyX2FsbCggc3RydWN0IF90YWdnZWRfYXJyKTsgZXh0ZXJuIHZvaWQgQ3lj
X0JpdHZlY19zZXRfYWxsKApzdHJ1Y3QgX3RhZ2dlZF9hcnIpOyBleHRlcm4gaW50IEN5Y19CaXR2
ZWNfYWxsX3NldCggc3RydWN0IF90YWdnZWRfYXJyIGJ2ZWMsIGludApzeik7IGV4dGVybiB2b2lk
IEN5Y19CaXR2ZWNfdW5pb25fdHdvKCBzdHJ1Y3QgX3RhZ2dlZF9hcnIgZGVzdCwgc3RydWN0Cl90
YWdnZWRfYXJyIHNyYzEsIHN0cnVjdCBfdGFnZ2VkX2FyciBzcmMyKTsgZXh0ZXJuIHZvaWQgQ3lj
X0JpdHZlY19pbnRlcnNlY3RfdHdvKApzdHJ1Y3QgX3RhZ2dlZF9hcnIgZGVzdCwgc3RydWN0IF90
YWdnZWRfYXJyIHNyYzEsIHN0cnVjdCBfdGFnZ2VkX2FyciBzcmMyKTsKZXh0ZXJuIHZvaWQgQ3lj
X0JpdHZlY19kaWZmX3R3byggc3RydWN0IF90YWdnZWRfYXJyIGRlc3QsIHN0cnVjdCBfdGFnZ2Vk
X2FycgpzcmMxLCBzdHJ1Y3QgX3RhZ2dlZF9hcnIgc3JjMik7IGV4dGVybiBpbnQgQ3ljX0JpdHZl
Y19jb21wYXJlX3R3byggc3RydWN0Cl90YWdnZWRfYXJyIHNyYzEsIHN0cnVjdCBfdGFnZ2VkX2Fy
ciBzcmMyKTsgc3RydWN0IEN5Y19Dc3RkaW9fX19zRklMRTsgc3RydWN0CkN5Y19TdGRfX19zRklM
RTsgZXh0ZXJuIHVuc2lnbmVkIGNoYXIgQ3ljX1N0ZF9GaWxlQ2xvc2VFcnJvclsgMTl1XTsgZXh0
ZXJuCnVuc2lnbmVkIGNoYXIgQ3ljX1N0ZF9GaWxlT3BlbkVycm9yWyAxOHVdOyBzdHJ1Y3QgQ3lj
X1N0ZF9GaWxlT3BlbkVycm9yX3N0cnVjdHsKdW5zaWduZWQgY2hhciogdGFnOyBzdHJ1Y3QgX3Rh
Z2dlZF9hcnIgZjE7IH0gOyBzdGF0aWMgY29uc3QgaW50IEN5Y19TdGRfU3RyaW5nX3BhPQowOyBz
dHJ1Y3QgQ3ljX1N0ZF9TdHJpbmdfcGFfc3RydWN0eyBpbnQgdGFnOyBzdHJ1Y3QgX3RhZ2dlZF9h
cnIgZjE7IH0gOyBzdGF0aWMKY29uc3QgaW50IEN5Y19TdGRfSW50X3BhPSAxOyBzdHJ1Y3QgQ3lj
X1N0ZF9JbnRfcGFfc3RydWN0eyBpbnQgdGFnOyB1bnNpZ25lZCBpbnQKZjE7IH0gOyBzdGF0aWMg
Y29uc3QgaW50IEN5Y19TdGRfRG91YmxlX3BhPSAyOyBzdHJ1Y3QgQ3ljX1N0ZF9Eb3VibGVfcGFf
c3RydWN0ewppbnQgdGFnOyBkb3VibGUgZjE7IH0gOyBzdGF0aWMgY29uc3QgaW50IEN5Y19TdGRf
U2hvcnRQdHJfcGE9IDM7IHN0cnVjdCBDeWNfU3RkX1Nob3J0UHRyX3BhX3N0cnVjdHsKaW50IHRh
Zzsgc2hvcnQqIGYxOyB9IDsgc3RhdGljIGNvbnN0IGludCBDeWNfU3RkX0ludFB0cl9wYT0gNDsg
c3RydWN0IEN5Y19TdGRfSW50UHRyX3BhX3N0cnVjdHsKaW50IHRhZzsgdW5zaWduZWQgaW50KiBm
MTsgfSA7IGV4dGVybiBpbnQgQ3ljX1N0ZF9wcmludGYoIHN0cnVjdCBfdGFnZ2VkX2FyciBmbXQs
CnN0cnVjdCBfdGFnZ2VkX2Fycik7IHN0YXRpYyBjb25zdCBpbnQgQ3ljX1N0ZF9TaG9ydFB0cl9z
YT0gMDsgc3RydWN0IEN5Y19TdGRfU2hvcnRQdHJfc2Ffc3RydWN0ewppbnQgdGFnOyBzaG9ydCog
ZjE7IH0gOyBzdGF0aWMgY29uc3QgaW50IEN5Y19TdGRfVVNob3J0UHRyX3NhPSAxOyBzdHJ1Y3Qg
Q3ljX1N0ZF9VU2hvcnRQdHJfc2Ffc3RydWN0ewppbnQgdGFnOyB1bnNpZ25lZCBzaG9ydCogZjE7
IH0gOyBzdGF0aWMgY29uc3QgaW50IEN5Y19TdGRfSW50UHRyX3NhPSAyOyBzdHJ1Y3QKQ3ljX1N0
ZF9JbnRQdHJfc2Ffc3RydWN0eyBpbnQgdGFnOyBpbnQqIGYxOyB9IDsgc3RhdGljIGNvbnN0IGlu
dCBDeWNfU3RkX1VJbnRQdHJfc2E9CjM7IHN0cnVjdCBDeWNfU3RkX1VJbnRQdHJfc2Ffc3RydWN0
eyBpbnQgdGFnOyB1bnNpZ25lZCBpbnQqIGYxOyB9IDsgc3RhdGljIGNvbnN0CmludCBDeWNfU3Rk
X1N0cmluZ1B0cl9zYT0gNDsgc3RydWN0IEN5Y19TdGRfU3RyaW5nUHRyX3NhX3N0cnVjdHsgaW50
IHRhZzsgc3RydWN0Cl90YWdnZWRfYXJyIGYxOyB9IDsgc3RhdGljIGNvbnN0IGludCBDeWNfU3Rk
X0RvdWJsZVB0cl9zYT0gNTsgc3RydWN0IEN5Y19TdGRfRG91YmxlUHRyX3NhX3N0cnVjdHsKaW50
IHRhZzsgZG91YmxlKiBmMTsgfSA7IHN0YXRpYyBjb25zdCBpbnQgQ3ljX1N0ZF9GbG9hdFB0cl9z
YT0gNjsgc3RydWN0IEN5Y19TdGRfRmxvYXRQdHJfc2Ffc3RydWN0ewppbnQgdGFnOyBmbG9hdCog
ZjE7IH0gOyBpbnQgQ3ljX0JpdHZlY19nZXQoIHN0cnVjdCBfdGFnZ2VkX2FyciBidmVjLCBpbnQg
cG9zKXsKaW50IHdvcmQ9IHBvcyA+PiA1OyBpbnQgb2Zmc2V0PSBwb3MgJiAzMTsgcmV0dXJuKCoo
KCBpbnQqKQpfY2hlY2tfdW5rbm93bl9zdWJzY3JpcHQoIGJ2ZWMsIHNpemVvZiggaW50KSwgd29y
ZCkpID4+IG9mZnNldCAmIDEpID09IDE7fQp2b2lkIEN5Y19CaXR2ZWNfc2V0KCBzdHJ1Y3QgX3Rh
Z2dlZF9hcnIgYnZlYywgaW50IHBvcyl7IGludCB3b3JkPSBwb3MgPj4gNTsgaW50Cm9mZnNldD0g
cG9zICYgMzE7KigoIGludCopIF9jaGVja191bmtub3duX3N1YnNjcmlwdCggYnZlYywgc2l6ZW9m
KCBpbnQpLCB3b3JkKSk9KigoCmludCopIF9jaGVja191bmtub3duX3N1YnNjcmlwdCggYnZlYywg
c2l6ZW9mKCBpbnQpLCB3b3JkKSkgfCAxIDw8IG9mZnNldDt9CnZvaWQgQ3ljX0JpdHZlY19jbGVh
ciggc3RydWN0IF90YWdnZWRfYXJyIGJ2ZWMsIGludCBwb3MpeyBpbnQgd29yZD0gcG9zID4+IDU7
CmludCBvZmZzZXQ9IHBvcyAmIDMxOyooKCBpbnQqKSBfY2hlY2tfdW5rbm93bl9zdWJzY3JpcHQo
IGJ2ZWMsIHNpemVvZiggaW50KSwKd29yZCkpPSooKCBpbnQqKSBfY2hlY2tfdW5rbm93bl9zdWJz
Y3JpcHQoIGJ2ZWMsIHNpemVvZiggaW50KSwgd29yZCkpICYgfiggMSA8PApvZmZzZXQpO30gaW50
IEN5Y19CaXR2ZWNfZ2V0X2FuZF9zZXQoIHN0cnVjdCBfdGFnZ2VkX2FyciBidmVjLCBpbnQgcG9z
KXsgaW50CndvcmQ9IHBvcyA+PiA1OyBpbnQgb2Zmc2V0PSBwb3MgJiAzMTsgaW50IHNsb3Q9Kigo
IGludCopCl9jaGVja191bmtub3duX3N1YnNjcmlwdCggYnZlYywgc2l6ZW9mKCBpbnQpLCB3b3Jk
KSk7IGludCBhbnM9KCBzbG90ID4+IG9mZnNldAomIDEpID09IDE7IGlmKCAhIGFucyl7KigoIGlu
dCopIF9jaGVja191bmtub3duX3N1YnNjcmlwdCggYnZlYywgc2l6ZW9mKCBpbnQpLAp3b3JkKSk9
IHNsb3QgfCAxIDw8IG9mZnNldDt9IHJldHVybiBhbnM7fSB2b2lkIEN5Y19CaXR2ZWNfdW5pb25f
dHdvKCBzdHJ1Y3QKX3RhZ2dlZF9hcnIgZGVzdCwgc3RydWN0IF90YWdnZWRfYXJyIHNyYzEsIHN0
cnVjdCBfdGFnZ2VkX2FyciBzcmMyKXsgaW50IGxlbj0oCmludCkgX2dldF9hcnJfc2l6ZSggZGVz
dCwgc2l6ZW9mKCBpbnQpKTsgaW50IGk9IDA7IGZvciggMDsgaSA8IGxlbjsgKysgaSl7KigoCmlu
dCopIF9jaGVja191bmtub3duX3N1YnNjcmlwdCggZGVzdCwgc2l6ZW9mKCBpbnQpLCBpKSk9Kigo
IGludCopCl9jaGVja191bmtub3duX3N1YnNjcmlwdCggc3JjMSwgc2l6ZW9mKCBpbnQpLCBpKSkg
fCAqKCggaW50KikKX2NoZWNrX3Vua25vd25fc3Vic2NyaXB0KCBzcmMyLCBzaXplb2YoIGludCks
IGkpKTt9fSB2b2lkIEN5Y19CaXR2ZWNfaW50ZXJzZWN0X3R3bygKc3RydWN0IF90YWdnZWRfYXJy
IGRlc3QsIHN0cnVjdCBfdGFnZ2VkX2FyciBzcmMxLCBzdHJ1Y3QgX3RhZ2dlZF9hcnIgc3JjMil7
IGludApsZW49KCBpbnQpIF9nZXRfYXJyX3NpemUoIGRlc3QsIHNpemVvZiggaW50KSk7IGludCBp
PSAwOyBmb3IoIDA7IGkgPCBsZW47ICsrIGkpeyooKAppbnQqKSBfY2hlY2tfdW5rbm93bl9zdWJz
Y3JpcHQoIGRlc3QsIHNpemVvZiggaW50KSwgaSkpPSooKCBpbnQqKQpfY2hlY2tfdW5rbm93bl9z
dWJzY3JpcHQoIHNyYzEsIHNpemVvZiggaW50KSwgaSkpICYgKigoIGludCopCl9jaGVja191bmtu
b3duX3N1YnNjcmlwdCggc3JjMiwgc2l6ZW9mKCBpbnQpLCBpKSk7fX0gdm9pZCBDeWNfQml0dmVj
X2RpZmZfdHdvKApzdHJ1Y3QgX3RhZ2dlZF9hcnIgZGVzdCwgc3RydWN0IF90YWdnZWRfYXJyIHNy
YzEsIHN0cnVjdCBfdGFnZ2VkX2FyciBzcmMyKXsgaW50Cmxlbj0oIGludCkgX2dldF9hcnJfc2l6
ZSggZGVzdCwgc2l6ZW9mKCBpbnQpKTsgaW50IGk9IDA7IGZvciggMDsgaSA8IGxlbjsgKysgaSl7
KigoCmludCopIF9jaGVja191bmtub3duX3N1YnNjcmlwdCggZGVzdCwgc2l6ZW9mKCBpbnQpLCBp
KSk9KigoIGludCopCl9jaGVja191bmtub3duX3N1YnNjcmlwdCggc3JjMSwgc2l6ZW9mKCBpbnQp
LCBpKSkgJiB+KCooKCBpbnQqKQpfY2hlY2tfdW5rbm93bl9zdWJzY3JpcHQoIHNyYzIsIHNpemVv
ZiggaW50KSwgaSkpKTt9fSBpbnQgQ3ljX0JpdHZlY19jb21wYXJlX3R3bygKc3RydWN0IF90YWdn
ZWRfYXJyIHNyYzEsIHN0cnVjdCBfdGFnZ2VkX2FyciBzcmMyKXsgaW50IGxlbj0oIGludCkgX2dl
dF9hcnJfc2l6ZSgKc3JjMSwgc2l6ZW9mKCBpbnQpKTt7IGludCBpPSAwOyBmb3IoIDA7IGkgPCBs
ZW47ICsrIGkpeyBpZigqKCggaW50KikKX2NoZWNrX3Vua25vd25fc3Vic2NyaXB0KCBzcmMxLCBz
aXplb2YoIGludCksIGkpKSAhPSAqKCggaW50KikKX2NoZWNrX3Vua25vd25fc3Vic2NyaXB0KCBz
cmMyLCBzaXplb2YoIGludCksIGkpKSl7IHJldHVybiAwO319fSByZXR1cm4gMTt9CnN0cnVjdCBf
dGFnZ2VkX2FyciBDeWNfQml0dmVjX25ld19lbXB0eSggaW50IHN6KXsgc3RydWN0IF90YWdnZWRf
YXJyIGFucz0oewp1bnNpZ25lZCBpbnQgX3RlbXAwPSggdW5zaWduZWQgaW50KSggc3ogLyAzMiAr
IDEpOyBpbnQqIF90ZW1wMT0oIGludCopCl9jeWNhbGxvY19hdG9taWMoIF9jaGVja190aW1lcygg
c2l6ZW9mKCBpbnQpLCBfdGVtcDApKTsgc3RydWN0IF90YWdnZWRfYXJyCl90ZW1wMz0gX3RhZ19h
cnIoIF90ZW1wMSwgc2l6ZW9mKCBpbnQpLCggdW5zaWduZWQgaW50KSggc3ogLyAzMiArIDEpKTt7
CnVuc2lnbmVkIGludCBfdGVtcDI9IF90ZW1wMDsgdW5zaWduZWQgaW50IGk7IGZvciggaT0gMDsg
aSA8IF90ZW1wMjsgaSArKyl7Cl90ZW1wMVsgaV09IDA7fX07IF90ZW1wMzt9KTsgcmV0dXJuIGFu
czt9IHN0cnVjdCBfdGFnZ2VkX2FyciBDeWNfQml0dmVjX25ld19mdWxsKAppbnQgc3opeyBzdHJ1
Y3QgX3RhZ2dlZF9hcnIgYW5zPSh7IHVuc2lnbmVkIGludCBfdGVtcDQ9KCB1bnNpZ25lZCBpbnQp
KCBzeiAvIDMyCisgMSk7IGludCogX3RlbXA1PSggaW50KikgX2N5Y2FsbG9jX2F0b21pYyggX2No
ZWNrX3RpbWVzKCBzaXplb2YoIGludCksIF90ZW1wNCkpOwpzdHJ1Y3QgX3RhZ2dlZF9hcnIgX3Rl
bXA3PSBfdGFnX2FyciggX3RlbXA1LCBzaXplb2YoIGludCksKCB1bnNpZ25lZCBpbnQpKCBzeiAv
CjMyICsgMSkpO3sgdW5zaWduZWQgaW50IF90ZW1wNj0gX3RlbXA0OyB1bnNpZ25lZCBpbnQgaTsg
Zm9yKCBpPSAwOyBpIDwgX3RlbXA2OwppICsrKXsgX3RlbXA1WyBpXT0gLTE7fX07IF90ZW1wNzt9
KTsgcmV0dXJuIGFuczt9IHN0cnVjdCBfdGFnZ2VkX2FyciBDeWNfQml0dmVjX25ld19jb3B5KApz
dHJ1Y3QgX3RhZ2dlZF9hcnIgb2xkKXsgc3RydWN0IF90YWdnZWRfYXJyIGNvcHk9IEN5Y19CaXR2
ZWNfbmV3X2VtcHR5KCggaW50KQpfZ2V0X2Fycl9zaXplKCBvbGQsIHNpemVvZiggaW50KSkpOyBD
eWNfQml0dmVjX3VuaW9uX3R3byggY29weSwgY29weSwgb2xkKTsKcmV0dXJuIGNvcHk7fSBzdHJ1
Y3QgX3RhZ2dlZF9hcnIgQ3ljX0JpdHZlY19mcm9tX2xpc3QoIHN0cnVjdCBDeWNfRGljdF9EaWN0
KiBkLAppbnQoKiBmKSggdm9pZCopLCBpbnQgc3osIHN0cnVjdCBDeWNfTGlzdF9MaXN0KiBsKXsg
c3RydWN0IF90YWdnZWRfYXJyIGFucz0oewp1bnNpZ25lZCBpbnQgX3RlbXA4PSggdW5zaWduZWQg
aW50KSggc3ogJSAzMiArIDEpOyBpbnQqIF90ZW1wOT0oIGludCopCl9jeWNhbGxvY19hdG9taWMo
IF9jaGVja190aW1lcyggc2l6ZW9mKCBpbnQpLCBfdGVtcDgpKTsgc3RydWN0IF90YWdnZWRfYXJy
Cl90ZW1wMTE9IF90YWdfYXJyKCBfdGVtcDksIHNpemVvZiggaW50KSwoIHVuc2lnbmVkIGludCko
IHN6ICUgMzIgKyAxKSk7ewp1bnNpZ25lZCBpbnQgX3RlbXAxMD0gX3RlbXA4OyB1bnNpZ25lZCBp
bnQgaTsgZm9yKCBpPSAwOyBpIDwgX3RlbXAxMDsgaSArKyl7Cl90ZW1wOVsgaV09IDA7fX07IF90
ZW1wMTE7fSk7IGZvciggMDsgbCAhPSAwOyBsPSBsLT50bCl7IEN5Y19CaXR2ZWNfc2V0KCBhbnMs
IGYoCkN5Y19EaWN0X2xvb2t1cCggZCwoIHZvaWQqKSBsLT5oZCkpKTt9IHJldHVybiBhbnM7fSBz
dHJ1Y3QgQ3ljX0xpc3RfTGlzdCogQ3ljX0JpdHZlY190b19zb3J0ZWRfbGlzdCgKc3RydWN0IF90
YWdnZWRfYXJyIGJ2ZWMsIGludCBzeil7IHN0cnVjdCBDeWNfTGlzdF9MaXN0KiBhbnM9IDA7eyBp
bnQgcG9zPSBzeiAtCjE7IGZvciggMDsgcG9zID49IDA7IDApeyBpbnQgd29yZD0gcG9zID4+IDU7
IGludCBiaXRzPSooKCBpbnQqKQpfY2hlY2tfdW5rbm93bl9zdWJzY3JpcHQoIGJ2ZWMsIHNpemVv
ZiggaW50KSwgd29yZCkpOyBpbnQgb2Zmc2V0PSBwb3MgJiAzMTsKZm9yKCAwOyBvZmZzZXQgPj0g
MDsoIC0tIG9mZnNldCwgLS0gcG9zKSl7IGlmKCggYml0cyA+PiBvZmZzZXQgJiAxKSA9PSAxKXsK
YW5zPSh7IHN0cnVjdCBDeWNfTGlzdF9MaXN0KiBfdGVtcDEyPSggc3RydWN0IEN5Y19MaXN0X0xp
c3QqKSBfY3ljYWxsb2MoIHNpemVvZigKc3RydWN0IEN5Y19MaXN0X0xpc3QpICogMSk7IF90ZW1w
MTJbIDBdPSh7IHN0cnVjdCBDeWNfTGlzdF9MaXN0IF90ZW1wMTM7Cl90ZW1wMTMuaGQ9KCB2b2lk
KikgcG9zOyBfdGVtcDEzLnRsPSBhbnM7IF90ZW1wMTM7fSk7IF90ZW1wMTI7fSk7fX19fSByZXR1
cm4gYW5zO30Kdm9pZCBDeWNfQml0dmVjX2NsZWFyX2FsbCggc3RydWN0IF90YWdnZWRfYXJyIGJ2
ZWMpeyBpbnQgbGVuPSggaW50KQpfZ2V0X2Fycl9zaXplKCBidmVjLCBzaXplb2YoIGludCkpOyBp
bnQgaT0gMDsgZm9yKCAwOyBpIDwgbGVuOyArKyBpKXsqKCggaW50KikKX2NoZWNrX3Vua25vd25f
c3Vic2NyaXB0KCBidmVjLCBzaXplb2YoIGludCksIGkpKT0gMDt9fSB2b2lkIEN5Y19CaXR2ZWNf
c2V0X2FsbCgKc3RydWN0IF90YWdnZWRfYXJyIGJ2ZWMpeyBpbnQgbGVuPSggaW50KSBfZ2V0X2Fy
cl9zaXplKCBidmVjLCBzaXplb2YoIGludCkpOyBpbnQKaT0gMDsgZm9yKCAwOyBpIDwgbGVuOyAr
KyBpKXsqKCggaW50KikgX2NoZWNrX3Vua25vd25fc3Vic2NyaXB0KCBidmVjLCBzaXplb2YoCmlu
dCksIGkpKT0gLTE7fX0gaW50IEN5Y19CaXR2ZWNfYWxsX3NldCggc3RydWN0IF90YWdnZWRfYXJy
IGJ2ZWMsIGludCBzeil7IGludAp3b3Jkcz0gc3ogPj4gNTt7IGludCBpPSAwOyBmb3IoIDA7IGkg
PCB3b3JkczsgaSArKyl7IGlmKCooKCBpbnQqKQpfY2hlY2tfdW5rbm93bl9zdWJzY3JpcHQoIGJ2
ZWMsIHNpemVvZiggaW50KSwgaSkpICE9IC0xKXsgcmV0dXJuIDA7fX19eyBpbnQgaT0Kd29yZHMg
KiAzMjsgZm9yKCAwOyBpIDwgc3o7IGkgKyspeyBpZiggISBDeWNfQml0dmVjX2dldCggYnZlYywg
aSkpeyByZXR1cm4gMDt9fX0KcmV0dXJuIDE7fSB2b2lkIEN5Y19CaXR2ZWNfcHJpbnRfYnZlYygg
c3RydWN0IF90YWdnZWRfYXJyIGJ2ZWMpe3sgaW50IGk9IDA7IGZvcigKMDsgaSA8IDMyICogX2dl
dF9hcnJfc2l6ZSggYnZlYywgc2l6ZW9mKCBpbnQpKTsgKysgaSl7KHsgc3RydWN0IEN5Y19TdGRf
SW50X3BhX3N0cnVjdApfdGVtcDE1OyBfdGVtcDE1LnRhZz0gQ3ljX1N0ZF9JbnRfcGE7IF90ZW1w
MTUuZjE9KCBpbnQpKCggdW5zaWduZWQgaW50KSggQ3ljX0JpdHZlY19nZXQoCmJ2ZWMsIGkpPyAx
OiAwKSk7eyB2b2lkKiBfdGVtcDE0WyAxdV09eyYgX3RlbXAxNX07IEN5Y19TdGRfcHJpbnRmKCBf
dGFnX2FycigiJWQiLApzaXplb2YoIHVuc2lnbmVkIGNoYXIpLCAzdSksIF90YWdfYXJyKCBfdGVt
cDE0LCBzaXplb2YoIHZvaWQqKSwgMXUpKTt9fSk7fX0oewp2b2lkKiBfdGVtcDE2WyAwdV09e307
IEN5Y19TdGRfcHJpbnRmKCBfdGFnX2FycigiXG4iLCBzaXplb2YoIHVuc2lnbmVkIGNoYXIpLCAy
dSksCl90YWdfYXJyKCBfdGVtcDE2LCBzaXplb2YoIHZvaWQqKSwgMHUpKTt9KTt9Cg==



More information about the Gcc-bugs mailing list