hi, iam using some c++ code in kernel module and am using gcc 2.95.3. My code compiles under gcc 2.91.66 but complaines in the newer version. the code that poses the problem is #define __flush_tlb() do { unsigned int tmpreg; \ __asm__ __volatile__( \ "movl %%cr3, %0; # flush TLB \n" \ "movl %0, %%cr3; \n" \ : "=r" (tmpreg) \ :: "memory"); \ } while (0) The : and :: used in the inline assembly pose the problem. it also happens in couple of other places. how can i solve this problem. iam not versed in inline assembly and this problem frustates me. also can some one point me where to find some docs about inline assembly for gcc? Cheers, Mohan S __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/