mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 19:49:22 +02:00
* fixed warnings for length/high/low(<normal array>; <ord>; <enum>)
git-svn-id: trunk@5795 -
This commit is contained in:
parent
8bd9d88641
commit
80d4887e67
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -6246,6 +6246,7 @@ tests/tbs/tb0517.pp svneol=native#text/plain
|
|||||||
tests/tbs/tb0518.pp svneol=native#text/plain
|
tests/tbs/tb0518.pp svneol=native#text/plain
|
||||||
tests/tbs/tb0519.pp svneol=native#text/plain
|
tests/tbs/tb0519.pp svneol=native#text/plain
|
||||||
tests/tbs/tb0520.pp svneol=native#text/plain
|
tests/tbs/tb0520.pp svneol=native#text/plain
|
||||||
|
tests/tbs/tb0521.pp svneol=native#text/plain
|
||||||
tests/tbs/ub0060.pp svneol=native#text/plain
|
tests/tbs/ub0060.pp svneol=native#text/plain
|
||||||
tests/tbs/ub0069.pp svneol=native#text/plain
|
tests/tbs/ub0069.pp svneol=native#text/plain
|
||||||
tests/tbs/ub0119.pp svneol=native#text/plain
|
tests/tbs/ub0119.pp svneol=native#text/plain
|
||||||
|
@ -1111,6 +1111,7 @@ implementation
|
|||||||
case def.typ of
|
case def.typ of
|
||||||
orddef:
|
orddef:
|
||||||
begin
|
begin
|
||||||
|
set_varstate(left,vs_read,[]);
|
||||||
if inlinenumber=in_low_x then
|
if inlinenumber=in_low_x then
|
||||||
v:=torddef(def).low
|
v:=torddef(def).low
|
||||||
else
|
else
|
||||||
@ -1150,6 +1151,7 @@ implementation
|
|||||||
end;
|
end;
|
||||||
enumdef:
|
enumdef:
|
||||||
begin
|
begin
|
||||||
|
set_varstate(left,vs_read,[]);
|
||||||
enum:=tenumsym(tenumdef(def).firstenum);
|
enum:=tenumsym(tenumdef(def).firstenum);
|
||||||
v:=tenumdef(def).maxval;
|
v:=tenumdef(def).maxval;
|
||||||
if inlinenumber=in_high_x then
|
if inlinenumber=in_high_x then
|
||||||
@ -1567,6 +1569,10 @@ implementation
|
|||||||
|
|
||||||
in_length_x:
|
in_length_x:
|
||||||
begin
|
begin
|
||||||
|
if not(is_special_array(left.resultdef)) or
|
||||||
|
(left.resultdef.typ=orddef) then
|
||||||
|
set_varstate(left,vs_read,[])
|
||||||
|
else
|
||||||
set_varstate(left,vs_read,[vsf_must_be_valid]);
|
set_varstate(left,vs_read,[vsf_must_be_valid]);
|
||||||
|
|
||||||
case left.resultdef.typ of
|
case left.resultdef.typ of
|
||||||
@ -1887,6 +1893,7 @@ implementation
|
|||||||
begin
|
begin
|
||||||
if inlinenumber=in_low_x then
|
if inlinenumber=in_low_x then
|
||||||
begin
|
begin
|
||||||
|
set_varstate(left,vs_read,[]);
|
||||||
result:=cordconstnode.create(tarraydef(
|
result:=cordconstnode.create(tarraydef(
|
||||||
left.resultdef).lowrange,tarraydef(left.resultdef).rangedef,true);
|
left.resultdef).lowrange,tarraydef(left.resultdef).rangedef,true);
|
||||||
end
|
end
|
||||||
@ -1912,6 +1919,7 @@ implementation
|
|||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
|
set_varstate(left,vs_read,[]);
|
||||||
result:=cordconstnode.create(tarraydef(
|
result:=cordconstnode.create(tarraydef(
|
||||||
left.resultdef).highrange,tarraydef(left.resultdef).rangedef,true);
|
left.resultdef).highrange,tarraydef(left.resultdef).rangedef,true);
|
||||||
end;
|
end;
|
||||||
|
23
tests/tbs/tb0521.pp
Normal file
23
tests/tbs/tb0521.pp
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{ %opt=-vw -Sew }
|
||||||
|
{ %norun }
|
||||||
|
procedure p;
|
||||||
|
var
|
||||||
|
c : char;
|
||||||
|
w : widechar;
|
||||||
|
a : array[0..1] of longint;
|
||||||
|
i : integer;
|
||||||
|
e : (e1,e2,e3);
|
||||||
|
begin
|
||||||
|
writeln(length(c));
|
||||||
|
writeln(length(w));
|
||||||
|
writeln(length(a));
|
||||||
|
writeln(low(i));
|
||||||
|
writeln(high(i));
|
||||||
|
writeln(ord(low(e)));
|
||||||
|
writeln(ord(high(e)));
|
||||||
|
writeln(low(a));
|
||||||
|
writeln(high(a));
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
end.
|
Loading…
Reference in New Issue
Block a user