http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57331
Bug ID: 57331 Summary: ICE: tree check: expected integer_type or enumeral_type or boolean_type or real_type or fixed_point_type, have pointer_type in int_fits_type_p, at tree.c:8437 Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: dimhen at gmail dot com r199075 FAIL $ cat x.i int J_0; int a; static void * foo(int * x) { for(; 0<a; J_0++) return (void*)1; return 0; } long b = 0; int c; int bar(void) { b = (long) foo(&c); if(b) return 0; } ]$ gcc -fpreprocessed -O3 -c x.i x.i: In function 'bar': x.i:12:5: internal compiler error: tree check: expected integer_type or enumeral_type or boolean_type or real_type or fixed_point_type, have pointer_type in int_fits_type_p, at tree.c:8437 int bar(void) ^ 0xc0ee0a tree_check_failed(tree_node const*, char const*, int, char const*, ...) /home/dimhen/src/gcc_current/gcc/tree.c:9059 0xc15d0c tree_check5 /home/dimhen/src/gcc_current/gcc/tree.h:3991 0xc15d0c int_fits_type_p(tree_node const*, tree_node const*) /home/dimhen/src/gcc_current/gcc/tree.c:8437 0xbff35c simplify_cond_using_ranges /home/dimhen/src/gcc_current/gcc/tree-vrp.c:8672 0xbff35c simplify_stmt_using_ranges /home/dimhen/src/gcc_current/gcc/tree-vrp.c:8993 0xbff35c vrp_fold_stmt /home/dimhen/src/gcc_current/gcc/tree-vrp.c:9069 0xb5b867 substitute_and_fold(tree_node* (*)(tree_node*), bool (*)(gimple_stmt_iterator_d*), bool) /home/dimhen/src/gcc_current/gcc/tree-ssa-propagate.c:1162 0xc0c294 vrp_finalize /home/dimhen/src/gcc_current/gcc/tree-vrp.c:9241 0xc0c294 execute_vrp /home/dimhen/src/gcc_current/gcc/tree-vrp.c:9337 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions.