From eb30f2642b30b4f16371896eb495b5aad2d84a4c Mon Sep 17 00:00:00 2001 From: Alexander Medvednikov Date: Sat, 7 Oct 2023 19:46:46 +0300 Subject: [PATCH] all: int => i64 (part 2) --- vlib/builtin/string_interpolation.v | 2 +- vlib/v/ast/ast.v | 4 ++-- vlib/v/ast/types.v | 2 +- vlib/v/gen/c/cgen.v | 4 +++- vlib/v/gen/c/orm.v | 20 ++++++++++---------- vlib/v/gen/c/reflection.v | 4 ++-- 6 files changed, 19 insertions(+), 17 deletions(-) diff --git a/vlib/builtin/string_interpolation.v b/vlib/builtin/string_interpolation.v index 20300084f0..2a72af3551 100644 --- a/vlib/builtin/string_interpolation.v +++ b/vlib/builtin/string_interpolation.v @@ -69,7 +69,7 @@ pub mut: d_u16 u16 d_i16 i16 d_u32 u32 - d_i32 int + d_i32 i32 d_u64 u64 d_i64 i64 d_f32 f32 diff --git a/vlib/v/ast/ast.v b/vlib/v/ast/ast.v index 7b313e3dae..5006b738cc 100644 --- a/vlib/v/ast/ast.v +++ b/vlib/v/ast/ast.v @@ -10,10 +10,10 @@ import v.pref pub type TypeDecl = AliasTypeDecl | FnTypeDecl | SumTypeDecl pub const int_type_name = $if amd64 || arm64 { - 'i32' + 'int' //'i64' } $else { - 'i32' + 'int' } pub type Expr = AnonFn diff --git a/vlib/v/ast/types.v b/vlib/v/ast/types.v index 7e00250f8e..de80c805ab 100644 --- a/vlib/v/ast/types.v +++ b/vlib/v/ast/types.v @@ -921,7 +921,7 @@ pub fn (mut t Table) register_builtin_type_symbols() { t.register_sym(kind: .charptr, name: 'charptr', cname: 'charptr', mod: 'builtin') t.register_sym(kind: .i8, name: 'i8', cname: 'i8', mod: 'builtin') t.register_sym(kind: .i16, name: 'i16', cname: 'i16', mod: 'builtin') - t.register_sym(kind: .int, name: 'int', cname: 'int', mod: 'builtin') + t.register_sym(kind: .int, name: 'int', cname: int_type_name, mod: 'builtin') t.register_sym(kind: .i64, name: 'i64', cname: 'i64', mod: 'builtin') t.register_sym(kind: .isize, name: 'isize', cname: 'isize', mod: 'builtin') t.register_sym(kind: .u8, name: 'u8', cname: 'u8', mod: 'builtin') diff --git a/vlib/v/gen/c/cgen.v b/vlib/v/gen/c/cgen.v index 01e3c612e9..c375967c60 100644 --- a/vlib/v/gen/c/cgen.v +++ b/vlib/v/gen/c/cgen.v @@ -2270,7 +2270,9 @@ fn (mut g Gen) get_sumtype_casting_fn(got_ ast.Type, exp_ ast.Type) string { i := got | int(u32(exp) << 16) exp_sym := g.table.sym(exp) mut got_sym := g.table.sym(got) - fn_name := '${got_sym.cname}_to_sumtype_${exp_sym.cname}' + cname := if exp == ast.int_type_idx { ast.int_type_name } else { exp_sym.cname } + // fn_name := '${got_sym.cname}_to_sumtype_${exp_sym.cname}' + fn_name := '${got_sym.cname}_to_sumtype_${cname}/*KEK*/' if got == exp || g.sumtype_definitions[i] { return fn_name } diff --git a/vlib/v/gen/c/orm.v b/vlib/v/gen/c/orm.v index d9900caba7..23c802639f 100644 --- a/vlib/v/gen/c/orm.v +++ b/vlib/v/gen/c/orm.v @@ -215,7 +215,7 @@ fn (mut g Gen) write_orm_update(node &ast.SqlStmtLine, table_name string, connec g.indent++ g.writeln('.kinds = __new_array_with_default_noscan(0, 0, sizeof(orm__OperationKind), 0),') g.writeln('.is_and = __new_array_with_default_noscan(0, 0, sizeof(bool), 0),') - g.writeln('.types = __new_array_with_default_noscan(0, 0, sizeof(int), 0),') + g.writeln('.types = __new_array_with_default_noscan(0, 0, sizeof(${ast.int_type_name}), 0),') g.writeln('.parentheses = __new_array_with_default_noscan(0, 0, sizeof(Array_int), 0),') if node.updated_columns.len > 0 { @@ -395,9 +395,9 @@ fn (mut g Gen) write_orm_insert_with_last_ids(node ast.SqlStmtLine, connection_v } g.indent-- g.writeln('),') - g.writeln('.types = __new_array_with_default_noscan(0, 0, sizeof(int), 0),') + g.writeln('.types = __new_array_with_default_noscan(0, 0, sizeof(${ast.int_type_name}), 0),') if auto_fields.len > 0 { - g.writeln('.auto_fields = new_array_from_c_array(${auto_fields.len}, ${auto_fields.len}, sizeof(int),') + g.writeln('.auto_fields = new_array_from_c_array(${auto_fields.len}, ${auto_fields.len}, sizeof(${ast.int_type_name}),') g.indent++ g.write('_MOV((int[${auto_fields.len}]){') for i in auto_fields { @@ -406,7 +406,7 @@ fn (mut g Gen) write_orm_insert_with_last_ids(node ast.SqlStmtLine, connection_v g.writeln(' })),') g.indent-- } else { - g.writeln('.auto_fields = __new_array_with_default_noscan(0, 0, sizeof(int), 0),') + g.writeln('.auto_fields = __new_array_with_default_noscan(0, 0, sizeof(${ast.int_type_name}), 0),') } g.writeln('.kinds = __new_array_with_default_noscan(0, 0, sizeof(orm__OperationKind), 0),') g.writeln('.is_and = __new_array_with_default_noscan(0, 0, sizeof(bool), 0),') @@ -581,7 +581,7 @@ fn (mut g Gen) write_orm_where(where_expr ast.Expr) { g.indent++ g.write_orm_where_expr(where_expr, mut fields, mut parentheses, mut kinds, mut data, mut is_ands) - g.writeln('.types = __new_array_with_default_noscan(0, 0, sizeof(int), 0),') + g.writeln('.types = __new_array_with_default_noscan(0, 0, sizeof(${ast.int_type_name}), 0),') if fields.len > 0 { g.writeln('.fields = new_array_from_c_array(${fields.len}, ${fields.len}, sizeof(string),') g.indent++ @@ -619,13 +619,13 @@ fn (mut g Gen) write_orm_where(where_expr ast.Expr) { g.write('new_array_from_c_array(${parentheses.len}, ${parentheses.len}, sizeof(Array_int), _MOV((Array_int[${parentheses.len}]){') for par in parentheses { if par.len > 0 { - g.write('new_array_from_c_array(${par.len}, ${par.len}, sizeof(int), _MOV((int[${par.len}]){') + g.write('new_array_from_c_array(${par.len}, ${par.len}, sizeof(${ast.int_type_name}), _MOV((int[${par.len}]){') for val in par { g.write('${val},') } g.write('})),') } else { - g.write('__new_array_with_default_noscan(0, 0, sizeof(int), 0),') + g.write('__new_array_with_default_noscan(0, 0, sizeof(${ast.int_type_name}), 0),') } } g.write('}))') @@ -853,7 +853,7 @@ fn (mut g Gen) write_orm_select(node ast.SqlExpr, connection_var_name string, re } g.indent-- g.writeln('),') - g.writeln('.types = new_array_from_c_array(${types.len}, ${types.len}, sizeof(int),') + g.writeln('.types = new_array_from_c_array(${types.len}, ${types.len}, sizeof(${ast.int_type_name}),') g.indent++ if types.len > 0 { @@ -880,7 +880,7 @@ fn (mut g Gen) write_orm_select(node ast.SqlExpr, connection_var_name string, re g.writeln('(orm__QueryData) {') g.indent++ - g.writeln('.types = __new_array_with_default_noscan(0, 0, sizeof(int), 0),') + g.writeln('.types = __new_array_with_default_noscan(0, 0, sizeof(${ast.int_type_name}), 0),') g.writeln('.kinds = __new_array_with_default_noscan(0, 0, sizeof(orm__OperationKind), 0),') g.writeln('.is_and = __new_array_with_default_noscan(0, 0, sizeof(bool), 0),') g.writeln('.parentheses = __new_array_with_default_noscan(0, 0, sizeof(Array_int), 0),') @@ -902,7 +902,7 @@ fn (mut g Gen) write_orm_select(node ast.SqlExpr, connection_var_name string, re } else { g.writeln('(orm__QueryData) {') g.indent++ - g.writeln('.types = __new_array_with_default_noscan(0, 0, sizeof(int), 0),') + g.writeln('.types = __new_array_with_default_noscan(0, 0, sizeof(${ast.int_type_name}), 0),') g.writeln('.kinds = __new_array_with_default_noscan(0, 0, sizeof(orm__OperationKind), 0),') g.writeln('.is_and = __new_array_with_default_noscan(0, 0, sizeof(bool), 0),') g.writeln('.parentheses = __new_array_with_default_noscan(0, 0, sizeof(Array_int), 0),') diff --git a/vlib/v/gen/c/reflection.v b/vlib/v/gen/c/reflection.v index ec48f121cb..41df3611ce 100644 --- a/vlib/v/gen/c/reflection.v +++ b/vlib/v/gen/c/reflection.v @@ -120,9 +120,9 @@ fn (g Gen) gen_fields_array(fields []ast.StructField) string { [inline] fn (g Gen) gen_type_array(types []ast.Type) string { if types.len == 0 { - return g.gen_empty_array('int') + return g.gen_empty_array(ast.int_type_name) } - return 'new_array_from_c_array(${types.len},${types.len},sizeof(int),_MOV((int[${types.len}]){${types.map(int(it).str()).join(',')}}))' + return 'new_array_from_c_array(${types.len},${types.len},sizeof(${ast.int_type_name}),_MOV((int[${types.len}]){${types.map(int(it).str()).join(',')}}))' } // gen_string_array generates C code for []string