diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2017-06-17 17:30:31 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2017-06-17 17:30:31 +0000 |
commit | 91d9bfcec59e8731e14b63ca81d4832fea2e47e4 (patch) | |
tree | af4b270ab9b558b31174dcab23b66bd537e9a02c | |
parent | 025780ba6e92a299b96cfb6d3b1e807e65a0db9d (diff) | |
download | bcm5719-llvm-91d9bfcec59e8731e14b63ca81d4832fea2e47e4.tar.gz bcm5719-llvm-91d9bfcec59e8731e14b63ca81d4832fea2e47e4.zip |
CodeGen: make the type match the comment for a libcall
Fix the type for a (runtime) library call to match both the comment and
the runtime implementation. As it happens, the type being used matched,
this just makes it more precise.
llvm-svn: 305638
-rw-r--r-- | clang/lib/CodeGen/CGObjCMac.cpp | 2 | ||||
-rw-r--r-- | clang/test/CodeGenObjC/objc_copyStruct.m | 16 |
2 files changed, 17 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGObjCMac.cpp b/clang/lib/CodeGen/CGObjCMac.cpp index c78d3febd4c..7976c53d9e9 100644 --- a/clang/lib/CodeGen/CGObjCMac.cpp +++ b/clang/lib/CodeGen/CGObjCMac.cpp @@ -308,7 +308,7 @@ public: SmallVector<CanQualType,5> Params; Params.push_back(Ctx.VoidPtrTy); Params.push_back(Ctx.VoidPtrTy); - Params.push_back(Ctx.LongTy); + Params.push_back(Ctx.getSizeType()); Params.push_back(Ctx.BoolTy); Params.push_back(Ctx.BoolTy); llvm::FunctionType *FTy = diff --git a/clang/test/CodeGenObjC/objc_copyStruct.m b/clang/test/CodeGenObjC/objc_copyStruct.m new file mode 100644 index 00000000000..7fa0ad54f3a --- /dev/null +++ b/clang/test/CodeGenObjC/objc_copyStruct.m @@ -0,0 +1,16 @@ +// RUN: %clang -target x86_64-unknown-windows-msvc -fobjc-runtime=ios -Wno-objc-root-class -S -o - -emit-llvm %s | FileCheck %s +// RUN: %clang -target x86_64-apple-ios -fobjc-runtime=ios -Wno-objc-root-class -S -o - -emit-llvm %s | FileCheck %s + +struct S { + float f, g; +}; + +@interface I +@property struct S s; +@end + +@implementation I +@end + +// CHECK: declare {{.*}}void @objc_copyStruct(i8*, i8*, i64, i1, i1) + |