CSCLNG(1)
π CSCLNG β like, the Clang analyzer but make it background, bestie
okay so picture this: it's csclng, a compiler wrapper that runs the Clang analyzer in the background. That's the whole vibe. You don't have to do anything weird to your build β you just let her cook. β¨
π SYNOPSIS π
csclng [--help | --print-path-to-wrap]
πΈ DESCRIPTION πΈ
So csclng is a compiler wrapper that runs Clang in background. That's it, that's the girl. π«Ά
Here's the setup, and it's giving very low-effort-high-reward: you make a symbolic link to csclng and you name that link after your compiler (gcc, g++, ...) and then you drop it into your $PATH. Boom. Done. The compiler you thought you were calling is actually calling her. π
β¨ the defaults, no cap
These following parameters get handed to Clang by default β you didn't ask, she just does it:
--analyze-Xanalyzer -analyzer-output=text-fno-caret-diagnostics
π¦ and these get passed through from the compiler's command line
Whatever you typed at your compiler, these following parameters get passed along to Clang:
-D...-I...-O...-fexceptions-fno-exceptions-include ...-iquote ...-isystem ...-m16-m32-m64-std...
π which files count as C/C++ source files
The following file extensions are recognized as C/C++ source files:
cCcccppcxx
π turning her on (the wrapper, obviously)
If csclng is installed on your system, the following command activates the wrapper:
export PATH="$(csclng --print-path-to-wrap):$PATH"
β fr fr, that's the whole activation ritual. No config file, no daemon, no drama. Just PATH.
π OPTIONS π
--helpβ prints basic usage information. You know. The little "here's what I do" moment. πββοΈ--print-path-to-wrapβ prints the path to the directory that has the symlinks pointing at thecsclngexecutable. This is the one you shove into$PATH. π
π EXIT STATUS π
csclng propagates the exit status returned by the compiler β but only in the case that csclng actually succeeds in running the compiler. π
And listen, this part matters: the exit status returned by Clang does not affect the resulting exit status. Like, at all. Clang can be screaming in the background and your build still says what your compiler says. That's the arrangement. Periodt.
π ENVIRONMENT VARIABLES π
DEBUG_CSCLNGβ if set to a non-empty string,csclngoutputs the list of parameters given to Clang to the standard output. Peek behind the curtain, bestie. πCSCLNG_ADD_OPTSβcsclngexpects a colon-separated list of Clang options that should be appended to the command line prior to invoking Clang. And here's the tea: 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 yes, duplicates. She said what she said. π
π§ BUGS π§
Please report bugs and feature requests at https://github.com/csutils/cscppc. Don't suffer in silence, that's not the vibe. π₯Ί
π AUTHOR π
Written by Kamil Dudka. Iconic of him honestly. π
β COPYING β
Copyright (C) 2013-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. π
okay that's the whole page, you're literally so ready now. This was CSCLNG(1), dated 06/29/2026 β mwah, go analyze something, bestie π«Άπβ¨
π¦ where this page comes from
- epel 10: csclng 2.2.8-1.el10_3 Β· GPL-3.0-or-later
- epel 9: csclng 2.2.8-1.el9 Β· GPLv3+
- fedora 43: csclng 2.2.8-1.fc43 Β· GPL-3.0-or-later
- fedora 44: csclng 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