From: Vladimir Prus <ghost@cs.msu.su>
To: gdb-patches@sources.redhat.com
Subject: Re: Remove type prefix for -var-evaluate-expression/functions
Date: Fri, 17 Mar 2006 10:42:00 -0000 [thread overview]
Message-ID: <dvdskj$2qj$1@sea.gmane.org> (raw)
In-Reply-To: <17434.29587.870198.135084@kahikatea.snap.net.nz>
[-- Attachment #1: Type: text/plain, Size: 1047 bytes --]
Nick Roberts wrote:
>> Hi,
>> the following patch removes 'type prefix' from output of
>> -var-evaluate-expression applied to objects of function type (not
>> pointers to functions, but functions).
>>
>> It causes no regression in the testsuite for me.
>
> But I guess a new test would help prevent a regression (in the code) in
> the future.
Yes, can you suggest which file should I add this new testcase too?
>> Changelog:
>>
>> 2006-03-15 Vladimir Prus <ghost@cs.msu.su>
>>
>> * c-valprint.c
>> (c_val_print): Don't print type prefix for functions.
>> (c_value_print): Print type prefix for functions here.
>
>
>> Patch attached.
>
> ...
>> + if (TYPE_CODE (type) == TYPE_CODE_FUNC)
>
> This condition must always be true here (case TYPE_CODE_FUNC:).
This chunk is in 'c_value_print', where there's no switch.
>
>
> Where's the patch for c_value_print?
I guess I'd better send the patch with "-p". It's attached, hopefully it's
more clear.
And thanks for the hint about -p!
- Volodya
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: type_prefix.diff --]
[-- Type: text/x-diff; name="type_prefix.diff", Size: 1384 bytes --]
Index: c-valprint.c
===================================================================
RCS file: /cvs/src/src/gdb/c-valprint.c,v
retrieving revision 1.39
diff -u -p -r1.39 c-valprint.c
--- c-valprint.c 18 Jan 2006 21:24:19 -0000 1.39
+++ c-valprint.c 17 Mar 2006 08:38:41 -0000
@@ -356,11 +356,6 @@ c_val_print (struct type *type, const gd
print_scalar_formatted (valaddr + embedded_offset, type, format, 0, stream);
break;
}
- /* FIXME, we should consider, at least for ANSI C language, eliminating
- the distinction made between FUNCs and POINTERs to FUNCs. */
- fprintf_filtered (stream, "{");
- type_print (type, "", stream, -1);
- fprintf_filtered (stream, "} ");
/* Try to print what function it points to, and its address. */
print_address_demangle (address, stream, demangle);
break;
@@ -570,6 +565,16 @@ c_value_print (struct value *val, struct
}
}
+ if (TYPE_CODE (type) == TYPE_CODE_FUNC)
+ {
+ /* FIXME, we should consider, at least for ANSI C language, eliminating
+ the distinction made between FUNCs and POINTERs to FUNCs. */
+ fprintf_filtered (stream, "{");
+ type_print (type, "", stream, -1);
+ fprintf_filtered (stream, "} ");
+ }
+
+
if (objectprint && (TYPE_CODE (type) == TYPE_CODE_CLASS))
{
/* Attempt to determine real type of object */
next prev parent reply other threads:[~2006-03-17 8:40 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-17 10:20 Nick Roberts
2006-03-17 10:42 ` Vladimir Prus [this message]
-- strict thread matches above, loose matches on Subject: below --
2006-03-17 14:33 Nick Roberts
2006-03-17 15:03 ` Vladimir Prus
2006-03-18 1:26 ` Daniel Jacobowitz
2006-04-04 7:18 ` Vladimir Prus
2006-05-05 20:47 ` Daniel Jacobowitz
2006-03-15 16:27 Vladimir Prus
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='dvdskj$2qj$1@sea.gmane.org' \
--to=ghost@cs.msu.su \
--cc=gdb-patches@sources.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