On 7/13/25 12:31 AM, Nicolas Werner wrote:
Am Freitag, 11. Juli 2025, 18:42:34 Mitteleuropäische Sommerzeit schrieb Jason
Merrill:
On 7/10/25 4:41 PM, Nicolas Werner wrote:
Users might be using a space in their build directory path. To allow
specifying such a root for the module mapper started by GCC, we need the
command to allow quotes. Previously quoting a path passed to the module
mapper was not possible, so replace the custom argv parsing with
the argv parsing logic from libiberty, that supports fairly standard
shell quoting using single and double quotes.
This also should fix PR110153, although my intention was really to fix
passing parameters to the "--root" parameter.
I don't know how to best add a test with this yet, since I am unsure
about how to best deal with spaces in test folders.
Can you be more specific?
I don't know how to reliably pass a space through the test files and on IRC
people mostly agreed, that leaving out a test for this could be an option.
But more specifically, I am trying to test invocations like
-fmodule-mapper="@g++-module-mapper --root 'path with space'"
or
-fmodule-mapper="@g++-module-mapper --root 'path with space'"
I don't know what quoting rules apply to dg-additional-options
Generally in Tcl world if quoting is a concern it's easiest to use {}
instead of "".
and I also
don't know if spaces in file names are even supported on all platforms the
tests need to run on.
I expect so, but indeed there are currently no files with spaces in the
GCC sources, so it's fine to omit the test in this case.
I've committed your Aug 3 patch with a missing period added to a comment.
Thanks!
Jason