annotate dmd/arraytypes.h @ 1650:40bd4a0d4870

Update to work with LLVM 2.7. Removed use of dyn_cast, llvm no compiles without exceptions and rtti by default. We do need exceptions for the libconfig stuff, but rtti isn't necessary (anymore). Debug info needs to be rewritten, as in LLVM 2.7 the format has completely changed. To have something to look at while rewriting, the old code has been wrapped inside #ifndef DISABLE_DEBUG_INFO , this means that you have to define this to compile at the moment. Updated tango 0.99.9 patch to include updated EH runtime code, which is needed for LLVM 2.7 as well.
author Tomas Lindquist Olsen
date Wed, 19 May 2010 12:42:32 +0200
parents 207a8a438dea
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1606
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
1
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
2 // Compiler implementation of the D programming language
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
3 // Copyright (c) 2006-2007 by Digital Mars
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
4 // All Rights Reserved
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
5 // written by Walter Bright
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
6 // http://www.digitalmars.com
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
7 // License for redistribution is by either the Artistic License
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
8 // in artistic.txt, or the GNU General Public License in gnu.txt.
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
9 // See the included readme.txt for details.
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
10
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
11 #ifndef DMD_ARRAYTYPES_H
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
12 #define DMD_ARRAYTYPES_H
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
13
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
14 #ifdef __DMC__
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
15 #pragma once
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
16 #endif /* __DMC__ */
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
17
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
18
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
19 #include "root.h"
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
20
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
21 struct Expression;
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
22 struct Statement;
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
23 struct BaseClass;
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
24 struct TemplateParameter;
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
25 struct FuncDeclaration;
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
26 struct Identifier;
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
27 struct Initializer;
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
28
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
29 struct TemplateParameters : Array { };
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
30
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
31 struct Expressions : Array { };
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
32
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
33 struct Statements : Array { };
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
34
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
35 struct BaseClasses : Array { };
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
36
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
37 struct ClassDeclarations : Array { };
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
38
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
39 struct Dsymbols : Array { };
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
40
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
41 struct Objects : Array { };
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
42
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
43 struct FuncDeclarations : Array { };
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
44
1607
207a8a438dea Merge DMD r253: refactor: Argument => Parameter
Leandro Lucarella <llucax@gmail.com>
parents: 1606
diff changeset
45 struct Parameters : Array { };
1606
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
46
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
47 struct Identifiers : Array { };
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
48
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
49 struct Initializers : Array { };
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
50
1b24e9c7cc26 Use just \n as end of line
Leandro Lucarella <llucax@gmail.com>
parents: 1
diff changeset
51 #endif