Commit Graph

30100 Commits

Author SHA1 Message Date
Jason Merrill
ecff20d49e * integrate.c (expand_inline_function): Pull out the original decl.
From-SVN: r35993
2000-08-25 17:52:44 -04:00
Jim Wilson
d51ff7cb78 Fix IA-64 abort on testcase with switch statement that can be optimized away.
* cse.c (cse_insn): Don't pass label subtraction to force_const_mem.

From-SVN: r35992
2000-08-25 14:50:06 -07:00
Jim Wilson
caa511fdfa Fix x86-x-ia64 abort while compiling glibc ldbl2mpn.c.
* function.c (gen_mem_addressof): Clear MEM_ALIAS_SET if no decl.

From-SVN: r35991
2000-08-25 14:32:05 -07:00
Greg McGary
9a56f4f680 flow.c (dump_edge_info): Use ARRAY_SIZE.
* flow.c (dump_edge_info): Use ARRAY_SIZE.
	* config/alpha/alpha.c (alpha_expand_block_move): Likewise.

From-SVN: r35990
2000-08-25 19:08:47 +00:00
Greg McGary
b5232c64e7 * tree.c (init_tree): Use ARRAY_SIZE.
From-SVN: r35989
2000-08-25 19:07:56 +00:00
Greg McGary
945745458e * gjavah.c (cxx_keyword_subst): Use ARRAY_SIZE.
From-SVN: r35988
2000-08-25 19:07:04 +00:00
Richard Earnshaw
3144827180 * arm.h (STRUCT_VALUE): Define to 0, not NULL.
From-SVN: r35986
2000-08-25 16:58:34 +00:00
John Wehle
b949ea8b0f i386.c (ix86_find_base_term): New.
* i386.c (ix86_find_base_term): New.
	* i386-protos.h (ix86_find_base_term): Prototype.
	* i386.h (FIND_BASE_TERM): Define.
	* alias.c (find_base_term): Use it.
	* tm.texi (FIND_BASE_TERM): Document it.

	* alias.c (true_dependence, write_dependence_p): Unchanging
	memory can't conflict with non-unchanging memory.

	* alias.c (memrefs_conflict_p): A BLKmode reference
	to a symbol (or CONST_INT address) always conflicts
	with a reference to another symbol.

From-SVN: r35985
2000-08-25 16:52:24 +00:00
Joseph Myers
343b7260c6 c-common.c (time_char_table): Don't allow width and flags with "z" format.
* c-common.c (time_char_table): Don't allow width and flags with
	"z" format.

testsuite:
	* gcc.dg/format-ext-3.c, gcc.dg/format-ext-4.c,
	gcc.dg/format-ext-5.c: New tests.

From-SVN: r35984
2000-08-25 16:27:57 +01:00
Jakub Jelinek
22efd68702 * testsuite/g++.old-deja/g++.other/crash22.C: New test.
From-SVN: r35983
2000-08-25 14:55:47 +02:00
Jakub Jelinek
1f9124e42e i386.c (ix86_expand_branch): Treat GE and GEU the same way as LT and LTU when...
* config/i386/i386.c (ix86_expand_branch): Treat GE and GEU the same
	way as LT and LTU when the second operand has 0 in low word.

