[cfe-commits] r77270 - /cfe/trunk/lib/CodeGen/CGObjCMac.cpp
Daniel Dunbar
daniel at zuster.org
Mon Jul 27 16:47:51 PDT 2009
Hi Fariborz,
It would be really nice to tweak the Objective-C test cases in
llvm-test to check for this as well, since it is a fairly subtle
point.
- Daniel
On Mon, Jul 27, 2009 at 4:12 PM, Fariborz Jahanian<fjahanian at apple.com> wrote:
> Author: fjahanian
> Date: Mon Jul 27 18:12:41 2009
> New Revision: 77270
>
> URL: http://llvm.org/viewvc/llvm-project?rev=77270&view=rev
> Log:
> Patch for objc's zero-const exception to not assume
> that @catch(...) cathces all exceptions (c++ objects
> are not cought by that).
>
>
> Modified:
> cfe/trunk/lib/CodeGen/CGObjCMac.cpp
>
> Modified: cfe/trunk/lib/CodeGen/CGObjCMac.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGObjCMac.cpp?rev=77270&r1=77269&r2=77270&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/CodeGen/CGObjCMac.cpp (original)
> +++ cfe/trunk/lib/CodeGen/CGObjCMac.cpp Mon Jul 27 18:12:41 2009
> @@ -5464,18 +5464,17 @@
> llvm::GlobalValue::ExternalLinkage,
> 0, "OBJC_EHTYPE_id");
> SelectorArgs.push_back(IDEHType);
> - HasCatchAll = true;
> - break;
> }
> -
> - // All other types should be Objective-C interface pointer types.
> - const ObjCObjectPointerType *PT =
> - CatchDecl->getType()->getAsObjCObjectPointerType();
> - assert(PT && "Invalid @catch type.");
> - const ObjCInterfaceType *IT = PT->getInterfaceType();
> - assert(IT && "Invalid @catch type.");
> - llvm::Value *EHType = GetInterfaceEHType(IT->getDecl(), false);
> - SelectorArgs.push_back(EHType);
> + else {
> + // All other types should be Objective-C interface pointer types.
> + const ObjCObjectPointerType *PT =
> + CatchDecl->getType()->getAsObjCObjectPointerType();
> + assert(PT && "Invalid @catch type.");
> + const ObjCInterfaceType *IT = PT->getInterfaceType();
> + assert(IT && "Invalid @catch type.");
> + llvm::Value *EHType = GetInterfaceEHType(IT->getDecl(), false);
> + SelectorArgs.push_back(EHType);
> + }
> }
> }
> }
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
More information about the cfe-commits
mailing list