Skip to content
Snippets Groups Projects
Commit d2aa4e0b authored by Iain Sandoe's avatar Iain Sandoe
Browse files

Objective-C: fix crash with -fobjc-nilcheck


When -fobjc-nilcheck is enabled, messages that result in a struct type should
yield a zero-initialized struct when sent to nil.  Currently, the frontend
crashes when it encounters this situation.  This patch fixes the crash by
generating the tree for the `{}` initializer.

Signed-off-by: default avatarIain Sandoe <iain@sandoe.co.uk>
Co-authored-by: default avatarMatt Jacobson <mhjacobson@me.com>

	PR objc/101666

gcc/objc/ChangeLog:

	* objc-act.c (objc_build_constructor): Handle empty constructor
	lists.
	* objc-next-runtime-abi-02.c (build_v2_objc_method_fixup_call):
	Handle nil receivers.
	(build_v2_build_objc_method_call): Likewise.

gcc/testsuite/ChangeLog:

	* obj-c++.dg/pr101666-0.mm: New test.
	* obj-c++.dg/pr101666-1.mm: New test.
	* obj-c++.dg/pr101666.inc: New.
	* objc.dg/pr101666-0.m: New test.
	* objc.dg/pr101666-1.m: New test.
	* objc.dg/pr101666.inc: New.
parent 220c4101
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment