[PATCH 1/2] driver: support state cleanup

David Malcolm dmalcolm@redhat.com
Thu Jan 1 00:00:00 GMT 2015


On Tue, 2015-08-25 at 13:48 +0000, Joseph Myers wrote:
> On Thu, 6 Aug 2015, David Malcolm wrote:
> 
> > gcc/ChangeLog:
> > 	* gcc-main.c (main): Add params to driver ctor.
> > 	* gcc.c (class env_manager): New.
> > 	(env): New global.
> > 	(env_manager::init): New.
> > 	(env_manager::get): New.
> > 	(env_manager::xput): New.
> > 	(env_manager::restore): New.
> > 	Poison getenv and putenv.
> > 	(DEFAULT_TARGET_SYSTEM_ROOT): New.
> > 	(target_system_root): Update initialization to use
> > 	DEFAULT_TARGET_SYSTEM_ROOT.
> > 	(struct spec_list): Add field "default_ptr".
> > 	(INIT_STATIC_SPEC): Initialize new field "default_ptr".
> > 	(init_spec): Likewise.
> > 	(set_spec): Clear field "default_ptr".
> > 	(read_specs): Free "spec" and "buffer".
> > 	(xputenv): Reimplement in terms of env_manager.
> > 	(process_command): Replace ::getenv calls with calls to the
> > 	env_manager singleton.
> > 	(process_brace_body): Free string in three places.
> > 	(driver::driver): New.
> > 	(driver::~driver): New.
> > 	(used_arg): Convert from a function to...
> > 	(class used_arg_t): ...this class, and...
> > 	(used_arg): ...this new global instance.
> > 	(used_arg_t::finalize): New function.
> > 	(getenv_spec_function): Add "const" to local "value".  Replace
> > 	::getenv call with call to the env_manager singleton.
> > 	(path_prefix_reset): New function.
> > 	(driver::finalize): New function.
> > 	* gcc.h (driver::driver): New.
> > 	(driver::~driver): New.
> > 	(driver::finalize): New.
> 
> OK.

Thanks.

I've committed the combination of patches 1 and 2 to trunk as r227188,
having double-checked that it still bootstraps & passes regression
testing (on x86_64-pc-linux-gnu).

[some people on the jit list were specifically interested in this patch
kit, hence this email].



More information about the Jit mailing list