[MacPorts] #31742: librsync doesn't correctly export inlined functions when compiled with clang (was: rdiff-backup doesn't work.)
MacPorts
noreply at macports.org
Fri Dec 23 07:32:12 PST 2011
#31742: librsync doesn't correctly export inlined functions when compiled with
clang
---------------------------+------------------------------------------------
Reporter: mzch@… | Owner: perry@…
Type: defect | Status: closed
Priority: Normal | Milestone:
Component: ports | Version: 2.0.3
Resolution: fixed | Keywords:
Port: librsync |
---------------------------+------------------------------------------------
Changes (by cal@…):
* status: new => closed
* resolution: => fixed
* port: rdiff-backup => librsync
Comment:
The problem is related to whether you use gcc or clang:
GCC by default compiles GNU89, which is C89 with some GNU extensions. C89
doesn't have inline, but GNU89 adds it. C99, which is what clang compiles
by default, however, _has_ a specification for the inline keyword. GNU89's
interpretation of the inline keyword differs from the one specified in
C99, which is why this problem occurs.
For more information, read
http://clang.llvm.org/compatibility.html#inline.
A working solution is to drop the inline keyword whenever librsync is
compiled with clang and let the compiler figure out, whether it should
inline the function or not. This is what I have done in r88255.
--
Ticket URL: <https://trac.macports.org/ticket/31742#comment:8>
MacPorts <http://www.macports.org/>
Ports system for Mac OS
More information about the macports-tickets
mailing list