/* Chill language support routines for GDB, the GNU debugger.
- Copyright 1992, 1993, 1994, 1995, 1996, 2000
+ Copyright 1992, 1993, 1994, 1995, 1996, 2000, 2001, 2002
Free Software Foundation, Inc.
This file is part of GDB.
extern void _initialize_chill_language (void);
-static value_ptr
-evaluate_subexp_chill (struct type *, struct expression *, int *,
- enum noside);
+static struct value *evaluate_subexp_chill (struct type *, struct expression *,
+ int *, enum noside);
-static value_ptr value_chill_max_min (enum exp_opcode, value_ptr);
+static struct value *value_chill_max_min (enum exp_opcode, struct value *);
-static value_ptr value_chill_card (value_ptr);
+static struct value *value_chill_card (struct value *);
-static value_ptr value_chill_length (value_ptr);
+static struct value *value_chill_length (struct value *);
static struct type *chill_create_fundamental_type (struct objfile *, int);
struct type *builtin_type_chill_ulong;
struct type *builtin_type_chill_real;
-struct type **CONST_PTR (chill_builtin_types[]) =
+struct type **const (chill_builtin_types[]) =
{
&builtin_type_chill_bool,
&builtin_type_chill_char,
error ("unknown mode for LOWER/UPPER builtin");
}
-static value_ptr
-value_chill_length (value_ptr val)
+static struct value *
+value_chill_length (struct value *val)
{
LONGEST tmp;
struct type *type = VALUE_TYPE (val);
return value_from_longest (builtin_type_int, tmp);
}
-static value_ptr
-value_chill_card (value_ptr val)
+static struct value *
+value_chill_card (struct value *val)
{
LONGEST tmp = 0;
struct type *type = VALUE_TYPE (val);
return value_from_longest (builtin_type_int, tmp);
}
-static value_ptr
-value_chill_max_min (enum exp_opcode op, value_ptr val)
+static struct value *
+value_chill_max_min (enum exp_opcode op, struct value *val)
{
LONGEST tmp = 0;
struct type *type = VALUE_TYPE (val);
tmp);
}
-static value_ptr
+static struct value *
evaluate_subexp_chill (struct type *expect_type,
register struct expression *exp, register int *pos,
enum noside noside)
int pc = *pos;
struct type *type;
int tem, nargs;
- value_ptr arg1;
- value_ptr *argvec;
+ struct value *arg1;
+ struct value **argvec;
enum exp_opcode op = exp->elts[*pos].opcode;
switch (op)
{
if (nargs == 1 && TYPE_CODE (type) == TYPE_CODE_INT)
{
/* Looks like string repetition. */
- value_ptr string = evaluate_subexp_with_coercion (exp, pos, noside);
+ struct value *string = evaluate_subexp_with_coercion (exp, pos,
+ noside);
return value_concat (arg1, string);
}
/* Allocate arg vector, including space for the function to be
called in argvec[0] and a terminating NULL */
- argvec = (value_ptr *) alloca (sizeof (value_ptr) * (nargs + 2));
+ argvec = (struct value **) alloca (sizeof (struct value *)
+ * (nargs + 2));
argvec[0] = arg1;
tem = 1;
for (; tem <= nargs && tem <= TYPE_NFIELDS (type); tem++)
while (nargs-- > 0)
{
- value_ptr index = evaluate_subexp_with_coercion (exp, pos, noside);
+ struct value *index = evaluate_subexp_with_coercion (exp, pos,
+ noside);
arg1 = value_subscript (arg1, index);
}
return (arg1);