comparison gen/llvmhelpers.h @ 305:2b72433d5c8c trunk

[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.
author lindquist
date Fri, 27 Jun 2008 22:04:35 +0200
parents bef811104734
children d59c363fccad
comparison
equal deleted inserted replaced
304:3ebc136702dd 305:2b72433d5c8c
11 void DtoDeleteArray(DValue* arr); 11 void DtoDeleteArray(DValue* arr);
12 12
13 // assertion generator 13 // assertion generator
14 void DtoAssert(Loc* loc, DValue* msg); 14 void DtoAssert(Loc* loc, DValue* msg);
15 15
16 // return the LabelStatement from the current function with the given identifier or NULL if not found
17 LabelStatement* DtoLabelStatement(Identifier* ident);
16 // emit goto 18 // emit goto
17 void DtoGoto(Loc* loc, LabelDsymbol* target, TryFinallyStatement* enclosingtryfinally); 19 void DtoGoto(Loc* loc, Identifier* target, TryFinallyStatement* enclosingtryfinally);
18 20
19 // generates IR for finally blocks between the 'start' and 'end' statements 21 // generates IR for finally blocks between the 'start' and 'end' statements
20 // will begin with the finally block belonging to 'start' and does not include 22 // will begin with the finally block belonging to 'start' and does not include
21 // the finally block of 'end' 23 // the finally block of 'end'
22 void DtoFinallyBlocks(TryFinallyStatement* start, TryFinallyStatement* end); 24 void DtoFinallyBlocks(TryFinallyStatement* start, TryFinallyStatement* end);