[Bug 180413] [build] [patch] Compilation failure with _DONT_USE_CTYPE_INLINE_ defined

no-reply-bugzilla-daemon at freebsd.org no-reply-bugzilla-daemon at freebsd.org
Mon Jun 2 08:25:27 UTC 2014


http://bugs.freebsd.org/bugzilla/show_bug.cgi?id=180413

David Chisnall <theraven at FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |theraven at FreeBSD.org

--- Comment #1 from David Chisnall <theraven at FreeBSD.org> ---
I am not sure what the bug is here.  We do not guarantee forward compatibility,
only backward compatibility.  Code compiled on 8.3 should run on 9.1, but not
the converse.

In particular, in 9.x we added a (POSIX2008-compilant) per-thread locale and
explicit locales.  For efficiency, various ctype.h functions are inlines.  When
compiled on 8.x, these will always refer to the global locale.  When compiled
with 9.x, they will refer to the thread-local locale if one is set or the
global locale if not.  

If you want to target 8.x, then you should use the headers from 8.x (ideally,
we'd add visibility attributes to all of the headers to allow you to target
older versions, but we have not done this for any other system headers and so
there should be no expectation that this will work in the general case).

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list