This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: [PATCH] Inline mempcpy


On Mon, 18 May 2015, Wilco Dijkstra wrote:

> #if defined __USE_GNU && !defined TARGET_HAS_OPTIMIZED_MEMPCPY

TARGET_HAS_OPTIMIZED_MEMPCPY is in the user's namespace.  Use the existing 
_HAVE_STRING_ARCH_mempcpy (or something like that in the implementation 
namespace, anyway, defined based on consensus for each architecture).

> #undef mempcpy
> #undef __mempcpy
> #define mempcpy(dest, src, n) __mempcpy_inline(dest, src, n)
> #define __mempcpy(dest, src, n) __mempcpy_inline(dest, src, n)

Bad formatting of function calls.

> __attribute__((__always_inline__)) inline void *

__extern_always_inline (and you need to condition things on defined 
__extern_always_inline, and I'm not sure it this will reliably work with 
GCC versions predating the always_inline attribute, or if you need 
__GNUC_PREREQ (3,2) as well ... maybe the __extern_always_inline 
definition should be conditional on that).  I'm also doubtful of using 
such inlines when not optimizing.

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]