Hi Jose.
On Mon, Dec 15, 2025 at 09:09:17AM +0100, Jose E. Marchesi wrote: > > This is subjective but I don't see how this improves readability. The > GA68_EXTRACT_* values are not an ordered set, the particular constant > values are basically arbitrary, and there is no logical sequence in > handling the different extracts. I was debugging extracts with poke, and I was confused for a while before I understood the order in C++ code is different from the order in specification. And exactly because these are arbitrary numbers from 0 to 4, when seeing a value 1, it's easier to find the 2nd case and see what it does, instead of memorizing that value 1 is for GA68_EXTRACT_IDEN. That's my reasoning why this improves readability. > > > Signed-off-by: Mohammad-Reza Nabipoor <[email protected]> > > > > gcc/ChangeLog > > > > * algol68/a68-exports.cc (a68_asm_output_extract): Re-order > > cases in switch statement to be sorted based on the > > GA68_EXTRACT_* values. > > --- > > gcc/algol68/a68-exports.cc | 10 +++++----- > > 1 file changed, 5 insertions(+), 5 deletions(-) > > > > diff --git a/gcc/algol68/a68-exports.cc b/gcc/algol68/a68-exports.cc > > index 375b6213cef..0a30edf5e74 100644 > > --- a/gcc/algol68/a68-exports.cc > > +++ b/gcc/algol68/a68-exports.cc > > @@ -402,17 +402,17 @@ a68_asm_output_extract (const char *module_label, int > > kind, > > dw2_asm_output_data (1, GA68_EXTRACT_MODU, "module extract %s", > > symbol); > > a68_asm_output_string (symbol, "module indication"); > > break; > > - case GA68_EXTRACT_MODE: > > - dw2_asm_output_data (1, GA68_EXTRACT_MODE, "mode extract %s", > > symbol); > > - a68_asm_output_string (symbol, "mode indication"); > > - dw2_asm_output_delta (PTR_SIZE, ASM_LABEL (mode), module_label, > > "mode"); > > - break; > > case GA68_EXTRACT_IDEN: > > dw2_asm_output_data (1, GA68_EXTRACT_IDEN, "identifier extract %s", > > symbol); > > a68_asm_output_string (symbol, "name"); > > dw2_asm_output_delta (PTR_SIZE, ASM_LABEL (mode), module_label, > > "mode"); > > encode_mdextra = true; > > break; > > + case GA68_EXTRACT_MODE: > > + dw2_asm_output_data (1, GA68_EXTRACT_MODE, "mode extract %s", > > symbol); > > + a68_asm_output_string (symbol, "mode indication"); > > + dw2_asm_output_delta (PTR_SIZE, ASM_LABEL (mode), module_label, > > "mode"); > > + break; > > case GA68_EXTRACT_PRIO: > > dw2_asm_output_data (1, GA68_EXTRACT_PRIO, "prio extract %s", > > symbol); > > a68_asm_output_string (symbol, "opname"); >
