https://gcc.gnu.org/g:b907af1ce4966b662ae3d26afa24fa6c3ac468c9

commit r11-11340-gb907af1ce4966b662ae3d26afa24fa6c3ac468c9
Author: Iain Sandoe <i...@sandoe.co.uk>
Date:   Sun Aug 15 12:52:30 2021 +0100

    Objective-C, NeXT runtime: Correct the default for fobjc-nilcheck.
    
    It is intended that the default for the NeXT runtime at ABI 2 is to
    check for nil message receivers.  This updates this to match the
    documented behaviour and to match the behaviour of the system tools.
    
    Signed-off-by: Iain Sandoe <i...@sandoe.co.uk>
    
    gcc/objc/ChangeLog:
    
            * objc-next-runtime-abi-02.c (objc_next_runtime_abi_02_init):
            Default receiver nilchecks on.
    
    (cherry picked from commit de0b250b2badb475f8c09f3cd2c57fd3f9127fe3)

Diff:
---
 gcc/objc/objc-next-runtime-abi-02.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gcc/objc/objc-next-runtime-abi-02.c 
b/gcc/objc/objc-next-runtime-abi-02.c
index e99c048e3a1..2f18b04e34a 100644
--- a/gcc/objc/objc-next-runtime-abi-02.c
+++ b/gcc/objc/objc-next-runtime-abi-02.c
@@ -254,6 +254,10 @@ objc_next_runtime_abi_02_init (objc_runtime_hooks *rthooks)
       flag_objc_sjlj_exceptions = 0;
     }
 
+  /* NeXT ABI 2 is intended to default to checking for nil receivers.  */
+  if (! global_options_set.x_flag_objc_nilcheck)
+    flag_objc_nilcheck = 1;
+
   rthooks->initialize = next_runtime_02_initialize;
   rthooks->default_constant_string_class_name = DEF_CONSTANT_STRING_CLASS_NAME;
   rthooks->tag_getclass = TAG_GETCLASS;

Reply via email to