This is the mail archive of the archer@sourceware.org mailing list for the Archer project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Stop the Insanity! Linespec Rewrite


> Actually it was a failure on the new parser to properly deal with
> parse_to_comma_and_eval (used in linespec_expression_to_pc), which
> retokenizes the input based on whitespace.

Our emails crossed paths :-)

> Could you verify that I didn't break anything else?

Of course. You've got to love git and the fact that you're making
fast-forward pushes (instead of rebasing + forced push), which
hugely simplifies my task.

Anyway, all this rambling to say that the testsuite runs clean.

I also forgot to say that your patch improves the diagnostic
in the following case:

    --- Regression: KB27-008__file_star_line_linespec:break foo.adb:*:3
    - Could not match y-or-n question
        Function "*:3" not defined in "foo.adb".
        Make breakpoint pending on future shared library load
    - Against input line
        Function "*" not defined in "foo.adb".
        Make breakpoint pending on future shared library load

The difference is that is says function "*" instead of "*:3" when
doing:

        (gdb) break foo.adb:*:3

For the record, "*" used to be a way in AdaCore's debugger to say
"break on all instances". It was a long long time ago, and Paul and
I killed that syntax since then, and we have a check to verify
that it returns an error.

I wonder if it would work with an operator, though... I think you'd
need the double-quotes. Aha!

    (gdb) b ops.adb:"*":35
    Breakpoint 1 at 0x40217a: file /[...]/ops.adb, line 35.
    (gdb) b ops.adb:*:35
    Function "*:35" not defined in "ops.adb".
    Make breakpoint pending on future shared library load? (y or [n]) n

And your debugger behaves beautifully as well:

    (gdb) b ops.adb:"*":35
    Breakpoint 1 at 0x40217a: file /[...]/ops.adb, line 35.
    (gdb) b ops.adb:*:35
    Function "*" not defined in "ops.adb".
    Make breakpoint pending on future shared library load? (y or [n]) n

(this is using the gdb.ada/operator_bp testcase).

I need to augment that testcase, now :-/.

-- 
Joel


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]