1. 08 Mar, 2010 8 commits
    • graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify and clean up the logic. · bd7742f8
      Cleanup.
      
      2010-02-23  Sebastian Pop  <sebastian.pop@amd.com>
      
      	* graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
      	and clean up the logic.
      
      From-SVN: r157279
      Sebastian Pop committed
    • Add constraints on the type of parameters to the scop context. · 733ff09d
      2010-02-23  Sebastian Pop  <sebastian.pop@amd.com>
      
      	* graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
      	early return.
      
      From-SVN: r157278
      Sebastian Pop committed
    • var-tracking.c (remove_cselib_value_chains): Define only for ENABLE_CHECKING. · 1feb8238
      	* var-tracking.c (remove_cselib_value_chains): Define only for
      	ENABLE_CHECKING.
      	(dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
      	delete_slot_part, emit_notes_for_differences_1): Don't call
      	remove_cselib_value_chains here.
      	(set_slot_part, emit_notes_for_differences_2): Don't call
      	add_cselib_value_chains here.
      	(preserved_values): New vector.
      	(preserve_value): New function.
      	(add_uses, add_stores, vt_add_function_parameters): Use it
      	instead of cselib_preserve_value.
      	(changed_values_stack): New vector.
      	(check_changed_vars_0): New function.
      	(check_changed_vars_1, check_changed_vars_2): Use it.
      	(emit_notes_for_changes): Call set_dv_changed (*, false) on all
      	changed_values_stack VALUEs.
      	(vt_emit_notes): For all preserved_values call
      	add_cselib_value_chains.  If ENABLE_CHECKING call
      	remove_cselib_value_chains before verifying value_chains is empty.
      	Initialize and free changed_values_stack.
      	(vt_initialize): Initialize preserved_values.
      	(vt_finalize): Free preserved_values.
      
      From-SVN: r157277
      Jakub Jelinek committed
    • re PR tree-optimization/43269 (removing non dead store) · cc788fcc
      2010-03-08  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/43269
      	* tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
      	region detection.
      
      	* gcc.c-torture/execute/pr43269.c: New testcase.
      
      From-SVN: r157276
      Richard Guenther committed
    • ipa-prop.h (struct ipa_param_descriptor): Removed the called field. · 69c103c7
      2010-03-08  Martin Jambor  <mjambor@suse.cz>
      
      	* ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
      	(ipa_is_param_called): Removed.
      	* ipa-prop.c (ipa_note_param_call): Do not set the called flag.
      	(ipa_print_node_params): Do not print the called flag.
      	(ipa_write_node_info): Do not stream the called flag.
      	(ipa_read_node_info): Likewise.
      
      From-SVN: r157273
      Martin Jambor committed
    • re PR fortran/43256 ([OOP] TBP with missing optional arg) · b3d286ba
      2010-03-08  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/43256
      	* resolve.c (resolve_compcall): Don't set 'value.function.name' here
      	for TBPs, otherwise they will not be resolved properly.
      	(resolve_function): Use 'value.function.esym' instead of
              'value.function.name' to check if we're dealing with a TBP.
      	(check_class_members): Set correct type of passed object for all TBPs,
      	not only generic ones, except if the type is abstract.
      
      
      2010-03-08  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/43256
      	* gfortran.dg/typebound_call_13.f03: New.
      
      From-SVN: r157272
      Janus Weil committed
    • libgfortran.h (_POSIX): Define if __MINGW32__ is defined. · 196c8bc8
      2010-03-08  Kai TIetz  <kai.tietz@onevision.com>
      
              PR/42950
              * libgfortran.h (_POSIX): Define if __MINGW32__ is defined.
              (gfc_printf): Define to gnu_printf for __MINGW32__ case,
              otherwise to __printf__.
              (gfc_strtof,gfc_strtod,gfc_strtold): Define for mingw case
              to POSIX compatible converter functions.
              (runtime_error): Use instead gfc_printf as formatter
              attribute name.
              (runtime_error_at): Likewise.
              (runtime_warning_at): Likewise.
              (st_printf): Likewise.
              * intrinsics/date_and_time.c (localtime_r): Undefine
              possible defined macro.
              (gmtime_r): Likewise.
              * io/read.c (convert_real): Use gfc_strtof, gfc_strtod,
              and gfc_strtold.
      
      From-SVN: r157271
      Kai Tietz committed
    • Daily bump. · 4bdd4fc0
      From-SVN: r157269
      GCC Administrator committed
  2. 07 Mar, 2010 3 commits
    • re PR debug/43176 (var-tracking fails to notice a value change) · 864ddef7
      	PR debug/43176
      	* Makefile.in (var-tracking.o): Depend on pointer-set.h.
      	* cselib.c (struct expand_value_data): Add dummy field.
      	(cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
      	dummy to false.
      	(cselib_dummy_expand_value_rtx_cb): New function.
      	(cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
      	any rtl.
      	* cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
      	* var-tracking.c: Include pointer-set.h.
      	(variable): Change n_var_parts to char from int.  Add
      	cur_loc_changed and in_changed_variables fields.
      	(variable_canonicalize): Remove.
      	(shared_var_p): New inline function.
      	(unshare_variable): Maintain cur_loc_changed and
      	in_changed_variables fields.  If var was in changed_variables,
      	replace it there with new_var.  Just copy cur_loc instead of
      	resetting it to something else.
      	(variable_union): Don't recompute cur_loc.  Use shared_var_p.
      	(dataflow_set_union): Don't call variable_canonicalize.
      	(loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
      	of their DEBUG_EXPR_TREE_DECLs.
      	(canonicalize_loc_order_check): Verify that cur_loc is NULL
      	and in_changed_variables and cur_loc_changed is false.
      	(variable_merge_over_cur): Clear cur_loc, in_changed_variables
      	and cur_loc_changed.  Don't update cur_loc here.
      	(variable_merge_over_src): Don't call variable_canonicalize.
      	(dataflow_set_preserve_mem_locs): Use shared_var_p.  When
      	removing loc that is equal to cur_loc, clear cur_loc,
      	set cur_loc_changed and ensure variable_was_changed is called.
      	(dataflow_set_remove_mem_locs): Use shared_var_p.  Only
      	compare pointers in cur_loc check, if it is equal to loc,
      	clear cur_loc and set cur_loc_changed.  Don't recompute cur_loc here.
      	(variable_different_p): Remove compare_current_location argument,
      	don't compare cur_loc.
      	(dataflow_set_different_1): Adjust variable_different_p caller.
      	(variable_was_changed): If dv had some var in changed_variables
      	already, reset in_changed_variables flag for it and propagate
      	cur_loc_changed over to the new variable.  On empty var
      	always set cur_loc_changed.  Set in_changed_variables on whatever
      	var is added to changed_variables.
      	(set_slot_part): Clear cur_loc_changed and in_changed_variables.
      	Use shared_var_p.  When removing loc that is equal to cur_loc,
      	clear cur_loc and set cur_loc_changed.  If cur_loc is NULL at the
      	end, don't set it to something else, just call variable_was_changed.
      	(delete_slot_part): Use shared_var_p.  When cur_loc equals to
      	loc being removed, clear cur_loc and set cur_loc_changed.
      	Set cur_loc_changed if all locations have been removed.
      	(struct expand_loc_callback_data): New type.
      	(vt_expand_loc_callback): Add dummy mode in which no rtxes are
      	allocated.  Always create SUBREGs if simplify_subreg failed.
      	Prefer to use cur_loc, when that fails and still in
      	changed_variables (and seen first time) recompute it.  Set
      	cur_loc_changed of variables which had to change cur_loc and
      	compute elcd->cur_loc_changed if any of the subexpressions used
      	had to change cur_loc.
      	(vt_expand_loc): Adjust to pass arguments in
      	expand_loc_callback_data structure.
      	(vt_expand_loc_dummy): New function.
      	(emitted_notes): New variable.
      	(emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
      	that weren't used for any other decl in current
      	emit_notes_for_changes call call vt_expand_loc_dummy to update
      	cur_loc.  For -fno-var-tracking-assignments, set cur_loc to
      	first loc_chain location if NULL before.  Always use just
      	cur_loc instead of first loc_chain location.  When cur_loc_changed
      	is false, when not --enable-checking=rtl just don't emit any note.
      	When rtl checking, compute the note and assert it is the same
      	as previous note.  Clear cur_loc_changed and in_changed_variables
      	at the end before removing from changed_variables.
      	(check_changed_vars_3): New function.
      	(emit_notes_for_changes): Traverse changed_vars to call
      	check_changed_vars_3 on each changed var.
      	(emit_notes_for_differences_1): Clear cur_loc_changed and
      	in_changed_variables.  Recompute cur_loc of new_var.
      	(emit_notes_for_differences_2): Clear cur_loc if new variable
      	appears.
      	(vt_emit_notes): Initialize and destroy emitted_notes.
      
      From-SVN: r157264
      Jakub Jelinek committed
    • re PR middle-end/42220 (FAIL: gfortran.dg/complex_intrinsic_5.f90 -m64 -O -frename-registers) · c4137918
      	PR rtl-optimization/42220
      	* regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
      	Use verify_reg_tracked to determine if we should use OP_OUT rather
      	than OP_INOUT.
      	(build_def_use): If we see an in-out operand for a register that we
      	know nothing about, treat is an output if possible, fail the block if
      	not.
      
      From-SVN: r157263
      Bernd Schmidt committed
    • Daily bump. · f7cf1ce0
      From-SVN: r157262
      GCC Administrator committed
  3. 06 Mar, 2010 4 commits
  4. 05 Mar, 2010 6 commits
    • Makefile.in (PLUGINCC, [...]): New variables. · eeb971c9
      	* Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
      	(site.exp): Export them when plugins are enabled.
      testsuite/
      	* lib/plugin-support.exp (plugin-test-execute): Use PLUGINCC in lieu
      	of HOSTCC and PLUGINCFLAGS in lieu of HOSTCFLAGS.
      
      From-SVN: r157246
      Eric Botcazou committed
    • mangle.c (mangle_decl): Give name collision error even without ASM_OUTPUT_DEF. · 1b88f240
      	* mangle.c (mangle_decl): Give name collision error even without
      	ASM_OUTPUT_DEF.
      	* g++.dg/abi/mangle40.C: Require weak and alias.
      
      From-SVN: r157245
      Jason Merrill committed
    • Fix PR42326: Handle more carefully convert expressions in chrec_fold_plus and chrec_fold_mult. · ccc5b640
      2010-03-05  Sebastian Pop  <sebastian.pop@amd.com>
      
      	PR middle-end/42326
      	* tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
      	that contain scevs.
      	(chrec_fold_multiply): Same.
      
      	* gfortran.dg/graphite/pr42326.f90: New.
      	* gfortran.dg/graphite/pr42326-1.f90: New.
      
      From-SVN: r157244
      Sebastian Pop committed
    • gnat.exp (gnat_init): Remove GNAT_UNDER_TEST_ORIG. · 576e4d82
      	* lib/gnat.exp (gnat_init): Remove GNAT_UNDER_TEST_ORIG.
      	(gnat_target_compile): Likewise.
      	Reinitialize GNAT_UNDER_TEST if target changes.
      	Set ADA_INCLUDE_PATH, ADA_OBJECTS_PATH in environment.
      	(local_find_gnatmake): Pass full --GCC to gnatlink.
      	Remove --LINK.
      
      From-SVN: r157240
      Rainer Orth committed
    • testsuite_container_traits.h (traits_base): Add has_throwing_erase trait. · 714902c8
      2010-03-04  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* testsuite/util/testsuite_container_traits.h (traits_base): Add
      	has_throwing_erase trait.
      	(traits<vector>, traits<deque>): Typedef the latter to true_type.
      	* testsuite/util/exception/safety.h (generation_prohibited):
      	Do not test vector::erase and deque::erase: can throw if
      	either copy constructor or assignment operator of value_type
      	throws.
      	* testsuite/23_containers/vector/requirements/exception/
      	generation_prohibited.cc: Remove xfail.
      	* testsuite/23_containers/deque/requirements/exception/
      	generation_prohibited.cc: Likewise.
      
      	* include/ext/throw_allocator.h (hash<__gnu_cxx::throw_value_limit>::
      	operator(), hash<__gnu_cxx::throw_value_random>::operator()): Pass
      	argument by const ref.
      
      	* testsuite/util/testsuite_container_traits.h (traits<map>,
      	traits<multimap>, traits<set>, traits<multiset>,
      	traits<unordered_map>, traits<unordered_multimap>,
      	traits<unordered_set>, traits<unordered_multiset>): Typedef
      	consistently has_erase and has_insert as true_type.
      
      	* testsuite/util/testsuite_container_traits.h
      	(traits<unordered_map>, traits<unordered_multimap>,
      	traits<unordered_set>, traits<unordered_multiset>): Do not wrongly
      	typedef has_size_type_constructor as true_type: the constructor
      	accepting a size_type actually gets the initial number of
      	buckets.
      
      From-SVN: r157239
      Paolo Carlini committed
    • Daily bump. · 630e6f1b
      From-SVN: r157236
      GCC Administrator committed
  5. 04 Mar, 2010 12 commits
  6. 03 Mar, 2010 7 commits
    • re PR middle-end/32693 ([H8] : ICE: in gen_rtx_SUBREG, at emit-rtl.c:693) · d8a60d24
      	* PR middle-end/32693
      	* expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
      	than gen_rtx_SUBREG.
      	(extract_bit_field_1): Likewise.
      
      From-SVN: r157207
      Jeff Law committed
    • sourcebuild.texi (Test directives): Document that arguments include-opts and… · 8ec49cff
      sourcebuild.texi (Test directives): Document that arguments include-opts and exclude-opts are now optional for...
      
      	* doc/sourcebuild.texi (Test directives): Document that arguments
      	include-opts and exclude-opts are now optional for dg-skip-if,
      	dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
      
      	* lib/target-supports-dg.exp (check-flags): Provide defaults for
      	include-opts and exclude-opts; skip checking the flags if arguments
      	are the same as the defaults.
      	(dg-xfail-if): Verify the number of arguments, supply defaults
      	for unspecified optional arguments.
      	(dg-skip-if, dg-xfail-run-if): Verify the number of arguments.
      
      From-SVN: r157206
      Janis Johnson committed
    • mangle19-1.C: Adjust for default -Wabi. · a84713ad
      	* g++.dg/abi/mangle19-1.C: Adjust for default -Wabi.
      	* g++.dg/abi/mangle23.C: Likewise.
      	* g++.dg/eh/simd-2.C: Likewise.
      	* g++.dg/ext/attribute-test-2.C: Likewise.
      	* g++.dg/ext/vector14.C: Likewise.
      	* g++.dg/other/pr34435.C: Likewise.
      	* g++.dg/template/conv8.C: Likewise.
      	* g++.dg/template/nontype9.C: Likewise.
      	* g++.dg/template/qualttp17.C: Likewise.
      	* g++.dg/template/ref1.C: Likewise.
      	* g++.old-deja/g++.pt/crash68.C: Likewise.
      	* g++.old-deja/g++.pt/ref1.C: Likewise.
      	* g++.old-deja/g++.pt/ref3.C: Likewise.
      	* g++.old-deja/g++.pt/ref4.C: Likewise.
      
      From-SVN: r157205
      Jason Merrill committed
    • re PR c++/12909 (ambiguity in mangling vector types) · 1d5053d6
      	PR c++/12909
      	* lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
      	* lto-streamer-in.c (lto_input_tree): Read it.
      	* lto-streamer-out.c (output_unreferenced_globals): Write it.
      
      From-SVN: r157204
      Jason Merrill committed
    • re PR c++/12909 (ambiguity in mangling vector types) · 2c71ac78
      	PR c++/12909
      	* cgraph.h (varpool_node): Add extra_name field.
      	* varpool.c (varpool_extra_name_alias): New.
      	(varpool_assemble_decl): Emit extra name aliases.
      	(varpool_mark_needed_node): Look past an extra name alias.
      cp/
      	* mangle.c (mangle_decl): Handle VAR_DECL, too.
      
      From-SVN: r157203
      Jason Merrill committed
    • re PR c++/12909 (ambiguity in mangling vector types) · d6dcdbd5
      	PR c++/12909
      	* method.c (make_alias_for): Handle VAR_DECL, too.
      	* decl2.c (vague_linkage_p): Rename from vague_linkage_fn_p.
      	* tree.c (no_linkage_check): Adjust.
      	* decl.c (maybe_commonize_var): Adjust.
      	* mangle.c (mangle_decl): Adjust.
      	* cp-tree.h: Adjust.
      
      From-SVN: r157202
      Jason Merrill committed
    • re PR c++/12909 (ambiguity in mangling vector types) · 58a15cf8
      	PR c++/12909
      	* mangle.c: Include cgraph.h.
      	(mangle_decl): If the mangled name will change in a later
      	ABI version, make the later mangled name an alias.
      	* method.c (make_alias_for): Copy DECL_ARGUMENTS.
      	* Make-lang.in (mangle.o): Depend on cgraph.h.
      
      From-SVN: r157201
      Jason Merrill committed