summaryrefslogtreecommitdiffstats
path: root/abs/extra/mcpp/fs28284.patch
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra/mcpp/fs28284.patch')
-rw-r--r--abs/extra/mcpp/fs28284.patch100
1 files changed, 100 insertions, 0 deletions
diff --git a/abs/extra/mcpp/fs28284.patch b/abs/extra/mcpp/fs28284.patch
new file mode 100644
index 0000000..960203c
--- /dev/null
+++ b/abs/extra/mcpp/fs28284.patch
@@ -0,0 +1,100 @@
+diff -c -r -N ../mcpp-2.7.2/src/internal.H ./src/internal.H
+*** ../mcpp-2.7.2/src/internal.H 2008-08-27 10:31:16.000000000 -0230
+--- ./src/internal.H 2009-12-17 21:01:35.000000000 -0330
+***************
+*** 390,395 ****
+--- 390,397 ----
+ extern char identifier[]; /* Lastly scanned name */
+ extern IFINFO ifstack[]; /* Information of #if nesting */
+ extern char work_buf[];
++ extern FILEINFO * sh_file;
++ extern int sh_line;
+ /* Temporary buffer for directive line and macro expansion */
+
+ /* main.c */
+***************
+*** 557,562 ****
+ #endif
+ #endif
+
+! #if HOST_HAVE_STPCPY
+ extern char * stpcpy( char * dest, const char * src);
+ #endif
+--- 559,564 ----
+ #endif
+ #endif
+
+! #if HOST_HAVE_STPCPY && !defined(stpcpy)
+ extern char * stpcpy( char * dest, const char * src);
+ #endif
+diff -c -r -N ../mcpp-2.7.2/src/main.c ./src/main.c
+*** ../mcpp-2.7.2/src/main.c 2008-11-05 05:04:46.000000000 -0330
+--- ./src/main.c 2009-12-17 20:42:42.000000000 -0330
+***************
+*** 326,331 ****
+--- 326,333 ----
+ = FALSE;
+ option_flags.trig = TRIGRAPHS_INIT;
+ option_flags.dig = DIGRAPHS_INIT;
++ sh_file = NULL;
++ sh_line = 0;
+ }
+
+ int mcpp_lib_main
+diff -c -r -N ../mcpp-2.7.2/src/support.c ./src/support.c
+*** ../mcpp-2.7.2/src/support.c 2008-06-10 06:02:33.000000000 -0230
+--- ./src/support.c 2009-12-17 20:42:39.000000000 -0330
+***************
+*** 188,194 ****
+ size_t length
+ )
+ {
+! if (mem_buf_p->bytes_avail < length) { /* Need to allocate more memory */
+ size_t size = MAX( BUF_INCR_SIZE, length);
+
+ if (mem_buf_p->buffer == NULL) { /* 1st append */
+--- 188,194 ----
+ size_t length
+ )
+ {
+! if (mem_buf_p->bytes_avail < length + 1) { /* Need to allocate more memory */
+ size_t size = MAX( BUF_INCR_SIZE, length);
+
+ if (mem_buf_p->buffer == NULL) { /* 1st append */
+***************
+*** 1722,1727 ****
+--- 1722,1729 ----
+ sp -= 2;
+ while (*sp != '\n') /* Until end of line */
+ mcpp_fputc( *sp++, OUT);
++ mcpp_fputc( '\n', OUT);
++ wrong_line = TRUE;
+ }
+ goto end_line;
+ default: /* Not a comment */
+diff -c -r -N ../mcpp-2.7.2/src/system.c ./src/system.c
+*** ../mcpp-2.7.2/src/system.c 2008-11-26 06:23:51.000000000 -0330
+--- ./src/system.c 2009-12-17 20:42:42.000000000 -0330
+***************
+*** 3858,3863 ****
+--- 3858,3866 ----
+ }
+ #endif
+
++ FILEINFO* sh_file;
++ int sh_line;
++
+ void sharp(
+ FILEINFO * sharp_file,
+ int flag /* Flag to append to the line for GCC */
+***************
+*** 3868,3875 ****
+ * else (i.e. 'sharp_file' is NULL) 'infile'.
+ */
+ {
+- static FILEINFO * sh_file;
+- static int sh_line;
+ FILEINFO * file;
+ int line;
+
+--- 3871,3876 ----