Objective-C, NeXT runtime: Correct the default for fobjc-nilcheck.
authorIain Sandoe <iain@sandoe.co.uk>
Sun, 15 Aug 2021 11:52:30 +0000 (12:52 +0100)
committerIain Sandoe <iain@sandoe.co.uk>
Thu, 19 Aug 2021 18:37:11 +0000 (19:37 +0100)
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 <iain@sandoe.co.uk>
gcc/objc/ChangeLog:

* objc-next-runtime-abi-02.c (objc_next_runtime_abi_02_init):
Default receiver nilchecks on.

gcc/objc/objc-next-runtime-abi-02.c

index 0d963e3..ce831fc 100644 (file)
@@ -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;