c++/445: Internal Compiler BUG
siddhu@cs.unt.edu
siddhu@cs.unt.edu
Fri Aug 4 23:26:00 GMT 2000
>Number: 445
>Category: c++
>Synopsis: Internal Compiler BUG
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Aug 04 23:26:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator: SGS
>Release: unknown-1.0
>Organization:
>Environment:
Linux
>Description:
proj2.cc: In method `verifyValues(double *, char (*)[80], double, double, double, double)::Block::~Block()':
proj2.cc:523: Internal compiler error in `fix_lexical_addr', at function.c:5604
Please submit a full bug report.
>How-To-Repeat:
compile with g++ and with the executable give two file inputs. say spec_file and request_file are the files it expects..
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="proj2.cc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="proj2.cc"
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi8qIE5BTUU6
IFNJRERIQVJUSEEgRyBTVUJSQU1BTklBTgkJCQkJCQkJICAgICAgKi8KLyogRklMRU5BTUU6IHBy
b2oyLmNjCQkJCQkJCQkJCSAgICAgICovCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqLwoKI2luY2x1ZGUgPGlvc3RyZWFtLmg+CiNpbmNsdWRlIDxpb21hbmlw
Lmg+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDxmc3RyZWFtLmg+CiNpbmNsdWRlIDxzdGRs
aWIuaD4KI2luY2x1ZGUgPG1hdGguaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBNQVgg
ODAKI2RlZmluZSBubyA4MAoKCmRvdWJsZSB2aXJ0X21lbW9yeV9jYXA7CmRvdWJsZSBwaHlzX21l
bW9yeV9jYXA9MDsKZG91YmxlIGNhY2hlX3NpemU9MDsKZG91YmxlIHRsYl9zaXplPTA7CmRvdWJs
ZSB3b3JkX3NpemU9MDsKZG91YmxlIGNhY2hlX2Jsb2NrX3NpemU9MDsKZG91YmxlIHBoeXNfbWVt
X2Jsa19zaXplPTA7CmRvdWJsZSBjYWNoZV9hc3M9MDsKZG91YmxlIHRsYl9zZXRfYXNzPTA7CmRv
dWJsZSBhZGRyX3NpemU9MzI7CmRvdWJsZSBlbnRyaWVzX2luX2NhY2hlPTA7CmRvdWJsZSBzZXRz
X2luX2NhY2hlPTA7CmRvdWJsZSBudW1fd29yZHNfaW5fYmxvY2s9MDsKZG91YmxlIG51bV9iaXRz
X2Zvcl9ibG9jaz0wOwpkb3VibGUgbnVtX2JpdHNfZm9yX3NldD0wOwpkb3VibGUgbnVtX2JpdHNf
Zm9yX2FkZD0wOwpkb3VibGUgbnVtX2JpdHNfZm9yX3RhZz0wOwpkb3VibGUgYml0czsKCmludCBz
ZXRzPTA7CmludCBlbnRyaWVzOwppbnQgY291bnQ9MDsKCmNoYXIgYmluWzIwXVs4MF07CmNoYXIg
dGVtcFsyMF1bODBdOwpjaGFyICppbnZhbGlkOwpzdHJpbmcgY2FjaGVfd3JpdGU7CnN0cmluZyBj
YWNoZV93cml0ZV9hbGxjOwpzdHJpbmcgY2FjaGVfcmVwbDsKc3RyaW5nIHRsYl9ycGw7CnN0cmlu
ZyBwaHlzX21lbV9ycGw7CnN0cmluZyB0ZXN0OwoKdm9pZCBnZXRWYWx1ZXMoY2hhciBbMjBdWzgw
XSk7CnZvaWQgQmluSW50KGRvdWJsZSBbXSxkb3VibGUsZG91YmxlICk7IAp2b2lkIHZlcmlmeVZh
bHVlcyhkb3VibGUgW10sY2hhcltdWzgwXSxkb3VibGUsIGRvdWJsZSxkb3VibGUsZG91YmxlKTsK
CmludCBtYWluKGludCBhcmdjLGNoYXIgKmFyZ3ZbXSl7CgoJY2hhciBidWZmW01BWF07CgljaGFy
IHZhbHVlc1szMF1bODBdOwoJaW50IGk9MDsKCWNoYXIgbnVtc1tub107CgljaGFyIG51bTsKCWNo
YXIgKnN0cjsgCgljaGFyICpzdHIxPSIxIjsgCgljaGFyIHZhbHVlWzIwXVs4MF07Cglkb3VibGUg
dHZhbHVlc1syMF07CgljaGFyIHNldFsyMF1bODBdOwoJY2hhciB0YWdbMjBdWzgwXTsKCWludCB2
YWxpZDsKCWNoYXIgYmxvY2tbMjBdWzgwXTsKCndoaWxlKGk8PTE5KXsJCQkvL0luaXRpYWxpemlu
ZyB0aGUgYXJyYXkgb2YgdmFsdWVzIAoJdHZhbHVlc1tpXT0wOwoJaSsrOwp9CglpZihhcmdjIT0z
KXsJCS8vQ2hlY2sgZm9yIG5lY2Vzc2FyeSBudW1iZXIgb2YgQXJndW1lbnRzCgoJY2Vycjw8IlVT
QUdFOiA8ZXhlY3V0YWJsZT4gc3BlY19maWxlIHJlcXVlc3RfZmlsZSAiPDwgZW5kbDsKICAgICAg
ICBleGl0KDApOwoKCX0KCglpZnN0cmVhbSBpbmZpbGUoYXJndlsxXSxpb3M6OmluKTsKCglpZnN0
cmVhbSByZXFmaWxlKGFyZ3ZbMl0saW9zOjppbik7Cmk9MDsKd2hpbGUoaW5maWxlKSB7CQkJLy9y
ZWFkaW5nIHRoZSBzcGVjX2ZpbGUKCglpbmZpbGUuZ2V0bGluZShidWZmLE1BWCk7CmlmKChzdHJu
Y21wKGJ1ZmYsIi8iLDEpIT0wKSl7CiAgICAgCglzdHJjcHkodmFsdWVzW2ldLGJ1ZmYpOwoJaSsr
OwoJfQoJfQoKCWNvdXQ8PCIgICAiPDxlbmRsOwoJY291dDw8IioqKioqKioqKioqKipHSVZFTiBE
QVRBKioqKioqKioqKioqKioiPDxlbmRsOwoJZ2V0VmFsdWVzKHZhbHVlcyk7CS8vR2V0dGluZyB0
aGUgZGF0YSBmcm9tIHRoZSB2YWx1ZXMgaW4gdGhlIGZpbGUKCiAgICAgICAgY291dDw8IlZJUlRV
QUwgTUVNT1JZIENBUEFDSVRZICI8PHZpcnRfbWVtb3J5X2NhcDw8IiBnaWdhIEJZVEVTICI8PGVu
ZGw7CiAgICAgICAgY291dDw8IlBIWVNJQ0FMIE1FTU9SWSBDQVBBQ0lUWSAiPDxwaHlzX21lbW9y
eV9jYXA8PCIgZ2lnYSBCWVRFUyAiPDxlbmRsOwogICAgICAgIGNvdXQ8PCJDQUNIRSBTSVpFICI8
PGNhY2hlX3NpemU8PCIgZ2lnYSBCWVRFUyAiPDxlbmRsOwogICAgICAgIGNvdXQ8PCJUTEIgU0la
RSAiPDx0bGJfc2l6ZTw8ZW5kbDsgICAgIAogICAgICAgIGNvdXQ8PCJXT1JEIFNJWkUgIjw8d29y
ZF9zaXplPDwiIGdpZ2EgQllURVMgIjw8ZW5kbDsgICAgCiAgICAgICAgY291dDw8IkNBQ0hFIEJM
T0NLIFNJWkUiPDxjYWNoZV9ibG9ja19zaXplPDwiIGdpZ2EgQllURVMgIjw8ZW5kbDsKICAgICAg
ICBjb3V0PDwiUEhZU0lDQUwgTUVNT1JZIEJMT0NLIFNJWkUgIjw8cGh5c19tZW1fYmxrX3NpemU8
PCIgZ2lnYSBCWVRFUyAiPDxlbmRsOwogICAgICAgIGNvdXQ8PCJDQUNIRSBTRVQgQVNTT0NJQVRJ
VklUWSAiPDxjYWNoZV9hc3M8PGVuZGw7CiAgICAgICAgY291dDw8IlRMQiBTRVQgQVNTT0NJQVRJ
VklUWSAiPDx0bGJfc2V0X2Fzczw8ZW5kbDsKCWNvdXQ8PCJDQUNIRSBXUklURSBBTExPQ0FURSAi
PDxjYWNoZV93cml0ZV9hbGxjPDxlbmRsOwoJY291dDw8IkNBQ0hFIFdSSVRFIFRIUk9VR0ggIjw8
Y2FjaGVfd3JpdGU8PGVuZGw7Cgljb3V0PDwiQ0FDSEUgUkVQTEFDRU1FTlQgIjw8Y2FjaGVfcmVw
bDw8ZW5kbDsKCWNvdXQ8PCJUTEIgUkVQTEFDRU1FTlQgIjw8dGxiX3JwbDw8ZW5kbDsKCWNvdXQ8
PCJQSFlTSUNBTCBNRU1PUlkgUkVQTEFDRU1FTlQgIjw8cGh5c19tZW1fcnBsPDxlbmRsOwoKCWNv
dXQ8PCIgICAiPDxlbmRsOwoJY291dDw8IioqKioqKioqKioqKipSZXF1aXJlZCBjYWxjdWxhdGlv
bnMqKioqKioqKioqKioqKiI8PGVuZGw7CgoJZW50cmllc19pbl9jYWNoZT0oY2FjaGVfc2l6ZS9j
YWNoZV9ibG9ja19zaXplKTsKCWNvdXQ8PCJOVU1CRVIgT0YgQkxPQ0tTIElOIFRIRSBDQUNIRSI8
PGVudHJpZXNfaW5fY2FjaGU8PGVuZGw7CgoJc2V0c19pbl9jYWNoZT0oZW50cmllc19pbl9jYWNo
ZS9jYWNoZV9hc3MpOwoJY291dDw8Ik5VTUJFUiBPRiBTRVRTIElOIFRIRSBDQUNIRSI8PHNldHNf
aW5fY2FjaGU8PGVuZGw7CgoJbnVtX3dvcmRzX2luX2Jsb2NrPShjYWNoZV9ibG9ja19zaXplLzQp
OwoJY291dDw8Ik5VTUJFUiBPRiBXT1JEUyBJTiBCTE9DSyI8PG51bV93b3Jkc19pbl9ibG9jazw8
ZW5kbDsKCgkvL251bV9iaXRzX2Zvcl9ibG9jaz0obG9nMTAobnVtX3dvcmRzX2luX2Jsb2NrKS9s
b2cxMCgyKSk7CgludW1fYml0c19mb3JfYmxvY2s9KGxvZzEwKGNhY2hlX2FzcykvbG9nMTAoMikp
OwoJY291dDw8Ik51bWJlciBvZiBCaXRzIGZvciBjaG9vc2luZyBCbG9jayAiPDxudW1fYml0c19m
b3JfYmxvY2s8PCIgYml0cyI8PGVuZGw7CgoJbnVtX2JpdHNfZm9yX3NldD0obG9nMTAoc2V0c19p
bl9jYWNoZSkvbG9nMTAoMikpOwoJY291dDw8Ik51bWJlciBvZiBCaXRzIGZvciBjaG9vc2luZyBz
ZXQgIjw8bnVtX2JpdHNfZm9yX3NldDw8IiBiaXRzIjw8ZW5kbDsKCiAgICAgICAgc2V0cz0oaW50
KXNldHNfaW5fY2FjaGU7Cgljb3V0PDwiTnVtYmVyIG9mIHNldHMgIjw8c2V0czw8ZW5kbDsKCgll
bnRyaWVzPShpbnQpZW50cmllc19pbl9jYWNoZTsKCWNvdXQ8PCJOdW1iZXIgb2YgZW50cmllcyI8
PGVudHJpZXM8PGVuZGw7CgoJbnVtX2JpdHNfZm9yX2FkZD1sb2cxMCh2aXJ0X21lbW9yeV9jYXAp
L2xvZzEwKDIpOwoJY291dDw8Ik51bWJlciBvZiBCaXRzIG9mIEFkZHJlc3MgIjw8bnVtX2JpdHNf
Zm9yX2FkZDw8ZW5kbDsKCmludCBqPTE7Cgp3aGlsZShyZXFmaWxlKXsKCglyZXFmaWxlLmdldGxp
bmUobnVtcyxubyk7CiAgICAgICAgc3RyPXN0cnRvayhudW1zLCIgIik7CiAgICAgICBpZihzdHIh
PU5VTEwpCiAgICAgICAgdHZhbHVlc1swXT1hdG9pKHN0cik7CndoaWxlKHN0ciE9TlVMTCkKICB7
CglzdHI9c3RydG9rKE5VTEwsIiAiKTsKICAgICBpZihzdHIhPU5VTEwpCgl0dmFsdWVzW2pdPWF0
b2koc3RyKTsKCWorKzsKCWNvdW50Kys7CiAgfSAgICAgICAKfQpjb3V0PDwiQ09VTlQgIjw8Y291
bnQ8PGVuZGw7CmNvdXQ8PCIgIiA8PGVuZGw7CmNvdXQ8PCIqKioqKioqKioqKioqKipURVNUIFZB
TFVFUyoqKioqKioqKioqKioqIjw8ZW5kbDsKaj0wOwp3aGlsZSgoajw9MTkpJiYodHZhbHVlc1tq
XSE9MCkpewoJY291dDw8IiBURVNUIFZBTFVFICI8PChqKzEpPDwiICI8PHR2YWx1ZXNbal08PGVu
ZGw7CglqKys7Cn0KCkJpbkludCh0dmFsdWVzLG51bV9iaXRzX2Zvcl9hZGQsbnVtX3dvcmRzX2lu
X2Jsb2NrKTsKCnZlcmlmeVZhbHVlcyh0dmFsdWVzLHRlbXAsbnVtX2JpdHNfZm9yX2Jsb2NrLCBu
dW1fYml0c19mb3Jfc2V0LGNhY2hlX2FzcyxudW1fd29yZHNfaW5fYmxvY2spOwovKgppbnQgcj0w
Owpjb3V0PDwiVGhlIFRlc3QgTnVtYmVycyBpbiBCaW5hcnkgRm9ybSI8PGVuZGw7CndoaWxlKChy
PD0xOSkmJihzdHJjbXAoYmluW3JdLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIp
IT0wKSkKewpjb3V0PDwiICI8PGVuZGw7CmNvdXQ8PGJpbltyXTw8ZW5kbDsKcisrOwp9CiovCnJl
dHVybiAwOwp9Cgp2b2lkIGdldFZhbHVlcyhjaGFyIHZhbHNbMjBdWzgwXSkgCgp7CiAgIGxvbmcg
aW50IHZhbFsxNF07CiAgIGNoYXIgKnRlbXBbMTRdOwogICBjaGFyICp0ZW1wMTsKICAgY2hhciAq
dGVtcDI7CiAgIGNoYXIgKnRlbXAzOwogICBpbnQgaz0wOwoKd2hpbGUoazw9MTkpewppZihzdHJu
Y21wKHZhbHNba10sIlYiLDEpPT0wKXsKICAgICB0ZW1wMT1zdHJ0b2sodmFsc1trXSwiICIpOwog
ICAgICB3aGlsZSh0ZW1wMSE9TlVMTCl7CiAgICAgICAgaWYoc3RybmNtcCh0ZW1wMSwiLyIsMSkh
PTApCiAgICAgICAgICB7CiAgICAgICAgdGVtcDE9c3RydG9rKE5VTEwsIiAiKTsKICAgICAgICB0
ZW1wWzFdPXRlbXAxOwoKICAgICAgICAgaWYoc3RyY2hyKHRlbXBbMV0sJ0cnKSE9TlVMTCkKICAg
ICAgICAgIHsKICAgICAgICAgICAgdGVtcDI9c3RydG9rKHRlbXBbMV0sIkciKTsKICAgICAgICAg
ICAgdmlydF9tZW1vcnlfY2FwPWF0b2kodGVtcDIpKnBvdygyLDMwKTsgIAogICAgICAgICAgfQog
ICAgICAgIGVsc2UgaWYoc3RyY2hyKHRlbXBbMV0sJ00nKSE9TlVMTCkKICAgICAgICAgIHsKICAg
ICAgICAgICAgdGVtcDI9c3RydG9rKHRlbXBbMV0sIk0iKTsKICAgICAgICAgICAgdmlydF9tZW1v
cnlfY2FwPWF0b2kodGVtcDIpKnBvdygyLDIwKTsgIAogICAgICAgICAgICAvL2NvdXQ8PCJWSVJU
VUFMIE1FTU9SWSBDQVBBQ0lUWSAiPDx2aXJ0X21lbW9yeV9jYXA8PCIgbWVnYSBCWVRFUyAiPDxl
bmRsOwogICAgICAgICAgfQogICAgICAgIGVsc2UgaWYoc3RyY2hyKHRlbXBbMV0sJ0snKSE9TlVM
TCkKICAgICAgICAgIHsKICAgICAgICAgICAgdGVtcDI9c3RydG9rKHRlbXBbMV0sIksiKTsKICAg
ICAgICAgICAgdmlydF9tZW1vcnlfY2FwPWF0b2kodGVtcDIpKnBvdygyLDEwKTsgIAogICAgICAg
ICAgICAvL2NvdXQ8PCJWSVJUVUFMIE1FTU9SWSBDQVBBQ0lUWSAiPDx2aXJ0X21lbW9yeV9jYXA8
PCIga2lsbyBCWVRFUyAiPDxlbmRsOwogICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICAg
ICAgIH0KICAgICAgICB9CiAgICAgIH0gICAgIAppZihzdHJuY21wKHZhbHNba10sIlBIWVNJQ0FM
X01FTU9SWV9TSVpFIiwyMCk9PTApewogICAgIHRlbXAxPXN0cnRvayh2YWxzW2tdLCIgIik7CiAg
ICAgIHdoaWxlKHRlbXAxIT1OVUxMKXsKICAgICAgICBpZihzdHJuY21wKHRlbXAxLCIvIiwxKSE9
MCkKICAgICAgICAgIHsKICAgICAgICB0ZW1wMT1zdHJ0b2soTlVMTCwiICIpOwogICAgICAgIHRl
bXBbMl09dGVtcDE7CgoJaWYoc3RyY2hyKHRlbXBbMl0sJ0cnKSE9TlVMTCkKICAgICAgICAgIHsK
ICAgICAgICAgICAgdGVtcDI9c3RydG9rKHRlbXBbMl0sIkciKTsKICAgICAgICAgICAgcGh5c19t
ZW1vcnlfY2FwPWF0b2kodGVtcDIpKnBvdygyLDMwKTsKICAgICAgICAgIH0gICAgIAogICAgICAg
IGVsc2UgaWYoc3RyY2hyKHRlbXBbMl0sJ00nKSE9TlVMTCkKICAgICAgICAgIHsKICAgICAgICAg
ICAgdGVtcDI9c3RydG9rKHRlbXBbMl0sIk0iKTsKICAgICAgICAgICAgcGh5c19tZW1vcnlfY2Fw
PWF0b2kodGVtcDIpKnBvdygyLDIwKTsKICAgICAgICAgICAgLy9jb3V0PDwiUEhZU0lDQUwgTUVN
T1JZIENBUEFDSVRZICI8PHBoeXNfbWVtb3J5X2NhcDw8IiBtZWdhIEJZVEVTICI8PGVuZGw7CiAg
ICAgICAgICB9CiAgICAgICAgZWxzZSBpZihzdHJjaHIodGVtcFsyXSwnSycpIT1OVUxMKQogICAg
ICAgICAgewogICAgICAgICAgICB0ZW1wMj1zdHJ0b2sodGVtcFsyXSwiSyIpOwogICAgICAgICAg
ICBwaHlzX21lbW9yeV9jYXA9YXRvaSh0ZW1wMikqcG93KDIsMTApOwogICAgICAgICAgICAvL2Nv
dXQ8PCJQSFlTSUNBTCBNRU1PUlkgQ0FQQUNJVFkgIjw8cGh5c19tZW1vcnlfY2FwPDwiIGtpbG8g
QllURVMgIjw8ZW5kbDsKICAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAg
ICAgICAgfQogICAgICB9ICAgICAKCmlmKHN0cm5jbXAodmFsc1trXSwiQ0FDSEVfU0laRSIsMTAp
PT0wKXsKICAgICB0ZW1wMT1zdHJ0b2sodmFsc1trXSwiICIpOwogICAgICB3aGlsZSh0ZW1wMSE9
TlVMTCl7CiAgICAgICAgaWYoc3RybmNtcCh0ZW1wMSwiLyIsMSkhPTApCiAgICAgICAgICB7CiAg
ICAgICAgdGVtcDE9c3RydG9rKE5VTEwsIiAiKTsKICAgICAgICB0ZW1wWzNdPXRlbXAxOwoKICAg
ICAgICBpZihzdHJjaHIodGVtcFszXSwnRycpIT1OVUxMKSAKICAgICAgICAgIHsKICAgICAgICAg
ICAgdGVtcDI9c3RydG9rKHRlbXBbM10sIkciKTsKICAgICAgICAgICAgY2FjaGVfc2l6ZT1hdG9p
KHRlbXAyKSpwb3coMiwzMCk7CiAgICAgICAgICB9CiAgICAgICAgZWxzZSBpZihzdHJjaHIodGVt
cFszXSwnTScpIT1OVUxMKQogICAgICAgICAgewogICAgICAgICAgICB0ZW1wMj1zdHJ0b2sodGVt
cFszXSwiTSIpOwogICAgICAgICAgICBjYWNoZV9zaXplPWF0b2kodGVtcDIpKnBvdygyLDIwKTsK
ICAgICAgICAgICAgLy9jb3V0PDwiQ0FDSEUgU0laRSAiPDxjYWNoZV9zaXplPDwiIG1lZ2EgQllU
RVMgIjw8ZW5kbDsKICAgICAgICAgIH0KICAgICAgICBlbHNlIGlmKHN0cmNocih0ZW1wWzNdLCdL
JykhPU5VTEwpCiAgICAgICAgICB7CiAgICAgICAgICAgIHRlbXAyPXN0cnRvayh0ZW1wWzNdLCJL
Iik7CiAgICAgICAgICAgIGNhY2hlX3NpemU9YXRvaSh0ZW1wMikqcG93KDIsMTApOwogICAgICAg
ICAgICAvL2NvdXQ8PCJDQUNIRSBTSVpFICI8PGNhY2hlX3NpemU8PCIga2lsbyBCWVRFUyAiPDxl
bmRsOwogICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICB9CiAg
ICAgIH0gICAgIAoKaWYoc3RybmNtcCh2YWxzW2tdLCJUTEJfU0laRSIsOCk9PTApewogICAgIHRl
bXAxPXN0cnRvayh2YWxzW2tdLCIgIik7CiAgICAgIHdoaWxlKHRlbXAxIT1OVUxMKXsKICAgICAg
ICBpZihzdHJuY21wKHRlbXAxLCIvIiwxKSE9MCkKICAgICAgICAgIHsKICAgICAgICB0ZW1wMT1z
dHJ0b2soTlVMTCwiICIpOwogICAgICAgIHRlbXBbNF09dGVtcDE7CgogICAgICAgICAgICB0bGJf
c2l6ZT1hdG9pKHRlbXBbNF0pOyAgICAgCiAgICAgICAgICAgIC8vY291dDw8IlRMQiBTSVpFICI8
PHRsYl9zaXplPDxlbmRsOyAgICAgCiAgICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgfQogICAgICAgIH0KCmlmKHN0cm5jbXAodmFsc1trXSwiV09SRF9TSVpFIiw5KT09MCl7CiAg
ICAgdGVtcDE9c3RydG9rKHZhbHNba10sIiAiKTsKICAgICAgd2hpbGUodGVtcDEhPU5VTEwpewog
ICAgICAgIGlmKHN0cm5jbXAodGVtcDEsIi8iLDEpIT0wKQogICAgICAgICAgewogICAgICAgIHRl
bXAxPXN0cnRvayhOVUxMLCIgIik7CiAgICAgICAgdGVtcFs1XT10ZW1wMTsKCglpZihzdHJjaHIo
dGVtcFs1XSwnRycpIT1OVUxMKQogICAgICAgICAgewogICAgICAgICAgICB0ZW1wMj1zdHJ0b2so
dGVtcFs1XSwiRyIpOwogICAgICAgICAgICB3b3JkX3NpemU9YXRvaSh0ZW1wMikqcG93KDIsMzAp
OyAgCiAgICAgICAgICB9CiAgICAgICAgZWxzZSBpZihzdHJjaHIodGVtcFs1XSwnTScpIT1OVUxM
KQogICAgICAgICAgewogICAgICAgICAgICB0ZW1wMj1zdHJ0b2sodGVtcFs1XSwiTSIpOyAgICAg
IAogICAgICAgICAgICB3b3JkX3NpemU9YXRvaSh0ZW1wMikqcG93KDIsMjApOyAgCiAgICAgICAg
ICAgIC8vY291dDw8IldPUkQgU0laRSAiPDx3b3JkX3NpemU8PCIgbWVnYSBCWVRFUyAiPDxlbmRs
OyAgICAKICAgICAgICAgIH0KICAgICAgICBlbHNlIGlmKHN0cmNocih0ZW1wWzVdLCdLJykhPU5V
TEwpCiAgICAgICAgICB7CiAgICAgICAgICAgIHRlbXAyPXN0cnRvayh0ZW1wWzVdLCJLIik7CiAg
ICAgICAgICAgIHdvcmRfc2l6ZT1hdG9pKHRlbXAyKSpwb3coMiwxMCk7ICAKICAgICAgICAgICAg
Ly9jb3V0PDwiV09SRCBTSVpFICI8PHdvcmRfc2l6ZTw8IiBraWxvIEJZVEVTICI8PGVuZGw7ICAg
IAogICAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICAgIHsKICAgICAgICAgICAgdGVtcDI9
c3RydG9rKHRlbXBbNV0sIkIiKTsgICAgICAKICAgICAgICAgICAgd29yZF9zaXplPWF0b2kodGVt
cDIpOyAgCiAgICAgICAgICAgIC8vY291dDw8IldPUkQgU0laRSAiPDx3b3JkX3NpemU8PCIgQllU
RVMgIjw8ZW5kbDsgICAgCiAgICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQog
ICAgICAgIH0KICAgICAgfSAgICAgCgppZihzdHJuY21wKHZhbHNba10sIkNBQ0hFX0JMT0NLX1NJ
WkUiLDE2KT09MCl7CiAgICAgdGVtcDE9c3RydG9rKHZhbHNba10sIiAiKTsKICAgICAgd2hpbGUo
dGVtcDEhPU5VTEwpewogICAgICAgIGlmKHN0cm5jbXAodGVtcDEsIi8iLDEpIT0wKQogICAgICAg
ICAgewogICAgICAgIHRlbXAxPXN0cnRvayhOVUxMLCIgIik7CiAgICAgICAgdGVtcFs2XT10ZW1w
MTsKCglpZihzdHJjaHIodGVtcFs2XSwnRycpIT1OVUxMKQogICAgICAgICAgewogICAgICAgICAg
ICB0ZW1wMj1zdHJ0b2sodGVtcFs2XSwiRyIpOwogICAgICAgICAgICBjYWNoZV9ibG9ja19zaXpl
PWF0b2kodGVtcDIpKnBvdygyLDMwKTsKICAgICAgICAgIH0KICAgICAgICBlbHNlIGlmKHN0cmNo
cih0ZW1wWzZdLCdNJykhPU5VTEwpCiAgICAgICAgICB7CiAgICAgICAgICAgIHRlbXAyPXN0cnRv
ayh0ZW1wWzZdLCJNIik7CiAgICAgICAgICAgIGNhY2hlX2Jsb2NrX3NpemU9YXRvaSh0ZW1wMikq
cG93KDIsMjApOwogICAgICAgICAgICAvL2NvdXQ8PCJDQUNIRSBCTE9DSyBTSVpFICI8PGNhY2hl
X2Jsb2NrX3NpemU8PCIgbWVnYSBCWVRFUyAiPDxlbmRsOwogICAgICAgICAgfQogICAgICAgIGVs
c2UgaWYoc3RyY2hyKHRlbXBbNl0sJ0snKSE9TlVMTCkKICAgICAgICAgIHsKICAgICAgICAgICAg
dGVtcDI9c3RydG9rKHRlbXBbNl0sIksiKTsKICAgICAgICAgICAgY2FjaGVfYmxvY2tfc2l6ZT1h
dG9pKHRlbXAyKSpwb3coMiwxMCk7CiAgICAgICAgICAgIC8vY291dDw8IkNBQ0hFIEJMT0NLIFNJ
WkUgIjw8Y2FjaGVfYmxvY2tfc2l6ZTw8IiBraWxvIEJZVEVTICI8PGVuZGw7CiAgICAgICAgICB9
CiAgICAgICAgZWxzZSAKICAgICAgICAgIHsKICAgICAgICAgICAgdGVtcDI9c3RydG9rKHRlbXBb
Nl0sIkIiKTsKICAgICAgICAgICAgY2FjaGVfYmxvY2tfc2l6ZT1hdG9pKHRlbXAyKTsKICAgICAg
ICAgICAgLy9jb3V0PDwiQ0FDSEUgQkxPQ0sgU0laRSAiPDxjYWNoZV9ibG9ja19zaXplPDwiQllU
RVMgIjw8ZW5kbDsKICAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAg
ICAgfQogICAgICB9ICAgICAKCmlmKHN0cm5jbXAodmFsc1trXSwiUEhZU0lDQUxfTUVNT1JZX0JM
T0NLX1NJWkUiLDI2KT09MCl7CiAgICAgdGVtcDE9c3RydG9rKHZhbHNba10sIiAiKTsKICAgICAg
d2hpbGUodGVtcDEhPU5VTEwpewogICAgICAgIGlmKHN0cm5jbXAodGVtcDEsIi8iLDEpIT0wKQog
ICAgICAgICAgewogICAgICAgIHRlbXAxPXN0cnRvayhOVUxMLCIgIik7CiAgICAgICAgdGVtcFs3
XT10ZW1wMTsKCglpZihzdHJjaHIodGVtcFs3XSwnRycpIT1OVUxMKQogICAgICAgICAgewogICAg
ICAgICAgICB0ZW1wMj1zdHJ0b2sodGVtcFs3XSwiRyIpOwogICAgICAgICAgICBwaHlzX21lbV9i
bGtfc2l6ZT1hdG9pKHRlbXAyKSpwb3coMiwzMCk7CiAgICAgICAgICB9CiAgICAgICAgZWxzZSBp
ZihzdHJjaHIodGVtcFs3XSwnTScpIT1OVUxMKQogICAgICAgICAgewogICAgICAgICAgICB0ZW1w
Mj1zdHJ0b2sodGVtcFs3XSwiTSIpOwogICAgICAgICAgICBwaHlzX21lbV9ibGtfc2l6ZT1hdG9p
KHRlbXAyKSpwb3coMiwyMCk7CiAgICAgICAgICAgIC8vY291dDw8IlBIWVNJQ0FMIE1FTU9SWSBC
TE9DSyBTSVpFICI8PHBoeXNfbWVtX2Jsa19zaXplPDwiIG1lZ2EgQllURVMgIjw8ZW5kbDsKICAg
ICAgICAgIH0KICAgICAgICBlbHNlIGlmKHN0cmNocih0ZW1wWzddLCdLJykhPU5VTEwpCiAgICAg
ICAgICB7CiAgICAgICAgICAgIHRlbXAyPXN0cnRvayh0ZW1wWzddLCJLIik7CiAgICAgICAgICAg
IHBoeXNfbWVtX2Jsa19zaXplPWF0b2kodGVtcDIpKnBvdygyLDEwKTsKICAgICAgICAgICAgLy9j
b3V0PDwiUEhZU0lDQUwgTUVNT1JZIEJMT0NLIFNJWkUgIjw8cGh5c19tZW1fYmxrX3NpemU8PCIg
a2lsbyBCWVRFUyAiPDxlbmRsOwogICAgICAgICAgfQoJZWxzZQogICAgICAgICAgewogICAgICAg
ICAgICB0ZW1wMj1zdHJ0b2sodGVtcFs2XSwiQiIpOwogICAgICAgICAgICBjb3V0PDwiQllURVMg
Ijw8dGVtcDI8PGVuZGw7ICAgICAgCiAgICAgICAgICAgIHBoeXNfbWVtX2Jsa19zaXplPWF0b2ko
dGVtcDIpOwogICAgICAgICAgICAvL2NvdXQ8PCJQSFlTSUNBTCBNRU1PUlkgQkxPQ0sgU0laRSAi
PDxwaHlzX21lbV9ibGtfc2l6ZTw8IkJZVEVTICI8PGVuZGw7CiAgICAgICAgICB9CgogICAgICAg
ICBicmVhazsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0gICAgCiAKaWYoc3RybmNtcCh2
YWxzW2tdLCJDQUNIRV9TRVRfQVNTT0NJQVRJVklUWSIsMjMpPT0wKXsKCiAgICAgdGVtcDE9c3Ry
dG9rKHZhbHNba10sIiAiKTsKICAgICAgd2hpbGUodGVtcDEhPU5VTEwpewogICAgICAgIGlmKHN0
cm5jbXAodGVtcDEsIi8iLDEpIT0wKQogICAgICAgICAgewogICAgICAgIHRlbXAxPXN0cnRvayhO
VUxMLCIgIik7CiAgICAgICAgdGVtcFs4XT10ZW1wMTsKCiAgICAgICAgY2FjaGVfYXNzPWF0b2ko
dGVtcFs4XSk7CiAgICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAg
IH0KaWYoc3RybmNtcCh2YWxzW2tdLCJUTEJfU0VUX0FTU09DSUFUSVZJVFkiLDIxKT09MCl7CiAg
ICAgdGVtcDE9c3RydG9rKHZhbHNba10sIiAiKTsKICAgICAgd2hpbGUodGVtcDEhPU5VTEwpewog
ICAgICAgIGlmKHN0cm5jbXAodGVtcDEsIi8iLDEpIT0wKQogICAgICAgICAgewogICAgICAgIHRl
bXAxPXN0cnRvayhOVUxMLCIgIik7CiAgICAgICAgdGVtcFs5XT10ZW1wMTsKCgl0bGJfc2V0X2Fz
cz0gYXRvaSh0ZW1wWzldKTsKCiAgICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgICAgICAg
fQogICAgICAgIH0KCmlmKHN0cm5jbXAodmFsc1trXSwiQ0FDSEVfV1JJVEVfVEhST1VHSCIsMTkp
PT0wKXsKICAgICB0ZW1wMT1zdHJ0b2sodmFsc1trXSwiICIpOwogICAgICB3aGlsZSh0ZW1wMSE9
TlVMTCl7CiAgICAgICAgaWYoc3RybmNtcCh0ZW1wMSwiLyIsMSkhPTApCiAgICAgICAgICB7CiAg
ICAgICAgdGVtcDE9c3RydG9rKE5VTEwsIiAiKTsKICAgICAgICB0ZW1wWzEwXT10ZW1wMTsKCiAg
ICAgICAgIGNhY2hlX3dyaXRlPXRlbXBbMTBdOwoJLy9jb3V0PDwiQ0FDSEUgV1JJVEUgVEhST1VH
SCAiPDxjYWNoZV93cml0ZTw8ZW5kbDsKICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAg
ICAgICB9Cgl9CmlmKHN0cm5jbXAodmFsc1trXSwiQ0FDSEVfV1JJVEVfQUxMT0NBVEUiLDIwKT09
MCl7CiAgICAgdGVtcDE9c3RydG9rKHZhbHNba10sIiAiKTsKICAgICAgd2hpbGUodGVtcDEhPU5V
TEwpewogICAgICAgIGlmKHN0cm5jbXAodGVtcDEsIi8iLDEpIT0wKQogICAgICAgICAgewogICAg
ICAgIHRlbXAxPXN0cnRvayhOVUxMLCIgIik7CiAgICAgICAgdGVtcFsxMV09dGVtcDE7CiAgICAg
ICAgY2FjaGVfd3JpdGVfYWxsYz10ZW1wWzExXTsKCgkvL2NvdXQ8PCJDQUNIRSBXUklURSBBTExP
Q0FURSAiPDxjYWNoZV93cml0ZV9hbGxjPDxlbmRsOwogICAgICAgICBicmVhazsKICAgICAgICAg
IH0KICAgICAgICB9CiAgICAgIH0gICAgIAoKaWYoc3RybmNtcCh2YWxzW2tdLCJDQUNIRV9SRVBM
QUNFTUVOVCIsMTcpPT0wKXsKICAgICB0ZW1wMT1zdHJ0b2sodmFsc1trXSwiICIpOwogICAgICB3
aGlsZSh0ZW1wMSE9TlVMTCl7CiAgICAgICAgaWYoc3RybmNtcCh0ZW1wMSwiLyIsMSkhPTApCiAg
ICAgICAgICB7CiAgICAgICAgdGVtcDE9c3RydG9rKE5VTEwsIiAiKTsKICAgICAgICB0ZW1wWzEy
XT10ZW1wMTsKCiAgICAgICAgIGNhY2hlX3JlcGw9dGVtcFsxMl07CgkvL2NvdXQ8PCJDQUNIRSBS
RVBMQUNFTUVOVCAiPDxjYWNoZV9yZXBsPDxlbmRsOwogICAgICAgICBicmVhazsKICAgICAgICAg
IH0KICAgICAgICB9CiAgICAgIH0gICAgIAppZihzdHJuY21wKHZhbHNba10sIlRMQl9SRVBMQUNF
TUVOVCIsMTUpPT0wKXsKICAgICB0ZW1wMT1zdHJ0b2sodmFsc1trXSwiICIpOwogICAgICB3aGls
ZSh0ZW1wMSE9TlVMTCl7CiAgICAgICAgaWYoc3RybmNtcCh0ZW1wMSwiLyIsMSkhPTApCiAgICAg
ICAgICB7CiAgICAgICAgdGVtcDE9c3RydG9rKE5VTEwsIiAiKTsKICAgICAgICB0ZW1wWzEzXT10
ZW1wMTsKCiAgICAgICAgdGxiX3JwbD10ZW1wWzEzXTsKCS8vY291dDw8IlRMQiBSRVBMQUNFTUVO
VCAiPDx0bGJfcnBsPDxlbmRsOwogICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgIH0K
fQppZihzdHJuY21wKHZhbHNba10sIlBIWVNJQ0FMX01FTU9SWV9SRVBMQUNFTUVOVCIsMjcpPT0w
KXsKICAgICB0ZW1wMT1zdHJ0b2sodmFsc1trXSwiICIpOwogICAgICB3aGlsZSh0ZW1wMSE9TlVM
TCl7CiAgICAgICAgaWYoc3RybmNtcCh0ZW1wMSwiLyIsMSkhPTApCiAgICAgICAgICB7CiAgICAg
ICAgdGVtcDE9c3RydG9rKE5VTEwsIiAiKTsKICAgICAgICB0ZW1wWzE0XT10ZW1wMTsKCiAgICAg
ICAgcGh5c19tZW1fcnBsPXRlbXBbMTRdOwoJLy9jb3V0PDwiUEhZU0lDQUwgTUVNT1JZIFJFUExB
Q0VNRU5UICI8PHBoeXNfbWVtX3JwbDw8ZW5kbDsKICAgICAgICBicmVhazsKICAgICAgICAgIH0K
ICAgICAgICB9Cgl9CmsrKzsKfQp9Cgp2b2lkIHZlcmlmeVZhbHVlcyhkb3VibGUgdHZhbHVlc1td
LGNoYXIgdGVtcFtdWzgwXSxkb3VibGUgbnVtX2JpdHNfZm9yX2Jsb2NrLCBkb3VibGUgbnVtX2Jp
dHNfZm9yX3NldCxkb3VibGUgY2FjaGVfYXNzLGRvdWJsZSBudW1fd29yZHNfaW5fYmxvY2spCgp7
CgpzdHJ1Y3QgQmxvY2t7CglpbnQgYmxvY2tzWyhpbnQpY2FjaGVfYXNzXTsvL1soaW50KW51bV93
b3Jkc19pbl9ibG9ja107CglzdHJpbmcgYmxvY2tfdGFnOwoJaW50IHZhbGlkOwp9OwoKCUJsb2Nr
IGJsa1syMF07CgoJZm9yKGludCBnPTA7Zzw9MTk7ZysrKXsKCQoJYmxrW2ddLnZhbGlkPTA7CgkK
CX0KCglzdHJpbmcgYmxvY2tfbnVtYmVyOwoJc3RyaW5nIHNldF9udW1iZXI7CglzdHJpbmcgdGFn
X3ZhbHVlOwoJY2hhciB0ZXN0WzIwXVs0MF07CgljaGFyIHRlc3QxWzIwXVsyMF07CglzdHJpbmcg
czsKCWludCBrPTA7CglpbnQgaGl0PTA7CgoJY291dDw8IlRoZSBWYWx1ZXMgR2l2ZW4gZm9yIHZl
cmlmeWluZyBhcmU6Ijw8ZW5kbDsKCndoaWxlKChrPD0xOSkmJih0dmFsdWVzW2tdIT0wKSl7Cglj
b3V0PDx0dmFsdWVzW2tdPDxlbmRsOwoJaysrOwp9CgludW1fYml0c19mb3JfdGFnPShudW1fYml0
c19mb3JfYWRkLWJpdHMpLShudW1fYml0c19mb3JfYmxvY2srbnVtX2JpdHNfZm9yX3NldCk7Cglj
b3V0PDwiVEFHUyBCSVRTIjw8bnVtX2JpdHNfZm9yX3RhZzw8ZW5kbDsKCQppbnQgbT0wOwppbnQg
dD0wOwoKZm9yKG09MDttPD1jb3VudC0xO20rKyl7CglzPShzdHJpbmcpdGVtcFttXTsKCXRhZ192
YWx1ZT1zLnN1YnN0cigwLChpbnQpbnVtX2JpdHNfZm9yX3RhZyk7CQoJY291dDw8IlRBRyAiPDx0
YWdfdmFsdWU8PGVuZGw7CglzZXRfbnVtYmVyPXMuc3Vic3RyKG51bV9iaXRzX2Zvcl90YWcsbnVt
X2JpdHNfZm9yX3NldCk7CQoJc2V0X251bWJlci5jb3B5KHRlc3RbbV0sc2V0X251bWJlci5sZW5n
dGgoKSwwKTsKCWludCBzZXRfbnVtPXN0cnRvdWwodGVzdFttXSwmaW52YWxpZCwyKTsKCWNvdXQ8
PCJTRVQgIjw8c2V0X251bWJlcjw8ZW5kbDsJCgljb3V0PDwiU0VUICI8PHNldF9udW08PGVuZGw7
CQoJYmxvY2tfbnVtYmVyPXMuc3Vic3RyKChudW1fYml0c19mb3JfdGFnK251bV9iaXRzX2Zvcl9z
ZXQpLG51bV9iaXRzX2Zvcl9ibG9jayk7CQoJYmxvY2tfbnVtYmVyLmNvcHkodGVzdDFbbV0sYmxv
Y2tfbnVtYmVyLmxlbmd0aCgpLDApOwoJaW50IGJsb2NrX251bT1zdHJ0b3VsKHRlc3QxW21dLCZp
bnZhbGlkLDIpOwoJY291dDw8IkJMT0NLICI8PGJsb2NrX251bWJlcjw8ZW5kbDsJCgoJaWYoKHRh
Z192YWx1ZS5jb21wYXJlKGJsa1tzZXRfbnVtXS5ibG9ja3NbYmxvY2tfbnVtXS5ibG9ja190YWcp
IT0wKSYmKGJsa1tzZXRfbnVtXS52YWxpZD09MCkpewoJY291dDw8IkNBQ0hFIE1JU1MiPDxlbmRs
OwoJYmxrW3NldF9udW1dLmJsb2Nrc1tibG9ja19udW1dLmJsb2NrX3RhZz10YWdfdmFsdWU7CgoJ
Ly90YWdfdmFsdWUuY29weShibGtbc2V0X251bV0uYmxvY2tfdGFnW2Jsb2NrX251bV0sdGFnX3Zh
bHVlLmxlbmd0aCgpLDApOwoJYmxrW3NldF9udW1dLmJsb2Nrc1tibG9ja19udW1dLnZhbGlkPTE7
CgkvL2Jsb2NrX3RhZ1tibG9ja19udW1dCgl9CgllbHNlewkKCWNvdXQ8PCJDQUNIRSBISVQiPDxl
bmRsOwoJaGl0Kys7Cgl9CgkKfQkKaW50IG1wZXI9IDEwMC1oaXQ7CmludCBocGVyPSBoaXQ7CmNv
dXQ8PCJDQUNIRSBISVQgJSAiIDw8IGhwZXI8PGVuZGw7CmNvdXQ8PCJDQUNIRSBNSVNTICUgIiA8
PCBtcGVyPDxlbmRsOwoJCn0KCnZvaWQgQmluSW50KGRvdWJsZSB0dmFsdWVzW10sIGRvdWJsZSBu
dW1fYml0c19mb3JfYWRkLGRvdWJsZSBudW1fd29yZHNfaW5fYmxvY2spIHsKCgkJIGZvcihpbnQg
eT0wO3k8PTE1O3krKyl7IAogICAgICAgICAgICAgICAgICBmb3IoaW50IHcgPSAoaW50KShudW1f
Yml0c19mb3JfYWRkLTEpOyB3ID49MDsgdy0tKXsKICAgICAgICAgICAgICAgICAgICBpZigoKDEg
PDwgdykgJiAgKGludCl0dmFsdWVzW3ldKSAhPSAwKQoJCQl7CgkJCXN0cmNhdChiaW5beV0sIjEi
KTsKCQkJfQogICAgICAgICAgICAgICAgICAgIGVsc2UKCQkJewoJCQlzdHJjYXQoYmluW3ldLCIw
Iik7CgkJCX0KCQl9CgkJfQoKCWJpdHM9bG9nMTAobnVtX3dvcmRzX2luX2Jsb2NrKS9sb2cxMCgy
KTsKCWNvdXQ8PCJDSEVDSyAiPDwoc2l6ZV90KShudW1fYml0c19mb3JfYWRkLWJpdHMpPDxlbmRs
OwoJZm9yKGludCB2PTA7djw9MTU7disrKXsKCWNvdXQ8PCJUaGUgcXVlc3Rpb24iPDxiaW5bdl08
PGVuZGw7CglzdHJuY3B5KHRlbXBbdl0sYmluW3ZdLChpbnQpKG51bV9iaXRzX2Zvcl9hZGQtYml0
cykpOwoJY291dDw8IlRoZSByZXN1bHQgICI8PHRlbXBbdl08PGVuZGw7Cgljb3V0PDwiVGhlIHZh
bHVlIjw8c3RydG9sKHRlbXBbdl0sJmludmFsaWQsMik8PGVuZGw7CQogICAgICAgICAgfSAKCgly
ZXR1cm47Cn0K
More information about the Gcc-prs
mailing list