[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

Dale Johannesen dalej at apple.com
Mon Apr 13 11:37:45 PDT 2009


On Apr 13, 2009, at 11:34 AMPDT, Chris Lattner wrote:

>
> 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.

I see.  Sure you want to do that?  I think you'll find most existing  
code expects inline to behave like gnu89.




More information about the llvm-commits mailing list