Understand unary operators after "return" and "case".

This fixes llvm.org/PR14746.

Before: return - 1;
After:  return -1;

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171389 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp
index d354078..c08bcf4 100644
--- a/lib/Format/Format.cpp
+++ b/lib/Format/Format.cpp
@@ -852,7 +852,8 @@
     const Token &PreviousTok = Line.Tokens[Index - 1].Tok;
     if (PreviousTok.is(tok::equal) || PreviousTok.is(tok::l_paren) ||
         PreviousTok.is(tok::comma) || PreviousTok.is(tok::l_square) ||
-        PreviousTok.is(tok::question) || PreviousTok.is(tok::colon))
+        PreviousTok.is(tok::question) || PreviousTok.is(tok::colon) ||
+        PreviousTok.is(tok::kw_return) || PreviousTok.is(tok::kw_case))
       return TokenAnnotation::TT_UnaryOperator;
 
     // There can't be to consecutive binary operators.