diff options
author | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-28 16:23:29 +0000 |
---|---|---|
committer | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-28 16:23:29 +0000 |
commit | 648a8029e0bf9b4736bb6afd359bddf798fd3778 (patch) | |
tree | 38b43c524490adad24cd4d5c9105cbbdd3fca991 /gcc/rtl-error.c | |
parent | c449ee3da770a4f00beb847f28833614a3c31e2c (diff) | |
download | gcc-648a8029e0bf9b4736bb6afd359bddf798fd3778.tar.gz |
* diagnostic.h (diagnostic_set_info): Replace file and lineno
parameters with a location_t.
* diagnostic.c (diagnostic_set_info): Replace file and lineno
parameters with a location_t.
(inform, warning, pedwarn, error, sorry, fatal_error,
internal_error, warning_with_decl, pedwarn_with_decl,
error_with_decl): Adjust.
* c-error.c (pedwarn_c99): Adjust.
* c-format.c (status_warning): Adjust.
* rtl-error.c (file_and_line_for_asm): Rename to ...
(location_for_asm): Return a location_t.
(diagnostic_for_asm): Adjust.
* cp/cp-tree.h (cp_line_of, cp_file_of): Remove.
* cp/error.c (cp_line_of, cp_file_of): Merge into ...
(location_of): ... here. Make static, return a location_t.
(cp_error_at, cp_warning_at, cp_pedwarn_at): Adjust.
* testsuite/g++.old-deja/g++.robertl/eb133.C: Set expected line
number.
* testsuite/g++.old-deja/g++.robertl/eb133a.C: Likewise.
* testsuite/g++.old-deja/g++.robertl/eb133b.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68643 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/rtl-error.c')
-rw-r--r-- | gcc/rtl-error.c | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/gcc/rtl-error.c b/gcc/rtl-error.c index 5be5cd55849..028cedd2ca1 100644 --- a/gcc/rtl-error.c +++ b/gcc/rtl-error.c @@ -33,20 +33,19 @@ Boston, MA 02111-1307, USA. */ #include "intl.h" #include "diagnostic.h" -static void file_and_line_for_asm PARAMS ((rtx, const char **, int *)); +static location_t location_for_asm PARAMS ((rtx)); static void diagnostic_for_asm PARAMS ((rtx, const char *, va_list *, diagnostic_t)); -/* Figure file and line of the given INSN. */ -static void -file_and_line_for_asm (insn, pfile, pline) +/* Figure the location of the given INSN. */ +static location_t +location_for_asm (insn) rtx insn; - const char **pfile; - int *pline; { rtx body = PATTERN (insn); rtx asmop; - + location_t loc; + /* Find the (or one of the) ASM_OPERANDS in the insn. */ if (GET_CODE (body) == SET && GET_CODE (SET_SRC (body)) == ASM_OPERANDS) asmop = SET_SRC (body); @@ -63,14 +62,12 @@ file_and_line_for_asm (insn, pfile, pline) if (asmop) { - *pfile = ASM_OPERANDS_SOURCE_FILE (asmop); - *pline = ASM_OPERANDS_SOURCE_LINE (asmop); + loc.file = ASM_OPERANDS_SOURCE_FILE (asmop); + loc.line = ASM_OPERANDS_SOURCE_LINE (asmop); } else - { - *pfile = input_filename; - *pline = input_line; - } + loc = input_location; + return loc; } /* Report a diagnostic MESSAGE (an errror or a WARNING) at the line number @@ -84,10 +81,9 @@ diagnostic_for_asm (insn, msg, args_ptr, kind) diagnostic_t kind; { diagnostic_info diagnostic; - - diagnostic_set_info (&diagnostic, msg, args_ptr, NULL, 0, kind); - file_and_line_for_asm (insn, &diagnostic.location.file, - &diagnostic.location.line); + + diagnostic_set_info (&diagnostic, msg, args_ptr, + location_for_asm (insn), kind); report_diagnostic (&diagnostic); } |