Tomas Lindquist Olsen
a3c7b8b369
[svn r327] Fixed some more MinGW32 issues. It's now very close to working.
...
Fixed problems with inline asm like: mov EAX, FS:4 , which incidentally is used in the runtime to get the stack bottom, on Windows.
2008-06-27 23:58:22 +02:00
Tomas Lindquist Olsen
03d26e1178
[svn r326] Fixed a bunch of issues with printf's that MinGW32 did not support.
...
Fixed problems with label collisions when using labels inside inline asm. LabelStatement is now easily reached given its
Identifier, which should be useful elsewhere too.
Enabled inline asm for building the lib/compiler/llvmdc runtime code, fixing branches out of asm makes this possible.
2008-06-27 22:04:35 +02:00
Christian Kamm
b064c794de
[svn r325] Removed dead code.
...
Added license info to code from GDC (David Friedman permitted us to use the files under the Artistic License).
Added asmLabel check to DtoGoto to avoid jumping into inline asm. Doesn't work currently as LabelDsymbol::asmLabel is never set to true.
2008-06-25 23:42:38 +02:00
Christian Kamm
7b37093cff
[svn r323] Branching out of inline asm works.
...
Renamed emit_finallyblocks to DtoFinallyBlocks and moved to llvmhelpers.
Added enclosingtryfinally to AsmBlockStatement, so branches out of asm blocks respect finallys.
Refactored some GotoStatement code into DtoGoto.
2008-06-25 20:39:09 +02:00
Christian Kamm
84dd282b8c
[svn r320] Begun work on branches out of asm blocks. Unfinished.
2008-06-24 21:38:23 +02:00
Tomas Lindquist Olsen
306ebfca83
[svn r256] AsmBlockStatement was still being flattened in some cases.
...
Function parameters passed as arguments to inline asm was not given storage.
2008-06-08 22:07:10 +02:00
Tomas Lindquist Olsen
28382e3567
[svn r250] Fixed the warning about dropping arguments to _Dmain when optimizing.
...
Did a few cleanups in inline asm code.
2008-06-08 08:03:19 +02:00
Tomas Lindquist Olsen
fd8cec14e1
[svn r248] Fixed: labels in inline asm block now work for the normal case.
...
Fixed: inline asm blocks are now emitted as a single asm entity.
2008-06-08 06:15:51 +02:00
Tomas Lindquist Olsen
3e62d80b4f
[svn r247] fixed accessing global symbols from inline asm.
2008-06-08 01:07:58 +02:00
Tomas Lindquist Olsen
187d6523e3
[svn r245] initial support for labels in inline asm, broken :/
2008-06-07 21:31:38 +02:00
Tomas Lindquist Olsen
27634ea5b6
[svn r243] fixed inline asm arg_pointer args hopefully.
2008-06-07 19:19:30 +02:00
Christian Kamm
5ee938ab0a
[svn r238] use *m for memory input constraints and pass in their address
2008-06-06 21:44:17 +02:00
Tomas Lindquist Olsen
b917fe2f00
[svn r237] some inline asm output now seems to work, see tangotests/asm2.d
2008-06-06 20:51:43 +02:00
Tomas Lindquist Olsen
346d04aa8a
[svn r236] added initial codegen of inline asm, pretty buggy and incomplete still. see the tangotests/asm1.d test for a sample of what does
...
work!
2008-06-06 20:14:51 +02:00
Christian Kamm
68d5150c1b
[svn r235] rough port of GDC's inline assembler code, unfinished
2008-06-05 19:22:37 +02:00