Mercurial > projects > ldc
view gen/elem.h @ 94:61615fa85940 trunk
[svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
Added support for array .sort and .reverse properties.
Fixed some bugs with pointer arithmetic.
Disabled some DMD AST optimizations that was messing things up, destroying valuable information.
Added a KDevelop project file, this is what I use for coding LLVMDC now :)
Other minor stuff.
author | lindquist |
---|---|
date | Mon, 12 Nov 2007 06:32:46 +0100 |
parents | fd32135dca3e |
children |
line wrap: on
line source
#ifndef LLVMDC_GEN_ELEM_H #define LLVMDC_GEN_ELEM_H #include "dvalue.h" typedef DValue elem; /* #include "root.h" #include "declaration.h" #include "aggregate.h" struct DValue; // represents a value. be it a constant literal, a variable etc. // maintains all the information for doing load/store appropriately struct elem : Object { enum { NONE, VAR, VAL, FUNC, CONST, NUL, REF, SLICE, ARRAYLEN }; public: elem(Expression* e); virtual ~elem(); Expression* exp; llvm::Value* mem; llvm::Value* val; llvm::Value* arg; int type; bool inplace; bool field; unsigned callconv; bool isthis; bool istypeinfo; bool temp; VarDeclaration* vardecl; FuncDeclaration* funcdecl; llvm::Value* getValue(); //llvm::Value* getMemory(); DValue* dvalue; bool isNull() {return !(mem || val);} }; */ #endif // LLVMDC_GEN_ELEM_H