[ruby-core:118008] [Ruby master Misc#20507] Allow C extensions to be compiled cleanly with the `-Wsign-conversion` warning option
From:
"mdalessio (Mike Dalessio) via ruby-core" <ruby-core@...>
Date:
2024-05-24 19:52:09 UTC
List:
ruby-core #118008
SXNzdWUgIzIwNTA3IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWRhbGVzc2lvIChNaWtlIERhbGVzc2lv KS4NCg0KDQpQdWxsIHJlcXVlc3QgaXMgaHR0cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9wdWxs LzEwODQzDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCk1pc2Mg IzIwNTA3OiBBbGxvdyBDIGV4dGVuc2lvbnMgdG8gYmUgY29tcGlsZWQgY2xlYW5seSB3aXRoIHRo ZSBgLVdzaWduLWNvbnZlcnNpb25gIHdhcm5pbmcgb3B0aW9uDQpodHRwczovL2J1Z3MucnVieS1s YW5nLm9yZy9pc3N1ZXMvMjA1MDcjY2hhbmdlLTEwODQyOQ0KDQoqIEF1dGhvcjogbWRhbGVzc2lv IChNaWtlIERhbGVzc2lvKQ0KKiBTdGF0dXM6IE9wZW4NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkFzIGEgbWFpbnRhaW5lciBvZiBzZXZlcmFsIEMgZXh0ZW5zaW9u cywgSSBsaWtlIHRvIGNvbXBpbGUgbXkgY29kZSB3aXRoIHNvbWUgb2YgdGhlIGNvbW1vbiBbV2Fy bmluZyBPcHRpb25zXShodHRwczovL2djYy5nbnUub3JnL29ubGluZWRvY3MvZ2NjL1dhcm5pbmct T3B0aW9ucy5odG1sKSB0byBoZWxwIG1haW50YWluIGNvZGUgcXVhbGl0eSBhbmQgc2FmZXR5Lg0K DQpPbmUgb2YgdGhlIG9wdGlvbnMgdGhhdCBpcyBjdXJyZW50bHkgdmVyeSBkaWZmaWN1bHQgdG8g dXNlIGlzIGAtV3NpZ24tY29udmVyc2lvbmAsIGJlY2F1c2Ugc29tZSBvZiB0aGUgUnVieSBwdWJs aWMgaGVhZGVyIGZpbGVzIGNvbnRhaW4gY29kZSB0aGF0IHdpbGwgZ2VuZXJhdGUgd2FybmluZ3Mu IFNvIG1hbnkgd2FybmluZ3MgYXJlIHByaW50ZWQgd2hlbiBjb21waWxpbmcgYWdhaW5zdCBSdWJ5 J3MgaGVhZGVyIGZpbGVzIHRoYXQgaXQncyBoYXJkIHRvIHNlZSBhbnkgd2FybmluZ3MgZnJvbSBt eSBjb2RlLg0KDQpBcyBhbiBleGFtcGxlLCBjb21waWxpbmcganVzdCBvbmUgZmlsZSBpbiBOb2tv Z2lyaSB3aXRoIHRoaXMgZmxhZyBlbmFibGVkIHdpbGwgcHJpbnQ6DQoNCmBgYA0KLi4uL2luY2x1 ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvc3BlY2lhbF9jb25zdHMuaDogSW4gZnVuY3Rp b24g4oCYUkJfVEVTVOKAmToNCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFs L3NwZWNpYWxfY29uc3RzLmg6MTU5OjE2OiB3YXJuaW5nOiB1bnNpZ25lZCBjb252ZXJzaW9uIGZy b20g4oCYaW504oCZIHRvIOKAmFZBTFVF4oCZIHtha2Eg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJl9 IGNoYW5nZXMgdmFsdWUgZnJvbSDigJgtNeKAmSB0byDigJgxODQ0Njc0NDA3MzcwOTU1MTYxMeKA mSBbLVdzaWduLWNvbnZlcnNpb25dDQogIDE1OSB8ICAgICByZXR1cm4gb2JqICYgflJVQllfUW5p bDsNCiAgICAgIHwgICAgICAgICAgICAgICAgXg0KLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1 YnkvaW50ZXJuYWwvc3BlY2lhbF9jb25zdHMuaDogSW4gZnVuY3Rpb24g4oCYUkJfTklMX09SX1VO REVGX1DigJk6DQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9zcGVjaWFs X2NvbnN0cy5oOjIyOToyNDogd2FybmluZzogdW5zaWduZWQgY29udmVyc2lvbiBmcm9tIOKAmGlu dOKAmSB0byDigJhWQUxVReKAmSB7YWthIOKAmGNvbnN0IGxvbmcgdW5zaWduZWQgaW504oCZfSBj aGFuZ2VzIHZhbHVlIGZyb20g4oCYLTMz4oCZIHRvIOKAmDE4NDQ2NzQ0MDczNzA5NTUxNTgz4oCZ IFstV3NpZ24tY29udmVyc2lvbl0NCiAgMjI5IHwgICAgIGNvbnN0IFZBTFVFIG1hc2sgPSB+KFJV QllfUXVuZGVmIF4gUlVCWV9RbmlsKTsNCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICBe DQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9hcml0aG1ldGljL2xvbmcu aDogSW4gZnVuY3Rpb24g4oCYUkJfSU5UMkZJWOKAmToNCi4uLi9pbmNsdWRlL3J1YnktMy40LjAr MC9ydWJ5L2ludGVybmFsL2FyaXRobWV0aWMvbG9uZy5oOjExNzoyOTogd2FybmluZzogY29udmVy c2lvbiB0byDigJhsb25nIHVuc2lnbmVkIGludOKAmSBmcm9tIOKAmGxvbmcgaW504oCZIG1heSBj aGFuZ2UgdGhlIHNpZ24gb2YgdGhlIHJlc3VsdCBbLVdzaWduLWNvbnZlcnNpb25dDQogIDExNyB8 ICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGogPSBpOw0KICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXg0KLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvYXJp dGhtZXRpYy9sb25nLmg6MTE5OjI5OiB3YXJuaW5nOiBjb252ZXJzaW9uIHRvIOKAmGxvbmcgaW50 4oCZIGZyb20g4oCYbG9uZyB1bnNpZ25lZCBpbnTigJkgbWF5IGNoYW5nZSB0aGUgc2lnbiBvZiB0 aGUgcmVzdWx0IFstV3NpZ24tY29udmVyc2lvbl0NCiAgMTE5IHwgICAgIGNvbnN0IGxvbmcgICAg ICAgICAgbCA9IGs7DQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeDQouLi4v aW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9hcml0aG1ldGljL2xvbmcuaDoxMjE6 Mjk6IHdhcm5pbmc6IGNvbnZlcnNpb24gdG8g4oCYVkFMVUXigJkge2FrYSDigJhjb25zdCBsb25n IHVuc2lnbmVkIGludOKAmX0gZnJvbSDigJhsb25nIGludOKAmSBtYXkgY2hhbmdlIHRoZSBzaWdu IG9mIHRoZSByZXN1bHQgWy1Xc2lnbi1jb252ZXJzaW9uXQ0KICAxMjEgfCAgICAgY29uc3QgVkFM VUUgICAgICAgICBuID0gbTsNCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4N Ci4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL2FyaXRobWV0aWMvbG9uZy5o OiBJbiBmdW5jdGlvbiDigJhyYmltcGxfZml4MmxvbmdfYnlfaWRpduKAmToNCi4uLi9pbmNsdWRl L3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL2FyaXRobWV0aWMvbG9uZy5oOjE2OToyODogd2Fy bmluZzogY29udmVyc2lvbiB0byDigJhsb25nIGludOKAmSBmcm9tIOKAmFZBTFVF4oCZIHtha2Eg 4oCYbG9uZyB1bnNpZ25lZCBpbnTigJl9IG1heSBjaGFuZ2UgdGhlIHNpZ24gb2YgdGhlIHJlc3Vs dCBbLVdzaWduLWNvbnZlcnNpb25dDQogIDE2OSB8ICAgICBjb25zdCBTSUdORURfVkFMVUUgeSA9 IHggLSBSVUJZX0ZJWE5VTV9GTEFHOw0KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeDQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9hcml0aG1ldGljL2xv bmcuaDogSW4gZnVuY3Rpb24g4oCYcmJpbXBsX2ZpeDJsb25nX2J5X3NoaWZ04oCZOg0KLi4uL2lu Y2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvYXJpdGhtZXRpYy9sb25nLmg6MTk2OjI4 OiB3YXJuaW5nOiBjb252ZXJzaW9uIHRvIOKAmGxvbmcgaW504oCZIGZyb20g4oCYVkFMVUXigJkg e2FrYSDigJhsb25nIHVuc2lnbmVkIGludOKAmX0gbWF5IGNoYW5nZSB0aGUgc2lnbiBvZiB0aGUg cmVzdWx0IFstV3NpZ24tY29udmVyc2lvbl0NCiAgMTk2IHwgICAgIGNvbnN0IFNJR05FRF9WQUxV RSB5ID0geDsNCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXg0KLi4uL2luY2x1 ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvYXJpdGhtZXRpYy9sb25nLmg6IEluIGZ1bmN0 aW9uIOKAmHJiX2ZpeDJ1bG9uZ+KAmToNCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2lu dGVybmFsL2FyaXRobWV0aWMvbG9uZy5oOjI1NToxMjogd2FybmluZzogY29udmVyc2lvbiB0byDi gJhsb25nIHVuc2lnbmVkIGludOKAmSBmcm9tIOKAmGxvbmcgaW504oCZIG1heSBjaGFuZ2UgdGhl IHNpZ24gb2YgdGhlIHJlc3VsdCBbLVdzaWduLWNvbnZlcnNpb25dDQogIDI1NSB8ICAgICByZXR1 cm4gcmJfZml4MmxvbmcoeCk7DQogICAgICB8ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4NCi4u Li9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL2FyaXRobWV0aWMvbG9uZy5oOiBJ biBmdW5jdGlvbiDigJhyYl91bG9uZzJudW1faW5saW5l4oCZOg0KLi4uL2luY2x1ZGUvcnVieS0z LjQuMCswL3J1YnkvaW50ZXJuYWwvYXJpdGhtZXRpYy9sb25nLmg6MzI2OjI4OiB3YXJuaW5nOiBj b252ZXJzaW9uIHRvIOKAmGxvbmcgaW504oCZIGZyb20g4oCYbG9uZyB1bnNpZ25lZCBpbnTigJkg bWF5IGNoYW5nZSB0aGUgc2lnbiBvZiB0aGUgcmVzdWx0IFstV3NpZ24tY29udmVyc2lvbl0NCiAg MzI2IHwgICAgICAgICByZXR1cm4gUkJfTE9ORzJGSVgodik7DQogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4NCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFs L2FyaXRobWV0aWMvbG9uZ19sb25nLmg6IEluIGZ1bmN0aW9uIOKAmHJiX251bTJ1bGxfaW5saW5l 4oCZOg0KLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvYXJpdGhtZXRpYy9s b25nLmg6NTM6MjI6IHdhcm5pbmc6IGNvbnZlcnNpb24gdG8g4oCYbG9uZyBsb25nIHVuc2lnbmVk IGludOKAmSBmcm9tIOKAmGxvbmcgaW504oCZIG1heSBjaGFuZ2UgdGhlIHNpZ24gb2YgdGhlIHJl c3VsdCBbLVdzaWduLWNvbnZlcnNpb25dDQogICA1MyB8ICNkZWZpbmUgUkJfRklYMkxPTkcgIHJi X2ZpeDJsb25nICAgICAgICAgIC8qKjwgQGFsaWFze3JiX2ZpeDJsb25nfSAqLw0KLi4uL2luY2x1 ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvYXJpdGhtZXRpYy9sb25nX2xvbmcuaDoxMzA6 MTY6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSQl9GSVgyTE9OR+KAmQ0KICAxMzAg fCAgICAgICAgIHJldHVybiBSQl9GSVgyTE9ORyh4KTsNCiAgICAgIHwgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn4NCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi4vaW5jbHVkZS9ydWJ5LTMuNC4w KzAvcnVieS9pbnRlcm5hbC9hcml0aG1ldGljLmg6Mzc6DQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4w KzAvcnVieS9pbnRlcm5hbC9hcml0aG1ldGljL3N0X2RhdGFfdC5oOiBJbiBmdW5jdGlvbiDigJhS Ql9TVDJGSVjigJk6DQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9hcml0 aG1ldGljL3N0X2RhdGFfdC5oOjYxOjIyOiB3YXJuaW5nOiBjb252ZXJzaW9uIHRvIOKAmGxvbmcg aW504oCZIGZyb20g4oCYc3RfZGF0YV904oCZIHtha2Eg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJl9 IG1heSBjaGFuZ2UgdGhlIHNpZ24gb2YgdGhlIHJlc3VsdCBbLVdzaWduLWNvbnZlcnNpb25dDQog ICA2MSB8ICAgICBTSUdORURfVkFMVUUgeCA9IGk7DQogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgIF4NCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL2FyaXRobWV0aWMv c3RfZGF0YV90Lmg6NzI6MjQ6IHdhcm5pbmc6IGNvbnZlcnNpb24gdG8g4oCYbG9uZyBpbnTigJkg ZnJvbSDigJhsb25nIHVuc2lnbmVkIGludOKAmSBtYXkgY2hhbmdlIHRoZSBzaWduIG9mIHRoZSBy ZXN1bHQgWy1Xc2lnbi1jb252ZXJzaW9uXQ0KICAgNzIgfCAgICAgcmV0dXJuIFJCX0xPTkcyRklY KHkpOw0KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIF4NCkluIGZpbGUgaW5jbHVkZWQg ZnJvbSAuLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9ydWJ5Lmg6NDI6DQouLi4vaW5jbHVk ZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9tZW1vcnkuaDogSW4gZnVuY3Rpb24g4oCYcmJf YWxsb2NfdG1wX2J1ZmZlcjLigJk6DQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRl cm5hbC9tZW1vcnkuaDo2NDY6NTY6IHdhcm5pbmc6IGNvbnZlcnNpb24gdG8g4oCYc2l6ZV904oCZ IHtha2Eg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJl9IGZyb20g4oCYbG9uZyBpbnTigJkgbWF5IGNo YW5nZSB0aGUgc2lnbiBvZiB0aGUgcmVzdWx0IFstV3NpZ24tY29udmVyc2lvbl0NCiAgNjQ2IHwg ICAgIGNvbnN0IHNpemVfdCB0b3RhbF9zaXplID0gcmJpbXBsX3NpemVfbXVsX29yX3JhaXNlKGNv dW50LCBlbHNpemUpOw0KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn4NCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi4vaW5j bHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9lbmNvZGluZy9jdHlwZS5oOjI3LA0KICAg ICAgICAgICAgICAgICBmcm9tIC4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2VuY29kaW5n Lmg6MjIsDQogICAgICAgICAgICAgICAgIGZyb20gLi4vLi4vLi4vLi4vZXh0L25va29naXJpL25v a29naXJpLmg6Nzk6DQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9lbmNv ZGluZy9lbmNvZGluZy5oOiBJbiBmdW5jdGlvbiDigJhSQl9FTkNPRElOR19TRVRfSU5MSU5FROKA mToNCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL2VuY29kaW5nL2VuY29k aW5nLmg6ODM6Mjg6IHdhcm5pbmc6IGNvbnZlcnNpb24gdG8g4oCYVkFMVUXigJkge2FrYSDigJhs b25nIHVuc2lnbmVkIGludOKAmX0gZnJvbSDigJhpbnTigJkgbWF5IGNoYW5nZSB0aGUgc2lnbiBv ZiB0aGUgcmVzdWx0IFstV3NpZ24tY29udmVyc2lvbl0NCiAgIDgzIHwgICAgIFZBTFVFIGYgPSAv KiB1cGNhc3QgKi8gZW5jaW5kZXg7DQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+DQpgYGANCg0KQ29tcGlsaW5nIGFsbCAzNSBmaWxlcyBpbiBOb2tvZ2lyaSdzIEMg ZXh0ZW5zaW9uIG1lYW5zIHRoZXNlIHdhcm5pbmdzIGFyZSByZXBlYXRlZCBhbm90aGVyIDM0IHRp bWVzIGluIGEgZnVsbCBidWlsZC4gVGhpcyBtYWtlcyBpdCBkaWZmaWN1bHQgdG8gc2VlIGFueSBj b252ZXJzaW9uIGVycm9ycyBpbiBteSBvd24gY29kZS4NCg0KSSdtIGFib3V0IHRvIG9wZW4gYSBw dWxsIHJlcXVlc3Qgd2hpY2ggYWRkcyBjYXN0cyB3aGVyZSB0aGVyZSBhcmUgaW50ZW50aW9uYWws IGtub3duLXNhZmUgaW50ZWdlciBjb252ZXJzaW9ucyBvY2N1cnJpbmcgdGhhdCBhcmUgdHJpZ2dl cmluZyB0aGVzZSB3YXJuaW5ncy4NCg0KSWYgbWVyZ2VkLCB0aGVuIEMgZXh0ZW5zaW9uIG93bmVy cyBjYW4gYWRkIHRoaXMgdG8gdGhlaXIgYGV4dGNvbmYucmJgOg0KDQpgYGANCmFwcGVuZF9jZmxh Z3MoIi1XY29udmVyc2lvbiIpDQpgYGANCg0KYW5kIHRoZW4gYW55IHdhcm5pbmdzIGdlbmVyYXRl ZCBhcmUgZnJvbSB0aGUgQyBleHRlbnNpb24gY29kZSwgYW5kIG5vdCBmcm9tIFJ1YnkncyBoZWFk ZXIgZmlsZXMuDQoNCg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQogX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwogcnVieS1jb3JlIG1h aWxpbmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwucnVieS1sYW5nLm9yZwogVG8gdW5zdWJzY3JpYmUg c2VuZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUtbGVhdmVAbWwucnVieS1sYW5nLm9yZwogcnVieS1j b3JlIGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5LWxhbmcub3JnL21haWxtYW4zL3Bvc3Rvcml1cy9s aXN0cy9ydWJ5LWNvcmUubWwucnVieS1sYW5nLm9yZy8=