Skip to content

Commit 03632a9

Browse files
committed
odin - update number sizing
1 parent 088f8bf commit 03632a9

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

ODIN_II/SRC/ast_util.cpp

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -969,16 +969,29 @@ ast_node_t *resolve_node(STRING_CACHE *local_param_table_sc, char *module_name,
969969
newNode->shared_node = node->shared_node;
970970

971971
/* resize as needed */
972-
if (assignment_size != 0)
972+
// if (assignment_size != 0)
973+
// {
974+
// VNumber *temp_num = new VNumber(*(newNode->types.vnumber), assignment_size);
975+
// delete newNode->types.vnumber;
976+
// newNode->types.vnumber = temp_num;
977+
// }
978+
979+
// if (newNode->types.vnumber->size() > *max_size)
980+
// {
981+
// *max_size = newNode->types.vnumber->size();
982+
// }
983+
984+
if (assignment_size == 0)
973985
{
974-
VNumber *temp_num = new VNumber(*(newNode->types.vnumber), assignment_size);
986+
VNumber *temp_num = new VNumber(*(newNode->types.vnumber), *max_size);
975987
delete newNode->types.vnumber;
976988
newNode->types.vnumber = temp_num;
977989
}
978-
979-
if (newNode->types.vnumber->size() > *max_size)
990+
else if (assignment_size < newNode->types.vnumber->size())
980991
{
981-
*max_size = newNode->types.vnumber->size();
992+
VNumber *temp_num = new VNumber(*(newNode->types.vnumber), assignment_size);
993+
delete newNode->types.vnumber;
994+
newNode->types.vnumber = temp_num;
982995
}
983996

984997
// /* clean up */

0 commit comments

Comments
 (0)