/* common */
#include "chartype.h"
#include "check.h"
+#include "debugflag.h"
#include "global.h"
#include "hashstr.h"
#include "strutil.h"
/* Line info has changed, remember the new line info */
LI = E->LI;
- /* Add the source line as a comment */
+ /* Add the source line as a comment. Beware: When line continuation
+ * was used, the line may contain newlines.
+ */
if (AddSource) {
- fprintf (F, ";\n; %s\n;\n", LI->Line);
+ const char* L = LI->Line;
+ fputs (";\n; ", F);
+ while (*L) {
+ if (*L == '\n') {
+ fputs ("\n; ", F);
+ } else {
+ fputc (*L, F);
+ }
+ ++L;
+ }
+ fputs ("\n;\n", F);
}
/* Add line debug info */
break;
}
if (J->RI->Out2.RegA != Regs.RegA) {
- Regs.RegA = -1;
+ Regs.RegA = UNKNOWN_REGVAL;
}
if (J->RI->Out2.RegX != Regs.RegX) {
- Regs.RegX = -1;
+ Regs.RegX = UNKNOWN_REGVAL;
}
if (J->RI->Out2.RegY != Regs.RegY) {
- Regs.RegY = -1;
+ Regs.RegY = UNKNOWN_REGVAL;
}
if (J->RI->Out2.SRegLo != Regs.SRegLo) {
- Regs.SRegLo = -1;
+ Regs.SRegLo = UNKNOWN_REGVAL;
}
if (J->RI->Out2.SRegHi != Regs.SRegHi) {
- Regs.SRegHi = -1;
+ Regs.SRegHi = UNKNOWN_REGVAL;
+ }
+ if (J->RI->Out2.Tmp1 != Regs.Tmp1) {
+ Regs.Tmp1 = UNKNOWN_REGVAL;
}
++Entry;
}