aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorgingerBill <ginger.bill.22@gmail.com>2016-08-19 09:54:01 +0100
committergingerBill <ginger.bill.22@gmail.com>2016-08-19 09:54:01 +0100
commitddb15e73c0f378b5d65675ba242e505fb1a3b2f2 (patch)
treec6e85a41e33854dc9168dce4eadf374cc76bd1c6 /src
parentf931b089d5ce0374e36c3241176e4ef24953522e (diff)
Remove print(ln) and fix swizzle
Diffstat (limited to 'src')
-rw-r--r--src/checker/checker.cpp6
-rw-r--r--src/checker/expr.cpp12
-rw-r--r--src/codegen/print_llvm.cpp7
-rw-r--r--src/codegen/ssa.cpp9
4 files changed, 5 insertions, 29 deletions
diff --git a/src/checker/checker.cpp b/src/checker/checker.cpp
index 100b480bd..e0cacf455 100644
--- a/src/checker/checker.cpp
+++ b/src/checker/checker.cpp
@@ -124,8 +124,6 @@ enum BuiltinProcId {
BuiltinProc_copy,
BuiltinProc_append,
BuiltinProc_swizzle,
- BuiltinProc_print,
- BuiltinProc_println,
BuiltinProc_Count,
};
@@ -152,10 +150,6 @@ gb_global BuiltinProc builtin_procs[BuiltinProc_Count] = {
{STR_LIT("append"), 2, false, Expression_Expression},
{STR_LIT("swizzle"), 1, true, Expression_Expression},
-
- {STR_LIT("print"), 1, true, Expression_Statement},
- {STR_LIT("println"), 1, true, Expression_Statement},
-
};
struct CheckerContext {
diff --git a/src/checker/expr.cpp b/src/checker/expr.cpp
index 602035803..8844ce542 100644
--- a/src/checker/expr.cpp
+++ b/src/checker/expr.cpp
@@ -1470,7 +1470,6 @@ b32 check_builtin_procedure(Checker *c, Operand *operand, AstNode *call, i32 id)
case BuiltinProc_static_assert:
// static_assert :: proc(cond: bool)
- // TODO(bill): Should `static_assert` and `assert` be unified?
if (operand->mode != Addressing_Constant ||
!is_type_boolean(operand->type)) {
@@ -1663,17 +1662,6 @@ b32 check_builtin_procedure(Checker *c, Operand *operand, AstNode *call, i32 id)
Type *elem_type = vector_type->vector.elem;
operand->type = make_type_vector(c->allocator, elem_type, arg_count);
operand->mode = Addressing_Value;
- }
-
- case BuiltinProc_print:
- case BuiltinProc_println: {
- for (AstNode *arg = ce->arg_list; arg != NULL; arg = arg->next) {
- // TOOD(bill): `check_assignment` doesn't allow tuples at the moment, should it?
- // Or should we destruct the tuple and use each elem?
- check_assignment(c, operand, NULL, make_string("argument"));
- if (operand->mode == Addressing_Invalid)
- return false;
- }
} break;
}
diff --git a/src/codegen/print_llvm.cpp b/src/codegen/print_llvm.cpp
index f7c6d2651..f584bbe06 100644
--- a/src/codegen/print_llvm.cpp
+++ b/src/codegen/print_llvm.cpp
@@ -641,10 +641,13 @@ void ssa_print_instr(gbFile *f, ssaModule *m, ssaValue *value) {
ssa_fprintf(f, " ");
ssa_print_value(f, m, sv->vector, vt);
ssa_fprintf(f, ", ");
+
ssa_print_type(f, m->sizes, vt);
- ssa_fprintf(f, " undef,");
+ ssa_fprintf(f, " ");
+ ssa_print_value(f, m, sv->vector, vt);
+ ssa_fprintf(f, ", ");
- ssa_fprintf(f, " <%td x i32> <", sv->index_count);
+ ssa_fprintf(f, "<%td x i32> <", sv->index_count);
for (isize i = 0; i < sv->index_count; i++) {
if (i > 0) {
ssa_fprintf(f, ", ");
diff --git a/src/codegen/ssa.cpp b/src/codegen/ssa.cpp
index be38b2c1b..8e83a7e09 100644
--- a/src/codegen/ssa.cpp
+++ b/src/codegen/ssa.cpp
@@ -1818,15 +1818,6 @@ ssaValue *ssa_build_single_expr(ssaProcedure *proc, AstNode *expr, TypeAndValue
return ssa_emit(proc, ssa_make_instr_shuffle_vector(proc, vector, indices, index_count));
} break;
-
- case BuiltinProc_print: {
- // print :: proc(...)
- GB_PANIC("TODO(bill): BuiltinProc_print");
- } break;
- case BuiltinProc_println: {
- // println :: proc(...)
- GB_PANIC("TODO(bill): BuiltinProc_println");
- } break;
}
}
}