From: Eric Botcazou Date: Tue, 9 Apr 2019 19:30:57 +0000 (+0000) Subject: c-ada-spec.c (print_destructor): Deal with deleting destructors. X-Git-Tag: releases/gcc-7.5.0~494 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=82a3e966f4d105a91419dd7eead5e0da4ee86b79;p=thirdparty%2Fgcc.git c-ada-spec.c (print_destructor): Deal with deleting destructors. * c-ada-spec.c (print_destructor): Deal with deleting destructors. (dump_ada_declaration) : Likewise. From-SVN: r270241 --- diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 5b03b3beb5d4..7e77b0974de8 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,8 @@ +2019-04-09 Eric Botcazou + + * c-ada-spec.c (print_destructor): Deal with deleting destructors. + (dump_ada_declaration) : Likewise. + 2018-12-06 Release Manager * GCC 7.4.0 released. diff --git a/gcc/c-family/c-ada-spec.c b/gcc/c-family/c-ada-spec.c index 18c5ccf1054e..6d7667e82b31 100644 --- a/gcc/c-family/c-ada-spec.c +++ b/gcc/c-family/c-ada-spec.c @@ -2663,6 +2663,8 @@ print_destructor (pretty_printer *buffer, tree t) tree decl_name = DECL_NAME (DECL_ORIGIN (t)); pp_string (buffer, "Delete_"); + if (strncmp (IDENTIFIER_POINTER (DECL_NAME (t)), "__del", 5) == 0) + pp_string (buffer, "And_Free_"); pp_ada_tree_identifier (buffer, decl_name, t, false); } @@ -2915,8 +2917,9 @@ print_ada_declaration (pretty_printer *buffer, tree t, tree type, int spc) if (DECL_ARTIFICIAL (t)) return 0; - /* Only consider constructors/destructors for complete objects. */ - if (strncmp (IDENTIFIER_POINTER (decl_name), "__comp", 6) != 0) + /* Only consider complete constructors and deleting destructors. */ + if (strncmp (IDENTIFIER_POINTER (decl_name), "__comp", 6) != 0 + && strncmp (IDENTIFIER_POINTER (decl_name), "__del", 5) != 0) return 0; }