Upstream patch for build fix on Mac OS X 10.6

See: https://github.com/vim/vim/pull/18681
diff --git a/src/os_macosx.m b/src/os_macosx.m
index 153c2f190c2116..1a633b9d6cff5e 100644
--- src/os_macosx.m.orig
+++ src/os_macosx.m
@@ -386,7 +386,7 @@

 #ifdef FEAT_SOUND

-static NSMutableDictionary<NSNumber*, NSSound*> *sounds_list = nil;
+static NSMutableDictionary *sounds_list = nil;

 /// A delegate for handling when a sound has stopped playing, in
 /// order to clean up the sound and to send a callback.
@@ -463,9 +463,9 @@ - (void) sound:(NSSound *)sound didFinishPlaying:(BOOL)flag

 	if (sounds_list == nil)
 	{
-	    sounds_list = [[NSMutableDictionary<NSNumber*, NSSound*> alloc] init];
+	    sounds_list = [[NSMutableDictionary alloc] init];
 	}
-	sounds_list[[NSNumber numberWithLong:sound_id]] = sound;
+	[sounds_list setObject:sound forKey:[NSNumber numberWithLong:sound_id]];

 	// Make a delegate to handle when the sound stops. No need to call
 	// autorelease because NSSound only holds a weak reference to it.
@@ -482,7 +482,7 @@ - (void) sound:(NSSound *)sound didFinishPlaying:(BOOL)flag
 {
     @autoreleasepool
     {
-	NSSound *sound = sounds_list[[NSNumber numberWithLong:sound_id]];
+	NSSound *sound = [sounds_list objectForKey:[NSNumber numberWithLong:sound_id]];
 	if (sound != nil)
 	{
 	    // Stop the sound. No need to release it because the delegate will do
