diff options
author | Jürg Billeter <j@bitron.ch> | 2010-10-07 20:58:54 +0200 |
---|---|---|
committer | Jürg Billeter <j@bitron.ch> | 2010-10-08 20:49:25 +0200 |
commit | 54d2885e301998e5252c706161b4fa00a5be3ac6 (patch) | |
tree | fb03f5941e079e3a8a60ff12eb887fa30ed69c08 | |
parent | 835ebab7dbac51dd11b53d71caf1c7b2aded78c8 (diff) | |
download | vala-54d2885e301998e5252c706161b4fa00a5be3ac6.tar.gz |
dova: Rename integer types
-rw-r--r-- | codegen/valadovabasemodule.vala | 14 | ||||
-rw-r--r-- | codegen/valadovadelegatemodule.vala | 4 | ||||
-rw-r--r-- | codegen/valadovaobjectmodule.vala | 80 | ||||
-rw-r--r-- | codegen/valadovavaluemodule.vala | 28 | ||||
-rw-r--r-- | vala/valaintegerliteral.vala | 9 | ||||
-rw-r--r-- | vala/valasemanticanalyzer.vala | 23 |
6 files changed, 74 insertions, 84 deletions
diff --git a/codegen/valadovabasemodule.vala b/codegen/valadovabasemodule.vala index 97e98836d..22603f2dc 100644 --- a/codegen/valadovabasemodule.vala +++ b/codegen/valadovabasemodule.vala @@ -173,12 +173,8 @@ public class Vala.DovaBaseModule : CodeGenerator { public DataType void_type = new VoidType (); public DataType bool_type; public DataType char_type; - public DataType short_type; - public DataType ushort_type; public DataType int_type; public DataType uint_type; - public DataType long_type; - public DataType ulong_type; public DataType string_type; public DataType float_type; public DataType double_type; @@ -248,12 +244,8 @@ public class Vala.DovaBaseModule : CodeGenerator { bool_type = new BooleanType ((Struct) root_symbol.scope.lookup ("bool")); char_type = new IntegerType ((Struct) root_symbol.scope.lookup ("char")); - short_type = new IntegerType ((Struct) root_symbol.scope.lookup ("short")); - ushort_type = new IntegerType ((Struct) root_symbol.scope.lookup ("ushort")); int_type = new IntegerType ((Struct) root_symbol.scope.lookup ("int")); uint_type = new IntegerType ((Struct) root_symbol.scope.lookup ("uint")); - long_type = new IntegerType ((Struct) root_symbol.scope.lookup ("long")); - ulong_type = new IntegerType ((Struct) root_symbol.scope.lookup ("ulong")); float_type = new FloatingType ((Struct) root_symbol.scope.lookup ("float")); double_type = new FloatingType ((Struct) root_symbol.scope.lookup ("double")); string_type = new ObjectType ((Class) root_symbol.scope.lookup ("string")); @@ -657,7 +649,7 @@ public class Vala.DovaBaseModule : CodeGenerator { var data = new CCodeStruct ("_" + struct_name); data.add_field ("DovaType*", "type"); - data.add_field ("int", "_ref_count_"); + data.add_field ("int32_t", "_ref_count_"); if (parent_block != null) { int parent_block_id = get_block_id (parent_block); @@ -747,12 +739,12 @@ public class Vala.DovaBaseModule : CodeGenerator { cfile.add_function_declaration (type_get_fun); type_get_fun.block = new CCodeBlock (); - var cdecl = new CCodeDeclaration ("int"); + var cdecl = new CCodeDeclaration ("intptr_t"); cdecl.add_declarator (new CCodeVariableDeclarator ("_block%d_data_object_offset".printf (block_id), new CCodeConstant ("0"))); cdecl.modifiers = CCodeModifiers.STATIC; cfile.add_type_member_declaration (cdecl); - cdecl = new CCodeDeclaration ("int"); + cdecl = new CCodeDeclaration ("intptr_t"); cdecl.add_declarator (new CCodeVariableDeclarator ("_block%d_data_type_offset".printf (block_id), new CCodeConstant ("0"))); cdecl.modifiers = CCodeModifiers.STATIC; cfile.add_type_member_declaration (cdecl); diff --git a/codegen/valadovadelegatemodule.vala b/codegen/valadovadelegatemodule.vala index d0439ba46..4828573f4 100644 --- a/codegen/valadovadelegatemodule.vala +++ b/codegen/valadovadelegatemodule.vala @@ -205,12 +205,12 @@ public class Vala.DovaDelegateModule : DovaValueModule { string macro = "((%sPrivate *) (((char *) o) + _%s_object_offset))".printf (d.get_cname (), d.get_lower_case_cname ()); cfile.add_type_member_declaration (new CCodeMacroReplacement ("%s_GET_PRIVATE(o)".printf (d.get_upper_case_cname (null)), macro)); - var cdecl = new CCodeDeclaration ("int"); + var cdecl = new CCodeDeclaration ("intptr_t"); cdecl.add_declarator (new CCodeVariableDeclarator ("_%s_object_offset".printf (d.get_lower_case_cname ()), new CCodeConstant ("0"))); cdecl.modifiers = CCodeModifiers.STATIC; cfile.add_type_member_declaration (cdecl); - cdecl = new CCodeDeclaration ("int"); + cdecl = new CCodeDeclaration ("intptr_t"); cdecl.add_declarator (new CCodeVariableDeclarator ("_%s_type_offset".printf (d.get_lower_case_cname ()), new CCodeConstant ("0"))); cdecl.modifiers = CCodeModifiers.STATIC; cfile.add_type_member_declaration (cdecl); diff --git a/codegen/valadovaobjectmodule.vala b/codegen/valadovaobjectmodule.vala index e8483f92a..768d9a28c 100644 --- a/codegen/valadovaobjectmodule.vala +++ b/codegen/valadovaobjectmodule.vala @@ -45,25 +45,25 @@ public class Vala.DovaObjectModule : DovaArrayModule { var value_copy_function = new CCodeFunction ("dova_type_value_copy"); value_copy_function.add_parameter (new CCodeFormalParameter ("type", "DovaType *")); value_copy_function.add_parameter (new CCodeFormalParameter ("dest", "void *")); - value_copy_function.add_parameter (new CCodeFormalParameter ("dest_index", "int32_t")); + value_copy_function.add_parameter (new CCodeFormalParameter ("dest_index", "intptr_t")); value_copy_function.add_parameter (new CCodeFormalParameter ("src", "void *")); - value_copy_function.add_parameter (new CCodeFormalParameter ("src_index", "int32_t")); + value_copy_function.add_parameter (new CCodeFormalParameter ("src_index", "intptr_t")); cfile.add_function_declaration (value_copy_function); var value_equals_function = new CCodeFunction ("dova_type_value_equals", "bool"); value_equals_function.add_parameter (new CCodeFormalParameter ("type", "DovaType *")); value_equals_function.add_parameter (new CCodeFormalParameter ("value", "void *")); - value_equals_function.add_parameter (new CCodeFormalParameter ("value_index", "int32_t")); + value_equals_function.add_parameter (new CCodeFormalParameter ("value_index", "intptr_t")); value_equals_function.add_parameter (new CCodeFormalParameter ("other", "void *")); - value_equals_function.add_parameter (new CCodeFormalParameter ("other_index", "int32_t")); + value_equals_function.add_parameter (new CCodeFormalParameter ("other_index", "intptr_t")); cfile.add_function_declaration (value_equals_function); - var value_hash_function = new CCodeFunction ("dova_type_value_hash", "uint32_t"); + var value_hash_function = new CCodeFunction ("dova_type_value_hash", "uintptr_t"); value_hash_function.add_parameter (new CCodeFormalParameter ("type", "DovaType *")); value_hash_function.add_parameter (new CCodeFormalParameter ("value", "void *")); - value_hash_function.add_parameter (new CCodeFormalParameter ("value_index", "int32_t")); + value_hash_function.add_parameter (new CCodeFormalParameter ("value_index", "intptr_t")); cfile.add_function_declaration (value_hash_function); } @@ -160,9 +160,9 @@ public class Vala.DovaObjectModule : DovaArrayModule { if (cl.get_full_name () == "Dova.Type") { var vdeclarator = new CCodeFunctionDeclarator ("value_copy"); vdeclarator.add_parameter (new CCodeFormalParameter ("dest", "void *")); - vdeclarator.add_parameter (new CCodeFormalParameter ("dest_index", "int32_t")); + vdeclarator.add_parameter (new CCodeFormalParameter ("dest_index", "intptr_t")); vdeclarator.add_parameter (new CCodeFormalParameter ("src", "void *")); - vdeclarator.add_parameter (new CCodeFormalParameter ("src_index", "int32_t")); + vdeclarator.add_parameter (new CCodeFormalParameter ("src_index", "intptr_t")); var vdecl = new CCodeDeclaration ("void"); vdecl.add_declarator (vdeclarator); @@ -170,9 +170,9 @@ public class Vala.DovaObjectModule : DovaArrayModule { vdeclarator = new CCodeFunctionDeclarator ("value_equals"); vdeclarator.add_parameter (new CCodeFormalParameter ("value", "void *")); - vdeclarator.add_parameter (new CCodeFormalParameter ("value_index", "int32_t")); + vdeclarator.add_parameter (new CCodeFormalParameter ("value_index", "intptr_t")); vdeclarator.add_parameter (new CCodeFormalParameter ("other", "void *")); - vdeclarator.add_parameter (new CCodeFormalParameter ("other_index", "int32_t")); + vdeclarator.add_parameter (new CCodeFormalParameter ("other_index", "intptr_t")); vdecl = new CCodeDeclaration ("bool"); vdecl.add_declarator (vdeclarator); @@ -180,15 +180,15 @@ public class Vala.DovaObjectModule : DovaArrayModule { vdeclarator = new CCodeFunctionDeclarator ("value_hash"); vdeclarator.add_parameter (new CCodeFormalParameter ("value", "void *")); - vdeclarator.add_parameter (new CCodeFormalParameter ("value_index", "int32_t")); + vdeclarator.add_parameter (new CCodeFormalParameter ("value_index", "intptr_t")); - vdecl = new CCodeDeclaration ("uint32_t"); + vdecl = new CCodeDeclaration ("uintptr_t"); vdecl.add_declarator (vdeclarator); instance_priv_struct.add_declaration (vdecl); vdeclarator = new CCodeFunctionDeclarator ("value_to_any"); vdeclarator.add_parameter (new CCodeFormalParameter ("value", "void *")); - vdeclarator.add_parameter (new CCodeFormalParameter ("value_index", "int32_t")); + vdeclarator.add_parameter (new CCodeFormalParameter ("value_index", "intptr_t")); vdecl = new CCodeDeclaration ("DovaObject *"); vdecl.add_declarator (vdeclarator); @@ -197,7 +197,7 @@ public class Vala.DovaObjectModule : DovaArrayModule { vdeclarator = new CCodeFunctionDeclarator ("value_from_any"); vdeclarator.add_parameter (new CCodeFormalParameter ("any_", "any *")); vdeclarator.add_parameter (new CCodeFormalParameter ("value", "void *")); - vdeclarator.add_parameter (new CCodeFormalParameter ("value_index", "int32_t")); + vdeclarator.add_parameter (new CCodeFormalParameter ("value_index", "intptr_t")); vdecl = new CCodeDeclaration ("void"); vdecl.add_declarator (vdeclarator); @@ -256,7 +256,7 @@ public class Vala.DovaObjectModule : DovaArrayModule { decl_space.add_type_definition (type_priv_struct); } - var cdecl = new CCodeDeclaration ("int"); + var cdecl = new CCodeDeclaration ("intptr_t"); cdecl.add_declarator (new CCodeVariableDeclarator ("_%s_object_offset".printf (cl.get_lower_case_cname ()), new CCodeConstant ("0"))); cdecl.modifiers = CCodeModifiers.STATIC; decl_space.add_type_member_declaration (cdecl); @@ -282,7 +282,7 @@ public class Vala.DovaObjectModule : DovaArrayModule { decl_space.add_type_member_declaration (new CCodeMacroReplacement ("%s_GET_PRIVATE(o)".printf (cl.get_upper_case_cname (null)), macro)); } - cdecl = new CCodeDeclaration ("int"); + cdecl = new CCodeDeclaration ("intptr_t"); cdecl.add_declarator (new CCodeVariableDeclarator ("_%s_type_offset".printf (cl.get_lower_case_cname ()), type_offset)); cdecl.modifiers = CCodeModifiers.STATIC; decl_space.add_type_member_declaration (cdecl); @@ -291,7 +291,7 @@ public class Vala.DovaObjectModule : DovaArrayModule { CCodeFunction create_set_value_copy_function (bool decl_only = false) { var result = new CCodeFunction ("dova_type_set_value_copy"); result.add_parameter (new CCodeFormalParameter ("type", "DovaType *")); - result.add_parameter (new CCodeFormalParameter ("(*function) (void *dest, int32_t dest_index, void *src, int32_t src_index)", "void")); + result.add_parameter (new CCodeFormalParameter ("(*function) (void *dest, intptr_t dest_index, void *src, intptr_t src_index)", "void")); if (decl_only) { return result; } @@ -315,7 +315,7 @@ public class Vala.DovaObjectModule : DovaArrayModule { CCodeFunction create_set_value_equals_function (bool decl_only = false) { var result = new CCodeFunction ("dova_type_set_value_equals"); result.add_parameter (new CCodeFormalParameter ("type", "DovaType *")); - result.add_parameter (new CCodeFormalParameter ("(*function) (void *value, int32_t value_index, void *other, int32_t other_index)", "bool")); + result.add_parameter (new CCodeFormalParameter ("(*function) (void *value, intptr_t value_index, void *other, intptr_t other_index)", "bool")); if (decl_only) { return result; } @@ -339,7 +339,7 @@ public class Vala.DovaObjectModule : DovaArrayModule { CCodeFunction create_set_value_hash_function (bool decl_only = false) { var result = new CCodeFunction ("dova_type_set_value_hash"); result.add_parameter (new CCodeFormalParameter ("type", "DovaType *")); - result.add_parameter (new CCodeFormalParameter ("(*function) (void *value, int32_t value_index)", "uint32_t")); + result.add_parameter (new CCodeFormalParameter ("(*function) (void *value, intptr_t value_index)", "uintptr_t")); if (decl_only) { return result; } @@ -363,7 +363,7 @@ public class Vala.DovaObjectModule : DovaArrayModule { CCodeFunction create_set_value_to_any_function (bool decl_only = false) { var result = new CCodeFunction ("dova_type_set_value_to_any"); result.add_parameter (new CCodeFormalParameter ("type", "DovaType *")); - result.add_parameter (new CCodeFormalParameter ("(*function) (void *value, int32_t value_index)", "DovaObject *")); + result.add_parameter (new CCodeFormalParameter ("(*function) (void *value, intptr_t value_index)", "DovaObject *")); if (decl_only) { return result; } @@ -387,7 +387,7 @@ public class Vala.DovaObjectModule : DovaArrayModule { CCodeFunction create_set_value_from_any_function (bool decl_only = false) { var result = new CCodeFunction ("dova_type_set_value_from_any"); result.add_parameter (new CCodeFormalParameter ("type", "DovaType *")); - result.add_parameter (new CCodeFormalParameter ("(*function) (DovaObject *any, void *value, int32_t value_index)", "void")); + result.add_parameter (new CCodeFormalParameter ("(*function) (DovaObject *any, void *value, intptr_t value_index)", "void")); if (decl_only) { return result; } @@ -606,15 +606,15 @@ public class Vala.DovaObjectModule : DovaArrayModule { var value_copy_call = new CCodeFunctionCall (new CCodeIdentifier ("dova_type_set_value_copy")); value_copy_call.add_argument (new CCodeIdentifier ("type")); - value_copy_call.add_argument (new CCodeCastExpression (new CCodeIdentifier ("%s_copy".printf (cl.get_lower_case_cname ())), "void (*)(void *, int32_t, void *, int32_t)")); + value_copy_call.add_argument (new CCodeCastExpression (new CCodeIdentifier ("%s_copy".printf (cl.get_lower_case_cname ())), "void (*)(void *, intptr_t, void *, intptr_t)")); type_init_fun.block.add_statement (new CCodeExpressionStatement (value_copy_call)); var function = new CCodeFunction ("%s_copy".printf (cl.get_lower_case_cname ()), "void"); function.modifiers = CCodeModifiers.STATIC; function.add_parameter (new CCodeFormalParameter ("dest", "any **")); - function.add_parameter (new CCodeFormalParameter ("dest_index", "int32_t")); + function.add_parameter (new CCodeFormalParameter ("dest_index", "intptr_t")); function.add_parameter (new CCodeFormalParameter ("src", "any **")); - function.add_parameter (new CCodeFormalParameter ("src_index", "int32_t")); + function.add_parameter (new CCodeFormalParameter ("src_index", "intptr_t")); function.block = new CCodeBlock (); var cfrag = new CCodeFragment (); @@ -642,9 +642,9 @@ public class Vala.DovaObjectModule : DovaArrayModule { var value_equals_fun = new CCodeFunction ("%s_value_equals".printf (cl.get_lower_case_cname ()), "bool"); value_equals_fun.modifiers = CCodeModifiers.STATIC; value_equals_fun.add_parameter (new CCodeFormalParameter ("value", cl.get_cname () + "**")); - value_equals_fun.add_parameter (new CCodeFormalParameter ("value_index", "int32_t")); + value_equals_fun.add_parameter (new CCodeFormalParameter ("value_index", "intptr_t")); value_equals_fun.add_parameter (new CCodeFormalParameter ("other", cl.get_cname () + "**")); - value_equals_fun.add_parameter (new CCodeFormalParameter ("other_index", "int32_t")); + value_equals_fun.add_parameter (new CCodeFormalParameter ("other_index", "intptr_t")); value_equals_fun.block = new CCodeBlock (); var val = new CCodeBinaryExpression (CCodeBinaryOperator.PLUS, new CCodeIdentifier ("value"), new CCodeIdentifier ("value_index")); var other = new CCodeBinaryExpression (CCodeBinaryOperator.PLUS, new CCodeIdentifier ("other"), new CCodeIdentifier ("other_index")); @@ -658,15 +658,15 @@ public class Vala.DovaObjectModule : DovaArrayModule { var value_equals_call = new CCodeFunctionCall (new CCodeIdentifier ("dova_type_set_value_equals")); value_equals_call.add_argument (new CCodeIdentifier ("type")); - value_equals_call.add_argument (new CCodeCastExpression (new CCodeIdentifier ("%s_value_equals".printf (cl.get_lower_case_cname ())), "bool (*)(void *, int32_t, void *, int32_t)")); + value_equals_call.add_argument (new CCodeCastExpression (new CCodeIdentifier ("%s_value_equals".printf (cl.get_lower_case_cname ())), "bool (*)(void *, intptr_t, void *, intptr_t)")); type_init_fun.block.add_statement (new CCodeExpressionStatement (value_equals_call)); } { - var value_hash_fun = new CCodeFunction ("%s_value_hash".printf (cl.get_lower_case_cname ()), "uint32_t"); + var value_hash_fun = new CCodeFunction ("%s_value_hash".printf (cl.get_lower_case_cname ()), "uintptr_t"); value_hash_fun.modifiers = CCodeModifiers.STATIC; value_hash_fun.add_parameter (new CCodeFormalParameter ("value", cl.get_cname () + "**")); - value_hash_fun.add_parameter (new CCodeFormalParameter ("value_index", "int32_t")); + value_hash_fun.add_parameter (new CCodeFormalParameter ("value_index", "intptr_t")); value_hash_fun.block = new CCodeBlock (); var val = new CCodeBinaryExpression (CCodeBinaryOperator.PLUS, new CCodeIdentifier ("value"), new CCodeIdentifier ("value_index")); var ccall = new CCodeFunctionCall (new CCodeIdentifier ("any_hash")); @@ -678,7 +678,7 @@ public class Vala.DovaObjectModule : DovaArrayModule { var value_hash_call = new CCodeFunctionCall (new CCodeIdentifier ("dova_type_set_value_hash")); value_hash_call.add_argument (new CCodeIdentifier ("type")); - value_hash_call.add_argument (new CCodeCastExpression (new CCodeIdentifier ("%s_value_hash".printf (cl.get_lower_case_cname ())), "uint32_t (*)(void *, int32_t)")); + value_hash_call.add_argument (new CCodeCastExpression (new CCodeIdentifier ("%s_value_hash".printf (cl.get_lower_case_cname ())), "uintptr_t (*)(void *, intptr_t)")); type_init_fun.block.add_statement (new CCodeExpressionStatement (value_hash_call)); } @@ -686,7 +686,7 @@ public class Vala.DovaObjectModule : DovaArrayModule { var value_to_any_fun = new CCodeFunction ("%s_value_to_any".printf (cl.get_lower_case_cname ()), "any*"); value_to_any_fun.modifiers = CCodeModifiers.STATIC; value_to_any_fun.add_parameter (new CCodeFormalParameter ("value", cl.get_cname () + "**")); - value_to_any_fun.add_parameter (new CCodeFormalParameter ("value_index", "int32_t")); + value_to_any_fun.add_parameter (new CCodeFormalParameter ("value_index", "intptr_t")); value_to_any_fun.block = new CCodeBlock (); var val = new CCodeBinaryExpression (CCodeBinaryOperator.PLUS, new CCodeIdentifier ("value"), new CCodeIdentifier ("value_index")); string to_any_fun = "%s_ref".printf (cl.get_lower_case_cname ()); @@ -710,7 +710,7 @@ public class Vala.DovaObjectModule : DovaArrayModule { value_from_any_fun.modifiers = CCodeModifiers.STATIC; value_from_any_fun.add_parameter (new CCodeFormalParameter ("any_", "any *")); value_from_any_fun.add_parameter (new CCodeFormalParameter ("value", cl.get_cname () + "**")); - value_from_any_fun.add_parameter (new CCodeFormalParameter ("value_index", "int32_t")); + value_from_any_fun.add_parameter (new CCodeFormalParameter ("value_index", "intptr_t")); value_from_any_fun.block = new CCodeBlock (); string from_any_fun = "%s_ref".printf (cl.get_lower_case_cname ()); if (cl == string_class) { @@ -893,9 +893,9 @@ public class Vala.DovaObjectModule : DovaArrayModule { var value_copy_function = new CCodeFunction ("dova_type_value_copy"); value_copy_function.add_parameter (new CCodeFormalParameter ("type", "DovaType *")); value_copy_function.add_parameter (new CCodeFormalParameter ("dest", "void *")); - value_copy_function.add_parameter (new CCodeFormalParameter ("dest_index", "int32_t")); + value_copy_function.add_parameter (new CCodeFormalParameter ("dest_index", "intptr_t")); value_copy_function.add_parameter (new CCodeFormalParameter ("src", "void *")); - value_copy_function.add_parameter (new CCodeFormalParameter ("src_index", "int32_t")); + value_copy_function.add_parameter (new CCodeFormalParameter ("src_index", "intptr_t")); value_copy_function.block = new CCodeBlock (); @@ -915,9 +915,9 @@ public class Vala.DovaObjectModule : DovaArrayModule { var value_equals_function = new CCodeFunction ("dova_type_value_equals", "bool"); value_equals_function.add_parameter (new CCodeFormalParameter ("type", "DovaType *")); value_equals_function.add_parameter (new CCodeFormalParameter ("value", "void *")); - value_equals_function.add_parameter (new CCodeFormalParameter ("value_index", "int32_t")); + value_equals_function.add_parameter (new CCodeFormalParameter ("value_index", "intptr_t")); value_equals_function.add_parameter (new CCodeFormalParameter ("other", "void *")); - value_equals_function.add_parameter (new CCodeFormalParameter ("other_index", "int32_t")); + value_equals_function.add_parameter (new CCodeFormalParameter ("other_index", "intptr_t")); value_equals_function.block = new CCodeBlock (); @@ -934,10 +934,10 @@ public class Vala.DovaObjectModule : DovaArrayModule { declare_set_value_equals_function (header_file); cfile.add_function (create_set_value_equals_function ()); - var value_hash_function = new CCodeFunction ("dova_type_value_hash", "uint32_t"); + var value_hash_function = new CCodeFunction ("dova_type_value_hash", "uintptr_t"); value_hash_function.add_parameter (new CCodeFormalParameter ("type", "DovaType *")); value_hash_function.add_parameter (new CCodeFormalParameter ("value", "void *")); - value_hash_function.add_parameter (new CCodeFormalParameter ("value_index", "int32_t")); + value_hash_function.add_parameter (new CCodeFormalParameter ("value_index", "intptr_t")); value_hash_function.block = new CCodeBlock (); @@ -955,7 +955,7 @@ public class Vala.DovaObjectModule : DovaArrayModule { var value_to_any_function = new CCodeFunction ("dova_type_value_to_any", "DovaObject *"); value_to_any_function.add_parameter (new CCodeFormalParameter ("type", "DovaType *")); value_to_any_function.add_parameter (new CCodeFormalParameter ("value", "void *")); - value_to_any_function.add_parameter (new CCodeFormalParameter ("value_index", "int32_t")); + value_to_any_function.add_parameter (new CCodeFormalParameter ("value_index", "intptr_t")); value_to_any_function.block = new CCodeBlock (); @@ -974,7 +974,7 @@ public class Vala.DovaObjectModule : DovaArrayModule { value_from_any_function.add_parameter (new CCodeFormalParameter ("type", "DovaType *")); value_from_any_function.add_parameter (new CCodeFormalParameter ("any_", "any *")); value_from_any_function.add_parameter (new CCodeFormalParameter ("value", "void *")); - value_from_any_function.add_parameter (new CCodeFormalParameter ("value_index", "int32_t")); + value_from_any_function.add_parameter (new CCodeFormalParameter ("value_index", "intptr_t")); value_from_any_function.block = new CCodeBlock (); diff --git a/codegen/valadovavaluemodule.vala b/codegen/valadovavaluemodule.vala index 94369253b..d9eea5810 100644 --- a/codegen/valadovavaluemodule.vala +++ b/codegen/valadovavaluemodule.vala @@ -60,9 +60,9 @@ public class Vala.DovaValueModule : DovaObjectModule { } function.add_parameter (new CCodeFormalParameter ("dest", st.get_cname () + "*")); - function.add_parameter (new CCodeFormalParameter ("dest_index", "int32_t")); + function.add_parameter (new CCodeFormalParameter ("dest_index", "intptr_t")); function.add_parameter (new CCodeFormalParameter ("src", st.get_cname () + "*")); - function.add_parameter (new CCodeFormalParameter ("src_index", "int32_t")); + function.add_parameter (new CCodeFormalParameter ("src_index", "intptr_t")); decl_space.add_function_declaration (function); } @@ -70,7 +70,7 @@ public class Vala.DovaValueModule : DovaObjectModule { public override void visit_struct (Struct st) { base.visit_struct (st); - var cdecl = new CCodeDeclaration ("int"); + var cdecl = new CCodeDeclaration ("intptr_t"); cdecl.add_declarator (new CCodeVariableDeclarator ("_%s_object_offset".printf (st.get_lower_case_cname ()), new CCodeConstant ("0"))); cdecl.modifiers = CCodeModifiers.STATIC; cfile.add_type_member_declaration (cdecl); @@ -170,16 +170,16 @@ public class Vala.DovaValueModule : DovaObjectModule { var value_copy_call = new CCodeFunctionCall (new CCodeIdentifier ("dova_type_set_value_copy")); value_copy_call.add_argument (new CCodeIdentifier ("type")); - value_copy_call.add_argument (new CCodeCastExpression (new CCodeIdentifier ("%s_copy".printf (st.get_lower_case_cname ())), "void (*)(void *, int32_t, void *, int32_t)")); + value_copy_call.add_argument (new CCodeCastExpression (new CCodeIdentifier ("%s_copy".printf (st.get_lower_case_cname ())), "void (*)(void *, intptr_t, void *, intptr_t)")); type_init_fun.block.add_statement (new CCodeExpressionStatement (value_copy_call)); if (st.scope.lookup ("equals") is Method) { var value_equals_fun = new CCodeFunction ("%s_value_equals".printf (st.get_lower_case_cname ()), "bool"); value_equals_fun.modifiers = CCodeModifiers.STATIC; value_equals_fun.add_parameter (new CCodeFormalParameter ("value", st.get_cname () + "*")); - value_equals_fun.add_parameter (new CCodeFormalParameter ("value_index", "int32_t")); + value_equals_fun.add_parameter (new CCodeFormalParameter ("value_index", "intptr_t")); value_equals_fun.add_parameter (new CCodeFormalParameter ("other", st.get_cname () + "*")); - value_equals_fun.add_parameter (new CCodeFormalParameter ("other_index", "int32_t")); + value_equals_fun.add_parameter (new CCodeFormalParameter ("other_index", "intptr_t")); value_equals_fun.block = new CCodeBlock (); var val = new CCodeBinaryExpression (CCodeBinaryOperator.PLUS, new CCodeIdentifier ("value"), new CCodeIdentifier ("value_index")); var other = new CCodeBinaryExpression (CCodeBinaryOperator.PLUS, new CCodeIdentifier ("other"), new CCodeIdentifier ("other_index")); @@ -193,15 +193,15 @@ public class Vala.DovaValueModule : DovaObjectModule { var value_equals_call = new CCodeFunctionCall (new CCodeIdentifier ("dova_type_set_value_equals")); value_equals_call.add_argument (new CCodeIdentifier ("type")); - value_equals_call.add_argument (new CCodeCastExpression (new CCodeIdentifier ("%s_value_equals".printf (st.get_lower_case_cname ())), "bool (*)(void *, int32_t, void *, int32_t)")); + value_equals_call.add_argument (new CCodeCastExpression (new CCodeIdentifier ("%s_value_equals".printf (st.get_lower_case_cname ())), "bool (*)(void *, intptr_t, void *, intptr_t)")); type_init_fun.block.add_statement (new CCodeExpressionStatement (value_equals_call)); } if (st.scope.lookup ("hash") is Method) { - var value_hash_fun = new CCodeFunction ("%s_value_hash".printf (st.get_lower_case_cname ()), "uint32_t"); + var value_hash_fun = new CCodeFunction ("%s_value_hash".printf (st.get_lower_case_cname ()), "uintptr_t"); value_hash_fun.modifiers = CCodeModifiers.STATIC; value_hash_fun.add_parameter (new CCodeFormalParameter ("value", st.get_cname () + "*")); - value_hash_fun.add_parameter (new CCodeFormalParameter ("value_index", "int32_t")); + value_hash_fun.add_parameter (new CCodeFormalParameter ("value_index", "intptr_t")); value_hash_fun.block = new CCodeBlock (); var val = new CCodeBinaryExpression (CCodeBinaryOperator.PLUS, new CCodeIdentifier ("value"), new CCodeIdentifier ("value_index")); var ccall = new CCodeFunctionCall (new CCodeIdentifier ("%s_hash".printf (st.get_lower_case_cname ()))); @@ -213,7 +213,7 @@ public class Vala.DovaValueModule : DovaObjectModule { var value_hash_call = new CCodeFunctionCall (new CCodeIdentifier ("dova_type_set_value_hash")); value_hash_call.add_argument (new CCodeIdentifier ("type")); - value_hash_call.add_argument (new CCodeCastExpression (new CCodeIdentifier ("%s_value_hash".printf (st.get_lower_case_cname ())), "uint32_t (*)(void *, int32_t)")); + value_hash_call.add_argument (new CCodeCastExpression (new CCodeIdentifier ("%s_value_hash".printf (st.get_lower_case_cname ())), "uintptr_t (*)(void *, intptr_t)")); type_init_fun.block.add_statement (new CCodeExpressionStatement (value_hash_call)); } @@ -221,7 +221,7 @@ public class Vala.DovaValueModule : DovaObjectModule { var value_to_any_fun = new CCodeFunction ("%s_value_to_any".printf (st.get_lower_case_cname ()), "DovaObject*"); value_to_any_fun.modifiers = CCodeModifiers.STATIC; value_to_any_fun.add_parameter (new CCodeFormalParameter ("value", "void *")); - value_to_any_fun.add_parameter (new CCodeFormalParameter ("value_index", "int32_t")); + value_to_any_fun.add_parameter (new CCodeFormalParameter ("value_index", "intptr_t")); value_to_any_fun.block = new CCodeBlock (); var alloc_call = new CCodeFunctionCall (new CCodeIdentifier ("dova_object_alloc")); alloc_call.add_argument (new CCodeFunctionCall (new CCodeIdentifier ("%s_type_get".printf (st.get_lower_case_cname ())))); @@ -251,7 +251,7 @@ public class Vala.DovaValueModule : DovaObjectModule { value_from_any_fun.modifiers = CCodeModifiers.STATIC; value_from_any_fun.add_parameter (new CCodeFormalParameter ("any_", "any *")); value_from_any_fun.add_parameter (new CCodeFormalParameter ("value", st.get_cname () + "*")); - value_from_any_fun.add_parameter (new CCodeFormalParameter ("value_index", "int32_t")); + value_from_any_fun.add_parameter (new CCodeFormalParameter ("value_index", "intptr_t")); value_from_any_fun.block = new CCodeBlock (); priv_call = new CCodeFunctionCall (new CCodeIdentifier ("%s_GET_PRIVATE".printf (st.get_upper_case_cname (null)))); priv_call.add_argument (new CCodeIdentifier ("any_")); @@ -282,9 +282,9 @@ public class Vala.DovaValueModule : DovaObjectModule { } function.add_parameter (new CCodeFormalParameter ("dest", st.get_cname () + "*")); - function.add_parameter (new CCodeFormalParameter ("dest_index", "int32_t")); + function.add_parameter (new CCodeFormalParameter ("dest_index", "intptr_t")); function.add_parameter (new CCodeFormalParameter ("src", st.get_cname () + "*")); - function.add_parameter (new CCodeFormalParameter ("src_index", "int32_t")); + function.add_parameter (new CCodeFormalParameter ("src_index", "intptr_t")); var cblock = new CCodeBlock (); var cfrag = new CCodeFragment (); diff --git a/vala/valaintegerliteral.vala b/vala/valaintegerliteral.vala index b80fc9dd4..35f794fab 100644 --- a/vala/valaintegerliteral.vala +++ b/vala/valaintegerliteral.vala @@ -96,16 +96,15 @@ public class Vala.IntegerLiteral : Literal { type_suffix = ""; type_name = "int"; } - } else if (l == 1) { + } else if (CodeContext.get ().profile == Profile.DOVA) { if (u) { type_suffix = "UL"; - type_name = "ulong"; + type_name = "uint64"; } else { type_suffix = "L"; - type_name = "long"; + type_name = "int64"; } - } else if (CodeContext.get ().profile == Profile.DOVA) { - // long is 64-bit in Dova profile + } else if (l == 1) { if (u) { type_suffix = "UL"; type_name = "ulong"; diff --git a/vala/valasemanticanalyzer.vala b/vala/valasemanticanalyzer.vala index 576412c37..111c614e7 100644 --- a/vala/valasemanticanalyzer.vala +++ b/vala/valasemanticanalyzer.vala @@ -178,31 +178,30 @@ public class Vala.SemanticAnalyzer : CodeVisitor { bool_type = new BooleanType ((Struct) root_symbol.scope.lookup ("bool")); string_type = new ObjectType ((Class) root_symbol.scope.lookup ("string")); - short_type = new IntegerType ((Struct) root_symbol.scope.lookup ("short")); - ushort_type = new IntegerType ((Struct) root_symbol.scope.lookup ("ushort")); int_type = new IntegerType ((Struct) root_symbol.scope.lookup ("int")); uint_type = new IntegerType ((Struct) root_symbol.scope.lookup ("uint")); - long_type = new IntegerType ((Struct) root_symbol.scope.lookup ("long")); - ulong_type = new IntegerType ((Struct) root_symbol.scope.lookup ("ulong")); double_type = new FloatingType ((Struct) root_symbol.scope.lookup ("double")); if (context.profile != Profile.DOVA) { uchar_type = new IntegerType ((Struct) root_symbol.scope.lookup ("uchar")); int8_type = new IntegerType ((Struct) root_symbol.scope.lookup ("int8")); + short_type = new IntegerType ((Struct) root_symbol.scope.lookup ("short")); + ushort_type = new IntegerType ((Struct) root_symbol.scope.lookup ("ushort")); + long_type = new IntegerType ((Struct) root_symbol.scope.lookup ("long")); + ulong_type = new IntegerType ((Struct) root_symbol.scope.lookup ("ulong")); + size_t_type = new IntegerType ((Struct) root_symbol.scope.lookup ("size_t")); + ssize_t_type = new IntegerType ((Struct) root_symbol.scope.lookup ("ssize_t")); + } else { + long_type = int_type; + ulong_type = uint_type; + size_t_type = uint_type; + ssize_t_type = int_type; } var unichar_struct = (Struct) root_symbol.scope.lookup ("unichar"); if (unichar_struct != null) { unichar_type = new IntegerType (unichar_struct); } - var size_t_struct = (Struct) root_symbol.scope.lookup ("size_t"); - if (size_t_struct != null) { - size_t_type = new IntegerType (size_t_struct); - } - var ssize_t_struct = (Struct) root_symbol.scope.lookup ("ssize_t"); - if (ssize_t_struct != null) { - ssize_t_type = new IntegerType (ssize_t_struct); - } if (context.profile == Profile.GOBJECT) { var glib_ns = root_symbol.scope.lookup ("GLib"); |