preprocessor: implement stringify operation '#'
[cparser] / lang_features.h
index 4771433..65ed32e 100644 (file)
 
 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;
-
-/** size of long double (this is 16 on some x86 architectures even if only the
- * lowest 80bits are used */
-extern unsigned force_long_double_size;
-
 /** a hack that adds a call to __main into the main function, necessary on
  * mingw */
 extern bool enable_main_collect2_hack;