RE: New ARI warning Sat Mar 12 01:53:29 UTC 2011

Pierre Muller
2011-03-14T14:21:07Z

> > I'm fine with your suggestion, and in fact it's my preference
> > as well. However, there _are_ cases where you just can't do that,
> > because the return type + function name + parameter end up being
> > too long for a single line.
>
> What's wrong with leaving a single long line in such cases? They are
> supposed to be very rare (if typedefs are used for complex function
> arguments).

Take for instance a look at hppa-tdep.h:
my patch changes
<<<hppa-tdep.h>>>>
extern struct hppa_objfile_private *
hppa_init_objfile_priv_data (struct objfile *objfile);
<<<hppa-tdep.h>>>>
into:

<<<hppa-tdep.h>>>>
extern struct hppa_objfile_private *
hppa_init_objfile_priv_data (struct objfile *objfile);
<<<hppa-tdep.h>>>>

Your suggestion would lead to:
<<<hppa-tdep.h>>>>
extern struct hppa_objfile_private * hppa_init_objfile_priv_data (struct
objfile *objfile);
<<<hppa-tdep.h>>>>

on a single line (might have been corrupted by my mailer...)
91 column wide...

but if you look at the rest of the hppa-tdep.h file, you will find:

<<<hppa-tdep.h>>>>
extern struct value *
hppa_frame_prev_register_helper (struct frame_info *this_frame,
struct trad_frame_saved_reg *saved_regs,
int regnum);

extern CORE_ADDR hppa_read_pc (struct regcache *regcache);
extern void hppa_write_pc (struct regcache *regcache, CORE_ADDR pc);
extern CORE_ADDR hppa_unwind_pc (struct gdbarch *gdbarch,
struct frame_info *next_frame);

extern struct minimal_symbol *
hppa_lookup_stub_minimal_symbol (const char *name,
enum unwind_stub_types stub_type);

extern struct hppa_objfile_private * hppa_init_objfile_priv_data (struct
objfile
*objfile);

extern int hppa_in_solib_call_trampoline (struct gdbarch *gdbarch,
CORE_ADDR pc, char *name);
extern CORE_ADDR hppa_skip_trampoline_code (struct frame_info *, CORE_ADDR
pc);
<<<hppa-tdep.h>>>>

So you can see that the ugly formatting, I proposed is already
used twice.
I found 37 occurrences listed below,
should we considered those as badly formatted?

Pierre

$ grep -E "^ [a-z][a-zA-Z_0-9]* *\([^*][^()]*(\);|,)$" *.h
ada-lang.h: ada_decode_exception_location (char *args, char **addr_string,
ada-lang.h: ada_decode_assert_location (char *args, char **addr_string,
alphabsd-tdep.h: alphanbsd_regset_from_core_section (struct gdbarch
*gdbarch,
arch-utils.h: simple_displaced_step_copy_insn (struct gdbarch *gdbarch,
arch-utils.h: simple_displaced_step_free_closure (struct gdbarch *gdbarch,
arch-utils.h: default_displaced_step_hw_singlestep (struct gdbarch *,
arm-tdep.h: arm_process_displaced_insn (struct gdbarch *gdbarch, CORE_ADDR
from,
arm-tdep.h: arm_displaced_init_closure (struct gdbarch *gdbarch, CORE_ADDR
from,
arm-tdep.h: displaced_read_reg (struct regcache *regs, struct
displaced_step_closure *dsc,
arm-tdep.h: displaced_write_reg (struct regcache *regs,
arm-tdep.h: arm_displaced_step_copy_insn (struct gdbarch *, CORE_ADDR,
CORE_ADDR,
arm-tdep.h: armbsd_regset_from_core_section (struct gdbarch *gdbarch,
defs.h: make_cleanup_ui_out_redirect_pop (struct ui_out *uiout);
defs.h: make_cleanup_restore_ui_file (struct ui_file **variable);
defs.h: set_batch_flag_and_make_cleanup_restore_page_info (void);
dwarf2-frame.h: dwarf2_frame_set_signal_frame_p (struct gdbarch *gdbarch,
dwarf2-frame.h: dwarf2_frame_set_adjust_regnum (struct gdbarch *gdbarch,
dwarf2-frame.h: dwarf2_frame_base_sniffer (struct frame_info *this_frame);
event-loop.h: create_async_event_handler (async_event_handler_func *proc,
event-loop.h: delete_async_event_handler (struct async_event_handler
**handler_ptr);
hppa-tdep.h: hppa_frame_prev_register_helper (struct frame_info
*this_frame,
hppa-tdep.h: hppa_lookup_stub_minimal_symbol (const char *name,
i386-tdep.h: i386_regset_from_core_section (struct gdbarch *gdbarch,
inferior.h: get_infcall_suspend_state_regcache (struct
infcall_suspend_state *);
inferior.h: get_displaced_step_closure_by_addr (CORE_ADDR addr);
inferior.h: find_inferior_for_program_space (struct program_space *pspace);
p-lang.h: is_pascal_string_type (struct type *, int *, int *, int *,
p-lang.h: pascal_type_print_base (struct type *, struct ui_file *, int,
int);
p-lang.h: pascal_type_print_varspec_prefix (struct type *, struct ui_file
*, int, int);
sparc-tdep.h: sparc_frame_cache (struct frame_info *this_frame, void
**this_cache);
sparc-tdep.h: sparc32_frame_cache (struct frame_info *this_frame, void
**this_cache);
sparc-tdep.h: sparc32nbsd_sigcontext_saved_regs (struct frame_info
*next_frame);
sparc64-tdep.h: sparc64nbsd_sigcontext_saved_regs (CORE_ADDR
sigcontext_addr,
symfile.h: build_section_addr_info_from_objfile (const struct objfile
*objfile);
value.h: value_contents_for_printing_const (const struct value *value);
value.h: create_internalvar_type_lazy (char *name, internalvar_make_value
fun);
varobj.h: varobj_set_visualizer (struct varobj *var, const char
*visualizer);