Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard.
2014-04-15 Richard Biener <rguent...@suse.de> * tree.c (iterative_hash_expr): Use enum tree_code_class to store TREE_CODE_CLASS. (tree_block): Likewise. (tree_set_block): Likewise. * tree.h (fold_build_pointer_plus_loc): Use convert_to_ptrofftype_loc. Index: gcc/tree.c =================================================================== --- gcc/tree.c (revision 209374) +++ gcc/tree.c (working copy) @@ -7387,7 +7387,7 @@ iterative_hash_expr (const_tree t, hashv { int i; enum tree_code code; - char tclass; + enum tree_code_class tclass; if (t == NULL_TREE) return iterative_hash_hashval_t (0, val); @@ -11235,7 +11235,7 @@ walk_tree_without_duplicates_1 (tree *tp tree tree_block (tree t) { - char const c = TREE_CODE_CLASS (TREE_CODE (t)); + const enum tree_code_class c = TREE_CODE_CLASS (TREE_CODE (t)); if (IS_EXPR_CODE_CLASS (c)) return LOCATION_BLOCK (t->exp.locus); @@ -11246,7 +11246,7 @@ tree_block (tree t) void tree_set_block (tree t, tree b) { - char const c = TREE_CODE_CLASS (TREE_CODE (t)); + const enum tree_code_class c = TREE_CODE_CLASS (TREE_CODE (t)); if (IS_EXPR_CODE_CLASS (c)) { Index: gcc/tree.h =================================================================== --- gcc/tree.h (revision 209374) +++ gcc/tree.h (working copy) @@ -4187,7 +4187,7 @@ static inline tree fold_build_pointer_plus_loc (location_t loc, tree ptr, tree off) { return fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (ptr), - ptr, fold_convert_loc (loc, sizetype, off)); + ptr, convert_to_ptrofftype_loc (loc, off)); } #define fold_build_pointer_plus(p,o) \ fold_build_pointer_plus_loc (UNKNOWN_LOCATION, p, o)