diff -r -c -N ../mcpp-2.7.2-old/noconfig/vc2010.dif ./noconfig/vc2010.dif
*** ../mcpp-2.7.2-old/noconfig/vc2010.dif Wed Dec 31 20:30:00 1969
--- ./noconfig/vc2010.dif Fri May 14 12:47:22 2010
***************
*** 0 ****
--- 1,67 ----
+ *** noconfig.H Thu Sep 25 15:34:56 2008
+ --- noconfig.H.vc2005 Thu Sep 25 17:23:49 2008
+ ***************
+ *** 15,21 ****
+ */
+
+ /* Define target operating-system. */
+ ! #define SYSTEM SYS_FREEBSD
+
+ /* Define target compiler. */
+ #ifndef COMPILER
+ --- 15,21 ----
+ */
+
+ /* Define target operating-system. */
+ ! #define SYSTEM SYS_WIN32
+
+ /* Define target compiler. */
+ #ifndef COMPILER
+ ***************
+ *** 26,36 ****
+ #define HOST_SYSTEM SYSTEM
+
+ /* Define host compiler. */
+ ! #define HOST_COMPILER GNUC
+
+ /* Version message. */
+ /* "MCPP V.2.* (200y/mm) compiled by " precedes VERSION_MSG */
+ ! #define VERSION_MSG "GCC 3.4"
+ #if 0
+ "LCC-Win32 2006-03"
+ "Visual C 2005"
+ --- 26,36 ----
+ #define HOST_SYSTEM SYSTEM
+
+ /* Define host compiler. */
+ ! #define HOST_COMPILER MSC
+
+ /* Version message. */
+ /* "MCPP V.2.* (200y/mm) compiled by " precedes VERSION_MSG */
+ ! #define VERSION_MSG "Visual C 2010"
+ #if 0
+ "LCC-Win32 2006-03"
+ "Visual C 2005"
+ ***************
+ *** 212,221 ****
+ #define ONE_PASS TRUE
+ #endif
+ #define COMPILER_EXT "_MSC_VER"
+ ! #define COMPILER_EXT_VAL "1500" /* VC 6.0: "1200" */
+ /* VC 2002: "1300", VC 2003: "1310", VC 2005: "1400", VC 2008: "1500" */
+ #define COMPILER_EXT2 "_MSC_FULL_VER"
+ ! #define COMPILER_EXT2_VAL "150021022" /* VC 6.0: "12008804" */
+ /* VC 2002: "13009466", VC 2003: "13103077", VC 2005: "140050320" */
+ /* VC 2008: "150021022" */
+ #define COMPILER_SP1 "_MSC_EXTENSIONS"
+ --- 212,221 ----
+ #define ONE_PASS TRUE
+ #endif
+ #define COMPILER_EXT "_MSC_VER"
+ ! #define COMPILER_EXT_VAL "1600" /* VC 6.0: "1200" */
+ /* VC 2002: "1300", VC 2003: "1310", VC 2005: "1400", VC 2008: "1500" */
+ #define COMPILER_EXT2 "_MSC_FULL_VER"
+ ! #define COMPILER_EXT2_VAL "160030319" /* VC 6.0: "12008804" */
+ /* VC 2002: "13009466", VC 2003: "13103077", VC 2005: "140050320" */
+ /* VC 2008: "150021022" */
+ #define COMPILER_SP1 "_MSC_EXTENSIONS"
diff -r -c -N ../mcpp-2.7.2-old/src/internal.H ./src/internal.H
*** ../mcpp-2.7.2-old/src/internal.H Wed Aug 27 10:31:16 2008
--- ./src/internal.H Fri May 14 12:40:56 2010
***************
*** 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 -r -c -N ../mcpp-2.7.2-old/src/main.c ./src/main.c
*** ../mcpp-2.7.2-old/src/main.c Wed Nov 5 05:04:46 2008
--- ./src/main.c Fri May 14 12:40:56 2010
***************
*** 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 -r -c -N ../mcpp-2.7.2-old/src/support.c ./src/support.c
*** ../mcpp-2.7.2-old/src/support.c Tue Jun 10 06:02:33 2008
--- ./src/support.c Fri May 14 12:40:56 2010
***************
*** 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 -r -c -N ../mcpp-2.7.2-old/src/system.c ./src/system.c
*** ../mcpp-2.7.2-old/src/system.c 2008-11-26 10:53:51.000000000 +0100
--- ./src/system.c 2011-02-21 16:18:05.678058106 +0100
***************
*** 3534,3539 ****
--- 3534,3565 ----
FILEINFO * file;
const char * too_many_include_nest =
"More than %.0s%ld nesting of #include"; /* _F_ _W4_ */
+
+ //
+ // When encoding is UTF-8, skip BOM if present.
+ //
+ if(mbchar == UTF8 && fp != NULL && ftell(fp) == 0)
+ {
+ const unsigned char UTF8_BOM[3] = {0xEF, 0xBB, 0xBF};
+ unsigned char FILE_HEAD[3] = {0, 0, 0};
+ int i;
+ for(i = 0; i < 3; ++i)
+ {
+ FILE_HEAD[i] = getc(fp);
+ if(FILE_HEAD[i] != UTF8_BOM[i])
+ {
+ if(FILE_HEAD[i] == (unsigned char)EOF)
+ {
+ i--;
+ }
+ for(; i >= 0; --i)
+ {
+ ungetc(FILE_HEAD[i], fp);
+ }
+ break;
+ }
+ }
+ }
filename = set_fname( filename); /* Search or append to fnamelist[] */
fullname = set_fname( fullname); /* Search or append to fnamelist[] */
***************
*** 3858,3863 ****
--- 3884,3892 ----
}
#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;
--- 3897,3902 ----