------- Comment #1 from pinskia at gcc dot gnu dot org 2006-11-25 21:19 ------- The problem for the trunk is ovbious: #4 0x080c38c1 in gfc_conv_missing_dummy (se=0xbf926cf4, arg=0x9ea1228, ts= {type = BT_UNKNOWN, kind = 4, derived = 0x0, cl = 0x0}) at /src/gcc/fortran/gcc/gcc/fortran/trans-expr.c:155 155 tmp = build3 (COND_EXPR, TREE_TYPE (se->expr), present, se->expr, (gdb) l 150 { 151 tree present; 152 tree tmp; 153 154 present = gfc_conv_expr_present (arg->symtree->n.sym); 155 tmp = build3 (COND_EXPR, TREE_TYPE (se->expr), present, se->expr, 156 build_int_cst (TREE_TYPE (se->expr), 0));
(gdb) p debug_generic_expr (se->expr) *alpha_imD.988 $1 = void (gdb) p debug_tree (se->expr) <indirect_ref 0xb7d48020 type <real_type 0xb7cec958 real4 SF size <integer_cst 0xb7cdd3d8 constant invariant 32> unit size <integer_cst 0xb7cdd168 constant invariant 4> align 32 symtab 0 alias set -1 precision 32 pointer_to_this <pointer_type 0xb7ceca6c>> arg 0 <parm_decl 0xb7d47050 alpha_im type <pointer_type 0xb7ceca6c type <real_type 0xb7cec958 real4> public unsigned SI size <integer_cst 0xb7cdd3d8 32> unit size <integer_cst 0xb7cdd168 4> align 32 symtab 0 alias set -1> readonly used unsigned SI file t.f90 line 1 size <integer_cst 0xb7cdd3d8 32> unit size <integer_cst 0xb7cdd168 4> align 32 context <function_decl 0xb7d453f0 pw_sumup> initial <pointer_type 0xb7ceca6c> arg-type <pointer_type 0xb7ceca6c>>> We are calling build_int_cst on a "real" type. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |pinskia at gcc dot gnu dot | |org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2006-11-25 21:19:38 date| | Target Milestone|--- |4.2.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29976