This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [google] Port self-assign warning to google/main branch (issue4442075)
- From: Diego Novillo <dnovillo at google dot com>
- To: Le-Chun Wu <lcwu at google dot com>
- Cc: reply at codereview dot appspotmail dot com, gcc-patches at gcc dot gnu dot org
- Date: Tue, 26 Apr 2011 08:58:52 -0400
- Subject: Re: [google] Port self-assign warning to google/main branch (issue4442075)
- References: <20110422200812.A7FC3184767@lcwu.mtv.corp.google.com>
On Fri, Apr 22, 2011 at 16:08, Le-Chun Wu <lcwu@google.com> wrote:
> 2011-04-22 ÂLe-Chun Wu Â<lcwu@google.com>
>
> gcc/c-family/ChangeLog:
> Â Â Â Â* c-common.c (check_for_self_assign): New function.
> Â Â Â Â* c-common.h: New function declaration.
> Â Â Â Â* c.opt: New option.
>
> gcc/ChangeLog:
> Â Â Â Â* c-parser.c (c_parser_declaration_or_fndef): Check for self-assign.
> Â Â Â Â(c_parser_expr_no_commas): Check for self-assign.
> Â Â Â Â* common.opt: New option.
> Â Â Â Â* doc/invoke.texi: Documentation for new options.
> Â Â Â Â* fold-const.c (operand_equal_p): Allow operands without typres to
> Â Â Â Âcompare.
> Â Â Â Â(fold_unary_loc_1): Renamed from fold_unary_loc.
> Â Â Â Â(fold_unary_loc): New wrapper function.
> Â Â Â Â(fold_binary_loc_1): Renamed from fold_binary_loc.
> Â Â Â Â(fold_binary_loc): New wrapper function.
> Â Â Â Â(fold_ternary_loc_1): Renamed from fold_ternary_loc.
> Â Â Â Â(fold_ternary_loc): New wrapper function.
> Â Â Â Â* tree.h (struct tree_base): New flag for folded expr.
> Â Â Â Â(enum operand_equal_flag): New flags.
>
> gcc/cp/ChangeLog:
> Â Â Â Â* init.c (perform_member_init): Check for self-assign.
> Â Â Â Â* parser.c (expr_is_pod): New function.
> Â Â Â Â(cp_parser_assignment_expression): Check for self-assign.
> Â Â Â Â(cp_parser_init_declarator): Check for self-assign.
>
> gcc/testsuite/ChangeLog:
> Â Â Â Â* testsuite/g++.dg/plugin/selfassign.c (check_self_assign): Renamed
> Â Â Â Âfrom warn_self_assign.
> Â Â Â Â(execute_warn_self_assign): Call a function by its new name.
> Â Â Â Â* testsuite/g++.dg/warn/Wself-assign-1.C: New test case.
> Â Â Â Â* testsuite/g++.dg/warn/Wself-assign-2.C: Likewise.
> Â Â Â Â* testsuite/g++.dg/warn/Wself-assign-3.C: Likewise.
> Â Â Â Â* testsuite/g++.dg/warn/Wself-assign-4.C: Likewise.
> Â Â Â Â* testsuite/g++.dg/warn/Wself-assign-5.C: Likewise.
> Â Â Â Â* testsuite/g++.dg/warn/Wself-assign-non-pod-1.C: Likewise.
> Â Â Â Â* testsuite/g++.dg/warn/Wself-assign-non-pod-2.C: Likewise.
> Â Â Â Â* testsuite/g++.dg/warn/Wself-assign-non-pod-3.C: Likewise.
> Â Â Â Â* testsuite/g++.dg/warn/Wself-assign-non-pod-4.C: Likewise.
> Â Â Â Â* testsuite/g++.dg/warn/Wself-assign-non-pod-5.C: Likewise.
> Â Â Â Â* testsuite/gcc.dg/plugin/selfassign.c (check_self_assign): Renamed
> Â Â Â Âfrom warn_self_assign.
> Â Â Â Â(execute_warn_self_assign): Call a function by its new name.:
> Â Â Â Â* testsuite/gcc.dg/wself-assign-1.c: New test case.
> Â Â Â Â* testsuite/gcc.dg/wself-assign-2.c: Likewise.
OK.
Diego.