diff -r a0679c78143a -r 83963465b773 stage4/generate_c/st_code_gen.c --- a/stage4/generate_c/st_code_gen.c Fri Jan 09 17:05:24 2009 +0100 +++ b/stage4/generate_c/st_code_gen.c Wed Jan 14 19:47:41 2009 +0100 @@ -13374,9 +13374,10 @@ if(search_expression_type->is_real_type(IN_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("sqrt")); + function_name = (symbol_c*)(new pragma_c("__sqrt_")); ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; + function_type_suffix = IN_type_symbol; break; } @@ -13409,9 +13410,10 @@ if(search_expression_type->is_real_type(IN_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("ln")); + function_name = (symbol_c*)(new pragma_c("__ln_")); ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; + function_type_suffix = IN_type_symbol; break; } @@ -13444,9 +13446,10 @@ if(search_expression_type->is_real_type(IN_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("log")); + function_name = (symbol_c*)(new pragma_c("__log_")); ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; + function_type_suffix = IN_type_symbol; break; } @@ -13479,9 +13482,10 @@ if(search_expression_type->is_real_type(IN_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("exp")); + function_name = (symbol_c*)(new pragma_c("__exp_")); ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; + function_type_suffix = IN_type_symbol; break; } @@ -13514,9 +13518,10 @@ if(search_expression_type->is_real_type(IN_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("sin")); + function_name = (symbol_c*)(new pragma_c("__sin_")); ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; + function_type_suffix = IN_type_symbol; break; } @@ -13549,9 +13554,10 @@ if(search_expression_type->is_real_type(IN_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("cos")); + function_name = (symbol_c*)(new pragma_c("__cos_")); ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; + function_type_suffix = IN_type_symbol; break; } @@ -13584,9 +13590,10 @@ if(search_expression_type->is_real_type(IN_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("tan")); + function_name = (symbol_c*)(new pragma_c("__tan_")); ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; + function_type_suffix = IN_type_symbol; break; } @@ -13619,9 +13626,10 @@ if(search_expression_type->is_real_type(IN_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("asin")); + function_name = (symbol_c*)(new pragma_c("__asin_")); ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; + function_type_suffix = IN_type_symbol; break; } @@ -13654,9 +13662,10 @@ if(search_expression_type->is_real_type(IN_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("acos")); + function_name = (symbol_c*)(new pragma_c("__acos_")); ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; + function_type_suffix = IN_type_symbol; break; } @@ -13689,9 +13698,10 @@ if(search_expression_type->is_real_type(IN_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("atan")); + function_name = (symbol_c*)(new pragma_c("__atan_")); ADD_PARAM_LIST(IN_param_value, IN_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = IN_type_symbol; + function_type_suffix = IN_type_symbol; break; } @@ -14361,7 +14371,7 @@ symbol_c *IN1_type_symbol = search_expression_type->get_type(IN1_param_value); last_type_symbol = last_type_symbol && search_expression_type->is_same_type(IN1_type_symbol, last_type_symbol) ? search_expression_type->common_type(IN1_type_symbol, last_type_symbol) : IN1_type_symbol ; - if(search_expression_type->is_num_type(IN1_type_symbol)) + if(search_expression_type->is_real_type(IN1_type_symbol)) { { @@ -14378,10 +14388,11 @@ if(search_expression_type->is_num_type(IN2_type_symbol)) { - function_name = (symbol_c*)(new pragma_c("pow")); + function_name = (symbol_c*)(new pragma_c("__expt_")); ADD_PARAM_LIST(IN1_param_value, IN1_type_symbol, function_param_iterator_c::direction_in) ADD_PARAM_LIST(IN2_param_value, IN2_type_symbol, function_param_iterator_c::direction_in) symbol_c * return_type_symbol = last_type_symbol; + function_type_suffix = IN1_type_symbol; break; }