OSDN Git Service

pf3gnuchains/gcc-fork.git
12 years ago * params.h (ALLOW_STORE_DATA_RACES): New.
aldyh [Wed, 27 Jul 2011 13:22:09 +0000 (13:22 +0000)]
* params.h (ALLOW_STORE_DATA_RACES): New.
* params.def (PARAM_ALLOW_STORE_DATA_RACES): New.
* Makefile.in (expr.o): Depend on PARAMS_H.
* machmode.h (get_best_mode): Add argument.
* fold-const.c (optimize_bit_field_compare): Add argument to
get_best_mode.
(fold_truthop): Same.
* ifcvt.c (noce_emit_move_insn): Add argument to store_bit_field.
* expr.c (emit_group_store): Same.
(copy_blkmode_from_reg): Same.
(write_complex_part): Same.
(optimize_bitfield_assignment_op): Add argument.
Add argument to get_best_mode.
(get_bit_range): New.
(expand_assignment): Calculate maxbits and pass it down
accordingly.
(store_field): New argument.
(expand_expr_real_2): New argument to store_field.
Include params.h.
* expr.h (store_bit_field): New argument.
* stor-layout.c (get_best_mode): Restrict mode expansion by taking
into account maxbits.
* calls.c (store_unaligned_arguments_into_pseudos): New argument
to store_bit_field.
* expmed.c (store_bit_field_1): New argument.  Use it.
(store_bit_field): Same.
(store_fixed_bit_field): Same.
(store_split_bit_field): Same.
(extract_bit_field_1): Pass new argument to get_best_mode.
(extract_bit_field): Same.
* stmt.c (store_bit_field): Pass new argument to store_bit_field.
* doc/invoke.texi: Document parameter allow-store-data-races.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176824 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-07-26 Daniel Carrera <dcarrera@gmail.com>
dcarrera [Wed, 27 Jul 2011 10:10:06 +0000 (10:10 +0000)]
2011-07-26  Daniel Carrera  <dcarrera@gmail.com>

PR fortran/49755
* trans.c (gfc_allocate_using_malloc): Change function signature.
Return nothing. New parameter "pointer". Eliminate temorary variables.
(gfc_allocate_using_lib): Ditto.
(gfc_allocate_allocatable): Ditto. Update call to gfc_allocate_using_lib
and gfc_allocate_using_malloc. Do not free and then reallocate a
variable that is already allocated.
(gfc_likely): New function. Basedon gfc_unlikely.
* trans-array.c (gfc_array_init_size): New parameter "descriptor_block".
Instructions to modify the array descriptor are stored in this block
while other instructions continue to be stored in "pblock".
(gfc_array_allocate): Update call to gfc_array_init_size. Move the
descriptor_block so that the array descriptor is only updated if
the array was allocated successfully.
Update calls to gfc_allocate_allocatable and gfc_allocate_using_malloc.
* trans.h (gfc_allocate_allocatable): Change function signature.
Function now returns void.
(gfc_allocate_using_lib): Ditto, and new function parameter.
(gfc_allocate_using_malloc): Ditto.
* trans-openmp.c (gfc_omp_clause_default_ctor,
gfc_omp_clause_copy_ctor,gfc_trans_omp_array_reduction): Replace a call
to gfc_allocate_allocatable with gfc_allocate_using_malloc.
* trans-stmt.c (gfc_trans_allocate): Update function calls for
gfc_allocate_allocatable and gfc_allocate_using_malloc.

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

PR fortran/49755
* gfortran.dg/multiple_allocation_1.f90: Fix test. Allocating an
allocated array should *not* change its size.
* gfortran.dg/multiple_allocation_3.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176822 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * dwarf2out.c (output_macinfo_op): Ensure fd->filename points
jakub [Wed, 27 Jul 2011 09:36:25 +0000 (09:36 +0000)]
* dwarf2out.c (output_macinfo_op): Ensure fd->filename points
to GC allocated copy of the string.
(dwarf2out_finish): Emit .debug_macinfo or .debug_macro sections
before .debug_line, not after it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176819 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-07-27 Kai Tietz <ktietz@redhat.com>
ktietz [Wed, 27 Jul 2011 09:21:06 +0000 (09:21 +0000)]
2011-07-27  Kai Tietz  <ktietz@redhat.com>

        * tree-vrp.c (extract_range_from_binary_expr): Remove
        TRUTH-binary cases and add new bitwise-cases.
        (extract_range_from_assignment): Likewise.
        (register_edge_assert_for_1): Likeiwise.
        (register_edge_assert_for): Likewise.
        (simplify_truth_ops_using_ranges): Likewise.
        (simplify_stmt_using_ranges): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176818 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Wed, 27 Jul 2011 00:18:47 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176816 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoCall simplify_gen_subreg for PIC with mode of x.
hjl [Tue, 26 Jul 2011 21:43:57 +0000 (21:43 +0000)]
Call simplify_gen_subreg for PIC with mode of x.

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

PR target/47372
* config/i386/i386.c (ix86_delegitimize_address): Call
simplify_gen_subreg for PIC with mode of x only if modes of
x and orig_x are different.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176812 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * dwarf2out.c (output_macinfo_op): Ensure fd->filename points
jakub [Tue, 26 Jul 2011 21:12:39 +0000 (21:12 +0000)]
* dwarf2out.c (output_macinfo_op): Ensure fd->filename points
to GC allocated copy of the string.
(dwarf2out_finish): Emit .debug_macinfo or .debug_macro sections
before .debug_line, not after it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176811 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago/cp
paolo [Tue, 26 Jul 2011 20:00:31 +0000 (20:00 +0000)]
/cp
2011-07-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/49776
* typeck.c (cp_build_modify_expr): Check digest_init return value
for error_mark_node.

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

PR c++/49776
* g++.dg/cpp0x/constexpr-49776.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176809 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix PR47046: correct evolution_function_is_affine_p
spop [Tue, 26 Jul 2011 18:48:49 +0000 (18:48 +0000)]
Fix PR47046: correct evolution_function_is_affine_p

"Bug 47046 - gcc.target/i386/sse4_1-movntdqa.c ICEs with -fgraphite-identity"

The problem here is that we are left with the following code to be
translated in the new representation following the transform that
Graphite has chosen:

        D.2709_14 = j_33 * i_32;
        D.2710_15 = D.2709_14 * i_32;
        D.2711_16 = D.2710_15 * sign_34;
        *D.2708_13 = D.2711_16;

In this particular case we have a nonlinear expression "i * i" for
which we have to generate code following the new graphite_iv variables.

The patch fixes the function that detects whether we are passing non
linear stuff to graphite: evolution_function_is_affine_p.  It seems
like for the moment evolution_function_is_affine_p is testing whether
an evolution function is affine only in the innermost loop, without
looking recursively at what happens in outer loops.

The chrec for this case is: {0, +, {0, +, {1, +, 2}_1}_1}_2 and we are
testing whether the evolution is affine only for the loop_2, which is
true as we have {0, +, blah}_2 with blah invariant in loop_2.

The patch adds the recursive call to evolution_function_is_affine_p.

Bootstrapped and tested on amd64-linux.

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

PR middle-end/47046
* tree-chrec.h (evolution_function_is_affine_p): Recursively call
evolution_function_is_affine_p on CHREC_RIGHT.

* gcc.dg/graphite/id-pr47046.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176805 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoAvoid use of lang_hooks.types.type_for_size.
spop [Tue, 26 Jul 2011 18:48:33 +0000 (18:48 +0000)]
Avoid use of lang_hooks.types.type_for_size.

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

* tree-data-ref.c (max_stmt_executions_tree): Do not call
lang_hooks.types.type_for_size.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176804 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoAdd testcase for PR47593
spop [Tue, 26 Jul 2011 18:48:20 +0000 (18:48 +0000)]
Add testcase for PR47593

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

PR middle-end/47653
* gcc.dg/graphite/run-id-pr47593.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176803 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix PR47653: do not handle loops using wrapping semantics in graphite
spop [Tue, 26 Jul 2011 18:48:08 +0000 (18:48 +0000)]
Fix PR47653: do not handle loops using wrapping semantics in graphite

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

PR middle-end/47653
* graphite-scop-detection.c (graphite_can_represent_loop): Discard
loops using wrapping semantics.

* gcc.dg/graphite/run-id-pr47653.c: New.
* gcc.dg/graphite/interchange-3.c: Do not use unsigned types for
induction variables.
* gcc.dg/graphite/scop-16.c: Same.
* gcc.dg/graphite/scop-17.c: Same.
* gcc.dg/graphite/scop-21.c: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176802 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix PR48805: Do not instantiate ADDR_EXPRs
spop [Tue, 26 Jul 2011 18:47:44 +0000 (18:47 +0000)]
Fix PR48805: Do not instantiate ADDR_EXPRs

With this patch we avoid instantiating ADDR_EXPR: it makes no sense
to translate &b[i] into &b[{0, +, 1}_1].

Bootstrapped and tested on amd64-linux.

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

PR middle-end/48805
* tree-scalar-evolution.c (instantiate_scev_r): Return
chrec_dont_know for ADDR_EXPR.

* gcc.dg/graphite/id-pr48805.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176801 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * configure.ac: Set have_compiler based on whether gcc directory
ian [Tue, 26 Jul 2011 18:44:11 +0000 (18:44 +0000)]
* configure.ac: Set have_compiler based on whether gcc directory
exists, rather than on whether gcc is in configdirs.
* configure: Rebuild.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176800 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/47369
uros [Tue, 26 Jul 2011 18:03:54 +0000 (18:03 +0000)]
PR target/47369
PR target/49853
* config/i386/i386.c (ix86_expand_move): Call convert_to_mode
if legitimize_tls_address returned operand in wrong mode. Allow
SImode and DImode symbolic operand for PIC.  Call convert_to_mode
if legitimize_pic_address returned operand in wrong mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176798 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-07-26 Martin Jambor <mjambor@suse.cz>
jamborm [Tue, 26 Jul 2011 17:21:21 +0000 (17:21 +0000)]
2011-07-26  Martin Jambor  <mjambor@suse.cz>

* tree-sra.c (tree_non_mode_aligned_mem_p): Strip conversions and
return false for invariants.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176797 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoRemove an extra line.
hjl [Tue, 26 Jul 2011 17:07:51 +0000 (17:07 +0000)]
Remove an extra line.

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

* testsuite/demangle-expected: Remove an extra line.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176796 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/i386.md (add->lea splitter): Implement using SWI
uros [Tue, 26 Jul 2011 16:04:53 +0000 (16:04 +0000)]
* config/i386/i386.md (add->lea splitter): Implement using SWI
mode iterator.  Change operand 2 predicate to <nonmemory_operand>.
(add->lea zext splitter): Change operand 2 predicate to
x86_64_nonmemory_operand.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176795 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-07-26 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 26 Jul 2011 15:44:50 +0000 (15:44 +0000)]
2011-07-26  Richard Guenther  <rguenther@suse.de>

* predict.c (maybe_hot_frequency_p): Make sure a zero entry-block
frequency makes everything hot.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176794 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * cp-demangle.c (d_print_init): Initialize pack_index field.
ian [Tue, 26 Jul 2011 14:28:23 +0000 (14:28 +0000)]
* cp-demangle.c (d_print_init): Initialize pack_index field.
(d_print_comp): Check for NULL template argument.
* testsuite/demangle-expected: Add test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176791 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-07-26 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 26 Jul 2011 12:37:00 +0000 (12:37 +0000)]
2011-07-26  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/49840
* tree-vrp.c (range_fits_type_p): Properly handle full
double-int precision.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176790 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-07-26 Martin Jambor <mjambor@suse.cz>
jamborm [Tue, 26 Jul 2011 12:26:58 +0000 (12:26 +0000)]
2011-07-26  Martin Jambor  <mjambor@suse.cz>

