Re: always_inline attribute

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux