]> granicus.if.org Git - clang/commitdiff
Fix the problem that the arm_neon.h can't be used in a cpp file. Also fix a minor...
authorHao Liu <Hao.Liu@arm.com>
Sun, 17 Nov 2013 09:14:46 +0000 (09:14 +0000)
committerHao Liu <Hao.Liu@arm.com>
Sun, 17 Nov 2013 09:14:46 +0000 (09:14 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194952 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AST/ItaniumMangle.cpp

index 3d0e7253d76130fcea712c834680623fb2392225..e94b4cf90732b37f8f50b3543f744bfa50e1b3a9 100644 (file)
@@ -2235,9 +2235,6 @@ void CXXNameMangler::mangleAArch64NeonVectorType(const VectorType *T) {
   assert((BitSize == 64 || BitSize == 128) &&
          "Neon vector type not 64 or 128 bits");
 
-  assert(getASTContext().getTypeSize(EltType) != BitSize &&
-         "Vector of 1 element not permitted");
-
   StringRef EltName;
   if (T->getVectorKind() == VectorType::NeonPolyVector) {
     switch (cast<BuiltinType>(EltType)->getKind()) {
@@ -2247,6 +2244,9 @@ void CXXNameMangler::mangleAArch64NeonVectorType(const VectorType *T) {
     case BuiltinType::UShort:
       EltName = "Poly16";
       break;
+    case BuiltinType::ULongLong:
+      EltName = "Poly64";
+      break;
     default:
       llvm_unreachable("unexpected Neon polynomial vector element type");
     }