As a matter of fact, calling any operator new WILL crash the App. The code bellow crash in Xcode 15 Beta 7 on iOS 13.
struct St {
};
int main(int argc, char *argv[]) {
@autoreleasepool {
auto ptr = new St;
NSLog(@"%p", ptr);
delete ptr;
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
So I dig a little bit. The operatore new jump to a stub, and the stub jump to x16 (null). Looks like there's a bug in the new clang or new linker.