public inbox for archer@sourceware.org
 help / color / mirror / Atom feed
From: Tom Tromey <tromey@redhat.com>
To: Joel Brobecker <brobecker@adacore.com>
Cc: Project Archer <archer@sourceware.org>
Subject: Re: [Archer] C++ draft
Date: Wed, 29 Jun 2011 19:55:00 -0000	[thread overview]
Message-ID: <m37h84xvj0.fsf@fleche.redhat.com> (raw)
In-Reply-To: <20110627212246.GJ11080@adacore.com> (Joel Brobecker's message of "Mon, 27 Jun 2011 14:22:46 -0700")

Joel>   - Not having access to a good C++ compiler on some of the exotic
Joel>     platforms out there.  Getting a g++ installed by some of us at
Joel>     AdaCore who know GCC will take me a bit of time.
[...]
Joel> I think "FUD" #1 can be dismissed as AdaCore's problem, and we'll
Joel> take care of that. 

I definitely wouldn't put it that way.  If you ship on hosts where this
is a problem, it is best to confront it in advance.

Could you say what hosts you are worried about?

Joel>   - The debugging situation; how well can we debug C++? I'm pretty
Joel>     sure that we've given up on stabs, but we're still doing work
Joel>     on eliminating stabs from platforms such as AIX for instance.
Joel>     It's tough to say how far we are, except that we're hoping that
Joel>     we're getting closer (Tristan is working on and off on that).

Joel> I'd like to be reassured that Fear #2 is unjustified, and that you
Joel> will have reasonable functionality even with GCC 4.5 (that's what
Joel> we use at AdaCore, and we'll probably stay with that for another
Joel> 18months).

Actually, debugging GDB will improve.  Hard to believe, but I think it
is true.

The first thing to remember is that it is a slow transition.  GDB will
start using some C++ features, but it will take a long time -- honestly,
probably forever -- to transition to fully idiomatic C++.

I think GDB can handle C-like C++ perfectly well.  It handles some of
the simpler language additions -- e.g., classes -- quite well.

We have pretty-printing for basically everything in the STL.  This means
that printing collections will actually improve.  E.g., right now,
printing a hash table is difficult because the slots are just void*.
With STL and pretty-printing you will see a more obvious display.

Another improvement is exception handling.  Right now, GDB doesn't work
with longjmp on most Linux distros[*].  But, GCC 4.5 shipped with
_Unwind_DebugHook, so if you have debuginfo for libgcc, then "next" over
a throw in C++ will do the right thing -- take you to where the
exception lands.

[*] We fixed this in Fedora -- but with a local glibc patch and with the
as-yet unmerged SystemTap probe patch for GDB.


There are still a lot of C++ constructs that GDB doesn't handle well.
You can see a reasonably complete list on the roadmap, see the
"Expression Parsing" list:

    http://sourceware.org/gdb/wiki/ProjectArcher

Much of this stuff is not very important, though.  I doubt a program
like GDB would run into most of these.

Tom

  reply	other threads:[~2011-06-29 19:55 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-27 21:08 Tom Tromey
2011-06-27 21:23 ` [Archer] " Joel Brobecker
2011-06-29 19:55   ` Tom Tromey [this message]
2011-06-29 21:47     ` [Archer] " Joel Brobecker
2011-06-28  4:33 ` Matt Rice
2011-06-28  8:21 ` Yao Qi
2011-06-28 12:21   ` Gary Benson
2011-06-28 17:08     ` Matt Rice
2011-06-28 17:36     ` Jan Kratochvil
2011-06-29 20:08     ` Tom Tromey
2011-06-29 20:06   ` Tom Tromey
2011-06-30  6:06     ` Yao Qi
2011-09-26 21:01       ` Jim Blandy
2011-06-29 18:52 ` Stan Shebs
2011-06-29 19:03   ` [Archer] " Joel Brobecker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m37h84xvj0.fsf@fleche.redhat.com \
    --to=tromey@redhat.com \
    --cc=archer@sourceware.org \
    --cc=brobecker@adacore.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).