gslice_array.h, [...]: Do not paste anything after 'operator' keyword.
* std/gslice_array.h, std/indirect_array.h, std/mask_array.h,
std/slice_array.h, std/std_valarray.h, std/valarray_meta.h:
Do not paste anything after 'operator' keyword.
* bits/gslice_array.h, bits/indirect_array.h, bits/mask_array.h,
bits/slice_array.h, bits/std_valarray.h, bits/valarray_meta.h:
Do not paste anything after 'operator' keyword.
toplevel:
* cpplex.c: Don't include sys/mman.h.
(cpp_push_buffer, cpp_pop_buffer): Moved to cpplib.c.
* cpplib.c: Include sys/mman.h and obstack.h.
(cpp_push_buffer): Moved from cpplex.c; allocate buffers on an
obstack.
(cpp_pop_buffer): Moved from cpplex.c; free buffers from an obstack.
(_cpp_unwind_if_stack): Now static, unwind_if_stack. Don't
bother freeing if stack entries (they will be freed with their buffer).
(do_endif): Free if stack entries from the buffer obstack.
(push_conditional): Allocate if stack entries from the buffer obstack.
(find_answer): Rename to _cpp_find_answer.
(do_assert, do_unassert): Update.
* cppinit.c: Don't include hashtab.h or splay-tree.h.
(report_missing_guard): Moved to cppfiles.c.
(cpp_reader_init): Call cpp_init_stacks, cpp_init_macros,
cpp_init_includes.
(cpp_cleanup): Call cpp_cleanup_stacks, cpp_cleanup_macros,
cpp_cleanup_includes. Don't destroy hashtab or
all_include_files here.
(cpp_finish): Use _cpp_report_missing_guards.
* cppfiles.c (report_missing_guard): Moved from cppinit.c.
(_cpp_init_include_table): Rename _cpp_init_includes.
(_cpp_cleanup_includes, _cpp_report_missing_guards): New.
* cppexp.c (parse_assertion): Update for new name of
find_answer.
gjavah.c (HANDLE_METHOD): Call print_method_info with a NULL stream argument on the first pass for CNI as...
* gjavah.c (HANDLE_METHOD): Call print_method_info with a NULL
stream argument on the first pass for CNI as well as JNI.
(print_method_info): Set up method name on the first pass only.
* config/avr/avr.h (MASK_*): Define bits for target_flags.
(TARGET_SWITCHES): Mark help strings for translation.
Add new -mpack-args and -menhanced switches.
(TARGET_OPTIONS): Mark help strings for translation.
(progmem_section): Add section attributes.
Jason Merrill [Tue, 4 Jul 2000 07:47:11 +0000 (03:47 -0400)]
repo.c (repo_get_id): Handle the case where a class with virtual bases has a null TYPE_BINFO_VTABLE.
* repo.c (repo_get_id): Handle the case where a class with virtual
bases has a null TYPE_BINFO_VTABLE.
* parse.y (member_init): Just pass in the type.
* init.c (expand_member_init): Handle getting a type.
* decl.c (finish_function): Warn if a function has no return
statement.
Suggested by Andrew Koenig.
* typeck.c (check_return_expr): Do set current_function_returns_value
if we got an error_mark_node.
Benjamin Kosnik [Tue, 4 Jul 2000 02:24:54 +0000 (02:24 +0000)]
[multiple changes]
2000-07-03 scott snyder <snyder@fnal.gov>
* bits/locale_facets.tcc (_M_extract): Only figure out the base
from the input if base == 0.
* testsuite/27_io/istream_extractor_arith.cc: Test reading a
number with a leading `0' in hex mode.
* shadow/bits/std_cmath.h: Fix typo in _GLIBCPP_HAVE_CEILL test.
* mkinclosure: Change `==' to `=' in test.
2000-07-03 Chip Salzenberg <chip@valinux.com>
* src/Makefile.am (libio_headers): _G_config.h is found in srcdir,
not builddir.
* src/Makefile.in: Regenerate.
* fix-header.c (struct partial_proto): Remove unnecessary fields.
(recognized_extern, recognized_function, read_scan_file):
Update for new scheme.
(check_protection): It's still a multiple include guard even
if it doesn't always trigger.
* scan-decls.c (skip_to_closing_brace, scan_decls): Update for
new scheme.
* scan.h: Declare struct cpp_token. Update prototypes.
2000-07-03 Neil Booth <neilb@earthling.net>
Zack Weinberg <zack@wolery.cumb.org>
Complete overhaul of the lexer and macro expander.
avr.c (out_adj_frame_ptr): Make "frame pointer change too big for -mtiny-stack" a warning, if larger than 63.
* config/avr/avr.c (out_adj_frame_ptr): Make "frame pointer
change too big for -mtiny-stack" a warning, if larger than 63.
(out_set_stack_ptr): Change the logic so -mno-interrupts is
always safe to use on possible future devices.
(function_prologue): Write SPH before SPL, for consistency.
If interrupt_func_p true, we know we have enabled interrupts.
(avr_num_arg_regs): New function. Round up to even number of
bytes if no -mpack-args or if calling a libgcc function.
(function_arg, function_arg_advance): Use it.
(output_movsisf, ashlsi3_out, ashrsi3_out, lshrsi3_out):
Output "movw" if available.
(out_tsthi, out_tstsi, ashlqi3_out, lshrqi3_out): Change uses
of TEST_HARD_REG_CLASS macro to test_hard_reg_class function.
(asm_output_section_name): Add blanks for consistent output.
(encode_section_info): Set TREE_READONLY for progmem data to
avoid gas warnings about changed section attributes.
(avr_hard_regno_mode_ok): Force non-QImode data to start in
even numbered registers on devices with "movw".
* config/avr/avr.h (MASK_*): Define bits for target_flags.
(TARGET_SWITCHES): Mark help strings for translation.
Add new -mpack-args and -menhanced switches.
(TARGET_OPTIONS): Mark help strings for translation.
(progmem_section): Add section attributes.
* config/avr/avr.md (*movhi, call_insn, call_value_insn):
Output "movw" if available.
(mulqi3, mulqihi3, umulqihi3, mulhi3, *tablejump_enh):
New patterns.
* config/avr/libgcc.S (_mulqi3, _divqi3): Update to the new
call convention (arguments aligned on even registers).
(_cleanup, _exit): Make weak symbols libc can override.
* c-semantics.c (genrtl_begin_compound_stmt): Remove function and
move code from here to ...
(genrtl_compound_stmt): ... here.
(genrtl_finish_compound_stmt): Remove.
(expand_stmt): Add comment.
Jakub Jelinek [Sun, 2 Jul 2000 08:56:57 +0000 (10:56 +0200)]
cpplib.h (struct cpp_reader): New field include_depth.
* cpplib.h (struct cpp_reader): New field include_depth.
(struct cpp_printer): Rename last_bsd to last_id.
* cppfiles.c (read_include_file): Bump include_depth.
* cpplex.c (cpp_pop_buffer): Decrement include_depth.
(output_line_command): Output correct #line if a header
is including itself and is not protected against multiple inclusion.
Use include_depth instead of buffer_stack_depth, last_id instead of
last_bsd.
* cppinit.c (cpp_start_read): Initialize last_id instead of
last_bsd.
* cp/cp-tree.h (TREE_LANG_FLAG_?): Moved common documentation to
../c-common.h.
(struct stmt_tree): Added comment.
(current_function_name_declared): Removed.
(stmts_are_full_exprs_p): Likewise.
(genrtl_do_pushlevel): Likewise.
(genrtl_clear_out_block): Likewise.
(COMPOUND_STMT_NO_SCOPE): Moved to ../c-common.h.
(DECL_ANON_UNION_ELEMS): Likewise.
(emit_local_var): Likewise.
(make_rtl_for_local_static): Likewise.
(do_case): Likewise.
(expand_stmt): Likewise.
(genrtl_decl_cleanup): Likewise.
(c_expand_asm_operands): Likewise.
(c_expand_return): Likewise.
(c_expand_start_case): Likewise.
* cp/decl.c (make_rtl_for_local_static): Moved to c-semantics.c.
(emit_local_var): Likewise.
(initialize_local_var): Change reference to
stmts_are_full_exprs_p to call to stmts_are_full_exprs_p().
Change reference to stmts_are_full_exprs_p to
current_stmt_tree->stmts_are_full_exprs_p.
(push_cp_function_context): Likewise.
* cp/expect.c (expand_throw): Change reference to
stmts_are_full_exprs_p.
* cp/init.c (build_aggr_init): Change reference to
stmts_are_full_exprs_p.
(build_vec_init): Likewise.
* cp/optimize.c (maybe_clone_body): Change reference to
current_function_name_declared to
cp_function_chain->name_declared.
* cp/pt.c (instantiate_decl): Change reference to
current_function_name_declared to
cp_function_chain->name_declared.
* cp/semantics.c (expand_cond): Moved declaration to c-common.h.
(genrtl_do_pushlevel): Moved to c-semantics.c.
(genrtl_clear_out_block): Likewise.
(genrtl_goto_stmt): Likewise.
(genrtl_expr_stmt): Likewise.
(genrtl_decl_stmt): Likewise.
(gerntl_if_stmt): Likewise.
(genrtl_while_stmt): Likewise.
(genrtl_do_stmt): Likewise.
(genrtl_return_stmt): Likewise.
(genrtl_for_stmt): Likewise.
(genrtl_break_stmt): Likewise.
(genrtl_continue_stmt): Likewise.
(genrtl_scope_stmt): Likewise.
(genrtl_switch_stmt): Likewise.
(genrtl_case_label): Likewise.
(genrtl_begin_compound_stmt): Likewise.
(genrtl_finish_compound_stmt): Likewise.
(genrtl_compound_stmt): Likewise.
(genrtl_asm_stmt): Likewise.
(genrtl_decl_cleanup): Likewise.
(expand_cond): Likewise.
(expand_stmt): Renamed to ...
(lang_expand_stmt): ... this.
(lang_expand_expr_stmt): Initialize.
(set_current_function_name_declared): Likewise.
(stmts_are_full_exprs_p): Likewise.
(current_function_name_declared): Likewise.
(anon_aggr_type_p): Likewise.
(do_poplevel): Change reference to
stmts_are_full_exprs_p to call to stmts_are_full_exprs_p().
Change reference to stmts_are_full_exprs_p to
current_stmt_tree->stmts_are_full_exprs_p.
(add_tree): Likewise.
(finish_expr_stmt): Likewise.
(prep_stmt): Likewise.
(lang_expand_stmt): Likewise.
(begin_compound_stmt): Change reference to
current_function_name_declared to
cp_function_chain->name_declared and call to
current_function_name_declared().
(setup_vtbl_ptr): Likewise.
(genrtl_do_poplevel): Removed.
Jason Merrill [Sun, 2 Jul 2000 03:00:03 +0000 (23:00 -0400)]
init.c (init_init_processing): Go back to aligning like double_type_node for old ABI.
* init.c (init_init_processing): Go back to aligning like
double_type_node for old ABI.
(get_cookie_size): Make cookie larger if we get a type that needs
more alignment.
(build_vec_delete): Call it.
* typeck.c (qualify_type_recursive): New fn.
(composite_pointer_type): Use it.
(build_binary_op): Use composite_pointer_type.
* typeck.c (check_return_expr): Don't complain about returning
NULL from operator new if -fcheck-new.
* cp-tree.h: Declare flag_check_new here.
* init.c: Not here.
ia64.c (symbolic_operand): Reject CONST expressions with the low 13 bits set.
* config/ia64/ia64.c (symbolic_operand): Reject CONST expressions
with the low 13 bits set.
(move_operand): Check for CONST|SYMBOL_REF|LABEL_REF directly.
* config/ia64/ia64.md (movdi): Likewise. Expand a CONST with one
of the low 13 bits into a CONST plus an adddi3.
(load_symptr): Set RTX_UNCHANGING_P.
Alex Samuel [Fri, 30 Jun 2000 15:25:33 +0000 (15:25 +0000)]
in libiberty/ChangeLog:
* cp-demangle.c (demangle_encoding): Accept no substitutions.
(demangle_name): Handle <substitution> followed by
<unqualified-template-name>.
(demangle_type): Follow special substitutions with
<class-enum-type>
(demangle_subtitution): Set template_p for special substitutions.
(main): Fix typos.
in gcc/cp/ChangeLog:
* mangle.c (find_substitution): Use same_type_p.
(write_encoding): Don't check for substitutions.
in libio/ChangeLog:
* libioP.h (VTABLE_LABEL): Update for new vtable mangling.
* stdstrbufs.cc (filebuf_vtable): Likewise.
(stdiobuf_vtable): Likewise.
Nathan Sidwell [Fri, 30 Jun 2000 09:46:01 +0000 (09:46 +0000)]
parse.y (expr_no_comma_rangle): New non-terminal.
* parse.y (expr_no_comma_rangle): New non-terminal.
(template_parm): Use it for default parameter case.
(template_arg): Use it.
(expr_no_commas): Remove commented out undefined extensions.
* Makefile.in (CONFLICTS): Adjust to 33 s/r & 48 r/r.
* parse.h, parse.c: Rebuilt.
Benjamin Kosnik [Fri, 30 Jun 2000 02:47:19 +0000 (02:47 +0000)]
ostream_manip.cc (test02): Add tests.
2000-06-29 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* testsuite/27_io/ostream_manip.cc (test02): Add tests.
* bits/ostream.tcc: Tweak.
* bits/std_fstream.h (basic_filebuf::setbuf): Reset
_M_buf_size_opt too.
* bits/std_streambuf.h (basic_streambuf::~basic_streambuf): Zero
out _M_buf_size_opt.
* bits/std_sstream.h (basic_stringbuf::_M_init_stringbuf): Set
_M_buf_size_opt out here.
* bits/char_traits.h (char_traits::eos): Non standard member
function, uglify to __eos. Return char_type().
* bits/std_ostream.h: Change.
* testsuite/27_io/ostream_seeks.cc: New file.
* testsuite/27_io/ostream_seeks-1.tst: New file.
* testsuite/27_io/istream_unformatted.cc (main): Move test04 and
test05 to...
* testsuite/27_io/istream_seeks.cc: New file.
Branko Cibej [Thu, 29 Jun 2000 21:07:04 +0000 (21:07 +0000)]
std_memory.h (auto_ptr_ref): Reworked and defined only if _GLIBCPP_RESOLVE_LIB_DEFECTS.
2000-06-29 Branko Cibej <branko.cibej@hermes.si>
* bits/std_memory.h (auto_ptr_ref): Reworked and defined only if
_GLIBCPP_RESOLVE_LIB_DEFECTS.
(auto_ptr): _M_ptr changed to void*.
(suto_ptr::get): Cast _M_ptr to element type.
(auto_ptr::auto_ptr(auto_ptr<Tp1>)): Test implicit convetsion.
(auto_ptr::~auto_ptr): Use this->get() instead of _M_ptr.
(auto_ptr::operator*): Likewise.
(auto_ptr::operator->): Likewise.
(auto_ptr::release): Likewise.
(auto_ptr::reset): Likewise.
(auto_ptr::auto_ptr(auto_ptr_ref)): Initialize from __ref._M_release.
(auto_ptr::operator auto_ptr_rev<_Tp1>): Updated.
Define nested auto_ptr_ref unless _GLIBCPP_RESOLVE_LIB_DEFECTS.
Define operator=(auto_ptr_ref) if _GLIBCPP_RESOLVE_LIB_DEFECTS.
Zack Weinberg [Thu, 29 Jun 2000 19:55:26 +0000 (19:55 +0000)]
Move the c-torture/noncompile tests to either gcc.dg/cpp or a new gcc.dg/noncompile directory...
Move the c-torture/noncompile tests to either gcc.dg/cpp or a new
gcc.dg/noncompile directory, depending on whether they're
preprocessor tests or not. Annotate all the tests for the dg
framework.
Zack Weinberg [Thu, 29 Jun 2000 19:30:34 +0000 (19:30 +0000)]
20000628-1a.h: On each of the first three inclusions, declare one variable.
* gcc.dg/cpp/20000628-1a.h: On each of the first three inclusions,
declare one variable. On the fourth, error.
* gcc.dg/cpp/20000628-1.c (main): Reference the three variables
declared by 20000628-1a.h.
* gcc.c-torture/execute/930529-1.x: New file.
* gcc.dg/920413-1.c: Adjust expexted warning text.
* gcc.dg/980217-1.c: Declare abort.
* gcc.dg/cpp/20000628-1a.h: Use a declaration instead of an asm.