gcc.git
14 years agoAdd missing e-mail address.
Kai Tietz [Sat, 3 Jul 2010 10:30:52 +0000 (12:30 +0200)]
Add missing e-mail address.

From-SVN: r161771

14 years agodecl.c (gnat_to_gnu_entity): Branch to common code handling the alignment of discrete...
Eric Botcazou [Sat, 3 Jul 2010 09:54:13 +0000 (09:54 +0000)]
decl.c (gnat_to_gnu_entity): Branch to common code handling the alignment of discrete types.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
Branch to common code handling the alignment of discrete types.
<E_Signed_Integer_Type>: Likewise.
<E_Modular_Integer_Type>: Likewise.

From-SVN: r161770

14 years agore PR testsuite/44518 (objc++ encode-2.mm and encode-3.mm fail on several platforms)
Iain Sandoe [Sat, 3 Jul 2010 08:15:59 +0000 (08:15 +0000)]
re PR testsuite/44518 (objc++ encode-2.mm and encode-3.mm fail on several platforms)

2010-07-03  Iain Sandoe  <iains@gcc.gnu.org>
    Mikael Pettersson  <mikpe@it.uu.se>

        PR testsuite/44518
* obj-c++.dg/encode-2.mm: Produce object and save temps.
Make signed-ness of chars explicit.  Scan the object for
strings that are split by some target assemblers.
* obj-c++.dg/encode-3.mm: Make the signed-ness of chars
explicit.

Co-Authored-By: Mikael Pettersson <mikpe@it.uu.se>
From-SVN: r161769

14 years agoFix long lines
Eric Botcazou [Sat, 3 Jul 2010 06:23:09 +0000 (06:23 +0000)]
Fix long lines

From-SVN: r161768

14 years ago* gfortran.dg/char_bounds_check_fail_1.f90: Correct dg-output string.
Hans-Peter Nilsson [Sat, 3 Jul 2010 06:07:59 +0000 (06:07 +0000)]
* gfortran.dg/char_bounds_check_fail_1.f90: Correct dg-output string.

From-SVN: r161767

14 years agoinvoke.texi: Update documentation of -Wshadow.
Le-Chun Wu [Sat, 3 Jul 2010 01:10:06 +0000 (01:10 +0000)]
invoke.texi: Update documentation of -Wshadow.

       PR/44128
       * gcc/doc/invoke.texi: Update documentation of -Wshadow.
       * gcc/cp/name-lookup.c (pushdecl_maybe_friend): Warn when a local
       decl (variable or type) shadows another type.
       * gcc/testsuite/g++.dg/warn/Wshadow-7.C: New test.

From-SVN: r161765

14 years agoarm.c (arm_canonicalize_comparison): Canonicalize DImode comparisons.
Daniel Jacobowitz [Sat, 3 Jul 2010 01:00:37 +0000 (01:00 +0000)]
arm.c (arm_canonicalize_comparison): Canonicalize DImode comparisons.

2010-07-02  Daniel Jacobowitz  <dan@codesourcery.com>
    Julian Brown  <julian@codesourcery.com>
    Sandra Loosemore <sandra@codesourcery.com>

gcc/
* config/arm/arm.c (arm_canonicalize_comparison): Canonicalize DImode
comparisons.  Adjust to take both operands.
(arm_select_cc_mode): Handle DImode comparisons.
(arm_gen_compare_reg): Generate a scratch register for DImode
comparisons which require one.  Use xor for Thumb equality checks.
(arm_const_double_by_immediates): New.
(arm_print_operand): Allow 'Q' and 'R' for constants.
(get_arm_condition_code): Handle new CC_CZmode and CC_NCVmode.
* config/arm/arm.h (CANONICALIZE_COMPARISON): Always use
arm_canonicalize_comparison.
* config/arm/arm-modes.def: Add CC_CZmode and CC_NCVmode.
* config/arm/arm-protos.h (arm_canonicalize_comparison): Update
prototype.
(arm_const_double_by_immediates): Declare.
* config/arm/constraints.md (Di): New constraint.
* config/arm/predicates.md (arm_immediate_di_operand)
(arm_di_operand, cmpdi_operand): New.
* config/arm/arm.md (cbranchdi4): Handle non-Cirrus also.
(*arm_cmpdi_insn, *arm_cmpdi_unsigned)
(*arm_cmpdi_zero, *thumb_cmpdi_zero): New insns.
(cstoredi4): Handle non-Cirrus also.

gcc/testsuite/
* gcc.c-torture/execute/20100416-1.c: New test case.

Co-Authored-By: Julian Brown <julian@codesourcery.com>
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r161764

