The Java FE builds the final constant pool variable late (_CD_java_lang_Object) and only then fills in the arrays domain. All references to it before have an empty TYPE_DOMAIN which means after filling in the final TYPE_DOMAIN all the ADDR_EXPRs have wrong types.
-- Summary: constant pool references have wrong types in ADDR_EXPR Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rguenth at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38374