[ruby-core:118007] [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:51:00 UTC
List:
ruby-core #118007
SXNzdWUgIzIwNTA3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IG1kYWxlc3NpbyAoTWlrZSBEYWxlc3Np bykuDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCk1pc2MgIzIw NTA3OiBBbGxvdyBDIGV4dGVuc2lvbnMgdG8gYmUgY29tcGlsZWQgY2xlYW5seSB3aXRoIHRoZSBg LVdzaWduLWNvbnZlcnNpb25gIHdhcm5pbmcgb3B0aW9uDQpodHRwczovL2J1Z3MucnVieS1sYW5n Lm9yZy9pc3N1ZXMvMjA1MDcNCg0KKiBBdXRob3I6IG1kYWxlc3NpbyAoTWlrZSBEYWxlc3NpbykN CiogU3RhdHVzOiBPcGVuDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t DQpBcyBhIG1haW50YWluZXIgb2Ygc2V2ZXJhbCBDIGV4dGVuc2lvbnMsIEkgbGlrZSB0byBjb21w aWxlIG15IGNvZGUgd2l0aCBzb21lIG9mIHRoZSBjb21tb24gW1dhcm5pbmcgT3B0aW9uc10oaHR0 cHM6Ly9nY2MuZ251Lm9yZy9vbmxpbmVkb2NzL2djYy9XYXJuaW5nLU9wdGlvbnMuaHRtbCkgdG8g aGVscCBtYWludGFpbiBjb2RlIHF1YWxpdHkgYW5kIHNhZmV0eS4NCg0KT25lIG9mIHRoZSBvcHRp b25zIHRoYXQgaXMgY3VycmVudGx5IHZlcnkgZGlmZmljdWx0IHRvIHVzZSBpcyBgLVdzaWduLWNv bnZlcnNpb25gLCBiZWNhdXNlIHNvbWUgb2YgdGhlIFJ1YnkgcHVibGljIGhlYWRlciBmaWxlcyBj b250YWluIGNvZGUgdGhhdCB3aWxsIGdlbmVyYXRlIHdhcm5pbmdzLiBTbyBtYW55IHdhcm5pbmdz IGFyZSBwcmludGVkIHdoZW4gY29tcGlsaW5nIGFnYWluc3QgUnVieSdzIGhlYWRlciBmaWxlcyB0 aGF0IGl0J3MgaGFyZCB0byBzZWUgYW55IHdhcm5pbmdzIGZyb20gbXkgY29kZS4NCg0KQXMgYW4g ZXhhbXBsZSwgY29tcGlsaW5nIGp1c3Qgb25lIGZpbGUgaW4gTm9rb2dpcmkgd2l0aCB0aGlzIGZs YWcgZW5hYmxlZCB3aWxsIHByaW50Og0KDQpgYGANCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9y dWJ5L2ludGVybmFsL3NwZWNpYWxfY29uc3RzLmg6IEluIGZ1bmN0aW9uIOKAmFJCX1RFU1TigJk6 DQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9zcGVjaWFsX2NvbnN0cy5o OjE1OToxNjogd2FybmluZzogdW5zaWduZWQgY29udmVyc2lvbiBmcm9tIOKAmGludOKAmSB0byDi gJhWQUxVReKAmSB7YWthIOKAmGxvbmcgdW5zaWduZWQgaW504oCZfSBjaGFuZ2VzIHZhbHVlIGZy b20g4oCYLTXigJkgdG8g4oCYMTg0NDY3NDQwNzM3MDk1NTE2MTHigJkgWy1Xc2lnbi1jb252ZXJz aW9uXQ0KICAxNTkgfCAgICAgcmV0dXJuIG9iaiAmIH5SVUJZX1FuaWw7DQogICAgICB8ICAgICAg ICAgICAgICAgIF4NCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL3NwZWNp YWxfY29uc3RzLmg6IEluIGZ1bmN0aW9uIOKAmFJCX05JTF9PUl9VTkRFRl9Q4oCZOg0KLi4uL2lu Y2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvc3BlY2lhbF9jb25zdHMuaDoyMjk6MjQ6 IHdhcm5pbmc6IHVuc2lnbmVkIGNvbnZlcnNpb24gZnJvbSDigJhpbnTigJkgdG8g4oCYVkFMVUXi gJkge2FrYSDigJhjb25zdCBsb25nIHVuc2lnbmVkIGludOKAmX0gY2hhbmdlcyB2YWx1ZSBmcm9t IOKAmC0zM+KAmSB0byDigJgxODQ0Njc0NDA3MzcwOTU1MTU4M+KAmSBbLVdzaWduLWNvbnZlcnNp b25dDQogIDIyOSB8ICAgICBjb25zdCBWQUxVRSBtYXNrID0gfihSVUJZX1F1bmRlZiBeIFJVQllf UW5pbCk7DQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgXg0KLi4uL2luY2x1ZGUvcnVi eS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvYXJpdGhtZXRpYy9sb25nLmg6IEluIGZ1bmN0aW9uIOKA mFJCX0lOVDJGSVjigJk6DQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9h cml0aG1ldGljL2xvbmcuaDoxMTc6Mjk6IHdhcm5pbmc6IGNvbnZlcnNpb24gdG8g4oCYbG9uZyB1 bnNpZ25lZCBpbnTigJkgZnJvbSDigJhsb25nIGludOKAmSBtYXkgY2hhbmdlIHRoZSBzaWduIG9m IHRoZSByZXN1bHQgWy1Xc2lnbi1jb252ZXJzaW9uXQ0KICAxMTcgfCAgICAgY29uc3QgdW5zaWdu ZWQgbG9uZyBqID0gaTsNCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4NCi4u Li9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL2FyaXRobWV0aWMvbG9uZy5oOjEx OToyOTogd2FybmluZzogY29udmVyc2lvbiB0byDigJhsb25nIGludOKAmSBmcm9tIOKAmGxvbmcg dW5zaWduZWQgaW504oCZIG1heSBjaGFuZ2UgdGhlIHNpZ24gb2YgdGhlIHJlc3VsdCBbLVdzaWdu LWNvbnZlcnNpb25dDQogIDExOSB8ICAgICBjb25zdCBsb25nICAgICAgICAgIGwgPSBrOw0KICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXg0KLi4uL2luY2x1ZGUvcnVieS0zLjQu MCswL3J1YnkvaW50ZXJuYWwvYXJpdGhtZXRpYy9sb25nLmg6MTIxOjI5OiB3YXJuaW5nOiBjb252 ZXJzaW9uIHRvIOKAmFZBTFVF4oCZIHtha2Eg4oCYY29uc3QgbG9uZyB1bnNpZ25lZCBpbnTigJl9 IGZyb20g4oCYbG9uZyBpbnTigJkgbWF5IGNoYW5nZSB0aGUgc2lnbiBvZiB0aGUgcmVzdWx0IFst V3NpZ24tY29udmVyc2lvbl0NCiAgMTIxIHwgICAgIGNvbnN0IFZBTFVFICAgICAgICAgbiA9IG07 DQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeDQouLi4vaW5jbHVkZS9ydWJ5 LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9hcml0aG1ldGljL2xvbmcuaDogSW4gZnVuY3Rpb24g4oCY cmJpbXBsX2ZpeDJsb25nX2J5X2lkaXbigJk6DQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVi eS9pbnRlcm5hbC9hcml0aG1ldGljL2xvbmcuaDoxNjk6Mjg6IHdhcm5pbmc6IGNvbnZlcnNpb24g dG8g4oCYbG9uZyBpbnTigJkgZnJvbSDigJhWQUxVReKAmSB7YWthIOKAmGxvbmcgdW5zaWduZWQg aW504oCZfSBtYXkgY2hhbmdlIHRoZSBzaWduIG9mIHRoZSByZXN1bHQgWy1Xc2lnbi1jb252ZXJz aW9uXQ0KICAxNjkgfCAgICAgY29uc3QgU0lHTkVEX1ZBTFVFIHkgPSB4IC0gUlVCWV9GSVhOVU1f RkxBRzsNCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXg0KLi4uL2luY2x1ZGUv cnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvYXJpdGhtZXRpYy9sb25nLmg6IEluIGZ1bmN0aW9u IOKAmHJiaW1wbF9maXgybG9uZ19ieV9zaGlmdOKAmToNCi4uLi9pbmNsdWRlL3J1YnktMy40LjAr MC9ydWJ5L2ludGVybmFsL2FyaXRobWV0aWMvbG9uZy5oOjE5NjoyODogd2FybmluZzogY29udmVy c2lvbiB0byDigJhsb25nIGludOKAmSBmcm9tIOKAmFZBTFVF4oCZIHtha2Eg4oCYbG9uZyB1bnNp Z25lZCBpbnTigJl9IG1heSBjaGFuZ2UgdGhlIHNpZ24gb2YgdGhlIHJlc3VsdCBbLVdzaWduLWNv bnZlcnNpb25dDQogIDE5NiB8ICAgICBjb25zdCBTSUdORURfVkFMVUUgeSA9IHg7DQogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4NCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9y dWJ5L2ludGVybmFsL2FyaXRobWV0aWMvbG9uZy5oOiBJbiBmdW5jdGlvbiDigJhyYl9maXgydWxv bmfigJk6DQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9hcml0aG1ldGlj L2xvbmcuaDoyNTU6MTI6IHdhcm5pbmc6IGNvbnZlcnNpb24gdG8g4oCYbG9uZyB1bnNpZ25lZCBp bnTigJkgZnJvbSDigJhsb25nIGludOKAmSBtYXkgY2hhbmdlIHRoZSBzaWduIG9mIHRoZSByZXN1 bHQgWy1Xc2lnbi1jb252ZXJzaW9uXQ0KICAyNTUgfCAgICAgcmV0dXJuIHJiX2ZpeDJsb25nKHgp Ow0KICAgICAgfCAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+DQouLi4vaW5jbHVkZS9ydWJ5LTMu NC4wKzAvcnVieS9pbnRlcm5hbC9hcml0aG1ldGljL2xvbmcuaDogSW4gZnVuY3Rpb24g4oCYcmJf dWxvbmcybnVtX2lubGluZeKAmToNCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVy bmFsL2FyaXRobWV0aWMvbG9uZy5oOjMyNjoyODogd2FybmluZzogY29udmVyc2lvbiB0byDigJhs b25nIGludOKAmSBmcm9tIOKAmGxvbmcgdW5zaWduZWQgaW504oCZIG1heSBjaGFuZ2UgdGhlIHNp Z24gb2YgdGhlIHJlc3VsdCBbLVdzaWduLWNvbnZlcnNpb25dDQogIDMyNiB8ICAgICAgICAgcmV0 dXJuIFJCX0xPTkcyRklYKHYpOw0KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBe DQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9hcml0aG1ldGljL2xvbmdf bG9uZy5oOiBJbiBmdW5jdGlvbiDigJhyYl9udW0ydWxsX2lubGluZeKAmToNCi4uLi9pbmNsdWRl L3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL2FyaXRobWV0aWMvbG9uZy5oOjUzOjIyOiB3YXJu aW5nOiBjb252ZXJzaW9uIHRvIOKAmGxvbmcgbG9uZyB1bnNpZ25lZCBpbnTigJkgZnJvbSDigJhs b25nIGludOKAmSBtYXkgY2hhbmdlIHRoZSBzaWduIG9mIHRoZSByZXN1bHQgWy1Xc2lnbi1jb252 ZXJzaW9uXQ0KICAgNTMgfCAjZGVmaW5lIFJCX0ZJWDJMT05HICByYl9maXgybG9uZyAgICAgICAg ICAvKio8IEBhbGlhc3tyYl9maXgybG9uZ30gKi8NCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9y dWJ5L2ludGVybmFsL2FyaXRobWV0aWMvbG9uZ19sb25nLmg6MTMwOjE2OiBub3RlOiBpbiBleHBh bnNpb24gb2YgbWFjcm8g4oCYUkJfRklYMkxPTkfigJkNCiAgMTMwIHwgICAgICAgICByZXR1cm4g UkJfRklYMkxPTkcoeCk7DQogICAgICB8ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+DQpJbiBm aWxlIGluY2x1ZGVkIGZyb20gLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwv YXJpdGhtZXRpYy5oOjM3Og0KLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwv YXJpdGhtZXRpYy9zdF9kYXRhX3QuaDogSW4gZnVuY3Rpb24g4oCYUkJfU1QyRklY4oCZOg0KLi4u L2luY2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvYXJpdGhtZXRpYy9zdF9kYXRhX3Qu aDo2MToyMjogd2FybmluZzogY29udmVyc2lvbiB0byDigJhsb25nIGludOKAmSBmcm9tIOKAmHN0 X2RhdGFfdOKAmSB7YWthIOKAmGxvbmcgdW5zaWduZWQgaW504oCZfSBtYXkgY2hhbmdlIHRoZSBz aWduIG9mIHRoZSByZXN1bHQgWy1Xc2lnbi1jb252ZXJzaW9uXQ0KICAgNjEgfCAgICAgU0lHTkVE X1ZBTFVFIHggPSBpOw0KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICBeDQouLi4vaW5jbHVk ZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9hcml0aG1ldGljL3N0X2RhdGFfdC5oOjcyOjI0 OiB3YXJuaW5nOiBjb252ZXJzaW9uIHRvIOKAmGxvbmcgaW504oCZIGZyb20g4oCYbG9uZyB1bnNp Z25lZCBpbnTigJkgbWF5IGNoYW5nZSB0aGUgc2lnbiBvZiB0aGUgcmVzdWx0IFstV3NpZ24tY29u dmVyc2lvbl0NCiAgIDcyIHwgICAgIHJldHVybiBSQl9MT05HMkZJWCh5KTsNCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICBeDQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4uL2luY2x1ZGUv cnVieS0zLjQuMCswL3J1YnkvcnVieS5oOjQyOg0KLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1 YnkvaW50ZXJuYWwvbWVtb3J5Lmg6IEluIGZ1bmN0aW9uIOKAmHJiX2FsbG9jX3RtcF9idWZmZXIy 4oCZOg0KLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvbWVtb3J5Lmg6NjQ2 OjU2OiB3YXJuaW5nOiBjb252ZXJzaW9uIHRvIOKAmHNpemVfdOKAmSB7YWthIOKAmGxvbmcgdW5z aWduZWQgaW504oCZfSBmcm9tIOKAmGxvbmcgaW504oCZIG1heSBjaGFuZ2UgdGhlIHNpZ24gb2Yg dGhlIHJlc3VsdCBbLVdzaWduLWNvbnZlcnNpb25dDQogIDY0NiB8ICAgICBjb25zdCBzaXplX3Qg dG90YWxfc2l6ZSA9IHJiaW1wbF9zaXplX211bF9vcl9yYWlzZShjb3VudCwgZWxzaXplKTsNCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+DQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4uL2luY2x1ZGUvcnVieS0zLjQuMCsw L3J1YnkvaW50ZXJuYWwvZW5jb2RpbmcvY3R5cGUuaDoyNywNCiAgICAgICAgICAgICAgICAgZnJv bSAuLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9lbmNvZGluZy5oOjIyLA0KICAgICAgICAg ICAgICAgICBmcm9tIC4uLy4uLy4uLy4uL2V4dC9ub2tvZ2lyaS9ub2tvZ2lyaS5oOjc5Og0KLi4u L2luY2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvZW5jb2RpbmcvZW5jb2RpbmcuaDog SW4gZnVuY3Rpb24g4oCYUkJfRU5DT0RJTkdfU0VUX0lOTElORUTigJk6DQouLi4vaW5jbHVkZS9y dWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9lbmNvZGluZy9lbmNvZGluZy5oOjgzOjI4OiB3YXJu aW5nOiBjb252ZXJzaW9uIHRvIOKAmFZBTFVF4oCZIHtha2Eg4oCYbG9uZyB1bnNpZ25lZCBpbnTi gJl9IGZyb20g4oCYaW504oCZIG1heSBjaGFuZ2UgdGhlIHNpZ24gb2YgdGhlIHJlc3VsdCBbLVdz aWduLWNvbnZlcnNpb25dDQogICA4MyB8ICAgICBWQUxVRSBmID0gLyogdXBjYXN0ICovIGVuY2lu ZGV4Ow0KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fg0KYGBgDQoN CkNvbXBpbGluZyBhbGwgMzUgZmlsZXMgaW4gTm9rb2dpcmkncyBDIGV4dGVuc2lvbiBtZWFucyB0 aGVzZSB3YXJuaW5ncyBhcmUgcmVwZWF0ZWQgYW5vdGhlciAzNCB0aW1lcyBpbiBhIGZ1bGwgYnVp bGQuIFRoaXMgbWFrZXMgaXQgZGlmZmljdWx0IHRvIHNlZSBhbnkgY29udmVyc2lvbiBlcnJvcnMg aW4gbXkgb3duIGNvZGUuDQoNCkknbSBhYm91dCB0byBvcGVuIGEgcHVsbCByZXF1ZXN0IHdoaWNo IGFkZHMgY2FzdHMgd2hlcmUgdGhlcmUgYXJlIGludGVudGlvbmFsLCBrbm93bi1zYWZlIGludGVn ZXIgY29udmVyc2lvbnMgb2NjdXJyaW5nIHRoYXQgYXJlIHRyaWdnZXJpbmcgdGhlc2Ugd2Fybmlu Z3MuDQoNCklmIG1lcmdlZCwgdGhlbiBDIGV4dGVuc2lvbiBvd25lcnMgY2FuIGFkZCB0aGlzIHRv IHRoZWlyIGBleHRjb25mLnJiYDoNCg0KYGBgDQphcHBlbmRfY2ZsYWdzKCItV2NvbnZlcnNpb24i KQ0KYGBgDQoNCmFuZCB0aGVuIGFueSB3YXJuaW5ncyBnZW5lcmF0ZWQgYXJlIGZyb20gdGhlIEMg ZXh0ZW5zaW9uIGNvZGUsIGFuZCBub3QgZnJvbSBSdWJ5J3MgaGVhZGVyIGZpbGVzLg0KDQoNCg0K DQotLSANCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLw0KIF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KIHJ1YnktY29yZSBtYWlsaW5nIGxpc3QgLS0gcnVi eS1jb3JlQG1sLnJ1YnktbGFuZy5vcmcKIFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8g cnVieS1jb3JlLWxlYXZlQG1sLnJ1YnktbGFuZy5vcmcKIHJ1YnktY29yZSBpbmZvIC0tIGh0dHBz Oi8vbWwucnVieS1sYW5nLm9yZy9tYWlsbWFuMy9wb3N0b3JpdXMvbGlzdHMvcnVieS1jb3JlLm1s LnJ1YnktbGFuZy5vcmcv