[ruby-core:118025] [Ruby master Misc#20507] Allow C extensions to be compiled cleanly with the `-Wsign-conversion` warning option
From:
"shyouhei (Shyouhei Urabe) via ruby-core" <ruby-core@...>
Date:
2024-05-27 03:20:24 UTC
List:
ruby-core #118025
SXNzdWUgIzIwNTA3IGhhcyBiZWVuIHVwZGF0ZWQgYnkgc2h5b3VoZWkgKFNoeW91aGVpIFVyYWJl KS4NCg0KDQpOZWVkZWQuICBUaGUgcHVsbCByZXF1ZXN0IG5lZWRzIGFuIGFwcHJvdmFsIGJlZm9y ZSBtZXJnZWQuDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCk1p c2MgIzIwNTA3OiBBbGxvdyBDIGV4dGVuc2lvbnMgdG8gYmUgY29tcGlsZWQgY2xlYW5seSB3aXRo IHRoZSBgLVdzaWduLWNvbnZlcnNpb25gIHdhcm5pbmcgb3B0aW9uDQpodHRwczovL2J1Z3MucnVi eS1sYW5nLm9yZy9pc3N1ZXMvMjA1MDcjY2hhbmdlLTEwODQ0NA0KDQoqIEF1dGhvcjogbWRhbGVz c2lvIChNaWtlIERhbGVzc2lvKQ0KKiBTdGF0dXM6IE9wZW4NCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0NCkFzIGEgbWFpbnRhaW5lciBvZiBzZXZlcmFsIEMgZXh0ZW5z aW9ucywgSSBsaWtlIHRvIGNvbXBpbGUgbXkgY29kZSB3aXRoIHNvbWUgb2YgdGhlIGNvbW1vbiBb V2FybmluZyBPcHRpb25zXShodHRwczovL2djYy5nbnUub3JnL29ubGluZWRvY3MvZ2NjL1dhcm5p bmctT3B0aW9ucy5odG1sKSB0byBoZWxwIG1haW50YWluIGNvZGUgcXVhbGl0eSBhbmQgc2FmZXR5 Lg0KDQpPbmUgb2YgdGhlIG9wdGlvbnMgdGhhdCBpcyBjdXJyZW50bHkgdmVyeSBkaWZmaWN1bHQg dG8gdXNlIGlzIGAtV3NpZ24tY29udmVyc2lvbmAsIGJlY2F1c2Ugc29tZSBvZiB0aGUgUnVieSBw dWJsaWMgaGVhZGVyIGZpbGVzIGNvbnRhaW4gY29kZSB0aGF0IHdpbGwgZ2VuZXJhdGUgd2Fybmlu Z3MuIFNvIG1hbnkgd2FybmluZ3MgYXJlIHByaW50ZWQgd2hlbiBjb21waWxpbmcgYWdhaW5zdCBS dWJ5J3MgaGVhZGVyIGZpbGVzIHRoYXQgaXQncyBoYXJkIHRvIHNlZSBhbnkgd2FybmluZ3MgZnJv bSBteSBjb2RlLg0KDQpBcyBhbiBleGFtcGxlLCBjb21waWxpbmcganVzdCBvbmUgZmlsZSBpbiBO b2tvZ2lyaSB3aXRoIHRoaXMgZmxhZyBlbmFibGVkIHdpbGwgcHJpbnQ6DQoNCmBgYA0KLi4uL2lu Y2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvc3BlY2lhbF9jb25zdHMuaDogSW4gZnVu Y3Rpb24g4oCYUkJfVEVTVOKAmToNCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVy bmFsL3NwZWNpYWxfY29uc3RzLmg6MTU5OjE2OiB3YXJuaW5nOiB1bnNpZ25lZCBjb252ZXJzaW9u IGZyb20g4oCYaW504oCZIHRvIOKAmFZBTFVF4oCZIHtha2Eg4oCYbG9uZyB1bnNpZ25lZCBpbnTi gJl9IGNoYW5nZXMgdmFsdWUgZnJvbSDigJgtNeKAmSB0byDigJgxODQ0Njc0NDA3MzcwOTU1MTYx MeKAmSBbLVdzaWduLWNvbnZlcnNpb25dDQogIDE1OSB8ICAgICByZXR1cm4gb2JqICYgflJVQllf UW5pbDsNCiAgICAgIHwgICAgICAgICAgICAgICAgXg0KLi4uL2luY2x1ZGUvcnVieS0zLjQuMCsw L3J1YnkvaW50ZXJuYWwvc3BlY2lhbF9jb25zdHMuaDogSW4gZnVuY3Rpb24g4oCYUkJfTklMX09S X1VOREVGX1DigJk6DQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9zcGVj aWFsX2NvbnN0cy5oOjIyOToyNDogd2FybmluZzogdW5zaWduZWQgY29udmVyc2lvbiBmcm9tIOKA mGludOKAmSB0byDigJhWQUxVReKAmSB7YWthIOKAmGNvbnN0IGxvbmcgdW5zaWduZWQgaW504oCZ fSBjaGFuZ2VzIHZhbHVlIGZyb20g4oCYLTMz4oCZIHRvIOKAmDE4NDQ2NzQ0MDczNzA5NTUxNTgz 4oCZIFstV3NpZ24tY29udmVyc2lvbl0NCiAgMjI5IHwgICAgIGNvbnN0IFZBTFVFIG1hc2sgPSB+ KFJVQllfUXVuZGVmIF4gUlVCWV9RbmlsKTsNCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICBeDQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9hcml0aG1ldGljL2xv bmcuaDogSW4gZnVuY3Rpb24g4oCYUkJfSU5UMkZJWOKAmToNCi4uLi9pbmNsdWRlL3J1YnktMy40 LjArMC9ydWJ5L2ludGVybmFsL2FyaXRobWV0aWMvbG9uZy5oOjExNzoyOTogd2FybmluZzogY29u dmVyc2lvbiB0byDigJhsb25nIHVuc2lnbmVkIGludOKAmSBmcm9tIOKAmGxvbmcgaW504oCZIG1h eSBjaGFuZ2UgdGhlIHNpZ24gb2YgdGhlIHJlc3VsdCBbLVdzaWduLWNvbnZlcnNpb25dDQogIDEx NyB8ICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGogPSBpOw0KICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXg0KLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwv YXJpdGhtZXRpYy9sb25nLmg6MTE5OjI5OiB3YXJuaW5nOiBjb252ZXJzaW9uIHRvIOKAmGxvbmcg aW504oCZIGZyb20g4oCYbG9uZyB1bnNpZ25lZCBpbnTigJkgbWF5IGNoYW5nZSB0aGUgc2lnbiBv ZiB0aGUgcmVzdWx0IFstV3NpZ24tY29udmVyc2lvbl0NCiAgMTE5IHwgICAgIGNvbnN0IGxvbmcg ICAgICAgICAgbCA9IGs7DQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeDQou Li4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9hcml0aG1ldGljL2xvbmcuaDox MjE6Mjk6IHdhcm5pbmc6IGNvbnZlcnNpb24gdG8g4oCYVkFMVUXigJkge2FrYSDigJhjb25zdCBs b25nIHVuc2lnbmVkIGludOKAmX0gZnJvbSDigJhsb25nIGludOKAmSBtYXkgY2hhbmdlIHRoZSBz aWduIG9mIHRoZSByZXN1bHQgWy1Xc2lnbi1jb252ZXJzaW9uXQ0KICAxMjEgfCAgICAgY29uc3Qg VkFMVUUgICAgICAgICBuID0gbTsNCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4NCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL2FyaXRobWV0aWMvbG9u Zy5oOiBJbiBmdW5jdGlvbiDigJhyYmltcGxfZml4MmxvbmdfYnlfaWRpduKAmToNCi4uLi9pbmNs dWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL2FyaXRobWV0aWMvbG9uZy5oOjE2OToyODog d2FybmluZzogY29udmVyc2lvbiB0byDigJhsb25nIGludOKAmSBmcm9tIOKAmFZBTFVF4oCZIHth a2Eg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJl9IG1heSBjaGFuZ2UgdGhlIHNpZ24gb2YgdGhlIHJl c3VsdCBbLVdzaWduLWNvbnZlcnNpb25dDQogIDE2OSB8ICAgICBjb25zdCBTSUdORURfVkFMVUUg eSA9IHggLSBSVUJZX0ZJWE5VTV9GTEFHOw0KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeDQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9hcml0aG1ldGlj L2xvbmcuaDogSW4gZnVuY3Rpb24g4oCYcmJpbXBsX2ZpeDJsb25nX2J5X3NoaWZ04oCZOg0KLi4u L2luY2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvYXJpdGhtZXRpYy9sb25nLmg6MTk2 OjI4OiB3YXJuaW5nOiBjb252ZXJzaW9uIHRvIOKAmGxvbmcgaW504oCZIGZyb20g4oCYVkFMVUXi gJkge2FrYSDigJhsb25nIHVuc2lnbmVkIGludOKAmX0gbWF5IGNoYW5nZSB0aGUgc2lnbiBvZiB0 aGUgcmVzdWx0IFstV3NpZ24tY29udmVyc2lvbl0NCiAgMTk2IHwgICAgIGNvbnN0IFNJR05FRF9W QUxVRSB5ID0geDsNCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXg0KLi4uL2lu Y2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvYXJpdGhtZXRpYy9sb25nLmg6IEluIGZ1 bmN0aW9uIOKAmHJiX2ZpeDJ1bG9uZ+KAmToNCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5 L2ludGVybmFsL2FyaXRobWV0aWMvbG9uZy5oOjI1NToxMjogd2FybmluZzogY29udmVyc2lvbiB0 byDigJhsb25nIHVuc2lnbmVkIGludOKAmSBmcm9tIOKAmGxvbmcgaW504oCZIG1heSBjaGFuZ2Ug dGhlIHNpZ24gb2YgdGhlIHJlc3VsdCBbLVdzaWduLWNvbnZlcnNpb25dDQogIDI1NSB8ICAgICBy ZXR1cm4gcmJfZml4MmxvbmcoeCk7DQogICAgICB8ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4N Ci4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL2FyaXRobWV0aWMvbG9uZy5o OiBJbiBmdW5jdGlvbiDigJhyYl91bG9uZzJudW1faW5saW5l4oCZOg0KLi4uL2luY2x1ZGUvcnVi eS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvYXJpdGhtZXRpYy9sb25nLmg6MzI2OjI4OiB3YXJuaW5n OiBjb252ZXJzaW9uIHRvIOKAmGxvbmcgaW504oCZIGZyb20g4oCYbG9uZyB1bnNpZ25lZCBpbnTi gJkgbWF5IGNoYW5nZSB0aGUgc2lnbiBvZiB0aGUgcmVzdWx0IFstV3NpZ24tY29udmVyc2lvbl0N CiAgMzI2IHwgICAgICAgICByZXR1cm4gUkJfTE9ORzJGSVgodik7DQogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4NCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVy bmFsL2FyaXRobWV0aWMvbG9uZ19sb25nLmg6IEluIGZ1bmN0aW9uIOKAmHJiX251bTJ1bGxfaW5s aW5l4oCZOg0KLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvYXJpdGhtZXRp Yy9sb25nLmg6NTM6MjI6IHdhcm5pbmc6IGNvbnZlcnNpb24gdG8g4oCYbG9uZyBsb25nIHVuc2ln bmVkIGludOKAmSBmcm9tIOKAmGxvbmcgaW504oCZIG1heSBjaGFuZ2UgdGhlIHNpZ24gb2YgdGhl IHJlc3VsdCBbLVdzaWduLWNvbnZlcnNpb25dDQogICA1MyB8ICNkZWZpbmUgUkJfRklYMkxPTkcg IHJiX2ZpeDJsb25nICAgICAgICAgIC8qKjwgQGFsaWFze3JiX2ZpeDJsb25nfSAqLw0KLi4uL2lu Y2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvYXJpdGhtZXRpYy9sb25nX2xvbmcuaDox MzA6MTY6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSQl9GSVgyTE9OR+KAmQ0KICAx MzAgfCAgICAgICAgIHJldHVybiBSQl9GSVgyTE9ORyh4KTsNCiAgICAgIHwgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn4NCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi4vaW5jbHVkZS9ydWJ5LTMu NC4wKzAvcnVieS9pbnRlcm5hbC9hcml0aG1ldGljLmg6Mzc6DQouLi4vaW5jbHVkZS9ydWJ5LTMu NC4wKzAvcnVieS9pbnRlcm5hbC9hcml0aG1ldGljL3N0X2RhdGFfdC5oOiBJbiBmdW5jdGlvbiDi gJhSQl9TVDJGSVjigJk6DQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9h cml0aG1ldGljL3N0X2RhdGFfdC5oOjYxOjIyOiB3YXJuaW5nOiBjb252ZXJzaW9uIHRvIOKAmGxv bmcgaW504oCZIGZyb20g4oCYc3RfZGF0YV904oCZIHtha2Eg4oCYbG9uZyB1bnNpZ25lZCBpbnTi gJl9IG1heSBjaGFuZ2UgdGhlIHNpZ24gb2YgdGhlIHJlc3VsdCBbLVdzaWduLWNvbnZlcnNpb25d DQogICA2MSB8ICAgICBTSUdORURfVkFMVUUgeCA9IGk7DQogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgIF4NCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL2FyaXRobWV0 aWMvc3RfZGF0YV90Lmg6NzI6MjQ6IHdhcm5pbmc6IGNvbnZlcnNpb24gdG8g4oCYbG9uZyBpbnTi gJkgZnJvbSDigJhsb25nIHVuc2lnbmVkIGludOKAmSBtYXkgY2hhbmdlIHRoZSBzaWduIG9mIHRo ZSByZXN1bHQgWy1Xc2lnbi1jb252ZXJzaW9uXQ0KICAgNzIgfCAgICAgcmV0dXJuIFJCX0xPTkcy RklYKHkpOw0KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIF4NCkluIGZpbGUgaW5jbHVk ZWQgZnJvbSAuLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9ydWJ5Lmg6NDI6DQouLi4vaW5j bHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9tZW1vcnkuaDogSW4gZnVuY3Rpb24g4oCY cmJfYWxsb2NfdG1wX2J1ZmZlcjLigJk6DQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9p bnRlcm5hbC9tZW1vcnkuaDo2NDY6NTY6IHdhcm5pbmc6IGNvbnZlcnNpb24gdG8g4oCYc2l6ZV90 4oCZIHtha2Eg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJl9IGZyb20g4oCYbG9uZyBpbnTigJkgbWF5 IGNoYW5nZSB0aGUgc2lnbiBvZiB0aGUgcmVzdWx0IFstV3NpZ24tY29udmVyc2lvbl0NCiAgNjQ2 IHwgICAgIGNvbnN0IHNpemVfdCB0b3RhbF9zaXplID0gcmJpbXBsX3NpemVfbXVsX29yX3JhaXNl KGNvdW50LCBlbHNpemUpOw0KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn4NCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi4v aW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9lbmNvZGluZy9jdHlwZS5oOjI3LA0K ICAgICAgICAgICAgICAgICBmcm9tIC4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2VuY29k aW5nLmg6MjIsDQogICAgICAgICAgICAgICAgIGZyb20gLi4vLi4vLi4vLi4vZXh0L25va29naXJp L25va29naXJpLmg6Nzk6DQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9l bmNvZGluZy9lbmNvZGluZy5oOiBJbiBmdW5jdGlvbiDigJhSQl9FTkNPRElOR19TRVRfSU5MSU5F ROKAmToNCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL2VuY29kaW5nL2Vu Y29kaW5nLmg6ODM6Mjg6IHdhcm5pbmc6IGNvbnZlcnNpb24gdG8g4oCYVkFMVUXigJkge2FrYSDi gJhsb25nIHVuc2lnbmVkIGludOKAmX0gZnJvbSDigJhpbnTigJkgbWF5IGNoYW5nZSB0aGUgc2ln biBvZiB0aGUgcmVzdWx0IFstV3NpZ24tY29udmVyc2lvbl0NCiAgIDgzIHwgICAgIFZBTFVFIGYg PSAvKiB1cGNhc3QgKi8gZW5jaW5kZXg7DQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+DQpgYGANCg0KQ29tcGlsaW5nIGFsbCAzNSBmaWxlcyBpbiBOb2tvZ2lyaSdz IEMgZXh0ZW5zaW9uIG1lYW5zIHRoZXNlIHdhcm5pbmdzIGFyZSByZXBlYXRlZCBhbm90aGVyIDM0 IHRpbWVzIGluIGEgZnVsbCBidWlsZC4gVGhpcyBtYWtlcyBpdCBkaWZmaWN1bHQgdG8gc2VlIGFu eSBjb252ZXJzaW9uIGVycm9ycyBpbiBteSBvd24gY29kZS4NCg0KSSdtIGFib3V0IHRvIG9wZW4g YSBwdWxsIHJlcXVlc3Qgd2hpY2ggYWRkcyBjYXN0cyB3aGVyZSB0aGVyZSBhcmUgaW50ZW50aW9u YWwsIGtub3duLXNhZmUgaW50ZWdlciBjb252ZXJzaW9ucyBvY2N1cnJpbmcgdGhhdCBhcmUgdHJp Z2dlcmluZyB0aGVzZSB3YXJuaW5ncy4NCg0KSWYgbWVyZ2VkLCB0aGVuIEMgZXh0ZW5zaW9uIG93 bmVycyBjYW4gYWRkIHRoaXMgdG8gdGhlaXIgYGV4dGNvbmYucmJgOg0KDQpgYGANCmFwcGVuZF9j ZmxhZ3MoIi1XY29udmVyc2lvbiIpDQpgYGANCg0KYW5kIHRoZW4gYW55IHdhcm5pbmdzIGdlbmVy YXRlZCBhcmUgZnJvbSB0aGUgQyBleHRlbnNpb24gY29kZSwgYW5kIG5vdCBmcm9tIFJ1YnkncyBo ZWFkZXIgZmlsZXMuDQoNCg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQog X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwogcnVieS1jb3Jl IG1haWxpbmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwucnVieS1sYW5nLm9yZwogVG8gdW5zdWJzY3Jp YmUgc2VuZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUtbGVhdmVAbWwucnVieS1sYW5nLm9yZwogcnVi eS1jb3JlIGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5LWxhbmcub3JnL21haWxtYW4zL3Bvc3Rvcml1 cy9saXN0cy9ydWJ5LWNvcmUubWwucnVieS1sYW5nLm9yZy8=