mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-07 11:59:27 +01:00
* merged
This commit is contained in:
parent
8b4062e37e
commit
45bf051885
@ -124,11 +124,15 @@ implementation
|
|||||||
(not is_boolean(def_to))) then
|
(not is_boolean(def_to))) then
|
||||||
b:=0;
|
b:=0;
|
||||||
end;
|
end;
|
||||||
{ enumdef :
|
enumdef :
|
||||||
begin
|
begin
|
||||||
doconv:=tc_int_2_int;
|
{ needed for char(enum) }
|
||||||
b:=1;
|
if explicit then
|
||||||
end;}
|
begin
|
||||||
|
doconv:=tc_int_2_int;
|
||||||
|
b:=1;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -662,9 +666,15 @@ implementation
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.30 1999-06-28 16:02:30 peter
|
Revision 1.31 1999-07-16 10:04:32 peter
|
||||||
* merged
|
* merged
|
||||||
|
|
||||||
|
Revision 1.30 1999/06/28 16:02:30 peter
|
||||||
|
* merged
|
||||||
|
|
||||||
|
Revision 1.27.2.4 1999/07/16 09:52:18 peter
|
||||||
|
* allow char(enum)
|
||||||
|
|
||||||
Revision 1.27.2.3 1999/06/28 15:51:27 peter
|
Revision 1.27.2.3 1999/06/28 15:51:27 peter
|
||||||
* tp7 fix
|
* tp7 fix
|
||||||
|
|
||||||
|
|||||||
@ -2124,7 +2124,10 @@ unit pdecl;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.132 1999-07-11 21:24:31 michael
|
Revision 1.133 1999-07-16 10:04:34 peter
|
||||||
|
* merged
|
||||||
|
|
||||||
|
Revision 1.132 1999/07/11 21:24:31 michael
|
||||||
+ Fixed integer message table
|
+ Fixed integer message table
|
||||||
|
|
||||||
Revision 1.131 1999/07/06 21:48:23 florian
|
Revision 1.131 1999/07/06 21:48:23 florian
|
||||||
@ -2146,6 +2149,12 @@ end.
|
|||||||
* use of is_ordinal checked: often a qword/int64 isn't allowed (case/for ...)
|
* use of is_ordinal checked: often a qword/int64 isn't allowed (case/for ...)
|
||||||
* small qword problems fixed
|
* small qword problems fixed
|
||||||
|
|
||||||
|
Revision 1.127.2.4 1999/07/11 21:48:01 michael
|
||||||
|
+ merged dispatch fix
|
||||||
|
|
||||||
|
Revision 1.127.2.3 1999/07/07 07:53:22 michael
|
||||||
|
+ Merged patches from florian
|
||||||
|
|
||||||
Revision 1.127.2.2 1999/07/05 20:03:27 peter
|
Revision 1.127.2.2 1999/07/05 20:03:27 peter
|
||||||
* removed warning/notes
|
* removed warning/notes
|
||||||
|
|
||||||
|
|||||||
@ -60,7 +60,9 @@ unit pexpr;
|
|||||||
{$endif}
|
{$endif}
|
||||||
;
|
;
|
||||||
|
|
||||||
const allow_type : boolean = true;
|
const
|
||||||
|
allow_type : boolean = true;
|
||||||
|
got_addrn : boolean = false;
|
||||||
|
|
||||||
function parse_paras(_colon,in_prop_paras : boolean) : ptree;
|
function parse_paras(_colon,in_prop_paras : boolean) : ptree;
|
||||||
|
|
||||||
@ -116,9 +118,9 @@ unit pexpr;
|
|||||||
|
|
||||||
begin
|
begin
|
||||||
if (m_tp_procvar in aktmodeswitches) and
|
if (m_tp_procvar in aktmodeswitches) and
|
||||||
{ (not afterassignment) and }
|
(not got_addrn) and
|
||||||
(not in_args) and
|
(not in_args) and
|
||||||
(p^.treetype in [loadn]) then
|
(p^.treetype=loadn) then
|
||||||
begin
|
begin
|
||||||
{ support if procvar then for tp7 and many other expression like this }
|
{ support if procvar then for tp7 and many other expression like this }
|
||||||
Store_valid:=Must_be_valid;
|
Store_valid:=Must_be_valid;
|
||||||
@ -1741,7 +1743,9 @@ unit pexpr;
|
|||||||
end;
|
end;
|
||||||
KLAMMERAFFE : begin
|
KLAMMERAFFE : begin
|
||||||
consume(KLAMMERAFFE);
|
consume(KLAMMERAFFE);
|
||||||
|
got_addrn:=true;
|
||||||
p1:=factor(true);
|
p1:=factor(true);
|
||||||
|
got_addrn:=false;
|
||||||
p1:=gensinglenode(addrn,p1);
|
p1:=gensinglenode(addrn,p1);
|
||||||
end;
|
end;
|
||||||
LKLAMMER : begin
|
LKLAMMER : begin
|
||||||
@ -2042,7 +2046,10 @@ unit pexpr;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.120 1999-07-06 22:38:11 florian
|
Revision 1.121 1999-07-16 10:04:35 peter
|
||||||
|
* merged
|
||||||
|
|
||||||
|
Revision 1.120 1999/07/06 22:38:11 florian
|
||||||
* another fix for TP/Delphi styled procedure variables
|
* another fix for TP/Delphi styled procedure variables
|
||||||
|
|
||||||
Revision 1.119 1999/07/05 20:13:16 peter
|
Revision 1.119 1999/07/05 20:13:16 peter
|
||||||
@ -2061,6 +2068,12 @@ end.
|
|||||||
Revision 1.116 1999/06/26 00:24:53 pierre
|
Revision 1.116 1999/06/26 00:24:53 pierre
|
||||||
* mereg from fixes-0_99_12 branch
|
* mereg from fixes-0_99_12 branch
|
||||||
|
|
||||||
|
Revision 1.112.2.8 1999/07/16 09:54:57 peter
|
||||||
|
* @procvar support in tp7 mode works again
|
||||||
|
|
||||||
|
Revision 1.112.2.7 1999/07/07 07:53:10 michael
|
||||||
|
+ Merged patches from florian
|
||||||
|
|
||||||
Revision 1.112.2.6 1999/07/01 21:31:59 peter
|
Revision 1.112.2.6 1999/07/01 21:31:59 peter
|
||||||
* procvar fixes again
|
* procvar fixes again
|
||||||
|
|
||||||
|
|||||||
@ -918,11 +918,9 @@ const
|
|||||||
current_scanner^.readchar;
|
current_scanner^.readchar;
|
||||||
current_scanner^.skipspace;
|
current_scanner^.skipspace;
|
||||||
l:=current_scanner^.readval;
|
l:=current_scanner^.readval;
|
||||||
if l>1024 then
|
{ Ignore this value, because the limit is set by the OS
|
||||||
maxheapsize:=l;
|
info and shouldn't be changed by the user (PFV) }
|
||||||
end;
|
end;
|
||||||
if heapsize>maxheapsize then
|
|
||||||
message(scan_w_illegal_switch);
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -1087,10 +1085,16 @@ const
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.54 1999-07-03 00:29:58 peter
|
Revision 1.55 1999-07-16 10:04:36 peter
|
||||||
|
* merged
|
||||||
|
|
||||||
|
Revision 1.54 1999/07/03 00:29:58 peter
|
||||||
* new link writing to the ppu, one .ppu is needed for all link types,
|
* new link writing to the ppu, one .ppu is needed for all link types,
|
||||||
static (.o) is now always created also when smartlinking is used
|
static (.o) is now always created also when smartlinking is used
|
||||||
|
|
||||||
|
Revision 1.53.2.1 1999/07/16 09:53:06 peter
|
||||||
|
* ignore maxheapsize
|
||||||
|
|
||||||
Revision 1.53 1999/06/02 22:44:18 pierre
|
Revision 1.53 1999/06/02 22:44:18 pierre
|
||||||
* previous wrong log corrected
|
* previous wrong log corrected
|
||||||
|
|
||||||
|
|||||||
@ -926,6 +926,21 @@ implementation
|
|||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
|
||||||
|
{ support procvar=nil,procvar<>nil }
|
||||||
|
if ((ld^.deftype=procvardef) and (rt=niln)) or
|
||||||
|
((rd^.deftype=procvardef) and (lt=niln)) then
|
||||||
|
begin
|
||||||
|
calcregisters(p,1,0,0);
|
||||||
|
p^.location.loc:=LOC_REGISTER;
|
||||||
|
case p^.treetype of
|
||||||
|
equaln,unequaln : ;
|
||||||
|
else
|
||||||
|
CGMessage(type_e_mismatch);
|
||||||
|
end;
|
||||||
|
convdone:=true;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
|
||||||
if (rd^.deftype=pointerdef) or
|
if (rd^.deftype=pointerdef) or
|
||||||
is_zero_based_array(rd) then
|
is_zero_based_array(rd) then
|
||||||
begin
|
begin
|
||||||
@ -1102,9 +1117,15 @@ implementation
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.36 1999-06-17 15:32:48 pierre
|
Revision 1.37 1999-07-16 10:04:37 peter
|
||||||
|
* merged
|
||||||
|
|
||||||
|
Revision 1.36 1999/06/17 15:32:48 pierre
|
||||||
* merged from 0-99-12 branch
|
* merged from 0-99-12 branch
|
||||||
|
|
||||||
|
Revision 1.34.2.3 1999/07/16 09:54:58 peter
|
||||||
|
* @procvar support in tp7 mode works again
|
||||||
|
|
||||||
Revision 1.34.2.2 1999/06/17 15:25:07 pierre
|
Revision 1.34.2.2 1999/06/17 15:25:07 pierre
|
||||||
* for arrays of char operators can not be overloaded
|
* for arrays of char operators can not be overloaded
|
||||||
|
|
||||||
|
|||||||
@ -179,9 +179,18 @@ implementation
|
|||||||
{ proc/procvar 2 procvar ? }
|
{ proc/procvar 2 procvar ? }
|
||||||
if p^.left^.treetype=calln then
|
if p^.left^.treetype=calln then
|
||||||
begin
|
begin
|
||||||
{ it could also be a procvar, not only pprocsym ! }
|
{ is it a procvar, this is needed for @procvar in tp mode ! }
|
||||||
if p^.left^.symtableprocentry^.typ=varsym then
|
if assigned(p^.left^.right) then
|
||||||
hp:=genloadnode(pvarsym(p^.left^.symtableentry),p^.left^.symtableproc)
|
begin
|
||||||
|
{ just return the load of the procvar, remove the
|
||||||
|
addrn and calln nodes }
|
||||||
|
hp:=p^.left^.right;
|
||||||
|
putnode(p^.left);
|
||||||
|
putnode(p);
|
||||||
|
firstpass(hp);
|
||||||
|
p:=hp;
|
||||||
|
exit;
|
||||||
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
{ generate a methodcallnode or proccallnode }
|
{ generate a methodcallnode or proccallnode }
|
||||||
@ -268,7 +277,7 @@ implementation
|
|||||||
if is_constnode(p^.left) then
|
if is_constnode(p^.left) then
|
||||||
begin
|
begin
|
||||||
aktfilepos:=p^.left^.fileinfo;
|
aktfilepos:=p^.left^.fileinfo;
|
||||||
CGMessage(type_e_no_addr_of_constant);
|
CGMessage(type_e_no_addr_of_constant);
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
@ -582,12 +591,18 @@ implementation
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.20 1999-07-05 20:25:41 peter
|
Revision 1.21 1999-07-16 10:04:39 peter
|
||||||
|
* merged
|
||||||
|
|
||||||
|
Revision 1.20 1999/07/05 20:25:41 peter
|
||||||
* merged
|
* merged
|
||||||
|
|
||||||
Revision 1.19 1999/07/05 16:24:17 peter
|
Revision 1.19 1999/07/05 16:24:17 peter
|
||||||
* merged
|
* merged
|
||||||
|
|
||||||
|
Revision 1.18.2.4 1999/07/16 09:54:59 peter
|
||||||
|
* @procvar support in tp7 mode works again
|
||||||
|
|
||||||
Revision 1.18.2.3 1999/07/05 20:06:47 peter
|
Revision 1.18.2.3 1999/07/05 20:06:47 peter
|
||||||
* give error instead of warning for ln(0) and sqrt(0)
|
* give error instead of warning for ln(0) and sqrt(0)
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user