aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AST/Builtins.cpp4
-rw-r--r--include/clang/AST/Builtins.def2
2 files changed, 6 insertions, 0 deletions
diff --git a/AST/Builtins.cpp b/AST/Builtins.cpp
index 3fb3faf85f..5a470ff950 100644
--- a/AST/Builtins.cpp
+++ b/AST/Builtins.cpp
@@ -130,6 +130,10 @@ static QualType DecodeTypeFromStr(const char *&Str, ASTContext &Context) {
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 d26d7cf5ad..546c8cf3e9 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___CFStringMakeConstantString, "FC*cC*", "nc")
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