Lines Matching refs:ex
213 gfc_typename (gfc_expr *ex)
225 if (ex->ts.type == BT_CHARACTER)
227 if (ex->expr_type == EXPR_CONSTANT)
228 length = ex->value.character.length;
229 else if (ex->ts.deferred)
231 if (ex->ts.kind == gfc_default_character_kind)
233 sprintf (buffer, "CHARACTER(:,%d)", ex->ts.kind);
236 else if (ex->ts.u.cl && ex->ts.u.cl->length == NULL)
238 if (ex->ts.kind == gfc_default_character_kind)
240 sprintf (buffer, "CHARACTER(*,%d)", ex->ts.kind);
243 else if (ex->ts.u.cl == NULL
244 || ex->ts.u.cl->length->expr_type != EXPR_CONSTANT)
246 if (ex->ts.kind == gfc_default_character_kind)
248 sprintf (buffer, "CHARACTER(KIND=%d)", ex->ts.kind);
252 length = gfc_mpz_get_hwi (ex->ts.u.cl->length->value.integer);
253 if (ex->ts.kind == gfc_default_character_kind)
257 ex->ts.kind);
260 return gfc_typename(&ex->ts);