Commit f35629b7 by Nathan Sidwell Committed by Nathan Sidwell

[PATCH] -fdump-tree, -save-temps=obj & subdirs

https://gcc.gnu.org/ml/gcc-patches/2017-12/msg00377.html
	* opts.c (finish_options): Don't prefix dump_base_name if it
	already contains directories.

From-SVN: r255820
parent 02db1ea3
2017-12-19 Nathan Sidwell <nathan@acm.org>
* opts.c (finish_options): Don't prefix dump_base_name if it
already contains directories.
2017-12-19 Martin Liska <mliska@suse.cz>
PR rtl-optimization/82675
......@@ -700,19 +700,27 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set,
enum unwind_info_type ui_except;
if (opts->x_dump_base_name
&& ! IS_ABSOLUTE_PATH (opts->x_dump_base_name)
&& ! opts->x_dump_base_name_prefixed)
{
/* First try to make OPTS->X_DUMP_BASE_NAME relative to the
OPTS->X_DUMP_DIR_NAME directory. Then try to make
OPTS->X_DUMP_BASE_NAME relative to the OPTS->X_AUX_BASE_NAME
directory, typically the directory to contain the object
file. */
if (opts->x_dump_dir_name)
const char *sep = opts->x_dump_base_name;
for (; *sep; sep++)
if (IS_DIR_SEPARATOR (*sep))
break;
if (*sep)
/* If dump_base_path contains subdirectories, don't prepend
anything. */;
else if (opts->x_dump_dir_name)
/* We have a DUMP_DIR_NAME, prepend that. */
opts->x_dump_base_name = opts_concat (opts->x_dump_dir_name,
opts->x_dump_base_name, NULL);
else if (opts->x_aux_base_name
&& strcmp (opts->x_aux_base_name, HOST_BIT_BUCKET) != 0)
/* AUX_BASE_NAME is set and is not the bit bucket. If it
contains a directory component, prepend those directories.
Typically this places things in the same directory as the
object file. */
{
const char *aux_base;
......@@ -731,7 +739,9 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set,
opts->x_dump_base_name = new_dump_base_name;
}
}
opts->x_dump_base_name_prefixed = true;
/* It is definitely prefixed now. */
opts->x_dump_base_name_prefixed = true;
}
/* Handle related options for unit-at-a-time, toplevel-reorder, and
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment