1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
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 ----
|