Commit Graph

26921 Commits

Author SHA1 Message Date
Richard Henderson
8ad52449ba Fix typo last change.
From-SVN: r32472
2000-03-10 11:21:06 -08:00
Richard Henderson
bee249aac1 except.c (can_throw): Use INTVAL on a CONST_INT.
* except.c (can_throw): Use INTVAL on a CONST_INT.
        (reachable_handlers): Likewise.
        * flow.c (count_basic_blocks, find_basic_blocks_1): Likewise.

From-SVN: r32471
2000-03-10 11:12:53 -08:00
Andreas Jaeger
602f9606d6 linux.h: Undefine MD_EXEC_PREFIX and MD_STARTFILE_PREFIX since those are not needed on linux.
* config/mips/linux.h: Undefine MD_EXEC_PREFIX and
	MD_STARTFILE_PREFIX since those are not needed on linux.
	(ASM_FILE_START): New, from mips/gnu.h.

From-SVN: r32470
2000-03-10 14:24:50 +00:00
Jason Merrill
1660cb3ac4 lang-options.h, decl2.c: Add -fno-enforce-eh-specs.
* lang-options.h, decl2.c: Add -fno-enforce-eh-specs.
        * cp-tree.h: Declare flag_enforce_eh_specs.
        * decl.c (store_parm_decls, finish_function): Check it.

        C library functions don't throw.
        * Makefile.in (cfns.h): New target.
        (except.o): Depend on it.
        * Make-lang.in (cc1plus): Depend on cfns.gperf.
        * cfns.gperf: New file.
        * cfns.h: Generated.
        * except.c: Include it.
        (nothrow_libfn_p): New fn.
        * decl.c (grokfndecl): Use it.
        * cp-tree.h: Declare it.

