jvdelisle [Fri, 2 Jul 2010 20:57:08 +0000 (20:57 +0000)]
2010-07-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* gfortran.dg/runtime_warning_1.f90: Remove extra dg line.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161747
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Fri, 2 Jul 2010 20:51:58 +0000 (20:51 +0000)]
PR target/43958
* config/pa/pa.c (hppa_gimplify_va_arg_expr): Use pointer arithmetic
for argument alignment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161746
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Fri, 2 Jul 2010 20:51:50 +0000 (20:51 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161745
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 2 Jul 2010 20:45:00 +0000 (20:45 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161744
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Fri, 2 Jul 2010 20:34:27 +0000 (20:34 +0000)]
* objc-obj-c++-shared/Object1.h: Correct Line endings.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161743
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 2 Jul 2010 20:22:32 +0000 (20:22 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161742
138bc75d-0d04-0410-961f-
82ee72b054a4
schwab [Fri, 2 Jul 2010 20:15:59 +0000 (20:15 +0000)]
PR target/44771
* config/m68k/m68k.c (m68k_expand_prologue): Remove set but not
used variable insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161741
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 2 Jul 2010 20:01:05 +0000 (20:01 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161739
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Fri, 2 Jul 2010 19:53:24 +0000 (19:53 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161738
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 2 Jul 2010 19:25:30 +0000 (19:25 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161736
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Fri, 2 Jul 2010 19:07:30 +0000 (19:07 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161735
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 2 Jul 2010 16:52:38 +0000 (16:52 +0000)]
* Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
* Makefile.in: Regenerated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161731
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161729
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161728
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [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).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161727
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Fri, 2 Jul 2010 16:25:59 +0000 (16:25 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161726
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Fri, 2 Jul 2010 16:22:33 +0000 (16:22 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161725
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Fri, 2 Jul 2010 16:17:04 +0000 (16:17 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161724
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 2 Jul 2010 15:17:10 +0000 (15:17 +0000)]
2010-07-02 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/template/crash101.C: Remove stray // from dg-error comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161722
138bc75d-0d04-0410-961f-
82ee72b054a4
sandra [Fri, 2 Jul 2010 14:48:04 +0000 (14:48 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161720
138bc75d-0d04-0410-961f-
82ee72b054a4
sandra [Fri, 2 Jul 2010 14:43:26 +0000 (14:43 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161719
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 2 Jul 2010 13:25:23 +0000 (13:25 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161716
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Fri, 2 Jul 2010 12:43:00 +0000 (12:43 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161709
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 2 Jul 2010 12:30:38 +0000 (12:30 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161708
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 2 Jul 2010 12:28:54 +0000 (12:28 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161707
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 2 Jul 2010 12:09:29 +0000 (12:09 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161706
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 2 Jul 2010 12:05:59 +0000 (12:05 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161705
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 2 Jul 2010 11:52:30 +0000 (11:52 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161704
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Fri, 2 Jul 2010 11:48:30 +0000 (11:48 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161703
138bc75d-0d04-0410-961f-
82ee72b054a4
doko [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161702
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Fri, 2 Jul 2010 10:26:12 +0000 (10:26 +0000)]
Missed in last commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161701
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Fri, 2 Jul 2010 10:15:09 +0000 (10:15 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161699
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 2 Jul 2010 10:13:21 +0000 (10:13 +0000)]
/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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161698
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Fri, 2 Jul 2010 10:12:34 +0000 (10:12 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161697
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Fri, 2 Jul 2010 10:05:49 +0000 (10:05 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161696
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 2 Jul 2010 09:57:12 +0000 (09:57 +0000)]
2010-07-02 Richard Guenther <rguenther@suse.de>
PR middle-end/44777
* tree-cfg.c (gimple_block_ends_with_call_p): Handle empty BBs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161694
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161692
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 2 Jul 2010 09:39:54 +0000 (09:39 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161691
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 2 Jul 2010 09:14:03 +0000 (09:14 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161689
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [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:.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161687
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161686
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 2 Jul 2010 00:17:05 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161685
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 1 Jul 2010 14:37:22 +0000 (14:37 +0000)]
* g++.dg/cpp0x/nullptr04.C: Use __INTPTR_TYPE__.
* g++.dg/other/pr25632.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161673
138bc75d-0d04-0410-961f-
82ee72b054a4
hp [Thu, 1 Jul 2010 13:47:36 +0000 (13:47 +0000)]
* reload.c: Include toplev.h.
* recog.c: Likewise.
* Makefile.in: Adjust dependencies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161671
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 1 Jul 2010 12:53:44 +0000 (12:53 +0000)]
PR tree-optimization/40421
* gfortran.fortran-torture/compile/pr40421.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161669
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Thu, 1 Jul 2010 12:35:37 +0000 (12:35 +0000)]
* config/ia64/ia64.c (ia64_register_move_cost): Fix argument types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161667
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 1 Jul 2010 11:11:46 +0000 (11:11 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161662
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 1 Jul 2010 10:50:14 +0000 (10:50 +0000)]
2010-07-01 Richard Guenther <rguenther@suse.de>
* emit-rtl.c (set_mem_attributes_minus_bitpos): Use unsigned
types for offsets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161659
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Thu, 1 Jul 2010 10:27:34 +0000 (10:27 +0000)]
PR target/44732
* config/ia64/ia64.c (ia64_register_move_cost): Remove stray '{'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161658
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Thu, 1 Jul 2010 09:20:40 +0000 (09:20 +0000)]
PR target/44727
* config/i386/i386.md (peephole2 for arithmetic ops with memory):
Make sure operand 0 dies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161656
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 1 Jul 2010 08:49:19 +0000 (08:49 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161655
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 1 Jul 2010 00:17:09 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161653
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 30 Jun 2010 20:46:46 +0000 (20:46 +0000)]
/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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161639
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Wed, 30 Jun 2010 18:47:43 +0000 (18:47 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161633
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 30 Jun 2010 18:38:37 +0000 (18:38 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161631
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Wed, 30 Jun 2010 18:24:20 +0000 (18:24 +0000)]
* target.def (print_operand, print_operand_address): Update comment.
(print_operand_punct_valid_p): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161629
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Wed, 30 Jun 2010 18:11:35 +0000 (18:11 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161628
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Wed, 30 Jun 2010 18:10:23 +0000 (18:10 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161627
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Wed, 30 Jun 2010 18:08:56 +0000 (18:08 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161626
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Wed, 30 Jun 2010 18:06:11 +0000 (18:06 +0000)]
* target.def (pass_by_reference): Use DEFHOOK.
* doc/tm.texi.in (TARGET_PASS_BY_REFERENCE): Use @hook.
* doc/tm.texi: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161625
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Wed, 30 Jun 2010 18:04:48 +0000 (18:04 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161624
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Wed, 30 Jun 2010 17:56:15 +0000 (17:56 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161623
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Wed, 30 Jun 2010 17:55:03 +0000 (17:55 +0000)]
* target.def (fold_builtin): Rename nargs to n_args. Use DEFHOOK.
* doc/tm.texi.in (TARGET_FOLD_BUILTIN): Use @hook.
* doc/tm.texi: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161622
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Wed, 30 Jun 2010 17:53:44 +0000 (17:53 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161621
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Wed, 30 Jun 2010 17:52:17 +0000 (17:52 +0000)]
* target.def (builtin_reciprocal): Change tm_fn to md_fn. Use DEFHOOK.
* doc/tm.texi.in (TARGET_BUILTIN_RECIPROCAL): Use @hook.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161620
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Wed, 30 Jun 2010 17:49:36 +0000 (17:49 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161619
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Wed, 30 Jun 2010 17:48:41 +0000 (17:48 +0000)]
* target.def: Remove comment about licensing problems of function
declaration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161618
138bc75d-0d04-0410-961f-
82ee72b054a4
manu [Wed, 30 Jun 2010 17:12:36 +0000 (17:12 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161617
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Wed, 30 Jun 2010 16:56:02 +0000 (16:56 +0000)]
Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161616
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Wed, 30 Jun 2010 16:51:36 +0000 (16:51 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161615
138bc75d-0d04-0410-961f-
82ee72b054a4
matz [Wed, 30 Jun 2010 16:34:22 +0000 (16:34 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161614
138bc75d-0d04-0410-961f-
82ee72b054a4
matz [Wed, 30 Jun 2010 16:08:29 +0000 (16:08 +0000)]
* repo.c (finish_repo): Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161612
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Wed, 30 Jun 2010 14:33:40 +0000 (14:33 +0000)]
PR other/44034
* config/darwin.c (darwin_override_options): Use renamed
targetm.asm_out.emit_unwind_label.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161606
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 30 Jun 2010 14:16:28 +0000 (14:16 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161605
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Wed, 30 Jun 2010 12:20:54 +0000 (12:20 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161599
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Wed, 30 Jun 2010 12:13:34 +0000 (12:13 +0000)]
* repo.c (pending_repo): Change type to a VEC.
(finish_repo): Adjust for new type of pending_repo.
(repo_emit_p): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161598
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 30 Jun 2010 11:09:37 +0000 (11:09 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161597
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 30 Jun 2010 09:47:25 +0000 (09:47 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161594
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Wed, 30 Jun 2010 08:50:14 +0000 (08:50 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161592
138bc75d-0d04-0410-961f-
82ee72b054a4
manu [Wed, 30 Jun 2010 07:39:21 +0000 (07:39 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161591
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 30 Jun 2010 06:12:22 +0000 (06:12 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161587
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Wed, 30 Jun 2010 01:38:42 +0000 (01:38 +0000)]
2010-06-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/43298
* gfortran.dg/read_infnan_1.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161586
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Wed, 30 Jun 2010 01:35:56 +0000 (01:35 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161585
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Wed, 30 Jun 2010 01:26:14 +0000 (01:26 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161584
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [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.
(poplevel_named_label_1): Adjust for new type of bad_decls.
(check_goto): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161583
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 30 Jun 2010 00:51:44 +0000 (00:51 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161582
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 30 Jun 2010 00:51:29 +0000 (00:51 +0000)]
Enable implicitly deleted functions (N2346)
* class.c (check_bases_and_members): Adjust lambda flags.
* method.c (implicitly_declare_fn): Set DECL_DELETED_FN if appropriate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161581
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 30 Jun 2010 00:51:13 +0000 (00:51 +0000)]
* decl2.c (mark_used): Adjust error for use of deleted function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161580
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 30 Jun 2010 00:50:57 +0000 (00:50 +0000)]
Machinery to support implicit delete/move.
* cp-tree.h: (struct lang_type_class): Add lazy_move_assign,
has_complex_move_ctor, has_complex_move_assign bitfields.
(CLASSTYPE_LAZY_MOVE_ASSIGN): New.
(TYPE_HAS_COMPLEX_MOVE_ASSIGN): New.
(TYPE_HAS_COMPLEX_MOVE_CTOR): New.
(enum special_function_kind): Add sfk_move_assignment.
(LOOKUP_SPECULATIVE): New.
* call.c (build_over_call): Return early if it's set.
(build_over_call): Use trivial_fn_p.
* class.c (check_bases): If the base has no default constructor,
the derived one is non-trivial. Handle move ctor/op=.
(check_field_decl): Likewise.
(check_bases_and_members): Handle move ctor/op=.
(add_implicitly_declared_members): Handle CLASSTYPE_LAZY_MOVE_ASSIGN.
(type_has_move_constructor, type_has_move_assign): New.
* decl.c (grok_special_member_properties): Handle move ctor/op=.
* method.c (type_has_trivial_fn, type_set_nontrivial_flag): New.
(trivial_fn_p): New.
(do_build_copy_constructor): Use it.
(do_build_assign_ref): Likewise. Handle move assignment.
(build_stub_type, build_stub_object, locate_fn_flags): New.
(locate_ctor): Use locate_fn_flags.
(locate_copy, locate_dtor): Remove.
(get_dtor, get_default_ctor, get_copy_ctor, get_copy_assign): New.
(process_subob_fn, synthesized_method_walk): New.
(maybe_explain_implicit_delete): New.
(implicitly_declare_fn): Use synthesized_method_walk,
type_has_trivial_fn, and type_set_nontrivial_flag.
(defaulted_late_check): Set DECL_DELETED_FN.
(defaultable_fn_check): Handle sfk_move_assignment.
(lazily_declare_fn): Clear CLASSTYPE_LAZY_* early. Don't declare
implicitly deleted move ctor/op=.
* search.c (lookup_fnfields_1): Handle sfk_move_assignment.
(lookup_fnfields_slot): New.
* semantics.c (omp_clause_info_fndecl): Remove.
(cxx_omp_create_clause_info): Use get_default_ctor, get_copy_ctor,
get_copy_assign, trivial_fn_p.
(trait_expr_value): Adjust call to locate_ctor.
* tree.c (special_function_p): Handle sfk_move_assignment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161579
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 30 Jun 2010 00:50:45 +0000 (00:50 +0000)]
* class.c (type_has_virtual_destructor): New.
* cp-tree.h: Declare it.
* semantics.c (trait_expr_value): Use it.
* call.c (build_over_call): Only give warnings with tf_warning.
* name-lookup.c (pop_scope): Handle NULL_TREE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161578
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 30 Jun 2010 00:50:34 +0000 (00:50 +0000)]
* cp-tree.h (TYPE_HAS_ASSIGN_REF): Rename to TYPE_HAS_COPY_ASSIGN.
(TYPE_HAS_CONST_ASSIGN_REF): Rename to TYPE_HAS_CONST_COPY_ASSIGN.
(TYPE_HAS_INIT_REF): Rename to TYPE_HAS_COPY_CTOR.
(TYPE_HAS_CONST_INIT_REF): Rename to TYPE_HAS_CONST_COPY_CTOR.
(TYPE_HAS_COMPLEX_ASSIGN_REF): Rename to TYPE_HAS_COMPLEX_COPY_ASSIGN.
(TYPE_HAS_COMPLEX_INIT_REF): Rename to TYPE_HAS_COMPLEX_COPY_CTOR.
(TYPE_HAS_TRIVIAL_ASSIGN_REF): Rename to TYPE_HAS_TRIVIAL_COPY_ASSIGN.
(TYPE_HAS_TRIVIAL_INIT_REF): Rename to TYPE_HAS_TRIVIAL_COPY_CTOR.
(CLASSTYPE_LAZY_ASSIGNMENT_OP): Rename to CLASSTYPE_LAZY_COPY_ASSIGN.
(sfk_assignment_operator): Rename to sfk_copy_assignment.
* decl.c, call.c, class.c, init.c, method.c, pt.c, ptree.c: Adjust.
* search.c, semantics.c, tree.c: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161577
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 30 Jun 2010 00:17:19 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161574
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Tue, 29 Jun 2010 22:29:30 +0000 (22:29 +0000)]
* recog.c (peep2_do_rebuild_jump_labels, peep2_do_cleanup_cfg): New
static variables.
(peep2_buf_position): New static function.
(peep2_regno_dead_p, peep2_reg_dead_p, peep2_find_free_register,
peephole2_optimize): Use it.
(peep2_attempt, peep2_update_life): New static functions, broken out
of peephole2_optimize.
(peep2_fill_buffer): New static function.
(peephole2_optimize): Change the main loop to try to fill the buffer
with the maximum number of insns before matching them against
peepholes. Use a forward scan. Remove special case for targets with
conditional execution.
* genrecog.c (change_state): Delete dead code.
* config/i386/i386.md (peephole2 for arithmetic ops with memory):
Rewrite so as not to expect the second insn to have had a peephole
applied yet.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161570
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Tue, 29 Jun 2010 21:40:38 +0000 (21:40 +0000)]
2010-06-29 Janus Weil <janus@gcc.gnu.org>
PR fortran/44718
* resolve.c (is_external_proc): Prevent procedure pointers from being
regarded as external procedures.
2010-06-29 Janus Weil <janus@gcc.gnu.org>
PR fortran/44718
* gfortran.dg/proc_ptr_28.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161569
138bc75d-0d04-0410-961f-
82ee72b054a4
froydnj [Tue, 29 Jun 2010 20:54:53 +0000 (20:54 +0000)]
* genhooks.c (emit_findices): Cast field precision to int.
(emit_documentation): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161568
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 29 Jun 2010 19:46:05 +0000 (19:46 +0000)]
PR tree-optimization/43801
* cgraph.c (cgraph_create_virtual_clone): Clear DECL_SECTION_NAME
if old_decl was DECL_ONE_ONLY.
* g++.dg/torture/pr43801.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161564
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 29 Jun 2010 19:37:46 +0000 (19:37 +0000)]
PR debug/44668
* dwarf2out.c (add_accessibility_attribute): New function.
(gen_subprogram_die, gen_variable_die, gen_field_die): Use it
instead of adding DW_AT_accessibility manually.
(gen_enumeration_type_die, gen_struct_or_union_type_die,
gen_typedef_die): Use it.
* g++.dg/debug/dwarf2/accessibility1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161563
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 29 Jun 2010 19:29:14 +0000 (19:29 +0000)]
* pt.c (dependent_scope_ref_p): Remove.
(value_dependent_expression_p): Don't call it.
(type_dependent_expression_p): Here either.
* init.c (build_offset_ref): Set TREE_TYPE on a qualified-id
if the scope isn't dependent.
* pt.c (convert_nontype_argument): Use mark_lvalue_use if we want
a reference.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161560
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 29 Jun 2010 19:29:02 +0000 (19:29 +0000)]
PR c++/44587
* pt.c (has_value_dependent_address): New.
(value_dependent_expression_p): Check it.
(convert_nontype_argument): Likewise. Call decay_conversion before
folding if we want a pointer.
* semantics.c (finish_id_expression): Don't add SCOPE_REF if the
scope is the current instantiation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161559
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Tue, 29 Jun 2010 19:26:56 +0000 (19:26 +0000)]
* config/m68k/m68k.c (targetm.sched.init_global): Update comment.
(targetm.sched.init): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161558
138bc75d-0d04-0410-961f-
82ee72b054a4