Add prototype info for __builtin_memcpy, reducing #diagnostics from 37 to 34 on
PR1750
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43435 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/AST/Builtins.cpp b/AST/Builtins.cpp
index 3fb3faf..5a470ff 100644
--- a/AST/Builtins.cpp
+++ b/AST/Builtins.cpp
@@ -130,6 +130,10 @@
else
Type = Context.CharTy;
break;
+ case 'z': // size_t.
+ assert(!Long && !Signed && !Unsigned && "Bad modifiers for 'z'!");
+ Type = Context.getSizeType();
+ break;
case 'F':
Type = Context.getCFConstantStringType();
break;
diff --git a/include/clang/AST/Builtins.def b/include/clang/AST/Builtins.def
index d26d7cf..546c8cf 100644
--- a/include/clang/AST/Builtins.def
+++ b/include/clang/AST/Builtins.def
@@ -29,6 +29,7 @@
// i -> int
// f -> float
// d -> double
+// z -> size_t
// F -> constant CFString
// V -> __builtin_va_list
// . -> "...". This may only occur at the end of the function list.
@@ -63,5 +64,6 @@
BUILTIN(__builtin_va_start, "vV&.", "n")
BUILTIN(__builtin_va_end, "vV&", "n")
BUILTIN(__builtin_va_copy, "vV&V", "n")
+BUILTIN(__builtin_memcpy, "v*v*vC*z", "n")
#undef BUILTIN