https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61294

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Mon Jul 14 07:36:39 2014
New Revision: 212510

URL: https://gcc.gnu.org/viewcvs?rev=212510&root=gcc&view=rev
Log:
    PR middle-end/61294
gcc/c-family/
    * c.opt (Wmemset-transposed-args): New warning.
gcc/c/
    * c-parser.c (c_parser_expr_list): Add new argument literal_zero_mask.
    If non-NULL, call c_parser_check_literal_zero.
    (c_parser_check_literal_zero): New function.
    (c_parser_postfix_expression_after_primary): Adjust
    c_parser_expr_list caller, handle -Wmemset-transposed-args.
gcc/cp/
    * cp-tree.h (LITERAL_ZERO_P): Define.
    * parser.c (cp_parser_parenthesized_expression_list): Add
    want_literal_zero_p argument, if true, for literal zeros
    insert INTEGER_CSTs with LITERAL_ZERO_P flag set.
    (cp_parser_postfix_expression): Adjust
    cp_parser_parenthesized_expression_list caller, handle
    -Wmemset-transposed-args.
    (literal_zeros): New variable.
gcc/
    * doc/invoke.texi (-Wmemset-transposed-args): Document.
gcc/testsuite/
    * c-c++-common/Wmemset-transposed-args1.c: New test.
    * c-c++-common/Wmemset-transposed-args2.c: New test.
    * g++.dg/warn/Wmemset-transposed-args-1.C: New test.

Added:
    trunk/gcc/testsuite/c-c++-common/Wmemset-transposed-args1.c
    trunk/gcc/testsuite/c-c++-common/Wmemset-transposed-args2.c
    trunk/gcc/testsuite/g++.dg/warn/Wmemset-transposed-args-1.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/c-family/ChangeLog
    trunk/gcc/c-family/c.opt
    trunk/gcc/c/ChangeLog
    trunk/gcc/c/c-parser.c
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/parser.c
    trunk/gcc/doc/invoke.texi
    trunk/gcc/testsuite/ChangeLog

Reply via email to