https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78092
--- Comment #2 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- The change occurred between revisions r213007 (2014-07-24, compiles) and r213805 (2014-08-11, ICE), likely r213079 (PRs 57305, 61881, and 61888). Backtrace with r241433 is * thread #1: tid = 0xd87554, 0x0000000100105200 f951`gfc_class_vptr_get(decl=0x0000000143ee4000) + 64 at trans-expr.c:208, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x8) frame #0: 0x0000000100105200 f951`gfc_class_vptr_get(decl=0x0000000143ee4000) + 64 at trans-expr.c:208 205 decl = build_fold_indirect_ref_loc (input_location, decl); 206 vptr = gfc_advance_chain (TYPE_FIELDS (TREE_TYPE (decl)), 207 CLASS_VPTR_FIELD); -> 208 return fold_build3_loc (input_location, COMPONENT_REF, 209 TREE_TYPE (vptr), decl, vptr, 210 NULL_TREE); 211 } (lldb) bt * thread #1: tid = 0xd87554, 0x0000000100105200 f951`gfc_class_vptr_get(decl=0x0000000143ee4000) + 64 at trans-expr.c:208, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x8) * frame #0: 0x0000000100105200 f951`gfc_class_vptr_get(decl=0x0000000143ee4000) + 64 at trans-expr.c:208 frame #1: 0x0000000100105809 f951`gfc_class_vtab_size_get(tree_node*) + 5 at trans-expr.c:279 frame #2: 0x0000000100105804 f951`gfc_class_vtab_size_get(cl=<unavailable>) + 4 frame #3: 0x0000000100127a48 f951`::gfc_conv_intrinsic_sizeof(se=0x00007fff5fbfe5c0, expr=<unavailable>) + 760 at trans-intrinsic.c:6715 frame #4: 0x000000010012ebda f951`gfc_conv_intrinsic_function(se=0x00007fff5fbfe5c0, expr=0x0000000142308c80) + 5818 at trans-intrinsic.c:8986 frame #5: 0x0000000100114d35 f951`::gfc_conv_function_expr(se=0x00007fff5fbfe5c0, expr=<unavailable>) + 117 at trans-expr.c:6714 frame #6: 0x000000010010b504 f951`gfc_conv_expr_val(se=0x00007fff5fbfe5c0, expr=<unavailable>) + 20 at trans-expr.c:7786 frame #7: 0x000000010011acbb f951`::gfc_conv_intrinsic_function_args(se=0x00007fff5fbfea50, argarray=0x00007fff5fbfe660, nargs=1, expr=<unavailable>, expr=<unavailable>) + 107 at trans-intrinsic.c:229 frame #8: 0x000000010011c107 f951`::gfc_conv_intrinsic_conversion(se=0x00007fff5fbfea50, expr=0x0000000142308480) + 167 at trans-intrinsic.c:287 frame #9: 0x000000010012f22b f951`gfc_conv_intrinsic_function(se=0x00007fff5fbfea50, expr=0x0000000142308480) + 7435 at trans-intrinsic.c:8641 frame #10: 0x0000000100114d35 f951`::gfc_conv_function_expr(se=0x00007fff5fbfea50, expr=<unavailable>) + 117 at trans-expr.c:6714 frame #11: 0x0000000100117094 f951`::gfc_trans_assignment_1(expr1=0x0000000142308290, expr2=0x0000000142308480, init_flag=<unavailable>, dealloc=<unavailable>) + 612 at trans-expr.c:9489 frame #12: 0x00000001000db876 f951`::trans_code(code=0x0000000142308a30, cond=0x0000000000000000) + 790 at trans.c:1710 frame #13: 0x0000000100102a45 f951`gfc_generate_function_code(ns=<unavailable>) + 965 at trans-decl.c:6252 frame #14: 0x00000001001027dd f951`gfc_generate_function_code(gfc_namespace*) + 107 at trans-decl.c:5232 frame #15: 0x0000000100102772 f951`gfc_generate_function_code(ns=0x0000000146017400) + 242 frame #16: 0x0000000100090e35 f951`gfc_parse_file() + 1749 at parse.c:5940 frame #17: 0x00000001000d7e76 f951`::gfc_be_parse_file() + 54 at f95-lang.c:198 frame #18: 0x00000001009fa07a f951`::compile_file() + 58 at toplev.c:468 frame #19: 0x0000000100e1a841 f951`toplev::main(int, char**) + 1216 at toplev.c:2012 frame #20: 0x0000000100e1a381 f951`toplev::main(this=0x00007fff5fbff2b0, argc=<unavailable>, argv=<unavailable>) + 737 frame #21: 0x0000000100e1c439 f951`main(argc=2, argv=0x00007fff5fbff2f8) + 41 at main.c:39