Ping
http://gcc.gnu.org/ml/gcc-patches/2012-09/msg01557.html

On Fri, 21 Sep 2012, Marc Glisse wrote:

Hello,

this patch adds mixed scalar-vector operations to the C++ front-end. It also adds a few operators to the C front-end (comparisons in particular). This patch is mostly an import from the C front-end (with the maybe_const stuff removed).

2012-09-22  Marc Glisse  <marc.gli...@inria.fr>

        PR c++/54427

c/
        * c-typeck.c: Include c-common.h.
        (enum stv_conv): Moved to c-common.h.
        (scalar_to_vector): Moved to c-common.c.
        * Make-lang.in: c-typeck.c depends on c-common.h.

c-family/
        * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
        more operations.
        * c-common.h (enum stv_conv): Moved from c-typeck.c.
        (scalar_to_vector): Declare.

cp/
        * typeck.c (cp_build_binary_op): Handle mixed scalar-vector
        operations.
        [LSHIFT_EXPR, RSHIFT_EXPR]: Likewise.

gcc/
        * fold-const.c (fold_binary_loc): Use build_zero_cst instead of
        build_int_cst for a potential vector.

testsuite/
        * c-c++-common/vector-scalar.c: New testcase.
        * g++.dg/ext/vector5.C: This is not an error anymore.
        * gcc.dg/init-vec-1.c: Move ...
        * c-c++-common/init-vec-1.c: ... here. Adapt error message.
        * gcc.c-torture/execute/vector-shift1.c: Move ...
        * c-c++-common/torture/vector-shift1.c: ... here.
        * gcc.dg/scal-to-vec1.c: Move ...
        * c-c++-common/scal-to-vec1.c: ... here. Avoid narrowing for
        C++11. Adapt error message.
        * gcc.dg/convert-vec-1.c: Move ...
        * c-c++-common/convert-vec-1.c: ... here.
        * gcc.dg/scal-to-vec2.c: Move ...
        * c-c++-common/scal-to-vec2.c: ... here.

--
Marc Glisse

Reply via email to