* depcomp: Update from automake CVS. Add 'ia64hp' stanza.
In 'cpp' stanza, support '#line' as well as '# '.
config:
* depstand.m4, lead-dot.m4: New files.
libcpp:
* configure.ac: Invoke ZW_CREATE_DEPDIR and
ZW_PROG_COMPILER_DEPENDENCIES.
* aclocal.m4, configure: Regenerate.
* Makefile.in (DEPMODE, DEPDIR, depcomp, COMPILE.base, COMPILE):
New variables.
(distclean): Clean up $(DEPDIR) and its contents.
(.c.o): Use $(COMPILE).
Include $(DEPDIR)/*.Po for most object->header dependencies.
From-SVN: r100874
* configure.ac: Check declarations for asprintf and vasprintf.
* config.in: Regenerate.
* configure: Likewise.
* charset.c (conversion_loop): Use XRESIZEVEC.
(convert_no_conversion): Likewise.
(convert_using_iconv): Likewise.
(init_iconv_desc): Cast return value of alloca.
(cpp_host_to_exec_charset): Use XNEWVEC.
(emit_numeric_escape): Use XRESIZEVEC.
(cpp_interpret_string): Use XNEWVEC.
(cpp_interpret_string): Use XRESIZEVEC.
(_cpp_interpret_identifier): Cast return value of alloca.
(_cpp_convert_input): Use XNEWVEC and XRESIZEVEC.
* directives.c (glue_header_name): Use XNEWVEC and XRESIZEVEC.
(parse_include): Use XNEWVEC.
(insert_pragma_entry): Rename local variable "new" to
"new_entry".
(save_registered_pragmas): Cast return value of xmemdup.
(destringize_and_run): Same for alloca.
(parse_assertion): Likewise.
(do_assert): Cast allocated storage to proper type.
(cpp_define): Likewise.
(_cpp_define_builtin): Likewise.
(cpp_undef): Likewise.
(handle_assertion): Likewise.
(cpp_push_buffer): Rename local variable "new" to "new_buffer".
* expr.c (CPP_UPLUS): Cast value to type cpp_ttype.
(CPP_UMINUS): Likewise.
(struct cpp_operator): Rename from struct operator.
(_cpp_expand_op_stack): Use XRESIZEVEC.
* files.c (pch_open_file): Use XNEWVEC.
(pch_open_file): Use XRESIZEVEC.
(read_file_guts): Use XNEWVEC and XRESIZEVEC.
(dir_name_of_file): Use XNEWVEC.
(make_cpp_file): Use XCNEW.
(make_cpp_dir): Likewise.
(allocate_file_hash_entries): USE XNEWVEC.
(cpp_included): Cast return value of htab_find_with_hash.
(append_file_to_dir): Use XNEWVEC.
(read_filename_string): Likewise. Use XRESIZEVEC too.
(read_name_map): Cast return value of alloca. Use XRESIZEVEC.
(remap_filename): Use XNEWVEC.
(struct pchf_entry): Move definition out of struct pchf_data.
(_cpp_save_file_entries): Use XCNEWVAR.
(_cpp_read_file_entries): Use XNEWVAR.
* identifiers.c (alloc_node): Use XOBNEW.
* init.c (cpp_create_reader): Use XCNEW.
(cpp_init_builtins): Cast of b->value to enum builtin_type.
(read_original_directory): Cast return value of alloca.
* lex.c (add_line_note): Use XRESIZEVEC.
(warn_about_normalization): Use XNEWVEC.
(_cpp_lex_direct): Cast node->directive_index to (enum cpp_ttype).
(new_buff): Use XNEWVEC.
* line-map.c (linemap_add): Use XRESIZEVEC.
* macro.c (builtin_macro): Cast return value of alloca.
(paste_tokens): Likewise.
(expand_arg): Use XNEWVEC and XRESIZEVEC.
(_cpp_save_parameter): Use XRESIZEVEC.
(create_iso_definition): Cast allocated storage to proper type.
(_cpp_create_definition): Likewise.
(cpp_macro_definition): Use XRESIZEVEC.
* makedepend.c (add_clm): Use XNEW.
(add_dir): Likewise.
* mkdeps.c (munge): Use XNEWVEC.
(deps_init): Use XCNEW.
(deps_add_target): Use XRESIZEVEC.
(deps_add_default_target): Cast return value of alloca.
(deps_add_dep): Use XRESIZEVEC.
(deps_add_vpath): Likewise. Use XNEWVEC too.
(deps_restore): Likewise.
* pch.c (save_idents): Use XNEW and XNEWVEC.
(cpp_save_state): Use XNEW.
(count_defs): Cast return value of htab_find.
(write_defs): Likewise.
(cpp_write_pch_deps): Use XNEWVEC.
(collect_ht_nodes): Use XRESIZEVEC.
(cpp_valid_state): Use XNEWVEC.
(save_macros): Use XRESIZEVEC. Cast return value of xmemdup.
* symtab.c (ht_create): Use XCNEW.
(ht_lookup_with_hash): Cast return value of obstack_copy0.
(ht_expand): Use XCNEWVEC.
* system.h (HAVE_DESIGNATED_INITIALIZERS): False if __cplusplus.
(bool): Do not define if __cplusplus.
From-SVN: r100295
libcpp:
* directives.c (#sccs table entry): Mark IN_I, consistent with #ident.
(do_sccs): Delete function definition, #define to do_ident.
(do_ident): Don't hardwire directive name.
gcc:
* doc/cpp.texi: Document that #sccs is a synonym for #ident.
From-SVN: r99623
PR preprocessor/20907
* line-map.c (linemap_line_start): Fix bug when we need to increse
column_bits but can re-use the current line_map.
From-SVN: r98515
fixincludes:
* system.h (fopen, fdopen, freopen): Define these to the unlocked
libiberty functions.
gcc:
* system.h (fopen, fdopen, freopen): Define these to the unlocked
libiberty functions.
libcpp:
* system.h (fopen, fdopen, freopen): Define these to the unlocked
libiberty functions.
From-SVN: r98407
PR preprocessor/19475
* macro.c (create_iso_definition): For < ISO C99, don't
pedwarn if there is no whitespace between macro name and its
replacement, but the replacement starts with a basic character
set character.
* gcc.dg/cpp/macspace1.c: New test.
* gcc.dg/cpp/macspace2.c: New test.
From-SVN: r97652
PR bootstrap/20282
PR bootstrap/20305
* macro.c (replace_args, cpp_get_token): Copy whole
cpp_token_u instead of just cpp_string field from it.
From-SVN: r95887
2005-02-15 Eric Christopher <echristo@redhat.com>
PR preprocessor/19077
* macro.c (cpp_macro_definition): Move handling of whitespace
to PREV_WHITE conditional. Remove overloading of len
variable.
2005-02-15 Eric Christopher <echristo@redhat.com>
* gcc.dg/cpp/20050215-1.c: New file.
From-SVN: r95080
* files.c (pchf_adder): Remove.
(struct pchf_adder_info): Likewise.
(_cpp_save_file_entries): Write out all files so that #import works.
From-SVN: r94755
PR preprocessor/15167
* files.c (destroy_cpp_file): New function.
(should_stack_file): Make a new file if the
compared file is still stacked.
From-SVN: r92194
(libcpp)
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.
From-SVN: r91428
* internal.h: Replace all uses of uchar with unsigned char.
* include/cpp-id-data.h: Likewise. Guard typedef of uchar
with !IN_GCC, so uchar is only defined whilst building libcpp.
Co-Authored-By: Zack Weinberg <zack@codesourcery.com>
From-SVN: r91394
PR preprocessor/15824
* configure.ac: Correct HAVE_UCHAR test to #include <sys/types.h>
directly, instead of the non-existant "system.h" and "ansidecl.h".
* configure: Regenerate.
From-SVN: r91157
* Makefile.in ($(PACKAGE).pot): New rule. Depend on
po/$(PACKAGE).pot.
(po/$(PACKAGE).pot): Use ":" instead of "," in --keyword
arguments. Add keywords _, N_, SYNTAX_ERROR and SYNTAX_ERROR2.
Remove local srcdir path from generated file.
From-SVN: r90368
PR 18075
* directives.c (do_pragma): Do not defer pragmas which are unknown.
(cpp_handle_deferred_pragma): Add cast to silence warning.
From-SVN: r89693
2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
* pch.c (cpp_write_pch_state): Remove variable z as it is not
used.
(cpp_read_state): Remove unused variables, m, d and mac_count.
From-SVN: r88748
* 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.
From-SVN: r88320
* directives.c (do_pragma): Save current buffer position
before lexing the pragma keywords; don't call
_cpp_backup_tokens in the defer_pragmas case.
From-SVN: r87687
2004-09-09 Matt Austern <austern@apple.com>
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.
From-SVN: r87247
2004-09-06 Serge Belyshev <belyshev@lubercy.com>
PR preprocessor/14699
* symtab.c (ht_dump_statistics): Change type of sum_of_squares
from size_t to double.
From-SVN: r87116