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

Reply via email to