]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
dova: Rename integer types
authorJürg Billeter <j@bitron.ch>
Thu, 7 Oct 2010 18:58:54 +0000 (20:58 +0200)
committerJürg Billeter <j@bitron.ch>
Fri, 8 Oct 2010 18:49:25 +0000 (20:49 +0200)
codegen/valadovabasemodule.vala
codegen/valadovadelegatemodule.vala
codegen/valadovaobjectmodule.vala
codegen/valadovavaluemodule.vala
vala/valaintegerliteral.vala
vala/valasemanticanalyzer.vala

index 97e98836dc69d932200517d305b1014f5a59ec98..22603f2dc7f7b8e86a7132ff25f3a07b1e8189f5 100644 (file)
@@ -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);
index d0439ba4646f303b87a3c42984e6441b86ecca3c..4828573f4715f1374529837df3120566be8ec163 100644 (file)
@@ -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);
index e8483f92ac7bf08f8a8072b33f875a85928f6c78..768d9a28cd17769150028cbb79ff9998586d603d 100644 (file)
@@ -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 ();
 
index 94369253b080dd91a0182e4d69d7c79d86d08a0b..d9eea58103702225ee056e958d9a6db6ffa10a4a 100644 (file)
@@ -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 ();
index b80fc9dd492d8338c94da8b537fc5ea859f311de..35f794fabc4671717d68096223d6290f0374ce96 100644 (file)
@@ -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";
index 576412c37e6c2407ec752631ba2b7fdd653c02f7..111c614e713be805086f7a2a77c112bc4ac9ee94 100644 (file)
@@ -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");