I am currently debugging some stuff and I noticed that on macOS the clang version provided by Xcode has quite a lot of flags set by default.
For example, following flags are set by default:
... -Wno-reorder-init-list \ -Wno-implicit-int-float-conversion \ -Wno-c99-designator \ -Wno-final-dtor-non-final-class \ -Wno-extra-semi-stmt \ -Wno-misleading-indentation \ -Wno-quoted-include-in-framework-header \ -Wno-implicit-fallthrough \ -Wno-enum-enum-conversion \ -Wno-enum-float-conversion \ -Wno-elaborated-enum-base \ -Wno-reserved-identifier \ -Wno-gnu-folding-constant \ ...
When using different clang compilers many of these flags are missing. Now I was wondering which component sets all these flags. Between the execution of the clang wrapper found in
/usr/bin/clang and the actual compilers there are not too many steps but I am not entirely sure, which component sets all these flags.