* as.c (parse_args): Add option -gdwarf2 to allow requesting
[external/binutils.git] / gas / dwarf2dbg.h
1 #ifndef AS_DWARF2DBG_H
2 #define AS_DWARF2DBG_H
3
4 #include "as.h"
5
6 #define DWARF2_FLAG_BEGIN_STMT  (1 << 0)        /* beginning of statement */
7 #define DWARF2_FLAG_BEGIN_BLOCK (1 << 1)        /* beginning of basic block */
8
9 struct dwarf2_line_info
10   {
11     char *filename;
12     unsigned int filenum;
13     unsigned int line;
14     unsigned int column;
15     unsigned int flags;
16   };
17
18 /* Implements the .file FILENO "FILENAME" directive.  FILENO can be 0
19    to indicate that no file number has been assigned.  All real file
20    number must be >0.  */
21 extern void dwarf2_directive_file (int dummy);
22
23 /* Implements the .loc FILENO LINENO [COLUMN] directive.  FILENO is
24    the file number, LINENO the line number and the (optional) COLUMN
25    the column of the source code that the following instruction
26    corresponds to.  FILENO can be 0 to indicate that the filename
27    specified by the textually most recent .file directive should be
28    used.  */
29 extern void dwarf2_directive_loc (int dummy);
30
31 /* Returns the current source information.  If .file directives have
32    been encountered, the info for the corresponding source file is
33    returned.  Otherwise, the info for the assembly source file is
34    returned.  */
35 extern void dwarf2_where (struct dwarf2_line_info *l);
36
37 /* This function generates .debug_line info based on the address and
38    source information passed in the arguments.  ADDR should be the
39    frag-relative offset of the instruction the information is for and
40    L is the source information that should be associated with that
41    address. */
42 extern void dwarf2_gen_line_info (bfd_vma addr, struct dwarf2_line_info *l);
43
44 /* Must be called after all other input is processed to finish up the
45    .debug_line section.  */
46 extern void dwarf2_finish (void);
47
48 #endif /* AS_DWARF2DBG_H */