   return 0 // expected-warning {{will never be executed}}
 }
 
+// Work-around <rdar://problem/17687851> by ensuring there is
+// something that appears to be user code in unreachable blocks.
+func userCode() {}
 
 func whileTrue() {
   var x = 0
   while true { // expected-note {{always evaluates to true}}
     x++
   }
-  x-- // expected-warning {{will never be executed}}
+  userCode() // expected-warning {{will never be executed}}
 }
 
 func whileTrueReachable(v: Int) -> () {

  case .Two: 
    x++
  default: 
    x-- // expected-note{{will never be executed}}
  }

  switch cond { // expected-warning{{switch condition evaluates to a constant}}
  case .One: 
    x++ // expected-note{{will never be executed}}
  default: 
    x--
  }

    }
    x++
  }
  userCode()  // expected-warning {{will never be executed}}
}

func unreachableBranch() -> Int {
