From abfe01cec91fae69bb05700bf6a53f41a64fd15c Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Wed, 3 Feb 2010 15:42:35 -0500 Subject: re PR c++/12909 (ambiguity in mangling vector types) PR c++/12909 * mangle.c (write_type) [VECTOR_TYPE]: Change mangling. From-SVN: r156481 --- gcc/cp/ChangeLog | 6 ++++++ gcc/cp/mangle.c | 11 ++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'gcc/cp') diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index b122aec..c3b1bdc 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2010-02-03 Jason Merrill + + PR c++/12909 + * mangle.c (write_type) [VECTOR_TYPE]: Change mangling with + -fabi-version=4. + 2010-02-02 Jason Merrill PR c++/41090 diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c index c14f5b7..37293f1 100644 --- a/gcc/cp/mangle.c +++ b/gcc/cp/mangle.c @@ -1850,7 +1850,16 @@ write_type (tree type) break; case VECTOR_TYPE: - write_string ("U8__vector"); + if (abi_version_at_least (4)) + { + write_string ("Dv"); + /* Non-constant vector size would be encoded with + _ expression, but we don't support that yet. */ + write_unsigned_number (TYPE_VECTOR_SUBPARTS (type)); + write_char ('_'); + } + else + write_string ("U8__vector"); write_type (TREE_TYPE (type)); break; -- cgit v1.1