[gfortran] add SIGNAL and ALARM intrinsics

Steve Kargl sgk@troutmask.apl.washington.edu
Sun Oct 16 04:51:00 GMT 2005


On Sat, Oct 15, 2005 at 12:12:52PM +0200, FX Coudert wrote:
> All the errors noted by Steve were corrected, and the library functions 
> interface was reworked (using only "C int" integers).
> 
> Built and tested again on i686-linux. OK for mainline and 4.0?
> 

I don't understand how you implemented the intrinsic
functions for signal.  In iresolve.c, you have

+  if (handler->ts.type == BT_INTEGER)
+    {
+      if (handler->ts.kind != gfc_c_int_kind)
+       gfc_convert_type (handler, &f->ts, 2);
+      f->value.function.name = gfc_get_string (PREFIX("signal_int"));
+    }
+  else
+    f->value.function.name = gfc_get_string (PREFIX("signal"));

But, your function names are

+extern int signal_func (int *, void (*)(int));
+iexport_proto(signal_func);

+extern int signal_func_int (int *, int *);
+iexport_proto(signal_func_int);

-- 
Steve



More information about the Fortran mailing list