[ruby-core:118024] [Ruby master Misc#20507] Allow C extensions to be compiled cleanly with the `-Wsign-conversion` warning option
From:
"nobu (Nobuyoshi Nakada) via ruby-core" <ruby-core@...>
Date:
2024-05-27 02:39:07 UTC
List:
ruby-core #118024
SXNzdWUgIzIwNTA3IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbm9idSAoTm9idXlvc2hpIE5ha2FkYSku DQoNCg0KYFJCSU1QTF9DQVNUYCBub3QgbmVlZGVkPw0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tDQpNaXNjICMyMDUwNzogQWxsb3cgQyBleHRlbnNpb25zIHRvIGJl IGNvbXBpbGVkIGNsZWFubHkgd2l0aCB0aGUgYC1Xc2lnbi1jb252ZXJzaW9uYCB3YXJuaW5nIG9w dGlvbg0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzIwNTA3I2NoYW5nZS0xMDg0 NDMNCg0KKiBBdXRob3I6IG1kYWxlc3NpbyAoTWlrZSBEYWxlc3NpbykNCiogU3RhdHVzOiBPcGVu DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpBcyBhIG1haW50YWlu ZXIgb2Ygc2V2ZXJhbCBDIGV4dGVuc2lvbnMsIEkgbGlrZSB0byBjb21waWxlIG15IGNvZGUgd2l0 aCBzb21lIG9mIHRoZSBjb21tb24gW1dhcm5pbmcgT3B0aW9uc10oaHR0cHM6Ly9nY2MuZ251Lm9y Zy9vbmxpbmVkb2NzL2djYy9XYXJuaW5nLU9wdGlvbnMuaHRtbCkgdG8gaGVscCBtYWludGFpbiBj b2RlIHF1YWxpdHkgYW5kIHNhZmV0eS4NCg0KT25lIG9mIHRoZSBvcHRpb25zIHRoYXQgaXMgY3Vy cmVudGx5IHZlcnkgZGlmZmljdWx0IHRvIHVzZSBpcyBgLVdzaWduLWNvbnZlcnNpb25gLCBiZWNh dXNlIHNvbWUgb2YgdGhlIFJ1YnkgcHVibGljIGhlYWRlciBmaWxlcyBjb250YWluIGNvZGUgdGhh dCB3aWxsIGdlbmVyYXRlIHdhcm5pbmdzLiBTbyBtYW55IHdhcm5pbmdzIGFyZSBwcmludGVkIHdo ZW4gY29tcGlsaW5nIGFnYWluc3QgUnVieSdzIGhlYWRlciBmaWxlcyB0aGF0IGl0J3MgaGFyZCB0 byBzZWUgYW55IHdhcm5pbmdzIGZyb20gbXkgY29kZS4NCg0KQXMgYW4gZXhhbXBsZSwgY29tcGls aW5nIGp1c3Qgb25lIGZpbGUgaW4gTm9rb2dpcmkgd2l0aCB0aGlzIGZsYWcgZW5hYmxlZCB3aWxs IHByaW50Og0KDQpgYGANCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL3Nw ZWNpYWxfY29uc3RzLmg6IEluIGZ1bmN0aW9uIOKAmFJCX1RFU1TigJk6DQouLi4vaW5jbHVkZS9y dWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9zcGVjaWFsX2NvbnN0cy5oOjE1OToxNjogd2Fybmlu ZzogdW5zaWduZWQgY29udmVyc2lvbiBmcm9tIOKAmGludOKAmSB0byDigJhWQUxVReKAmSB7YWth IOKAmGxvbmcgdW5zaWduZWQgaW504oCZfSBjaGFuZ2VzIHZhbHVlIGZyb20g4oCYLTXigJkgdG8g 4oCYMTg0NDY3NDQwNzM3MDk1NTE2MTHigJkgWy1Xc2lnbi1jb252ZXJzaW9uXQ0KICAxNTkgfCAg ICAgcmV0dXJuIG9iaiAmIH5SVUJZX1FuaWw7DQogICAgICB8ICAgICAgICAgICAgICAgIF4NCi4u Li9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL3NwZWNpYWxfY29uc3RzLmg6IElu IGZ1bmN0aW9uIOKAmFJCX05JTF9PUl9VTkRFRl9Q4oCZOg0KLi4uL2luY2x1ZGUvcnVieS0zLjQu MCswL3J1YnkvaW50ZXJuYWwvc3BlY2lhbF9jb25zdHMuaDoyMjk6MjQ6IHdhcm5pbmc6IHVuc2ln bmVkIGNvbnZlcnNpb24gZnJvbSDigJhpbnTigJkgdG8g4oCYVkFMVUXigJkge2FrYSDigJhjb25z dCBsb25nIHVuc2lnbmVkIGludOKAmX0gY2hhbmdlcyB2YWx1ZSBmcm9tIOKAmC0zM+KAmSB0byDi gJgxODQ0Njc0NDA3MzcwOTU1MTU4M+KAmSBbLVdzaWduLWNvbnZlcnNpb25dDQogIDIyOSB8ICAg ICBjb25zdCBWQUxVRSBtYXNrID0gfihSVUJZX1F1bmRlZiBeIFJVQllfUW5pbCk7DQogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgXg0KLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1Ynkv aW50ZXJuYWwvYXJpdGhtZXRpYy9sb25nLmg6IEluIGZ1bmN0aW9uIOKAmFJCX0lOVDJGSVjigJk6 DQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9hcml0aG1ldGljL2xvbmcu aDoxMTc6Mjk6IHdhcm5pbmc6IGNvbnZlcnNpb24gdG8g4oCYbG9uZyB1bnNpZ25lZCBpbnTigJkg ZnJvbSDigJhsb25nIGludOKAmSBtYXkgY2hhbmdlIHRoZSBzaWduIG9mIHRoZSByZXN1bHQgWy1X c2lnbi1jb252ZXJzaW9uXQ0KICAxMTcgfCAgICAgY29uc3QgdW5zaWduZWQgbG9uZyBqID0gaTsN CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4NCi4uLi9pbmNsdWRlL3J1Ynkt My40LjArMC9ydWJ5L2ludGVybmFsL2FyaXRobWV0aWMvbG9uZy5oOjExOToyOTogd2FybmluZzog Y29udmVyc2lvbiB0byDigJhsb25nIGludOKAmSBmcm9tIOKAmGxvbmcgdW5zaWduZWQgaW504oCZ IG1heSBjaGFuZ2UgdGhlIHNpZ24gb2YgdGhlIHJlc3VsdCBbLVdzaWduLWNvbnZlcnNpb25dDQog IDExOSB8ICAgICBjb25zdCBsb25nICAgICAgICAgIGwgPSBrOw0KICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXg0KLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJu YWwvYXJpdGhtZXRpYy9sb25nLmg6MTIxOjI5OiB3YXJuaW5nOiBjb252ZXJzaW9uIHRvIOKAmFZB TFVF4oCZIHtha2Eg4oCYY29uc3QgbG9uZyB1bnNpZ25lZCBpbnTigJl9IGZyb20g4oCYbG9uZyBp bnTigJkgbWF5IGNoYW5nZSB0aGUgc2lnbiBvZiB0aGUgcmVzdWx0IFstV3NpZ24tY29udmVyc2lv bl0NCiAgMTIxIHwgICAgIGNvbnN0IFZBTFVFICAgICAgICAgbiA9IG07DQogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeDQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9p bnRlcm5hbC9hcml0aG1ldGljL2xvbmcuaDogSW4gZnVuY3Rpb24g4oCYcmJpbXBsX2ZpeDJsb25n X2J5X2lkaXbigJk6DQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9hcml0 aG1ldGljL2xvbmcuaDoxNjk6Mjg6IHdhcm5pbmc6IGNvbnZlcnNpb24gdG8g4oCYbG9uZyBpbnTi gJkgZnJvbSDigJhWQUxVReKAmSB7YWthIOKAmGxvbmcgdW5zaWduZWQgaW504oCZfSBtYXkgY2hh bmdlIHRoZSBzaWduIG9mIHRoZSByZXN1bHQgWy1Xc2lnbi1jb252ZXJzaW9uXQ0KICAxNjkgfCAg ICAgY29uc3QgU0lHTkVEX1ZBTFVFIHkgPSB4IC0gUlVCWV9GSVhOVU1fRkxBRzsNCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXg0KLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1 YnkvaW50ZXJuYWwvYXJpdGhtZXRpYy9sb25nLmg6IEluIGZ1bmN0aW9uIOKAmHJiaW1wbF9maXgy bG9uZ19ieV9zaGlmdOKAmToNCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFs L2FyaXRobWV0aWMvbG9uZy5oOjE5NjoyODogd2FybmluZzogY29udmVyc2lvbiB0byDigJhsb25n IGludOKAmSBmcm9tIOKAmFZBTFVF4oCZIHtha2Eg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJl9IG1h eSBjaGFuZ2UgdGhlIHNpZ24gb2YgdGhlIHJlc3VsdCBbLVdzaWduLWNvbnZlcnNpb25dDQogIDE5 NiB8ICAgICBjb25zdCBTSUdORURfVkFMVUUgeSA9IHg7DQogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4NCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL2Fy aXRobWV0aWMvbG9uZy5oOiBJbiBmdW5jdGlvbiDigJhyYl9maXgydWxvbmfigJk6DQouLi4vaW5j bHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9hcml0aG1ldGljL2xvbmcuaDoyNTU6MTI6 IHdhcm5pbmc6IGNvbnZlcnNpb24gdG8g4oCYbG9uZyB1bnNpZ25lZCBpbnTigJkgZnJvbSDigJhs b25nIGludOKAmSBtYXkgY2hhbmdlIHRoZSBzaWduIG9mIHRoZSByZXN1bHQgWy1Xc2lnbi1jb252 ZXJzaW9uXQ0KICAyNTUgfCAgICAgcmV0dXJuIHJiX2ZpeDJsb25nKHgpOw0KICAgICAgfCAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+DQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRl cm5hbC9hcml0aG1ldGljL2xvbmcuaDogSW4gZnVuY3Rpb24g4oCYcmJfdWxvbmcybnVtX2lubGlu ZeKAmToNCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL2FyaXRobWV0aWMv bG9uZy5oOjMyNjoyODogd2FybmluZzogY29udmVyc2lvbiB0byDigJhsb25nIGludOKAmSBmcm9t IOKAmGxvbmcgdW5zaWduZWQgaW504oCZIG1heSBjaGFuZ2UgdGhlIHNpZ24gb2YgdGhlIHJlc3Vs dCBbLVdzaWduLWNvbnZlcnNpb25dDQogIDMyNiB8ICAgICAgICAgcmV0dXJuIFJCX0xPTkcyRklY KHYpOw0KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBeDQouLi4vaW5jbHVkZS9y dWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9hcml0aG1ldGljL2xvbmdfbG9uZy5oOiBJbiBmdW5j dGlvbiDigJhyYl9udW0ydWxsX2lubGluZeKAmToNCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9y dWJ5L2ludGVybmFsL2FyaXRobWV0aWMvbG9uZy5oOjUzOjIyOiB3YXJuaW5nOiBjb252ZXJzaW9u IHRvIOKAmGxvbmcgbG9uZyB1bnNpZ25lZCBpbnTigJkgZnJvbSDigJhsb25nIGludOKAmSBtYXkg Y2hhbmdlIHRoZSBzaWduIG9mIHRoZSByZXN1bHQgWy1Xc2lnbi1jb252ZXJzaW9uXQ0KICAgNTMg fCAjZGVmaW5lIFJCX0ZJWDJMT05HICByYl9maXgybG9uZyAgICAgICAgICAvKio8IEBhbGlhc3ty Yl9maXgybG9uZ30gKi8NCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL2Fy aXRobWV0aWMvbG9uZ19sb25nLmg6MTMwOjE2OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g 4oCYUkJfRklYMkxPTkfigJkNCiAgMTMwIHwgICAgICAgICByZXR1cm4gUkJfRklYMkxPTkcoeCk7 DQogICAgICB8ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+DQpJbiBmaWxlIGluY2x1ZGVkIGZy b20gLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvYXJpdGhtZXRpYy5oOjM3 Og0KLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvYXJpdGhtZXRpYy9zdF9k YXRhX3QuaDogSW4gZnVuY3Rpb24g4oCYUkJfU1QyRklY4oCZOg0KLi4uL2luY2x1ZGUvcnVieS0z LjQuMCswL3J1YnkvaW50ZXJuYWwvYXJpdGhtZXRpYy9zdF9kYXRhX3QuaDo2MToyMjogd2Fybmlu ZzogY29udmVyc2lvbiB0byDigJhsb25nIGludOKAmSBmcm9tIOKAmHN0X2RhdGFfdOKAmSB7YWth IOKAmGxvbmcgdW5zaWduZWQgaW504oCZfSBtYXkgY2hhbmdlIHRoZSBzaWduIG9mIHRoZSByZXN1 bHQgWy1Xc2lnbi1jb252ZXJzaW9uXQ0KICAgNjEgfCAgICAgU0lHTkVEX1ZBTFVFIHggPSBpOw0K ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICBeDQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAv cnVieS9pbnRlcm5hbC9hcml0aG1ldGljL3N0X2RhdGFfdC5oOjcyOjI0OiB3YXJuaW5nOiBjb252 ZXJzaW9uIHRvIOKAmGxvbmcgaW504oCZIGZyb20g4oCYbG9uZyB1bnNpZ25lZCBpbnTigJkgbWF5 IGNoYW5nZSB0aGUgc2lnbiBvZiB0aGUgcmVzdWx0IFstV3NpZ24tY29udmVyc2lvbl0NCiAgIDcy IHwgICAgIHJldHVybiBSQl9MT05HMkZJWCh5KTsNCiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICBeDQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1 YnkvcnVieS5oOjQyOg0KLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvbWVt b3J5Lmg6IEluIGZ1bmN0aW9uIOKAmHJiX2FsbG9jX3RtcF9idWZmZXIy4oCZOg0KLi4uL2luY2x1 ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvbWVtb3J5Lmg6NjQ2OjU2OiB3YXJuaW5nOiBj b252ZXJzaW9uIHRvIOKAmHNpemVfdOKAmSB7YWthIOKAmGxvbmcgdW5zaWduZWQgaW504oCZfSBm cm9tIOKAmGxvbmcgaW504oCZIG1heSBjaGFuZ2UgdGhlIHNpZ24gb2YgdGhlIHJlc3VsdCBbLVdz aWduLWNvbnZlcnNpb25dDQogIDY0NiB8ICAgICBjb25zdCBzaXplX3QgdG90YWxfc2l6ZSA9IHJi aW1wbF9zaXplX211bF9vcl9yYWlzZShjb3VudCwgZWxzaXplKTsNCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+DQpJbiBm aWxlIGluY2x1ZGVkIGZyb20gLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwv ZW5jb2RpbmcvY3R5cGUuaDoyNywNCiAgICAgICAgICAgICAgICAgZnJvbSAuLi4vaW5jbHVkZS9y dWJ5LTMuNC4wKzAvcnVieS9lbmNvZGluZy5oOjIyLA0KICAgICAgICAgICAgICAgICBmcm9tIC4u Ly4uLy4uLy4uL2V4dC9ub2tvZ2lyaS9ub2tvZ2lyaS5oOjc5Og0KLi4uL2luY2x1ZGUvcnVieS0z LjQuMCswL3J1YnkvaW50ZXJuYWwvZW5jb2RpbmcvZW5jb2RpbmcuaDogSW4gZnVuY3Rpb24g4oCY UkJfRU5DT0RJTkdfU0VUX0lOTElORUTigJk6DQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVi eS9pbnRlcm5hbC9lbmNvZGluZy9lbmNvZGluZy5oOjgzOjI4OiB3YXJuaW5nOiBjb252ZXJzaW9u IHRvIOKAmFZBTFVF4oCZIHtha2Eg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJl9IGZyb20g4oCYaW50 4oCZIG1heSBjaGFuZ2UgdGhlIHNpZ24gb2YgdGhlIHJlc3VsdCBbLVdzaWduLWNvbnZlcnNpb25d DQogICA4MyB8ICAgICBWQUxVRSBmID0gLyogdXBjYXN0ICovIGVuY2luZGV4Ow0KICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fg0KYGBgDQoNCkNvbXBpbGluZyBhbGwg MzUgZmlsZXMgaW4gTm9rb2dpcmkncyBDIGV4dGVuc2lvbiBtZWFucyB0aGVzZSB3YXJuaW5ncyBh cmUgcmVwZWF0ZWQgYW5vdGhlciAzNCB0aW1lcyBpbiBhIGZ1bGwgYnVpbGQuIFRoaXMgbWFrZXMg aXQgZGlmZmljdWx0IHRvIHNlZSBhbnkgY29udmVyc2lvbiBlcnJvcnMgaW4gbXkgb3duIGNvZGUu DQoNCkknbSBhYm91dCB0byBvcGVuIGEgcHVsbCByZXF1ZXN0IHdoaWNoIGFkZHMgY2FzdHMgd2hl cmUgdGhlcmUgYXJlIGludGVudGlvbmFsLCBrbm93bi1zYWZlIGludGVnZXIgY29udmVyc2lvbnMg b2NjdXJyaW5nIHRoYXQgYXJlIHRyaWdnZXJpbmcgdGhlc2Ugd2FybmluZ3MuDQoNCklmIG1lcmdl ZCwgdGhlbiBDIGV4dGVuc2lvbiBvd25lcnMgY2FuIGFkZCB0aGlzIHRvIHRoZWlyIGBleHRjb25m LnJiYDoNCg0KYGBgDQphcHBlbmRfY2ZsYWdzKCItV2NvbnZlcnNpb24iKQ0KYGBgDQoNCmFuZCB0 aGVuIGFueSB3YXJuaW5ncyBnZW5lcmF0ZWQgYXJlIGZyb20gdGhlIEMgZXh0ZW5zaW9uIGNvZGUs IGFuZCBub3QgZnJvbSBSdWJ5J3MgaGVhZGVyIGZpbGVzLg0KDQoNCg0KDQotLSANCmh0dHBzOi8v YnVncy5ydWJ5LWxhbmcub3JnLw0KIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KIHJ1YnktY29yZSBtYWlsaW5nIGxpc3QgLS0gcnVieS1jb3JlQG1sLnJ1Ynkt bGFuZy5vcmcKIFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gcnVieS1jb3JlLWxlYXZl QG1sLnJ1YnktbGFuZy5vcmcKIHJ1YnktY29yZSBpbmZvIC0tIGh0dHBzOi8vbWwucnVieS1sYW5n Lm9yZy9tYWlsbWFuMy9wb3N0b3JpdXMvbGlzdHMvcnVieS1jb3JlLm1sLnJ1YnktbGFuZy5vcmcv