diff --git a/compiler/globtype.pas b/compiler/globtype.pas new file mode 100644 index 0000000000..fa343fc16b --- /dev/null +++ b/compiler/globtype.pas @@ -0,0 +1,113 @@ +{ + $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 + +} +