old-cross-binutils/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c
Jan Kratochvil 1b56eb5540 gdb/
Add a new variable that controls a way in which filenames are
	displayed.
	* NEWS (set filename-display): New entry.
	* source.c (filename_display_basename, filename_display_relative)
	(filename_display_absolute, filename_display_kind_names)
	(filename_display_string, show_filename_display_string)
	(symtab_to_filename_for_display): New.
	(_initialize_source): Added initialization of 'filename-display'
	variable.
	* source.h (symtab_to_filename_for_display): Added declaration.
	* stack.c (print_frame): Added new variable and calling of a new
	function and condition with this variable. Changed third argument of
	calling of a function.

gdb/doc/
	* gdb.texinfo (Backtrace): Added description of 'filename-display'
	variable in 'set/show backtrace' section.

gdb/testsuite/
	* gdb.dwarf2/dw2-dir-file-name.exp: New file.
	* gdb.dwarf2/dw2-dir-file-name.c: New file.
2013-02-03 16:09:33 +00:00

87 lines
3.3 KiB
C

/* This testcase is part of GDB, the GNU debugger.
Copyright 2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
volatile int v;
static void
marker (void)
{
v++;
}
/* *R* marks possibly invalid compiler output as the first path component is
not absolute. Still DWARF-4 does not forbid such DWARF; GCC does not
produce it. */
#define FUNCBLOCK \
FUNC (compdir_missing__ldir_missing__file_basename) /*R*/\
FUNC (compdir_missing__ldir_missing__file_relative) /*R*/\
FUNC (compdir_missing__ldir_missing__file_absolute) \
FUNC (compdir_missing__ldir_relative_file_basename) /*R*/\
FUNC (compdir_missing__ldir_relative_file_relative) /*R*/\
FUNC (compdir_missing__ldir_relative_file_absolute) /*R*/\
FUNC (compdir_missing__ldir_absolute_file_basename) \
FUNC (compdir_missing__ldir_absolute_file_relative) \
FUNC (compdir_missing__ldir_absolute_file_absolute_same) \
FUNC (compdir_missing__ldir_absolute_file_absolute_different) \
FUNC (compdir_relative_ldir_missing__file_basename) /*R*/\
FUNC (compdir_relative_ldir_missing__file_relative) /*R*/\
FUNC (compdir_relative_ldir_missing__file_absolute) /*R*/\
FUNC (compdir_relative_ldir_relative_file_basename) /*R*/\
FUNC (compdir_relative_ldir_relative_file_relative) /*R*/\
FUNC (compdir_relative_ldir_relative_file_absolute) /*R*/\
FUNC (compdir_relative_ldir_absolute_file_basename) /*R*/\
FUNC (compdir_relative_ldir_absolute_file_relative) /*R*/\
FUNC (compdir_relative_ldir_absolute_file_absolute_same) /*R*/\
FUNC (compdir_relative_ldir_absolute_file_absolute_different) /*R*/\
FUNC (compdir_absolute_ldir_missing__file_basename) \
FUNC (compdir_absolute_ldir_missing__file_relative) \
FUNC (compdir_absolute_ldir_missing__file_absolute_same) \
FUNC (compdir_absolute_ldir_missing__file_absolute_different) \
FUNC (compdir_absolute_ldir_relative_file_basename) \
FUNC (compdir_absolute_ldir_relative_file_relative) \
FUNC (compdir_absolute_ldir_relative_file_absolute_same) \
FUNC (compdir_absolute_ldir_relative_file_absolute_different) \
FUNC (compdir_absolute_ldir_absolute_file_basename_same) \
FUNC (compdir_absolute_ldir_absolute_file_basename_different) \
FUNC (compdir_absolute_ldir_absolute_file_relative_same) \
FUNC (compdir_absolute_ldir_absolute_file_relative_different) \
FUNC (compdir_absolute_ldir_absolute_file_absolute_same) \
FUNC (compdir_absolute_ldir_absolute_file_absolute_different)
#define FUNC(name) \
asm (#name "_start: .globl " #name "_start\n"); \
static void \
name (void) \
{ \
v++; \
} \
asm (#name "_end: .globl " #name "_end\n");
FUNCBLOCK
#undef FUNC
int
main (void)
{
#define FUNC(name) \
name ();
FUNCBLOCK
#undef FUNC
return 0;
}