Index: src/CodeGen/CodeGenerator.cc
===================================================================
--- src/CodeGen/CodeGenerator.cc	(revision 6013bd75b2059dd159f97c81e5c0ca86a9110fdf)
+++ src/CodeGen/CodeGenerator.cc	(revision f20dffa2675e9a99fea8be6f3051a231662bcebb)
@@ -147,4 +147,9 @@
 
 	void CodeGenerator::visit( ObjectDecl * objectDecl ) {
+		if (objectDecl->get_name().empty()) {
+			static UniqueName name = { "__anonymous_object" };
+			objectDecl->set_name( name.newName() );
+		}
+
 		extension( objectDecl );
 		genAttributes( objectDecl->get_attributes() );
Index: src/libcfa/Makefile.am
===================================================================
--- src/libcfa/Makefile.am	(revision 6013bd75b2059dd159f97c81e5c0ca86a9110fdf)
+++ src/libcfa/Makefile.am	(revision f20dffa2675e9a99fea8be6f3051a231662bcebb)
@@ -35,5 +35,5 @@
 	 ${AM_V_GEN}@BACKEND_CC@ @CFA_FLAGS@ -D__CFA_DEBUG__ -O0 -c -o $@ $<
 
-EXTRA_FLAGS = -g -Wall -Wno-unused-function -I${abs_top_srcdir}/src/libcfa/libhdr -imacros libcfa-prelude.c @CFA_FLAGS@
+EXTRA_FLAGS = -g -Wall -Werror -Wno-unused-function -I${abs_top_srcdir}/src/libcfa/libhdr -imacros libcfa-prelude.c @CFA_FLAGS@
 
 AM_CCASFLAGS = @CFA_FLAGS@
Index: src/libcfa/Makefile.in
===================================================================
--- src/libcfa/Makefile.in	(revision 6013bd75b2059dd159f97c81e5c0ca86a9110fdf)
+++ src/libcfa/Makefile.in	(revision f20dffa2675e9a99fea8be6f3051a231662bcebb)
@@ -305,5 +305,5 @@
 AUTOMAKE_OPTIONS = subdir-objects
 lib_LIBRARIES = $(am__append_1) $(am__append_2)
-EXTRA_FLAGS = -g -Wall -Wno-unused-function -I${abs_top_srcdir}/src/libcfa/libhdr -imacros libcfa-prelude.c @CFA_FLAGS@
+EXTRA_FLAGS = -g -Wall -Werror -Wno-unused-function -I${abs_top_srcdir}/src/libcfa/libhdr -imacros libcfa-prelude.c @CFA_FLAGS@
 AM_CCASFLAGS = @CFA_FLAGS@
 headers = limits stdlib math iostream fstream iterator rational assert \
Index: src/tests/.expect/32/KRfunctions.txt
===================================================================
--- src/tests/.expect/32/KRfunctions.txt	(revision 6013bd75b2059dd159f97c81e5c0ca86a9110fdf)
+++ src/tests/.expect/32/KRfunctions.txt	(revision f20dffa2675e9a99fea8be6f3051a231662bcebb)
@@ -47,6 +47,6 @@
     int ___retval_f5__i_1;
 }
