gcc.git
13 years agoconfig.gcc (i[34567]86-*-linux*): Set default_gnu_indirect_function to yes.
Uros Bizjak [Fri, 22 Jul 2011 15:21:57 +0000 (17:21 +0200)]
config.gcc (i[34567]86-*-linux*): Set default_gnu_indirect_function to yes.

* config.gcc (i[34567]86-*-linux*): Set
default_gnu_indirect_function to yes.

From-SVN: r176628

13 years agofragment.am (CONFIG_CXXFLAGS): Add -frandom-seed.
Ian Lance Taylor [Fri, 22 Jul 2011 13:52:51 +0000 (13:52 +0000)]
fragment.am (CONFIG_CXXFLAGS): Add -frandom-seed.

* fragment.am (CONFIG_CXXFLAGS): Add -frandom-seed.
* Makefile.in: Rebuild.
* doc/Makefile.in: Rebuild.
* include/Makefile.in: Rebuild.
* libsupc++/Makefile.in: Rebuild.
* po/Makefile.in: Rebuild.
* python/Makefile.in: Rebuild.
* src/Makefile.in: Rebuild.
* testsuite/Makefile.in: Rebuild.

From-SVN: r176626

13 years agore PR middle-end/45819 (unexpected unaligned access to volatile int)
Richard Guenther [Fri, 22 Jul 2011 11:55:30 +0000 (11:55 +0000)]
re PR middle-end/45819 (unexpected unaligned access to volatile int)

2011-07-22  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/45819
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Properly
preserve volatile and notrap flags.

* gcc.dg/pr45819.c: New testcase.

From-SVN: r176623

13 years agore PR c++/49756 (g++ ICE)
Jakub Jelinek [Fri, 22 Jul 2011 09:21:49 +0000 (11:21 +0200)]
re PR c++/49756 (g++ ICE)

PR c++/49756
* libiberty.h (stack_limit_increase): New prototype.

* stack-limit.c: New file.
* Makefile.in: Regenerate deps.
(CFILES): Add stack-limit.c.
(REQUIRED_OFILES): Add ./stack-limit.$(objext).
* configure.ac (checkfuncs): Add getrlimit and setrlimit.
(AC_CHECK_FUNCS): Likewise.
* configure: Regenerated.
* config.in: Regenerated.

* gcc.c (main): Call stack_limit_increase (64MB).
* toplev.c (toplev_main): Likewise.

From-SVN: r176622

13 years ago* lib/target-supports.exp (check_ifunc_available): Improve comment.
Uros Bizjak [Fri, 22 Jul 2011 09:19:44 +0000 (11:19 +0200)]
* lib/target-supports.exp (check_ifunc_available): Improve comment.

From-SVN: r176621

13 years agore PR bootstrap/49794 (Solaris 10/x86 bootstrap broken by C++ build)
Rainer Orth [Fri, 22 Jul 2011 08:58:25 +0000 (08:58 +0000)]
re PR bootstrap/49794 (Solaris 10/x86 bootstrap broken by C++ build)

2011-07-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
    Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

gcc:
PR bootstrap/49794
* configure.ac: Test AM_ICONV with CXX.
* configure: Regenerate.
* config/sol2-c.c (solaris_format_types): Use EXPORTED_CONST.

gcc/ada:
PR bootstrap/49794
* init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
Assign to act.sa_sigaction.
* tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
current->return_address to char * before arithmetic.

libcpp:
PR bootstrap/49794
* configure.ac: Test AM_ICONV with CXX.
* configure: Regenerate.
* system.h (HAVE_DESIGNATED_INITIALIZERS): Never define for C++.

Co-Authored-By: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
From-SVN: r176620

13 years agoinit.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
Rainer Orth [Fri, 22 Jul 2011 08:53:01 +0000 (08:53 +0000)]
init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.

* init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
Correct argument types.
Extract code from reason.
(__gnat_install_handler): Assign to act.sa_sigaction.

From-SVN: r176619

13 years agore PR bootstrap/49797 (CLooG use of LANGUAGE_C conflicts with MIPS compilers)
Rainer Orth [Fri, 22 Jul 2011 08:49:23 +0000 (08:49 +0000)]
re PR bootstrap/49797 (CLooG use of LANGUAGE_C conflicts with MIPS compilers)

PR bootstrap/49797
* graphite-clast-to-gimple.c (CLOOG_LANGUAGE_C): Provide if missing.
(set_cloog_options): Use it.

From-SVN: r176618

13 years agore PR c++/49756 (g++ ICE)
Jakub Jelinek [Fri, 22 Jul 2011 08:33:37 +0000 (10:33 +0200)]
re PR c++/49756 (g++ ICE)

PR c++/49756
* libiberty.h (stack_limit_increase): New prototype.

* stack-limit.c: New file.
* Makefile.in: Regenerate deps.
(CFILES): Add stack-limit.c.
(REQUIRED_OFILES): Add ./stack-limit.$(objext).
* configure.ac (checkfuncs): Add getrlimit and setrlimit.
(AC_CHECK_FUNCS): Likewise.
* configure: Regenerated.
* config.in: Regenerated.

* gcc.c (main): Call stack_limit_increase (64MB).
* toplev.c (toplev_main): Likewise.

From-SVN: r176617

13 years agotarget-supports.exp (check_ifunc_available): Rewrite.
Uros Bizjak [Fri, 22 Jul 2011 06:29:35 +0000 (08:29 +0200)]
target-supports.exp (check_ifunc_available): Rewrite.

* lib/target-supports.exp (check_ifunc_available): Rewrite.

From-SVN: r176616

13 years agoCall copy_to_mode_reg instead of force_reg.
H.J. Lu [Fri, 22 Jul 2011 05:23:22 +0000 (05:23 +0000)]
Call copy_to_mode_reg instead of force_reg.

2011-07-21  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.c (ix86_expand_call): Call copy_to_mode_reg
instead of force_reg.

From-SVN: r176614

13 years agotree_no_data_map_rand.cc: Move...
Benjamin Kosnik [Fri, 22 Jul 2011 04:17:17 +0000 (04:17 +0000)]
tree_no_data_map_rand.cc: Move...

2011-07-21  Benjamin Kosnik  <bkoz@redhat.com>

* testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Move...
* testsuite/ext/pb_ds/regression/tree_set_rand.cc: ... here.
* testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc: Move...
* testsuite/ext/pb_ds/regression/tree_set_rand_debug.cc: ... here.
* testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Move...
* testsuite/ext/pb_ds/regression/tree_map_rand.cc: ... here.
* testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc: Move...
* testsuite/ext/pb_ds/regression/tree_map_rand_debug.cc: ... here.

* testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Move...
* testsuite/ext/pb_ds/regression/trie_set_rand.cc: ... here.
* testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc: Move...
* testsuite/ext/pb_ds/regression/trie_set_rand_debug.cc: ... here.
* testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Move...
* testsuite/ext/pb_ds/regression/trie_map_rand.cc: ... here.
* testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc: Move...
* testsuite/ext/pb_ds/regression/trie_map_rand_debug.cc: ... here.

* testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc: Move.
* testsuite/ext/pb_ds/regression/list_update_set_rand.cc: ...here.
* testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc:
Move...
* testsuite/ext/pb_ds/regression/list_update_set_rand_debug.cc: ...here.
* testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Move...
* testsuite/ext/pb_ds/regression/list_update_map_rand.cc: ...here.
* testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc:
Move...
* testsuite/ext/pb_ds/regression/list_update_map_rand_debug.cc: ...here.

* testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Move...
* testsuite/ext/pb_ds/regression/hash_set_rand.cc: ...here.
* testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc: Move...
* testsuite/ext/pb_ds/regression/hash_set_rand_debug.cc: ...here.

* testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Move...
* testsuite/ext/pb_ds/regression/hash_map_rand.cc: ...here.
* testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc: Move...
* testsuite/ext/pb_ds/regression/hash_map_rand_debug.cc: ...here.

From-SVN: r176613

13 years agoConvert to Pmode if needed and use force_reg after convert.
H.J. Lu [Fri, 22 Jul 2011 00:56:10 +0000 (00:56 +0000)]
Convert to Pmode if needed and use force_reg after convert.

2011-07-21  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.c (ix86_expand_move): Convert to Pmode if
needed and use force_reg after convert.
(ix86_expand_call): Likewise.
(ix86_expand_special_args_builtin): Likewise.
(ix86_expand_builtin): Likewise.

From-SVN: r176612

