{"thread":{"id":"63542","subject":"Build Failure: Git 2.50.0-rc0 on NonStop","startedAt":"2025-05-28T19:00:34Z","lastAt":"2025-06-01T09:37:02Z","messageCount":13,"participants":["rsbecker@nexbridge.com","Carlo Marcelo Arenas Belón","Junio C Hamano","brian m. carlson","Patrick Steinhardt","Jeff King","Kristoffer Haugsbakk"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"519096","messageId":"046901dbd002$a0c245c0$e246d140$@nexbridge.com","threadId":"63542","inReplyTo":null,"subject":"Build Failure: Git 2.50.0-rc0 on NonStop","fromName":"","fromEmail":"rsbecker@nexbridge.com","sentAt":"2025-05-28T18:59:18Z","receivedAt":"2025-05-28T19:00:34Z","isPatch":false,"sender":{"key":"randall.becker@nexbridge.ca","avatar":"https://avatars.githubusercontent.com/u/28956764?v=4"},"body":"I encountered the following failure of rc0:\n\nstatic void file_release_data(void *b REFTABLE_UNUSED, struct\nreftable_block_data *dest REFTABLE_UNUSED)\n                                        ^\n\"/home/jenkinsbuild/.jenkins/workspace/Git_Pipeline/reftable/blocksource.c\",\nline 105: error(112):  expected a \")\"\n\n\nI am not at all sure why this is failing at this point. Compiler is c99.\n\n\n--\nBrief whoami: NonStop&UNIX developer since approximately\nUNIX(421664400)\nNonStop(211288444200000000)\n-- In real life, I talk too much.\n\n\n\n"},{"id":"519137","messageId":"20250529101136.16219-1-carenas@gmail.com","threadId":"63542","inReplyTo":"046901dbd002$a0c245c0$e246d140$@nexbridge.com","subject":"[PATCH] reftable: make REFTABLE_UNUSED C99 compatible","fromName":"Carlo Marcelo Arenas Belón","fromEmail":"carenas@gmail.com","sentAt":"2025-05-29T10:11:36Z","receivedAt":"2025-05-29T10:12:07Z","isPatch":true,"sender":{"key":"carenas@gmail.com","avatar":"https://avatars.githubusercontent.com/u/76036?v=4"},"body":"Since f93b2a0424 (reftable/basics: introduce `REFTABLE_UNUSED`\nannotation, 2025-02-18), the reftable library was migrated to\nuse an internal version of `UNUSED`, which unconditionally sets\na GNU __attribute__ to avoid warnings function parameters that\nare not being used.\n\nMake the definition conditional to prevent breaking the build\nwith non GNU compilers.\n\nReported-by: \"Randall S. Becker\" <rsbecker@nexbridge.com>\nSigned-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>\n---\n reftable/basics.h | 4 ++++\n 1 file changed, 4 insertions(+)\n\ndiff --git a/reftable/basics.h b/reftable/basics.h\nindex d8888c1262..7d22f96261 100644\n--- a/reftable/basics.h\n+++ b/reftable/basics.h\n@@ -16,7 +16,11 @@\n #include \"system.h\"\n #include \"reftable-basics.h\"\n \n+#ifdef __GNUC__\n #define REFTABLE_UNUSED __attribute__((__unused__))\n+#else\n+#define REFTABLE_UNUSED\n+#endif\n \n /*\n  * Initialize the buffer such that it is ready for use. This is equivalent to\n-- \n2.50.0.rc0.1.gb4243b6ac8\n\n"},{"id":"519151","messageId":"xmqqtt53l7cl.fsf@gitster.g","threadId":"63542","inReplyTo":"20250529101136.16219-1-carenas@gmail.com","subject":"Re: [PATCH] reftable: make REFTABLE_UNUSED C99 compatible","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-05-29T16:17:14Z","receivedAt":"2025-05-29T16:17:17Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Carlo Marcelo Arenas Belón <carenas@gmail.com> writes:\n\n> Since f93b2a0424 (reftable/basics: introduce `REFTABLE_UNUSED`\n> annotation, 2025-02-18), the reftable library was migrated to\n> use an internal version of `UNUSED`, which unconditionally sets\n> a GNU __attribute__ to avoid warnings function parameters that\n> are not being used.\n>\n> Make the definition conditional to prevent breaking the build\n> with non GNU compilers.\n\nQuite a reasonable reasoning.\n\n> Reported-by: \"Randall S. Becker\" <rsbecker@nexbridge.com>\n> Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>\n> ---\n>  reftable/basics.h | 4 ++++\n>  1 file changed, 4 insertions(+)\n>\n> diff --git a/reftable/basics.h b/reftable/basics.h\n> index d8888c1262..7d22f96261 100644\n> --- a/reftable/basics.h\n> +++ b/reftable/basics.h\n> @@ -16,7 +16,11 @@\n>  #include \"system.h\"\n>  #include \"reftable-basics.h\"\n>  \n> +#ifdef __GNUC__\n>  #define REFTABLE_UNUSED __attribute__((__unused__))\n> +#else\n> +#define REFTABLE_UNUSED\n> +#endif\n\nCorresponding definition we use in the main part of the project\ndefined in compat/posix.h looks like this:\n\n        #if GIT_GNUC_PREREQ(4, 5)\n        #define UNUSED __attribute__((unused)) \\\n                __attribute__((deprecated (\"parameter declared as UNUSED\")))\n        #elif defined(__GNUC__)\n        #define UNUSED __attribute__((unused)) \\\n                __attribute__((deprecated))\n        #else\n        #define UNUSED\n        #endif\n\nGCC 4.5 or older may no longer be relevant, in which case yours may\nbe good enough.\n\nWill queue.  Thanks.\n"},{"id":"519186","messageId":"aDjp_IkgmITrl59-@tapette.crustytoothpaste.net","threadId":"63542","inReplyTo":"xmqqtt53l7cl.fsf@gitster.g","subject":"Re: [PATCH] reftable: make REFTABLE_UNUSED C99 compatible","fromName":"brian m. carlson","fromEmail":"sandals@crustytoothpaste.net","sentAt":"2025-05-29T23:13:00Z","receivedAt":"2025-05-29T23:13:08Z","isPatch":true,"sender":{"key":"sandals@crustytoothpaste.net","avatar":"https://avatars.githubusercontent.com/u/497054?v=4"},"body":"On 2025-05-29 at 16:17:14, Junio C Hamano wrote:\n> Corresponding definition we use in the main part of the project\n> defined in compat/posix.h looks like this:\n> \n>         #if GIT_GNUC_PREREQ(4, 5)\n>         #define UNUSED __attribute__((unused)) \\\n>                 __attribute__((deprecated (\"parameter declared as UNUSED\")))\n>         #elif defined(__GNUC__)\n>         #define UNUSED __attribute__((unused)) \\\n>                 __attribute__((deprecated))\n>         #else\n>         #define UNUSED\n>         #endif\n> \n> GCC 4.5 or older may no longer be relevant, in which case yours may\n> be good enough.\n\nRHEL 7, which is now well past EOL, had GCC 4.8 and Debian 7, released\nin 2013 and also well past EOL, had GCC 4.7.  I think we can safely\nassume nobody within our support policy is using GCC before 4.5.\n-- \nbrian m. carlson (they/them)\nToronto, Ontario, CA\n"},{"id":"519196","messageId":"xmqq7c1yivne.fsf@gitster.g","threadId":"63542","inReplyTo":"aDjp_IkgmITrl59-@tapette.crustytoothpaste.net","subject":"Re: [PATCH] reftable: make REFTABLE_UNUSED C99 compatible","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-05-30T04:12:53Z","receivedAt":"2025-05-30T04:12:57Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"brian m. carlson\" <sandals@crustytoothpaste.net> writes:\n\n> On 2025-05-29 at 16:17:14, Junio C Hamano wrote:\n>> Corresponding definition we use in the main part of the project\n>> defined in compat/posix.h looks like this:\n>> \n>>         #if GIT_GNUC_PREREQ(4, 5)\n>>         #define UNUSED __attribute__((unused)) \\\n>>                 __attribute__((deprecated (\"parameter declared as UNUSED\")))\n>>         #elif defined(__GNUC__)\n>>         #define UNUSED __attribute__((unused)) \\\n>>                 __attribute__((deprecated))\n>>         #else\n>>         #define UNUSED\n>>         #endif\n>> \n>> GCC 4.5 or older may no longer be relevant, in which case yours may\n>> be good enough.\n>\n> RHEL 7, which is now well past EOL, had GCC 4.8 and Debian 7, released\n> in 2013 and also well past EOL, had GCC 4.7.  I think we can safely\n> assume nobody within our support policy is using GCC before 4.5.\n\nGood digging.  There is another one in git-compat-util.h that\nis conditional on GIT_GNUC_PREREQ(3,1) which we can simplify away to\njust \"#ifdef __GNUC__\", together with the above.  Of course totally\noutside of Carlo's fix to the reftable library.\n\nThanks.\n"},{"id":"519200","messageId":"aDlDtbUcX5NA8wCK@pks.im","threadId":"63542","inReplyTo":"xmqqtt53l7cl.fsf@gitster.g","subject":"Re: [PATCH] reftable: make REFTABLE_UNUSED C99 compatible","fromName":"Patrick Steinhardt","fromEmail":"ps@pks.im","sentAt":"2025-05-30T05:35:49Z","receivedAt":"2025-05-30T05:35:58Z","isPatch":true,"sender":{"key":"ps@pks.im","avatar":"https://avatars.githubusercontent.com/u/4056630?v=4"},"body":"On Thu, May 29, 2025 at 09:17:14AM -0700, Junio C Hamano wrote:\n> Carlo Marcelo Arenas Belón <carenas@gmail.com> writes:\n> \n> > Since f93b2a0424 (reftable/basics: introduce `REFTABLE_UNUSED`\n> > annotation, 2025-02-18), the reftable library was migrated to\n> > use an internal version of `UNUSED`, which unconditionally sets\n> > a GNU __attribute__ to avoid warnings function parameters that\n> > are not being used.\n> >\n> > Make the definition conditional to prevent breaking the build\n> > with non GNU compilers.\n> \n> Quite a reasonable reasoning.\n> \n> > Reported-by: \"Randall S. Becker\" <rsbecker@nexbridge.com>\n> > Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>\n> > ---\n> >  reftable/basics.h | 4 ++++\n> >  1 file changed, 4 insertions(+)\n> >\n> > diff --git a/reftable/basics.h b/reftable/basics.h\n> > index d8888c1262..7d22f96261 100644\n> > --- a/reftable/basics.h\n> > +++ b/reftable/basics.h\n> > @@ -16,7 +16,11 @@\n> >  #include \"system.h\"\n> >  #include \"reftable-basics.h\"\n> >  \n> > +#ifdef __GNUC__\n> >  #define REFTABLE_UNUSED __attribute__((__unused__))\n> > +#else\n> > +#define REFTABLE_UNUSED\n> > +#endif\n> \n> Corresponding definition we use in the main part of the project\n> defined in compat/posix.h looks like this:\n> \n>         #if GIT_GNUC_PREREQ(4, 5)\n>         #define UNUSED __attribute__((unused)) \\\n>                 __attribute__((deprecated (\"parameter declared as UNUSED\")))\n>         #elif defined(__GNUC__)\n>         #define UNUSED __attribute__((unused)) \\\n>                 __attribute__((deprecated))\n>         #else\n>         #define UNUSED\n>         #endif\n> \n> GCC 4.5 or older may no longer be relevant, in which case yours may\n> be good enough.\n\nWhat I don't understand though: we have a `MAYBE_UNUSED` macro that has\nthe exact same definition in \"git-compat-util.h\". Why does the macro\ncause issues in the reftable library, but not over there?\n\nPatrick\n"},{"id":"519202","messageId":"20250530062533.GA1321283@coredump.intra.peff.net","threadId":"63542","inReplyTo":"aDlDtbUcX5NA8wCK@pks.im","subject":"Re: [PATCH] reftable: make REFTABLE_UNUSED C99 compatible","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2025-05-30T06:25:33Z","receivedAt":"2025-05-30T06:32:18Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, May 30, 2025 at 07:35:49AM +0200, Patrick Steinhardt wrote:\n\n> What I don't understand though: we have a `MAYBE_UNUSED` macro that has\n> the exact same definition in \"git-compat-util.h\". Why does the macro\n> cause issues in the reftable library, but not over there?\n\nWe turn __attribute__() into a noop for some platforms earlier in\ngit-compat-util.h. So it doesn't need a separate #ifdef.\n\n-Peff\n"},{"id":"519210","messageId":"aDlwsM_18nYB2MOr@pks.im","threadId":"63542","inReplyTo":"20250530062533.GA1321283@coredump.intra.peff.net","subject":"Re: [PATCH] reftable: make REFTABLE_UNUSED C99 compatible","fromName":"Patrick Steinhardt","fromEmail":"ps@pks.im","sentAt":"2025-05-30T08:47:44Z","receivedAt":"2025-05-30T08:47:49Z","isPatch":true,"sender":{"key":"ps@pks.im","avatar":"https://avatars.githubusercontent.com/u/4056630?v=4"},"body":"On Fri, May 30, 2025 at 02:25:33AM -0400, Jeff King wrote:\n> On Fri, May 30, 2025 at 07:35:49AM +0200, Patrick Steinhardt wrote:\n> \n> > What I don't understand though: we have a `MAYBE_UNUSED` macro that has\n> > the exact same definition in \"git-compat-util.h\". Why does the macro\n> > cause issues in the reftable library, but not over there?\n> \n> We turn __attribute__() into a noop for some platforms earlier in\n> git-compat-util.h. So it doesn't need a separate #ifdef.\n\nAh, that's something I missed when introducing `REFTABLE_UNUSED`.\nWith that added context the patch looks sensible to me. Thanks!\n\nPatrick\n"},{"id":"519219","messageId":"055d01dbd15b$14d4c880$3e7e5980$@nexbridge.com","threadId":"63542","inReplyTo":"046901dbd002$a0c245c0$e246d140$@nexbridge.com","subject":"[Bug] Build Failure: Git 2.50.0-rc0 on NonStop","fromName":"","fromEmail":"rsbecker@nexbridge.com","sentAt":"2025-05-30T12:04:47Z","receivedAt":"2025-05-30T12:05:14Z","isPatch":false,"sender":{"key":"randall.becker@nexbridge.ca","avatar":"https://avatars.githubusercontent.com/u/28956764?v=4"},"body":"On May 28, 2025 2:59 PM, I wrote:\n>To: git@vger.kernel.org\n>I encountered the following failure of rc0:\n>\n>static void file_release_data(void *b REFTABLE_UNUSED, struct\n>reftable_block_data *dest REFTABLE_UNUSED)\n>                                        ^\n>\"/home/jenkinsbuild/.jenkins/workspace/Git_Pipeline/reftable/blocksource.c\"\n,\n>line 105: error(112):  expected a \")\"\n>\n>\n>I am not at all sure why this is failing at this point. Compiler is c99.\n\nLooking for help on resolving this before rc1.\n\nSincerely,\nRandall\n\n"},{"id":"519244","messageId":"51425125-0a50-4b03-bcc3-da3942c88b06@app.fastmail.com","threadId":"63542","inReplyTo":"055d01dbd15b$14d4c880$3e7e5980$@nexbridge.com","subject":"Re: [Bug] Build Failure: Git 2.50.0-rc0 on NonStop","fromName":"Kristoffer Haugsbakk","fromEmail":"kristofferhaugsbakk@fastmail.com","sentAt":"2025-05-30T14:19:39Z","receivedAt":"2025-05-30T14:20:51Z","isPatch":false,"sender":{"key":"kristofferhaugsbakk@fastmail.com","avatar":null},"body":"On Fri, May 30, 2025, at 14:04, rsbecker@nexbridge.com wrote:\n>> [snip]\n>>I am not at all sure why this is failing at this point. Compiler is c99.\n>\n> Looking for help on resolving this before rc1.\n\nPatch: https://lore.kernel.org/git/20250529101136.16219-1-carenas@gmail.com/\n"},{"id":"519246","messageId":"aDnAGra6dsfubSHF@pks.im","threadId":"63542","inReplyTo":"055d01dbd15b$14d4c880$3e7e5980$@nexbridge.com","subject":"Re: [Bug] Build Failure: Git 2.50.0-rc0 on NonStop","fromName":"Patrick Steinhardt","fromEmail":"ps@pks.im","sentAt":"2025-05-30T14:26:34Z","receivedAt":"2025-05-30T14:26:37Z","isPatch":false,"sender":{"key":"ps@pks.im","avatar":"https://avatars.githubusercontent.com/u/4056630?v=4"},"body":"On Fri, May 30, 2025 at 08:04:47AM -0400, rsbecker@nexbridge.com wrote:\n> On May 28, 2025 2:59 PM, I wrote:\n> >To: git@vger.kernel.org\n> >I encountered the following failure of rc0:\n> >\n> >static void file_release_data(void *b REFTABLE_UNUSED, struct\n> >reftable_block_data *dest REFTABLE_UNUSED)\n> >                                        ^\n> >\"/home/jenkinsbuild/.jenkins/workspace/Git_Pipeline/reftable/blocksource.c\"\n> ,\n> >line 105: error(112):  expected a \")\"\n> >\n> >\n> >I am not at all sure why this is failing at this point. Compiler is c99.\n> \n> Looking for help on resolving this before rc1.\n\nDid you maybe miss the proposed patch at [1]? That should fix your\nissue.\n\nPatrick\n\n[1]: <20250529101136.16219-1-carenas@gmail.com>\n"},{"id":"519271","messageId":"xmqqsekmf4fw.fsf@gitster.g","threadId":"63542","inReplyTo":"aDlwsM_18nYB2MOr@pks.im","subject":"Re: [PATCH] reftable: make REFTABLE_UNUSED C99 compatible","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2025-05-30T16:28:51Z","receivedAt":"2025-05-30T16:28:54Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Patrick Steinhardt <ps@pks.im> writes:\n\n> Ah, that's something I missed when introducing `REFTABLE_UNUSED`.\n> With that added context the patch looks sensible to me. Thanks!\n\nOK, let's fast-track the fix down to 'master' before '-rc1', then.\n\nThanks, all.\n"},{"id":"519348","messageId":"061401dbd2d8$b4ba03a0$1e2e0ae0$@nexbridge.com","threadId":"63542","inReplyTo":"aDnAGra6dsfubSHF@pks.im","subject":"RE: [Bug] Build Failure: Git 2.50.0-rc0 on NonStop","fromName":"","fromEmail":"rsbecker@nexbridge.com","sentAt":"2025-06-01T09:36:45Z","receivedAt":"2025-06-01T09:37:02Z","isPatch":false,"sender":{"key":"randall.becker@nexbridge.ca","avatar":"https://avatars.githubusercontent.com/u/28956764?v=4"},"body":"On May 30, 2025 10:27 AM, Patrick Steinhardt wrote:\n>On Fri, May 30, 2025 at 08:04:47AM -0400, rsbecker@nexbridge.com wrote:\n>> On May 28, 2025 2:59 PM, I wrote:\n>> >To: git@vger.kernel.org\n>> >I encountered the following failure of rc0:\n>> >\n>> >static void file_release_data(void *b REFTABLE_UNUSED, struct\n>> >reftable_block_data *dest REFTABLE_UNUSED)\n>> >                                        ^\n>>\n>\"/home/jenkinsbuild/.jenkins/workspace/Git_Pipeline/reftable/blocksource.c\"\n>> ,\n>> >line 105: error(112):  expected a \")\"\n>> >\n>> >\n>> >I am not at all sure why this is failing at this point. Compiler is c99.\n>>\n>> Looking for help on resolving this before rc1.\n>\n>Did you maybe miss the proposed patch at [1]? That should fix your issue.\n\nThanks Patrick. As a packager, I can only build using merged fixes for\n2.25.0-rc*. I'm hoping this\nmakes rc1\n\n"}]}