PR bootstrap/49786
* ipa-cp.c (update_profiling_info): Avoid overflow when updating
counts.
(update_specialized_profile): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176789 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/47381
uros [Tue, 26 Jul 2011 12:00:33 +0000 (12:00 +0000)]
PR target/47381
PR target/49832
PR target/49833
* config/i386/i386.md (i): Change SImode attribute to "e".
(g): Change SImode attribute to "rme".
(di): Change SImode attribute to "nF".
(general_operand): Change SImode attribute to x86_64_general_operand.
(general_szext_operand): Change SImode attribute to
x86_64_szext_general_operand.
(immediate_operand): Change SImode attribute to
x86_64_immediate_operand.
(nonmemory_operand): Change SImode attribute to
x86_64_nonmemory_operand.
(*movdi_internal_rex64): Remove mode from pic_32bit_operand check.
(*movsi_internal): Ditto.  Use "e" constraint in alternative 2.
(*lea_1): Use SWI48 mode iterator.
(*lea_1_zext): New insn pattern.
(testsi_ccno_1): Use x86_64_nonmemory_operand predicate for operand 2.
(*bt<mode>): Ditto.
(*add<mode>1): Use x86_64_general_operand predicate for operand 2.
Update operand constraints.
(addsi_1_zext): Ditto.
(*add<mode>2): Ditto.
(*addsi_3_zext): Ditto.
(*subsi_1_zext): Ditto.
(*subsi_2_zext): Ditto.
(*subsi_3_zext): Ditto.
(*addsi3_carry_zext): Ditto.
(*<plusminus_insn>si3_zext_cc_overflow): Ditto.
(*mulsi3_1_zext): Ditto.
(*andsi_1): Ditto.
(*andsi_1_zext): Ditto.
(*andsi_2_zext): Ditto.
(*<any_or:code>si_1_zext): Ditto.
(*<any_or:code>si_2_zext): Ditto.
(*test<mode>_1): Use <general_operand> predicate for operand 1.
(*and<mode>_2): Ditto.
(mov<mode>cc): Use  <general_operand> predicate for operands 1 and 2.
(add->lea splitter): Check operand modes in insn constraint.  Extend
operands less than SImode wide to SImode.
(add->lea zext splitter): Do not extend input operands to DImode.
(*lea_general_1): Handle only QImode and HImode operands.
(*lea_general_2): Ditto.
(*lea_general_3): Ditto.
(*lea_general_1_zext): Remove.
(*lea_general_2_zext): Ditto.
(*lea_general_3_zext): Ditto.
(*lea_general_4): Check operand modes in insn constraint.  Extend
operands less than SImode wide to SImode.
(ashift->lea splitter): Ditto.
* config/i386/i386.c (ix86_print_operand_address): Print address
registers with 'q' modifier on 64bit targets.
* config/i386/predicates.md (pic_32bit_opreand): Define as special
predicate.  Reject non-SI and non-DI modes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176788 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-07-26 Tobias Burnus <burnus@net-b.de>
burnus [Tue, 26 Jul 2011 07:30:37 +0000 (07:30 +0000)]
2011-07-26  Tobias Burnus  <burnus@net-b.de>

        * trans-array.c (CAF_TOKEN_FIELD): New macro constant.
        (gfc_conv_descriptor_token): New function.
        * trans-array.h (gfc_conv_descriptor_token): New prototype.
        * trans-types.c (gfc_get_array_descriptor_base): For coarrays
        with -fcoarray=lib, append "void *token" to the array descriptor.
        (gfc_array_descriptor_base_caf): New static variable.
        * trans-expr.c (gfc_conv_procedure_call): Handle token and
        * offset
        when passing a descriptor coarray to a nondescriptor dummy.

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

        * gfortran.dg/coarray_lib_token_2.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176784 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.dg/vect/vect-70.c: Reduce the data size to fit
irar [Tue, 26 Jul 2011 07:00:45 +0000 (07:00 +0000)]
* gcc.dg/vect/vect-70.c: Reduce the data size to fit
SPU local store.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176783 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-07-25 Andrew Pinski <apinski@cavium.com>
pinskia [Tue, 26 Jul 2011 05:28:45 +0000 (05:28 +0000)]
2011-07-25  Andrew Pinski  <apinski@cavium.com>

PR tree-opt/49671
* tree-inline.c (remap_gimple_op_r): Copy TREE_THIS_VOLATILE and
TREE_THIS_NOTRAP into the inner most MEM_REF.
Always copy TREE_THIS_VOLATILE.
* tree-sra.c (ptr_parm_has_direct_uses): Check that the lhs, rhs and
arguments are not volatile references.

2011-07-25  Andrew Pinski  <apinski@cavium.com>

PR tree-opt/49671
* gcc.dg/tree-ssa/pr49671-1.c: New testcase.
* gcc.dg/tree-ssa/pr49671-2.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176782 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-07-25 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Tue, 26 Jul 2011 04:21:57 +0000 (04:21 +0000)]
2011-07-25  Benjamin Kosnik  <bkoz@redhat.com>

* include/std/array (at): Remove constexpr when -fno-exceptions.
* testsuite/23_containers/array/at_neg.cc: Test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176780 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * insn-notes.def (NOTE_INSN_CFA_RESTORE_STATE): Remove.
rth [Tue, 26 Jul 2011 00:57:55 +0000 (00:57 +0000)]
    * insn-notes.def (NOTE_INSN_CFA_RESTORE_STATE): Remove.
        * final.c (final_scan_insn): Don't test for it.
        (rest_of_clean_state): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176779 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Tue, 26 Jul 2011 00:18:37 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176778 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR debug/49841
