mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-19 18:51:31 +02:00
* released valintern
+ deffile is now removed when compiling is finished * ^( compiles now correct + static directive * shrd fixed
This commit is contained in:
parent
b4f8802354
commit
6a802e85d7
@ -41,7 +41,7 @@ implementation
|
||||
{$else}
|
||||
i386,
|
||||
{$endif}
|
||||
cgai386,tgeni386,cg386ld,cg386cal;
|
||||
cgai386,tgeni386,cg386cal;
|
||||
|
||||
|
||||
{*****************************************************************************
|
||||
@ -619,7 +619,7 @@ implementation
|
||||
popusedregisters(pushed);
|
||||
end;
|
||||
|
||||
{$IfDef ValIntern}
|
||||
{$IfnDef OLDVAL}
|
||||
|
||||
Procedure Handle_Val;
|
||||
|
||||
@ -827,7 +827,7 @@ implementation
|
||||
disposetree(dest_para);
|
||||
UnGetIfTemp(hr);
|
||||
end;
|
||||
{$EndIf ValIntern}
|
||||
{$EndIf OLDVAL}
|
||||
|
||||
var
|
||||
r : preference;
|
||||
@ -1159,7 +1159,7 @@ implementation
|
||||
begin
|
||||
pushusedregisters(pushed,$ff);
|
||||
exprasmlist^.concat(new(pai386,op_const(A_PUSH,S_L,pfiledef(p^.left^.resulttype)^.typed_as^.size)));
|
||||
secondload(p^.left);
|
||||
secondpass(p^.left);
|
||||
emitpushreferenceaddr(exprasmlist,p^.left^.location.reference);
|
||||
if p^.inlinenumber=in_reset_typedfile then
|
||||
emitcall('FPC_RESET_TYPED',true)
|
||||
@ -1180,12 +1180,12 @@ implementation
|
||||
handle_str;
|
||||
maybe_loadesi;
|
||||
end;
|
||||
{$IfDef ValIntern}
|
||||
{$IfnDef ODLVAL}
|
||||
in_val_x :
|
||||
Begin
|
||||
handle_val;
|
||||
End;
|
||||
{$EndIf ValIntern}
|
||||
{$EndIf OLDVAL}
|
||||
in_include_x_y,
|
||||
in_exclude_x_y:
|
||||
begin
|
||||
@ -1270,7 +1270,14 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.31 1999-03-24 23:16:49 peter
|
||||
Revision 1.32 1999-03-26 00:05:26 peter
|
||||
* released valintern
|
||||
+ deffile is now removed when compiling is finished
|
||||
* ^( compiles now correct
|
||||
+ static directive
|
||||
* shrd fixed
|
||||
|
||||
Revision 1.31 1999/03/24 23:16:49 peter
|
||||
* fixed bugs 212,222,225,227,229,231,233
|
||||
|
||||
Revision 1.30 1999/03/16 17:52:56 jonas
|
||||
|
@ -27,14 +27,17 @@ uses cobjects;
|
||||
type
|
||||
pdeffile=^tdeffile;
|
||||
tdeffile=object
|
||||
fname : string;
|
||||
exportlist,
|
||||
importlist : tstringcontainer;
|
||||
fname : string;
|
||||
empty : boolean;
|
||||
constructor init(const fn:string);
|
||||
destructor done;
|
||||
procedure addexport(const s:string);
|
||||
procedure addimport(const s:string);
|
||||
procedure writefile;
|
||||
private
|
||||
erasedeffile : boolean;
|
||||
exportlist,
|
||||
importlist : tstringcontainer;
|
||||
end;
|
||||
var
|
||||
deffile : tdeffile;
|
||||
@ -43,7 +46,7 @@ var
|
||||
implementation
|
||||
|
||||
uses
|
||||
systems,globals;
|
||||
systems,globtype,globals;
|
||||
|
||||
{******************************************************************************
|
||||
TDefFile
|
||||
@ -52,13 +55,27 @@ uses
|
||||
constructor tdeffile.init(const fn:string);
|
||||
begin
|
||||
fname:=fn;
|
||||
erasedeffile:=false;
|
||||
empty:=true;
|
||||
importlist.init;
|
||||
exportlist.init;
|
||||
end;
|
||||
|
||||
|
||||
destructor tdeffile.done;
|
||||
var
|
||||
f : file;
|
||||
i : word;
|
||||
begin
|
||||
if erasedeffile and
|
||||
not(cs_link_extern in aktglobalswitches) then
|
||||
begin
|
||||
assign(f,fname);
|
||||
{$I-}
|
||||
erase(f);
|
||||
{$I+}
|
||||
i:=ioresult;
|
||||
end;
|
||||
importlist.done;
|
||||
exportlist.done;
|
||||
end;
|
||||
@ -68,12 +85,14 @@ end;
|
||||
procedure tdeffile.addexport(const s:string);
|
||||
begin
|
||||
exportlist.insert(s);
|
||||
empty:=false;
|
||||
end;
|
||||
|
||||
|
||||
procedure tdeffile.addimport(const s:string);
|
||||
begin
|
||||
importlist.insert(s);
|
||||
empty:=false;
|
||||
end;
|
||||
|
||||
|
||||
@ -81,6 +100,7 @@ procedure tdeffile.writefile;
|
||||
var
|
||||
t : text;
|
||||
begin
|
||||
{ open file }
|
||||
assign(t,fname);
|
||||
{$I+}
|
||||
rewrite(t);
|
||||
@ -123,12 +143,20 @@ begin
|
||||
end;
|
||||
|
||||
close(t);
|
||||
erasedeffile:=true;
|
||||
end;
|
||||
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.2 1998-10-13 13:10:14 peter
|
||||
Revision 1.3 1999-03-26 00:05:29 peter
|
||||
* released valintern
|
||||
+ deffile is now removed when compiling is finished
|
||||
* ^( compiles now correct
|
||||
+ static directive
|
||||
* shrd fixed
|
||||
|
||||
Revision 1.2 1998/10/13 13:10:14 peter
|
||||
* new style for m68k/i386 infos and enums
|
||||
|
||||
Revision 1.1 1998/06/04 23:51:39 peter
|
||||
|
@ -44,7 +44,7 @@ interface
|
||||
cs_fp_emulation,cs_extsyntax,cs_openstring,
|
||||
{ support }
|
||||
cs_support_inline,cs_support_goto,cs_support_macro,
|
||||
cs_support_c_operators,
|
||||
cs_support_c_operators,cs_static_keyword,
|
||||
{ generation }
|
||||
cs_profile,cs_debuginfo,cs_browser,cs_local_browser,cs_compilesystem,
|
||||
{ linking }
|
||||
@ -56,7 +56,7 @@ interface
|
||||
mostly set with commandline }
|
||||
tglobalswitch = (cs_globalnone,
|
||||
{ parameter switches }
|
||||
cs_check_unit_name,cs_constructor_name,cs_static_keyword,
|
||||
cs_check_unit_name,cs_constructor_name,
|
||||
{ units }
|
||||
cs_load_objpas_unit,
|
||||
cs_load_gpc_unit,
|
||||
@ -108,7 +108,14 @@ begin
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.3 1999-01-27 13:51:44 pierre
|
||||
Revision 1.4 1999-03-26 00:05:30 peter
|
||||
* released valintern
|
||||
+ deffile is now removed when compiling is finished
|
||||
* ^( compiles now correct
|
||||
+ static directive
|
||||
* shrd fixed
|
||||
|
||||
Revision 1.3 1999/01/27 13:51:44 pierre
|
||||
* dos end of line problem
|
||||
|
||||
Revision 1.2 1998/12/23 12:40:48 daniel
|
||||
|
@ -673,7 +673,7 @@ unit i386;
|
||||
(i : A_IDIV;ops : 2;oc : $f6;eb : 7;m : af_w or Modrm;o1 : ao_reg or ao_mem;o2 : ao_acc;o3 : 0),
|
||||
(i : A_ROL;ops : 2;oc : $d0;eb : 0;m : af_w or Modrm;o1 : ao_imm1;o2 : ao_reg or ao_mem;o3 : 0),
|
||||
(i : A_ROL;ops : 2;oc : $c0;eb : 0;m : af_w or Modrm;o1 : ao_imm8;o2 : ao_reg or ao_mem;o3 : 0),
|
||||
(i : A_ROL;ops : 2;oc : $d2;eb : 0;m : af_w or Modrm;o1 : ao_shiftcount;o2 : ao_reg or ao_mem;o3 : 0),
|
||||
(i : A_ROL;ops : 2;oc : $d2;eb : 0;m : af_w or Modrm;o1 : ao_reg8 or ao_shiftcount;o2 : ao_reg or ao_mem;o3 : 0),
|
||||
(i : A_ROL;ops : 1;oc : $d0;eb : 0;m : af_w or Modrm;o1 : ao_reg or ao_mem;o2 : 0;o3 : 0),
|
||||
(i : A_ROR;ops : 2;oc : $d0;eb : 1;m : af_w or Modrm;o1 : ao_imm1;o2 : ao_reg or ao_mem;o3 : 0),
|
||||
(i : A_ROR;ops : 2;oc : $c0;eb : 1;m : af_w or Modrm;o1 : ao_imm8;o2 : ao_reg or ao_mem;o3 : 0),
|
||||
@ -696,13 +696,15 @@ unit i386;
|
||||
(i : A_SHL;ops : 2;oc : $d2;eb : 4;m : af_w or Modrm;o1 : ao_shiftcount;o2 : ao_reg or ao_mem;o3 : 0),
|
||||
(i : A_SHL;ops : 1;oc : $d0;eb : 4;m : af_w or Modrm;o1 : ao_reg or ao_mem;o2 : 0;o3 : 0),
|
||||
(i : A_SHLD;ops : 3;oc : $0fa4;eb : ao_none;m : Modrm;o1 : ao_imm8;o2 : ao_wordreg;o3 : ao_wordreg or ao_mem),
|
||||
(i : A_SHLD;ops : 3;oc : $0fa5;eb : ao_none;m : Modrm;o1 : ao_shiftcount;o2 : ao_wordreg;o3 : ao_wordreg or ao_mem),
|
||||
(i : A_SHLD;ops : 3;oc : $0fa5;eb : ao_none;m : Modrm;o1 : ao_reg8 or ao_shiftcount;o2 : ao_wordreg;
|
||||
o3 : ao_wordreg or ao_mem),
|
||||
(i : A_SHR;ops : 2;oc : $d0;eb : 5;m : af_w or Modrm;o1 : ao_imm1;o2 : ao_reg or ao_mem;o3 : 0),
|
||||
(i : A_SHR;ops : 2;oc : $c0;eb : 5;m : af_w or Modrm;o1 : ao_imm8;o2 : ao_reg or ao_mem;o3 : 0),
|
||||
(i : A_SHR;ops : 2;oc : $d2;eb : 5;m : af_w or Modrm;o1 : ao_shiftcount;o2 : ao_reg or ao_mem;o3 : 0),
|
||||
(i : A_SHR;ops : 1;oc : $d0;eb : 5;m : af_w or Modrm;o1 : ao_reg or ao_mem;o2 : 0;o3 : 0),
|
||||
(i : A_SHRD;ops : 3;oc : $0fac;eb : ao_none;m : Modrm;o1 : ao_imm8;o2 : ao_wordreg;o3 : ao_wordreg or ao_mem),
|
||||
(i : A_SHRD;ops : 3;oc : $0fad;eb : ao_none;m : Modrm;o1 : ao_shiftcount;o2 : ao_wordreg;o3 : ao_wordreg or ao_mem),
|
||||
(i : A_SHRD;ops : 3;oc : $0fad;eb : ao_none;m : Modrm;o1 : ao_reg8 or ao_shiftcount;o2 : ao_wordreg;
|
||||
o3 : ao_wordreg or ao_mem),
|
||||
(i : A_SAR;ops : 2;oc : $d0;eb : 7;m : af_w or Modrm;o1 : ao_imm1;o2 : ao_reg or ao_mem;o3 : 0),
|
||||
(i : A_SAR;ops : 2;oc : $c0;eb : 7;m : af_w or Modrm;o1 : ao_imm8;o2 : ao_reg or ao_mem;o3 : 0),
|
||||
(i : A_SAR;ops : 2;oc : $d2;eb : 7;m : af_w or Modrm;o1 : ao_shiftcount;o2 : ao_reg or ao_mem;o3 : 0),
|
||||
@ -1976,7 +1978,14 @@ Begin
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.37 1999-02-26 00:48:20 peter
|
||||
Revision 1.38 1999-03-26 00:05:31 peter
|
||||
* released valintern
|
||||
+ deffile is now removed when compiling is finished
|
||||
* ^( compiles now correct
|
||||
+ static directive
|
||||
* shrd fixed
|
||||
|
||||
Revision 1.37 1999/02/26 00:48:20 peter
|
||||
* assembler writers fixed for ag386bin
|
||||
|
||||
Revision 1.36 1999/02/25 21:02:38 peter
|
||||
|
@ -104,14 +104,27 @@ unit parser;
|
||||
maxheapsize:=target_info.maxheapsize;
|
||||
if stacksize=0 then
|
||||
stacksize:=target_info.stacksize;
|
||||
|
||||
{ open assembler response }
|
||||
AsmRes.Init(outputexedir+'ppas');
|
||||
|
||||
{ open deffile }
|
||||
DefFile.Init(outputexedir+inputfile+target_os.defext);
|
||||
end;
|
||||
|
||||
|
||||
procedure doneparser;
|
||||
begin
|
||||
{ unload units }
|
||||
loaded_units.done;
|
||||
usedunits.done;
|
||||
|
||||
{ close ppas and deffile }
|
||||
asmres.done;
|
||||
deffile.done;
|
||||
end;
|
||||
|
||||
|
||||
procedure default_macros;
|
||||
var
|
||||
hp : pstring_item;
|
||||
@ -288,12 +301,6 @@ unit parser;
|
||||
cg:=new(pcg386,init);
|
||||
{$endif i386}
|
||||
{$endif newcg}
|
||||
{ Handle things which need to be once }
|
||||
if (compile_level=1) then
|
||||
begin
|
||||
{ open assembler response }
|
||||
AsmRes.Init(current_module^.outpath^+'ppas');
|
||||
end;
|
||||
|
||||
{ If the compile level > 1 we get a nice "unit expected" error
|
||||
message if we are trying to use a program as unit.}
|
||||
@ -452,7 +459,14 @@ unit parser;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.70 1999-03-24 23:17:10 peter
|
||||
Revision 1.71 1999-03-26 00:05:33 peter
|
||||
* released valintern
|
||||
+ deffile is now removed when compiling is finished
|
||||
* ^( compiles now correct
|
||||
+ static directive
|
||||
* shrd fixed
|
||||
|
||||
Revision 1.70 1999/03/24 23:17:10 peter
|
||||
* fixed bugs 212,222,225,227,229,231,233
|
||||
|
||||
Revision 1.69 1999/02/25 21:02:40 peter
|
||||
|
@ -486,7 +486,7 @@ unit pdecl;
|
||||
symdone:=true;
|
||||
end
|
||||
else
|
||||
if (is_object) and (cs_static_keyword in aktglobalswitches) and (idtoken=_STATIC) then
|
||||
if (is_object) and (cs_static_keyword in aktmoduleswitches) and (idtoken=_STATIC) then
|
||||
begin
|
||||
current_object_option:=current_object_option or sp_static;
|
||||
insert_syms(symtablestack,sc,p);
|
||||
@ -2240,7 +2240,14 @@ unit pdecl;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.104 1999-03-24 23:17:13 peter
|
||||
Revision 1.105 1999-03-26 00:05:34 peter
|
||||
* released valintern
|
||||
+ deffile is now removed when compiling is finished
|
||||
* ^( compiles now correct
|
||||
+ static directive
|
||||
* shrd fixed
|
||||
|
||||
Revision 1.104 1999/03/24 23:17:13 peter
|
||||
* fixed bugs 212,222,225,227,229,231,233
|
||||
|
||||
Revision 1.103 1999/03/22 22:10:25 florian
|
||||
|
@ -112,18 +112,22 @@ unit pexports;
|
||||
break;
|
||||
end;
|
||||
consume(SEMICOLON);
|
||||
if not DefFile.exportlist.empty then
|
||||
begin
|
||||
deffile.fname:='DEF.$$$';
|
||||
deffile.writefile;
|
||||
end;
|
||||
if not DefFile.empty then
|
||||
DefFile.writefile;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.7 1999-02-22 02:44:12 peter
|
||||
Revision 1.8 1999-03-26 00:05:35 peter
|
||||
* released valintern
|
||||
+ deffile is now removed when compiling is finished
|
||||
* ^( compiles now correct
|
||||
+ static directive
|
||||
* shrd fixed
|
||||
|
||||
Revision 1.7 1999/02/22 02:44:12 peter
|
||||
* ag386bin doesn't use i386.pas anymore
|
||||
|
||||
Revision 1.6 1998/12/11 00:03:31 peter
|
||||
|
@ -416,7 +416,7 @@ unit pexpr;
|
||||
pd:=voiddef;
|
||||
end;
|
||||
|
||||
{$IfDef ValIntern}
|
||||
{$IfnDef OLDVAL}
|
||||
in_val_x:
|
||||
Begin
|
||||
consume(LKLAMMER);
|
||||
@ -436,8 +436,7 @@ unit pexpr;
|
||||
statement_syssym := p2;
|
||||
pd := voiddef;
|
||||
End;
|
||||
{$EndIf ValIntern}
|
||||
|
||||
{$EndIf OLDVAL}
|
||||
|
||||
in_include_x_y,
|
||||
in_exclude_x_y :
|
||||
@ -1977,7 +1976,14 @@ unit pexpr;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.88 1999-03-24 23:17:15 peter
|
||||
Revision 1.89 1999-03-26 00:05:36 peter
|
||||
* released valintern
|
||||
+ deffile is now removed when compiling is finished
|
||||
* ^( compiles now correct
|
||||
+ static directive
|
||||
* shrd fixed
|
||||
|
||||
Revision 1.88 1999/03/24 23:17:15 peter
|
||||
* fixed bugs 212,222,225,227,229,231,233
|
||||
|
||||
Revision 1.87 1999/03/16 17:52:52 jonas
|
||||
|
@ -186,8 +186,7 @@ unit pmodules;
|
||||
{ Generate an external entry to be sure that _mainCRTStarup will be
|
||||
linked, can't use concat_external because those aren't written for
|
||||
asw (PFV) }
|
||||
if deffile.fname='DEF.$$$'then
|
||||
target_link.bindcmd[1]:=target_link.bindcmd[1]+' -d DEF.$$$';
|
||||
target_link.bindcmd[1]:=target_link.bindcmd[1]+' -d '+deffile.fname;
|
||||
if DLLsource then
|
||||
target_link.binders:=2;
|
||||
if RelocSection then
|
||||
@ -196,11 +195,8 @@ unit pmodules;
|
||||
target_link.bindcmd[1]:=target_link.bindcmd[1]+' --base-file base.$$$';
|
||||
target_link.binders:=2;
|
||||
end;
|
||||
if apptype=at_cui then
|
||||
datasegment^.concat(new(pai_const_symbol,init('_mainCRTStartup')))
|
||||
else
|
||||
if apptype=at_gui then
|
||||
begin
|
||||
datasegment^.concat(new(pai_const_symbol,init('_WinMainCRTStartup')));
|
||||
target_link.linkcmd:='--subsystem windows '+target_link.linkcmd;
|
||||
target_link.bindcmd[2]:='--subsystem windows '+target_link.bindcmd[2];
|
||||
end;
|
||||
@ -1259,7 +1255,14 @@ unit pmodules;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.104 1999-03-24 23:17:17 peter
|
||||
Revision 1.105 1999-03-26 00:05:38 peter
|
||||
* released valintern
|
||||
+ deffile is now removed when compiling is finished
|
||||
* ^( compiles now correct
|
||||
+ static directive
|
||||
* shrd fixed
|
||||
|
||||
Revision 1.104 1999/03/24 23:17:17 peter
|
||||
* fixed bugs 212,222,225,227,229,231,233
|
||||
|
||||
Revision 1.103 1999/03/18 20:30:46 peter
|
||||
|
@ -63,9 +63,9 @@ begin
|
||||
p^.insert(new(psyssym,init('INC',in_inc_x)));
|
||||
p^.insert(new(psyssym,init('STR',in_str_x_string)));
|
||||
p^.insert(new(psyssym,init('ASSERT',in_assert_x_y)));
|
||||
{$IfDef ValIntern}
|
||||
{$IfnDef OLDVAL}
|
||||
p^.insert(new(psyssym,init('VAL',in_val_x)));
|
||||
{$EndIf ValIntern}
|
||||
{$EndIf OLDVAL}
|
||||
end;
|
||||
|
||||
|
||||
@ -256,7 +256,14 @@ end;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.17 1999-03-16 17:52:54 jonas
|
||||
Revision 1.18 1999-03-26 00:05:40 peter
|
||||
* released valintern
|
||||
+ deffile is now removed when compiling is finished
|
||||
* ^( compiles now correct
|
||||
+ static directive
|
||||
* shrd fixed
|
||||
|
||||
Revision 1.17 1999/03/16 17:52:54 jonas
|
||||
* changes for internal Val code (do a "make cycle OPT=-dvalintern" to test)
|
||||
* in cgi386inl: also range checking for subrange types (compile with "-dreadrangecheck")
|
||||
* in cgai386: also small fixes to emitrangecheck
|
||||
|
@ -1701,9 +1701,7 @@ var
|
||||
else
|
||||
Message(assem_e_invalid_opcode_and_operand);
|
||||
end;
|
||||
end
|
||||
else
|
||||
Message(assem_e_invalid_opcode_and_operand);
|
||||
end;
|
||||
else
|
||||
Message(assem_e_invalid_opcode_and_operand);
|
||||
end; { end case }
|
||||
@ -3476,7 +3474,14 @@ begin
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.23 1999-03-02 22:51:08 peter
|
||||
Revision 1.24 1999-03-26 00:05:41 peter
|
||||
* released valintern
|
||||
+ deffile is now removed when compiling is finished
|
||||
* ^( compiles now correct
|
||||
+ static directive
|
||||
* shrd fixed
|
||||
|
||||
Revision 1.23 1999/03/02 22:51:08 peter
|
||||
* [reg-ofs] now correctly compiles to -ofs(reg) instead of ofs(reg)
|
||||
* [reg*2] is now allowed
|
||||
|
||||
|
@ -29,4 +29,6 @@ Changes in the syntax or semantic of FPC:
|
||||
find it in the base.zip package (PFV)
|
||||
24/03/99 new directives UNITPATH,INCLUDEPATH,OBJECTPATH,LIBRARYPATH to
|
||||
set the searchpaths where to find the files for that module (PFV)
|
||||
25/03/99 new directive STATIC +/- or on/off , works like -St commandline
|
||||
switch
|
||||
|
||||
|
@ -42,7 +42,7 @@ type
|
||||
_DIR_OBJECTPATH,_DIR_OPENSTRINGS,_DIR_OUTPUT_FORMAT,_DIR_OVERFLOWCHECKS,
|
||||
_DIR_PACKENUM,_DIR_PACKRECORDS,
|
||||
_DIR_R,_DIR_RANGECHECKS,_DIR_REFERENCEINFO,
|
||||
_DIR_SATURATION,_DIR_SMARTLINK,_DIR_STACKFRAMES,_DIR_STOP,
|
||||
_DIR_SATURATION,_DIR_SMARTLINK,_DIR_STACKFRAMES,_DIR_STATIC,_DIR_STOP,
|
||||
_DIR_TYPEDADDRESS,_DIR_TYPEINFO,
|
||||
_DIR_UNDEF,_DIR_UNITPATH,
|
||||
_DIR_VARSTRINGCHECKS,
|
||||
@ -70,7 +70,7 @@ const
|
||||
'OBJECTPATH','OPENSTRINGS','OUTPUT_FORMAT','OVERFLOWCHECKS',
|
||||
'PACKENUM','PACKRECORDS',
|
||||
'R','RANGECHECKS','REFERENCEINFO',
|
||||
'SATURATION','SMARTLINK','STACKFRAMES','STOP',
|
||||
'SATURATION','SMARTLINK','STACKFRAMES','STATIC','STOP',
|
||||
'TYPEDADDRESS','TYPEINFO',
|
||||
'UNDEF','UNITPATH',
|
||||
'VARSTRINGCHECKS',
|
||||
@ -478,6 +478,7 @@ const
|
||||
sw:=cs_modulenone;
|
||||
case t of
|
||||
_DIR_SMARTLINK : sw:=cs_smartlink;
|
||||
_DIR_STATIC : sw:=cs_static_keyword;
|
||||
end;
|
||||
state:=current_scanner^.readstate;
|
||||
if (sw<>cs_modulenone) and (state in ['-','+']) then
|
||||
@ -997,6 +998,7 @@ const
|
||||
{_DIR_SATURATION} dir_localswitch,
|
||||
{_DIR_SMARTLINK} dir_moduleswitch,
|
||||
{_DIR_STACKFRAMES} dir_delphiswitch,
|
||||
{_DIR_STATIC} dir_moduleswitch,
|
||||
{_DIR_STOP} dir_message,
|
||||
{_DIR_TYPEDADDRESS} dir_delphiswitch,
|
||||
{_DIR_TYPEINFO} dir_delphiswitch,
|
||||
@ -1077,7 +1079,14 @@ const
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.48 1999-03-25 16:55:34 peter
|
||||
Revision 1.49 1999-03-26 00:05:44 peter
|
||||
* released valintern
|
||||
+ deffile is now removed when compiling is finished
|
||||
* ^( compiles now correct
|
||||
+ static directive
|
||||
* shrd fixed
|
||||
|
||||
Revision 1.48 1999/03/25 16:55:34 peter
|
||||
+ unitpath,librarypath,includepath,objectpath directives
|
||||
|
||||
Revision 1.47 1999/02/22 13:07:05 pierre
|
||||
|
@ -461,7 +461,10 @@ implementation
|
||||
|
||||
procedure tscannerfile.dec_comment_level;
|
||||
begin
|
||||
dec(comment_level)
|
||||
if (m_nested_comment in aktmodeswitches) then
|
||||
dec(comment_level)
|
||||
else
|
||||
comment_level:=0;
|
||||
end;
|
||||
|
||||
|
||||
@ -1028,11 +1031,6 @@ implementation
|
||||
token:=POINT;
|
||||
goto exit_label;
|
||||
end;
|
||||
2 : begin { first char was a Caret }
|
||||
token:=CARET;
|
||||
readchar;
|
||||
goto exit_label;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -1100,9 +1098,6 @@ implementation
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
{ a following caret, then set special handling }
|
||||
if (c='^') then
|
||||
do_special:=2;
|
||||
{ return token }
|
||||
goto exit_label;
|
||||
end
|
||||
@ -1320,15 +1315,20 @@ implementation
|
||||
begin
|
||||
readchar;
|
||||
c:=upcase(c);
|
||||
if not(block_type=bt_type) and (c in ['A'..'Z']) then
|
||||
begin
|
||||
pattern:=chr(ord(c)-64);
|
||||
readchar;
|
||||
end
|
||||
else
|
||||
if (block_type=bt_type) or
|
||||
(lasttoken=ID) or
|
||||
(lasttoken=RKLAMMER) or (lasttoken=RECKKLAMMER) then
|
||||
begin
|
||||
token:=CARET;
|
||||
goto exit_label;
|
||||
end
|
||||
else
|
||||
begin
|
||||
if c<#64 then
|
||||
pattern:=chr(ord(c)+64)
|
||||
else
|
||||
pattern:=chr(ord(c)-64);
|
||||
readchar;
|
||||
end;
|
||||
end
|
||||
else
|
||||
@ -1452,6 +1452,7 @@ implementation
|
||||
end;
|
||||
end;
|
||||
exit_label:
|
||||
lasttoken:=token;
|
||||
end;
|
||||
|
||||
|
||||
@ -1581,7 +1582,14 @@ begin
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.76 1999-03-24 23:17:24 peter
|
||||
Revision 1.77 1999-03-26 00:05:45 peter
|
||||
* released valintern
|
||||
+ deffile is now removed when compiling is finished
|
||||
* ^( compiles now correct
|
||||
+ static directive
|
||||
* shrd fixed
|
||||
|
||||
Revision 1.76 1999/03/24 23:17:24 peter
|
||||
* fixed bugs 212,222,225,227,229,231,233
|
||||
|
||||
Revision 1.75 1999/03/16 21:00:27 peter
|
||||
|
@ -129,6 +129,7 @@ unit systems;
|
||||
sourceext,
|
||||
pasext,
|
||||
exeext,
|
||||
defext,
|
||||
scriptext : string[4];
|
||||
libprefix : string[3];
|
||||
Cprefix : string[2];
|
||||
@ -249,6 +250,7 @@ implementation
|
||||
sourceext : '.pp';
|
||||
pasext : '.pas';
|
||||
exeext : ''; { No .exe, the linker only output a.out ! }
|
||||
defext : '.def';
|
||||
scriptext : '.bat';
|
||||
libprefix : '';
|
||||
Cprefix : '_';
|
||||
@ -269,6 +271,7 @@ implementation
|
||||
sourceext : '.pp';
|
||||
pasext : '.pas';
|
||||
exeext : '.exe';
|
||||
defext : '.def';
|
||||
scriptext : '.bat';
|
||||
libprefix : '';
|
||||
Cprefix : '_';
|
||||
@ -289,6 +292,7 @@ implementation
|
||||
sourceext : '.pp';
|
||||
pasext : '.pas';
|
||||
exeext : '';
|
||||
defext : '.def';
|
||||
scriptext : '.sh';
|
||||
libprefix : 'lib';
|
||||
Cprefix : '';
|
||||
@ -309,6 +313,7 @@ implementation
|
||||
sourceext : '.pas';
|
||||
pasext : '.pp';
|
||||
exeext : '.exe';
|
||||
defext : '.def';
|
||||
scriptext : '.cmd';
|
||||
libprefix : '';
|
||||
Cprefix : '_';
|
||||
@ -329,6 +334,7 @@ implementation
|
||||
sourceext : '.pp';
|
||||
pasext : '.pas';
|
||||
exeext : '.exe';
|
||||
defext : '.def';
|
||||
scriptext : '.bat';
|
||||
libprefix : 'lib';
|
||||
Cprefix : '_';
|
||||
@ -349,6 +355,7 @@ implementation
|
||||
sourceext : '.pp';
|
||||
pasext : '.pas';
|
||||
exeext : '';
|
||||
defext : '';
|
||||
scriptext : '';
|
||||
libprefix : '';
|
||||
Cprefix : '_';
|
||||
@ -369,6 +376,7 @@ implementation
|
||||
sourceext : '.pp';
|
||||
pasext : '.pas';
|
||||
exeext : '.tpp';
|
||||
defext : '';
|
||||
scriptext : '';
|
||||
libprefix : '';
|
||||
Cprefix : '_';
|
||||
@ -389,6 +397,7 @@ implementation
|
||||
sourceext : '.pp';
|
||||
pasext : '.pas';
|
||||
exeext : '.tpp';
|
||||
defext : '';
|
||||
scriptext : '';
|
||||
libprefix : '';
|
||||
Cprefix : '_';
|
||||
@ -409,6 +418,7 @@ implementation
|
||||
sourceext : '.pp';
|
||||
pasext : '.pas';
|
||||
exeext : '';
|
||||
defext : '';
|
||||
scriptext : '.sh';
|
||||
libprefix : 'lib';
|
||||
Cprefix : '';
|
||||
@ -429,6 +439,7 @@ implementation
|
||||
sourceext : '.pp';
|
||||
pasext : '.pas';
|
||||
exeext : '';
|
||||
defext : '';
|
||||
scriptext : '.sh';
|
||||
libprefix : 'lib';
|
||||
Cprefix : '_';
|
||||
@ -1358,7 +1369,14 @@ begin
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.64 1999-03-24 23:17:33 peter
|
||||
Revision 1.65 1999-03-26 00:05:47 peter
|
||||
* released valintern
|
||||
+ deffile is now removed when compiling is finished
|
||||
* ^( compiles now correct
|
||||
+ static directive
|
||||
* shrd fixed
|
||||
|
||||
Revision 1.64 1999/03/24 23:17:33 peter
|
||||
* fixed bugs 212,222,225,227,229,231,233
|
||||
|
||||
Revision 1.63 1999/03/09 11:54:09 pierre
|
||||
|
@ -36,7 +36,7 @@ implementation
|
||||
globtype,
|
||||
symtable,aasm,types,
|
||||
hcodegen,htypechk,pass_1,
|
||||
tccal,tcld
|
||||
tccal
|
||||
{$ifdef i386}
|
||||
{$ifdef ag386bin}
|
||||
,i386base
|
||||
@ -106,9 +106,9 @@ implementation
|
||||
count_ref:=false;
|
||||
if not (p^.inlinenumber in [in_read_x,in_readln_x,in_sizeof_x,
|
||||
in_typeof_x,in_ord_x,in_str_x_string,
|
||||
{$IfDef ValIntern}
|
||||
{$IfnDef OLDVAL}
|
||||
in_val_x,
|
||||
{$EndIf ValIntern}
|
||||
{$EndIf OLDVAL}
|
||||
in_reset_typedfile,in_rewrite_typedfile]) then
|
||||
must_be_valid:=true
|
||||
else
|
||||
@ -706,7 +706,7 @@ implementation
|
||||
procinfo.flags:=procinfo.flags or pi_do_call;
|
||||
{ to be sure the right definition is loaded }
|
||||
p^.left^.resulttype:=nil;
|
||||
firstload(p^.left);
|
||||
firstpass(p^.left);
|
||||
p^.resulttype:=voiddef;
|
||||
end;
|
||||
in_str_x_string :
|
||||
@ -808,8 +808,7 @@ implementation
|
||||
{ calc registers }
|
||||
left_right_max(p);
|
||||
end;
|
||||
{$IfDef ValIntern}
|
||||
|
||||
{$IfnDef OLDVAL}
|
||||
in_val_x :
|
||||
begin
|
||||
procinfo.flags:=procinfo.flags or pi_do_call;
|
||||
@ -874,7 +873,7 @@ implementation
|
||||
{ calc registers }
|
||||
left_right_max(p);
|
||||
end;
|
||||
{$EndIf ValIntern}
|
||||
{$EndIf OLDVAL}
|
||||
in_include_x_y,
|
||||
in_exclude_x_y:
|
||||
begin
|
||||
@ -1034,7 +1033,14 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.21 1999-03-24 23:17:37 peter
|
||||
Revision 1.22 1999-03-26 00:05:48 peter
|
||||
* released valintern
|
||||
+ deffile is now removed when compiling is finished
|
||||
* ^( compiles now correct
|
||||
+ static directive
|
||||
* shrd fixed
|
||||
|
||||
Revision 1.21 1999/03/24 23:17:37 peter
|
||||
* fixed bugs 212,222,225,227,229,231,233
|
||||
|
||||
Revision 1.20 1999/03/16 17:52:55 jonas
|
||||
|
@ -374,6 +374,11 @@ unit tree;
|
||||
hp : ptree;
|
||||
|
||||
begin
|
||||
if not assigned(p) then
|
||||
begin
|
||||
getcopy:=nil;
|
||||
exit;
|
||||
end;
|
||||
hp:=getnode;
|
||||
hp^:=p^;
|
||||
case p^.disposetyp of
|
||||
@ -1709,7 +1714,14 @@ unit tree;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.69 1999-03-24 23:17:41 peter
|
||||
Revision 1.70 1999-03-26 00:05:49 peter
|
||||
* released valintern
|
||||
+ deffile is now removed when compiling is finished
|
||||
* ^( compiles now correct
|
||||
+ static directive
|
||||
* shrd fixed
|
||||
|
||||
Revision 1.69 1999/03/24 23:17:41 peter
|
||||
* fixed bugs 212,222,225,227,229,231,233
|
||||
|
||||
Revision 1.68 1999/03/02 18:24:25 peter
|
||||
|
Loading…
Reference in New Issue
Block a user