Skip to content
  1. Jun 11, 2011
    • Douglas Gregor's avatar
      Implement Objective-C Related Result Type semantics. · 33823727
      Douglas Gregor authored
      Related result types apply Cocoa conventions to the type of message
      sends and property accesses to Objective-C methods that are known to
      always return objects whose type is the same as the type of the
      receiving class (or a subclass thereof), such as +alloc and
      -init. This tightens up static type safety for Objective-C, so that we
      now diagnose mistakes like this:
      
      t.m:4:10: warning: incompatible pointer types initializing 'NSSet *'
      with an
            expression of type 'NSArray *' [-Wincompatible-pointer-types]
        NSSet *array = [[NSArray alloc] init];
               ^       ~~~~~~~~~~~~~~~~~~~~~~
      /System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:72:1:
      note: 
            instance method 'init' is assumed to return an instance of its
            receiver
            type ('NSArray *')
      - (id)init;
      ^
      
      It also means that we get decent type inference when writing code in
      Objective-C++0x:
      
        auto array = [[NSMutableArray alloc] initWithObjects:@"one",  @"two",nil];
        //    ^ now infers NSMutableArray* rather than id
      
      llvm-svn: 132868
      33823727
    • Fariborz Jahanian's avatar
      Restore 'atomic' as an attribute of objc · c3bcde08
      Fariborz Jahanian authored
      properties.
      
      llvm-svn: 132866
      c3bcde08
  2. Jun 10, 2011
  3. Jun 09, 2011
  4. Jun 08, 2011
  5. Jun 07, 2011
  6. Jun 06, 2011
Loading