re PR target/14899 (wrong code due to change in compatibility rules for vector types)
authorPaolo Bonzini <bonzini@gnu.org>
Wed, 5 May 2004 07:23:00 +0000 (07:23 +0000)
committerPaolo Bonzini <bonzini@gcc.gnu.org>
Wed, 5 May 2004 07:23:00 +0000 (07:23 +0000)
commitcc27e657d36005a8b1672f2ee60a5ad779a0d804
treee6579b9ad0769f3b795f008e3c607e1affce3794
parentd70bd7fff0dc91c22ce7e118b90dc91bfa1e935a
re PR target/14899 (wrong code due to change in compatibility rules for vector types)

gcc/ChangeLog:
2004-05-04  Paolo Bonzini  <bonzini@gnu.org>
            Richard Henderson  <rth@redhat.com>

        PR target/14899

        * c-common.c (vector_types_convertible_p): New function.
        * c-typeck.c (comptypes): Recurse on vector types.
        (convert_for_assignment): Use vector_types_convertible_p.
        (digest_init): Use vector_types_convertible_p to check
        validness of constant vector initializers; otherwise treat
        them as scalars.
        * tree.c (make_or_reuse_type): New.
        (build_common_tree_nodes): Use it.
        * cp/call.c (standard_conversion): Likewise.
        * cp/typeck.c (comptypes): Recurse on vector types.
        (convert_for_assignment): Use vector_types_convertible_p.
        * config/rs6000/rs6000.c (build_opaque_vector_type):
        New function.
        (rs6000_init_builtins): Use it.

gcc/testsuite/ChangeLog:
2004-05-04  Paolo Bonzini  <bonzini@gnu.org>

* g++.dg/ext/spe1.C: New testcase.

Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r81504
gcc/ChangeLog
gcc/c-common.c
gcc/c-common.h
gcc/c-typeck.c
gcc/cp/call.c
gcc/cp/typeck.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ext/spe1.C [new file with mode: 0644]
gcc/tree.c