CSGCCA(1)
β¨ CSGCCA β the compiler wrapper that runs the GCC analyzer in the background β¨
okay bestie, welcome to csgcca(1), the manual page for the lil wrapper that's out here doing the most so you don't have to π
πΈ NAME πΈ
csgcca β a compiler wrapper that runs the GCC analyzer in background
π SYNOPSIS π
csgcca [--help | --print-path-to-wrap]
π¦ DESCRIPTION π¦
So here's the tea, bestie: csgcca is a compiler wrapper that runs gcc -fanalyzer in background. That's it. That's the whole vibe. π
To actually use it you gotta create a symbolic link to csgcca named as your compiler and put it to your $PATH. Yes, literally name the symlink after your compiler. It's giving shapeshifter. π§
The following parameters are given to the GCC analyzer by default:
-fanalyzer-fdiagnostics-path-format=separate-events-fno-diagnostics-show-caret-fno-lto-c -o /dev/null
And the following parameters are passed to the GCC analyzer from compiler's command line:
-D...-I...-O...-Wno-...-f...-include ...-iquote ...-isystem ...-m16-m32-m64-std...
If csgcca is installed on system, the following command activates the wrapper:
export PATH="$(csgcca --print-path-to-wrap):$PATH"
no cap, that one line is the whole activation ritual. put it in your shell rc and go live your life β¨
π OPTIONS π
--helpβ Prints basic usage information. Your lil "what do I even do here" button π«Ά--print-path-to-wrapβ Prints path to the directory with symlinks to thecsgccaexecutable. This is the one you pipe intoPATH, iykyk π₯
π EXIT STATUS π
csgcca propagates the exit status returned by the compiler (in case csgcca succeeds to run the compiler). The exit status returned by the GCC analyzer does not affect the resulting exit status.
so like, the analyzer can be screaming crying throwing up and your build still says whatever the compiler said. iconic, honestly. π
π ENVIRONMENT VARIABLES π
DEBUG_CSGCCAβ If set to a non-empty string,csgccaoutputs the list of parameters given to the GCC analyzer to the standard output. Spill the receipts, bestie πCSGCCA_ADD_OPTSβcsgccaexpects a colon-separated list of GCC options that should be appended to command line prior to invoking the GCC analyzer. The options are appended even if they already appear in the command line and they are always appended at the end of the command line. So yeah, duplicates are happening on purpose, it's not a glitch β¨CSGCCA_ANALYZER_BINβ If set to a non-empty string,csgccawill use the value as a path (relative or absolute) to analyzer binary. Pick your own main character, we support it π
π BUGS π
Please report bugs and feature requests at https://github.com/csutils/cscppc.
not us gatekeeping, go tell them everything π
π AUTHOR π
Written by Kamil Dudka.
β COPYING β
Copyright (C) 2020-2022 Red Hat, Inc. Free use of this software is granted under the terms of the GNU General Public License (GPL). See the COPYING file for details.
and that's the whole page, bestie π
this version of the csgcca(1) page (from the CSGCCA source, dated 06/29/2026) is a wrap β go forth, wrap your compiler, and let the analyzer do its thing in the background like the quiet overachiever it is π¦β¨
π¦ where this page comes from
- epel 10: csgcca 2.2.8-1.el10_3 Β· GPL-3.0-or-later
- epel 9: csgcca 2.2.8-1.el9 Β· GPLv3+
- fedora 43: csgcca 2.2.8-1.fc43 Β· GPL-3.0-or-later
- fedora 44: csgcca 2.2.8-1.fc44 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms