------- Comment #3 from jakub at gcc dot gnu dot org 2008-03-08 20:55 ------- jboolean is lost in convert_template_argument: /* We only form one instance of each template specialization. Therefore, if we use a non-canonical variant (i.e., a typedef), any future messages referring to the type will use the typedef, which is confusing if those future uses do not themselves also use the typedef. */ if (TYPE_P (val)) val = canonical_type_variant (val); As jboolean is now everywhere but on ppc-darwin a variant of bool, and only the former has TYPE_FOR_JAVA set, we have this error. Caused by http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131840 I guess the easiest fix is just make jboolean make_unsigned_type (1) on all targets, not just on ppc-darwin.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35469