The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +/
Сообщение от opennews (ok) on 22-Янв-10, 02:24 
Вышел (http://gcc.gnu.org/ml/gcc/2010-01/msg00397.html) корректирующий релиз набора компиляторов GCC 4.4.3 (http://gcc.gnu.org/gcc-4.4/), в котором проведена работа по исправлению (http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&...) ошибок, регрессивных изменений и проблем с совместимостью.


Дополнительно опубликован (http://gcc.gnu.org/ml/gcc/2010-01/msg00398.html) статус подготовки будущей версии GCC 4.5 (http://gcc.gnu.org/gcc-4.5/). Сообщается о наличии 18 нерешенных первичных регрессий (в декабре их было 26), после устранения которых будет выпущен кандидат в релизы.  

Некоторые новшества (http://gcc.gnu.org/gcc-4.5/changes.html) будущей версии GCC 4.5:


-  Задействована математическая библиотека MPC (http://www.multiprecision.org/) для более точных вычислений на этапе компиляции;
-  В состав войдет новый оптимизатор на этапе компоновки;
-  Будет реализована экспериментальная поддержка некоторых возможностей стандарта C++0...

URL: http://gcc.gnu.org/
Новость: http://www.opennet.ru/opennews/art.shtml?num=25107

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  –2 +/
Сообщение от pavlinux (ok) on 22-Янв-10, 02:24 
Да, Графит чудная штука, она умудряется из цикла

for ( i = 0 ; i < 4; i++)
      A[i] = i + 100;

сделать  

{
#pragma cpu(0)
      A[0] = 0 + 100;
#pragma cpu_end
#pragma cpu(1)
      A[1] = 1 + 100;
#pragma cpu_end
#pragma cpu(2)
      A[2] = 2 + 100;
#pragma cpu_end
#pragma cpu(3)
      A[3] = 3 + 100;
#pragma cpu_end
}

На 4 горшках :)

Естественно, никакой паралеллизации вот в таких циклах и не предвидеться:

for (i = 0; i < strlen(strcmp(a_str,  b_str)); i++) {

         A[ strlen(a_str) + i] = 2*strlen(b_str) + i/2;

}

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +1 +/
Сообщение от Sw00p aka Jerom email on 22-Янв-10, 10:31 
>>Естественно, никакой паралеллизации вот в таких циклах и не предвидеться:
>>for (i = 0; i < strlen(strcmp(a_str,  b_str)); i++) {
>>         A[ strlen(a_str) + i] = 2*strlen(b_str) + i/2;
>>}

конечно не будет если там всего одна итерация strlen(strcmp(a_str,  b_str)) == 1
намудрили

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +1 +/
Сообщение от dq0s4y71 (??) on 22-Янв-10, 11:52 
А что, GCC уже настолько умён, что при оптимизации учитывает результаты вызовов библиотечных функций?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +/
Сообщение от Sw00p aka Jerom email on 22-Янв-10, 12:59 
темболее не будет оптимизировать этот кусок кода
а написать проверку на такого рода оптимизации не составляет труда

вывод по крайней мере функции сравнения строк предсказуем либо 0 либо 1
и результат стрлен в таком случае тоже определён == 1

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +/
Сообщение от Аноним (??) on 22-Янв-10, 13:06 
>вывод по крайней мере функции сравнения строк предсказуем либо 0 либо 1

там три значения (-1, 0, 1) man strcmp
It returns an integer less than, equal to, or greater than zero

>и результат стрлен в таком случае тоже определён == 1

Вы реально считаете что strlen(1) вернёт 1 ? без комментариев :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +/
Сообщение от Sw00p aka Jerom email on 22-Янв-10, 13:25 
-1, 0, 1  ---- предсказуем ????

>>Вы реально считаете что strlen(1) вернёт 1 ? без комментариев :)

warning: passing argument 1 of ‘strlen’ makes pointer from integer without a cast

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +/
Сообщение от dq0s4y71 (??) on 22-Янв-10, 13:51 
>там три значения (-1, 0, 1) man strcmp

Там не три значения. Вы же сами цитируете:

>It returns an integer less than, equal to, or greater than zero

strcmp() обычно возвращает разность кодов двух первых несовпадающих символов. Но тем непредсказуемее будет результат вызова strlen(strcmp(...)) :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

13. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +/
Сообщение от Sw00p aka Jerom email on 22-Янв-10, 14:14 
речь идёт о С

strlen(strcmp(...))

стрлен ждёт строку  и не кастит интеджер в стринг

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

17. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +/
Сообщение от dq0s4y71 (??) on 22-Янв-10, 15:43 
>речь идёт о С

А я о чем, по-вашему, говорю? :)

>
>strlen(strcmp(...))
>
>стрлен ждёт строку  и не кастит интеджер в стринг

С этим-то я как раз и не спорю.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

19. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +/
Сообщение от pavlinux (ok) on 22-Янв-10, 15:50 
>речь идёт о С
>
>strlen(strcmp(...))
>
>стрлен ждёт строку  и не кастит интеджер в стринг

Ещё как кастит

warning: passing argument 1 of 'strlen' makes pointer from integer without a cast
/usr/include/string.h:397: note: expected 'const char *' but argument is of type 'int'

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

21. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +/
Сообщение от dq0s4y71 (??) on 22-Янв-10, 16:53 
>Ещё как кастит

Ну и где же кастит?

>warning: passing argument 1 of 'strlen' makes pointer from integer without a cast

Это пятница, наверное. :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

27. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +/
Сообщение от pavlinux (ok) on 22-Янв-10, 20:30 
А сегодня пятница?!Ейп ...
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

14. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +1 +/
Сообщение от pavlinux (ok) on 22-Янв-10, 15:37 
> А что, GCC уже настолько умён, что при оптимизации учитывает
> результаты вызовов библиотечных функций?

Хотелось бы :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +/
Сообщение от Аноним (??) on 22-Янв-10, 13:04 
> strlen(strcmp(a_str,  b_str))

strlen от несуществующего адреса вернут Вам SIGSEGV

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

15. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +/
Сообщение от pavlinux (ok) on 22-Янв-10, 15:38 
>> strlen(strcmp(a_str,  b_str))
>
>strlen от несуществующего адреса вернут Вам SIGSEGV

Да чё вы пристали к strlen(strcmp()), это пример.


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +2 +/
Сообщение от Евгений (??) on 22-Янв-10, 04:31 
>[оверквотинг удален]
>#pragma cpu(0)
>      A[0] = 0 + 100;
>#pragma cpu_end
>#pragma cpu(1)
>      A[1] = 1 + 100;
>#pragma cpu_end
>#pragma cpu(2)
>      A[2] = 2 + 100;
>#pragma cpu_end
>...

Что ж бум надеятся что умный компилятор потом соберет этот цикл в кучу.

Кстати, а не намудрили ли в в своем примере?
Применять strlen к результату strcmp, больно странно :)
for (i = 0; i < strlen(strcmp(a_str,  b_str)); i++) {
                 ^^^^^^^^^^^^^^^^

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

16. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +/
Сообщение от pavlinux (ok) on 22-Янв-10, 15:41 
>Что ж бум надеятся что умный компилятор потом соберет этот цикл в
>кучу.

Зачем в кучу, наоборот разгонит по процам...  
>
>Кстати, а не намудрили ли в в своем примере?
>Применять strlen к результату strcmp, больно странно :)

