Hi, When not using whole program or link-time optimization, the body of a function must be available to the compiler for it to be able to inline calls the function when compiling a TU. Hence, you might want to put a function that is used in multiple TUs in a header file to give the compiler the opportunity to inline it. However, this forces you to make the function inline, as multiple definitions of non-inline functions is not allowed. It seems inline might be used for two different purposes here: (1) To make the function body available to the compiler to give it the opportunity to inline. (2) To give the compiler a hint to inline the function. But what if you trust the compiler to make the right decision for the function and don't want to influence the inlining heuristics? I.e., what if you only want (1) and not (2)? Which brings me to my questions: - How does making a function inline influence GCC's inlining heuristics for C++? - If it does influence the inlining heuristics in some significant way, then is there some way to get (1) without (2) being forced upon you? (Oh, and please point out if I lied anywhere. :) Cheers, Ulf