From-SVN: r35982
2000-08-25 14:40:18 +02:00
Gabriel Dos Reis
22a4158c6a * error.c (cp_tree_printer): Rework.
From-SVN: r35981
2000-08-25 12:31:00 +00:00
Michael Hayes
135ebc3673 basic-block.h (struct loop): Rename exits' field to exit_edges'.
* basic-block.h (struct loop): Rename `exits' field to
	`exit_edges'.  Add `entry_edges' and `num_entries' fields.

	* flow.c (flow_loop_exit_edges_find): Rename from flow_loop_exits_find.
	(flow_loop_entry_edges_find): Add.
	(flow_edge_list_print): Rename from flow_exits_print.
	(flow_loops_find): Call flow_loop_entry_edges_find.
	(flow_loop_dump): Dump entry_edges list.
	(flow_loops_free): Free entry_edges.

From-SVN: r35980
2000-08-25 10:20:22 +00:00
Michael Hayes
6057c0e602 loop.c (loop_dump_aux, debug_loop): New functions.
* loop.c (loop_dump_aux, debug_loop): New functions.
	(LOOP_BLOCK_NUM_1, LOOP_BLOCK_NUM, LOOP_INSN_UID): New macros.

	* flow.c (flow_loops_dump): Add callback parameter.
	(flow_loop_dump): Add callback parameter and call it.  Move
	loop note debugging code to loop_dump_aux.

	* basic-block.h (flow_loop_dump): Add callback parameter
	(flow_loops_dump): Likewise.

	* toplev.c (rest_of_compilation): Add NULL callback function pointer
	to call to flow_loops_dump.

From-SVN: r35979
2000-08-25 10:12:10 +00:00
Michael Hayes
028fc6e760 loop.c (count_loop_regs_set): Replace start and end arguments with loop argument.
* loop.c (count_loop_regs_set): Replace start and end arguments
	with loop argument.  All callers udated.

From-SVN: r35978
2000-08-25 10:01:51 +00:00
Michael Hayes
371502a8d2 * loop.c (constant_high_bytes): Delete.
From-SVN: r35977
2000-08-25 09:56:24 +00:00
Michael Hayes
e375c819ff loop.c (prescan_loop): Move checks for NOTE_INSN_LOOP_CONT and NOTE_INSN_LOOP_VTOP to...
* loop.c (prescan_loop): Move checks for NOTE_INSN_LOOP_CONT
	and NOTE_INSN_LOOP_VTOP to...
	(find_and_verify_loops) ...here.

From-SVN: r35976
2000-08-25 09:48:47 +00:00
Benjamin Kosnik
e403cf2922 howto.html: Add notes on codecvt implementation.
2000-08-24  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* docs/22_locale/howto.html: Add notes on codecvt implementation.
	* docs/22_locale/codecvt.html: New file. In progress.

From-SVN: r35975
2000-08-25 08:52:56 +00:00
Mark Mitchell
a0c182feaf Make-lang.in (CXX_LIB2FUNCS): Remove cp-demangle.o and dyn-string.o.
* Make-lang.in (CXX_LIB2FUNCS): Remove cp-demangle.o and
	dyn-string.o.
	(CXX_LIB2SRCS): Remove cp-demangle.c and dyn-string.c.
	(cp-demangle.o): Remove target.
	(dyn-string.o): Likewise.

From-SVN: r35974
2000-08-25 08:01:13 +00:00
Jeff Law
71cba97130 Daily bump.
From-SVN: r35973
2000-08-25 01:45:07 -06:00
Mark Mitchell
f22967f31a decl.c (grokfndecl): Require that main' return an int'.
* decl.c (grokfndecl): Require that `main' return an `int'.
	* mangle.c (write_encoding): Don't mangle return types for
	conversion functions.

From-SVN: r35972
2000-08-25 07:28:36 +00:00
Alexandre Oliva
036cfb361a crtstuff.c (CRT_CALL_STATIC_FUNCTION): Define default.
* crtstuff.c (CRT_CALL_STATIC_FUNCTION): Define default.
(fini_dummy, init_dummy): Use it.

From-SVN: r35971
2000-08-25 07:21:54 +00:00
Neil Booth
c2e2054209 cpplex.c (is_macro_disabled): Caller has already checked that we're not a preprocessed file.
* cpplex.c (is_macro_disabled): Caller has already checked
	that we're not a preprocessed file.

From-SVN: r35970
2000-08-25 07:04:59 +00:00
Alexandre Oliva
7965440a9b configure.in (FLAGS_FOR_TARGET): Use $target_configdirs and $targargs to tell whether newlib is going to be built.
* configure.in (FLAGS_FOR_TARGET): Use $target_configdirs and
$targargs to tell whether newlib is going to be built.

From-SVN: r35969
2000-08-25 07:04:49 +00:00
Alexandre Oliva
db310af088 configure.in [...] (libstdcxx_flags): Search $$r/TARGET_SUBDIR/libio for _G_config.h.
* configure.in [disable-libstdcxx-v3] (libstdcxx_flags): Search
$$r/TARGET_SUBDIR/libio for _G_config.h.

From-SVN: r35968
2000-08-25 05:36:41 +00:00
Mark Mitchell
83bab8db08 Makefile.in (C_AND_OBJC_OBJS): Remove c-iterate.o.
* Makefile.in (C_AND_OBJC_OBJS): Remove c-iterate.o.
	(c-iterate.o): Remove target.
	* gcc/c-common.h (enum rid): Remove RID_ITERATOR.
	* gcc/c-decl.c (init_decl_processing): Remove call to init_iterators.
	(finish_decl): Don't handle iterators.
	(grokdeclarator): Likewise.
	* gcc/c-parse.gperf: Remove __iterator and __iterator__ keywords.
	* gcc/c-gperf.h: Regenerated.
	* gcc/c-iterate.c: Removed.
	* gcc/c-lex.c (init_lex): Don't handle iterators.
	* gcc/c-parse.in (primary): Remove pop_iterator_stack call.
	(compstmt_primary_start): Remove push_iterator_stack call.
	(stmt): Don't allow iterator statements.  Replace iterator_expand
	with expand_expr_stmt.
	(all_iter_stmt): Remove.
	(all_iter_stmt_simple): Likewise.
	(all_iter_stmt_with_decl): Likewise.
	* gcc/c-tree.h (ITERATOR_P): Remove.
	(ITERATOR_BOUND_P): Likewise.
	(init_iterators): Remove declaration.
	(iterator_expand): Likewise.
	(iterator_for_loop_start): Likewise.
	(iterator_for_loop_end): Likewise.
	(iterator_for_loop_record): Likewise.
	(push_iterator_stack): Likewise.
	(pop_iterator_stack): Likewise.
	* gcc/c-typeck.c (decl_constant_value): Don't check ITERATOR_P.
	(readonly_warning): Likewise.
	* gcc/tree.h (ITERATOR_BOUND_P): Don't mention it.

	* Make-lang.in (cc1chill): Don't depend on c-iterate.o.

	* gcc.dg/noncompile/930622-2.c: Adjust error message.

From-SVN: r35967
2000-08-25 00:58:27 +00:00
Jim Wilson
aee3c6b038 Fix ia64-linux setjmp failures due to attribute aligned on typedef bug.
* c-common.c (decl_attributes, case A_ALIGN): Revert last change.
	Copy type in a TYPE_DECL, just like pushdecl does.

From-SVN: r35966
2000-08-24 16:48:25 -07:00
Gabriel Dos Reis
a1066c99f7 error.c (tree_formatting_info): New data type.
* error.c (tree_formatting_info): New data type.
	(tree_being_formatted): New macro.
	(tree_formatting_flags): Likewise.
	(put_whitespace): Likewise.
	(print_tree_identifier): Likewise.
	(print_identifier): Likewise.
	(cp_tree_printer, print_function_argument_list, print_declaration,
	print_expression, print_function_declaration,
	print_function_parameter, print_type, print_cv_qualifier): New
	functions.
	(init_error): Initialize lang_printer.

From-SVN: r35965
2000-08-24 23:42:35 +00:00
Richard Henderson
58d8c98011 * toplev.c (main): Enable flag_reorder_blocks at -O2.
From-SVN: r35964
2000-08-24 16:38:47 -07:00
Mark Wielaard
309bf2960a InflaterInputStream.java (read(byte[],int,int)): return -1 when fill() has no more data for the Inflater.
* java/util/zip/InflaterInputStream.java (read(byte[],int,int)):
	return -1 when fill() has no more data for the Inflater.

From-SVN: r35963
2000-08-24 22:48:12 +00:00
Greg McGary
2f59c8eb4b * libiberty/random.c (end_ptr): Revert previous change.
From-SVN: r35962
2000-08-24 22:44:37 +00:00
Zack Weinberg
054f5e6927 ggc-page.c (alloc_page): If HAVE_MMAP_ANYWHERE and we're asked for one page...
* ggc-page.c (alloc_page): If HAVE_MMAP_ANYWHERE and we're
	asked for one page, allocate GGC_QUIRE_SIZE of them and put
	the extras on the free list.
	(release_pages): Clean up.
	(ggc_set_mark): Don't adjust G.allocated here...
	(sweep_pages): ... do it here.

From-SVN: r35961
2000-08-24 22:19:27 +00:00
Zack Weinberg
3d7428b8f6 *** empty log message ***
From-SVN: r35960
2000-08-24 22:18:53 +00:00
Richard Henderson
cc914f8cbf New tests.
From-SVN: r35959
2000-08-24 15:17:54 -07:00
Richard Henderson
0551c32d8b stmt.c (expand_asm_operands): Treat EXTRA_CONSTRAINT like g or X.
* stmt.c (expand_asm_operands): Treat EXTRA_CONSTRAINT like g or X.

	* config/ia64/ia64-protos.h: Update.
	* config/ia64/ia64.c (gr_register_operand): New.
	(fr_register_operand, grfr_register_operand): New.
	(gr_nonimmediate_operand, grfr_nonimmediate_operand): New.
	(grfr_reg_or_8bit_operand): New.
	(gr_reg_or_0_operand): Rename from reg_or_0_operand and
	use gr_register_operand.
	(gr_reg_or_5bit_operand, gr_reg_or_6bit_operand): Likewise.
	(gr_reg_or_8bit_operand, gr_reg_or_8bit_adjusted_operand): Likewise.
	(gr_reg_or_8bit_and_adjusted_operand): Likewise.
	(gr_reg_or_14bit_operand, gr_reg_or_22bit_operand): Likewise.
	(fr_reg_or_fp01_operand): Likewise.
	(not_postinc_memory_operand): New.
	(ia64_split_timode): Remove unused variables.
	(rtx_needs_barrier): Check arguments to cmpxchg.
	(builtin_description): Remove.
	(bdesc_2argsi, bdesc_2argdi): Remove.
	(ia64_init_builtins): Declare all builtins directly.
	(ia64_expand_fetch_and_op): Rewrite to be called from
	ia64_expand_builtin directly.  Use expand_binop and co.
	(ia64_expand_op_and_fetch): Likewise.
	(ia64_expand_compare_and_swap): Likewise.
	(ia64_expand_binop_builtin): Remove.
	(ia64_expand_lock_test_and_set): New.
	(ia64_expand_lock_release): New.
	(ia64_expand_builtin): Use them.
	* config/ia64/ia64.h (CONSTRAINT_OK_FOR_S): New.
	(EXTRA_CONSTRAINT): Use it.
	(PREDICATE_CODES): Update.
	* config/ia64/ia64.md (*): Use gr_register_operand and co.
	(mf): Indicate that we set memory as well as use it.
	(fetchadd_acq_si): Show memory being modified as well.
	(fetchadd_acq_di, cmpxchg_acq_si, cmpxchg_acq_di): Likewise.
	(val_compare_and_swap_si, val_compare_and_swap_di): Remove.
	(lock_test_and_set_si, lock_test_and_set_di): Remove.
	(fetch_and_add_si, fetch_and_sub_si, fetch_and_or_si): Remove.
	(fetch_and_and_si, fetch_and_xor_si, fetch_and_nand_si): Remove.
	(fetch_and_add_di, fetch_and_sub_di, fetch_and_or_di): Remove.
	(fetch_and_and_di, fetch_and_xor_di, fetch_and_nand_di): Remove.
	(add_and_fetch_di, sub_and_fetch_di, or_and_fetch_di): Remove.
	(and_and_fetch_di, xor_and_fetch_di, nand_and_fetch_di): Remove.
	(add_and_fetch_si, sub_and_fetch_si, or_and_fetch_si): Remove.
	(and_and_fetch_si, xor_and_fetch_si, nand_and_fetch_si): Remove.
	* config/ia64/ia64intrin.h (*): Cast result to the appropriate
	return type.  Pretty print definitions.

From-SVN: r35956
2000-08-24 14:40:24 -07:00
Jim Wilson
7c866fb522 Fix bfd/archive.c miscompilation.
* config/ia64/ia64.md (movdi): Don't call gen_movdi_symbolic if
	we have a SYMBOL_REF with SYMBOL_REF_FLAG set.

