http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50608
--- Comment #6 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2011-11-04 21:46:10 UTC --- Author: ebotcazou Date: Fri Nov 4 21:46:07 2011 New Revision: 180986 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180986 Log: 2011-11-04 Eric Botcazou <ebotca...@adacore.com> PR c++/50608 * c-parser.c (c_parser_postfix_expression) <RID_OFFSETOF>: Adjust call to fold_offsetof. * c-typeck.c (build_unary_op) <ADDR_EXPR>: Call fold_offsetof_1. c-family/ * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1. (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust. <INDIRECT_REF>: Return the argument. <ARRAY_REF>: Remove special code for negative offset. Call fold_build_pointer_plus instead of size_binop. (fold_offsetof): Remove STOP_REF argument and adjust. * c-common.h (fold_offsetof_1): Declare. (fold_offsetof): Remove STOP_REF argument. cp/ * semantics.c (finish_offsetof): Adjust call to fold_offsetof. * typeck.c (cp_build_addr_expr_1): Call fold_offsetof_1. Added: trunk/gcc/testsuite/g++.dg/other/offsetof7.C Modified: trunk/gcc/ChangeLog trunk/gcc/c-family/ChangeLog trunk/gcc/c-family/c-common.c trunk/gcc/c-family/c-common.h trunk/gcc/c-parser.c trunk/gcc/c-typeck.c trunk/gcc/cp/ChangeLog trunk/gcc/cp/semantics.c trunk/gcc/cp/typeck.c trunk/gcc/testsuite/ChangeLog