GCC Newspaper
OCTOBER 6, 2026
gcc — Proposed

Extending C++ Support in -fanalyzer - Status Report 3

GSoC student reports progress on C++ support for -fanalyzer, with exception handling and vfunc patches merged, and dynamic_cast support nearing review.

This is a status report for a Google Summer of Code project to extend C++ support in GCC’s static analyzer (-fanalyzer). The student has merged patches for exception handling and virtual function support. The main focus for the past few weeks was implementing dynamic_cast support, which resulted in a large patch that is now awaiting review. The project also involves updating the analyzer’s C++ wiki page.

In the Thread 1 participant
  1. Egas Ribeiro proposer

    Provides a status update on the GSoC project, detailing merged patches and the current state of the `dynamic_cast` implementation.

    “I didn't submit a status report for a few weeks because I was busy trying to finish dynamic_cast cast support, which took a lot longer than I expected and became quite a big feature patch.”

In Details

This GSoC project aims to enhance GCC's static analyzer to understand and analyze C++ code more effectively. The student has successfully integrated support for C++ exception handling and virtual function calls, key features for analyzing C++ object-oriented code. The current focus is on dynamic_cast, a complex C++ runtime feature, which requires significant analysis infrastructure changes.

For Context
GSoC
Google Summer of Code, an annual program that offers stipends to students who contribute to open-source projects.
-fanalyzer
A GCC compiler flag that enables a static analysis pass to detect potential bugs and vulnerabilities in code without executing it.
exception handling
A programming construct used to handle runtime errors or exceptional conditions that disrupt the normal flow of program execution.
vfunc
Short for virtual function, a member function in a base class that can be redefined in a derived class. Used for polymorphism.
dynamic_cast
A C++ operator used for converting pointers or references to derived class types at runtime, performing type checking.
GIMPLE
GCC's internal tuple representation for intermediate language, used after parsing and before optimization.
ipa-devirt
Interprocedural analysis (IPA) for devirtualization, a GCC optimization technique.
Filed Under: GSoCstatic-analysisC++