CSGCCA(1)

πŸ“¦
version 2.2.8 Β· 3 versions
, in epel 10, epel 9, fedora 43, fedora 44

✨ 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 the csgcca executable. This is the one you pipe into PATH, 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, csgcca outputs the list of parameters given to the GCC analyzer to the standard output. Spill the receipts, bestie πŸ“
  • CSGCCA_ADD_OPTS β€” csgcca expects 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, csgcca will 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