[cfe-commits] r133747 - in /cfe/trunk: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticSemaKinds.td lib/CodeGen/CGException.cpp lib/CodeGen/CGObjCGNU.cpp lib/CodeGen/CGObjCMac.cpp lib/CodeGen/CGObjCRuntime.h lib/Sema/SemaDec
John McCall
rjmccall at apple.com
Thu Jun 23 13:18:54 PDT 2011
On Jun 23, 2011, at 12:24 PM, Eli Friedman wrote:
> On Thu, Jun 23, 2011 at 12:00 PM, Fariborz Jahanian <fjahanian at apple.com> wrote:
>> Author: fjahanian
>> Date: Thu Jun 23 14:00:08 2011
>> New Revision: 133747
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=133747&view=rev
>> Log:
>> Support for catching objc pointer objects in c++ catch-statement
>> in fragile abi mode and some other cleanups. // rdar://8940528
>>
>>
>> Modified:
>> cfe/trunk/include/clang/Basic/DiagnosticGroups.td
>> cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
>> cfe/trunk/lib/CodeGen/CGException.cpp
>> cfe/trunk/lib/CodeGen/CGObjCGNU.cpp
>> cfe/trunk/lib/CodeGen/CGObjCMac.cpp
>> cfe/trunk/lib/CodeGen/CGObjCRuntime.h
>> cfe/trunk/lib/Sema/SemaDeclCXX.cpp
>> cfe/trunk/test/CodeGenObjCXX/catch-id-type.mm
>> cfe/trunk/test/SemaObjCXX/exceptions-fragile.mm
>>
>> Modified: cfe/trunk/include/clang/Basic/DiagnosticGroups.td
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticGroups.td?rev=133747&r1=133746&r2=133747&view=diff
>> ==============================================================================
>> --- cfe/trunk/include/clang/Basic/DiagnosticGroups.td (original)
>> +++ cfe/trunk/include/clang/Basic/DiagnosticGroups.td Thu Jun 23 14:00:08 2011
>> @@ -296,3 +296,6 @@
>>
>> // A warning group for warnings about Microsoft extensions.
>> def Microsoft : DiagGroup<"microsoft">;
>> +
>> +def ObjCNonUnifiedException : DiagGroup<"objc-nonunified-exceptions">;
>> +
>>
>> Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=133747&r1=133746&r2=133747&view=diff
>> ==============================================================================
>> --- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original)
>> +++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Thu Jun 23 14:00:08 2011
>> @@ -3154,11 +3154,8 @@
>> def err_objc_pointer_cxx_catch_gnu : Error<
>> "can't catch Objective C exceptions in C++ in the GNU runtime">;
>> def warn_objc_pointer_cxx_catch_fragile : Warning<
>> - "catching Objective C id's exceptions in C++ in the non-unified "
>> - "exception model">;
>> -def err_objc_pointer_cxx_catch_fragile : Error<
>> -"can't catch Objective C exceptions in C++ in the non-unified "
>> -"exception model">;
>> + "catching Objective C exceptions in C++ in the non-unified "
>> + "exception model">, InGroup<ObjCNonUnifiedException>;
>> def err_objc_object_catch : Error<
>> "can't catch an Objective C object by value">;
>> def err_incomplete_type_objc_at_encode : Error<
>
> Could the warning be a bit more straightforward, like "this catch
> won't catch ObjC exceptions"?
FWIW, the exact condition is that it won't catch an exception thrown with @throw.
John.
More information about the cfe-commits
mailing list