summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2010-10-07 20:58:54 +0200
committerJürg Billeter <j@bitron.ch>2010-10-08 20:49:25 +0200
commit54d2885e301998e5252c706161b4fa00a5be3ac6 (patch)
treefb03f5941e079e3a8a60ff12eb887fa30ed69c08
parent835ebab7dbac51dd11b53d71caf1c7b2aded78c8 (diff)
downloadvala-54d2885e301998e5252c706161b4fa00a5be3ac6.tar.gz
dova: Rename integer types
-rw-r--r--codegen/valadovabasemodule.vala14
-rw-r--r--codegen/valadovadelegatemodule.vala4
-rw-r--r--codegen/valadovaobjectmodule.vala80
-rw-r--r--codegen/valadovavaluemodule.vala28
-rw-r--r--vala/valaintegerliteral.vala9
-rw-r--r--vala/valasemanticanalyzer.vala23
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");