From-SVN: r35955
2000-08-24 13:44:04 -07:00
Jason Merrill
3f2b640a7a typeck.c (build_ptrmemfunc): Just reinterpret if there's no adjustment necessary.
* typeck.c (build_ptrmemfunc): Just reinterpret if there's no
        adjustment necessary.

From-SVN: r35954
2000-08-24 16:43:51 -04:00
Jason Merrill
40e8cc959c dwarf2out.c (AT_flag, [...]): Abort on unsuitable input.
* dwarf2out.c (AT_flag, AT_int, AT_unsigned, AT_string, AT_ref,
        AT_loc, AT_addr, AT_lbl): Abort on unsuitable input.
        (get_AT_low_pc, get_AT_hi_pc, get_AT_string, get_AT_flag,
        get_AT_unsigned, get_AT_ref): Don't call them if get_AT fails.

From-SVN: r35953
2000-08-24 16:39:11 -04:00
Greg McGary
6e2aa220c0 lang.c (lang_decode_option): Use ARRAY_SIZE.
* lang.c (lang_decode_option): Use ARRAY_SIZE.
	* parse.y (BINOP_LOOKUP): Likewise.

From-SVN: r35951
2000-08-24 20:34:39 +00:00
Greg McGary
75ff2ca73b intdoc.c (ARRAY_SIZE): Remove macro.
* intdoc.c (ARRAY_SIZE): Remove macro.
	* proj.h (ARRAY_SIZE): Remove macro.
	* com.c (init_decl_processing): Use ARRAY_SIZE.

From-SVN: r35950
2000-08-24 20:32:41 +00:00
Greg McGary
b6a1cbaeb1 optabs.c (init_optabs): Initialize fixtab...
* optabs.c (init_optabs): Initialize fixtab, fixtrunctab, floattab,
	and extendtab within their proper array boundaries.
	* emit-rtl.c (init_emit_once): Pass `const_tiny_rtx' with bounds
	for the entire array.

	* config/arm/arm.c (arm_override_options): Use ARRAY_SIZE.
	* config/alpha/alpha.c (alpha_lookup_xfloating_lib_func): Likewise.
	* config/avr/avr.c (order_regs_for_local_alloc): Likewise.
	* config/fr30/fr30.c (fr30_print_operand): Likewise.
	* config/i386/dgux.c (output_options): Likewise.
	* config/i386/dgux.h (ASM_FILE_START): Likewise.
	* config/m88k/m88k.c (output_options): Likewise.
	* config/m88k/m88k.h (ASM_FILE_START): Likewise.
	* config/mcore/mcore.c (mcore_output_inline_const_forced,
	layout_mcore_frame, handle_structs_in_regs): Likewise.
	* config/mips/mips.c (output_block_move): Likewise.
	* config/rs6000/rs6000.c (rs6000_override_options,
	rs6000_file_start): Likewise.
	* config/sparc/sparc.c (sparc_add_gc_roots): Likewise.
	* fixinc/fixfixes.c (FIX_TABLE_CT): Likewise.
	* fixinc/fixtests.c (TEST_TABLE_CT): Likewise.
	* builtins.c (expand_builtin_setjmp): Likewise.
	* expr.c (safe_from_p): Likewise.
	* flow.c (life_analysis): Likewise.
	* fold-const.c (size_int_type_wide): Likewise.
	* gcc.c (translate_options, init_spec, set_spec, main): Likewise.
	* genattrtab.c (make_length_attrs): Likewise.
	* genopinit.c (gen_insn): Likewise.
	* genrecog.c (NUM_KNOWN_PREDS, NUM_SPECIAL_MODE_PREDS): Likewise.
	* global.c (global_alloc): Likewise.
	* local-alloc.c (find_free_reg): Likewise.
	* mips-tdump.c (print_symbol): Likewise.
	* mips-tfile.c (parse_def, parse_input): Likewise.
	* reload1.c (NUM_ELIMINABLE_REGS): Likewise.
	* stmt.c (expand_nl_goto_receiver): Likewise.
	* stor-layout.c (set_sizetype): Likewise.
	* varasm.c (decode_reg_name): Likewise.
	* toplev.c (decode_f_option, decode_W_option,
	set_target_switch, print_switch_values): Likewise.
	(NUM_ELEM): Remove macro.
	(display_help, main): s/NUM_ELEM/ARRAY_SIZE/

From-SVN: r35949
2000-08-24 20:31:35 +00:00
Greg McGary
2f26c11dbb cplus-dem.c (cplus_demangle_opname, [...]): Use ARRAY_SIZE.
* libiberty/cplus-dem.c (cplus_demangle_opname, cplus_mangle_opname,
	demangle_expression, demangle_function_name): Use ARRAY_SIZE.
	* libiberty/random.c (end_ptr): Likewise.

From-SVN: r35948
2000-08-24 20:29:48 +00:00
Greg McGary
672a59e0ad * libiberty.h (ARRAY_SIZE): New macro.
From-SVN: r35947
2000-08-24 20:28:15 +00:00
Greg McGary
7ec09bf79b * cp-tree.h (MAIN_NAME_P): Remove macro.
From-SVN: r35946
2000-08-24 20:11:54 +00:00
Greg McGary
5b47282c68 tree.h (enum tree_index): New member `TI_MAIN_IDENTIFIER'.
* tree.h (enum tree_index): New member `TI_MAIN_IDENTIFIER'.
	(MAIN_NAME_P, main_identifier_node): New macros.
	* c-common.c (c_common_nodes_and_builtins): Init main_identifier_node.
	* c-decl.c (start_decl, grokdeclarator, start_function,
	store_parm_decls, finish_function): Use MAIN_NAME_P.
	* config/avr/avr.c (function_prologue, function_epilogue): Likewise.
	* config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
	* config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
	* config/pdp11/pdp11.c (output_function_prologue): Likewise.

From-SVN: r35945
2000-08-24 20:09:27 +00:00
Greg McGary
87ae0c74eb cppfiles.c (actual_directory): Don't write beyond `dir' when it contains "".
* cppfiles.c (actual_directory): Don't write beyond `dir'
	when it contains "".
	* real.c (asctoeg): Stay within bounds of etens[][].