-int (*__f6__FPFi_i__iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1))(int ){
-    int (*___retval_f6__PFi_i__1)(int );
+int (*__f6__FPFi_i__iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1))(int __anonymous_object0){
+    int (*___retval_f6__PFi_i__1)(int __anonymous_object1);
 }
 int (*__f7__FPFi_ii__iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1))(int __a__i_1, int __b__i_1){
@@ -61,5 +61,5 @@
 int *(*__f10__FPFPi_ii__iPiPid__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1, double __y__d_1))(int __x__i_1, int __y__i_1){
     int *(*___retval_f10__PFPi_ii__1)(int __x__i_1, int __y__i_1);
-    int *__x__FPi_ii__2(int , int );
+    int *__x__FPi_ii__2(int __anonymous_object2, int __anonymous_object3);
     ((void)(___retval_f10__PFPi_ii__1=__x__FPi_ii__2) /* ?{} */);
     return ((int *(*)(int __x__i_1, int __y__i_1))___retval_f10__PFPi_ii__1);
@@ -79,5 +79,5 @@
 const int __fred__FCi___1(){
     const int ___retval_fred__Ci_1;
-    int *(*__x__PFPi_ii__2)(int , int );
+    int *(*__x__PFPi_ii__2)(int __anonymous_object4, int __anonymous_object5);
     int __a__i_2;
     int __b__i_2;
Index: src/tests/.expect/32/attributes.txt
===================================================================
--- src/tests/.expect/32/attributes.txt	(revision f20dffa2675e9a99fea8be6f3051a231662bcebb)
+++ src/tests/.expect/32/attributes.txt	(revision f20dffa2675e9a99fea8be6f3051a231662bcebb)
@@ -0,0 +1,3 @@
+attributes.c:74 error: cannot redefine typedef: ptrdiff_t
+attributes.c:75 error: cannot redefine typedef: size_t
+make: *** [attributes] Error 1
Index: src/tests/.expect/64/KRfunctions.txt
===================================================================
--- src/tests/.expect/64/KRfunctions.txt	(revision 6013bd75b2059dd159f97c81e5c0ca86a9110fdf)
+++ src/tests/.expect/64/KRfunctions.txt	(revision f20dffa2675e9a99fea8be6f3051a231662bcebb)
@@ -47,6 +47,6 @@
     int ___retval_f5__i_1;
 }
-int (*__f6__FPFi_i__iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1))(int ){
-    int (*___retval_f6__PFi_i__1)(int );
+int (*__f6__FPFi_i__iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1))(int __anonymous_object0){
+    int (*___retval_f6__PFi_i__1)(int __anonymous_object1);
 }
 int (*__f7__FPFi_ii__iPiPi__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1))(int __a__i_1, int __b__i_1){
@@ -61,5 +61,5 @@
 int *(*__f10__FPFPi_ii__iPiPid__1(int __a__i_1, int *__b__Pi_1, int *__c__Pi_1, double __y__d_1))(int __x__i_1, int __y__i_1){
     int *(*___retval_f10__PFPi_ii__1)(int __x__i_1, int __y__i_1);
-    int *__x__FPi_ii__2(int , int );
+    int *__x__FPi_ii__2(int __anonymous_object2, int __anonymous_object3);
     ((void)(___retval_f10__PFPi_ii__1=__x__FPi_ii__2) /* ?{} */);
     return ((int *(*)(int __x__i_1, int __y__i_1))___retval_f10__PFPi_ii__1);
@@ -79,5 +79,5 @@
 const int __fred__FCi___1(){
     const int ___retval_fred__Ci_1;
-    int *(*__x__PFPi_ii__2)(int , int );
+    int *(*__x__PFPi_ii__2)(int __anonymous_object4, int __anonymous_object5);
     int __a__i_2;
     int __b__i_2;
Index: src/tests/.expect/64/attributes.txt
===================================================================
--- src/tests/.expect/64/attributes.txt	(revision 6013bd75b2059dd159f97c81e5c0ca86a9110fdf)
+++ src/tests/.expect/64/attributes.txt	(revision f20dffa2675e9a99fea8be6f3051a231662bcebb)
@@ -58,5 +58,5 @@
     __attribute__ ((used,unused,unused)) int __f7__i_1;
     __attribute__ ((used,used,unused)) int __f8__i_1;
-    __attribute__ ((unused)) int ;
+    __attribute__ ((unused)) int __anonymous_object0;
     __attribute__ ((unused,unused)) int *__f9__Pi_1;
 };
@@ -226,16 +226,16 @@
     int **const ___retval_f2__CPPi_1;
 }
-__attribute__ ((unused,used,unused)) int (*__f3__FPA0i_i__1(int ))[];
+__attribute__ ((unused,used,unused)) int (*__f3__FPA0i_i__1(int __anonymous_object1))[];
 __attribute__ ((unused,unused)) int (*__f3__FPA0i_i__1(int __p__i_1))[]{
     int (*___retval_f3__PA0i_1)[];
 }
-__attribute__ ((unused,used,unused)) int (*__f4__FPFi_i____1())(int );
-__attribute__ ((unused,unused)) int (*__f4__FPFi_i____1())(int ){
-    int (*___retval_f4__PFi_i__1)(int );
+__attribute__ ((unused,used,unused)) int (*__f4__FPFi_i____1())(int __anonymous_object2);
+__attribute__ ((unused,unused)) int (*__f4__FPFi_i____1())(int __anonymous_object3){
+    int (*___retval_f4__PFi_i__1)(int __anonymous_object4);
 }
 __attribute__ ((__nothrow__,__leaf__,__malloc__)) extern void *malloc(long unsigned int __size);
 __attribute__ ((__nothrow__,__leaf__)) extern void free(void *__ptr);
 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void abort(void);
-__attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern int atexit0(void (*__func)(void), void *, void *);
+__attribute__ ((__nothrow__,__leaf__,__nonnull__(1))) extern int atexit0(void (*__func)(void), void *__anonymous_object5, void *__anonymous_object6);
 __attribute__ ((__nothrow__,__leaf__,__noreturn__)) extern void exit(int __status);
 __attribute__ ((format(printf, 1, 2))) extern int printf(const char *__restrict __format, ...);
@@ -268,8 +268,8 @@
 int __tpr2__Fi_PPi__1(__attribute__ ((unused,unused,unused,unused,unused,unused)) int **__Foo__PPi_1);
 int __tpr3__Fi_Pi__1(__attribute__ ((unused,unused,unused)) int *__Foo__Pi_1);
-int __tpr4__Fi_PFi_Pi___1(__attribute__ ((unused,unused)) int (*)(__attribute__ ((unused,unused)) int [((long unsigned int )5)]));
+int __tpr4__Fi_PFi_Pi___1(__attribute__ ((unused,unused)) int (*__anonymous_object7)(__attribute__ ((unused,unused)) int __anonymous_object8[((long unsigned int )5)]));
 int __tpr5__Fi_PFi____1(__attribute__ ((unused,unused,unused)) int (*__Foo__PFi___1)());
 int __tpr6__Fi_PFi____1(__attribute__ ((unused,unused,unused)) int (*__Foo__PFi___1)());
-int __tpr7__Fi_PFi_PFi_i____1(__attribute__ ((unused,unused)) int (*)(__attribute__ ((unused)) int (*)(__attribute__ ((unused,unused)) int )));
+int __tpr7__Fi_PFi_PFi_i____1(__attribute__ ((unused,unused)) int (*__anonymous_object9)(__attribute__ ((unused)) int (*__anonymous_object10)(__attribute__ ((unused,unused)) int __anonymous_object11)));
 int __ad__Fi___1(){
     int ___retval_ad__i_1;
@@ -320,16 +320,16 @@
     ((void)sizeof(enum __anonymous5 ));
 }
-int __apd1__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) int *, __attribute__ ((unused,unused,unused)) int *);
-int __apd2__Fi_PPiPPi__1(__attribute__ ((unused,unused,unused,unused)) int **, __attribute__ ((unused,unused,unused,unused)) int **);
-int __apd3__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) int *, __attribute__ ((unused,unused,unused)) int *);
-int __apd4__Fi_PFi__PFi____1(__attribute__ ((unused,unused,unused)) int (*)(), __attribute__ ((unused,unused,unused)) int (*)());
-int __apd5__Fi_PFi_i_PFi_i___1(__attribute__ ((unused,unused,unused)) int (*)(__attribute__ ((unused)) int ), __attribute__ ((unused,unused,unused)) int (*)(__attribute__ ((unused)) int ));
-int __apd6__Fi_PFi__PFi____1(__attribute__ ((unused,unused,unused)) int (*)(), __attribute__ ((unused,unused,unused)) int (*)());
-int __apd7__Fi_PFi_i_PFi_i___1(__attribute__ ((unused,unused,unused)) int (*)(__attribute__ ((unused)) int ), __attribute__ ((unused,unused,unused)) int (*)(__attribute__ ((unused)) int ));
+int __apd1__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) int *__anonymous_object12, __attribute__ ((unused,unused,unused)) int *__anonymous_object13);
+int __apd2__Fi_PPiPPi__1(__attribute__ ((unused,unused,unused,unused)) int **__anonymous_object14, __attribute__ ((unused,unused,unused,unused)) int **__anonymous_object15);
+int __apd3__Fi_PiPi__1(__attribute__ ((unused,unused,unused)) int *__anonymous_object16, __attribute__ ((unused,unused,unused)) int *__anonymous_object17);
+int __apd4__Fi_PFi__PFi____1(__attribute__ ((unused,unused,unused)) int (*__anonymous_object18)(), __attribute__ ((unused,unused,unused)) int (*__anonymous_object19)());
+int __apd5__Fi_PFi_i_PFi_i___1(__attribute__ ((unused,unused,unused)) int (*__anonymous_object20)(__attribute__ ((unused)) int __anonymous_object21), __attribute__ ((unused,unused,unused)) int (*__anonymous_object22)(__attribute__ ((unused)) int __anonymous_object23));
+int __apd6__Fi_PFi__PFi____1(__attribute__ ((unused,unused,unused)) int (*__anonymous_object24)(), __attribute__ ((unused,unused,unused)) int (*__anonymous_object25)());
+int __apd7__Fi_PFi_i_PFi_i___1(__attribute__ ((unused,unused,unused)) int (*__anonymous_object26)(__attribute__ ((unused)) int __anonymous_object27), __attribute__ ((unused,unused,unused)) int (*__anonymous_object28)(__attribute__ ((unused)) int __anonymous_object29));
 struct Vad {
-    __attribute__ ((unused)) int ;
-    __attribute__ ((unused,unused)) int *;
-    __attribute__ ((unused,unused)) int [((long unsigned int )10)];
-    __attribute__ ((unused,unused)) int (*)();
+    __attribute__ ((unused)) int __anonymous_object30;
+    __attribute__ ((unused,unused)) int *__anonymous_object31;
+    __attribute__ ((unused,unused)) int __anonymous_object32[((long unsigned int )10)];
+    __attribute__ ((unused,unused)) int (*__anonymous_object33)();
 };
 static inline void ___constructor__F_P4sVad_autogen___1(struct Vad *___dst__P4sVad_1);
