aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/expr.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2009-06-11 08:42:49 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2009-06-11 08:42:49 +0200
commite8d4f3fcb274af7dc592a5f95ca76da533505920 (patch)
treea68cb3905d59801559b99384933e8a0c97de5c67 /gcc/fortran/expr.c
parente521964299930c05e5306addf709980a52d4a62c (diff)
downloadgcc-e8d4f3fcb274af7dc592a5f95ca76da533505920.zip
gcc-e8d4f3fcb274af7dc592a5f95ca76da533505920.tar.gz
gcc-e8d4f3fcb274af7dc592a5f95ca76da533505920.tar.bz2
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
Diffstat (limited to 'gcc/fortran/expr.c')
-rw-r--r--gcc/fortran/expr.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c
index f76c35e..9342719 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,