The fact that there is nesting is the issue, not the depth of it. The issue is that nested functions are illegal in both C and C++.
If by illegal you mean not working in standard C as is true for all compiler extensions, even those supported by Clang/LLVM. The reason they are 'extensions' is because they implement functionality outside of the standard specs. Of course lots of functionality that ended up in the official standards started out as extensions.
Now, if you use said extensions you need a compiler which supports them, the Linux kernel for instance make lots of use of compiler extensions simply because they want functionality not provided within the C standards. GCC has exensions, Clang/LLVM has extensions, ICC has extensions, Visual Studio has extensions, etc
So either Clang/LLVM support these extensions which programmers have chosen to make use of, or the code must be rewritten to work without the unsupported extensions.
...Of releasing "Linux/Linux", the Linux *Operating System* without a single line of FSF code, so they'll finally have to shut up about why everything should be Gnu/MyToiletPaper etc. Or maybe I should call it "Linus Is My God/Linux"... or maybe "I Hate Freedom / Linux"....
Hmmm... the possibilities are endless...
(PS, Believe it or not but I actually respect the work the FSF did on the GPL etc. It's just this naming thing that's stupid and ignores that "Gay" no longer only means "very happy", "Twitter" isn't just a sound birds make, "Linux" is no longer "just" a kernel etc.)
DISCLAIMER: Any advice offered may be used in the forthcoming conquest of your species. Alien Overlord Enterprises inc. take no responsibility for the loss of species, fauna, or planets resulting from replies to this post.