diff options
| author | Fariborz Jahanian <fjahanian@apple.com> | 2008-12-22 20:41:58 +0000 |
|---|---|---|
| committer | Fariborz Jahanian <fjahanian@apple.com> | 2008-12-22 20:41:58 +0000 |
| commit | 8b2d1294db1c08a3395e4628449ad0291247c108 (patch) | |
| tree | 8a04d164537c7b4f65c49faba93f59754b56832d /clang/lib/AST | |
| parent | 9de060ebd2eb351117a477ae2263dfc7ef588902 (diff) | |
| download | bcm5719-llvm-8b2d1294db1c08a3395e4628449ad0291247c108.tar.gz bcm5719-llvm-8b2d1294db1c08a3395e4628449ad0291247c108.zip | |
Fixed a bug showed up the meta-data for protocol
instance methods by building print-class-info.m,
whose output is now identical to what gcc puts out.
llvm-svn: 61339
Diffstat (limited to 'clang/lib/AST')
| -rw-r--r-- | clang/lib/AST/DeclObjC.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/clang/lib/AST/DeclObjC.cpp b/clang/lib/AST/DeclObjC.cpp index 6045fa20c13..a14e3ba068c 100644 --- a/clang/lib/AST/DeclObjC.cpp +++ b/clang/lib/AST/DeclObjC.cpp @@ -468,7 +468,11 @@ addPropertyMethods(Decl *D, property->getGetterName(), property->getType(), D, - true, false, true, ObjCMethodDecl::Required); + true, false, true, + (property->getPropertyImplementation() == + ObjCPropertyDecl::Optional) ? + ObjCMethodDecl::Optional : + ObjCMethodDecl::Required); insMethods.push_back(GetterDecl); InsMap[property->getGetterName()] = GetterDecl; } @@ -493,7 +497,11 @@ addPropertyMethods(Decl *D, property->getSetterName(), Context.VoidTy, D, - true, false, true, ObjCMethodDecl::Required); + true, false, true, + (property->getPropertyImplementation() == + ObjCPropertyDecl::Optional) ? + ObjCMethodDecl::Optional : + ObjCMethodDecl::Required); insMethods.push_back(SetterDecl); InsMap[property->getSetterName()] = SetterDecl; // Invent the arguments for the setter. We don't bother making a |

