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