Index: clang/lib/AST/MicrosoftMangle.cpp =================================================================== --- clang/lib/AST/MicrosoftMangle.cpp +++ clang/lib/AST/MicrosoftMangle.cpp @@ -1374,7 +1374,9 @@ // See if this is a constant expression. llvm::APSInt Value; if (E->isIntegerConstantExpr(Value, Context.getASTContext())) { - mangleIntegerLiteral(Value, E->getType()->isBooleanType()); + QualType T = E->getType(); + mangleType(T, SourceRange()); + mangleIntegerLiteral(Value, T->isBooleanType()); return; } @@ -1448,9 +1450,12 @@ } break; } - case TemplateArgument::Integral: + case TemplateArgument::Integral: { + QualType T = TA.getIntegralType(); + mangleType(T, SourceRange()); mangleIntegerLiteral(TA.getAsIntegral(), - TA.getIntegralType()->isBooleanType()); + T->isBooleanType()); + } break; case TemplateArgument::NullPtr: { QualType T = TA.getNullPtrType();