I agree that this is an ECMA issue rather than an implementation issue. I see a big difference between value: INTEGER external "C" end and value: INTEGER external "C inline" end In the former, there are least has to be a routine name `value' or the code won't link and one is likely to find the mistake. I cannot see any possible utility in allowing the latter, since it can only be a mistake. In the latter case, one is allowed to forget to specify the routine body without any complaint from the compiler. What's even worse is that it may sometimes return the correct value by accident. This does not seem like a recipe for reliability to me. Please present my point of view to EMCA committe when appropriate. Closing this report.