* hppa-hpux-tdep.c (args_for_find_stub, HP_ACC_EH_notify_hook,
HP_ACC_EH_set_hook_value, HP_ACC_EH_notify_callback, HP_ACC_EH_break, HP_ACC_EH_catch_throw, HP_ACC_EH_catch_catch, __eh_notification, hp_cxx_exception_support, hp_cxx_exception_support_initialized, eh_notify_hook_addr, eh_notify_callback_addr, eh_break_addr, eh_catch_throw_addr, break_callback_sal, setup_d_pid_in_inferior, find_stub_with_shl_get, cover_find_stub_with_shl_get, initialize_hp_cxx_exception_support, child_enable_exception_callback, current_ex_event, child_get_current_exception_event): Remove. (hppa_hpux_inferior_created): Remove. (hppa_hpux_init_abi): Do not install hppa_hpux_inferior_created. * breakpoint.h (deprecated_exception_catchpoints_are_fragile): Remove. (deprecated_exception_support_initialized): Remove. * breakpoint.c (deprecated_exception_catchpoints_are_fragile): Remove. (deprecated_exception_support_initialized): Remove. (breakpoint_init_inferior): Remove handling of non-zero deprecated_exception_catchpoints_are_fragile. * symtab.h (deprecated_hp_som_som_object_present): Remove. * symtab.c (deprecated_hp_som_som_object_present): Remove. * c-typeprint.c (c_type_print_base): Remove handling of non-zero deprecated_hp_som_som_object_present. * eval.c (evaluate_subexp_standard): Likewise. * valops.c (value_cast): Likewise. * parse.c (parse_nested_classes_for_hpacc, coloncolon): Remove. * parser-defs.h (parse_nested_classes_for_hpacc): Remove. * c-exp.y (yylex): Do not call parse_nested_classes_for_hpacc.
This commit is contained in:
parent
5e787d22c9
commit
d3e9c991c8
12 changed files with 32 additions and 909 deletions
49
gdb/eval.c
49
gdb/eval.c
|
@ -1022,14 +1022,6 @@ evaluate_subexp_standard (struct type *expect_type,
|
|||
argvec = (struct value **) alloca (sizeof (struct value *) * (nargs + 3));
|
||||
if (op == STRUCTOP_MEMBER || op == STRUCTOP_MPTR)
|
||||
{
|
||||
/* 1997-08-01 Currently we do not support function invocation
|
||||
via pointers-to-methods with HP aCC. Pointer does not point
|
||||
to the function, but possibly to some thunk. */
|
||||
if (deprecated_hp_som_som_object_present)
|
||||
{
|
||||
error (_("Not implemented: function invocation through pointer to method with HP aCC"));
|
||||
}
|
||||
|
||||
nargs++;
|
||||
/* First, evaluate the structure into arg2 */
|
||||
pc2 = (*pos)++;
|
||||
|
@ -1415,14 +1407,6 @@ evaluate_subexp_standard (struct type *expect_type,
|
|||
switch (TYPE_CODE (type))
|
||||
{
|
||||
case TYPE_CODE_METHODPTR:
|
||||
if (deprecated_hp_som_som_object_present)
|
||||
{
|
||||
/* With HP aCC, pointers to methods do not point to the
|
||||
function code. */
|
||||
/* 1997-08-19 */
|
||||
error (_("Pointers to methods not supported with HP aCC"));
|
||||
}
|
||||
|
||||
if (noside == EVAL_AVOID_SIDE_EFFECTS)
|
||||
return value_zero (TYPE_TARGET_TYPE (type), not_lval);
|
||||
else
|
||||
|
@ -1438,14 +1422,6 @@ evaluate_subexp_standard (struct type *expect_type,
|
|||
arg1);
|
||||
|
||||
mem_offset = value_as_long (arg2);
|
||||
if (deprecated_hp_som_som_object_present)
|
||||
{
|
||||
/* HP aCC generates offsets that have bit #29 set; turn it off to get
|
||||
a real offset to the member. */
|
||||
if (!mem_offset) /* no bias -> really null */
|
||||
error (_("Attempted dereference of null pointer-to-member"));
|
||||
mem_offset &= ~0x20000000;
|
||||
}
|
||||
|
||||
arg3 = value_from_pointer (lookup_pointer_type (TYPE_TARGET_TYPE (type)),
|
||||
value_as_long (arg1) + mem_offset);
|
||||
|
@ -1469,24 +1445,6 @@ evaluate_subexp_standard (struct type *expect_type,
|
|||
arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside);
|
||||
arg2 = evaluate_subexp (value_type (arg1), exp, pos, noside);
|
||||
|
||||
/* Do special stuff for HP aCC pointers to members */
|
||||
if (deprecated_hp_som_som_object_present)
|
||||
{
|
||||
/* 1997-08-19 Can't assign HP aCC pointers to methods. No details of
|
||||
the implementation yet; but the pointer appears to point to a code
|
||||
sequence (thunk) in memory -- in any case it is *not* the address
|
||||
of the function as it would be in a naive implementation. */
|
||||
if (TYPE_CODE (value_type (arg1)) == TYPE_CODE_METHODPTR)
|
||||
error (_("Assignment to pointers to methods not implemented with HP aCC"));
|
||||
|
||||
/* HP aCC pointers to data members require a constant bias. */
|
||||
if (TYPE_CODE (value_type (arg1)) == TYPE_CODE_MEMBERPTR)
|
||||
{
|
||||
unsigned int *ptr = (unsigned int *) value_contents (arg2); /* forces evaluation */
|
||||
*ptr |= 0x20000000; /* set 29th bit */
|
||||
}
|
||||
}
|
||||
|
||||
if (noside == EVAL_SKIP || noside == EVAL_AVOID_SIDE_EFFECTS)
|
||||
return arg1;
|
||||
if (binop_user_defined_p (op, arg1, arg2))
|
||||
|
@ -1978,13 +1936,6 @@ evaluate_subexp_standard (struct type *expect_type,
|
|||
else
|
||||
{
|
||||
struct value *retvalp = evaluate_subexp_for_address (exp, pos, noside);
|
||||
/* If HP aCC object, use bias for pointers to members */
|
||||
if (deprecated_hp_som_som_object_present
|
||||
&& TYPE_CODE (value_type (retvalp)) == TYPE_CODE_MEMBERPTR)
|
||||
{
|
||||
unsigned int *ptr = (unsigned int *) value_contents (retvalp); /* forces evaluation */
|
||||
*ptr |= 0x20000000; /* set 29th bit */
|
||||
}
|
||||
return retvalp;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue