This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
gcc/gcc cppfiles.c cpphash.h cpplex.c cpplib.c ...
- From: bothner at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: 15 Aug 2003 01:48:00 -0000
- Subject: gcc/gcc cppfiles.c cpphash.h cpplex.c cpplib.c ...
CVSROOT: /cvs/gcc
Module name: gcc
Branch: compile-server-branch
Changes by: bothner@gcc.gnu.org 2003-08-15 01:48:00
Modified files:
gcc : cppfiles.c cpphash.h cpplex.c cpplib.c cpplib.h
ChangeLog
Log message:
* cpphash.h (struct cpp_fragment): New type.
(struct cpp_buffer) <saved_current_fragment>: New field.
(struct cpp_reader) <current_fragment, do_note_macros, macro_notes,
macro_notes_alloc_length, macro_notes_count>: New fields.
* cpplib.c (cpp_fragment): New typedef.
(struct cpp_callbacks) <enter_fragment, exit_fragment>: New callbacks.
(_cpp_start_fragment, _cpp_enter_fragment, _cpp_exit_fragment.
_cpp_note_macro, _cpp_restore_macros): New functions.
(struct cpp_macro_note): New type.
* cpplex.c (_cpp_clean_line): Kludge to support compile server.
* cpplib.c (_cpp_start_fragment, _cpp_restore_macros,
_cpp_note_macro): New functions.
(_cpp_handle_directive): Maybe call _cpp_exit_fragment and
_cpp_start_fragment.
(do_define, do_undef): Call _cpp_note_macro.
(cpp_push_buffer): Save current_fragment, and then set to NULL.
(_cpp_pop_buffer): Call _cpp_exit_fragment. Restore current_fragment.
Call _cpp_start_fragment.
* cppfiles.c (struct _cpp_file) <fragments>: New field.
(read_file_gits): Delete buffer here.
Purge fragments, and then create a new initial fragment.
(_cpp_enter_fragment, _cpp_exit_fragment, purge_fragments):
New functions.
(stack_file): Don't clear valid bit.
Initialize cpp_reader's current_fragment.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cppfiles.c.diff?cvsroot=gcc&only_with_tag=compile-server-branch&r1=1.177.2.2&r2=1.177.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cpphash.h.diff?cvsroot=gcc&only_with_tag=compile-server-branch&r1=1.194.2.1&r2=1.194.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cpplex.c.diff?cvsroot=gcc&only_with_tag=compile-server-branch&r1=1.245.2.1&r2=1.245.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cpplib.c.diff?cvsroot=gcc&only_with_tag=compile-server-branch&r1=1.348.2.1&r2=1.348.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cpplib.h.diff?cvsroot=gcc&only_with_tag=compile-server-branch&r1=1.261.2.1&r2=1.261.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=compile-server-branch&r1=2.618.2.6&r2=2.618.2.7