This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Ptach, fortran] PR25818 - Problem with handling optional and entry master arguments


On Thu, Dec 21, 2006 at 06:20:40PM -0800, Steve Kargl wrote:
> On Thu, Dec 21, 2006 at 11:34:17PM +0100, Paul Thomas wrote:
> 
> > 2006-12-21  Paul Thomas  <pault@gcc.gnu.org>
> > 
> > 	PR fortran/25818
> > 	* trans-array.c	(gfc_trans_g77_array): If the variable is
> > 	optional or not always present, make the statement conditional
> > 	on presence of the argument.
> > 	* gfortran.h : Add symbol_attribute not_always_present.
> > 	* resolve.c (check_argument_lists): New function to check if
> > 	arguments are not present in all entries.
> > 	(resolve_entries): Call check_argument_lists.
> > 
> > 2006-12-21  Paul Thomas  <pault@gcc.gnu.org>
> > 
> > 	PR fortran/25818
> > 	* gfortran.dg/entry_array_specs_2.f: New test.
> > 
> 
> Your patch on i386-*-freebsd gives
> 
> FAIL: gfortran.fortran-torture/execute/entry_3.f90,  -O0  (internal compiler error)
> 
> I'm looking into the problem.

Paul, 

It looks to be a deference in the new check_argument_lists().

+      if (f->sym)
+       f->sym->attr.not_always_present = 1;

I had to add the "if (f->sym)" to get entry_3.f90 to compile.
Regression testing is underway.

-- 
Steve


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]