From 39ed86269e6149764d3830c57df90086480058f5 Mon Sep 17 00:00:00 2001 From: Tomas Lindquist Olsen Date: Tue, 13 May 2008 18:07:03 +0200 Subject: [PATCH] [svn r222] Forgot to remove volatile ATTENTION. Fixed a few comment types. Forgot to add makefile for the basic GC. --- gen/statements.cpp | 6 +- llvmdc.kdevelop | 3 + llvmdc.kdevelop.filelist | 1 - tango/lib/gc/basic/llvmdc.mak | 100 ++++++++++++++++++++++++++++++++++ tangotests/volatile1.d | 13 +++++ 5 files changed, 118 insertions(+), 5 deletions(-) create mode 100644 tango/lib/gc/basic/llvmdc.mak create mode 100644 tangotests/volatile1.d diff --git a/gen/statements.cpp b/gen/statements.cpp index 1069b616..6708859e 100644 --- a/gen/statements.cpp +++ b/gen/statements.cpp @@ -1157,9 +1157,7 @@ void VolatileStatement::toIR(IRState* p) 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 @@ void VolatileStatement::toIR(IRState* p) // 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 --git a/llvmdc.kdevelop b/llvmdc.kdevelop index 8b8749c2..9f9e617c 100644 --- a/llvmdc.kdevelop +++ b/llvmdc.kdevelop @@ -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 --git a/llvmdc.kdevelop.filelist b/llvmdc.kdevelop.filelist index 1c01e38a..e7e35a5d 100644 --- a/llvmdc.kdevelop.filelist +++ b/llvmdc.kdevelop.filelist @@ -288,7 +288,6 @@ tango/lib/compiler/llvmdc/genobj.d 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 --git a/tango/lib/gc/basic/llvmdc.mak b/tango/lib/gc/basic/llvmdc.mak new file mode 100644 index 00000000..fa766a3d --- /dev/null +++ b/tango/lib/gc/basic/llvmdc.mak @@ -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 --git a/tangotests/volatile1.d b/tangotests/volatile1.d new file mode 100644 index 00000000..6eeaa94c --- /dev/null +++ b/tangotests/volatile1.d @@ -0,0 +1,13 @@ +module tangotests.volatile1; + +import tango.stdc.stdlib; + +void main() +{ + int var = rand(); + { + int i = var; + volatile; + int j = i; + } +}