Commit Graph

37451 Commits

Author SHA1 Message Date
GCC Administrator
be7377b2cc Daily bump.
From-SVN: r45557
2001-09-12 07:16:11 +00:00
Tom Tromey
45571704cf * java/io/File.java (toURL): Use getAbsolutePath and `file://'.
From-SVN: r45556
2001-09-12 04:28:32 +00:00
Per Bothner
1a8a749c24 Makefile.am: New file.
* include/Makefile.am:  New file.  It defines include_HEADERS.
	* Makefile.am (SUBDIRS):  New macro, set to include.
	* configure.in (AC_OUTPUT):  Add include/Makefile.

From-SVN: r45555
2001-09-11 18:57:03 -07:00
Jim Wilson
4e1a4144d4 Fix 2 bugs in last patch.
* alias.c (clear_reg_alias_info): Only handle pseudo registers.

From-SVN: r45553
2001-09-11 14:14:13 -07:00
Richard Henderson
fcbc317fc9 * parse.h (ctxp_for_generation): Mark extern.
From-SVN: r45552
2001-09-11 13:17:04 -07:00
Richard Henderson
20cdfa655d * parse.c (finput): Mark extern.
From-SVN: r45551
2001-09-11 13:15:45 -07:00
Matt Kraai
1de3d87705 builtins.c (c_strlen): Treat an offset too large for a HOST_WIDE_INT as out of range.
* builtins.c (c_strlen): Treat an offset too large for a
	HOST_WIDE_INT as out of range.

From-SVN: r45550
2001-09-11 17:10:15 +00:00
Jan Hubicka
4262e6231a basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
* basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
	(EDGE_CRITICAL_P): New predicate.
	* cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
	handling.
	(insert_insn_on_edge): Use EDGE_CRITICAL_P.
	(dump_edge_info): Remove "crit".
	* cfganal.c (mark_critical_edges): Kill.
	* cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
	* cfgcleanup.c (cleanup_cfg): Likewise.
	* profile.c (instrument_edges): Use EDGE_CRITICAL_P.
	(find_spanning_tree): Likewise.
	* reg-stack.c (convert_regs_1): Likewise.
	* ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.

	* basic-block.h (create_basic_block_structure): New.
	(create_basic_block): Update prototype.
	(force_nonfallthru): New.
	* bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
	* cfg.c (create_basic_block_structure): Rename from create_basic_block;
	handle updating of block_for_insn, creating of empty BBs and BBs at
	the end of INSN chain.
	(create_basic_block): New function.
	(split_block): Use create_basic_block.
	(force_nonfallthru_and_redirect): Break out from ...; cleanup
	(redirect_edge_and_branch_force): ... here.
	(force_nonfallthru): New.
	(split_edge): Rewrite to use force_nonfallthru and create_block.
	* cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
	(find_basic_blocks): Free basic_block_for_insn.
	* cfgcleanup.c (merge_blocks): Use force_nonfallthru.

	* cfg.c: Fix formating.
	* cfgcleanup.c: Fix formating.
	(merge_blocks, tail_recursion_label_p): Return bool.
	(merge_blocks_move_predecessor_nojumps,
	 merge_blocks_move_successor_nojumps): Return void.

From-SVN: r45549
2001-09-11 16:58:57 +00:00
Jakub Jelinek
201556f0e0 configure.in: Check whether assembler supports section merging.
* configure.in: Check whether assembler supports section merging.
	* config.in: Rebuilt.
	* configure: Rebuilt.
	* varasm.c (variable_section, output_constant_pool): Pass alignment
	to SELECT_SECTION and SELECT_RTX_SECTION.
	(mergeable_string_section): New.
	(mergeable_constant_section): New.
	(default_elf_asm_named_section): Output SECTION_MERGE and
	SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
	* output.h (mergeable_string_section): New.
	(mergeable_constant_section): New.
	(SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
	* toplev.c (flag_merge_constants): New.
	(f_options): Add -fmerge-constants and -fmerge-all-constants
	options.
	(toplev_main): Default to -fno-merge-constants if not optimizing.
	* flags.h (flag_merge_constants): Add extern.
	* invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
	* tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
	argument.
	* config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
	Define if assembler has working .subsection -1 support.
	(SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
	Put constant into special SHF_MERGE sections if the linker should
	attempt to merge duplicates.
	* config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
	macro argument.
	Put constant into special SHF_MERGE sections if the linker should
	attempt to merge duplicates.
	* config/alpha/elf.h: Likewise.
	(ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
	has working .subsection -1 support.
	* config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
	SELECT_SECTION.
	* config/svr3.h: Likewise.
	* config/darwin.h: Likewise.
	* config/arm/aof.h: Likewise.
	* config/arm/linux-elf.h: Likewise.
	* config/avr/avr.h: Likewise.
	* config/c4x/c4x.h: Likewise.
	* config/d30v/d30v.h: Likewise.
	* config/i386/dgux.h: Likewise.
	* config/i386/osfrose.h: Likewise.
	* config/i386/sco5.h: Likewise.
	* config/i386/svr3gas.h: Likewise.
	* config/ia64/aix.h: Likewise.
	* config/m32r/m32r.h: Likewise.
	* config/m68k/m68k.h: Likewise.
	* config/m88k/dgux.h: Likewise.
	* config/m88k/m88k.h: Likewise.
	* config/mcore/mcore-pe.h: Likewise.
	* config/mips/mips.h: Likewise.
	* config/pa/pa.h: Likewise.
	* config/pa/pa-linux.h: Likewise.
	* config/romp/romp.h: Likewise.
	* config/rs6000/sysv4.h: Likewise.
	* config/rs6000/xcoff.h: Likewise.
	* config/s390/linux.h: Likewise.
	* config/sparc/sparc.h: Likewise.
	* config/sparc/sysv4.h: Likewise.
	* config/stormy16/stormy16.h: Likewise.
	* config/v850/v850.h: Likewise.
	* config/vax/vms.h: Likewise.
	* config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
	and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
	* config/sparc/sparc.c (sparc_elf_asm_named_section): Use
	default_elf_asm_named_section for SHF_MERGE sections.

	* com.c (ffe_init_options): Default to -fmerge-all-constants
	if optimizing.

From-SVN: r45548
2001-09-11 18:50:05 +02:00
Hans-Peter Nilsson
d21b1cb874 Prune doubled ChangeLog entry
From-SVN: r45547
2001-09-11 16:44:22 +00:00
Janis Johnson
5422265ae1 gcov.exp: Move almost everything to a new, language-independent file in lib.
* gcc.misc-tests/gcov.exp: Move almost everything to a new,
	language-independent file in lib.

	* lib/gcov.exp: New file.

From-SVN: r45546
2001-09-11 16:43:53 +00:00
Janis Johnson
3f93d7291b Verify gcov output...
Verify gcov output; most of this file was previously in gcc.misc-tests/
gcov.exp but was moved so it can be used for other languages.

From-SVN: r45545
2001-09-11 16:41:58 +00:00
Janis Johnson
cd1f97c6d6 gcov.exp: Move almost everything to a new, language-independent file in lib.
* gcc.misc-tests/gcov.exp: Move almost everything to a new,
	language-independent file in lib.
	* lib/gcov.exp: New file.

From-SVN: r45544
2001-09-11 16:40:44 +00:00
Jan Hubicka
0a24446d38 bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block is OK.
* bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
	is OK.

From-SVN: r45542
2001-09-11 15:57:34 +00:00
Joseph Myers
1d30139d37 re PR c/4294 (ICE for bad empty attribute)
* c-common.c (split_specs_attrs): Allow for empty attributes with
	empty TREE_PURPOSE.  Fixes PR c/4294.

testsuite:
	* gcc.c-torture/compile/20010911-1.c: New test.

From-SVN: r45541
2001-09-11 13:52:04 +01:00
Jan Hubicka
7ded4467c9 basic-block.h (cached_make_edge, [...]): New.
* basic-block.h (cached_make_edge, make_single_succ): New.
	(make_edge): Remove first parameter.
	* bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
	* cfg.c (cached_make_edge): Rename from make_edge; return newly
	created edge; use obstack allocation.
	(make_edge, make_single_succ_edge): New.
	(first_removed_edge): New static variable.
	(init_flow): Initialize first_removed_edge and n_edges.
	(clear_edges): Use remove_edge.
	(flow_delete_block): Likewise.
	(remove_edge): Add removed edges to the removed edges list.
	(split_block, redirect_edge_and_branch_force, split_edge):
	Use make_edge.
	* cfganal.c (flow_call_edges_add): Updaet make_edge call.
	(add_noreturn_fake_exit_edges): Likewise.
	(connect_infinite_loops_to_exit): Liekwise.
	* cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
	Use cached_make_edge.
	* cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
	* profile.c (branch_prob): Update make_edge call.
	* ssa-dce.c (ssa_eliminate_dead_code): Likewise.

From-SVN: r45540
2001-09-11 09:39:11 +00:00
Richard Henderson
30102605e7 Cray T3E port.
From-SVN: r45539
2001-09-11 01:52:39 -07:00
Richard Sandiford
b1c4394d5d combine.c (simplify_shift_const): Treat shifts by the mode size as undefined.
* combine.c (simplify_shift_const): Treat shifts by the mode
	size as undefined.

From-SVN: r45538
2001-09-11 08:38:14 +00:00
Richard Sandiford
a27082e02d Add myself to "write after approval" list
From-SVN: r45537
2001-09-11 07:56:59 +00:00
GCC Administrator
75b7ac7d01 Daily bump.
From-SVN: r45535
2001-09-11 07:16:11 +00:00
Neil Booth
5fddcffc8a cpphash.h (struct tokenrun): New.
* cpphash.h (struct tokenrun): New.
	(struct cpp_context): New member bol.
	(struct cpp_reader): New members.
	(_cpp_init_tokenrun): New.
	* cppinit.c (cpp_create_reader): Set up the token runs.
	* cpplex.c (lex_directive, lex_token, next_tokenrun): New.
	(lex_token): New internalised version of _cpp_lex_token.  Don't
	handle directives or the multiple include opimisation here any
	more.  Simply lex a token.
	* cpplib.c (run_directive): Clear bol.
	(_cpp_pop_buffer): Set bol.
	* cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
	arguments.

From-SVN: r45534
2001-09-11 07:00:12 +00:00
Michael Meissner
75dcd8fe99 Do not allow -mgp32 -mfp64; Fix int/long printf warning
From-SVN: r45533
2001-09-11 04:40:44 +00:00
Tom Tromey
fe5de1176e Properties.java (load): Correctly read \u sequences.
* java/util/Properties.java (load): Correctly read \u sequences.
	Report from Anthony Green.

From-SVN: r45532
2001-09-11 03:13:07 +00:00
Hans-Peter Nilsson
fb530c07c1 dbxout.c (dbxout_parms): Fix typo in comment.
* dbxout.c (dbxout_parms): Fix typo in comment.
	* unroll.c (loop_find_equiv_value): Ditto.
	* toplev.c (rest_of_compilation): Ditto.
	* loop.c (scan_loop): Ditto.
	(scan_loop): Ditto.
	* dwarf2out.c (struct dw_fde_struct): Ditto.

From-SVN: r45531
2001-09-11 00:20:23 +00:00
Benjamin Kosnik
f280fdf44d configure.in: Fix cross compiling math routines.
2001-09-10  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.in: Fix cross compiling math routines. Correct
	comments for cross compiling and limits. Add floating point math
	routines found in newlib.
	* configure: Regenerate.
	* acconfig.h: Add macros.
	* config.h.in: Regenerate.

From-SVN: r45530
2001-09-11 00:12:57 +00:00
Zack Weinberg
2c3fcba6dc cpplex.c (parse_identifier): Fast-path optimize.
* cpplex.c (parse_identifier): Fast-path optimize.  Avoid
	copying identifier when we're just going to throw it away.
	(parse_identifier_slow): New routine to handle abnormal cases.
	(_cpp_lex_token): Update call site.

	* hashtable.c (ht_lookup): Don't assume that the string we've
	been given is NUL-terminated.
	* system.h: #define __builtin_expect(a, b) to (a) if not
	GCC >=3.0.

From-SVN: r45529
2001-09-10 22:34:03 +00:00
Janis Johnson
b210ec460e Test -fbranch-probabilities with computed gotos.
From-SVN: r45528
2001-09-10 21:40:23 +00:00
Janis Johnson
c1189efc4d Test various C constructs with -fbranch-probabilities.
From-SVN: r45527
2001-09-10 21:39:32 +00:00
Janis Johnson
751b92408b Support for tests of -fbranch-probability.
From-SVN: r45526
2001-09-10 21:38:38 +00:00
Janis Johnson
3af636b265 Support procedures for testing profile-directed optimizations.
From-SVN: r45525
2001-09-10 21:37:44 +00:00
Janis Johnson
1aa084e607 profopt.exp: New, to support profile-directed optimizations.
* lib/profopt.exp: New, to support profile-directed optimizations.
	* gcc.misc-tests/bprob.exp: New, to support branch profiling in C.
	* gcc.misc-tests/bprob-1.c: New test.
	* gcc.misc-tests/bprob-2.c: New test.

From-SVN: r45524
2001-09-10 21:36:47 +00:00
Michael Meissner
60acf24e08 add sparc64-*-solaris2 support just like sparcv9-*-solaris2
From-SVN: r45523
2001-09-10 21:10:20 +00:00
David Edelsohn
51d3e7d611 * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
From-SVN: r45522
2001-09-10 16:59:35 -04:00
Richard Kenner
bf06b5d841 builtins.c (c_getstr): Correct thinko in last change and further cleanup.
* builtins.c (c_getstr): Correct thinko in last change and further
	cleanup.

From-SVN: r45519
2001-09-10 16:23:35 -04:00
Benjamin Kosnik
a623ef6e71 2001-09-10 Benjamin Kosnik <bkoz@redhat.com>
* config/locale/moneypunct_members_generic.cc
	(money_base::_S_construct_pattern): Remove unused parameters.

From-SVN: r45518
2001-09-10 20:14:15 +00:00
Manfred Hollstein
1603cd96e3 configure.in (LIBFFIINCS): Quote uses of $(top_srcdir) and $(MULTIBUILDTOP).
* configure.in (LIBFFIINCS): Quote uses of $(top_srcdir)
	and $(MULTIBUILDTOP).
	* configure: Re-generate.

From-SVN: r45515
2001-09-10 18:26:48 +00:00
Benjamin Kosnik
89c06d5007 Makefile.am (stamp-target): Remove link to self.
2001-09-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (stamp-target): Remove link to self.
	* inclulde/Makefile.in: Regenerate.

From-SVN: r45514
2001-09-10 18:13:17 +00:00
Tim Freeman
244a4af045 dwarf2out.c (incomplete_types, [...]): Make them into varray's and register them as roots with the garbage collector...
* dwarf2out.c (incomplete_types, decl_scope_table): Make them
        into varray's and register them as roots with the garbage
        collector so they are not collected too soon.

From-SVN: r45513
2001-09-10 11:09:27 -07:00
Ovidiu Predescu
71a18acf34 gc.c: Removed the DEBUG declaration.
2001-09-10  Ovidiu Predescu  <ovidiu@cup.hp.com>

	* gc.c: Removed the DEBUG declaration.

From-SVN: r45511
2001-09-10 16:24:11 +00:00
Ovidiu Predescu
041dea5661 Removed the DEBUG declaration.
From-SVN: r45510
2001-09-10 16:22:42 +00:00
Zack Weinberg
428a1c1c9a New test case (2.95.2 miscompilation)
From-SVN: r45505
2001-09-10 16:21:29 +00:00
Jan Hubicka
402209ff48 Makefile.in (cfg.o, [...]): New.
* Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
	New.
	* basic-block.h (flow_obstack, label_value_list,
	tail_recursion_label_list): Declare
	(tidy_fallthru_edges): Declare.
	(expunge_block, last_loop_beg_note): Delete.
	(can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
	* cfg.c: New file
	(basic_block_for_insn, label_value_list): Move from flow.c; make global.
	(n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
	init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
	flow_delete_insn, flow_delete_insn_chain, create_basic_block,
	expunge_block, flow_delete_block, compute_bb_for_insn,
	update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
	make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
	redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
	try_redirect_by_replacing_jump, last_loop_beg_note,
	redirect_edge_and_branch, redirect_edge_and_branch_force,
	tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
	split_edge, insert_insn_on_edge, commit_one_edge_insertion,
	commit_edge_insertions, dump_flow_info, debug_flow_info,
	dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
	verify_flow_info, purge_dead_edges, purge_all_dead_edges):
	Move here from flow.c
	* cfganal.c: New file.
	(forwarder_block_p, can_fallthru, mark_critical_edges,
	 mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
	 find_unreachable_blocks, create_edge_list, free_edge_list,
	 print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
	 flow_edge_list_print, remove_fake_successors, remove_fake_edges,
	 add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
	 flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
	 flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
	 flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
	Move here from flow.c
	* cfgbuild.c: New file
	(count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
	 make_edges, find_basic_blocks_1, find_basic_blocks,
	 find_sub_basic_blocks): Move here from flow.c
	* cfgcleanup.c: New file.
	(try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
	 merge_blocks_move_predecessor_nojumps,
	 merge_blocks_move_successor_nojumps, merge_blocks,
	 flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
	 try_crossjump_bb, try_optimize_cfg): Move here from flow.c
	(delete_unreachable_blocks, cleanup_cfg): Likewise; return true
	if succeeded.
	* cfgloop.c: New file
	(flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
	 flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
	 flow_loop_exit_edges_find, flow_loop_nodes_find,
	 flow_loop_pre_header_scan, flow_loop_pre_header_find,
	 flow_loop_tree_node_add, flow_loops_tree_build,
	 flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
	 flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
	Move here from flow.c
	* flow.c: Remove everything moved elsewhere
	* output.h (cleanup_cfg): Return bool.

	* bb-reorder.c (reorder_block_def): Remove 'index'.
	(insert_intra_1): Add argument BB, set block for new note.
	(make_reorder_chain): Do not depdent on BB indexes.
	(make_reorder_chain_1): Do not use BB indexes.
	(label_for_bb): Likewise; set BB for new insn.
	(emit_jump_to_block_after): Likewise.
	(fixup_reoder_chain): Sanity check that all basic blocks
	are chained; verify newly created insn chain; remove
	undocnitional jump simplifying; Do not use BB indexes;
	properly initialize count and frequency information;
	dump reordered sequence.
	(insert_intra_bb_scope_notes): update call of insert_intra_1.
	(insert_inter_bb_scope_notes): Set block for new insn.
	(reorder_basic_blocks): Dump flow info before reoredering.

From-SVN: r45504
2001-09-10 12:23:08 +00:00
Richard Kenner
5197bd5062 alias.c (clear_reg_alias_info): Use K&R format definition.
* alias.c (clear_reg_alias_info): Use K&R format definition.
	Avoid unsigned warning.
	* builtins.c: Use "unsigned int", not "unsigned".
	(target_char_cast): Use host_integerp and tree_low_cst.
	(expand_builtin_args_info, expand_builtin_frame_address): Likewise.
	(c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
	(c_getstr): Likewise.
	(std_expand_builtin_va_arg): Use int_size_in_bytes.
	(builtin_memcpy_read_str): Avoid unsigned warning.
	(expand_builtin_memcpy): Alignments are unsigned.
	(expand_builtin_strncpy, expand_builtin_memset): Likewise.
	(expand_builtin_expect_jump): Use integer_zerop and integer_onep.
	* predict.c (expensive_function_p): LIMIT now unsigned.
	* resource.c (mark_target_live_regs): Make some vars unsigned.
	* sdbout.c: Use "unsigned int", not "unsigned".
	(MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
	(sdbout_source_line): Likewise.
	(sdbout_record_type_name): Remove "const" for NAME declaration.
	* config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.

From-SVN: r45503
2001-09-10 06:55:20 -04:00
Richard Sandiford
2e547b13f1 * calls.c (store_one_arg): Expand comment.
From-SVN: r45502
2001-09-10 10:14:13 +00:00
Roman Lechtchinsky
0df299ae0b calls.c (store_one_arg): Make sure that the entire argument is pushed if...
* calls.c (store_one_arg): Make sure that the entire argument is
	pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.

From-SVN: r45501
2001-09-10 10:10:16 +00:00
Richard Henderson
c347e68d71 * class.c (build_class_ref): Set DECL_EXTERNAL before make_decl_rtl.
From-SVN: r45500
2001-09-10 01:52:54 -07:00
GCC Administrator
6f36d76ad0 Daily bump.
From-SVN: r45499
2001-09-10 07:16:41 +00:00
Bryce McKinlay
7866a458e2 jvm.h (_Jv_AllocRawObj): New prototype.
* include/jvm.h (_Jv_AllocRawObj): New prototype.
	* boehm.cc (_Jv_AllocRawObj): Implement.
	* nogc.cc (_Jv_AllocRawObj): Likewise.
	* exception.cc (_Jv_Throw): Use _Jv_AllocRawObj, not GC_malloc.

From-SVN: r45497
2001-09-10 02:21:08 +01:00
Benjamin Kosnik
69971cd850 Implement std::money_put.
2001-09-09  Benjamin Kosnik  <bkoz@redhat.com>

	Implement std::money_put.
	* include/bits/locale_facets.h
	(moneypunct::_M_initialize_moneypunct): Split up specializations
	to account for _Intl.  More grody hacking to get around the
	ill-considered use of const bool as a template parameter.
	* config/locale/moneypunct_members_gnu.cc: And here.
	* config/locale/moneypunct_members_generic.cc: And here.
	* testsuite/22_locale/moneypunct_members_char.cc: Add tests.
	* testsuite/22_locale/moneypunct.cc: Add tests.
	* testsuite/22_locale/money_put_members_wchar_t.cc: New file.
	* testsuite/22_locale/moneypunct_members_wchar_t.cc: New file.

	* src/locale.cc (money_base::_S_construct_pattern): Move into
	gnu-specific file.
	* config/locale/moneypunct_members_gnu.cc: Add here.
	* config/locale/moneypunct_members_generic.cc: Add generic version
	here.

	* include/bits/locale_facets.tcc (money_put::do_put): Move member
	function definitions here.
	* include/bits/locale_facets.h (money_put): Implement.
	* src/locale-inst.cc: Add use_facet instantiations for moneypunct.
	Correct money_get, money_put instantiations.
	* src/locale.cc (money_base::_S_construct_pattern): Handle case
	where __posn == 0.
	* testsuite/22_locale/money_put_members_char.cc: Add tests.

From-SVN: r45496
2001-09-10 01:00:27 +00:00
Richard Henderson
1650fcade9 * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
From-SVN: r45495
2001-09-09 02:11:05 -07:00