1 Index: source/i18n/dtrule.cpp 2 =================================================================== 3 --- source/i18n/dtrule.cpp (revision 75185) 4 +++ source/i18n/dtrule.cpp (working copy) 5 @@ -5,7 +5,7 @@ 6 ******************************************************************************* 7 */ 8 9 -#include <typeinfo> // for 'typeid' to work 10 +#include "unicode/utypeinfo.h" // for 'typeid' to work 11 12 #include "unicode/utypes.h" 13 14 Index: source/i18n/currunit.cpp 15 =================================================================== 16 --- source/i18n/currunit.cpp (revision 75185) 17 +++ source/i18n/currunit.cpp (working copy) 18 @@ -8,7 +8,7 @@ 19 * Since: ICU 3.0 20 ********************************************************************** 21 */ 22 -#include <typeinfo> // for 'typeid' to work 23 +#include "unicode/utypeinfo.h" // for 'typeid' to work 24 25 #include "unicode/utypes.h" 26 27 Index: source/i18n/tmunit.cpp 28 =================================================================== 29 --- source/i18n/tmunit.cpp (revision 75185) 30 +++ source/i18n/tmunit.cpp (working copy) 31 @@ -5,7 +5,7 @@ 32 ******************************************************************************* 33 */ 34 35 -#include <typeinfo> // for 'typeid' to work 36 +#include "unicode/utypeinfo.h" // for 'typeid' to work 37 38 #include "unicode/tmunit.h" 39 40 Index: source/i18n/vtzone.cpp 41 =================================================================== 42 --- source/i18n/vtzone.cpp (revision 75185) 43 +++ source/i18n/vtzone.cpp (working copy) 44 @@ -5,7 +5,7 @@ 45 ******************************************************************************* 46 */ 47 48 -#include <typeinfo> // for 'typeid' to work 49 +#include "unicode/utypeinfo.h" // for 'typeid' to work 50 51 #include "unicode/utypes.h" 52 53 Index: source/i18n/tzrule.cpp 54 =================================================================== 55 --- source/i18n/tzrule.cpp (revision 75185) 56 +++ source/i18n/tzrule.cpp (working copy) 57 @@ -5,7 +5,7 @@ 58 ******************************************************************************* 59 */ 60 61 -#include <typeinfo> // for 'typeid' to work 62 +#include "unicode/utypeinfo.h" // for 'typeid' to work 63 64 #include "unicode/utypes.h" 65 66 Index: source/i18n/rbnf.cpp 67 =================================================================== 68 --- source/i18n/rbnf.cpp (revision 75185) 69 +++ source/i18n/rbnf.cpp (working copy) 70 @@ -5,7 +5,7 @@ 71 ******************************************************************************* 72 */ 73 74 -#include <typeinfo> // for 'typeid' to work 75 +#include "unicode/utypeinfo.h" // for 'typeid' to work 76 77 #include "unicode/rbnf.h" 78 79 Index: source/i18n/currfmt.cpp 80 =================================================================== 81 --- source/i18n/currfmt.cpp (revision 75185) 82 +++ source/i18n/currfmt.cpp (working copy) 83 @@ -8,7 +8,7 @@ 84 * Since: ICU 3.0 85 ********************************************************************** 86 */ 87 -#include <typeinfo> // for 'typeid' to work 88 +#include "unicode/utypeinfo.h" // for 'typeid' to work 89 90 #include "unicode/utypes.h" 91 92 Index: source/i18n/translit.cpp 93 =================================================================== 94 --- source/i18n/translit.cpp (revision 75185) 95 +++ source/i18n/translit.cpp (working copy) 96 @@ -8,7 +8,7 @@ 97 ********************************************************************** 98 */ 99 100 -#include <typeinfo> // for 'typeid' to work 101 +#include "unicode/utypeinfo.h" // for 'typeid' to work 102 103 #include "unicode/utypes.h" 104 105 Index: source/i18n/tmutfmt.cpp 106 =================================================================== 107 --- source/i18n/tmutfmt.cpp (revision 75185) 108 +++ source/i18n/tmutfmt.cpp (working copy) 109 @@ -5,7 +5,7 @@ 110 ******************************************************************************* 111 */ 112 113 -#include <typeinfo> // for 'typeid' to work 114 +#include "unicode/utypeinfo.h" // for 'typeid' to work 115 116 #include "unicode/tmutfmt.h" 117 118 Index: source/i18n/ucal.cpp 119 =================================================================== 120 --- source/i18n/ucal.cpp (revision 75185) 121 +++ source/i18n/ucal.cpp (working copy) 122 @@ -5,7 +5,7 @@ 123 ******************************************************************************* 124 */ 125 126 -#include <typeinfo> // for 'typeid' to work 127 +#include "unicode/utypeinfo.h" // for 'typeid' to work 128 129 #include "unicode/utypes.h" 130 131 Index: source/i18n/dtitvfmt.cpp 132 =================================================================== 133 --- source/i18n/dtitvfmt.cpp (revision 75185) 134 +++ source/i18n/dtitvfmt.cpp (working copy) 135 @@ -8,7 +8,7 @@ 136 ******************************************************************************* 137 */ 138 139 -#include <typeinfo> // for 'typeid' to work 140 +#include "unicode/utypeinfo.h" // for 'typeid' to work 141 142 #include "unicode/dtitvfmt.h" 143 144 Index: source/i18n/measure.cpp 145 =================================================================== 146 --- source/i18n/measure.cpp (revision 75185) 147 +++ source/i18n/measure.cpp (working copy) 148 @@ -8,7 +8,7 @@ 149 * Since: ICU 3.0 150 ********************************************************************** 151 */ 152 -#include <typeinfo> // for 'typeid' to work 153 +#include "unicode/utypeinfo.h" // for 'typeid' to work 154 155 #include "unicode/utypes.h" 156 157 Index: source/i18n/calendar.cpp 158 =================================================================== 159 --- source/i18n/calendar.cpp (revision 75185) 160 +++ source/i18n/calendar.cpp (working copy) 161 @@ -24,7 +24,7 @@ 162 ******************************************************************************* 163 */ 164 165 -#include <typeinfo> // for 'typeid' to work 166 +#include "unicode/utypeinfo.h" // for 'typeid' to work 167 168 #include "unicode/utypes.h" 169 170 Index: source/i18n/selfmt.cpp 171 =================================================================== 172 --- source/i18n/selfmt.cpp (revision 75185) 173 +++ source/i18n/selfmt.cpp (working copy) 174 @@ -14,7 +14,7 @@ 175 * 11/16/09 kirtig Improved version 176 ********************************************************************/ 177 178 -#include <typeinfo> // for 'typeid' to work 179 +#include "unicode/utypeinfo.h" // for 'typeid' to work 180 181 #include "unicode/utypes.h" 182 #include "unicode/ustring.h" 183 Index: source/i18n/timezone.cpp 184 =================================================================== 185 --- source/i18n/timezone.cpp (revision 75185) 186 +++ source/i18n/timezone.cpp (working copy) 187 @@ -35,7 +35,7 @@ 188 * available IDs code. Misc. cleanup. 189 *********************************************************************************/ 190 191 -#include <typeinfo> // for 'typeid' to work 192 +#include "unicode/utypeinfo.h" // for 'typeid' to work 193 194 #include "unicode/utypes.h" 195 #include "unicode/ustring.h" 196 Index: source/i18n/tztrans.cpp 197 =================================================================== 198 --- source/i18n/tztrans.cpp (revision 75185) 199 +++ source/i18n/tztrans.cpp (working copy) 200 @@ -5,7 +5,7 @@ 201 ******************************************************************************* 202 */ 203 204 -#include <typeinfo> // for 'typeid' to work 205 +#include "unicode/utypeinfo.h" // for 'typeid' to work 206 207 #include "unicode/utypes.h" 208 209 Index: source/i18n/simpletz.cpp 210 =================================================================== 211 --- source/i18n/simpletz.cpp (revision 75185) 212 +++ source/i18n/simpletz.cpp (working copy) 213 @@ -21,7 +21,7 @@ 214 ******************************************************************************** 215 */ 216 217 -#include <typeinfo> // for 'typeid' to work 218 +#include "unicode/utypeinfo.h" // for 'typeid' to work 219 220 #include "unicode/utypes.h" 221 222 Index: source/i18n/format.cpp 223 =================================================================== 224 --- source/i18n/format.cpp (revision 75185) 225 +++ source/i18n/format.cpp (working copy) 226 @@ -19,7 +19,7 @@ 227 // This file was generated from the java source file Format.java 228 // ***************************************************************************** 229 230 -#include <typeinfo> // for 'typeid' to work 231 +#include "unicode/utypeinfo.h" // for 'typeid' to work 232 233 #include "unicode/utypes.h" 234 235 Index: source/i18n/nfsubs.cpp 236 =================================================================== 237 --- source/i18n/nfsubs.cpp (revision 75185) 238 +++ source/i18n/nfsubs.cpp (working copy) 239 @@ -14,7 +14,7 @@ 240 */ 241 242 #include <stdio.h> 243 -#include <typeinfo> // for 'typeid' to work 244 +#include "unicode/utypeinfo.h" // for 'typeid' to work 245 246 #include "nfsubs.h" 247 #include "digitlst.h" 248 Index: source/i18n/olsontz.cpp 249 =================================================================== 250 --- source/i18n/olsontz.cpp (revision 75185) 251 +++ source/i18n/olsontz.cpp (working copy) 252 @@ -9,7 +9,7 @@ 253 ********************************************************************** 254 */ 255 256 -#include <typeinfo> // for 'typeid' to work 257 +#include "unicode/utypeinfo.h" // for 'typeid' to work 258 259 #include "olsontz.h" 260 261 Index: source/i18n/rbtz.cpp 262 =================================================================== 263 --- source/i18n/rbtz.cpp (revision 75185) 264 +++ source/i18n/rbtz.cpp (working copy) 265 @@ -5,7 +5,7 @@ 266 ******************************************************************************* 267 */ 268 269 -#include <typeinfo> // for 'typeid' to work 270 +#include "unicode/utypeinfo.h" // for 'typeid' to work 271 272 #include "unicode/utypes.h" 273 274 Index: source/i18n/tblcoll.cpp 275 =================================================================== 276 --- source/i18n/tblcoll.cpp (revision 75185) 277 +++ source/i18n/tblcoll.cpp (working copy) 278 @@ -54,7 +54,7 @@ 279 * 01/29/01 synwee Modified into a C++ wrapper calling C APIs (ucol.h) 280 */ 281 282 -#include <typeinfo> // for 'typeid' to work 283 +#include "unicode/utypeinfo.h" // for 'typeid' to work 284 285 #include "unicode/utypes.h" 286 287 Index: source/test/intltest/icusvtst.cpp 288 =================================================================== 289 --- source/test/intltest/icusvtst.cpp (revision 75185) 290 +++ source/test/intltest/icusvtst.cpp (working copy) 291 @@ -5,7 +5,7 @@ 292 ******************************************************************************* 293 */ 294 295 -#include <typeinfo> // for 'typeid' to work 296 +#include "unicode/utypeinfo.h" // for 'typeid' to work 297 298 #include "unicode/utypes.h" 299 300 Index: source/test/intltest/uobjtest.cpp 301 =================================================================== 302 --- source/test/intltest/uobjtest.cpp (revision 75185) 303 +++ source/test/intltest/uobjtest.cpp (working copy) 304 @@ -7,7 +7,7 @@ 305 306 #include <stdio.h> 307 #include <string.h> 308 -#include <typeinfo> // for 'typeid' to work 309 +#include "unicode/utypeinfo.h" // for 'typeid' to work 310 311 #include "uobjtest.h" 312 #include "cmemory.h" // UAlignedMemory 313 Index: source/test/intltest/citrtest.cpp 314 =================================================================== 315 --- source/test/intltest/citrtest.cpp (revision 75185) 316 +++ source/test/intltest/citrtest.cpp (working copy) 317 @@ -9,7 +9,7 @@ 318 ****************************************************************************************/ 319 320 #include <string.h> 321 -#include <typeinfo> // for 'typeid' to work 322 +#include "unicode/utypeinfo.h" // for 'typeid' to work 323 324 #include "unicode/chariter.h" 325 #include "unicode/ustring.h" 326 Index: source/test/intltest/rbbitst.cpp 327 =================================================================== 328 --- source/test/intltest/rbbitst.cpp (revision 75185) 329 +++ source/test/intltest/rbbitst.cpp (working copy) 330 @@ -9,7 +9,7 @@ 331 * 01/12/2000 Madhu Updated for changed API and added new tests 332 ************************************************************************/ 333 334 -#include <typeinfo> // for 'typeid' to work 335 +#include "unicode/utypeinfo.h" // for 'typeid' to work 336 337 #include "unicode/utypes.h" 338 339 Index: source/common/rbbi.cpp 340 =================================================================== 341 --- source/common/rbbi.cpp (revision 75185) 342 +++ source/common/rbbi.cpp (working copy) 343 @@ -10,7 +10,7 @@ 344 // class RuleBasedBreakIterator 345 // 346 347 -#include <typeinfo> // for 'typeid' to work 348 +#include "unicode/utypeinfo.h" // for 'typeid' to work 349 350 #include "unicode/utypes.h" 351 352 Index: source/common/uchriter.cpp 353 =================================================================== 354 --- source/common/uchriter.cpp (revision 75185) 355 +++ source/common/uchriter.cpp (working copy) 356 @@ -5,7 +5,7 @@ 357 ****************************************************************************** 358 */ 359 360 -#include <typeinfo> // for 'typeid' to work 361 +#include "unicode/utypeinfo.h" // for 'typeid' to work 362 363 #include "unicode/uchriter.h" 364 #include "unicode/ustring.h" 365 Index: source/common/ustrenum.cpp 366 =================================================================== 367 --- source/common/ustrenum.cpp (revision 75185) 368 +++ source/common/ustrenum.cpp (working copy) 369 @@ -8,7 +8,7 @@ 370 * Since: ICU 2.4 371 ********************************************************************** 372 */ 373 -#include <typeinfo> // for 'typeid' to work 374 +#include "unicode/utypeinfo.h" // for 'typeid' to work 375 376 #include "unicode/ustring.h" 377 #include "unicode/strenum.h" 378 Index: source/common/schriter.cpp 379 =================================================================== 380 --- source/common/schriter.cpp (revision 75185) 381 +++ source/common/schriter.cpp (working copy) 382 @@ -13,7 +13,7 @@ 383 ****************************************************************************** 384 */ 385 386 -#include <typeinfo> // for 'typeid' to work 387 +#include "unicode/utypeinfo.h" // for 'typeid' to work 388 389 #include "unicode/chariter.h" 390 #include "unicode/schriter.h" 391 Index: source/common/unicode/utypeinfo.h 392 =================================================================== 393 --- source/common/unicode/utypeinfo.h (revision 0) 394 +++ source/common/unicode/utypeinfo.h (revision 75186) 395 @@ -0,0 +1,12 @@ 396 +#ifndef UTYPEINFO_H 397 +#define UTYPEINFO_H 398 + 399 +#if defined(_MSC_VER) && _HAS_EXCEPTIONS == 0 400 +// Visual C++ needs the following two lines when RTTI is on with 401 +// exception handling disabled. 402 +#include <exception> 403 +using std::exception; 404 +#endif 405 +#include <typeinfo> // for typeid to work. 406 + 407 +#endif 408