[svn r38] * resizing dynamic arrays support

* throw is replaced with assert(0)
* catch is ignored
* better foreach support
* various bugfixes
This commit is contained in:
Tomas Lindquist Olsen
2007-10-09 02:50:00 +02:00
parent e17f720cce
commit 3db5b9bb98
17 changed files with 296 additions and 94 deletions

View File

@@ -9,14 +9,15 @@ fi
# build runtime
$dc_cmd internal/contract.d \
internal/arrays.d \
internal/mem.d \
internal/moduleinit.d \
-c -noruntime -odobj || exit 1
llvm-as -f -o=obj/moduleinit_backend.bc internal/moduleinit_backend.ll || exit 1
llvm-link -f -o=../lib/llvmdcore.bc obj/contract.bc obj/arrays.bc obj/moduleinit.bc obj/moduleinit_backend.bc || exit 1
llvm-link -f -o=../lib/llvmdcore.bc obj/contract.bc obj/arrays.bc obj/mem.bc obj/moduleinit.bc obj/moduleinit_backend.bc || exit 1
$dc_cmd internal/objectimpl.d -c -odobj || exit 1
llvm-link -f -o=obj/all.bc obj/contract.bc obj/arrays.bc obj/moduleinit.bc obj/objectimpl.bc obj/moduleinit_backend.bc || exit 1
llvm-link -f -o=obj/all.bc obj/contract.bc obj/arrays.bc obj/mem.bc obj/moduleinit.bc obj/objectimpl.bc obj/moduleinit_backend.bc || exit 1
opt -f -std-compile-opts -o=../lib/llvmdcore.bc obj/all.bc || exit 1

16
lphobos/internal/mem.d Normal file
View File

@@ -0,0 +1,16 @@
module internal.mem;
extern(C):
void* realloc(void*,size_t);
void free(void*);
void* _d_realloc(void* ptr, size_t n)
{
return realloc(ptr, n);
}
void _d_free(void* ptr)
{
free(ptr);
}