1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

GCC 4.8 To Improve Diagnostics Abilities

Compiler

Published on 11 July 2012 09:32 AM EDT
Written by Michael Larabel in Compiler
3 Comments

In a battle against LLVM/Clang, GCC 4.8 will improve the code diagnostics support to better assist developers in debugging code errors/warnings in a user-friendly manner.

One of the long-advertised features of LLVM's Clang C/Objective-C/C++ compiler has been that it offers more user-friendly diagnostics than the GNU Compiler Collection. Historically this has been true, especially against GCC 4.2 -- the last GPLv2 compiler release. However, GCC developers have been working to improve this situation. With GCC 4.8, it looks like more of this work will come to fruition.

On the LLVM web-site there's long been the Clang Expressive Diagnostics page to show off that Clang's error reporting/diagnostics are superior to GCC. "In addition to being fast and functional, we aim to make Clang extremely user friendly. As far as a command-line compiler goes, this basically boils down to making the diagnostics (error and warning messages) generated by the compiler be as useful as possible. There are several ways that we do this. This section talks about the experience provided by the command line compiler, contrasting Clang output to GCC 4.2's output in several examples."

Now on the GCC side they have been working on a Clang Diagnostics Comparison Wiki page. This comparison page was brought up yesterday at DebConf Managua when talking about building Debian packages with LLVM/Clang, but those details will be saved for another Phoronix article.

The GCC Clang Diagnostics Comparison is now about showing off where the latest GCC code is ahead of Clang. "It is often repeated that the Clang compiler produces far superior diagnostics to GCC. For example the Expressive Diagnostics page shows examples where Clang's diagnostics were indeed superior to GCC 4.2. However, that version of GCC is a few years old, and GCC has improved considerably since then. This page revisits the examples using recent versions of GCC and add further interesting examples."

Among the advertised features is GCC 4.8 introducing support for printed column numbers, caret diagnostics instead of pretty print expressions, typedef preservation, selective unwrapping, automatic macro expansion, quality of implementation and attention to detail, recursive template instantiations, and C++ template errors. There's also a Red Hat page promoting GCC diagnostics.

While the GCC improvements are nice, it will still be a number of months before GCC 4.8 is officially released. At that point, GCC 4.8 will be competing against LLVM/Clang 3.2 with LLVM/Clang 3.3 likely being mid-way in development.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. Intel Xeon E5-1680 v3 & E5-2687W v3 Compared To The Core i7 5960X On Linux
  2. Intel 120GB 530 Series SSD Linux Performance
  3. Btrfs/EXT4/XFS/F2FS RAID 0/1/5/6/10 Linux Benchmarks On Four SSDs
  4. AMD's Windows Catalyst Driver Remains Largely Faster Than Linux Drivers
Latest Linux Articles
  1. NVIDIA vs. Nouveau Drivers With Linux 3.18 + Mesa 10.4-devel
  2. Is The Open-Source NVIDIA Driver Fast Enough For Steam On Linux Gaming?
  3. Linux 3.18 File-System Performance Minimally Changed But Possible Regressions
  4. AMD Radeon Gallium3D Is Catching Up & Sometimes Beating Catalyst On Linux
Latest Linux News
  1. V2 Of KDBUS Published For Linux Kernel Review
  2. VirtualBox 4.3.20 Arrives, Still No Sign Of VirtualBox 4.4
  3. Scientific Linux 6.6 vs. Scientific Linux 7.0 Benchmarks
  4. Qualcomm Looks To Get Into The ARM Server Business
  5. HHVM 3.4 Adds New Features, Support
  6. More Radeon Driver Changes Queued For Linux 3.19
  7. Unigine 2.0 Alpha 2 Adds C# Support
  8. FFmpeg Is Returning To Ubuntu With 15.04 Release
  9. Linux Version Of Civilization: Beyond Earth Still Coming Along
  10. Yahoo To Become Default Search Provider For Firefox
Latest Forum Discussions
  1. Cant get working Kaveri APU - A10-7850k
  2. Roadmap to Catalyst 14.10 ?
  3. Debian Init System Coupling Vote Results
  4. The Slides Announcing The New "AMDGPU" Kernel Driver
  5. Updated and Optimized Ubuntu Free Graphics Drivers
  6. Debian Developer Resigns From The Systemd Maintainership Team
  7. Ubuntu Developers Still Thinking What To Do About Adobe Flash Support
  8. How to get rid of Linux