------- Comment #8 from jvdelisle at gcc dot gnu dot org 2008-02-16 18:22 ------- Here is the culprit:
Index: iresolve.c =================================================================== --- iresolve.c (revision 132355) +++ iresolve.c (working copy) @@ -585,6 +585,7 @@ gfc_resolve_cshift (gfc_expr *f, gfc_exp if (shift->ts.kind < m) { gfc_typespec ts; + gfc_clear_ts (&ts); ts.type = BT_INTEGER; ts.kind = m; gfc_convert_type_warn (shift, &ts, 2, 0); This fixes it. There are a bunch of these in iresolve.c I will fix them all for 4.4 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34907