Commit ce30e6fd by Jason Merrill Committed by Jason Merrill

c-pretty-print.c (pp_c_specifier_qualifier_list): Use () rather than [], and…

c-pretty-print.c (pp_c_specifier_qualifier_list): Use () rather than [], and move before the element type.

	* c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
	Use () rather than [], and move before the element type.
	* cp-demangle.c (d_print_mod): Use () rather than [] for vectors.

From-SVN: r157650
parent 3a1ef68a
2010-03-22 Jason Merrill <jason@redhat.com>
* c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
Use () rather than [], and move before the element type.
2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* doc/configfiles.texi (Configuration Files): Removed * doc/configfiles.texi (Configuration Files): Removed
......
...@@ -454,16 +454,17 @@ pp_c_specifier_qualifier_list (c_pretty_printer *pp, tree t) ...@@ -454,16 +454,17 @@ pp_c_specifier_qualifier_list (c_pretty_printer *pp, tree t)
case VECTOR_TYPE: case VECTOR_TYPE:
case COMPLEX_TYPE: case COMPLEX_TYPE:
pp_c_specifier_qualifier_list (pp, TREE_TYPE (t));
if (code == COMPLEX_TYPE) if (code == COMPLEX_TYPE)
pp_c_ws_string (pp, flag_isoc99 ? "_Complex" : "__complex__"); pp_c_ws_string (pp, flag_isoc99 ? "_Complex" : "__complex__");
else if (code == VECTOR_TYPE) else if (code == VECTOR_TYPE)
{ {
pp_c_ws_string (pp, "__vector"); pp_c_ws_string (pp, "__vector");
pp_c_left_bracket (pp); pp_c_left_paren (pp);
pp_wide_integer (pp, TYPE_VECTOR_SUBPARTS (t)); pp_wide_integer (pp, TYPE_VECTOR_SUBPARTS (t));
pp_c_right_bracket (pp); pp_c_right_paren (pp);
pp_c_whitespace (pp);
} }
pp_c_specifier_qualifier_list (pp, TREE_TYPE (t));
break; break;
default: default:
......
2010-03-22 Jason Merrill <jason@redhat.com>
* gcc.dg/pr36997.c: Adjust error message.
* g++.dg/ext/vector9.C: Likewise.
* g++.dg/conversion/simd3.C: Likewise.
* g++.dg/other/error23.C: Likewise.
2010-03-22 Michael Matz <matz@suse.de> 2010-03-22 Michael Matz <matz@suse.de>
PR middle-end/43475 PR middle-end/43475
......
...@@ -10,6 +10,6 @@ unsigned int __attribute__((vector_size(16))) e; ...@@ -10,6 +10,6 @@ unsigned int __attribute__((vector_size(16))) e;
void foo() void foo()
{ {
b + d; /* { dg-error "invalid operands to binary" } */ b + d; /* { dg-error "invalid operands to binary" } */
d += e; /* { dg-message "use -flax-vector-conversions to permit conversions between vectors with differing element types or numbers of subparts.*cannot convert 'unsigned int __vector.4.' to 'int __vector.4.' in assignment" } */ d += e; /* { dg-message "use -flax-vector-conversions to permit conversions between vectors with differing element types or numbers of subparts.*cannot convert '__vector.4. unsigned int' to '__vector.4. int' in assignment" } */
d2 += d; d2 += d;
} }
...@@ -6,5 +6,5 @@ typedef int v4i __attribute__((vector_size(8))); ...@@ -6,5 +6,5 @@ typedef int v4i __attribute__((vector_size(8)));
void foo() void foo()
{ {
v4f v; v4f v;
!(v4i)v; // { dg-error "int __vector.2|argument" } !(v4i)v; // { dg-error "__vector.2. int|argument" }
} }
...@@ -2,4 +2,4 @@ ...@@ -2,4 +2,4 @@
// { dg-do compile } // { dg-do compile }
int v __attribute ((vector_size (8))); int v __attribute ((vector_size (8)));
bool b = !(v - v); // { dg-error "could not convert .\\(int __vector.2.\\)\\{0, 0\\}. to .bool.|in argument to unary" } bool b = !(v - v); // { dg-error "could not convert .\\(__vector.2. int\\)\\{0, 0\\}. to .bool.|in argument to unary" }
...@@ -5,5 +5,5 @@ typedef int __m64 __attribute__ ((__vector_size__ (8), __may_alias__)); ...@@ -5,5 +5,5 @@ typedef int __m64 __attribute__ ((__vector_size__ (8), __may_alias__));
__m64 _mm_add_si64 (__m64 __m1, __m64 __m2) __m64 _mm_add_si64 (__m64 __m1, __m64 __m2)
{ {
return (__m64) __builtin_ia32_paddq ((long long)__m1, (long long)__m2); /* { dg-error "incompatible type" } */ return (__m64) __builtin_ia32_paddq ((long long)__m1, (long long)__m2); /* { dg-error "incompatible type" } */
/* { dg-message "note: expected 'long long int __vector.1.' but argument is of type 'long long int'" "" { target *-*-* } 7 } */ /* { dg-message "note: expected '__vector.1. long long int' but argument is of type 'long long int'" "" { target *-*-* } 7 } */
} }
2010-03-22 Jason Merrill <jason@redhat.com>
* cp-demangle.c (d_print_mod): Use () rather than [] for vectors.
2010-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2010-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* Makefile.in (all): Do not use exec. * Makefile.in (all): Do not use exec.
......
...@@ -4506,9 +4506,9 @@ d_print_mod (struct d_print_info *dpi, ...@@ -4506,9 +4506,9 @@ d_print_mod (struct d_print_info *dpi,
d_print_comp (dpi, d_left (mod)); d_print_comp (dpi, d_left (mod));
return; return;
case DEMANGLE_COMPONENT_VECTOR_TYPE: case DEMANGLE_COMPONENT_VECTOR_TYPE:
d_append_string (dpi, " vector["); d_append_string (dpi, " __vector(");
d_print_comp (dpi, d_left (mod)); d_print_comp (dpi, d_left (mod));
d_append_char (dpi, ']'); d_append_char (dpi, ')');
return; return;
default: default:
......
...@@ -3928,10 +3928,10 @@ _Z1fN1SUt_E ...@@ -3928,10 +3928,10 @@ _Z1fN1SUt_E
f(S::{unnamed type#1}) f(S::{unnamed type#1})
--format=gnu-v3 --format=gnu-v3
_Z1fDv32_f _Z1fDv32_f
f(float vector[32]) f(float __vector(32))
--format=gnu-v3 --format=gnu-v3
_Z1fIfLi4EEvDv_T0__T_ _Z1fIfLi4EEvDv_T0__T_
void f<float, 4>(float vector[4]) void f<float, 4>(float __vector(4))
--format=gnu-v3 --format=gnu-v3
_Z1fI1AEDTclonplfp_fp_EET_ _Z1fI1AEDTclonplfp_fp_EET_
decltype ((operator+)({parm#1}, {parm#1})) f<A>(A) decltype ((operator+)({parm#1}, {parm#1})) f<A>(A)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment