From: Joel Brobecker <brobecker@adacore.com>
To: David Blaikie <dblaikie@gmail.com>
Cc: Eric Christopher <echristo@gmail.com>,
gdb-patches <gdb-patches@sourceware.org>
Subject: Re: [patch] [gdb/testsuite] include a use of the definition of a type to cause clang to emit debug info
Date: Mon, 14 Apr 2014 22:47:00 -0000 [thread overview]
Message-ID: <20140414224702.GT4250@adacore.com> (raw)
In-Reply-To: <CAENS6EvbdeeSWDQH6Mxs_OEV15A=AKhkN8uU+VYR+X+DY7HGrA@mail.gmail.com>
> Minor (but important) correction: this isn't introducing a typedef,
> it's introducing a variable.
OK - sorry for the confusion - I went too fast and it changes
the perspective a little.
> This comes into a discussion about whether the GDB test suite is a
> test suite for GCC (or Clang) or for GDB. I'm by no means in a
> position to make a claim as to which of these things it is, though
> it's clear that GCC and Clang use this suite to validate their
> behavior relative to GDB.
I don't remember if this was ever discussed, but it should be
compiler-neutral, IMO, even if we do have a practical bias towards
GCC. The intent is to test that, with the compiler you have, GDB
is able to debug your code as expected.
> But it'd probably be nice to separate out those things a little
We try to do it, sometimes. That's why we have gdb.dwarf2.
Ideally, for every testcase, we'd create one using assembly
sources to control exactly the code/debug-info produce, and
one where we compile some source which, at some point, resulted
in the assembly we used in our first testcase. That way, we test
both the handling of that particular output, as well as the
user-level handling of whatever gets generated by your compiler.
But it is a lot of work, and sadly, usually only one of the two
options is elected when new testcases are added. Just a practical
matter.
> I've tried to be consistent to this principle with the patches I'm
> providing - if there's a difference in Clang and GCC behavior that's
> not necessary for a test case to test GDB and the test can be adjusted
> to be neutral to that difference, I've tried to change the tests in
> that direction.
My position, in this situation, is that your change is actually
not completely neutral: Even if this was not the initial intention
when the test was written, as it is now, it allows us to verify
that the compiler produces the full debugging information for
an enum type even in the case where the type is only referenced
through a pointer. By adding a global variable, we lose that part,
potentially allowing GCC to regress (from a GDB user's perspective).
If the type was opaque, I would have had no objection. But in this
case, I try to put myself in the shoes of a user debugging that code,
and it would seem reasonable to be able to dereference "e".
--
Joel
next prev parent reply other threads:[~2014-04-14 22:47 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-13 6:43 David Blaikie
2014-04-13 7:52 ` David Blaikie
2014-04-23 23:04 ` Doug Evans
2014-04-14 13:10 ` Joel Brobecker
2014-04-14 15:53 ` Eric Christopher
2014-04-14 18:16 ` Joel Brobecker
2014-04-14 18:35 ` David Blaikie
2014-04-14 22:47 ` Joel Brobecker [this message]
2014-04-23 23:46 ` Pedro Alves
2014-04-24 0:20 ` Doug Evans
2014-04-24 0:29 ` Doug Evans
2014-04-24 12:36 ` Joel Brobecker
2014-04-25 5:32 ` David Blaikie
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=20140414224702.GT4250@adacore.com \
--to=brobecker@adacore.com \
--cc=dblaikie@gmail.com \
--cc=echristo@gmail.com \
--cc=gdb-patches@sourceware.org \
/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