Тэгі:GCC, GNU, compilers Выйшаў набор кампілятараў GCC 4.4.0 з змененай ліцэнзійнай дамовай на runtime - "GCC RUNTIME LIBRARY EXCEPTION", прыбіральным некаторыя абмежаванні ліцэнзіі GPLv3 для Runtime кампанент набору кампілятараў, што дазваляе генераваць у GCC любы код, незалежна ад ліцэнзіі пад якой ён будзе распаўсюджвацца (напрыклад, у якасці runtime зараз можна выкарыстаць код для забеспячэння працы віртуальных машын, якія апрацоўваюць байткод, у тым ліку Java).
Асноўныя змены ў параўнанні з галінкай GCC 4.3.x: * Дададзены аптымізатар Graphite, заснаваны на полиэдральном прамежкавым паданні - тэхналогіі аптымізацыі для забеспячэння раўналежнага выканання цыклічных аперацый. Аптымізацыя дакранаецца ўсіх моў, падтрымоўваных GCC. Распрацоўка дазваляе значна павялічыць прадукцыйнасць звычайных прыкладанняў на шмат'ядравых працэсарах, створаных без выкарыстання адмысловых бібліятэк распаралельвання, напрыклад, Threading Building Blocks. * Дададзеныя новы аллокатор рэгістраў (IRA - integrated register allocator) і новы планавальнік расстаноўкі інструкцый. * Новыя опцыі аптымізацыі: "-findirect-inlining", "-ftree-switch-conversion", "-ftree-builtin-call-dce" і "-fconserve-stack"; * Новыя опцыі папярэджання аб патэнцыйных памылках у кодзе: "-Wparentheses", "-Wsequence-points", "-Wconversion", "-Wuninitialized" і т.д. * Рэалізаваная падтрымка версіі 3 спецыфікацыі OpenMP (API для раўналежных вылічэнняў); * Палепшаная падтрымка будучыні З++ стандарту C++0x, напрыклад, у libstdc++ дададзеныя загалоўкавыя файлы chrono, condition_variable, cstdatomic, forward_list, initializer_list, mutex, ratio, system_error і thread; * Адбыліся множныя змены ў падтрымцы моў C/C++/Fortran; * Палепшаная падтрымка ўжо падтрымоўваных архітэктур: дададзеныя сродкі аптымізацыі для CPU ARM Cortex-A9, Cortex-R4 і Cortex-R4F, PowerPC e300c2, e300c3, e500mc, IBM System z10 EC/BC; дададзеная падтрымка ўбудаваных функцый Intel AES, Intel PCLMUL, Intel AVX; палепшаная падтрымка архітэктур MIPS, AVR, IA-32/x86-64, IA-32/IA64, PowerPC і т.д. * GCC стаў лічыць памылкамі некаторыя программисткие "рашэнні", якія кампіляваліся раней. Напрыклад, зараз не працуе "#elif" без аргументу; "cstdio" больш не разумее ўключэнне "string.h", "ios.h", "iomanip.h", "streambuf.h" і "locale.h", а "stdint.h" не ўключае "string.h" і "ios.h". ; радковыя функцыі больш не прымаюць "char*" замест "const char*"; якія сталі жорсткім патрабаванні да ініцыялізацыі C++ класаў. Распрацоўнікі Fedora ужо раней заявілі аб тым, што версія 11 дыстрыбутыва будзе цалкам скампіляваная GCC 4.4.0. Аднак, праца маецца быць немалая: пры спробе пересборки новым кампілятарам 6228 пакетаў дыстрыбутыва было зафіксавана 559 памылак.
Афіцыйны рэліз набору кампілятараў GCC 4.4.0
22 красавіка 2009
Каментароў (0)