diff options
-rw-r--r-- | include/clang/Basic/DiagnosticGroups.td | 9 | ||||
-rw-r--r-- | include/clang/Basic/DiagnosticSemaKinds.td | 7 |
2 files changed, 12 insertions, 4 deletions
diff --git a/include/clang/Basic/DiagnosticGroups.td b/include/clang/Basic/DiagnosticGroups.td index 6b348d4308..7881ad3ad6 100644 --- a/include/clang/Basic/DiagnosticGroups.td +++ b/include/clang/Basic/DiagnosticGroups.td @@ -171,7 +171,14 @@ def CustomAtomic : DiagGroup<"custom-atomic-properties">; def AtomicProperties : DiagGroup<"atomic-properties", [ImplicitAtomic, CustomAtomic]>; def AutomaticReferenceCountingABI : DiagGroup<"arc-abi">; -def AutomaticReferenceCounting : DiagGroup<"arc", [AutomaticReferenceCountingABI]>; +def ARCUnsafeRetainedAssign : DiagGroup<"arc-unsafe-retained-assign">; +def ARCRetainCycles : DiagGroup<"arc-retain-cycles">; +def ARCNonPodMemAccess : DiagGroup<"arc-non-pod-memaccess">; +def AutomaticReferenceCounting : DiagGroup<"arc", + [AutomaticReferenceCountingABI, + ARCUnsafeRetainedAssign, + ARCRetainCycles, + ARCNonPodMemAccess]>; def Selector : DiagGroup<"selector">; def NonfragileAbi2 : DiagGroup<"nonfragile-abi2">; def Protocol : DiagGroup<"protocol">; diff --git a/include/clang/Basic/DiagnosticSemaKinds.td b/include/clang/Basic/DiagnosticSemaKinds.td index 17e0986648..4f3ba0d694 100644 --- a/include/clang/Basic/DiagnosticSemaKinds.td +++ b/include/clang/Basic/DiagnosticSemaKinds.td @@ -2597,7 +2597,8 @@ def warn_arc_non_pod_class_with_object_member : Warning< "to make it ABI-compatible">, InGroup<AutomaticReferenceCountingABI>, DefaultIgnore; def warn_arc_retained_assign : Warning< - "assigning retained object to %select{weak|unsafe_unretained}0 variable">; + "assigning retained object to %select{weak|unsafe_unretained}0 variable">, + InGroup<ARCUnsafeRetainedAssign>; def warn_arc_trivial_member_function_with_object_member : Warning< "%0 cannot be shared between ARC and non-ARC " "code; add a non-trivial %select{copy constructor|copy assignment operator|" @@ -2641,7 +2642,7 @@ def err_arc_multiple_method_decl : Error< "parameter type or attributes">; def warn_arc_retain_cycle : Warning< "capturing %0 strongly in this block is likely to lead to a retain cycle">, - InGroup<DiagGroup<"retain-cycles">>; + InGroup<ARCRetainCycles>; def note_arc_retain_cycle_owner : Note< "block will be retained by %select{the captured object|an object strongly " "retained by the captured object}0">; @@ -2650,7 +2651,7 @@ def note_nontrivial_objc_lifetime : Note< "lifetime">; def warn_arc_object_memaccess : Warning< "%select{destination for|source of}0 this %1 call is a pointer to " - "lifetime-qualified type %2">, InGroup<DiagGroup<"non-pod-memaccess">>; + "lifetime-qualified type %2">, InGroup<ARCNonPodMemAccess>; def err_arc_strong_property_lifetime : Error< "existing ivar %1 for strong property %0 may not be " |