]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c
gdb/
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.dwarf2 / dw2-dir-file-name.c
1 /* This testcase is part of GDB, the GNU debugger.
2
3 Copyright 2012 Free Software Foundation, Inc.
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>. */
17
18 volatile int v;
19
20 static void
21 marker (void)
22 {
23 v++;
24 }
25
26 /* *R* marks possibly invalid compiler output as the first path component is
27 not absolute. Still DWARF-4 does not forbid such DWARF; GCC does not
28 produce it. */
29
30 #define FUNCBLOCK \
31 FUNC (compdir_missing__ldir_missing__file_basename) /*R*/\
32 FUNC (compdir_missing__ldir_missing__file_relative) /*R*/\
33 FUNC (compdir_missing__ldir_missing__file_absolute) \
34 FUNC (compdir_missing__ldir_relative_file_basename) /*R*/\
35 FUNC (compdir_missing__ldir_relative_file_relative) /*R*/\
36 FUNC (compdir_missing__ldir_relative_file_absolute) /*R*/\
37 FUNC (compdir_missing__ldir_absolute_file_basename) \
38 FUNC (compdir_missing__ldir_absolute_file_relative) \
39 FUNC (compdir_missing__ldir_absolute_file_absolute_same) \
40 FUNC (compdir_missing__ldir_absolute_file_absolute_different) \
41 FUNC (compdir_relative_ldir_missing__file_basename) /*R*/\
42 FUNC (compdir_relative_ldir_missing__file_relative) /*R*/\
43 FUNC (compdir_relative_ldir_missing__file_absolute) /*R*/\
44 FUNC (compdir_relative_ldir_relative_file_basename) /*R*/\
45 FUNC (compdir_relative_ldir_relative_file_relative) /*R*/\
46 FUNC (compdir_relative_ldir_relative_file_absolute) /*R*/\
47 FUNC (compdir_relative_ldir_absolute_file_basename) /*R*/\
48 FUNC (compdir_relative_ldir_absolute_file_relative) /*R*/\
49 FUNC (compdir_relative_ldir_absolute_file_absolute_same) /*R*/\
50 FUNC (compdir_relative_ldir_absolute_file_absolute_different) /*R*/\
51 FUNC (compdir_absolute_ldir_missing__file_basename) \
52 FUNC (compdir_absolute_ldir_missing__file_relative) \
53 FUNC (compdir_absolute_ldir_missing__file_absolute_same) \
54 FUNC (compdir_absolute_ldir_missing__file_absolute_different) \
55 FUNC (compdir_absolute_ldir_relative_file_basename) \
56 FUNC (compdir_absolute_ldir_relative_file_relative) \
57 FUNC (compdir_absolute_ldir_relative_file_absolute_same) \
58 FUNC (compdir_absolute_ldir_relative_file_absolute_different) \
59 FUNC (compdir_absolute_ldir_absolute_file_basename_same) \
60 FUNC (compdir_absolute_ldir_absolute_file_basename_different) \
61 FUNC (compdir_absolute_ldir_absolute_file_relative_same) \
62 FUNC (compdir_absolute_ldir_absolute_file_relative_different) \
63 FUNC (compdir_absolute_ldir_absolute_file_absolute_same) \
64 FUNC (compdir_absolute_ldir_absolute_file_absolute_different)
65
66 #define FUNC(name) \
67 asm (#name "_start: .globl " #name "_start\n"); \
68 static void \
69 name (void) \
70 { \
71 v++; \
72 } \
73 asm (#name "_end: .globl " #name "_end\n");
74 FUNCBLOCK
75 #undef FUNC
76
77 int
78 main (void)
79 {
80
81 #define FUNC(name) \
82 name ();
83 FUNCBLOCK
84 #undef FUNC
85
86 return 0;
87 }