From a0a4a7fd0bae5d734dcd335e0eba583dbee20a62 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Sun, 1 Jan 2017 10:22:38 +0800 Subject: Codegen C - Fix some end-of-nonvoid errors from clang --- src/trans/codegen_c.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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, -- cgit v1.2.3