Thanks Thomas. On Wed, Dec 23, 2009 at 7:09 PM, Thomas Martitz <thomas.martitz@xxxxxxxxxxxxxxxxxxxxx> wrote: > Am 23.12.2009 14:35, schrieb kum: >> >> Hi, >> I am using gcc v4.1.0 for mips (host:linux). With -O2 gcc does not >> produce an inline function if the definition of the inline function is >> in a different file than the caller. Am I missing something here? >> Cannot I have inline function defined in different file? >> >> inline int __attribute__((always_inline)) foo() >> { >> // do something; >> return 0; >> } >> >> > > > No, you can't. Compiler process each translation unit (=source file) > separately, so it's not possible to insert code from another translation > unit. > > In your example it will be only inlined in the file it's defined in. > Additionally a function body is created because the function is not static. > > Put the inline in a header file, make it static and #include it from each > source file you want to call it from. > Best regards. > -- kum