diff options
author | Jason Merrill <jason@redhat.com> | 2014-01-28 12:06:40 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2014-01-28 12:06:40 -0500 |
commit | 2e5e7103a39315664f9a625bea42981f5251c27e (patch) | |
tree | 4b8efc5521262ece0ec8b7addd7251990e3344e2 /gcc/cp | |
parent | d5d618b5da3494c1e8037863b626f57ebb78975c (diff) | |
download | gcc-2e5e7103a39315664f9a625bea42981f5251c27e.zip gcc-2e5e7103a39315664f9a625bea42981f5251c27e.tar.gz gcc-2e5e7103a39315664f9a625bea42981f5251c27e.tar.bz2 |
re PR c++/53756 ([C++1y] ICE: in gen_type_die_with_usage, at dwarf2out.c:18774 with -g and operator auto ())
PR c++/53756
gcc/
* dwarf2out.c (auto_die): New static.
(gen_type_die_with_usage): Handle C++1y 'auto'.
(gen_subprogram_die): If in-class DIE had 'auto', emit type again
on definition.
gcc/cp/
* mangle.c (write_unqualified_name): Handle operator auto.
From-SVN: r207197
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/mangle.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 66e5cb5..3da4ab4 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2014-01-28 Jason Merrill <jason@redhat.com> + + PR c++/53756 + * mangle.c (write_unqualified_name): Handle operator auto. + 2014-01-27 Jason Merrill <jason@redhat.com> PR c++/59823 diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c index be3c698..add73cf 100644 --- a/gcc/cp/mangle.c +++ b/gcc/cp/mangle.c @@ -1231,6 +1231,9 @@ write_unqualified_name (const tree decl) fn_type = get_mostly_instantiated_function_type (decl); type = TREE_TYPE (fn_type); } + else if (FNDECL_USED_AUTO (decl)) + type = (DECL_STRUCT_FUNCTION (decl)->language + ->x_auto_return_pattern); else type = DECL_CONV_FN_TYPE (decl); write_conversion_operator_name (type); |