mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-10 19:34:29 +00:00
Implement Mike Herrick's proposed noexcept mangling.
llvm-svn: 164593
This commit is contained in:
parent
0f999f329c
commit
f652e9a6b0
@ -2412,7 +2412,6 @@ recurse:
|
||||
case Expr::ExpressionTraitExprClass:
|
||||
case Expr::VAArgExprClass:
|
||||
case Expr::CXXUuidofExprClass:
|
||||
case Expr::CXXNoexceptExprClass:
|
||||
case Expr::CUDAKernelCallExprClass:
|
||||
case Expr::AsTypeExprClass:
|
||||
case Expr::PseudoObjectExprClass:
|
||||
@ -2604,6 +2603,11 @@ recurse:
|
||||
Out <<"_E";
|
||||
break;
|
||||
|
||||
case Expr::CXXNoexceptExprClass:
|
||||
Out << "nx";
|
||||
mangleExpression(cast<CXXNoexceptExpr>(E)->getOperand());
|
||||
break;
|
||||
|
||||
case Expr::UnaryExprOrTypeTraitExprClass: {
|
||||
const UnaryExprOrTypeTraitExpr *SAE = cast<UnaryExprOrTypeTraitExpr>(E);
|
||||
|
||||
|
@ -190,4 +190,11 @@ namespace test4 {
|
||||
|
||||
// CHECK: void @_ZN5test43tf3INS_1XEEEvDTnw_T_ilLi1EEE
|
||||
template void tf3<X>(X*);
|
||||
|
||||
}
|
||||
|
||||
namespace test5 {
|
||||
template <typename T> void a(decltype(noexcept(T()))) {}
|
||||
template void a<int>(decltype(noexcept(int())));
|
||||
// CHECK: void @_ZN5test51aIiEEvDTnxcvT__EE(
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user