13 years agoDaily bump.
GCC Administrator [Fri, 22 Jul 2011 00:18:57 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r176610

13 years agotrans.c (gfc_allocate_with_status): Split into two functions gfc_allocate_using_mallo...
Daniel Carrera [Thu, 21 Jul 2011 23:18:24 +0000 (23:18 +0000)]
trans.c (gfc_allocate_with_status): Split into two functions gfc_allocate_using_malloc and gfc_allocate_usig_lib.

2011-07-21  Daniel Carrera  <dcarrera@gmail.com>

* trans.c (gfc_allocate_with_status): Split into two functions
gfc_allocate_using_malloc and gfc_allocate_usig_lib.
(gfc_allocate_using_malloc): The status parameter is now the
actual status rather than a pointer. Code cleanup.
(gfc_allocate_using_lib): Ditto. Add new parametrs errmsg and
errlen. Pass these to the coarray lib.
* trans-openmp.c (gfc_omp_clause_default_ctor): Update calls to
gfc_allocate_allocatable.
(gfc_omp_clause_copy_ctor): Ditto.
(gfc_trans_omp_array_reduction): Ditto.
* trans-stmt.c (gfc_trans_allocate): Ditto. Update call to
gfc_allocate_using_malloc. Pass stat rather than pstat to the allocate
fuctions. If using coarray lib, pass errmsg and errlen to the allocate
functions. Move error checking outside the if (!gfc_array_allocate)
block so that it also affects trees produced by gfc_array_allocate.
* trans-array.c (gfc_array_allocate): Add new parameters errmsg
and errlen. Replace parameter pstat by status. Code cleanup. Update
calls to gfc_allocate_allocatable and gfc_allocate_using_malloc.
* trans-array.h (gfc_array_allocate): Update signature of
gfc_array_allocate.

From-SVN: r176606

13 years agoInfer types based on lb and ub.
Sebastian Pop [Thu, 21 Jul 2011 22:57:59 +0000 (22:57 +0000)]
Infer types based on lb and ub.

2011-07-21  Sebastian Pop  <sebastian.pop@amd.com>

PR middle-end/47654
PR middle-end/49649
* graphite-clast-to-gimple.c (type_for_clast_term): Pass v1 and v2
in parameter.  Initialize v1 and v2 based on the values returned
by clast_name_to_lb_ub.
(type_for_clast_red): Pass v1 and v2 in parameter, and set their
values.
(type_for_clast_bin): Same.
(type_for_clast_expr): Same.
(type_for_clast_eq): Update calls to type_for_clast_expr.
(type_for_clast_for): Same.
(build_iv_mapping): Same.
* graphite-ppl.h (value_min): New.

* gcc.dg/graphite/run-id-pr47654.c: New.

From-SVN: r176605

13 years agoGenerate signed types whenever possible.
Sebastian Pop [Thu, 21 Jul 2011 22:57:49 +0000 (22:57 +0000)]
Generate signed types whenever possible.

2011-07-21  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-clast-to-gimple.c (type_for_interval): Generate signed
types whenever possible.

From-SVN: r176604

13 years agoCompute once and cache the LB and UB for each clast_name.
Sebastian Pop [Thu, 21 Jul 2011 22:57:40 +0000 (22:57 +0000)]
Compute once and cache the LB and UB for each clast_name.

2011-07-21  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-clast-to-gimple.c (struct clast_name_index): Add lb
and ub fields.
(new_clast_name_index): Add lb and ub parameters.
(free_clast_name_index): New.
(clast_name_to_lb_ub): New.
(save_clast_name_index): Add lb and ub parameters.
(compute_bounds_for_param): New.
(type_for_level): Removed.
(type_for_clast_for): Removed level parameter.  Do not call
type_for_level.
(graphite_create_new_loop): Store the lb and ub for the clast_name
of the iterator of the loop that has been generated.
(graphite_create_new_loop_guard): Remove parameter level.
(create_params_index): Store the lb and ub of each parameter.
(gloog): Use free_clast_name_index.  Pass to create_params_index
the current scop.

From-SVN: r176603

13 years agoRemove max_signed_precision_type.
Sebastian Pop [Thu, 21 Jul 2011 22:57:30 +0000 (22:57 +0000)]
Remove max_signed_precision_type.

2011-07-21  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-clast-to-gimple.c (max_signed_precision_type): Removed.
(max_precision_type): Inline max_signed_precision_type.
(type_for_clast_red): Use max_precision_type.
(type_for_clast_bin): Same.
(type_for_clast_for): Same.

From-SVN: r176602

13 years agoRename gcc_type_for_clast_* into type_for_clast_*
Sebastian Pop [Thu, 21 Jul 2011 22:57:19 +0000 (22:57 +0000)]
Rename gcc_type_for_clast_* into type_for_clast_*

2011-07-21  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-clast-to-gimple.c (gcc_type_for_interval): Renamed
type_for_interval.
(gcc_type_for_value): Renamed type_for_value.
(gcc_type_for_clast_term): Renamed type_for_clast_term.
(gcc_type_for_clast_expr): Renamed type_for_clast_expr.
(gcc_type_for_clast_red): Renamed type_for_clast_red.
(gcc_type_for_clast_bin): Renamed type_for_clast_bin.
(gcc_type_for_clast_eq): Renamed type_for_clast_eq.
(graphite_translate_clast_equation): Update calls.
(compute_type_for_level): Renamed type_for_level.
(gcc_type_for_iv_of_clast_loop): Renamed type_for_clast_for.
(build_iv_mapping): Update calls.
(graphite_create_new_loop_guard): Same.

From-SVN: r176601

13 years agoAdd fixme comment.
Sebastian Pop [Thu, 21 Jul 2011 22:57:10 +0000 (22:57 +0000)]
Add fixme comment.

2011-07-21  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-clast-to-gimple.c (clast_get_body_of_loop): Add fixme
comment.

From-SVN: r176600

13 years agoCleanup function params using a struct.
Sebastian Pop [Thu, 21 Jul 2011 22:57:00 +0000 (22:57 +0000)]
Cleanup function params using a struct.

2011-07-21  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-clast-to-gimple.c (struct ivs_params): New.
(clast_name_to_gcc): Use ivs_params to pass around parameters.
(clast_to_gcc_expression): Same.
(clast_to_gcc_expression_red): Same.
(gcc_type_for_clast_term): Same.
(gcc_type_for_clast_expr): Same.
(gcc_type_for_clast_red): Same.
(gcc_type_for_clast_bin): Same.
(gcc_type_for_clast_eq): Same.
(graphite_translate_clast_equation): Same.
(graphite_create_guard_cond_expr): Same.
(graphite_create_new_guard): Same.
(graphite_create_new_loop): Same.
(build_iv_mapping): Same.
(translate_clast_user): Same.
(graphite_create_new_loop_guard): Same.
(translate_clast): Same.
(translate_clast_for_loop): Same.
(translate_clast_for): Same.
(translate_clast_guard): Same.
(initialize_cloog_names): Fix typo.
(gloog): Initialize an ivs_params struct, pass it to translate_clast.

From-SVN: r176599

13 years agoRecord the loop level that defines a clast_name.
Sebastian Pop [Thu, 21 Jul 2011 22:56:50 +0000 (22:56 +0000)]
Record the loop level that defines a clast_name.

2011-07-21  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-clast-to-gimple.c (struct clast_name_index): Add level.
(new_clast_name_index): Add level parameter.
(clast_name_to_level): New.
(save_clast_name_index): Add level parameter.
(newivs_to_depth_to_newiv): Removed.
(clast_name_to_gcc): Inlined newivs_to_depth_to_newiv.
(graphite_create_new_loop): Add level parameter.  Pass level to
save_clast_name_index.
(translate_clast_for_loop): Pass level to graphite_create_new_loop.
(create_params_index): Pass level to save_clast_name_index.

From-SVN: r176598

13 years agoDo not compute twice type, lb, and ub.
Sebastian Pop [Thu, 21 Jul 2011 22:56:40 +0000 (22:56 +0000)]
Do not compute twice type, lb, and ub.

2011-07-21  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-clast-to-gimple.c (graphite_create_new_loop): Do not
recompute type, lb, and ub.  Get them from...
(graphite_create_new_loop_guard): ...here.  Pass in parameter
pointers to type, lb, and ub.
(translate_clast_for_loop): Update function calls.
(translate_clast_for): Same.

From-SVN: r176597

13 years agoStart counting nesting level from 0 and use the standard "Polyhedral SCattering Trans...
Sebastian Pop [Thu, 21 Jul 2011 22:56:29 +0000 (22:56 +0000)]
Start counting nesting level from 0 and use the standard "Polyhedral SCattering Transformed" psct_* interface.

2011-07-21  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-clast-to-gimple.c (compute_bounds_for_level): Call
psct_dynamic_dim.
(translate_clast_for_loop): Pass loop level to dependency_in_loop_p.
(gcc_type_for_iv_of_clast_loop): Update use of level.
(gloog): Start counting nesting level from 0.
* graphite-clast-to-gimple.h (get_scattering_level): Removed.
* graphite-dependences.c (graphite_carried_dependence_level_k): Call
psct_dynamic_dim on level.

From-SVN: r176596

13 years agoConvert to Pmode if needed in ix86_legitimize_address.
H.J. Lu [Thu, 21 Jul 2011 22:36:11 +0000 (22:36 +0000)]
Convert to Pmode if needed in ix86_legitimize_address.

2011-07-21  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.c (ix86_legitimize_address): Convert to
Pmode if needed.

From-SVN: r176595

13 years agoPromote pointer function arguments and return values to Pmode.
H.J. Lu [Thu, 21 Jul 2011 22:22:00 +0000 (22:22 +0000)]
Promote pointer function arguments and return values to Pmode.

2011-07-21  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.c (function_value_64): Always return pointers
in Pmode.
(ix86_promote_function_mode): New.
(TARGET_PROMOTE_FUNCTION_MODE): Likewise.

From-SVN: r176593

13 years agore PR middle-end/49705 (-Wstrict-overflow should not diagnose unevaluated expressions)
Ian Lance Taylor [Thu, 21 Jul 2011 21:30:24 +0000 (21:30 +0000)]
re PR middle-end/49705 (-Wstrict-overflow should not diagnose unevaluated expressions)

gcc/c-family:
PR middle-end/49705
* c-common.c (c_disable_warnings): New static function.
(c_enable_warnings): New static function.
(c_fully_fold_internal): Change local unused_p to bool.  Call
c_disable_warnings and c_enable_warnings rather than change
c_inhibit_evaluation_warnings.
gcc/testsuite:
PR middle-end/49705
* gcc.dg/pr49705.c: New test.

From-SVN: r176591

13 years agoSteven G. Kargl <kargl@gcc.gnu.org>
Steven G. Kargl [Thu, 21 Jul 2011 21:09:46 +0000 (21:09 +0000)]
Steven G. Kargl  <kargl@gcc.gnu.org>

* gfortran.texi: Remove a duplicate word.

From-SVN: r176587

13 years agoAdd missing ChangeLog entry
François Dumont [Thu, 21 Jul 2011 20:34:40 +0000 (20:34 +0000)]
Add missing ChangeLog entry

From-SVN: r176586

13 years agosafe_unordered_sequence.h, [...]: Rename respectively in...
François Dumont [Thu, 21 Jul 2011 19:56:36 +0000 (19:56 +0000)]
safe_unordered_sequence.h, [...]: Rename respectively in...

2011-07-21  François Dumont  <francois.cppdevs@free.fr>

        * include/debug/safe_unordered_sequence.h,
        safe_unordered_sequence.tcc: Rename respectively in...
        * include/debug/safe_unordered_container.h,
        safe_unordered_container.tcc: ...those. _Safe_unordered_sequence
        rename _Safe_unordered_container.
        * include/debug/safe_unordered_base.h: _Safe_unordered_sequence_base
        rename _Safe_unordered_container_base.
        * include/debug/unordered_map, unordered_set: Adapt to previous
        modifications.
        * config/abi/pre/gnu.ver: Likewise.
        * src/debug.cc: Likewise.
        * include/Makefile.am: Likewise.
        * include/Makefile.in: Regenerate.

From-SVN: r176584

13 years agore PR tree-optimization/49749 (Reassociation rank algorithm does not include all...
Bill Schmidt [Thu, 21 Jul 2011 18:07:39 +0000 (18:07 +0000)]
re PR tree-optimization/49749 (Reassociation rank algorithm does not include all non-NULL operands)

2011-07-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/49749
* tree-ssa-reassoc.c (get_rank): Fix operand scan conditions and
remove no-longer-used maxrank variable.

From-SVN: r176581

13 years agotarget-supports.exp (check_avx_os_support_available): New.
Uros Bizjak [Thu, 21 Jul 2011 15:53:11 +0000 (17:53 +0200)]
target-supports.exp (check_avx_os_support_available): New.

* lib/target-supports.exp (check_avx_os_support_available): New.
(check_effective_target_avx_runtime): Use it.

From-SVN: r176576

13 years agoavr.c (final_prescan_insn): Fix printing of rtx_costs.
Georg-Johann Lay [Thu, 21 Jul 2011 15:46:28 +0000 (15:46 +0000)]
avr.c (final_prescan_insn): Fix printing of rtx_costs.

* config/avr/avr.c (final_prescan_insn): Fix printing of rtx_costs.

From-SVN: r176575

13 years ago* de.po, sv.po: Update.
Joseph Myers [Thu, 21 Jul 2011 15:29:35 +0000 (16:29 +0100)]
* de.po, sv.po: Update.

From-SVN: r176573

13 years agosystem.h (HAVE_DESIGNATED_UNION_INITIALIZERS): New.
Jason Merrill [Thu, 21 Jul 2011 14:48:03 +0000 (10:48 -0400)]
system.h (HAVE_DESIGNATED_UNION_INITIALIZERS): New.

* system.h (HAVE_DESIGNATED_UNION_INITIALIZERS): New.
* recog.h (struct insn_data_d): Check it instead of
HAVE_DESIGNATED_INITIALIZERS.
* genoutput.c (output_insn_data): Likewise.

From-SVN: r176572

13 years ago* MAINTAINERS (Global Reviewers): Add self.
Joseph Myers [Thu, 21 Jul 2011 14:17:46 +0000 (15:17 +0100)]
* MAINTAINERS (Global Reviewers): Add self.

From-SVN: r176570

13 years agoMake-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
Eric Botcazou [Thu, 21 Jul 2011 13:35:27 +0000 (13:35 +0000)]
Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...

* gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
(GNAT1_OBJS): ...here.

From-SVN: r176569

13 years agore PR tree-optimization/49770 (wrong code with -fno-tree-forwprop)
Richard Guenther [Thu, 21 Jul 2011 13:19:18 +0000 (13:19 +0000)]
re PR tree-optimization/49770 (wrong code with -fno-tree-forwprop)

2011-07-21  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/49770
* tree-ssa-sccvn.c (valueize_refs_1): Return whether we
valueized any operand.  Renamed from ...
(valueize_refs): ... this.  New wrapper around valueize_refs_1.
(valueize_shared_reference_ops_from_ref): Return whether we
valueized any operand.
(vn_reference_lookup): Only when we valueized any operand
use the valueized reference for alias analysis.  Do not preserve
the original reference tree in this case.

* g++.dg/torture/pr49770.C: New testcase.

From-SVN: r176567

13 years ago* ChangeLog: Fix description of my last commit.
Uros Bizjak [Thu, 21 Jul 2011 13:09:37 +0000 (15:09 +0200)]
* ChangeLog: Fix description of my last commit.

From-SVN: r176566

13 years agoi386.c (ix86_decompose_address): Reject all but register operands and DImode hard...
Uros Bizjak [Thu, 21 Jul 2011 13:03:02 +0000 (15:03 +0200)]
i386.c (ix86_decompose_address): Reject all but register operands and DImode hard registers in index.

* config/i386/i386.c (ix86_decompose_address): Reject all but
register operands and DImode hard registers in index.

From-SVN: r176565

13 years agoChangeLog gcc/
Kai Tietz [Thu, 21 Jul 2011 12:11:28 +0000 (14:11 +0200)]
ChangeLog gcc/

2011-07-21  Kai Tietz  <ktietz@redhat.com>

* fold-const.c (fold_unary_loc): Preserve indirect
comparison cast to none-boolean type.
* tree-ssa.c (useless_type_conversion_p): Preserve cast
from/to boolean-type.
* gimplify.c (gimple_boolify): Handle boolification
of comparisons.
(gimplify_expr): Boolifiy non aggregate-typed
comparisons.
* tree-cfg.c (verify_gimple_comparison): Check result
type of comparison expression.
* tree-ssa-forwprop.c (forward_propagate_comparison):
Adjust test of condition result and disallow type-cast
sinking into comparison.

ChangeLog gcc/testsuite

2011-07-21  Kai Tietz  <ktietz@redhat.com>

* gcc.dg/tree-ssa/pr30978.c: adjusted.
* gcc.dg/tree-ssa/ssa-fre-6.c: Likewise.
* gcc.dg/binop-xor1.c: Set to fail.
* gcc.dg/binop-xor3.c: Set to fail.

From-SVN: r176563

13 years agocheck.c (gfc_check_present): Allow coarrays.
Tobias Burnus [Thu, 21 Jul 2011 12:00:25 +0000 (14:00 +0200)]
check.c (gfc_check_present): Allow coarrays.

2011-07-21  Tobias Burnus  <burnus@net-b.de>

        * check.c (gfc_check_present): Allow coarrays.
        * trans-array.c (gfc_conv_array_ref): Avoid casting
        when a pointer is wanted.
        * trans-decl.c (create_function_arglist): For -fcoarray=lib,
        handle hidden token and offset arguments for nondescriptor
        coarrays.
        * trans-expr.c (get_tree_for_caf_expr): New function.
        (gfc_conv_procedure_call): For -fcoarray=lib pass the
        token and offset for nondescriptor coarray dummies.
        * trans.h (lang_type): Add caf_offset tree.
        (GFC_TYPE_ARRAY_CAF_OFFSET): New macro.

2011-07-21  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_lib_token_1.f90: New.

From-SVN: r176562

13 years agotree-ssa-forwprop.c (combine_conversions): Return whether we have to run cfg-cleanup.
Richard Guenther [Thu, 21 Jul 2011 11:33:16 +0000 (11:33 +0000)]
tree-ssa-forwprop.c (combine_conversions): Return whether we have to run cfg-cleanup.

2011-07-21  Richard Guenther  <rguenther@suse.de>

* tree-ssa-forwprop.c (combine_conversions): Return whether
we have to run cfg-cleanup.  Properly remove dead stmts.
(ssa_forward_propagate_and_combine): Adjust.

From-SVN: r176561

13 years agomutex (timed_mutex, [...]): Update to use steady_clock instead of monotonic_clock.
Paolo Carlini [Thu, 21 Jul 2011 11:09:56 +0000 (11:09 +0000)]
mutex (timed_mutex, [...]): Update to use steady_clock instead of monotonic_clock.

2011-07-21  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/mutex (timed_mutex, recursive_timed_mutex): Update
to use steady_clock instead of monotonic_clock.
* config/abi/pre/gnu.ver: Export steady_clock::now.

From-SVN: r176560

13 years agoregcprop.c (maybe_mode_change): Check HARD_REGNO_MODE_OK.
Richard Sandiford [Thu, 21 Jul 2011 10:13:27 +0000 (10:13 +0000)]
regcprop.c (maybe_mode_change): Check HARD_REGNO_MODE_OK.

gcc/
* regcprop.c (maybe_mode_change): Check HARD_REGNO_MODE_OK.

From-SVN: r176558

13 years agotree-ssa-propagate.c (substitute_and_fold): Use do_dce flag to deside...
Kai Tietz [Thu, 21 Jul 2011 09:42:04 +0000 (11:42 +0200)]
tree-ssa-propagate.c (substitute_and_fold): Use do_dce flag to deside...

2011-07-21  Kai Tietz  <ktietz@redhat.com>

* tree-ssa-propagate.c (substitute_and_fold): Use
do_dce flag to deside, if BB's statements are scanned
in last to first, or first to last order.

From-SVN: r176556

13 years ago* config/avr/avr.c (avr_rtx_costs): Set cost of CONST, LABEL_REF to 0.
Georg-Johann Lay [Thu, 21 Jul 2011 07:52:14 +0000 (07:52 +0000)]
* config/avr/avr.c (avr_rtx_costs): Set cost of CONST, LABEL_REF to 0.

From-SVN: r176554

13 years agopr32912-2.c: Skip for AVR.
Georg-Johann Lay [Thu, 21 Jul 2011 07:30:39 +0000 (07:30 +0000)]
pr32912-2.c: Skip for AVR.

* gcc.dg/pr32912-2.c: Skip for AVR.
* gcc.dg/pr44674.c: Add dg-require-profiling.

From-SVN: r176553

13 years agoarray (array::at, [...]): Mark constexpr.
Benjamin Kosnik [Thu, 21 Jul 2011 05:48:03 +0000 (05:48 +0000)]
array (array::at, [...]): Mark constexpr.

2011-07-20  Benjamin Kosnik  <bkoz@redhat.com>
    Daniel Krugler  <daniel.kruegler@googlemail.com>

* include/std/array (array::at, array::operator[]): Mark constexpr.
* testsuite/23_containers/array/requirements/
constexpr_element_access.cc: Add.

Co-Authored-By: Daniel Krugler <daniel.kruegler@googlemail.com>
From-SVN: r176550

13 years agochrono: (system_clock::is_steady): Update to N3291 from is_monotonic.
Benjamin Kosnik [Thu, 21 Jul 2011 03:27:51 +0000 (03:27 +0000)]
chrono: (system_clock::is_steady): Update to N3291 from is_monotonic.

2011-07-20  Benjamin Kosnik  <bkoz@redhat.com>
    Daniel Krugler  <daniel.kruegler@googlemail.com>

* include/std/chrono: (system_clock::is_steady): Update to N3291
from is_monotonic.
(time_point): Add constexpr to nonmember arithmetic operators.
* src/chrono.cc: Modify for above.
* src/compatibility-c++0x.cc: Same.
* testsuite/20_util/time_point/nonmember/constexpr.cc: New.
* testsuite/20_util/time_point/1.cc: Modify.
* testsuite/20_util/system_clock/constexpr_data.cc: Modify.
* testsuite/20_util/system_clock/1.cc: Modify.
* testsuite/20_util/monotonic_clock/constexpr_data.cc: Move to...
* testsuite/20_util/steady_clock/constexpr_data.cc: ...here.
* testsuite/30_threads/condition_variable/members/2.cc: Modify.
* testsuite/30_threads/condition_variable_any/members/2.cc: Modify.

From-SVN: r176549

13 years agoDaily bump.
GCC Administrator [Thu, 21 Jul 2011 00:18:20 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r176548

13 years agoHandle address output and call patterns for x32.
H.J. Lu [Wed, 20 Jul 2011 22:38:47 +0000 (22:38 +0000)]
Handle address output and call patterns for x32.

2011-07-20  H.J. Lu  <hongjiu.lu@intel.com>
    Uros Bizjak  <ubizjak@gmail.com>
    Richard Henderson  <rth@redhat.com>

* config/i386/constraints.md (w): New.

* config/i386/i386.c (ix86_output_addr_vec_elt): Check
TARGET_LP64 instead of TARGET_64BIT for ASM_QUAD.

* config/i386/i386.h (CASE_VECTOR_MODE): Check TARGET_LP64
instead of TARGET_64BIT.

* config/i386/i386.md (indirect_jump): Replace
nonimmediate_operand with indirect_branch_operand.
(*indirect_jump): Likewise.  Replace constraint "m" with "w".
(tablejump): Replace nonimmediate_operand with
indirect_branch_operand.  Convert operand 0 to Pmode for x32 if
not PIC.
(*tablejump_1): Replace nonimmediate_operand with
indirect_branch_operand.  Replace constraint "m" with "w".
(*call_vzeroupper): Replace constraint "m" with "w".
(*call): Likewise.
(*call_rex64_ms_sysv_vzeroupper): Likewise.
(*call_rex64_ms_sysv): Likewise.
(*call_value_vzeroupper): Likewise.
(*call_value): Likewise.
(*call_value_rex64_ms_sysv_vzeroupper): Likewise.
(*call_value_rex64_ms_sysv): Likewise.
(set_got_offset_rex64): Check TARGET_LP64 instead of
TARGET_64BIT.

* config/i386/predicates.md (indirect_branch_operand): New.
(call_insn_operand): Support x32.

Co-Authored-By: Richard Henderson <rth@redhat.com>
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r176539

13 years agoparams.def (PARAM_MAX_VARTRACK_EXPR_DEPTH): Default to 12.
Michael Eager [Wed, 20 Jul 2011 22:30:06 +0000 (22:30 +0000)]
params.def (PARAM_MAX_VARTRACK_EXPR_DEPTH): Default to 12.

From-SVN: r176538

13 years agoDump basic_block flags.
Richard Henderson [Wed, 20 Jul 2011 22:14:36 +0000 (15:14 -0700)]
Dump basic_block flags.

From-SVN: r176537

13 years agoi386.c (ix86_decompose_address): Allow only subregs of DImode hard registers in index.
Uros Bizjak [Wed, 20 Jul 2011 21:43:38 +0000 (23:43 +0200)]
i386.c (ix86_decompose_address): Allow only subregs of DImode hard registers in index.

* config/i386/i386.c (ix86_decompose_address): Allow only subregs
of DImode hard registers in index.
(ix86_legitimate_address_p): Allow subregs of base and index to span
more than a word.  Assert that subregs of base and index satisfy
register_no_elim_operand predicates.  Reject addresses where
base and index have different modes.

From-SVN: r176536

13 years agoconfig.gcc (mips*-*-linux*): Remove redundant tm_file entry.
Robert Millan [Wed, 20 Jul 2011 21:02:33 +0000 (21:02 +0000)]
config.gcc (mips*-*-linux*): Remove redundant tm_file entry.

gcc/
2011-07-20  Robert Millan  <rmh@gnu.org>

* config.gcc (mips*-*-linux*): Remove redundant tm_file entry.

From-SVN: r176535

13 years agobb-reorder.c (fix_crossing_conditional_branches): Fix crash by removing now-unnecessa...
Ulrich Weigand [Wed, 20 Jul 2011 18:52:04 +0000 (18:52 +0000)]
bb-reorder.c (fix_crossing_conditional_branches): Fix crash by removing now-unnecessary assignment.

* bb-reorder.c (fix_crossing_conditional_branches): Fix crash by
removing now-unnecessary assignment.

From-SVN: r176533

13 years agoparser.c (cp_parser_initializer_list): Handle C99 .id= and [N]= designated initialize...
Jason Merrill [Wed, 20 Jul 2011 18:18:03 +0000 (14:18 -0400)]
parser.c (cp_parser_initializer_list): Handle C99 .id= and [N]= designated initializer syntax.

* parser.c (cp_parser_initializer_list): Handle C99 .id= and [N]=
designated initializer syntax.
* decl.c (check_array_designated_initializer): Add index parm.
(maybe_deduce_size_from_array_init): Pass it.
(reshape_init_array_1): Likewise.

From-SVN: r176530

13 years agosystem_error: Use noexcept.
Paolo Carlini [Wed, 20 Jul 2011 18:17:30 +0000 (18:17 +0000)]
system_error: Use noexcept.

2011-07-20  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/system_error: Use noexcept.
* src/system_error.cc: Likewise.
* testsuite/19_diagnostics/error_condition/modifiers/39881.cc: Adjust.
* testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
* testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
* testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
* testsuite/util/testsuite_error.h: Likewise.

* include/std/system_error (error_code::error_code(_ErrorCodeEnum)):
Use enable_if on template parameter default.
(error_condition::error_condition(_ErrorConditionEnum)): Likewise.

From-SVN: r176529

13 years agoemit-rtl.c (set_mem_attributes_minus_bitpos): Restore setting memory address space...
Ulrich Weigand [Wed, 20 Jul 2011 18:01:48 +0000 (18:01 +0000)]
emit-rtl.c (set_mem_attributes_minus_bitpos): Restore setting memory address space to the type's address space.

* emit-rtl.c (set_mem_attributes_minus_bitpos): Restore setting
memory address space to the type's address space.

From-SVN: r176528

13 years agore PR target/36467 ([avr] Missed optimization with pointer arithmetic and mul*)
Georg-Johann Lay [Wed, 20 Jul 2011 17:23:28 +0000 (17:23 +0000)]
re PR target/36467 ([avr] Missed optimization with pointer arithmetic and mul*)

PR target/36467
PR target/49687
* config/avr/avr.md (mulhi3): Use register_or_s9_operand for
operand2 and expand appropriately if there is a CONST_INT in
operand2.
(usmulqihi3): New insn.
(*sumulqihi3): New insn.
(*osmulqihi3): New insn.
(*oumulqihi3): New insn.
(*muluqihi3.uconst): New insn_and_split.
(*muluqihi3.sconst): New insn_and_split.
(*mulsqihi3.sconst): New insn_and_split.
(*mulsqihi3.uconst): New insn_and_split.
(*mulsqihi3.oconst): New insn_and_split.
(*ashifthi3.signx.const): New insn_and_split.
(*ashifthi3.signx.const7): New insn_and_split.
(*ashifthi3.zerox.const): New insn_and_split.
(mulsqihi3): New insn.
(muluqihi3): New insn.
(muloqihi3): New insn.
* config/avr/predicates.md (const_2_to_7_operand): New.
(const_2_to_6_operand): New.
(u8_operand): New.
(s8_operand): New.
(o8_operand): New.
(s9_operand): New.
(register_or_s9_operand): New.

From-SVN: r176527

13 years agobuiltins.c (fold_builtin_expect): See through the cast from truthvalue_type_node...
Kai Tietz [Wed, 20 Jul 2011 17:10:24 +0000 (19:10 +0200)]
builtins.c (fold_builtin_expect): See through the cast from truthvalue_type_node to long.

2011-07-20  Kai Tietz  <ktietz@redhat.com>

        * builtins.c (fold_builtin_expect): See through the cast
        from truthvalue_type_node to long.

From-SVN: r176526

13 years agoAllow 4 operand FMAs on power7
Michael Meissner [Wed, 20 Jul 2011 16:16:53 +0000 (16:16 +0000)]
Allow 4 operand FMAs on power7

From-SVN: r176522

13 years agoMakefile.tpl (POSTSTAGE1_CONFIGURE_FLAGS): Add libsupc++ to link directories.
David Edelsohn [Wed, 20 Jul 2011 16:08:11 +0000 (16:08 +0000)]
Makefile.tpl (POSTSTAGE1_CONFIGURE_FLAGS): Add libsupc++ to link directories.

* Makefile.tpl (POSTSTAGE1_CONFIGURE_FLAGS): Add libsupc++ to
link directories.
* Makefile.in: Rebuild.

From-SVN: r176521

13 years agostdc++.h: Add scoped_allocator.
Ed Smith-Rowland [Wed, 20 Jul 2011 15:45:55 +0000 (15:45 +0000)]
stdc++.h: Add scoped_allocator.

2011-07-20  Ed Smith-Rowland  <3dw4rd@verizon.net>

* include/precompiled/stdc++.h: Add scoped_allocator.

From-SVN: r176520

13 years agobitset (operator[]): Make constexpr.
Benjamin Kosnik [Wed, 20 Jul 2011 15:44:18 +0000 (15:44 +0000)]
bitset (operator[]): Make constexpr.

2011-07-20  Benjamin Kosnik  <bkoz@redhat.com>

* include/std/bitset (operator[]): Make constexpr.
* testsuite/23_containers/bitset/operations/constexpr.cc: New.

From-SVN: r176519

13 years agogenrecog.c (make_insn_sequence): Correct position numbering when filtering out match_...
Sandra Loosemore [Wed, 20 Jul 2011 15:26:57 +0000 (11:26 -0400)]
genrecog.c (make_insn_sequence): Correct position numbering when filtering out match_scratch and match_dup.

2011-07-20  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* genrecog.c (make_insn_sequence): Correct position numbering
when filtering out match_scratch and match_dup.

From-SVN: r176518

13 years agotree-ssa-forwprop.c (remove_prop_source_from_use): Robustify against already removed...
Richard Guenther [Wed, 20 Jul 2011 15:13:58 +0000 (15:13 +0000)]
tree-ssa-forwprop.c (remove_prop_source_from_use): Robustify against already removed statements.

2011-07-20  Richard Guenther  <rguenther@suse.de>

* tree-ssa-forwprop.c (remove_prop_source_from_use): Robustify
against already removed statements.
(forward_propagate_into_comparison): Remove dead defining stmts.
(forward_propagate_into_gimple_cond): Likewise.
(forward_propagate_into_cond): Simplify.
(ssa_forward_propagate_and_combine): Handle changed cfg from
forward_propagate_into_comparison.
* tree-ssa-phiopt.c (conditional_replacement): Use proper
locations for newly built statements.

From-SVN: r176517

13 years ago* config/avr/avr.c (avr_rtx_costs): Set cost of SYMBOL_REF to 0.
Georg-Johann Lay [Wed, 20 Jul 2011 15:10:13 +0000 (15:10 +0000)]
* config/avr/avr.c (avr_rtx_costs): Set cost of SYMBOL_REF to 0.

From-SVN: r176516

13 years agochangelog tweak
Jason Merrill [Wed, 20 Jul 2011 14:32:56 +0000 (10:32 -0400)]
changelog tweak

From-SVN: r176514

13 years agoPR c++/6709 (DR 743)
Jason Merrill [Wed, 20 Jul 2011 14:21:05 +0000 (10:21 -0400)]
PR c++/6709 (DR 743)

PR c++/6709 (DR 743)
PR c++/42603 (DR 950)
gcc/cp/
* parser.c (token_is_decltype, cp_lexer_next_token_is_decltype): New.
(cp_parser_nested_name_specifier_opt): Allow decltype.
(cp_parser_qualifying_entity): Likewise.
(cp_parser_decltype): Replace source tokens with CPP_DECLTYPE.
(cp_parser_simple_type_specifier): Handle decltype as scope.
(cp_parser_base_specifier): Allow decltype.
(cp_parser_base_clause): Don't crash on null base.
* parser.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move to c-common.h.
(CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
gcc/c-family/
* c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
(CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
(CPP_DECLTYPE): New.
* c-common.c (c_parse_error): Handle CPP_DECLTYPE.

From-SVN: r176513

13 years agore PR bootstrap/49787 (--enable-languages=c doesn't work)
Ian Lance Taylor [Wed, 20 Jul 2011 14:08:42 +0000 (14:08 +0000)]
re PR bootstrap/49787 (--enable-languages=c doesn't work)

PR bootstrap/49787
* configure.ac: Move --enable-bootstrap handling earlier in file.
If --enable-bootstrap and either --enable-build-with-cxx or
--enable-build-poststage1-with-cxx, enable C++ automatically.
* configure: Rebuild.

From-SVN: r176512

13 years agos390.c (s390_class_max_nregs): Fix return type.
Andreas Krebbel [Wed, 20 Jul 2011 13:37:56 +0000 (13:37 +0000)]
s390.c (s390_class_max_nregs): Fix return type.

2011-07-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.c (s390_class_max_nregs): Fix return type.
* config/s390/s390-protos.h (s390_class_max_nregs): Likewise.

From-SVN: r176511

13 years agore PR middle-end/18908 (Missed folding opportunities with bools)
Richard Biener [Wed, 20 Jul 2011 13:36:30 +0000 (13:36 +0000)]
re PR middle-end/18908 (Missed folding opportunities with bools)

2011-07-20  Richard Guenther  <rguenther@suse.de>

PR middle-end/18908
* tree.c (integer_all_onesp): Use TYPE_PRECISION, not mode precision.
* tree-ssa-forwprop.c (simplify_bitwise_binary): Remove bogus
ADDR_EXPR folding.  Canonicalize X ^ ~0 as ~X.

* gcc.dg/tree-ssa/pr18908.c: New testcase.
* gcc.dg/tree-ssa/bitwise-sink.c: Adjust.

From-SVN: r176510

13 years agore PR middle-end/18908 (Missed folding opportunities with bools)
Richard Guenther [Wed, 20 Jul 2011 13:35:20 +0000 (13:35 +0000)]
re PR middle-end/18908 (Missed folding opportunities with bools)

2011-07-20  Richard Guenther  <rguenther@suse.de>

PR middle-end/18908
* tree.c (integer_all_onesp): Use TYPE_PRECISION, not mode precision.
* tree-ssa-forwprop.c (simplify_bitwise_binary): Remove bogus
ADDR_EXPR folding.  Canonicalize X ^ ~0 as ~X.

* gcc.dg/tree-ssa/pr18908.c: New testcase.
* gcc.dg/tree-ssa/bitwise-sink.c: Adjust.

From-SVN: r176508

13 years agofrv.c (frv_register_move_cost): Define explicitly costs for subclasses of GR_REGS.
Vladimir Makarov [Wed, 20 Jul 2011 13:06:02 +0000 (13:06 +0000)]
frv.c (frv_register_move_cost): Define explicitly costs for subclasses of GR_REGS.

2011-07-20  Vladimir Makarov  <vmakarov@redhat.com>

* config/frv/frv.c (frv_register_move_cost): Define explicitly
costs for subclasses of GR_REGS.

From-SVN: r176507

13 years agore PR target/49780 ([x32] internal compiler error: in create_mem_ref, at tree-ssa...
Uros Bizjak [Wed, 20 Jul 2011 12:58:28 +0000 (14:58 +0200)]
re PR target/49780 ([x32] internal compiler error: in create_mem_ref, at tree-ssa-address.c:806)

PR target/49780
* config/i386/predicates.md (no_seg_addres_operand): No more special.
* config/i386/i386.c (ix86_decompose_address): Allow only subregs
of DImode hard registers in base.
(ix86_legitimate_address_p): Allow SImode and DImode base and index
registers.

From-SVN: r176506

13 years agotree-ssa-structalias.c (new_var_info): Allocate oldsolution lazily.
Richard Guenther [Wed, 20 Jul 2011 12:12:26 +0000 (12:12 +0000)]
tree-ssa-structalias.c (new_var_info): Allocate oldsolution lazily.

2011-07-20  Richard Guenther  <rguenther@suse.de>

* tree-ssa-structalias.c (new_var_info): Allocate oldsolution
lazily.
(unify_nodes): Deal with that.
(solve_graph): Likewise.

From-SVN: r176505

13 years agosafe_local_iterator.h (_Safe_local_iterator<>:: _Safe_local_iterator(const _Iterator...
Paolo Carlini [Wed, 20 Jul 2011 09:40:11 +0000 (09:40 +0000)]
safe_local_iterator.h (_Safe_local_iterator<>:: _Safe_local_iterator(const _Iterator&, size_type, const _Sequence*)): Fix typo.

2011-07-20  Paolo Carlini  <paolo.carlini@oracle.com>

* include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
_Safe_local_iterator(const _Iterator&, size_type, const _Sequence*)):
Fix typo.

From-SVN: r176500

13 years agoarm.c (arm_canonicalize_comparison): Add case to canonicalize left operand from ZERO_...
Chung-Lin Tang [Wed, 20 Jul 2011 06:21:36 +0000 (06:21 +0000)]
arm.c (arm_canonicalize_comparison): Add case to canonicalize left operand from ZERO_EXTEND to AND.

2011-07-20  Chung-Lin Tang  <cltang@codesourcery.com>

* config/arm/arm.c (arm_canonicalize_comparison): Add case to
canonicalize left operand from ZERO_EXTEND to AND.

testsuite/
* gcc.target/arm/combine-movs.c: New.
* gcc.target/arm/unsigned-extend-2.c: New.

From-SVN: r176495

13 years agoDaily bump.
GCC Administrator [Wed, 20 Jul 2011 00:18:31 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r176494

13 years agotarget.def (class_max_nregs): New hook.
Anatoly Sokolov [Tue, 19 Jul 2011 22:34:31 +0000 (02:34 +0400)]
target.def (class_max_nregs): New hook.

* target.def (class_max_nregs): New hook.
* doc/tm.texi.in (TARGET_CLASS_MAX_NREGS): Document.
* doc/tm.texi: Regenerate.
* targhooks.c (default_class_max_nregs): New function.
* targhooks.h (default_class_max_nregs): Declare.
* ira.h (target_ira): Change type x_ira_reg_class_max_nregs and
x_ira_reg_class_min_nregs arrays to unsigned char.
* ira.c (setup_reg_class_nregs): Use TARGET_CLASS_MAX_NREGS target
hook instead of CLASS_MAX_NREGS macro.
* reginfo.c (restore_register_info): Ditto.
* ira-conflicts.c (process_regs_for_copy): Use
ira_reg_class_max_nregs array instead of CLASS_MAX_NREGS macro.
Change type rclass and aclass vars to reg_class_t.
* ira-costs.c (record_reg_classes): Use ira_reg_class_max_nregs
array instead of CLASS_MAX_NREGS macro. Change type rclass var to
reg_class_t.
* reload.c (combine_reloads, find_reloads, find_reloads_address_1):
Use ira_reg_class_max_nregs array instead of CLASS_MAX_NREGS macro.

* config/i386/i386.h (CLASS_MAX_NREGS): Remove.
* config/i386/i386.c (ix86_class_max_nregs): New function.
(ix86_register_move_cost): Use TARGET_CLASS_MAX_NREGS target hook
instead of CLASS_MAX_NREGS macro.
(TARGET_CLASS_MAX_NREGS): Define.
* config/avr/avr.h (CLASS_MAX_NREGS): Remove.
* config/avr/avr-protos.h (class_max_nregs): Remove declaration.
* config/avr/avr.c (class_max_nregs): Remove function.
* config/alpha/alpha.h (CLASS_MAX_NREGS): Remove.
* config/spu/spu.h (CLASS_MAX_NREGS): Remove.
* config/mep/mep.h (CLASS_MAX_NREGS): Remove.
* config/m32r/m32r.h (CLASS_MAX_NREGS): Remove.
* config/microblaze/microblaze.h (CLASS_MAX_NREGS): Remove.
* config/xtensa/xtensa.h (CLASS_MAX_NREGS): Remove.
* config/stormy16/stormy16.h (CLASS_MAX_NREGS): Remove.
* config/lm32/lm32.h (CLASS_MAX_NREGS): Remove.
* config/moxie/moxie.h (CLASS_MAX_NREGS): Remove.
* config/iq2000/iq2000.h (CLASS_MAX_NREGS): Remove.
* config/mn10300/mn10300.h (CLASS_MAX_NREGS): Remove.
* config/score/score.h (CLASS_MAX_NREGS): Remove.
* config/vax/vax.h (CLASS_MAX_NREGS): Remove.
* config/h8300/h8300.h (CLASS_MAX_NREGS): Remove.
* config/v850/v850.h (CLASS_MAX_NREGS): Remove.

From-SVN: r176490

13 years agocif-code.def (OVERWRITABLE): Fix typo and move around.
Eric Botcazou [Tue, 19 Jul 2011 20:20:27 +0000 (20:20 +0000)]
cif-code.def (OVERWRITABLE): Fix typo and move around.

* cif-code.def (OVERWRITABLE): Fix typo and move around.
(TARGET_OPTIMIZATION_MISMATCH): Delete.
(EH_PERSONALITY): Fix typo.
(NON_CALL_EXCEPTIONS): Fix message.
(OPTIMIZATION_MISMATCH): Adjust message.
* ipa-inline.c (can_inline_edge_p): Use CIF_OPTIMIZATION_MISMATCH.

From-SVN: r176488

13 years agosafe_unordered_base.h, [...]: New, support for unordered sequence safe local iterators.
François Dumont [Tue, 19 Jul 2011 19:39:45 +0000 (21:39 +0200)]
safe_unordered_base.h, [...]: New, support for unordered sequence safe local iterators.

2011-07-19  François Dumont  <francois.cppdevs@free.fr>

        * include/debug/safe_unordered_base.h, safe_unordered_sequence.h,
        safe_unordered_sequence.tcc, safe_local_iterator.h,
        safe_local_iterator.tcc: New, support for unordered sequence safe
        local iterators.
        * include/Makefile.am: Add previous files.
        * include/Makefile.in: Regenerate.
        * include/debug/unordered_map, unordered_set: Implement
        _Safe_unordered_sequence and expose _Safe_local_iterator.
        * include/debug/safe_iterator.h, safe_iterator.tcc: Refactor
        _Safe_iterator::_M_get_distance static method to expose it as
        __get_distance function and use it in _Safe_local_iterator type.
        * include/debug/formatter.h: Add __msg_local_iter_compare_bad
        _Debug_msg_id enum entry to notify invalid comparison between local
        iterators from different buckets. Add _Parameter constructor from
        _Safe_local_iterator.
        * include/debug/functions.h: Add __valid_range overload for
        _Safe_local_iterator.
        * src/debug.cc: Add _Safe_unordered_sequence_base and
        _Safe_local_iterator_base methods implementations.
        * config/abi/pre/gnu.ver: Add export of some
        _Safe_unordered_sequence_base and _Safe_local_iterator_base methods.
        * testsuite/util/debug/checks.h: Add use_invalid_iterator function to
        simulate use of a singular iterator.
        * testsuite/util/debug/unordered_checks.h: New, several functions
        to simulate classic invalid usage of unordered sequence local
        iterators.
        * testsuite/23_containers/unordered_map/debug/
        use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
        use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
        invalid_local_iterator_compare_neg.cc: New.
        * testsuite/23_containers/unordered_multimap/debug/
        use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
        use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
        invalid_local_iterator_compare_neg.cc: New.
        * testsuite/23_containers/unordered_set/debug/
        use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
        use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
        invalid_local_iterator_compare_neg.cc: New.
        * testsuite/23_containers/unordered_multiset/debug/
        use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
        use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
        invalid_local_iterator_compare_neg.cc: New.

From-SVN: r176487

13 years agoconfigure.ac: Add --enable-build-poststage1-with-cxx.
Ian Lance Taylor [Tue, 19 Jul 2011 18:33:25 +0000 (18:33 +0000)]
configure.ac: Add --enable-build-poststage1-with-cxx.

./: * configure.ac: Add --enable-build-poststage1-with-cxx.  If set,
make C++ a boot_language.  Set and substitute
POSTSTAGE1_CONFIGURE_FLAGS.
* Makefile.tpl (POSTSTAGE1_CONFIGURE_FLAGS): New variable.
(STAGE[+id+]_CONFIGURE_FLAGS): Add $(POSTSTAGE1_CONFIGURE_FLAGS).
* configure, Makefile.in: Rebuild.
gcc/:
* doc/install.texi (Configuration): Document
--enable-build-poststage1-with-cxx.

From-SVN: r176480

13 years agognu-user.h: Copy from linux.h.
Robert Millan [Tue, 19 Jul 2011 18:00:27 +0000 (18:00 +0000)]
gnu-user.h: Copy from linux.h.

gcc/
2011-07-19  Robert Millan  <rmh@gnu.org>

* config/mips/gnu-user.h: Copy from linux.h.  Update comments.
(GLIBC_DYNAMIC_LINKER): Remove.

* config/mips/gnu-user64.h: Copy from linux64.h.  Update comments.
(GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64)
(GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32)
(BIONIC_DYNAMIC_LINKERN32, GNU_USER_DYNAMIC_LINKERN32): Remove.
(LINK_SPEC): Use GNU_USER_DYNAMIC_LINKER32,
GNU_USER_DYNAMIC_LINKER64 and GNU_USER_LINK_EMULATIONN32.

* config/mips/linux.h: Remove everything except for ...
(GLIBC_DYNAMIC_LINKER): ... this macro.

* config/mips/linux64.h: Remove everything except for ...
(GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64)
(GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32)
(BIONIC_DYNAMIC_LINKERN32): ... these macros.
(GNU_USER_LINK_EMULATION32, GNU_USER_LINK_EMULATION64)
(GNU_USER_LINK_EMULATIONN32): New macros.

* config.gcc (mips64*-*-linux* | mipsisa64*-*-linux* |
mips-*-linux*): Use the new headers.

From-SVN: r176479

13 years agortl.h (mem_attrs): Turn offset and size fields into HOST_WIDE_INTs.
Richard Sandiford [Tue, 19 Jul 2011 17:44:58 +0000 (17:44 +0000)]
rtl.h (mem_attrs): Turn offset and size fields into HOST_WIDE_INTs.

gcc/
* rtl.h (mem_attrs): Turn offset and size fields into HOST_WIDE_INTs.
Add offset_known_p and size_known_p fields.
(MEM_OFFSET_KNOWN_P): Update accordingly.
(MEM_OFFSET, MEM_SIZE_KNOWN_P, MEM_SIZE): Likewise.
* emit-rtl.c (mem_attrs_htab_hash): Update after mem_attrs changes.
(mem_attrs_eq_p, set_mem_attributes_minus_bitpos, set_mem_offset)
(clear_mem_offset, set_mem_size, clear_mem_size, change_address)
(adjust_address_1, widen_memory_access, set_mem_attrs_for_spill)
(init_emit_regs): Likewise.

From-SVN: r176478

13 years agortl.texi (MEM_OFFSET_KNOWN_P): Document.
Richard Sandiford [Tue, 19 Jul 2011 17:43:27 +0000 (17:43 +0000)]
rtl.texi (MEM_OFFSET_KNOWN_P): Document.

gcc/
* doc/rtl.texi (MEM_OFFSET_KNOWN_P): Document.
(MEM_OFFSET): Change from returning an rtx to returning a
HOST_WIDE_INT.
* rtl.h (MEM_OFFSET_KNOWN_P): New macro.
(MEM_OFFSET): Return a HOST_WIDE_INT rather than an rtx.
* emit-rtl.h (set_mem_offset): Take a HOST_WIDE_INT rather than an rtx.
(clear_mem_offset): Declare.
* alias.c (ao_ref_from_mem): Adjust uses of MEM_OFFSET, using
MEM_OFFSET_KNOWN_P to test whether the offset is known, and
MEM_OFFSET to get a HOST_WIDE_INT offset.
(nonoverlapping_memrefs_p): Likewise.  Adjust calls to...
(adjust_offset_for_component_ref): Take a bool "known_p"
parameter and a HOST_WIDE_INT "offset" parameter.
* builtins.c (get_memory_rtx): As for ao_ref_from_mem.
Adjust calls to set_mem_offset, passing a HOST_WIDE_INT rather
than an rtx.  Use clear_mem_offset to clear the offset.
* cfgcleanup.c (merge_memattrs): Likewise.
* dwarf2out.c (tls_mem_loc_descriptor): Likewise.
* function.c (assign_parm_find_stack_rtl): Likewise.
(assign_parm_setup_stack): Likewise.
* print-rtl.c (print_rtx): Likewise.
* reload.c (find_reloads_subreg_address): Likewise.
* simplify-rtx.c (delegitimize_mem_from_attrs): Likewise.
* var-tracking.c (INT_MEM_OFFSET): Likewise.
* emit-rtl.c (set_reg_attrs_from_value): Likewise.
(get_mem_align_offset): Likewise.
(set_mem_offset): Take a HOST_WIDE_INT rather than an rtx.
(clear_mem_offset): New function.
* config/mips/mips.c (r10k_safe_mem_expr_p): Take a HOST_WIDE_INT
offset rather than an rtx.  Assume both the expressio and offset
are available.
(r10k_needs_protection_p_1): Update accordingly, checking the
expression and offset availability here instead.

From-SVN: r176477

13 years agortl.texi (MEM_SIZE_KNOWN_P): Document.
Richard Sandiford [Tue, 19 Jul 2011 17:43:15 +0000 (17:43 +0000)]
rtl.texi (MEM_SIZE_KNOWN_P): Document.

gcc/
* doc/rtl.texi (MEM_SIZE_KNOWN_P): Document.
(MEM_SIZE): Change from returning an rtx to returning a HOST_WIDE_INT.
* rtl.h (MEM_SIZE_KNOWN_P): New macro.
(MEM_SIZE): Return a HOST_WIDE_INT rather than an rtx.
* emit-rtl.h (set_mem_size): Take a HOST_WIDE_INT rather than an rtx.
(clear_mem_size): Declare.
* emit-rtl.c (set_mem_size): Take a HOST_WIDE_INT rather than an rtx.
(clear_mem_size): New function.
* alias.c (ao_ref_from_mem): Adjust uses of MEM_SIZE, using
MEM_SIZE_KNOWN_P to test whether the size is known, and MEM_SIZE
to get a HOST_WIDE_INT size.  Adjust calls to set_mem_size,
passing a HOST_WIDE_INT rather than an rtx.  Use clear_mem_size
to clear the size.
(nonoverlapping_memrefs_p): Likewise.
* builtins.c (get_memory_rtx, expand_builtin_memcmp): Likewise.
(expand_builtin_init_trampoline): Likewise.
* calls.c (compute_argument_addresses): Likewise.
* cfgcleanup.c (merge_memattrs): Likewise.
* dce.c (find_call_stack_args): Likewise.
* dse.c (record_store, scan_insn): Likewise.
* dwarf2out.c (dw_sra_loc_expr): Likewise.
* expr.c (emit_block_move_hints): Likewise.
* function.c (assign_parm_find_stack_rtl): Likewise.
* print-rtl.c (print_rtx): Likewise.
* reload.c (find_reloads_subreg_address): Likewise.
* rtlanal.c (may_trap_p_1): Likewise.
* var-tracking.c (track_expr_p): Likewise.
* varasm.c (assemble_trampoline_template): Likewise.
* config/arm/arm.c (arm_print_operand): Likewise.
* config/h8300/h8300.c (h8sx_emit_movmd): Likewise.
* config/i386/i386.c (expand_movmem_via_rep_mov): Likewise.
(expand_setmem_via_rep_stos, expand_constant_movmem_prologue)
(expand_constant_setmem_prologue): Likewise.
* config/mips/mips.c (mips_get_unaligned_mem): Likewise.
* config/rs6000/rs6000.c (expand_block_move): Likewise.
(adjacent_mem_locations): Likewise.
* config/s390/s390.c (s390_expand_setmem): Likewise.
(s390_expand_insv): Likewise.
* config/s390/s390.md (*extzv<mode>, *extv<mode>): Likewise.
(*extendqi<mode>2_short_displ): Likewise.
* config/sh/sh.c (expand_block_move): Likewise.
* config/sh/sh.md (extv, extzv): Likewise.

From-SVN: r176476

13 years agoemit-rtl.c (mem_attrs_eq_p): New function, split out from...
Richard Sandiford [Tue, 19 Jul 2011 17:42:58 +0000 (17:42 +0000)]
emit-rtl.c (mem_attrs_eq_p): New function, split out from...

gcc/
* emit-rtl.c (mem_attrs_eq_p): New function, split out from...
(mem_attrs_htab_eq): ...here.
(find_mem_attrs): Replace with...
(set_mem_attrs): ...this function.  Take a mem_attrs structure
rather than individual fields.
(set_mem_attributes_minus_bitpos, set_mem_alias_set)
(set_mem_addr_space, set_mem_align, set_mem_expr, set_mem_offset)
(set_mem_size, change_address, adjust_address_1, offset_address)
(widen_memory_access, get_spill_slot_decl, set_mem_attrs_for_spill):
Update accordingly.

From-SVN: r176475

13 years agogcc/
Richard Sandiford [Tue, 19 Jul 2011 17:42:48 +0000 (17:42 +0000)]
gcc/
* rtl.h (MEM_ALIAS_SET, MEM_EXPR, MEM_OFFSET, MEM_ADDR_SPACE)
(MEM_SIZE, MEM_ALIGN): Redefine in terms of get_mem_attrs.
Provide a dummy definition of MEM_ADDR_SPACE for generators.
(target_rtl): Add x_mode_mem_attrs.
(mode_mem_attrs): New macro.
(get_mem_attrs): New function.
* emit-rtl.c (get_mem_attrs): Rename to...
(find_mem_attrs): ...this.
(set_mem_attributes_minus_bitpos, set_mem_alias_set)
(set_mem_addr_space, set_mem_align, set_mem_expr, set_mem_offset)
(set_mem_size, change_address, adjust_address_1, offset_address)
(widen_memory_access, get_spill_slot_decl, set_mem_attrs_for_spill):
Update accordingly.
(init_emit_regs): Initialize mode_mem_attrs.

From-SVN: r176474

13 years agore PR c++/49785 ([C++0x] ICE in coerce_template_parms)
Jason Merrill [Tue, 19 Jul 2011 17:28:13 +0000 (13:28 -0400)]
re PR c++/49785 ([C++0x] ICE in coerce_template_parms)

PR c++/49785
* pt.c (coerce_template_parms): Handle non-pack after pack.

From-SVN: r176472

13 years agoexpr.c (gfc_is_coarray): New function.
Tobias Burnus [Tue, 19 Jul 2011 16:46:02 +0000 (18:46 +0200)]
expr.c (gfc_is_coarray): New function.

2011-07-19  Tobias Burnus  <burnus@net-b.de>

        * expr.c (gfc_is_coarray): New function.
        * gfortran.h (gfc_is_coarray): New prototype.
        * interface.c (compare_parameter): Use it.

2011-07-19  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_args_1.f90: New.
        * gfortran.dg/coarray_args_2.f90: New.

From-SVN: r176467

13 years agoMAINTAINERS (Register Allocation): Move myself from reviewers to maintainers.
Vladimir Makarov [Tue, 19 Jul 2011 15:17:52 +0000 (15:17 +0000)]
MAINTAINERS (Register Allocation): Move myself from reviewers to maintainers.

2011-07-19  Vladimir Makarov  <vmakarov@redhat.com>

* MAINTAINERS (Register Allocation): Move myself from reviewers to
maintainers.

From-SVN: r176464

13 years agotree-ssa-forwprop.c (lookup_logical_inverted_value): Remove TRUTH_*_EXPR handling.
Richard Guenther [Tue, 19 Jul 2011 15:16:23 +0000 (15:16 +0000)]
tree-ssa-forwprop.c (lookup_logical_inverted_value): Remove TRUTH_*_EXPR handling.

2011-07-19  Richard Guenther  <rguenther@suse.de>

* tree-ssa-forwprop.c (lookup_logical_inverted_value): Remove
TRUTH_*_EXPR handling.
* tree-ssa-operands.c (get_expr_operands): Likewise.
* tree-ssa-pre.c (fully_constant_expression): Likewise.
* tree-ssa-uninit.c (use_pred_not_overlap_with_undef_path_pre):
Likewise.
(is_and_or_or): Likewise.
(is_norm_cond_subset_of): Likewise.

From-SVN: r176463

13 years agotree.h (fold_build_pointer_plus_loc): New helper function.
Richard Guenther [Tue, 19 Jul 2011 14:01:59 +0000 (14:01 +0000)]
tree.h (fold_build_pointer_plus_loc): New helper function.

2011-07-19  Richard Guenther  <rguenther@suse.de>

* tree.h (fold_build_pointer_plus_loc): New helper function.
(fold_build_pointer_plus_hwi_loc): Likewise.
(fold_build_pointer_plus): Define.
(fold_build_pointer_plus_hwi): Likewise.

* builtins.c (std_gimplify_va_arg_expr): Use fold_build_pointer_plus.
(fold_builtin_memory_op): Likewise.
(fold_builtin_stpcpy): Likewise.
(fold_builtin_memchr): Likewise.
(fold_builtin_strstr): Likewise.
(fold_builtin_strchr): Likewise.
(fold_builtin_strrchr): Likewise.
(fold_builtin_strpbrk): Likewise.
(fold_builtin_strcat): Likewise.
(expand_builtin_memory_chk): Likewise.
(fold_builtin_memory_chk): Likewise.
* c-typeck.c (build_unary_op): Likewise.
* cgraphunit.c (thunk_adjust): Likewise.
* fold-const.c (build_range_check): Likewise.
(fold_binary_loc): Likewise.
* omp-low.c (extract_omp_for_data): Likewise.
(expand_omp_for_generic): Likewise.
(expand_omp_for_static_nochunk): Likewise.
(expand_omp_for_static_chunk): Likewise.
* tree-affine.c (add_elt_to_tree): Likewise.
* tree-data-ref.c (split_constant_offset_1): Likewise.
* tree-loop-distribution.c (generate_memset_zero): Likewise.
* tree-mudflap.c (mf_xform_derefs_1): Likewise.
* tree-predcom.c (ref_at_iteration): Likewise.
* tree-ssa-address.c (tree_mem_ref_addr): Likewise.
(add_to_parts): Likewise.
(create_mem_ref): Likewise.
* tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Likewise.
* tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Likewise.
(number_of_iterations_le): Likewise.
* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Likewise.
* tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
(vect_create_addr_base_for_vector_ref): Likewise.
* tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): Likewise.
(vect_create_cond_for_alias_checks): Likewise.
* tree-vrp.c (extract_range_from_assert): Likewise.

* config/alpha/alpha.c (alpha_va_start): Likewise.
(alpha_gimplify_va_arg_1): Likewise.
* config/i386/i386.c (ix86_va_start): Likewise.
(ix86_gimplify_va_arg): Likewise.
* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
* config/mep/mep.c (mep_expand_va_start): Likewise.
(mep_gimplify_va_arg_expr): Likewise.
* config/mips/mips.c (mips_va_start): Likewise.
(mips_gimplify_va_arg_expr): Likewise.
* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
* config/rs6000/rs6000.c (rs6000_va_start): Likewise.
(rs6000_gimplify_va_arg): Likewise.
* config/s390/s390.c (s390_va_start): Likewise.
(s390_gimplify_va_arg): Likewise.
* config/sh/sh.c (sh_va_start): Likewise.
(sh_gimplify_va_arg_expr): Likewise.
* config/sparc/sparc.c (sparc_gimplify_va_arg): Likewise.
* config/spu/spu.c (spu_va_start): Likewise.
(spu_gimplify_va_arg_expr): Likewise.
* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
Likewise.
(xstormy16_gimplify_va_arg_expr): Likewise.
* config/xtensa/xtensa.c (xtensa_va_start): Likewise.
(xtensa_gimplify_va_arg_expr): Likewise.

c-family/
* c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
* c-omp.c (c_finish_omp_for): Likewise.

cp/
* call.c (build_special_member_call): Use fold_build_pointer_plus.
* class.c (build_base_path): Likewise.
(convert_to_base_statically): Likewise.
(dfs_accumulate_vtbl_inits): Likewise.
* cp-gimplify.c (cxx_omp_clause_apply_fn): Likewise.
* except.c (expand_start_catch_block): Likewise.
* init.c (expand_virtual_init): Likewise.
(build_new_1): Likewise.
(build_vec_delete_1): Likewise.
(build_vec_delete): Likewise.
* rtti.c (build_headof): Likewise.
(tinfo_base_init): Likewise.
* typeck.c (get_member_function_from_ptrfunc): Likewise.
(cp_build_addr_expr_1): Likewise.
* typeck2.c (build_m_component_ref): Likewise.

fortran/
* trans-expr.c (fill_with_spaces): Use fold_build_pointer_plus.
(gfc_trans_string_copy): Likewise.
* trans-intrinsic.c (gfc_conv_intrinsic_repeat): Likewise.
* trans-types.c (gfc_get_array_descr_info): Likewise.
* trans.c (gfc_build_array_ref): Likewise.

java/
* builtins.c (static): Use fold_build_pointer_plus.
* class.c (make_class_data): Likewise.
(build_symbol_entry): Likewise.
* except.c (build_exception_object_ref): Likewise.
* expr.c (build_java_arrayaccess): Likewise.
(build_field_ref): Likewise.
(build_known_method_ref): Likewise.
(build_invokevirtual): Likewise.

objc/
* objc-next-runtime-abi-02.c (objc_v2_build_ivar_ref):
Use fold_build_pointer_plus.
(objc2_build_ehtype_initializer): Likewise.

From-SVN: r176461

13 years agore PR middle-end/18908 (Missed folding opportunities with bools)
Richard Guenther [Tue, 19 Jul 2011 13:28:15 +0000 (13:28 +0000)]
re PR middle-end/18908 (Missed folding opportunities with bools)

2011-07-19  Richard Guenther  <rguenther@suse.de>

* expr.c (expand_expr_real_2): Remove TRUTH_*_EXPR handling.
(expand_expr_real_1): Remove TRUTH_*IF_EXPR and STATEMENT_LIST
handling.

PR middle-end/18908
* expr.c (expand_expr_real_2): Do not unnecessarily truncate the
result of BIT_*_EXPR to bitfield precision.

From-SVN: r176460

13 years agore PR fortran/49708 (ICE with allocate and no dimensions)
Janus Weil [Tue, 19 Jul 2011 12:38:59 +0000 (14:38 +0200)]
re PR fortran/49708 (ICE with allocate and no dimensions)

2011-07-19  Janus Weil  <janus@gcc.gnu.org>

PR fortran/49708
* resolve.c (resolve_allocate_expr): Fix diagnostics for pointers.

2011-07-19  Janus Weil  <janus@gcc.gnu.org>

PR fortran/49708
* gfortran.dg/allocate_error_3.f90: New.

From-SVN: r176447

13 years agore PR tree-optimization/49742 (ICE for gcc.dg/vect/O3-pr39675-2.c on ARM)
Richard Sandiford [Tue, 19 Jul 2011 12:37:03 +0000 (12:37 +0000)]
re PR tree-optimization/49742 (ICE for gcc.dg/vect/O3-pr39675-2.c on ARM)

gcc/
PR tree-optimization/49742
* tree-data-ref.c (get_references_in_stmt): Treat the lhs of a call
as a potential write.

From-SVN: r176446