[Bug c++/58845] Operator || and && broken for vectors

glisse at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Oct 3 19:57:00 GMT 2014


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

--- Comment #23 from Marc Glisse <glisse at gcc dot gnu.org> ---
Author: glisse
Date: Fri Oct  3 19:57:01 2014
New Revision: 215872

URL: https://gcc.gnu.org/viewcvs?rev=215872&root=gcc&view=rev
Log:
2014-10-03  Marc Glisse  <marc.glisse@inria.fr>

    PR c++/54427
    PR c++/57198
    PR c++/58845
gcc/c-family/
    * c-common.c (warn_logical_operator): Punt for vectors.
gcc/cp/
    * typeck.c (cp_build_binary_op): save_expr after convert to save
    redundant operations.
    [TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR]: Handle vectors.
    (cp_build_unary_op) [TRUTH_NOT_EXPR]: Likewise.
gcc/
    * doc/extend.texi (Vector Extensions): Document &&, ||, ! in C++.
gcc/testsuite/
    * g++.dg/ext/vector9.C: Update, not an error anymore.
    * g++.dg/ext/vector27.C: Replace with new test.
    * g++.dg/ext/vector28.C: New file.
    * g++.dg/other/error23.C: Update to a different error.


Added:
    trunk/gcc/testsuite/g++.dg/ext/vector28.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/c-family/ChangeLog
    trunk/gcc/c-family/c-common.c
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/typeck.c
    trunk/gcc/doc/extend.texi
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/ext/vector27.C
    trunk/gcc/testsuite/g++.dg/ext/vector9.C
    trunk/gcc/testsuite/g++.dg/other/error23.C



More information about the Gcc-bugs mailing list