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;
+ }
+}