mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-08 22:47:54 +02:00
+ m68k problems with cvs fixed?()!
This commit is contained in:
parent
77346f3219
commit
1edae761ef
113
compiler/m68k/cpuswtch.pas
Normal file
113
compiler/m68k/cpuswtch.pas
Normal file
@ -0,0 +1,113 @@
|
||||
{
|
||||
$Id$
|
||||
Copyright (c) 1998-2002 by Florian Klaempfl, Pierre Muller
|
||||
|
||||
interprets the commandline options which are 680x0 specific
|
||||
|
||||
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 cpuswtch;
|
||||
|
||||
{$i fpcdefs.inc}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
options;
|
||||
|
||||
type
|
||||
toptionm68k=class(toption)
|
||||
procedure interpret_proc_specific_options(const opt:string);override;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
cutils,globtype,systems,globals,cpuinfo;
|
||||
|
||||
procedure toptionm68k.interpret_proc_specific_options(const opt:string);
|
||||
var
|
||||
j : longint;
|
||||
More : string;
|
||||
begin
|
||||
More:=Upper(copy(opt,3,length(opt)-2));
|
||||
case opt[2] of
|
||||
'O' : Begin
|
||||
j := 3;
|
||||
While (j <= Length(Opt)) Do
|
||||
Begin
|
||||
case opt[j] of
|
||||
'-' :
|
||||
begin
|
||||
initglobalswitches:=initglobalswitches-[cs_optimize,cs_fastoptimize,cs_slowoptimize,cs_littlesize,
|
||||
cs_regalloc,cs_uncertainopts];
|
||||
FillChar(ParaAlignment,sizeof(ParaAlignment),0);
|
||||
end;
|
||||
'a' :
|
||||
begin
|
||||
UpdateAlignmentStr(Copy(Opt,j+1,255),ParaAlignment);
|
||||
j:=length(Opt);
|
||||
end;
|
||||
'g' : initglobalswitches:=initglobalswitches+[cs_littlesize];
|
||||
'G' : initglobalswitches:=initglobalswitches-[cs_littlesize];
|
||||
'r' :
|
||||
begin
|
||||
initglobalswitches:=initglobalswitches+[cs_regalloc];
|
||||
Simplify_ppu:=false;
|
||||
end;
|
||||
'u' : initglobalswitches:=initglobalswitches+[cs_uncertainopts];
|
||||
'1' : initglobalswitches:=initglobalswitches-[cs_fastoptimize,cs_slowoptimize]+[cs_optimize];
|
||||
'2' : initglobalswitches:=initglobalswitches-[cs_slowoptimize]+[cs_optimize,cs_fastoptimize];
|
||||
'3' : initglobalswitches:=initglobalswitches+[cs_optimize,cs_fastoptimize,cs_slowoptimize];
|
||||
'p' :
|
||||
Begin
|
||||
If j < Length(Opt) Then
|
||||
Begin
|
||||
Case opt[j+1] Of
|
||||
'2': initoptprocessor := MC68020;
|
||||
Else IllegalPara(Opt)
|
||||
End;
|
||||
Inc(j);
|
||||
End
|
||||
Else IllegalPara(opt)
|
||||
End;
|
||||
else IllegalPara(opt);
|
||||
End;
|
||||
Inc(j)
|
||||
end;
|
||||
end;
|
||||
'R' : begin
|
||||
if More='GAS' then
|
||||
initasmmode:=asmmode_standard
|
||||
else
|
||||
IllegalPara(opt);
|
||||
end;
|
||||
else
|
||||
IllegalPara(opt);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
initialization
|
||||
coption:=toptionm68k;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.6 2002-08-13 18:51:29 carl
|
||||
+ m68k problems with cvs fixed?()!
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user