X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=lang_features.h;h=65ed32e9166da4e2f7755e22bbda6f9135115f41;hb=b9d39f5598cc124bdde5e4658cbc1f034ea85476;hp=2d967f8230dbd39a7c60aa3a04b1cbc072dd62c3;hpb=ef3740001f65c743033201e8be5d6dc711375067;p=cparser diff --git a/lang_features.h b/lang_features.h index 2d967f8..65ed32e 100644 --- a/lang_features.h +++ b/lang_features.h @@ -26,30 +26,32 @@ typedef enum lang_features_t { _C89 = 1U << 0, - _ANSI = 1U << 1, - _C99 = 1U << 2, - _CXX = 1U << 3, - _GNUC = 1U << 4, - _MS = 1U << 5, + _C99 = 1U << 1, + _CXX = 1U << 2, + _GNUC = 1U << 3, + _MS = 1U << 4, _ALL = 0xFF } lang_features_t; /** the current C mode/dialect */ extern unsigned int c_mode; -/** the 'machine size', 16, 32 or 64 bit */ -extern unsigned int machine_size; +/** + * whether architecture shift instructions usually perform modulo bit_size + * on the shift amount, if yes this equals to the machine_size. + */ +extern unsigned int architecture_modulo_shift; /** byte-order: true = big-endian, false = little-endian */ extern bool byte_order_big_endian; -/** true if the char type is signed */ -extern bool char_is_signed; - /** true for strict language checking. */ extern bool strict_mode; -/** atomic type of wchar_t */ -extern atomic_type_kind_t wchar_atomic_kind; +/** a hack that adds a call to __main into the main function, necessary on + * mingw */ +extern bool enable_main_collect2_hack; + +extern bool freestanding; #endif