+2004-08-18 Paul Brook <paul@codesourcery.com>
+
+ * trans-types.c (gfc_sym_type): Use pointer types for optional args.
+
2004-08-18 Victor Leikehman <lei@il.ibm.com>
PR fortran/13278
See f95_get_function_decl. For dummy function parameters return the
function type. */
if (byref)
- type = build_reference_type (type);
+ {
+ /* We must use pointer types for potentially absent variables. The
+ optimizers assume a reference type argument is never NULL. */
+ if (sym->attr.optional || sym->ns->proc_name->attr.entry_master)
+ type = build_pointer_type (type);
+ else
+ type = build_reference_type (type);
+ }
return (type);
}