aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorTobias Burnus <burnus@gcc.gnu.org>2008-09-08 09:19:46 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2008-09-08 09:19:46 +0200
commit10c17e8fd0cf9fe6471f4841472337364f54b1e1 (patch)
treecd14a2e3238e6fc7639f55953f8d23bf3c414e38 /gcc/fortran
parentd9de9cad96c152a971e7113f3b15030b9d649467 (diff)
downloadgcc-10c17e8fd0cf9fe6471f4841472337364f54b1e1.zip
gcc-10c17e8fd0cf9fe6471f4841472337364f54b1e1.tar.gz
gcc-10c17e8fd0cf9fe6471f4841472337364f54b1e1.tar.bz2
re PR fortran/37400 (implicit character(len=*,kind=kind('A')) (Q) ... no longer gives the right answer.)
2008-09-07 Tobias Burnus <burnus@net.b.de> PR fortran/37400 * symbol.c (gfc_set_default_type): Copy char len. 2008-09-07 Tobias Burnus <burnus@net.b.de> PR fortran/37400 * gfortran.dg/implicit_12.f90: New test. From-SVN: r140100
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/symbol.c6
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 0e64d91..f80f6a0 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+2008-09-08 Tobias Burnus <burnus@net.b.de>
+
+ PR fortran/37400
+ * symbol.c (gfc_set_default_type): Copy char len.
+
2008-09-06 Steven G. Kargl <kargls@comcast.net>
PR fortran/36153
diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c
index 0b58079..905b243 100644
--- a/gcc/fortran/symbol.c
+++ b/gcc/fortran/symbol.c
@@ -257,6 +257,12 @@ gfc_set_default_type (gfc_symbol *sym, int error_flag, gfc_namespace *ns)
sym->ts = *ts;
sym->attr.implicit_type = 1;
+ if (ts->cl)
+ {
+ sym->ts.cl = gfc_get_charlen ();
+ *sym->ts.cl = *ts->cl;
+ }
+
if (sym->attr.is_bind_c == 1)
{
/* BIND(C) variables should not be implicitly declared. */