Blame SOURCES/patch.mcpp.2.7.2

c9a181
diff -r -c -N ../mcpp-2.7.2-old/noconfig/vc2010.dif ./noconfig/vc2010.dif
c9a181
*** ../mcpp-2.7.2-old/noconfig/vc2010.dif	Wed Dec 31 20:30:00 1969
c9a181
--- ./noconfig/vc2010.dif	Fri May 14 12:47:22 2010
c9a181
***************
c9a181
*** 0 ****
c9a181
--- 1,67 ----
c9a181
+ *** noconfig.H	Thu Sep 25 15:34:56 2008
c9a181
+ --- noconfig.H.vc2005	Thu Sep 25 17:23:49 2008
c9a181
+ ***************
c9a181
+ *** 15,21 ****
c9a181
+    */
c9a181
+   
c9a181
+   /* Define target operating-system.  */
c9a181
+ ! #define SYSTEM              SYS_FREEBSD
c9a181
+   
c9a181
+   /* Define target compiler.          */
c9a181
+   #ifndef COMPILER
c9a181
+ --- 15,21 ----
c9a181
+    */
c9a181
+   
c9a181
+   /* Define target operating-system.  */
c9a181
+ ! #define SYSTEM              SYS_WIN32
c9a181
+   
c9a181
+   /* Define target compiler.          */
c9a181
+   #ifndef COMPILER
c9a181
+ ***************
c9a181
+ *** 26,36 ****
c9a181
+   #define HOST_SYSTEM         SYSTEM
c9a181
+   
c9a181
+   /* Define host compiler.            */
c9a181
+ ! #define HOST_COMPILER       GNUC
c9a181
+   
c9a181
+   /* Version message.                 */
c9a181
+   /* "MCPP V.2.* (200y/mm) compiled by " precedes VERSION_MSG */
c9a181
+ ! #define VERSION_MSG         "GCC 3.4"
c9a181
+   #if     0
c9a181
+       "LCC-Win32 2006-03"
c9a181
+       "Visual C 2005"
c9a181
+ --- 26,36 ----
c9a181
+   #define HOST_SYSTEM         SYSTEM
c9a181
+   
c9a181
+   /* Define host compiler.            */
c9a181
+ ! #define HOST_COMPILER       MSC
c9a181
+   
c9a181
+   /* Version message.                 */
c9a181
+   /* "MCPP V.2.* (200y/mm) compiled by " precedes VERSION_MSG */
c9a181
+ ! #define VERSION_MSG         "Visual C 2010"
c9a181
+   #if     0
c9a181
+       "LCC-Win32 2006-03"
c9a181
+       "Visual C 2005"
c9a181
+ ***************
c9a181
+ *** 212,221 ****
c9a181
+   #define ONE_PASS            TRUE
c9a181
+   #endif
c9a181
+   #define COMPILER_EXT        "_MSC_VER"
c9a181
+ ! #define COMPILER_EXT_VAL    "1500"      /* VC 6.0: "1200"   */
c9a181
+       /* VC 2002: "1300", VC 2003: "1310", VC 2005: "1400", VC 2008: "1500"   */
c9a181
+   #define COMPILER_EXT2       "_MSC_FULL_VER"
c9a181
+ ! #define COMPILER_EXT2_VAL   "150021022" /* VC 6.0: "12008804"       */
c9a181
+       /* VC 2002: "13009466", VC 2003: "13103077", VC 2005: "140050320"       */
c9a181
+       /* VC 2008: "150021022" */
c9a181
+   #define COMPILER_SP1        "_MSC_EXTENSIONS"
c9a181
+ --- 212,221 ----
c9a181
+   #define ONE_PASS            TRUE
c9a181
+   #endif
c9a181
+   #define COMPILER_EXT        "_MSC_VER"
c9a181
+ ! #define COMPILER_EXT_VAL    "1600"      /* VC 6.0: "1200"   */
c9a181
+       /* VC 2002: "1300", VC 2003: "1310", VC 2005: "1400", VC 2008: "1500"   */
c9a181
+   #define COMPILER_EXT2       "_MSC_FULL_VER"
c9a181
+ ! #define COMPILER_EXT2_VAL   "160030319" /* VC 6.0: "12008804"       */
c9a181
+       /* VC 2002: "13009466", VC 2003: "13103077", VC 2005: "140050320"       */
c9a181
+       /* VC 2008: "150021022" */
c9a181
+   #define COMPILER_SP1        "_MSC_EXTENSIONS"
c9a181
diff -r -c -N ../mcpp-2.7.2-old/src/internal.H ./src/internal.H
c9a181
*** ../mcpp-2.7.2-old/src/internal.H	Wed Aug 27 10:31:16 2008
c9a181
--- ./src/internal.H	Fri May 14 12:40:56 2010
c9a181
***************
c9a181
*** 390,395 ****
c9a181
--- 390,397 ----
c9a181
  extern char     identifier[];       /* Lastly scanned name          */
c9a181
  extern IFINFO   ifstack[];          /* Information of #if nesting   */
c9a181
  extern char     work_buf[];
c9a181
+ extern FILEINFO * sh_file;
c9a181
+ extern int      sh_line;
c9a181
          /* Temporary buffer for directive line and macro expansion  */
c9a181
  
c9a181
  /* main.c   */
c9a181
***************
c9a181
*** 557,562 ****
c9a181
  #endif
c9a181
  #endif
c9a181
  
c9a181
! #if HOST_HAVE_STPCPY
c9a181
  extern char *   stpcpy( char * dest, const char * src);
c9a181
  #endif
c9a181
--- 559,564 ----
c9a181
  #endif
c9a181
  #endif
c9a181
  
c9a181
! #if HOST_HAVE_STPCPY && !defined(stpcpy)
c9a181
  extern char *   stpcpy( char * dest, const char * src);
c9a181
  #endif
c9a181
diff -r -c -N ../mcpp-2.7.2-old/src/main.c ./src/main.c
c9a181
*** ../mcpp-2.7.2-old/src/main.c	Wed Nov  5 05:04:46 2008
c9a181
--- ./src/main.c	Fri May 14 12:40:56 2010
c9a181
***************
c9a181
*** 326,331 ****
c9a181
--- 326,333 ----
c9a181
              = FALSE;
c9a181
      option_flags.trig = TRIGRAPHS_INIT;
c9a181
      option_flags.dig = DIGRAPHS_INIT;
c9a181
+     sh_file = NULL;
c9a181
+     sh_line = 0;
c9a181
  }
c9a181
  
c9a181
  int     mcpp_lib_main
c9a181
diff -r -c -N ../mcpp-2.7.2-old/src/support.c ./src/support.c
c9a181
*** ../mcpp-2.7.2-old/src/support.c	Tue Jun 10 06:02:33 2008
c9a181
--- ./src/support.c	Fri May 14 12:40:56 2010
c9a181
***************
c9a181
*** 188,194 ****
c9a181
      size_t      length
c9a181
  )
c9a181
  {
c9a181
!     if (mem_buf_p->bytes_avail < length) {  /* Need to allocate more memory */
c9a181
          size_t size = MAX( BUF_INCR_SIZE, length);
c9a181
  
c9a181
          if (mem_buf_p->buffer == NULL) {            /* 1st append   */
c9a181
--- 188,194 ----
c9a181
      size_t      length
c9a181
  )
c9a181
  {
c9a181
!     if (mem_buf_p->bytes_avail < length + 1) {  /* Need to allocate more memory */
c9a181
          size_t size = MAX( BUF_INCR_SIZE, length);
c9a181
  
c9a181
          if (mem_buf_p->buffer == NULL) {            /* 1st append   */
c9a181
***************
c9a181
*** 1722,1727 ****
c9a181
--- 1722,1729 ----
c9a181
                      sp -= 2;
c9a181
                      while (*sp != '\n')     /* Until end of line    */
c9a181
                          mcpp_fputc( *sp++, OUT);
c9a181
+                     mcpp_fputc( '\n', OUT);
c9a181
+                     wrong_line = TRUE;
c9a181
                  }
c9a181
                  goto  end_line;
c9a181
              default:                        /* Not a comment        */
c9a181
diff -r -c -N ../mcpp-2.7.2-old/src/system.c ./src/system.c
c9a181
*** ../mcpp-2.7.2-old/src/system.c      2008-11-26 10:53:51.000000000 +0100
c9a181
--- ./src/system.c      2011-02-21 16:18:05.678058106 +0100
c9a181
***************
c9a181
*** 3534,3539 ****
c9a181
--- 3534,3565 ----
c9a181
      FILEINFO *      file;
c9a181
      const char *    too_many_include_nest =
c9a181
              "More than %.0s%ld nesting of #include";    /* _F_ _W4_ */
c9a181
+             
c9a181
+     //
c9a181
+     // When encoding is UTF-8, skip BOM if present.
c9a181
+     //
c9a181
+     if(mbchar == UTF8 && fp != NULL && ftell(fp) == 0)
c9a181
+     {
c9a181
+         const unsigned char UTF8_BOM[3] = {0xEF, 0xBB, 0xBF};
c9a181
+         unsigned char FILE_HEAD[3] = {0, 0, 0};
c9a181
+         int i;
c9a181
+         for(i = 0; i < 3; ++i)
c9a181
+         {
c9a181
+             FILE_HEAD[i] = getc(fp);
c9a181
+             if(FILE_HEAD[i] != UTF8_BOM[i])
c9a181
+             {
c9a181
+                 if(FILE_HEAD[i] == (unsigned char)EOF)
c9a181
+                 {
c9a181
+                     i--;
c9a181
+                 }
c9a181
+                 for(; i >= 0; --i)
c9a181
+                 {
c9a181
+                     ungetc(FILE_HEAD[i], fp);
c9a181
+                 }
c9a181
+                 break;
c9a181
+             }
c9a181
+         }
c9a181
+     }
c9a181
  
c9a181
      filename = set_fname( filename);    /* Search or append to fnamelist[]  */
c9a181
      fullname = set_fname( fullname);    /* Search or append to fnamelist[]  */
c9a181
***************
c9a181
*** 3858,3863 ****
c9a181
--- 3884,3892 ----
c9a181
  }
c9a181
  #endif
c9a181
  
c9a181
+ FILEINFO*       sh_file;
c9a181
+ int             sh_line;
c9a181
+ 
c9a181
  void    sharp(
c9a181
      FILEINFO *  sharp_file,
c9a181
      int         flag        /* Flag to append to the line for GCC   */
c9a181
***************
c9a181
*** 3868,3875 ****
c9a181
   * else (i.e. 'sharp_file' is NULL) 'infile'.
c9a181
   */
c9a181
  {
c9a181
-     static FILEINFO *   sh_file;
c9a181
-     static int  sh_line;
c9a181
      FILEINFO *  file;
c9a181
      int         line;
c9a181
  
c9a181
--- 3897,3902 ----