Hi All, I was under the impression that functions declared inside a module are visible only within that module. For example, if you have Module1.c and Module2.c, I would expect to be able to declare function foo() in both of them. However, when I compile, I get this linker error: bin\Module2.o(.text+0x0): In function `foo': C:\pic\src\Module2.c:43: multiple definition of `foo' bin\Module1.o(.text+0x0):C:\pic\src\Module1.c:51: first defined here Is there a way to prevent the name collision, short of using different names for the two functions? Thanks in advance for your help! Vitaliy -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist