Short: Branchpatching messes up line number information From: Fiona Date: 2001-04-10 Type: Acknowledged The following program void bug() { string sub; sub = " "; for (;;) { sub[0] = 0; // Blah, das ist ein toller // Kommentar! printf("hallo"); switch (1) { case 't': sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; sub=0; } } } raises a runtime error in 'line 8', though in fact the error happens in line 5. Reason is that the loop body is larger than 256 bytes, requiring the branch of the for() to be patched into the longer lbranch. However, the linenumber/code offset information is not adequately corrected as well.