1. 14 Mar, 2000 8 commits
    • * stor-layout.c (finalize_record_size): Fix typo. · b451555a
      From-SVN: r32524
      Nathan Sidwell committed
    • Daily bump. · 9f056e3b
      From-SVN: r32523
      Jeff Law committed
    • c-typeck.c (c_alignof): Error on incomplete types. · 9d27bffe
              * c-typeck.c (c_alignof): Error on incomplete types.
              * extend.texi (Alignment): Document this.
      
      From-SVN: r32522
      Stan Shebs committed
    • Jeff Sturm <jsturm@sigma6.com> · d9420976
              * except.c (expand_throw): Fix typo in _Jv_Sjlj_Throw.
      
      From-SVN: r32521
      Jeff Sturm committed
    • parse.y (resolve_package): Set `next' once a type name has been progressively discovered. · dde1da72
      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
      Alexandre Petit-Bianco committed
    • cppfiles.c: Include mkdeps.h. · 168d3732
      	* 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
      Zack Weinberg committed
    • cpphash.c (dump_hash_helper): Only dump nodes of type T_MACRO. · 194ae3f6
      	* cpphash.c (dump_hash_helper): Only dump nodes of type
      	T_MACRO.  Emit a newline after each definition.
      
      From-SVN: r32518
      Zack Weinberg committed
    • Added Java 1.1 language features. · c2952b01
      From-SVN: r32517
      Alexandre Petit-Bianco committed
  2. 13 Mar, 2000 17 commits
    • gccbug.in: New file. · e4476d1c
      	* 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
      Martin v. Löwis committed
    • function.c (put_var_into_stack): Use type_for_mode to calculate part_type. · c3b247b4
              * 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
      Jason Merrill committed
    • Makefile.in (LIBCPP_OBJS): Add cpplex.o. · 45b966db
      	* 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
      Zack Weinberg committed
    • typeck.c (build_prim_array_type): Correctly set the high word too. · 46089b86
      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
      Hans Boehm committed
    • Fix recently introduced error in expand_end_case. · f0c988c8
      From-SVN: r32511
      Bernd Schmidt committed
    • decl.c (grokfndecl): Set TREE_NOTHROW if TYPE_NOTHROW_P. · 93ca4ba7
              * 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
      Jason Merrill committed
    • New test; for ia32 codegen bug. · a8c73de3
      Reported by Daniel Lauer <daniel@informatik.uni-bonn.de>
      
      From-SVN: r32509
      Zack Weinberg committed
    • sparc.md: Remove all traces of TARGET_LIVE_G0. · e6c1be7e
      	* 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
      Jakub Jelinek committed
    • cpplib.c (do_pragma_implementation): Fix off-by-one error truncating a string. · 0e091b52
      	* 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
      Zack Weinberg committed
    • dwarf2out.c (add_name_and_src_coords_attributes): Only add… · bc808e0b
      dwarf2out.c (add_name_and_src_coords_attributes): Only add 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
      Jason Merrill committed
    • stor-layout.c (new_record_layout_info): Fix typo inside ifdef STRUCTURE_SIZE_BOUNDARY. · f132af85
      * stor-layout.c (new_record_layout_info): Fix typo inside ifdef
      STRUCTURE_SIZE_BOUNDARY.
      
      From-SVN: r32505
      Richard Earnshaw committed
    • * g++.old-deja/g++.warn/inline.C: New test. · 302e5c46
      From-SVN: r32504
      Nathan Sidwell committed
    • tree.h (record_layout_info_s): New structure. · 9328904c
      	* 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
      Mark Mitchell committed
    • Daily bump. · 05e126b3
      From-SVN: r32502
      Jeff Law committed
    • cp-tree.h (revert_static_member_fn): Change prototype. · 3afb32a4
      	* 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
      Mark Mitchell committed
    • toon forgot to check in configure · f01fc059
      From-SVN: r32500
      Zack Weinberg committed
    • cpphash.c: Don't include version.h. · 6feb7728
       	* 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
      Zack Weinberg committed
  3. 12 Mar, 2000 14 commits
    • Convert cpplib to use libiberty/hashtab.c. · d35364d1
      	* 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
      Zack Weinberg committed
    • configure.in: Define IEEE_COMPLEX_DIVIDE. · 6973bf54
      	* 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
      Toon Moene committed
    • Revert previous checkin · 66e86e32
      From-SVN: r32495
      Gabriel Dos Reis committed
    • cp-tree.h (scope_kind): New type. · 74b846e0
      	* 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
      Mark Mitchell committed
    • * MAINTAINERS: Added myself for write-after-approval. · d4537148
      From-SVN: r32493
      Toon Moene committed
    • lex.c (whitespace_cr): Compress consecutive calls to warning(). · b4f4233d
      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
      Gabriel Dos Reis committed
    • * cppinit.c (cl_directive_handler): More K&R fixing. · 8be1ddca
      From-SVN: r32490
      Kaveh R. Ghazi committed
    • Daily bump. · c24f4303
      From-SVN: r32489
      Jeff Law committed
    • * MAINTAINERS: Add self as ia64 port maintainer. · f152e9d4
      From-SVN: r32488
      Jim Wilson committed
    • Fix bug found by make bootstrap failure. Eliminate some warnings. · 294dac80
      	* 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
      Jim Wilson committed
    • cppinit.c (no_arg, [...]): Change from char[] to macros. · 5e2ee78d
      	* cppinit.c (no_arg, no_ass, no_dir, no_fil, no_mac, no_pth):
      	Change from char[] to macros.
      
      From-SVN: r32486
      Kaveh R. Ghazi committed
    • cppinit.c (cpp_start_read): Update indirect function call to K&R C. · b1b74f93
      2000-03-12  Neil Booth  <NeilB@earthling.net>
      
      	* cppinit.c (cpp_start_read): Update indirect function
      	call to K&R C.
      
      From-SVN: r32485
      Neil Booth committed
    • ia64.h (ADDITIONAL_REGISTER_NAMES): Fix typo in loc79 entry. · 794eefd9
      	* config/ia64/ia64.h (ADDITIONAL_REGISTER_NAMES): Fix typo in loc79
      	entry.
      
      From-SVN: r32484
      Jim Wilson committed
    • ia64-protos.h, [...]: Fix copyright messages. · be480cec
      	* 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
      Jim Wilson committed
  4. 11 Mar, 2000 1 commit