diff options
Diffstat (limited to 'debian/patches/0005-fix-off-by-one-error-generatred-line-numbers-are-off.patch')
-rw-r--r-- | debian/patches/0005-fix-off-by-one-error-generatred-line-numbers-are-off.patch | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/debian/patches/0005-fix-off-by-one-error-generatred-line-numbers-are-off.patch b/debian/patches/0005-fix-off-by-one-error-generatred-line-numbers-are-off.patch new file mode 100644 index 0000000..280d392 --- /dev/null +++ b/debian/patches/0005-fix-off-by-one-error-generatred-line-numbers-are-off.patch @@ -0,0 +1,53 @@ +From 0784556690a1f33ea44a03d20312ef439ae5cc32 Mon Sep 17 00:00:00 2001 +From: Manoj Srivastava <srivasta@golden-gryphon.com> +Date: Tue, 6 May 2014 23:50:05 -0700 +Subject: [PATCH 5/5] [fix-off-by-one-error]: generatred line numbers are off + by one + +The code that is generated by flex has an off-by-one error in the +generated #line pragmas that occur after the second %% line in the +source file (that is, the one that is used after the token patterns). As +a result, gdb will think we're, e.g., on line 46 when in reality we're +on line 45. + +Marcus Rausch supplied the patch in this commit + +Signed-off-by: Manoj Srivastava <srivasta@golden-gryphon.com> +--- + gen.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/gen.c b/gen.c +index 8261951..1594dcf 100644 +--- a/gen.c ++++ b/gen.c +@@ -1084,7 +1084,7 @@ void gentabs () + out_str_dec (long_align ? get_int32_decl () : + get_int16_decl (), "yy_acclist", MAX (numas, + 1) + 1); +- ++ + buf_prints (&yydmap_buf, + "\t{YYTD_ID_ACCLIST, (void**)&yy_acclist, sizeof(%s)},\n", + long_align ? "flex_int32_t" : "flex_int16_t"); +@@ -1092,7 +1092,7 @@ void gentabs () + yyacclist_tbl = (struct yytbl_data*)calloc(1,sizeof(struct yytbl_data)); + yytbl_data_init (yyacclist_tbl, YYTD_ID_ACCLIST); + yyacclist_tbl->td_lolen = MAX(numas,1) + 1; +- yyacclist_tbl->td_data = yyacclist_data = ++ yyacclist_tbl->td_data = yyacclist_data = + (flex_int32_t *) calloc (yyacclist_tbl->td_lolen, sizeof (flex_int32_t)); + yyacclist_curr = 1; + +@@ -2158,7 +2158,7 @@ void make_tables () + skelout (); + + /* Copy remainder of input to output. */ +- ++ linenum--; + line_directive_out (stdout, 1); + + if (sectnum == 3) { +-- +2.0.0.rc0 + |