https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96287
--- Comment #3 from Andreas Urban <andreas.urban at hotmail dot com> --- (In reply to Jonathan Wakely from comment #1) > Ignoring it could lead to equally undesirable behaviour though. > > for file in *.cc ; do gcc "$fil" ; done > > Don't those languages support something like the Bourne shell's "$@" which > does the right thing? Tcl has {*} expanding a list to be treated as arguments. Empty elements disappear. Thinking about it some more, yes that behaves as intended and is relatively easy to read and write: exec gcc {*}$cppflags {*}$cflags -o $@ $< So we can cross out Tcl from the list of languages that benefit from such change.