О релизах и багах
Модератор: Модераторы
- Иван Шихалев
- энтузиаст
- Сообщения: 1138
- Зарегистрирован: 15.05.2006 11:26:13
- Откуда: Екатеринбург
- Контактная информация:
В прошлый раз зарелизив единичку FPC Team уже была полна планами на следующую версию с множеством новых фич... Как следствие, багофиксы оказались не самым приоритетным направлением.
В настоящий момент ситуация более благоприятная: планы, заявленные на 2.2 — скорее доведение до ума фич существующих. Однако все может поменяться... Предлагаю тестить со страшной силой, насколько это возможно. Писать репорты, патчи... Если туго с английским — пишем в этот форум: четко локализованная проблема, описание, пометка «прошу перевести и отрепортить»
Что касается планов FPC Team, <a href='http://www.freepascal.org/future.html' target='_blank'>источник тут</a>.
В настоящий момент ситуация более благоприятная: планы, заявленные на 2.2 — скорее доведение до ума фич существующих. Однако все может поменяться... Предлагаю тестить со страшной силой, насколько это возможно. Писать репорты, патчи... Если туго с английским — пишем в этот форум: четко локализованная проблема, описание, пометка «прошу перевести и отрепортить»
Что касается планов FPC Team, <a href='http://www.freepascal.org/future.html' target='_blank'>источник тут</a>.
- Иван Шихалев
- энтузиаст
- Сообщения: 1138
- Зарегистрирован: 15.05.2006 11:26:13
- Откуда: Екатеринбург
- Контактная информация:
А вот перевод (большей частью) их планов:
<span style='font-size:15pt;line-height:100%'>Планы на будущее</span>
Запланировано в следующей версии
Приблизительная сложность по шкале от 1 до 10 дана в скобках.
<span style='font-size:15pt;line-height:100%'>Планы на будущее</span>
Запланировано в следующей версии
- Следующая старшая версия (2.2)
- Язык:
- Поддержка <span style='font-family:courier'>DispInterface</span> and <span style='font-family:courier'>dispid</span> (OLE-связывание в Windows)
</li> - Поддержка динамических библиотек (Кажется, имеется в виду аналог run-time packages, но не уверен — ИШ)
</li> - Поддежка делегирования интерфейсов</li>
- Поддержка <span style='font-family:courier'>DispInterface</span> and <span style='font-family:courier'>dispid</span> (OLE-связывание в Windows)
- Компилятор:
- Улучшенная оптимизация (static single assignment)
</li> - Усовершенствованная многопоточность
</li> - Встроенный ассемблер для не-x86 платформ
</li> - Встроенный компоновщик
</li> - Чистка системы модулей и (улучшенная) поддержка динамической компоновки и пакетов</li>
- Улучшенная оптимизация (static single assignment)
- RTL:
- Большая совместимость с позднейшими версиями Delphi</li>
- Уже в процессе (RTL):
- Обновить и модернизировать работу для некоторых платформ:
- Solaris (важно для поддержки Sparc!)
</li> - Больше модулей WinAPI и сторонних пакетов (Socket suite?)</li>
- Solaris (важно для поддержки Sparc!)
- Обновить и модернизировать работу для некоторых платформ:
- Язык:
- Компоновка с кодом C++ (Objective C?)
</li> - Повышение уровня оптимизации, включая liveliness analysis (Не знаю, как переводится — ИШ)
</li> - Полная поддержка DWARF (отладочный формат)
</li> - Больше архитектур (m68k?, Alpha?, IA64?)
</li> - Поддержка CORBA
</li> - Переработка вычислений с множествами:
- Разрешить больше, чем 256 элементов
</li> - <span style='font-family:courier'>set of 255..256</span> умещается в один байт (нижняя граница не устанавливается автоматически в <span style='font-family:courier'>ord(0)</span>)
</li> - Больше управления упаковкой множеств (в зависимости от директивы <span style='font-family:courier'>packset</span>)
</li> - Разрешить множества размером более 32 байт (2**32/8=512 MB)</li>
- Разрешить больше, чем 256 элементов
Приблизительная сложность по шкале от 1 до 10 дана в скобках.
- Переработать и проверить модуль Windows (проблема с макросами) (3)
</li> - Больше модулей Windows API (4)
</li> - Набор кроссплатформенных сетевых компонентов базовой архитектуры (Ох, тут я похоже погнал — ИШ) (сложность: 4; работа: 7-8)
</li> - Porting Delphi source for projects/contrib (3-6 depending on package)
</li> - Отладить/расширить поддержку ассемблера Intel (7-8)
</li> - Работы по IDE:
- Изучить открытые баг-репорты относительно IDE (5-8)
</li> - (Связано с IDE/FV, но полезно и само по себе) Отладить ОС-независимую работу с терминальным вводом/выводом (Video/Keyboard/Mouse) (7)</li>
- Изучить открытые баг-репорты относительно IDE (5-8)
- Создать высококачественную обратную связь (для баг-репортов со 100 строками примера максимум)
</li> - Больше демок и примеров (2-4)
</li> - Документация, учебники
</li> - Усовершенствовать поддержку ДБ:
- Усовершенствовать подержку custom variants (<span style='font-family:courier'>TInvokableVariant</span>, <span style='font-family:courier'>TPublishableVariant</span>) (4-6)
</li> - Усовершествовать совместимость <span style='font-family:courier'>TDataSet</span> (реализовать недостающие методы) (4-6)
</li> - Драйверы (наследники) для различных ДБ (6-8)</li>
)
</li> - Усовершенствовать подержку custom variants (<span style='font-family:courier'>TInvokableVariant</span>, <span style='font-family:courier'>TPublishableVariant</span>) (4-6)
- More OS/2 support
- OS/2 API units (including SOM) (4)
</li> - Adopt more packages for OS/2 (3)
</li> - Write SOM Compiler emiter (OS/2) for Free Pascal (8)
</li> - Rework OS/2 RTL for native OS/2 target (3)</li>
- OS/2 API units (including SOM) (4)
- Maintenance of Graph unit (on one platform or more), create a SDL Graph unit? (5-7)
</li> - Adding an architecture (9-11
)
- m68k
</li> - Alpha
</li> - Extend ARM support to more cores and OSes
</li> - Mips</li>
- m68k
- Сергей Смирнов
- энтузиаст
- Сообщения: 595
- Зарегистрирован: 28.04.2005 13:23:25
- Откуда: Москва
- Контактная информация:
- Иван Шихалев
- энтузиаст
- Сообщения: 1138
- Зарегистрирован: 15.05.2006 11:26:13
- Откуда: Екатеринбург
- Контактная информация:
- Иван Шихалев
- энтузиаст
- Сообщения: 1138
- Зарегистрирован: 15.05.2006 11:26:13
- Откуда: Екатеринбург
- Контактная информация:
Баг оптимизатора. При сочетании <span style='font-family:courier'>-O3</span> (оптимизация третьего уровня) и <span style='font-family:courier'>-Or</span> (перенос локальных переменных в регистры) результат регулярно вываливается в AV. Тогда как ключи типа <span style='font-family:courier'>-OG3p3u</span> или наоборот <span style='font-family:courier'>-OG2p3ru</span> выдают вполне работоспособный результат.
-
Black_Wizard
Сел недавно попробовать сделать одну олимпиадную задачку на FP. И нашел в нем баг (или мож я че не так сделал). Короче, вот код:
*****************************
program Antivirus;
type
TVirus = record
Vir_Name, Vir_Code : String;
end;
var
prog_code : String;
Vir_Count : Integer;
Virus : array [1..100] of TVirus;
f : Text;
begin
Assign(f, 'input.txt'); Reset(f);
Readln(f, Prog_Code);
Readln(f, Vir_Count); <==
for i:=1 to Vir_Count do
begin
Read(f, Virus[i].Vir_Name);
Readln(f, Virus[i].Vir_Code);
end;
Close(f);
end.
********************
В операции, отмеченной стрелочкой, FP почему то не читает целое число из файла.
P.S. В Турбо Паскале это нормально работает!
*****************************
program Antivirus;
type
TVirus = record
Vir_Name, Vir_Code : String;
end;
var
prog_code : String;
Vir_Count : Integer;
Virus : array [1..100] of TVirus;
f : Text;
begin
Assign(f, 'input.txt'); Reset(f);
Readln(f, Prog_Code);
Readln(f, Vir_Count); <==
for i:=1 to Vir_Count do
begin
Read(f, Virus[i].Vir_Name);
Readln(f, Virus[i].Vir_Code);
end;
Close(f);
end.
********************
В операции, отмеченной стрелочкой, FP почему то не читает целое число из файла.
P.S. В Турбо Паскале это нормально работает!
- Иван Шихалев
- энтузиаст
- Сообщения: 1138
- Зарегистрирован: 15.05.2006 11:26:13
- Откуда: Екатеринбург
- Контактная информация:
-
Гость_PVOzerski
- Иван Шихалев
- энтузиаст
- Сообщения: 1138
- Зарегистрирован: 15.05.2006 11:26:13
- Откуда: Екатеринбург
- Контактная информация:
-
Alexandr
Alexandr писал(а): У меня есть желание помочь в разработке и исправлении багов.
Только не могу понять как это сделать.
Это очень просто сделать:
1. Нужно качнуть исходники
2. Вот есть список непофиксеных багов,
<a href='http://www.freepascal.org/bugs/db.php3?statusfield=Unfixed' target='_blank'>http://www.freepascal.org/bugs/db.php3?statusfield=Unfixed</a>
3. ты смотришь в чём заключается интересующий тебя баг
4. Фиксишь баг
5. связываешь с каким-нибудь разработчиком и радостно сообщаешь что ты пофиксил баг, дальше он наверное скажет что делать (но про то, что делать с пофиксенным багом и куда этот фикс отправлять это моё ИМХО)
- Иван Шихалев
- энтузиаст
- Сообщения: 1138
- Зарегистрирован: 15.05.2006 11:26:13
- Откуда: Екатеринбург
- Контактная информация:
- Иван Шихалев
- энтузиаст
- Сообщения: 1138
- Зарегистрирован: 15.05.2006 11:26:13
- Откуда: Екатеринбург
- Контактная информация:
FPC-DEVEL - это список рассылки fpc-devel@lists.freepascal.org
В нем обсуждаются вопросы развития компилятора, правки багов и так далее. По программированию или использованию компилятора там задавать вопросы не стоит. Подробнее о списках рассылки: <a href='http://www.freepascal.org/maillist.html' target='_blank'>http://www.freepascal.org/maillist.html</a> (я уже где-то давал, кажется, эту ссылку...).
В общем, если есть желание править баги, то следует на него подписаться, а затем (возможно, после соответствующего обсуждения) отправить в аттаче патч, а в теле письма краткое описание проблемы и патча.
Патч-файл - это результат работы утилиты diff над оригинальным исходником и поправленным.
Если проблема не надумана, патч успешный, а описание корректное, то есть шанс, что исправление войдет уже в следующую ночную сборку.
Исправление багов через список рассылки лучше, чем личным письмом тем, что не нужно выяснять распределение ролей в FPC Team. К тому же, эти роли часто перекрываются...
В нем обсуждаются вопросы развития компилятора, правки багов и так далее. По программированию или использованию компилятора там задавать вопросы не стоит. Подробнее о списках рассылки: <a href='http://www.freepascal.org/maillist.html' target='_blank'>http://www.freepascal.org/maillist.html</a> (я уже где-то давал, кажется, эту ссылку...).
В общем, если есть желание править баги, то следует на него подписаться, а затем (возможно, после соответствующего обсуждения) отправить в аттаче патч, а в теле письма краткое описание проблемы и патча.
Патч-файл - это результат работы утилиты diff над оригинальным исходником и поправленным.
Если проблема не надумана, патч успешный, а описание корректное, то есть шанс, что исправление войдет уже в следующую ночную сборку.
Исправление багов через список рассылки лучше, чем личным письмом тем, что не нужно выяснять распределение ролей в FPC Team. К тому же, эти роли часто перекрываются...
- Иван Шихалев
- энтузиаст
- Сообщения: 1138
- Зарегистрирован: 15.05.2006 11:26:13
- Откуда: Екатеринбург
- Контактная информация:
