summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaTemplateVariadic.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2016-03-04 21:27:21 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2016-03-04 21:27:21 +0000
commit8ee39e31bb40aea70afb40611b0cc39d23175552 (patch)
treee59d491330f40de517db504e6878e9752070e9c6 /clang/lib/Sema/SemaTemplateVariadic.cpp
parentb89f0fa2a2853e14a989d30bb8789b5815462d1a (diff)
downloadbcm5719-llvm-8ee39e31bb40aea70afb40611b0cc39d23175552.tar.gz
bcm5719-llvm-8ee39e31bb40aea70afb40611b0cc39d23175552.zip
Implement P0036R0: remove support for empty unary folds of +, *, |, &.
llvm-svn: 262747
Diffstat (limited to 'clang/lib/Sema/SemaTemplateVariadic.cpp')
-rw-r--r--clang/lib/Sema/SemaTemplateVariadic.cpp15
1 files changed, 0 insertions, 15 deletions
diff --git a/clang/lib/Sema/SemaTemplateVariadic.cpp b/clang/lib/Sema/SemaTemplateVariadic.cpp
index cb67d71f9e5..c692c9f75ca 100644
--- a/clang/lib/Sema/SemaTemplateVariadic.cpp
+++ b/clang/lib/Sema/SemaTemplateVariadic.cpp
@@ -996,10 +996,6 @@ ExprResult Sema::BuildEmptyCXXFoldExpr(SourceLocation EllipsisLoc,
BinaryOperatorKind Operator) {
// [temp.variadic]p9:
// If N is zero for a unary fold-expression, the value of the expression is
- // * -> 1
- // + -> int()
- // & -> -1
- // | -> int()
// && -> true
// || -> false
// , -> void()
@@ -1009,17 +1005,6 @@ ExprResult Sema::BuildEmptyCXXFoldExpr(SourceLocation EllipsisLoc,
// prevent the result from being a null pointer constant.
QualType ScalarType;
switch (Operator) {
- case BO_Add:
- ScalarType = Context.IntTy;
- break;
- case BO_Mul:
- return ActOnIntegerConstant(EllipsisLoc, 1);
- case BO_Or:
- ScalarType = Context.IntTy;
- break;
- case BO_And:
- return CreateBuiltinUnaryOp(EllipsisLoc, UO_Minus,
- ActOnIntegerConstant(EllipsisLoc, 1).get());
case BO_LOr:
return ActOnCXXBoolLiteral(EllipsisLoc, tok::kw_false);
case BO_LAnd:
OpenPOWER on IntegriCloud