[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