Add extern "C" to declarations of C symbols

These symbols are defined in C code, so in C++ mode we need to use
extern "C" to declare them.  As extern "C" can't be used inside a
function's scope, we move the declarations to the global scope at the
same time.

gdb/ChangeLog:
2015-02-27  Pedro Alves  <palves@redhat.com>

	* cli-out.c (_rl_erase_entire_line): Move declaration out of
	cli_mld_erase_entire_line, and make it extern "C".
	* common/common-defs.h (EXTERN_C): New.
	* completer.c (_rl_completion_prefix_display_length)
	(_rl_print_completions_horizontally, QSFUNC): Move declarations
	out of gdb_display_match_list_1.
	(_rl_qsort_string_compare): Move declaration out of
	gdb_display_match_list_1, and make it extern "C".
	* defs.h (re_comp): Use EXTERN_C.
	* maint.c (_mcleanup): Move declaration out of mcleanup_wrapper,
	and make it extern "C".
	(monstartup): Move declaration out of maintenance_set_profile_cmd,
	and make it extern "C".
	(main): Move declaration out of maintenance_set_profile_cmd.
	* nat/linux-ptrace.c (linux_ptrace_attach_fail_reason_string): Use
	EXTERN_C.
This commit is contained in:
Pedro Alves
2015-02-09 14:59:08 +00:00
parent bcabf4207e
commit 56000a9801
7 changed files with 40 additions and 13 deletions

View File

@@ -452,13 +452,13 @@ cli_mld_flush (const struct match_list_displayer *displayer)
fflush (rl_outstream);
}
EXTERN_C void _rl_erase_entire_line (void);
/* CLI version of displayer.erase_entire_line. */
static void
cli_mld_erase_entire_line (const struct match_list_displayer *displayer)
{
extern void _rl_erase_entire_line (void);
_rl_erase_entire_line ();
}