view ir/irforw.h @ 1328:c78fd2d30da1

Changed array slice copying to call a runtime function when assertions or array bound checks are enabled instead of just doing a memcpy. This makes sure an exception is thrown if the copy is invalid (ie. different lengths or overlap). Fixes ticket #283 . Rebuilding the runtime is necessary.
author Tomas Lindquist Olsen <tomas.l.olsen gmail com>
date Sun, 10 May 2009 02:23:05 +0200
parents eef8ac26c66c
children
line wrap: on
line source

#ifndef LDC_IR_IRFORW_H
#define LDC_IR_IRFORW_H

// dmd forward declarations
struct Module;
struct Dsymbol;
struct Declaration;
struct VarDeclaration;
struct FuncDeclaration;
struct AggregateDeclaration;
struct StructDeclaration;
struct ClassDeclaration;
struct InterfaceDeclaration;
struct Expression;
struct BaseClass;
struct Array;
struct Argument;

struct Type;
struct TypeStruct;
struct TypeClass;
struct TypeEnum;
struct TypeArray;
struct TypeFunction;

// llvm forward declarations
namespace llvm
{
    class Value;
    class GlobalValue;
    class GlobalVariable;
    class Function;
    class Constant;
    class ConstantStruct;
    class ConstantArray;
    class TargetData;
    class Type;
    class StructType;
    class ArrayType;
    class PointerType;
    class BasicBlock;
    class Instruction;
}

#endif