objc-act.c (init_objc_symtab, [...]): When initializing 'long' fields, ensure that...
authorZiemowit Laski <zlaski@apple.com>
Fri, 24 Sep 2004 23:15:33 +0000 (23:15 +0000)
committerZiemowit Laski <zlaski@gcc.gnu.org>
Fri, 24 Sep 2004 23:15:33 +0000 (23:15 +0000)
[gcc/objc/ChangeLog]
2004-09-24  Ziemowit Laski  <zlaski@apple.com>

* objc-act.c (init_objc_symtab, init_module_descriptor,
build_shared_structure_initializer): When initializing 'long'
fields, ensure that the initializer value is also 'long'.

From-SVN: r88079

gcc/objc/ChangeLog
gcc/objc/objc-act.c

index a7c2c65e281d510df20eae3da9bd043bc90c824c..082a38cbf1261145eefdd69e0e0286c921d2cfad 100644 (file)
@@ -1,3 +1,9 @@
+2004-09-24  Ziemowit Laski  <zlaski@apple.com>
+
+       * objc-act.c (init_objc_symtab, init_module_descriptor,
+       build_shared_structure_initializer): When initializing 'long'
+       fields, ensure that the initializer value is also 'long'.
+
 2004-09-24  Zack Weinberg  <zack@codesourcery.com>
 
        * objc-act.c: Change annotate_with_locus to SET_EXPR_LOCATION
index 2743688c641f1d18ef199c2375e0d8790e1e8c98..e09e7a3e8cde444b2166e5154adc39d11cbb5ea5 100644 (file)
@@ -1870,7 +1870,8 @@ init_objc_symtab (tree type)
 
   /* sel_ref_cnt = { ..., 5, ... } */
 
-  initlist = build_tree_list (NULL_TREE, build_int_cst (NULL_TREE, 0));
+  initlist = build_tree_list (NULL_TREE,
+                             build_int_cst (long_integer_type_node, 0));
 
   /* refs = { ..., _OBJC_SELECTOR_TABLE, ... } */
 
@@ -1969,12 +1970,13 @@ init_module_descriptor (tree type)
 
   /* version = { 1, ... } */
 
-  expr = build_int_cst (NULL_TREE, OBJC_VERSION);
+  expr = build_int_cst (long_integer_type_node, OBJC_VERSION);
   initlist = build_tree_list (NULL_TREE, expr);
 
   /* size = { ..., sizeof (struct _objc_module), ... } */
 
-  expr = size_in_bytes (objc_module_template);
+  expr = convert (long_integer_type_node,
+                 size_in_bytes (objc_module_template));
   initlist = tree_cons (NULL_TREE, expr, initlist);
 
   /* name = { ..., "foo.m", ... } */
@@ -4850,13 +4852,17 @@ build_shared_structure_initializer (tree type, tree isa, tree super,
   initlist = tree_cons (NULL_TREE, default_conversion (name), initlist);
 
   /* version = */
-  initlist = tree_cons (NULL_TREE, build_int_cst (NULL_TREE, 0), initlist);
+  initlist = tree_cons (NULL_TREE, build_int_cst (long_integer_type_node, 0),
+                       initlist);
 
   /* info = */
-  initlist = tree_cons (NULL_TREE, build_int_cst (NULL_TREE, status), initlist);
+  initlist = tree_cons (NULL_TREE,
+                       build_int_cst (long_integer_type_node, status),
+                       initlist);
 
   /* instance_size = */
-  initlist = tree_cons (NULL_TREE, size, initlist);
+  initlist = tree_cons (NULL_TREE, convert (long_integer_type_node, size),
+                       initlist);
 
   /* objc_ivar_list = */
   if (!ivar_list)