diff options
author | Jason Merrill <jason@redhat.com> | 2010-02-03 15:42:35 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2010-02-03 15:42:35 -0500 |
commit | abfe01cec91fae69bb05700bf6a53f41a64fd15c (patch) | |
tree | f8b4a568a621bd1d216e238d04ed36cb854f1bc4 /gcc/cp | |
parent | 07738b87c4273fcfd97bf40940fe4f26ea555292 (diff) | |
download | gcc-abfe01cec91fae69bb05700bf6a53f41a64fd15c.zip gcc-abfe01cec91fae69bb05700bf6a53f41a64fd15c.tar.gz gcc-abfe01cec91fae69bb05700bf6a53f41a64fd15c.tar.bz2 |
re PR c++/12909 (ambiguity in mangling vector types)
PR c++/12909
* mangle.c (write_type) [VECTOR_TYPE]: Change mangling.
From-SVN: r156481
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/mangle.c | 11 |
2 files changed, 16 insertions, 1 deletions
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 <jason@redhat.com> + + PR c++/12909 + * mangle.c (write_type) [VECTOR_TYPE]: Change mangling with + -fabi-version=4. + 2010-02-02 Jason Merrill <jason@redhat.com> 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; |