diff options
Diffstat (limited to 'clang/lib/Sema')
-rw-r--r-- | clang/lib/Sema/SemaObjCProperty.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/clang/lib/Sema/SemaObjCProperty.cpp b/clang/lib/Sema/SemaObjCProperty.cpp index 87f7baaf568..2d91ea1f5fd 100644 --- a/clang/lib/Sema/SemaObjCProperty.cpp +++ b/clang/lib/Sema/SemaObjCProperty.cpp @@ -1058,11 +1058,13 @@ RedeclarePropertyAccessor(ASTContext &Context, ObjCImplementationDecl *Impl, SourceLocation PropertyLoc) { ObjCMethodDecl *Decl = AccessorDecl; ObjCMethodDecl *ImplDecl = ObjCMethodDecl::Create( - Context, AtLoc, PropertyLoc, Decl->getSelector(), Decl->getReturnType(), + Context, AtLoc.isValid() ? AtLoc : Decl->getBeginLoc(), + PropertyLoc.isValid() ? PropertyLoc : Decl->getEndLoc(), + Decl->getSelector(), Decl->getReturnType(), Decl->getReturnTypeSourceInfo(), Impl, Decl->isInstanceMethod(), - Decl->isVariadic(), Decl->isPropertyAccessor(), /* isSynthesized*/ true, - Decl->isImplicit(), Decl->isDefined(), Decl->getImplementationControl(), - Decl->hasRelatedResultType()); + Decl->isVariadic(), Decl->isPropertyAccessor(), + /* isSynthesized*/ true, Decl->isImplicit(), Decl->isDefined(), + Decl->getImplementationControl(), Decl->hasRelatedResultType()); ImplDecl->getMethodFamily(); if (Decl->hasAttrs()) ImplDecl->setAttrs(Decl->getAttrs()); |