Fixed bug in CFG construction where we did not properly handle the GCC extension "?:" for the ternary operator, e.g.: x ?: y; This expression is represented in the clang ASTs as a ConditionalOperator whose LHS expression is NULL. Now we handle this special case, causing the block containing the condition to be a predecessor to the block that "merges" the values of the ternary operator.
Fixed bug in CFG construction where we did not properly handle the GCC
extension "?:" for the ternary operator, e.g.: x ?: y; This expression is
represented in the clang ASTs as a ConditionalOperator whose LHS expression is
NULL. Now we handle this special case, causing the block containing the
condition to be a predecessor to the block that "merges" the values of the
ternary operator.

Thanks to Nuno Lopes for identifying and diagnosing this bug!


git-svn-id: ffe668792ed300d6c2daa1f6eba2e0aa28d7ec6c@44327 91177308-0d34-0410-b5e6-96231b3b80d8

llvm-mirror/clang,apple/swift-clang,llvm-mirror/clang,llvm-mirror/clang,apple/swift-clang,apple/swift-clang,llvm-mirror/clang,apple/swift-clang,apple/swift-clang,apple/swift-clang,llvm-mirror/clang,apple/swift-clang,apple/swift-clang,apple/swift-clang,llvm-mirror/clang,llvm-mirror/clang,llvm-mirror/clang,llvm-mirror/clang,llvm-mirror/clang,apple/swift-clang