* released valintern

+ deffile is now removed when compiling is finished
  * ^( compiles now correct
  + static directive
  * shrd fixed
This commit is contained in:
peter 1999-03-26 00:05:26 +00:00
parent b4f8802354
commit 6a802e85d7
17 changed files with 233 additions and 81 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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