This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH]: Location_tize error.c
- From: Nathan Sidwell <nathan at codesourcery dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Sat, 28 Jun 2003 20:02:36 +0100
- Subject: [PATCH]: Location_tize error.c
- Organization: Codesourcery LLC
Hi,
I've installed this obvious patch to complete cp/error.c's use of location_t
booted & tested on i686-pc-linux-gnu.
nathan
--
Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery LLC
The voices in my head said this was stupid too
nathan@codesourcery.com :: http://www.planetfall.pwp.blueyonder.co.uk
2003-06-28 Nathan Sidwell <nathan@codesourcery.com>
* error.c (print_instantiation_partial_context): Take a
location_t.
(print_instantiation_full_context): Adjust.
(print_instantiation_context): Adjust.
Index: cp/error.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/error.c,v
retrieving revision 1.209
diff -c -3 -p -r1.209 error.c
*** cp/error.c 28 Jun 2003 16:23:25 -0000 1.209
--- cp/error.c 28 Jun 2003 16:47:26 -0000
*************** static const char *function_category (tr
*** 104,110 ****
static void maybe_print_instantiation_context (diagnostic_context *);
static void print_instantiation_full_context (diagnostic_context *);
static void print_instantiation_partial_context (diagnostic_context *,
! tree, const char *, int);
static void cp_diagnostic_starter (diagnostic_context *, diagnostic_info *);
static void cp_diagnostic_finalizer (diagnostic_context *, diagnostic_info *);
static void cp_print_error_function (diagnostic_context *, diagnostic_info *);
--- 104,110 ----
static void maybe_print_instantiation_context (diagnostic_context *);
static void print_instantiation_full_context (diagnostic_context *);
static void print_instantiation_partial_context (diagnostic_context *,
! tree, location_t);
static void cp_diagnostic_starter (diagnostic_context *, diagnostic_info *);
static void cp_diagnostic_finalizer (diagnostic_context *, diagnostic_info *);
static void cp_print_error_function (diagnostic_context *, diagnostic_info *);
*************** print_instantiation_full_context (diagno
*** 2403,2426 ****
}
}
! print_instantiation_partial_context (context, p,
! location.file, location.line);
}
/* Same as above but less verbose. */
static void
print_instantiation_partial_context (diagnostic_context *context,
! tree t, const char *file, int line)
{
for (; t; t = TREE_CHAIN (t))
{
output_verbatim
! (&context->buffer, "%s:%d: instantiated from `%s'\n", file, line,
! decl_as_string (TINST_DECL (t), TFF_DECL_SPECIFIERS | TFF_RETURN_TYPE));
! line = TINST_LINE (t);
! file = TINST_FILE (t);
}
! output_verbatim (&context->buffer, "%s:%d: instantiated from here\n", file, line);
}
/* Called from cp_thing to print the template context for an error. */
--- 2403,2428 ----
}
}
! print_instantiation_partial_context (context, p, location);
}
/* Same as above but less verbose. */
static void
print_instantiation_partial_context (diagnostic_context *context,
! tree t, location_t loc)
{
for (; t; t = TREE_CHAIN (t))
{
output_verbatim
! (&context->buffer, "%s:%d: instantiated from `%s'\n",
! loc.file, loc.line,
! decl_as_string (TINST_DECL (t),
! TFF_DECL_SPECIFIERS | TFF_RETURN_TYPE));
! loc.line = TINST_LINE (t);
! loc.file = TINST_FILE (t);
}
! output_verbatim (&context->buffer, "%s:%d: instantiated from here\n",
! loc.file, loc.line);
}
/* Called from cp_thing to print the template context for an error. */
*************** void
*** 2439,2445 ****
print_instantiation_context (void)
{
print_instantiation_partial_context
! (global_dc, current_instantiation (), input_filename, input_line);
diagnostic_flush_buffer (global_dc);
}
--- 2441,2447 ----
print_instantiation_context (void)
{
print_instantiation_partial_context
! (global_dc, current_instantiation (), input_location);
diagnostic_flush_buffer (global_dc);
}