From: Jakub Jelinek Date: Thu, 11 Jun 2009 06:42:49 +0000 (+0200) Subject: interface.c (fold_unary): Rename to... X-Git-Tag: releases/gcc-4.5.0~5263 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e8d4f3fcb274af7dc592a5f95ca76da533505920;p=thirdparty%2Fgcc.git interface.c (fold_unary): Rename to... * interface.c (fold_unary): Rename to... (fold_unary_intrinsic): ... this. (gfc_extend_expr): Adjust caller. (gfc_match_generic_spec): Likewise. Initialize *op to INTRINSIC_NONE to avoid warnings. * expr.c (gfc_simplify_expr): Initialize start and end before calling gfc_extract_int. From-SVN: r148366 --- diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index cb5312066a3a..68ad797596ea 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,13 @@ +2009-06-11 Jakub Jelinek + + * interface.c (fold_unary): Rename to... + (fold_unary_intrinsic): ... this. + (gfc_extend_expr): Adjust caller. + (gfc_match_generic_spec): Likewise. Initialize *op to INTRINSIC_NONE + to avoid warnings. + * expr.c (gfc_simplify_expr): Initialize start and end before calling + gfc_extract_int. + 2009-06-10 Dave Korn * trans-decl.c (create_main_function): Don't build main decl twice. diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c index f76c35ea4f15..93427195fd3b 100644 --- a/gcc/fortran/expr.c +++ b/gcc/fortran/expr.c @@ -1654,18 +1654,16 @@ gfc_simplify_expr (gfc_expr *p, int type) gfc_char_t *s; int start, end; + start = 0; if (p->ref && p->ref->u.ss.start) { gfc_extract_int (p->ref->u.ss.start, &start); start--; /* Convert from one-based to zero-based. */ } - else - start = 0; + end = p->value.character.length; if (p->ref && p->ref->u.ss.end) gfc_extract_int (p->ref->u.ss.end, &end); - else - end = p->value.character.length; s = gfc_get_wide_string (end - start + 2); memcpy (s, p->value.character.string + start, diff --git a/gcc/fortran/interface.c b/gcc/fortran/interface.c index 48c026cb2fec..6cd34fa11def 100644 --- a/gcc/fortran/interface.c +++ b/gcc/fortran/interface.c @@ -95,7 +95,7 @@ gfc_free_interface (gfc_interface *intr) minus respectively, leaving the rest unchanged. */ static gfc_intrinsic_op -fold_unary (gfc_intrinsic_op op) +fold_unary_intrinsic (gfc_intrinsic_op op) { switch (op) { @@ -136,10 +136,11 @@ gfc_match_generic_spec (interface_type *type, if (gfc_match (" operator ( %o )", &i) == MATCH_YES) { /* Operator i/f */ *type = INTERFACE_INTRINSIC_OP; - *op = fold_unary (i); + *op = fold_unary_intrinsic (i); return MATCH_YES; } + *op = INTRINSIC_NONE; if (gfc_match (" operator ( ") == MATCH_YES) { m = gfc_match_defined_op_name (buffer, 1); @@ -2482,7 +2483,7 @@ gfc_extend_expr (gfc_expr *e) actual->next->expr = e->value.op.op2; } - i = fold_unary (e->value.op.op); + i = fold_unary_intrinsic (e->value.op.op); if (i == INTRINSIC_USER) {