Consistently use smart pointers for stmt and expr nodes in parser local variables.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60761 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Parse/ParsePragma.cpp b/lib/Parse/ParsePragma.cpp
index a6e2328..3d5e716 100644
--- a/lib/Parse/ParsePragma.cpp
+++ b/lib/Parse/ParsePragma.cpp
@@ -35,15 +35,13 @@
 
   Action::PragmaPackKind Kind = Action::PPK_Default;
   IdentifierInfo *Name = 0;
-  Action::ExprResult Alignment;
-  ExprGuard AlignmentGuard(Actions);
+  ExprOwner Alignment(Actions);
   SourceLocation LParenLoc = Tok.getLocation();
   PP.Lex(Tok);  
   if (Tok.is(tok::numeric_constant)) {
     Alignment = Actions.ActOnNumericConstant(Tok);
-    if (Alignment.isInvalid)
+    if (Alignment.isInvalid())
       return;
-    AlignmentGuard.reset(Alignment);
 
     PP.Lex(Tok);
   } else if (Tok.is(tok::identifier)) {
@@ -67,9 +65,8 @@
         
         if (Tok.is(tok::numeric_constant)) {
           Alignment = Actions.ActOnNumericConstant(Tok);
-          if (Alignment.isInvalid)
+          if (Alignment.isInvalid())
             return;
-          AlignmentGuard.reset(Alignment);
 
           PP.Lex(Tok);
         } else if (Tok.is(tok::identifier)) {
@@ -85,9 +82,8 @@
             }
             
             Alignment = Actions.ActOnNumericConstant(Tok);
-            if (Alignment.isInvalid)
+            if (Alignment.isInvalid())
               return;
-            AlignmentGuard.reset(Alignment);
 
             PP.Lex(Tok);
           }
@@ -97,7 +93,7 @@
         }
       }
     }
-  } 
+  }
 
   if (Tok.isNot(tok::r_paren)) {
     PP.Diag(Tok.getLocation(), diag::warn_pragma_pack_expected_rparen);
@@ -105,7 +101,7 @@
   }
 
   SourceLocation RParenLoc = Tok.getLocation();
-  Actions.ActOnPragmaPack(Kind, Name, AlignmentGuard.take(), PackLoc, 
+  Actions.ActOnPragmaPack(Kind, Name, Alignment.move(), PackLoc,
                           LParenLoc, RParenLoc);
 }