mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-03 00:30:18 +02:00
* small warning position bug fixed
* support_mmx switches splitting was missing * rhide error and warning output corrected
This commit is contained in:
parent
8f0342912e
commit
2222aab027
@ -1042,7 +1042,7 @@ implementation
|
||||
mmxbase:=mmx_type(p^.left^.resulttype);
|
||||
case p^.treetype of
|
||||
addn : begin
|
||||
if (cs_mmx_saturation in aktswitches) then
|
||||
if (cs_mmx_saturation in aktlocalswitches) then
|
||||
begin
|
||||
case mmxbase of
|
||||
mmxs8bit:
|
||||
@ -1076,7 +1076,7 @@ implementation
|
||||
end;
|
||||
end;
|
||||
subn : begin
|
||||
if (cs_mmx_saturation in aktswitches) then
|
||||
if (cs_mmx_saturation in aktlocalswitches) then
|
||||
begin
|
||||
case mmxbase of
|
||||
mmxs8bit:
|
||||
@ -1237,7 +1237,12 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.5 1998-08-14 18:18:37 peter
|
||||
Revision 1.6 1998-08-18 09:24:35 pierre
|
||||
* small warning position bug fixed
|
||||
* support_mmx switches splitting was missing
|
||||
* rhide error and warning output corrected
|
||||
|
||||
Revision 1.5 1998/08/14 18:18:37 peter
|
||||
+ dynamic set contruction
|
||||
* smallsets are now working (always longint size)
|
||||
|
||||
|
@ -2089,7 +2089,7 @@ implementation
|
||||
in_inc_byte..in_dec_dword:
|
||||
begin
|
||||
secondpass(p^.left);
|
||||
if cs_check_overflow in aktswitches then
|
||||
if cs_check_overflow in aktlocalswitches then
|
||||
begin
|
||||
{ SINCE THE CARRY FLAG IS NEVER SET BY DEC/INC, we must use }
|
||||
{ ADD and SUB to check for overflow for unsigned operations. }
|
||||
@ -2314,7 +2314,12 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.15 1998-08-13 11:00:09 peter
|
||||
Revision 1.16 1998-08-18 09:24:36 pierre
|
||||
* small warning position bug fixed
|
||||
* support_mmx switches splitting was missing
|
||||
* rhide error and warning output corrected
|
||||
|
||||
Revision 1.15 1998/08/13 11:00:09 peter
|
||||
* fixed procedure<>procedure construct
|
||||
|
||||
Revision 1.14 1998/08/11 14:05:33 peter
|
||||
|
@ -292,7 +292,7 @@ implementation
|
||||
op : tasmop;
|
||||
begin
|
||||
p^.location.loc:=LOC_MMXREGISTER;
|
||||
if cs_mmx_saturation in aktswitches then
|
||||
if cs_mmx_saturation in aktlocalswitches then
|
||||
case mmx_type(p^.resulttype) of
|
||||
mmxs8bit:
|
||||
op:=A_PSUBSB;
|
||||
@ -361,7 +361,7 @@ implementation
|
||||
exprasmlist^.concat(new(pai386,op_none(A_FCHS,S_NO)));
|
||||
end
|
||||
{$ifdef SUPPORT_MMX}
|
||||
else if (cs_mmx in aktswitches) and is_mmx_able_array(p^.left^.resulttype) then
|
||||
else if (cs_mmx in aktlocalswitches) and is_mmx_able_array(p^.left^.resulttype) then
|
||||
begin
|
||||
p^.location.register:=getregistermmx;
|
||||
emit_reg_reg(A_PXOR,S_NO,R_MM7,R_MM7);
|
||||
@ -467,7 +467,7 @@ implementation
|
||||
end;
|
||||
end
|
||||
{$ifdef SUPPORT_MMX}
|
||||
else if (cs_mmx in aktswitches) and is_mmx_able_array(p^.left^.resulttype) then
|
||||
else if (cs_mmx in aktlocalswitches) and is_mmx_able_array(p^.left^.resulttype) then
|
||||
begin
|
||||
secondpass(p^.left);
|
||||
p^.location.loc:=LOC_MMXREGISTER;
|
||||
@ -549,7 +549,12 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.3 1998-06-05 17:44:12 peter
|
||||
Revision 1.4 1998-08-18 09:24:38 pierre
|
||||
* small warning position bug fixed
|
||||
* support_mmx switches splitting was missing
|
||||
* rhide error and warning output corrected
|
||||
|
||||
Revision 1.3 1998/06/05 17:44:12 peter
|
||||
* splitted cgi386
|
||||
|
||||
Revision 1.2 1998/06/02 17:02:59 pierre
|
||||
|
@ -641,14 +641,14 @@ implementation
|
||||
hr^.scalefactor:=4;
|
||||
exprasmlist^.concat(new(pai386,op_ref(A_JMP,S_NO,hr)));
|
||||
{ !!!!! generate tables
|
||||
if not(cs_littlesize in aktswitches^ ) then
|
||||
if not(cs_littlesize in aktlocalswitches) then
|
||||
jumpsegment^.concat(new(pai386,op_const(A_ALIGN,S_NO,4)));
|
||||
}
|
||||
jumpsegment^.concat(new(pai_label,init(table)));
|
||||
last:=min_;
|
||||
genitem(hp);
|
||||
{ !!!!!!!
|
||||
if not(cs_littlesize in aktswitches^ ) then
|
||||
if not(cs_littlesize in aktlocalswitches) then
|
||||
exprasmlist^.concat(new(pai386,op_const(A_ALIGN,S_NO,4)));
|
||||
}
|
||||
end;
|
||||
@ -782,7 +782,12 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.5 1998-08-14 18:18:40 peter
|
||||
Revision 1.6 1998-08-18 09:24:39 pierre
|
||||
* small warning position bug fixed
|
||||
* support_mmx switches splitting was missing
|
||||
* rhide error and warning output corrected
|
||||
|
||||
Revision 1.5 1998/08/14 18:18:40 peter
|
||||
+ dynamic set contruction
|
||||
* smallsets are now working (always longint size)
|
||||
|
||||
|
@ -197,7 +197,7 @@ begin
|
||||
even if it does not yet use it PM }
|
||||
if status.use_gccoutput then
|
||||
hs:=gccfilename(status.currentsource)+':'+tostr(status.currentline)
|
||||
+':'+tostr(status.currentcolumn)+': '+hs
|
||||
+': '+hs+tostr(status.currentcolumn)+': '
|
||||
else
|
||||
hs:=status.currentsource+'('+tostr(status.currentline)
|
||||
+','+tostr(status.currentcolumn)+') '+hs;
|
||||
@ -234,7 +234,12 @@ end;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.2 1998-08-11 14:02:45 peter
|
||||
Revision 1.3 1998-08-18 09:24:40 pierre
|
||||
* small warning position bug fixed
|
||||
* support_mmx switches splitting was missing
|
||||
* rhide error and warning output corrected
|
||||
|
||||
Revision 1.2 1998/08/11 14:02:45 peter
|
||||
* don't write line if no sourcefile is set
|
||||
|
||||
Revision 1.1 1998/08/10 10:18:24 peter
|
||||
|
@ -68,6 +68,7 @@ EXEEXT=.exe
|
||||
endif
|
||||
|
||||
REPLACE=mv -f
|
||||
REMOVE=rm
|
||||
CP=cp -f
|
||||
|
||||
COMPILERDIR=$(BASEDIR)
|
||||
@ -213,9 +214,9 @@ MSGFILES:=$(wildcard *.msg)
|
||||
|
||||
.PHONY : all clean info \
|
||||
cycle remake remake3 \
|
||||
install \
|
||||
install next \
|
||||
diff diff3 patch rtl toflor replacediff3 restorediff3 \
|
||||
test rtlzip \
|
||||
test rtlzip rtlclean \
|
||||
|
||||
.pas.ppu:
|
||||
$(COMPILER) $<
|
||||
@ -306,14 +307,17 @@ remake3: $(TEMPNAME3)
|
||||
diff $(TEMPNAME3) $(EXENAME)
|
||||
|
||||
$(TEMPNAME1) : $(EXENAME)
|
||||
-$(REMOVE) $(TEMPNAME1)
|
||||
$(REPLACE) $(EXENAME) $(TEMPNAME1)
|
||||
|
||||
$(TEMPNAME2) : $(TEMPNAME1)
|
||||
$(MAKE) 'PP=./$(TEMPNAME1)' 'OLDPP=' next
|
||||
-$(REMOVE) $(TEMPNAME2)
|
||||
$(REPLACE) $(EXENAME) $(TEMPNAME2)
|
||||
|
||||
$(TEMPNAME3) : $(TEMPNAME2)
|
||||
$(MAKE) 'PP=./$(TEMPNAME2)' 'OLDPP=./$(TEMPNAME1)' next
|
||||
-$(REMOVE) $(TEMPNAME3)
|
||||
$(REPLACE) $(EXENAME) $(TEMPNAME3)
|
||||
|
||||
cycle:
|
||||
@ -440,7 +444,12 @@ rtlclean :
|
||||
# Test of log at the end
|
||||
# does CVS add # at start of each line ??
|
||||
# $Log$
|
||||
# Revision 1.24 1998-08-14 09:29:53 michael
|
||||
# Revision 1.25 1998-08-18 09:24:41 pierre
|
||||
# * small warning position bug fixed
|
||||
# * support_mmx switches splitting was missing
|
||||
# * rhide error and warning output corrected
|
||||
#
|
||||
# Revision 1.24 1998/08/14 09:29:53 michael
|
||||
# Updated compiler number
|
||||
#
|
||||
# Revision 1.23 1998/08/06 10:42:56 pierre
|
||||
|
@ -1323,7 +1323,7 @@ unit pass_1;
|
||||
end;
|
||||
end
|
||||
{$ifdef SUPPORT_MMX}
|
||||
else if (cs_mmx in aktmoduleswitches) and is_mmx_able_array(ld)
|
||||
else if (cs_mmx in aktlocalswitches) and is_mmx_able_array(ld)
|
||||
and is_mmx_able_array(rd) and is_equal(ld,rd) then
|
||||
begin
|
||||
firstpass(p^.right);
|
||||
@ -1591,7 +1591,7 @@ unit pass_1;
|
||||
p^.location.loc:=LOC_FPU;
|
||||
end
|
||||
{$ifdef SUPPORT_MMX}
|
||||
else if (cs_mmx in aktmoduleswitches) and
|
||||
else if (cs_mmx in aktlocalswitches) and
|
||||
is_mmx_able_array(p^.left^.resulttype) then
|
||||
begin
|
||||
if (p^.left^.location.loc<>LOC_MMXREGISTER) and
|
||||
@ -1599,7 +1599,7 @@ unit pass_1;
|
||||
p^.registersmmx:=1;
|
||||
{ if saturation is on, p^.left^.resulttype isn't
|
||||
"mmx able" (FK)
|
||||
if (cs_mmx_saturation in aktmoduleswitches^) and
|
||||
if (cs_mmx_saturation in aktlocalswitches^) and
|
||||
(porddef(parraydef(p^.resulttype)^.definition)^.typ in
|
||||
[s32bit,u32bit]) then
|
||||
Message(sym_e_type_mismatch);
|
||||
@ -1780,7 +1780,7 @@ unit pass_1;
|
||||
end
|
||||
else
|
||||
{$ifdef SUPPORT_MMX}
|
||||
if (cs_mmx in aktmoduleswitches) and
|
||||
if (cs_mmx in aktlocalswitches) and
|
||||
is_mmx_able_array(p^.left^.resulttype) then
|
||||
begin
|
||||
if (p^.left^.location.loc<>LOC_MMXREGISTER) and
|
||||
@ -3484,7 +3484,7 @@ unit pass_1;
|
||||
else
|
||||
begin
|
||||
{$ifdef SUPPORT_MMX}
|
||||
if (cs_mmx in aktmoduleswitches) and
|
||||
if (cs_mmx in aktlocalswitches) and
|
||||
is_mmx_able_array(p^.resulttype) then
|
||||
begin
|
||||
p^.location.loc:=LOC_MMXREGISTER;
|
||||
@ -5206,7 +5206,12 @@ unit pass_1;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.55 1998-08-14 18:18:44 peter
|
||||
Revision 1.56 1998-08-18 09:24:42 pierre
|
||||
* small warning position bug fixed
|
||||
* support_mmx switches splitting was missing
|
||||
* rhide error and warning output corrected
|
||||
|
||||
Revision 1.55 1998/08/14 18:18:44 peter
|
||||
+ dynamic set contruction
|
||||
* smallsets are now working (always longint size)
|
||||
|
||||
|
@ -1075,7 +1075,7 @@ unit pexpr;
|
||||
((p^.flags and pi_operator)<>0))}) and
|
||||
(p^.retdef<>pdef(voiddef)) and
|
||||
(token<>LKLAMMER) and
|
||||
(not ((cs_tp_compatible in aktswitches) and
|
||||
(not ((cs_tp_compatible in aktmoduleswitches) and
|
||||
(afterassignment or in_args))) then
|
||||
begin
|
||||
p1:=genzeronode(funcretn);
|
||||
@ -1829,7 +1829,12 @@ unit pexpr;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.36 1998-08-15 16:50:29 peter
|
||||
Revision 1.37 1998-08-18 09:24:43 pierre
|
||||
* small warning position bug fixed
|
||||
* support_mmx switches splitting was missing
|
||||
* rhide error and warning output corrected
|
||||
|
||||
Revision 1.36 1998/08/15 16:50:29 peter
|
||||
* fixed proc()=expr which was not allowed anymore by my previous fix
|
||||
|
||||
Revision 1.35 1998/08/14 18:18:46 peter
|
||||
|
@ -459,11 +459,7 @@ const
|
||||
sw : tmoduleswitch;
|
||||
begin
|
||||
case t of
|
||||
{$ifdef SUPPORT_MMX}
|
||||
_DIR_MMX : sw:=cs_mmx;
|
||||
_DIR_SATURATION : sw:=cs_mmx_saturation;
|
||||
{$endif}
|
||||
_DIR_SMARTLINK : sw:=cs_smartlink;
|
||||
_DIR_SMARTLINK : sw:=cs_smartlink;
|
||||
end;
|
||||
current_scanner^.skipspace;
|
||||
if c='-' then
|
||||
@ -473,6 +469,24 @@ const
|
||||
end;
|
||||
|
||||
|
||||
procedure dir_localswitch(t:tdirectivetoken);
|
||||
var
|
||||
sw : tlocalswitch;
|
||||
begin
|
||||
case t of
|
||||
{$ifdef SUPPORT_MMX}
|
||||
_DIR_MMX : sw:=cs_mmx;
|
||||
_DIR_SATURATION : sw:=cs_mmx_saturation;
|
||||
{$endif}
|
||||
end;
|
||||
current_scanner^.skipspace;
|
||||
if c='-' then
|
||||
aktlocalswitches:=aktlocalswitches-[sw]
|
||||
else
|
||||
aktlocalswitches:=aktlocalswitches+[sw];
|
||||
end;
|
||||
|
||||
|
||||
procedure dir_include(t:tdirectivetoken);
|
||||
var
|
||||
hs : string;
|
||||
@ -640,11 +654,11 @@ const
|
||||
{_DIR_L} dir_linkobject,
|
||||
{_DIR_LINKLIB} dir_linklib,
|
||||
{_DIR_MESSAGE} dir_message,
|
||||
{_DIR_MMX} dir_moduleswitch,
|
||||
{_DIR_MMX} dir_localswitch,
|
||||
{_DIR_NOTE} dir_message,
|
||||
{_DIR_OUTPUT_FORMAT} dir_outputformat,
|
||||
{_DIR_PACKRECORDS} dir_packrecords,
|
||||
{_DIR_SATURATION} dir_moduleswitch,
|
||||
{_DIR_SATURATION} dir_localswitch,
|
||||
{_DIR_SMARTLINK} dir_moduleswitch,
|
||||
{_DIR_STOP} dir_message,
|
||||
{_DIR_UNDEF} dir_undef,
|
||||
@ -706,7 +720,12 @@ const
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.18 1998-08-10 14:50:25 peter
|
||||
Revision 1.19 1998-08-18 09:24:44 pierre
|
||||
* small warning position bug fixed
|
||||
* support_mmx switches splitting was missing
|
||||
* rhide error and warning output corrected
|
||||
|
||||
Revision 1.18 1998/08/10 14:50:25 peter
|
||||
+ localswitches, moduleswitches, globalswitches splitting
|
||||
|
||||
Revision 1.17 1998/08/10 09:56:04 peter
|
||||
|
@ -1,3 +1,4 @@
|
||||
|
||||
{
|
||||
$Id$
|
||||
Copyright (C) 1995,97 by Florian Klaempfl
|
||||
@ -875,7 +876,12 @@ begin
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.24 1998-08-17 09:17:54 peter
|
||||
Revision 1.25 1998-08-18 09:24:45 pierre
|
||||
* small warning position bug fixed
|
||||
* support_mmx switches splitting was missing
|
||||
* rhide error and warning output corrected
|
||||
|
||||
Revision 1.24 1998/08/17 09:17:54 peter
|
||||
* static/shared linking updates
|
||||
|
||||
Revision 1.23 1998/06/25 08:48:20 florian
|
||||
|
@ -1240,9 +1240,9 @@ unit tree;
|
||||
comment(v_warning,'fileinfo.fileindex field different');
|
||||
error_found:=true;
|
||||
end;
|
||||
if oldp^.pragmas<>p^.pragmas then
|
||||
if oldp^.localswitches<>p^.localswitches then
|
||||
begin
|
||||
comment(v_warning,'pragmas field different');
|
||||
comment(v_warning,'localswitches field different');
|
||||
error_found:=true;
|
||||
end;
|
||||
{$ifdef extdebug}
|
||||
@ -1557,7 +1557,12 @@ unit tree;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.29 1998-08-14 18:18:48 peter
|
||||
Revision 1.30 1998-08-18 09:24:47 pierre
|
||||
* small warning position bug fixed
|
||||
* support_mmx switches splitting was missing
|
||||
* rhide error and warning output corrected
|
||||
|
||||
Revision 1.29 1998/08/14 18:18:48 peter
|
||||
+ dynamic set contruction
|
||||
* smallsets are now working (always longint size)
|
||||
|
||||
|
@ -321,7 +321,7 @@ unit types;
|
||||
|
||||
begin
|
||||
{$ifdef SUPPORT_MMX}
|
||||
if (cs_mmx_saturation in aktswitches) then
|
||||
if (cs_mmx_saturation in aktlocalswitches) then
|
||||
begin
|
||||
is_mmx_able_array:=(p^.deftype=arraydef) and
|
||||
(
|
||||
@ -862,14 +862,24 @@ unit types;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.18 1998-08-14 18:18:49 peter
|
||||
Revision 1.19 1998-08-18 09:24:48 pierre
|
||||
* small warning position bug fixed
|
||||
* support_mmx switches splitting was missing
|
||||
* rhide error and warning output corrected
|
||||
|
||||
Revision 1.18 1998/08/14 18:18:49 peter
|
||||
+ dynamic set contruction
|
||||
* smallsets are now working (always longint size)
|
||||
|
||||
Revision 1.17 1998/08/05 16:00:17 florian
|
||||
* some fixes for ansi strings
|
||||
* $log$ to $Log$
|
||||
* $log$ to Revision 1.18 1998-08-14 18:18:49 peter
|
||||
* $log$ to Revision 1.19 1998-08-18 09:24:48 pierre
|
||||
* $log$ to * small warning position bug fixed
|
||||
* $log$ to * support_mmx switches splitting was missing
|
||||
* $log$ to * rhide error and warning output corrected
|
||||
* $log$ to
|
||||
* $log$ to Revision 1.18 1998/08/14 18:18:49 peter
|
||||
* $log$ to + dynamic set contruction
|
||||
* $log$ to * smallsets are now working (always longint size)
|
||||
* $log$ to changed
|
||||
|
@ -225,11 +225,11 @@ begin
|
||||
status.currentcolumn:=aktfilepos.column;
|
||||
if assigned(current_module) and
|
||||
((current_module^.unit_index<>lastmoduleidx) or
|
||||
(current_module^.current_index<>lastfileidx)) then
|
||||
(aktfilepos.fileindex<>lastfileidx)) then
|
||||
begin
|
||||
status.currentsource:=current_module^.sourcefiles.get_file_name(current_module^.current_index);
|
||||
lastmoduleidx:=current_module^.unit_index;
|
||||
lastfileidx:=current_module^.current_index;
|
||||
lastfileidx:=aktfilepos.fileindex;
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -331,11 +331,11 @@ begin
|
||||
status.currentcolumn:=aktfilepos.column;
|
||||
if assigned(current_module) and
|
||||
((current_module^.unit_index<>lastmoduleidx) or
|
||||
(current_module^.current_index<>lastfileidx)) then
|
||||
(aktfilepos.fileindex<>lastfileidx)) then
|
||||
begin
|
||||
status.currentsource:=current_module^.sourcefiles.get_file_name(current_module^.current_index);
|
||||
status.currentsource:=current_module^.sourcefiles.get_file_name(aktfilepos.fileindex);
|
||||
lastmoduleidx:=current_module^.unit_index;
|
||||
lastfileidx:=current_module^.current_index;
|
||||
lastfileidx:=aktfilepos.fileindex;
|
||||
end;
|
||||
{ show comment }
|
||||
if do_comment(v,s) or dostop or (status.errorcount>=status.maxerrorcount) then
|
||||
@ -385,7 +385,12 @@ end.
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.14 1998-08-11 14:09:15 peter
|
||||
Revision 1.15 1998-08-18 09:24:49 pierre
|
||||
* small warning position bug fixed
|
||||
* support_mmx switches splitting was missing
|
||||
* rhide error and warning output corrected
|
||||
|
||||
Revision 1.14 1998/08/11 14:09:15 peter
|
||||
* fixed some messages and smaller msgtxt.inc
|
||||
|
||||
Revision 1.13 1998/08/10 14:50:37 peter
|
||||
|
Loading…
Reference in New Issue
Block a user