comparison dmd/scope.h @ 1367:8026319762be

Merged DMD 1.045 !!!
author Tomas Lindquist Olsen <tomas.l.olsen gmail com>
date Sat, 16 May 2009 22:21:31 +0200
parents e961851fb8be
children def7a1d494fd
comparison
equal deleted inserted replaced
1366:81121ac19f61 1367:8026319762be
10 #ifndef DMD_SCOPE_H 10 #ifndef DMD_SCOPE_H
11 #define DMD_SCOPE_H 11 #define DMD_SCOPE_H
12 12
13 #ifdef __DMC__ 13 #ifdef __DMC__
14 #pragma once 14 #pragma once
15 #endif /* __DMC__ */ 15 #endif
16 16
17 struct Dsymbol; 17 struct Dsymbol;
18 struct ScopeDsymbol; 18 struct ScopeDsymbol;
19 struct Array; 19 struct Array;
20 struct Identifier; 20 struct Identifier;
27 struct ClassDeclaration; 27 struct ClassDeclaration;
28 struct AggregateDeclaration; 28 struct AggregateDeclaration;
29 struct AnonymousAggregateDeclaration; 29 struct AnonymousAggregateDeclaration;
30 struct FuncDeclaration; 30 struct FuncDeclaration;
31 struct DocComment; 31 struct DocComment;
32 struct TemplateInstance;
33
34 #if IN_LLVM
32 struct EnclosingHandler; 35 struct EnclosingHandler;
33 struct AnonDeclaration; 36 struct AnonDeclaration;
37 #endif
34 38
35 #if __GNUC__ 39 #if __GNUC__
40 // Requires a full definition for PROT and LINK
36 #include "dsymbol.h" // PROT 41 #include "dsymbol.h" // PROT
37 #include "mars.h" // LINK 42 #include "mars.h" // LINK
38 #else 43 #else
39 enum LINK; 44 enum LINK;
40 enum PROT; 45 enum PROT;
51 FuncDeclaration *func; // function we are in 56 FuncDeclaration *func; // function we are in
52 Dsymbol *parent; // parent to use 57 Dsymbol *parent; // parent to use
53 LabelStatement *slabel; // enclosing labelled statement 58 LabelStatement *slabel; // enclosing labelled statement
54 SwitchStatement *sw; // enclosing switch statement 59 SwitchStatement *sw; // enclosing switch statement
55 TryFinallyStatement *enclosingFinally; // enclosing try finally statement; set inside its finally block 60 TryFinallyStatement *enclosingFinally; // enclosing try finally statement; set inside its finally block
61 TemplateInstance *tinst; // enclosing template instance
56 Statement *enclosingScopeExit; // enclosing statement that wants to do something on scope exit 62 Statement *enclosingScopeExit; // enclosing statement that wants to do something on scope exit
57 TemplateInstance *tinst; // enclosing template instance
58 Statement *sbreak; // enclosing statement that supports "break" 63 Statement *sbreak; // enclosing statement that supports "break"
59 Statement *scontinue; // enclosing statement that supports "continue" 64 Statement *scontinue; // enclosing statement that supports "continue"
60 ForeachStatement *fes; // if nested function for ForeachStatement, this is it 65 ForeachStatement *fes; // if nested function for ForeachStatement, this is it
61 unsigned offset; // next offset to use in aggregate 66 unsigned offset; // next offset to use in aggregate
62 int inunion; // we're processing members of a union 67 int inunion; // we're processing members of a union