summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancois Pichet <pichet2000@gmail.com>2010-12-17 02:00:06 +0000
committerFrancois Pichet <pichet2000@gmail.com>2010-12-17 02:00:06 +0000
commit4f64c5aa70b6f432c5f249e665226de0732a91e5 (patch)
tree5b09db8a13d1522808125bd0fdda7dff82bd82c8
parent7ac81906eab84b0d7b0a778bc9e3565dcba7278c (diff)
downloadbcm5719-llvm-4f64c5aa70b6f432c5f249e665226de0732a91e5.tar.gz
bcm5719-llvm-4f64c5aa70b6f432c5f249e665226de0732a91e5.zip
Microsoft's __uuidof operator returns a lvalue.
llvm-svn: 122021
-rw-r--r--clang/lib/AST/ExprClassification.cpp2
-rw-r--r--clang/test/Parser/MicrosoftExtensions.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/AST/ExprClassification.cpp b/clang/lib/AST/ExprClassification.cpp
index 05d175c135a..4cf393d788f 100644
--- a/clang/lib/AST/ExprClassification.cpp
+++ b/clang/lib/AST/ExprClassification.cpp
@@ -303,7 +303,7 @@ static Cl::Kinds ClassifyInternal(ASTContext &Ctx, const Expr *E) {
}
case Expr::CXXUuidofExprClass:
- return Cl::CL_PRValue;
+ return Cl::CL_LValue;
}
llvm_unreachable("unhandled expression kind in classification");
diff --git a/clang/test/Parser/MicrosoftExtensions.c b/clang/test/Parser/MicrosoftExtensions.c
index d9037813688..6c14742278e 100644
--- a/clang/test/Parser/MicrosoftExtensions.c
+++ b/clang/test/Parser/MicrosoftExtensions.c
@@ -77,6 +77,8 @@ void uuidof_test2()
C c;
// FIXME, this must not compile
_uuidof(c);
+
+ &_uuidof(0);
}
/* Microsoft attribute tests */
OpenPOWER on IntegriCloud