GNU Compiler Collection 5.1 Released
Written by Alex Armstrong   
Tuesday, 28 April 2015

Thanks to its new numbering scheme this is the first stable release of the GNU Compiler Collection (GCC) 5.x series and comes less than a year after the release of GCC 5.0, the experimental release.

 

GCCSQ

The GNU Compiler Collection (GCC) is a key component of the GNU toolchain and is distributed by the Free Software Foundation. 

As well as being the official compiler of the GNU operating system, GCC has been adopted as the standard compiler by many other modern Unix-like computer operating systems, including Linux. Versions are also available for Microsoft Windows and other operating systems.

Originally named the GNU C Compiler, when it only handled the C programming language, GCC 1.0 was released in 1987 and was extended to compile C++ in December of that year. Front ends were later developed for Objective-C, Objective-C++, Fortran, Java, Ada, and Go among others.

GCC has been ported to a wide variety of processor architectures, and is widely deployed as a tool in the development of both free and proprietary software.

Last year the ACM honored GCC with its Programming Languages Software Award and the citation sums it up with:

The GNU Compiler Collection (GCC) provides a portable, production-quality, standards-compliant, highly optimizing compiler, supporting more architectures, programming languages, and operating environments than any other comparable tool. It provides the toolchain that underpins all of the GNU/Linux distributions, popular websites, and embedded environments.

News of the release of GCC 5.1 was communicated to the GCC project mailing list by Jakub Jelinek who itemised the following significant changes:

The C++ front-end now has full C++14 language support while the Standard C++ Library has experimental C++14 support and full C++11 support, which has been made possible by adopting Dual ABI.

The C front-end now defaults to C11 mode with GNU extensions, which affects semantics of the inline keyword and brings several other
user visible changes.

GCC 5.1 contains various interprocedural optimization improvements, e.g. a new IPA Identical Code Folding pass, and various LTO improvements, e.g. ODR based merging of C++ types.

The GCC 5.1 Local Register Allocator now contains a rematerialization subpass which permits it to reuse the PIC hard register on x86 and x86_64 hardware architectures to improve performance of position independent code. A simple interprocedural RA pass and various other register allocation improvements have also been added

GCC 5.1 adds partial support for the OpenACC standard, support for OpenMP 4.0 offloading to Intel's upcoming Xeon Phi accelerators and support for OpenACC offloading to PTX. The Undefined Behavior Sanitizer in GCC has been extended by adding various new runtime checks and an experimental GCC JIT library has been added.

Details of more changes can be found on GCC 5 Release Series Changes, New Features, and Fixes

GCC 5.1 is available for the FTP servers list on the GNU Operating System site

 

GCCSQ

More Information

GCC, the GNU Compiler Collection

GCC 5 Release Series Changes, New Features, and Fixes

 

Related Articles

GCC Gets An Award From ACM

GNU Manifesto Published Thirty Years Ago

GNU Hurd 0.6 Released

 

To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.

 

Banner


Five Tips for Managing Hybrid Development Teams
08/03/2024

Managing hybrid development teams can be challenging, but  can also be a rewarding endeavor. Here are some tips to follow to ensure success. 



Dart Adds WebAssembly Support
20/02/2024

Google has released Dart 3.3 with experimental support for applications compiled to WebAssembly, along with new extension types and a revamped JavaScript interop model.


More News

 

raspberry pi books

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Tuesday, 28 April 2015 )