------- Additional Comments From reichelt at gcc dot gnu dot org 2004-12-07 17:29 ------- Mark, it looks like your patch only fixed conversion from integer to vector but not the other way round. The following patch fixes the problem for me. Does this look right?
Index: typeck.c =================================================================== RCS file: /home/reichelt/GCC/CVS/gcc-cvs/gcc/gcc/cp/typeck.c,v retrieving revision 1.600 diff -u -p -r1.600 typeck.c --- typeck.c 26 Nov 2004 15:45:47 -0000 1.600 +++ typeck.c 7 Dec 2004 17:24:27 -0000 @@ -4970,7 +4970,8 @@ build_reinterpret_cast_1 (tree type, tre expr = decl_constant_value (expr); return fold_if_not_in_template (build_nop (type, expr)); } - else if (TREE_CODE (type) == VECTOR_TYPE) + else if (TREE_CODE (type) == VECTOR_TYPE + || TREE_CODE (intype) == VECTOR_TYPE) return fold_if_not_in_template (convert_to_vector (type, expr)); else { =================================================================== -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18073