[ruby-core:118023] [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 02:22:53 UTC
List:
ruby-core #118023
SXNzdWUgIzIwNTA3IGhhcyBiZWVuIHVwZGF0ZWQgYnkgc2h5b3VoZWkgKFNoeW91aGVpIFVyYWJl KS4NCg0KDQpUaGVzZSB0eXBlIGNvbnZlcnNpb25zIGFyZSBpbnRlbnRpb25hbCAoeWVzLCB3ZSBf YXJlXyBjaGFuZ2luZyB0aGUgc2lnbiBvZiB0aGUgcmVzdWx0cykuICBHQ0MgdGVuZHMgdG8gYmUg bW9yZSBtZWRkbGVzb21lIHRoYW4gdXNlZnVsLiAgQWxzbyBub3RlIHRoYXQgYC1Xc2lnbi1jb252 ZXJzaW9uYCBpcyBub3QgaW5jbHVkZWQgaW4gYW55IG9mIGAtV2FsbGAsIGAtV2V4dHJhYCwgb3Ig YC1XcGVkYW50aWNgLg0KDQpUaGF0IHNhaWQgeWVzLCBJIGFncmVlIHRoYXQgYW55IHdhcm5pbmdz IGZyb20gc29tZXRoaW5nIG91dCBvZiB5b3VyIGNvbnRyb2wgaXMganVzdCBhbm5veWluZy4gIEl0 IHdvdWxkIGJlIG5pY2UgaWYgb3VyIHB1YmxpYyBoZWFkZXJzIGFyZSBmcmllbmRseSB0byBhbnlv bmUuICArMSB0byBzdXBwcmVzcyB0aGVtLg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQpNaXNjICMyMDUwNzogQWxsb3cgQyBleHRlbnNpb25zIHRvIGJlIGNvbXBp bGVkIGNsZWFubHkgd2l0aCB0aGUgYC1Xc2lnbi1jb252ZXJzaW9uYCB3YXJuaW5nIG9wdGlvbg0K aHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzIwNTA3I2NoYW5nZS0xMDg0NDINCg0K KiBBdXRob3I6IG1kYWxlc3NpbyAoTWlrZSBEYWxlc3NpbykNCiogU3RhdHVzOiBPcGVuDQotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpBcyBhIG1haW50YWluZXIgb2Yg c2V2ZXJhbCBDIGV4dGVuc2lvbnMsIEkgbGlrZSB0byBjb21waWxlIG15IGNvZGUgd2l0aCBzb21l IG9mIHRoZSBjb21tb24gW1dhcm5pbmcgT3B0aW9uc10oaHR0cHM6Ly9nY2MuZ251Lm9yZy9vbmxp bmVkb2NzL2djYy9XYXJuaW5nLU9wdGlvbnMuaHRtbCkgdG8gaGVscCBtYWludGFpbiBjb2RlIHF1 YWxpdHkgYW5kIHNhZmV0eS4NCg0KT25lIG9mIHRoZSBvcHRpb25zIHRoYXQgaXMgY3VycmVudGx5 IHZlcnkgZGlmZmljdWx0IHRvIHVzZSBpcyBgLVdzaWduLWNvbnZlcnNpb25gLCBiZWNhdXNlIHNv bWUgb2YgdGhlIFJ1YnkgcHVibGljIGhlYWRlciBmaWxlcyBjb250YWluIGNvZGUgdGhhdCB3aWxs IGdlbmVyYXRlIHdhcm5pbmdzLiBTbyBtYW55IHdhcm5pbmdzIGFyZSBwcmludGVkIHdoZW4gY29t cGlsaW5nIGFnYWluc3QgUnVieSdzIGhlYWRlciBmaWxlcyB0aGF0IGl0J3MgaGFyZCB0byBzZWUg YW55IHdhcm5pbmdzIGZyb20gbXkgY29kZS4NCg0KQXMgYW4gZXhhbXBsZSwgY29tcGlsaW5nIGp1 c3Qgb25lIGZpbGUgaW4gTm9rb2dpcmkgd2l0aCB0aGlzIGZsYWcgZW5hYmxlZCB3aWxsIHByaW50 Og0KDQpgYGANCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL3NwZWNpYWxf Y29uc3RzLmg6IEluIGZ1bmN0aW9uIOKAmFJCX1RFU1TigJk6DQouLi4vaW5jbHVkZS9ydWJ5LTMu NC4wKzAvcnVieS9pbnRlcm5hbC9zcGVjaWFsX2NvbnN0cy5oOjE1OToxNjogd2FybmluZzogdW5z aWduZWQgY29udmVyc2lvbiBmcm9tIOKAmGludOKAmSB0byDigJhWQUxVReKAmSB7YWthIOKAmGxv bmcgdW5zaWduZWQgaW504oCZfSBjaGFuZ2VzIHZhbHVlIGZyb20g4oCYLTXigJkgdG8g4oCYMTg0 NDY3NDQwNzM3MDk1NTE2MTHigJkgWy1Xc2lnbi1jb252ZXJzaW9uXQ0KICAxNTkgfCAgICAgcmV0 dXJuIG9iaiAmIH5SVUJZX1FuaWw7DQogICAgICB8ICAgICAgICAgICAgICAgIF4NCi4uLi9pbmNs dWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL3NwZWNpYWxfY29uc3RzLmg6IEluIGZ1bmN0 aW9uIOKAmFJCX05JTF9PUl9VTkRFRl9Q4oCZOg0KLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1 YnkvaW50ZXJuYWwvc3BlY2lhbF9jb25zdHMuaDoyMjk6MjQ6IHdhcm5pbmc6IHVuc2lnbmVkIGNv bnZlcnNpb24gZnJvbSDigJhpbnTigJkgdG8g4oCYVkFMVUXigJkge2FrYSDigJhjb25zdCBsb25n IHVuc2lnbmVkIGludOKAmX0gY2hhbmdlcyB2YWx1ZSBmcm9tIOKAmC0zM+KAmSB0byDigJgxODQ0 Njc0NDA3MzcwOTU1MTU4M+KAmSBbLVdzaWduLWNvbnZlcnNpb25dDQogIDIyOSB8ICAgICBjb25z dCBWQUxVRSBtYXNrID0gfihSVUJZX1F1bmRlZiBeIFJVQllfUW5pbCk7DQogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgXg0KLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJu YWwvYXJpdGhtZXRpYy9sb25nLmg6IEluIGZ1bmN0aW9uIOKAmFJCX0lOVDJGSVjigJk6DQouLi4v aW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9hcml0aG1ldGljL2xvbmcuaDoxMTc6 Mjk6IHdhcm5pbmc6IGNvbnZlcnNpb24gdG8g4oCYbG9uZyB1bnNpZ25lZCBpbnTigJkgZnJvbSDi gJhsb25nIGludOKAmSBtYXkgY2hhbmdlIHRoZSBzaWduIG9mIHRoZSByZXN1bHQgWy1Xc2lnbi1j b252ZXJzaW9uXQ0KICAxMTcgfCAgICAgY29uc3QgdW5zaWduZWQgbG9uZyBqID0gaTsNCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4NCi4uLi9pbmNsdWRlL3J1YnktMy40LjAr MC9ydWJ5L2ludGVybmFsL2FyaXRobWV0aWMvbG9uZy5oOjExOToyOTogd2FybmluZzogY29udmVy c2lvbiB0byDigJhsb25nIGludOKAmSBmcm9tIOKAmGxvbmcgdW5zaWduZWQgaW504oCZIG1heSBj aGFuZ2UgdGhlIHNpZ24gb2YgdGhlIHJlc3VsdCBbLVdzaWduLWNvbnZlcnNpb25dDQogIDExOSB8 ICAgICBjb25zdCBsb25nICAgICAgICAgIGwgPSBrOw0KICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXg0KLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvYXJp dGhtZXRpYy9sb25nLmg6MTIxOjI5OiB3YXJuaW5nOiBjb252ZXJzaW9uIHRvIOKAmFZBTFVF4oCZ IHtha2Eg4oCYY29uc3QgbG9uZyB1bnNpZ25lZCBpbnTigJl9IGZyb20g4oCYbG9uZyBpbnTigJkg bWF5IGNoYW5nZSB0aGUgc2lnbiBvZiB0aGUgcmVzdWx0IFstV3NpZ24tY29udmVyc2lvbl0NCiAg MTIxIHwgICAgIGNvbnN0IFZBTFVFICAgICAgICAgbiA9IG07DQogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeDQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5h bC9hcml0aG1ldGljL2xvbmcuaDogSW4gZnVuY3Rpb24g4oCYcmJpbXBsX2ZpeDJsb25nX2J5X2lk aXbigJk6DQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9hcml0aG1ldGlj L2xvbmcuaDoxNjk6Mjg6IHdhcm5pbmc6IGNvbnZlcnNpb24gdG8g4oCYbG9uZyBpbnTigJkgZnJv bSDigJhWQUxVReKAmSB7YWthIOKAmGxvbmcgdW5zaWduZWQgaW504oCZfSBtYXkgY2hhbmdlIHRo ZSBzaWduIG9mIHRoZSByZXN1bHQgWy1Xc2lnbi1jb252ZXJzaW9uXQ0KICAxNjkgfCAgICAgY29u c3QgU0lHTkVEX1ZBTFVFIHkgPSB4IC0gUlVCWV9GSVhOVU1fRkxBRzsNCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXg0KLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50 ZXJuYWwvYXJpdGhtZXRpYy9sb25nLmg6IEluIGZ1bmN0aW9uIOKAmHJiaW1wbF9maXgybG9uZ19i eV9zaGlmdOKAmToNCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL2FyaXRo bWV0aWMvbG9uZy5oOjE5NjoyODogd2FybmluZzogY29udmVyc2lvbiB0byDigJhsb25nIGludOKA mSBmcm9tIOKAmFZBTFVF4oCZIHtha2Eg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJl9IG1heSBjaGFu Z2UgdGhlIHNpZ24gb2YgdGhlIHJlc3VsdCBbLVdzaWduLWNvbnZlcnNpb25dDQogIDE5NiB8ICAg ICBjb25zdCBTSUdORURfVkFMVUUgeSA9IHg7DQogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4NCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL2FyaXRobWV0 aWMvbG9uZy5oOiBJbiBmdW5jdGlvbiDigJhyYl9maXgydWxvbmfigJk6DQouLi4vaW5jbHVkZS9y dWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9hcml0aG1ldGljL2xvbmcuaDoyNTU6MTI6IHdhcm5p bmc6IGNvbnZlcnNpb24gdG8g4oCYbG9uZyB1bnNpZ25lZCBpbnTigJkgZnJvbSDigJhsb25nIGlu dOKAmSBtYXkgY2hhbmdlIHRoZSBzaWduIG9mIHRoZSByZXN1bHQgWy1Xc2lnbi1jb252ZXJzaW9u XQ0KICAyNTUgfCAgICAgcmV0dXJuIHJiX2ZpeDJsb25nKHgpOw0KICAgICAgfCAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+DQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRlcm5hbC9h cml0aG1ldGljL2xvbmcuaDogSW4gZnVuY3Rpb24g4oCYcmJfdWxvbmcybnVtX2lubGluZeKAmToN Ci4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL2FyaXRobWV0aWMvbG9uZy5o OjMyNjoyODogd2FybmluZzogY29udmVyc2lvbiB0byDigJhsb25nIGludOKAmSBmcm9tIOKAmGxv bmcgdW5zaWduZWQgaW504oCZIG1heSBjaGFuZ2UgdGhlIHNpZ24gb2YgdGhlIHJlc3VsdCBbLVdz aWduLWNvbnZlcnNpb25dDQogIDMyNiB8ICAgICAgICAgcmV0dXJuIFJCX0xPTkcyRklYKHYpOw0K ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBeDQouLi4vaW5jbHVkZS9ydWJ5LTMu NC4wKzAvcnVieS9pbnRlcm5hbC9hcml0aG1ldGljL2xvbmdfbG9uZy5oOiBJbiBmdW5jdGlvbiDi gJhyYl9udW0ydWxsX2lubGluZeKAmToNCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2lu dGVybmFsL2FyaXRobWV0aWMvbG9uZy5oOjUzOjIyOiB3YXJuaW5nOiBjb252ZXJzaW9uIHRvIOKA mGxvbmcgbG9uZyB1bnNpZ25lZCBpbnTigJkgZnJvbSDigJhsb25nIGludOKAmSBtYXkgY2hhbmdl IHRoZSBzaWduIG9mIHRoZSByZXN1bHQgWy1Xc2lnbi1jb252ZXJzaW9uXQ0KICAgNTMgfCAjZGVm aW5lIFJCX0ZJWDJMT05HICByYl9maXgybG9uZyAgICAgICAgICAvKio8IEBhbGlhc3tyYl9maXgy bG9uZ30gKi8NCi4uLi9pbmNsdWRlL3J1YnktMy40LjArMC9ydWJ5L2ludGVybmFsL2FyaXRobWV0 aWMvbG9uZ19sb25nLmg6MTMwOjE2OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUkJf RklYMkxPTkfigJkNCiAgMTMwIHwgICAgICAgICByZXR1cm4gUkJfRklYMkxPTkcoeCk7DQogICAg ICB8ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+DQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4u L2luY2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvYXJpdGhtZXRpYy5oOjM3Og0KLi4u L2luY2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvYXJpdGhtZXRpYy9zdF9kYXRhX3Qu aDogSW4gZnVuY3Rpb24g4oCYUkJfU1QyRklY4oCZOg0KLi4uL2luY2x1ZGUvcnVieS0zLjQuMCsw L3J1YnkvaW50ZXJuYWwvYXJpdGhtZXRpYy9zdF9kYXRhX3QuaDo2MToyMjogd2FybmluZzogY29u dmVyc2lvbiB0byDigJhsb25nIGludOKAmSBmcm9tIOKAmHN0X2RhdGFfdOKAmSB7YWthIOKAmGxv bmcgdW5zaWduZWQgaW504oCZfSBtYXkgY2hhbmdlIHRoZSBzaWduIG9mIHRoZSByZXN1bHQgWy1X c2lnbi1jb252ZXJzaW9uXQ0KICAgNjEgfCAgICAgU0lHTkVEX1ZBTFVFIHggPSBpOw0KICAgICAg fCAgICAgICAgICAgICAgICAgICAgICBeDQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9p bnRlcm5hbC9hcml0aG1ldGljL3N0X2RhdGFfdC5oOjcyOjI0OiB3YXJuaW5nOiBjb252ZXJzaW9u IHRvIOKAmGxvbmcgaW504oCZIGZyb20g4oCYbG9uZyB1bnNpZ25lZCBpbnTigJkgbWF5IGNoYW5n ZSB0aGUgc2lnbiBvZiB0aGUgcmVzdWx0IFstV3NpZ24tY29udmVyc2lvbl0NCiAgIDcyIHwgICAg IHJldHVybiBSQl9MT05HMkZJWCh5KTsNCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICBe DQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvcnVi eS5oOjQyOg0KLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvbWVtb3J5Lmg6 IEluIGZ1bmN0aW9uIOKAmHJiX2FsbG9jX3RtcF9idWZmZXIy4oCZOg0KLi4uL2luY2x1ZGUvcnVi eS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvbWVtb3J5Lmg6NjQ2OjU2OiB3YXJuaW5nOiBjb252ZXJz aW9uIHRvIOKAmHNpemVfdOKAmSB7YWthIOKAmGxvbmcgdW5zaWduZWQgaW504oCZfSBmcm9tIOKA mGxvbmcgaW504oCZIG1heSBjaGFuZ2UgdGhlIHNpZ24gb2YgdGhlIHJlc3VsdCBbLVdzaWduLWNv bnZlcnNpb25dDQogIDY0NiB8ICAgICBjb25zdCBzaXplX3QgdG90YWxfc2l6ZSA9IHJiaW1wbF9z aXplX211bF9vcl9yYWlzZShjb3VudCwgZWxzaXplKTsNCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+DQpJbiBmaWxlIGlu Y2x1ZGVkIGZyb20gLi4uL2luY2x1ZGUvcnVieS0zLjQuMCswL3J1YnkvaW50ZXJuYWwvZW5jb2Rp bmcvY3R5cGUuaDoyNywNCiAgICAgICAgICAgICAgICAgZnJvbSAuLi4vaW5jbHVkZS9ydWJ5LTMu NC4wKzAvcnVieS9lbmNvZGluZy5oOjIyLA0KICAgICAgICAgICAgICAgICBmcm9tIC4uLy4uLy4u Ly4uL2V4dC9ub2tvZ2lyaS9ub2tvZ2lyaS5oOjc5Og0KLi4uL2luY2x1ZGUvcnVieS0zLjQuMCsw L3J1YnkvaW50ZXJuYWwvZW5jb2RpbmcvZW5jb2RpbmcuaDogSW4gZnVuY3Rpb24g4oCYUkJfRU5D T0RJTkdfU0VUX0lOTElORUTigJk6DQouLi4vaW5jbHVkZS9ydWJ5LTMuNC4wKzAvcnVieS9pbnRl cm5hbC9lbmNvZGluZy9lbmNvZGluZy5oOjgzOjI4OiB3YXJuaW5nOiBjb252ZXJzaW9uIHRvIOKA mFZBTFVF4oCZIHtha2Eg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJl9IGZyb20g4oCYaW504oCZIG1h eSBjaGFuZ2UgdGhlIHNpZ24gb2YgdGhlIHJlc3VsdCBbLVdzaWduLWNvbnZlcnNpb25dDQogICA4 MyB8ICAgICBWQUxVRSBmID0gLyogdXBjYXN0ICovIGVuY2luZGV4Ow0KICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fg0KYGBgDQoNCkNvbXBpbGluZyBhbGwgMzUgZmls ZXMgaW4gTm9rb2dpcmkncyBDIGV4dGVuc2lvbiBtZWFucyB0aGVzZSB3YXJuaW5ncyBhcmUgcmVw ZWF0ZWQgYW5vdGhlciAzNCB0aW1lcyBpbiBhIGZ1bGwgYnVpbGQuIFRoaXMgbWFrZXMgaXQgZGlm ZmljdWx0IHRvIHNlZSBhbnkgY29udmVyc2lvbiBlcnJvcnMgaW4gbXkgb3duIGNvZGUuDQoNCkkn bSBhYm91dCB0byBvcGVuIGEgcHVsbCByZXF1ZXN0IHdoaWNoIGFkZHMgY2FzdHMgd2hlcmUgdGhl cmUgYXJlIGludGVudGlvbmFsLCBrbm93bi1zYWZlIGludGVnZXIgY29udmVyc2lvbnMgb2NjdXJy aW5nIHRoYXQgYXJlIHRyaWdnZXJpbmcgdGhlc2Ugd2FybmluZ3MuDQoNCklmIG1lcmdlZCwgdGhl biBDIGV4dGVuc2lvbiBvd25lcnMgY2FuIGFkZCB0aGlzIHRvIHRoZWlyIGBleHRjb25mLnJiYDoN Cg0KYGBgDQphcHBlbmRfY2ZsYWdzKCItV2NvbnZlcnNpb24iKQ0KYGBgDQoNCmFuZCB0aGVuIGFu eSB3YXJuaW5ncyBnZW5lcmF0ZWQgYXJlIGZyb20gdGhlIEMgZXh0ZW5zaW9uIGNvZGUsIGFuZCBu b3QgZnJvbSBSdWJ5J3MgaGVhZGVyIGZpbGVzLg0KDQoNCg0KDQotLSANCmh0dHBzOi8vYnVncy5y dWJ5LWxhbmcub3JnLw0KIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KIHJ1YnktY29yZSBtYWlsaW5nIGxpc3QgLS0gcnVieS1jb3JlQG1sLnJ1YnktbGFuZy5v cmcKIFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gcnVieS1jb3JlLWxlYXZlQG1sLnJ1 YnktbGFuZy5vcmcKIHJ1YnktY29yZSBpbmZvIC0tIGh0dHBzOi8vbWwucnVieS1sYW5nLm9yZy9t YWlsbWFuMy9wb3N0b3JpdXMvbGlzdHMvcnVieS1jb3JlLm1sLnJ1YnktbGFuZy5vcmcv