------- Comment #2 from jvdelisle at gcc dot gnu dot org 2008-03-28 04:18 ------- The following patch appears to fix this.
Index: iresolve.c =================================================================== --- iresolve.c (revision 133275) +++ iresolve.c (working copy) @@ -597,7 +597,8 @@ gfc_resolve_cshift (gfc_expr *f, gfc_exp if (dim != NULL) { - if (dim->expr_type != EXPR_CONSTANT && dim->symtree->n.sym->attr.optional) + if (dim->expr_type != EXPR_CONSTANT && dim->symtree != NULL + && dim->symtree->n.sym->attr.optional) { /* Mark this for later setting the type in gfc_conv_missing_dummy. */ dim->representation.length = shift->ts.kind; Another of my doing. I will commit after regression testing. -- jvdelisle at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Known to fail| |4.3.1 4.4.0 Known to work| |4.1.2 4.2.4 Summary|Compile time segmentation |[4.3/4.4 Regression] Compile |fault for CSHIFT with |time segmentation fault for |negative third arg |CSHIFT with negative third | |arg http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35724