[09:48:28] <vgodunko> landgraf: можно использовать ревизию 1687 как стабильную.
[09:48:46] <vgodunko> Только не 1688!
[09:48:48] <vgodunko> :-(
[09:49:13] <vgodunko> GNAT на ней что то колбасит, никак руки не джоходят до кровавой разборки
[09:51:17] <landgraf> vgodunko, а что с именами gpr-ов?
[09:52:11] <vgodunko> Я думаю... Нужно одну фичу в GPS проверить, потом будет понятее.
[09:52:37] <vgodunko> С подкаталогами мастер проектов GPS может просто не работать.
[09:52:42] <landgraf> vgodunko, ticket?
[09:52:55] <landgraf> странно, должен работать )
[09:53:14] <vgodunko> Должен и Nico это предусмотрел есть разные вещи.
[09:53:41] <vgodunko> В принципе, каталоги используются для файлов, которые недоступны пользователю.
[09:53:50] <vgodunko> Так, например, устроен PolyORB.
[09:54:31] <landgraf> vgodunko, xmlada тоже по каталогам разложен емнип
[09:55:00] <landgraf> http://fpaste.org/rN8f/
[09:55:03] <landgraf> так и есть
[09:55:28] <landgraf> содержимое /usr/lib/gnat/xmlada
[09:55:28] <vgodunko> Внимательнее присмотритесь что и как разложено. ;-)
[09:55:33] <landgraf> lgpr там )
[09:56:05] <vgodunko> Ага, а что это? ;-)
[09:56:13] <vgodunko> Это списки файлов в проектах.
[09:56:29] <landgraf> да
[09:56:30] <Жаба> landgraf, да нед...
[09:56:38] <landgraf> Жаба, иди в *опу
[09:56:54] <vgodunko> Для PolyORB аналогично - пользовательский файл проекта в lib/gnat, а внутренние - в lib/gnat/polyorb
[09:57:15] <landgraf> а если сделать matreshka-sql.gpr и тп?
[09:57:42] <landgraf> s/-/_/g
[09:58:31] <vgodunko> Теоретически конечно можно...
[09:58:49] <landgraf> просто иначе матрехи не будет в федоре :))
[09:59:21] <vgodunko> Мне fastcgi, sql больше нравятся.
[09:59:52] <landgraf> vgodunko, http://fedoraproject.org/wiki/Packaging:Ada#GNAT_project_files
[10:00:31] <landgraf> GNAT projects files (*.gpr) MUST be placed in the %{_GNAT_project_dir} directory or a subdirectory thereof. A subdirectory, for example %{_GNAT_project_dir}/%{name}, may be a good idea if there are lots of project files in the same package or if they have generic names.
[10:01:57] <landgraf> если я патчем перенесу их в поддиректорию, gnat сможет найти их там?
[10:02:12] <landgraf> при сборке зависящего пакета
[10:02:17] <vgodunko> А почему нет?
[10:06:04] <landgraf> хз..
[10:09:55] <vgodunko> Давайте я сначала всё проверю. Что бы не оказалось, что оно с GPS не совместимо.
[10:10:31] <landgraf> vgodunko, ну пока это будет локальным патчем в rpm-ке
[10:10:44] <landgraf> вернее даже не патчем в парой строк в spec-файле
[10:36:04] <vgodunko> Что-то у меня ступор с GPS :-(
[10:38:43] <vgodunko> Как этот дурацкий Project Wizard запускается...
[10:38:53] <landgraf> ))))
[11:26:51] <vgodunko> landgraf: лучше 1689 использовать
[12:29:02] <landgraf> а ада умеет процессы вместо тредов?
[12:29:53] <vgodunko> Нет
[13:24:20] <landgraf> vgodunko, а комментарии к функциям, действиям каким-то принято выше писать или ниже? /me немного смущен что в спеках они ниже пишутся
[13:25:25] <vgodunko> Зависит от стиля. GNAT-ский требует написания ниже функции без пустой строки между функцией и комментарием
[13:25:49] <landgraf> а если мне надо, например, какой-нибудь if откомментить?
[13:34:17] <vgodunko> На выбор:
--  comment

if X = 0 then

или
if X = 0 then
  --  Comment

[13:35:08] <landgraf> то есть стандарта нет?
[13:44:20] <vgodunko> Нет и быть не может. Ведь комментарии есть способ передачи тайного смысла происходящего.
[13:59:35] <landgraf> http://koji.fedoraproject.org/koji/taskinfo?taskID=3051293 вроде собралось
[14:04:19] <vgodunko> 1689?
[14:04:55] <landgraf> 1646
[14:05:06] <landgraf> она же на review
[14:05:29] <vgodunko> А...
[14:05:52] <vgodunko> Тесты прогонялись, я спокоен :-)
[14:19:54] <vgodunko> landgraf: попробуйте вот такой код откомпилировать с -O3:
[14:20:31] <vgodunko> package P is
  type X is array (1 .. 4) of Integer;
  function "+" (L, R : X) return X;
end P;

package body P is
  function "+" (L, R : X) return X is
     A : X;
  begin
     for J in X'Range loop
        A (J) := L (J) + R (J);
     end loop;
     return A;
  end "+";
end P;

[14:20:45] <vgodunko> И поглядеть ассемблерный код.
[14:21:29] <vgodunko> ;-)
[14:21:38] <vgodunko> Пора всё собирвать только с -O3
[14:21:51] <vgodunko> Или хотя бы включить векторизацию...
[14:22:35] <yeo> помойму раньше -O3 отличалось от -O2 только автоматическим инлайном функций
[14:23:23] <vgodunko> Не знаю как раньше, смотрю как сейчас
[14:24:08] <vgodunko> векторизация, раскручивание циклов и векторизация включаются на -O3
[14:25:06] <vgodunko> Если поиграться с этим кодом и ключами -gnato, -O2/-O3, то очень заметна разница в генерируемом коде.
[19:17:05] <yeo>        leal    (%rdx,%rdi), %eax
       shrq    $32, %rdi
       shrq    $32, %rdx
       addl    %edi, %edx
       movl    %eax, -24(%rsp)
       leal    (%rcx,%rsi), %eax
       shrq    $32, %rsi
       shrq    $32, %rcx
       movl    %edx, -20(%rsp)
       addl    %esi, %ecx
       movl    %eax, -16(%rsp)
       movq    -24(%rsp), %rax
       movl    %ecx, -12(%rsp)
       movq    -16(%rsp), %rdx
       ret

[19:19:34] <yeo> кашмар! переполнение при сложении игнорирует! А кто ему разрешил массивы передавать по значению, а не по ссылке?
[19:26:40] <subjrs> стандартом вроде не определенно как именно передавать. на усмотрение компилятора ж
[19:37:29] <yeo> да, действительно...