X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=lang_features.h;h=47714334928baee2b6f399972ec3338c8f593b7f;hb=f89f7c0c39bf048e468f5202ebb6b8bd09c2805b;hp=c024f228cd8abe43ad1110b597d27939d78a1ca9;hpb=708d819aa335a9b2c6d83b6a2c303a77b9a94e34;p=cparser diff --git a/lang_features.h b/lang_features.h index c024f22..4771433 100644 --- a/lang_features.h +++ b/lang_features.h @@ -1,6 +1,6 @@ /* * This file is part of cparser. - * Copyright (C) 2007-2008 Matthias Braun + * Copyright (C) 2007-2009 Matthias Braun * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -22,6 +22,8 @@ #include "type.h" +#define BITS_PER_BYTE 8 + typedef enum lang_features_t { _C89 = 1U << 0, _ANSI = 1U << 1, @@ -32,19 +34,32 @@ typedef enum lang_features_t { _ALL = 0xFF } lang_features_t; -/* the current C mode/dialect */ +/** the current C mode/dialect */ extern unsigned int c_mode; -/* the 'machine size', 16, 32 or 64 bit */ +/** the 'machine size', 16, 32 or 64 bit */ extern unsigned int machine_size; -/* true if the char type is signed */ +/** 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. */ +/** true for strict language checking. */ extern bool strict_mode; -/* atomic type of wchar_t */ +/** 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; + +extern bool freestanding; + #endif