projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix formattting of gdb/ChangeLog and gdb/testsuite/ChangeLog enties
[deliverable/binutils-gdb.git]
/
gdb
/
cp-abi.c
diff --git
a/gdb/cp-abi.c
b/gdb/cp-abi.c
index eede3e52b492724e24a5a105cb4f492548bbaae0..90f0d083dada67b0c85782ac9e60f6619cc29c63 100644
(file)
--- a/
gdb/cp-abi.c
+++ b/
gdb/cp-abi.c
@@
-1,6
+1,6
@@
/* Generic code for supporting multiple C++ ABI's
/* Generic code for supporting multiple C++ ABI's
- Copyright (C) 2001-201
4
Free Software Foundation, Inc.
+ Copyright (C) 2001-201
6
Free Software Foundation, Inc.
This file is part of GDB.
This file is part of GDB.
@@
-21,7
+21,6
@@
#include "value.h"
#include "cp-abi.h"
#include "command.h"
#include "value.h"
#include "cp-abi.h"
#include "command.h"
-#include "exceptions.h"
#include "gdbcmd.h"
#include "ui-out.h"
static struct cp_abi_ops *find_cp_abi (const char *short_name);
#include "gdbcmd.h"
#include "ui-out.h"
static struct cp_abi_ops *find_cp_abi (const char *short_name);
@@
-67,29
+66,31
@@
is_operator_name (const char *name)
int
baseclass_offset (struct type *type, int index, const gdb_byte *valaddr,
int
baseclass_offset (struct type *type, int index, const gdb_byte *valaddr,
-
int
embedded_offset, CORE_ADDR address,
+
LONGEST
embedded_offset, CORE_ADDR address,
const struct value *val)
{
const struct value *val)
{
- volatile struct gdb_exception ex;
int res = 0;
gdb_assert (current_cp_abi.baseclass_offset != NULL);
int res = 0;
gdb_assert (current_cp_abi.baseclass_offset != NULL);
- TRY
_CATCH (ex, RETURN_MASK_ERROR)
+ TRY
{
res = (*current_cp_abi.baseclass_offset) (type, index, valaddr,
embedded_offset,
address, val);
}
{
res = (*current_cp_abi.baseclass_offset) (type, index, valaddr,
embedded_offset,
address, val);
}
+ CATCH (ex, RETURN_MASK_ERROR)
+ {
+ if (ex.error != NOT_AVAILABLE_ERROR)
+ throw_exception (ex);
+
+ throw_error (NOT_AVAILABLE_ERROR,
+ _("Cannot determine virtual baseclass offset "
+ "of incomplete object"));
+ }
+ END_CATCH
- if (ex.reason < 0 && ex.error == NOT_AVAILABLE_ERROR)
- throw_error (NOT_AVAILABLE_ERROR,
- _("Cannot determine virtual baseclass offset "
- "of incomplete object"));
- else if (ex.reason < 0)
- throw_exception (ex);
- else
- return res;
+ return res;
}
struct value *
}
struct value *
@@
-105,19
+106,22
@@
value_virtual_fn_field (struct value **arg1p,
struct type *
value_rtti_type (struct value *v, int *full,
struct type *
value_rtti_type (struct value *v, int *full,
-
int
*top, int *using_enc)
+
LONGEST
*top, int *using_enc)
{
struct type *ret = NULL;
{
struct type *ret = NULL;
- volatile struct gdb_exception e;
if ((current_cp_abi.rtti_type) == NULL)
return NULL;
if ((current_cp_abi.rtti_type) == NULL)
return NULL;
- TRY
_CATCH (e, RETURN_MASK_ERROR)
+ TRY
{
ret = (*current_cp_abi.rtti_type) (v, full, top, using_enc);
}
{
ret = (*current_cp_abi.rtti_type) (v, full, top, using_enc);
}
- if (e.reason < 0)
- return NULL;
+ CATCH (e, RETURN_MASK_ERROR)
+ {
+ return NULL;
+ }
+ END_CATCH
+
return ret;
}
return ret;
}
@@
-208,7
+212,7
@@
cplus_type_from_type_info (struct value *value)
/* See cp-abi.h. */
/* See cp-abi.h. */
-char *
+std::string
cplus_typename_from_type_info (struct value *value)
{
if (current_cp_abi.get_typename_from_type_info == NULL)
cplus_typename_from_type_info (struct value *value)
{
if (current_cp_abi.get_typename_from_type_info == NULL)
This page took
0.02535 seconds
and
4
git commands to generate.