Beispiel #1
0
int cmd_ilist(string str) {
    object ob;
    string file, *files;
    int deep_list, i, s;

    notify_fail(SYNTAX);
    if(!str)
        return 0;
    
    seteuid(geteuid(previous_object()));

    if(sscanf(str, "-R %s", file))
        deep_list = 1;
    else if(sscanf(str, "-T %s", file))
        deep_list = 2;
    else 
        file = str;

    ob = ref_ob(file);

    if(!ob || !objectp(ob)) {
        notify_fail("Couldn't find object.\n");
        return 0;
        }

    write(wrap("Files inherited by " + dump_variable(ob)));
    if(!deep_list) files = inherit_list(ob);
    else if(deep_list == 1) files = deep_inherit_list(ob);
    else if(deep_list == 2) return show_tree(ob, 1);
    
    for(i = 0, s = sizeof(files); i < s; i ++)
        printf("     %d: %s\n", i + 1, files[i]);
    return 1;
    } // do_cmd
Beispiel #2
0
int cmd_learn (string str) {
 
	int i ;
	mixed *known ;
 
	known = (string *)this_player()->query("spells") ;
	if (!str) {
		if (!known) {
			write ("You don't know any spells.\n") ;
			return 1 ;
		}
		write ("You know the following spells:\n" +
			dump_variable(known)+"\n") ;
		return 1 ;
	}
	if (!known) known = ({ }) ;
void
dump_alias_info (FILE *file)
{
  size_t i;
  const char *funcname
    = lang_hooks.decl_printable_name (current_function_decl, 2);
  referenced_var_iterator rvi;
  tree var;

  fprintf (file, "\n\nAlias information for %s\n\n", funcname);

  fprintf (file, "Aliased symbols\n\n");

  FOR_EACH_REFERENCED_VAR (var, rvi)
    {
      if (may_be_aliased (var))
	dump_variable (file, var);
    }

  fprintf (file, "\nCall clobber information\n");

  fprintf (file, "\nESCAPED");
  dump_points_to_solution (file, &cfun->gimple_df->escaped);
  fprintf (file, "\nCALLUSED");
  dump_points_to_solution (file, &cfun->gimple_df->callused);

  fprintf (file, "\n\nFlow-insensitive points-to information\n\n");

  for (i = 1; i < num_ssa_names; i++)
    {
      tree ptr = ssa_name (i);
      struct ptr_info_def *pi;

      if (ptr == NULL_TREE
	  || SSA_NAME_IN_FREE_LIST (ptr))
	continue;

      pi = SSA_NAME_PTR_INFO (ptr);
      if (pi)
	dump_points_to_info_for (file, ptr);
    }

  fprintf (file, "\n");
}
Beispiel #4
0
static void dump_expr(g95_expr *e) {

    if (e == NULL) {
	dumpf("None");
	return;
    }

    switch(e->type) {
    case EXPR_NULL:
	dumpf("null(%L,%S,%d)", &e->where, g95_typename(&e->ts), e->rank);
	break;

    case EXPR_OP:
	dump_intrinsic(e);
	break;

    case EXPR_CONSTANT:
	dump_constant(e);
	break;

    case EXPR_VARIABLE:
	dump_variable(e);
	break;

    case EXPR_FUNCTION:
	if (e->value.function.isym != NULL &&
	    e->value.function.isym->id == G95_ISYM_CONVERSION)
	    dump_expr(e->value.function.actual->u.expr);

	else {
	    dumpf("fcall(%L,", &e->where);
	    dump_name(e->symbol, e->value.function.isym);
	    dumpf(",%S,%d,", g95_typename(&e->ts), e->rank);
	    dump_actual(e->value.function.actual);
	    dump_char(')');
	}

	break;

    case EXPR_PROCEDURE:
	dumpf("procedure(%L,", &e->where);
	dump_name(e->symbol, NULL);
	dump_char(')');
	break;

    case EXPR_STRUCTURE:
	dump_cons("scons", e);
	break;

    case EXPR_ARRAY:
	dump_cons("acons", e);
	break;

    case EXPR_SUBSTRING:
	dumpf("substring_exp(%L,", &e->where);
	dump_constant(e);
	dump_char(',');
	dump_expr(e->ref->u.ss.start);
	dump_char(',');
	dump_expr(e->ref->u.ss.end);
	dump_char(')');
	break;

    default:
	g95_internal_error("dump_expr(): Bad expression");
    }
}