- switch -Sa removed

- support of a:=b:=0 removed
This commit is contained in:
florian 1998-03-26 11:18:30 +00:00
parent fe4a3fcbf1
commit 01575ac687
5 changed files with 44 additions and 48 deletions

View File

@ -2057,7 +2057,7 @@ implementation
oflabel:=falselabel;
getlabel(truelabel);
getlabel(falselabel);
withresult:=not(aktexprlevel<4);
withresult:=false;
{ calculate left sides }
secondpass(p^.left);
case p^.left^.location.loc of
@ -5654,8 +5654,12 @@ do_jmp:
end.
{
$Log$
Revision 1.1 1998-03-25 11:18:13 root
Initial revision
Revision 1.2 1998-03-26 11:18:30 florian
- switch -Sa removed
- support of a:=b:=0 removed
Revision 1.1.1.1 1998/03/25 11:18:13 root
* Restored version
Revision 1.58 1998/03/24 21:48:30 florian
* just a couple of fixes applied:

View File

@ -284,7 +284,6 @@ unit parser;
if compile_system then
aktswitches:=aktswitches+[cs_compilesystem];
aktexprlevel:=initexprlevel;
aktpackrecords:=initpackrecords;
{ init code generator for a new module }
@ -531,8 +530,12 @@ done:
end.
{
$Log$
Revision 1.1 1998-03-25 11:18:12 root
Initial revision
Revision 1.2 1998-03-26 11:18:30 florian
- switch -Sa removed
- support of a:=b:=0 removed
Revision 1.1.1.1 1998/03/25 11:18:12 root
* Restored version
Revision 1.60 1998/03/24 21:48:32 florian
* just a couple of fixes applied:

View File

@ -1675,8 +1675,7 @@ unit pass_1;
end;
end;
if (aktexprlevel<4) then p^.resulttype:=voiddef
else p^.resulttype:=p^.right^.resulttype;
p^.resulttype:=voiddef;
{
p^.registers32:=max(p^.left^.registers32,p^.right^.registers32);
p^.registersfpu:=max(p^.left^.registersfpu,p^.right^.registersfpu);
@ -3091,7 +3090,9 @@ unit pass_1;
if ret_in_param(procinfo.retdef) then
p^.registers32:=1;
{$ifdef GDB}
if must_be_valid and not procinfo.funcret_is_valid then
if must_be_valid and
not(procinfo.funcret_is_valid) and
((procinfo.flags and pi_uses_asm)=0) then
Message(sym_w_function_result_not_set);
if count_ref then procinfo.funcret_is_valid:=true;
{$endif * GDB *}
@ -4486,8 +4487,12 @@ unit pass_1;
end.
{
$Log$
Revision 1.1 1998-03-25 11:18:14 root
Initial revision
Revision 1.2 1998-03-26 11:18:31 florian
- switch -Sa removed
- support of a:=b:=0 removed
Revision 1.1.1.1 1998/03/25 11:18:14 root
* Restored version
Revision 1.41 1998/03/13 22:45:59 florian
* small bug fixes applied

View File

@ -1450,14 +1450,7 @@ unit pexpr;
{ should be recursive for a:=b:=c !!! }
if (p1^.resulttype<>nil) and (p1^.resulttype^.deftype=procvardef) then
getprocvar:=true;
{$ifdef tp}
p2:=expr;
{$else}
{ FPC needs this to recognizes the call }
{ because the function name can be used like }
{ an simple variable }
p2:=expr();
{$endif}
p2:=sub_expr(opcompare);
if getprocvar and (p2^.treetype=calln) then
begin
p2^.treetype:=loadn;
@ -1471,12 +1464,7 @@ unit pexpr;
{ from an improvement of Peter Schaefer }
_PLUSASN : begin
consume(_PLUSASN );
{$ifdef tp}
p2:=expr;
{$else}
p2:=expr();
{$endif}
p2:=sub_expr(opcompare);
p1:=gennode(assignn,p1,gennode(addn,getcopy(p1),p2));
{ was first
p1:=gennode(assignn,p1,gennode(addn,p1,p2));
@ -1486,32 +1474,19 @@ unit pexpr;
_MINUSASN : begin
consume(_MINUSASN );
{$ifdef tp}
p2:=expr;
{$else}
p2:=expr();
{$endif}
p2:=sub_expr(opcompare);
p1:=gennode(assignn,p1,gennode(subn,getcopy(p1),p2));
end;
_STARASN : begin
consume(_STARASN );
{$ifdef tp}
p2:=expr;
{$else}
p2:=expr();
{$endif}
p2:=sub_expr(opcompare);
p1:=gennode(assignn,p1,gennode(muln,getcopy(p1),p2));
end;
_SLASHASN : begin
consume(_SLASHASN );
{$ifdef tp}
p2:=expr;
{$else}
p2:=expr();
{$endif}
p2:=sub_expr(opcompare);
p1:=gennode(assignn,p1,gennode(slashn,getcopy(p1),p2));
end;
end;
afterassignment:=oldafterassignment;
expr:=p1;
@ -1563,8 +1538,12 @@ unit pexpr;
end.
{
$Log$
Revision 1.1 1998-03-25 11:18:14 root
Initial revision
Revision 1.2 1998-03-26 11:18:31 florian
- switch -Sa removed
- support of a:=b:=0 removed
Revision 1.1.1.1 1998/03/25 11:18:14 root
* Restored version
Revision 1.26 1998/03/24 21:48:33 florian
* just a couple of fixes applied:

View File

@ -918,9 +918,10 @@ unit pstatmnt;
goto ready;
end;
end;
p:=expr;
if (aktexprlevel<9) and (p^.treetype<>calln)
and (p^.treetype<>assignn) and (p^.treetype<>inlinen) then
p:=expr;
if (p^.treetype<>calln) and
(p^.treetype<>assignn) and
(p^.treetype<>inlinen) then
Message(cg_e_illegal_expression);
code:=p;
end;
@ -1063,8 +1064,12 @@ unit pstatmnt;
end.
{
$Log$
Revision 1.1 1998-03-25 11:18:15 root
Initial revision
Revision 1.2 1998-03-26 11:18:31 florian
- switch -Sa removed
- support of a:=b:=0 removed
Revision 1.1.1.1 1998/03/25 11:18:15 root
* Restored version
Revision 1.21 1998/03/10 16:27:42 pierre
* better line info in stabs debug