GNU Compiler Collection 15.1 отримав підтримку COBOL та ранню підтримку Rust
У новий реліз набору компіляторів для різних мов програмування GCC (GNU Compiler Collection) 15.1 вперше додано підтримку фронтенда мови програмування COBOL. Про це повідомляє DevClass.
COBOL — це застаріла мова програмування, яка досі активно використовується, особливо на мейнфреймах. Проєкт GCC COBOL вперше був представлений у 2022 році. Він є фронтендом для GCC і його не треба плутати з існуючим GnuCOBOL, який є транслятором і працює шляхом перетворення коду COBOL на C перед компіляцією.
«У нас дружні стосунки з GnuCOBOL, і його розробник підтримує нашу ініціативу», — сказав Джеймс Лоуден з Cobolworx, компанії, яка створила цей проект і спеціалізується на запуску COBOL на Linux. За словами Лоудена, «COBOL має чудову перевагу, яку не має жодна інша мова: це компільована мова для записоорієнтованого (record-oriented) I/O».
Нова версія GCC COBOL базується на COBOL-2023, яка ще не реалізує об’єктно-орієнтовані функції. Вона містить багато розширень IBM та MicroFocus і підтримує налагоджувач GNU, gdb.
GCC 15 також має покращену підтримку OpenMP. OpenMP — це API для паралельної обробки для таких пристроїв, як графічні процесори. GCC 15 підтримує уніфіковану спільну пам’ять на деяких графічних процесорах AMD та Nvidia, а також реалізує API сумісності для C, C++, Fortran з Cuda (API від Nvidia для обчислень загального призначення на графічних процесорах) та HIP (гетерогенний обчислювальний інтерфейс для перенесення) на графічних процесорах Nvidia та AMD.
Мовою програмування C за замовчуванням для GCC тепер є C23, а в примітках до випуску попереджається, що «якщо ваш код базується на старіших версіях стандарту C, вам потрібно буде або додати -std= до прапорців збірки, або портувати свій код».
Що стосується C++, то в GCC 15 додані кілька виправлень та дві раніше відсутні функції C++23. Бібліотека виконання покращила експериментальну підтримку C++ 23 та C++ 26.
GCC має ранню стадію підтримки Rust, хоча в readme-файлі Rust-GCC зазначається, що «компілятор знаходиться на дуже ранній стадії розробки і ще не може бути використаний для компіляції реальних програм Rust». Стандартний компілятор Rust, rustc, використовує серверну частину LLVM, і однією з цілей Rust-GCC є вирішення проблеми розмежування спільнот LLVM та GCC, яку сприймає команда. «Додаючи фронтенд до GCC, а не серверну частину до rustc, ми сподіваємося залучити другу спільноту до Rust», – пишуть у файлі ReadMe.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: