Skip to content
Snippets Groups Projects
  1. Jan 02, 2005
  2. Nov 28, 2004
    • neroden's avatar
      (libcpp) · bd9e37a6
      neroden authored
      	PR preprocessor/17610
      	* directives.c (do_include_common): Error out if an empty filename
      	is given for #include (or #include_next or #import).
      
      (gcc)
      	PR preprocessor/17610
      	* testsuite/gcc.dg/cpp/empty-include.c: New testcase.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91428 138bc75d-0d04-0410-961f-82ee72b054a4
      bd9e37a6
  3. Nov 23, 2004
    • jsm28's avatar
      gcc: · 68bf2ad9
      jsm28 authored
      2004-11-23  Daniel Jacobowitz  <dan@codesourcery.com>
                  Joseph Myers  <joseph@codesourcery.com>
      
      	* config/sol2-c.c (solaris_register_pragmas): Use
      	c_register_pragma_with_expansion.
      	* config/sol2.h (HANDLE_PRAGMA_PACK_WITH_EXPANSION): Define.
      	* c-pragma.c (c_register_pragma): Update call to
      	cpp_register_pragma.
      	(c_register_pragma_with_expansion): New function.
      	(init_pragma): Honor HANDLE_PRAGMA_PACK_WITH_EXPANSION.
      	* c-pragma.h (c_register_pragma_with_expansion): New prototype.
      	* doc/extend.texi (Solaris Pragmas): Mention macro expansion for
      	#pragma align.
      	* doc/tm.texi (c_register_pragma_with_expansion,
      	HANDLE_PRAGMA_PACK_WITH_EXPANSION): Document.
      
      gcc/testsuite:
      2004-11-23  Daniel Jacobowitz  <dan@codesourcery.com>
      
      	* gcc.dg/pragma-align-2.c: Test macro expansion.
      	* gcc.dg/pragma-pack-2.c: New test.
      
      libcpp:
      2004-11-23  Daniel Jacobowitz  <dan@codesourcery.com>
                  Joseph Myers  <joseph@codesourcery.com>
      
      	* internal.h (struct lexer_state): Add in_deferred_pragma.
      	* directives.c (struct pragma_entry): Add allow_expansion.
      	(insert_pragma_entry): Take allow_expansion flag.
      	(register_pragma): Likewise.
      	(cpp_register_pragma): Likewise.
      	(_cpp_init_internal_pragmas): Update calls to cpp_register_pragma.
      	(do_pragma): Honor allow_expansion.
      	(cpp_handle_deferred_pragma): Set in_deferred_pragma.
      	* include/cpplib.h (cpp_register_pragma): Update prototype.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91117 138bc75d-0d04-0410-961f-82ee72b054a4
      68bf2ad9
  4. Oct 27, 2004
    • zack's avatar
      PR 18075 · a095c1b5
      zack authored
      	* directives.c (do_pragma): Do not defer pragmas which are unknown.
      	(cpp_handle_deferred_pragma): Add cast to silence warning.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89693 138bc75d-0d04-0410-961f-82ee72b054a4
      a095c1b5
  5. Sep 30, 2004
    • bothner's avatar
      · a8b2a8d5
      bothner authored
      	* directives.c (cpp_handle_deferred_pragma):  Save, clear and restore
      	cb.line_change.  Otherwise do_pragma will call the line_change
      	call-back with a meaningless line number.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88320 138bc75d-0d04-0410-961f-82ee72b054a4
      a8b2a8d5
  6. Sep 18, 2004
  7. Sep 09, 2004
    • zack's avatar
      2004-09-09 Matt Austern <austern@apple.com> · d6d3c909
      zack authored
      	    Zack Weinberg  <zack@codesourcery.com>
      
      	* include/cpplib.h (TTYPE_TABLE): Remove CPP_ and SPELL_
      	prefixes throughout.  Add entry for PRAGMA.  Remove
      	unnecessary "= 0" from EQ.
      	(enum cpp_ttype): Adjust OP and TK definitions to restore
      	prefixes, via token-paste.
      	(CPP_LAST_EQ, CPP_FIRST_DIGRAPH, CPP_LAST_PUNCTUATOR, CPP_LAST_CPP_OP):
      	Change from #defines to additional cpp_ttype enumerators.
      	(struct cpp_options): Add defer_pragmas.
      	(cpp_handle_deferred_pragma): Prototype new interface.
      
      	* internal.h (struct cpp_reader): Add directive_result.
      	* directives.c (struct pragma_entry): Add is_internal field;
      	give boolean fields type bool.
      	(start_directive): Initialize pfile->directive_result.type.
      	(_cpp_do__Pragma): Likewise.
      	(run_directive): Do not crash if pfile->buffer->prev is NULL.
      	(insert_pragma_entry): Add 'internal' argument; set new->is_internal
      	from it.
      	(register_pragma): New static function, bulk of former
      	cpp_register_pragma here; add 'internal' argument, pass along
      	to insert_pragma_entry.
      	(cpp_register_pragma): Now a wrapper around register_pragma which
      	always passes false for 'internal' argument.
      	(_cpp_init_internal_pragmas): Call register_pragma directly, passing
      	true for 'internal'.
      	(do_pragma): If CPP_OPTION (pfile, defer_pragmas) and this isn't
      	an internal pragma, save text till the end of the line as a CPP_PRAGMA
      	token instead of executing the pragma.
      	(cpp_handle_deferred_pragma): New interface.
      	* lex.c (token_spellings): Adjust OP and TK definitions to
      	match changes to cpplib.h.
      	(_cpp_lex_token): Check for a directive-result token and
      	return it if present.
      	(cpp_token_val_index): Handle CPP_PRAGMA.
      	* macro.c (cpp_builtin_macro_text): Correct comment.
      	(builtin_macro): Handle directive-result tokens from _cpp_do__Pragma.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87247 138bc75d-0d04-0410-961f-82ee72b054a4
      d6d3c909
  8. Jul 24, 2004
  9. Jun 09, 2004
    • geoffk's avatar
      Index: gcc/ChangeLog · c39ed964
      geoffk authored
      2004-06-09  Geoffrey Keating  <geoffk@apple.com>
      
      	* Makefile.in (CPPLIB_H): Put files in order of inclusion.
      	(CPP_ID_DATA_H): New.
      	(gtype-desc.o): Update dependencies.
      	(GTFILES): Use CPP_ID_DATA_H.
      
      Index: gcc/testsuite/ChangeLog
      2004-06-09  Geoffrey Keating  <geoffk@apple.com>
      
      	* gcc.dg/pch/macro-4.c: New.
      	* gcc.dg/pch/macro-4.hs: New.
      
      Index: libcpp/ChangeLog
      2004-06-09  Geoffrey Keating  <geoffk@apple.com>
      
      	* traditional.c (push_replacement_text): Set macro->traditional.
      	(save_replacement_text): Likewise.
      	* pch.c (cpp_write_pch_state): Don't write list of defined macros.
      	(struct save_macro_item): Delete.
      	(struct save_macro_data): Use a character array not the previous
      	structured format.
      	(save_macros): Save macro as text not as internal structures.
      	(cpp_prepare_state): Update for changes to save_macro_data.
      	(cpp_read_state): Don't read macros defined in PCH.  Restore
      	-D macros as text.
      	* macro.c (create_iso_definition): Honour alloc_subobject.
      	Clear traditional flag.
      	(_cpp_create_definition): Honour alloc_subobject.
      	* lex.c (cpp_token_val_index): New.
      	* internal.h: Include cpp-id-data.h.
      	(uchar): Move definition to cpp-id-data.h.
      	(U): Likewise.
      	(cpp_macro): Likewise.
      	* directives.c (struct answer): Move to cpp-id-data.h.
      	(do_assert): Honour alloc_subobject.
      
      Index: libcpp/include/ChangeLog
      2004-06-09  Geoffrey Keating  <geoffk@apple.com>
      
      	* symtab.h (struct ht): Add field 'alloc_subobject'.
      	* cpplib.h (struct cpp_string): Add GTY marker.
      	(enum cpp_token_fld_kind): New.
      	(struct cpp_token): Add GTY markers.
      	(cpp_token_val_index): Prototype.
      	(CPP_HASHNODE_VALUE_IDX): New.
      	(struct cpp_hashnode): Don't skip fields of 'value' when marking.
      	* cpp-id-data.h: New file.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82851 138bc75d-0d04-0410-961f-82ee72b054a4
      c39ed964
  10. Jun 05, 2004
    • zack's avatar
      libcpp: · 3eb3f293
      zack authored
      	* Makefile.am: Add makedepend.
      	* Makefile.in, aclocal.m4: Regenerate.
      	* charset.c: Insert a space to avoid a warning.
      	* directives.c: Include mkdeps.h.
      	(_cpp_handle_directive): Reenable macro expander if appropriate.
      	(undefine_macros): Inline body of _cpp_free_definition for speed.
      	Do not call undef callback or _cpp_warn_if_unused_macro.
      	(cpp_get_deps): New interface.
      	* files.c (search_cache): Add pfile argument.  Check for file
      	that would be found by "" or <> search here...
      	(_cpp_find_file): ...not here.  Correct recorded start_dir of
      	files found by directory-of-current-file search that would be
      	found by "" or <> search.
      	* init.c (cpp_add_dependency_target): Delete.
      	* internal.h (struct lexer_state): Add discarding_output flag.
      	* lex.c (lex_identifier): Compute hash function while scanning.
      	* macro.c (cpp_scan_nooutput): Disable macro expansion outside
      	directives.
      	* makedepend.c: New file.
      	* mkdeps.c (struct deps): Add vpath vector.
      	(apply_vpath, deps_add_vpath): New function.
      	(deps_free): Free vpath vector.
      	(deps_add_dep, deps_add_target): Use apply_vpath.
      	* symtab.c (calc_hash): Use HT_HASHSTEP and HT_FINISH.
      	(ht_lookup_with_hash): New function.
      	* cpplib.h, mkdeps.h: Update prototypes.
      	* symtab.h: Update prototypes.
      	(HT_HASHSTEP, HT_FINISH): New macros.
      
      gcc:
      	* Makefile.in (MKDEPS_H): New shorthand.
      	(c-opts.o): Update dependencies.
      	* c-opts.c: Include mkdeps.h.
      	(handle_deferred_opts): Use cpp_get_deps and deps_add_target,
      	not cpp_add_dependency_target.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82654 138bc75d-0d04-0410-961f-82ee72b054a4
      3eb3f293
  11. May 24, 2004
    • bonzini's avatar
      ChangeLog: · d856c8a6
      bonzini authored
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	* Makefile.def (host_modules): add libcpp.
      	* Makefile.tpl: Add dependencies on and for libcpp.
      	* Makefile.in: Regenerate.
      	* configure.in: Add libcpp host module.
      	* configure: Regenerate.
      
      config/ChangeLog:
      
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	* acx.m4 (ACX_HEADER_STDBOOL, ACX_HEADER_STRING):
      	From gcc.
      
      gcc/ChangeLog:
      
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	Move libcpp to the toplevel.
      	* Makefile.in: Remove references to libcpp files,
      	use CPPLIBS instead of libcpp.a.  Define SYMTAB_H
      	and change hashtable.h to that.
      	* aclocal.m4 (gcc_AC_HEADER_STDBOOL,
      	gcc_AC_HEADER_STRING, gcc_AC_C__BOOL): Remove.
      	* configure.ac (gcc_AC_C__BOOL, HAVE_UCHAR): Remove tests.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      	* c-ppoutput.c: Include ../libcpp/internal.h instead of cpphash.h.
      	* cppcharset.c: Removed.
      	* cpperror.c: Removed.
      	* cppexp.c: Removed.
      	* cppfiles.c: Removed.
      	* cpphash.c: Removed.
      	* cpphash.h: Removed.
      	* cppinit.c: Removed.
      	* cpplex.c: Removed.
      	* cpplib.c: Removed.
      	* cpplib.h: Removed.
      	* cppmacro.c: Removed.
      	* cpppch.c: Removed.
      	* cpptrad.c: Removed.
      	* cppucnid.h: Removed.
      	* cppucnid.pl: Removed.
      	* cppucnid.tab: Removed.
      	* hashtable.c: Removed.
      	* hashtable.h: Removed.
      	* line-map.c: Removed.
      	* line-map.h: Removed.
      	* mkdeps.c: Removed.
      	* mkdeps.h: Removed.
      	* stringpool.h: Include symtab.h instead of hashtable.h.
      	* tree.h: Include symtab.h instead of hashtable.h.
      	* system.h (O_NONBLOCK, O_NOCTTY): Do not define.
      
      gcc/cp/ChangeLog:
      
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	* Make-lang.in: No need to specify $(LIBCPP).
      
      gcc/java/ChangeLog:
      
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	* Make-lang.in: Link in $(LIBCPP) instead of mkdeps.o.
      
      libcpp/ChangeLog:
      
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	Moved libcpp from the gcc subdirectory to the toplevel.
      	* Makefile.am: New file.
      	* Makefile.in: Regenerate.
      	* configure.ac: New file.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      	* charset.c: Moved from gcc/cppcharset.c.  Add note about
      	brokenness of input charset detection.  Adjust for change
      	in name of cppucnid.h.
      	* errors.c: Moved from gcc/cpperror.c.  Do not include intl.h.
      	* expr.c: Moved from gcc/cppexp.c.
      	* files.c: Moved from gcc/cppfiles.c.  Do not include intl.h.
      	Remove #define of O_BINARY, it is in system.h.
      	* identifiers.c: Moved from gcc/cpphash.c.
      	* internal.h: Moved from gcc/cpphash.h.  Change header
      	guard name.  All other files adjusted to match name change.
      	* init.c: Moved from gcc/cppinit.c.
      	(init_library) [ENABLE_NLS]: Call bindtextdomain.
      	* lex.c: Moved from gcc/cpplex.c.
      	* directives.c: Moved from gcc/cpplib.c.
      	* macro.c: Moved from gcc/cppmacro.c.
      	* pch.c: Moved from gcc/cpppch.c.  Do not include intl.h.
      	* traditional.c: Moved from gcc/cpptrad.c.
      	* ucnid.h: Moved from gcc/cppucnid.h.  Change header
      	guard name.
      	* ucnid.pl: Moved from gcc/cppucnid.pl.
      	* ucnid.tab: Moved from gcc/cppucnid.tab.  Change header
      	guard name.
      	* symtab.c: Moved from gcc/hashtable.c.
      	* line-map.c: Moved from gcc.  Do not include intl.h.
      	* mkdeps.c: Moved from gcc.
      	* system.h: New file.
      
      libcpp/include/ChangeLog:
      
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	* cpplib.h: Moved from gcc.  Change header guard name.
      	* line-map.h: Moved from gcc.  Change header guard name.
      	* mkdeps.h: Moved from gcc.  Change header guard name.
      	* symtab.h: Moved from gcc/hashtable.h.  Change header
      	guard name.
      
      libcpp/po/ChangeLog:
      
      2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	* be.po: Extracted from gcc/po/be.po.
      	* ca.po: Extracted from gcc/po/ca.po.
      	* da.po: Extracted from gcc/po/da.po.
      	* de.po: Extracted from gcc/po/de.po.
      	* el.po: Extracted from gcc/po/el.po.
      	* es.po: Extracted from gcc/po/es.po.
      	* fr.po: Extracted from gcc/po/fr.po.
      	* ja.po: Extracted from gcc/po/ja.po.
      	* nl.po: Extracted from gcc/po/nl.po.
      	* sv.po: Extracted from gcc/po/sv.po.
      	* tr.po: Extracted from gcc/po/tr.po.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82199 138bc75d-0d04-0410-961f-82ee72b054a4
      d856c8a6
  12. Apr 23, 2004
    • bothner's avatar
      · dbddc569
      bothner authored
      	* line-map.h (struct line_maps):  New field highest_line.
      	(linemap_position_for_column):  Make non-inline function.
      	(LINEMAP_POSITION_FOR_COLUMN):  New macro.
      	* line-map.c (linemap_init):  Clear highest_line field.
      	(linemap_add):  Set highest_line field.
      	(linemap_line_start):  Minor optimization - use highest_line field.
      	Reduce maximum column hint to 10000.  Update highest_line field.
      	(linemap_position_for_column):  Moved from line-map.h.  Optimize a bit.
      	* cpphash.h (struct cpp_reader):  Remove line field - instead use
      	line_table->highest_line.
      	(saved_line):  Remove unused field.
      	(CPP_INCREMENT_FILE):  Don't do linemap_lookup - just use newest map.
      	Use  line_table's highest_line field instead of cpp_reader's line.
      	* cpplib.c (start_directive):  Likewise use highest_line field.
      	(do_line, do_linemarker):  Likewise just use newest map.
      	(_cpp_do_file_change):  Don't need to set cpp_reader's line field.
      	* cpperror.c (cpp_error):  Likewise use highest_line field.
      	* cppfiles.c (open_file_failed:  Likewise.
      	(cpp_make_system_header):  Likewise use newest map and highest_line.
      	* cppinit.c (cpp_create_reader):  Don't initialize removed field.
      	* cpplex.c (_cpp_process_line_notes, _cpp_skip_block_comment,
      	skip_line_comment, skip_whitespace, _cpp_get_fresh_line,
      	_cpp_lex_direct):  Likewise use highest_line.
      	(_cpp_lex_direct):  Use new LINEMAP_POSITION_FOR_COLUMN macro.
      	* cppmacro.c (_cpp_builtin_macro_text):  Likewise use highest_line,
      	and use newest map.
      	* cpppch.c (cpp_read_state):  Don't save+restore cpp_reader's line.
      	* cpptrad.c (_cpp_overlay_buffer):  Don't save cpp_reader's line.
      	(copy_comment, _cpp_scan_out_logical_line):  Likewise use highest_line.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81074 138bc75d-0d04-0410-961f-82ee72b054a4
      dbddc569
  13. Mar 24, 2004
  14. Feb 12, 2004
  15. Feb 11, 2004
    • bothner's avatar
      · 610625e3
      bothner authored
      	Represent column numbers using line-map's source_location.
      	The "next available source_location" is now managed internally by
      	line-maps.c rather than by clients.
      	* line-map.h (struct line_map):  New field column_bits.
      	<from_line>:  Rename field to start_location.
      	(struct line_maps):  New fields highest_location and max_column_hint.
      	(linemap_check_files_exited):  New declaration.
      	(linemap_line_start):  New declaration.
      	(linemap_add):  Remove from_line parameter; use highest_location field.
      	(SOURCE_LINE, LAST_SOURCE_LINE):  Modify to use column_bits.
      	(SOURCE_COLUMN, LAST_SOURCE_LINE_LOCATION):  New macros.
      	(CURRENT_LINE_MAP):  Remove macro.
      	(linemap_position_for_column):  New inline function.
      	* line-map.c (linemap_init):  Clear new fields.
      	(linemap_check_files_exited):  New function, extracted from ...
      	(linemap_free):  Use linemap_check_files_exited.
      	(linemap_add):  Remove from_line parameter.  Various updates.
      	(linemap_line_start):  New function.
      	(linemap_lookeup):  Update for new field names.
      	* cpphash.h (struct cpp_reader) <map>:  Field removed.  Because
      	linemap_position_for_column may unpredictably change the current map,
      	it is cleaner and simpler for us to not cache it in cpp_reader.
      	(struct cpp_buffer):  New sysp field.
      	Changed warned_cplusplus_comments and from_stage3 to bitfields.
      	* cppinit.c (cpp_read_min_file):  pfile->map no longer exists.
      	* cpplib.c (do_line, do_linemarker, _cpp_do_file_change):  Get
      	current map using linemap_lookup.
      	(do_linemarker):  Also set buffer's sysp field.
      	(destringize_and_run):  No longer need to decrement current line.
      	* cppfiles.c (_cpp_stack_file):  Set sysp from and in buffer.
      	(search_path_head, open_file_failed):  Use buffer's sysp.
      	(cpp_make_system_header):  Get current map using linemap_lookup.
      	Also set buffer's sysp flag.
      	* cppmacro.c (_cpp_builtin_macro_text):  Likewise use linemap_lookup.
      	* cpphash.h (CPP_INCREMENT_LINE):  New macro.
      	(struct cpp_buffer):  Moved fields saved_cur, saved_rlimit to ...
      	(struct cpp_reader):  ... and adding saved_line_base field.
      	* cpptrad.c (_cpp_overlay_buffer, _cpp_remove_overlay):
      	Update accordingly.  Don't adjust line.
      	(_cpp_scan_out_logical_line):  Use CPP_INCREMENT_LINE.
      	* cpphash.c (CPP_IN_SYSTEM_HEADER):  Replaced macro by ...
      	(cpp_in_system_header):  ... new inline function, using buffer's sysp.
      	* cpperror.c (_cpp_begin_message):  Update to use cpp_in_system_header.
      	* cpplex.c (_cpp_lex_direct):  Likewise.
      	* cppmacro.c (_cpp_builtin_macro_text):  Likewise.
      	* cppmacro.c (_cpp_create_definition):  Use buffer's sysp field.
      	* cpplib.h (struct cpp_token):  Rename line field to src_loc.
      	Remove col field as it is now subsumed by src_loc.
      	* cpperror.c:  Update various field, parameter, and macro names.
      	(print_location):  If col==0, try SOURCE_COLUMN of line.
      	(cpp_error):  Use cur_token's src_loc field, rather than line+col.
      	* cpplib.c (do_diagnostic):  Token's src_loc fields replaces line+col.
      	* cpplex.c (_cpp_process_line_notes, _cpp_lex_direct,
      	_cpp_skip_block_comment):  Use CPP_INCREMENT_LINE.
      	(_cpp_temp_token):  Replace cpp_token's line+col fields by src_loc.
      	(_cpp_get_fresh_line):  Don't need to adjust line for missing newline.
      	(_cpp_lex_direct):  Use linemap_position_for_column.
      	* c-ppoutput.c (maybe_print_line, print_line):  Don't take map
      	parameter.  Instead get it from the line_table global.  Adjust callers.
      	(print):  Remove map field.  Replace line field to src_line.
      	(init_pp_output, account_for_newlines, maybe_print_line):  Adjust.
      	(cb_line_change):  Use SOURCE_COLUMN.  Minor optimizations.
      	(pp_file_change):  Use MAIN_FILE_P since we cannot checked print.map.
      	Use LAST_SOURCE_LINE_LOCATION to "catch up" after #include.
      	* cpptrad.c (copy_comment):  Rename variable.
      	* c-lex.c (map):  Remove static variable, for same reason we removed
      	cpp_reader's map field.
      	(cb_line_change, cb_def_pragma, cb_define, cb_undef):  Hence we need
      	to call linemap_lookup.
      	(cb_line_change):  Token's line field replaced by src_loc.
      	(fe_file_change):  Use MAINFILE_P and LAST_SOURCE_LINE macros.
      	Don't save new_map.
      
      	* cpphash.h, cpperror.c, cpplib.h:  Some renames of fileline to
      	source_location.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77663 138bc75d-0d04-0410-961f-82ee72b054a4
      610625e3
  16. Feb 02, 2004
    • echristo's avatar
      2004-02-02 Eric Christopher <echristo@redhat.com> · 57ba96e9
      echristo authored
                  Zack Weinberg  <zack@codesourcery.com>
      
              * c-opts.c (c_common_handle_option): Add -finput-charset.
              * c.opt: Ditto.
              * cppcharset.c (one_iso88591_to_utf8): Remove.
              (convert_iso88591_utf8): Ditto.
              (conversion_tab): Remove 8859-1 converter.
              (_cpp_input_to_utf8): Remove.
              (_cpp_init_iconv_buffer): Ditto.
              (_cpp_close_iconv_buffer): Ditto.
              (_cpp_convert_input): New function.
              (_cpp_default_encoding): Ditto.
              * cpphash.h: Add/remove prototypes for above.
              * cppfiles.c (read_file_guts): Use _cpp_convert_input.
              * cppinit.c (cpp_create_reader): Use _cpp_default_encoding
              for narrow execution and input character sets.
              * cpplib.c (cpp_push_buffer): Delete uses of removed functions.
              * doc/cppopts.texi: Document -finput-charset.
      
      2004-02-02 Eric Christopher  <echristo@redhat.com>
                 Zack Weinberg  <zack@codesourcery.com>
      
              * gcc.c-torture/execute/wchar_t-1.c: Add -finput-charset.
      
      2004-01-29  Eric Christopher  <echristo@redhat.com>
                  Zack Weinberg  <zack@codesourcery.com>
      
              * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
              -finput-charset.
              * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
              * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
              * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
              * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
              * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
              * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
              * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
              * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
              Ditto.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77136 138bc75d-0d04-0410-961f-82ee72b054a4
      57ba96e9
  17. Jan 21, 2004
    • kazu's avatar
      * alias.c, basic-block.h, c-common.c, c-common.h, · a8349c62
      kazu authored
      	c-cppbuiltin.c, c-opts.c, c-pragma.c, c-pretty-print.c,
      	calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c,
      	combine.c, cppcharset.c, cpphash.h, cppinit.c, cpplib.c,
      	cpplib.h, cppmacro.c, crtstuff.c, cselib.c, cselib.h,
      	defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c,
      	expr.h, fix-header.c, function.h, gcc.c, gcse.c, genattrtab.c,
      	genautomata.c, genconditions.c, genemit.c, genflags.c,
      	gengtype.c, gengtype.h, genopinit.c, genrecog.c, gensupport.c,
      	ggc-zone.c, graph.c, haifa-sched.c, input.h, integrate.c,
      	langhooks-def.h, langhooks.c, langhooks.h, line-map.c,
      	line-map.h, local-alloc.c, optabs.c, optabs.h, postreload.c,
      	ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c,
      	rtl.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h,
      	target.h, targhooks.c, toplev.h, tree-inline.c, unwind-pe.h,
      	unwind.h, varray.c, varray.h: Update copyright.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76302 138bc75d-0d04-0410-961f-82ee72b054a4
      a8349c62
  18. Jan 20, 2004
    • bothner's avatar
      · ceec9c13
      bothner authored
      	Move cpp_reader's line_maps field to a shared global.
      	* cpphash.h (cpp_reader):  Rename line_maps field to line_table
      	and change the type to a pointer rather than a struct.
      	* cppinit.c (cpp_push_main_field):  Adjust accordingly.
      	* cpplib.c (do_include_common, _cpp_do_file_change, cpp_get_callbacks):
      	Likewise.
      	* cppfiles.c (validate_pch):  Likewise.
      	* cppmacro.c (_cpp_warn_if_unused_macro, _cpp_builtin_macro_text):
      	Likewise.
      	* cpperror.c (print_location):  Likewise.
      	* cpplib.h (cpp_create_reader):  New line_maps pointer parameter.
      	* cppinit.c (cpp_create_reader):  Handle new parameter.
      	(cpp_destroy):  Don't free line_maps - that's no longer our job.
      	* input.h (line_table):  New variable.
      	* toplev.c (line_table):  Declare variable.
      	(general_init):  Initialize line_table.
      	* c-opts.c (c_common_init_options):  Pass line_table to
      	cpp_create_reader.
      	* fix-header.c (read_scan_file):  New local variable line_table.
      	Initialize, and pass it to cpp_create_reader.
      	* Makefile.in (LIBS, LIBDEPS):  Add libcpp.a.
      	(C_AND_OBJC_OBJS, fix-header):  Remove redundant libcpp.a.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76198 138bc75d-0d04-0410-961f-82ee72b054a4
      ceec9c13
  19. Jan 16, 2004
    • echristo's avatar
      2004-01-16 Eric Christopher <echristo@redhat.com> · 787c3d1a
      echristo authored
      	    Chandrakala Chavva <cchavva@redhat.com>
      
      	* cppcharset.c (one_iso88591_to_utf8): New function.
      	(convert_iso88591_utf8): Ditto. Use.
      	(conversion_tab): Use.
      	(_cpp_input_to_utf8): New function.
      	(_cpp_init_iconv_buffer): Ditto.
      	(_cpp_close_iconv_buffer): Ditto.
      	* cpphash.h: Prototype new functions.
      	(cpp_buffer): Add input_cset_desc.
      	* cppinit.c: Add input_charset default.
      	* cpplib.c (cpp_push_buffer): Support init and
      	close of iconv.
      	* cpplib.h (cpp_options): Add input_charset.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76000 138bc75d-0d04-0410-961f-82ee72b054a4
      787c3d1a
  20. Dec 12, 2003
  21. Nov 01, 2003
    • danglin's avatar
      PR preprocessor/12847 · d80d2074
      danglin authored
      	* cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
      	cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
      	c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
      	DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
      	"CPP_".
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73183 138bc75d-0d04-0410-961f-82ee72b054a4
      d80d2074
  22. Oct 02, 2003
    • bothner's avatar
      · 9eb74666
      bothner authored
      	* cpplib.c (_cpp_pop_buffer):  Do generate a _cpp_do_file_change
      	callback even when popping the main file.
      
      	* cpplib.c (cpp_push_buffer):  Since we no longer set return_at_eof,
      	remove the unused return_at_eof parameter.
      	* cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c:
      	Update callers of cpp_push_buffer.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72016 138bc75d-0d04-0410-961f-82ee72b054a4
      9eb74666
  23. Sep 24, 2003
  24. Sep 16, 2003
  25. Aug 02, 2003
    • neil's avatar
      * cppfiles.c (struct _cpp_file): Rename once_only_next to · 68faebf4
      neil authored
      	next_file.  Remove import and pragma_once, add once_only.
      	(find_file): Add new file structures to the all_files list.
      	(should_stack_file): Mark #import-ed files once-only, and
      	don't stack them if the file has already been stacked.
      	(_cp_mark_file_once_only): Simplify.
      	* cpphash.h (struct cpp_reader): Rename once_only_files
      	to all_files.  Rename saw_pragma_once to seen_once_only.
      	(_cpp_mark_file_once_only): Update prototype.
      	* cpplib.c (do_pragma_once): Update.
      testsuite:
      	* import1.c, import2.c: New tests.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70106 138bc75d-0d04-0410-961f-82ee72b054a4
      68faebf4
  26. Jul 29, 2003
    • neil's avatar
      * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H. · 1824e2bd
      neil authored
      	* cppfiles.c: Completely rewritten.
      	* c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
      	struct cpp_path is now struct cpp_dir.
      	(remove_duplicates): Don't simplify path names.
      	* c-opts.c (c_common_parse_file): cpp_read_next_file renamed
      	cpp_stack_file.
      	* cpphash.h: Include hashtab.h.
      	(_cpp_file): Declare.
      	(struct cpp_buffer): struct include_file is now struct _cpp_file,
      	and struct cpp_path is now struct cpp_dir.  Rename members.
      	(struct cpp_reader): Similarly.  New members once_only_files,
      	file_hash, file_hash_entries, quote_ignores_source_dir,
      	no_search_path, saw_pragma_once.  Remove all_include_files and
      	max_include_len.  Make some members bool.
      	(_cpp_mark_only_only): Renamed from _cpp_never_reread.
      	(_cpp_stack_file): Renamed from _cpp_read_file.
      	(_cpp_stack_include): Renamed from _cpp_execute_include.
      	(_cpp_init_files): Renamed from _cpp_init_includes.
      	(_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
      	* cppinit.c (cpp_create_reader): Initialize no_search_path.  Update.
      	(cpp_read_next_file): Rename and move to cppfiles.c.
      	(cpp_read_main_file): Update.
      	* cpplib.c (run_directive): Update for renamed members.
      	(do_include_common, _cpp_pop_buffer): Update.
      	(do_import): Undeprecate #import.
      	(do_pragma_once): Undeprecate.  Use _cpp_mark_file_once_only.
      	* cpplib.h: Remove file_name_map_list.
      	(cpp_options): Remove map_list.
      	(cpp_dir): Rename from cpp_path.  New datatype for name_map.
      	(cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
      testsuite:
      	* gcc.dg/cpp/include2.c: Only expect one message.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69942 138bc75d-0d04-0410-961f-82ee72b054a4
      1824e2bd
  27. Jul 22, 2003
    • kazu's avatar
      * alias.c: Fix comment formatting. · b4b174c3
      kazu authored
      	* c-common.c: Likewise.
      	* c-decl.c: Likewise.
      	* c-opts.c: Likewise.
      	* combine.c: Likewise.
      	* cpplib.c: Likewise.
      	* diagnostic.c: Likewise.
      	* dojump.c: Likewise.
      	* final.c: Likewise.
      	* fold-const.c: Likewise.
      	* gcc.c: Likewise.
      	* gcse.c: Likewise.
      	* ggc-page.c: Likewise.
      	* jump.c: Likewise.
      	* loop.c: Likewise.
      	* mips-tfile.c: Likewise.
      	* recog.c: Likewise.
      	* regclass.c: Likewise.
      	* regmove.c: Likewise.
      	* tree.c: Likewise.
      	* tree.h: Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69689 138bc75d-0d04-0410-961f-82ee72b054a4
      b4b174c3
    • zack's avatar
      * hashtable.c (approx_sqrt): Make static. · 196ce2be
      zack authored
      	* hashtable.h: Don't prototype approx_sqrt.
      	* line-map.c (init_line_maps): Rename linemap_init.
      	(free_line_maps): Rename linemap_free.
      	(add_line_map): Rename linemap_add.
      	(lookup_line): Rename linemap_lookup.
      	(print_containing_files): Rename linemap_print_containing_files.
      	* linemap.h: Update to match.
      
      	* cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
      	linemap routines to use new names.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69672 138bc75d-0d04-0410-961f-82ee72b054a4
      196ce2be
  28. Jul 19, 2003
    • ghazi's avatar
      * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c · f0af5a88
      ghazi authored
      	c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
      	c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
      	collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
      	cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
      	cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
      	dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
      	fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
      	gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
      	genemit.c genextract.c genoutput.c genrecog.c gensupport.c
      	ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
      	integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
      	loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
      	postreload.c prefix.c print-tree.c protoize.c ra-build.c
      	ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
      	regmove.c regrename.c reload.c reload1.c reorg.c resource.c
      	sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
      	simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
      	tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
      	varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
      	casts.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69587 138bc75d-0d04-0410-961f-82ee72b054a4
      f0af5a88
  29. Jul 13, 2003
    • zack's avatar
      * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H). · 69edc0b3
      zack authored
      	(hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
      	list.  Move these all together down by cpplib.
      
      	* cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
      	definition of CPPCHAR_SIGNED_T.
      
      	* cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
      	* cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
      	* line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
      
      	* cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
      	* cppinit.c (cpp_create_reader): Likewise.
      
      	* cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
      	* cpptrad.c: Likewise.  All callers changed.
      	* cpplib.c: All callers changed.
      	* c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
      	* hashtable.h: Define GTY(x) to nothing here too.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69298 138bc75d-0d04-0410-961f-82ee72b054a4
      69edc0b3
  30. Jul 12, 2003
  31. Jul 11, 2003
    • geoffk's avatar
      Index: ChangeLog · 40109983
      geoffk authored
      2003-07-10  Geoffrey Keating  <geoffk@apple.com>
      
      	* c-decl.c (finish_decl): Handle 'used' here...
      	* cgraphunit.c (cgraph_finalize_function): ... and here ...
      	* c-common.c: (handle_used_attribute): ... not here.
      
      	* configure.in (onstep): Support --enable-intermodule.
      	* Makefile.in (OBJS-common): New.
      	(OBJS-md): New.
      	(OBJS-archive): New.
      	(OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
      	(OBJS-onestep): New.
      	(libbackend.a): Support @onestep@.
      	(libbackend.o): New.
      	* configure: Regenerate.
      
      	* c-common.h (c_reset_state): New prototype.
      	(c_parse_file): New prototype.
      	(finish_file): Move prototype from c-tree.h.
      	* c-decl.c: Include <hashtab.h>.
      	(builtin_decls): New.
      	(current_file_decl): New.
      	(duplicate_decls): Add extra parameter. Change all callers.  Don't
      	output duplicate common symbols.
      	(link_hash_hash): New.
      	(link_hash_eq): New.
      	(poplevel): Handle popping of the top level.
      	(warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
      	(pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
      	(pushdecl_top_level): Likewise.
      	(redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
      	(c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
      	(finish_decl): Handle TRANSLATION_UNIT_DECL.
      	(merge_translation_unit_decls): New.
      	(c_write_global_declarations): New.
      	(c_reset_state): New.
      	(implicitly_declare): Handle TRANSLATION_UNIT_DECL.
      	* c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
      	* c-objc-common.c (c_cannot_inline_tree_fn): Handle
      	TRANSLATION_UNIT_DECL.
      	(c_objc_common_finish_file): Call merge_translation_unit_decls.
      	* c-opts.c (in_fnames): Rename from in_fname.
      	(c_common_decode_option): Handle multiple input filenames.
      	(c_common_post_options): Likewise.
      	(c_common_parse_file): Likewise; also, call c_parse_file rather than
      	yyparse.
      	* c-parse.in: Move cleanup code to c_parse_file.
      	(free_parser_stacks): Move contents to c_parse_file.
      	(c_parse_file): New.
      	* c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
      	for integer types.
      	(C_DECL_FILE_SCOPE): New.
      	(finish_file): Move prototype to c-common.h.
      	(merge_translation_unit_decls): New prototype.
      	(comptypes): Add extra parameter to prototype.
      	(c_write_global_declarations): New prototype.
      	* c-typeck.c (tagged_types_tu_compatible_p): New.
      	(function_types_compatible_p): Add extra parameter, change all callers.
      	(type_lists_compatible_p): Likewise.
      	(comptypes): Likewise.
      	(struct tagged_tu_seen): New.
      	(tagged_tu_seen_base): New.
      	(build_unary_op): Handle TRANSLATION_UNIT_DECL.
      	(c_mark_addressable): Remove #if 0 code.
      	* calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
      	comment explaining why it shouldn't have to.
      	* cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
      	options.
      	* cppinit.c (cpp_read_next_file): New.
      	(cpp_read_main_file): Use it.
      	* cpplib.c (undefine_macros): New.
      	(cpp_undef_all): New.
      	* cpplib.h (cpp_read_next_file): Prototype.
      	(cpp_undef_all): Prototype.
      	* langhooks-def.h (write_global_declarations): Remove prototype.
      	* toplev.h (write_global_declarations): Add prototype.
      	* tree.c (decl_type_context): Use switch statement, handle
      	TRANSLATION_UNIT_DECL.
      	* tree.def: Update documentation for TRANSLATION_UNIT_DECL.
      	(TRANSLATION_UNIT_DECL): New kind of tree.
      	* tree.h: Update documentation for TRANSLATION_UNIT_DECL.
      	* Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
      	* doc/invoke.texi: Make attempt to document new functionality.
      
      	2003-05-19  Per Bothner <bothner@apple.com>
      
      	* gcc.c (combine_inputs): New.
      	(process_command): Set combine_inputs.
      	(do_spec_1): Handle combine_inputs.
      	(main): Likewise.
      
      Index: cp/ChangeLog
      2003-07-10  Geoffrey Keating  <geoffk@apple.com>
      
      	* decl.c (cp_finish_decl): Handle 'used' attribute.
      
      	* cp-lang.c (c_reset_state): New dummy routine.
      	* cp-tree.h (finish_file): Move prototype to c-common.h.
      	* parser.c (c_parse_file): Rename from yyparse; don't call finish_file.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69224 138bc75d-0d04-0410-961f-82ee72b054a4
      40109983
  32. Jul 10, 2003
    • zack's avatar
      * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8, · 9a432f9a
      zack authored
      	one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
      	one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
      	convert_utf8_utf32, convert_utf16_utf8,	convert_utf32_utf8,
      	convert_no_conversion, convert_using_iconv): New functions.
      	(APPLY_CONVERSION): New macro.
      	(struct conversion, conversion_tab): New data structure.
      	(init_iconv_desc): Check conversion_tab for a custom conversion
      	primitive before trying to use iconv.
      	(convert_cset): Deleted.
      	(cpp_init_iconv): Use UTF- terminology, not UCS-.
      	(_cpp_destroy_iconv): Update to match.
      	(_cpp_valid_ucn): We don't need iconv to implement UCNs.
      	(convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
      	(convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
      	(_cpp_interpret_string_notranslate): New function, moved here
      	from cpplib.c.
      
      	* cpphash.h (convert_f, struct cset_converter): New types.
      	(struct cpp_reader): narrow_cset_desc and wide_cset_desc
      	are now struct cset_converter, not bare iconv_t.
      	Update prototypes.
      	* cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
      	all callers changed.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69204 138bc75d-0d04-0410-961f-82ee72b054a4
      9a432f9a
  33. Jul 05, 2003
    • zack's avatar
      * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types. · ebc03810
      zack authored
      	(struct cpp_options): Add narrow_charset, wide_charset,
      	bytes_big_endian fields.  Remove EBCDIC field.
      	(cpp_init_iconv, cpp_interpret_string): New external interfaces.
      
      	* cpphash.h: Include <iconv.h> if we have it, otherwise
      	provide a dummy definition of iconv_t.
      	(struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
      	(_cpp_valid_ucn): Update prototype.
      	(_cpp_destroy_iconv): New prototype.
      
      	* doc/cpp.texi: Document character set handling.
      	* doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
      	* doc/extend.texi: Delete entire section on multiline strings.
      	Rewrite section on __FUNCTION__ etc now that these are
      	variables in C.
      
      	* cppucnid.tab, cppucnid.pl: New files.
      	* cppucnid.h: New generated file.
      	* cppcharset.c: Include cppucnid.h.  Lots of commentary added.
      	(iconv_open, iconv, iconv_close): Provide dummy definitions
      	if !HAVE_ICONV.
      	(SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
      	_cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
      	emit_numeric_escape, convert_hex, convert_oct, convert_escape,
      	cpp_interpret_string, narrow_str_to_charconst,
      	wide_str_to_charconst): New.
      	(ucn_valid_in_identifier): Use a binary search through the
      	ucnranges table defined in cppucnid.h, not a long chain of if
      	statements.
      	(_cpp_valid_ucn): Add a limit pointer.  Downgrade "universal
      	character names are only valid in C++ and C99" to a warning.
      	Issue the "meaning of \[uU] is different in traditional C"
      	warning here.  Take care not to let iconv see an invalid UCS
      	value if we get a malformed UCN.  Issue an error if we don't
      	have iconv.
      	(cpp_interpret_charconst): Moved here from cpplex.c.  Use
      	cpp_interpret_string to do the heavy lifting.
      
      	* cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
      	narrow_charset, wide_charset fields of options structure.
      	(cpp_destroy): Call _cpp_destroy_iconv.
      	* cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
      	(maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
      	(cpp_interpret_charconst): Moved to cppcharset.c.
      	* cpplib.c (dequote_string): Delete.
      	(interpret_string_notranslate): New.
      	(do_line, do_linemarker): Use interpret_string_notranslate.
      
      	* Makefile.in (cppcharset.o): Depend on cppucnid.h.
      
      	* c-common.c (fname_string, combine_strings): Delete.
      	* c-common.h (fname_string, combine_strings): Delete prototypes.
      	* c-lex.c (ignore_escape_flag): Delete.
      	(cb_ident): Use cpp_interpret_string, not lex_string.
      	(get_nonpadding_token): New function.
      	(c_lex): Handle Objective-C @-prefixed identifiers and strings here.
      	Adjust calls to lex_string.  Don't write *value twice.
      	(lex_string): Now handles string constant concatenation.
      	Most of the work handed off to cpp_interpret_string.
      	Call fix_string_type here.
      	* c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
      	FUNC_NAME, throughout.
      	(OBJC_STRING): New token type.
      	(primary:STRING): No need to call fix_string_type here.
      	(primary:objc_string): Make that OBJC_STRING.
      	(objc_string nonterminal): Delete.
      	(yylexname): Delete code to handle fake string constants.
      	(yylexstring): Delete entirely.
      	(_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING.  No need
      	to handle CPP_ATSIGN.
      
      	* c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
      	* c-opts.c (missing_arg, c_common_handle_option): Handle
      	OPT_fexec_charset_ and OPT_fwide_exec_charset_.
      	(c_common_init): Set cpp_opts->bytes_big_endian, not
      	cpp_opts->EBCDIC.  Call cpp_init_iconv.
      	(print_help): Document -fexec-charset= and -fexec-wide-charset=.
      	(TARGET_EBCDIC): Delete default definition.
      
      	* objc/objc-act.c (build_objc_string_object): No need to
      	handle string constant concatenation.
      
      cp:
      	* parser.c (cp_lexer_read_token): No need to handle string
      	constant concatenation.
      
      testsuite:
      	* gcc.c-torture/execute/wchar_t-1.x: New file; XFAIL wchar_t-1.c
      	everywhere.
      	* gcc.dg/concat.c: Concatenation of string constants with
      	__FUNCTION__ / __PRETTY_FUNCTION__ is now a hard error.
      	* gcc.dg/wtr-strcat-1.c: Loosen dg-warning regexp.
      	* gcc.dg/cpp/escape-2.c: Use wide character constants where
      	necessary to avoid multi-character character constant warning.
      	* gcc.dg/cpp/escape.c: Likewise.
      	* gcc.dg/cpp/ucs.c: Likewise.
      	Remove backslashes from dg-bogus comments, as they confuse Tcl.
      	Fix a typo.
      
      libstdc++-v3:
      	* testsuite/22_locale/collate/compare/wchar_t/2.cc
      	* testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc
      	* testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc
      	* testsuite/22_locale/collate/hash/wchar_t/2.cc
      	* testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc
      	* testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc
      	* testsuite/22_locale/collate/transform/wchar_t/2.cc
      	* testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc
      	* testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
      	XFAIL on all targets.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68952 138bc75d-0d04-0410-961f-82ee72b054a4
      ebc03810
  34. Jun 17, 2003
  35. Jun 16, 2003
    • ghazi's avatar
      cp: · b9a7cc69
      ghazi authored
      	* cp/decl.c, cp/pt.c, cp/search.c, cp/tree.c: Don't use the PTR
      	macro.
      
      gcc:
      	* bitmap.c, builtins.c, c-incpath.c, cgraph.c, config/frv/frv.c,
      	config/mips/mips.c, cppfiles.c, cpphash.c, cppinit.c, cpplib.c,
      	dwarf2out.c, dwarfout.c, except.c, expr.c, expr.h, fold-const.c,
      	function.c, gcc.c, genoutput.c, gensupport.c, global.c,
      	haifa-sched.c, hashtable.c, ifcvt.c, integrate.c, local-alloc.c,
      	loop.c, mips-tdump.c, mips-tfile.c, mkdeps.c, protoize.c,
      	read-rtl.c, recog.h, reload1.c, sbitmap.c, ssa-dce.c,
      	stringpool.c, tlink.c, tree.c, varasm.c, varray.c: Don't use
      	the PTR macro.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68043 138bc75d-0d04-0410-961f-82ee72b054a4
      b9a7cc69
    • ghazi's avatar
      * builtin-attrs.def, builtin-attrs.def, builtins.c, cpplex.c, · 18e43155
      ghazi authored
      	cpplib.c, gencheck.c, gengenrtl.c, machmode.def, protoize.c: Don't
      	use macros from "symcat.h", instead rely on ISO C.
      
      	* system.h: Don't include "symcat.h".
      	* configure.in (AC_C_STRINGIZE): Delete.
      	* config.in, configure: Regenerate.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68035 138bc75d-0d04-0410-961f-82ee72b054a4
      18e43155
  36. Jun 12, 2003
    • kazu's avatar
      * ChangeLog: Follow spelling conventions. · 7ef5b942
      kazu authored
      	* ChangeLog.2: Likewise.
      	* c-decl.c: Likewise.
      	* cfgloop.h: Likewise.
      	* cgraph.c: Likewise.
      	* coverage.c: Likewise.
      	* cppcharset.c: Likewise.
      	* cpphash.h: Likewise.
      	* cpplex.c: Likewise.
      	* cpplib.c: Likewise.
      	* dbxout.c: Likewise.
      	* df.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* dwarfout.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* explow.c: Likewise.
      	* gcov-io.c: Likewise.
      	* gcov-io.h: Likewise.
      	* gcov.c: Likewise.
      	* gengtype.c: Likewise.
      	* ggc.h: Likewise.
      	* opts.c: Likewise.
      	* real.c: Likewise.
      	* reload.c: Likewise.
      	* stmt.c: Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67849 138bc75d-0d04-0410-961f-82ee72b054a4
      7ef5b942
  37. Apr 24, 2003
  38. Apr 23, 2003
    • neil's avatar
      * Makefile.in (c-lex.o, LIBCPP_OBJS, cpplex.o): Update. · 4970d4c2
      neil authored
      	* c-lex.c (MULTIBYTE_CHARS): Remove conditionals.
      	(lex_string): Take cpp_string with full spelling.
      	(cb_ident): Update.
      	(c_lex): Update diagnostics.
      	* cpplex.c (SPELL_NUMBER, SPELL_STRING): Combine into SPELL_LITERAL.
      	(create_literal): New.
      	(lex_string): Unterminated literals have type CPP_OTHER.
      	(_cpp_lex_direct): Update calls to lex_string.  Use create_literal
      	for CPP_OTHER.
      	(cpp_token_len, cpp_spell_token, cpp_output_token): Simplify.
      	(_cpp_equiv_tokens, cpp_interpret_charconst): Update.
      	* cpplib.c (parse_include, do_line, do_linemarker,
      	destringize_and_run): Update for token storing full spelling.
      	* cpplib.h: Update token spelling types.
      	* cppmacro.c (stringify_arg, check_trad_stringification):
      	Update for token storing full spelling.
      cp:
      	* Make-lang.in (lex.o): Remove mbchar.h.
      	* lex.c (MULTIBYTE_CHARS): Lose.
      	* parser.c (cp_lexer_get_preprocessor_token): CPP_OTHER handled
      	in c-lex.c.
      testsuite:
      	* gcc.dg/cpp/include2.c: Update.
      	* gcc.dg/cpp/multiline-2.c: New.
      	* gcc.dg/cpp/multiline.c: Update.
      	* gcc.dg/cpp/strify2.c: Update.
      	* gcc.dg/cpp/trad/literals-2.c: Update.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66019 138bc75d-0d04-0410-961f-82ee72b054a4
      4970d4c2
Loading