Exploring Clang Tooling Part 2: Examining the Clang AST with clang-query--Stephen Kelly

The series continue.

Exploring Clang Tooling Part 2: Examining the Clang AST with clang-query

by Stephen Kelly

From the article:

In the last post, we created a new clang-tidy check following documented steps and encountered the first limitation in our own knowledge – how can we change both declarations and expressions such as function calls?

In order to create an effective refactoring tool, we need to understand the code generated by the create_new_check.py script and learn how to extend it.

Exploring Clang Tooling Part 1: Extending Clang-Tidy--Stephen Kelly

A very useful tool.

Exploring Clang Tooling Part 1: Extending Clang-Tidy

by Stephen Kelly

From the article:

This post is part of a three-part series about using the Clang AST Matchers to mechanically refactor C++ code. In the last post, we ensured that the code is at least buildable with Clang. While that part was only interesting to those whose code was not yet building with Clang, the rest of the series appeals to a general C++ audience.

There are many other resources on the internet covering use of existing clang-tidy checks and their motivation, such as my previous employer. There is very little information online about the developer workflow and tools to use when creating custom extensions for source to source transformations with clang-tidy. This blog series aims to fill that gap.

CppCast Episode 171: Compile Time Regular Expressions with Hana Dusíková

Episode 171 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Hana Dusíková to discuss her compile time regular expressions library, the Prague user group and her proposal for implicit constexpr.

CppCast Episode 171: Compile Time Regular Expressions with Hana Dusíková

by Rob Irving and Jason Turner

About the interviewee:

Hana is working as a senior researcher in Avast Software. Her responsibility is exploring new ideas and optimizing existing ones. She also propagates modern C++ techniques and libraries in internal techtalks and gives talks at local C++ meetups.

She studied computer science at Mendel university and subsequently taught several courses there, including: Data Structures, Computability and Complexity, and Formal Languages and Automata.

C++ Links #7—Bartlomiej Filipek and Wojciech Razik

The next episode of the 'most useful C++ links' is now available:

C++ Links #7

by Bartlomiej Filipek and Wojciech Razik

From the article:

Welcome to new C++ Links - most important and useful articles, podcasts and videos that happen between 13th and 19th of October.

Today you will find links to all proposals that will be discussed in the upcoming Standard Committee meeting in San Diego, a video explaining why C++ is not an object-oriented programming language and many more!

Conversions, Searchers and C++17 In Detail Updates -- Bartlomiej Filipek

cpp17indetail

C++17 In Detail Book Update!

Conversions, Searchers and C++17 In Detail Updates

by Bartlomiej Filipek

From the article:

I’m happy to announce that I updated the book! “C++17 In Detail” grew by 31 pages (up to 250), includes two new chapters and lots of “bug” fixes and better explanations.

See the 2 new chapters about low-level String Conversion Routines and Searchers.

CopperSpice: What Do You Do When Your Codebase Is Old Enough To Vote?

New video on the CopperSpice YouTube Channel:

What do you do when your codebase is old enough to vote?

by Barbara Geller and Ansel Sermersheim

About the video:

This video explains our perspective on the process of modernizing an old codebase. We discuss what a codebase is, what considerations you should keep in mind during the migration, and strategies to use during the migration process. We also look at which version of the C++ standard to target and why refactoring may not be a viable direction.

Please take a look and remember to subscribe!

C++ Annotated: June - September 2018 -- Anastasia Kazakova

800x320_Twitter_card.pngConferences, proposals, and learning, O my!

C++ Annotated: June - September 2018

by Anastasia Kazakova

From the article:

... a hot C++ conference season kicked off again with CppCon. Pacific++, C++ CoreHard, Meeting C++, ADC, code::dive, and the C++ Committee meeting in San Diego, California, are coming up later this year...

... Today we are starting a new section in our regular C++ Annotated. In each issue, we will cover a selection of C++ proposals and initiatives you definitely should learn about while developing in C++. This time we unveil static exceptions, constexpr new, and lifetime checks. See details below...

PVS-Studio 6.26 Released

This new release included many interesting improvements related to analysis of C and C++ code, about which we'd like to tell our users.

PVS-Studio 6.26 Released

by Andrey Karpov

From the article:

A developer believes that this is a bug in the compiler. Nevertheless, it is the author of the code who is wrong. The function does not work correctly due to the fact that undefined behavior occurs in it. The compiler follows that in the r variable a certain sum is calculated. Overflow of the r variable must not happen. Otherwise, it is undefined behavior, which doesn't have to be considered or taken into account by a compiler. So, the compiler thinks that since the value of r variable after ending the loop cannot be negative, then r & 0x7fffffff operation is not needed to reset the sigh bit and the compiler just returns the value of r variable from the function.

 

Milestone | New Home | Trip Reports--Jon Kalb

The conclusion of this year cppcon.

Milestone | New Home | Trip Reports

by Jon Kalb

From the article:

At the formal closing of CppCon 2018, we took a moment to consider how far we’ve come in the first five years of the conference. Those years have seen us grow in so many ways. Since our first conference, we’ve added classes, field trips, author signings, exhibitor tables and booths, Tool Time, and the SG14 co-located ISO meeting. The number of main program sessions has grown by about fifty percent to almost one hundred fifty.  The number of Open Content sessions has doubled to about two dozen. The number of conference days (including classes)  has doubled from four and a half to nine and the number of attendees has doubled from about six hundred to over twelve hundred.