summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* regmove.c (combine_stack_adjustments): New.Richard Henderson2000-03-145-28/+359
| | | | | | | | | | | | | | * regmove.c (combine_stack_adjustments): New. (stack_memref_p, single_set_for_csa): New. (free_csa_memlist, record_one_stack_memref): New. (try_apply_stack_adjustment): New. (combine_stack_adjustments_for_block): New. * rtl.h (combine_stack_adjustments): Declare. * toplev.c (rest_of_compilation): Call it. * i386.md: Revert 2000-01-16 change. From-SVN: r32526
* * gccbug.in: Add web category, gcc specific classes.Martin v. Löwis2000-03-142-3/+7
| | | | From-SVN: r32525
* * stor-layout.c (finalize_record_size): Fix typo.Nathan Sidwell2000-03-142-1/+5
| | | | From-SVN: r32524
* Daily bump.Jeff Law2000-03-145-5/+5
| | | | From-SVN: r32523
* c-typeck.c (c_alignof): Error on incomplete types.Stan Shebs2000-03-143-0/+13
| | | | | | | * c-typeck.c (c_alignof): Error on incomplete types. * extend.texi (Alignment): Document this. From-SVN: r32522
* Jeff Sturm <jsturm@sigma6.com>Jeff Sturm2000-03-142-1/+5
| | | | | | * except.c (expand_throw): Fix typo in _Jv_Sjlj_Throw. From-SVN: r32521
* parse.y (resolve_package): Set `next' once a type name has been ↵Alexandre Petit-Bianco2000-03-133-156/+67
| | | | | | | | | | | | | | | | | progressively discovered. 2000-03-13 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (resolve_package): Set `next' once a type name has been progressively discovered. (resolve_qualified_expression_name): Propagate resolution only if there are remaining qualifiers. Take into account `q' might have been cleared after re-qualification. * parse.y (patch_method_invocation): New local `resolved'. Section dealing with qualified expression rewritten to use resolve_field_access. From-SVN: r32520
* cppfiles.c: Include mkdeps.h.Zack Weinberg2000-03-145-428/+471
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cppfiles.c: Include mkdeps.h. (find_include_file, read_include_file): Remove _cpp_ prefix from name, make static. (_cpp_execute_include): New function, broken out of do_include. * cpplib.c: Don't include mkdeps.h. (struct directive): Remove type field. Reorder entries. The function takes only one argument. (struct if_stack): Make type field an int. (directive_table): Rename to dtable. Generate it, the prototypes of the directive handlers, and the enum for the directive numbers, from a template macro. (do_ifndef, do_include_next, do_import): New functions. (do_define, do_include, do_endif, do_ifdef, do_if, do_else, do_undef, do_line, do_elif, do_error, do_pragma, do_warning, do_ident, do_assert, do_unassert, do_sccs): Take only one argument. (do_sccs): Define always, but alter behavior based on SCCS_DIRECTIVE. (_cpp_handle_directive, consider_directive_while_skipping): Restructure for new directive table layout. (pass_thru_directive): Take a directive number, not a pointer to a struct directive. (parse_include): New function, broken out of do_include. (do_include, do_import, do_include_next): Use parse_include and _cpp_execute_include. (do_elif, do_else): Test for T_ELSE specifically when checking for #elif/#else after #else. (parse_ifdef): New function, broken out of do_ifdef. (validate_else): Expect a name arg without a leading #. (if_directive_name): Delete. (cpp_define, cpp_assert, cpp_undef, cpp_unassert): Call directive handlers with only one argument. * cpphash.h: Update prototypes. (enum node_type): Remove entries for directives. * Makefile.in: Update dependencies. From-SVN: r32519
* cpphash.c (dump_hash_helper): Only dump nodes of type T_MACRO.Zack Weinberg2000-03-142-1/+10
| | | | | | | * cpphash.c (dump_hash_helper): Only dump nodes of type T_MACRO. Emit a newline after each definition. From-SVN: r32518
* Added Java 1.1 language features.Alexandre Petit-Bianco2000-03-1321-3071/+8759
| | | | From-SVN: r32517
* gccbug.in: New file.Martin v. Löwis2000-03-135-99/+618
| | | | | | | | | | * gccbug.in: New file. * configure.in (all_outputs): Add gccbug. * Makefile.in (install-common): Install gccbug. (GCCBUG_INSTALL_NAME): New variable. * configure: Rebuilt. From-SVN: r32515
* function.c (put_var_into_stack): Use type_for_mode to calculate part_type.Jason Merrill2000-03-135-2/+41
| | | | | | | | | | | * function.c (put_var_into_stack): Use type_for_mode to calculate part_type. Use MEM_SET_IN_STRUCT_P. * expr.c (store_field): Handle CONCAT. (store_constructor): Use fields_length. * tree.c (fields_length): New fn. * tree.h: Declare it. From-SVN: r32514
* Makefile.in (LIBCPP_OBJS): Add cpplex.o.Zack Weinberg2000-03-1311-1911/+1976
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (LIBCPP_OBJS): Add cpplex.o. (cpplex.o): New target. * po/POTFILES.in: Add cpplex.c. * cpplex.c (_cpp_grow_token_buffer, null_cleanup, cpp_push_buffer, cpp_pop_buffer, cpp_scan_buffer, cpp_expand_to_buffer, cpp_buf_line_and_col, cpp_file_buffer, skip_block_comment, skip_line_comment, skip_comment, copy_comment, _cpp_skip_hspace, _cpp_skip_rest_of_line, _cpp_parse_name, skip_string, parse_string, _cpp_parse_assertion, cpp_get_token, cpp_get_non_space_token, _cpp_get_directive_token, find_position, _cpp_read_and_prescan, _cpp_init_input_buffer): Move here. (maybe_macroexpand, _cpp_lex_token): New functions. * cpplib.c (SKIP_WHITE_SPACE, eval_if_expr, parse_set_mark, parse_goto_mark): Delete. (_cpp_handle_eof): New function. (_cpp_handle_directive): Rename from handle_directive. (_cpp_output_line_command): Rename from output_line_command. (do_if, do_elif): Call _cpp_parse_expr directly. * cppfiles.c (_cpp_read_include_file): Don't call init_input_buffer here. * cpphash.c (quote_string): Move here, rename _cpp_quote_string. * cppexp.c (_cpp_parse_expr): Diddle parsing_if_directive here; pop the token_buffer and skip the rest of the line here. * cppinit.c (cpp_start_read): Call _cpp_init_input_buffer here. * cpphash.h (CPP_RESERVE, CPP_IS_MACRO_BUFFER, ACTIVE_MARK_P): Define here. (CPP_SET_BUF_MARK, CPP_GOTO_BUF_MARK, CPP_SET_MARK, CPP_GOTO_MARK): New macros. (_cpp_quote_string, _cpp_parse_name, _cpp_skip_rest_of_line, _cpp_skip_hspace, _cpp_parse_assertion, _cpp_lex_token, _cpp_read_and_prescan, _cpp_init_input_buffer, _cpp_grow_token_buffer, _cpp_get_directive_token, _cpp_handle_directive, _cpp_handle_eof, _cpp_output_line_command): Prototype them here. * cpplib.h (enum cpp_token): Add CPP_MACRO. (CPP_RESERVE, get_directive_token, cpp_grow_buffer, quote_string, output_line_command): Remove. From-SVN: r32513
* typeck.c (build_prim_array_type): Correctly set the high word too.Hans Boehm2000-03-132-1/+5
| | | | | | | | Mon Mar 13 11:36:51 2000 Hans Boehm <boehm@acm.org> * typeck.c (build_prim_array_type): Correctly set the high word too. From-SVN: r32512
* Fix recently introduced error in expand_end_case.Bernd Schmidt2000-03-132-0/+8
| | | | From-SVN: r32511
* decl.c (grokfndecl): Set TREE_NOTHROW if TYPE_NOTHROW_P.Jason Merrill2000-03-133-15/+48
| | | | | | | | | | | | * decl.c (grokfndecl): Set TREE_NOTHROW if TYPE_NOTHROW_P. * except.c (dtor_nothrow): New fn. (do_pop_exception): Use it. Take type parm. (push_eh_cleanup): Take type parm. (expand_start_catch_block): Pass it. (build_eh_type_type_ref): Accept null type. From-SVN: r32510
* New test; for ia32 codegen bug.Zack Weinberg2000-03-131-0/+20
| | | | | | Reported by Daniel Lauer <daniel@informatik.uni-bonn.de> From-SVN: r32509
* sparc.md: Remove all traces of TARGET_LIVE_G0.Jakub Jelinek2000-03-139-317/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/sparc/sparc.md: Remove all traces of TARGET_LIVE_G0. (movsi_zero_liveg0): Remove. (movsf_insn_novis_liveg0): Remove. (negsi2): Remove. (negsi2_not_liveg0): Rename to negsi2. (one_cmplsi2): Remove. (one_cmplsi2_not_liveg0): Rename to one_cmplsi2. (one_cmplsi2_liveg0): Remove. * config/sparc/sparc.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE, MASK_LIVE_G0, MASK_BROKEN_SAVERESTORE): Remove. (CONDITIONAL_REGISTER_USAGE): Remove TARGET_LIVE_G0 if. (PREDICATE_CODES): Remove zero_operand. * config/sparc/sparc.c: Remove all traces of TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE. (zero_operand): Remove. * config/sparc/splet.h (SUBTARGET_SWITCHES): Remove -mlive-g0, -mno-live-g0, -mbroken-saverestore and -mno-broken-saverestore options. (SUBTARGET_OVERRIDE_OPTIONS): Remove. * config/sparc/linux-aout.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE): Remove. * config/sparc/linux.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE): Remove. * config/sparc/linux64.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE): Remove. * config/sparc/sol2.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE): Remove. * config/sparc/sparc.md (return_df_no_fpu): New pattern. From-SVN: r32508
* cpplib.c (do_pragma_implementation): Fix off-by-one error truncating a string.Zack Weinberg2000-03-133-2/+16
| | | | | | | | * cpplib.c (do_pragma_implementation): Fix off-by-one error truncating a string. Don't assume tokens are nul terminated. Problem noted by Andreas Jaeger <aj@suse.de> From-SVN: r32507
* dwarf2out.c (add_name_and_src_coords_attributes): Only add ↵Jason Merrill2000-03-132-1/+7
| | | | | | | | | | DW_AT_MIPS_linkage_name for TREE_PUBLIC decls. * dwarf2out.c (add_name_and_src_coords_attributes): Only add DW_AT_MIPS_linkage_name for TREE_PUBLIC decls. (ASM_OUTPUT_DWARF_ADDR_CONST): Don't output trailing newline. From-SVN: r32506
* stor-layout.c (new_record_layout_info): Fix typo inside ifdef ↵Richard Earnshaw2000-03-132-1/+6
| | | | | | | | | STRUCTURE_SIZE_BOUNDARY. * stor-layout.c (new_record_layout_info): Fix typo inside ifdef STRUCTURE_SIZE_BOUNDARY. From-SVN: r32505
* * g++.old-deja/g++.warn/inline.C: New test.Nathan Sidwell2000-03-132-0/+73
| | | | From-SVN: r32504
* tree.h (record_layout_info_s): New structure.Mark Mitchell2000-03-133-409/+519
| | | | | | | | | | | | | | | | | | * tree.h (record_layout_info_s): New structure. (record_layout_info): New type. (new_record_layout_info): New function. (layout_field): Likewise. (finish_record_layout): Likewise. * stor-layout.c (layout_record): Remove. (new_record_layout_info): New function. (layout_field): New function, broken out from layout_record. (finalize_record_size): Likewise. (compute_record_mode): Likewise. (finalize_type_size): New function, broken out from layout_type. (finish_record_layout): Likewise. (layout_type): Use them. From-SVN: r32503
* Daily bump.Jeff Law2000-03-135-5/+5
| | | | From-SVN: r32502
* cp-tree.h (revert_static_member_fn): Change prototype.Mark Mitchell2000-03-134-24/+26
| | | | | | | | | | | | * cp-tree.h (revert_static_member_fn): Change prototype. * decl.c (grokfndecl): Adjust call to revert_static_member_fn. (grok_op_properties): Likewise. (start_function): Likewise. (revert_static_member_fn): Simplify. * pt.c (check_explicit_specialization): Adjust call to revert_static_member_fn. From-SVN: r32501
* toon forgot to check in configureZack Weinberg2000-03-131-0/+4
| | | | From-SVN: r32500
* cpphash.c: Don't include version.h.Zack Weinberg2000-03-134-8/+23
| | | | | | | | | | | * cpphash.c: Don't include version.h. (special_symbol) [case T_VERSION]: Look for the string in hp->value.cpval; don't use version_string. * cppinit.c (initialize_builtins): Set hp->value.cpval for __VERSION__ to version_string. * Makefile.in (cpphash.o): Update deps. From-SVN: r32499
* Convert cpplib to use libiberty/hashtab.c.Zack Weinberg2000-03-128-392/+454
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cpplib.h (struct cpp_reader): Make hashtab and all_include_files of type 'struct htab *'. Delete HASHSIZE and ALL_INCLUDE_HASHSIZE macros. * cpphash.h: Update prototypes. (struct hashnode): Remove next, prev, and bucket_hdr members. Make length a size_t. Add hash member. (struct ihash): Remove next member. Add hash member. Make name a flexible array member. * cppfiles.c: Include hashtab.h. (include_hash): Delete. (IHASHSIZE): New macro. (hash_IHASH, eq_IHASH, _cpp_init_include_hash): New functions. (cpp_included): Do the hash lookup here. (_cpp_find_include_file): Rewrite. (cpp_read_file): Put the "fake" hash entry into the hash table. Honor the control_macro, if it turns out we've seen the file before. Don't push the buffer here. (_cpp_read_include_file): Push the buffer here. (OMODES): New macro. Use it whenever we call open(2). * cpphash.c: Include hashtab.h. (hash_HASHNODE, eq_HASHNODE, del_HASHNODE, dump_hash_helper, _cpp_init_macro_hash, _cpp_dump_macro_hash, _cpp_make_hashnode, _cpp_lookup_slot): New functions. (HASHSIZE): new macro. (hashf, _cpp_install, _cpp_delete_macro): Delete. (_cpp_lookup): Use hashtab.h routines. * cppinit.c: Include hashtab.h. (cpp_reader_init): Call _cpp_init_macro_hash and _cpp_init_include_hash. Don't allocate hashtab directly. (cpp_cleanup): Just call htab_delete on pfile->hashtab and pfile->all_include_files. (initialize_builtins): Use _cpp_make_hashnode and htab_find_slot to add hash entries. (cpp_finish): Just call _cpp_dump_macro_hash. * cpplib.c: Include hashtab.h. (do_define): Use _cpp_lookup_slot and _cpp_make_hashnode to create hash entries. (do_pragma_poison, do_assert): Likewise. (do_include): Don't push the buffer here. Don't increment system_include_depth unless _cpp_read_include_file succeeds. (do_undef, do_unassert): Use _cpp_lookup_slot and htab_clear_slot or htab_remove_elt. (do_pragma_implementation): Use alloca to create copy. * Makefile.in: Update dependencies. From-SVN: r32497
* configure.in: Define IEEE_COMPLEX_DIVIDE.Toon Moene2000-03-129-7/+64
| | | | | | | | | | | | | | | * libF77/configure.in: Define IEEE_COMPLEX_DIVIDE. * libF77/[cz]_div.c: Arrange for compilation under -DIEEE_COMPLEX_DIVIDE to make these routines avoid calling sig_die when the denominator vanishes. * libF77/s_rnge.c: Add casts for the case of sizeof(ftnint) == sizeof(int) < sizeof(long). * libI77/endfile.c: Set state to writing (b->uwrt = 1) when an endfile statement requires copying the file Also, supply a missing (long) cast in the sprintf call. * libI77/sfe.c: Add #ifdef ALWAYS_FLUSH logic, for formatted I/O. From-SVN: r32496
* Revert previous checkinGabriel Dos Reis2000-03-121-6/+5
| | | | From-SVN: r32495
* cp-tree.h (scope_kind): New type.Mark Mitchell2000-03-127-233/+409
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cp-tree.h (scope_kind): New type. (tmpl_spec_kind): Likewise. (declare_pseudo_global_level): Remove. (pseudo_global_level_p): Rename to template_parm_scope_p. (pushlevel): Remove declaration. (begin_scope): New function. (finish_scope): Likewise. (current_tmpl_spec_kind): Likewise. * decl.c (struct binding_level): Shorten parm_flag to 2 bits. Shorten keep to 2 bits. Rename pseudo_global to template_parms_p. Add template_spec_p. (toplevel_bindings_p): Adjust. (declare_pseudo_global_level): Remove. (pseudo_global_level_p): Rename to template_parm_scope_p. (current_tmpl_spec_kind): New function. (begin_scope): Likewise. (finish_scope): Likewise. (maybe_push_to_top_level): Adjust. (maybe_process_template_type_declaration): Likewise. (pushtag): Likewise. (pushdecl_nonclass_level): Likewise. (lookup_tag): Likewise. (grokfndecl): Handle member template specializations. Share constructor and non-constructor code. * decl2.c (check_classfn): Handle member template specializations. * pt.c (begin_template_parm_list): Use begin_scope. (begin_specialization): Likewise. (end_specialization): Likewise. (check_explicit_specialization): Use current_tmpl_spec_kind. Handle member template specializations. (end_template_decl): Use finish_scope. Remove call to get_pending_sizes. (push_template_decl_real): Remove bogus error message. (tsubst_decl): Fix typo in code contained in comment. (instantiate_template): Handle member template specializations. (most_general_template): Likewise. From-SVN: r32494
* * MAINTAINERS: Added myself for write-after-approval.Toon Moene2000-03-122-1/+5
| | | | From-SVN: r32493
* lex.c (whitespace_cr): Compress consecutive calls to warning().Gabriel Dos Reis2000-03-124-19/+22
| | | | | | | | | | | | 2000-03-11 Gabriel Dos Reis <gdr@codesourcery.com> * lex.c (whitespace_cr): Compress consecutive calls to warning(). (do_identifier): Ditto for error(). * pt.c (convert_nontype_argument): Ditto for cp_error(). (convert_template_argument): Ditto for cp_pedwarn(). From-SVN: r32492
* * cppinit.c (cl_directive_handler): More K&R fixing.Kaveh R. Ghazi2000-03-122-1/+5
| | | | From-SVN: r32490
* Daily bump.Jeff Law2000-03-125-5/+5
| | | | From-SVN: r32489
* * MAINTAINERS: Add self as ia64 port maintainer.Jim Wilson2000-03-122-0/+5
| | | | From-SVN: r32488
* Fix bug found by make bootstrap failure. Eliminate some warnings.Jim Wilson2000-03-123-4/+14
| | | | | | | | * config/ia64/ia64.c (ia64_compute_frame_size): Align size to STACK_BOUNDARY. * config/ia64/ia64.h (REGISTER_MOVE_COST): Add missing parentheses. From-SVN: r32487
* cppinit.c (no_arg, [...]): Change from char[] to macros.Kaveh R. Ghazi2000-03-122-6/+14
| | | | | | | * cppinit.c (no_arg, no_ass, no_dir, no_fil, no_mac, no_pth): Change from char[] to macros. From-SVN: r32486
* cppinit.c (cpp_start_read): Update indirect function call to K&R C.Neil Booth2000-03-122-1/+6
| | | | | | | | | 2000-03-12 Neil Booth <NeilB@earthling.net> * cppinit.c (cpp_start_read): Update indirect function call to K&R C. From-SVN: r32485
* ia64.h (ADDITIONAL_REGISTER_NAMES): Fix typo in loc79 entry.Jim Wilson2000-03-112-1/+4
| | | | | | | * config/ia64/ia64.h (ADDITIONAL_REGISTER_NAMES): Fix typo in loc79 entry. From-SVN: r32484
* ia64-protos.h, [...]: Fix copyright messages.Jim Wilson2000-03-116-5/+10
| | | | | | | * config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h, config/ia64/ia64.md, config/ia64/xm-ia64.h: Fix copyright messages. From-SVN: r32483
* oopsJason Merrill2000-03-111-1/+1
| | | | From-SVN: r32482
* cppinit.c (struct pending option): Replace undef with a pointer to a ↵Neil Booth2000-03-112-64/+35
| | | | | | | | | | | | | | | | directive handling routine. 2000-03-11 Neil Booth <NeilB@earthling.net> * cppinit.c (struct pending option): Replace undef with a pointer to a directive handling routine. (struct cpp_pending): Replace separate assert_ and define_ lists with one directive_ list. (new_pending_define): Rename new_pending_directive. Extra argument is the directive's handling routine. (handle_option): Update to use new_pending_directive. From-SVN: r32481
* exception.cc (__check_null_eh_spec): New fn.Jason Merrill2000-03-113-28/+60
| | | | | | | * exception.cc (__check_null_eh_spec): New fn. * except.c (expand_end_eh_spec): Call it if the spec is throw(). From-SVN: r32480
* Daily bump.Jeff Law2000-03-115-5/+5
| | | | From-SVN: r32479
* tweak formattingJason Merrill2000-03-111-1/+2
| | | | From-SVN: r32478
* cppfiles.c (file_cleanup, [...]): Replace bcopy(), index() etc calls.Neil Booth2000-03-117-71/+94
| | | | | | | | | | | | | | | | | | | | | | | * cppfiles.c (file_cleanup, _cpp_find_include_file, remap_filename, _cpp_read_include_file, actual_directory, hack_vms_include_specification): Replace bcopy(), index() etc calls. Add casts to some allocations. Make some variables pointers to const [unsigned] char. * cpphash.c (_cpp_install, macro_cleanup, collect_expansion, collect_formal_parameters): Similarly. * cppinit.c (struct pending_option, append_include_chain, cpp_options_init, cpp_reader_init, initialize_standard_includes, cpp_start_read, new_pending_define, handle_option): Similarly. * cpplib.c (cpp_define, copy_comment, do_define, do_include, do_undef, do_error, do_warning, do_pragma, do_pragma_once, do_pragma_implementation, detect_if_not_defined, do_ifdef, skip_if_group, cpp_get_token, parse_string, do_assert, do_unassert): Similarly. * cpplib.h (cpp_buffer, cpp_options): Update types. Update function prototypes. * mkdeps.c (deps_add_target, deps_add_dep): cast allocations. From-SVN: r32477
* builtins.c (expand_builtin_strlen): Revert last change.Richard Henderson2000-03-102-3/+10
| | | | | | | * builtins.c (expand_builtin_strlen): Revert last change. Use emit_insn_before if we're at the beginning of a sequence. From-SVN: r32476
* decl.c (push_throw_library_fn): Take the FUNCTION_TYPE.Jason Merrill2000-03-106-24/+46
| | | | | | | | | | | | | | | | * decl.c (push_throw_library_fn): Take the FUNCTION_TYPE. * except.c (expand_end_eh_spec): Add the return type. * rtti.c (throw_bad_cast): Add the parmtypes. (throw_bad_typeid): Likewise. * semantics.c (expand_stmt): Only leave out rtl for unused artificials, and set DECL_IGNORED_P on them as well. * decl.c (wrapup_globals_for_namespace): Likewise. * decl.c (maybe_commonize_var): Skip all artificial decls. * pt.c (tsubst_decl): Don't copy TREE_ASM_WRITTEN. From-SVN: r32475
* bastring.h (basic_string<>::push_back): Was missing.Gabriel Dos Reis2000-03-102-0/+7
| | | | | | | | 2000-03-10 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr> * std/bastring.h (basic_string<>::push_back): Was missing. From-SVN: r32474