[PATCH] fortran: Expand ieee_arithmetic module's ieee_value inline [PR106579]
FX
fxcoudert@gmail.com
Mon Aug 15 20:00:02 GMT 2022
Hi Jakub,
I have two questions, on this and the ieee_class patch:
> + tree type = TREE_TYPE (arg);
> + gcc_assert (TREE_CODE (type) == RECORD_TYPE);
> + tree field = NULL_TREE;
> + for (tree f = TYPE_FIELDS (type); f != NULL_TREE; f = DECL_CHAIN (f))
> + if (TREE_CODE (f) == FIELD_DECL)
> + {
> + gcc_assert (field == NULL_TREE);
> + field = f;
> + }
> + gcc_assert (field);
Why looping over fields? The class type is a simple type with only one member (and it should be an integer, we can assert that).
> + case IEEE_POSITIVE_ZERO:
> + /* Make this also the default: label. */
> + label = gfc_build_label_decl (NULL_TREE);
> + tmp = build_case_label (NULL_TREE, NULL_TREE, label);
> + gfc_add_expr_to_block (&body, tmp);
> + real_from_integer (&real, TYPE_MODE (type), 0, SIGNED);
> + break;
Do we need a default label? It’s not like this is a more likely case than anything else…
Thanks,
FX
More information about the Fortran
mailing list