[llvm-commits] [llvm] r68940 - in /llvm/trunk: docs/ include/llvm/ include/llvm/CodeGen/ lib/AsmParser/ lib/Bitcode/Reader/ lib/Bitcode/Writer/ lib/CodeGen/ lib/CodeGen/AsmPrinter/ lib/Linker/ lib/Target/CppBackend/ lib/VMCore/ test/CodeGen/Gener

Chris Lattner clattner at apple.com
Mon Apr 13 11:34:03 PDT 2009


On Apr 13, 2009, at 11:20 AM, Dale Johannesen wrote:

>>>
>>> Interesting.  One serious issue from looking over it: the C99 rules
>>> require that only calls from within the same translation unit are
>>> allowed to use an inline definition.
>>
>> This could be handled by having the linker drop  
>> "available_externally"
>> symbols when it does linking, but do you expect this to be a problem
>> in practice?  Why would it be ok to inline a body in one translation
>> unit but not in another?
>
> If all you're concerned about is a problem in practice, what we had
> before is probably OK; this form of inline is not widely used.  The
> reason to do what you're doing IMO is to implement something standard
> conformant.

What we had before is not acceptable for Clang.  It defaults to gnu99  
(unlike gcc, which defaults to gnu89), so no inline functions get  
inlined without this.

-Chris



More information about the llvm-commits mailing list