You copied the Doc URL to your clipboard.

--reduce_paths, --no_reduce_paths

Enables and disables the elimination of redundant path name information in file paths.

When elimination of redundant path name information is enabled, the compiler removes sequences of the form xyz\.. from directory paths passed to the operating system. This includes system paths constructed by the compiler itself, for example, for #include searching.

Note

The removal of sequences of the form xyz\.. might not be valid if xyz is a link.

Mode

This option is effective on Windows systems only.

Usage

Windows systems impose a 260 character limit on file paths. Where path names exist whose absolute names expand to longer than 260 characters, you can use the --reduce_paths option to reduce absolute path name length by matching up directories with corresponding instances of .. and eliminating the directory/.. sequences in pairs.

Note

ARM recommends that you avoid using long and deeply nested file paths, in preference to minimizing path lengths using the --reduce_paths option.

Default

The default is --no_reduce_paths.

Example

Compiling the file

..\..\..\xyzzy\xyzzy\objects\file.c


from the directory

\foo\bar\baz\gazonk\quux\bop


results in an actual path of

\foo\bar\baz\gazonk\quux\bop\..\..\..\xyzzy\xyzzy\objects\file.o


Compiling the same file from the same directory using the option --reduce_paths results in an actual path of

\foo\bar\baz\xyzzy\xyzzy\objects\file.c