Commit Graph

26758 Commits

Author SHA1 Message Date
Zack Weinberg
5dc9cffdfd hashtab.h (struct htab): Add del_f.
* hashtab.h (struct htab): Add del_f.
	(htab_del): New type.
	(htab_create): Add fourth argument.

	* hashtab.c (htab_create): Set del_f.
	(htab_delete, htab_empty, htab_remove_elt, htab_clear_slot):
	Use it.

From-SVN: r32459
2000-03-10 00:00:24 +00:00
Zack Weinberg
aa77ac5f23 Add another case
From-SVN: r32458
2000-03-09 23:04:50 +00:00
Bryce McKinlay
34412aa4e3 Updated again.
From-SVN: r32457
2000-03-09 22:42:01 +00:00
Bryce McKinlay
d585552a72 Updated README.
From-SVN: r32456
2000-03-09 22:20:43 +00:00
Robert Lipe
ed9ccd8a79 Patch from Robert Lipe
* config/ia64/ia64.c: Include system.h.

From-SVN: r32455
2000-03-09 13:06:33 -08:00
Jason Merrill
fac62ecf5f except.c (nothrow_function_p): If -fno-exceptions, just return.
* except.c (nothrow_function_p): If -fno-exceptions, just return.
        (init_eh_nesting_info): Likewise.

From-SVN: r32454
2000-03-09 15:37:06 -05:00
Jason Merrill
12a22e76d6 tree.h (struct tree_common): Rename raises_flag to nothrow_flag.
* tree.h (struct tree_common): Rename raises_flag to nothrow_flag.
        (TREE_NOTHROW): Rename from TREE_RAISES.
        * toplev.c (rest_of_compilation): Set it.
        * print-tree.c (print_node): Adjust.
        * tree.c (stabilize_reference, build, build1): Don't set TREE_RAISES.
        (stabilize_reference_1, get_unwidened, get_narrower): Likewise.
        * calls.c (emit_call_1): Add 'nothrow' parm.  Add
        REG_EH_REGION note as appropriate.
        (libfunc_nothrow): New fn.
        (emit_library_call, emit_library_call_value): Use it.
        (expand_call): Check TREE_NOTHROW.

cp:
        * call.c (build_call): Set TREE_NOTHROW on the CALL_EXPR as
        appropriate.
        * decl.c (define_function): Set TREE_NOTHROW on the FUNCTION_DECL.
        * except.c (call_eh_info, alloc_eh_object, expand_throw): Set
        TREE_NOTHROW or TREE_THIS_VOLATILE on the function as appropriate.
        * rtti.c (build_runtime_decl, get_tinfo_decl, build_dynamic_cast_1,
        expand_si_desc, expand_class_desc, expand_ptr_desc, expand_attr_desc,
        expand_generic_desc): Likewise.

From-SVN: r32453
2000-03-09 15:34:52 -05:00
Jason Merrill
217ab4b7e7 varasm.c (make_decl_rtl): Skip initial '*' when setting DECL_ASSEMBLER_NAME.
* varasm.c (make_decl_rtl): Skip initial '*' when setting
        DECL_ASSEMBLER_NAME.

From-SVN: r32452
2000-03-09 14:54:51 -05:00
Andreas Jaeger
cb8b62b1a2 linux.h (NO_IMPLICIT_EXTERN_C): Define.
* config/mips/linux.h (NO_IMPLICIT_EXTERN_C): Define.
	(TARGET_MEM_FUNCTIONS): Define.

From-SVN: r32451
2000-03-09 19:38:52 +00:00
Jason Merrill
cce097f1f9 * i386.c (ix86_valid_type_attribute_p): Use compare_tree_int.
From-SVN: r32450
2000-03-09 14:30:09 -05:00
Jason Merrill
fb13d4d024 except.c (can_throw): See through a SEQUENCE.
* except.c (can_throw): See through a SEQUENCE.
        (nothrow_function_p): New fn.
        * except.h: Declare it.
        * function.c (current_function_nothrow): New var.
        (prepare_function_start): Initialize it.
        * output.h: Declare it.
        * toplev.c (rest_of_compilation): Set it.
        * dwarf2out.c (dwarf2out_begin_prologue): Use it.

