summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2011-05-01 07:23:14 +0000
committerChandler Carruth <chandlerc@gmail.com>2011-05-01 07:23:14 +0000
commitf2f5652d3df7256998e76dac3709d6872f46a0bb (patch)
tree43375b4b7ac9d99cb20354b803db16c2370fcf8d /clang/lib
parent61bc17378432d86b27bc7b565195f111aedab965 (diff)
downloadbcm5719-llvm-f2f5652d3df7256998e76dac3709d6872f46a0bb.tar.gz
bcm5719-llvm-f2f5652d3df7256998e76dac3709d6872f46a0bb.zip
Remove the type traits UTT_IsLvalueExpr and UTT_IsRvalueExpr.
As might be surmised from their names, these aren't type traits, they're expression traits. Amazingly enough, they're expression traits that we have, and fully implement. These "type" traits are even parsed from the same tokens as the expression traits. Luckily, the parser only tried the expression trait parsing for these tokens, so this was all just a pile of dead code. llvm-svn: 130643
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/AST/StmtPrinter.cpp2
-rw-r--r--clang/lib/Parse/ParseExprCXX.cpp2
-rw-r--r--clang/lib/Sema/SemaExprCXX.cpp5
3 files changed, 0 insertions, 9 deletions
diff --git a/clang/lib/AST/StmtPrinter.cpp b/clang/lib/AST/StmtPrinter.cpp
index fa0e091d294..8380e396eb9 100644
--- a/clang/lib/AST/StmtPrinter.cpp
+++ b/clang/lib/AST/StmtPrinter.cpp
@@ -1315,7 +1315,6 @@ static const char *getTypeTraitName(UnaryTypeTrait UTT) {
case UTT_IsFunction: return "__is_function";
case UTT_IsFundamental: return "__is_fundamental";
case UTT_IsIntegral: return "__is_integral";
- case UTT_IsLvalueExpr: return "__is_lvalue_expr";
case UTT_IsLvalueReference: return "__is_lvalue_reference";
case UTT_IsMemberFunctionPointer: return "__is_member_function_pointer";
case UTT_IsMemberObjectPointer: return "__is_member_object_pointer";
@@ -1325,7 +1324,6 @@ static const char *getTypeTraitName(UnaryTypeTrait UTT) {
case UTT_IsPointer: return "__is_pointer";
case UTT_IsPolymorphic: return "__is_polymorphic";
case UTT_IsReference: return "__is_reference";
- case UTT_IsRvalueExpr: return "__is_rvalue_expr";
case UTT_IsRvalueReference: return "__is_rvalue_reference";
case UTT_IsScalar: return "__is_scalar";
case UTT_IsSigned: return "__is_signed";
diff --git a/clang/lib/Parse/ParseExprCXX.cpp b/clang/lib/Parse/ParseExprCXX.cpp
index ca3242ba46f..8bf6f63d3ec 100644
--- a/clang/lib/Parse/ParseExprCXX.cpp
+++ b/clang/lib/Parse/ParseExprCXX.cpp
@@ -1938,7 +1938,6 @@ static UnaryTypeTrait UnaryTypeTraitFromTokKind(tok::TokenKind kind) {
case tok::kw___is_function: return UTT_IsFunction;
case tok::kw___is_fundamental: return UTT_IsFundamental;
case tok::kw___is_integral: return UTT_IsIntegral;
- case tok::kw___is_lvalue_expr: return UTT_IsLvalueExpr;
case tok::kw___is_lvalue_reference: return UTT_IsLvalueReference;
case tok::kw___is_member_function_pointer: return UTT_IsMemberFunctionPointer;
case tok::kw___is_member_object_pointer: return UTT_IsMemberObjectPointer;
@@ -1950,7 +1949,6 @@ static UnaryTypeTrait UnaryTypeTraitFromTokKind(tok::TokenKind kind) {
case tok::kw___is_pointer: return UTT_IsPointer;
case tok::kw___is_polymorphic: return UTT_IsPolymorphic;
case tok::kw___is_reference: return UTT_IsReference;
- case tok::kw___is_rvalue_expr: return UTT_IsRvalueExpr;
case tok::kw___is_rvalue_reference: return UTT_IsRvalueReference;
case tok::kw___is_scalar: return UTT_IsScalar;
case tok::kw___is_signed: return UTT_IsSigned;
diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp
index 4ade6898663..0b2e448e562 100644
--- a/clang/lib/Sema/SemaExprCXX.cpp
+++ b/clang/lib/Sema/SemaExprCXX.cpp
@@ -2371,11 +2371,6 @@ static bool CheckUnaryTypeTraitTypeCompleteness(Sema &S,
// these class templates. We also try to follow any GCC documented behavior
// in these expressions to ensure portability of standard libraries.
switch (UTT) {
- // FIXME: These shouldn't be UnaryTypeTraits as they aren't traits on types.
- case UTT_IsLvalueExpr:
- case UTT_IsRvalueExpr:
- assert(0 && "Expression traits found in type trait handling code.");
-
// is_complete_type somewhat obviously cannot require a complete type.
case UTT_IsCompleteType:
// Fallthrough
OpenPOWER on IntegriCloud