diff --git a/i386-gen.c b/i386-gen.c
index fc0748fd..77536f88 100644
--- a/i386-gen.c
+++ b/i386-gen.c
@@ -1061,7 +1061,7 @@ ST_FUNC void gen_bounded_ptr_add(void)
 ST_FUNC void gen_bounded_ptr_deref(void)
 {
     addr_t func;
-    addr_t size, align;
+    int  size, align;
     Elf32_Rel *rel;
     Sym *sym;
 
diff --git a/libtcc.c b/libtcc.c
index d5871793..f886b9d2 100644
--- a/libtcc.c
+++ b/libtcc.c
@@ -1125,7 +1125,7 @@ LIBTCCAPI TCCState *tcc_new(void)
     tcc_define_symbol(s, "__unix__", NULL);
     tcc_define_symbol(s, "__unix", NULL);
     tcc_define_symbol(s, "unix", NULL);
-# if defined(__linux)
+# if defined(__linux__)
     tcc_define_symbol(s, "__linux__", NULL);
     tcc_define_symbol(s, "__linux", NULL);
 # endif
diff --git a/tccrun.c b/tccrun.c
index 25191053..9ee70e43 100644
--- a/tccrun.c
+++ b/tccrun.c
@@ -235,7 +235,11 @@ static void set_pages_executable(void *ptr, unsigned long length)
     end = (addr_t)ptr + length;
     end = (end + PAGESIZE - 1) & ~(PAGESIZE - 1);
     mprotect((void *)start, end - start, PROT_READ | PROT_WRITE | PROT_EXEC);
+  #ifndef __PCC__
     __clear_cache(ptr, (char *)ptr + length);
+  #else
+    /* pcc 1.2.0.DEVEL 20141206 don't have such proc */
+  #endif
 #endif
 }