* [PATCH] reftable: avoid initializing structs from structs
@ 2022-01-13 16:55 Han-Wen Nienhuys via GitGitGadget
2022-01-13 17:13 ` Ævar Arnfjörð Bjarmason
0 siblings, 1 reply; 7+ messages in thread
From: Han-Wen Nienhuys via GitGitGadget @ 2022-01-13 16:55 UTC (permalink / raw)
To: git; +Cc: avarab, Han-Wen Nienhuys, Han-Wen Nienhuys
From: Han-Wen Nienhuys <hanwen@google.com>
Apparently, the IBM xlc compiler doesn't like this.
Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
---
reftable: avoid initializing structs from structs
Apparently, the IBM xlc compiler doesn't like this.
Signed-off-by: Han-Wen Nienhuys hanwen@google.com
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1188%2Fhanwen%2Freftable-xlc-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1188/hanwen/reftable-xlc-v1
Pull-Request: https://github.com/git/git/pull/1188
reftable/merged_test.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/reftable/merged_test.c b/reftable/merged_test.c
index 24461e8a802..abd34849fca 100644
--- a/reftable/merged_test.c
+++ b/reftable/merged_test.c
@@ -207,11 +207,11 @@ static void test_merged(void)
},
};
- struct reftable_ref_record want[] = {
- r2[0],
- r1[1],
- r3[0],
- r3[1],
+ struct reftable_ref_record *want[] = {
+ &r2[0],
+ &r1[1],
+ &r3[0],
+ &r3[1],
};
struct reftable_ref_record *refs[] = { r1, r2, r3 };
@@ -250,7 +250,7 @@ static void test_merged(void)
EXPECT(ARRAY_SIZE(want) == len);
for (i = 0; i < len; i++) {
- EXPECT(reftable_ref_record_equal(&want[i], &out[i],
+ EXPECT(reftable_ref_record_equal(want[i], &out[i],
GIT_SHA1_RAWSZ));
}
for (i = 0; i < len; i++) {
@@ -345,10 +345,10 @@ static void test_merged_logs(void)
.value_type = REFTABLE_LOG_DELETION,
},
};
- struct reftable_log_record want[] = {
- r2[0],
- r3[0],
- r1[1],
+ struct reftable_log_record *want[] = {
+ &r2[0],
+ &r3[0],
+ &r1[1],
};
struct reftable_log_record *logs[] = { r1, r2, r3 };
@@ -387,7 +387,7 @@ static void test_merged_logs(void)
EXPECT(ARRAY_SIZE(want) == len);
for (i = 0; i < len; i++) {
- EXPECT(reftable_log_record_equal(&want[i], &out[i],
+ EXPECT(reftable_log_record_equal(want[i], &out[i],
GIT_SHA1_RAWSZ));
}
base-commit: 1ffcbaa1a5f10c9f706314d77f88de20a4a498c2
--
gitgitgadget
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] reftable: avoid initializing structs from structs
2022-01-13 16:55 [PATCH] reftable: avoid initializing structs from structs Han-Wen Nienhuys via GitGitGadget
@ 2022-01-13 17:13 ` Ævar Arnfjörð Bjarmason
2022-01-13 17:40 ` Han-Wen Nienhuys
2022-01-13 19:15 ` Junio C Hamano
0 siblings, 2 replies; 7+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-01-13 17:13 UTC (permalink / raw)
To: Han-Wen Nienhuys via GitGitGadget; +Cc: git, Han-Wen Nienhuys, Han-Wen Nienhuys
On Thu, Jan 13 2022, Han-Wen Nienhuys via GitGitGadget wrote:
> From: Han-Wen Nienhuys <hanwen@google.com>
Ah, nevermind <220113.86v8yntxfb.gmgdl@evledraar.gmail.com>, so you
meant *want[] :)
I can confirm that this works on the xlc version that errored on this
before, the reftable tests even pass!
> Apparently, the IBM xlc compiler doesn't like this.
Would make sense to steal the compiler version etc. details from my
<patch-1.1-7425b64c0a0-20220113T113821Z-avarab@gmail.com>. I.e. eventually
we'll be able to change this & other code back, as nobody will care
about that older compiler version. It worked before in the pre-image on
a more recent xlc.
> Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
> ---
> reftable: avoid initializing structs from structs
>
> Apparently, the IBM xlc compiler doesn't like this.
>
> Signed-off-by: Han-Wen Nienhuys hanwen@google.com
>
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1188%2Fhanwen%2Freftable-xlc-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1188/hanwen/reftable-xlc-v1
> Pull-Request: https://github.com/git/git/pull/1188
>
> reftable/merged_test.c | 22 +++++++++++-----------
> 1 file changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/reftable/merged_test.c b/reftable/merged_test.c
> index 24461e8a802..abd34849fca 100644
> --- a/reftable/merged_test.c
> +++ b/reftable/merged_test.c
> @@ -207,11 +207,11 @@ static void test_merged(void)
> },
> };
>
> - struct reftable_ref_record want[] = {
> - r2[0],
> - r1[1],
> - r3[0],
> - r3[1],
> + struct reftable_ref_record *want[] = {
> + &r2[0],
> + &r1[1],
> + &r3[0],
> + &r3[1],
> };
>
> struct reftable_ref_record *refs[] = { r1, r2, r3 };
> @@ -250,7 +250,7 @@ static void test_merged(void)
>
> EXPECT(ARRAY_SIZE(want) == len);
> for (i = 0; i < len; i++) {
> - EXPECT(reftable_ref_record_equal(&want[i], &out[i],
> + EXPECT(reftable_ref_record_equal(want[i], &out[i],
> GIT_SHA1_RAWSZ));
> }
> for (i = 0; i < len; i++) {
> @@ -345,10 +345,10 @@ static void test_merged_logs(void)
> .value_type = REFTABLE_LOG_DELETION,
> },
> };
> - struct reftable_log_record want[] = {
> - r2[0],
> - r3[0],
> - r1[1],
> + struct reftable_log_record *want[] = {
> + &r2[0],
> + &r3[0],
> + &r1[1],
> };
>
> struct reftable_log_record *logs[] = { r1, r2, r3 };
> @@ -387,7 +387,7 @@ static void test_merged_logs(void)
>
> EXPECT(ARRAY_SIZE(want) == len);
> for (i = 0; i < len; i++) {
> - EXPECT(reftable_log_record_equal(&want[i], &out[i],
> + EXPECT(reftable_log_record_equal(want[i], &out[i],
> GIT_SHA1_RAWSZ));
> }
>
>
> base-commit: 1ffcbaa1a5f10c9f706314d77f88de20a4a498c2
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] reftable: avoid initializing structs from structs
2022-01-13 17:13 ` Ævar Arnfjörð Bjarmason
@ 2022-01-13 17:40 ` Han-Wen Nienhuys
2022-01-13 19:15 ` Junio C Hamano
1 sibling, 0 replies; 7+ messages in thread
From: Han-Wen Nienhuys @ 2022-01-13 17:40 UTC (permalink / raw)
To: Ævar Arnfjörð Bjarmason, git
On Thu, Jan 13, 2022 at 6:14 PM Ævar Arnfjörð Bjarmason
<avarab@gmail.com> wrote:
> I can confirm that this works on the xlc version that errored on this
> before, the reftable tests even pass!
>
> > Apparently, the IBM xlc compiler doesn't like this.
>
> Would make sense to steal the compiler version etc. details from my
> <patch-1.1-7425b64c0a0-20220113T113821Z-avarab@gmail.com>. I.e. eventually
> we'll be able to change this & other code back, as nobody will care
> about that older compiler version. It worked before in the pre-image on
> a more recent xlc.
Feel free to butcher this in any way you like for your series. :)
--
Han-Wen Nienhuys - Google Munich
I work 80%. Don't expect answers from me on Fridays.
--
Google Germany GmbH, Erika-Mann-Strasse 33, 80636 Munich
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Geschäftsführer: Paul Manicle, Halimah DeLaine Prado
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] reftable: avoid initializing structs from structs
2022-01-13 17:13 ` Ævar Arnfjörð Bjarmason
2022-01-13 17:40 ` Han-Wen Nienhuys
@ 2022-01-13 19:15 ` Junio C Hamano
2022-01-13 20:00 ` Junio C Hamano
1 sibling, 1 reply; 7+ messages in thread
From: Junio C Hamano @ 2022-01-13 19:15 UTC (permalink / raw)
To: Ævar Arnfjörð Bjarmason
Cc: Han-Wen Nienhuys via GitGitGadget, git, Han-Wen Nienhuys,
Han-Wen Nienhuys
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
> Would make sense to steal the compiler version etc. details from my
> <patch-1.1-7425b64c0a0-20220113T113821Z-avarab@gmail.com>. I.e. eventually
> we'll be able to change this & other code back, as nobody will care
> about that older compiler version. It worked before in the pre-image on
> a more recent xlc.
If so, wouldn't it be a better option not to worry about such an old
compiler at all from the get-go? Even with an unnecessary "turn an
array of structs into an array of pointers to structs", the
resulting code becomes less natural to follow. And after all, this
may be part of our tree but is not yet integrated with our system,
no?
Thanks.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] reftable: avoid initializing structs from structs
2022-01-13 19:15 ` Junio C Hamano
@ 2022-01-13 20:00 ` Junio C Hamano
2022-01-17 13:07 ` Han-Wen Nienhuys
0 siblings, 1 reply; 7+ messages in thread
From: Junio C Hamano @ 2022-01-13 20:00 UTC (permalink / raw)
To: Ævar Arnfjörð Bjarmason
Cc: Han-Wen Nienhuys via GitGitGadget, git, Han-Wen Nienhuys,
Han-Wen Nienhuys
Junio C Hamano <gitster@pobox.com> writes:
> Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
>
>> Would make sense to steal the compiler version etc. details from my
>> <patch-1.1-7425b64c0a0-20220113T113821Z-avarab@gmail.com>. I.e. eventually
>> we'll be able to change this & other code back, as nobody will care
>> about that older compiler version. It worked before in the pre-image on
>> a more recent xlc.
>
> If so, wouldn't it be a better option not to worry about such an old
> compiler at all from the get-go?
The above was a genuine question. If that "nobody will care about
the old compiler" will happen only after a few years, then it may
not work to just ignore the version of xlc which might still have
a meaningful number of users. I just am not in a good position to
judge that.
Thanks.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] reftable: avoid initializing structs from structs
2022-01-13 20:00 ` Junio C Hamano
@ 2022-01-17 13:07 ` Han-Wen Nienhuys
2022-01-17 19:08 ` Junio C Hamano
0 siblings, 1 reply; 7+ messages in thread
From: Han-Wen Nienhuys @ 2022-01-17 13:07 UTC (permalink / raw)
To: Junio C Hamano
Cc: Ævar Arnfjörð Bjarmason,
Han-Wen Nienhuys via GitGitGadget, git, Han-Wen Nienhuys
On Thu, Jan 13, 2022 at 9:00 PM Junio C Hamano <gitster@pobox.com> wrote:
> >> Would make sense to steal the compiler version etc. details from my
> >> <patch-1.1-7425b64c0a0-20220113T113821Z-avarab@gmail.com>. I.e. eventually
> >> we'll be able to change this & other code back, as nobody will care
> >> about that older compiler version. It worked before in the pre-image on
> >> a more recent xlc.
> >
> > If so, wouldn't it be a better option not to worry about such an old
> > compiler at all from the get-go?
>
> The above was a genuine question. If that "nobody will care about
> the old compiler" will happen only after a few years, then it may
> not work to just ignore the version of xlc which might still have
> a meaningful number of users. I just am not in a good position to
> judge that.
I'm all for not worrying too much about ancient compilers, but there
is no downside to this patch, so it seems fine to let this one go
through.
--
Han-Wen Nienhuys - Google Munich
I work 80%. Don't expect answers from me on Fridays.
--
Google Germany GmbH, Erika-Mann-Strasse 33, 80636 Munich
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Geschäftsführer: Paul Manicle, Halimah DeLaine Prado
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] reftable: avoid initializing structs from structs
2022-01-17 13:07 ` Han-Wen Nienhuys
@ 2022-01-17 19:08 ` Junio C Hamano
0 siblings, 0 replies; 7+ messages in thread
From: Junio C Hamano @ 2022-01-17 19:08 UTC (permalink / raw)
To: Han-Wen Nienhuys
Cc: Ævar Arnfjörð Bjarmason,
Han-Wen Nienhuys via GitGitGadget, git, Han-Wen Nienhuys
Han-Wen Nienhuys <hanwen@google.com> writes:
> On Thu, Jan 13, 2022 at 9:00 PM Junio C Hamano <gitster@pobox.com> wrote:
>> >> Would make sense to steal the compiler version etc. details from my
>> >> <patch-1.1-7425b64c0a0-20220113T113821Z-avarab@gmail.com>. I.e. eventually
>> >> we'll be able to change this & other code back, as nobody will care
>> >> about that older compiler version. It worked before in the pre-image on
>> >> a more recent xlc.
>> >
>> > If so, wouldn't it be a better option not to worry about such an old
>> > compiler at all from the get-go?
>>
>> The above was a genuine question. If that "nobody will care about
>> the old compiler" will happen only after a few years, then it may
>> not work to just ignore the version of xlc which might still have
>> a meaningful number of users. I just am not in a good position to
>> judge that.
>
> I'm all for not worrying too much about ancient compilers, but there
> is no downside to this patch, so it seems fine to let this one go
> through.
Yup, I think this already is part of -rc1.
Thanks.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2022-01-17 19:08 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-13 16:55 [PATCH] reftable: avoid initializing structs from structs Han-Wen Nienhuys via GitGitGadget
2022-01-13 17:13 ` Ævar Arnfjörð Bjarmason
2022-01-13 17:40 ` Han-Wen Nienhuys
2022-01-13 19:15 ` Junio C Hamano
2022-01-13 20:00 ` Junio C Hamano
2022-01-17 13:07 ` Han-Wen Nienhuys
2022-01-17 19:08 ` Junio C Hamano
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).