diff options
author | Nathan Sidwell <nathan@codesourcery.com> | 2003-06-28 16:23:29 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2003-06-28 16:23:29 +0000 |
commit | 9a472a42247d099c512b6d992890f88643612c8c (patch) | |
tree | 38b43c524490adad24cd4d5c9105cbbdd3fca991 /gcc/rtl-error.c | |
parent | debdeb5d7073803b2acc0f92a0c8b09d1cfde5e5 (diff) | |
download | gcc-9a472a42247d099c512b6d992890f88643612c8c.zip gcc-9a472a42247d099c512b6d992890f88643612c8c.tar.gz gcc-9a472a42247d099c512b6d992890f88643612c8c.tar.bz2 |
diagnostic.h (diagnostic_set_info): Replace file and lineno parameters with a location_t.
* 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.
From-SVN: r68643
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 5be5cd5..028cedd 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); } |