[libc-commits] [PATCH] D76484: [libc] Fix bug with __builtin_memcpy_inline

Guillaume Chatelet via Phabricator via libc-commits libc-commits at lists.llvm.org
Fri Mar 20 02:40:48 PDT 2020


gchatelet created this revision.
gchatelet added a reviewer: abrachet.
Herald added subscribers: libc-commits, tschuett, MaskRay.
Herald added a project: libc-project.

The bug comes from constant folding of __builtin_memcpy_inline sizie argument from a template parameter.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D76484

Files:
  libc/src/string/memory_utils/memcpy_utils.h


Index: libc/src/string/memory_utils/memcpy_utils.h
===================================================================
--- libc/src/string/memory_utils/memcpy_utils.h
+++ libc/src/string/memory_utils/memcpy_utils.h
@@ -34,7 +34,8 @@
 #if defined(LLVM_LIBC_MEMCPY_MONITOR)
   LLVM_LIBC_MEMCPY_MONITOR(dst, src, kBlockSize);
 #elif defined(USE_BUILTIN_MEMCPY_INLINE)
-  __builtin_memcpy_inline(dst, src, kBlockSize);
+  constexpr size_t size = kBlockSize;
+  __builtin_memcpy_inline(dst, src, size);
 #elif defined(USE_BUILTIN_MEMCPY)
   __builtin_memcpy(dst, src, kBlockSize);
 #else


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D76484.251578.patch
Type: text/x-patch
Size: 583 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libc-commits/attachments/20200320/5703c7c6/attachment.bin>


More information about the libc-commits mailing list