⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iresolve.c

📁 gcc-fortran,linux使用fortran的编译软件。很好用的。
💻 C
📖 第 1 页 / 共 4 页
字号:
		    gfc_expr * back ATTRIBUTE_UNUSED){  f->ts.type = BT_INTEGER;  f->ts.kind = gfc_default_integer_kind;  f->value.function.name = gfc_get_string ("__verify_%d", string->ts.kind);}voidgfc_resolve_xor (gfc_expr * f, gfc_expr * i, gfc_expr * j){  f->ts.type = i->ts.type;  f->ts.kind = gfc_kind_max (i,j);  if (i->ts.kind != j->ts.kind)    {      if (i->ts.kind == gfc_kind_max (i,j))	gfc_convert_type(j, &i->ts, 2);      else	gfc_convert_type(i, &j->ts, 2);    }  f->value.function.name = gfc_get_string ("__xor_%c%d",					   gfc_type_letter (i->ts.type),					   f->ts.kind);}/* Intrinsic subroutine resolution.  */voidgfc_resolve_alarm_sub (gfc_code * c){  const char *name;  gfc_expr *seconds, *handler, *status;  gfc_typespec ts;  seconds = c->ext.actual->expr;  handler = c->ext.actual->next->expr;  status = c->ext.actual->next->next->expr;  ts.type = BT_INTEGER;  ts.kind = gfc_c_int_kind;  /* handler can be either BT_INTEGER or BT_PROCEDURE  */  if (handler->ts.type == BT_INTEGER)    {      if (handler->ts.kind != gfc_c_int_kind)	gfc_convert_type (handler, &ts, 2);      name = gfc_get_string (PREFIX("alarm_sub_int"));    }  else    name = gfc_get_string (PREFIX("alarm_sub"));  if (seconds->ts.kind != gfc_c_int_kind)    gfc_convert_type (seconds, &ts, 2);  if (status != NULL && status->ts.kind != gfc_c_int_kind)    gfc_convert_type (status, &ts, 2);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}voidgfc_resolve_cpu_time (gfc_code * c ATTRIBUTE_UNUSED){  const char *name;  name = gfc_get_string (PREFIX("cpu_time_%d"),			 c->ext.actual->expr->ts.kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}voidgfc_resolve_mvbits (gfc_code * c){  const char *name;  int kind;  kind = c->ext.actual->expr->ts.kind;  name = gfc_get_string (PREFIX("mvbits_i%d"), kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}voidgfc_resolve_random_number (gfc_code * c ATTRIBUTE_UNUSED){  const char *name;  int kind;  kind = c->ext.actual->expr->ts.kind;  if (c->ext.actual->expr->rank == 0)    name = gfc_get_string (PREFIX("random_r%d"), kind);  else    name = gfc_get_string (PREFIX("arandom_r%d"), kind);    c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}voidgfc_resolve_rename_sub (gfc_code * c){  const char *name;  int kind;  if (c->ext.actual->next->next->expr != NULL)    kind = c->ext.actual->next->next->expr->ts.kind;  else    kind = gfc_default_integer_kind;  name = gfc_get_string (PREFIX("rename_i%d_sub"), kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}voidgfc_resolve_kill_sub (gfc_code * c){  const char *name;  int kind;  if (c->ext.actual->next->next->expr != NULL)    kind = c->ext.actual->next->next->expr->ts.kind;  else    kind = gfc_default_integer_kind;  name = gfc_get_string (PREFIX("kill_i%d_sub"), kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}    voidgfc_resolve_link_sub (gfc_code * c){  const char *name;  int kind;  if (c->ext.actual->next->next->expr != NULL)    kind = c->ext.actual->next->next->expr->ts.kind;  else    kind = gfc_default_integer_kind;  name = gfc_get_string (PREFIX("link_i%d_sub"), kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}voidgfc_resolve_symlnk_sub (gfc_code * c){  const char *name;  int kind;  if (c->ext.actual->next->next->expr != NULL)    kind = c->ext.actual->next->next->expr->ts.kind;  else    kind = gfc_default_integer_kind;  name = gfc_get_string (PREFIX("symlnk_i%d_sub"), kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}/* G77 compatibility subroutines etime() and dtime().  */voidgfc_resolve_etime_sub (gfc_code * c){  const char *name;  name = gfc_get_string (PREFIX("etime_sub"));  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}/* G77 compatibility subroutine second().  */voidgfc_resolve_second_sub (gfc_code * c){  const char *name;  name = gfc_get_string (PREFIX("second_sub"));  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}voidgfc_resolve_sleep_sub (gfc_code * c){  const char *name;  int kind;  if (c->ext.actual->expr != NULL)    kind = c->ext.actual->expr->ts.kind;  else    kind = gfc_default_integer_kind;  name = gfc_get_string (PREFIX("sleep_i%d_sub"), kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}/* G77 compatibility function srand().  */voidgfc_resolve_srand (gfc_code * c){  const char *name;  name = gfc_get_string (PREFIX("srand"));  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}/* Resolve the getarg intrinsic subroutine.  */voidgfc_resolve_getarg (gfc_code * c){  const char *name;  int kind;  kind = gfc_default_integer_kind;  name = gfc_get_string (PREFIX("getarg_i%d"), kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}/* Resolve the getcwd intrinsic subroutine.  */voidgfc_resolve_getcwd_sub (gfc_code * c){  const char *name;  int kind;  if (c->ext.actual->next->expr != NULL)    kind = c->ext.actual->next->expr->ts.kind;  else    kind = gfc_default_integer_kind;  name = gfc_get_string (PREFIX("getcwd_i%d_sub"), kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}/* Resolve the get_command intrinsic subroutine.  */voidgfc_resolve_get_command (gfc_code * c){  const char *name;  int kind;  kind = gfc_default_integer_kind;  name = gfc_get_string (PREFIX("get_command_i%d"), kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}/* Resolve the get_command_argument intrinsic subroutine.  */voidgfc_resolve_get_command_argument (gfc_code * c){  const char *name;  int kind;  kind = gfc_default_integer_kind;  name = gfc_get_string (PREFIX("get_command_argument_i%d"), kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}/* Resolve the get_environment_variable intrinsic subroutine.  */voidgfc_resolve_get_environment_variable (gfc_code * code){  const char *name;  int kind;  kind = gfc_default_integer_kind;  name = gfc_get_string (PREFIX("get_environment_variable_i%d"), kind);  code->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}voidgfc_resolve_signal_sub (gfc_code * c){  const char *name;  gfc_expr *number, *handler, *status;  gfc_typespec ts;  number = c->ext.actual->expr;  handler = c->ext.actual->next->expr;  status = c->ext.actual->next->next->expr;  ts.type = BT_INTEGER;  ts.kind = gfc_c_int_kind;  /* handler can be either BT_INTEGER or BT_PROCEDURE  */  if (handler->ts.type == BT_INTEGER)    {      if (handler->ts.kind != gfc_c_int_kind)	gfc_convert_type (handler, &ts, 2);      name = gfc_get_string (PREFIX("signal_sub_int"));    }  else    name = gfc_get_string (PREFIX("signal_sub"));  if (number->ts.kind != gfc_c_int_kind)    gfc_convert_type (number, &ts, 2);  if (status != NULL && status->ts.kind != gfc_c_int_kind)    gfc_convert_type (status, &ts, 2);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}/* Resolve the SYSTEM intrinsic subroutine.  */voidgfc_resolve_system_sub (gfc_code * c){  const char *name;  name = gfc_get_string (PREFIX("system_sub"));  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}/* Determine if the arguments to SYSTEM_CLOCK are INTEGER(4) or INTEGER(8) */voidgfc_resolve_system_clock (gfc_code * c){  const char *name;  int kind;  if (c->ext.actual->expr != NULL)    kind = c->ext.actual->expr->ts.kind;  else if (c->ext.actual->next->expr != NULL)      kind = c->ext.actual->next->expr->ts.kind;  else if (c->ext.actual->next->next->expr != NULL)      kind = c->ext.actual->next->next->expr->ts.kind;  else    kind = gfc_default_integer_kind;  name = gfc_get_string (PREFIX("system_clock_%d"), kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}/* Resolve the EXIT intrinsic subroutine.  */voidgfc_resolve_exit (gfc_code * c){  const char *name;  int kind;  if (c->ext.actual->expr != NULL)    kind = c->ext.actual->expr->ts.kind;  else    kind = gfc_default_integer_kind;  name = gfc_get_string (PREFIX("exit_i%d"), kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}/* Resolve the FLUSH intrinsic subroutine.  */voidgfc_resolve_flush (gfc_code * c){  const char *name;  gfc_typespec ts;  gfc_expr *n;  ts.type = BT_INTEGER;  ts.kind = gfc_default_integer_kind;  n = c->ext.actual->expr;  if (n != NULL      && n->ts.kind != ts.kind)    gfc_convert_type (n, &ts, 2);  name = gfc_get_string (PREFIX("flush_i%d"), ts.kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}voidgfc_resolve_free (gfc_code * c){  gfc_typespec ts;  gfc_expr *n;  ts.type = BT_INTEGER;  ts.kind = gfc_index_integer_kind;  n = c->ext.actual->expr;  if (n->ts.kind != ts.kind)    gfc_convert_type (n, &ts, 2);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (PREFIX("free"));}voidgfc_resolve_ctime_sub (gfc_code * c){  gfc_typespec ts;    /* ctime TIME argument is a INTEGER(KIND=8), says the doc */  if (c->ext.actual->expr->ts.kind != 8)    {      ts.type = BT_INTEGER;      ts.kind = 8;      ts.derived = NULL;      ts.cl = NULL;      gfc_convert_type (c->ext.actual->expr, &ts, 2);    }  c->resolved_sym = gfc_get_intrinsic_sub_symbol (PREFIX("ctime_sub"));}voidgfc_resolve_fdate_sub (gfc_code * c){  c->resolved_sym = gfc_get_intrinsic_sub_symbol (PREFIX ("fdate_sub"));}voidgfc_resolve_gerror (gfc_code * c){  c->resolved_sym = gfc_get_intrinsic_sub_symbol (PREFIX ("gerror"));}voidgfc_resolve_getlog (gfc_code * c){  c->resolved_sym = gfc_get_intrinsic_sub_symbol (PREFIX ("getlog"));}voidgfc_resolve_hostnm_sub (gfc_code * c){  const char *name;  int kind;  if (c->ext.actual->next->expr != NULL)    kind = c->ext.actual->next->expr->ts.kind;  else    kind = gfc_default_integer_kind;  name = gfc_get_string (PREFIX("hostnm_i%d_sub"), kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}voidgfc_resolve_perror (gfc_code * c){  c->resolved_sym = gfc_get_intrinsic_sub_symbol (PREFIX ("perror_sub"));}/* Resolve the STAT and FSTAT intrinsic subroutines.  */voidgfc_resolve_stat_sub (gfc_code * c){  const char *name;  name = gfc_get_string (PREFIX("stat_i%d_sub"), gfc_default_integer_kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}voidgfc_resolve_fstat_sub (gfc_code * c){  const char *name;  gfc_expr *u;  gfc_typespec *ts;  u = c->ext.actual->expr;  ts = &c->ext.actual->next->expr->ts;  if (u->ts.kind != ts->kind)    gfc_convert_type (u, ts, 2);  name = gfc_get_string (PREFIX("fstat_i%d_sub"), ts->kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}voidgfc_resolve_fgetc_sub (gfc_code * c){  const char *name;  gfc_typespec ts;  gfc_expr *u, *st;  u = c->ext.actual->expr;  st = c->ext.actual->next->next->expr;  if (u->ts.kind != gfc_c_int_kind)    {      ts.type = BT_INTEGER;      ts.kind = gfc_c_int_kind;      ts.derived = NULL;      ts.cl = NULL;      gfc_convert_type (u, &ts, 2);    }  if (st != NULL)    name = gfc_get_string (PREFIX("fgetc_i%d_sub"), st->ts.kind);  else    name = gfc_get_string (PREFIX("fgetc_i%d_sub"), gfc_default_integer_kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}voidgfc_resolve_fget_sub (gfc_code * c){  const char *name;  gfc_expr *st;  st = c->ext.actual->next->expr;  if (st != NULL)    name = gfc_get_string (PREFIX("fget_i%d_sub"), st->ts.kind);  else    name = gfc_get_string (PREFIX("fget_i%d_sub"), gfc_default_integer_kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}voidgfc_resolve_fputc_sub (gfc_code * c){  const char *name;  gfc_typespec ts;  gfc_expr *u, *st;  u = c->ext.actual->expr;  st = c->ext.actual->next->next->expr;  if (u->ts.kind != gfc_c_int_kind)    {      ts.type = BT_INTEGER;      ts.kind = gfc_c_int_kind;      ts.derived = NULL;      ts.cl = NULL;      gfc_convert_type (u, &ts, 2);    }  if (st != NULL)    name = gfc_get_string (PREFIX("fputc_i%d_sub"), st->ts.kind);  else    name = gfc_get_string (PREFIX("fputc_i%d_sub"), gfc_default_integer_kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}voidgfc_resolve_fput_sub (gfc_code * c){  const char *name;  gfc_expr *st;  st = c->ext.actual->next->expr;  if (st != NULL)    name = gfc_get_string (PREFIX("fput_i%d_sub"), st->ts.kind);  else    name = gfc_get_string (PREFIX("fput_i%d_sub"), gfc_default_integer_kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}voidgfc_resolve_ftell_sub (gfc_code * c){  const char *name;  gfc_expr *unit;  gfc_expr *offset;  gfc_typespec ts;  unit = c->ext.actual->expr;  offset = c->ext.actual->next->expr;  if (unit->ts.kind != gfc_c_int_kind)    {      ts.type = BT_INTEGER;      ts.kind = gfc_c_int_kind;      ts.derived = NULL;      ts.cl = NULL;      gfc_convert_type (unit, &ts, 2);    }  name = gfc_get_string (PREFIX("ftell_i%d_sub"), offset->ts.kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}voidgfc_resolve_ttynam_sub (gfc_code * c){  gfc_typespec ts;    if (c->ext.actual->expr->ts.kind != gfc_c_int_kind)    {      ts.type = BT_INTEGER;      ts.kind = gfc_c_int_kind;      ts.derived = NULL;      ts.cl = NULL;      gfc_convert_type (c->ext.actual->expr, &ts, 2);    }  c->resolved_sym = gfc_get_intrinsic_sub_symbol (PREFIX("ttynam_sub"));}/* Resolve the UMASK intrinsic subroutine.  */voidgfc_resolve_umask_sub (gfc_code * c){  const char *name;  int kind;  if (c->ext.actual->next->expr != NULL)    kind = c->ext.actual->next->expr->ts.kind;  else    kind = gfc_default_integer_kind;  name = gfc_get_string (PREFIX("umask_i%d_sub"), kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}/* Resolve the UNLINK intrinsic subroutine.  */voidgfc_resolve_unlink_sub (gfc_code * c){  const char *name;  int kind;  if (c->ext.actual->next->expr != NULL)    kind = c->ext.actual->next->expr->ts.kind;  else    kind = gfc_default_integer_kind;  name = gfc_get_string (PREFIX("unlink_i%d_sub"), kind);  c->resolved_sym = gfc_get_intrinsic_sub_symbol (name);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -