{ $Id$ Copyright (c) 1993-98 by Florian Klaempfl, Pierre Muller Global types This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. **************************************************************************** } unit globtype; interface const maxidlen = 64; type { Switches which can be changed locally } tlocalswitch = (cs_localnone, { codegen } cs_check_overflow,cs_check_range,cs_check_io,cs_check_stack, cs_omitstackframe,cs_do_assertion,cs_generate_rtti, { mmx } cs_mmx,cs_mmx_saturation, { parser } cs_typed_addresses,cs_strict_var_strings,cs_ansistrings ); tlocalswitches=set of tlocalswitch; { Switches which can be changed only at the beginning of a new module } tmoduleswitch = (cs_modulenone, { parser } cs_fp_emulation,cs_extsyntax,cs_openstring, { support } cs_support_inline,cs_support_goto,cs_support_macro, cs_support_c_operators, { generation } cs_profile,cs_debuginfo,cs_browser,cs_local_browser,cs_compilesystem, { linking } cs_smartlink,cs_create_sharedlib,cs_create_staticlib ); tmoduleswitches=set of tmoduleswitch; { Switches which can be changed only for a whole program/compilation, mostly set with commandline } tglobalswitch = (cs_globalnone, { parameter switches } cs_check_unit_name,cs_constructor_name,cs_static_keyword, { units } cs_load_objpas_unit, cs_load_gpc_unit, { optimizer } cs_regalloc,cs_uncertainopts,cs_littlesize,cs_optimize, cs_fastoptimize, cs_slowoptimize, { debugger } cs_gdb_dbx,cs_gdb_gsym,cs_gdb_heaptrc, { assembling } cs_asm_leave,cs_asm_extern,cs_asm_pipe,cs_asm_source, { linking } cs_link_extern,cs_link_shared,cs_link_static,cs_link_deffile ); tglobalswitches=set of tglobalswitch; { Switches which can be changed by a mode (fpc,tp7,delphi) } tmodeswitch = (m_none,m_all, { needed for keyword } { generic } m_fpc,m_delphi,m_tp,m_gpc, { more specific } m_class,m_objpas,m_result,m_string_pchar,m_cvar_support, m_nested_comment,m_tp_procvar,m_repeat_forward, m_pointer_2_procedure, { allows the assignement of pointers to procedure variables } m_autoderef { does auto dereferencing of struct. vars } ); tmodeswitches=set of tmodeswitch; { win32 sub system } tapptype = (at_gui,at_cui); { currently parsed block type } tblock_type = (bt_general,bt_type,bt_const); stringid = string[maxidlen]; tnormalset = set of byte; { 256 elements set } pnormalset = ^tnormalset; pdouble = ^double; pbyte = ^byte; pword = ^word; plongint = ^longint; implementation end. { $Log$ Revision 1.1 1998-12-11 00:05:27 peter * splitted from globals.pas }