Browse Source

* splitted from globals.pas

peter 27 years ago
parent
commit
1bae98d429
1 changed files with 113 additions and 0 deletions
  1. 113 0
      compiler/globtype.pas

+ 113 - 0
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
+
+}
+