Commit Graph

30476 Commits

Author SHA1 Message Date
Mark Mitchell
54f7877c8b c-common.h (prep_stmt): Declare.
* c-common.h (prep_stmt): Declare.
	(lang_expand_stmt): Likewise.
	* c-decl.c (lang_expand_stmt): Remove.
	* c-semantics.c (lang_expand_stmt): Define.
	(prep_stmt): New function.
	(expand_stmt): Handle common statement types here.

	* cp-tree.h (init_cp_semantics): Declare.
	(genrtl_try_block): Don't declare.
	(genrtl_handler): Likewise.
	(genrtl_catch_block): Likewise.
	(genrtl_ctor_stmt): Likewise.
	(genrtl_subobject): Likewise.
	(genrtl_do_poplevel): Likewise.
	(genrtl_named_return_value): Likewise.
	* lex.c (init_parse): Call init_cp_semantics.
	* semantics.c (genrtl_try_block): Give it internal linkage.
	(genrtl_handler): Likewise.
	(genrtl_catch_block): Likewise.
	(genrtl_ctor_stmt): Likewise.
	(genrtl_subobject): Likewise.
	(genrtl_do_poplevel): Likewise.
	(genrtl_named_return_value): Likewise.
	(lang_expand_stmt): Rename to ...
	(cp_expand_stmt): ... this.  Only handle C++-specific nodes.
	(init_cp_semantics): Define.

From-SVN: r36229
2000-09-07 06:55:51 +00:00
Alex Samuel
d93998ecbe cp-demangle.c (status_allocation_failed): Rearrange whitespace.
* cp-demangle.c (status_allocation_failed): Rearrange whitespace.
	(demangle_type): Handle substitution candidates correctly in the
	face of special substitutions.

From-SVN: r36228
2000-09-07 05:44:46 +00:00
Niibe Yutaka
93ca1662a2 configure.in (sh-*-linux*): Added.
* configure.in (sh-*-linux*): Added.
* configure: Rebuilt.
* config/sh/t-linux: New file.
* config/sh/sh.h (USERMODE_BIT): Define.
(TARGET_USERMODE): Likewise.
(TARGET_SWITCHES): New switches for the bits above.
(INITIALIZE_TRAMPOLINE): Call __ic_invalidate in USERMODE.
* config/sh/linux.h: New file.
* config/sh/lib1funcs.asm (GLOBAL): Don't prefix symbols with
underscore on linux.
(L_sdivsi3, L_udivsi3): Define for linux.
(L_ic_invalidate): Define.
* invoke.texi (SH Options): Document -musermode.

From-SVN: r36227
2000-09-07 04:38:34 +00:00
Alexandre Oliva
4979c2a9f3 sh.h (OVERRIDE_OPTIONS): Don't disable function CSE unless generating PIC.
* config/sh/sh.h (OVERRIDE_OPTIONS): Don't disable function
CSE unless generating PIC.

From-SVN: r36226
2000-09-07 04:12:47 +00:00
Alexandre Oliva
71105114a1 sh.md (symPLT_label2reg): Force the initialization of the PIC register.
* config/sh/sh.md (symPLT_label2reg): Force the initialization of
the PIC register.

From-SVN: r36225
2000-09-07 04:10:27 +00:00
Mark Mitchell
3a0d3e1e75 decl.c (initialize_local_var): Remove RTL-generating code.
* decl.c (initialize_local_var): Remove RTL-generating code.
	* semantics.c (genrtl_try_block): Fix formatting.

From-SVN: r36224
2000-09-07 03:50:52 +00:00
H.J. Lu
d5cfb451c1 Makefile.in (clean_s1): Depend on stage_b.
* Makefile.in (clean_s1): Depend on stage_b.
(clean_s2): Depend on stage_d. Don't remove $(VOL_FILES) in
stage2. They are used for "make compare".

From-SVN: r36223
2000-09-07 03:14:39 +00:00
Richard Henderson
735bce7e26 acinclude.m4 (GLIBCPP_CHECK_CPU): Add ia64 support.
2000-09-06  Richard Henderson  <rth@cygnus.com>
	    Benjamin Kosnik  <bkoz@cygnus.com>

	* acinclude.m4 (GLIBCPP_CHECK_CPU): Add ia64 support.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config/cpu/ia64: New directory.
	* config/cpu/ia64/bits: New directory.
	* config/cpu/ia64/bits/atomicity.h: New file.

Co-Authored-By: Benjamin Kosnik <bkoz@cygnus.com>

From-SVN: r36222
2000-09-07 01:48:27 +00:00
Mark Mitchell
ae499ccea4 Move statement-tree facilities from C++ to C front-end.
* c-common.h (c_tree_index): Add CTI_VOID_ZERO.
	(void_zero_node): New macro.
	(struct stmt_tree_s): New type.
	(stmt_tree): New typedef.
	(struct language_function): New type.
	(last_tree): New macro.
	(last_expr_type): Likewise.
	(walk_tree_fn): New typedef.
	(current_stmt_tree): New function.
	(begin_stmt_tree): Likewise.
	(add_stmt): Likewise.
	(finish_stmt_tree): Likewise.
	(statement_code_p): Likewise.
	(lang_statement_code_p): New variable.
	(walk_stmt_tree): New function.
	(STMT_IS_FULL_EXPR_P): New macro.
	* c-common.c (lang_statement_code_p): New variable.
	(c_common_nodes_and_builtins): Initialize void_zero_node.
	(statement_code_p): New function.
	(walk_stmt_tree): Likewise.
	* c-decl.c (language_function): Rename to ...
	(c_language_function): ... this.  Include language_function.
	(push_c_function_context): Adjust accordingly.
	(pop_c_function_context): Likewise.
	(mark_c_function_context): Likewise.
	(current_stmt_tree): Define.
	* c-semantics.c (begin_stmt_tree): New function.
	(add_stmt): Likewise.
	(prune_unused_decls): Likewise.
	(finish_stmt_tree): Likewise.

	Move statement-tree facilities from C++ to C front-end.
	* cp-tree.h (cp_tree_index): Remove CPTI_VOID_ZERO.
	(void_zero_node): Remove.
	(stmt_tree): Likewise.
	(scope_chain): Adjust.
	(language_function): Rename to cp_language_function.
	(cp_function_chain): Adjust.
	(current_stmt_tree): Remove.
	(last_tree): Likewise.
	(last_expr_type): Likewise.
	(struct lang_decl): Adjust.
	(STMT_IS_FULL_EXPR_P): Remove.
	(add_tree): Remove.
	(begin_stmt_tree): Likewise.
	(finish_stmt_tree): Likewise.
	(walk_tree_fn): Likewise.
	(walk_stmt_tree): Likewise.
	* class.c (finish_struct): Replace use of add_tree with add_stmt.
	* decl.c (mark_stmt_tree): Adjust type.
	(init_decl_processing): Don't build void_zero_node.
	(initialize_local_var): Adjust usage of current_stmt_tree.
	(finish_enum): Use add_stmt, not add_tree.
	(save_function_data): Adjust use of language_function.
	(finish_constructor_body): Use add_stmt, not add_tree.
	(finish_destructor_body): Likewise.
	(push_cp_function_context): Adjust use of language_function.
	(pop_cp_function_context): Likewise.
	(mark_lang_function): Likewise.
	(mark_cp_function_context): Likewise.
	* init.c (build_aggr_init): Adjust use of current_stmt_tree.
	(build_vec_init): Likewise.
	* semantics.c (SET_LAST_STMT): Remove.
	(RECHAIN_STMTS): Don't use it.
	(stmts_are_full_exprs_p): Adjust use of current_stmt_tree.
	(current_stmt_tree): Define.
	(add_tree): Remove.
	(finish_goto_stmt): Use add_stmt, not add_tree.
	(finish_expr_stmt): Likewise.
	(begin_if_stmt): Likewise.
	(finish_then_clause): Likewise.
	(begin_while_stmt): Likewise.
	(begin_do_stmt): Likewise.
	(finish_return_stmt): Likewise.
	(begin_for_stmt): Likewise.
	(finish_break_stmt): Likewise.
	(finish_continue_stmt): Likewise.
	(begin_switch_stmt): Likewise.
	(finish_case_label): Likewise.
	(begin_try_block): Likewise.
	(begin_function_try_block): Likewise.
	(begin_handler): Likewise.
	(begin_catch_block): Likewise.
	(begin_compound_stmt): Likewise.
	(begin_asm_stmt): Likewise.
	(finish_asm_stmt): Likewise.
	(finish_label_stmt): Likewise.
	(add_decl_stmt): Likewise.
	(finish_subobject): Likewise.
	(finish_decl_cleanup): Likewise.
	(finish_named_return_value): Likewise.
	(setup_vtbl_ptr): Likewise.
	(add_scope_stmt): Likewise.
	(finish_stmt_expr): Likewise.
	(prune_unused_decls): Remove.
	(begin_stmt_tree): Likewise.
	(finish_stmt_tree): Likewise.
	(prep_stmt): Adjust use of current_stmt_tree.
	(lang_expand_stmt): Likewise.
	* tree.c (statement_code_p): Remove.
	(cp_statement_code_p): New function.
	(walk_stmt_tree): Remove.
	(init_tree): Set lang_statement_code_p.

