* [PATCH: mi-cmd-file.c]
@ 2008-01-10 3:30 Nick Roberts
2008-01-29 18:08 ` Daniel Jacobowitz
0 siblings, 1 reply; 7+ messages in thread
From: Nick Roberts @ 2008-01-10 3:30 UTC (permalink / raw)
To: gdb-patches
Emacs currently uses "info source" as part of it's front end to GDB. This
patch allows it to use -file-list-exec-source-file instead.
--
Nick http://www.inet.net.nz/~nickrob
2008-01-10 Nick Roberts <nickrob@snap.net.nz>
* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file): Add field
for preprocessor macro information.
*** mi-cmd-file.c.~1.7.~ 2008-01-04 10:24:34.000000000 +1300
--- mi-cmd-file.c 2008-01-10 16:15:10.000000000 +1300
*************** mi_cmd_file_list_exec_source_file(char *
*** 59,64 ****
--- 59,66 ----
if (st.symtab->fullname)
ui_out_field_string (uiout, "fullname", st.symtab->fullname);
+ ui_out_field_int (uiout, "macro-info", st.symtab->macro_table ? 1 : 0);
+
return MI_CMD_DONE;
}
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH: mi-cmd-file.c] 2008-01-10 3:30 [PATCH: mi-cmd-file.c] Nick Roberts @ 2008-01-29 18:08 ` Daniel Jacobowitz 2008-01-30 1:57 ` Nick Roberts 0 siblings, 1 reply; 7+ messages in thread From: Daniel Jacobowitz @ 2008-01-29 18:08 UTC (permalink / raw) To: Nick Roberts; +Cc: gdb-patches On Thu, Jan 10, 2008 at 04:29:37PM +1300, Nick Roberts wrote: > > Emacs currently uses "info source" as part of it's front end to GDB. This > patch allows it to use -file-list-exec-source-file instead. > > -- > Nick http://www.inet.net.nz/~nickrob > > > 2008-01-10 Nick Roberts <nickrob@snap.net.nz> > > * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file): Add field > for preprocessor macro information. Needs a manual update, of course. Otherwise looks OK to me. GUD uses this to avoid expanding macros if it knows they are not available, right? -- Daniel Jacobowitz CodeSourcery ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH: mi-cmd-file.c] 2008-01-29 18:08 ` Daniel Jacobowitz @ 2008-01-30 1:57 ` Nick Roberts 2008-01-30 3:06 ` Daniel Jacobowitz 0 siblings, 1 reply; 7+ messages in thread From: Nick Roberts @ 2008-01-30 1:57 UTC (permalink / raw) To: Daniel Jacobowitz; +Cc: gdb-patches > > 2008-01-10 Nick Roberts <nickrob@snap.net.nz> > > > > * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file): Add field > > for preprocessor macro information. > > Needs a manual update, of course. Otherwise looks OK to me. > > GUD uses this to avoid expanding macros if it knows they are not > available, right? Actually Emacs turns tooltips off if there is no macro information in case of something like: #define STOP abort () and the mouse hovers over STOP. Macro information allows Emacs to ensure that a macro doesn't expand to a function first. I've committed it with the formatting changes below as obvious. Thanks. -- Nick http://www.inet.net.nz/~nickrob 2008-01-30 Nick Roberts <nickrob@snap.net.nz> * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file): Add field for preprocessor macro information. Formatting changes. *** mi-cmd-file.c.~1.7.~ 2008-01-04 10:24:34.000000000 +1300 --- mi-cmd-file.c 2008-01-10 16:15:10.000000000 +1300 *************** *** 29,46 **** current file being executed. */ enum mi_cmd_result ! mi_cmd_file_list_exec_source_file(char *command, char **argv, int argc) { struct symtab_and_line st; int optind = 0; char *optarg; ! if ( !mi_valid_noargs("mi_cmd_file_list_exec_source_file", argc, argv) ) error (_("mi_cmd_file_list_exec_source_file: Usage: No args")); /* Set the default file and line, also get them */ ! set_default_source_symtab_and_line(); ! st = get_current_source_symtab_and_line(); /* We should always get a symtab. Apparently, filename does not need to be tested for NULL. --- 29,46 ---- current file being executed. */ enum mi_cmd_result ! mi_cmd_file_list_exec_source_file (char *command, char **argv, int argc) { struct symtab_and_line st; int optind = 0; char *optarg; ! if (!mi_valid_noargs ("mi_cmd_file_list_exec_source_file", argc, argv)) error (_("mi_cmd_file_list_exec_source_file: Usage: No args")); /* Set the default file and line, also get them */ ! set_default_source_symtab_and_line (); ! st = get_current_source_symtab_and_line (); /* We should always get a symtab. Apparently, filename does not need to be tested for NULL. *************** mi_cmd_file_list_exec_source_file(char * *** 59,64 **** --- 59,66 ---- if (st.symtab->fullname) ui_out_field_string (uiout, "fullname", st.symtab->fullname); + ui_out_field_int (uiout, "macro-info", st.symtab->macro_table ? 1 : 0); + return MI_CMD_DONE; } ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH: mi-cmd-file.c] 2008-01-30 1:57 ` Nick Roberts @ 2008-01-30 3:06 ` Daniel Jacobowitz 2008-01-30 3:32 ` Nick Roberts 0 siblings, 1 reply; 7+ messages in thread From: Daniel Jacobowitz @ 2008-01-30 3:06 UTC (permalink / raw) To: Nick Roberts; +Cc: gdb-patches On Wed, Jan 30, 2008 at 02:49:09PM +1300, Nick Roberts wrote: > > > 2008-01-10 Nick Roberts <nickrob@snap.net.nz> > > > > > > * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file): Add field > > > for preprocessor macro information. > > > > Needs a manual update, of course. Otherwise looks OK to me. > > > > GUD uses this to avoid expanding macros if it knows they are not > > available, right? > > Actually Emacs turns tooltips off if there is no macro information in case > of something like: > > #define STOP abort () > > and the mouse hovers over STOP. Macro information allows Emacs to ensure that > a macro doesn't expand to a function first. Hmm, that sounds silly. If there's no macro information, GDB won't be able to expand STOP to a function... > I've committed it with the formatting changes below as obvious. OK - be sure to do the manual update. -- Daniel Jacobowitz CodeSourcery ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH: mi-cmd-file.c] 2008-01-30 3:06 ` Daniel Jacobowitz @ 2008-01-30 3:32 ` Nick Roberts 2008-01-30 7:19 ` Vladimir Prus 0 siblings, 1 reply; 7+ messages in thread From: Nick Roberts @ 2008-01-30 3:32 UTC (permalink / raw) To: Daniel Jacobowitz; +Cc: gdb-patches > > Actually Emacs turns tooltips off if there is no macro information in case > > of something like: > > > > #define STOP abort () > > > > and the mouse hovers over STOP. Macro information allows Emacs to ensure > > that a macro doesn't expand to a function first. > > Hmm, that sounds silly. If there's no macro information, GDB won't be > able to expand STOP to a function... Yes, what I've said is silly, but hopefully what I've done isn't. When running in the old mode, as for Emacs 21, Emacs can't tell if the macro expands to a function, so turns off tooltips. In the new mode, it checks to see if the macro expands to a function and if so, doesn't try to print its value (which would call abort () in this case). -- Nick http://www.inet.net.nz/~nickrob ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH: mi-cmd-file.c] 2008-01-30 3:32 ` Nick Roberts @ 2008-01-30 7:19 ` Vladimir Prus 2008-01-30 9:30 ` Nick Roberts 0 siblings, 1 reply; 7+ messages in thread From: Vladimir Prus @ 2008-01-30 7:19 UTC (permalink / raw) To: Nick Roberts, gdb-patches Nick Roberts wrote: > > > Actually Emacs turns tooltips off if there is no macro information in > > > case of something like: > > > > > > #define STOP abort () > > > > > > and the mouse hovers over STOP. Macro information allows Emacs to > > > ensure that a macro doesn't expand to a function first. > > > > Hmm, that sounds silly. If there's no macro information, GDB won't be > > able to expand STOP to a function... > > Yes, what I've said is silly, but hopefully what I've done isn't. When > running in the old mode, as for Emacs 21, Emacs can't tell if the macro > expands to a > function, so turns off tooltips. In the new mode, it checks to see if the > macro expands to a function and if so, doesn't try to print its value > (which would call abort () in this case). I seems like this patch was checked in, and I see the following: FAIL: gdb.mi/mi-file.exp: request path info of current source file (basics.c) and same for mi2-file.exp. Did you forgot to run testsuite, or forgot to commit testsuite change? - Volodya ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH: mi-cmd-file.c] 2008-01-30 7:19 ` Vladimir Prus @ 2008-01-30 9:30 ` Nick Roberts 0 siblings, 0 replies; 7+ messages in thread From: Nick Roberts @ 2008-01-30 9:30 UTC (permalink / raw) To: Vladimir Prus; +Cc: gdb-patches > I seems like this patch was checked in, and I see the following: > > FAIL: gdb.mi/mi-file.exp: request path info of current source file > (basics.c) > > and same for mi2-file.exp. Did you forgot to run testsuite, or forgot to > commit testsuite change? Yes, my mistake - sorry. I've checked in the changes below as obvious. -- Nick http://www.inet.net.nz/~nickrob 2008-01-30 Nick Roberts <nickrob@snap.net.nz> * gdb.mi/mi-file.exp, gdb.mi/mi2-file.exp (test_file_list_exec_source_file): Update to new macro-info field. *** mi-file.exp.~1.11.~ 2008-01-10 11:35:09.000000000 +1300 --- mi-file.exp 2008-01-30 21:42:59.000000000 +1300 *************** proc test_file_list_exec_source_file {} *** 64,70 **** set line_default [expr $line_main_body - $gdb_lines_to_list + 1] mi_gdb_test "111-file-list-exec-source-file" \ ! "111\\\^done,line=\"$line_default\",file=\"${srcfilepath}\",fullname=\"$fullname_syntax${srcfile}\"" \ "request path info of current source file (${srcfile})" } --- 64,70 ---- set line_default [expr $line_main_body - $gdb_lines_to_list + 1] mi_gdb_test "111-file-list-exec-source-file" \ ! "111\\\^done,line=\"$line_default\",file=\"${srcfilepath}\",fullname=\"$fullname_syntax${srcfile}\",macro-info=\"0\"" \ "request path info of current source file (${srcfile})" } *** mi2-file.exp.~1.11.~ 2008-01-10 11:35:10.000000000 +1300 --- mi2-file.exp 2008-01-30 21:43:06.000000000 +1300 *************** proc test_file_list_exec_source_file {} *** 64,70 **** set line_default [expr $line_main_body - $gdb_lines_to_list + 1] mi_gdb_test "111-file-list-exec-source-file" \ ! "111\\\^done,line=\"$line_default\",file=\"${srcfilepath}\",fullname=\"$fullname_syntax${srcfile}\"" \ "request path info of current source file (${srcfile})" } --- 64,70 ---- set line_default [expr $line_main_body - $gdb_lines_to_list + 1] mi_gdb_test "111-file-list-exec-source-file" \ ! "111\\\^done,line=\"$line_default\",file=\"${srcfilepath}\",fullname=\"$fullname_syntax${srcfile}\",macro-info=\"0\"" \ "request path info of current source file (${srcfile})" } ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2008-01-30 8:51 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2008-01-10 3:30 [PATCH: mi-cmd-file.c] Nick Roberts 2008-01-29 18:08 ` Daniel Jacobowitz 2008-01-30 1:57 ` Nick Roberts 2008-01-30 3:06 ` Daniel Jacobowitz 2008-01-30 3:32 ` Nick Roberts 2008-01-30 7:19 ` Vladimir Prus 2008-01-30 9:30 ` Nick Roberts
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox