summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-devtools/mcpp/files/ice-mcpp.patch
blob: 8103cf09204859d5ef536a917474391893dcd120 (plain)
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
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 ----