rth [Mon, 25 Jul 2011 22:53:25 +0000 (22:53 +0000)]
PR debug/49841
* config/rs6000/rs6000.c (rs6000_frame_related): Return the insn.
(emit_frame_save): Likewise.
(rs6000_emit_prologue): Move the FRAME_RELATED_EXPR from the save
insn onto a dummy blockage insn after the join label.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176773 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agodwarf2cfi: Generate remember/restore_state.
rth [Mon, 25 Jul 2011 22:41:17 +0000 (22:41 +0000)]
dwarf2cfi: Generate remember/restore_state.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176772 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agodwarf2cfi: Add debug_cfi_row.
rth [Mon, 25 Jul 2011 22:35:13 +0000 (22:35 +0000)]
dwarf2cfi: Add debug_cfi_row.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176771 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * genattr.c (write_upcase, gen_attr <enum definition writing>):
amylaar [Mon, 25 Jul 2011 21:32:56 +0000 (21:32 +0000)]
    * genattr.c (write_upcase, gen_attr <enum definition writing>):
        Move to ...
        * genattr-common.c ... here.
        (main): Call gen_attr.
        * optc-gen.awk: Make generated program include insn-attr-common.h .
        * Makefile.in (oprions.o): Depend on insn-attr-common.h

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176769 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-07-25 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 25 Jul 2011 17:50:13 +0000 (17:50 +0000)]
2011-07-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR bootstrap/49845
* parser.c (cp_parser_perform_range_for_lookup): Always assign *being
and *end before returning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176765 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/m32c/m32c.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
aesok [Mon, 25 Jul 2011 17:46:07 +0000 (17:46 +0000)]
* config/m32c/m32c.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
PRINT_OPERAND_PUNCT_VALID_P): Remove macro.
* config/m32c/m32c-protos.h (m32c_print_operand_punct_valid_p,
m32c_print_operand, m32c_print_operand_address): Remove.
* config/m32c/m32c.c (m32c_print_operand_punct_valid_p): Make static.
Change return type to bool. Change argument type to bool.
(m32c_print_operand, m32c_print_operand_address): Make static.
(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS,
TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176763 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoRemove parm name from declaration
dodji [Mon, 25 Jul 2011 17:18:10 +0000 (17:18 +0000)]
Remove parm name from declaration

gcc/c-family

* c-common.h (set_underlying_type): Remove parm name from
declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176762 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-07-25 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 25 Jul 2011 17:08:48 +0000 (17:08 +0000)]
2011-07-25  Paolo Carlini  <paolo.carlini@oracle.com>
    Nathan Ridge  <zeratul976@hotmail.com>

PR libstdc++/49836
* include/bits/stl_vector.h (vector<>::_M_emplace_back_aux):
Declare.
(vector<>::push_back(const value_type&)): Use it.
* include/bits/vector.tcc: Define.
(vector<>::emplace_back(_Args&&...)): Use it.
* testsuite/util/testsuite_tr1.h (CopyConsOnlyType, MoveConsOnlyType):
Add.
* testsuite/23_containers/vector/modifiers/push_back/49836.cc: New.
* testsuite/23_containers/deque/modifiers/push_back/49836.cc:
Likewise.
* testsuite/23_containers/deque/modifiers/push_front/49836.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176761 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago gcc:
ro [Mon, 25 Jul 2011 16:44:22 +0000 (16:44 +0000)]
gcc:
* doc/sourcebuild.texi (Effective-Target Keywords, Environment
attributes): Document mmap.

gcc/testsuite:
* lib/target-supports.exp (check_effective_target_mmap): New proc.

* gcc.c-torture/execute/loop-2f.c: Remove #ifdef __unix__.
* gcc.c-torture/execute/loop-2g.c: Likewise.
* gcc.c-torture/execute/loop-2f.x: Load target-supports.exp.
Require mmap support.
* gcc.c-torture/execute/loop-2g.x: Likewise.
* gcc.dg/20030711-1.c: Replace dg-do target list by mmap.
(MAP_ANON): Provide default.
* gcc.dg/20050826-1.c: Likewise.
* gcc.target/i386/pr36533.c: Likewise.
* gcc.dg/vect/pr49038.c: Remove dg-do run.
Use dg-require-effective-target mmap.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176760 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/mmix/mmix.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
aesok [Mon, 25 Jul 2011 16:35:38 +0000 (16:35 +0000)]
* config/mmix/mmix.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
PRINT_OPERAND_PUNCT_VALID_P): Remove macro.
* config/mmix/mmix-protos.h (mmix_print_operand_punct_valid_p,
mmix_print_operand, mmix_print_operand_address): Remove.
* config/mmix/mmix.c (mmix_print_operand_punct_valid_p): Make static.
Change return type to bool. Change argument type to bool.
(mmix_print_operand, mmix_print_operand_address): Make static.
(mmix_intval, mmix_output_condition): Change 'x' argument type
to const_rtx.
(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS,
TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176759 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/49347
ro [Mon, 25 Jul 2011 15:56:27 +0000 (15:56 +0000)]
PR c++/49347
* inclhack.def (solaris_posix_spawn_restrict): New fix.
* fixincl.x: Regenerate.
* tests/base/spawn.h: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176758 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/39386
gjl [Mon, 25 Jul 2011 15:41:55 +0000 (15:41 +0000)]
PR target/39386
* config/avr/avr.c (out_shift_with_cnt): Use tmp_reg as
shift counter for x << x and x >> x shifts.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176756 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR libgomp/45351
ro [Mon, 25 Jul 2011 15:39:52 +0000 (15:39 +0000)]
PR libgomp/45351
* config/osf/sem.h: New file.
* configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176755 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago/cp
paolo [Mon, 25 Jul 2011 15:29:13 +0000 (15:29 +0000)]
/cp
2011-07-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/49838
* parser.c (cp_parser_perform_range_for_lookup): Early return if
error_operand_p (range).

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

PR c++/49838
* g++.dg/cpp0x/range-for19.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176754 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago gcc/testsuite:
ro [Mon, 25 Jul 2011 15:25:32 +0000 (15:25 +0000)]
gcc/testsuite:
PR testsuite/49753
* g++.dg/torture/pr49309.C: Add -fpreprocessed to dg-options.

Revert:
2011-07-15  Jakub Jelinek  <jakub@redhat.com>

PR testsuite/49753
* g++.dg/torture/pr49309.C: Remove.

libmudflap:
Revert:
2011-07-15  Jakub Jelinek  <jakub@redhat.com>

PR testsuite/49753
PR tree-optimization/49309
* testsuite/libmudflap.c++/pass68-frag.cxx: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176752 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/47124
ro [Mon, 25 Jul 2011 14:58:18 +0000 (14:58 +0000)]
PR target/47124
* config.gcc: Reject *-*-solaris2 configuration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176751 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Mon, 25 Jul 2011 14:51:47 +0000 (14:51 +0000)]
gcc/
PR tree-optimization/49809
* tree-ssa-phiopt.c (cond_if_else_store_replacement): Use
gimple_get_lhs instead of gimple_assign_lhs.

