absyntax_utils/get_datatype_info.cc
changeset 946 c012a64dc2fa
parent 945 477393b00f95
child 958 7474d2cd1d6e
equal deleted inserted replaced
945:477393b00f95 946:c012a64dc2fa
    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