Microsoft's __uuidof operator returns a lvalue.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122021 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/ExprClassification.cpp b/lib/AST/ExprClassification.cpp
index 05d175c..4cf393d 100644
--- a/lib/AST/ExprClassification.cpp
+++ b/lib/AST/ExprClassification.cpp
@@ -303,7 +303,7 @@
   }
       
   case Expr::CXXUuidofExprClass:
-    return Cl::CL_PRValue;
+    return Cl::CL_LValue;
   }
   
   llvm_unreachable("unhandled expression kind in classification");
diff --git a/test/Parser/MicrosoftExtensions.c b/test/Parser/MicrosoftExtensions.c
index d903781..6c14742 100644
--- a/test/Parser/MicrosoftExtensions.c
+++ b/test/Parser/MicrosoftExtensions.c
@@ -77,6 +77,8 @@
    C c;
    // FIXME, this must not compile
   _uuidof(c);
+
+  &_uuidof(0);
 }
 
 /* Microsoft attribute tests */