2
$Id: cpuswtch.pas,v 1.4 2004/01/13 18:08:58 florian Exp $
3
Copyright (c) 1998-2002 by Florian Klaempfl, Pierre Muller
5
interprets the commandline options which are i386 specific
7
This program is free software; you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published by
9
the Free Software Foundation; either version 2 of the License, or
10
(at your option) any later version.
12
This program is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
GNU General Public License for more details.
17
You should have received a copy of the GNU General Public License
18
along with this program; if not, write to the Free Software
19
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21
****************************************************************************
33
toptionx86_64=class(toption)
34
procedure interpret_proc_specific_options(const opt:string);override;
40
cutils,globtype,systems,globals;
42
procedure toptionx86_64.interpret_proc_specific_options(const opt:string);
47
More:=Upper(copy(opt,3,length(opt)-2));
51
While (j <= Length(Opt)) Do
56
initglobalswitches:=initglobalswitches-[cs_optimize,cs_fastoptimize,cs_slowoptimize,cs_littlesize,
57
cs_regvars,cs_uncertainopts];
58
FillChar(ParaAlignment,sizeof(ParaAlignment),0);
62
UpdateAlignmentStr(Copy(Opt,j+1,255),ParaAlignment);
65
'g' : initglobalswitches:=initglobalswitches+[cs_littlesize];
66
'G' : initglobalswitches:=initglobalswitches-[cs_littlesize];
69
initglobalswitches:=initglobalswitches+[cs_regvars];
72
'u' : initglobalswitches:=initglobalswitches+[cs_uncertainopts];
73
'1' : initglobalswitches:=initglobalswitches-[cs_fastoptimize,cs_slowoptimize]+[cs_optimize];
74
'2' : initglobalswitches:=initglobalswitches-[cs_slowoptimize]+[cs_optimize,cs_fastoptimize];
75
'3' : initglobalswitches:=initglobalswitches+[cs_optimize,cs_fastoptimize,cs_slowoptimize];
76
else IllegalPara(opt);
83
initasmmode:=asmmode_i386_att
86
initasmmode:=asmmode_i386_intel
97
coption:=toptionx86_64;
100
$Log: cpuswtch.pas,v $
101
Revision 1.4 2004/01/13 18:08:58 florian
102
* x86-64 compilation fixed
104
Revision 1.3 2003/09/25 13:13:32 florian
107
Revision 1.2 2002/08/10 14:53:38 carl
108
+ moved target_cpu_string to cpuinfo
109
* renamed asmmode enum.
110
* assembler reader has now less ifdef's
111
* move from nppcmem.pas -> ncgmem.pas vec. node.
113
Revision 1.1 2002/07/24 22:38:15 florian
114
+ initial release of x86-64 target code
116
Revision 1.7 2002/05/18 13:34:22 peter
117
* readded missing revisions
119
Revision 1.6 2002/05/16 19:46:50 carl
120
+ defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
121
+ try to fix temp allocation (still in ifdef)
122
+ generic constructor calls
123
+ start of tassembler / tmodulebase class cleanup