aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2013-02-03 16:09:33 +0000
committerJan Kratochvil <jan.kratochvil@redhat.com>2013-02-03 16:09:33 +0000
commit1b56eb55405f0222188073473e1ab563899424ca (patch)
tree1a79fc095fcae3d4e0a122f1384ceae7e1a9190a /gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c
parentaa079c9346c65921b85c75da180a887b7bd7a776 (diff)
downloadgdb-1b56eb55405f0222188073473e1ab563899424ca.zip
gdb-1b56eb55405f0222188073473e1ab563899424ca.tar.gz
gdb-1b56eb55405f0222188073473e1ab563899424ca.tar.bz2
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.
Diffstat (limited to 'gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c')
-rw-r--r--gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c87
1 files changed, 87 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c b/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c
new file mode 100644
index 0000000..724f22a
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c
@@ -0,0 +1,87 @@
+/* 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;
+}