aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndre Vehreschild <vehre@gmx.de>2015-02-02 10:59:47 +0100
committerAndre Vehreschild <vehre@gcc.gnu.org>2015-02-02 10:59:47 +0100
commit56d1b78a4ac49ff3f526222369001f1d717e483e (patch)
tree1aef4fe064bf03b726363ccaf7b50cccdd9eb5b6
parente404a667bf4b0fcef2a4af1b32ef21f5b07367b6 (diff)
downloadgcc-56d1b78a4ac49ff3f526222369001f1d717e483e.zip
gcc-56d1b78a4ac49ff3f526222369001f1d717e483e.tar.gz
gcc-56d1b78a4ac49ff3f526222369001f1d717e483e.tar.bz2
trans-decl.c (gfc_get_symbol_decl): Removed duplicate code.
* trans-decl.c (gfc_get_symbol_decl): Removed duplicate code. * trans-expr.c (gfc_conv_intrinsic_to_class): Fixed indentation. Fixed datatype of charlen to be a 32-bit int. From-SVN: r220345
-rw-r--r--gcc/fortran/ChangeLog7
-rw-r--r--gcc/fortran/trans-decl.c2
-rw-r--r--gcc/fortran/trans-expr.c40
3 files changed, 27 insertions, 22 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 7e455ef..6d5964a 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,10 @@
+
+2015-01-30 Andre Vehreschild <vehre@gmx.de>
+
+ * trans-decl.c (gfc_get_symbol_decl): Removed duplicate code.
+ * trans-expr.c (gfc_conv_intrinsic_to_class): Fixed indentation.
+ Fixed datatype of charlen to be a 32-bit int.
+
2015-02-01 Joseph Myers <joseph@codesourcery.com>
* error.c (gfc_warning (const char *, ...), gfc_warning_now (const
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c
index 8a65d2b..3664824 100644
--- a/gcc/fortran/trans-decl.c
+++ b/gcc/fortran/trans-decl.c
@@ -1443,8 +1443,6 @@ gfc_get_symbol_decl (gfc_symbol * sym)
if (sym->ts.type == BT_CLASS && sym->backend_decl)
GFC_DECL_CLASS(sym->backend_decl) = 1;
- if (sym->ts.type == BT_CLASS && sym->backend_decl)
- GFC_DECL_CLASS(sym->backend_decl) = 1;
return sym->backend_decl;
}
diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c
index 70da287..6b11fb3 100644
--- a/gcc/fortran/trans-expr.c
+++ b/gcc/fortran/trans-expr.c
@@ -660,26 +660,26 @@ gfc_conv_intrinsic_to_class (gfc_se *parmse, gfc_expr *e,
expression can be evaluated to a constant one. */
else
{
- /* Try to simplify the expression. */
- gfc_simplify_expr (e, 0);
- if (e->expr_type == EXPR_CONSTANT && !e->ts.u.cl->resolved)
- {
- /* Amazingly all data is present to compute the length of a
- constant string, but the expression is not yet there. */
- e->ts.u.cl->length = gfc_get_constant_expr (BT_INTEGER, 1,
- &e->where);
- mpz_set_ui (e->ts.u.cl->length->value.integer,
- e->value.character.length);
- gfc_conv_const_charlen (e->ts.u.cl);
- e->ts.u.cl->resolved = 1;
- gfc_add_modify (&parmse->pre, ctree, e->ts.u.cl->backend_decl);
- }
- else
- {
- gfc_error ("Can't compute the length of the char array at %L.",
- &e->where);
- }
- }
+ /* Try to simplify the expression. */
+ gfc_simplify_expr (e, 0);
+ if (e->expr_type == EXPR_CONSTANT && !e->ts.u.cl->resolved)
+ {
+ /* Amazingly all data is present to compute the length of a
+ constant string, but the expression is not yet there. */
+ e->ts.u.cl->length = gfc_get_constant_expr (BT_INTEGER, 4,
+ &e->where);
+ mpz_set_ui (e->ts.u.cl->length->value.integer,
+ e->value.character.length);
+ gfc_conv_const_charlen (e->ts.u.cl);
+ e->ts.u.cl->resolved = 1;
+ gfc_add_modify (&parmse->pre, ctree, e->ts.u.cl->backend_decl);
+ }
+ else
+ {
+ gfc_error ("Can't compute the length of the char array at %L.",
+ &e->where);
+ }
+ }
}
/* Pass the address of the class object. */
parmse->expr = gfc_build_addr_expr (NULL_TREE, var);