diff --git a/compiler/assemble.pas b/compiler/assemble.pas index 2e4e8bc57c..8c120c1124 100644 --- a/compiler/assemble.pas +++ b/compiler/assemble.pas @@ -151,12 +151,10 @@ begin lastas:=ord(target_asm.id); { is an assembler passed ? } if utilsdirectory<>'' then - begin - LastASBin:=Search(target_asm.asmbin+source_os.exeext, - utilsdirectory,asfound)+target_asm.asmbin+source_os.exeext; - end - else - LastASBin:=FindExe(target_asm.asmbin,asfound); + LastASBin:=Search(target_asm.asmbin+source_os.exeext,utilsdirectory,asfound)+ + target_asm.asmbin+source_os.exeext; + if LastASBin='' then + LastASBin:=FindExe(target_asm.asmbin,asfound); if (not asfound) and not(cs_asm_extern in aktglobalswitches) then begin Message1(exec_w_assembler_not_found,LastASBin); @@ -549,7 +547,13 @@ end; end. { $Log$ - Revision 1.48 1999-05-27 19:44:03 peter + Revision 1.49 1999-06-28 16:02:29 peter + * merged + + Revision 1.48.2.1 1999/06/28 15:55:39 peter + * also search path if not found in utilsdirectory + + Revision 1.48 1999/05/27 19:44:03 peter * removed oldasm * plabel -> pasmlabel * -a switches to source writing automaticly diff --git a/compiler/htypechk.pas b/compiler/htypechk.pas index 684c9f8814..19f8fe3cf0 100644 --- a/compiler/htypechk.pas +++ b/compiler/htypechk.pas @@ -460,7 +460,7 @@ implementation else begin { assignment overwritten ?? } - if assigned(assignment_overloaded(def_from,def_to)) then + if assignment_overloaded(def_from,def_to)<>nil then b:=2; end; end; @@ -662,11 +662,14 @@ implementation end. { $Log$ - Revision 1.29 1999-06-18 11:02:51 daniel - - Enumerations no longer compatible with integer types. + Revision 1.30 1999-06-28 16:02:30 peter + * merged - Revision 1.28 1999/06/17 13:19:51 pierre - * merged from 0_99_12 branch + Revision 1.27.2.3 1999/06/28 15:51:27 peter + * tp7 fix + + Revision 1.27.2.2 1999/06/18 10:56:58 daniel + - Enumerations no longer compatible with integer types Revision 1.27.2.1 1999/06/17 12:51:42 pierre * changed is_assignment_overloaded into diff --git a/compiler/link.pas b/compiler/link.pas index 8760d662b3..9168b22106 100644 --- a/compiler/link.pas +++ b/compiler/link.pas @@ -163,11 +163,9 @@ begin if LastLDBin='' then begin if utilsdirectory<>'' then - begin - LastLDBin:=Search(target_link.linkbin+source_os.exeext, - utilsdirectory,ldfound)+target_link.linkbin+source_os.exeext; - end - else + LastLDBin:=Search(target_link.linkbin+source_os.exeext,utilsdirectory,ldfound)+ + target_link.linkbin+source_os.exeext; + if LastLDBin='' then LastLDBin:=FindExe(target_link.linkbin,ldfound); if (not ldfound) and not(cs_link_extern in aktglobalswitches) then begin @@ -654,11 +652,11 @@ end; end. { $Log$ - Revision 1.56 1999-06-18 09:55:30 peter + Revision 1.57 1999-06-28 16:02:31 peter * merged - Revision 1.55 1999/06/15 13:57:31 peter - * merged + Revision 1.54.2.3 1999/06/28 15:55:40 peter + * also search path if not found in utilsdirectory Revision 1.54.2.2 1999/06/18 09:51:55 peter * always use shell() for go32v2 to support LFN diff --git a/compiler/ra386int.pas b/compiler/ra386int.pas index a226431eb4..5b2f179571 100644 --- a/compiler/ra386int.pas +++ b/compiler/ra386int.pas @@ -333,6 +333,24 @@ begin if not inexpression then exit; end; + { support st(X) for fpu registers } + if (actasmpattern = 'ST') and (c='(') then + Begin + actasmpattern:=actasmpattern+c; + c:=current_scanner^.asmgetchar; + if c in ['0'..'9'] then + actasmpattern:=actasmpattern + c + else + Message(asmr_e_invalid_fpu_register); + c:=current_scanner^.asmgetchar; + if c <> ')' then + Message(asmr_e_invalid_fpu_register) + else + Begin + actasmpattern:=actasmpattern + c; + c:=current_scanner^.asmgetchar; + end; + end; if is_register(actasmpattern) then exit; if is_asmdirective(actasmpattern) then @@ -1603,8 +1621,7 @@ Begin else Begin Message(asmr_e_syntax_error); - { error recovery } - Consume(actasmtoken); + RecoverConsume(false); end; end; { end case } until false; @@ -1640,9 +1657,15 @@ begin end. { $Log$ - Revision 1.38 1999-06-21 16:45:02 peter + Revision 1.39 1999-06-28 16:02:32 peter * merged + Revision 1.37.2.3 1999/06/28 15:52:36 peter + * better recovery in main loop + + Revision 1.37.2.2 1999/06/22 14:20:22 peter + * fixed parsing and writing of fpureg + Revision 1.37.2.1 1999/06/21 16:43:00 peter * fixed label and opcode on the same line