3 Copyright (c) 1998-2000 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 ****************************************************************************
30 poption386
=^toption386
;
31 toption386
=object(toption
)
32 procedure interpret_proc_specific_options(const opt
:string);virtual;
38 globtype
,systems
,globals
;
40 procedure toption386
.interpret_proc_specific_options(const opt
:string);
45 More
:=Upper(copy(opt
,3,length(opt
)-2));
49 While (j
<= Length(Opt
)) Do
52 '-' : initglobalswitches
:=initglobalswitches
-[cs_optimize
,cs_fastoptimize
,cs_slowoptimize
,cs_littlesize
,
53 cs_regalloc
,cs_uncertainopts
,cs_align
];
55 'a' : initglobalswitches
:=initglobalswitches
+[cs_align
];
57 'g' : initglobalswitches
:=initglobalswitches
+[cs_littlesize
];
58 'G' : initglobalswitches
:=initglobalswitches
-[cs_littlesize
];
59 'r' : initglobalswitches
:=initglobalswitches
+[cs_regalloc
];
60 'u' : initglobalswitches
:=initglobalswitches
+[cs_optimize
,cs_uncertainopts
];
61 '1' : initglobalswitches
:=initglobalswitches
-[cs_slowoptimize
,cs_uncertainopts
]+[cs_optimize
,cs_fastoptimize
];
62 '2' : initglobalswitches
:=initglobalswitches
-[cs_uncertainopts
]+[cs_optimize
,cs_fastoptimize
,cs_slowoptimize
];
63 '3' : initglobalswitches
:=initglobalswitches
+[cs_optimize
,cs_fastoptimize
,cs_slowoptimize
,cs_uncertainopts
];
66 If j
< Length(Opt
) Then
69 '1': initoptprocessor
:= Class386
;
70 '2': initoptprocessor
:= ClassP5
;
71 '3': initoptprocessor
:= ClassP6
81 If j
< Length(Opt
) Then
84 '3': initspecificoptprocessor
:=ClassP6
92 else IllegalPara(opt
);
99 initasmmode
:=asmmode_i386_att
102 initasmmode:=asmmode_i386_intel
104 if More
='DIRECT' then
105 initasmmode:=asmmode_i386_direct
117 Revision 1.1 2002/02/19 08:22:38 sasu
120 Revision 1.1 2000/07/13 06:29:52 michael
123 Revision 1.20 2000/05/31 06:58:50 florian
124 * first implementation of -Oa switch
126 Revision 1.19 2000/02/09 13:22:55 peter
129 Revision 1.18 2000/01/23 21:29:17 florian
130 * CMOV support in optimizer (in define USECMOV)
131 + start of support of exceptions in constructors
133 Revision 1.17 2000/01/07 01:14:28 peter
134 * updated copyright to 2000
136 Revision 1.16 1999/08/04 13:02:47 jonas
137 * all tokens now start with an underscore