From 76775c8f82c0b457e1342513dbd857c15fcae5b1 Mon Sep 17 00:00:00 2001 From: Nico Weber Date: Wed, 16 Oct 2019 10:23:53 +0000 Subject: Revert 374967 "[Concepts] ConceptSpecializationExprs mangling" This reverts commit 5e34ad109ced8dbdea9500ee28180315b2aeba3d. The mangling test fails on Windows: http://lab.llvm.org:8011/builders/clang-x64-ninja-win7/builds/15944 It also fails on ppc64le: http://lab.llvm.org:8011/builders/clang-ppc64le-linux-lnt/builds/21092 Also revert follow-up 374971 "Fix failing mangle-concept.cpp test." (it did not help on Win/ppc64le). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@374985 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/AST/ItaniumMangle.cpp | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) (limited to 'lib/AST/ItaniumMangle.cpp') diff --git a/lib/AST/ItaniumMangle.cpp b/lib/AST/ItaniumMangle.cpp index 534a92d2cb..8e3ad4c266 100644 --- a/lib/AST/ItaniumMangle.cpp +++ b/lib/AST/ItaniumMangle.cpp @@ -969,7 +969,7 @@ void CXXNameMangler::mangleUnscopedTemplateName( assert(!AdditionalAbiTags && "template template param cannot have abi tags"); mangleTemplateParameter(TTP->getDepth(), TTP->getIndex()); - } else if (isa(ND) || isa(ND)) { + } else if (isa(ND)) { mangleUnscopedName(ND, AdditionalAbiTags); } else { mangleUnscopedName(ND->getTemplatedDecl(), AdditionalAbiTags); @@ -1890,7 +1890,7 @@ void CXXNameMangler::mangleTemplatePrefix(const TemplateDecl *ND, mangleTemplateParameter(TTP->getDepth(), TTP->getIndex()); } else { manglePrefix(getEffectiveDeclContext(ND), NoFunction); - if (isa(ND) || isa(ND)) + if (isa(ND)) mangleUnqualifiedName(ND, nullptr); else mangleUnqualifiedName(ND->getTemplatedDecl(), nullptr); @@ -3658,6 +3658,7 @@ recurse: case Expr::ConvertVectorExprClass: case Expr::StmtExprClass: case Expr::TypeTraitExprClass: + case Expr::ConceptSpecializationExprClass: case Expr::ArrayTypeTraitExprClass: case Expr::ExpressionTraitExprClass: case Expr::VAArgExprClass: @@ -4167,18 +4168,6 @@ recurse: mangleExpression(cast(E)->getSubExpr(), Arity); break; - - case Expr::ConceptSpecializationExprClass: { - // ::= L E # external name - Out << "L_Z"; - auto *CSE = cast(E); - mangleTemplateName(CSE->getNamedConcept(), - CSE->getTemplateArguments().data(), - CSE->getTemplateArguments().size()); - Out << 'E'; - break; - } - case Expr::DeclRefExprClass: mangleDeclRefExpr(cast(E)->getDecl()); break; -- cgit v1.2.1