[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:20:53 PDT 2009


On Apr 13, 2009, at 11:16 AMPDT, Chris Lattner wrote:
> On Apr 13, 2009, at 12:38 AM, Eli Friedman wrote:
>> On Sun, Apr 12, 2009 at 10:44 PM, Chris Lattner <sabre at nondot.org>
>> wrote:
>>> Author: lattner
>>> Date: Mon Apr 13 00:44:34 2009
>>> New Revision: 68940
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=68940&view=rev
>>> Log:
>>> Add a new "available_externally" linkage type.  This is intended
>>> to support C99 inline, GNU extern inline, etc.  Related bugzilla's
>>> include PR3517, PR3100, & PR2933.  Nothing uses this yet, but it
>>> appears to work.
>>
>> 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.




More information about the llvm-commits mailing list