https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70683
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Author: jakub Date: Wed Apr 27 07:45:57 2016 New Revision: 235469 URL: https://gcc.gnu.org/viewcvs?rev=235469&root=gcc&view=rev Log: PR sanitizer/70683 * tree.h (inchash::add_expr): Add FLAGS argument. * tree.c (inchash::add_expr): Likewise. If not OEP_ADDRESS_OF, use STRIP_NOPS first. For INTEGER_CST assert not OEP_ADDRESS_OF. For REAL_CST and !HONOR_SIGNED_ZEROS (t) hash +/- 0 the same. Formatting fix. Adjust recursive calls. For tcc_comparison, if swap_tree_comparison (code) is smaller than code, hash that and arguments in the other order. Hash CONVERT_EXPR the same as NOP_EXPR. For OEP_ADDRESS_OF hash MEM_REF with 0 offset of ADDR_EXPR of decl as the decl itself. Add or remove OEP_ADDRESS_OF from recursive flags as needed. For FMA_EXPR, WIDEN_MULT_{PLUS,MINUS}_EXPR hash the first two operands commutatively and only the third one normally. For internal CALL_EXPR hash in CALL_EXPR_IFN. Modified: trunk/gcc/ChangeLog trunk/gcc/tree.c trunk/gcc/tree.h