Mercurial > projects > ldc
annotate gen/todebug.h @ 850:5f5e6eb790e7
Automated merge with http://hg.dsource.org/projects/ldc
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sun, 14 Dec 2008 16:30:20 +0100 |
parents | 363bb6c0cc80 |
children | 1714836f2c0b |
rev | line source |
---|---|
664
eef8ac26c66c
Some missed LLVMDC -> LDC.
Christian Kamm <kamm incasoftware de>
parents:
250
diff
changeset
|
1 #ifndef LDC_GEN_TODEBUG_H |
eef8ac26c66c
Some missed LLVMDC -> LDC.
Christian Kamm <kamm incasoftware de>
parents:
250
diff
changeset
|
2 #define LDC_GEN_TODEBUG_H |
82
d8dd47ef3973
[svn r86] Changed the way arguments are given storage. It is now detected if they will need it during semantic passes.
lindquist
parents:
diff
changeset
|
3 |
d8dd47ef3973
[svn r86] Changed the way arguments are given storage. It is now detected if they will need it during semantic passes.
lindquist
parents:
diff
changeset
|
4 void RegisterDwarfSymbols(llvm::Module* mod); |
d8dd47ef3973
[svn r86] Changed the way arguments are given storage. It is now detected if they will need it during semantic passes.
lindquist
parents:
diff
changeset
|
5 |
250
fc9c1a0eabbd
[svn r267] Fixed debug info for global variables.
lindquist
parents:
247
diff
changeset
|
6 /** |
fc9c1a0eabbd
[svn r267] Fixed debug info for global variables.
lindquist
parents:
247
diff
changeset
|
7 * Emit the Dwarf compile_unit global for a Module m. |
fc9c1a0eabbd
[svn r267] Fixed debug info for global variables.
lindquist
parents:
247
diff
changeset
|
8 * @param m |
fc9c1a0eabbd
[svn r267] Fixed debug info for global variables.
lindquist
parents:
247
diff
changeset
|
9 * @return the Dwarf compile_unit. |
fc9c1a0eabbd
[svn r267] Fixed debug info for global variables.
lindquist
parents:
247
diff
changeset
|
10 */ |
139
0ab29b838084
[svn r143] Fixed: a few bugs in debug information, still only line info, but should be correct files now :)
lindquist
parents:
94
diff
changeset
|
11 llvm::GlobalVariable* DtoDwarfCompileUnit(Module* m); |
250
fc9c1a0eabbd
[svn r267] Fixed debug info for global variables.
lindquist
parents:
247
diff
changeset
|
12 |
fc9c1a0eabbd
[svn r267] Fixed debug info for global variables.
lindquist
parents:
247
diff
changeset
|
13 /** |
fc9c1a0eabbd
[svn r267] Fixed debug info for global variables.
lindquist
parents:
247
diff
changeset
|
14 * Emit the Dwarf subprogram global for a function declaration fd. |
fc9c1a0eabbd
[svn r267] Fixed debug info for global variables.
lindquist
parents:
247
diff
changeset
|
15 * @param fd |
fc9c1a0eabbd
[svn r267] Fixed debug info for global variables.
lindquist
parents:
247
diff
changeset
|
16 * @return the Dwarf subprogram global. |
fc9c1a0eabbd
[svn r267] Fixed debug info for global variables.
lindquist
parents:
247
diff
changeset
|
17 */ |
fc9c1a0eabbd
[svn r267] Fixed debug info for global variables.
lindquist
parents:
247
diff
changeset
|
18 llvm::GlobalVariable* DtoDwarfSubProgram(FuncDeclaration* fd); |
82
d8dd47ef3973
[svn r86] Changed the way arguments are given storage. It is now detected if they will need it during semantic passes.
lindquist
parents:
diff
changeset
|
19 |
686
363bb6c0cc80
Emit stub debug info for generated functions to work around LLVM bug 2172.
Christian Kamm <kamm incasoftware de>
parents:
664
diff
changeset
|
20 /** |
363bb6c0cc80
Emit stub debug info for generated functions to work around LLVM bug 2172.
Christian Kamm <kamm incasoftware de>
parents:
664
diff
changeset
|
21 * Emit the Dwarf subprogram global for a internal function. |
363bb6c0cc80
Emit stub debug info for generated functions to work around LLVM bug 2172.
Christian Kamm <kamm incasoftware de>
parents:
664
diff
changeset
|
22 * This is used for generated functions like moduleinfoctors, |
363bb6c0cc80
Emit stub debug info for generated functions to work around LLVM bug 2172.
Christian Kamm <kamm incasoftware de>
parents:
664
diff
changeset
|
23 * module ctors/dtors and unittests. |
363bb6c0cc80
Emit stub debug info for generated functions to work around LLVM bug 2172.
Christian Kamm <kamm incasoftware de>
parents:
664
diff
changeset
|
24 * @return the Dwarf subprogram global. |
363bb6c0cc80
Emit stub debug info for generated functions to work around LLVM bug 2172.
Christian Kamm <kamm incasoftware de>
parents:
664
diff
changeset
|
25 */ |
363bb6c0cc80
Emit stub debug info for generated functions to work around LLVM bug 2172.
Christian Kamm <kamm incasoftware de>
parents:
664
diff
changeset
|
26 llvm::GlobalVariable* DtoDwarfSubProgramInternal(const char* prettyname, const char* mangledname); |
363bb6c0cc80
Emit stub debug info for generated functions to work around LLVM bug 2172.
Christian Kamm <kamm incasoftware de>
parents:
664
diff
changeset
|
27 |
82
d8dd47ef3973
[svn r86] Changed the way arguments are given storage. It is now detected if they will need it during semantic passes.
lindquist
parents:
diff
changeset
|
28 void DtoDwarfFuncStart(FuncDeclaration* fd); |
d8dd47ef3973
[svn r86] Changed the way arguments are given storage. It is now detected if they will need it during semantic passes.
lindquist
parents:
diff
changeset
|
29 void DtoDwarfFuncEnd(FuncDeclaration* fd); |
d8dd47ef3973
[svn r86] Changed the way arguments are given storage. It is now detected if they will need it during semantic passes.
lindquist
parents:
diff
changeset
|
30 |
d8dd47ef3973
[svn r86] Changed the way arguments are given storage. It is now detected if they will need it during semantic passes.
lindquist
parents:
diff
changeset
|
31 void DtoDwarfStopPoint(unsigned ln); |
d8dd47ef3973
[svn r86] Changed the way arguments are given storage. It is now detected if they will need it during semantic passes.
lindquist
parents:
diff
changeset
|
32 |
245
d61ce72c39ab
[svn r262] Fixed debug info for normal function parameters.
lindquist
parents:
244
diff
changeset
|
33 /** |
d61ce72c39ab
[svn r262] Fixed debug info for normal function parameters.
lindquist
parents:
244
diff
changeset
|
34 * Emits all things necessary for making debug info for a local variable vd. |
d61ce72c39ab
[svn r262] Fixed debug info for normal function parameters.
lindquist
parents:
244
diff
changeset
|
35 * @param ll LLVM Value of the variable. |
d61ce72c39ab
[svn r262] Fixed debug info for normal function parameters.
lindquist
parents:
244
diff
changeset
|
36 * @param vd Variable declaration to emit debug info for. |
d61ce72c39ab
[svn r262] Fixed debug info for normal function parameters.
lindquist
parents:
244
diff
changeset
|
37 */ |
d61ce72c39ab
[svn r262] Fixed debug info for normal function parameters.
lindquist
parents:
244
diff
changeset
|
38 void DtoDwarfLocalVariable(LLValue* ll, VarDeclaration* vd); |
244
a95056b3c996
[svn r261] Fixed debug info for integer and floating local variables, can now be inspected in GDB.
lindquist
parents:
139
diff
changeset
|
39 |
247
56199753e637
[svn r264] Fixed debug info for global variables.
lindquist
parents:
245
diff
changeset
|
40 /** |
56199753e637
[svn r264] Fixed debug info for global variables.
lindquist
parents:
245
diff
changeset
|
41 * Emits all things necessary for making debug info for a global variable vd. |
56199753e637
[svn r264] Fixed debug info for global variables.
lindquist
parents:
245
diff
changeset
|
42 * @param ll |
56199753e637
[svn r264] Fixed debug info for global variables.
lindquist
parents:
245
diff
changeset
|
43 * @param vd |
56199753e637
[svn r264] Fixed debug info for global variables.
lindquist
parents:
245
diff
changeset
|
44 * @return |
56199753e637
[svn r264] Fixed debug info for global variables.
lindquist
parents:
245
diff
changeset
|
45 */ |
56199753e637
[svn r264] Fixed debug info for global variables.
lindquist
parents:
245
diff
changeset
|
46 LLGlobalVariable* DtoDwarfGlobalVariable(LLGlobalVariable* ll, VarDeclaration* vd); |
56199753e637
[svn r264] Fixed debug info for global variables.
lindquist
parents:
245
diff
changeset
|
47 |
664
eef8ac26c66c
Some missed LLVMDC -> LDC.
Christian Kamm <kamm incasoftware de>
parents:
250
diff
changeset
|
48 #endif // LDC_GEN_TODEBUG_H |
82
d8dd47ef3973
[svn r86] Changed the way arguments are given storage. It is now detected if they will need it during semantic passes.
lindquist
parents:
diff
changeset
|
49 |
d8dd47ef3973
[svn r86] Changed the way arguments are given storage. It is now detected if they will need it during semantic passes.
lindquist
parents:
diff
changeset
|
50 |