30#include "gdbsupport/gdb_regex.h"
37 const char *
const *argv,
int argc)
43 error (_(
"-file-list-exec-source-file: Usage: No args"));
53 error (_(
"-file-list-exec-source-file: No symtab"));
69 const char *
const *argv,
int argc)
77 static const struct mi_opt opts[] =
79 {
"-group-by-objfile", GROUP_BY_OBJFILE_OPT, 0},
80 {
"-basename", MATCH_BASENAME_OPT, 0},
81 {
"-dirname", MATCH_DIRNAME_OPT, 0},
89 bool group_by_objfile =
false;
90 bool match_on_basename =
false;
91 bool match_on_dirname =
false;
95 int opt =
mi_getopt (
"-file-list-exec-source-files", argc, argv,
99 switch ((
enum opt) opt)
101 case GROUP_BY_OBJFILE_OPT:
102 group_by_objfile =
true;
104 case MATCH_BASENAME_OPT:
105 match_on_basename =
true;
107 case MATCH_DIRNAME_OPT:
108 match_on_dirname =
true;
113 if ((argc - oind > 1) || (match_on_basename && match_on_dirname))
114 error (_(
"-file-list-exec-source-files: Usage: [--group-by-objfile] [--basename | --dirname] [--] REGEXP"));
116 const char *regexp =
nullptr;
117 if (argc - oind == 1)
121 if (match_on_dirname)
123 else if (match_on_basename)
136 const char *
const *argv,
int argc)
150 error (_(
"Usage: -file-list-shared-libraries [REGEXP]"));
155 const char *re_err =
re_comp (pattern);
158 error (_(
"Invalid regexp: %s"), re_err);
168 if (so->so_name[0] ==
'\0')
170 if (pattern != NULL && !re_exec (so->so_name))
void field_string(const char *fldname, const char *string, const ui_file_style &style=ui_file_style())
void field_signed(const char *fldname, LONGEST value)
EXTERN_C char * re_comp(const char *)
mi_cmd_argv_ftype mi_cmd_file_list_exec_source_files
mi_cmd_argv_ftype mi_cmd_file_list_shared_libraries
mi_cmd_argv_ftype mi_cmd_file_list_exec_source_file
int mi_getopt(const char *prefix, int argc, const char *const *argv, const struct mi_opt *opts, int *oind, const char **oarg)
int mi_valid_noargs(const char *prefix, int argc, const char *const *argv)
void mi_output_solib_attribs(ui_out *uiout, struct so_list *solib)
struct program_space * current_program_space
void update_solib_list(int from_tty)
const char * symtab_to_fullname(struct symtab *s)
const char * symtab_to_filename_for_display(struct symtab *symtab)
struct symtab_and_line get_current_source_symtab_and_line(void)
void set_default_source_symtab_and_line(void)
struct macro_table * macro_table() const
so_list_range solibs() const
struct compunit_symtab * compunit() const
void info_sources_worker(struct ui_out *uiout, bool group_by_objfile, const info_sources_filter &filter)