gcc/testsuite/
PR tree-optimization/49809
* gnat.dg/opt18.adb, gnat.dg/opt18.ads, gnat.dg/opt18_pkg.ads: New
test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176750 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * system.h [__cplusplus]: Wrap C function declarations in extern "C".
ro [Mon, 25 Jul 2011 14:26:58 +0000 (14:26 +0000)]
* system.h [__cplusplus]: Wrap C function declarations in extern "C".
-This line, and those below, will be ignored--

M    ChangeLog
M    system.h

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176748 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago gcc:
ro [Mon, 25 Jul 2011 14:24:59 +0000 (14:24 +0000)]
gcc:
* system.h [__cplusplus]: Wrap C function declarations in extern "C".

include:
* xregex.h (regoff_t): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176747 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-07-25 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 25 Jul 2011 14:15:02 +0000 (14:15 +0000)]
2011-07-25  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/49822
* tree-ssa-forwprop.c (remove_prop_source_from_use): Robustify
more.  Make sure to preserve stmts with side-effects.  Properly
handle virtual defs, follow a longer def chain.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176745 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agobehalf of romain.geissler@gmail.com. Fix plugin file installation
chrbr [Mon, 25 Jul 2011 11:15:12 +0000 (11:15 +0000)]
behalf of romain.geissler@gmail.com. Fix plugin file installation

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176741 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * ipa-inline.c (can_inline_edge_p): Look into DECL_STRUCT_FUNCTION of
ebotcazou [Mon, 25 Jul 2011 10:40:10 +0000 (10:40 +0000)]
* ipa-inline.c (can_inline_edge_p): Look into DECL_STRUCT_FUNCTION of
original nodes if we are dealing with virtual clones.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176739 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * common/config/c6x/c6x-common.c: New file.
bernds [Mon, 25 Jul 2011 10:37:07 +0000 (10:37 +0000)]
* common/config/c6x/c6x-common.c: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176738 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-07-25 Roman Zhuykov <zhroma@ispras.ru>
amonakov [Mon, 25 Jul 2011 09:43:01 +0000 (09:43 +0000)]
2011-07-25  Roman Zhuykov  <zhroma@ispras.ru>

* tree-flow.h (tree_ssa_loop_version): Remove unused declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176737 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-07-25 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 25 Jul 2011 08:30:46 +0000 (08:30 +0000)]
2011-07-25  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/49715
* tree-vrp.c: Include expr.h and optabs.h.
(range_fits_type_): New function.
(simplify_float_conversion_using_ranges): Likewise.
(simplify_stmt_using_ranges): Call it.
* Makefile.in (tree-vrp.o): Add $(EXPR_H) and $(OPTABS_H) dependencies.
* optabs.c (can_float_p): Export.
* optabs.h (can_float_p): Declare.

* gcc.target/i386/pr49715-1.c: New testcase.
* gcc.target/i386/pr49715-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176735 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-07-25 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 25 Jul 2011 08:29:01 +0000 (08:29 +0000)]
2011-07-25  Richard Guenther  <rguenther@suse.de>

* tree-vrp.c (num_vr_values, values_propagated): New global vars.
(get_value_range): For out-of-range SSA names or names created
after propagation return a read-only varying range.
(dump_all_value_ranges): Adjust.
(vrp_initialize): Likewise.
(vrp_finalize): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176734 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/49823
jason [Mon, 25 Jul 2011 05:03:50 +0000 (05:03 +0000)]
PR c++/49823
* parser.c (cp_parser_qualifying_entity): Handle templates.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176732 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR debug/49831
rth [Mon, 25 Jul 2011 03:35:05 +0000 (03:35 +0000)]
PR debug/49831
        * dwarf2cfi.c (connect_traces): Allow unvisited traces.  Skip
        them entirely.

Constant pools are emitted in such a way as to be indistinguishable
from regular instructions, and these constant pools are, naturally,
not reachable as code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176730 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR debug/49825
rth [Mon, 25 Jul 2011 03:26:35 +0000 (03:26 +0000)]
PR debug/49825
        * dwarf2cfi.c (dwarf2out_stack_adjust): Move A_O_A test earlier.
        (dwarf2out_notice_stack_adjust): Use args_size from call_insn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176729 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR debug/49827
rth [Mon, 25 Jul 2011 03:18:13 +0000 (03:18 +0000)]
PR debug/49827
        * dwarf2cfi.c (create_trace_edges): Handle sequences properly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176728 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agodwarf2cfi: Reset args_size properly across abnormal edges.
rth [Mon, 25 Jul 2011 03:10:42 +0000 (03:10 +0000)]
dwarf2cfi: Reset args_size properly across abnormal edges.

        * dwarf2cfi.c (maybe_record_trace_start): Add abnormal parameter.
        Zero args_size for abnormal edges.  Adjust all callers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176727 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR debug/49825
rth [Mon, 25 Jul 2011 03:05:06 +0000 (03:05 +0000)]
PR debug/49825

Test case gcc.c-torture/compile/pr49474.c, among others.

        * dwarf2cfi.c (cfi_row_equal_p): Don't compare args_size.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176726 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoRemove the unused demangle_flag in collect2.c.
hjl [Mon, 25 Jul 2011 02:08:44 +0000 (02:08 +0000)]
Remove the unused demangle_flag in collect2.c.

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

PR bootstrap/49835
* collect2.c (demangle_flag): Removed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176725 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Mon, 25 Jul 2011 00:18:53 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176724 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-07-24 Sandra Loosemore <sandra@codesourcery.com>
sandra [Sun, 24 Jul 2011 23:22:41 +0000 (23:22 +0000)]
2011-07-24  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* configure.ac (demangler_in_ld): Default to yes.
* configure: Regenerated.
* collect2.c (main): When HAVE_LD_DEMANGLE is defined, don't
mess with COLLECT_NO_DEMANGLE, and just pass --demangle and
--no-demangle options straight through to ld.  When
HAVE_LD_DEMANGLE is not defined, set COLLECT_NO_DEMANGLE in a
way that has the intended effect on Windows.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176720 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-07-24 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sun, 24 Jul 2011 19:47:04 +0000 (19:47 +0000)]
2011-07-24  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt,
_M_bkt_for_elements, _M_need_rehash): Fix typos in the last commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176718 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-07-24 François Dumont <francois.cppdevs@free.fr>
fdumont [Sun, 24 Jul 2011 19:20:26 +0000 (19:20 +0000)]
2011-07-24  François Dumont  <francois.cppdevs@free.fr>

        * include/bits/hashtable_policy.h (_Prime_rehash_policy): Use
        __builtin_floor rather than __builtin_ceil to compute next resize
        value.
        * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
        New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176717 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
