diff options
author | Jason Merrill <jason@redhat.com> | 2002-06-18 12:05:31 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2002-06-18 12:05:31 -0400 |
commit | 83b14b884703a989f1ac97df97588fddbc979c5a (patch) | |
tree | 98c55d8452bda03001636a7d267a1f324d91b761 /gcc/cp/mangle.c | |
parent | 3831381763ca5f41d6f7406d590e1e38a8531e1c (diff) | |
download | gcc-83b14b884703a989f1ac97df97588fddbc979c5a.tar.gz |
C++ ABI changes.
* class.c (build_base_field): Set DECL_PACKED.
(layout_class_type): Don't use tail padding of PODs.
* mangle.c (write_unqualified_name): Fix template conversion op
mangling.
From-SVN: r54747
Diffstat (limited to 'gcc/cp/mangle.c')
-rw-r--r-- | gcc/cp/mangle.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c index 12888ace7d8..996b0272d73 100644 --- a/gcc/cp/mangle.c +++ b/gcc/cp/mangle.c @@ -988,8 +988,17 @@ write_unqualified_name (decl) { /* Conversion operator. Handle it right here. <operator> ::= cv <type> */ + tree type; + if (decl_is_template_id (decl, NULL)) + { + tree fn_type = get_mostly_instantiated_function_type (decl, NULL, + NULL); + type = TREE_TYPE (fn_type); + } + else + type = TREE_TYPE (DECL_NAME (decl)); write_string ("cv"); - write_type (TREE_TYPE (DECL_NAME (decl))); + write_type (type); } else if (DECL_OVERLOADED_OPERATOR_P (decl)) { |