Re: [fpc-pascal] What is -CO ?

2023-06-09 Thread Martin via fpc-pascal

On 09/06/2023 12:03, Mattias Gaertner via fpc-pascal wrote:

Hi,

What is -CO?

In the docs I can only find this sentence:
"Check for possible overflow of integer operations"



Done some testing. -CO produces the below warning.

program Project1;
var a,b: Integer;
var c: integer;
begin
a := Random();
b := Random();
c := a +b;  // project1.lpr(7,3) Warning: Type size mismatch, possible 
loss of data / range check error

writeln(c);
end.


However it overdoes it.

make it
  var a,b: shortInt;

Then the ":=random" will warn => ok.
But the addition still warns, yet it can't ever fail. (even if the 
compiler internally uses int64)

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] What is -CO ?

2023-06-09 Thread Michalis Kamburelis via fpc-pascal
I'm also curious :)

I just tested, and the -Co (lowercase "o") enables overflow checking
by default (like "{$Q+}" in code),
https://github.com/michaliskambi/modern-pascal-introduction/wiki/What-are-range-and-overflow-checks-(and-errors)-in-Pascal
.

But -CO (uppercase "O") seems unrelated to it.

This example:

"""
{$mode objfpc}
uses SysUtils;
var
  A: Int64;
begin
  A := High(Int64) - 100;
  A := A + 200;
  Writeln('Result is ', A);
end.
"""

... behaves the same, regardless if it's compiled with "-CO" or not.
(Only "-Co" is relevant, controls do we make overflow check, as
expected.)

Regards,
Michalis

pt., 9 cze 2023 o 12:03 Mattias Gaertner via fpc-pascal
 napisał(a):
>
> Hi,
>
> What is -CO?
>
> In the docs I can only find this sentence:
> "Check for possible overflow of integer operations"
>
>
> Mattias
> ___
> fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


[fpc-pascal] What is -CO ?

2023-06-09 Thread Mattias Gaertner via fpc-pascal
Hi,

What is -CO?

In the docs I can only find this sentence:
"Check for possible overflow of integer operations"


Mattias
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal