О релизах и багах

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Сообщение 20khz » 28.02.2006 22:11:36

liveliness analysis - анализ области действия (жизни)
20khz
новенький
 
Сообщения: 25
Зарегистрирован: 13.10.2005 19:07:40

Сообщение SovNarKom » 15.03.2006 03:13:40

Странный баг abs-а
FPC 2.0.2, 2.0.3
Код: Выделить всё
var
 minfactor: Integer;
begin
 minfactor:=abs(30000-MillisecondOfTheMinute(now));
 // minfactor = -15656 !!!

 minfactor:=30000-MillisecondOfTheMinute(now);
 minfactor:=abs(minfactor);
  // minfactor = 15656 !!!
end;


Причём такой вариант работает нормально
Код: Выделить всё
var
 minfactor: Integer;
begin
 minfactor:=abs(30-SecondOfTheMinute(now));
 // minfactor = 15
end;
SovNarKom
постоялец
 
Сообщения: 389
Зарегистрирован: 28.05.2005 10:37:39
Откуда: Воронеж [vrn] [36]

Сообщение hawke » 07.05.2006 00:15:33

Позвольте вынести на всеобшее рассмотрение следующий вопрос:
В RTL существует функция FPC_WSTR_ASSIGN призванная реализовыть присвоение для двух WideString'ов. Однако в действительности данная функция почему-то не используется компилятором. Эта ошибка (или, скорее, недочет?) не проявляется, если использовать "стандартную" реализацию для Widestring, но становится критичной, если что-то решили поменять.

(Для повышения совместимости со строками Delphi было бы категорически приятно, если бы комилятор все же вызывал ее.
(дело в том, что строки в Windows не имееют счетчика ссылок, что существенно меняет метод работы с ними)
От себя могу предложить готовый вариант файла wstrings.inc , который в полной мере обеспечивает требуемую функциональность)
hawke
незнакомец
 
Сообщения: 2
Зарегистрирован: 06.05.2006 23:36:32

Пред.

Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 87

Рейтинг@Mail.ru