Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Joel Brobecker <brobecker@adacore.com>
To: Jan Kratochvil <jan.kratochvil@redhat.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [patch 2/2] typedef-checking for CU relative vs. absolute offsets [Re: RFC: problem with DW_OP_GNU_deref_type and dwarf's get_base_type callback]
Date: Wed, 07 Mar 2012 19:07:00 -0000	[thread overview]
Message-ID: <20120307190703.GR2853@adacore.com> (raw)
In-Reply-To: <20120307171249.GB22619@host2.jankratochvil.net>

> This is not maintainable IMO in its current form.
> 
> typedef struct { unsigned int co; } cu_offset;
> typedef struct { unsigned int so; } sect_offset;

[brainstorming]

I like the idea of having distinct types. If we were using Ada,
we would have been able to define distinct scalar types for our
offsets, and the compiler would catch invalid uses. It's a bit
more of a pain in C because the use of a struct makes it harder
to use, but it's certainly better to catch these errors at compile
time.  I do find "co" and "so" a little too short and confusing,
though.  So, here is another suggestion:

typedef struct { unsigned int val; } cu_offset;
typedef struct { unsigned int val; } sect_offset;

?

Would that be enough? Or maybe you really want different field names
to make the writer aware of which offset he really has. In that case,
perhaps field names that are a little more explicit? For instance:
"rel_off" and "abs_off" (for "relative" vs "absolute")?

-- 
Joel


  parent reply	other threads:[~2012-03-07 19:07 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-05 22:34 RFC: problem with DW_OP_GNU_deref_type and dwarf's get_base_type callback Joel Brobecker
2012-03-06 20:25 ` Tom Tromey
2012-03-06 23:46   ` Joel Brobecker
2012-03-07 17:10 ` [patch] Fix CU relative vs. absolute offsets [Re: RFC: problem with DW_OP_GNU_deref_type and dwarf's get_base_type callback] Jan Kratochvil
2012-03-07 17:13   ` [patch 2/2] typedef-checking for " Jan Kratochvil
2012-03-07 18:58     ` Doug Evans
2012-03-07 19:10       ` Jan Kratochvil
2012-03-07 19:29         ` Jan Kratochvil
2012-03-08 21:54       ` Tom Tromey
2012-03-08 21:56         ` Doug Evans
2012-03-07 19:07     ` Joel Brobecker [this message]
2012-03-07 19:16       ` Jan Kratochvil
2012-03-08 21:53     ` Tom Tromey
2012-03-09 19:40       ` cu_offset vs. sect_offset field names bikeshedding [Re: [patch 2/2] typedef-checking for CU relative vs. absolute offsets] Jan Kratochvil
2012-03-09 19:52         ` Joel Brobecker
2012-03-19 20:02           ` [commit] [patch 2/2] typedef-checking for CU relative vs. absolute offsets Jan Kratochvil
2012-03-09 19:56         ` cu_offset vs. sect_offset field names bikeshedding [Re: [patch 2/2] typedef-checking for CU relative vs. absolute offsets] Tom Tromey
2012-03-07 18:57   ` [patch] Fix CU relative vs. absolute offsets [Re: RFC: problem with DW_OP_GNU_deref_type and dwarf's get_base_type callback] Joel Brobecker
2012-03-07 19:47     ` Joel Brobecker
2012-03-08 19:40       ` [commit] " Jan Kratochvil

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=20120307190703.GR2853@adacore.com \
    --to=brobecker@adacore.com \
    --cc=gdb-patches@sourceware.org \
    --cc=jan.kratochvil@redhat.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