From-SVN: r32469
2000-03-10 06:56:00 -05:00
Jason Merrill
0c11ada67b decl.c (push_overloaded_decl_1, [...]): Lose.
* decl.c (push_overloaded_decl_1, auto_function,
        define_function): Lose.
        (build_library_fn_1): New static fn.
        (builtin_function): Use it.
        (get_atexit_node): Use build_library_fn_ptr.
        (build_library_fn, build_cp_library_fn, build_library_fn_ptr,
        build_cp_library_fn_ptr, push_library_fn, push_cp_library_fn,
        push_void_library_fn, push_throw_library_fn): New fns.
        * cp-tree.h: Declare them.
        (cp_tree_index): Remove CPTI_BAD_CAST, CPTI_BAD_TYPEID.
        (throw_bad_cast_node, throw_bad_typeid_node): Lose.
        * except.c (init_exception_processing, call_eh_info, do_pop_exception,
        (expand_end_eh_spec, alloc_eh_object, expand_throw): Use above fns.
        * rtti.c (build_runtime_decl): Lose.
        (throw_bad_cast, throw_bad_typeid, get_tinfo_decl,
        build_dynamic_cast_1, expand_si_desc, expand_class_desc,
        expand_ptr_desc, expand_attr_desc, expand_generic_desc): Use above fns.

        * call.c (build_call): Remove result_type parm.
        Call mark_used on unused artificial fns.
        * init.c, method.c, typeck.c, except.c, rtti.c: Adjust.

From-SVN: r32468
2000-03-10 04:25:45 -05:00
Jeff Law
c3ab7a40d7 Daily bump.
From-SVN: r32467
2000-03-10 01:45:08 -07:00
Jason Merrill
18ea0f9202 * com.c (ffecom_stabilize_aggregate_): Don't refer to TREE_RAISES.
From-SVN: r32466
2000-03-10 03:44:50 -05:00
Alex Samuel
d9d4fb433e Changes in include:
* partition.h: New file.

Changes in libiberty:

	* Makefile.in (CFILES): Add partition.c.
	(REQUIRED_OFILES): Add partition.o.
	(partition.o): New rule.
	* partition.c: New file.

Changes in gcc:

	* Makefile.in (ssa.o): New rule.
	(OBJS): Add ssa.o.
	(STAGESTUFF): Add *.ssa and *.ussa.
	(mostlyclean): Delete *.ssa, *.ussa, */*.ssa, */*.ussa.
	* rtl.def (PHI): New RTL expression.
	* rtl.h (clear_log_links): New declaration.
	(convert_to_ssa): Likewise.
	(convert_from_ssa): Likewise.
	* flow.c (split_edge): If the entry node falls through to the
	split edge's source block, split the entry edge.
	(clear_log_links): New function.
	* toplev.c (ssa_dump): New variable.
	(flag_ssa): Likewise.
	(f_options): Add "ssa".
	(compile_file): Create SSA dump files.
	(rest_of_compilation): Go to and from SSA if enabled.
	(decide_d_option): Handle -de for SSA dump files.
	* ssa.c: New file.

From-SVN: r32465
2000-03-10 08:16:55 +00:00
Warren Levy
ea7f51a4af Key.java (serialVersionUID): Set to 0 for now.
* java/security/Key.java(serialVersionUID): Set to 0 for now.
	* java/security/interfaces/DSAPrivateKey.java(serialVersionUID): Ditto.
	* java/security/interfaces/DSAPublicKey.java(serialVersionUID): Ditto.

From-SVN: r32464
2000-03-10 05:10:40 +00:00
Jim Wilson
1858863bd5 Fix ia64 spec95 134.perl miscompilation.
* expr.c (expand_assignment): For a CALL_EXPR, special case PARM_DECL
	same as VAR_DECL.

From-SVN: r32463
2000-03-09 20:03:10 -08:00
Benjamin Kosnik
4ed442c915 linux.h (WCHAR_TYPE): Make consistent.
2000-03-09  Benjamin Kosnik  <bkoz@cygnus.com>

	* config/alpha/linux.h (WCHAR_TYPE): Make consistent.

From-SVN: r32462
2000-03-10 03:01:05 +00:00
Warren Levy
8560e49702 AlgorithmParameterGeneratorSpi.java: New file.
* java/security/AlgorithmParameterGeneratorSpi.java: New file.
	* java/security/DigestException.java: New file.
	* java/security/GeneralSecurityException.java: New file.
	* java/security/InvalidAlgorithmParameterException.java: New file.
	* java/security/InvalidKeyException.java: New file.
	* java/security/InvalidParameterException.java: New file.
	* java/security/Key.java: New file.
	* java/security/KeyException.java: New file.
	* java/security/KeyPair.java: New file.
	* java/security/KeyPairGenerator.java: New file.
	* java/security/KeyPairGeneratorSpi.java: New file.
	* java/security/NoSuchProviderException.java: New file.
	* java/security/PrivateKey.java: New file.
	* java/security/Provider.java: New file.
	* java/security/PublicKey.java: New file.
	* java/security/SecureRandom.java: New file.
	* java/security/Security.java: New file.
	* java/security/Signature.java: New file.
	* java/security/SignatureException.java: New file.
	* java/security/interfaces/DSAKey.java: New file.
	* java/security/interfaces/DSAParams.java: New file.
	* java/security/interfaces/DSAPrivateKey.java: New file.
	* java/security/interfaces/DSAPublicKey.java: New file.
	* java/security/interfaces/RSAPrivateCrtKey.java: New file.
	* java/security/interfaces/RSAPrivateKey.java: New file.
	* java/security/interfaces/RSAPublicKey.java: New file.
	* java/security/spec/AlgorithmParameterSpec.java: New file.
	* java/security/spec/InvalidKeySpecException.java: New file.
	* java/security/spec/InvalidParameterSpecException.java: New file.
	* java/security/spec/KeySpec.java: New file.
	* java/security/spec/RSAPrivateCrtKeySpec.java: New file.
	* java/security/spec/RSAPrivateKeySpec.java: New file.
	* java/security/spec/RSAPublicKeySpec.java: New file.
	* Makefile.am: Added above java.security files.
	* Makefile.in: Rebuilt.

	* java/security/MessageDigest.java: Rewritten.
	* java/security/SecureClassLoader.java: Added JDK1.2 comment.

From-SVN: r32461
2000-03-10 02:43:57 +00:00
Jeffrey A Law
7238ae533f pa-hpux11.h (LIB_SPEC): Correct typo in !p case.
* config/pa/pa-hpux11.h (LIB_SPEC): Correct typo in !p case.
        (MD_STARTFILE_PREFIX_1): New macro.

From-SVN: r32460
2000-03-09 18:12:22 -07:00
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