Jason Merrill

Recent Posts

Report from the February 2019 ISO C++ meeting (Core Language working group)

Report from the February 2019 ISO C++ meeting (Core Language working group)

The February 2019 ISO C++ meeting was held in Kailua-Kona, Hawaii. As usual, Red Hat sent three developers to the meeting: I attended in the Core Language working group, Jonathan Wakely in Library, and Thomas Rodgers in SG1 (parallelism and concurrency). The meeting went smoothly, although there was significant uncertainty at the beginning where we would end up. In the end, Modules and Coroutines were accepted into the C++20 draft, so now we have our work cut out for us nailing down the remaining loose corners. Here ar highlights from the meeting.

Continue reading “Report from the February 2019 ISO C++ meeting (Core Language working group)”

Share
November 2018 ISO C++ meeting trip report (Core Language)

November 2018 ISO C++ meeting trip report (Core Language)

The ISO C++ standards meeting in November 2018 was held in San Diego, CA. As usual, Red Hat sent three of us to the meeting: me (for the Core Language Working Group), Jonathan Wakely (for the Library Working Group [LEWG]), and Thomas Rodgers (for the Concurrency and Parallelism Study Group [SG1]). I felt the meeting was productive, though some features that had been expected to make it into C++20 are now in question.

Here are new C++ features accepted at the meeting:

Continue reading “November 2018 ISO C++ meeting trip report (Core Language)”

Share
June 2018 ISO C++ Meeting Trip Report (Core Language)

June 2018 ISO C++ Meeting Trip Report (Core Language)

The Summer 2018 ISO C++ standards committee meeting this year was back in Rapperswil, Switzerland. The new features for C++2a are coming fast now; the Core language working group had very little time for issue processing because of all the proposal papers coming to us from the Evolution working group.

Red Hat sent three of us to the meeting, to cover different tracks: myself (Core), Jonathan Wakely (Library), and Torvald Riegel (Parallelism/Concurrency).  Overall, I thought the meeting was very successful; we made significant progress in a lot of areas.

New C++ language features that were accepted at this meeting:

Continue reading “June 2018 ISO C++ Meeting Trip Report (Core Language)”

Share
March 2018 ISO C++ Meeting Trip Report (Core Language)

March 2018 ISO C++ Meeting Trip Report (Core Language)

The March C++ ISO Standard meeting this year was back in Jacksonville, Florida.  As usual, Red Hat sent three of us to the meeting: Torvald Riegel, Thomas Rodgers, and myself.  Jonathan Wakely attended via speakerphone.  There were 121 people attending the plenary meeting at the beginning of the week.

This meeting was mostly about new features for C++20, particularly when and how to merge Technical Specifications into the draft standard.  In the core language, the ones trying to make C++20 are Concepts (already partially merged), Coroutines, and Modules.  There was a lot of discussion around all three.

Continue reading “March 2018 ISO C++ Meeting Trip Report (Core Language)”

Share
Red Hat at the ISO C++ Standards Meeting (June 2016, Oulu): Core Language

Red Hat at the ISO C++ Standards Meeting (June 2016, Oulu): Core Language

It was quite a trek to get to Oulu, Finland for the June 2016 C++ Standards Committee meeting, but we were warmly received and the meeting went well once we arrived. We had very pleasant weather most of the week, and it was fun to experience the midnight sun, even though it played havoc with my sleep schedule.

The main order of business at this meeting was to vote on a first Committee Draft (CD) of the (expected) C++17 standard, ideally with as much as possible of the work that has been moving through the pipeline. The Core and especially the Library working groups were very effective at moving through their workload of papers at this meeting: Core ended the week with no papers left to review, and Library got through ~50 papers and had only two left at the end.

As usual, the committee divided into multiple working groups: the primary groups that met throughout the week are Core language, language Evolution, Library, Library Evolution, and Parallelism/Concurrency (SG1). Also as usual, I spent the week in the Core language working group.

In my report on the Jacksonville C++ Meeting last February, I described various proposals that were working through the committee. Of the core language features I listed there as expected or hoped to make it into C++17 at this meeting, almost all did. Note that as of this writing the final revisions of the adopted papers have not been posted publicly yet, but the links should adjust when they are.

Continue reading “Red Hat at the ISO C++ Standards Meeting (June 2016, Oulu): Core Language”

Share

Jacksonville C++ Core Language Meeting Report

There were three of us from Red Hat at the C++ meeting in Jacksonville, FL back in February, and it seems I never posted my trip report. So here it is now.

This was a fairly eventful meeting, as we’re rapidly approaching C++17 and so the big question on everyone’s minds was “What’s going to make it in?” In the end, many things did, but not Concepts, which some had been hoping for as a headline item.

We started and finished the week looking at the list of Technical Specifications that we were considering incorporating into C++17.

Continue reading “Jacksonville C++ Core Language Meeting Report”

Share
Lenexa C++ Meeting Report (Core Language)

Lenexa C++ Meeting Report (Core Language)

gnu logoRed Hat sent four engineers to the spring C++ meeting this year, in Lenexa, Kansas, a suburb of Kansas City.  It was hosted by Perceptive Software, a division of Lexmark.  The meeting went very smoothly overall; while there were some disagreements they were pretty cordial.

The first disagreement came up during the Monday evening session when Bjarne was talking about his vision of C++17.  He wants to see multiple big new features, lest people get bored with C++ after another relatively minor update like C++14.  Google representatives and Herb Sutter (the Convener) pointed out that what they’ve been hearing from users is that they’re happier than ever with C++, and use of C++ has been increasing on available metrics, so what we’ve been doing seems to be working.  Personally, I’m happy to continue with Herb’s plan to do regular releases with whatever happens to be ready at the time, much like GCC releases.

Continue reading “Lenexa C++ Meeting Report (Core Language)”

Share

GCC 5 in Fedora

gnu logoFedora 22 will ship with GCC 5, which brings a whole host of enhancements, among which is a new default C++ ABI. In this article, we’ll cover how that ABI transition will work in Fedora.

Background – what’s an ABI, why is it changing, and what does this mean for developers?

Put simply, binary compatibility means applications that are compiled on a combination of an operating system and a particular hardware architecture will load and run similarly across different instances of the operating environment. Application binaries consist of executable files and Dynamic Shared Objects (DSOs – the formal name for shared libraries), and the level of compatibility is defined by a specific application binary interface (ABI).

Continue reading “GCC 5 in Fedora”

Share