ebotcazou [Sun, 24 Jul 2011 13:14:17 +0000 (13:14 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
subprogram has copy-in copy-out parameters, try to promote the mode of
the return type if it is passed in registers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176714 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
ebotcazou [Sun, 24 Jul 2011 12:50:41 +0000 (12:50 +0000)]
* gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
left operand as addressable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176713 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc-interface/gigi.h (build_function_stub): Remove.
ebotcazou [Sun, 24 Jul 2011 12:45:44 +0000 (12:45 +0000)]
* gcc-interface/gigi.h (build_function_stub): Remove.
(build_return_expr): Likewise.
(convert_vms_descriptor): Declare.
* gcc-interface/utils.c (convert_vms_descriptor): Make global.
(build_function_stub): Move to...
* gcc-interface/utils2.c (build_return_expr): Move to...
* gcc-interface/trans.c (build_function_stub): ...here.
(build_return_expr): ...here.
(Subprogram_Body_to_gnu): Add local variable for language_function.
Disconnect the parameter attributes cache, if any, once done with it.
Call end_subprog_body only after setting the end_locus.
Build the stub associated with the function, if any, at the very end.
(gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
variables and streamline control flow.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176712 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Sun, 24 Jul 2011 00:18:49 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176711 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agodwarf2cfi: Generate and connect traces.
rth [Sat, 23 Jul 2011 20:49:33 +0000 (20:49 +0000)]
dwarf2cfi: Generate and connect traces.

This kinda-sorta corresponds to Bernd's 007-dw2cfi patch.  Certainly
the same concepts of splitting the instruction stream into extended
basic blocks is the same.  This patch does a bit better job with the
documentation.  Also, I'm a bit more explicit about matching things
up with the similar code from the regular CFG routines.

What's missing at this point is any attempt to use DW_CFA_remember_state.
I've deferred that for the moment because it's easy to test the state
change code across epilogues, whereas the shrink-wrapping code is not
in this tree and section switching is difficult to force.

        * dwarf2cfi.c: Include basic-block.h.
        (dw_label_info): Remove.
        (trace_work_list, trace_index): New.
        (remember_row, emit_cfa_remember): Remove.
        (dw_trace_info_hash, dw_trace_info_eq): New.
        (get_trace_index, get_trace_info): New.
        (save_point_p): New.
        (free_cfi_row): Remove.
        (add_cfi): Do not emit DW_CFA_remember_state.
        (cfa_row_equal_p): New.
        (barrier_args_size): Remove.
        (compute_barrier_args_size_1, compute_barrier_args_size): Remove.
        (dwarf2out_notice_stack_adjust): Don't compute_barrier_args_size.
        (maybe_record_trace_start, create_trace_edges, scan_trace): New.
        (dwarf2out_cfi_begin_epilogue): Remove.
        (dwarf2out_frame_debug_restore_state): Remove.
        (connect_traces, create_pseudo_cfg): New.
        (create_cfi_notes, execute_dwarf2_frame): Rewrite using traces.
        * Makefile.in (dwarf2cfi.o): Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176705 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agodwarf2cfi: Introduce dw_trace_info.
rth [Sat, 23 Jul 2011 20:36:36 +0000 (20:36 +0000)]
dwarf2cfi: Introduce dw_trace_info.

This patch only introduces the structure definition and adjusts
the existing routines to use the new cur_trace global to access
the variables that were moved into the structure.

        * dwarf2cfi.c (dw_trace_info): New.
        (dw_label_info): New.
        (cie_return_save): New.
        (cur_trace): New.
        (queued_args_size): Rename from args_size.  Update all users.
        (cfa_store, cfa_temp, regs_saved_in_regs): Remove.
        (def_cfa_1): Use cur_trace instead of cfa_*.
        (dwarf2out_stack_adjust, record_reg_saved_in_reg): Likewise.
        (clobbers_queued_reg_save, reg_saved_in): Likewise.
        (dwarf2out_frame_debug_expr): Likewise.
        (create_cie_data): Split out from ...
        (execute_dwarf2_frame): ... here.  Initialize cur_trace.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176704 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agodwarf2cfi: Allocate reg_saved_in_data in the heap.
rth [Sat, 23 Jul 2011 20:27:32 +0000 (20:27 +0000)]
dwarf2cfi: Allocate reg_saved_in_data in the heap.

        * dwarf2cfi.c (regs_saved_in_regs): Allocate from heap, not gc.
        Update all users to match.
        (execute_dwarf2_frame): Free reg_saved_in_data.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176703 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agodwarf2cfi: Convert queued_reg_save to a VEC.
rth [Sat, 23 Jul 2011 20:25:47 +0000 (20:25 +0000)]
dwarf2cfi: Convert queued_reg_save to a VEC.

Also, allocate it in the heap instead of garbage collected.

        * dwarf2cfi.c (queued_reg_save): Reorder for packing.  Don't GTY.
        (queued_reg_saves): Don't GTY.  Change to a VEC.
        (queue_reg_save): Update to match.
        (dwarf2out_flush_queued_reg_saves): Likewise.
        (clobbers_queued_reg_save): Likewise.
        (reg_saved_in): Likewise.
        (execute_dwarf2_frame): Free queued_reg_saves.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176702 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agodwarf2cfi: Remove dw_cfi_row_ref typedef.
rth [Sat, 23 Jul 2011 20:19:22 +0000 (20:19 +0000)]
dwarf2cfi: Remove dw_cfi_row_ref typedef.

        * dwarf2cfi.c (dw_cfi_row_ref): Remove.  Update all users.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176701 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agodwarf2cfi: Implement change_cfi_row.
rth [Sat, 23 Jul 2011 20:17:54 +0000 (20:17 +0000)]
dwarf2cfi: Implement change_cfi_row.

Add a generic function to adjust cfi state from one row to another.
Use this to implement text section switching.  This will also be
usable for arbitrary changes around a cfg for shrink-wrapping.

        * dwarf2cfi.c (add_cfi_args_size): Split out from...
        (dwarf2out_args_size): ... here.
        (add_cfi_restore): Split out from ...
        (dwarf2out_frame_debug_cfa_restore): ... here.
        (def_cfa_0): Split out from ...
        (def_cfa_1): ... here.
        (cfi_oprnd_equal_p, cfi_equal_p): New.
        (change_cfi_row): New.
        (add_cfis_to_fde): Set fde->dw_fde_switch_cfi_index.
        (create_cfi_notes): Use change_cfi_row at SWITCH_TEXT note.
        (output_cfis): Remove.
        * dwarf2out.c (output_fde): Simplify output_cfi loop.
        (dwarf2out_switch_text_section): Don't call output_cfis.
        (dw_val_equal_p, loc_descr_equal_p_1, loc_descr_equal_p): New.
        * dwarf2out.h: Update decls.
        (enum dw_val_class): Add dw_val_class_none.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176700 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agodwarf2cfi: Populate CUR_ROW->REG_SAVE.
rth [Sat, 23 Jul 2011 20:06:42 +0000 (20:06 +0000)]
dwarf2cfi: Populate CUR_ROW->REG_SAVE.

To be actually used by a subsequent patch.

        * dwarf2cfi.c (update_row_reg_save): New.
        (dwarf2out_frame_debug_cfa_expression): Use it.
        (dwarf2out_frame_debug_cfa_restore): Likewise.
        (reg_save): Likewise.  Do not emit DW_CFA_same_value.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176699 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agodwarf2cfi: Rename cfi_insn to add_cfi_insn.
rth [Sat, 23 Jul 2011 20:00:43 +0000 (20:00 +0000)]
dwarf2cfi: Rename cfi_insn to add_cfi_insn.

Make it consistent with add_cfi_vec.

        * dwarf2cfi.c (add_cfi_insn): Rename from cfi_insn.  Update all users.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176698 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agodwarf2cfi: Introduce a dw_cfi_row state.
rth [Sat, 23 Jul 2011 19:58:46 +0000 (19:58 +0000)]
dwarf2cfi: Introduce a dw_cfi_row state.

Use it instead of old_cfa, old_args_size, and cfa_remember variables.

Remove the global cfa variable, as it was usually a duplicate of
old_cfa and otherwise confusing.  Always make a local copy of the
cur_row->cfa variable before modification instead.

        * dwarf2cfi.c (dw_cfi_row, dw_cfi_row_ref): New.
        (cie_cfi_row): New.
        (new_cfi_row, copy_cfi_row, free_cfi_row): New.
        (cfa, old_cfa, cfa_remember, old_cfa_remember, old_args_size): Remove.
        (cur_row, remember_row): New.
        (def_cfa_1): Use cur_row instead of the old_* variables.
        (dwarf2out_frame_debug_restore_state): Similarly.
        (dwarf2out_args_size, dwarf2out_notice_stack_adjust): Likewise.
        (dwarf2out_frame_debug_def_cfa): Use a local variable instead of cfa.
        (dwarf2out_frame_debug_adjust_cfa): Likewise.
        (dwarf2out_frame_debug_cfa_offset): Likewise.
        (dwarf2out_frame_debug_expr): Likewise.
        (execute_dwarf2_frame): Set up cur_row.
        * dwarf2out.h (struct cfa_loc): Mark for GTY.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176697 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agobb-reorder: Split EH edges crossing partitions.
rth [Sat, 23 Jul 2011 19:44:19 +0000 (19:44 +0000)]
bb-reorder: Split EH edges crossing partitions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176696 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/49816
rearnsha [Sat, 23 Jul 2011 14:43:33 +0000 (14:43 +0000)]
PR target/49816
* arm.c (aapcs_vfp_allocate_return_reg): Return NULL on failure.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176687 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago* libgfortran/intrinsics/ctime.c: Include <stdlib.h>.
schwab [Sat, 23 Jul 2011 11:06:04 +0000 (11:06 +0000)]
* libgfortran/intrinsics/ctime.c: Include <stdlib.h>.
* libgfortran/intrinsics/getlog.c: Likewise.
* libgfortran/runtime/stop.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176675 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-07-23 Arnaud Charlet <charlet@adacore.com>
charlet [Sat, 23 Jul 2011 09:19:44 +0000 (09:19 +0000)]
2011-07-23  Arnaud Charlet  <charlet@adacore.com>

PR ada/49819
* gcc-interface/Makefile.in (powerpc-linux): Remove reference to
g-trasym-dwarf.adb.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176673 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-07-22 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Sat, 23 Jul 2011 03:17:11 +0000 (03:17 +0000)]
2011-07-22  Benjamin Kosnik  <bkoz@redhat.com>
    Daniel Krugler  <daniel.kruegler@googlemail.com>

* include/bits/move.h (move, forward): Mark constexpr.
* include/bits/stl_pair.h (pair): Mark move ctors constexpr.
* testsuite/20_util/pair/make_pair/constexpr.cc: New.
* testsuite/20_util/pair/cons/constexpr.cc: Add tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176672 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * doc/invoke.texi (C++ Dialect Options): Document -Wno-narrowing.
jason [Sat, 23 Jul 2011 00:30:13 +0000 (00:30 +0000)]
* doc/invoke.texi (C++ Dialect Options): Document -Wno-narrowing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176670 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Sat, 23 Jul 2011 00:18:28 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176669 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/49793
jason [Sat, 23 Jul 2011 00:14:46 +0000 (00:14 +0000)]
PR c++/49793
* typeck2.c (check_narrowing): Downgrade permerror to pedwarn.
Make conditional on -Wnarrowing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176665 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * bb-reorder.c (gate_handle_partition_blocks): Honor optimize.
rth [Fri, 22 Jul 2011 23:54:29 +0000 (23:54 +0000)]
    * bb-reorder.c (gate_handle_partition_blocks): Honor optimize.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176664 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix mark_all_labels vs cfglayout mode.
rth [Fri, 22 Jul 2011 23:19:25 +0000 (23:19 +0000)]
Fix mark_all_labels vs cfglayout mode.

        * jump.c (maybe_propagate_label_ref): Split out of...
        (mark_all_labels): ... here.  Do not attempt label_ref
        propagation while in cfglayout mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176663 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/49817
gerald [Fri, 22 Jul 2011 22:52:55 +0000 (22:52 +0000)]
PR target/49817
* stack-limit.c: Include <stdint.h>.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176662 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-07-23 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 22 Jul 2011 22:44:20 +0000 (22:44 +0000)]
2011-07-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49791
        * io/list_read.c (nml_parse_qualifier): Remove check to
        enabled extended read for another case.

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

        PR fortran/49791
        * gfortran.dg/namelist_72.f: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176661 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-07-23 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 22 Jul 2011 22:39:10 +0000 (22:39 +0000)]