Index: src/tests/Makefile.am
===================================================================
--- src/tests/Makefile.am	(revision 6013bd75b2059dd159f97c81e5c0ca86a9110fdf)
+++ src/tests/Makefile.am	(revision f20dffa2675e9a99fea8be6f3051a231662bcebb)
@@ -51,4 +51,7 @@
 	@+python test.py --list --concurrent=${concurrent}
 
+.dummy : .dummy.c
+	${CC} ${CFLAGS} -XCFA -n ${<} -o ${@}
+
 constant0-1DP : constant0-1.c
 	${CC} ${CFLAGS} -DDUPS ${<} -o ${@}
Index: src/tests/Makefile.in
===================================================================
--- src/tests/Makefile.in	(revision 6013bd75b2059dd159f97c81e5c0ca86a9110fdf)
+++ src/tests/Makefile.in	(revision f20dffa2675e9a99fea8be6f3051a231662bcebb)
@@ -669,4 +669,7 @@
 	@+python test.py --list --concurrent=${concurrent}
 
+.dummy : .dummy.c
+	${CC} ${CFLAGS} -XCFA -n ${<} -o ${@}
+
 constant0-1DP : constant0-1.c
 	${CC} ${CFLAGS} -DDUPS ${<} -o ${@}
Index: src/tests/test.py
===================================================================
--- src/tests/test.py	(revision 6013bd75b2059dd159f97c81e5c0ca86a9110fdf)
+++ src/tests/test.py	(revision f20dffa2675e9a99fea8be6f3051a231662bcebb)
@@ -25,5 +25,5 @@
 # parses the Makefile to find the machine type (32-bit / 64-bit)
 def getMachineType():
-	sh('echo "int main() { return 0; }" > .dummy.c')
+	sh('echo "void ?{}(int*a,int b){}int main(){return 0;}" > .dummy.c')
 	sh("make .dummy", print2stdout=False)
 	_, out = sh("file .dummy", print2stdout=False)
