Commit Graph

68677 Commits

Author SHA1 Message Date
Keith Besaw
9cf5a7e38d tree-ssa-alias.c (new_type_alias): New procedure to create a type memory tag for a pointer with a may-alias set...
2005-05-29  Keith Besaw  <kbesaw@us.ibm.com>

        * tree-ssa-alias.c (new_type_alias): New procedure to
        create a type memory tag for a pointer with a may-alias
        set determined from a variable declaration.
        * tree-flow.h: export declaration of new_type_alias
        * tree-optimize.c (init_tree_optimization_passes): document
        that pass_may_alias cannot be called after pass_vectorize.
        * tree-vect-transform (vect_create_data_ref_ptr): Call
        new_type_alias when an type memory tag isn't available
        for a reference.
        (vectorizable_store): Use copy_virtual_operands to update
        virtual defs in place (so that loop_version can be called).
        Call mark_for_renaming for the virtual defs in case peeling
        is done and virtual uses outside the loop need to be updated.

From-SVN: r100322
2005-05-29 13:14:42 +00:00
Francois-Xavier Coudert
6778b96ce1 * gfortran.dg/output_exponents_1.f90: New test.
From-SVN: r100319
2005-05-29 12:44:37 +00:00
Francois-Xavier Coudert
95af2a1f7b * gfortran.dg/dollar_edit_descriptor-1.f: New test.
From-SVN: r100316
2005-05-29 12:33:30 +00:00
Francois-Xavier Coudert
c9330b0331 re PR libfortran/20006 ($ format extension doesn't work)
PR libfortran/20006
	* io.c (format_item_1): Add check and extension warning for
	$ edit descriptor.
	* io/format.c (parse_format_list): Set repeat count of $ format
	node to 1.
	* io/transfer.c (read_sf): Add g.seen_dollar to the test
	concerning advancing I/O.
	(data_transfer_init): Likewise.
	(finalize_transfer): Likewise.

From-SVN: r100314
2005-05-29 12:22:49 +00:00
Dorit Naishlos
12bcc2c1d5 re PR tree-optimization/21639 (poisoned ggc memory used for -ftree-vectorize)
PR tree-optimization/21639
        * tree-complex.c (pass_lower_vector_s): Remove TODO_ggc_collect.

From-SVN: r100313
2005-05-29 06:47:08 +00:00
Kazu Hirata
5ff62c2e81 cal.c, [...]: Fix comment typos.
* cal.c, decl.c, init.c, raise.c, trans.c, utils2.c: Fix
	comment typos.
	* gnat_rm.texi, gnat_ugn.texi: Fix typos.

From-SVN: r100312
2005-05-29 03:57:15 +00:00
GCC Administrator
fe21ff2d90 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r100308.2
2005-05-29 00:16:18 +00:00
Mark Mitchell
64b2bdb353 re PR c++/21340 (error in constructor lookup (can't find constructor with "const void**" argument))
PR c++/21340
	* method.c (implicitly_declare_fn): Clear processing_template_decl
	when generating implicit declaration.

	PR c++/21340
	* g++.dg/init/ctor6.C: New test.

From-SVN: r100306
2005-05-29 00:16:05 +00:00
Jan Hubicka
fd44f634fd re PR tree-optimization/21562 (Quiet bad codegen (unrolling + tail call interaction))
PR tree-optimization/21562
	* cfgexpand.c (construct_init_block): Deal properly with the case
	of entry edge not pointing to very first basic block.

From-SVN: r100305
2005-05-28 22:27:04 +00:00
Paolo Carlini
6be8b52474 revert: re PR libstdc++/19495 (basic_string::_M_rep() can produce an unnaturally aligned pointer to _Rep)
2005-05-28  Paolo Carlini  <pcarlini@suse.de>

	Revert:
	2005-05-18  Paolo Carlini  <pcarlini@suse.de>
		    Nathan Myers  <ncm@cantrip.org>

	PR libstdc++/19495
	* include/bits/basic_string.h (_Raw_bytes_alloc): Rebind to
	size_type instead of char and rename to _Raw_alloc.
	* include/bits/basic_string.tcc (_Rep::_M_destroy, _Rep::_S_create):
	Use the above.
	* src/bitmap_allocator.cc: Add instantiation for size_type.
	* src/mt_allocator.cc: Likewise.
	* src/pool_allocator.cc: Likewise.
	* include/ext/array_allocator.h: Tweak slightly, avoid assuming
	the existence of an _Array::begin() and size() members.
	* testsuite/ext/array_allocator/2.cc: Tweak to use an allocator
	of size_type, instead of char, thus avoiding problems with
	rebinds, not treated correctly by array_allocator.

From-SVN: r100304
2005-05-28 21:57:03 +00:00
Kazu Hirata
76b8a7a143 * basic-block.h: Remove forward declaration of bb_ann_d.
From-SVN: r100303
2005-05-28 21:19:59 +00:00
Kazu Hirata
c9784e6d69 Makefile.in (OBJS-common): Add tree-cfgcleanup.o.
* Makefile.in (OBJS-common): Add tree-cfgcleanup.o.
	* tree-flow.h: Add prototypes for start_recording_case_labels
	and end_recording_case_labels.
	* tree-cfg.c (start_recording_case_labels,
	end_recording_case_labels): Export.
	(cleanup_tree_cfg_loop, modified_noreturn_calls,
	cleanup_control_flow, cleanup_control_expr_graph,
	remove_fallthru_edge, phi_alternatives_equal,
	tree_forwarder_block_p, has_abnormal_incoming_edge_p,
	remove_forwarder_block, cleanup_forwarder_blocks,
	remove_forwarder_block_with_phi, merge_phi_nodes,
	gate_merge_phi, pass_merge_phi): Move to ...
	* tree-cfgcleanup.c: ... here.

From-SVN: r100302
2005-05-28 21:09:17 +00:00
Kazu Hirata
7954799503 tree-ssa-ccp.c (ccp_fold): Remove code that produces non-gimple min minvariant.
* tree-ssa-ccp.c (ccp_fold): Remove code that produces
	non-gimple min minvariant.

From-SVN: r100301
2005-05-28 21:03:53 +00:00
Steven G. Kargl
d1aa35ae8e * gfortran.dg/subnormal_1.f90: new test.
From-SVN: r100300
2005-05-28 18:35:20 +00:00
Steven G. Kargl
cd66d1a11b arith.c (gfc_arith_init_1): Fix off by one problem;
* arith.c (gfc_arith_init_1): Fix off by one problem;
  (gfc_check_integer_range): Chop extra bits in subnormal numbers.

From-SVN: r100299
2005-05-28 18:28:31 +00:00
Jan Hubicka
d416304e6d tree-ssa-threadupdate.c: (create_edge_and_update_destination_phis): Update profile.
* tree-ssa-threadupdate.c: (create_edge_and_update_destination_phis):
	Update profile.
	* value-prof.c (tree_divmod_fixed_value_transform): Be more verbose in
	debug output.
	(tree_mod_subtract): Fix profile updating code.
	(tree_divmod_values_to_profile): Do not produce useless value profilers
	for divisions.

	* tree-prof.exp: Fix comment.
	* value-prof-1.c: New.
	* value-prof-2.c: New.
	* value-prof-3.c: New.
	* value-prof-4.c: New.

From-SVN: r100298
2005-05-28 18:03:56 +00:00
Jerry DeLisle
eaef357b0f intrinsic.texi: added documentation for BIT_SIZE, BTEST, CHAR, CEILING and CMPLX
* intrinsic.texi: added documentation for BIT_SIZE, BTEST, CHAR, CEILING
  and CMPLX

Co-Authored-By: Steven G. Kargl <kargls@comcast.net>

From-SVN: r100297
2005-05-28 16:41:31 +00:00
Gabriel Dos Reis
c3f829c1a6 configure.ac: Check declarations for asprintf and vasprintf.
* configure.ac: Check declarations for asprintf and vasprintf.
	* config.in: Regenerate.
	* configure: Likewise.

	* charset.c (conversion_loop): Use XRESIZEVEC.
	(convert_no_conversion): Likewise.
	(convert_using_iconv): Likewise.
	(init_iconv_desc): Cast return value of alloca.
	(cpp_host_to_exec_charset): Use XNEWVEC.
	(emit_numeric_escape): Use XRESIZEVEC.
	(cpp_interpret_string): Use XNEWVEC.
	(cpp_interpret_string): Use XRESIZEVEC.
	(_cpp_interpret_identifier): Cast return value of alloca.
	(_cpp_convert_input): Use XNEWVEC and XRESIZEVEC.
	* directives.c (glue_header_name): Use XNEWVEC and XRESIZEVEC.
	(parse_include): Use XNEWVEC.
	(insert_pragma_entry): Rename local variable "new" to
	"new_entry".
	(save_registered_pragmas): Cast return value of xmemdup.
	(destringize_and_run): Same for alloca.
	(parse_assertion): Likewise.
	(do_assert): Cast allocated storage to proper type.
	(cpp_define): Likewise.
	(_cpp_define_builtin): Likewise.
	(cpp_undef): Likewise.
	(handle_assertion): Likewise.
	(cpp_push_buffer): Rename local variable "new" to "new_buffer".
	* expr.c (CPP_UPLUS): Cast value to type cpp_ttype.
	(CPP_UMINUS): Likewise.
	(struct cpp_operator): Rename from struct operator.
	(_cpp_expand_op_stack): Use XRESIZEVEC.
	* files.c (pch_open_file): Use XNEWVEC.
	(pch_open_file): Use XRESIZEVEC.
	(read_file_guts): Use XNEWVEC and XRESIZEVEC.
	(dir_name_of_file): Use XNEWVEC.
	(make_cpp_file): Use XCNEW.
	(make_cpp_dir): Likewise.
	(allocate_file_hash_entries): USE XNEWVEC.
	(cpp_included): Cast return value of htab_find_with_hash.
	(append_file_to_dir): Use XNEWVEC.
	(read_filename_string): Likewise. Use XRESIZEVEC too.
	(read_name_map): Cast return value of alloca.  Use XRESIZEVEC.
	(remap_filename): Use XNEWVEC.
	(struct pchf_entry): Move definition out of struct pchf_data.
	(_cpp_save_file_entries): Use XCNEWVAR.
	(_cpp_read_file_entries): Use XNEWVAR.
	* identifiers.c (alloc_node): Use XOBNEW.
	* init.c (cpp_create_reader): Use XCNEW.
	(cpp_init_builtins): Cast of b->value to enum builtin_type.
	(read_original_directory): Cast return value of alloca.
	* lex.c (add_line_note): Use XRESIZEVEC.
	(warn_about_normalization): Use XNEWVEC.
	(_cpp_lex_direct): Cast node->directive_index to (enum cpp_ttype).
	(new_buff): Use XNEWVEC.
	* line-map.c (linemap_add): Use XRESIZEVEC.
	* macro.c (builtin_macro): Cast return value of alloca.
	(paste_tokens): Likewise.
	(expand_arg): Use XNEWVEC and XRESIZEVEC.
	(_cpp_save_parameter): Use XRESIZEVEC.
	(create_iso_definition): Cast allocated storage to proper type.
	(_cpp_create_definition): Likewise.
	(cpp_macro_definition): Use XRESIZEVEC.
	* makedepend.c (add_clm): Use XNEW.
	(add_dir): Likewise.
	* mkdeps.c (munge): Use XNEWVEC.
	(deps_init): Use XCNEW.
	(deps_add_target): Use XRESIZEVEC.
	(deps_add_default_target): Cast return value of alloca.
	(deps_add_dep): Use XRESIZEVEC.
	(deps_add_vpath): Likewise.  Use XNEWVEC too.
	(deps_restore): Likewise.
	* pch.c (save_idents): Use XNEW and XNEWVEC.
	(cpp_save_state): Use XNEW.
	(count_defs): Cast return value of htab_find.
	(write_defs): Likewise.
	(cpp_write_pch_deps): Use XNEWVEC.
	(collect_ht_nodes): Use XRESIZEVEC.
	(cpp_valid_state): Use XNEWVEC.
	(save_macros): Use XRESIZEVEC.  Cast return value of xmemdup.
	* symtab.c (ht_create): Use XCNEW.
	(ht_lookup_with_hash): Cast return value of obstack_copy0.
	(ht_expand): Use XCNEWVEC.
	* system.h (HAVE_DESIGNATED_INITIALIZERS): False if __cplusplus.
	(bool): Do not define if __cplusplus.

From-SVN: r100295
2005-05-28 15:52:48 +00:00
Kazu Hirata
426357eacc tree-inline.c (cfun_stack): Change the type to VEC(function_p,heap).
* tree-inline.c (cfun_stack): Change the type to
	VEC(function_p,heap).
	(push_cfun, pop_cfun): Use VEC instead of VARRAY.

From-SVN: r100294
2005-05-28 15:43:14 +00:00
Kazu Hirata
8184759dbc tree-ssa-dom.c (vrp_element_p): Define.
* tree-ssa-dom.c (vrp_element_p): Define.
	(vrp_hash_elt): Change the type of records to
	VEC(vrp_element_p,heap).
	(vrp_free): New.
	(tree_ssa_dominator_optimize): Pass vrp_free to htab_create.
	Update uses of VRP records.
	(simplify_cond_and_lookup_avail_expr, record_range): Update
	uses of VRP records.

From-SVN: r100293
2005-05-28 15:30:22 +00:00
Eli Zaretskii
ddcf783b59 libiberty.h: (snprintf) [!HAVE_DECL_SNPRINTF]: Declare if needed.
include:
2005-05-28  Eli Zaretskii  <eliz@gnu.org>

	* libiberty.h: (snprintf) [!HAVE_DECL_SNPRINTF]: Declare if
	needed.
	(vsnprintf) [!HAVE_DECL_VSNPRINTF]: Declare if needed.

libiberty:
2005-05-28  Eli Zaretskii  <eliz@gnu.org>

	* configure.ac: Add snprintf and vsnprintf to AC_CHEK_DECLS.
	* config.in, configure: Regenerate.

From-SVN: r100292
2005-05-28 13:40:59 +02:00
Mark Mitchell
81ae598bbd re PR c++/21614 (wrong code when calling member function of undefined class)
PR c++/21614
	* typeck.c (get_member_function_from_ptrfunc): Do not attempt
	conversions to base classes of incomplete types.

	PR c++/21614
	* g++.dg/expr/ptrmem6.C: New test.
	* g++.dg/expr/ptrmem6a.C: Likewise.

From-SVN: r100291
2005-05-28 02:21:30 +00:00
Ian Lance Taylor
ed3d0b1412 c-decl.c (add_stmt): Add C frontend specific version.
./:	* c-decl.c (add_stmt): Add C frontend specific version.
	(stmts_are_full_exprs_p): Remove.
	* c-common.h (STMT_IS_FULL_EXPR_P): Remove.
	(stmts_are_full_exprs_p): Don't declare.
	* c-semantics.c (add_stmt): Remove.
cp/:
	* semantics.c (add_stmt): Add C++ frontend specific version.
	* cp-tree.h (STMT_IS_FULL_EXPR_P): Define.
	(stmts_are_full_exprs_p): Declare.

From-SVN: r100289
2005-05-28 01:38:11 +00:00
GCC Administrator
5d336d6dc0 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r100287.2
2005-05-28 00:16:18 +00:00
Roger Sayle
392e3d5102 cp-tree.def (UNARY_PLUS_EXPR): New C++ unary tree code.
* cp-tree.def (UNARY_PLUS_EXPR): New C++ unary tree code.
	* parser.c (cp_parser_unary_expression): Use UNARY_PLUS_EXPR instead
	of CONVERT_EXPR.
	(cp_parser_unary_expression): Likewise.
	* typeck.c (build_unary_op): Likewise.
	* call.c (add_builtin_candidate, build_new_op): Likewise.
	* error.c (dump_expr): Likewise.
	* pt.c (tsubst_copy, tsubst_copy_and_build): Likewise.
	* decl.c (ambi_op_p, grok_op_properties): Likewise.
	* dump.c (dump_op): Likewise.
	* lex.c (init_operators): Likewise.
	* operators.def ("+"): Likewise.
	* cp-gimplify.c (cp_gimplify_expr): Handle UNARY_PLUS_EXPR like a
	conversion, if the result and argument types differ.
	* tree.c (fold_if_not_in_template): Fold UNARY_PLUS_EXPR much
	like a NOP_EXPR when !processing_template_decl.

	* cxx-pretty-print.c (pp_cxx_cast_expression): Prototype.
	(pp_cxx_unary_expression): Handle new UNARY_PLUS_EXPR tree code.

Co-Authored-By: Giovanni Bajo <giovannibajo@gcc.gnu.org>

From-SVN: r100285
2005-05-27 23:17:21 +00:00
Kaveh R. Ghazi
99a3237ac3 mips-protos.h (mips_declare_object): Add printf attribute.
* config/mips/mips-protos.h (mips_declare_object): Add printf
	attribute.
	* config/mips/mips.c (mips_declare_object_name): Fix format
	argument.

From-SVN: r100284
2005-05-27 23:08:31 +00:00
Roger Sayle
1c320f82ab reg-stack.c (compensate_edge): Remove original prototype.
* reg-stack.c (compensate_edge): Remove original prototype.
	(propagate_stack): New function to copy the stack layout
	at the start of a basic block from the layout at the end of
	one of its predecessors.
	(compensate_edge): Assume that both source and destination
	blocks have already had their stack layouts defined.
	(compensate_edges): Traverse all non-entry edges in the CFG
	and call compensate_edge on each in turn.
	(convert_regs_1): Change return type to void.  Call
	propagate_stack instead of compensate_edge.
	(convert_regs_2): Change return type to void.  Update call
	to convert_regs_1 to ignore the (now void) return value.
	(convert_regs): Update calls to convert_regs_2 to ignore
	the (now void) return value.  After all the basic blocks have
	been processed, call compensate_edges to actually emit new
	insns.
	(reg_to_stack): Initialize the aux info for each basic block
	with FOR_EACH_BB instead of which FOR_EACH_BB_REVERSE.

From-SVN: r100283
2005-05-27 22:57:39 +00:00
Jan Hubicka
b59fa6cf91 except.c (can_throw_internal_1, [...]): Add "is_resx" argument.
* except.c (can_throw_internal_1, can_throw_external_1): Add
	"is_resx" argument.
	(can_throw_external, can_throw_internal): Bring into sync wrt
	dealing resx.
	* except.h (can_throw_internal_1, can_throw_external_1): Update
	prototype.
	* tree-eh.c (tree_can_throw_internal, tree_can_throw_external):
	Deal properly with resx.

From-SVN: r100282
2005-05-27 22:50:41 +00:00
Kazu Hirata
ea497bb84c domwalk.c (walk_dominator_tree, [...]): Use VEC instead of VARRAY.
* domwalk.c (walk_dominator_tree, init_walk_dominator_tree,
	fini_walk_dominator_tree): Use VEC instead of VARRAY.
	* domwalk.h (dom_walk_data): Change the type of
	block_data_stack and free_block_data to VEC(void_p,heap)*.
	* tree-ssa-dse.c (dse_initialize_block_local_data,
	dse_optimize_stmt, dse_record_phis, dse_finalize_block): Use
	VEC instead of VARRAY.

From-SVN: r100281
2005-05-27 22:43:05 +00:00
Kazu Hirata
4aab792de6 basic-block.h (basic_block_def): Add phi_nodes and predictions.
* basic-block.h (basic_block_def): Add phi_nodes and
	predictions.  Remove tree_annotations.
	* predict.c (tree_predicted_by_p, tree_predict_edge,
	combine_predictions_for_bb): Adjust references to predictions.
	* tree-cfg.c (init_empty_tree_cfg, create_bb): Don't call
	create_block_annotation.
	(create_block_annotation, free_blocks_annotatios,
	clear_blocks_annotations): Remove.
	(dump_cfg_stats): Don't print out the memory spent on
	bb_ann_d.
	(delete_tree_cfg_annotations): Don't call free_blocks_annotations.
	* tree-flow-inline.h (bb_ann): Remove.
	(phi_nodes, set_phi_nodes): Update references to phi_nodes.
	* tree-flow.h (bb_ann_d): Remove.
	* tree-if-conv.c (process_phi_nodes): Update a reference to
	phi_nodes.
	* tree-phinodes.c (reserve_phi_args_for_new_edge,
	create_phi_node, remove_phi_node): Likewise.
	* tree-pretty-print.c (dump_generic_bb_buff): Don't call bb_ann.
	* tree-ssa-dom.c (threaded_blocks): New.
	(tree_ssa_dominator_optimize): Initialize, clear, and free
	threaded_blocks. Update a call to thread_through_all_blocks.
	(thread_across_edge): Use threaded_blocks instead of setting
	incoming_edge_threaded.
	* tree-ssa-threadupdate.c (threaded_through_all_blocks): Take
	a bitmap of blocks that are threaded through.
	* tree.h: Move the prototype of threaded_through_blocks to
	tree-flow.h.

From-SVN: r100279
2005-05-27 22:06:46 +00:00
Paolo Carlini
8dabce9822 abi.html: Mention 3.4.0 as the current baseline; add a notice about the configure options.
2005-05-27  Paolo Carlini  <pcarlini@suse.de>

	* docs/html/abi.html: Mention 3.4.0 as the current baseline; add
	a notice about the configure options.

From-SVN: r100277
2005-05-27 21:27:48 +00:00
Jan Hubicka
e0704a46ca cgraph.c: Include tree-gimple.h
* cgraph.c: Include tree-gimple.h
	(cgraph_edge): Rename expr to stmt.
	(cgraph_create_edge): Likewise.
	(cgraph_clone_node): Likewise.
	* cgraph.h (cgraph_node): Use call_stmt instead of call_expr.
	* cgraphunit.c (record_call_1): Rename to ...
	(record_reference): ... this one; do not build edges.
	(cgraph_varpool_analyze_pending_decls): Call record_reference directly.
	(current_basic_block): Kill.
	(cgraph_create_edges): Rewrite to work on gimple statements nicely.
	(verify_cgraph_node): Likewise.
	* tree-inline.c (copy_body_r): Do not mess up with cgraph edges.
	(copy_bb): Mess up with cgraph edges here; simplify EH handling.
	(copy_edges_for_bb): Simplify EH handling.
	(expand_call_inline): Pass statement to cgraph_edge and
	cgraph_create_edge.

From-SVN: r100276
2005-05-27 21:17:51 +00:00
Ziga Mahkovec
0ff90076bf ChangeLog: Fix typo.
2005-05-27  Ziga Mahkovec  <ziga.mahkovec@klika.si>

	* ChangeLog: Fix typo.

From-SVN: r100275
2005-05-27 21:12:18 +00:00
Ziga Mahkovec
585b3aa313 MAINTAINERS (Write After Approval): Add self.
2005-05-27  Ziga Mahkovec  <ziga.mahkovec@klika.si>

	* MAINTAINERS (Write After Approval): Add self.

From-SVN: r100274
2005-05-27 20:35:35 +00:00
Benjamin Kosnik
40ffde5201 re PR libstdc++/21674 (basic_string vs debug_mode)
2005-05-27  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/21674
        * include/bits/c++config: Remove extern template use when in debug
        mode, disable for non-weak systems.

From-SVN: r100273
2005-05-27 19:19:45 +00:00
Thomas Koenig
f827a7d0f3 in_pack_generic.c: Adjust copyright years.
2005-05-27  Thomas Koenig  <Thomas.Koenig@online.de>

        * runtime/in_pack_generic.c:  Adjust copyright years.
        (in_pack_generic):  Change dimension of auxiliary arrays from
        GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
        * runtime/in_unpack_generic.c:  Adjust copyright years.
        (in_unpack_generic):  Change dimension of auxiliary arrays from
        GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.

From-SVN: r100271
2005-05-27 19:00:50 +00:00
Steven G. Kargl
4c1dd580b3 trans-array.c (gfc_trans_deferred_array): Use build_int_cst to force like types in comparsion.
* trans-array.c (gfc_trans_deferred_array): Use build_int_cst to force
  like types in comparsion.

From-SVN: r100269
2005-05-27 18:20:52 +00:00
Richard Guenther
30d2e94365 [multiple changes]
2005-05-18  Richard Guenther  <rguenth@gcc.gnu.org>

        * tree-inline.c (copy_body_r): Manually fold *& to deal
        with ADDR_EXPRs with mismatched types for now.

2005-05-17  Richard Guenther  <rguenth@gcc.gnu.org>

        * gimplify.c (fold_indirect_ref_rhs): New function.
        (gimplify_modify_expr_rhs): Use it instead of pessimistic
        fold_indirect_ref.

2005-05-15  Richard Guenther  <rguenth@gcc.gnu.org>

        * fold-const.c (fold_indirect_ref_1): Add type argument;
        make sure the resulting expression is of this type.
        (build_fold_indirect_ref, fold_indirect_ref): Adjust callers.

From-SVN: r100267
2005-05-27 11:23:30 -06:00
Kazu Hirata
46aad78f22 re PR tree-optimization/21658 (CCP does not propagate ADDR_EXPR far enough.)
gcc/
	PR tree-optimization/21658
	* tree-ssa-ccp.c (ccp_fold): Call fold_binary instead of
	fold_binary_to_constant.  Likewise, call fold_unary instead of
	fold_unary_to_constant.

testsuite/
	PR tree-optimization/21658
	* gcc.dg/tree-ssa/pr21658.c: New.

From-SVN: r100266
2005-05-27 16:31:29 +00:00
Mark Mitchell
8b60fb432a test.html: Mention PCH_CXXFLAGS.
* docs/html/test.html: Mention PCH_CXXFLAGS.
	* testsuite/lib/libstdc++.exp: Set PCH_CXXFLAGS by probing for an
	available stcd++.h PCH.
	* testsuite/libstdc++-dg/normal.exp: Use PCH_CXXFLAGS.

From-SVN: r100264
2005-05-27 16:24:59 +00:00
Theodore Papadopoulo
c71e3d020e misc-inst.cc: Remove unnecessary included files.
2005-05-27  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>

	* src/misc-inst.cc: Remove unnecessary included files.

From-SVN: r100263
2005-05-27 16:22:54 +00:00
Benjamin Kosnik
94afef7bac c++config: Remove extern template use when in debug mode, disable for non-weak systems.
2005-05-27  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Remove extern template use when in debug
	mode, disable for non-weak systems.

From-SVN: r100261
2005-05-27 16:09:15 +00:00
Nathan Sidwell
f879d298f4 re PR c++/21455 (type 'X' is not a base type for type 'X' in pointer to member conversion)
cp:
	PR c++/21455
	* typeck.c (get_delta_difference): Cope with incomplete but equal
	classes.  Reorder if.
testsuite:
	PR c++/21455
	* g++.dg/inherit/ptrmem3.C: New.

From-SVN: r100258
2005-05-27 15:50:26 +00:00
Benjamin Kosnik
d2763ab5f1 re PR libstdc++/20534 (Erroneous #include of <cassert>)
2005-05-27  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/20534
	* include/debug/debug.h: Forwarding header, that pulls in details
	only if in debug mode.
	* include/debug/macros.h: ...transfer all the internal macros here.
	* include/debug/functions.h: ...transfer all the functions here.
	* include/debug/safe_iterator.h: Add functions.h, macros.h includes.
	* include/debug/safe_sequence.h: Same.
	* include/debug/vector: Tweak.
	* include/Makefile.am (debug_headers): Add new includes.
	* include/Makefile.in: Regenerate.
	* testsuite/17_intro/no_assert_neg.cc: Add.

	* include/ext/hash_set: Add debug mode include.
	* include/ext/hash_map: Same.
	* include/debug/hash_map: Fix included files to match actual files.
	* include/debug/hash_set: Same.

From-SVN: r100255
2005-05-27 15:01:45 +00:00
Nathan Sidwell
2d63754709 re PR c++/21681 (ICE with nested types in template)
cp:
	PR c++/21681
	* parser.c (cp_parser_late_parsing_for_member): Disable access
	checking for template functions.
testsuite:
	PR c++/21681
	* g++.dg/parse/template16.C: New.

From-SVN: r100252
2005-05-27 14:23:47 +00:00
Nathan Sidwell
a0ef884f73 vec.h: Implement integral type vector specialization.
* vec.h: Implement integral type vector specialization.
	(VEC_T): Define a non-GTY structure.
	(VEC_T_GTY): Define a GTY structure.
	(VEC_TA): Rename to ...
	(VEC_TA_GTY): ... here.
	(DEF_VEC_I, DEF_VEC_ALLOC_I): New.
	(DEF_VEC_P, DEF_VEC_ALLOC_P): Adjust.
	(DEF_VEC_FUNC_P, DEF_VEC_ALLOC_FUNC_P): New, broken out of
	DEF_VEC_P and DEF_VEC_ALLOC_P.
	(DEF_VEC_O, DEF_VEC_ALLOC_O): Adjust.
	(DEF_VEC_FUNC_O, DEF_VEC_ALLOC_FUNC_O): New, broken out of
	DEF_VEC_O and DEF_VEC_ALLOC_O.
	* global.c: Use DEF_VEC_I, DEF_VEC_ALLOC_I.
	* lambda-code.c: Likewise.
	* tree-into-ssa.c: Likewise.
	* tree-ssa-live.c: Likewise.

From-SVN: r100251
2005-05-27 13:26:02 +00:00
Kazu Hirata
6e3b9e2787 tree-into-ssa.c (update_ssa): Ensure that the operand cache is up-to-date.
* tree-into-ssa.c (update_ssa): Ensure that the operand cache
	is up-to-date.
	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Call
	update_stmt_if_modified before calling update_ssa.

From-SVN: r100250
2005-05-27 11:55:36 +00:00
Ralf Corsepius
fb617f00f1 t-rtems: Remove roe multilib variant.
2005-05-27  Ralf Corsepius  <ralf.corsepius@rtems.org>

	* config/rs6000/t-rtems: Remove roe multilib variant.

From-SVN: r100249
2005-05-27 09:54:06 +02:00
Andreas Jaeger
c23c7d8954 * gcc.dg/setjmp-2.c: Only run in 32-bit.
From-SVN: r100248
2005-05-27 08:13:54 +02:00
Ranjit Mathew
cd8394dd97 Correct Martin Loewis's last name ("oe" was "o" with umlaut) mangled by
my editor in the previous commit.

From-SVN: r100247
2005-05-27 05:22:05 +00:00