2011-07-23  Tobias Burnus  <burnus@net-b.de>

        * resolve.c (resolve_symbol): Fix coarray var decl check.

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

        * gfortran.dg/coarray_25.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176660 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago Warn about the use of final/override in non-c++0x mode, and
jason [Fri, 22 Jul 2011 21:05:58 +0000 (21:05 +0000)]
Warn about the use of final/override in non-c++0x mode, and
add __final for non-c++0x mode.
* cp-tree.h (cpp0x_warn_str): Add CPP0X_OVERRIDE_CONTROLS.
* error.c (maybe_warn_cpp0x): Adjust.
* parser.c (cp_parser_virt_specifier_seq_opt): Use it. Add
'__final' as a non-c++0x alternative for 'final'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176655 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * dwarf2.h (DW_AT_GNU_macros): New.
jakub [Fri, 22 Jul 2011 20:06:09 +0000 (20:06 +0000)]
* dwarf2.h (DW_AT_GNU_macros): New.
(enum dwarf_macro_record_type): New enum.  Add DW_MACRO_GNU_*.

* dwarf2out.c (struct macinfo_struct): Change code to unsigned char.
(DEBUG_MACRO_SECTION, DEBUG_MACRO_SECTION_LABEL): Define.
(dwarf_attr_name): Handle DW_AT_GNU_macros.
(dwarf2out_define): If the vector is empty and
lineno is 0, emit a dummy entry first.
(dwarf2out_undef): Likewise.  Remove redundant semicolon.
(htab_macinfo_hash, htab_macinfo_eq, output_macinfo_op,
optimize_macinfo_range): New functions.
(output_macinfo): Use them.  If !dwarf_strict and .debug_str is
mergeable, optimize longer strings using
DW_MACRO_GNU_{define,undef}_indirect and if HAVE_COMDAT_GROUP,
optimize longer sequences of define/undef ops from headers
using DW_MACRO_GNU_transparent_include.  For !dwarf_strict
emit a section headers.
(dwarf2out_init): For !dwarf_strict set debug_macinfo_section
and macinfo_section_label to DEBUG_MACRO_SECTION
resp. DEBUG_MACRO_SECTION_LABEL.
(dwarf2out_finish): For !dwarf_strict emit DW_AT_GNU_macros
instead of DW_AT_macro_info.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176653 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR other/32998
jakub [Fri, 22 Jul 2011 20:03:33 +0000 (20:03 +0000)]
PR other/32998
* common.opt (grecord-gcc-switches, gno-record-gcc-switches): New
options.
* dwarf2out.c: Include opts.h.
(dchar_p): New typedef.  Define heap VEC for it.
(producer_string): New variable.
(gen_producer_string): New function.
(gen_compile_unit_die): Use it.
(dwarf2out_finish): Fix up comp_unit_die () DW_AT_producer
if needed.
* Makefile.in (dwarf2out.o): Depend on $(OPTS_H).
* doc/invoke.texi: Document -grecord-gcc-switches and
-gno-record-gcc-switches, add a -grecord-gcc-switches reference
to -frecord-gcc-switches description.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176652 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/30112
jason [Fri, 22 Jul 2011 19:59:49 +0000 (19:59 +0000)]
PR c++/30112
gcc/c-family/
* c-common.h: Declare c_linkage_bindings.
* c-pragma.c (handle_pragma_redefine_extname): Use it.
gcc/
* c-decl.c (c_linkage_bindings): Define.
gcc/cp/
* decl.c (cp_finish_decl): Apply pragma redefine_extname in
other namespaces as well.
* name-lookup.c (c_linkage_bindings): Define.
(lookup_extern_c_fun_in_all_ns): Rename from
lookup_extern_c_fun_binding_in_all_ns.  Return tree.
(pushdecl_maybe_friend_1): Adjust.  Copy DECL_ASSEMBLER_NAME.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176650 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR debug/49815
ebotcazou [Fri, 22 Jul 2011 18:47:17 +0000 (18:47 +0000)]
PR debug/49815
* var-tracking.c (vt_finalize): Always free windowed_parm_regs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176647 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/49813
jason [Fri, 22 Jul 2011 16:06:08 +0000 (16:06 +0000)]
PR c++/49813
* c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
* c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
as flag_isoc99 for 'restrict'.
(pp_c_specifier_qualifier_list): Likewise for _Complex.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176635 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDisallow MS ABI in x32 mode.
hjl [Fri, 22 Jul 2011 16:04:02 +0000 (16:04 +0000)]
Disallow MS ABI in x32 mode.

gcc/

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

* config/i386/i386.c (ix86_option_override_internal): Disallow
MS ABI in x32 mode.
(ix86_init_builtins): Call ix86_init_builtins_va_builtins_abi
only for TARGET_LP64.
(ix86_handle_abi_attribute): Check TARGET_LP64 instead of
TARGET_64BIT.

gcc/testsuite/

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

* gcc/testsuite/gcc.target/i386/avx-vzeroupper-16.c: Only run
on lp64 targets.
* gcc/testsuite/gcc.target/i386/avx-vzeroupper-17.c: Likewise.
* gcc/testsuite/gcc.target/i386/avx-vzeroupper-18.c: Likewise.
* gcc/testsuite/gcc.target/i386/pr43662.c: Likewise.
* gcc/testsuite/gcc.target/i386/pr43869.c: Likewise.

* gcc.target/x86_64/abi/callabi/callabi.exp: Check ilp32
instead of ia32.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176634 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix up ChangeLog date
meissner [Fri, 22 Jul 2011 15:50:07 +0000 (15:50 +0000)]
Fix up ChangeLog date

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176632 138bc75d-0d04-0410-961f-82ee72b054a4