The OpenNET Project / Index page

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

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

"Релиз набора компиляторов GCC 4.9"  +/
Сообщение от opennews on 22-Апр-14, 20:37 
После 13 месяцев разработки увидел свет (http://gcc.gnu.org/ml/gcc/2014-04/msg00195.html) релиз свободного набора компиляторов GCC 4.9 (http://gcc.gnu.org/gcc-4.9/). Новый выпуск примечателен реализацией поддержки OpenMP 4.0 и Cilk Plus, улучшением поддержки стандартов C++11 и C++14, режимом подсветки предупреждений и ошибок при выводе на экран, включением в состав детектора неопределенного поведения программы.


Основные изменения (http://gcc.gnu.org/gcc-4.9/changes.html):

-  Реализована поддержка спецификации OpenMP 4.0 (http://www.opennet.dev/opennews/art.shtml?num=37635) (Open Multi-Processing), определяющей API и способы применения методов параллельного программирования для языков Си, Си++ и Фортран (в GCC OpenMP 4.0 пока доступен только для Си и Си++ ). В OpenMP 4.0 обеспечена поддержка ускорения за счет привлечения мощностей GPU, представлены значительные улучшения в модели выполнения задач, добавлены механизмы обработки ошибок, добавлена поддержка определенных пользователем редукций, обеспечена векторизация циклов с использованием инструкции SIMD,  добавлен ряд расширений для поддержки параллельного выполнения на уровне задач;

-  Частично реализована поддержка набора расширений Cilk Plus (hhttps://www.cilkplus.org/), предлагающего новую эффективную методику параллельного программирования для языков Си и Си++, позволяющую существенно упростить разработку программ, части которых выполняются параллельно с задействованием разных процессорных ядер и векторных сопроцессоров (Vector Units). Для управления генерацией кода с улучшенной векторизацией предусмотрена pragma simd. Поддерживается два метода увеличения производительности - параллелизм данных и параллельное выполнение подпрограмм. В первом случае, обеспечиваются механизмы прозрачного распараллеливания типовых операций над массивами данных и автоматическое задействование SIMD-инструкций. Для организации параллелизма на уровне подпрограмм в обиход вводится три ключевых слова: _Cilk_spawn - запуск функции в параллельном режиме, _Cilk_sync - ожидание завершения параллельно выполняемой функции, и _Cilk_for - организация работы цикла в параллельном режиме. "_Cilk_for" в GCC пока не поддерживается.


-  Для языков C и C++ добавлен компонент UBSAN (Undefined Behavior Sanitizer) с реализацией детектора неопределенного поведения, выявляющего во время выполнения программы ситуации, когда поведение программы становится неопределенным из-за ошибки программиста. Для включения UBSAN следует использовать опцию "-fsanitize=undefined";

-   Улучшена работа оптимизаций во время динамического связывания (LTO, Link Time Optimization) и межпроцедурных оптимизаций, в которых устранена серия негативно сказывающихся на масштабируемости узких мест. Улучшена техника оптимизации на основе обратной связи (Feedback directed);

-  Распределитель локальных регистров (Local Register Allocator), ранее доступный только для  ia32 и x86-64, теперь адаптирован и включен по умолчанию для целевых архитектур Aarch64, ARM, S/390 и ARC, а также реализован в качестве опции для платформ PowerPC и RX;


-  Существенно расширена поддержка архитектуры ARM, внесены оптимизации для процессоров Cortex-A53 и Cortex-A57;

-  Поддержка новой  little-endian платформы powerpc64le-linux для которой предлагается новый PowerPC ELFV2 ABI;


-  В компоненте Address Sanitizer обеспечена поддержка архитектуры ARM в дополнение к ранее поддерживаемым архитектурам x86 и x86_64. Address Sanitizer позволяет выявлять ошибки работы с памятью и факты некорректного обращения к памяти, такие как обращение к областям памяти, после их освобождения ("use-after-free"), разрушение кучи, повреждение стека и переполнение буферов;
-  Прекращена поддержка устаревшего runtime-детектора  утечек памяти mudflap;


-  Добавлена поддержка некоторых новшеств, развиваемых в рамках будущего стандарта C++14. Внесена серия улучшений, связанная с поддержкой стандартов C11 и C++11, например, в стандартную библиотеку С++ добавлена поддержка компонента "regex";


-  Улучшена поддержка языка ADA. GNAT переведён на использование по умолчанию стандарта ADA 2012, вместо ADA 2005;

-  В компиляторе для языка Fortran улучшена поддержка спецификации Fortran 2008 и добавлена поддержка Fortran 2003 finalization;
-  Обеспечена поддержка развиваемого компанией Google языка программирования Go 1.2.1;


-  Реализована поддержка  чипов Intel Silvermont, процессоров IBM Power8 и процессоров RX100, RX200 и RX600;
-  Для процессоров Intel добавлена поддержка инструкций AVX-512, которая может использоваться для целевых архитектур x86-64 и ia32;

-  Возможность  подсветки текста выводимых ошибок и предупреждений ("-fdiagnostics-color=auto");

-  Объявлена (http://gcc.gnu.org/ml/gcc-patches/2013-05/msg00728.html) устаревшей поддержка платформы Solaris 9 (*-*-solaris2.9), код для которой будет удалён в выпуске GCC 4.10. Компания Oracle прекратила стандартную поддержку Solaris 9 в 2011 году, расширенная платная поддержка завершится в октябре 2014 года.

URL: http://gcc.gnu.org/ml/gcc/2014-04/msg00195.html
Новость: http://www.opennet.dev/opennews/art.shtml?num=39621

Ответить | Правка | Cообщить модератору

Оглавление

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


1. "Релиз набора компиляторов GCC 4.9"  –9 +/
Сообщение от MSlinux on 22-Апр-14, 20:37 
Теперь мы будем ждать новой версии Cygwin
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

71. "Релиз набора компиляторов GCC 4.9"  +1 +/
Сообщение от Аноним (??) on 25-Апр-14, 15:20 
> Теперь мы будем ждать новой версии Cygwin

Чувак, не мучай себя, переходи на пингвины :). Это я тебе как бывший юзер цыгвина и msys говорю. Если уж хочется могущество гнутого инструментария и *никсовых утилей - виндой при этом пользоваться столь же удобно, сколь удобно бежать стометровку в ластах и противогазе.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Релиз набора компиляторов GCC 4.9"  +1 +/
Сообщение от Константин (??) on 22-Апр-14, 20:44 
отличнейшая новость для тех кто любит все усорять без большого геммороя > Реализована поддержка спецификации OpenMP 4.0
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Релиз набора компиляторов GCC 4.9"  +2 +/
Сообщение от ананим on 22-Апр-14, 20:54 
> усорять

Хорошо сказал.
И главное правда.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

17. "Релиз набора компиляторов GCC 4.9"  –1 +/
Сообщение от metallica (ok) on 22-Апр-14, 23:27 
>> усорять
> Хорошо сказал.
> И главное правда.

Из всех способов размножения потоков, самый практичный, удобный и даже элегантный-это API из omp.
Другие API, начиная от clone и заканчивая всякими boost::context, в сравнении с omp, кучи мусора просто.


Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

21. "Релиз набора компиляторов GCC 4.9"  –1 +/
Сообщение от ананим on 23-Апр-14, 00:41 
> Другие API, начиная от clone

Ложь. И это мягко говоря.
Вообще-то сикол называется clone2 (Через него тотже форк реализован например).
И он настолько гибок, что в граничных условиях от потока ядра практически не отличается.
Первое.
Второе. По поводу "усорять" — не разделяю эйфорию из-за того, что теперь каждый юзерспейсный быдлoкод (чуть ли не на js) способен зaсрaть все 8 процов на все 100% каждый.
Не, отрубим конечно, но задолбали.

[сообщение отредактировано модератором]

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

25. "Релиз набора компиляторов GCC 4.9"  +3 +/
Сообщение от Crazy Alex (ok) on 23-Апр-14, 02:34 
Насчет "засрать" поддерживаю, но omp таки удобно там, где нужно просто наплодить потоки, что-то посчитать и успокоиться. Руками для этого потоки ляпать - это искать себе проблемы там, где их можно избежать - так как получите больший объем вашего кода и, соответственно, больше шансов поймать баг. а в многопоточке их ловить - то ещё удовольствие, особенно на сях.
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

60. "Релиз набора компиляторов GCC 4.9"  –1 +/
Сообщение от arisu (ok) on 24-Апр-14, 12:35 
> Насчет "засрать" поддерживаю, но omp таки удобно там, где нужно просто наплодить
> потоки, что-то посчитать и успокоиться.

(внимательно осматривая снова) что-то мне std.parallelism из D больше нравится.

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

33. "Релиз набора компиляторов GCC 4.9"  +1 +/
Сообщение от Аноним (??) on 23-Апр-14, 06:31 
Прописывать лимиты на процесс снова внезапно в цене? :)
Дык это - скорее хорошо чем плохо.
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

45. "Релиз набора компиляторов GCC 4.9"  –1 +/
Сообщение от metallica (ok) on 23-Апр-14, 11:27 
>> Другие API, начиная от clone
> Пинздёж. И это мягко говоря.
> Вообще-то сикол называется clone2 (Через него тотже форк реализован например).
> И он настолько гибок, что в граничных условиях от потока ядра практически
> не отличается.

Как ещё изящнее могу запустить пару потоков, чем так?

#pragma omp parallel num_threads(2)
{

prl();

  }

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

46. "Релиз набора компиляторов GCC 4.9"  +/
Сообщение от анонимище on 23-Апр-14, 11:59 
> Как ещё изящнее могу запустить пару потоков, чем так?

std::thread(prl).detach();
std::thread(prl).detach();

Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

47. "Релиз набора компиляторов GCC 4.9"  –1 +/
Сообщение от metallica (ok) on 23-Апр-14, 12:42 
>> Как ещё изящнее могу запустить пару потоков, чем так?
> std::thread(prl).detach();
> std::thread(prl).detach();

Ничего изящного. А если 30 потоков? И чтоб без циклов.

Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору

48. "Релиз набора компиляторов GCC 4.9"  –1 +/
Сообщение от анонимище on 23-Апр-14, 12:57 
> Ничего изящного. А если 30 потоков? И чтоб без циклов.

Что за дурные ограничения, парниша. Я так же могу:
А сделай с OMP что пользователь вводит сколько потоков запускать, но omp_set_num_threads не использовать!

Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

49. "Релиз набора компиляторов GCC 4.9"  –1 +/
Сообщение от pavlinux (ok) on 23-Апр-14, 14:33 
#pragma omp parallel for
for (i=0, i < 20; i++)
     pthread_create(thread[i], ......);
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

59. "Релиз набора компиляторов GCC 4.9"  –2 +/
Сообщение от Аноним (??) on 24-Апр-14, 11:24 
Создавать несколько потоков только для того, чтобы каждый из них породил по ещё одному потоку — это ппц...
Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору

67. "Релиз набора компиляторов GCC 4.9"  +2 +/
Сообщение от Аноним (??) on 25-Апр-14, 08:10 
Чаво?
Ответить | Правка | ^ к родителю #59 | Наверх | Cообщить модератору

68. "Релиз набора компиляторов GCC 4.9"  +1 +/
Сообщение от Аноним (??) on 25-Апр-14, 14:34 
> Создавать несколько потоков только для того, чтобы каждый из них породил по
> ещё одному потоку — это ппц...

Вы там что, форкбомбу оптимизируете под мнеогоядерность? :)

Ответить | Правка | ^ к родителю #59 | Наверх | Cообщить модератору

6. "Релиз набора компиляторов GCC 4.9"  –2 +/
Сообщение от Вук on 22-Апр-14, 21:20 
А вы из тех, кто любит удалять всё "лишнее" из рабочей системы? Гг
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Релиз набора компиляторов GCC 4.9"  –1 +/
Сообщение от Аноним (??) on 22-Апр-14, 21:15 
Ждем-с чем ответит Цланг, хо-хо-хо!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

32. "Релиз набора компиляторов GCC 4.9"  +/
Сообщение от Аноним (??) on 23-Апр-14, 04:43 
Что значит догонять? Во-первых, он никогда не был отстающим, он шёл и идёт параллельным курсом, и, надо сказать, это gcc сильно свернуло в его сторону, иначе так бы и сидело с нечитабельными варнингами и дубовой архитектурой в которой нельзя разобраться. А то что он отстаёт по каким-то фичам - так gcc отстаёт по другим.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Релиз набора компиляторов GCC 4.9"  +/
Сообщение от Аноним (??) on 22-Апр-14, 21:27 
Никто не знает, как работает UBSAN? И что за неопределённое поведение?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Релиз набора компиляторов GCC 4.9"  +1 +/
Сообщение от _ (??) on 22-Апр-14, 21:55 
http://stackoverflow.com/questions/20738232/gcc-4-9-undefine...
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Релиз набора компиляторов GCC 4.9"  –1 +/
Сообщение от Vkni (ok) on 22-Апр-14, 21:55 
> Никто не знает, как работает UBSAN? И что за неопределённое поведение?

Как работает - не знаем. Что такое UB - вот:
http://www.viva64.com/ru/t/0066/

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

72. "Релиз набора компиляторов GCC 4.9"  +/
Сообщение от Аноним (??) on 25-Апр-14, 15:23 
Жаль что вам не объяснили что пиарить проприетарный win-only продукт при рассказе о тривиальной вещи, которая описана в вике - некультурно, а за данный маневр на ресурсе по открытым технологиям - двукратный бонус к вашей наглости.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

73. "Релиз набора компиляторов GCC 4.9"  +1 +/
Сообщение от Vkni (ok) on 30-Апр-14, 06:13 
> Жаль что вам не объяснили что пиарить проприетарный win-only продукт при рассказе
> о тривиальной вещи, которая описана в вике - некультурно,

Некультурно делать в слове из 4-х букв одну ошибку. :-)

> а за данный маневр на ресурсе по открытым технологиям - двукратный бонус к
> вашей наглости.

Не надо компостировать мозги анонимными постами. Открытость - не самоцель, а инструмент, повышающий удобство использования софта.

Ответить | Правка | ^ к родителю #72 | Наверх | Cообщить модератору

26. "Релиз набора компиляторов GCC 4.9"  +1 +/
Сообщение от Crazy Alex (ok) on 23-Апр-14, 02:37 
Если вы не знаете, что такое неопределенное поведение - для начала надо хотя бы одну хорошую книгу по сям или плюсам прочесть. Потому что это понятие будет в ЛЮБОМ хоть сколько-нибудь приличном учебнике. И если вы его не знаете - значит либо учились по чему-то совсем печальному либо читали крайне невнимательно.
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

50. "Релиз набора компиляторов GCC 4.9"  +/
Сообщение от pavlinux (ok) on 23-Апр-14, 14:48 
> И что за неопределённое поведение?

Это когда ничего не делаешь, а оно делается и при это ошибки не возникает.
И при этом думаешь, почему оно что-то сделало, и ничего не произошло, ведь
я что-то не делал, а оно сделало, но не должно было так как я сделал, чтоб
ничего не делало.    О_о

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

61. "Релиз набора компиляторов GCC 4.9"  +/
Сообщение от arisu (ok) on 24-Апр-14, 12:37 
> Никто не знает, как работает UBSAN? И что за неопределённое поведение?

если человек задаёт второй вопрос, то ответ на первый ему не нужен. ему хороший учебник нужен, и к написанию софта не подпускать минимум год.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

11. "Релиз набора компиляторов GCC 4.9"  +/
Сообщение от Аноним (??) on 22-Апр-14, 22:18 
К сожалению, не попало: "Кроме этого, в состав GCC 4.9 имеют шанс попасть библиотеки для поддержки JIT-компиляции средствами GCC".
И где же движение в сторону http://www.opennet.dev/opennews/art.shtml?num=33396 ?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

62. "Релиз набора компиляторов GCC 4.9"  +/
Сообщение от arisu (ok) on 24-Апр-14, 12:39 
> К сожалению, не попало

к счастью. надеюсь, эту фиготень тихонько закопают. если не уже.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. "Релиз набора компиляторов GCC 4.9"  +/
Сообщение от Аноним (??) on 22-Апр-14, 22:42 
>> Прекращена поддержка устаревшего runtime-детектора утечек памяти mudflap; Подскажите, что сейчас вместо mudflap?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

15. "Релиз набора компиляторов GCC 4.9"  +1 +/
Сообщение от cdome (ok) on 22-Апр-14, 23:04 
-fsanitize=address
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

69. "Релиз набора компиляторов GCC 4.9"  +/
Сообщение от Аноним (??) on 25-Апр-14, 15:14 
> Подскажите, что сейчас вместо mudflap?

Valgrind.

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

19. "Релиз набора компиляторов GCC 4.9"  +/
Сообщение от kachsheev (ok) on 22-Апр-14, 23:54 
Интересно, когда-нибудь из thread уберут макрос проверки версии языка/компилятора?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

51. "Релиз набора компиляторов GCC 4.9"  –3 +/
Сообщение от Аноним (??) on 23-Апр-14, 15:36 
Используйте llvm'ский libc++ вместо убогого libstdc++
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

53. "Релиз набора компиляторов GCC 4.9"  +/
Сообщение от kachsheev (ok) on 23-Апр-14, 16:33 
Желаю Вам успешно скомпилировать Linux клэнгом.
Ответить | Правка | ^ к родителю #51 | Наверх | Cообщить модератору

54. "Релиз набора компиляторов GCC 4.9"  –1 +/
Сообщение от Аноним (??) on 23-Апр-14, 17:23 
FreeBSD скомпилировали. Над Linux усиленно работают. Если чере пару минорных релизов - РАЗ! и соберут - что будешь делать?
Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

55. "Релиз набора компиляторов GCC 4.9"  +2 +/
Сообщение от kachsheev (ok) on 23-Апр-14, 17:48 
Похлопаю, порадуюсь и продолжу использовать OpenMP с gcc.
Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

57. "Релиз набора компиляторов GCC 4.9"  +/
Сообщение от Аноним (??) on 24-Апр-14, 03:13 
Все соснули http://clang-omp.github.io/
Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

66. "Релиз набора компиляторов GCC 4.9"  +/
Сообщение от kachsheev (ok) on 24-Апр-14, 22:08 
Хлопаю, радуюсь... и прохожу мимо.
Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

70. "Релиз набора компиляторов GCC 4.9"  +1 +/
Сообщение от Аноним (??) on 25-Апр-14, 15:18 
> РАЗ! и соберут

Да у бздюков вечно какие-то PoC крутизны. А как до дела - уйма грабель на ровном месте. Зато лицееееееензия расово верная. Правда, поскольку я не собираюсь зажимать ни код системы, ни код компилера, ибо не имею мощностей для поддержания форка со всеми наворотами - вот пусть полтора жирных корпораса которым не лень ресурсы на проприетарные форки тратить, имхо этим и пользуются. Прикольно же когда как в PS4, соня игры гоняет во всю, а у бздюков дырка от бублика вместо драйверов для амдшных APU.

>  - что будешь делать?

Что делал слон, когда пришел Наполеон? :)

Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