From-SVN: r36221
2000-09-07 01:36:11 +00:00
Herman A.J. ten Brugge
4f4b88d083 * flow.c (insn_dead_p): Detect dead memory stores with auto increments.
From-SVN: r36220
2000-09-06 19:22:07 -06:00
Kazu Hirata
f725a3ec9b * calls.c: Fix formatting.
From-SVN: r36219
2000-09-06 19:17:00 -06:00
Benjamin Kosnik
f133a43eab acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Force glibc_satisfactory to no...
2000-09-06  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Force glibc_satisfactory
	to no, so that libstdc++-v3's libio will be built on glibc-2.2
	systems.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* */Makefile.in: Regenerate.

	* bits/std_cwctype.h: Put in temporary hack to work around -O2 +
	glibc 2.1.x unsigned errors. Or disable -Werror by default...

	* testsuite/23_containers/vector_element_access.cc: New file.
	* bits/stl_config.h (__STL_THROW_RANGE_ERRORS): Define.

From-SVN: r36218
2000-09-07 01:02:01 +00:00
Graham Stott
0806f95fb4 * config/i386/i386.h (ADDRESS_COST): Fix typo.
From-SVN: r36217
2000-09-06 18:56:11 -06:00
Zack Weinberg
0e5921e8a0 Integrated preprocessor.
top level:
	* Makefile.in: Remove all references to c-parse.gperf,
	c-gperf.h, and c-parse.h.  Remove -d from yacc command line
	generating c-parse.c.  Update dependencies.
	* c-parse.gperf, c-gperf.h: Delete.

	* c-common.c: Don't define parse_options, cpp_token, yy_cur,
	yy_lim, or yy_get_token.  Don't define get_directive_line if
	USE_CPPLIB.
	* c-common.h: Add multiple include guard.  Define RID values
	for every keyword in C, C++, and Objective C.  Put all the
	modifiers first.
	(struct c_fileinfo, get_fileinfo, dump_time_statistics): New.
	* c-decl.c (c_decode_option): Handle -lang-objc here.
	(print_lang_identifier): Handle C_IS_RESERVED_WORD case.
	(grokdeclarator): Adjust for new RID scheme.
	(extract_interface_info): New stub.
	* c-lang.c: Don't declare yy_cur or parse_options.
	(lang_init_options): Call cpp_init.  Don't call
	cpp_options_init.
	(lang_init): Don't call check_newline if USE_CPPLIB.

	* c-lex.c: Don't include c-parse.h.  Do include timevar.h.
	Elide lots of unnecessary code if USE_CPPLIB.  Delete code
	rendered unnecessary by new architecture.  Move routines not
	shared with C++ to c-parse.in.  Maintain a local idea of the
	line number.    Handle C++ as well as C.
	[USE_CPPLIB]: Declare and register callbacks for #ident and
	for entering/leaving files.
	(init_c_lex, c_lex): Are now the entry points to this file.
	(check_newline): Break out directive handling to
	process_directive.
	(read_ucs, is_extended_char, utf8_extend_token): Moved here
	from C++ front end.
	(readescape, parse_float): Overhaul.
	(lex_number, lex_string, lex_charconst): Break out of c_lex
	(n'ee yylex).
	(get_fileinfo, update_header_times, dump_one_header,
	dump_time_statistics): New and/or moved here from C++.
	Support per-file data needed by C++ and per-header timing
	statistics (C++ only, at the moment).
	* c-lex.h: Update prototypes.  Add multiple include guard.
	* c-tree.h (struct lang_identifier): Add rid_code field.
	(C_IS_RESERVED_WORD, C_RID_CODE): New.

	* c-parse.in: Include c-pragma.h. Remove unnecesary calls to
	reinit_parse_for_function and/or position_after_white_space.
	(save_filename, save_lineno): Look ahead before saving.
	(label -> identifier ':'): Save file and line before shifting ':'.
	(reservedwords): No need to call get_identifier.
	(init_parse, finish_parse, yyerror, yylex, yyprint,
	make_pointer_declarator): Are now here for C/ObjC.
	(rid_to_yy): Conversion table from RID constants to Yacc codes.

	* c-pragma.c: Rewrite parsing logic to fit with cpplib's
	#pragma registry.  Provide dummy implementation of that
	interface if !USE_CPPLIB.
	* c-pragma.h: Update to match.

	* flags.h: Add multiple include guard.
	(flag_detailed_statistics): Moved here from C++.
	* toplev.c: Define flag_detailed_statistics.

	* gcc.c (C specs): Use %(trad_capable_cpp) for -E|-M|-MM case
	#if USE_CPPLIB.
	* timevar.def (TV_CPP, TV_LEX): New.
	* timevar.h: Add multiple include guard.

	* objc/lang-specs.h: Use %(trad_capable_cpp) for -E|-M|-MM case
	#if USE_CPPLIB.
	* objc/objc-act.c: Don't mention yy_cur or parse_options.
	Initialize cpplib properly.  Force lineno to 0 after first
	call to check_newline.  Don't handle -lang-objc here.
	Move forget_protocol_qualifiers and remember_protocol_qualifiers here.

cp:
	* Make-lang.in, Makefile.in: Remove all references to input.c,
	gxx.gperf, and hash.h.  Add ../c-lex.o to C_OBJS.
	* gxx.gperf, hash.h, input.c: Delete.
	* lang-specs.h: Pass -lang-c++ to cc1plus so cpplib is
	initialized properly.

	* class.c (fixup_pending_inline): Take a tree, not a
	struct pending_inline *.  All callers changed.
	(init_class_processing): Set RID_PUBLIC, RID_PRIVATE,
	RID_PROTECTED entries in ridpointers[] array here.
	* decl.c (duplicate_decls): Do not refer to struct
	pending_inline.
	(record_builtin_type, init_decl_processing): Use RID_MAX not
	CP_RID_MAX.
	(grokdeclarator): Use C_IS_RESERVED_WORD.
	* decl2.c (lang_decode_option): Ignore -lang-c++ for sake of
	cpplib.
	(grok_x_components): Do not inspect pending_inlines chain.

	* cp-tree.h (struct lang_identifier): Add rid_code entry.
	(C_IS_RESERVED_WORD, C_RID_CODE, C_RID_YYCODE): New.
	(flag_no_gnu_keywords, flag_operator_names, rid_to_yy): Declare.
	(DEFARG_LENGTH, struct pending_inline, TIME_IDENTIFIER_TIME,
	TIME_IDENTIFIER_FILEINFO): Kill.
	Update prototypes.
	* lex.h: Expunge cp_rid.  Rewrite RIDBIT macros to use just a
	single 32-bit word.
	* parse.y: Call do_pending_inlines unconditionally.
	reinit_parse_for_method is now snarf_method.  fn.defpen is no
	longer necessary.  Remove unnecessary <itype> annotation on
	SCOPE.  Do not refer to end_of_file or struct pending_inline.
	* semantics.c (begin_inline_definitions): Call
	do_pending_inlines unconditionally.

	* lex.c: Remove all code now shared with C front end.
	Initialize cpplib properly if USE_CPPLIB.  Put reserved words
	into the get_identifier table.  Rewrite pragma handling to
	work with the registry.  Move code to save tokens for later
	processing to spew.c.

	* spew.c: Rewrite everything in terms of token streams instead
	of text.  Move routines here from lex.c / input.c as
	appropriate.  GC-mark trees hanging off the pending inlines
	chain.

testsuite:
	* g++.old-deja/g++.benjamin/13478.C: Put meaningful tags on
	ERROR markers.
	* g++.old-deja/g++.brendan/crash8.C: Move ERROR marker up one line.
	* gcc.dg/c99-array-nonobj-1.c: Don't expect func[] cases to fail.
	* gcc.dg/wtr-label-1.c: Don't use unconstrained .* in error regexps.
	* gcc.dg/wtr-suffix-1.c: Correct error regexps.
	* gcc.dg/cpp/unc1.c, gcc.dg/cpp/unc2.c, gcc.dg/cpp/unc3.c:
	Preprocess only.
	* gcc.dg/cpp/unc4.c: Adjust line number in dg-error line.
	* gcc.dg/noncompile/const-ll-1.c: Generalize error regexp.

From-SVN: r36216
2000-09-07 00:37:14 +00:00
Jeff Sturm
26aa75bef9 jvm.h (_Jv_HashCode): Cast object ptr to `unsigned long' to avoid long long division.
2000-09-06  Jeff Sturm  <jeff.sturm@appnet.com>

	* include/jvm.h (_Jv_HashCode): Cast object ptr to `unsigned long'
	to avoid long long division.

From-SVN: r36215
2000-09-06 22:25:56 +00:00
Tom Tromey
9579ea7efd Constructor.java (toString): Use `getName' for parameter types.
* java/lang/reflect/Constructor.java (toString): Use `getName' for
	parameter types.
	* java/lang/reflect/Method.java (toString): Use `getName' for
	return type.

From-SVN: r36214
2000-09-06 22:24:34 +00:00
Levente Farkas
dbb4d33a9b string.tcc: Fix up more parameter names.
2000-09-06  Levente Farkas  <lfarkas@mindmaker.hu>

	* bits/string.tcc: Fix up more parameter names.

From-SVN: r36213
2000-09-06 21:59:52 +00:00
Tom Tromey
f0bee8b3f0 * lang-specs.h: Also recognize `-femit-class-files'.
From-SVN: r36212
2000-09-06 21:55:39 +00:00
David Edelsohn
5638268e4d rs6000.md: Correct function unit definitions for cr_logical and mtjmpr.
* rs6000.md: Correct function unit definitions for cr_logical and
	mtjmpr.
	(sCOND): Additionally fail for sgt, slt, sge, sle if !TARGET_POWER
	and use portable method for >=0 and floating point >=.  Remove
	associated matchers.

From-SVN: r36211
2000-09-06 17:29:14 -04:00
Mark Mitchell
44835fdd5d extend.texi: Mark named return value extension as deprecated.
* extend.texi: Mark named return value extension as deprecated.

	* NEWS: Mention that the named return value extension has been
	deprecated.
	* cp-tree.h (original_result_rtx): Define.
	(TREE_REFERENCE_EXPR): Remove.
	(DECL_VPARENT): Likewise.
	(pushdecl_nonclass_level): Likewise.
	(store_return_init): Likewise.
	(reinit_lang_specific): Likewise.
	(genrtl_named_return_value): Change prototype.
	* decl.c (original_result_rtx): Remove.
	(cp_finish_decl): Don't build DECL_STMTs for RESULT_DECLs.
	Do not generate RTL for local variables here.
	(store_return_init): Remove.
	* semantics.c (genrtl_named_return_value): Simplify.  Fold in
	store_return_init.
	(finish_named_return_value): Adjust accordingly.  Warn that this
	extension is deprecated.
	(lang_expand_stmt): Adjust call to genrtl_named_return_value.

From-SVN: r36210
2000-09-06 21:25:02 +00:00
Tom Tromey
bcf98e48ef natMethod.cc (_Jv_CallAnyMethodA): Accept null `args' if method takes no parameters.
* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Accept null
	`args' if method takes no parameters.

From-SVN: r36209
2000-09-06 21:20:45 +00:00
Geoff Keating
bab6226b6b rs6000.c (rs6000_reverse_condition): Return the result.
* config/rs6000/rs6000.c (rs6000_reverse_condition): Return
	the result.

From-SVN: r36208
2000-09-06 20:38:19 +00:00
Alexandre Oliva
67d08194ae configure.in (multilib): Enable by default only for target.
* configure.in (multilib): Enable by default only for target.
* configure: Rebuilt.

From-SVN: r36207
2000-09-06 19:13:01 +00:00
Alexandre Oliva
4b92758a91 * Makefile.in (all-zlib): Added dummy target.
From-SVN: r36206
2000-09-06 18:58:34 +00:00
Gabriel Dos Reis
e651302389 toplev.c (display_help): Fix thinko in documentation.
* toplev.c (display_help): Fix thinko in documentation.

	* diagnostic.h (output_buffer::indent_skip): New fields.
	(output_indentation): New macro.

	* diagnostic.c (output_indent): New function.
	(output_set_prefix, clear_diagnostic_info): Use.
	(output_emit_prefix): Predict future indentation.

From-SVN: r36205
2000-09-06 18:43:35 +00:00
DJ Delorie
112c7aeab1 Makefile.in (stage_*): add more dependencies to ensure parallel builds build correctly
* Makefile.in (stage_*): add more dependencies to ensure parallel
builds build correctly

From-SVN: r36204
2000-09-06 14:29:17 -04:00
Tom Tromey
8ee4db6f3a Fix for PR java.lang/339:
* java/lang/natPosixProcess.cc (fail): New function.
	(cleanup): New function.
	(startProcess): Use them.  Create pipe so child can communicate
	exec failure back to parent.

From-SVN: r36202
2000-09-06 18:14:15 +00:00
Manfred Hollstein
1bac0fb486 Makefile.in (bootstrap-lean): Depend on bootstrap-lean_g, not bootstrap-lean_f.
2000-09-06  Manfred Hollstein  <manfredh@redhat.com>

	* Makefile.in (bootstrap-lean): Depend on bootstrap-lean_g,
	not bootstrap-lean_f.

From-SVN: r36201
2000-09-06 17:57:21 +00:00
Andreas Schwab
f472a17cb4 mklibgcc.in: Emit rule for libgcc-stage-start.
* mklibgcc.in: Emit rule for libgcc-stage-start.
* Makefile.in (stage1-start, stage2-start, stage3-start,
stage4-start): Don't handle libgcc here, use libgcc.mk instead.

From-SVN: r36200
2000-09-06 14:45:28 +00:00
Alexandre Oliva
6d93bca4fe * configure: Rebuilt with new libtool.m4.
From-SVN: r36199
2000-09-06 14:08:04 +00:00
Alexandre Oliva
06298abdb6 ltconfig, [...]: Updated from libtool multi-language branch.
* ltconfig, ltmain.sh, libtool.m4, ltcf-c.sh, ltcf-cxx.sh,
ltcf-gcj.sh: Updated from libtool multi-language branch.

From-SVN: r36198
2000-09-06 13:59:29 +00:00
Bernd Schmidt
611bbf2af7 Don't use CLASS_LIKELY_SPILLED in local-alloc
From-SVN: r36197
2000-09-06 09:46:58 +00:00
Nathan Sidwell
299d838af8 * g++.old-deja/g++.pt/deduct2.C: New test.
From-SVN: r36196
2000-09-06 09:34:24 +00:00
Nathan Sidwell
d7c4edd08e pt.c (type_unification_real): Replace switch with if.
* pt.c (type_unification_real): Replace switch with if.
	(unify): Tsubst non-type parms before comparing.

From-SVN: r36195
2000-09-06 09:34:00 +00:00
Nathan Sidwell
2ff0c96233 * g++.old-deja/g++.pt/parms2.C: New test.
From-SVN: r36194
2000-09-06 09:22:08 +00:00
Nathan Sidwell
46e2747c71 error.c (dump_typename): New function, broken out of ...
* error.c (dump_typename): New function, broken out of ...
	(dump_type): ... here. Use it.
	* typeck.c (same_type_p): Use cp_tree_equal for TYPENAME_TYPE.

From-SVN: r36193
2000-09-06 09:21:35 +00:00
Bernd Schmidt
630c79be17 Changes in cse.c/loop.c cost calculations
From-SVN: r36192
2000-09-06 09:20:38 +00:00
Geoff Keating
39a10a297a rs6000.c (validate_condition_mode): New function.
* config/rs6000/rs6000.c (validate_condition_mode): New function.
(branch_comparison_operator): Call validate_condition_mode to
abort rather than returning 0.
(branch_positive_comparison_operator): New function.
(scc_comparison_operator): Call validate_condition_mode to abort
rather than returning 0.
(ccr_bit): Call validate_condition_mode.  Update for
new branch scheme.
(print_operand): Delete %C modifier.  Update %E case
to use EQ bit not SO bit.
(rs6000_reverse_condition): New function.
(rs6000_generate_compare): New function.
(rs6000_emit_sCOND): New function.
(rs6000_emit_cbranch): New function.
(output_cbranch): The length of a long branch insn is
now only 8 bytes.  Add validate_condition_mode.  Use
rs6000_reverse_condition.  Remove cror generation.
* config/rs6000/rs6000.h: Update comments.
(PREDICATE_CODES): Add new predicate.  Update codes used
by branch_comparison_operator and scc_comparison_operator.
* config/rs6000/rs6000-protos.h: Add prototypes for
new external functions.
* config/rs6000/rs6000.md: Add new scheduling parameters
for cr_logical instructions.  Change length of branch
instructions.
(bCOND patterns): Call rs6000_emit_cbranch.
(sCOND patterns): Call rs6000_emit_sCOND.
(branch patterns): Change lengths to 4.
(cr logical patterns): New.

From-SVN: r36191
2000-09-06 09:12:51 +00:00
Nathan Sidwell
6e92b232be * g++.old-deja/g++.pt/crash58.C: New test.
From-SVN: r36190
2000-09-06 09:06:04 +00:00
Nathan Sidwell
c833d2be02 init.c (build_offset_ref): Deal with namespace scoped TEMPLATE_ID_EXPRs.
* init.c (build_offset_ref): Deal with namespace scoped
	TEMPLATE_ID_EXPRs.

From-SVN: r36189
2000-09-06 09:04:00 +00:00
Nathan Sidwell
b1ce3eb24a class.c (resolve_address_of_overloaded_function): Add explanation message.
* class.c (resolve_address_of_overloaded_function): Add
	explanation message.
	* decl.c (define_case_label): Reformat explanation.
	* decl2.c (finish_static_data_member_decl): Likewise.
	(grokfield): Likewise.
	* friend.c (do_friend): Likewise.

From-SVN: r36188
2000-09-06 08:53:45 +00:00
Richard Henderson
2a4bbffab1 i386.md (call_pop): Fix test for setting current_function_uses_pic_offset_table.
* config/i386/i386.md (call_pop): Fix test for setting
        current_function_uses_pic_offset_table.
        (call, call_value_pop, call_value): Likewise.

From-SVN: r36187
2000-09-06 01:32:49 -07:00
Greg McGary
61f5be154a 20000906.c: New test.
* gcc.c-torture/20000906.c: New test.
	* gcc.c-torture/20000906.x: Expect failure for ix86 at `-O2'.

From-SVN: r36186
2000-09-06 08:27:44 +00:00
Jeff Law
d3283187d5 Daily bump.
From-SVN: r36185
2000-09-06 01:45:08 -06:00
Zack Weinberg
eab828ba93 timevar.c (timevar_add): Delete.
* timevar.c (timevar_add): Delete.
	(timevar_get): Also count time since the selected timer was
	last updated.  Do not examine the timevar stack if the
	selected timer is standalone.

From-SVN: r36184
2000-09-06 07:02:40 +00:00
J. David Anglin
f1d6a533e6 gthr-dce.h (__gthread_objc_mutex_deallocate): Free mutex->backend.
2000-09-05  J. David Anglin  <dave@hiauly1.hia.nrc.ca>

	* gthr-dce.h (__gthread_objc_mutex_deallocate): Free mutex->backend.

From-SVN: r36183
2000-09-06 06:57:39 +00:00
J. David Anglin
6bb92770ab gthr-dce.h (__gthread_objc_mutex_deallocate): Free mutex->backend.
2000-09-02  J. David Anglin  <dave@hiauly1.hia.nrc.ca>

	* gthr-dce.h (__gthread_objc_mutex_deallocate): Free mutex->backend.

From-SVN: r36182
2000-09-06 06:55:34 +00:00
John David Anglin
84802b1397 John David Anglin <dave@hiauly1.hia.nrc.ca>
* md5.h (md5_uint32): Choose via INT_MAX instead of UINT_MAX.

From-SVN: r36181
2000-09-05 23:10:12 -07:00
John David Anglin
702edf390c John David Anglin <dave@hiauly1.hia.nrc.ca>
* gettext.h (nls_uint32): Choose via INT_MAX instead of UINT_MAX.

From-SVN: r36180
2000-09-05 23:09:15 -07:00
Jason Merrill
53c5b5d77f c-decl.c (finish_incomplete_decl): Don't call complete_array_type for 'extern' arrays.
* c-decl.c (finish_incomplete_decl): Don't call complete_array_type
        for 'extern' arrays.

From-SVN: r36179
2000-09-06 02:06:46 -04:00