> Eventually we should force all BOOLEAN_TYPEs to have precision 1 but > as Kai remembers Ada uses alternate values for verification (true, false, > NaT or so). Eric may be able to explain.
Correct, see: http://gcc.gnu.org/ml/gcc-patches/2011-05/msg01214.html A boolean type isn't a modular type of precision 1 in Ada, it's an enumeration type with two values so a standard scalar type, i.e. precision == mode size. IIRC I already mentioned that if boolean_type_node was to be unified across languages, we'll very likely need to reimplement the boolean types in Ada and use boolean_type_node only for the result of comparisons. -- Eric Botcazou