Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Doug Evans <dje@google.com>
To: Yao Qi <yao@codesourcery.com>
Cc: gdb-patches <gdb-patches@sourceware.org>
Subject: Re: [PATCH 2/6] DW attribute macro MACRO_AT_func and MACRO_AT_range
Date: Wed, 12 Nov 2014 07:01:00 -0000	[thread overview]
Message-ID: <CADPb22SbzjR7=UA6BLkHUJe5Gir3o5EzrHeKo=dJ0jzf9bKNMw@mail.gmail.com> (raw)
In-Reply-To: <87fvdqijal.fsf@codesourcery.com>

On Mon, Nov 10, 2014 at 6:05 PM, Yao Qi <yao@codesourcery.com> wrote:
> [...]
> 2014-11-10  Yao Qi  <yao@codesourcery.com>
>
>         * lib/dwarf.exp (function_range): New procedure.
>         (Dwarf::_handle_macro_at_func): New procedure.
>         (Dwarf::_handle_macro_at_range): New procedure.
>         (Dwarf): Handle MACRO_AT_func and MACRO_AT_range.

LGTM, with one nit that can be left for later.

> +
> +           if { [string equal "MACRO_AT_func" $attr_name] } {
> +               _handle_macro_at_func $attr_value
> +           } elseif { [string equal "MACRO_AT_range" $attr_name] } {
> +               _handle_macro_at_range $attr_value
>             } else {
> -               set attr_form [_guess_form $attr_value attr_value]
> -           }
> -           set attr_form [_map_name $attr_form _FORM]
> +               if {[llength $attr] > 2} {
> +                   set attr_form [lindex $attr 2]
> +               } else {
> +                   set attr_form [_guess_form $attr_value attr_value]
> +               }
> +               set attr_form [_map_name $attr_form _FORM]
>
> -           _handle_attribute $attr_name $attr_value $attr_form
> +               _handle_attribute $attr_name $attr_value $attr_form
> +           }
>         }
>
>         _defer_output $_abbrev_section {

The sequence of ifs to test for each macro name is akin to the switch
statement we removed.
It's less code of course, but it still involves continual additions
for each new macro.
I was thinking of still having a wrapper function that checks for macros,
but it could do "info proc _handle_$attr_name" or some such and
call(via eval?) the function if it exists or flag an error if it
doesn't.  We don't have to go down this road though until we need to.


  reply	other threads:[~2014-11-12  7:01 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-25  0:17 [PATCH 0/6] Use correct function address in dwarf assembler Yao Qi
2014-10-25  0:18 ` [PATCH 4/6] Use Dwarf::assemble in implptr-optimized-out.exp Yao Qi
2014-11-04 22:53   ` Doug Evans
2014-10-25  0:18 ` [PATCH 2/6] DW attribute macro MACRO_AT_func and MACRO_AT_range Yao Qi
2014-11-04 22:50   ` Doug Evans
2014-11-05  1:54     ` Yao Qi
2014-11-07 16:54       ` Doug Evans
2014-11-10  2:04         ` Yao Qi
2014-11-10 19:44           ` Doug Evans
2014-11-11  2:05             ` Yao Qi
2014-11-12  7:01               ` Doug Evans [this message]
2014-11-14  1:00                 ` Yao Qi
2014-11-04 22:59   ` Doug Evans
2014-10-25  0:18 ` [PATCH 1/6] New proc _handle_attribute Yao Qi
2014-11-04 22:48   ` Doug Evans
2014-10-25  0:18 ` [PATCH 3/6] Get start and end address of main in dwz.exp Yao Qi
2014-11-04 22:51   ` Doug Evans
2014-10-25  0:18 ` [PATCH 5/6] Fix implptr-optimized-out.exp fail Yao Qi
2014-11-04 22:53   ` Doug Evans
2014-10-25  0:18 ` [PATCH 6/6] Fix dw2-ifort-parameter.exp fail with clang Yao Qi
2014-11-04 22:54   ` Doug Evans
2014-11-04 23:01 ` [PATCH 0/6] Use correct function address in dwarf assembler Doug Evans

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='CADPb22SbzjR7=UA6BLkHUJe5Gir3o5EzrHeKo=dJ0jzf9bKNMw@mail.gmail.com' \
    --to=dje@google.com \
    --cc=gdb-patches@sourceware.org \
    --cc=yao@codesourcery.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