From 8bbeca1f6a50cf9bd19c5721f22021f9534ac9e5 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Thu, 5 Mar 2015 13:55:43 +0000 Subject: [PATCH] re PR ada/65319 (FAIL: g++.dg/other/dump-ada-spec-3.C -std=gnu++98 (internal compiler error)) PR ada/65319 * c-ada-spec.c (print_destructor): Remove obsolete code. From-SVN: r221214 --- gcc/c-family/ChangeLog | 5 ++++ gcc/c-family/c-ada-spec.c | 13 ++-------- gcc/testsuite/ChangeLog | 4 +++ gcc/testsuite/g++.dg/other/dump-ada-spec-3.C | 27 ++++++++++++++++++++ 4 files changed, 38 insertions(+), 11 deletions(-) create mode 100644 gcc/testsuite/g++.dg/other/dump-ada-spec-3.C diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 76cf06a2ab2e..003eeeb6e8f6 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,8 @@ +2015-03-05 Eric Botcazou + + PR ada/65319 + * c-ada-spec.c (print_destructor): Remove obsolete code. + 2015-02-11 Jakub Jelinek Backported from mainline diff --git a/gcc/c-family/c-ada-spec.c b/gcc/c-family/c-ada-spec.c index fc21b629aaae..22027797c654 100644 --- a/gcc/c-family/c-ada-spec.c +++ b/gcc/c-family/c-ada-spec.c @@ -2538,18 +2538,9 @@ static void print_destructor (pretty_printer *buffer, tree t) { tree decl_name = DECL_NAME (DECL_ORIGIN (t)); - const char *s = IDENTIFIER_POINTER (decl_name); - if (*s == '_') - { - for (s += 2; *s != ' '; s++) - pp_character (buffer, *s); - } - else - { - pp_string (buffer, "Delete_"); - pp_ada_tree_identifier (buffer, decl_name, t, false); - } + pp_string (buffer, "Delete_"); + pp_ada_tree_identifier (buffer, decl_name, t, false); } /* Return the name of type T. */ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 8ad53a3f4404..8169c0cda466 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2015-03-05 Eric Botcazou + + * g++.dg/other/dump-ada-spec-3.C: New test. + 2015-03-04 Thomas Preud'homme Backport from mainline diff --git a/gcc/testsuite/g++.dg/other/dump-ada-spec-3.C b/gcc/testsuite/g++.dg/other/dump-ada-spec-3.C new file mode 100644 index 000000000000..3d5e3f10dfcc --- /dev/null +++ b/gcc/testsuite/g++.dg/other/dump-ada-spec-3.C @@ -0,0 +1,27 @@ +/* { dg-do compile } */ +/* { dg-options "-fdump-ada-spec" } */ + +#include + +using namespace std; + +class Base { + public: + int My_V; + virtual void Primitive (); + + Base (); +}; + +void Base::Primitive () { + cout << "C++ Primitive " << this->My_V << "\n"; +} + +Base::Base () { +} + +void Dispatch (Base * B) { + B->Primitive (); +} + +/* { dg-final { cleanup-ada-spec } } */ -- 2.47.2