equal
deleted
inserted
replaced
41 * In this case, we shall first serach for the basetype declaration using search_base_type_c, and then |
41 * In this case, we shall first serach for the basetype declaration using search_base_type_c, and then |
42 * run the normal process. |
42 * run the normal process. |
43 */ |
43 */ |
44 #include "absyntax_utils.hh" |
44 #include "absyntax_utils.hh" |
45 |
45 |
46 #include "../main.hh" // required for ERROR() and ERROR_MSG() macros. |
46 #include "../main.hh" // required for ERROR() and ERROR_MSG() macros, as well as the runtime_options global variable |
47 |
47 |
48 |
48 |
49 |
49 |
50 #include <typeinfo> // required for typeid |
50 #include <typeinfo> // required for typeid |
51 |
51 |
574 return is_type_equal(search_base_type_c::get_basetype_decl(get_ref_to(first_type )), |
574 return is_type_equal(search_base_type_c::get_basetype_decl(get_ref_to(first_type )), |
575 search_base_type_c::get_basetype_decl(get_ref_to(second_type))); |
575 search_base_type_c::get_basetype_decl(get_ref_to(second_type))); |
576 } |
576 } |
577 |
577 |
578 // check for same datatype |
578 // check for same datatype |
579 if (first_type == second_type) {return true;} |
579 if (first_type == second_type) {return true;} |
580 |
580 |
581 // remaining type equivalence rules are not applied in the strict datatype model |
581 // remaining type equivalence rules are not applied in the strict datatype model |
582 //if (!option...relaxed_datatypemodel) |
582 if (false == runtime_options.relaxed_datatype_model) {return false;} |
583 //return false; |
|
584 |
583 |
585 // check for array equivalence usig the relaxed datatype model |
584 // check for array equivalence usig the relaxed datatype model |
586 if (is_arraytype_equal_relaxed(first_type, second_type)) {return true;} |
585 if (is_arraytype_equal_relaxed(first_type, second_type)) {return true;} |
587 |
586 |
588 return false; |
587 return false; |
589 } |
588 } |
590 |
589 |
591 |
590 |