target/5528: Build failure on IRIX with native c-compiler [PATCH]

lminder@gmx.net lminder@gmx.net
Tue Jan 29 06:56:00 GMT 2002


>Number:         5528
>Category:       target
>Synopsis:       Build failure on IRIX with native c-compiler [PATCH]
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jan 29 04:46:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     lminder@gmx.net
>Release:        gcc 3.0.3
>Organization:
>Environment:
IRIX6.5, mips, mipspro C compiler
>Description:
The mipspro C compiler intended to compile gcc has
problems with conditional expressions

	(1)	Conditional expressions can'b be used as
		lvalue, i.e.
			(x ? y : z) = 5
		doesn't work

	(2)	The second and third operand of ?: must be
		`compatible' types, e.g, you can't have

			a ? b : c

		with b of type void and c int, even if you
		don't intend to reuse the evaluated expression.

The patch includes a workaround for those two problems which
cause gcc to fail to build. (Replace ?:-assignment by if/else,
cast operands to void).
>How-To-Repeat:
trying to compile gcc on irix with mipspro-cc. (BTW, there
is yet another problem that cp/parse.c refers yyprint(),
fixed by #undef YYPRINT. I don't know what causes this.)
>Fix:
included
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="gcc-irix.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="gcc-irix.patch"

LS0tIGdjY21vZC9nY2MvY3AvY3AtdHJlZS5oLm9yaWcJVHVlIEphbiAyOSAwMjozMTozNCAyMDAy
CisrKyBnY2Ntb2QvZ2NjL2NwL2NwLXRyZWUuaAlUdWUgSmFuIDI5IDAyOjMzOjM0IDIwMDIKQEAg
LTE2NjUsMTQgKzE2NjUsMTUgQEAKICNkZWZpbmUgQklORk9fTUFSS0VEKE5PREUpIChUUkVFX1ZJ
QV9WSVJUVUFMKE5PREUpP0NMQVNTVFlQRV9NQVJLRUQoQklORk9fVFlQRShOT0RFKSk6VFJFRV9M
QU5HX0ZMQUdfMChOT0RFKSkKIC8qIE1hY3JvcyBuZWVkZWQgYmVjYXVzZSBvZiBDIGNvbXBpbGVy
cyB0aGF0IGRvbid0IGFsbG93IGNvbmRpdGlvbmFsCiAgICBleHByZXNzaW9ucyB0byBiZSBsdmFs
dWVzLiAgR3JyISAgKi8KLSNkZWZpbmUgU0VUX0JJTkZPX01BUktFRChOT0RFKSAoVFJFRV9WSUFf
VklSVFVBTChOT0RFKT9TRVRfQ0xBU1NUWVBFX01BUktFRChCSU5GT19UWVBFKE5PREUpKTooVFJF
RV9MQU5HX0ZMQUdfMChOT0RFKT0xKSkKLSNkZWZpbmUgQ0xFQVJfQklORk9fTUFSS0VEKE5PREUp
IChUUkVFX1ZJQV9WSVJUVUFMKE5PREUpP0NMRUFSX0NMQVNTVFlQRV9NQVJLRUQoQklORk9fVFlQ
RShOT0RFKSk6KFRSRUVfTEFOR19GTEFHXzAoTk9ERSk9MCkpCisjZGVmaW5lIFNFVF9CSU5GT19N
QVJLRUQoTk9ERSkgKFRSRUVfVklBX1ZJUlRVQUwoTk9ERSk/KHZvaWQpU0VUX0NMQVNTVFlQRV9N
QVJLRUQoQklORk9fVFlQRShOT0RFKSk6KHZvaWQpKFRSRUVfTEFOR19GTEFHXzAoTk9ERSk9MSkp
CisjZGVmaW5lIENMRUFSX0JJTkZPX01BUktFRChOT0RFKSAoVFJFRV9WSUFfVklSVFVBTChOT0RF
KT8odm9pZClDTEVBUl9DTEFTU1RZUEVfTUFSS0VEKEJJTkZPX1RZUEUoTk9ERSkpOih2b2lkKShU
UkVFX0xBTkdfRkxBR18wKE5PREUpPTApKQogCiAvKiBOb256ZXJvIG1lYW5zIHRoYXQgdGhpcyBj
bGFzcyBpcyBvbiBhIHBhdGggbGVhZGluZyB0byBhIG5ldyB2dGFibGUuICAqLwogI2RlZmluZSBC
SU5GT19WVEFCTEVfUEFUSF9NQVJLRUQoTk9ERSkgXAogICAoVFJFRV9WSUFfVklSVFVBTChOT0RF
KT9DTEFTU1RZUEVfTUFSS0VEMyhCSU5GT19UWVBFKE5PREUpKTpUUkVFX0xBTkdfRkxBR18zKE5P
REUpKQotI2RlZmluZSBTRVRfQklORk9fVlRBQkxFX1BBVEhfTUFSS0VEKE5PREUpIChUUkVFX1ZJ
QV9WSVJUVUFMKE5PREUpP1NFVF9DTEFTU1RZUEVfTUFSS0VEMyhCSU5GT19UWVBFKE5PREUpKToo
VFJFRV9MQU5HX0ZMQUdfMyhOT0RFKT0xKSkKLSNkZWZpbmUgQ0xFQVJfQklORk9fVlRBQkxFX1BB
VEhfTUFSS0VEKE5PREUpIChUUkVFX1ZJQV9WSVJUVUFMKE5PREUpP0NMRUFSX0NMQVNTVFlQRV9N
QVJLRUQzKEJJTkZPX1RZUEUoTk9ERSkpOihUUkVFX0xBTkdfRkxBR18zKE5PREUpPTApKQorI2Rl
ZmluZSBTRVRfQklORk9fVlRBQkxFX1BBVEhfTUFSS0VEKE5PREUpIChUUkVFX1ZJQV9WSVJUVUFM
KE5PREUpPyh2b2lkKVNFVF9DTEFTU1RZUEVfTUFSS0VEMyhCSU5GT19UWVBFKE5PREUpKToodm9p
ZCkoVFJFRV9MQU5HX0ZMQUdfMyhOT0RFKT0xKSkKKyNkZWZpbmUgQ0xFQVJfQklORk9fVlRBQkxF
X1BBVEhfTUFSS0VEKE5PREUpIChUUkVFX1ZJQV9WSVJUVUFMKE5PREUpPyh2b2lkKUNMRUFSX0NM
QVNTVFlQRV9NQVJLRUQzKEJJTkZPX1RZUEUoTk9ERSkpOih2b2lkKShUUkVFX0xBTkdfRkxBR18z
KE5PREUpPTApKQogCiAvKiBOb256ZXJvIG1lYW5zIEIgKGEgQklORk8pIGhhcyBpdHMgb3duIHZ0
YWJsZS4gIFVuZGVyIHRoZSBvbGQgQUJJLAogICAgc2Vjb25kYXJ5IHZ0YWJsZXMgYXJlIHNvbWV0
aW1lcyBzaGFyZWQuICBBbnkgY29waWVzIHdpbGwgbm90IGhhdmUKLS0tIGdjY21vZC9nY2MvY3Av
ZGVjbC5jLm9yaWcJVHVlIEphbiAyOSAwMjozMjowNCAyMDAyCisrKyBnY2Ntb2QvZ2NjL2NwL2Rl
Y2wuYwlUdWUgSmFuIDI5IDAyOjM0OjEwIDIwMDIKQEAgLTQ4MSw2ICs0ODEsMTMgQEAKICAgKGNm
dW4gJiYgY3BfZnVuY3Rpb25fY2hhaW4tPmJpbmRpbmdzCQlcCiAgICA/IGNwX2Z1bmN0aW9uX2No
YWluLT5iaW5kaW5ncwkJXAogICAgOiBzY29wZV9jaGFpbi0+YmluZGluZ3MpCisjZGVmaW5lIEFT
U0lHTl9DVVJSRU5UX0JJTkRJTkdfTEVWRUwodmFsKQlcCisgIGRvIHsJCQkJCQlcCisgICAgaWYo
Y2Z1biAmJiBjcF9mdW5jdGlvbl9jaGFpbi0+YmluZGluZ3MpCVwKKyAgICAgIGNwX2Z1bmN0aW9u
X2NoYWluLT5iaW5kaW5ncyA9ICh2YWwpOwlcCisgICAgZWxzZQkJCQkJXAorICAgICAgc2NvcGVf
Y2hhaW4tPmJpbmRpbmdzID0gKHZhbCk7CQlcCisgIH0gd2hpbGUoMCkKIAogLyogVGhlIGJpbmRp
bmcgbGV2ZWwgb2YgdGhlIGN1cnJlbnQgY2xhc3MsIGlmIGFueS4gICovCiAKQEAgLTUyNSw3ICs1
MzIsNyBAQAogICAgICBhcmUgYWN0aXZlLiAgKi8KICAgbWVtc2V0ICgoY2hhciopIG5ld2xldmVs
LCAwLCBzaXplb2YgKHN0cnVjdCBiaW5kaW5nX2xldmVsKSk7CiAgIG5ld2xldmVsLT5sZXZlbF9j
aGFpbiA9IGN1cnJlbnRfYmluZGluZ19sZXZlbDsKLSAgY3VycmVudF9iaW5kaW5nX2xldmVsID0g
bmV3bGV2ZWw7CisgIEFTU0lHTl9DVVJSRU5UX0JJTkRJTkdfTEVWRUwobmV3bGV2ZWwpOwogICBu
ZXdsZXZlbC0+dGFnX3RyYW5zcGFyZW50ID0gdGFnX3RyYW5zcGFyZW50OwogICBuZXdsZXZlbC0+
bW9yZV9jbGVhbnVwc19vayA9IDE7CiAKQEAgLTU4MSw3ICs1ODgsNyBAQAogI2VuZGlmIC8qIGRl
ZmluZWQoREVCVUdfQ1BfQklORElOR19MRVZFTFMpICovCiAgIHsKICAgICByZWdpc3RlciBzdHJ1
Y3QgYmluZGluZ19sZXZlbCAqbGV2ZWwgPSBjdXJyZW50X2JpbmRpbmdfbGV2ZWw7Ci0gICAgY3Vy
cmVudF9iaW5kaW5nX2xldmVsID0gY3VycmVudF9iaW5kaW5nX2xldmVsLT5sZXZlbF9jaGFpbjsK
KyAgICBBU1NJR05fQ1VSUkVOVF9CSU5ESU5HX0xFVkVMKGN1cnJlbnRfYmluZGluZ19sZXZlbC0+
bGV2ZWxfY2hhaW4pOwogICAgIGxldmVsLT5sZXZlbF9jaGFpbiA9IGZyZWVfYmluZGluZ19sZXZl
bDsKICNpZiAwIC8qIGRlZmluZWQoREVCVUdfQ1BfQklORElOR19MRVZFTFMpICovCiAgICAgaWYg
KGxldmVsLT5iaW5kaW5nX2RlcHRoICE9IGJpbmRpbmdfZGVwdGgpCkBAIC01OTYsNyArNjAzLDcg
QEAKIHN1c3BlbmRfYmluZGluZ19sZXZlbCAoKQogewogICBpZiAoY2xhc3NfYmluZGluZ19sZXZl
bCkKLSAgICBjdXJyZW50X2JpbmRpbmdfbGV2ZWwgPSBjbGFzc19iaW5kaW5nX2xldmVsOworICAg
IEFTU0lHTl9DVVJSRU5UX0JJTkRJTkdfTEVWRUwoY2xhc3NfYmluZGluZ19sZXZlbCk7CiAKICAg
aWYgKGdsb2JhbF9iaW5kaW5nX2xldmVsKQogICAgIHsKQEAgLTYxOCw3ICs2MjUsNyBAQAogICAg
IH0KICAgaXNfY2xhc3NfbGV2ZWwgPSAwOwogI2VuZGlmIC8qIGRlZmluZWQoREVCVUdfQ1BfQklO
RElOR19MRVZFTFMpICovCi0gIGN1cnJlbnRfYmluZGluZ19sZXZlbCA9IGN1cnJlbnRfYmluZGlu
Z19sZXZlbC0+bGV2ZWxfY2hhaW47CisgIEFTU0lHTl9DVVJSRU5UX0JJTkRJTkdfTEVWRUwoY3Vy
cmVudF9iaW5kaW5nX2xldmVsLT5sZXZlbF9jaGFpbik7CiAgIGZpbmRfY2xhc3NfYmluZGluZ19s
ZXZlbCAoKTsKIH0KIApAQCAtNjMxLDcgKzYzOCw3IEBACiAgIG15X2ZyaWVuZGx5X2Fzc2VydCgh
Y2xhc3NfYmluZGluZ19sZXZlbCwgMzg2KTsKICAgLyogQWxzbywgcmVzdW1pbmcgYSBub24tZGly
ZWN0bHkgbmVzdGVkIG5hbWVzcGFjZSBpcyBhIG5vLW5vLiAgKi8KICAgbXlfZnJpZW5kbHlfYXNz
ZXJ0KGItPmxldmVsX2NoYWluID09IGN1cnJlbnRfYmluZGluZ19sZXZlbCwgMzg2KTsKLSAgY3Vy
cmVudF9iaW5kaW5nX2xldmVsID0gYjsKKyAgQVNTSUdOX0NVUlJFTlRfQklORElOR19MRVZFTChi
KTsKICNpZiBkZWZpbmVkKERFQlVHX0NQX0JJTkRJTkdfTEVWRUxTKQogICBiLT5iaW5kaW5nX2Rl
cHRoID0gYmluZGluZ19kZXB0aDsKICAgaW5kZW50ICgpOwpAQCAtNDI5MSw5ICs0Mjk4LDkgQEAK
ICAgZWxzZQogICAgIHsKICAgICAgIGIgPSBjdXJyZW50X2JpbmRpbmdfbGV2ZWw7Ci0gICAgICBj
dXJyZW50X2JpbmRpbmdfbGV2ZWwgPSBsZXZlbDsKKyAgICAgIEFTU0lHTl9DVVJSRU5UX0JJTkRJ
TkdfTEVWRUwobGV2ZWwpOwogICAgICAgeCA9IHB1c2hkZWNsICh4KTsKLSAgICAgIGN1cnJlbnRf
YmluZGluZ19sZXZlbCA9IGI7CisgICAgICBBU1NJR05fQ1VSUkVOVF9CSU5ESU5HX0xFVkVMKGIp
OwogICAgIH0KICAgY3VycmVudF9mdW5jdGlvbl9kZWNsID0gZnVuY3Rpb25fZGVjbDsKICAgcmV0
dXJuIHg7CkBAIC02NDAyLDcgKzY0MDksNyBAQAogICBjdXJyZW50X2xhbmdfbmFtZSA9IGxhbmdf
bmFtZV9jOwogCiAgIGN1cnJlbnRfZnVuY3Rpb25fZGVjbCA9IE5VTExfVFJFRTsKLSAgY3VycmVu
dF9iaW5kaW5nX2xldmVsID0gTlVMTF9CSU5ESU5HX0xFVkVMOworICBBU1NJR05fQ1VSUkVOVF9C
SU5ESU5HX0xFVkVMKE5VTExfQklORElOR19MRVZFTCk7CiAgIGZyZWVfYmluZGluZ19sZXZlbCA9
IE5VTExfQklORElOR19MRVZFTDsKIAogICBidWlsZF9jb21tb25fdHJlZV9ub2RlcyAoZmxhZ19z
aWduZWRfY2hhcik7CkBAIC05OTM2LDEwICs5OTQzLDEwIEBACiAgIGlmIChkZWNsX2NvbnRleHQg
PT0gTk9STUFMICYmICF0b3BsZXZlbF9iaW5kaW5nc19wICgpKQogICAgIHsKICAgICAgIHN0cnVj
dCBiaW5kaW5nX2xldmVsICpiID0gY3VycmVudF9iaW5kaW5nX2xldmVsOwotICAgICAgY3VycmVu
dF9iaW5kaW5nX2xldmVsID0gYi0+bGV2ZWxfY2hhaW47CisgICAgICBBU1NJR05fQ1VSUkVOVF9C
SU5ESU5HX0xFVkVMKGItPmxldmVsX2NoYWluKTsKICAgICAgIGlmIChjdXJyZW50X2JpbmRpbmdf
bGV2ZWwgIT0gMCAmJiB0b3BsZXZlbF9iaW5kaW5nc19wICgpKQogCWRlY2xfY29udGV4dCA9IFBB
Uk07Ci0gICAgICBjdXJyZW50X2JpbmRpbmdfbGV2ZWwgPSBiOworICAgICAgQVNTSUdOX0NVUlJF
TlRfQklORElOR19MRVZFTChiKTsKICAgICB9CiAKICAgaWYgKG5hbWUgPT0gTlVMTCkKQEAgLTEz
NTA1LDcgKzEzNTEyLDcgQEAKICAgICAgRklYTUUgZmFjdG9yIG91dCB0aGUgbm9uLVJUTCBzdHVm
Zi4gICovCiAgIGJsID0gY3VycmVudF9iaW5kaW5nX2xldmVsOwogICBpbml0X2Z1bmN0aW9uX3N0
YXJ0IChkZWNsMSwgaW5wdXRfZmlsZW5hbWUsIGxpbmVubyk7Ci0gIGN1cnJlbnRfYmluZGluZ19s
ZXZlbCA9IGJsOworICBBU1NJR05fQ1VSUkVOVF9CSU5ESU5HX0xFVkVMKGJsKTsKIAogICAvKiBF
dmVuIHRob3VnaCB3ZSdyZSBpbnNpZGUgYSBmdW5jdGlvbiBib2R5LCB3ZSBzdGlsbCBkb24ndCB3
YW50IHRvCiAgICAgIGNhbGwgZXhwYW5kX2V4cHIgdG8gY2FsY3VsYXRlIHRoZSBzaXplIG9mIGEg
dmFyaWFibGUtc2l6ZWQgYXJyYXkuCg==



More information about the Gcc-bugs mailing list