From-SVN: r35944
2000-08-24 20:04:10 +00:00
Benjamin Kosnik
15bcd79ab0 acconfig.h: Revert.
2000-08-24  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* acconfig.h: Revert.
	* acinclude.m4: Revert.
	* libio/_G_config.h: Revert.
	* libio/libio.h: Revert.

From-SVN: r35943
2000-08-24 19:05:22 +00:00
Kaveh R. Ghazi
b148aeaa4f dependence.c (dependence_string, [...]): Hide unused identifiers.
* dependence.c (dependence_string, direction_string,
	dump_one_node, dump_node_dependence): Hide unused identifiers.
	(get_low_bound, normalize_coefficients): Match definition to
	static prototype.
	(get_one_coefficient): Initialize variables `value0_is_idx' and
	`value1_is_idx'.
	(ziv_test, gcd_test): Mark parameters with ATTRIBUTE_UNUSED.
	(ziv_test): Delete variable `idx', use parameter `sub' instead.
	(direction_merge): Avoid automatic aggregate initialization.
	(have_dependence_p): Use `src' not `dest' to set `src_idx'.
	Initialize variables `dest_idx' and `src_idx'.
	(end_dependence_analysis): Avoid C89 style function definition.

From-SVN: r35942
2000-08-24 19:00:49 +00:00
Benjamin Kosnik
4d0e4296fd acconfig.h: Revert.
2000-08-24  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* acconfig.h: Revert.
	* acinclude.m4: Revert.
	* libio/_G_config.h: Revert.
	* libio/libio.h: Revert.

From-SVN: r35941
2000-08-24 18:58:42 +00:00
Joseph Myers
4894ecce4d c-common.c (time_char_table): Don't allow width with %F.
* c-common.c (time_char_table): Don't allow width with %F.
	(check_format_info): Don't allow "Z" length with scanf.

testsuite:
	* gcc.dg/c99-scanf-2.c: Remove test for scanf "Z" length.
	* gcc.dg/format-ext-2.c: New test.

From-SVN: r35940
2000-08-24 17:14:55 +01:00