This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r120572 - in /trunk/gcc: ChangeLog c-common.c c...
- From: shinwell at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Mon, 08 Jan 2007 09:25:07 -0000
- Subject: r120572 - in /trunk/gcc: ChangeLog c-common.c c...
Author: shinwell
Date: Mon Jan 8 09:25:07 2007
New Revision: 120572
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=120572
Log:
gcc/
* c.opt: Add -flax-vector-conversions.
* c-typeck.c (convert_for_assignment): Pass flag to
vector_types_convertible_p to allow emission of note.
(digest_init): Likewise.
(comptypes_internal): Use vector_types_convertible_p.
* c-opts.c: Handle -flax-vector-conversions.
* c-common.c (flag_lax_vector_conversions): New.
(vector_types_convertible_p): Unless -flax-vector conversions
has been passed, disallow conversions between vectors with
differing numbers of subparts and/or element types. If such
a conversion is disallowed, possibly emit a note on the first
occasion only to inform the user of -flax-vector-conversions.
The new last argument specifies this.
* c-common.h (flag_lax_vector_conversions): New.
(vector_types_convertible_p): Add extra argument.
* config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
char_type_node for V*QI type vectors.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins):
Update to satisfy new typechecking rules.
* config/rs6000/altivec.h (vec_cmple): Use vec_cmpge.
* doc/invoke.texi (C Dialect Options): Document
-flax-vector-conversions.
gcc/cp/
* call.c (standard_conversion): Pass flag to
vector_types_convertible_p to disallow emission of note.
* typeck.c (convert_for_assignment): Pass flag to
vector_types_convertible_p to allow emission of note.
(ptr_reasonably_similar): Pass flag to vector_types_convertible_p
to disallow emission of note.
gcc/testsuite/
* gcc.target/i386/20020531-1.c: Use "char" not "unsigned char"
in __v8qi typedef.
* gcc.target/powerpc/altivec-vec-merge.c (foo): Add casts.
* gcc.dg/simd-1.c: Update dg-error directives to reflect new
compiler behaviour.
* gcc.dg/simd-5.c: Likewise.
* gcc.dg/simd-6.c: Likewise.
* g++.dg/conversion/simd1.C: Likewise.
* g++.dg/conversion/simd3.C: Likewise.
* g++.dg/ext/attribute-test-2.C (data): Add "vs" member.
(main): Use it.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-common.c
trunk/gcc/c-common.h
trunk/gcc/c-opts.c
trunk/gcc/c-typeck.c
trunk/gcc/c.opt
trunk/gcc/config/i386/i386.c
trunk/gcc/config/rs6000/altivec.h
trunk/gcc/config/rs6000/rs6000-c.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/call.c
trunk/gcc/cp/typeck.c
trunk/gcc/doc/invoke.texi
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/conversion/simd1.C
trunk/gcc/testsuite/g++.dg/conversion/simd3.C
trunk/gcc/testsuite/g++.dg/ext/attribute-test-2.C
trunk/gcc/testsuite/gcc.dg/simd-1.c
trunk/gcc/testsuite/gcc.dg/simd-5.c
trunk/gcc/testsuite/gcc.dg/simd-6.c
trunk/gcc/testsuite/gcc.target/i386/20020531-1.c
trunk/gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c