authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-02-09 08:46:55-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-02-09 08:46:55-07:00
log1d92700d089eb2e225d1db6de780e4288fa68452
tree643871fe14f6391b2989750cd0b9e5a6d1dc3634
parente18170ee0bf32996635397e8e919a14a21c88b56

fix build with GCC


4 files changed, 17 insertions(+), 5 deletions(-)

src/analyze.cpp+5-1
......@@ -183,6 +183,7 @@ static bool type_is_complete(TypeTableEntry *type_entry) {
183183 case TypeTableEntryIdTypeDecl:
184184 return true;
185185 }
186 zig_unreachable();
186187}
187188
188189TypeTableEntry *get_smallest_unsigned_int_type(CodeGen *g, uint64_t x) {
......@@ -1593,6 +1594,7 @@ static bool type_has_codegen_value(TypeTableEntry *type_entry) {
15931594 case TypeTableEntryIdTypeDecl:
15941595 return type_has_codegen_value(type_entry->data.type_decl.canonical_type);
15951596 }
1597 zig_unreachable();
15961598}
15971599
15981600static void add_global_const_expr(CodeGen *g, AstNode *expr_node) {
......@@ -4671,6 +4673,7 @@ static TypeTableEntry *analyze_return_expr(CodeGen *g, ImportTableEntry *import,
46714673 case ReturnKindMaybe:
46724674 zig_panic("TODO");
46734675 }
4676 zig_unreachable();
46744677}
46754678
46764679static void validate_voided_expr(CodeGen *g, AstNode *source_node, TypeTableEntry *type_entry) {
......@@ -5916,7 +5919,7 @@ bool type_has_bits(TypeTableEntry *type_entry) {
59165919
59175920static TypeTableEntry *first_struct_field_type(TypeTableEntry *type_entry) {
59185921 assert(type_entry->id == TypeTableEntryIdStruct);
5919 for (int i = 0; i < type_entry->data.structure.src_field_count; i += 1) {
5922 for (uint32_t i = 0; i < type_entry->data.structure.src_field_count; i += 1) {
59205923 TypeStructField *tsf = &type_entry->data.structure.fields[i];
59215924 if (tsf->gen_index == 0) {
59225925 return tsf->type_entry;
......@@ -5956,6 +5959,7 @@ static TypeTableEntry *type_of_first_thing_in_memory(TypeTableEntry *type_entry)
59565959 case TypeTableEntryIdPointer:
59575960 return type_entry;
59585961 }
5962 zig_unreachable();
59595963}
59605964
59615965uint64_t get_memcpy_align(CodeGen *g, TypeTableEntry *type_entry) {
src/ast_render.cpp+6
......@@ -39,6 +39,7 @@ static const char *bin_op_str(BinOpType bin_op) {
3939 case BinOpTypeUnwrapMaybe: return "??";
4040 case BinOpTypeStrCat: return "++";
4141 }
42 zig_unreachable();
4243}
4344
4445static const char *prefix_op_str(PrefixOp prefix_op) {
......@@ -55,6 +56,7 @@ static const char *prefix_op_str(PrefixOp prefix_op) {
5556 case PrefixOpUnwrapError: return "%%";
5657 case PrefixOpUnwrapMaybe: return "??";
5758 }
59 zig_unreachable();
5860}
5961
6062static const char *return_prefix_str(ReturnKind kind) {
......@@ -63,6 +65,7 @@ static const char *return_prefix_str(ReturnKind kind) {
6365 case ReturnKindMaybe: return "?";
6466 case ReturnKindUnconditional: return "";
6567 }
68 zig_unreachable();
6669}
6770
6871static const char *visib_mod_string(VisibMod mod) {
......@@ -71,6 +74,7 @@ static const char *visib_mod_string(VisibMod mod) {
7174 case VisibModPrivate: return "";
7275 case VisibModExport: return "export ";
7376 }
77 zig_unreachable();
7478}
7579
7680static const char *extern_string(bool is_extern) {
......@@ -90,6 +94,7 @@ static const char *container_string(ContainerKind kind) {
9094 case ContainerKindEnum: return "enum";
9195 case ContainerKindStruct: return "struct";
9296 }
97 zig_unreachable();
9398}
9499
95100static const char *node_type_str(NodeType node_type) {
......@@ -191,6 +196,7 @@ static const char *node_type_str(NodeType node_type) {
191196 case NodeTypeTypeLiteral:
192197 return "TypeLiteral";
193198 }
199 zig_unreachable();
194200}
195201
196202
src/codegen.cpp+5-4
......@@ -1733,6 +1733,7 @@ static LLVMValueRef gen_return_expr(CodeGen *g, AstNode *node) {
17331733 case ReturnKindMaybe:
17341734 zig_panic("TODO");
17351735 }
1736 zig_unreachable();
17361737}
17371738
17381739static LLVMValueRef gen_defer(CodeGen *g, AstNode *node) {
......@@ -2685,7 +2686,7 @@ static LLVMValueRef gen_const_val(CodeGen *g, TypeTableEntry *type_entry, ConstE
26852686 case TypeTableEntryIdStruct:
26862687 {
26872688 LLVMValueRef *fields = allocate<LLVMValueRef>(type_entry->data.structure.gen_field_count);
2688 for (int i = 0; i < type_entry->data.structure.src_field_count; i += 1) {
2689 for (uint32_t i = 0; i < type_entry->data.structure.src_field_count; i += 1) {
26892690 TypeStructField *type_struct_field = &type_entry->data.structure.fields[i];
26902691 if (type_struct_field->gen_index == -1) {
26912692 continue;
......@@ -2701,7 +2702,7 @@ static LLVMValueRef gen_const_val(CodeGen *g, TypeTableEntry *type_entry, ConstE
27012702 TypeTableEntry *child_type = type_entry->data.array.child_type;
27022703 uint64_t len = type_entry->data.array.len;
27032704 LLVMValueRef *values = allocate<LLVMValueRef>(len);
2704 for (int i = 0; i < len; i += 1) {
2705 for (uint64_t i = 0; i < len; i += 1) {
27052706 ConstExprValue *field_value = const_val->data.x_array.fields[i];
27062707 values[i] = gen_const_val(g, child_type, field_value);
27072708 }
......@@ -2793,6 +2794,7 @@ static LLVMValueRef gen_const_val(CodeGen *g, TypeTableEntry *type_entry, ConstE
27932794 zig_unreachable();
27942795
27952796 }
2797 zig_unreachable();
27962798}
27972799
27982800static void gen_const_globals(CodeGen *g) {
......@@ -3259,8 +3261,7 @@ static void define_builtin_types(CodeGen *g) {
32593261 uint64_t debug_size_in_bits = 8*LLVMStoreSizeOfType(g->target_data_ref, entry->type_ref);
32603262 uint64_t debug_align_in_bits = 8*LLVMABISizeOfType(g->target_data_ref, entry->type_ref);
32613263 entry->di_type = LLVMZigCreateDebugBasicType(g->dbuilder, buf_ptr(&entry->name),
3262 debug_size_in_bits, debug_align_in_bits,
3263 is_signed ? LLVMZigEncoding_DW_ATE_signed() : LLVMZigEncoding_DW_ATE_unsigned());
3264 debug_size_in_bits, debug_align_in_bits, dwarf_tag);
32643265 entry->data.integral.is_signed = is_signed;
32653266 entry->data.integral.bit_count = size_in_bits;
32663267 g->primitive_type_table.put(&entry->name, entry);
src/parseh.cpp+1
......@@ -606,6 +606,7 @@ static TypeTableEntry *resolve_type_with_table(Context *c, const Type *ty, const
606606 emit_warning(c, decl, "missed a '%s' type", ty->getTypeClassName());
607607 return c->codegen->builtin_types.entry_invalid;
608608 }
609 zig_unreachable();
609610}
610611
611612static TypeTableEntry *resolve_qual_type_with_table(Context *c, QualType qt, const Decl *decl,