gcc.git
13 years agoDaily bump.
GCC Administrator [Mon, 12 Sep 2011 00:19:00 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r178774

13 years agore PR libstdc++/50159 ([C++0x] tuple_cat only accepts two arguments)
Daniel Krugler [Sun, 11 Sep 2011 22:10:21 +0000 (22:10 +0000)]
re PR libstdc++/50159 ([C++0x] tuple_cat only accepts two arguments)

2011-09-11  Daniel Krugler  <daniel.kruegler@googlemail.com>

PR libstdc++/50159
* include/std/tuple (tuple_cat): Reimplement according to the
resolution of LWG 1385.
* include/std/type_traits: Define __and_ and __or_ for zero
arguments too; minor tweaks.
* testsuite/20_util/tuple/creation_functions/tuple_cat.cc: New.
* testsuite/20_util/tuple/creation_functions/constexpr.cc: Disable
for now tuple_cat test.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line numbers.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* doc/xml/manual/status_cxx200x.xml: Update.

From-SVN: r178770

13 years agore PR fortran/50327 (Front-end optimization generates wrong code for BLAS's srotmg)
Thomas Koenig [Sun, 11 Sep 2011 20:48:26 +0000 (20:48 +0000)]
re PR fortran/50327 (Front-end optimization generates wrong code for BLAS's srotmg)

2011-09-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/50327
* frontend-passes.c (dummy_expr_callback):  New function.
(convert_do_while):  New function.
(optimize_namespace):  Call code walker to convert do while loops.

2011-09-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/50327
* gfortran.dg/do_while_1.f90:  New test.

From-SVN: r178768

13 years agore PR fortran/35831 ([F95] Shape mismatch check missing for dummy procedure argument)
Janus Weil [Sun, 11 Sep 2011 20:12:24 +0000 (22:12 +0200)]
re PR fortran/35831 ([F95] Shape mismatch check missing for dummy procedure argument)

2011-09-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/35831
PR fortran/47978
* interface.c (check_dummy_characteristics): New function to check the
characteristics of dummy arguments.
(gfc_compare_interfaces,gfc_check_typebound_override): Call it here.

2011-09-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/35831
PR fortran/47978
* gfortran.dg/dynamic_dispatch_5.f03: Fix invalid test case.
* gfortran.dg/proc_decl_26.f90: New.
* gfortran.dg/typebound_override_2.f90: New.
* gfortran.dg/typebound_proc_6.f03: Changed wording in error message.

From-SVN: r178767

13 years agoutils.c (maybe_unconstrained_array): In the reference to unconstrained array case...
Eric Botcazou [Sun, 11 Sep 2011 19:14:51 +0000 (19:14 +0000)]
utils.c (maybe_unconstrained_array): In the reference to unconstrained array case, deal with each branch of a COND_EXPR.

* gcc-interface/utils.c (maybe_unconstrained_array): In the reference
to unconstrained array case, deal with each branch of a COND_EXPR.
* gcc-interface/utils2.c (build_allocator): Deal with each branch of
a COND_EXPR in the initializer, if present.

From-SVN: r178766

13 years agodecl.c (maybe_pad_type): Do not try to change the form of an addressable type.
Eric Botcazou [Sun, 11 Sep 2011 18:56:40 +0000 (18:56 +0000)]
decl.c (maybe_pad_type): Do not try to change the form of an addressable type.

* gcc-interface/decl.c (maybe_pad_type): Do not try to change the form
of an addressable type.
* gcc-interface/trans.c (gnat_gimplify_expr) <VIEW_CONVERT_EXPR>: New.
Deal with those cases for which creating a temporary is mandatory.

From-SVN: r178764

13 years agotrans.c (call_to_gnu): Use local variable.
Eric Botcazou [Sun, 11 Sep 2011 18:38:30 +0000 (18:38 +0000)]
trans.c (call_to_gnu): Use local variable.

* gcc-interface/trans.c (call_to_gnu): Use local variable.  Make sure
this is a real formal parameter before testing whether it is by ref.

From-SVN: r178763

13 years agogigi.h (build_call_0_expr): Delete.
Eric Botcazou [Sun, 11 Sep 2011 18:33:46 +0000 (18:33 +0000)]
gigi.h (build_call_0_expr): Delete.

* gcc-interface/gigi.h (build_call_0_expr): Delete.
(build_call_1_expr): Likewise.
(build_call_2_expr): Likewise.
(build_call_n_expr): New prototype.
* gcc-interface/decl.c (gnat_to_gnu_entity): Use build_call_n_expr.
* gcc-interface/trans.c (establish_gnat_vms_condition_handler): Ditto.
(Handled_Sequence_Of_Statements_to_gnu): Likewise.
(Exception_Handler_to_gnu_zcx): Likewise.
(gnat_to_gnu): Likewise.
(build_binary_op_trapv): Likewise.
* gcc-interface/utils2.c (build_call_0_expr): Delete.
(build_call_1_expr): Likewise.
(build_call_2_expr): Likewise.
(build_call_n_expr): New function.
(build_call_raise): Use build_call_n_expr.
(build_call_raise_range): Likewise.
(build_call_raise_column): Likewise.
(build_call_alloc_dealloc_proc): Likewise.
(maybe_wrap_malloc): Likewise.
(maybe_wrap_free): Likewise.

From-SVN: r178762

13 years agotrans.c (build_return_expr): Use void_type_node for MODIFY_EXPR.
Eric Botcazou [Sun, 11 Sep 2011 18:28:05 +0000 (18:28 +0000)]
trans.c (build_return_expr): Use void_type_node for MODIFY_EXPR.

* gcc-interface/trans.c (build_return_expr): Use void_type_node for
MODIFY_EXPR.
* gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Assert that
the result type is null if ENABLE_CHECKING.  Set operation_type at the
end unconditionally if not set in the previous cases.
Use build2 and void_type_node for MODIFY_EXPR.
(build_allocator): Use NULL_TREE for MODIFY_EXPR.

From-SVN: r178761

13 years agocris.md: Use match_test rather than eq/ne symbol_ref throughout file.
Richard Sandiford [Sun, 11 Sep 2011 17:21:50 +0000 (17:21 +0000)]
cris.md: Use match_test rather than eq/ne symbol_ref throughout file.

gcc/
* config/cris/cris.md: Use match_test rather than eq/ne symbol_ref
throughout file.

From-SVN: r178760

13 years agomips.md: Use match_test rather than eq/ne symbol_ref throughout file.
Richard Sandiford [Sun, 11 Sep 2011 17:19:55 +0000 (17:19 +0000)]
mips.md: Use match_test rather than eq/ne symbol_ref throughout file.

gcc/
* config/mips/mips.md: Use match_test rather than eq/ne symbol_ref
throughout file.
* config/mips/sb1.md: Likewise.
* config/mips/predicates.md: Replace (match_test "!...")
with (not (match_test "..."))
* config/mips/constraints.md: Likewise.

From-SVN: r178759

13 years agoDaily bump.
GCC Administrator [Sun, 11 Sep 2011 00:20:00 +0000 (00:20 +0000)]
Daily bump.

From-SVN: r178753

13 years agoCheck ia32 instead of ilp32.
H.J. Lu [Sat, 10 Sep 2011 19:15:38 +0000 (19:15 +0000)]
Check ia32 instead of ilp32.

2011-09-10  H.J. Lu  <hongjiu.lu@intel.com>

* gcc.dg/sibcall-6.c: Check ia32 instead of ilp32.

From-SVN: r178749

13 years agore PR fortran/49479 (reshape / optionals / zero sized arrays)
Thomas Koenig [Sat, 10 Sep 2011 14:06:57 +0000 (14:06 +0000)]
re PR fortran/49479 (reshape / optionals / zero sized arrays)

2011-09-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/49479
* generated/m4/ifunction.m4:  Always call internal_malloc_size
even when there is a zero-sized return array.
* generated/generated/maxloc1_16_i16.c: Regenerated.
* generated/generated/maxloc1_16_i1.c: Regenerated.
* generated/generated/maxloc1_16_i2.c: Regenerated.
* generated/generated/maxloc1_16_i4.c: Regenerated.
* generated/generated/maxloc1_16_i8.c: Regenerated.
* generated/generated/maxloc1_16_r10.c: Regenerated.
* generated/generated/maxloc1_16_r16.c: Regenerated.
* generated/generated/maxloc1_16_r4.c: Regenerated.
* generated/generated/maxloc1_16_r8.c: Regenerated.
* generated/generated/maxloc1_4_i16.c: Regenerated.
* generated/generated/maxloc1_4_i1.c: Regenerated.
* generated/generated/maxloc1_4_i2.c: Regenerated.
* generated/generated/maxloc1_4_i4.c: Regenerated.
* generated/generated/maxloc1_4_i8.c: Regenerated.
* generated/generated/maxloc1_4_r10.c: Regenerated.
* generated/generated/maxloc1_4_r16.c: Regenerated.
* generated/generated/maxloc1_4_r4.c: Regenerated.
* generated/generated/maxloc1_4_r8.c: Regenerated.
* generated/generated/maxloc1_8_i16.c: Regenerated.
* generated/generated/maxloc1_8_i1.c: Regenerated.
* generated/generated/maxloc1_8_i2.c: Regenerated.
* generated/generated/maxloc1_8_i4.c: Regenerated.
* generated/generated/maxloc1_8_i8.c: Regenerated.
* generated/generated/maxloc1_8_r10.c: Regenerated.
* generated/generated/maxloc1_8_r16.c: Regenerated.
* generated/generated/maxloc1_8_r4.c: Regenerated.
* generated/generated/maxloc1_8_r8.c: Regenerated.
* generated/generated/maxval_i16.c: Regenerated.
* generated/generated/maxval_i1.c: Regenerated.
* generated/generated/maxval_i2.c: Regenerated.
* generated/generated/maxval_i4.c: Regenerated.
* generated/generated/maxval_i8.c: Regenerated.
* generated/generated/maxval_r10.c: Regenerated.
* generated/generated/maxval_r16.c: Regenerated.
* generated/generated/maxval_r4.c: Regenerated.
* generated/generated/maxval_r8.c: Regenerated.
* generated/generated/minloc1_16_i16.c: Regenerated.
* generated/generated/minloc1_16_i1.c: Regenerated.
* generated/generated/minloc1_16_i2.c: Regenerated.
* generated/generated/minloc1_16_i4.c: Regenerated.
* generated/generated/minloc1_16_i8.c: Regenerated.
* generated/generated/minloc1_16_r10.c: Regenerated.
* generated/generated/minloc1_16_r16.c: Regenerated.
* generated/generated/minloc1_16_r4.c: Regenerated.
* generated/generated/minloc1_16_r8.c: Regenerated.
* generated/generated/minloc1_4_i16.c: Regenerated.
* generated/generated/minloc1_4_i1.c: Regenerated.
* generated/generated/minloc1_4_i2.c: Regenerated.
* generated/generated/minloc1_4_i4.c: Regenerated.
* generated/generated/minloc1_4_i8.c: Regenerated.
* generated/generated/minloc1_4_r10.c: Regenerated.
* generated/generated/minloc1_4_r16.c: Regenerated.
* generated/generated/minloc1_4_r4.c: Regenerated.
* generated/generated/minloc1_4_r8.c: Regenerated.
* generated/generated/minloc1_8_i16.c: Regenerated.
* generated/generated/minloc1_8_i1.c: Regenerated.
* generated/generated/minloc1_8_i2.c: Regenerated.
* generated/generated/minloc1_8_i4.c: Regenerated.
* generated/generated/minloc1_8_i8.c: Regenerated.
* generated/generated/minloc1_8_r10.c: Regenerated.
* generated/generated/minloc1_8_r16.c: Regenerated.
* generated/generated/minloc1_8_r4.c: Regenerated.
* generated/generated/minloc1_8_r8.c: Regenerated.
* generated/generated/minval_i16.c: Regenerated.
* generated/generated/minval_i1.c: Regenerated.
* generated/generated/minval_i2.c: Regenerated.
* generated/generated/minval_i4.c: Regenerated.
* generated/generated/minval_i8.c: Regenerated.
* generated/generated/minval_r10.c: Regenerated.
* generated/generated/minval_r16.c: Regenerated.
* generated/generated/minval_r4.c: Regenerated.
* generated/generated/minval_r8.c: Regenerated.
* generated/generated/product_c10.c: Regenerated.
* generated/generated/product_c16.c: Regenerated.
* generated/generated/product_c4.c: Regenerated.
* generated/generated/product_c8.c: Regenerated.
* generated/generated/product_i16.c: Regenerated.
* generated/generated/product_i1.c: Regenerated.
* generated/generated/product_i2.c: Regenerated.
* generated/generated/product_i4.c: Regenerated.
* generated/generated/product_i8.c: Regenerated.
* generated/generated/product_r10.c: Regenerated.
* generated/generated/product_r16.c: Regenerated.
* generated/generated/product_r4.c: Regenerated.
* generated/generated/product_r8.c: Regenerated.
* generated/generated/sum_c10.c: Regenerated.
* generated/generated/sum_c16.c: Regenerated.
* generated/generated/sum_c4.c: Regenerated.
* generated/generated/sum_c8.c: Regenerated.
* generated/generated/sum_i16.c: Regenerated.
* generated/generated/sum_i1.c: Regenerated.
* generated/generated/sum_i2.c: Regenerated.
* generated/generated/sum_i4.c: Regenerated.
* generated/generated/sum_i8.c: Regenerated.
* generated/generated/sum_r10.c: Regenerated.
* generated/generated/sum_r16.c: Regenerated.
* generated/generated/sum_r4.c: Regenerated.
* generated/generated/sum_r8.c: Regenerated.

From-SVN: r178748

13 years agoFix using package name as composite literal struct key.
Ian Lance Taylor [Sat, 10 Sep 2011 04:12:07 +0000 (04:12 +0000)]
Fix using package name as composite literal struct key.

From-SVN: r178747

13 years agotuple: Use everywhere std::size_t...
Paolo Carlini [Sat, 10 Sep 2011 00:47:02 +0000 (00:47 +0000)]
tuple: Use everywhere std::size_t...

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

* include/std/tuple: Use everywhere std::size_t... instead of int...
* include/std/functional: Likewise.
* include/std/scoped_allocator: Likewise.
* include/bits/stl_pair.h: Likewise.

From-SVN: r178746

13 years agoDaily bump.
GCC Administrator [Sat, 10 Sep 2011 00:19:17 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r178745

13 years agore PR target/49030 (ICE in get_arm_condition_code, at config/arm/arm.c:17180)
Georg-Johann Lay [Fri, 9 Sep 2011 17:00:26 +0000 (17:00 +0000)]
re PR target/49030 (ICE in get_arm_condition_code, at config/arm/arm.c:17180)

PR target/49030
* gcc.dg/torture/pr49030.c: Run only if target int32plus.

From-SVN: r178736

13 years agoarm-cores.def (generic-armv7-a): New architecture.
Andrew Stubbs [Fri, 9 Sep 2011 13:57:41 +0000 (13:57 +0000)]
arm-cores.def (generic-armv7-a): New architecture.

2011-09-09  Andrew Stubbs  <ams@codesourcery.com>

gcc/
* config/arm/arm-cores.def (generic-armv7-a): New architecture.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm-tune.md: Regenerate.
* config/arm/arm.c (arm_file_start): Output .arch directive when
user passes -mcpu=generic-*.
(arm_issue_rate): Add genericv7a support.
* config/arm/arm.h (EXTRA_SPECS): Add asm_cpu_spec.
(ASM_CPU_SPEC): New define.
* config/arm/elf.h (ASM_SPEC): Use %(asm_cpu_spec).
* config/arm/semi.h (ASM_SPEC): Likewise.
* doc/invoke.texi (ARM Options): Document -mcpu=generic-*
and -mtune=generic-*.

From-SVN: r178731

13 years agore PR target/49614 (FAIL: gcc.dg/vmx/gcc-bug-i.c -O0 (test for excess errors))
Iain Sandoe [Fri, 9 Sep 2011 13:51:12 +0000 (13:51 +0000)]
re PR target/49614 (FAIL: gcc.dg/vmx/gcc-bug-i.c  -O0  (test for excess errors))

gcc/testsuite:

PR target/49614
* gcc.dg/vmx/gcc-bug-i.c (inline_me): Declare 'inline'.

From-SVN: r178730

13 years agore PR tree-optimization/50328 (reduction with constant or invariant not vectorized)
Richard Guenther [Fri, 9 Sep 2011 12:35:11 +0000 (12:35 +0000)]
re PR tree-optimization/50328 (reduction with constant or invariant not vectorized)

2011-09-09  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/50328
* tree-vect-loop.c (vect_is_simple_reduction_1): Allow one
constant or default-def operand.

* gcc.dg/vect/fast-math-vect-outer-7.c: New testcase.

From-SVN: r178728

13 years agotree-ssa-pre.c (create_expression_by_pieces): Fold the last statement.
Richard Guenther [Fri, 9 Sep 2011 12:31:33 +0000 (12:31 +0000)]
tree-ssa-pre.c (create_expression_by_pieces): Fold the last statement.

2011-09-09  Richard Guenther  <rguenther@suse.de>

* tree-ssa-pre.c (create_expression_by_pieces): Fold the
last statement.

From-SVN: r178727

13 years agogimple.h (fold_stmt_inplace): Adjust to take a gimple_stmt_iterator instead of a...
Richard Guenther [Fri, 9 Sep 2011 11:52:51 +0000 (11:52 +0000)]
gimple.h (fold_stmt_inplace): Adjust to take a gimple_stmt_iterator instead of a statement.

2011-09-09  Richard Guenther  <rguenther@suse.de>

* gimple.h (fold_stmt_inplace): Adjust to take a gimple_stmt_iterator
instead of a statement.
* gimple-fold.c (fold_stmt_inplace): Likewise.
* sese.c (graphite_copy_stmts_from_block): Adjust.
* tree-ssa-dom.c (propagate_rhs_into_lhs): Likewise.
* tree-ssa-forwprop.c (forward_propagate_into_comparison): Use
fold_stmt.
(forward_propagate_addr_into_variable_array_index): Likewise.
(forward_propagate_addr_expr_1): adjust.
(associate_plusminus): Likewise.
(ssa_forward_propagate_and_combine): Likewise.
* tree-ssa-mathopts.c (replace_reciprocal): Adjust.
(execute_cse_reciprocals): Likewise.
* tree-ssa.c (insert_debug_temp_for_var_def): Adjust.

From-SVN: r178726

13 years agomn10300.c (mn10300_split_and_operand_count): Return a positive value to indicate...
Nick Clifton [Fri, 9 Sep 2011 10:58:10 +0000 (10:58 +0000)]
mn10300.c (mn10300_split_and_operand_count): Return a positive value to indicate that the bits at the bottom of the register...

* config/mn10300/mn10300.c (mn10300_split_and_operand_count):
Return a positive value to indicate that the bits at the
bottom of the register should be cleared.

From-SVN: r178724

13 years agotree-ssa-operands.c (swap_tree_operands): Always adjust existing operand positions.
Richard Guenther [Fri, 9 Sep 2011 10:31:10 +0000 (10:31 +0000)]
tree-ssa-operands.c (swap_tree_operands): Always adjust existing operand positions.

2011-09-09  Richard Guenther  <rguenther@suse.de>

* tree-ssa-operands.c (swap_tree_operands): Always adjust
existing operand positions.

From-SVN: r178723

13 years agore PR middle-end/50333 (internal compiler error: in extract_ops_from_tree, at gimple...
Richard Guenther [Fri, 9 Sep 2011 09:06:49 +0000 (09:06 +0000)]
re PR middle-end/50333 (internal compiler error: in extract_ops_from_tree, at gimple.h:1909)

2011-09-09  Richard Guenther  <rguenther@suse.de>

PR middle-end/50333
* tree-data-ref.c (split_constant_offset): Do not try to handle
ternary ops.

* gcc.dg/torture/pr50333.c: New testcase.

From-SVN: r178720

13 years agoDaily bump.
GCC Administrator [Fri, 9 Sep 2011 00:19:15 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r178717

13 years agore PR libstdc++/50336 (LWG issue 445)
Paolo Carlini [Thu, 8 Sep 2011 22:42:21 +0000 (22:42 +0000)]
re PR libstdc++/50336 (LWG issue 445)

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

PR libstdc++/50336
* include/bits/streambuf_iterator.h (class istreambuf_iterator):
Implement LWG 445 in C++0x mode.
* testsuite/24_iterators/istreambuf_iterator/requirements/dr445.cc:
New.

From-SVN: r178713

13 years agore PR c/50332 (FAIL: gcc.dg/attr-invalid.c)
Dodji Seketeli [Thu, 8 Sep 2011 21:46:14 +0000 (21:46 +0000)]
re PR c/50332 (FAIL: gcc.dg/attr-invalid.c)

Fix PR c/50332

gcc/testsuite/

* gcc.dg/attr-invalid.c: Adjust as __attribute__((used) is no
longer ignored on typedefs.

From-SVN: r178712

13 years agoutils.c (unchecked_convert): Use a field of the right precision when converting to...
Eric Botcazou [Thu, 8 Sep 2011 21:12:37 +0000 (21:12 +0000)]
utils.c (unchecked_convert): Use a field of the right precision when converting to or from an integral type...

* gcc-interface/utils.c (unchecked_convert): Use a field of the right
precision when converting to or from an integral type whose precision
is not equal to its size.

From-SVN: r178711

13 years agore PR tree-optimization/50318 (ICE optimizing widening multiply-and-accumulate)
Andrew Stubbs [Thu, 8 Sep 2011 19:45:37 +0000 (19:45 +0000)]
re PR tree-optimization/50318 (ICE optimizing widening multiply-and-accumulate)

2011-09-08  Andrew Stubbs  <ams@codesourcery.com>

PR tree-optimization/50318

gcc/
* tree-ssa-math-opts.c (convert_plusminus_to_widen): Correct
typo in use of mult_rhs1 and mult_rhs2.

gcc/testsuite/
* gcc.target/arm/pr50318-1.c: New file.

From-SVN: r178708

13 years ago* config/i386.c (standard_sse_constant_opcode): Fix last commit.
Uros Bizjak [Thu, 8 Sep 2011 18:30:43 +0000 (20:30 +0200)]
* config/i386.c (standard_sse_constant_opcode): Fix last commit.

From-SVN: r178705

13 years agoi386.c (standard_sse_constant_p): Handle AVX2 modes.
Uros Bizjak [Thu, 8 Sep 2011 18:24:04 +0000 (20:24 +0200)]
i386.c (standard_sse_constant_p): Handle AVX2 modes.

2011-09-08  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.c (standard_sse_constant_p): Handle AVX2 modes.
(standard_sse_constant_opcode) <case 2>: Change vpcmpeqd template.

testsuite/ChangeLog:

2011-09-08  Uros Bizjak  <ubizjak@gmail.com>

* gcc.target/i386/all_one_m256i.c: New test.

From-SVN: r178704

13 years agoarm.md (push_multi): Emit predicates.
Bernd Schmidt [Thu, 8 Sep 2011 16:29:17 +0000 (16:29 +0000)]
arm.md (push_multi): Emit predicates.

* config/arm/arm.md (push_multi): Emit predicates.
(push_fp_multi): Likewise.
* config/arm/arm.c (vfp_output_fstmd): Likewise.

From-SVN: r178700

13 years agotrans-array.c (gfc_trans_constant_array_constructor): Remove superfluous initialisati...
Mikael Morin [Thu, 8 Sep 2011 15:40:48 +0000 (17:40 +0200)]
trans-array.c (gfc_trans_constant_array_constructor): Remove superfluous initialisation of DIM field.

2011-09-08  Mikael Morin  <mikael.morin@sfr.fr>

* trans-array.c (gfc_trans_constant_array_constructor): Remove
superfluous initialisation of DIM field.
(gfc_trans_array_constructor): Assert that DIMEN field is properly set.
(gfc_conv_expr_descriptor): Ditto.
* trans-expr.c (gfc_conv_procedure_call): Ditto.

From-SVN: r178698

13 years agotrans-array.h (gfc_get_scalar_ss): New prototype.
Mikael Morin [Thu, 8 Sep 2011 15:30:39 +0000 (17:30 +0200)]
trans-array.h (gfc_get_scalar_ss): New prototype.

2011-09-08  Mikael Morin  <mikael.morin@sfr.fr>

* trans-array.h (gfc_get_scalar_ss): New prototype.
* trans-array.c (gfc_get_scalar_ss): New function.
(gfc_walk_variable_expr, gfc_walk_op_expr,
gfc_walk_elemental_function_args): Re-use gfc_get_scalar_ss.
* trans-expr.c (gfc_trans_subarray_assign): Ditto.
(gfc_trans_assignment_1): Ditto.
* trans-stmt.c (compute_inner_temp_size, gfc_trans_where_assign,
gfc_trans_where_3): Ditto.

From-SVN: r178697

13 years agotrans-array.h (gfc_get_temp_ss): New prototype.
Mikael Morin [Thu, 8 Sep 2011 15:18:20 +0000 (17:18 +0200)]
trans-array.h (gfc_get_temp_ss): New prototype.

2011-09-08  Mikael Morin  <mikael.morin@sfr.fr>

* trans-array.h (gfc_get_temp_ss): New prototype.
* trans-array.c (gfc_get_temp_ss): New function.
(gfc_conv_resolve_dependencies): Re-use gfc_get_temp_ss.
(gfc_conv_expr_descriptor): Ditto.
* trans-expr.c (gfc_conv_subref_array_arg): Ditto.

From-SVN: r178696

13 years agotrans-array.h (gfc_get_array_ss): New prototype.
Mikael Morin [Thu, 8 Sep 2011 15:07:01 +0000 (17:07 +0200)]
trans-array.h (gfc_get_array_ss): New prototype.

2011-09-08  Mikael Morin  <mikael.morin@sfr.fr>

* trans-array.h (gfc_get_array_ss): New prototype.
* trans-array.c (gfc_get_array_ss): New function.
(gfc_walk_variable_expr, gfc_walk_function_expr,
gfc_walk_array_constructor): Re-use gfc_get_array_ss.
* trans-expr.c (gfc_trans_subarray_assign): Ditto.
* trans-intrinsic.c (gfc_walk_intrinsic_bound,
gfc_walk_intrinsic_libfunc): Ditto.
* trans-io.c (transfer_array_component): Ditto.

From-SVN: r178695

13 years agore PR c++/50324 ([C++0x] SFINAE does not handle the object creation of an incomplete...
Paolo Carlini [Thu, 8 Sep 2011 14:58:21 +0000 (14:58 +0000)]
re PR c++/50324 ([C++0x] SFINAE does not handle the object creation of an incomplete type)

/cp
2011-09-08  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50324
* typeck2.c (digest_init_r): Call complete_type_or_maybe_complain
instead of complete_type_or_else.

/testsuite
2011-09-08  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50324
* g++.dg/cpp0x/sfinae28.C: New.

From-SVN: r178694

13 years agoPR c++/33255 - Support -Wunused-local-typedefs warning
Dodji Seketeli [Thu, 8 Sep 2011 13:54:24 +0000 (13:54 +0000)]
PR c++/33255 - Support -Wunused-local-typedefs warning

gcc/

* c-decl.c (lookup_name): Use the new
maybe_record_typedef_use.
(pushdecl): Use the new
record_locally_defined_typedef.
(store_parm_decls): Allocate cfun->language.
(finish_function): Use the new maybe_warn_unused_local_typedefs,
and free cfun->language.
(c_push_function_context): Allocate cfun->language here only if
needed.
(c_pop_function_context): Likewise, mark cfun->language
for collection only when it should be done.
* c-common.c (handle_used_attribute): Don't ignore TYPE_DECL
nodes.
* c-typeck.c (c_expr_sizeof_type, c_cast_expr): Use the new
maybe_record_local_typedef_use.

gcc/c-family

* c-common.h (struct c_language_function::local_typedefs): New
field.
(record_locally_defined_typedef, maybe_record_typedef_use)
(maybe_warn_unused_local_typedefs): Declare new functions.
* c-common.c (record_locally_defined_typedef)
(maybe_record_typedef_use)
(maybe_warn_unused_local_typedefs): Define new functions.
* c.opt: Declare new -Wunused-local-typedefs flag.

gcc/cp

* name-lookup.c (pushdecl_maybe_friend_1): Use the new
record_locally_defined_typedef.
* decl.c (finish_function): Use the new
maybe_warn_unused_local_typedefs.
(grokfield): Use the new record_locally_defined_typedef.
* parser.c (lookup_name): Use the new maybe_record_typedef_use.

gcc/doc/

* invoke.texi: Update documentation for -Wunused-local-typedefs.

gcc/testsuite/

* g++.dg/warn/Wunused-local-typedefs.C: New test file.
* c-c++-common/Wunused-local-typedefs.c: Likewise.

libstdc++-v3/

* include/ext/bitmap_allocator.h
(__detail::__mini_vector::__lower_bound): Remove unused typedef.
* src/istream.cc (std::operator>>(basic_istream<char>& __in,
basic_string<char>& __str)): Likewise.
(std::getline): Likewise.
* src/valarray.cc (__valarray_product): Likewise.

From-SVN: r178692

13 years agoImprove AGU stalls avoidance optimization.
Enkovich Ilya [Thu, 8 Sep 2011 13:41:27 +0000 (13:41 +0000)]
Improve AGU stalls avoidance optimization.

2011-09-08  Enkovich Ilya  <ilya.enkovich@intel.com>

* config/i386/i386-protos.h (ix86_lea_outperforms): New.
(ix86_avoid_lea_for_add): Likewise.
(ix86_avoid_lea_for_addr): Likewise.
(ix86_split_lea_for_addr): Likewise.

* config/i386/i386.c (LEA_MAX_STALL): New.
(increase_distance): Likewise.
(insn_defines_reg): Likewise.
(insn_uses_reg_mem): Likewise.
(distance_non_agu_define_in_bb): Likewise.
(distance_agu_use_in_bb): Likewise.
(ix86_lea_outperforms): Likewise.
(ix86_ok_to_clobber_flags): Likewise.
(ix86_avoid_lea_for_add): Likewise.
(ix86_avoid_lea_for_addr): Likewise.
(ix86_split_lea_for_addr): Likewise.
(distance_non_agu_define): Search in pred BBs added.
(distance_agu_use): Search in succ BBs added.
(IX86_LEA_PRIORITY): Value changed from 2 to 0.
(LEA_SEARCH_THRESHOLD): Now depends on LEA_MAX_STALL.
(ix86_lea_for_add_ok): Use ix86_lea_outperforms to make decision.

* config/i386/i386.md: Split added to transform non destructive
add into move and add.
(lea_1): transformed into insn_and_split to avoid AGU stalls.
(lea<mode>_2): Likewise.

From-SVN: r178689

13 years agore PR tree-optimization/50287 (FAIL: gcc.c-torture/execute/builtins/vsnprintf-chk...
Martin Jambor [Thu, 8 Sep 2011 13:09:38 +0000 (15:09 +0200)]
re PR tree-optimization/50287 (FAIL: gcc.c-torture/execute/builtins/vsnprintf-chk.c compilation, -O2 -flto)

2011-09-08  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/50287
* ipa-split.c (split_function): Do not create SSA names for
non-gimple-registers.

* testsuite/gcc.dg/torture/pr50287.c: New test.

From-SVN: r178688

13 years agore PR tree-optimization/19831 (Missing DSE/malloc/free optimization)
Richard Guenther [Thu, 8 Sep 2011 13:00:23 +0000 (13:00 +0000)]
re PR tree-optimization/19831 (Missing DSE/malloc/free optimization)

2011-09-08  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/19831
* tree-ssa-dce.c (mark_all_reaching_defs_necessary_1): Also
skip builtins with vdefs that do not really store something.
(propagate_necessity): For calls to free that we can associate
with an allocation function do not mark the freed pointer
definition necessary.
(eliminate_unnecessary_stmts): Remove a call to free if
the associated call to an allocation function is not necessary.

* gcc.dg/tree-ssa/pr19831-1.c: New testcase.
* gcc.dg/tree-ssa/pr19831-2.c: Likewise.
* gcc.dg/tree-ssa/pr19831-3.c: Likewise.
* gcc.dg/errno-1.c: Adjust.

From-SVN: r178687

13 years agore PR tree-optimization/19831 (Missing DSE/malloc/free optimization)
Richard Guenther [Thu, 8 Sep 2011 09:21:39 +0000 (09:21 +0000)]
re PR tree-optimization/19831 (Missing DSE/malloc/free optimization)

2011-09-08  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/19831
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Do not mark
allocation functions as necessary.

* gcc.dg/tree-ssa/ssa-dce-8.c: New testcase.

From-SVN: r178683

13 years agopart of restore of powerpc-darwin Ada bootstrap
Iain Sandoe [Thu, 8 Sep 2011 09:20:12 +0000 (09:20 +0000)]
part of restore of powerpc-darwin Ada bootstrap

* traceback.c (Darwin) USE_GCC_UNWINDER for Darwin
versions >= 8.

From-SVN: r178682

13 years agomake darwin port a little more cross & cross native build friendly.
Iain Sandoe [Thu, 8 Sep 2011 07:28:11 +0000 (07:28 +0000)]
make darwin port a little more cross & cross native build friendly.

*config/darwin-driver.c (darwin_find_version_from_kernel): New routine
cut from ... (darwin_default_min_version): Amended to provide defaults
for the cross directory case.
(darwin_driver_init): call darwin_default_min_version unconditionally.
* config/darwin.h (DEF_MIN_OSX_VERSION): New.
* config/darwin9.h: Likewise.
* config/darwin10.h: Likewise.
* config/rs6000/darwin7.h: Likewise.

From-SVN: r178679

13 years agore PR fortran/44646 ([F08] Implement DO CONCURRENT)
Tobias Burnus [Thu, 8 Sep 2011 06:38:13 +0000 (08:38 +0200)]
re PR fortran/44646 ([F08] Implement DO CONCURRENT)

gcc/fortran/
2011-09-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44646
        * decl.c (gfc_match_entry, gfc_match_end): Handle
        * COMP_DO_CONCURRENT.
        * dump-parse-tree.c (show_code_node): Handle EXEC_DO_CONCURRENT.
        * gfortran.h (gfc_exec_op): Add EXEC_DO_CONCURRENT.
        * match.c (gfc_match_critical, match_exit_cycle,
        * gfc_match_stopcode,
        lock_unlock_statement, sync_statement, gfc_match_allocate,
        gfc_match_deallocate, gfc_match_return): Add DO CONCURRENT diagnostic.
        (gfc_match_do): Match DO CONCURRENT.
        (match_derived_type_spec, match_type_spec, gfc_free_forall_iterator,
        match_forall_iterator, match_forall_header, match_simple_forall,
        gfc_match_forall): Move up in the file.
        * parse.c (check_do_closure, parse_do_block): Handle do
        * concurrent.
        * parse.h (gfc_compile_state): Add COMP_DO_CONCURRENT.
        * resolve.c (do_concurrent_flag): New global variable.
        (resolve_function, pure_subroutine, resolve_branch,
        gfc_resolve_blocks, resolve_code, resolve_types): Add do concurrent
        diagnostic.
        * st.c (gfc_free_statement): Handle EXEC_DO_CONCURRENT.
        * trans-stmt.c (gfc_trans_do_concurrent): New function.
        (gfc_trans_forall_1): Handle do concurrent.
        * trans-stmt.h (gfc_trans_do_concurrent): New function
        * prototype.
        * trans.c (trans_code): Call it.
        * frontend-passes.c (gfc_code_walker): Handle
        * EXEC_DO_CONCURRENT.

gcc/testsuite/
2011-09-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44646
        * gfortran.dg/do_concurrent_1.f90: New.
        * gfortran.dg/do_concurrent_2.f90: New.

From-SVN: r178677

13 years agore PR target/50310 (ICE: in gen_vcondv2div2df, at config/i386/sse.md:1435 with -O...
Jakub Jelinek [Thu, 8 Sep 2011 05:58:54 +0000 (07:58 +0200)]
re PR target/50310 (ICE: in gen_vcondv2div2df, at config/i386/sse.md:1435 with -O -ftree-vectorize and __builtin_isunordered())

PR target/50310
* config/i386/i386.c (ix86_prepare_sse_fp_compare_args): Return
code early if TARGET_AVX.
(ix86_expand_fp_vcond): Handle LTGT and UNEQ.

* gcc.c-torture/execute/ieee/pr50310.c: New test.
* gcc.dg/pr50310-2.c: New test.

From-SVN: r178673

13 years agoat.cc: Revert to...
François Dumont [Thu, 8 Sep 2011 01:24:11 +0000 (03:24 +0200)]
at.cc: Revert to...

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

* testsuite/23_containers/array/at.cc: Revert to...
* testsuite/23_containers/array/at_neg.cc: ...this.

From-SVN: r178670

13 years agoDaily bump.
GCC Administrator [Thu, 8 Sep 2011 00:18:59 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r178669

13 years agore PR fortran/48095 ([OOP] Invalid assignment to procedure pointer component not...
Janus Weil [Wed, 7 Sep 2011 22:20:47 +0000 (00:20 +0200)]
re PR fortran/48095 ([OOP] Invalid assignment to procedure pointer component not rejected)

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

PR fortran/48095
* primary.c (gfc_match_structure_constructor): Handle parsing of
procedure pointers components in structure constructors.
* resolve.c (resolve_structure_cons): Check interface of procedure
pointer components. Changed wording of some error messages.

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

PR fortran/48095
* gfortran.dg/derived_constructor_comps_2.f90: Modified.
* gfortran.dg/impure_constructor_1.f90: Modified.
* gfortran.dg/proc_ptr_comp_33.f90: New.

From-SVN: r178665

13 years agore PR target/50310 (ICE: in gen_vcondv2div2df, at config/i386/sse.md:1435 with -O...
Jakub Jelinek [Wed, 7 Sep 2011 19:46:14 +0000 (21:46 +0200)]
re PR target/50310 (ICE: in gen_vcondv2div2df, at config/i386/sse.md:1435 with -O -ftree-vectorize and __builtin_isunordered())

* config/i386/sse.md (sseinsnmode): Remove 32-byte integer vector
duplicates.

PR target/50310
* config/i386/sse.md (*andnot<mode>3, *<code><mode>3): Fix up
"mode" attribute computation.

* gcc.dg/pr50310-1.c: New test.

From-SVN: r178659

13 years agobb-reorder.c (insert_section_boundary_note): Don't check optimize_function_for_speed_p.
Bernd Schmidt [Wed, 7 Sep 2011 17:38:29 +0000 (17:38 +0000)]
bb-reorder.c (insert_section_boundary_note): Don't check optimize_function_for_speed_p.

* bb-reorder.c (insert_section_boundary_note): Don't check
optimize_function_for_speed_p.
(gate_handle_partition_blocks): Do it here instead.
(gate_handle_reorder_blocks): Move preliminary checks here ...
(rest_of_handle_reorder_blocks): ... from here.

From-SVN: r178657

13 years agore PR tree-optimization/48571 (Missed data-dependence for (bogus?) reconstructed...
Georg-Johann Lay [Wed, 7 Sep 2011 17:31:01 +0000 (17:31 +0000)]
re PR tree-optimization/48571 (Missed data-dependence for (bogus?) reconstructed array-refs)

PR middle-end/48571
* gcc.c-torture/execute/pr48571-1.c (bar): Use offsets sizeof(int)
instead of 4.

From-SVN: r178655

13 years agore PR c++/50309 ([C++0x] ICE: tree check: expected tree_list, have error_mark in...
Paolo Carlini [Wed, 7 Sep 2011 17:16:23 +0000 (17:16 +0000)]
re PR c++/50309 ([C++0x] ICE: tree check: expected tree_list, have error_mark in comp_except_specs, at cp/typeck.c:1014 on empty noexcept)

/cp
2011-09-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50309
* decl.c (grokdeclarator): Check u.function.exception_specification
for error_mark_node.

/testsuite
2011-09-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50309
* g++.dg/cpp0x/noexcept14.C: New.

From-SVN: r178654

13 years agore PR c++/50298 ([C++0x][constexpr] References cannot be bound to static constexpr...
Jason Merrill [Wed, 7 Sep 2011 17:11:49 +0000 (13:11 -0400)]
re PR c++/50298 ([C++0x][constexpr] References cannot be bound to static constexpr reference members)

PR c++/50298
* parser.c (cp_parser_member_declaration): Don't require a constant
rvalue here in C++0x.

From-SVN: r178652

13 years agopt.c (type_unification_real): Correct complain arg for tsubsting default template...
Jason Merrill [Wed, 7 Sep 2011 17:11:37 +0000 (13:11 -0400)]
pt.c (type_unification_real): Correct complain arg for tsubsting default template args.

* pt.c (type_unification_real): Correct complain arg for tsubsting
default template args.

From-SVN: r178651

13 years ago* pt.c (tsubst_aggr_type): Check TYPE_P before tsubsting.
Jason Merrill [Wed, 7 Sep 2011 17:11:20 +0000 (13:11 -0400)]
* pt.c (tsubst_aggr_type): Check TYPE_P before tsubsting.

From-SVN: r178650

13 years agosection1.c: Don't xfail for avr.
Georg-Johann Lay [Wed, 7 Sep 2011 16:55:08 +0000 (16:55 +0000)]
section1.c: Don't xfail for avr.

* gcc.dg/section1.c: Don't xfail for avr.

From-SVN: r178649

13 years agore PR testsuite/50322 ([avr]: fail: gcc.dg/tree-ssa/ivopts-lt.c)
Georg-Johann Lay [Wed, 7 Sep 2011 16:09:12 +0000 (16:09 +0000)]
re PR testsuite/50322 ([avr]: fail: gcc.dg/tree-ssa/ivopts-lt.c)

PR tree-optimization/50322
* gcc.dg/tree-ssa/ivopts-lt.c: Add xfails for avr.

From-SVN: r178646

13 years agoregrename.c (struct du_head): Make nregs signed.
Bernd Schmidt [Wed, 7 Sep 2011 15:57:45 +0000 (15:57 +0000)]
regrename.c (struct du_head): Make nregs signed.

* regrename.c (struct du_head): Make nregs signed.
(closed_chains): Remove.
(create_new_chain): Return the new chain.
(chain_from_id): New static function.
(dump_def_use_chain): Change argument to be an int, indicating
the first ID to print.  All callers changed.
(merge_overlapping_regs): Use chain_from_id.  Assert that
chains don't conflict with themselves.
(rename_chains): Take no argument.  Iterate over id_to_chain
rather to find chains to rename.  Clear tick before the main
loop.
(struct incoming_reg_info): New struct.
(struct bb_rename_info): New struct.
(init_rename_info, set_incoming_from_chain, merge_chains): New
static functions.
(regrename_analyze): New static function, broken out of
regrename_optimize.  Record and make use of open chain information
at basic block boundaries, and merge chains where possible.
(scan_rtx_reg): Make this_nregs signed.  Don't update
closed_chains.
(build_def_use): Return a bool to indicate success.  All callers
changed.  Don't initialize global data here.
(regrename_optimize): Move most code out of here into
regrename_analyze.
* regs.h (add_range_to_hard_reg_set, remove_range_from_hard_reg_set,
range_overlaps_hard_reg_set_p, range_in_hard_reg_set_p): New
static inline functions.
* vec.h (FOR_EACH_VEC_ELT_FROM): New macro.

From-SVN: r178645

13 years agopr49911.C: Added flag -fstrict-enums.
Martin Jambor [Wed, 7 Sep 2011 15:36:53 +0000 (17:36 +0200)]
pr49911.C: Added flag -fstrict-enums.

2011-09-07  Martin Jambor  <mjambor@suse.cz>

* g++.dg/tree-ssa/pr49911.C: Added flag -fstrict-enums.

From-SVN: r178642

13 years agore PR middle-end/50301 (416.gamess in SPEC CPU 2006 failed to build with LTO)
Martin Jambor [Wed, 7 Sep 2011 14:31:40 +0000 (16:31 +0200)]
re PR middle-end/50301 (416.gamess in SPEC CPU 2006 failed to build with LTO)

2011-09-07  Martin Jambor  <mjambor@suse.cz>

PR middle-end/50301
* ipa-cp.c (find_more_values_for_callers_subset): Check jump
function index bounds.
(perhaps_add_new_callers): Likewise.

From-SVN: r178640

13 years agore PR tree-optimization/49911 (SRA + DOM + VRP + -fstrict-enums incorrectly remove...
Martin Jambor [Wed, 7 Sep 2011 14:25:39 +0000 (16:25 +0200)]
re PR tree-optimization/49911 (SRA + DOM + VRP + -fstrict-enums incorrectly remove predicate)

2011-09-07  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/49911
* tree-sra.c (analyze_access_subtree): Change type of to-be-replaced
enumerations to the corresponding plain integer type.

* testsuite/g++.dg/tree-ssa/pr49911.C: New test.

From-SVN: r178639

13 years agore PR tree-optimization/50319 (if-conversion produces unvectorizable conditions)
Richard Guenther [Wed, 7 Sep 2011 14:19:33 +0000 (14:19 +0000)]
re PR tree-optimization/50319 (if-conversion produces unvectorizable conditions)

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

PR tree-optimization/50319
* tree-if-conv.c (set_bb_predicate): Assert we only set
canonical predicates.
(add_to_predicate_list): Simplify.  Allow TRUTH_NOT_EXPR
around canonical predicates.
(predicate_bbs): Do not re-gimplify already canonical
predicates.  Properly unshare them though.
(find_phi_replacement_condition): Simplify.

From-SVN: r178638

13 years agore PR target/49030 (ICE in get_arm_condition_code, at config/arm/arm.c:17180)
Richard Sandiford [Wed, 7 Sep 2011 13:48:03 +0000 (13:48 +0000)]
re PR target/49030 (ICE in get_arm_condition_code, at config/arm/arm.c:17180)

gcc/
PR target/49030
* config/arm/arm-protos.h (maybe_get_arm_condition_code): Declare.
* config/arm/arm.c (maybe_get_arm_condition_code): New function,
reusing the old code from get_arm_condition_code.  Return ARM_NV
for invalid comparison codes.
(get_arm_condition_code): Redefine in terms of
maybe_get_arm_condition_code.
* config/arm/predicates.md (arm_comparison_operator): Use
maybe_get_arm_condition_code.

gcc/testsuite/
PR target/49030
* gcc.dg/torture/pr49030.c: New test.

From-SVN: r178636

13 years agore PR fortran/50288 (FAIL: gfortran.dg/class_45b.f03)
Janus Weil [Wed, 7 Sep 2011 13:31:04 +0000 (15:31 +0200)]
re PR fortran/50288 (FAIL: gfortran.dg/class_45b.f03)

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

PR fortran/50288
* gfortran.dg/class_4c.f03: Modified ("dg-do link" and "dg-final").
* gfortran.dg/class_4d.f03: Deleted.
* gfortran.dg/class_45b.f03: Modififed ("dg-do link").

From-SVN: r178635

13 years agotree-ssa-forwprop.c (forward_propagate_into_gimple_cond): Canonicalize negated predic...
Richard Guenther [Wed, 7 Sep 2011 13:02:05 +0000 (13:02 +0000)]
tree-ssa-forwprop.c (forward_propagate_into_gimple_cond): Canonicalize negated predicates by swapping edges.

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

* tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
Canonicalize negated predicates by swapping edges.
(forward_propagate_into_cond): Likewise.

* gcc.dg/tree-ssa/forwprop-16.c: New testcase.

From-SVN: r178634

13 years agore PR tree-optimization/50213 (Regression in space-optimized code relative to 4.5.x)
Richard Guenther [Wed, 7 Sep 2011 11:28:39 +0000 (11:28 +0000)]
re PR tree-optimization/50213 (Regression in space-optimized code relative to 4.5.x)

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

PR tree-optimization/50213
* tree-flow.h (simple_iv_increment_p): Declare.
* tree-ssa-dom.c (simple_iv_increment_p): Export.  Also handle
POINTER_PLUS_EXPR.
* tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Do
not propagate simple IV counter increments.

From-SVN: r178633

13 years agorestore powerpc-darwin Ada boostrap.
Iain Sandoe [Wed, 7 Sep 2011 09:39:49 +0000 (09:39 +0000)]
restore powerpc-darwin Ada boostrap.

gcc:
* config/rs6000/rs6000.c (compute_save_world_info): Test
cfun->has_nonlocal_label to determine if the out-of-line save
world call may be used.
ada:
* gcc-interface/Makefile.in (darwin): Provide powerpc64 system
implementation.
* system-darwin-ppc64.ads: New file.

From-SVN: r178630

13 years agore PR tree-optimization/46021 (3 tree-ssa tests XPASS almost everywhere)
Jiangning Liu [Wed, 7 Sep 2011 08:25:38 +0000 (08:25 +0000)]
re PR tree-optimization/46021 (3 tree-ssa tests XPASS almost everywhere)

2011-09-07  Jiangning Liu  <jiangning.liu@arm.com>

PR tree-optimization/46021
* gcc.dg/tree-ssa/20040204-1.c: Don't XFAIL on arm*-*-*.

From-SVN: r178628

13 years agomn10300.c (mn10300_insert_setlb_lcc): Set the jump label on the parallel part of...
Nick Clifton [Wed, 7 Sep 2011 07:43:22 +0000 (07:43 +0000)]
mn10300.c (mn10300_insert_setlb_lcc): Set the jump label on the parallel part of the insn.

* config/mn10300/mn10300.c (mn10300_insert_setlb_lcc): Set the jump
label on the parallel part of the insn.

From-SVN: r178626

13 years agore PR rtl-optimization/50191 (Strange debug insn produced for TOC compiling 416.games...
Jakub Jelinek [Wed, 7 Sep 2011 07:32:46 +0000 (09:32 +0200)]
re PR rtl-optimization/50191 (Strange debug insn produced for TOC compiling 416.gamess with profile-generate)

PR debug/50191
* dwarf2out.c (mem_loc_descriptor) <case MEM>: Try
avoid_constant_pool_reference first instead of last.

From-SVN: r178625

13 years agoDaily bump.
GCC Administrator [Wed, 7 Sep 2011 00:18:56 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r178623

13 years agotuple (_Tuple_impl::_M_head, _M_tail): Mark constexpr.
Benjamin Kosnik [Wed, 7 Sep 2011 00:17:09 +0000 (00:17 +0000)]
tuple (_Tuple_impl::_M_head, _M_tail): Mark constexpr.

2011-09-06  Benjamin Kosnik  <bkoz@redhat.com>

* include/std/tuple (_Tuple_impl::_M_head, _M_tail): Mark constexpr.
(tuple(tuple&&)): Same.
(tuple(const tuple<_UElements...>& __in)): Same.
(tuple(tuple<_UElements...>&& __in)): Same.
(tuple_cat(const tuple<_TElements...>&, const tuple<_UElements...>&)):
Same.
(get): Same.
* include/std/array: Consolidate array::data usage.
* testsuite/23_containers/array/requirements/constexpr_functions.cc:
Remove extra include.
* testsuite/20_util/tuple/creation_functions/constexpr.cc: New.
* testsuite/20_util/tuple/cons/constexpr-2.cc: Add tests.
* testsuite/20_util/tuple/cons/constexpr-3.cc: Same.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust line numbers.

From-SVN: r178620

13 years agoUpdate documentation about tm_p.h
Michael Meissner [Tue, 6 Sep 2011 23:29:48 +0000 (23:29 +0000)]
Update documentation about tm_p.h

From-SVN: r178618

13 years agohashtable_policy.h (_Prime_rehash_policy:: _M_next_bkt): Cast _M_max_load_factor...
François Dumont [Tue, 6 Sep 2011 22:13:46 +0000 (22:13 +0000)]
hashtable_policy.h (_Prime_rehash_policy:: _M_next_bkt): Cast _M_max_load_factor to long double.

2011-09-06  François Dumont  <fdumont@gcc.gnu.org>
    Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/hashtable_policy.h (_Prime_rehash_policy::
_M_next_bkt): Cast _M_max_load_factor to long double.
(_Prime_rehash_policy::_M_bkt_for_elements): Use _M_next_bkt.
(_Prime_rehash_policy::_M_need_rehash): Likewise; cast all
float quantities to long double.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r178615

13 years agoFix altivec-17.C to match current compiler error message
Michael Meissner [Tue, 6 Sep 2011 22:06:59 +0000 (22:06 +0000)]
Fix altivec-17.C to match current compiler error message

From-SVN: r178614

13 years agoFix typo
Eric Botcazou [Tue, 6 Sep 2011 21:21:58 +0000 (21:21 +0000)]
Fix typo

From-SVN: r178612

13 years agore PR middle-end/50266 (ICE in decode_addr_const)
Eric Botcazou [Tue, 6 Sep 2011 21:17:46 +0000 (21:17 +0000)]
re PR middle-end/50266 (ICE in decode_addr_const)

PR middle-end/50266
* c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
computations.

From-SVN: r178611

13 years agoi386.c (ix86_function_value_regno_p): Use AX_REG.
Uros Bizjak [Tue, 6 Sep 2011 21:04:55 +0000 (23:04 +0200)]
i386.c (ix86_function_value_regno_p): Use AX_REG.

2011-09-06  Uros Bizjak  <ubizjak@gmail.com>

        * config/i386/i386.c (ix86_function_value_regno_p): Use AX_REG.
        (function_value_32): Do not check TARGET_MMX, TARGET_SSE or TARGET_AVX.

testsuite/ChangeLog:

2011-09-06  Uros Bizjak  <ubizjak@gmail.com>

        * gcc.target/i386/builtin-apply-mmx.c: Require ia32 effective target.

From-SVN: r178610

13 years ago* config/darwin10.h Remove duplicate LIB_SPEC.
Iain Sandoe [Tue, 6 Sep 2011 20:02:24 +0000 (20:02 +0000)]
* config/darwin10.h Remove duplicate LIB_SPEC.

From-SVN: r178609

13 years agoMakefile.in (gnatlib-shared-darwin): Remove reference to "-lm".
Iain Sandoe [Tue, 6 Sep 2011 19:21:27 +0000 (19:21 +0000)]
Makefile.in (gnatlib-shared-darwin): Remove reference to "-lm".

* gcc-interface/Makefile.in (gnatlib-shared-darwin): Remove
reference to "-lm".

From-SVN: r178608

13 years agoMakefile.in (darwin, SO_OPTS): Provide architecture size switches to the link phase...
Iain Sandoe [Tue, 6 Sep 2011 18:53:29 +0000 (18:53 +0000)]
Makefile.in (darwin, SO_OPTS): Provide architecture size switches to the link phase for shared libs.

* gcc-interface/Makefile.in (darwin, SO_OPTS): Provide architecture
size switches to the link phase for shared libs.

From-SVN: r178606

13 years agoMakefile.in (x86_64 darwin arch): Adjust LIBGNAT_TARGET_PAIRS for x86 and x86_64...
Iain Sandoe [Tue, 6 Sep 2011 18:38:41 +0000 (18:38 +0000)]
Makefile.in (x86_64 darwin arch): Adjust LIBGNAT_TARGET_PAIRS for x86 and x86_64 variants.

* gcc-interface/Makefile.in (x86_64 darwin arch): Adjust
LIBGNAT_TARGET_PAIRS for x86 and x86_64 variants.

From-SVN: r178605

13 years agore PR c++/50296 (New C++ test failures)
Jason Merrill [Tue, 6 Sep 2011 18:09:01 +0000 (14:09 -0400)]
re PR c++/50296 (New C++ test failures)

PR c++/50296
* semantics.c (register_constexpr_fundef): Call is_valid_constexpr_fn.
(cx_check_missing_mem_inits): Handle bases and empty trivial members.
(validate_constexpr_fundecl): Remove.
* decl.c (start_preparsed_function): Don't call it.
* cp-tree.h: Don't declare it.

From-SVN: r178604

13 years agoPR middle-end/44382: Tree reassociation improvement
Enkovich Ilya [Tue, 6 Sep 2011 16:42:47 +0000 (16:42 +0000)]
PR middle-end/44382: Tree reassociation improvement

gcc/

2011-09-06  Enkovich Ilya  <ilya.enkovich@intel.com>

PR middle-end/44382
* target.def (reassociation_width): New hook.

* doc/tm.texi.in (reassociation_width): Likewise.

* doc/tm.texi (reassociation_width): Likewise.

* doc/invoke.texi (tree-reassoc-width): New param documented.

* hooks.h (hook_int_uint_mode_1): New default hook.

* hooks.c (hook_int_uint_mode_1): Likewise.

* config/i386/i386.h (ix86_tune_indices): Add
X86_TUNE_REASSOC_INT_TO_PARALLEL and
X86_TUNE_REASSOC_FP_TO_PARALLEL.

(TARGET_REASSOC_INT_TO_PARALLEL): New.
(TARGET_REASSOC_FP_TO_PARALLEL): Likewise.

* config/i386/i386.c (initial_ix86_tune_features): Add
X86_TUNE_REASSOC_INT_TO_PARALLEL and
X86_TUNE_REASSOC_FP_TO_PARALLEL.

(ix86_reassociation_width) implementation of
new hook for i386 target.

* params.def (PARAM_TREE_REASSOC_WIDTH): New param added.

* tree-ssa-reassoc.c (get_required_cycles): New function.
(get_reassociation_width): Likewise.
(swap_ops_for_binary_stmt): Likewise.
(rewrite_expr_tree_parallel): Likewise.

(rewrite_expr_tree): Refactored. Part of code moved into
swap_ops_for_binary_stmt.

(reassociate_bb): Now checks reassociation width to be used
and call rewrite_expr_tree_parallel instead of rewrite_expr_tree
if needed.

gcc/testsuite/

2011-09-06  Enkovich Ilya  <ilya.enkovich@intel.com>

* gcc.dg/tree-ssa/pr38533.c (dg-options): Added option
--param tree-reassoc-width=1.

* gcc.dg/tree-ssa/reassoc-24.c: New test.
* gcc.dg/tree-ssa/reassoc-25.c: Likewise.

From-SVN: r178602

13 years agore PR target/47025 (Dead stores in variadic functions not eliminated)
Richard Guenther [Tue, 6 Sep 2011 15:56:20 +0000 (15:56 +0000)]
re PR target/47025 (Dead stores in variadic functions not eliminated)

2011-09-06  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/47025
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): BUILT_IN_VA_END
uses nothing.
(call_may_clobber_ref_p_1): BUILT_IN_VA_END is a barrier like
BUILT_IN_FREE.
(stmt_kills_ref_p_1): BUILT_IN_VA_END kills what its argument
definitely points to.
* tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
BUILT_IN_VA_START doesn't let its va_list argument escape.
* tree-ssa-dce.c (propagate_necessity): BUILT_IN_VA_END does
not make any previous stores necessary.

From-SVN: r178601

13 years agoMakefile.in, [...] (gnattools, [...]): New targets.
Arnaud Charlet [Tue, 6 Sep 2011 15:12:52 +0000 (15:12 +0000)]
Makefile.in, [...] (gnattools, [...]): New targets.

* gcc-interface/Makefile.in, gcc-interface/Make-lang.in
(gnattools, regnattools, cross-gnattools, canadian-gnattools,
gnatlib, gnatlib-sjlj, gnatlib-zcx, gnatlib-shared, gnatlib_and_tools):
New targets.
(TOOLS_FLAGS_TO_PASS): New.
(../stamp-tools): Reintroduce, to avoid merge conflicts.

From-SVN: r178600

13 years agoipa-inline.h (struct inline_summary): Move versionable flag...
Martin Jambor [Tue, 6 Sep 2011 14:46:55 +0000 (16:46 +0200)]
ipa-inline.h (struct inline_summary): Move versionable flag...

2011-09-06  Martin Jambor  <mjambor@suse.cz>

* ipa-inline.h (struct inline_summary): Move versionable flag...
* cgraph.h (struct cgraph_local_info): ...here
* ipa-cp.c (determine_versionability): Use the new versionable flag.
(determine_versionability): Likewise.
(ipcp_versionable_function_p): Likewise.
(ipcp_generate_summary): Likewise.
* ipa-inline-analysis.c (dump_inline_summary): Do not dump the
versionable flag.
(compute_inline_parameters): Do not clear the versionable flag.
(inline_read_section): Do not stream the versionable flag.
(inline_write_summary): Likewise.
* lto-cgraph.c (lto_output_node): Stream the versionable flag.
(input_overwrite_node): Likewise.

From-SVN: r178598

13 years agore PR tree-optimization/48149 (Piecewise complex pass-through not optimized)
Richard Guenther [Tue, 6 Sep 2011 14:36:00 +0000 (14:36 +0000)]
re PR tree-optimization/48149 (Piecewise complex pass-through not optimized)

2011-09-06  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/48149
* tree-ssa-sccvn.c (vn_get_expr_for): Simplify.  Fix tuplification bug.
(vn_valueize): Move earlier.
(valueize_expr): Use vn_valueize.
(simplify_binary_expression): Simplify, also combine COMPLEX_EXPR
operands.
(simplify_unary_expression): Simplify.

* gcc.dg/tree-ssa/ssa-fre-32.c: New testcase.

From-SVN: r178597

13 years agosem_ch10.adb, [...] (Not_Impl_Defined_Unit): New name for Is_RM_Defined_Unit.
Robert Dewar [Tue, 6 Sep 2011 13:31:15 +0000 (13:31 +0000)]
sem_ch10.adb, [...] (Not_Impl_Defined_Unit): New name for Is_RM_Defined_Unit.

2011-09-06  Robert Dewar  <dewar@adacore.com>

* sem_ch10.adb, impunit.ads, impunit.adb (Not_Impl_Defined_Unit): New
name for Is_RM_Defined_Unit. Also several fixes to this unit.

From-SVN: r178596

13 years agore PR tree-optimization/48317 (SCCVN does not handle vector constructors)
Richard Guenther [Tue, 6 Sep 2011 13:17:50 +0000 (13:17 +0000)]
re PR tree-optimization/48317 (SCCVN does not handle vector constructors)

2011-09-06  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/48317
* tree-ssa-sccvn.h (struct vn_nary_op_s): Make op a true
trailing array.
(sizeof_vn_nary_op): New inline function.
(vn_nary_op_lookup_pieces): Adjust.
(vn_nary_op_insert_pieces): Likewise.
* tree-ssa-sccvn.c (vn_nary_op_eq): Also compare the length.
(init_vn_nary_op_from_pieces): Adjust signature.  Deal with
any number of operands.
(vn_nary_length_from_stmt): New function.
(init_vn_nary_op_from_stmt): Adjust for CONSTRUCTOR handling.
(vn_nary_op_lookup_pieces): Adjust signature and allocate properly
sized temporary.
(vn_nary_op_lookup): Likewise.
(vn_nary_op_lookup_stmt): Likewise.
(vn_nary_op_insert_into): Likewise.
(vn_nary_op_insert_stmt): Likewise.
(visit_use): Handle CONSTRUCTOR as nary.
* tree-ssa-pre.c (phi_translate_1): Adjust.
(create_expression_by_pieces): Likewise.
(compute_avail): Likewise.

* gcc.dg/tree-ssa/ssa-fre-31.c: New testcase.

From-SVN: r178595

13 years agoimpunit.ads, [...] (Is_RM_Defined_Unit): New function.
Robert Dewar [Tue, 6 Sep 2011 13:09:41 +0000 (13:09 +0000)]
impunit.ads, [...] (Is_RM_Defined_Unit): New function.

2011-09-06  Robert Dewar  <dewar@adacore.com>

* impunit.ads, impunit.adb (Is_RM_Defined_Unit): New function.
* s-rident.ads: New restriction No_Implementation_Units
(this restriction is also part of the profile
No_Implementation_Extensions)
* sem_ch10.adb (Analyze_With_Clause): Add check for
No_Implementation_Units restriction.

From-SVN: r178594

13 years ago[multiple changes]
Arnaud Charlet [Tue, 6 Sep 2011 13:07:09 +0000 (15:07 +0200)]
[multiple changes]

2011-09-06  Jerome Guitton  <guitton@adacore.com>

* sysdep.c (__gnat_get_task_options): Disable VX_SPE_TASK
on vThreads.

2011-09-06  Thomas Quinot  <quinot@adacore.com>

* s-solita.adb: Minor reformatting.

2011-09-06  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Subprogram_Body_Helper): The body that
is a rewriting of an expression function does not freeze previous
entities.

2011-09-06  Robert Dewar  <dewar@adacore.com>

* impunit.adb (Is_Known_Unit): Fix bad handling of Ada 2012 case

From-SVN: r178593

13 years agoMakefile.in: Handle e500v2-wrs-vxworksae like powerpc-wrs-vxworksae.
Tristan Gingold [Tue, 6 Sep 2011 12:16:01 +0000 (12:16 +0000)]
Makefile.in: Handle e500v2-wrs-vxworksae like powerpc-wrs-vxworksae.

2011-09-06  Tristan Gingold  <gingold@adacore.com>

* gcc-interface/Makefile.in: Handle e500v2-wrs-vxworksae like
powerpc-wrs-vxworksae.

From-SVN: r178592

13 years ago[multiple changes]
Arnaud Charlet [Tue, 6 Sep 2011 12:14:30 +0000 (14:14 +0200)]
[multiple changes]

2011-09-06  Thomas Quinot  <quinot@adacore.com>

* s-os_lib.ads (Spawn): Minor documentation clarification,
Success is True for a zero exit status.

2011-09-06  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb: Add message for common iterator error.

2011-09-06  Ed Schonberg  <schonberg@adacore.com>

* exp_ch3.adb (Build_Initialization_Call): If the target is a
selected component discriminated by a current instance, replace
the constraint with a reference to the target object, regardless
of whether the context is an init_proc.

2011-09-06  Robert Dewar  <dewar@adacore.com>

* exp_attr.adb: Descriptor_Size is never static.

2011-09-06  Robert Dewar  <dewar@adacore.com>

* gnat_ugn.texi: Add documentation for LSLOC metric in gnatmetric

2011-09-06  Hristian Kirtchev  <kirtchev@adacore.com>

* gnat_rm.texi: Clarify that attribute Descriptor_Size is
non-static.

2011-09-06  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb (Resolve): An expression that is the body of an
expression function does not freeze.

2011-09-06  Matthew Heaney  <heaney@adacore.com>

* a-csquin.ads, a-cusyqu.adb, a-cbprqu.adb, a-cbsyqu.adb,
a-cuprqu.adb: Changed copyright notice to indicate current
year only.

2011-09-06  Vincent Celier  <celier@adacore.com>

* prj.adb: Minor spelling error fix in comment
* sem_res.adb: Minor reformatting

2011-09-06  Pascal Obry  <obry@adacore.com>

* sysdep.c (winflush_nt): Removed as not needed anymore.
(winflush_95): Likewise.
(winflush_init): Likewise.
(winflush_function): Likewise.
(getc_immediate_common): Remove call to winflush_function.

From-SVN: r178591

13 years agoexp_attr.adb (Expand_N_Attribute_Reference): Rewrite the processing for Descriptor_Size.
Hristian Kirtchev [Tue, 6 Sep 2011 12:03:30 +0000 (12:03 +0000)]
exp_attr.adb (Expand_N_Attribute_Reference): Rewrite the processing for Descriptor_Size.

2011-09-06  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_attr.adb (Expand_N_Attribute_Reference): Rewrite the
processing for Descriptor_Size.
* gnat_rm.texi: Rephrase the wording for attribute Descriptor_Size
to account for its broader usage.
* sem_attr.adb (Analyze_Attribute): Change the error detection
circuitry for Descriptor_Size as the attribute is now applicable
to all types.

From-SVN: r178590

13 years agosem_attr.adb, [...]: Minor reformatting.
Robert Dewar [Tue, 6 Sep 2011 11:59:12 +0000 (11:59 +0000)]
sem_attr.adb, [...]: Minor reformatting.

2011-09-06  Robert Dewar  <dewar@adacore.com>

* sem_attr.adb, prj-nmsc.adb, exp_aggr.adb: Minor reformatting.

From-SVN: r178589

13 years agoarm.c (arm_preferred_simd_mode): Check TARGET_NEON_VECTORIZE_DOUBLE instead of TARGET...
Ira Rosen [Tue, 6 Sep 2011 11:29:53 +0000 (11:29 +0000)]
arm.c (arm_preferred_simd_mode): Check TARGET_NEON_VECTORIZE_DOUBLE instead of TARGET_NEON_VECTORIZE_QUAD.

* config/arm/arm.c (arm_preferred_simd_mode): Check
TARGET_NEON_VECTORIZE_DOUBLE instead of
TARGET_NEON_VECTORIZE_QUAD.
(arm_autovectorize_vector_sizes): Likewise.
* config/arm/arm.opt (mvectorize-with-neon-quad): Make inverse
mask of mvectorize-with-neon-double.  Add RejectNegative.
(mvectorize-with-neon-double): New.

From-SVN: r178588