* config/ia64/ia64-protos.h: Update.
* config/ia64/ia64.c (call_multiple_values_operation): Remove.
(ia64_expand_call): New.
(ia64_expand_prologue): Emit an alloc if we need extra input
registers.
(ia64_expand_epilogue): New arg sibcall_p; don't emit the return
instruction if true.
(struct reg_flags): Add is_sibcall.
(rtx_needs_barrier): A sibcall does not use CFM et al. Ignore USEs.
(emit_insn_group_barriers): Set flags.is_sibcall. Remove hacks
for CODE_FOR_gr_spill_internal/CODE_FOR_gr_restore_internal.
* config/ia64/ia64.h (PREDICATE_CODES): Update.
* config/ia64/ia64.md (call): Use ia64_expand_call.
(call_value): Likewise.
(sibcall, sibcall_value): New.
(call patterns): Remove extra expanders; tidy.
(sibcall_epilogue): New.
(set_bsp): Remove the extra USE. Put the operand inside the UNSPEC.
From-SVN: r36597
* c-tree.texi: Moved here from cp/ir.texi. Documented nested
functions. Generalize to handle both C and C++.
* Makefile.in (c-tree.info): New target.
(info): Add c-tree.info.
* ir.texi: Move to ../c-tree.texi.
From-SVN: r36592
* cpplex.c: Update TODO comment.
* cpplib.c (do_error, do_warning): Merge common code of
do_error and do_warning into do_diagnostic. Use it.
(do_diagnostic): New function.
* cpplib.h: Fix comment typo.
From-SVN: r36587
* c-common.c (check_format_info): Warn for a wide character string
used as a non-wide format argument.
testsuite:
* gcc.dg/c90-printf-1.c: Add test for wide string format.
From-SVN: r36586
* cpphash.h (CPP_RESERVE, CPP_PUTS_Q, CPP_PUTS, CPP_PUTC_Q,
CPP_PUTC, DUMMY_TOKEN, NO_DUMMY_TOKEN): Delete.
* cpplex.c (_cpp_expand_token_space, _cpp_init_toklist,
_cpp_free_toklist): No need to worry about extra dummy token
at the start of token lists any more.
(trigraph_ok): Only warn outside comments.
(skip_block_comment): Set and clear lexing_comment.
(skip_line_comment): Take a cpp_reader not cpp_buffer.
Set and clear lexing_comment.
(parse_number): Handle leading '.' indicated by pfile->seen_dot.
(check_long_token): Delete.
(lex_percent, lex_dot): New subroutines of lex_token to
handle lexing of '.' and '%' without lookback.
(lex_token): Use lex_dot and lex_percent.
(lex_line): Don't check for LIST_OFFSET.
(_cpp_init_input_buffer): Update for new _cpp_init_toklist.
* cpplib.c (_cpp_parse_assertion): Similarly.
(cpp_push_buffer): Initialize extra_char.
* cpplib.h (LIST_OFFSET): Delete.
(struct cpp_buffer): New member extra_char.
(struct lexer_state): New members lexing_comment and seen_dot.
From-SVN: r36582
2000-09-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* stdstreams.cc: Include <libio.h>, not "libio.h".
* iolibio.h: Likewise.
(_IO_pos_BAD): Use _IO_off_t instead of _IO_fpos_t.
* libio.h (_IO_USER_LOCK): Define.
From-SVN: r36580
* gcc.dg/cpp/20000510-1.S: Rename assembler.S. Add test
that we continue to preprocess after an unknown directive.
* gcc.dg/cpp/tr-str.c: Run-time test for traditional
stringification.
From-SVN: r36577
* c-lex.c (skip_white_space): Just treat CRs as horizontal whitespace.
* dbxout.c (dbxout_symbol_name): Just use DECL_NAME for
function-local names.
From-SVN: r36570
* dwarf2out.c (add_const_value_attribute): Multiply by length, not 4.
* dwarf2out.c (tree_add_const_value_attribute): New fn.
(gen_variable_die): Call it for non-definitions.
* dwarf2out.c (die_struct): Add die_mark field.
(mark_dies, unmark_dies): New fns.
(clear_die_sizes): Remove.
(print_die): Check die_symbol rather than die_offset.
(build_abbrev_table, output_pubnames, output_aranges): Check
die_mark rather than die_offset.
(output_comp_unit): Move calc_die_sizes after build_abbrev_table.
Call mark_dies.
From-SVN: r36565
* cppfiles.c (lookup_include_file): Rename to open_file.
Always create a splay tree value, even on syscall failures.
Negative entries indicated by fd == -2.
Re-open files closed in the meantime.
(_cpp_fake_include): Create a negative splay tree entry.
(find_include_file, cpp_read_file): Update for function name
change.
* gcc.gd/cpp/mi4.c: Testcase.
From-SVN: r36564