.S files are internally handled as a separate language. In meson, they are treated the same as either C or C++ if there are no C sources. This means that in meson c_args gets applied to .S files, while in muon it does not.