Index: tests/Makefile.am
===================================================================
--- tests/Makefile.am	(revision eea20cd3ba9700ffcd127410e589d7222d9aefb7)
+++ tests/Makefile.am	(revision 7009b9bded5a22382eaaa07103b17654746d29f0)
@@ -89,5 +89,5 @@
 
 # Use for all tests, make sure the path are correct and all flags are added
-CFACOMPILETEST=$(PRETTY_PATH) $(CFACOMPILE) -c $(shell realpath --relative-to=${srcdir} ${<}) $($(shell echo "${@}_FLAGS" | sed 's/-\|\//_/g'))
+CFACOMPILETEST=$(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) $($(shell echo "${@}_FLAGS" | sed 's/-\|\//_/g'))
 
 # Use for tests that either generate an executable, print directly to stdout or the make command is expected to fail
@@ -99,9 +99,16 @@
 #----------------------------------------------------------------------------------------------------------------
 
+is_ascii = $(shell file )
+
 # implicit rule so not all test require a rule
 % : %.cfa $(CFACCBIN)
-	$(CFACOMPILETEST) -o $(abspath ${@}).o
+	$(CFACOMPILETEST) -c -o $(abspath ${@}).o
 	$(CFACC) $(abspath ${@}).o -o $(abspath ${@})
 
+# @ if [[ "$(shell file $(abspath ${@}).o)" == *"ASCII text"* ]]; then echo "mv $(abspath ${@}).o $(abspath ${@})"; mv $(abspath ${@}).o $(abspath ${@}); else echo "$(CFACC) $(abspath ${@}).o -o $(abspath ${@});"; $(CFACC) $(abspath ${@}).o -o $(abspath ${@}); fi
+
+declarationSpecifier gccExtensions extension attributes functions KRfunctions : % : %.cfa $(CFACCBIN)
+	$(CFACOMPILETEST) -CFA -XCFA -p -o $(abspath ${@}).o
+	mv $(abspath ${@}).o $(abspath ${@})
 
 % : %.cpp
Index: tests/Makefile.in
===================================================================
--- tests/Makefile.in	(revision eea20cd3ba9700ffcd127410e589d7222d9aefb7)
+++ tests/Makefile.in	(revision 7009b9bded5a22382eaaa07103b17654746d29f0)
@@ -404,5 +404,5 @@
 
 # Use for all tests, make sure the path are correct and all flags are added
-CFACOMPILETEST = $(PRETTY_PATH) $(CFACOMPILE) -c $(shell realpath --relative-to=${srcdir} ${<}) $($(shell echo "${@}_FLAGS" | sed 's/-\|\//_/g'))
+CFACOMPILETEST = $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) $($(shell echo "${@}_FLAGS" | sed 's/-\|\//_/g'))
 
 # Use for tests that either generate an executable, print directly to stdout or the make command is expected to fail
@@ -411,4 +411,7 @@
 # Use for tests where the make command is expecte to succeed but the expected.txt should be compared to stderr
 CFATEST_STDERR = $(CFACOMPILETEST) 2> $(abspath ${@})
+
+#----------------------------------------------------------------------------------------------------------------
+is_ascii = $(shell file )
 
 #------------------------------------------------------------------------------
@@ -805,10 +808,14 @@
 	@+${TEST_PY} --debug=${debug}  --install=${installed} -Iconcurrent
 
-#----------------------------------------------------------------------------------------------------------------
-
 # implicit rule so not all test require a rule
 % : %.cfa $(CFACCBIN)
-	$(CFACOMPILETEST) -o $(abspath ${@}).o
+	$(CFACOMPILETEST) -c -o $(abspath ${@}).o
 	$(CFACC) $(abspath ${@}).o -o $(abspath ${@})
+
+# @ if [[ "$(shell file $(abspath ${@}).o)" == *"ASCII text"* ]]; then echo "mv $(abspath ${@}).o $(abspath ${@})"; mv $(abspath ${@}).o $(abspath ${@}); else echo "$(CFACC) $(abspath ${@}).o -o $(abspath ${@});"; $(CFACC) $(abspath ${@}).o -o $(abspath ${@}); fi
+
+declarationSpecifier gccExtensions extension attributes functions KRfunctions : % : %.cfa $(CFACCBIN)
+	$(CFACOMPILETEST) -CFA -XCFA -p -o $(abspath ${@}).o
+	mv $(abspath ${@}).o $(abspath ${@})
 
 % : %.cpp
