Skip to content

Commit 1d7c0ee

Browse files
committed
[interop][SwiftToCxx] NFC, make 'noexcept' a function signature modifier
1 parent bb7217e commit 1d7c0ee

File tree

3 files changed

+5
-3
lines changed

3 files changed

+5
-3
lines changed

lib/PrintAsClang/DeclAndTypePrinter.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1413,16 +1413,15 @@ class DeclAndTypePrinter::Implementation
14131413
owningPrinter.interopContext, owningPrinter);
14141414
DeclAndTypeClangFunctionPrinter::FunctionSignatureModifiers modifiers;
14151415
modifiers.isInline = true;
1416+
// FIXME: Support throwing exceptions for Swift errors.
1417+
modifiers.isNoexcept = !funcTy->isThrowing();
14161418
auto result = funcPrinter.printFunctionSignature(
14171419
FD, funcABI.getSignature(), cxx_translation::getNameForCxx(FD),
14181420
resultTy,
14191421
DeclAndTypeClangFunctionPrinter::FunctionSignatureKind::CxxInlineThunk,
14201422
modifiers);
14211423
assert(
14221424
!result.isUnsupported()); // The C signature should be unsupported too.
1423-
// FIXME: Support throwing exceptions for Swift errors.
1424-
if (!funcTy->isThrowing())
1425-
os << " noexcept";
14261425
printFunctionClangAttributes(FD, funcTy);
14271426
printAvailability(FD);
14281427
os << " {\n";

lib/PrintAsClang/PrintClangFunction.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -903,6 +903,8 @@ ClangRepresentation DeclAndTypeClangFunctionPrinter::printFunctionSignature(
903903
os << ')';
904904
if (modifiers.isConst)
905905
os << " const";
906+
if (modifiers.isNoexcept)
907+
os << " noexcept";
906908
return resultingRepresentation;
907909
}
908910

lib/PrintAsClang/PrintClangFunction.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ class DeclAndTypeClangFunctionPrinter {
8686
bool isStatic = false;
8787
bool isInline = false;
8888
bool isConst = false;
89+
bool isNoexcept = false;
8990

9091
FunctionSignatureModifiers() {}
9192
};

0 commit comments

Comments
 (0)