Home | History | Annotate | Download | only in ARCMT
      1 // RUN: rm -rf %t
      2 // RUN: %clang_cc1 -objcmt-migrate-ns-macros -mt-migrate-directory %t %s -x objective-c -fobjc-runtime-has-weak -fobjc-arc -triple x86_64-apple-darwin11
      3 // RUN: c-arcmt-test -mt-migrate-directory %t | arcmt-test -verify-transformed-files %s.result
      4 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -x objective-c -fobjc-runtime-has-weak -fobjc-arc %s.result
      5 
      6 typedef long NSInteger;
      7 typedef unsigned long NSUInteger;
      8 
      9 #define NS_ENUM(_type, _name) enum _name : _type _name; enum _name : _type
     10 #define NS_OPTIONS(_type, _name) enum _name : _type _name; enum _name : _type
     11 #define DEPRECATED  __attribute__((deprecated))
     12 
     13 enum {
     14   blah,
     15   blarg
     16 };
     17 typedef NSInteger wibble;
     18 
     19 enum {
     20     UIViewAutoresizingNone                 = 0,
     21     UIViewAutoresizingFlexibleLeftMargin,
     22     UIViewAutoresizingFlexibleWidth,
     23     UIViewAutoresizingFlexibleRightMargin,
     24     UIViewAutoresizingFlexibleTopMargin,
     25     UIViewAutoresizingFlexibleHeight,
     26     UIViewAutoresizingFlexibleBottomMargin
     27 };
     28 typedef NSUInteger UITableViewCellStyle;
     29 
     30 typedef enum {
     31     UIViewAnimationTransitionNone,
     32     UIViewAnimationTransitionFlipFromLeft,
     33     UIViewAnimationTransitionFlipFromRight,
     34     UIViewAnimationTransitionCurlUp,
     35     UIViewAnimationTransitionCurlDown,
     36 } UIViewAnimationTransition;
     37 
     38 typedef enum {
     39     UIViewOne   = 0,
     40     UIViewTwo   = 1 << 0,
     41     UIViewThree = 1 << 1,
     42     UIViewFour  = 1 << 2,
     43     UIViewFive  = 1 << 3,
     44     UIViewSix   = 1 << 4,
     45     UIViewSeven = 1 << 5
     46 } UITableView;
     47 
     48 enum {
     49   UIOne = 0,
     50   UITwo = 0x1,
     51   UIthree = 0x8,
     52   UIFour = 0x100
     53 };
     54 typedef NSInteger UI;
     55 
     56 typedef enum {
     57   UIP2One = 0,
     58   UIP2Two = 0x1,
     59   UIP2three = 0x8,
     60   UIP2Four = 0x100
     61 } UIPOWER2;
     62 
     63 enum {
     64   UNOne,
     65   UNTwo
     66 };
     67 
     68 // Should use NS_ENUM even though it is all power of 2.
     69 enum {
     70   UIKOne = 1,
     71   UIKTwo = 2,
     72 };
     73 typedef NSInteger UIK;
     74 
     75 typedef enum  {
     76     NSTickMarkBelow = 0,
     77     NSTickMarkAbove = 1,
     78     NSTickMarkLeft = NSTickMarkAbove,
     79     NSTickMarkRight = NSTickMarkBelow
     80 } NSTickMarkPosition;
     81 
     82 enum {
     83     UIViewNone         = 0x0,
     84     UIViewMargin       = 0x1,
     85     UIViewWidth        = 0x2,
     86     UIViewRightMargin  = 0x3,
     87     UIViewBottomMargin = 0xbadbeef
     88 };
     89 typedef NSInteger UITableStyle;
     90 
     91 enum {
     92     UIView0         = 0,
     93     UIView1 = 0XBADBEEF
     94 };
     95 typedef NSInteger UIStyle;
     96 
     97 enum {
     98     NSTIFFFileType,
     99     NSBMPFileType,
    100     NSGIFFileType,
    101     NSJPEGFileType,
    102     NSPNGFileType,
    103     NSJPEG2000FileType
    104 };
    105 typedef NSUInteger NSBitmapImageFileType;
    106 
    107 enum {
    108     NSWarningAlertStyle = 0,
    109     NSInformationalAlertStyle = 1,
    110     NSCriticalAlertStyle = 2
    111 };
    112 typedef NSUInteger NSAlertStyle;
    113 
    114 enum {
    115     D_NSTIFFFileType,
    116     D_NSBMPFileType,
    117     D_NSGIFFileType,
    118     D_NSJPEGFileType,
    119     D_NSPNGFileType,
    120     D_NSJPEG2000FileType
    121 };
    122 typedef NSUInteger D_NSBitmapImageFileType DEPRECATED;
    123 
    124 typedef enum  {
    125     D_NSTickMarkBelow = 0,
    126     D_NSTickMarkAbove = 1
    127 } D_NSTickMarkPosition DEPRECATED;
    128 
    129 
    130 #define NS_ENUM_AVAILABLE(X,Y)
    131 
    132 enum {
    133     NSFStrongMemory NS_ENUM_AVAILABLE(10_5, 6_0) = (0UL << 0),       
    134     NSFOpaqueMemory NS_ENUM_AVAILABLE(10_5, 6_0) = (2UL << 0),
    135     NSFMallocMemory NS_ENUM_AVAILABLE(10_5, 6_0) = (3UL << 0),       
    136     NSFMachVirtualMemory NS_ENUM_AVAILABLE(10_5, 6_0) = (4UL << 0),
    137     NSFWeakMemory NS_ENUM_AVAILABLE(10_8, 6_0) = (5UL << 0),         
    138 
    139     NSFObjectPersonality NS_ENUM_AVAILABLE(10_5, 6_0) = (0UL << 8),         
    140     NSFOpaquePersonality NS_ENUM_AVAILABLE(10_5, 6_0) = (1UL << 8),         
    141     NSFObjectPointerPersonality NS_ENUM_AVAILABLE(10_5, 6_0) = (2UL << 8),  
    142     NSFCStringPersonality NS_ENUM_AVAILABLE(10_5, 6_0) = (3UL << 8),        
    143     NSFStructPersonality NS_ENUM_AVAILABLE(10_5, 6_0) = (4UL << 8),         
    144     NSFIntegerPersonality NS_ENUM_AVAILABLE(10_5, 6_0) = (5UL << 8),        
    145     NSFCopyIn NS_ENUM_AVAILABLE(10_5, 6_0) = (1UL << 16),      
    146 };
    147 
    148 typedef NSUInteger NSFOptions;
    149 
    150 typedef enum {
    151   UIP0One = 0,
    152   UIP0Two = 1,
    153   UIP0Three = 2,
    154   UIP0Four = 10,
    155   UIP0Last = 0x100
    156 } UIP;
    157 
    158 typedef enum {
    159   UIPZero = 0x0,
    160   UIPOne = 0x1,
    161   UIPTwo = 0x2,
    162   UIP10 = 0x10,
    163   UIPHundred = 0x100
    164 } UIP_3;
    165 
    166 typedef enum {
    167   UIP4Zero = 0x0,
    168   UIP4One = 0x1,
    169   UIP4Two = 0x2,
    170   UIP410 = 0x10,
    171   UIP4Hundred = 100
    172 } UIP4_3;
    173 
    174 typedef enum {
    175   UIP5Zero = 0x0,
    176   UIP5Two = 0x2,
    177   UIP510 = 0x3,
    178   UIP5Hundred = 0x4
    179 } UIP5_3;
    180 
    181 typedef enum {
    182   UIP6Zero = 0x0,
    183   UIP6One = 0x1,
    184   UIP6Two = 0x2,
    185   UIP610 = 10,
    186   UIP6Hundred = 0x100
    187 } UIP6_3;
    188 
    189 typedef enum {
    190   UIP7Zero = 0x0,
    191   UIP7One = 1,
    192   UIP7Two = 0x2,
    193   UIP710 = 10,
    194   UIP7Hundred = 100
    195 } UIP7_3;
    196 
    197 
    198 typedef enum {
    199   Random = 0,
    200   Random1 = 2,
    201   Random2 = 4,
    202   Random3 = 0x12345,
    203   Random4 = 0x3444444,
    204   Random5 = 0xbadbeef,
    205   Random6
    206 } UIP8_3;
    207 
    208 // rdar://15200602
    209 #define NS_AVAILABLE_MAC(X)  __attribute__((availability(macosx,introduced=X)))
    210 #define NS_ENUM_AVAILABLE_MAC(X) __attribute__((availability(macosx,introduced=X)))
    211 
    212 enum {
    213     NSModalResponseStop                 = (-1000), // Also used as the default response for sheets
    214     NSModalResponseAbort                = (-1001),
    215     NSModalResponseContinue             = (-1002), 
    216 } NS_ENUM_AVAILABLE_MAC(10.9);
    217 typedef NSInteger NSModalResponse NS_AVAILABLE_MAC(10.9);
    218 
    219 // rdar://15201056
    220 typedef NSUInteger FarFarAwayOptions;
    221 
    222 // rdar://15200915
    223 typedef NSUInteger FarAwayOptions;
    224 enum {
    225      NSWorkspaceLaunchAndPrint =                 0x00000002,
    226      NSWorkspaceLaunchWithErrorPresentation    = 0x00000040,
    227      NSWorkspaceLaunchInhibitingBackgroundOnly = 0x00000080,
    228      NSWorkspaceLaunchWithoutAddingToRecents   = 0x00000100,
    229      NSWorkspaceLaunchWithoutActivation        = 0x00000200,
    230      NSWorkspaceLaunchAsync                    = 0x00010000,
    231      NSWorkspaceLaunchAllowingClassicStartup   = 0x00020000,
    232      NSWorkspaceLaunchPreferringClassic        = 0x00040000,
    233      NSWorkspaceLaunchNewInstance              = 0x00080000,
    234      NSWorkspaceLaunchAndHide                  = 0x00100000,
    235      NSWorkspaceLaunchAndHideOthers            = 0x00200000,
    236      NSWorkspaceLaunchDefault = NSWorkspaceLaunchAsync | 
    237      NSWorkspaceLaunchAllowingClassicStartup
    238 };
    239 typedef NSUInteger NSWorkspaceLaunchOptions;
    240 
    241 enum {
    242     NSExcludeQuickDrawElementsIconCreationOption    = 1 << 1,
    243     NSExclude10_4ElementsIconCreationOption         = 1 << 2
    244 };
    245 typedef NSUInteger NSExcludeOptions;
    246 
    247 enum {
    248     NSExcludeQuickDrawElementsCreationOption    = 1 << 1,
    249     NSExclude10_4ElementsCreationOption         = 1 << 2
    250 };
    251 typedef NSUInteger NSExcludeCreationOption;
    252 
    253 enum {
    254   FarAway1    = 1 << 1,
    255   FarAway2    = 1 << 2
    256 };
    257 
    258 enum {
    259     NSExcludeQuickDrawElementsIconOption    = 1 << 1,
    260     NSExclude10_4ElementsIconOption         = 1 << 2
    261 };
    262 typedef NSUInteger NSExcludeIconOptions;
    263 
    264 @interface INTF {
    265   NSExcludeIconOptions I1;
    266   NSExcludeIconOptions I2;
    267 }
    268 @end
    269 
    270 enum {
    271   FarFarAway1    = 1 << 1,
    272   FarFarAway2    = 1 << 2
    273 };
    274 
    275 // rdar://15200915
    276 typedef NS_OPTIONS(NSUInteger, NSWindowOcclusionState) {
    277     NSWindowOcclusionStateVisible = 1UL << 1,
    278 };
    279 
    280 typedef NSUInteger NSWindowNumberListOptions;
    281 
    282 enum {
    283     NSDirectSelection = 0,
    284     NSSelectingNext,
    285     NSSelectingPrevious
    286 };
    287 typedef NSUInteger NSSelectionDirection;
    288 
    289 // standard window buttons
    290 enum {
    291     NSWindowCloseButton,
    292     NSWindowMiniaturizeButton,
    293     NSWindowZoomButton,
    294     NSWindowToolbarButton,
    295     NSWindowDocumentIconButton
    296 };
    297