• C
    Fix build on MSVC >= 2012 · 167c3271
    Chun-wei Fan 提交于
    Use the DEFINE_ENUM_FLAG_OPERATORS macro in winnt.h on Visual Studio,
    which defines the bitwise operators for the enumerations that we want to
    mark as hb_mark_as_flags_t, which will take care of the situation on newer
    Visual Studio (>= 2012), where the build breaks with C2057 errors as the
    underlying types of the enumerations is not clear to the compiler when we
    do a bitwise op within the declaration of the enumerations themselves.
    
    Also disable the C4200 (nonstandard extension used : zero-sized array in
    struct/union) and C4800 ('type' : forcing value to bool 'true' or 'false'
    (performance warning)) warnings as the C4200 is the intended scenario and
    C4800 is harmless but is so far an unavoidable side effect of using
    DEFINE_ENUM_FLAG_OPERATORS.
    167c3271
hb-ot-layout-private.hh 15.7 KB