20. "Релиз набора компиляторов GCC 4.9"  +/
Сообщение от Аноним (??) on 23-Апр-14, 00:29 
А std::function всё так же память выделяет на каждый чих, млять, вместо того, чтобы внутренний буфер использовать. Опять из boost это тащить :(
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

52. "Релиз набора компиляторов GCC 4.9"  –1 +/
Сообщение от Аноним (??) on 23-Апр-14, 15:37 
> А std::function всё так же память выделяет на каждый чих, млять, вместо
> того, чтобы внутренний буфер использовать. Опять из boost это тащить :(

Используйте llvm'ский libc++ вместо убогого libstdc++

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

63. "Релиз набора компиляторов GCC 4.9"  +1 +/
Сообщение от arisu (ok) on 24-Апр-14, 12:40 
> Используйте llvm'ский libc++ вместо убогого libstdc++

у llvm появился libc++? откуда? зачем? O_O

Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору

64. "Релиз набора компиляторов GCC 4.9"  +1 +/
Сообщение от Andrey Mitrofanov on 24-Апр-14, 12:47 
>> Используйте llvm'ский libc++ вместо убогого libstdc++
> у llvm появился libc++? откуда?

""libstd++ was moved to a port and libc++ was imported"" http://wiki.freebsd.org/GPLinBase

> зачем? O_O

Надо! http://www.freebsd.org/doc/en/articles/bsdl-gpl/article.html Фатальный недостаток: аппле от gplv3 пучит.

---Just removing it from base will meet opposition.

Ответить | Правка | ^ к родителю #63 | Наверх | Cообщить модератору

65. "Релиз набора компиляторов GCC 4.9"  +/
Сообщение от arisu (ok) on 24-Апр-14, 12:49 
я спрашиваю, откуда оно в llvm и зачем оно там. в clang++ — это я бы ещё понял, но в llvm-то нафига?!
Ответить | Правка | ^ к родителю #64 | Наверх | Cообщить модератору

36. "Релиз набора компиляторов GCC 4.9"  +/
Сообщение от Аноним (??) on 23-Апр-14, 07:43 
вау. сколько ВСЕГО полезного и Нужного !! =)
из оффтопа:
скоро Эскаватор и Пауэр8 ?
даже Броадвелл полноразмерный - вроде нескоро-ж ?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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