2 * This file is part of cparser.
3 * Copyright (C) 2012 Matthias Braun <matze@braunis.de>
5 #ifndef LANG_FEATURES_H
6 #define LANG_FEATURES_H
10 #define BITS_PER_BYTE 8
12 typedef enum lang_features_t {
22 /** the current C mode/dialect */
23 extern unsigned int c_mode;
26 * whether architecture shift instructions usually perform modulo bit_size
27 * on the shift amount, if yes this equals to the machine_size.
29 extern unsigned int architecture_modulo_shift;
31 /** byte-order: true = big-endian, false = little-endian */
32 extern bool byte_order_big_endian;
34 /** true for strict language checking. */
35 extern bool strict_mode;
37 /** a hack that adds a call to __main into the main function, necessary on
39 extern bool enable_main_collect2_hack;
41 extern bool freestanding;