reftable: make assignments portable to AIX xlc v12.01
Change the assignment syntax introduced in 66c0dabab5 (reftable: make
reftable_record a tagged union, 2022-01-20) to be portable to AIX xlc
v12.1:
    avar@gcc111:[/home/avar]xlc -qversion
    IBM XL C/C++ for AIX, V12.1 (5765-J02, 5725-C72)
    Version: 12.01.0000.0000
The error emitted before this was e.g.:
    "reftable/generic.c", line 133.26: 1506-196 (S) Initialization
    between types "char*" and "struct reftable_ref_record" is not
    allowed.
The syntax in the pre-image is supported by e.g. xlc 13.01 on a newer
AIX version:
    avar@gcc119:[/home/avar]xlc -qversion
    IBM XL C/C++ for AIX, V13.1.3 (5725-C72, 5765-J07)
    Version: 13.01.0003.0006
But as we've otherwise supported this compiler let's not break it
entirely if it's easy to work around it.
Suggested-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
			
			
				maint
			
			
		
							parent
							
								
									abf474a5dd
								
							
						
					
					
						commit
						33665d98e6
					
				|  | @ -130,7 +130,9 @@ int reftable_iterator_next_ref(struct reftable_iterator *it, | ||||||
| { | { | ||||||
| 	struct reftable_record rec = { | 	struct reftable_record rec = { | ||||||
| 		.type = BLOCK_TYPE_REF, | 		.type = BLOCK_TYPE_REF, | ||||||
| 		.u.ref = *ref, | 		.u = { | ||||||
|  | 			.ref = *ref | ||||||
|  | 		}, | ||||||
| 	}; | 	}; | ||||||
| 	int err = iterator_next(it, &rec); | 	int err = iterator_next(it, &rec); | ||||||
| 	*ref = rec.u.ref; | 	*ref = rec.u.ref; | ||||||
|  | @ -142,7 +144,9 @@ int reftable_iterator_next_log(struct reftable_iterator *it, | ||||||
| { | { | ||||||
| 	struct reftable_record rec = { | 	struct reftable_record rec = { | ||||||
| 		.type = BLOCK_TYPE_LOG, | 		.type = BLOCK_TYPE_LOG, | ||||||
| 		.u.log = *log, | 		.u = { | ||||||
|  | 			.log = *log, | ||||||
|  | 		}, | ||||||
| 	}; | 	}; | ||||||
| 	int err = iterator_next(it, &rec); | 	int err = iterator_next(it, &rec); | ||||||
| 	*log = rec.u.log; | 	*log = rec.u.log; | ||||||
|  |  | ||||||
|  | @ -339,7 +339,9 @@ static void test_reftable_obj_record_roundtrip(void) | ||||||
| 		}; | 		}; | ||||||
| 		struct reftable_record in = { | 		struct reftable_record in = { | ||||||
| 			.type = BLOCK_TYPE_OBJ, | 			.type = BLOCK_TYPE_OBJ, | ||||||
| 			.u.obj = recs[i], | 			.u = { | ||||||
|  | 				.obj = recs[i], | ||||||
|  | 			}, | ||||||
| 		}; | 		}; | ||||||
| 		struct strbuf key = STRBUF_INIT; | 		struct strbuf key = STRBUF_INIT; | ||||||
| 		struct reftable_record out = { .type = BLOCK_TYPE_OBJ }; | 		struct reftable_record out = { .type = BLOCK_TYPE_OBJ }; | ||||||
|  |  | ||||||
|  | @ -257,7 +257,9 @@ int reftable_writer_add_ref(struct reftable_writer *w, | ||||||
| { | { | ||||||
| 	struct reftable_record rec = { | 	struct reftable_record rec = { | ||||||
| 		.type = BLOCK_TYPE_REF, | 		.type = BLOCK_TYPE_REF, | ||||||
| 		.u.ref = *ref, | 		.u = { | ||||||
|  | 			.ref = *ref | ||||||
|  | 		}, | ||||||
| 	}; | 	}; | ||||||
| 	int err = 0; | 	int err = 0; | ||||||
|  |  | ||||||
|  | @ -308,7 +310,9 @@ static int reftable_writer_add_log_verbatim(struct reftable_writer *w, | ||||||
| { | { | ||||||
| 	struct reftable_record rec = { | 	struct reftable_record rec = { | ||||||
| 		.type = BLOCK_TYPE_LOG, | 		.type = BLOCK_TYPE_LOG, | ||||||
| 		.u.log = *log, | 		.u = { | ||||||
|  | 			.log = *log, | ||||||
|  | 		}, | ||||||
| 	}; | 	}; | ||||||
| 	if (w->block_writer && | 	if (w->block_writer && | ||||||
| 	    block_writer_type(w->block_writer) == BLOCK_TYPE_REF) { | 	    block_writer_type(w->block_writer) == BLOCK_TYPE_REF) { | ||||||
|  | @ -401,7 +405,9 @@ static int writer_finish_section(struct reftable_writer *w) | ||||||
| 		for (i = 0; i < idx_len; i++) { | 		for (i = 0; i < idx_len; i++) { | ||||||
| 			struct reftable_record rec = { | 			struct reftable_record rec = { | ||||||
| 				.type = BLOCK_TYPE_INDEX, | 				.type = BLOCK_TYPE_INDEX, | ||||||
| 				.u.idx = idx[i], | 				.u = { | ||||||
|  | 					.idx = idx[i], | ||||||
|  | 				}, | ||||||
| 			}; | 			}; | ||||||
| 			if (block_writer_add(w->block_writer, &rec) == 0) { | 			if (block_writer_add(w->block_writer, &rec) == 0) { | ||||||
| 				continue; | 				continue; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Ævar Arnfjörð Bjarmason
						Ævar Arnfjörð Bjarmason