[cfe-commits] r47850 - /cfe/trunk/Headers/mmintrin.h

Eli Friedman eli.friedman at gmail.com
Tue Mar 4 19:26:40 CST 2008


On Tue, Mar 4, 2008 at 4:51 PM, Chris Lattner <clattner at apple.com> wrote:
>  I'm not understanding the problem here.  If someone took the address
>  (so it doesn't get inlined) clang should be emitting a weak or
>  linkonce symbol (because it is marked inline) anyway.

The issue is that C99 has some funny requirements involving inline
definitions (which clang currently isn't following correctly, if my
interpretation of the standard is accurate correctly).  It is not
valid for an inline function (without an extern specifier) in one
translation unit to get called directly by a function in a different
translation unit.  See C99 6.7.4, specifically the part about the
restrictions for an "inline definition", and see also the C99
Rationale for C99 6.7.4.

-Eli


More information about the cfe-commits mailing list