14 years agore PR target/43703 (Unexpected floating point precision loss due to ARM NEON autovect...
Julian Brown [Sat, 3 Jul 2010 00:46:51 +0000 (00:46 +0000)]
re PR target/43703 (Unexpected floating point precision loss due to ARM NEON autovectorization)

2010-07-02  Julian Brown  <julian@codesourcery.com>
    Sandra Loosemore <sandra@codesourcery.com>

PR target/43703

gcc/
* config/arm/vec-common.md (add<mode>3, sub<mode>3, smin<mode>3)
(smax<mode>3): Disable for NEON float modes when
flag_unsafe_math_optimizations is false.
* config/arm/neon.md (*add<mode>3_neon, *sub<mode>3_neon)
(*mul<mode>3_neon)
(mul<mode>3add<mode>_neon, mul<mode>3neg<mode>add<mode>_neon)
(reduc_splus_<mode>, reduc_smin_<mode>, reduc_smax_<mode>): Disable
for NEON float modes when flag_unsafe_math_optimizations is false.
(quad_halves_<code>v4sf): Only enable if flag_unsafe_math_optimizations
is true.
* doc/invoke.texi (ARM Options): Add note about floating point
vectorization requiring -funsafe-math-optimizations.

gcc/testsuite/
* gcc.dg/vect/vect.exp: Add -ffast-math for NEON.
* gcc.dg/vect/vect-reduc-6.c: Add XFAIL for NEON.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r161763

14 years agoneon.md (UNSPEC_VABA): Delete.
Sandra Loosemore [Sat, 3 Jul 2010 00:31:43 +0000 (20:31 -0400)]
neon.md (UNSPEC_VABA): Delete.

2010-07-02  Sandra Loosemore  <sandra@codesourcery.com>
    Julian Brown  <julian@codesourcery.com>

gcc/
* config/arm/neon.md (UNSPEC_VABA): Delete.
(UNSPEC_VABAL): Delete.
(UNSPEC_VABS): Delete.
(UNSPEC_VMUL_N): Delete.
(adddi3_neon): New.
(subdi3_neon): New.
(mul<mode>3add<mode>_neon): Make the pattern named.
(mul<mode>3neg<mode>add<mode>_neon): Likewise.
(neon_vadd<mode>): Replace with define_expand, and move the remaining
unspec parts...
(neon_vadd<mode>_unspec): ...to this.
(neon_vmla<mode>, neon_vmla<mode>_unspec): Likewise.
(neon_vlms<mode>, neon_vmls<mode>_unspec): Likewise.
(neon_vsub<mode>, neon_vsub<mode>_unspec): Likewise.
(neon_vaba<mode>): Rewrite in terms of vabd.
(neon_vabal<mode>): Rewrite in terms of vabdl.
(neon_vabs<mode>): Rewrite without unspec.
* config/arm/arm.md (*arm_adddi3): Disable for TARGET_NEON.
(*arm_subdi3): Likewise.
* config/arm/neon.ml (Vadd, Vsub): Split out 64-bit variants and add
No_op attribute to disable assembly output checks.
* config/arm/arm_neon.h: Regenerated.
* doc/arm-neon-intrinsics.texi: Regenerated.

gcc/testsuite/
* gcc.target/arm/neon/vadds64.c: Regenerated.
* gcc.target/arm/neon/vaddu64.c: Regenerated.
* gcc.target/arm/neon/vsubs64.c: Regenerated.
* gcc.target/arm/neon/vsubu64.c: Regenerated.
* gcc.target/arm/neon-vmla-1.c: Add -ffast-math to options.
* gcc.target/arm/neon-vmls-1.c: Likewise.
* gcc.target/arm/neon-vsubs64.c: New execution test.
* gcc.target/arm/neon-vsubu64.c: New execution test.
* gcc.target/arm/neon-vadds64.c: New execution test.
* gcc.target/arm/neon-vaddu64.c: New execution test.

Co-Authored-By: Julian Brown <julian@codesourcery.com>
From-SVN: r161762

14 years agoDaily bump.
GCC Administrator [Sat, 3 Jul 2010 00:18:48 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r161760

14 years agoipa-split.c (split_function): For aggregate values set return_slot_opt...
Jan Hubicka [Fri, 2 Jul 2010 23:38:19 +0000 (01:38 +0200)]
ipa-split.c (split_function): For aggregate values set return_slot_opt...

* ipa-split.c (split_function): For aggregate values set return_slot_opt;
when passing DECL_BY_REFERENCE produce *<retval> = fncall.part ()
(execute_split_functions): Do not care about DECL_BY_REFERENCE.

From-SVN: r161756

14 years agoneon.md (UNSPEC_VAND): Delete.
Sandra Loosemore [Fri, 2 Jul 2010 23:16:35 +0000 (19:16 -0400)]
neon.md (UNSPEC_VAND): Delete.

2010-07-02  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/arm/neon.md (UNSPEC_VAND): Delete.
(UNSPEC_VBIC): Delete.
(UNSPEC_VCLZ): Delete.
(UNSPEC_VCNT): Delete.
(UNSPEC_VEOR): Delete.
(UNSPEC_VORN): Delete.
(UNSPEC_VORR): Delete.
(iordi3_neon): Rewrite RTL without unspec.  Add alternatives to handle
core registers too.
(anddi3_neon): Likewise.
(orndi3_neon): Likewise.
(bicdi3_neon): Likewise.
(xordi3_neon): Likewise.
(neon_vclz<mode>): Rewrite as define_expand and clz<mode>2 to get
rid of unspec and handle unused operand.
(neon_vcnt<mode>): Similarly, with popcount<mode>2.
* config/arm/predicates.md (imm_for_neon_logic_operand):
Require TARGET_NEON.
(imm_for_neon_inv_logic_operand): Likewise.
* config/arm/arm.md (define_split for logical_binary_operator):
Disable for NEON registers.
(anddi3): Add new define_expand, and rename the insn.  Disable
this insn for NEON, where anddi3_neon now applies.
(*anddi_notdi_di): Disable for TARGET_NEON, where bicdi3_neon applies.
(iordi3): As for anddi3.
(xordi3): Likewise.
* config/arm/neon.ml (Vand): Split DImode variants and mark them
as No_op to disable testing for exact instruction match.
(Vorr): Likewise.
(Veor): Likewise.
(Vbic): Likewise.
(Vorn): Likewise.
* config/arm/arm_neon.h: Regenerated.
* doc/arm-neon-intrinsics.texi: Regenerated.

gcc/testsuite/
* gcc.target/arm/neon-vands64.c: New.
* gcc.target/arm/neon-vandu64.c: New.
* gcc.target/arm/neon-vbics64.c: New.
* gcc.target/arm/neon-vbicu64.c: New.
* gcc.target/arm/neon-veors64.c: New.
* gcc.target/arm/neon-veoru64.c: New.
* gcc.target/arm/neon-vorns64.c: New.
* gcc.target/arm/neon-vornu64.c: New.
* gcc.target/arm/neon-vorrs64.c: New.
* gcc.target/arm/neon-vorru64.c: New.
* gcc.target/arm/neon/vands64.c: Regenerated.
* gcc.target/arm/neon/vandu64.c: Regenerated.
* gcc.target/arm/neon/vbics64.c: Regenerated.
* gcc.target/arm/neon/vbicu64.c: Regenerated.
* gcc.target/arm/neon/veors64.c: Regenerated.
* gcc.target/arm/neon/veoru64.c: Regenerated.
* gcc.target/arm/neon/vorns64.c: Regenerated.
* gcc.target/arm/neon/vornu64.c: Regenerated.
* gcc.target/arm/neon/vorrs64.c: Regenerated.
* gcc.target/arm/neon/vorru64.c: Regenerated.

From-SVN: r161755

14 years agoMinor fixes
Eric Botcazou [Fri, 2 Jul 2010 21:38:40 +0000 (21:38 +0000)]
Minor fixes

From-SVN: r161751

14 years agoexpr.h (emit_stack_probe): Declare.
Eric Botcazou [Fri, 2 Jul 2010 21:25:28 +0000 (21:25 +0000)]
expr.h (emit_stack_probe): Declare.

* expr.h (emit_stack_probe): Declare.
* explow.c (emit_stack_probe): Make global.
(anti_adjust_stack_and_probe): Fix comments.
* config/sparc/linux.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
* config/sparc/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
* config/sparc/sol2.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
* config/sparc/sparc.c: Include except.h.
(sparc_emit_probe_stack_range): New function.
(output_probe_stack_range): Likewise.
(sparc_expand_prologue): Invoke sparc_emit_probe_stack_range if static
built-in stack checking is enabled.
* config/sparc/sparc-protos.h (output_probe_stack_range): Declare.
* config/sparc/sparc.md (UNSPECV_PROBE_STACK_RANGE): New constant.
(probe_stack_range): New insn.

From-SVN: r161749

14 years agoruntime_warning_1.f90: Remove extra dg line.
Jerry DeLisle [Fri, 2 Jul 2010 20:57:08 +0000 (20:57 +0000)]
runtime_warning_1.f90: Remove extra dg line.

2010-07-02  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* gfortran.dg/runtime_warning_1.f90: Remove extra dg line.

From-SVN: r161747

14 years agore PR target/43958 (FAIL: gcc.dg/ipa/ipa-pta-10.c scan-ipa-dump pta "ESCAPED = { }")
Richard Guenther [Fri, 2 Jul 2010 20:51:58 +0000 (20:51 +0000)]
re PR target/43958 (FAIL: gcc.dg/ipa/ipa-pta-10.c scan-ipa-dump pta "ESCAPED = { }")

PR target/43958
* config/pa/pa.c (hppa_gimplify_va_arg_expr): Use pointer arithmetic
for argument alignment.

From-SVN: r161746

14 years agoruntime_warning_1.f90: Fix dg syntax.
Jerry DeLisle [Fri, 2 Jul 2010 20:51:50 +0000 (20:51 +0000)]
runtime_warning_1.f90: Fix dg syntax.

2010-07-02  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* gfortran.dg/runtime_warning_1.f90: Fix dg syntax.
* gfortran.dg/intent_out_5.f90: Same.
* gfortran.dg/ltrans-7.f90: Same.
* gfortran.dg/char_bounds_check_fail_1.f90: Same.

From-SVN: r161745

14 years agoipa-split.c (verify_non_ssa_vars): Break out from ......
Jan Hubicka [Fri, 2 Jul 2010 20:45:00 +0000 (22:45 +0200)]
ipa-split.c (verify_non_ssa_vars): Break out from ......

* ipa-split.c (verify_non_ssa_vars): Break out from ...; perform DFS walk
backwards from entry_bb to check only those basic block of header
that might lead to execution of split part.
(consider_split) ... here.
(find_return_bb): Allow assignment in return BB.
(find_retval): New.
(split_function): Fix name of cloned function; take care of updating return
value in return_bb containing move.

* gcc.dg/tree-ssa/ipa-split-5.c: New function.

From-SVN: r161744

14 years agoObject1.h: Correct Line endings.
Iain Sandoe [Fri, 2 Jul 2010 20:34:27 +0000 (20:34 +0000)]
Object1.h: Correct Line endings.

* objc-obj-c++-shared/Object1.h: Correct Line endings.

From-SVN: r161743

14 years agore PR c++/44780 (Bogus set-but-not-used variable warning)
Jakub Jelinek [Fri, 2 Jul 2010 20:22:32 +0000 (22:22 +0200)]
re PR c++/44780 (Bogus set-but-not-used variable warning)

PR c++/44780
* typeck.c (convert_for_assignment): When converting a convertible
vector type or objc++ types, call mark_rvalue_use.
* typeck2.c (build_m_component_ref): Use return values from
mark_rvalue_use or mark_lvalue_use.
* class.c (build_base_path): Likewise.
* call.c (build_conditional_expr): Likewise.

* c-c++-common/Wunused-var-12.c: New test.

From-SVN: r161742

14 years agore PR target/44771 (m68k_expand_prologue: variable set but not used)
Andreas Schwab [Fri, 2 Jul 2010 20:15:59 +0000 (20:15 +0000)]
re PR target/44771 (m68k_expand_prologue: variable set but not used)

PR target/44771
* config/m68k/m68k.c (m68k_expand_prologue): Remove set but not
used variable insn.

From-SVN: r161741

14 years agore PR fortran/44662 (unitialized memory on testcases abstract_type_6.f03 and typeboun...
Mikael Morin [Fri, 2 Jul 2010 20:01:05 +0000 (20:01 +0000)]
re PR fortran/44662 (unitialized memory on testcases abstract_type_6.f03 and typebound_call_4.f03)

2010-07-02  Mikael Morin  <mikael@gcc.gnu.org>

PR fortran/44662
* decl.c (match_procedure_in_type): Clear structure before using.
(gfc_match_generic): Ditto.

From-SVN: r161739

14 years agotrans-types.h (gfc_add_field_to_struct): Add tree ** parameter.
Nathan Froyd [Fri, 2 Jul 2010 19:53:24 +0000 (19:53 +0000)]
trans-types.h (gfc_add_field_to_struct): Add tree ** parameter.

* trans-types.h (gfc_add_field_to_struct): Add tree ** parameter.
* trans-types.c (gfc_add_field_to_struct_1): New function, most
of which comes from...
(gfc_add_field_to_struct): ...here.  Call it.  Add new parameter.
(gfc_get_desc_dim_type): Call gfc_add_field_to_struct_1 for
building fields.
(gfc_get_array_descriptor_base): Likewise.
(gfc_get_mixed_entry_union): Likewise.
(gfc_get_derived_type): Add extra chain parameter for
gfc_add_field_to_struct.
* trans-stmt.c (gfc_trans_character_select): Likewise.
* trans-io.c (gfc_build_st_parameter): Likewise.

From-SVN: r161738

14 years agoimplicit-zee.c (combine_reaching_defs): Fix long lines.
Eric Botcazou [Fri, 2 Jul 2010 19:25:30 +0000 (19:25 +0000)]
implicit-zee.c (combine_reaching_defs): Fix long lines.

* implicit-zee.c (combine_reaching_defs): Fix long lines.
(is_set_with_extension_DI): Delete.
(struct zero_extend_info): New structure.
(add_removable_zero_extend ): New function.
(find_removable_zero_extends): Use note_stores to find SETs.
(find_and_remove_ze): Fix long line, remove superfluous parentheses.

From-SVN: r161736

14 years agore PR libfortran/43298 (fortran library does not read in NaN -Inf or Inf)
Tobias Burnus [Fri, 2 Jul 2010 19:07:30 +0000 (21:07 +0200)]
re PR libfortran/43298 (fortran library does not read in NaN -Inf or Inf)

2010-06-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43298
        * list_read.c (parse_real): Do not pass (..) on for NAN(..).
        * read.c (convert_real): Fix comment about NAN/INF.

From-SVN: r161735

14 years agoMakefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
Jakub Jelinek [Fri, 2 Jul 2010 16:52:38 +0000 (18:52 +0200)]
Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.

* Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
* Makefile.in: Regenerated.

From-SVN: r161731

14 years agoScript to check patches violating the GNU style.
Sebastian Pop [Fri, 2 Jul 2010 16:34:55 +0000 (16:34 +0000)]
Script to check patches violating the GNU style.

2010-07-02  Sebastian Pop  <sebastian.pop@amd.com>

* check_GNU_style.sh: New.

From-SVN: r161729

14 years agoReduce the cost in miss rate computation.
Changpeng Fang [Fri, 2 Jul 2010 16:34:38 +0000 (16:34 +0000)]
Reduce the cost in miss rate computation.

2010-07-02  Changpeng Fang  <changpeng.fang@amd.com>

* tree-ssa-loop-prefetch.c (compute_miss_rate): Rename to
is_miss_rate_acceptable. Pull total_positions computation
out of the loops.  Early return if miss_positions exceeds
the acceptable threshold.
* tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Call
is_miss_rate_acceptable after renaming of compute_miss_rate.

From-SVN: r161728

14 years agoPR 44576: miss rate computation improvement for prefetching loop arrays.
Changpeng Fang [Fri, 2 Jul 2010 16:34:29 +0000 (16:34 +0000)]
PR 44576: miss rate computation improvement for prefetching loop arrays.

2010-07-02  Changpeng Fang  <changpeng.fang@amd.com>

PR middle-end/44576
* tree-ssa-loop-prefetch.c (compute_miss_rate): Return 1000 (out
of 1000) for miss rate if the address diference is greater than or
equal to the cache line size (the two reference will never hit the
same cache line).

From-SVN: r161727

14 years agore PR tree-optimization/42172 (inefficient bit fields assignments)
Bernd Schmidt [Fri, 2 Jul 2010 16:25:59 +0000 (16:25 +0000)]
re PR tree-optimization/42172 (inefficient bit fields assignments)

PR target/42172
* config/arm/arm.c (thumb1_rtx_costs): Improve support for SIGN_EXTEND
and ZERO_EXTEND.
(arm_rtx_costs_1): Likewise.
(arm_size_rtx_costs): Use arm_rtx_costs_1 for these codes.
* config/arm/arm.md (is_arch6): New attribute.
(zero_extendhisi2, zero_extendqisi2, extendhisi2,
extendqisi2): Tighten the code somewhat, avoiding invalid
RTL to occur in the expander patterns.
(thumb1_zero_extendhisi2): Merge with thumb1_zero_extendhisi2_v6.
(thumb1_zero_extendhisi2_v6): Delete.
(thumb1_extendhisi2): Merge with thumb1_extendhisi2_v6.
(thumb1_extendhisi2_v6): Delete.
(thumb1_extendqisi2): Merge with thumb1_extendhisi2_v6.
(thumb1_extendqisi2_v6): Delete.
(zero_extendhisi2 for register input splitter): New.
(zero_extendqisi2 for register input splitter): New.
(thumb1_extendhisi2 for register input splitter): New.
(extendhisi2 for register input splitter): New.
(extendqisi2 for register input splitter): New.
(TARGET_THUMB1 extendqisi2 for memory input splitter): New.
(arm_zero_extendhisi2): Allow nonimmediate_operand for operand 1,
and add support for a register alternative requiring a split.
(thumb1_zero_extendqisi2): Likewise.
(arm_zero_extendqisi2): Likewise.
(arm_extendhisi2): Likewise.
(arm_extendqisi2): Likewise.

testsuite/
PR target/42172
* gcc.target/arm/pr42172-1.c: New test.

From-SVN: r161726

14 years agore PR rtl-optimization/42835 (Missed merging common code sequence at the end of two...
Bernd Schmidt [Fri, 2 Jul 2010 16:22:33 +0000 (16:22 +0000)]
re PR rtl-optimization/42835 (Missed merging common code sequence at the end of two basic blocks)

PR target/42835
* config/arm/arm-modes.def (CC_NOTB): New mode.
* config/arm/arm.c (get_arm_condition_code): Handle it.
* config/arm/thumb2.md (thumb2_compare_scc): Delete pattern.
* config/arm/arm.md (subsi3_compare0_c): New pattern.
(compare_scc): Now a define_and_split.  Add a number of extra
splitters before it.

testsuite/
PR target/42835
* gcc.target/arm/pr42835.c: New test.

From-SVN: r161725

14 years agoconfigure.ac (gfortran_use_symver): Only check for Sun-style symbol versioning on...
Rainer Orth [Fri, 2 Jul 2010 16:17:04 +0000 (16:17 +0000)]
configure.ac (gfortran_use_symver): Only check for Sun-style symbol versioning on Solaris 2.

libgfortran:
* configure.ac (gfortran_use_symver): Only check for Sun-style symbol
versioning on Solaris 2.
* configure: Regenerate.

libssp:
* configure.ac (ssp_use_symver): Only check for Sun-style symbol
versioning on Solaris 2.
* configure: Regenerate.

From-SVN: r161724

14 years agocrash101.C: Remove stray // from dg-error comment.
Paolo Carlini [Fri, 2 Jul 2010 15:17:10 +0000 (15:17 +0000)]
crash101.C: Remove stray // from dg-error comment.

2010-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/template/crash101.C: Remove stray // from dg-error comment.

From-SVN: r161722

14 years agoarm.c (neon_vdup_constant): Expand into canonical RTL instead of an unspec.
Sandra Loosemore [Fri, 2 Jul 2010 14:48:04 +0000 (10:48 -0400)]
arm.c (neon_vdup_constant): Expand into canonical RTL instead of an unspec.

2010-07-02  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/arm/arm.c (neon_vdup_constant): Expand into canonical RTL
instead of an unspec.
(neon_expand_vector_init): Likewise.
* config/arm/neon.md (UNSPEC_VCOMBINE): Delete.
(UNSPEC_VDUP_LANE): Delete.
(UNSPEC VDUP_N): Delete.
(UNSPEC_VGET_HIGH): Delete.
(UNSPEC_VGET_LANE): Delete.
(UNSPEC_VGET_LOW): Delete.
(UNSPEC_VMVN): Delete.
(UNSPEC_VSET_LANE): Delete.
(V_double_vector_mode): New.
(vec_set<mode>_internal): Make code emitted match that for the
corresponding intrinsics.
(vec_setv2di_internal): Likewise.
(neon_vget_lanedi): Rewrite to expand into emit_move_insn.
(neon_vget_lanev2di): Rewrite to expand into vec_extractv2di.
(neon_vset_lane<mode>): Combine double and quad patterns and
expand into vec_set<mode>_internal instead of UNSPEC_VSET_LANE.
(neon_vset_lanedi): Rewrite to expand into emit_move_insn.
(neon_vdup_n<mode>): Rewrite RTL without unspec.
(neon_vdup_ndi): Rewrite as define_expand and use emit_move_insn.
(neon_vdup_nv2di): Rewrite RTL without unspec and merge with
with neon_vdup_lanev2di, adjusting the pattern from the latter
to be predicable for consistency.
(neon_vdup_lane<mode>_internal): New.
(neon_vdup_lane<mode>): Turn into a define_expand and rewrite
to avoid using an unspec.
(neon_vdup_lanedi): Rewrite RTL pattern to avoid unspec.
(neon_vdup_lanev2di): Turn into a define_expand.
(neon_vcombine): Rewrite pattern to eliminate UNPSEC_VCOMBINE.
(neon_vget_high<mode>): Replace with....
(neon_vget_highv16qi): New pattern using canonical RTL.
(neon_vget_highv8hi): Likewise.
(neon_vget_highv4si): Likewise.
(neon_vget_highv4sf): Likewise.
(neon_vget_highv2di): Likewise.
(neon_vget_low<mode>): Replace with....
(neon_vget_lowv16qi): New pattern using canonical RTL.
(neon_vget_lowv8hi): Likewise.
(neon_vget_lowv4si): Likewise.
(neon_vget_lowv4sf): Likewise.
(neon_vget_lowv2di): Likewise.

* config/arm/neon.ml (Vget_lane): Add No_op attribute to suppress
test for this emitting vmov.
(Vset_lane): Likewise.
(Vdup_n): Likewise.
(Vmov_n): Likewise.

* doc/arm-neon-intrinsics.texi: Regenerated.

gcc/testsuite/
* gcc.target/arm/neon/vdup_ns64.c: Regenerated.
* gcc.target/arm/neon/vdup_nu64.c: Regenerated.
* gcc.target/arm/neon/vdupQ_ns64.c: Regenerated.
* gcc.target/arm/neon/vdupQ_nu64.c: Regenerated.
* gcc.target/arm/neon/vmov_ns64.c: Regenerated.
* gcc.target/arm/neon/vmov_nu64.c: Regenerated.
* gcc.target/arm/neon/vmovQ_ns64.c: Regenerated.
* gcc.target/arm/neon/vmovQ_nu64.c: Regenerated.
* gcc.target/arm/neon/vget_lanes64.c: Regenerated.
* gcc.target/arm/neon/vget_laneu64.c: Regenerated.
* gcc.target/arm/neon/vset_lanes64.c: Regenerated.
* gcc.target/arm/neon/vset_laneu64.c: Regenerated.
* gcc.target/arm/neon-vdup_ns64.c: New.
* gcc.target/arm/neon-vdup_nu64.c: New.
* gcc.target/arm/neon-vdupQ_ns64.c: New.
* gcc.target/arm/neon-vdupQ_nu64.c: New.
* gcc.target/arm/neon-vdupQ_lanes64.c: New.
* gcc.target/arm/neon-vdupQ_laneu64.c: New.
* gcc.target/arm/neon-vmov_ns64.c: New.
* gcc.target/arm/neon-vmov_nu64.c: New.
* gcc.target/arm/neon-vmovQ_ns64.c: New.
* gcc.target/arm/neon-vmovQ_nu64.c: New.
* gcc.target/arm/neon-vget_lanes64.c: New.
* gcc.target/arm/neon-vget_laneu64.c: New.
* gcc.target/arm/neon-vset_lanes64.c: New.
* gcc.target/arm/neon-vset_laneu64.c: New.

From-SVN: r161720

14 years agoneon.md (vec_extractv2di): Correct error in register numbering to reconcile with...
Sandra Loosemore [Fri, 2 Jul 2010 14:43:26 +0000 (10:43 -0400)]
neon.md (vec_extractv2di): Correct error in register numbering to reconcile with neon_vget_lanev2di.

2010-07-02  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/arm/neon.md (vec_extractv2di): Correct error in register
numbering to reconcile with neon_vget_lanev2di.

From-SVN: r161719

14 years agotree-ssa-structalias.c (pt_solution_set_var): New function.
Richard Guenther [Fri, 2 Jul 2010 13:25:23 +0000 (13:25 +0000)]
tree-ssa-structalias.c (pt_solution_set_var): New function.

2010-07-02  Richard Guenther  <rguenther@suse.de>

* tree-ssa-structalias.c (pt_solution_set_var): New function.
* tree-ssa-alias.h (pt_solution_set_var): Declare.
* tree-ssa-loop-ivopts.c (copy_ref_info): Also copy or create
points-to information.

From-SVN: r161716

14 years agos390.c (override_options): Adopt prefetching at -O3 to handle flag_prefetch_loop_arra...
Christian Borntraeger [Fri, 2 Jul 2010 12:43:00 +0000 (12:43 +0000)]
s390.c (override_options): Adopt prefetching at -O3 to handle flag_prefetch_loop_arrays as a tristate.

2010-07-02  Christian Borntraeger  <borntraeger@de.ibm.com>

* config/s390/s390.c (override_options): Adopt prefetching
at -O3 to handle flag_prefetch_loop_arrays as a tristate.

From-SVN: r161709

14 years agodf-problems.c (df_kill_notes): Do not collect dead notes.
Jan Hubicka [Fri, 2 Jul 2010 12:30:38 +0000 (14:30 +0200)]
df-problems.c (df_kill_notes): Do not collect dead notes.

* df-problems.c (df_kill_notes): Do not collect dead  notes.
(df_set_note): Just call add_reg_note.
(df_set_unused_notes_for_mw, df_set_dead_notes_for_mw,
df_create_unused_note): Do not deal with lists of old notes.
(df_note_bb_compute): Likewise.

From-SVN: r161708

14 years agotree-ssa-structalias.c (find_func_aliases): Handle pointer alignment via BIT_AND_EXPR.
Richard Guenther [Fri, 2 Jul 2010 12:28:54 +0000 (12:28 +0000)]
tree-ssa-structalias.c (find_func_aliases): Handle pointer alignment via BIT_AND_EXPR.

2010-07-02  Richard Guenther  <rguenther@suse.de>

* tree-ssa-structalias.c (find_func_aliases): Handle
pointer alignment via BIT_AND_EXPR.
* tree-vrp.c (extract_range_from_binary_expr): Likewise.

From-SVN: r161707

14 years agoacinclude.m4 (symvers_renaming): Define HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT...
Rainer Orth [Fri, 2 Jul 2010 12:09:29 +0000 (12:09 +0000)]
acinclude.m4 (symvers_renaming): Define HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT instead of...

2010-07-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

* acinclude.m4 (symvers_renaming): Define
HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT instead of
_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
Fix syntax error.
* config.h.in: Regenerate.
* configure: Regenerate.

From-SVN: r161706

14 years agotree-data-ref.c (initialize_data_dependence_relation): Handle mismatching number...
Richard Guenther [Fri, 2 Jul 2010 12:05:59 +0000 (12:05 +0000)]
tree-data-ref.c (initialize_data_dependence_relation): Handle mismatching number of dimensions properly.

2010-07-02  Richard Guenther  <rguenther@suse.de>

* tree-data-ref.c (initialize_data_dependence_relation): Handle
mismatching number of dimensions properly.

* g++.dg/torture/20100702-1.C: New testcase.

From-SVN: r161705

14 years agomisc.c (gnat_handle_option): Do not populate gnat_argv.
Eric Botcazou [Fri, 2 Jul 2010 11:52:30 +0000 (11:52 +0000)]
misc.c (gnat_handle_option): Do not populate gnat_argv.

* gcc-interface/misc.c (gnat_handle_option): Do not populate gnat_argv.
(gnat_handle_option): Allocate only one element for gnat_argv.
(gnat_init): Do not populate gnat_argv.

From-SVN: r161704

14 years agore PR target/44707 (operand requires impossible reload)
Ulrich Weigand [Fri, 2 Jul 2010 11:48:30 +0000 (11:48 +0000)]
re PR target/44707 (operand requires impossible reload)

ChangeLog:

PR target/44707
* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Recognize
(lo_sum (high ...) ...) patterns generated by earlier passes.

testsuite/ChangeLog:

PR target/44707
* gcc.c-torture/compile/pr44707.c: New test.

From-SVN: r161703

14 years ago- Revert two chunks from libstdc++-v3/python/libstdcxx/v6/printers.py,
Matthias Klose [Fri, 2 Jul 2010 10:55:51 +0000 (10:55 +0000)]
- Revert two chunks from libstdc++-v3/python/libstdcxx/v6/printers.py,

  left over from testing.

From-SVN: r161702

14 years agoMissed in last commit.
Rainer Orth [Fri, 2 Jul 2010 10:26:12 +0000 (10:26 +0000)]
Missed in last commit.

From-SVN: r161701

14 years agoconfigure.ac: Check for Sun symbol versioning.
Rainer Orth [Fri, 2 Jul 2010 10:15:09 +0000 (10:15 +0000)]
configure.ac: Check for Sun symbol versioning.

* configure.ac: Check for Sun symbol versioning.
Check for memmove.
* configure: Regenerate.
* config.h.in: Regenerate.

* Makefile.am [LIBSSP_USE_SYMVER]: Protect version_arg,
version_dep with LIBSSP_USE_SYMVER_GNU.
[LIBSSP_USE_SYMVER_SUN]: Handle Sun symbol versioning.
* Makefile.in: Regenerate.

* ssp.map: Reformat.

* memmove-chk.c: Change guard to HAVE_MEMMOVE.

From-SVN: r161699

14 years agore PR c++/44039 (ICE: Segmentation fault on error recovery)
Paolo Carlini [Fri, 2 Jul 2010 10:13:21 +0000 (10:13 +0000)]
re PR c++/44039 (ICE: Segmentation fault on error recovery)

/cp
2010-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/44039
* pt.c (tsubst_baselink): Return error_mark_node if lookup_fnfields
returns NULL_TREE.

/testsuite
2010-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/44039
* g++.dg/template/crash101.C: New.

From-SVN: r161698

14 years agoconfigure.ac: Check for Sun symbol versioning.
Rainer Orth [Fri, 2 Jul 2010 10:12:34 +0000 (10:12 +0000)]
configure.ac: Check for Sun symbol versioning.

* configure.ac: Check for Sun symbol versioning.
* configure: Regenerate.

* Makefile.am [LIBGFOR_USE_SYMVER]: Protect version_arg with
LIBGFOR_USE_SYMVER_GNU.
Add version_dep.
[LIBGFOR_USE_SYMVER_SUN]: Handle Sun symbol versioning.
[!LIBGFOR_USE_SYMVER]: Add version_dep.
(libgfortran_la_DEPENDENCIES): Set to $(version_dep).
* Makefile.in: Regenerate.

From-SVN: r161697

14 years agogc++filt.m4: New file.
Rainer Orth [Fri, 2 Jul 2010 10:05:49 +0000 (10:05 +0000)]
gc++filt.m4: New file.

config:
* gc++filt.m4: New file.

contrib:
* make_sunver.pl: New file.

libstdc++v3:
* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Handle sun style.
Require GCC_PROG_GNU_CXXFILT.
(_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define
unless targetting solaris2*.
Include ../config/gc++filt.m4.
* configure.host (i?86-*-solaris2*): Set abi_baseline_pair.
(sparc-*-solaris2*): Likewise.
* src/Makefile.am [ENABLE_SYMVERS_SUN] (version_dep, version_arg):
New variables.
(libstdc++-symbols.ver-sun): New target.
* configure: Regenerate.
* config.h.in: Regenerate.
* Makefile.in: Likewise.
* doc/Makefile.in: Likewise.
* include/Makefile.in: Likewise.
* libsupc++/Makefile.in: Likewise.
* po/Makefile.in: Likewise.
* python/Makefile.in: Likewise.
* src/Makefile.in: Likewise.
* src/atomic.cc: Only define/use _GLIBCXX_ASM_SYMVER if
_GLIBCXX_HAVE_SYMVER_RENAMING_RUNTIME_SUPPORT.
* src/compatibility.cc: Likewise.
* testsuite/Makefile.am (baseline_subdir): Define.
(baseline_symbols): Use it.
(new-abi-baseline): Likewise.
* testsuite/Makefile.in: Regenerate.

* config/abi/pre/gnu.ver (GLIBCXX_3.4.5): Enclose duplicates in
#ifdef HAVE_SYMVER_RENAMING_RUNTIME_SUPPORT.
(GLIBCXX_3.4.6): Likewise.

* doc/xml/manual/configure.xml (--enable-symvers): Document sun
style.

* doc/xml/manual/abi.xml: Fix grammar.
(Symbol versioning on the libstdc++.so binary): Fix mapfile path.
(Incremental bumping of a library pre-defined macro): Fix
c++config path.
(Incremental bumping of a library pre-defined macro,
_GLIBCPP_VERSION): Likewise.
(Matching each specific C++ compiler release to a specific set of
C++ include files): Fix acinclude.m4 path.
(Prerequisites): Allow for Sun linker on Solaris 2.5+.
Use proper link to Configuring.
Fix acinclude.m4 path.
(Checking Active): Allow for additional symbol versioning styles.
Provide Solaris 2 example with pvs -r.
(Bibliography): Update Linker and Libraries Guide, C++ Migration
Guide entries.

gcc:
* doc/install.texi (Prerequisites): Document Perl requirement on
Solaris 2.
(Specific, *-*-solaris2*): Document GNU c++filt requirement.

From-SVN: r161696

14 years agore PR middle-end/44777 (ICE: SIGSEGV with -fprofile-use in gcc.c-torture/execute...
Richard Guenther [Fri, 2 Jul 2010 09:57:12 +0000 (09:57 +0000)]
re PR middle-end/44777 (ICE: SIGSEGV with -fprofile-use in gcc.c-torture/execute/comp-goto-2.c)

2010-07-02  Richard Guenther  <rguenther@suse.de>

PR middle-end/44777
* tree-cfg.c (gimple_block_ends_with_call_p): Handle empty BBs.

From-SVN: r161694

14 years agorestore cxx-ivar-3 test functionality
Iain Sandoe [Fri, 2 Jul 2010 09:49:53 +0000 (09:49 +0000)]
restore cxx-ivar-3 test functionality

* obj-c++.dg/cxx-ivars-3.mm: Make the test require OSX <= 10.4.
Use the ABI-0 accessors and fail it for m64.

From-SVN: r161692

14 years agore PR middle-end/44706 (Failed to build 483.xalancbmk in SPEC CPU 2006)
Jan Hubicka [Fri, 2 Jul 2010 09:39:54 +0000 (11:39 +0200)]
re PR middle-end/44706 (Failed to build 483.xalancbmk in SPEC CPU 2006)

PR middle-end/44706
* predict.c (predict_paths_for_bb): Handle case when control dependence
BB has only abnormal edges.
* g++.dg/tree-ssa/pr44706.C: New testcase.

From-SVN: r161691

14 years agore PR tree-optimization/44748 (ICE: in fold_convert_const_int_from_real, at fold...
Richard Guenther [Fri, 2 Jul 2010 09:14:03 +0000 (09:14 +0000)]
re PR tree-optimization/44748 (ICE: in fold_convert_const_int_from_real, at fold-const.c:1548)

2010-07-02  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/44748
* tree-ssa-ccp.c (fold_const_aggregate_ref): Properly handle
the embedded conversion in MEM_REFs.

* gcc.dg/tree-ssa/ssa-ccp-29.c: New testcase.

From-SVN: r161689

14 years agorestore darwin8 objc/c++ test functionality.
Iain Sandoe [Fri, 2 Jul 2010 09:04:55 +0000 (09:04 +0000)]
restore darwin8 objc/c++ test functionality.

* objc-obj-c++-shared/next-abi.h: Remove dependency on system
headers.  Add clause to reflect that, pre-10.5, ABI is always 0.
* objc/execute/forward-1.m: Depend only on __NEXT_RUNTIME__ for
the method types to forward:.

From-SVN: r161687

14 years agofix darwin8 bootstrap issue
Iain Sandoe [Fri, 2 Jul 2010 08:56:04 +0000 (08:56 +0000)]
fix darwin8 bootstrap issue

       * compare-debug (Darwin): Remove '-x' flag from ld-based object
       stripping.  Add a comment as to why we do it this way.

From-SVN: r161686

14 years agoDaily bump.
GCC Administrator [Fri, 2 Jul 2010 00:17:05 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r161685

14 years agonullptr04.C: Use __INTPTR_TYPE__.
Jason Merrill [Thu, 1 Jul 2010 14:37:22 +0000 (10:37 -0400)]
nullptr04.C: Use __INTPTR_TYPE__.

* g++.dg/cpp0x/nullptr04.C: Use __INTPTR_TYPE__.
* g++.dg/other/pr25632.C: Likewise.

From-SVN: r161673

14 years agoreload.c: Include toplev.h.
Manuel López-Ibáñez [Thu, 1 Jul 2010 13:47:36 +0000 (13:47 +0000)]
reload.c: Include toplev.h.

* reload.c: Include toplev.h.
* recog.c:  Likewise.
* Makefile.in: Adjust dependencies.

From-SVN: r161671

14 years agore PR tree-optimization/40421 (Revision 148352 failed 416.gamess in SPEC CPU 2006)
Jakub Jelinek [Thu, 1 Jul 2010 12:53:44 +0000 (14:53 +0200)]
re PR tree-optimization/40421 (Revision 148352 failed 416.gamess in SPEC CPU 2006)

PR tree-optimization/40421
* gfortran.fortran-torture/compile/pr40421.f90: New test.

From-SVN: r161669

14 years ago* config/ia64/ia64.c (ia64_register_move_cost): Fix argument types.
Joern Rennecke [Thu, 1 Jul 2010 12:35:37 +0000 (12:35 +0000)]
* config/ia64/ia64.c (ia64_register_move_cost): Fix argument types.

From-SVN: r161667

14 years agore PR debug/44694 (Long var tracking compile time of GiNaC tests)
Jakub Jelinek [Thu, 1 Jul 2010 11:11:46 +0000 (13:11 +0200)]
re PR debug/44694 (Long var tracking compile time of GiNaC tests)

PR debug/44694
* dwarf2out.c (reg_loc_descriptor): For eliminated arg_pointer_rtx
or frame_pointer_rtx use DW_OP_fbreg offset DW_OP_stack_value.

From-SVN: r161662

14 years agoemit-rtl.c (set_mem_attributes_minus_bitpos): Use unsigned types for offsets.
Richard Guenther [Thu, 1 Jul 2010 10:50:14 +0000 (10:50 +0000)]
emit-rtl.c (set_mem_attributes_minus_bitpos): Use unsigned types for offsets.

2010-07-01  Richard Guenther  <rguenther@suse.de>

* emit-rtl.c (set_mem_attributes_minus_bitpos): Use unsigned
types for offsets.

From-SVN: r161659

14 years agore PR target/44732 (bootstrap broken on ia64)
Joern Rennecke [Thu, 1 Jul 2010 10:27:34 +0000 (10:27 +0000)]
re PR target/44732 (bootstrap broken on ia64)

        PR target/44732
        * config/ia64/ia64.c (ia64_register_move_cost): Remove stray '{'.

From-SVN: r161658

14 years agore PR bootstrap/44727 (Failed to bootstrap with --with-cpu=atom)
Bernd Schmidt [Thu, 1 Jul 2010 09:20:40 +0000 (09:20 +0000)]
re PR bootstrap/44727 (Failed to bootstrap with --with-cpu=atom)

PR target/44727
* config/i386/i386.md (peephole2 for arithmetic ops with memory):
Make sure operand 0 dies.

From-SVN: r161656

14 years agore PR middle-end/42834 (memcpy folding overeager)
Richard Guenther [Thu, 1 Jul 2010 08:49:19 +0000 (08:49 +0000)]
re PR middle-end/42834 (memcpy folding overeager)

2010-07-01  Richard Guenther  <rguenther@suse.de>

PR middle-end/42834
PR middle-end/44468
* doc/gimple.texi (is_gimple_mem_ref_addr): Document.
* doc/generic.texi (References to storage): Document MEM_REF.
* tree-pretty-print.c (dump_generic_node): Handle MEM_REF.
(print_call_name): Likewise.
* tree.c (recompute_tree_invariant_for_addr_expr): Handle MEM_REF.
(build_simple_mem_ref_loc): New function.
(mem_ref_offset): Likewise.
* tree.h (build_simple_mem_ref_loc): Declare.
(build_simple_mem_ref): Define.
(mem_ref_offset): Declare.
* fold-const.c: Include tree-flow.h.
(operand_equal_p): Handle MEM_REF.
(build_fold_addr_expr_with_type_loc): Likewise.
(fold_comparison): Likewise.
(fold_unary_loc): Fold
VIEW_CONVERT_EXPR <T1, MEM_REF <T2, ...>> to MEM_REF <T1, ...>.
(fold_binary_loc): Fold MEM[&MEM[p, CST1], CST2] to MEM[p, CST1 + CST2],
fold MEM[&a.b, CST2] to MEM[&a, offsetof (a, b) + CST2].
* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle MEM_REF.
(ptr_deref_may_alias_ref_p_1): Likewise.
(ao_ref_base_alias_set): Properly differentiate base object for
offset and TBAA.
(ao_ref_init_from_ptr_and_size): Use MEM_REF.
(indirect_ref_may_alias_decl_p): Handle MEM_REFs properly.
(indirect_refs_may_alias_p): Likewise.
(refs_may_alias_p_1): Likewise.  Remove pointer SSA name def
chasing code.
(ref_maybe_used_by_call_p_1): Handle MEM_REF.
(call_may_clobber_ref_p_1): Likewise.
* dwarf2out.c (loc_list_from_tree): Handle MEM_REF.
* expr.c (expand_assignment): Handle MEM_REF.
(store_expr): Handle MEM_REFs from STRING_CSTs.
(store_field): If expanding a MEM_REF of a non-addressable
decl use bitfield operations.
(get_inner_reference): Handle MEM_REF.
(expand_expr_addr_expr_1): Likewise.
(expand_expr_real_1): Likewise.
* tree-eh.c (tree_could_trap_p): Handle MEM_REF.
* alias.c (ao_ref_from_mem): Handle MEM_REF.
(get_alias_set): Likewise.  Properly handle VIEW_CONVERT_EXPRs.
* tree-data-ref.c (dr_analyze_innermost): Handle MEM_REF.
(dr_analyze_indices): Likewise.
(dr_analyze_alias): Likewise.
(object_address_invariant_in_loop_p): Likewise.
* gimplify.c (mark_addressable): Handle MEM_REF.
(gimplify_cond_expr): Build MEM_REFs.
(gimplify_modify_expr_to_memcpy): Likewise.
(gimplify_init_ctor_preeval_1): Handle MEM_REF.
(gimple_fold_indirect_ref): Adjust.
(gimplify_expr): Handle MEM_REF.  Gimplify INDIRECT_REF to MEM_REF.
* tree.def (MEM_REF): New tree code.
* tree-dfa.c: Include toplev.h.
(get_ref_base_and_extent): Handle MEM_REF.
(get_addr_base_and_unit_offset): New function.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Handle MEM_REF.
* gimple-fold.c (may_propagate_address_into_dereference): Handle
MEM_REF.
(maybe_fold_offset_to_array_ref): Allow possibly out-of bounds
accesses if the array has just one dimension.  Remove always true
parameter.  Do not require type compatibility here.
(maybe_fold_offset_to_component_ref): Remove.
(maybe_fold_stmt_indirect): Remove.
(maybe_fold_reference): Remove INDIRECT_REF handling.
Fold back to non-MEM_REF.
(maybe_fold_offset_to_address): Simplify.  Deal with type
mismatches here.
(maybe_fold_reference): Likewise.
(maybe_fold_stmt_addition): Likewise.  Also handle
&ARRAY + I in addition to &ARRAY[0] + I.
(fold_gimple_assign): Handle ADDR_EXPR of MEM_REFs.
(gimple_get_relevant_ref_binfo): Handle MEM_REF.
* cfgexpand.c (expand_debug_expr): Handle MEM_REF.
* tree-ssa.c (useless_type_conversion_p): Make most pointer
conversions useless.
(warn_uninitialized_var): Handle MEM_REF.
(maybe_rewrite_mem_ref_base): New function.
(execute_update_addresses_taken): Implement re-writing of MEM_REFs
to SSA form.
* tree-inline.c (remap_gimple_op_r): Handle MEM_REF, remove
INDIRECT_REF handling.
(copy_tree_body_r): Handle MEM_REF.
* gimple.c (is_gimple_addressable): Adjust.
(is_gimple_address): Likewise.
(is_gimple_invariant_address): ADDR_EXPRs of MEM_REFs with
invariant base are invariant.
(is_gimple_min_lval): Adjust.
(is_gimple_mem_ref_addr): New function.
(get_base_address): Handle MEM_REF.
(count_ptr_derefs): Likewise.
(get_base_loadstore): Likewise.
* gimple.h (is_gimple_mem_ref_addr): Declare.
(gimple_call_fndecl): Handle invariant MEM_REF addresses.
* tree-cfg.c (verify_address): New function, split out from ...
(verify_expr): ... here.  Use for verifying ADDR_EXPRs and
the address operand of MEM_REFs.  Verify MEM_REFs.  Reject
INDIRECT_REFs.
(verify_types_in_gimple_min_lval): Handle MEM_REF.  Disallow
INDIRECT_REF.  Allow conversions.
(verify_types_in_gimple_reference): Verify VIEW_CONVERT_EXPR of
a register does not change its size.
(verify_types_in_gimple_reference): Verify MEM_REF.
(verify_gimple_assign_single): Disallow INDIRECT_REF.
Handle MEM_REF.
* tree-ssa-operands.c (opf_non_addressable, opf_not_non_addressable):
New.
(mark_address_taken): Handle MEM_REF.
(get_indirect_ref_operands): Pass through opf_not_non_addressable.
(get_asm_expr_operands): Pass opf_not_non_addressable.
(get_expr_operands): Handle opf_[not_]non_addressable.
Handle MEM_REF.  Remove INDIRECT_REF handling.
* tree-vrp.c: (check_array_ref): Handle MEM_REF.
(search_for_addr_array): Likewise.
(check_array_bounds): Likewise.
(vrp_stmt_computes_nonzero): Adjust for MEM_REF.
* tree-ssa-loop-im.c (for_each_index): Handle MEM_REF.
(ref_always_accessed_p): Likewise.
(gen_lsm_tmp_name): Likewise.  Handle ADDR_EXPR.
* tree-complex.c (extract_component): Do not handle INDIRECT_REF.
Handle MEM_REF.
* cgraphbuild.c (mark_load): Properly check for NULL result
from get_base_address.
(mark_store): Likewise.
* tree-ssa-loop-niter.c (array_at_struct_end_p): Handle MEM_REF.
* tree-loop-distribution.c (generate_builtin): Exchange INDIRECT_REF
handling for MEM_REF.
* tree-scalar-evolution.c (follow_ssa_edge_expr): Handle
&MEM[ptr + CST] similar to POINTER_PLUS_EXPR.
* builtins.c (stabilize_va_list_loc): Use the function ABI
valist type if we couldn't canonicalize the argument type.
Always dereference with the canonical va-list type.
(maybe_emit_free_warning): Handle MEM_REF.
(fold_builtin_memory_op): Simplify and handle MEM_REFs in folding
memmove to memcpy.
* builtins.c (fold_builtin_memory_op): Use ref-all types
for all memcpy foldings.
* omp-low.c (build_receiver_ref): Adjust for MEM_REF.
(build_outer_var_ref): Likewise.
(scan_omp_1_op): Likewise.
(lower_rec_input_clauses): Likewise.
(lower_lastprivate_clauses): Likewise.
(lower_reduction_clauses): Likewise.
(lower_copyprivate_clauses): Likewise.
(expand_omp_atomic_pipeline): Likewise.
(expand_omp_atomic_mutex): Likewise.
(create_task_copyfn): Likewise.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle MEM_REF.
Remove old union trick.  Initialize constant offsets.
(ao_ref_init_from_vn_reference): Likewise.  Do not handle
INDIRECT_REF.  Init base_alias_set properly.
(vn_reference_lookup_3): Replace INDIRECT_REF handling with
MEM_REF.
(vn_reference_fold_indirect): Adjust for MEM_REFs.
(valueize_refs): Fold MEM_REFs.  Re-evaluate constant offset
for ARRAY_REFs.
(may_insert): Remove.
(visit_reference_op_load): Do not test may_insert.
(run_scc_vn): Remove parameter, do not fiddle with may_insert.
* tree-ssa-sccvn.h (struct vn_reference_op_struct): Add
a field to store the constant offset this op applies.
(run_scc_vn): Adjust prototype.
* cgraphunit.c (thunk_adjust): Adjust for MEM_REF.
* tree-ssa-ccp.c (ccp_fold): Replace INDIRECT_REF folding with
MEM_REF.  Propagate &foo + CST as &MEM[&foo, CST].  Do not
bother about volatile qualifiers on pointers.
(fold_const_aggregate_ref): Handle MEM_REF, do not handle INDIRECT_REF.
* tree-ssa-loop-ivopts.c
* tree-ssa-loop-ivopts.c (determine_base_object): Adjust
for MEM_REF.
(strip_offset_1): Likewise.
(find_interesting_uses_address): Replace INDIRECT_REF handling with
MEM_REF handling.
(get_computation_cost_at): Likewise.
* ipa-pure-const.c (check_op): Handle MEM_REF.
* tree-stdarg.c (check_all_va_list_escapes): Adjust for MEM_REF.
* tree-ssa-sink.c (is_hidden_global_store): Handle MEM_REF
and constants.
* ipa-inline.c (likely_eliminated_by_inlining_p): Handle MEM_REF.
* tree-parloops.c (take_address_of): Adjust for MEM_REF.
(eliminate_local_variables_1): Likewise.
(create_call_for_reduction_1): Likewise.
(create_loads_for_reductions): Likewise.
(create_loads_and_stores_for_name): Likewise.
* matrix-reorg.c (may_flatten_matrices_1): Sanitize.
(ssa_accessed_in_tree): Handle MEM_REF.
(ssa_accessed_in_assign_rhs): Likewise.
(update_type_size): Likewise.
(analyze_accesses_for_call_stmt): Likewise.
(analyze_accesses_for_assign_stmt): Likewise.
(transform_access_sites): Likewise.
(transform_allocation_sites): Likewise.
* tree-affine.c (tree_to_aff_combination): Handle MEM_REF.
* tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
not handle INDIRECT_REF.
* tree-ssa-phiopt.c (add_or_mark_expr): Handle MEM_REF.
(cond_store_replacement): Likewise.
* tree-ssa-pre.c (create_component_ref_by_pieces_1): Handle
MEM_REF, no not handle INDIRECT_REFs.
(insert_into_preds_of_block): Properly initialize avail.
(phi_translate_1): Fold MEM_REFs.  Re-evaluate constant offset
for ARRAY_REFs.  Properly handle reference lookups that
require a bit re-interpretation.
(can_PRE_operation): Do not handle INDIRECT_REF.  Handle MEM_REF.
* tree-sra.c
* tree-sra.c (build_access_from_expr_1): Handle MEM_REF.
(build_ref_for_offset_1): Remove.
(build_ref_for_offset): Build MEM_REFs.
(gate_intra_sra): Disable for now.
(sra_ipa_modify_expr): Handle MEM_REF.
(ipa_early_sra_gate): Disable for now.
* tree-sra.c (create_access): Swap INDIRECT_REF handling for
MEM_REF handling.
(disqualify_base_of_expr): Likewise.
(ptr_parm_has_direct_uses): Swap INDIRECT_REF handling for
MEM_REF handling.
(sra_ipa_modify_expr): Remove INDIRECT_REF handling.
Use mem_ref_offset.  Remove bogus folding.
(build_access_from_expr_1): Properly handle MEM_REF for
non IPA-SRA.
(make_fancy_name_1): Add support for MEM_REF.
* tree-predcom.c (ref_at_iteration): Handle MEM_REFs.
* tree-mudflap.c (mf_xform_derefs_1): Adjust for MEM_REF.
* ipa-prop.c (compute_complex_assign_jump_func): Handle MEM_REF.
(compute_complex_ancestor_jump_func): Likewise.
(ipa_analyze_virtual_call_uses): Likewise.
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Replace
INDIRECT_REF folding with more generalized MEM_REF folding.
(tree_ssa_forward_propagate_single_use_vars): Adjust accordingly.
(forward_propagate_addr_into_variable_array_index): Also handle
&ARRAY + I in addition to &ARRAY[0] + I.
* tree-ssa-dce.c (ref_may_be_aliased): Handle MEM_REF.
* tree-ssa-ter.c (find_replaceable_in_bb): Avoid TER if that
creates assignments with overlap.
* tree-nested.c (get_static_chain): Adjust for MEM_REF.
(get_frame_field): Likewise.
(get_nonlocal_debug_decl): Likewise.
(convert_nonlocal_reference_op): Likewise.
(struct nesting_info): Add mem_refs pointer-set.
(create_nesting_tree): Allocate it.
(convert_local_reference_op): Insert to be folded mem-refs.
(fold_mem_refs): New function.
(finalize_nesting_tree_1): Perform defered folding of mem-refs
(free_nesting_tree): Free the pointer-set.
* tree-vect-stmts.c (vectorizable_store): Adjust for MEM_REF.
(vectorizable_load): Likewise.
* tree-ssa-phiprop.c (phiprop_insert_phi): Adjust for MEM_REF.
(propagate_with_phi): Likewise.
* tree-object-size.c (addr_object_size): Handle MEM_REFs
instead of INDIRECT_REFs.
(compute_object_offset): Handle MEM_REF.
(plus_stmt_object_size): Handle MEM_REF.
(collect_object_sizes_for): Dispatch to plus_stmt_object_size
for &MEM_REF.
* tree-flow.h (get_addr_base_and_unit_offset): Declare.
(symbol_marked_for_renaming): Likewise.
* Makefile.in (tree-dfa.o): Add $(TOPLEV_H).
(fold-const.o): Add $(TREE_FLOW_H).
* tree-ssa-structalias.c (get_constraint_for_1): Handle MEM_REF.
(find_func_clobbers): Likewise.
* ipa-struct-reorg.c (decompose_indirect_ref_acc): Handle MEM_REF.
(decompose_access): Likewise.
(replace_field_acc): Likewise.
(replace_field_access_stmt): Likewise.
(insert_new_var_in_stmt): Likewise.
(get_stmt_accesses): Likewise.
(reorg_structs_drive): Disable.
* config/i386/i386.c (ix86_va_start): Adjust for MEM_REF.
(ix86_canonical_va_list_type): Likewise.

cp/
* cp-gimplify.c (cp_gimplify_expr): Open-code the rhs
predicate we are looking for, allow non-gimplified
INDIRECT_REFs.

testsuite/
* gcc.c-torture/execute/20100316-1.c: New testcase.
* gcc.c-torture/execute/pr44468.c: Likewise.
* gcc.c-torture/compile/20100609-1.c: Likewise.
* gcc.dg/volatile2.c: Adjust.
* gcc.dg/plugin/selfassign.c: Likewise.
* gcc.dg/pr36902.c: Likewise.
* gcc.dg/tree-ssa/foldaddr-2.c: Remove.
* gcc.dg/tree-ssa/foldaddr-3.c: Likewise.
* gcc.dg/tree-ssa/forwprop-8.c: Adjust.
* gcc.dg/tree-ssa/pr17141-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-13.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-14.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-21.c: Likewise.
* gcc.dg/tree-ssa/pta-ptrarith-1.c: Likewise.
* gcc.dg/tree-ssa/20030807-7.c: Likewise.
* gcc.dg/tree-ssa/forwprop-10.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-1.c: Likewise.
* gcc.dg/tree-ssa/pta-ptrarith-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-23.c: Likewise.
* gcc.dg/tree-ssa/forwprop-1.c: Likewise.
* gcc.dg/tree-ssa/forwprop-2.c: Likewise.
* gcc.dg/tree-ssa/struct-aliasing-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-25.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-26.c: Likewise.
* gcc.dg/tree-ssa/struct-aliasing-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-26.c: Likewise.
* gcc.dg/tree-ssa/ssa-sccvn-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-7.c: Likewise.
* gcc.dg/tree-ssa/forwprop-5.c: Likewise.
* gcc.dg/struct/w_prof_two_strs.c: XFAIL.
* gcc.dg/struct/wo_prof_escape_arg_to_local.c: Likewise.
* gcc.dg/struct/wo_prof_global_var.c: Likewise.
* gcc.dg/struct/wo_prof_malloc_size_var.c: Likewise.
* gcc.dg/struct/w_prof_local_array.c: Likewise.
* gcc.dg/struct/w_prof_single_str_global.c: Likewise.
* gcc.dg/struct/wo_prof_escape_str_init.c: Likewise.
* gcc.dg/struct/wo_prof_array_through_pointer.c: Likewise.
* gcc.dg/struct/w_prof_global_array.c: Likewise.
* gcc.dg/struct/wo_prof_array_field.c: Likewise.
* gcc.dg/struct/wo_prof_single_str_local.c: Likewise.
* gcc.dg/struct/w_prof_local_var.c: Likewise.
* gcc.dg/struct/wo_prof_two_strs.c: Likewise.
* gcc.dg/struct/wo_prof_empty_str.c: Likewise.
* gcc.dg/struct/wo_prof_local_array.c: Likewise.
* gcc.dg/struct/w_prof_global_var.c: Likewise.
* gcc.dg/struct/wo_prof_single_str_global.c: Likewise.
* gcc.dg/struct/wo_prof_escape_substr_value.c: Likewise.
* gcc.dg/struct/wo_prof_global_array.c: Likewise.
* gcc.dg/struct/wo_prof_escape_return.c: Likewise.
* gcc.dg/struct/wo_prof_escape_substr_array.c: Likewise.
* gcc.dg/struct/wo_prof_double_malloc.c: Likewise.
* gcc.dg/struct/w_ratio_cold_str.c: Likewise.
* gcc.dg/struct/wo_prof_escape_substr_pointer.c: Likewise.
* gcc.dg/struct/wo_prof_local_var.c: Likewise.
* gcc.dg/tree-prof/stringop-1.c: Adjust.
* g++.dg/tree-ssa/pr31146.C: Likewise.
* g++.dg/tree-ssa/copyprop-1.C: Likewise.
* g++.dg/tree-ssa/pr33604.C: Likewise.
* g++.dg/plugin/selfassign.c: Likewise.
* gfortran.dg/array_memcpy_3.f90: Likewise.
* gfortran.dg/array_memcpy_4.f90: Likewise.
* c-c++-common/torture/pr42834.c: New testcase.

From-SVN: r161655

14 years agoDaily bump.
GCC Administrator [Thu, 1 Jul 2010 00:17:09 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r161653

14 years agore PR c++/44628 (ICE in cp_build_unary_op at cp/typeck.c:4671)
Paolo Carlini [Wed, 30 Jun 2010 20:46:46 +0000 (20:46 +0000)]
re PR c++/44628 (ICE in cp_build_unary_op at cp/typeck.c:4671)

/cp
2010-06-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/44628
* typeck.c (cp_build_unary_op): Early return error_mark_node when
arg is NULL_TREE too.
* call.c (convert_class_to_reference): Return error_mark_node when
expr is NULL_TREE.

/testsuite
2010-06-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/44628
* g++.dg/template/crash100.C: New.

From-SVN: r161639

14 years agore PR middle-end/44566 (configuration with multiple targets / backends is not supported.)
Joern Rennecke [Wed, 30 Jun 2010 18:47:43 +0000 (18:47 +0000)]
re PR middle-end/44566 (configuration with multiple targets / backends is not supported.)

        PR other/44566
        * coretypes.h [!USED_FOR_TARGET] (reg_class_t): Define.
        * target.def (struct gcc_target): Replace enum reg_class with
        reg_class_t in hook argument / return types.
        * doc/tm.texi.in (TARGET_SECONDARY_RELOAD): Likewise.
        (TARGET_IRA_COVER_CLASSES, TARGET_MEMORY_MOVE_COST): Likewise.
        (TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise.
        * targhooks.h (default_branch_target_register_class): Likewise.
        (default_ira_cover_classes, default_secondary_reload): Likewise.
        (default_memory_move_cost, default_register_move_cost): Likewise.
        * targhooks.c (default_branch_target_register_class): Likewise.
        (default_ira_cover_classes, default_secondary_reload): Likewise.
        (default_memory_move_cost, default_register_move_cost): Likewise.
        * reload.c (push_secondary_reload, secondary_reload_class): Likewise.
        * bt-load.c (branch_target_load_optimize): Likewise.
        * ira.c (setup_cover_and_important_classes): Likewise.
        * ira-costs.c (copy_cost): Likewise.
        * reload1.c (emit_input_reload_insns): Likewise.
        * config/alpha/alpha.c (alpha_secondary_reload): Likewise.
        * config/frv/frv.c (frv_secondary_reload): Likewise.
        * config/s390/s390.c (s390_secondary_reload): Likewise.
        * config/i386/i386.c (i386_ira_cover_classes): Likewise.
        (ix86_secondary_reload, ix86_memory_move_cost): Likewise.
        (ix86_register_move_cost): Likewise.
        * config/sh/sh-protos.h (sh_secondary_reload): Likewise.
        * config/sh/sh.c (sh_target_reg_class, sh_secondary_reload): Likewise.
        * config/xtensa/xtensa.c (xtensa_secondary_reload): Likewise.
        * config/xtensa/xtensa-protos.h (xtensa_secondary_reload): Likewise.
        * config/rs6000/rs6000.c (rs6000_secondary_reload): Likewise.
        (rs6000_ira_cover_classes): Likewise.
        * config/picochip/picochip.c (picochip_secondary_reload): Likewise.
        * config/picochip/picochip-protos.h (picochip_secondary_reload):
        Likewise.
        * config/pa/pa.c (pa_secondary_reload): Likewise.
        * config/mips/mips.c (mips_ira_cover_classes): Likewise.
        * config/bfin/bfin.c (bfin_secondary_reload): Likewise.
        * config/ia64/ia64.c (ia64_register_move_cost): Likewise.
        * doc/tm.texi: Regenerate.

From-SVN: r161633

14 years agore PR bootstrap/44726 (Yet another broken bootstrap)
Sebastian Pop [Wed, 30 Jun 2010 18:38:37 +0000 (18:38 +0000)]
re PR bootstrap/44726 (Yet another broken bootstrap)

2010-06-30  Sebastian Pop  <sebastian.pop@amd.com>

PR bootstrrap/44726
* graphite-sese-to-poly.c (build_poly_dr): Avoid uninitialized
use.
(build_alias_set_optimal_p): Likewise.
(build_base_obj_set_for_drs): Likewise.

From-SVN: r161631

14 years agotarget.def (print_operand, [...]): Update comment.
Joern Rennecke [Wed, 30 Jun 2010 18:24:20 +0000 (18:24 +0000)]
target.def (print_operand, [...]): Update comment.

* target.def (print_operand, print_operand_address): Update comment.
(print_operand_punct_valid_p): Likewise.

From-SVN: r161629

14 years agotarget.def (dfa_new_cycle): Use DEFHOOK.
Joern Rennecke [Wed, 30 Jun 2010 18:11:35 +0000 (18:11 +0000)]
target.def (dfa_new_cycle): Use DEFHOOK.

* target.def (dfa_new_cycle): Use DEFHOOK.  Rename dump_file to dump,
last-sched_cycle to last_clock, cur_cycle to clock.
* doc/tm.texi.in: Use @hook.
* doc/tm.texi: Regenerate.

From-SVN: r161628

14 years agotarget.def (return_pops_args): Use DEFHOOK.
Joern Rennecke [Wed, 30 Jun 2010 18:10:23 +0000 (18:10 +0000)]
target.def (return_pops_args): Use DEFHOOK.

* target.def (return_pops_args): Use DEFHOOK.
* doc/tm.texi.in (TARGET_RETURN_POPS_ARGS): Use @hook.
Rename stack-size to size.
* doc/tm.texi: Regenerate.

From-SVN: r161627

14 years agotarget.def (resolve_overloaded_builtin): Rename params to arglist.
Joern Rennecke [Wed, 30 Jun 2010 18:08:56 +0000 (18:08 +0000)]
target.def (resolve_overloaded_builtin): Rename params to arglist.

* target.def (resolve_overloaded_builtin): Rename params to arglist.
Use DEFHOOK.
* doc/tm.texi.in (TARGET_RESOLVE_OVERLOADED_BUILTIN): Use @hook.
* doc/tm.texi: Regenerate.

From-SVN: r161626

14 years agotarget.def (pass_by_reference): Use DEFHOOK.
Joern Rennecke [Wed, 30 Jun 2010 18:06:11 +0000 (18:06 +0000)]
target.def (pass_by_reference): Use DEFHOOK.

* target.def (pass_by_reference): Use DEFHOOK.
* doc/tm.texi.in (TARGET_PASS_BY_REFERENCE): Use @hook.
* doc/tm.texi: Regenerate.

From-SVN: r161625

14 years agotarget.def (pragma_parse): Use DEFHOOK.
Joern Rennecke [Wed, 30 Jun 2010 18:04:48 +0000 (18:04 +0000)]
target.def (pragma_parse): Use DEFHOOK.

        * target.def (pragma_parse): Use DEFHOOK.
        * doc/tm.texi.in (TARGET_OPTION_PRAGMA_PARSE): Use @hook.
        s/TARGET_VALID_OPTION_ATTRIBUTE_P/TARGET_OPTION_VALID_ATRIBUTE_P/ .
        * doc/tm.texi: Regenerate.

From-SVN: r161624

14 years agotarget.def (memory_move_cost): Use DEFHOOK.
Joern Rennecke [Wed, 30 Jun 2010 17:56:15 +0000 (17:56 +0000)]
target.def (memory_move_cost): Use DEFHOOK.

* target.def (memory_move_cost): Use DEFHOOK.
* doc/tm.texi.in (TARGET_MEMORY_MOVE_COST): Use @hook.
Rename regclass AKA class to rclass.
* doc/tm.texi: Regenerate.

From-SVN: r161623

14 years agotarget.def (fold_builtin): Rename nargs to n_args.
Joern Rennecke [Wed, 30 Jun 2010 17:55:03 +0000 (17:55 +0000)]
target.def (fold_builtin): Rename nargs to n_args.

* target.def (fold_builtin): Rename nargs to n_args.  Use DEFHOOK.
* doc/tm.texi.in (TARGET_FOLD_BUILTIN): Use @hook.
* doc/tm.texi: Regenerate.

From-SVN: r161622

14 years agotarget.def (enum_va_list_p): Use DEFHOOK.
Joern Rennecke [Wed, 30 Jun 2010 17:53:44 +0000 (17:53 +0000)]
target.def (enum_va_list_p): Use DEFHOOK.

        * target.def (enum_va_list_p): Use DEFHOOK.
        * doc/tm.texi.in (TARGET_ENUM_VA_LIST_P): Use @hook.
        Rename ptype to ptree.
        * doc/tm.texi: Regenerate.

From-SVN: r161621

14 years agotarget.def (builtin_reciprocal): Change tm_fn to md_fn.
Joern Rennecke [Wed, 30 Jun 2010 17:52:17 +0000 (17:52 +0000)]
target.def (builtin_reciprocal): Change tm_fn to md_fn.

* target.def (builtin_reciprocal): Change tm_fn to md_fn.  Use DEFHOOK.
* doc/tm.texi.in (TARGET_BUILTIN_RECIPROCAL): Use @hook.

From-SVN: r161620

14 years agotarget.def (declare_constant_name): Change exp to expr.
Joern Rennecke [Wed, 30 Jun 2010 17:49:36 +0000 (17:49 +0000)]
target.def (declare_constant_name): Change exp to expr.

        * target.def (declare_constant_name): Change exp to expr.  Use DEFHOOK.
        * doc/tm.texi.in (TARGET_ASM_DECLARE_CONSTANT_NAME): Use @hook.
        * doc/tm.texi: Regenerate.

From-SVN: r161619

14 years agotarget.def: Remove comment about licensing problems of function declaration.
Joern Rennecke [Wed, 30 Jun 2010 17:48:41 +0000 (17:48 +0000)]
target.def: Remove comment about licensing problems of function declaration.

* target.def: Remove comment about licensing problems of function
declaration.

From-SVN: r161618

14 years agotoplev.h (_fatal_insn_not_found, [...]): Move declarations to rtl.h.
Manuel López-Ibáñez [Wed, 30 Jun 2010 17:12:36 +0000 (17:12 +0000)]
toplev.h (_fatal_insn_not_found, [...]): Move declarations to rtl.h.

2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* toplev.h (_fatal_insn_not_found, _fatal_insn): Move declarations
to rtl.h.
(error_for_asm, warning_for_asm): Move declarations to rtl-error.h.
* rtl.h (_fatal_insn_not_found, _fatal_insn): Move declarations
here.
* rtl-error.h: New.
* regrename.c: Do not include toplev.h. Include rtl-error.h.
* rtl-error.c: Likewise.
* reload.c: Likewise.
* recog.c:  Likewise.
* sel-sched.c: Likewise.
* function.c: Likewise.
* reg-stack.c: Likewise.
* cfgrtl.c: Likewise.
* reload1.c: Likewise.
* final.c: Include rtl-error.
* Makefile.in: Adjust dependencies.

From-SVN: r161617

14 years agoFix typo.
Jan Hubicka [Wed, 30 Jun 2010 16:56:02 +0000 (16:56 +0000)]
Fix typo.

From-SVN: r161616

14 years agoPR middle-end/PR44706
Jan Hubicka [Wed, 30 Jun 2010 16:51:36 +0000 (18:51 +0200)]
PR middle-end/PR44706

PR middle-end/PR44706
* ipa-split (split_function): Refine conditions when to use DECL_RESULT
to return the value.
* gcc.dg/tree-ssa/ipa-split-4.c: New testcase.

From-SVN: r161615

14 years agore PR bootstrap/44699 (Bootstrap failure for x86_64-apple-darwin10: ICE while compili...
Michael Matz [Wed, 30 Jun 2010 16:34:22 +0000 (16:34 +0000)]
re PR bootstrap/44699 (Bootstrap failure for x86_64-apple-darwin10: ICE while compiling genmodes.c)

PR bootstrap/44699
* tree-vrp.c (vrp_finalize): Deal with changing num_ssa_names.
* gimple-fold.c (gimplify_and_update_call_from_tree): If LHS is
a gimple reg, attach the original VDEF to the last store in the
sequence.

testsuite/
PR bootstrap/44699
* gcc.dg/pr44699.c: New test.

From-SVN: r161614

14 years ago* repo.c (finish_repo): Fix typo.
Michael Matz [Wed, 30 Jun 2010 16:08:29 +0000 (16:08 +0000)]
* repo.c (finish_repo): Fix typo.

From-SVN: r161612

14 years agore PR other/44034 (target hooks are hard to maintain)
Iain Sandoe [Wed, 30 Jun 2010 14:33:40 +0000 (14:33 +0000)]
re PR other/44034 (target hooks are hard to maintain)

PR other/44034
* config/darwin.c (darwin_override_options): Use renamed
targetm.asm_out.emit_unwind_label.

From-SVN: r161606

14 years agore PR tree-optimization/39799 (missing 'may be used uninitialized' warning)
Bernd Schmidt [Wed, 30 Jun 2010 14:16:28 +0000 (14:16 +0000)]
re PR tree-optimization/39799 (missing 'may be used uninitialized' warning)

PR tree-optimization/39799
* tree-inline.c (remap_ssa_name): Initialize variable only if
SSA_NAME_OCCURS_IN_ABNORMAL_PHI.

testsuite/
PR tree-optimization/39799
* c-c++-common/uninit-17.c: New test.

From-SVN: r161605

14 years agoc-parser.c (c_parser_omp_for_loop): Use a VEC for for_block.
Nathan Froyd [Wed, 30 Jun 2010 12:20:54 +0000 (12:20 +0000)]
c-parser.c (c_parser_omp_for_loop): Use a VEC for for_block.

gcc/
* c-parser.c (c_parser_omp_for_loop): Use a VEC for for_block.

gcc/cp/
* parser.c (cp_parser_omp_for_loop): Use a VEC for for_block.

From-SVN: r161599

14 years agorepo.c (pending_repo): Change type to a VEC.
Nathan Froyd [Wed, 30 Jun 2010 12:13:34 +0000 (12:13 +0000)]
repo.c (pending_repo): Change type to a VEC.

* repo.c (pending_repo): Change type to a VEC.
(finish_repo): Adjust for new type of pending_repo.
(repo_emit_p): Likewise.

From-SVN: r161598

14 years agore PR rtl-optimization/44722 (Bootstrap fails during libjava)
Richard Guenther [Wed, 30 Jun 2010 11:09:37 +0000 (11:09 +0000)]
re PR rtl-optimization/44722 (Bootstrap fails during libjava)

2010-06-30  Richard Guenther  <rguenther@suse.de>

PR target/44722
* config/i386/i386.md (peephole2 for fix:SSEMODEI24): Guard
against oscillation with reverse peephole2.

From-SVN: r161597

14 years agore PR bootstrap/44721 (Failed to bootstrap (ICE in extract_insn, at recog.c:2127))
H.J. Lu [Wed, 30 Jun 2010 09:47:25 +0000 (09:47 +0000)]
re PR bootstrap/44721 (Failed to bootstrap (ICE in extract_insn, at recog.c:2127))

2010-06-30  H.J. Lu  <hongjiu.lu@intel.com>

PR target/44721
* config/i386/i386.md (peephole2 for arithmetic ops with memory):
Fix last commit.

From-SVN: r161594

14 years agorx-modes.def: New file.
Nick Clifton [Wed, 30 Jun 2010 08:50:14 +0000 (08:50 +0000)]
rx-modes.def: New file.

        * config/rx/rx-modes.def: New file.
        * config/rx/rx.h (FIRST_PSEUDO_REGISTER): Increase to 17.
        (CC_REGNUM): Define.
        (FIXED_REGISTERS, CALL_USED_REGISTERS, REGISTER_NAMES): Add cc
        register.
        (CC_NO_CARRY, NOTICE_UPDATE_CC): Delete.
        (SELECT_CC_MODE): Define.
        * config/rx/rx.md (CC_REG): Define.  Update all patterns to use
        (reg:CC CC_REG) instead of (cc0).
        (attr "cc"): Delete.
        (cbranchsi4): Do not split compare and branch here. Instead move
        it to...
        (cbranchsi4_<code>): ... here.  New patterns.
        (cmpsi): Call rx-compare_redundant to find out if it is necessary
        to emit the compare instruction.
        * config/rx/rx.c (rx_gen-cond_branch_template): Remove tests of
        cc_status flags.
        (rx_get_stack_layout): Iterate up to before CC_REGNUM not
        FIRST_PSEUDO_REGNUM.
        (rx_expand_prologue, rx_expand_epilogue): Likewise.
        (rx_notice_update_cc): Delete.
        (rx_cc_modes_compatible): New function.
        (flags_needed_for_conditional): New function.
        (flags_from_mode): New function.
        (rx_compare_redundant): New function - scans backwards through
        insn list to find out if condition flags are already set
        correctly.
        (TARGET_CC_MODES_COMPATIBLE): Define.
        * config/rx/rx-protos.h (rx_compare_redundant): Prototype.

        * config/rx/rx.h (BRANCH_COST): Define.
        (REGISTER_MOVE_COST): Define.
        * config/rx/predicates (rx_source_operand): Allow all constant
        types.
        * config/rx/rx.md (addsi3): Add alternative for swapped operands.
        (tstsi4): New pattern.
        * config/rx/rx.c (rx_memory_move_cost): Define.
        (TARGET_MEMORY_MOVE_COST): Define.

From-SVN: r161592

14 years agotree.h (block_may_fallthru): Declare here.
Manuel López-Ibáñez [Wed, 30 Jun 2010 07:39:21 +0000 (07:39 +0000)]
tree.h (block_may_fallthru): Declare here.

2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* tree.h (block_may_fallthru): Declare here.
* tree-flow.h (block_may_fallthru): Do not declare here.
* c-typeck.c: Do not include tree-flow.h. Include gimple.h and
bitmap.h
* Makefile.in (c-typeck.o): Update dependencies.
c-family/
* c-gimplify.c: Do not include tree-flow.h
cp/
* tree.c: Include gimple.h. Do not include tree-flow.h
* decl.c: Do not include tree-flow.h
* Make-lang.in: Adjust dependencies.
ada/
* gcc-interface/trans.c: Do not include tree-flow.h.
* gcc-interface/Make-lang.in: Adjust dependencies.

From-SVN: r161591

14 years agore PR debug/44694 (Long var tracking compile time of GiNaC tests)
Jakub Jelinek [Wed, 30 Jun 2010 06:12:22 +0000 (08:12 +0200)]
re PR debug/44694 (Long var tracking compile time of GiNaC tests)

PR debug/44694
* cselib.h (cselib_preserve_cfa_base_value): Add regno argument.
* cselib.c (cfa_base_preserved_regno): New static variable.
(cselib_reset_table): Don't reset cfa_base_preserved_regno instead
of REGNO (cfa_base_preserved_val->locs->loc).
(cselib_preserve_cfa_base_value): Add regno argument, set
cfa_base_preserved_regno to it.
(cselib_invalidate_regno): Allow removal of registers other than
cfa_base_preserved_regno from cfa_base_preserved_val.
(cselib_finish): Set cfa_base_preserved_regno to INVALID_REGNUM.
* var-tracking.c (adjust_mems): Replace sp or hfp even outside
of MEM addresses, if not on LHS.
(reverse_op): Don't add reverse ops for cfa_base_rtx.
(vt_init_cfa_base): Adjust cselib_preserve_cfa_base_value caller.

From-SVN: r161587

14 years agore PR libfortran/43298 (fortran library does not read in NaN -Inf or Inf)
Jerry DeLisle [Wed, 30 Jun 2010 01:38:42 +0000 (01:38 +0000)]
re PR libfortran/43298 (fortran library does not read in NaN -Inf or Inf)

2010-06-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/43298
* gfortran.dg/read_infnan_1.f90: New test.

From-SVN: r161586

14 years agore PR libfortran/43298 (fortran library does not read in NaN -Inf or Inf)
Jerry DeLisle [Wed, 30 Jun 2010 01:35:56 +0000 (01:35 +0000)]
re PR libfortran/43298 (fortran library does not read in NaN -Inf or Inf)

2010-06-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/43298
* io/read.c: Add code to parse and read Inf, Infinity, NaN, and Nan with
optional parenthesis.

From-SVN: r161585

14 years agodecl.c (incomplete_var): Declare.
Nathan Froyd [Wed, 30 Jun 2010 01:26:14 +0000 (01:26 +0000)]
decl.c (incomplete_var): Declare.

* decl.c (incomplete_var): Declare.  Declare VECs containing them.
(incomplete_vars): Adjust comment.  Change type to a VEC.
(maybe_register_incomplete_var): Adjust for new type.
(complete_vars): Adjust iteration over incomplete_vars.

From-SVN: r161584

14 years agodecl.c (struct named_label_entry): Change type of bad_decls field to a VEC.
Nathan Froyd [Wed, 30 Jun 2010 01:24:53 +0000 (01:24 +0000)]
decl.c (struct named_label_entry): Change type of bad_decls field to a VEC.

* decl.c (struct named_label_entry): Change type of bad_decls field
to a VEC.
(poplevel_named_label_1): Adjust for new type of bad_decls.
(check_goto): Likewise.

From-SVN: r161583

14 years agoEnable implicitly declared move constructor/operator= (N3053).
Jason Merrill [Wed, 30 Jun 2010 00:51:44 +0000 (20:51 -0400)]
Enable implicitly declared move constructor/operator= (N3053).

gcc/cp/
* class.c (add_implicitly_declared_members): A class with no
explicitly declared copy or move constructor gets both declared
implicitly, and similarly for operator=.
(check_bases): A type with no copy ctor does not inhibit
a const copy ctor in a derived class.
(check_field_decl): Likewise.
(check_bases_and_members): A nonexistent copy ctor/op= is non-trivial.
* tree.c (type_has_nontrivial_copy_init): Adjust semantics.
(trivially_copyable_p): Likewise.
* call.c (convert_like_real): Use type_has_nontrivial_copy_init.
* class.c (finish_struct_bits): Likewise.
* tree.c (build_target_expr_with_type): Likewise.
* typeck2.c (store_init_value): Likewise.
libstdc++-v3/
* include/bits/unordered_map.h: Explicitly default copy constructors.
* include/bits/unordered_set.h: Likewise.

From-SVN: r161582