Наоборот, вообще не мудрил, первые из дампа мозга головы написал :)


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +4 +/
Сообщение от pazke email on 22-Янв-10, 11:01 
> If a header named in a #include directive is not found, the compiler exits immediately. This avoids a cascade of errors arising from declarations expected to be found in that header being missing.

Ну наконец-то. Бурные аплодисменты, переходящие в овацию.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +/
Сообщение от аноним on 22-Янв-10, 12:22 
Гыгы. +1
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

18. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +/
Сообщение от koblin (ok) on 22-Янв-10, 15:48 
о да =))
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

25. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +/
Сообщение от User294 (ok) on 22-Янв-10, 19:31 
Давно пора, блин!
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +/
Сообщение от Аноним (??) on 22-Янв-10, 13:57 
В версии 4.4.3 исправили баги при -O3, в частности глючность с -ftree-vectorize?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

20. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +/
Сообщение от pavlinux (ok) on 22-Янв-10, 16:42 
>В версии 4.4.3 исправили баги при -O3, в частности глючность с -ftree-vectorize?
>

А как она проявлялась?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

24. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +/
Сообщение от Аноним (??) on 22-Янв-10, 17:45 
При -O3 GCC при прочих оптимизациях приминяет -ftree-vectorize, на версиях gcc 4.4.x некоторые программы вылетали с ошибками из-за -ftree-vectorize. В багзилле даже баг висел.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

22. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +/
Сообщение от pavlinux (ok) on 22-Янв-10, 16:58 
УРА !!!!

> A new optimize attribute was added to allow programmers to change the
> optimization level and particular optimization options for an individual
> function. You can also change the optimization options via the GCC optimize
> pragma for functions defined after the pragma.

...
  memmove(X, DATA, sizeof(DATA));

#pragma GCC optimize O3
   for (x = 2 + space, i = 3; i--; x += X[i] + space) {
            Y[i].x = x;
            Z[i].x = x+i;
   }
#pragma GCC reset_options
...

или строго "for functions" ?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

26. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +1 +/
Сообщение от User294 (ok) on 22-Янв-10, 19:37 
Ух ты, круто. А то если всю прогу компилить с -O3 бывают чудесатые глюки. А вот сильно некоторую небольшую функцию можно и протестить на глючность не проблема, в отличие от.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

29. "Релиз набора компиляторов GCC 4.4.3 и планы подготовки GCC 4..."  +/
Сообщение от Sw00p aka Jerom email on 23-Янв-10, 10:24 
я не пойму одного зачем нужно говорить компилятору что оптимизировать ???

разве самим нельзя писать так как будет делать компилятор ????

зачем разворачивать цикл ??? и зачем его ваще создали чтоб потом его разворачивать

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Слёрм
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2020 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру