* c.opt: Introduce -fworking-directory.
commite7aa92b2a1d420c944ff0c2e0ed5f0240638fa39
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 5 Aug 2003 21:15:57 +0000 (5 21:15 +0000)
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 5 Aug 2003 21:15:57 +0000 (5 21:15 +0000)
treeb7f8db5c8aee0a49ffa5b4f9b148561a8a68a233
parent52fa96d362090ae55361c6c2f18a284ffa384927
* c.opt: Introduce -fworking-directory.
* doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
* c-common.h (flag_working_directory): Declare.
* c-common.c (flag_working_directory): Define.
* c-opts.c (c_common_handle_options): Set it.
(sanitize_cpp_opts): Set...
* cpplib.h (struct cpp_options): ... working_directory option.
(struct cpp_callbacks): Add dir_change.
* cppinit.c (read_original_filename): Call...
(read_original_directory): New.  Look for # 1 "directory//"
and process it.
(cpp_read_main_file): Call dir_change callback if working_directory
option is set.
* gcc.c (cpp_unique_options): Pass -g*.
* c-lex.c (cb_dir_change): New.
(init_c_lex): Set dir_change callback.
* toplev.c (src_pwd): New static variable.
(set_src_pwd, get_src_pwd): New functions.
* toplev.h (get_src_pwd, set_src_pwd): Declare.
* dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
* dwarf2out.c (gen_compile_unit_die): Likewise.
* dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70189 138bc75d-0d04-0410-961f-82ee72b054a4
17 files changed:
gcc/ChangeLog
gcc/c-common.c
gcc/c-common.h
gcc/c-lex.c
gcc/c-opts.c
gcc/c.opt
gcc/cppinit.c
gcc/cpplib.h
gcc/dbxout.c
gcc/doc/cpp.texi
gcc/doc/cppopts.texi
gcc/doc/invoke.texi
gcc/dwarf2out.c
gcc/dwarfout.c
gcc/gcc.c
gcc/toplev.c
gcc/toplev.h