Commit Graph

26747 Commits

Author SHA1 Message Date
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
Michael Hayes
db14c6a02a c4x.h (PUT_SDB_TYPE): Define so that the type info is output as hexadecimal rather than the default octal.
* config/c4x/c4x.h (PUT_SDB_TYPE): Define so that the type info is
	output as hexadecimal rather than the default octal.

From-SVN: r32400
2000-03-08 04:13:39 +00:00
Zack Weinberg
707beebb3d * cpphash.c (special_symbol): Fix thinko in previous commit.
From-SVN: r32399
2000-03-08 03:58:12 +00:00
Anthony Green
3fc6183651 re GNATS gcj/107 (Bad array or type conversion bug when compiling bytecode)
1999-11-28 Anthony Green <green@cygnus.com>

	* decl.c (find_local_variable): Reuse single slot decls when
	appropriate.

(This fixes the Java PR #107:
 http://sourceware.cygnus.com/ml/java-prs/1999-q4/msg00171.html)

From-SVN: r32398
2000-03-07 19:10:19 -08:00
Alexandre Petit-Bianco
cd7c584005 re GNATS gcj/102 (crashes when compiling try block from java source)
2000-03-07  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (qualify_ambiguous_name): Properly handle expressions
	using `null'.

(This fixes the Java PR #102:
 http://sourceware.cygnus.com/ml/java-prs/1999-q4/msg00152.html)

From-SVN: r32397
2000-03-07 17:37:39 -08:00
Alexandre Petit-Bianco
6632dcdd41 re GNATS gcj/94 (compiler allows assignment to interface constants)
2000-02-22  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (check_final_assignment): Extended to process
	COMPOUND_EXPR.
	(patch_assignment): Have check_final_assignment called only once.

(This fixes the Java PR #94:
 http://sourceware.cygnus.com/ml/java-prs/1999-q4/msg00125.html)

From-SVN: r32396
2000-03-07 16:30:06 -08:00
Jason Merrill
15f1a7952b search.c (note_debug_info_needed): Walk the bases even if we weren't deferring the type itself.
* search.c (note_debug_info_needed): Walk the bases even if we
        weren't deferring the type itself.

From-SVN: r32395
2000-03-07 19:22:21 -05:00
Zack Weinberg
e23c0ba36f [multiple changes]
2000-03-07  Neil Booth  <NeilB@earthling.net>

	* cppexp.c (struct operation, left_shift, right_shift,
	cpp_parse_expr): Change some "char"s to "U_CHAR"s, and some
	"int"s to "unsigned int"s.
	* cpplib.c (detect_if_not_defined, do_assert, do_unassert):
	Similarly.
	* cpplib.h: Update for above.
	* mkdeps.c (deps_init, deps_calc_target): Cast pointers
	returned from allocations.

	* cppinit.c (opt_comp, parse_options): New functions.
	(handle_option): Use parse_option to parse a single command
	line option, that possibly takes an argument.
	(cpp_handle_options): Sort the array of command line options on
	first invocation (non-ASCII hosts only).
	(print_help): Update.

2000-03-07  Zack Weinberg  <zack@wolery.cumb.org>

	* mkdeps.c (munge): Fix off-by-one bug and inconsistencies in
	backslash counting loops.  Problem noted by Matt Kraai <kraai@ghs.com>.

From-SVN: r32394
2000-03-07 23:11:06 +00:00
Bryce McKinlay
28c231d647 Test for PR gcj/163:
2000-03-07  Bryce McKinlay  <bryce@albatross.co.nz>

        Test for PR gcj/163:
        * libjava.lang/PR163.java: New file.
        * libjava.lang/PR163.xfail: New file.

From-SVN: r32393
2000-03-07 22:54:12 +00:00
Tom Tromey
c7ce272aa5 libjava.exp (test_libjava_from_javac): Removed hack for interfaces.
* lib/libjava.exp (test_libjava_from_javac): Removed hack for
	interfaces.  Fail if jv-scan reports a parse error.

From-SVN: r32392
2000-03-07 22:44:22 +00:00
Alexandre Petit-Bianco
1729c26505 re GNATS gcj/108 (Compiler doesn't check access modifiers on interface implementations)
2000-03-07  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* java-tree.h (IS_INIT_CHECKED): New flag.
	* check-init.c (check_init): Test and set IS_INIT_CHECKED.
	* parse.y (patch_string): Call force_evaluation_order on the
	completed string concatenation tree.
	* expr.c (force_evaluation_order): Call force_evaluation_order on
        function's arguments too.

(This fixes the Java PR #108:
 http://sourceware.cygnus.com/ml/java-prs/1999-q4/msg00174.html)

From-SVN: r32391
2000-03-07 14:09:56 -08:00
Zack Weinberg
b0699daddf cppfiles.c (_cpp_find_include_file): Make sure ih->name is initialized.
* cppfiles.c (_cpp_find_include_file): Make sure ih->name is
	initialized.
	* cppinit.c (cpp_cleanup): Free imp->nshort also.

	* cpperror.c (cpp_print_containing_files,
	cpp_print_file_and_line, v_cpp_message): Rename to
	print_containing_files, print_file_and_line, and v_message.
	* cppexp.c (cpp_parse_expr, cpp_parse_escape, cpp_lex): Rename
	to _cpp_parse_expr, parse_escape, and lex.
	(parse_charconst): Remove broken multibyte support.
	* cppfiles.c (include_hash): Make static.
	(cpp_included): New function.
	(merge_include_chains, find_include_file, finclude,
	simplify_pathname): Rename to _cpp_merge_include_chains,
	_cpp_find_include_file, _cpp_read_include_file, and
	_cpp_simplify_pathname.
	* cpphash.c (cpp_lookup, free_definition, delete_macro,
	cpp_install, create_definition, macroexpand, compare_defs,
	dump_definition): Rename to _cpp_lookup, _cpp_free_definition,
	_cpp_delete_macro, _cpp_install, _cpp_create_definition,
	_cpp_macroexpand, _cpp_compare_defs, and _cpp_dump_definition.
	* cppinit.c (cpp_handle_option): Rename to handle_option, make
	static.
	* cpplib.c: Remove extern prototype of cpp_parse_expr.

	* cpphash.h: Update prototypes.
	* cpplib.h: Likewise.  Prototype _cpp_parse_expr here.

From-SVN: r32390
2000-03-07 20:58:47 +00:00