Index: tests/Makefile.am
===================================================================
--- tests/Makefile.am	(revision 9a05b81d7121be1cbb9d49643339c40202e5d047)
+++ tests/Makefile.am	(revision 87fc1b407d4e6b619a71878c018cf0a292fe8173)
@@ -38,4 +38,6 @@
 # since automake doesn't have support for CFA we have to
 AM_CFLAGS = $(if $(test), 2> $(test), ) \
+	-fdebug-prefix-map=$(abspath ${abs_srcdir})= \
+	-fdebug-prefix-map=/tmp= \
 	-g \
 	-Wall \
@@ -110,5 +112,5 @@
 % : %.cfa $(CFACCBIN)
 	$(CFACOMPILETEST) -c -o $(abspath ${@}).o
-	$(CFACCLOCAL) $($(shell echo "${@}_FLAGSLD" | sed 's/-\|\//_/g')) $(abspath ${@}).o -o $(abspath ${@})
+	$(CFACCLOCAL) $(if $(test), 2> $(test), ) $($(shell echo "${@}_FLAGSLD" | sed 's/-\|\//_/g')) ${@}.o -o $(abspath ${@})
 
 # implicit rule for c++ test
@@ -137,4 +139,8 @@
 # CUSTOM TARGET
 #------------------------------------------------------------------------------
+# tests that just validate syntax
+expression : expression.cfa $(CFACCBIN)
+	$(CFACOMPILETEST) -c -fsyntax-only -o $(abspath ${@})
+
 # expected failures
 # use custom target since they require a custom define and custom dependencies
Index: tests/linking/.expect/linkerror.txt
===================================================================
--- tests/linking/.expect/linkerror.txt	(revision 87fc1b407d4e6b619a71878c018cf0a292fe8173)
+++ tests/linking/.expect/linkerror.txt	(revision 87fc1b407d4e6b619a71878c018cf0a292fe8173)
@@ -0,0 +1,4 @@
+CFA Version 1.0.0 (debug)
+linking/linkerror.o: In function `_X4mainFi___1':
+linking/linkerror.cfa:6: undefined reference to `_X18this_doesnot_existFv_i__1'
+collect2: error: ld returned 1 exit status
Index: tests/linking/linkerror.cfa
===================================================================
--- tests/linking/linkerror.cfa	(revision 87fc1b407d4e6b619a71878c018cf0a292fe8173)
+++ tests/linking/linkerror.cfa	(revision 87fc1b407d4e6b619a71878c018cf0a292fe8173)
@@ -0,0 +1,7 @@
+// This is more of a meta test, to confirm the test suite handles link errors correctly.
+
+extern void this_doesnot_exist(int);
+
+int main() {
+	this_doesnot_exist( 6 );
+}
