git@vger.kernel.org list mirror (unofficial, one of many)
 help / color / mirror / code / Atom feed
* [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	[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 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).