#include "system.h"
#include "quotearg.h"
-#include "quote.h"
#include "getargs.h"
#include "files.h"
#include "symtab.h"
struct obstack *oout =
!typed ? &pre_prologue_obstack : &post_prologue_obstack;
- if (!no_lines_flag)
- {
- obstack_fgrow2 (oout, muscle_find ("linef"),
- location.first_line,
- quotearg_style (c_quoting_style,
- muscle_find ("filename")));
- }
+ obstack_fgrow1 (oout, "]b4_syncline([[%d]], [[",
+ location.first_line);
+ MUSCLE_OBSTACK_SGROW (oout, quotearg_style (c_quoting_style, location.file));
+ obstack_sgrow (oout, "]])[\n");
obstack_sgrow (oout, prologue);
}
void
epilogue_set (const char *epilogue, location_t location)
{
- if (!no_lines_flag)
- {
- obstack_fgrow2 (&muscle_obstack, muscle_find ("linef"),
- location.first_line,
- quotearg_style (c_quoting_style,
- muscle_find ("filename")));
- }
+ obstack_fgrow1 (&muscle_obstack, "]b4_syncline([[%d]], [[",
+ location.first_line);
+ MUSCLE_OBSTACK_SGROW (&muscle_obstack,
+ quotearg_style (c_quoting_style, location.file));
+ obstack_sgrow (&muscle_obstack, "]])[\n");
obstack_sgrow (&muscle_obstack, epilogue);
obstack_1grow (&muscle_obstack, 0);
muscle_insert ("epilogue", obstack_finish (&muscle_obstack));
merge_functions = head.next;
}
else if (strcmp (type, syms->next->type) != 0)
- warn_at (loc, _("result type clash on merge function %s: `%s' vs. `%s'"),
+ warn_at (loc, _("result type clash on merge function %s: <%s> != <%s>"),
name, type, syms->next->type);
return n;
}
const char *rhs_type = first_rhs->type_name ? first_rhs->type_name : "";
if (strcmp (lhs_type, rhs_type))
complain_at (current_rule->location,
- _("type clash (`%s' `%s') on default action"),
+ _("type clash on default action: <%s> != <%s>"),
lhs_type, rhs_type);
}
/* Warn if there is no default for $$ but we need one. */
/* If something went wrong during the parsing, don't try to
continue. */
if (complaint_issued)
- exit (EXIT_FAILURE);
+ return;
/* Grammar has been read. Do some checking */
if (nrules == 0)