title: __unused Flag Behavior/Usage (GCC with Objective-C)
body: <p>I just now learned about the __unused flag that can be used when compiling with GCC and the more I learn about it, the more questions I have...</p>
  
  <p>Why does this compile without warning/error?  It seems strange that I specifically tell the compiler I won't be using a variable, then when I use it, things proceed as normal.</p>
  
  <pre><code>- (void)viewDidLoad
  {
      [super viewDidLoad];
  
      [self foo:0];
  }
  
  - (void)foo:(NSInteger)__unused myInt
  {
      myInt++;
      NSLog(@"myInt: %d", myInt);  // Logs '1'
  }
  </code></pre>
  
  <p>Also, what is the difference between the following two method signatures?</p>
  
  <pre><code>- (void)foo:(NSInteger)__unused myInt;
  
  - (void)foo:(NSInteger)myInt __unused;
  </code></pre>