/* Parser for linespec for the GNU debugger, GDB.
- Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995,
- 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+
+ Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
+ 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This file is part of GDB.
#include "block.h"
#include "objc-lang.h"
#include "linespec.h"
+#include "exceptions.h"
/* We share this one with symtab.c, but it is not exported widely. */
if (!have_full_symbols () && !have_partial_symbols ())
error ("No symbol table is loaded. Use the \"file\" command.");
if (not_found_ptr)
- {
- *not_found_ptr = 1;
- /* The caller has indicated that it wishes quiet notification of any
- error where the function or file is not found. A call to
- error_silent causes an error to occur, but it does not issue
- the supplied message. The message can be manually output by
- the caller, if desired. This is used, for example, when
- attempting to set breakpoints for functions in shared libraries
- that have not yet been loaded. */
- error_silent ("No source file named %s.", copy);
- }
- error ("No source file named %s.", copy);
+ *not_found_ptr = 1;
+ throw_error (NOT_FOUND_ERROR, "No source file named %s.", copy);
}
/* Discard the file name from the arg. */
/* We have a value history reference. */
sscanf ((copy[1] == '$') ? copy + 2 : copy + 1, "%d", &index);
valx = access_value_history ((copy[1] == '$') ? -index : index);
- if (TYPE_CODE (VALUE_TYPE (valx)) != TYPE_CODE_INT)
+ if (TYPE_CODE (value_type (valx)) != TYPE_CODE_INT)
error ("History values used in line specs must have integer values.");
}
else
/* Not a user variable or function -- must be convenience variable. */
need_canonical = (file_symtab == 0) ? 1 : 0;
valx = value_of_internalvar (lookup_internalvar (copy + 1));
- if (TYPE_CODE (VALUE_TYPE (valx)) != TYPE_CODE_INT)
+ if (TYPE_CODE (value_type (valx)) != TYPE_CODE_INT)
error ("Convenience variables used in line specs must have integer values.");
}
error ("No symbol table is loaded. Use the \"file\" command.");
if (not_found_ptr)
- {
- *not_found_ptr = 1;
- /* The caller has indicated that it wishes quiet notification of any
- error where the function or file is not found. A call to
- error_silent causes an error to occur, but it does not issue
- the supplied message. The message can be manually output by
- the caller, if desired. This is used, for example, when
- attempting to set breakpoints for functions in shared libraries
- that have not yet been loaded. */
- error_silent ("Function \"%s\" not defined.", copy);
- }
-
- error ("Function \"%s\" not defined.", copy);
+ *not_found_ptr = 1;
+ throw_error (NOT_FOUND_ERROR, "Function \"%s\" not defined.", copy);
}
values.sals[0].section = SYMBOL_BFD_SECTION (msymbol);
if (funfirstline)
{
- values.sals[0].pc += FUNCTION_START_OFFSET;
+ values.sals[0].pc += DEPRECATED_FUNCTION_START_OFFSET;
values.sals[0].pc = SKIP_PROLOGUE (values.sals[0].pc);
}
values.nelts = 1;