summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2017-01-01 10:22:38 +0800
committerJohn Hodge <tpg@mutabah.net>2017-01-01 10:22:38 +0800
commita0a4a7fd0bae5d734dcd335e0eba583dbee20a62 (patch)
tree765ebdf09e0d34107b072495c3727da55a2320ae /src
parent4a3cee2e109d2d5d8d2195c3a5292e74c41cc40c (diff)
downloadmrust-a0a4a7fd0bae5d734dcd335e0eba583dbee20a62.tar.gz
Codegen C - Fix some end-of-nonvoid errors from clang
Diffstat (limited to 'src')
-rw-r--r--src/trans/codegen_c.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/trans/codegen_c.cpp b/src/trans/codegen_c.cpp
index 39ede6cc..2c4e436e 100644
--- a/src/trans/codegen_c.cpp
+++ b/src/trans/codegen_c.cpp
@@ -56,7 +56,7 @@ namespace {
<< "typedef struct { void* PTR; void* META; } TRAITOBJ_PTR;\n"
<< "typedef struct { size_t size; size_t align; } VTABLE_HDR;\n"
<< "\n"
- << "extern void _Unwind_Resume(void);\n"
+ << "extern void _Unwind_Resume(void) __attribute__((noreturn));\n"
<< "\n"
;
}
@@ -1148,6 +1148,7 @@ namespace {
m_of << "\tswitch("; emit_lvalue(e.val); m_of << ".TAG) {\n";
for(unsigned int j = 0; j < e.targets.size(); j ++)
m_of << "\t\tcase " << j << ": goto bb" << e.targets[j] << ";\n";
+ m_of << "\t\tdefault: abort();\n";
m_of << "\t}\n";
),
(Call,