Forum > Free Pascal

FPC 3.2.0 Released !

<< < (16/17) > >>

Seenkao:
Я извиняюсь, но ваш ответ больше похож на: " Нам наплевать на данную ошибку".

google translate:
I'm sorry, but your answer is more like: "We don't give a damn about this error."

Igor Kokarev:
Hi,

When do you plan RC or final version for FPC 3.2.1?

PascalDragon:

--- Quote from: Seenkao on November 28, 2020, 11:55:11 am ---I'm sorry, but your answer is more like: "We don't give a damn about this error."

--- End quote ---

You did not show that is indeed an error. You only showed some screenshot with some code snippet with no explanation how Field and ACTIVE are declared only stating that enabling range checking leads to problems for you. So unless you provide a self contained, compilable example that shows that something fails then there is no error to give a damn about.


--- Quote from: Igor Kokarev on November 28, 2020, 01:11:28 pm ---When do you plan RC or final version for FPC 3.2.1?

--- End quote ---

We are currently in the progress of merging fixes and improvements from trunk, so it will still take some time. Maybe before Christmas, but don't take that for granted.

rvk:

--- Quote from: Seenkao on November 27, 2020, 07:15:23 am ---If so, for what reason, the check is carried out during the execution of the program? Why does this check not occur at the link stage, when the program has not yet been compiled.
--- End quote ---
Range checks errors can't usually be checked during compilation/linking. Some will (i.e. accessing array[-1] of an array[0..100]) but with a variable there is no way to check during linking, only during execution of your program. That's why you should debug and test with range check on. After that, when you check your program is flawless ( ::) ) you can disable range check (and other debugging options) for your release to client.

Seenkao:

--- Quote from: rvk on November 28, 2020, 03:58:36 pm ---Range checks errors can't usually be checked during compilation/linking. Some will (i.e. accessing array[-1] of an array[0..100]) but with a variable there is no way to check during linking, only during execution of your program. That's why you should debug and test with range check on. After that, when you check your program is flawless ( ::) ) you can disable range check (and other debugging options) for your release to client.

--- End quote ---
Флаги нельзя проверять по переменным! А если это будет сделано, то компилятор как раз выдаст ошибку, если переменные будут разной размерности.
google translate:
Flags cannot be checked against variables! And if this is done, then the compiler will just give an error if the variables are of different dimensions.

PascalDragon,

--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---...const  EDIT_TRUE     = $FFFFFFFFF;         // <--- typo (I did it on purpose)...var  EditMode : LongWord;                   //  Byte or Word - ignored if not more LongWord...procedure ...    if not (EditMode and EDIT_TRUE) = 0 then    begin      EditMode := EditMode or EDIT_TRUE;                          // <-- work!!! always      EditMode := EditMode or $1 0000 0000;                      // <-- when debugging is enabled, the dimension                               // checking code is inserted next                              // and even if the program was working, it will not work when debugging                              // (overflow enabled)      newEdit[EditOne].Flags := newEdit[EditOne].Flags or ACTIVE;    end    else begin    ... OS - Linux
CPU - x86_64
I hope I have detailed enough?

P.S. in the structure the bytes will be checked for dimension.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version