I think the Standard is very wrong. What is the semantics of the following value: INTEGER_64 external "C inline" end Is it 0? What if the type is BOOLEAN, CHARACTER_32, etc. What if the return type is a user defined expanded type? In any case, even if this is the semantics (default value of that type) then you have a bug in the compiler. Compile attached program and execute it. REAL_64, INTEGER_64 and NATURAL_64 values are garbage, not 0. Reopening this report.