[all-commits] [llvm/llvm-project] 2073dd: Redeclare Objective-C property accessors inside th...
adrian-prantl via All-commits
all-commits at lists.llvm.org
Fri Nov 8 08:23:33 PST 2019
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 2073dd2da702baca447efaf1879cb6151e8c6100
https://github.com/llvm/llvm-project/commit/2073dd2da702baca447efaf1879cb6151e8c6100
Author: Adrian Prantl <aprantl at apple.com>
Date: 2019-11-08 (Fri, 08 Nov 2019)
Changed paths:
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclObjC.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclObjC.cpp
M clang/lib/Analysis/BodyFarm.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
M clang/lib/Frontend/Rewrite/RewriteObjC.cpp
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/test/AST/ast-dump-decl-json.m
M clang/test/Analysis/Inputs/expected-plists/nullability-notes.m.plist
M clang/test/CodeGenObjC/debug-info-synthesis.m
M clang/test/CodeGenObjC/debug-property-synth.m
M clang/test/CodeGenObjC/debuginfo-properties.m
M clang/test/CodeGenObjC/instance-method-metadata.m
M clang/test/SemaObjC/iboutlet.m
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
Redeclare Objective-C property accessors inside the ObjCImplDecl in which they are synthesized.
This patch is motivated by (and factored out from)
https://reviews.llvm.org/D66121 which is a debug info bugfix. Starting
with DWARF 5 all Objective-C methods are nested inside their
containing type, and that patch implements this for synthesized
Objective-C properties.
1. SemaObjCProperty populates a list of synthesized accessors that may
need to inserted into an ObjCImplDecl.
2. SemaDeclObjC::ActOnEnd inserts forward-declarations for all
accessors for which no override was provided into their
ObjCImplDecl. This patch does *not* synthesize AST function
*bodies*. Moving that code from the static analyzer into Sema may
be a good idea though.
3. Places that expect all methods to have bodies have been updated.
I did not update the static analyzer's inliner for synthesized
properties to point back to the property declaration (see
test/Analysis/Inputs/expected-plists/nullability-notes.m.plist), which
I believed to be more bug than a feature.
Differential Revision: https://reviews.llvm.org/D68108
rdar://problem/53782400
More information about the All-commits
mailing list