summaryrefslogtreecommitdiff
path: root/src/codegen
diff options
context:
space:
mode:
authorChristian Poveda <christian.poveda@ferrous-systems.com>2022-08-31 14:38:26 -0500
committerEmilio Cobos Álvarez <emilio@crisal.io>2022-09-22 20:25:33 -1000
commit250150d0159ef02b35f65cd83d71d60f0439ee95 (patch)
treeb8d35855a58b4571fd0049e32c50235b674a1c31 /src/codegen
parent6a100c0b32fae6dca5148636bb00c1f8ecd234ca (diff)
check for noreturn attribute
Diffstat (limited to 'src/codegen')
-rw-r--r--src/codegen/mod.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs
index f523232e..f1422d6b 100644
--- a/src/codegen/mod.rs
+++ b/src/codegen/mod.rs
@@ -4729,6 +4729,10 @@ pub mod utils {
ctx: &BindgenContext,
sig: &FunctionSig,
) -> proc_macro2::TokenStream {
+ if sig.is_divergent() {
+ return quote! { -> ! };
+ }
+
let return_item = ctx.resolve_item(sig.return_type());
if let TypeKind::Void = *return_item.kind().expect_type().kind() {
quote! {}