GCC started to accept as legacy extension array-valued non-characters, which works for integer (+ real/logical). Some other – mostly unrelated patch regarding resolving array constructors (r10-5607-gde89b5748d68b76b, PR92996) turned this into an ICE. While it might be in theory fixable for derived types, just rejecting DT + CLASS + c_(fun)ptr makes more sense. I am not quite sure about the error-message wording. Better suggestions? In the 'rank > 0' branch, Hollerith should not occur and (as legacy extension) integer etc. are permitted. — Thoughts? Otherwise: OK for GCC 11 and GCC 10? (ICE is new in GCC 10.) Tobias ----------------- Mentor Graphics (Deutschland) GmbH, Arnulfstrasse 201, 80634 München Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Frank Thürauf