# HG changeset patch # User lindquist # Date 1210694823 -7200 # Node ID cd2c9f4010e486cdc50410432948fa066973386e # Parent 9d44ec83acd1d551d35e53a26cb6a55c18df7786 [svn r222] Forgot to remove volatile ATTENTION. Fixed a few comment types. Forgot to add makefile for the basic GC. diff -r 9d44ec83acd1 -r cd2c9f4010e4 gen/statements.cpp --- a/gen/statements.cpp Tue May 13 17:58:11 2008 +0200 +++ b/gen/statements.cpp Tue May 13 18:07:03 2008 +0200 @@ -1157,9 +1157,7 @@ Logger::println("VolatileStatement::toIR(): %s", loc.toChars()); LOG_SCOPE; - Logger::attention(loc, "volatile is currently ignored. only the body will be emitted"); - - // mark in volate + // mark in-volatile bool old = gIR->func()->inVolatile; gIR->func()->inVolatile = true; @@ -1172,7 +1170,7 @@ // do statement statement->toIR(p); - // not point in a unreachable barrier, terminating statements should insert this themselves. + // no point in a unreachable barrier, terminating statements should insert this themselves. if (statement->fallOffEnd()) { // store-load diff -r 9d44ec83acd1 -r cd2c9f4010e4 llvmdc.kdevelop --- a/llvmdc.kdevelop Tue May 13 17:58:11 2008 +0200 +++ b/llvmdc.kdevelop Tue May 13 18:07:03 2008 +0200 @@ -16,6 +16,7 @@ false + kdevsubversion @@ -101,6 +102,7 @@ *.bc false + false @@ -660,6 +662,7 @@ dmd26/version.h todo todo/lib.d + tests/dstress make diff -r 9d44ec83acd1 -r cd2c9f4010e4 llvmdc.kdevelop.filelist --- a/llvmdc.kdevelop.filelist Tue May 13 17:58:11 2008 +0200 +++ b/llvmdc.kdevelop.filelist Tue May 13 18:07:03 2008 +0200 @@ -288,7 +288,6 @@ tango/lib/compiler/llvmdc/lifetime.d tango/lib/compiler/llvmdc/llvm tango/lib/compiler/llvmdc/mars.h -tango/lib/compiler/llvmdc/mem.d tango/lib/compiler/llvmdc/memory.d tango/lib/compiler/llvmdc/monitor.c tango/lib/compiler/llvmdc/qsort2.d diff -r 9d44ec83acd1 -r cd2c9f4010e4 tango/lib/gc/basic/llvmdc.mak --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tango/lib/gc/basic/llvmdc.mak Tue May 13 18:07:03 2008 +0200 @@ -0,0 +1,100 @@ +# Makefile to build the garbage collector D library for LLVMDC +# Designed to work with GNU make +# Targets: +# make +# Same as make all +# make lib +# Build the garbage collector library +# make doc +# Generate documentation +# make clean +# Delete unneeded files created by build process + +LIB_TARGET=libtango-gc-basic.a +LIB_MASK=libtango-gc-basic*.a + +CP=cp -f +RM=rm -f +MD=mkdir -p + +ADD_CFLAGS= +ADD_DFLAGS= + +#CFLAGS=-O $(ADD_CFLAGS) +CFLAGS=-g $(ADD_CFLAGS) + +#DFLAGS=-release -O -inline -w -nofloat $(ADD_DFLAGS) +DFLAGS=-g -w -nofloat $(ADD_DFLAGS) + +TFLAGS=-O -inline -w -nofloat $(ADD_DFLAGS) +#TFLAGS=-g -w -nofloat $(ADD_DFLAGS) + +DOCFLAGS=-version=DDoc + +CC=gcc +LC=llvm-ar rsv +DC=llvmdc + +LIB_DEST=.. + +.SUFFIXES: .s .S .c .cpp .d .html .o .bc + +.s.o: + $(CC) -c $(CFLAGS) $< -o$@ + +.S.o: + $(CC) -c $(CFLAGS) $< -o$@ + +.c.o: + $(CC) -c $(CFLAGS) $< -o$@ + +.cpp.o: + g++ -c $(CFLAGS) $< -o$@ + +.d.bc: + $(DC) -c $(DFLAGS) $< -of$@ + +.d.html: + $(DC) -c -o- $(DOCFLAGS) -Df$*.html $< +# $(DC) -c -o- $(DOCFLAGS) -Df$*.html dmd.ddoc $< + +targets : lib doc +all : lib doc +lib : basic.lib +doc : basic.doc + +###################################################### + +ALL_OBJS= \ + gc.bc \ + gcalloc.bc \ + gcbits.bc \ + gcstats.bc \ + gcx.bc + +###################################################### + +ALL_DOCS= + +###################################################### + +basic.lib : $(LIB_TARGET) + +$(LIB_TARGET) : $(ALL_OBJS) + $(RM) $@ + $(LC) $@ $(ALL_OBJS) + +basic.doc : $(ALL_DOCS) + echo No documentation available. + +###################################################### + +clean : + find . -name "*.di" | xargs $(RM) + $(RM) $(ALL_OBJS) + $(RM) $(ALL_DOCS) + $(RM) $(LIB_MASK) + +install : + $(MD) $(LIB_DEST) + $(CP) $(LIB_MASK) $(LIB_DEST)/. diff -r 9d44ec83acd1 -r cd2c9f4010e4 tangotests/volatile1.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tangotests/volatile1.d Tue May 13 18:07:03 2008 +0200 @@ -0,0 +1,13 @@ +module tangotests.volatile1; + +import tango.stdc.stdlib; + +void main() +{ + int var = rand(); + { + int i = var; + volatile; + int j = i; + } +}