forked from OSchip/llvm-project
objc - fix up the builtin type for objc_assign_ivar.
// rdar://9362887. llvm-svn: 138412
This commit is contained in:
parent
7a98a7e681
commit
73952fc263
|
@ -35,6 +35,7 @@
|
|||
// A -> "reference" to __builtin_va_list
|
||||
// V -> Vector, following num elements and a base type.
|
||||
// X -> _Complex, followed by the base type.
|
||||
// Y -> ptrdiff_t
|
||||
// P -> FILE
|
||||
// J -> jmp_buf
|
||||
// SJ -> sigjmp_buf
|
||||
|
@ -690,8 +691,7 @@ LIBBUILTIN(objc_read_weak, "GG*", "f", "/objc/objc-auto.h", OBJC_LANG)
|
|||
// id objc_assign_weak(id value, id *location)
|
||||
LIBBUILTIN(objc_assign_weak, "GGG*", "f", "/objc/objc-auto.h", OBJC_LANG)
|
||||
// id objc_assign_ivar(id value, id dest, ptrdiff_t offset)
|
||||
// FIXME. Darwin has ptrdiff_t typedef'ed to int.
|
||||
LIBBUILTIN(objc_assign_ivar, "GGGi", "f", "/objc/objc-auto.h", OBJC_LANG)
|
||||
LIBBUILTIN(objc_assign_ivar, "GGGY", "f", "/objc/objc-auto.h", OBJC_LANG)
|
||||
// id objc_assign_global(id val, id *dest)
|
||||
LIBBUILTIN(objc_assign_global, "GGG*", "f", "/objc/objc-auto.h", OBJC_LANG)
|
||||
// id objc_assign_strongCast(id val, id *dest
|
||||
|
|
|
@ -6140,7 +6140,11 @@ static QualType DecodeTypeFromStr(const char *&Str, const ASTContext &Context,
|
|||
assert(!RequiresICE && "Can't require complex ICE");
|
||||
Type = Context.getComplexType(ElementType);
|
||||
break;
|
||||
}
|
||||
}
|
||||
case 'Y' : {
|
||||
Type = Context.getPointerDiffType();
|
||||
break;
|
||||
}
|
||||
case 'P':
|
||||
Type = Context.getFILEType();
|
||||
if (Type.isNull()) {
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
// RUN: %clang_cc1 -x objective-c %s -fsyntax-only -verify
|
||||
// rdar://9362887
|
||||
|
||||
typedef __typeof__(((int*)0)-((int*)0)) ptrdiff_t;
|
||||
extern id objc_assign_ivar(id value, id dest, ptrdiff_t offset);
|
||||
|
Loading…
Reference in New Issue