Exterminate nasty Cisms
[oota-llvm.git] / lib / AsmParser / llvmAsmParser.h
1 typedef union {
2   Module                  *ModuleVal;
3   Method                  *MethodVal;
4   MethodArgument          *MethArgVal;
5   BasicBlock              *BasicBlockVal;
6   TerminatorInst          *TermInstVal;
7   Instruction             *InstVal;
8   ConstPoolVal            *ConstVal;
9   const Type              *TypeVal;
10
11   list<MethodArgument*>   *MethodArgList;
12   list<Value*>            *ValueList;
13   list<const Type*>       *TypeList;
14   list<pair<Value*, BasicBlock*> > *PHIList;   // Represent the RHS of PHI node
15   list<pair<ConstPoolVal*, BasicBlock*> > *JumpTable;
16   vector<ConstPoolVal*>   *ConstVector;
17
18   int64_t                  SInt64Val;
19   uint64_t                 UInt64Val;
20   int                      SIntVal;
21   unsigned                 UIntVal;
22   double                   FPVal;
23
24   char                    *StrVal;   // This memory is allocated by strdup!
25   ValID                    ValIDVal; // May contain memory allocated by strdup
26
27   Instruction::UnaryOps    UnaryOpVal;
28   Instruction::BinaryOps   BinaryOpVal;
29   Instruction::TermOps     TermOpVal;
30   Instruction::MemoryOps   MemOpVal;
31   Instruction::OtherOps    OtherOpVal;
32 } YYSTYPE;
33 #define ESINT64VAL      257
34 #define EUINT64VAL      258
35 #define SINTVAL 259
36 #define UINTVAL 260
37 #define FPVAL   261
38 #define VOID    262
39 #define BOOL    263
40 #define SBYTE   264
41 #define UBYTE   265
42 #define SHORT   266
43 #define USHORT  267
44 #define INT     268
45 #define UINT    269
46 #define LONG    270
47 #define ULONG   271
48 #define FLOAT   272
49 #define DOUBLE  273
50 #define STRING  274
51 #define TYPE    275
52 #define LABEL   276
53 #define VAR_ID  277
54 #define LABELSTR        278
55 #define STRINGCONSTANT  279
56 #define IMPLEMENTATION  280
57 #define TRUE    281
58 #define FALSE   282
59 #define BEGINTOK        283
60 #define END     284
61 #define DECLARE 285
62 #define TO      286
63 #define RET     287
64 #define BR      288
65 #define SWITCH  289
66 #define NOT     290
67 #define ADD     291
68 #define SUB     292
69 #define MUL     293
70 #define DIV     294
71 #define REM     295
72 #define SETLE   296
73 #define SETGE   297
74 #define SETLT   298
75 #define SETGT   299
76 #define SETEQ   300
77 #define SETNE   301
78 #define MALLOC  302
79 #define ALLOCA  303
80 #define FREE    304
81 #define LOAD    305
82 #define STORE   306
83 #define GETELEMENTPTR   307
84 #define PHI     308
85 #define CALL    309
86 #define CAST    310
87 #define SHL     311
88 #define SHR     312
89
90
91 extern YYSTYPE llvmAsmlval;