From-SVN: r32449
2000-03-09 14:01:47 -05:00
Zack Weinberg
8051b17802 cpphash.c (collect_formal_parameters): strncmp returns 0 for match.
* cpphash.c (collect_formal_parameters): strncmp returns 0 for
	match.  (cpp_compare_defs): Count the nul separator when
	advancing over argument names.

From-SVN: r32448
2000-03-09 17:49:26 +00:00
Bernd Schmidt
37c5269a9f Fix a bug in preprocess_constraints
From-SVN: r32447
2000-03-09 16:07:33 +00:00
Bernd Schmidt
aa5524a98e Fix suboptimal code generation by register elimination
From-SVN: r32446
2000-03-09 16:01:10 +00:00
Bryce McKinlay
fb863f625e natClassLoader.cc (_Jv_FindArrayClass): Call _Jv_PrepareConstantTimeTables.
2000-03-09  Bryce McKinlay  <bryce@albatross.co.nz>

        * java/lang/natClassLoader.cc (_Jv_FindArrayClass): Call
        _Jv_PrepareConstantTimeTables.
        * java/lang/natClass.cc (_Jv_PrepareConstantTimeTables): Array
        classes should have an IDT, so don't return if klass is an array
        class.

From-SVN: r32445
2000-03-09 09:22:36 +00:00
Jeff Law
90e5a6dc40 Daily bump.
From-SVN: r32444
2000-03-09 01:45:07 -07:00
Tom Tromey
c500e5ec9f natArray.cc (newInstance): Don't allow array of `void' to be created.
* java/lang/reflect/natArray.cc (newInstance): Don't allow array
	of `void' to be created.

From-SVN: r32443
2000-03-09 04:50:49 +00:00
Bryce McKinlay
0f72dc9e31 re GNATS gcj/168 (Build fails on Alpha)
2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>

        * config.guess, config.sub: Update from the gcc tree.
        Fix for PR libgcj/168.

From-SVN: r32442
2000-03-09 04:47:57 +00:00
Warren Levy
d98729aa0e * java/math/BigInteger.java(signum): Handle zero properly.
From-SVN: r32441
2000-03-09 04:35:30 +00:00
Kaveh R. Ghazi
299b83b7fb libgcc2.h: New file.
* libgcc2.h: New file.
	* libgcc2.c: Move macros, typedefs and prototypes to libgcc2.h.

From-SVN: r32440
2000-03-09 03:39:09 +00:00
Jim Wilson
c65ebc55ca Add ia64 port.
From-SVN: r32438
2000-03-08 16:26:04 -08:00
Zack Weinberg
5194cf0890 hashtab.c: Remove debugging variables (all_searches, all_collisions, all_expansions).
* hashtab.c: Remove debugging variables (all_searches,
	all_collisions, all_expansions). Delete
	all_hash_table_collisions.
	(create_hash_table, delete_hash_table, empty_hash_table,
	find_hash_table_entry, remove_element_from_hash_table_entry,
	clear_hash_table_slot, traverse_hash_table, hash_table_size,
	hash_table_elements_number, hash_table_collisions): Rename to:
	htab_create, htab_delete, htab_empty, htab_find_slot,
	htab_remove_elt, htab_clear_slot, htab_traverse, htab_size,
	htab_elements, htab_collisions.
	(htab_find): New function, handles common case where you don't
	plan to add or delete an entry.
	(htab_expand): Don't create a whole new table, just a new
	entry vector.
	(htab_find_slot): Simplify logic.

	* hashtab.h (hash_table_t): Rename to htab_t.
	(struct hash_table): Rename to struct htab.  Shorten element
	names.  Reorder elements by size.
	(htab_hash, htab_eq, htab_trav): New typedefs for the callback
	function pointers.
	(hash_table_entry_t): Discard; just use void * for element
	type.

From-SVN: r32437
2000-03-08 23:44:29 +00:00
Zack Weinberg
8ebb00d547 oops - meant to commit with last batch of cpplib changes
From-SVN: r32436
2000-03-08 23:43:41 +00:00
Zack Weinberg
88ae23e71d Makefile.in (LIBCPP_DEPS): New macro.
* Makefile.in (LIBCPP_DEPS): New macro.
	(cpplib.o, cpphash.o, cpperror.o, cppexp.o, cppfiles.o): Use
	it to declare deps.
	* cpperror.c: Include cpphash.h.
	* cppexp.c: Include cpphash.h.  Remove MULTIBYTE_CHARS
	dingleberry.
	(lex): Don't use CPP_WARN_UNDEF.
	(_cpp_parse_expr): Return an int, the truth value.
	* cppfiles.c: Include cpphash.h.
	(_cpp_merge_include_chains): Move to cppinit.c and make static.
	* cppinit.c (include_defaults_array): Disentangle.
	(cpp_cleanup): Don't free the if stack here.
	(cpp_finish): Pop off all buffers, not just one.
	* cpplib.c (eval_if_expr): Return int.
	(do_xifdef): Rename do_ifdef.
	(handle_directive): Don't use CPP_PREPROCESSED.
	(cpp_get_token): Don't use CPP_C89.
	* fix-header.c: Don't use CPP_OPTIONS.

	* cpplib.h: Move U_CHAR, enum node_type, struct
	file_name_list, struct ihash, is_idchar, is_idstart,
	is_numchar, is_numstart, is_hspace, is_space, CPP_BUF_PEEK,
	CPP_BUF_GET, CPP_FORWARD, CPP_PUTS, CPP_PUTS_Q, CPP_PUTC,
	CPP_PUTC_Q, CPP_NUL_TERMINATE, CPP_NUL_TERMINATE_Q,
	CPP_BUMP_BUFFER_LINE, CPP_BUMP_LINE, CPP_PREV_BUFFER,
	CPP_PRINT_DEPS, CPP_TRADITIONAL, CPP_PEDANTIC, and prototypes
	of _cpp_simplify_pathname, _cpp_find_include_file,
	_cpp_read_include_file, and _cpp_parse_expr to cpphash.h.
	Move struct if_stack to cpplib.c.  Move struct cpp_pending to
	cppinit.c.
	Change all uses of U_CHAR to be unsigned char instead.
	Delete CPP_WARN_UNDEF, CPP_C89, and CPP_PREPROCESSED.

From-SVN: r32435
2000-03-08 23:35:19 +00:00
Jason Merrill
737faf1404 dwarf2out.c (dw_fde_struct): Add 'nothrow'.
* dwarf2out.c (dw_fde_struct): Add 'nothrow'.
        (dwarf2out_begin_prologue): Set it.
        (output_call_frame_info): Don't emit EH unwind info for leaves.

From-SVN: r32434
2000-03-08 18:05:30 -05:00
Jason Merrill
602b1b13d7 g++.exp (g++_init): Don't put { } around -fmessage-length=0.
* lib/g++.exp (g++_init): Don't put { } around -fmessage-length=0.
        (g++_target_compile): Put test-specific options last.

From-SVN: r32433
2000-03-08 17:50:54 -05:00
Jason Merrill
6814a8a0bb flow.c (count_basic_blocks, [...]): A rethrow can occur outside of an EH region.
* flow.c (count_basic_blocks, find_basic_blocks_1): A rethrow
        can occur outside of an EH region.
        * except.c: Correct comments about rethrow behavior.
        (rethrow_symbol_map): Do nothing if !flag_new_exceptions.

        * flow.c (make_edges): Always call make_eh_edge for calls.

From-SVN: r32432
2000-03-08 16:30:17 -05:00
Zack Weinberg
2b01d2d999 cpp-mi.c: Fix switches.
cpp-redef-2.c: New.

From-SVN: r32431
2000-03-08 20:38:06 +00:00
Zack Weinberg
38b24ee220 cpplib.h (parse_underflow_t, [...]): Delete.
* cpplib.h (parse_underflow_t, CPP_NULL_BUFFER): Delete.
	(struct cpp_buffer): Remove fname and underflow fields.
	(struct cpp_reader): Remove get_token field.
	(struct include_hash): Rename to struct ihash.  Add typedef to
	IHASH.
	(struct if_stack): Remove fname field.
	(IF_STACK_FRAME): Rename to IF_STACK.

	* cpperror.c (print_containing_files): Trust that there are no
	macro buffers below the top file buffer.
	* cppfiles.c: Replace all references to 'struct include_hash'
	with 'IHASH'.  Rename initialize_input_buffer to
	init_input_buffer.  Don't set or reference cpp_buffer->fname,
	use buffer->ihash->name instead.
	* cpphash.c (special_symbol): Use cpp_file_buffer.  Use NULL
	not CPP_NULL_BUFFER.
	* cppinit.c: Use NULL not CPP_NULL_BUFFER, IF_STACK not
	IF_STACK_FRAME, IHASH not struct include_hash.
	* cpplib.c: Rename eval_if_expression to eval_if_expr.  Remove
	null_underflow.  Use IF_STACK not IF_STACK_FRAME, IHASH not
	struct include_hash, NULL not CPP_NULL_BUFFER.  Remove all
	references to cpp_buffer->fname (delete entirely, or use
	->ihash->name instead) and IF_STACK->fname.
	(cpp_push_buffer): Don't set new->underflow.
	(do_include): Use cpp_file_buffer.

	* cpphash.c (collect_formal_parameters): Remove duplicate
	increment of argslen.  Pedwarn in C99 mode if __VA_ARGS__ is
	used as a macro argument name.  Don't append "..." to namebuf
	for varargs macros.  After we're done scanning, go through
	namebuf and make it NUL separated, not comma separated.
	(_cpp_compare_defs): Remove register tag from variables.
	Expect defn->argnames to be NUL separated.
	(_cpp_dump_definition): Expect defn->argnames to be NUL
	separated and in forward order.
	* cpphash.h: Update documentation of argnames field.

From-SVN: r32430
2000-03-08 20:37:23 +00:00
Richard Henderson
dd05e4fae9 builtins.c (expand_builtin_strlen): Be prepared for strlensi to fail.
* builtins.c (expand_builtin_strlen): Be prepared for strlensi
        to fail.  Don't pre-expand the source operand.

From-SVN: r32429
2000-03-08 11:21:13 -08:00
Richard Henderson
c5aa680d46 * i386.md (strlensi): Initialize eoschar and align before use.
From-SVN: r32428
2000-03-08 11:20:22 -08:00
Nathan Sidwell
45f984e4ba * g++.old-deja/g++.eh/vbase4.C: New test.
From-SVN: r32427
2000-03-08 17:17:50 +00:00
Nathan Sidwell
99f80c8bcd * exception.cc (__cp_pop_exception): Cleanup the original object.
From-SVN: r32426
2000-03-08 17:16:17 +00:00
Nathan Sidwell
532f12a24c * g++.old-deja/g++.bugs/900215_01.C: Adjust.
From-SVN: r32425
2000-03-08 17:09:57 +00:00
Nathan Sidwell
17708e90e1 decl.c (grok_op_properties): Merge conversion to void warning with other silly op warnings.
* decl.c (grok_op_properties): Merge conversion to void warning
	with other silly op warnings.

From-SVN: r32424
2000-03-08 17:09:15 +00:00
Jason Merrill
5cb1bea4ae expr.c (expand_expr, [...]): Still check for missing CONSTRUCTOR element.
* expr.c (expand_expr, case ARRAY_REF): Still check for missing
        CONSTRUCTOR element.

From-SVN: r32423
2000-03-08 11:00:00 -05:00
Jason Merrill
967561999c typeck2.c (process_init_constructor): Set TREE_PURPOSE of array CONSTRUCTOR elements.
* typeck2.c (process_init_constructor): Set TREE_PURPOSE of
        array CONSTRUCTOR elements.  Don't use expr_tree_cons.

From-SVN: r32422
2000-03-08 10:56:16 -05:00
Gavin Romig-Koch
4730fa4fad mips.c (mips_expand_prologue): If the last named argument is the vararg marker "va_list"...
* config/mips/mips.c (mips_expand_prologue): If the last
	named argument is the vararg marker "va_list", treat it as
	an unnamed argument.

From-SVN: r32421
2000-03-08 14:31:10 +00:00
Clinton Popetz
917d7595c1 dbxout.c (dbxout_parms): When correcting for promoted big-endian parameters...
* dbxout.c (dbxout_parms): When correcting for promoted
	big-endian parameters, use the mode of the DECL_RTL rather
	than UNITS_PER_WORD.

From-SVN: r32420
2000-03-08 08:45:17 -05:00
Nathan Sidwell
98eddaf72b misc12.C: Removed.
* g++.old-deja/g++.brendan/misc12.C: Removed.
	* g++.old-deja/g++.pt/memtemp77.C: Constify.
	* g++.old-deja/g++.ext/pretty4.C: New test.

From-SVN: r32419
2000-03-08 11:22:15 +00:00
Nathan Sidwell
2ce07e2d92 c-common.h (make_fname_decl): Declare.
gcc:
	* c-common.h (make_fname_decl): Declare.
	* c-common.c (make_fname_decl): Define.
	(declare_hidden_char_array): Remove.
	(declare_function_name): Use make_fname_decl.
	* c-decl.c (c_make_fname_decl): New function.
	(init_decl_processing): Set make_fname_decl.

gcc/cp:
	* decl.c (cp_make_fname_decl): New function.
	(wrapup_globals_for_namespace): Don't emit unused static vars.
	(init_decl_processing): Remove comment about use of
	array_domain_type. Set make_fname_decl.
	(cp_finish_decl): Remove __FUNCTION__ nadgering.
	* semantics.c (begin_compound_stmt): Remove
	current_function_name_declared flagging.
	(expand_stmt): Don't emit unused local statics.
	* typeck.c (decay_conversion): Don't treat __FUNCTION__ decls
	specially.

From-SVN: r32418
2000-03-08 11:21:28 +00:00
Nathan Sidwell
8ce5ef1923 * g++.old-deja/g++.other/string2.C: New test.
From-SVN: r32417
2000-03-08 10:26:40 +00:00
Neil Booth
6a5fcef1a1 Added myself to MAINTAINERS file.
From-SVN: r32416
2000-03-08 10:26:31 +00:00
Nathan Sidwell
2abda41888 typeck.c (convert_for_assignment): Don't look at array initializer.
* typeck.c (convert_for_assignment): Don't look at array
	initializer.
	* call.c (convert_like_real): Likewise.

From-SVN: r32415
2000-03-08 10:26:06 +00:00
Jason Merrill
1c08915645 Add initial support for '\uNNNN' specifier.
* lex.c (read_ucs): New fn.
        (readescape, skip_white_space): Call it.
        (is_extended_char, is_extended_char_1): New fns.
        (utf8_extend_token): New fn, #if 0'd out.
        (real_yylex): Treat extended chars like letters.

From-SVN: r32414
2000-03-08 04:07:36 -05:00
Jeff Law
f48d005079 Daily bump.
From-SVN: r32413
2000-03-08 01:45:11 -07:00
Jeffrey A Law
776fc020b5 * cccp.c (handle_directive): Initialize backslash_newlines_p.
From-SVN: r32412
2000-03-07 23:55:21 -07:00
Philipp Thomas
d020c88404 * po/POTFILES.in: Remove cppalloc.c from file list.
From-SVN: r32410
2000-03-07 23:38:47 -07:00
Steve Chamberlain
511fce8b71 pj.c (pj_expand_prologue): current_function->args_info is now current_function_args_info.
* pj.c (pj_expand_prologue): current_function->args_info is
        now current_function_args_info.

        * pj.h (STORE_FLAG_VALUE, USER_LABEL_PREFIX,
        LOCAL_LABEL_PREFIX, ASM_GENERATE_INTERNAL_LABEL,
        ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Define.

From-SVN: r32409
2000-03-07 23:27:35 -07:00
Tom Tromey
0b3f0ff85e re GNATS gcj/162 (gcj does not initialize interfaces according to spec)
* libjava.lang/PR162.java: Mention `PR162', not `Test', as class
	name.

From-SVN: r32408
2000-03-08 05:42:07 +00:00