]>
git.saurik.com Git - apple/icu.git/blob - icuSources/common/utypeinfo.h
2 ******************************************************************************
4 * Copyright (C) 2012-2016, International Business Machines
5 * Corporation and others. All Rights Reserved.
7 ******************************************************************************
10 #ifndef __UTYPEINFO_H__
11 #define __UTYPEINFO_H__
13 // Windows header <typeinfo> does not define 'exception' in 'std' namespace.
14 // Therefore, a project using ICU cannot be compiled with _HAS_EXCEPTIONS
15 // set to 0 on Windows with Visual Studio. To work around that, we have to
16 // include <exception> explicitly and add using statement below.
17 // Whenever 'typeid' is used, this header has to be included
18 // instead of <typeinfo>.
19 // Visual Studio 10 emits warning 4275 with this change. If you compile
20 // with exception disabled, you have to suppress warning 4275.
21 #if defined(_MSC_VER) && _HAS_EXCEPTIONS == 0
25 #if !defined(_MSC_VER)
26 namespace std
{ class type_info
; } // WORKAROUND: http://llvm.org/bugs/show_bug.cgi?id=13364
28 #include <typeinfo> // for 'typeid' to work