OSDN Git Service

pf3gnuchains/gcc-fork.git
12 years agogcc/
rsandifo [Tue, 27 Sep 2011 23:03:57 +0000 (23:03 +0000)]
gcc/
* config/iq2000/iq2000.md: Use match_test rather than eq/ne symbol_ref
throughout file.

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

12 years ago * gcc.target/sh/mfmovd.c: Extend list of supported targets.
kkojima [Tue, 27 Sep 2011 22:46:00 +0000 (22:46 +0000)]
* gcc.target/sh/mfmovd.c: Extend list of supported targets.
* gcc.target/sh/struct-arg-dw2.c: Fix typo.
* gcc.target/sh/sh4a-sincos.c: Make test SH4A only.
* gcc.target/sh/sh4a-sincosf.c: Ditto.
* gcc.target/sh/sh4a-cos.c: Ditto.
* gcc.target/sh/sh4a-cosf.c: Ditto.
* gcc.target/sh/sh4a-sin.c: Ditto.
* gcc.target/sh/sh4a-sinf.c: Ditto.
* gcc.target/sh/sh4a-fsrra.c: Ditto.
* gcc.target/sh/sh4a-memmovua.c: Ditto.
* gcc.target/sh/sh4a-bitmovua.c: Ditto.

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

12 years ago/cp
paolo [Tue, 27 Sep 2011 21:52:19 +0000 (21:52 +0000)]
/cp
2011-09-27  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/31489
* parser.c (cp_parser_elaborated_type_specifier): For RECORD_TYPE,
set CLASSTYPE_DECLARED_CLASS.

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

PR c++/31489
* g++.dg/parse/error40.C: New.
* g++.dg/warn/incomplete1.C: Adjust.

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

12 years ago * trans-types.c (gfc_type_for_size): Return wider type
jakub [Tue, 27 Sep 2011 19:17:31 +0000 (19:17 +0000)]
* trans-types.c (gfc_type_for_size): Return wider type
if no suitable narrower type has been found.
(gfc_type_for_mode): Return NULL_TREE if gfc_type_for_size
returned type doesn't have expected TYPE_MODE.

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

12 years ago2011-09-27 Sriraman Tallam <tmsriram@google.com>
tmsriram [Tue, 27 Sep 2011 17:52:13 +0000 (17:52 +0000)]
2011-09-27  Sriraman Tallam  <tmsriram@google.com>

* output.h (SECTION_EXCLUDE): New macro.
* varasm.c (default_elf_asm_named_section): Check for
SECTION_EXCLUDE.

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

12 years agogcc/
rsandifo [Tue, 27 Sep 2011 17:24:03 +0000 (17:24 +0000)]
gcc/
* fwprop.c (forward_propagate_and_simplify): After checking
reg/subreg combinations, check whether the modes are the same.

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

12 years agogcc/
rsandifo [Tue, 27 Sep 2011 17:23:27 +0000 (17:23 +0000)]
gcc/
2011-09-25  Bernd Schmidt  <bernds@codesourcery.com>
    Richard Sandiford  <rdsandiford@googlemail.com>

* config/mips/mips.c (mips_add_cfa_restore): New function.
(mips16e_save_restore_reg): Use it.
(mips_restore_reg): Likewise.  Split double FPRs for
REG_CFA_RESTORE notes.

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

12 years agogcc/
rsandifo [Tue, 27 Sep 2011 17:18:22 +0000 (17:18 +0000)]
gcc/
PR middle-end/50386
PR middle-end/50326
* tree-sra.c (build_ref_for_model): Use the type of the field as
the type of the COMPONENT_REF.

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

12 years ago * ifcvt.c (cheap_bb_rtx_cost_p): Add SCALE argument. Scale
law [Tue, 27 Sep 2011 16:49:17 +0000 (16:49 +0000)]
* ifcvt.c (cheap_bb_rtx_cost_p): Add SCALE argument.  Scale
non-jumping insns by REG_BR_PROB_BASE and the maximum cost
by SCALE.
(find_if_case_1): Use the probability of the THEN clause when
determining if speculation is profitable.
(find_if_case_2): Similarly for the ELSE clause.

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

12 years ago PR middle-end/49463
hubicka [Tue, 27 Sep 2011 16:28:24 +0000 (16:28 +0000)]
PR middle-end/49463
* gcc.c-torture/execute/builtins/strstr-asm-lib.c
(my_strstr): Mark used.

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

12 years ago * common.opt: Add -foptimize-strlen option.
jakub [Tue, 27 Sep 2011 16:18:49 +0000 (16:18 +0000)]
* common.opt: Add -foptimize-strlen option.
* Makefile.in (OBJS): Add tree-ssa-strlen.o.
(tree-sssa-strlen.o): Add dependencies.
* opts.c (default_options_table): Enable -foptimize-strlen
by default at -O2 if not -Os.
* passes.c (init_optimization_passes): Add pass_strlen
after pass_object_sizes.
* timevar.def (TV_TREE_STRLEN): New timevar.
* params.def (PARAM_MAX_TRACKED_STRLENS): New parameter.
* tree-pass.h (pass_strlen): Declare.
* tree-ssa-strlen.c: New file.
* c-decl.c (merge_decls): If compatible stpcpy prototype
is seen, set implicit_built_in_decls[BUILT_IN_STPCPY].
cp/
* decl.c (duplicate_decls): If compatible stpcpy prototype
is seen, set implicit_built_in_decls[BUILT_IN_STPCPY].
testsuite/
* gcc.dg/strlenopt-1.c: New test.
* gcc.dg/strlenopt-1f.c: New test.
* gcc.dg/strlenopt-2.c: New test.
* gcc.dg/strlenopt-2f.c: New test.
* gcc.dg/strlenopt-3.c: New test.
* gcc.dg/strlenopt-4.c: New test.
* gcc.dg/strlenopt-4g.c: New test.
* gcc.dg/strlenopt-4gf.c: New test.
* gcc.dg/strlenopt-5.c: New test.
* gcc.dg/strlenopt-6.c: New test.
* gcc.dg/strlenopt-7.c: New test.
* gcc.dg/strlenopt-8.c: New test.
* gcc.dg/strlenopt-9.c: New test.
* gcc.dg/strlenopt-10.c: New test.
* gcc.dg/strlenopt-11.c: New test.
* gcc.dg/strlenopt-12.c: New test.
* gcc.dg/strlenopt-12g.c: New test.
* gcc.dg/strlenopt-13.c: New test.
* gcc.dg/strlenopt-14g.c: New test.
* gcc.dg/strlenopt-14gf.c: New test.
* gcc.dg/strlenopt-15.c: New test.
* gcc.dg/strlenopt-16g.c: New test.
* gcc.dg/strlenopt-17g.c: New test.
* gcc.dg/strlenopt-18g.c: New test.
* gcc.dg/strlenopt.h: New file.

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

12 years ago * common.opt: Add -foptimize-strlen option.
jakub [Tue, 27 Sep 2011 16:16:57 +0000 (16:16 +0000)]
* common.opt: Add -foptimize-strlen option.
* Makefile.in (OBJS): Add tree-ssa-strlen.o.
(tree-sssa-strlen.o): Add dependencies.
* opts.c (default_options_table): Enable -foptimize-strlen
by default at -O2 if not -Os.
* passes.c (init_optimization_passes): Add pass_strlen
after pass_object_sizes.
* timevar.def (TV_TREE_STRLEN): New timevar.
* params.def (PARAM_MAX_TRACKED_STRLENS): New parameter.
* tree-pass.h (pass_strlen): Declare.
* tree-ssa-strlen.c: New file.
* c-decl.c (merge_decls): If compatible stpcpy prototype
is seen, set implicit_built_in_decls[BUILT_IN_STPCPY].
cp/
* decl.c (duplicate_decls): If compatible stpcpy prototype
is seen, set implicit_built_in_decls[BUILT_IN_STPCPY].
testsuite/
* gcc.dg/strlenopt-1.c: New test.
* gcc.dg/strlenopt-1f.c: New test.
* gcc.dg/strlenopt-2.c: New test.
* gcc.dg/strlenopt-2f.c: New test.
* gcc.dg/strlenopt-3.c: New test.
* gcc.dg/strlenopt-4.c: New test.
* gcc.dg/strlenopt-4g.c: New test.
* gcc.dg/strlenopt-4gf.c: New test.
* gcc.dg/strlenopt-5.c: New test.
* gcc.dg/strlenopt-6.c: New test.
* gcc.dg/strlenopt-7.c: New test.
* gcc.dg/strlenopt-8.c: New test.
* gcc.dg/strlenopt-9.c: New test.
* gcc.dg/strlenopt-10.c: New test.
* gcc.dg/strlenopt-11.c: New test.
* gcc.dg/strlenopt-12.c: New test.
* gcc.dg/strlenopt-12g.c: New test.
* gcc.dg/strlenopt-13.c: New test.
* gcc.dg/strlenopt-14g.c: New test.
* gcc.dg/strlenopt-14gf.c: New test.
* gcc.dg/strlenopt-15.c: New test.
* gcc.dg/strlenopt-16g.c: New test.
* gcc.dg/strlenopt-17g.c: New test.
* gcc.dg/strlenopt-18g.c: New test.
* gcc.dg/strlenopt.h: New file.

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

12 years ago * common.opt: Add -foptimize-strlen option.
jakub [Tue, 27 Sep 2011 16:15:46 +0000 (16:15 +0000)]
* common.opt: Add -foptimize-strlen option.
* Makefile.in (OBJS): Add tree-ssa-strlen.o.
(tree-sssa-strlen.o): Add dependencies.
* opts.c (default_options_table): Enable -foptimize-strlen
by default at -O2 if not -Os.
* passes.c (init_optimization_passes): Add pass_strlen
after pass_object_sizes.
* timevar.def (TV_TREE_STRLEN): New timevar.
* params.def (PARAM_MAX_TRACKED_STRLENS): New parameter.
* tree-pass.h (pass_strlen): Declare.
* tree-ssa-strlen.c: New file.
* c-decl.c (merge_decls): If compatible stpcpy prototype
is seen, set implicit_built_in_decls[BUILT_IN_STPCPY].
cp/
* decl.c (duplicate_decls): If compatible stpcpy prototype
is seen, set implicit_built_in_decls[BUILT_IN_STPCPY].
testsuite/
* gcc.dg/strlenopt-1.c: New test.
* gcc.dg/strlenopt-1f.c: New test.
* gcc.dg/strlenopt-2.c: New test.
* gcc.dg/strlenopt-2f.c: New test.
* gcc.dg/strlenopt-3.c: New test.
* gcc.dg/strlenopt-4.c: New test.
* gcc.dg/strlenopt-4g.c: New test.
* gcc.dg/strlenopt-4gf.c: New test.
* gcc.dg/strlenopt-5.c: New test.
* gcc.dg/strlenopt-6.c: New test.
* gcc.dg/strlenopt-7.c: New test.
* gcc.dg/strlenopt-8.c: New test.
* gcc.dg/strlenopt-9.c: New test.
* gcc.dg/strlenopt-10.c: New test.
* gcc.dg/strlenopt-11.c: New test.
* gcc.dg/strlenopt-12.c: New test.
* gcc.dg/strlenopt-12g.c: New test.
* gcc.dg/strlenopt-13.c: New test.
* gcc.dg/strlenopt-14g.c: New test.
* gcc.dg/strlenopt-14gf.c: New test.
* gcc.dg/strlenopt-15.c: New test.
* gcc.dg/strlenopt-16g.c: New test.
* gcc.dg/strlenopt-17g.c: New test.
* gcc.dg/strlenopt-18g.c: New test.
* gcc.dg/strlenopt.h: New file.

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

12 years ago2011-09-27 Tom de Vries <tom@codesourcery.com>
vries [Tue, 27 Sep 2011 16:12:35 +0000 (16:12 +0000)]
2011-09-27  Tom de Vries  <tom@codesourcery.com>

PR middle-end/43864
* gcc.dg/fold-compare-2.c (dg-options): Add -fno-tree-tail-merge.
* gcc/testsuite/gcc.dg/uninit-pred-2_c.c: Same.
* gcc.dg/pr43864.c: New test.
* gcc.dg/pr43864-2.c: Same.
* gcc.dg/pr43864-3.c: Same.
* gcc.dg/pr43864-4.c: Same.

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

12 years ago2011-09-27 Tom de Vries <tom@codesourcery.com>
vries [Tue, 27 Sep 2011 16:10:42 +0000 (16:10 +0000)]
2011-09-27  Tom de Vries  <tom@codesourcery.com>

PR middle-end/43864
* tree-ssa-tail-merge.c: New file.
(struct same_succ_def): Define.
(same_succ, const_same_succ): New typedef.
(struct bb_cluster_def): Define.
(bb_cluster, const_bb_cluster): New typedef.
(struct aux_bb_info): Define.
(BB_SIZE, BB_SAME_SUCC, BB_CLUSTER, BB_VOP_AT_EXIT): Define.
(gvn_uses_equal): New function.
(same_succ_print, same_succ_print_traverse, update_dep_bb)
(stmt_update_dep_bb, local_def, same_succ_hash)
(inverse_flags, same_succ_equal, same_succ_alloc, same_succ_delete)
(same_succ_reset): New function.
(same_succ_htab, same_succ_edge_flags)
(deleted_bbs, deleted_bb_preds): New var.
(debug_same_succ): New function.
(worklist): New var.
(print_worklist, add_to_worklist, find_same_succ_bb, find_same_succ)
(init_worklist, delete_worklist, delete_basic_block_same_succ)
(same_succ_flush_bbs, purge_bbs, update_worklist): New function.
(print_cluster, debug_cluster, update_rep_bb)
(add_bb_to_cluster, new_cluster, delete_cluster): New function.
(all_clusters): New var.
(alloc_cluster_vectors, reset_cluster_vectors, delete_cluster_vectors)
(merge_clusters, set_cluster): New function.
(gimple_equal_p, gsi_advance_bw_nondebug_nonlocal, find_duplicate)
(same_phi_alternatives_1, same_phi_alternatives, bb_has_non_vop_phi)
(deps_ok_for_redirect_from_bb_to_bb, deps_ok_for_redirect)
(find_clusters_1, find_clusters): New function.
(update_vuses, vop_phi, vop_at_entry, replace_block_by): New function.
(update_bbs): New var.
(apply_clusters): New function.
(update_debug_stmt, update_debug_stmts): New function.
(tail_merge_optimize): New function.
tree-pass.h (tail_merge_optimize): Declare.
* tree-ssa-pre.c (execute_pre): Use tail_merge_optimize.
* Makefile.in (OBJS-common): Add tree-ssa-tail-merge.o.
(tree-ssa-tail-merge.o): New rule.
* opts.c (default_options_table): Set OPT_ftree_tail_merge by default at
OPT_LEVELS_2_PLUS.
* tree-ssa-sccvn.c (vn_valueize): Move to ...
* tree-ssa-sccvn.h (vn_valueize): Here.
* timevar.def (TV_TREE_TAIL_MERGE): New timevar.
* common.opt (ftree-tail-merge): New switch.
* params.def (PARAM_MAX_TAIL_MERGE_COMPARISONS)
(PARAM_MAX_TAIL_MERGE_ITERATIONS): New parameter.
* doc/invoke.texi (Optimization Options, -O2): Add -ftree-tail-merge.
(-ftree-tail-merge, max-tail-merge-comparisons)
(max-tail-merge-iterations): New item.

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

12 years ago * ipa-inline-analysis.c (MAX_TIME): Reduce to avoid overflows.
hubicka [Tue, 27 Sep 2011 15:27:41 +0000 (15:27 +0000)]
* ipa-inline-analysis.c (MAX_TIME): Reduce to avoid overflows.

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

12 years ago * gcc.dg/ipa/inline-5.c: New testcase.
hubicka [Tue, 27 Sep 2011 15:08:31 +0000 (15:08 +0000)]
* gcc.dg/ipa/inline-5.c: New testcase.
* ipa-inline-analysis.c (eliminated_by_inlining_prob): Handle parameters
passed by reference; handle loads from non-SSA scalars and update comments.

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

12 years ago PR rtl-optimization/50249
bernds [Tue, 27 Sep 2011 14:55:11 +0000 (14:55 +0000)]
PR rtl-optimization/50249
* reload1.c (reload_reg_reaches_end_p): Accept a reloadnum argument
instead of opnum and type.  All callers changed.  Remove useless
declaration.
Search forward for other reloads of the same type for the same operand
using the same register; if any are found, return false.
(reload_regs_reach_end_p): Same argument changes; all callers changed.

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

12 years ago * doc/invoke.texi (ffat-lto-objects): Document.
hubicka [Tue, 27 Sep 2011 14:36:48 +0000 (14:36 +0000)]
* doc/invoke.texi (ffat-lto-objects): Document.
* toplev.c (compile_file): Do not output assembly when doing slim lto;
Output __gnu_slim_lto when doing slim lto.
* cgraphunit.c (ipa_passes): Do only analysis when producing slim lto.
(cgraph_optimize): Return early when doing slim lto.
* opts.c (finish_options): Complain about lack of linker plugin
when doing slim lto.
* common.opt (ffat-lto-objects): New.

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

12 years agomksysinfo: Fix for systems that don't define TIOCSCTTY.
ian [Tue, 27 Sep 2011 13:16:22 +0000 (13:16 +0000)]
mksysinfo: Fix for systems that don't define TIOCSCTTY.

From Rainer Orth.

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

12 years agogcc/
rsandifo [Tue, 27 Sep 2011 13:01:31 +0000 (13:01 +0000)]
gcc/
* ipa-inline-analysis.c (predicate_probability): Avoid comparison
between signed and unsigned.

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

12 years ago * tree-vect-stmts.c (vectorizable_type_demotion): Handle basic
irar [Tue, 27 Sep 2011 12:26:34 +0000 (12:26 +0000)]
    * tree-vect-stmts.c (vectorizable_type_demotion): Handle basic
        block vectorization.
        (vectorizable_type_promotion): Likewise.
        (vect_analyze_stmt): Call vectorizable_type_demotion and
        vectorizable_type_promotion for basic blocks.
        (supportable_widening_operation): Don't assume loop
        vectorization.
        * tree-vect-slp.c (vect_build_slp_tree): Allow multiple types
        for basic blocks.  Update vectorization factor for basic block
        vectorization.
        (vect_analyze_slp_instance): Allow multiple types for basic
        block vectorization.  Recheck unrolling factor after
        construction of SLP instance.

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

12 years ago * testsuite/lib/target-supports.exp (check_profiling_available):
bernds [Tue, 27 Sep 2011 11:04:34 +0000 (11:04 +0000)]
* testsuite/lib/target-supports.exp (check_profiling_available):
Don't rely solely on TLS tests for -fprofile-generate, fall
through to the other code.

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

12 years ago2011-09-27 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 27 Sep 2011 10:11:01 +0000 (10:11 +0000)]
2011-09-27  Ed Schonberg  <schonberg@adacore.com>

* a-cbhase.adb, a-cbhase.ads, a-cborse.adb, a-cborse.ads,
a-cihase.adb, a-cihase.ads, a-ciorse.adb, a-ciorse.ads,
a-coorse.adb, a-coorse.ads: Add iterator machinery to bounded sets and
indefinite sets.
* a-coorma.ads: Minor reformmating.
* einfo.ads: Improve the comment describing the
Directly_Designated_Type function.
* a-ciorma.adb, a-ciorma.ads: Add iterator machinery to indefinite
ordered maps.
* gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
dependencies.

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

12 years ago2011-09-27 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 27 Sep 2011 10:06:40 +0000 (10:06 +0000)]
2011-09-27  Richard Guenther  <rguenther@suse.de>

* tree-object-size.c (compute_object_sizes): Fix dumping of
folded statement.

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

12 years ago2011-09-27 Robert Dewar <dewar@adacore.com>
charlet [Tue, 27 Sep 2011 10:03:09 +0000 (10:03 +0000)]
2011-09-27  Robert Dewar  <dewar@adacore.com>

* a-comutr.ads: Minor reformatting.

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

* a-cimutr.adb, a-cimutr.ads, a-cbmutr.adb, a-cbmutr.ads: Add children
iterators to multiway trees.

2011-09-27  Yannick Moy  <moy@adacore.com>

* debug.adb (d.D): New option for strict Alfa mode.
* opt.ads (Strict_Alfa_Mode): New flag to interpret compiler
permissions as strictly as possible.
* sem_ch3.adb (Signed_Integer_Type_Declaration): In non-strict
Alfa mode, now, interpret ranges of base types like GNAT does; in
strict mode, simply change the range of the implicit base Itype.
* gnat1drv.adb: Update comments. Set Strict_Alfa_Mode.

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

12 years ago2011-09-27 Robert Dewar <dewar@adacore.com>
charlet [Tue, 27 Sep 2011 09:58:53 +0000 (09:58 +0000)]
2011-09-27  Robert Dewar  <dewar@adacore.com>

* exp_ch9.adb: Minor comment fixes.

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

* a-comutr.adb, a-comutr.ads: Add children iterators on multiway
trees.

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

12 years ago2011-09-27 Eric Botcazou <ebotcazou@adacore.com>
charlet [Tue, 27 Sep 2011 09:57:19 +0000 (09:57 +0000)]
2011-09-27  Eric Botcazou  <ebotcazou@adacore.com>

* checks.adb (Apply_Scalar_Range_Check): Use Designated_Type
instead of Directly_Designated_Type in the indirect array case.

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

* exp_util.adb, exp_aggr.adb: Minor reformatting.

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

12 years ago2011-09-27 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 27 Sep 2011 09:54:10 +0000 (09:54 +0000)]
2011-09-27  Ed Schonberg  <schonberg@adacore.com>

* sinfo.ads, par-ch3.adb: Minor comment update: aspect specification
on subtype declarations.
* exp_aggr.adb: Minor comment update.

2011-09-27  Eric Botcazou  <ebotcazou@adacore.com>

* exp_util.adb (Safe_Prefixed_Reference): Remove always-false
test in the N_Explicit_Dereference case.  Fold double logical
negation in the special loop case and conditionalize it on
Variable_Ref being true.

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

* sem_ch4.adb (Analyze_Selected_Component): If the prefix is a
single protected object and the selector is a discriminant or an
entry family, this is a non-overloaded candidate interpretation,
and possible primitive operations of the type must not be
examined.

2011-09-27  Arnaud Charlet  <charlet@adacore.com>

* s-taspri-posix-noaltstack.ads (Lock): Mark fields aliased.

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

12 years ago2011-09-27 Pascal Obry <obry@adacore.com>
charlet [Tue, 27 Sep 2011 09:48:14 +0000 (09:48 +0000)]
2011-09-27  Pascal Obry  <obry@adacore.com>

* s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads,
s-osinte-irix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads:
Add dummy definitions for pthread_rwlock_t
and pthread_rwlockattr_t on all POSIX platforms.
* s-taprop-irix.adb, s-taprop-posix.adb (Initialize_Lock): Fix lock
reference.
(Finalize_Lock): Likewise.
(Write_Lock): Likewise.
(Unlock): Likewise.

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

* s-tassta.adb (Task_Wrapper): Increase Guard_Page_Size value for
windows 64.

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

12 years ago2011-09-27 Pascal Obry <obry@adacore.com>
charlet [Tue, 27 Sep 2011 09:45:00 +0000 (09:45 +0000)]
2011-09-27  Pascal Obry  <obry@adacore.com>

* s-osinte-hpux.ads, s-taprop-vxworks.adb, s-taspri-vxworks.ads,
s-taprop-tru64.adb, s-osinte-aix.ads, s-taspri-posix-noaltstack.ads,
s-taspri-mingw.ads, s-taprop-vms.adb, s-tpoben.adb, s-tpoben.ads,
s-taprop-mingw.adb, s-taprob.adb, s-taprob.ads,
s-osinte-solaris-posix.ads, s-taprop-solaris.adb, s-taspri-solaris.ads,
s-osinte-irix.ads, s-taprop-irix.adb, s-osinte-darwin.ads,
s-taspri-dummy.ads, s-taspri-posix.ads, s-taprop.ads,
s-taspri-vms.ads, s-osinte-freebsd.ads, s-taprop-hpux-dce.adb,
s-taspri-hpux-dce.ads, s-taspri-tru64.ads, s-taprop-dummy.adb,
s-taprop-posix.adb: Revert previous changes.
(Lock): Now a record containing the two possible lock
(mutex and read/write) defined in OS_Interface.
* s-taprop-linux.adb (Finalize_Protection): Use r/w lock for
'R' locking policy.
(Initialize_Protection): Likewise.
(Lock): Likewise.
(Lock_Read_Only): Likewise.
(Unlock): Likewise.

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

12 years ago2011-09-27 Pascal Obry <obry@adacore.com>
charlet [Tue, 27 Sep 2011 09:37:53 +0000 (09:37 +0000)]
2011-09-27  Pascal Obry  <obry@adacore.com>

* s-taspri-posix-noaltstack.ads (RW_Lock): This type is now defined as
OS_Interface.pthread_rwlock_t.

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

* exp_ch9.adb, a-cimutr.adb, a-cimutr.ads, gnat1drv.adb, a-comutr.adb,
a-comutr.ads, exp_dist.adb, a-cbmutr.adb, a-cbmutr.ads,
sem_ch5.adb, sem_util.adb: Minor reformatting.

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

12 years ago2011-09-27 Pascal Obry <obry@adacore.com>
charlet [Tue, 27 Sep 2011 09:33:30 +0000 (09:33 +0000)]
2011-09-27  Pascal Obry  <obry@adacore.com>

* s-taprop.ads (Initialize_Lock)[RW_Lock]: New spec for r/w lock.
(Finalize_Lock)[RW_Lock]: Likewise.
(Write_Lock)[RW_Lock]: Likewise.
(Unlock)[RW_Lock]: Likewise.
(Read_Lock): Define L as RW_Lock (instead of Lock).
* s-taprop-linux.adb (Initialize_Lock)[RW_Lock]: New
routine for r/w lock.
(Finalize_Lock)[RW_Lock]: Likewise.
(Write_Lock)[RW_Lock]: Likewise.
(Unlock)[RW_Lock]: Likewise.
(Read_Lock): Define L as RW_Lock (instead of Lock).

* s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
s-taprop-mingw.adb, s-taprop-solaris.adb, s-taprop-irix.adb,
s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-posix.adb
(Initialize_Lock)[RW_Lock]: Same implementation as corresponding
routine for standard lock.
(Finalize_Lock)[RW_Lock]: Likewise.
(Write_Lock)[RW_Lock]: Likewise.
(Unlock)[RW_Lock]: Likewise.
(Read_Lock): Define L as RW_Lock (instead of Lock).
* s-taprob.ads, s-tpoben.ads (Protection): Add RWL (RW_Lock)
in the record definition.
* s-taprob.adb, s-taproben.adb (Finalize_Protection): Use r/w
lock for 'R' locking policy.
(Initialize_Protection): Likewise.
(Lock): Likewise.
(Lock_Read_Only): Likewise.
(Unlock): Likewise.
* s-taspri-posix.ads (RW_Lock): New type defined as
OS_Interface.pthread_rwlock_t.

* s-taspri-vxworks.ads, s-taspri-posix-noaltstack.ads,
s-taspri-mingw.ads, s-taspri-solaris.ads, s-taspri-dummy.ads,
s-taspri-posix.ads, s-taspri-vms.ads, s-taspri-hpux-dce.ads,
s-taspri-tru64.ads (RW_Lock): New type defined as alias to Lock.

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

12 years ago2011-09-27 Pascal Obry <obry@adacore.com>
charlet [Tue, 27 Sep 2011 09:26:11 +0000 (09:26 +0000)]
2011-09-27  Pascal Obry  <obry@adacore.com>

* exp_ch9.adb, s-taspri-posix.ads: Minor reformatting.

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

* s-osinte-aix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads,
s-osinte-hpux.ads, s-osinte-irix.ads,
s-osinte-solaris-posix.ads (pthread_rwlock_t): New definition alias of
pthread_mutex_t.
(pthread_rwlockattr_t): New definition alias of pthread_mutexattr_t.
* s-osinte-linux.ads (pthread_rwlock_t, pthread_rwlockattr_t,
pthread_rwlockattr_init, pthread_rwlockattr_destroy,
pthread_rwlockattr_setkind_np, pthread_rwlock_init,
pthread_rwlock_destroy, pthread_rwlock_rdlock,
pthread_rwlock_wrlock, pthread_rwlock_unlock): New.

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

12 years ago2011-09-27 Pascal Obry <obry@adacore.com>
charlet [Tue, 27 Sep 2011 09:16:57 +0000 (09:16 +0000)]
2011-09-27  Pascal Obry  <obry@adacore.com>

* rtsfind.ads: Add RE_Lock_Read_Only into rtsfind circuitry.
(RE_Id): Add RE_Lock_Read_Only.
(RE_Unit_Table): Likewise.
* sem_prag.adb (Process_Convention): Change Pragma_Locking_Policy
to lift restriction on first character. Handle now the
Name_Concurrent_Readers_Locking where policy character is set to
'R'.
* snames.ads-tmpl (Name_Concurrent_Readers_Locking): New
constant.
* exp_ch9.adb (Build_Protected_Subprogram_Body): Generate a
read only lock for function in protected object.
* s-taprob.ads (Lock_Read_Only): Remove obsolete comment as
this routine is now used.

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

12 years ago2011-09-27 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 27 Sep 2011 08:53:08 +0000 (08:53 +0000)]
2011-09-27  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/50363
* tree-ssa-pre.c (create_expression_by_pieces): Handle
pointer conversions in POINTER_PLUS_EXPRs properly.

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

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

12 years agogcc/
rsandifo [Tue, 27 Sep 2011 08:27:31 +0000 (08:27 +0000)]
gcc/
* config/arm/neon.md (neon_vget_highv16qi, neon_vget_highv8hi)
(neon_vget_highv4si, neon_vget_highv4sf, neon_vget_highv2di)
(neon_vget_lowv16qi, neon_vget_lowv8hi, neon_vget_lowv4si)
(neon_vget_lowv4sf, neon_vget_lowv2di): Turn into define_expands
that produce subreg moves.  Define using VQX iterators.

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

12 years ago * config/avr/avr.md (ashrqi3): Split alternative "n"
gjl [Tue, 27 Sep 2011 08:08:16 +0000 (08:08 +0000)]
* config/avr/avr.md (ashrqi3): Split alternative "n"
into its remaining parts C03, C04, C05, C06, C07 and describe
impact in CC by attribute "cc" appropriately.
* config/avr/avr.c (notice_update_cc): Clean-up: Don't patch CC0
by digging RTX.

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

12 years ago * rtl.h (const_tiny_rtx): Change into array of 4 x MAX_MACHINE_MODE
jakub [Tue, 27 Sep 2011 07:29:21 +0000 (07:29 +0000)]
* rtl.h (const_tiny_rtx): Change into array of 4 x MAX_MACHINE_MODE
from 3 x MAX_MACHINE_MODE.
(CONSTM1_RTX): Define.
* emit-rtl.c (const_tiny_rtx): Change into array of 4 x MAX_MACHINE_MODE
        from 3 x MAX_MACHINE_MODE.
(gen_rtx_CONST_VECTOR): Use CONSTM1_RTX if all inner constants are
CONSTM1_RTX.
(init_emit_once): Initialize CONSTM1_RTX for MODE_INT and
MODE_VECTOR_INT modes.
* simplify-rtx.c (simplify_binary_operation_1) <case IOR, XOR, AND>:
Optimize if one operand is CONSTM1_RTX.
* config/i386/i386.c (ix86_expand_sse_movcc): Optimize mask ? -1 : x
into mask | x.

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

12 years ago2011-09-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
jye2 [Tue, 27 Sep 2011 06:03:58 +0000 (06:03 +0000)]
2011-09-27  Marcus Shawcroft  <marcus.shawcroft@arm.com>

* libsupc++/tinfo.cc (type_info::operator==): Test __name instead
of name().

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

12 years agoAdd explicit VIS intrinsics for addition and subtraction.
davem [Tue, 27 Sep 2011 03:56:50 +0000 (03:56 +0000)]
Add explicit VIS intrinsics for addition and subtraction.

gcc/

* config/sparc/sparc.c (sparc_vis_init_builtins): Add explicit
builtins for VIS vector addition and subtraction.
* config/sparc/visintrin.h (__vis_fpadd16, __vis_fpadd16s,
__vis_fpadd32, __vis_fpadd32s, __vis_fpsub16, __vis_fpsub16s,
__vis_fpsub32, __vis_fpsub32s): New.
* doc/extend.texi: Document new VIS intrinsics.

gcc/testsuite/

* gcc.target/sparc/fpaddsubi.c: New test.

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

12 years ago2011-09-26 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Tue, 27 Sep 2011 02:39:34 +0000 (02:39 +0000)]
2011-09-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/50529
* include/bits/vector.tcc (vector<>::erase(iterator, iterator)):
Fix to do nothing if the range is empty.
* include/bits/stl_bvector.h: Likewise.
* include/bits/deque.tcc: Likewise.
* include/debug/vector: Adjust.
* include/debug/deque: Likewise.
* testsuite/23_containers/vector/modifiers/erase/50529.cc: New.
* testsuite/23_containers/deque/modifiers/erase/50529.cc: Likewise.
* testsuite/23_containers/deque/modifiers/erase/3.cc: Adjust.

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

12 years agofix ChangeLog
jason [Tue, 27 Sep 2011 02:21:24 +0000 (02:21 +0000)]
fix ChangeLog

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

12 years ago PR c++/45102
jason [Tue, 27 Sep 2011 02:13:00 +0000 (02:13 +0000)]
PR c++/45102
* pt.c (tsubst_copy_and_build) [CONST_DECL]: Don't pull out
constant value if we're still in a template.

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

12 years ago PR c++/46105
jason [Tue, 27 Sep 2011 02:12:51 +0000 (02:12 +0000)]
PR c++/46105
* typeck.c (structural_comptypes): Ignore cv-quals on typename scope.

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

12 years ago PR c++/50508
jason [Tue, 27 Sep 2011 02:12:42 +0000 (02:12 +0000)]
PR c++/50508
* semantics.c (cxx_eval_logical_expression): Use tree_int_cst_equal
rather than ==.

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

12 years agoImprove code generation for edge and pixel-compare, specifically avoid
davem [Tue, 27 Sep 2011 02:10:10 +0000 (02:10 +0000)]
Improve code generation for edge and pixel-compare, specifically avoid
sign and zero extensions on 64-bit and allow such instructions to be
placed in delay slots.

gcc/

* config/sparc/sparc.md (edge{8,16,32}{,l}): Return Pmode.
(fcmp{le,ne,gt,eq}{16,32}): Likewise.
* config/sparc/visintrin.h: Update edge and pixel-compare
intrinsics to return 'long' instead of 'int'.
* doc/extend.texi: Update documentation to match.
* config/sparc/sparc.c (eligible_for_return_delay): When leaf or
flat, allow any instruction.  Otherwise, when V9 allow parallels
which consist only of sets to registers outside of %o0 to %o5.
(sparc_vis_init_builtins): Update VIS builtin types for edge
and pixel-compare.

gcc/testsuite/

* gcc.target/sparc/edge.c: Update for new return types.
* gcc.target/sparc/fcmp.c: Likewise.

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

12 years ago/cp
paolo [Tue, 27 Sep 2011 01:56:17 +0000 (01:56 +0000)]
/cp
2011-09-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/45487
* error.c (dump_template_bindings): Separate bindings with semicolons
instead of commas.

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

PR c++/45487
* g++.dg/diagnostic/bindings1.C: New.
* g++.old-deja/g++.pt/memtemp77.C: Adjust.

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

12 years agoDaily bump.
gccadmin [Tue, 27 Sep 2011 00:18:54 +0000 (00:18 +0000)]
Daily bump.

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

12 years ago2011-09-26 Benjamin Kosnik <bkoz@redhat.com
bkoz [Tue, 27 Sep 2011 00:02:54 +0000 (00:02 +0000)]
2011-09-26  Benjamin Kosnik  <bkoz@redhat.com
            Jonathan Wakely  <jwakely.gcc@gmail.com>

PR libstdc++/48698
* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Set libtool_VERSION here.
* configure.ac: Move AC_SUBST of libtool_VERSION past call to
GLIBCXX_ENABLE_SYMVERS.
* configure: Regenerate.
* include/bits/c++config: Use __7 as versioned namespace name.
* config/abi/pre/gnu-versioned-namespace.ver: Change mangling as
per above.
* include/c_global/cwchar: Adjust nested namespaces.
* testsuite/20_util/bind/48698.cc: Add test case.
* testsuite/ext/profile/mutex_extensions_neg.cc: Change line number.

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

12 years ago PR lto/47247
ccoutant [Mon, 26 Sep 2011 23:32:13 +0000 (23:32 +0000)]
PR lto/47247
* plugin-api.h (enum ld_plugin_symbol_resolution): Add
LDPR_PREVAILING_DEF_IRONLY_EXP.
(enum ld_plugin_tag): Add LDPT_GET_SYMBOLS_V2.

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

12 years agoPass $(MATH_LIBS) $(NET_LIBS) when linking tests.
ian [Mon, 26 Sep 2011 22:33:31 +0000 (22:33 +0000)]
Pass $(MATH_LIBS) $(NET_LIBS) when linking tests.

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

12 years agoFix sysinfo.go on systems which don't need to import "unsafe".
ian [Mon, 26 Sep 2011 21:49:08 +0000 (21:49 +0000)]
Fix sysinfo.go on systems which don't need to import "unsafe".

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

12 years agoAdd rdgsr, edge, and pixel-compare VIS tests.
davem [Mon, 26 Sep 2011 21:09:06 +0000 (21:09 +0000)]
Add rdgsr, edge, and pixel-compare VIS tests.

gcc/testsuite/

* gcc.target/sparc/rdgsr.c: New test.
* gcc.target/sparc/edge.c: New test.
* gcc.target/sparc/fcmp.c: New test.

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

12 years agoFix sparc %gsr write elimination and add a testcase.
davem [Mon, 26 Sep 2011 20:21:19 +0000 (20:21 +0000)]
Fix sparc %gsr write elimination and add a testcase.

gcc/

* config/sparc/sparc.c (sparc_conditional_register_usage): When VIS
is enabled, mark %gsr as global.
* config/sparc/sparc.md (UNSPEC_WRGSR): Delete.
(wrgsr_vis, *wrgsr_sp64, wrgsr_v8plus): Don't wrap in an unspec.

gcc/testsuite/

* gcc.target/sparc/wrgsr.c: New test.

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

12 years ago2011-09-26 Janus Weil <janus@gcc.gnu.org>
janus [Mon, 26 Sep 2011 20:05:43 +0000 (20:05 +0000)]
2011-09-26  Janus Weil  <janus@gcc.gnu.org>

PR fortran/50515
* resolve.c (resolve_common_blocks): Check for EXTERNAL attribute.

PR fortran/50517
* interface.c (gfc_compare_interfaces): Bugfix in check for result type.

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

PR fortran/50515
* gfortran.dg/common_15.f90: New.

PR fortran/50517
* gfortran.dg/dummy_procedure_5.f90: New.
* gfortran.dg/interface_26.f90: Modified error message.
* gfortran.dg/proc_ptr_11.f90: Ditto.
* gfortran.dg/proc_ptr_15.f90: Ditto.
* gfortran.dg/proc_ptr_comp_20.f90: Ditto.
* gfortran.dg/proc_ptr_result_5.f90: Ditto.

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

12 years agoFix location of error about unused import "unsafe".
ian [Mon, 26 Sep 2011 19:36:06 +0000 (19:36 +0000)]
Fix location of error about unused import "unsafe".

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

12 years agoMove target CPP macro handling to C file and add __VIS/__VIS__.
davem [Mon, 26 Sep 2011 19:04:35 +0000 (19:04 +0000)]
Move target CPP macro handling to C file and add __VIS/__VIS__.

* config/sparc/sparc-c.c: New file implementing sparc_target_macros,
which will now define __VIS and __VIS__ when -mvis is enabled.
* config/sparc/t-sparc: Likewise.
* config.gcc: Add sparc-c.o to c_target_objs and cxx_target_objs,
and add t-sparc to tmake_file for all sparc targets.
* config/sparc/sparc-protos.h (sparc_target_macros): Declare.
* config/sparc/sparc.h (TARGE_CPU_CPP_BUILTINS): Call it.

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

12 years ago PR c++/50512
jason [Mon, 26 Sep 2011 17:55:04 +0000 (17:55 +0000)]
PR c++/50512
* call.c (compare_ics): Only consider rvaluedness_matches_p
if the target type is the same or it too differs in rvalueness.

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

12 years ago * config/avr/avr.md (peephole casesi+2): Use -1 instead of 65536.
gjl [Mon, 26 Sep 2011 16:55:55 +0000 (16:55 +0000)]
* config/avr/avr.md (peephole casesi+2): Use -1 instead of 65536.
* config/avr/avr.c (avr_out_compare): Print shorter sequence for
EQ/NE comparisons against +/-1 in the case of unused-after,
non-ld-regs target.

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

12 years ago * gimple-fold.c (gimplify_and_update_call_from_tree): Set
jakub [Mon, 26 Sep 2011 16:19:55 +0000 (16:19 +0000)]
* gimple-fold.c (gimplify_and_update_call_from_tree): Set
gctx.into_ssa after push_gimplify_context.

* gimple.c (gimple_build_call_valist): New function.
* gimple.h (gimple_build_call_valist): New prototype.
* tree-ssa-propagate.c (finish_update_gimple_call): New function.
(update_gimple_call): Likewise.
(update_call_from_tree): Use finish_update_gimple_call.
* tree-ssa-propagate.h (update_gimple_call): New prototype.

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

12 years ago PR c++/50523
jason [Mon, 26 Sep 2011 15:47:17 +0000 (15:47 +0000)]
PR c++/50523
* call.c (implicit_conversion): Mask out inappropriate LOOKUP
flags at the top of the function.

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

12 years ago * pt.c (tsubst_copy) [PARM_DECL]: Handle 'this' in NSDMI.
jason [Mon, 26 Sep 2011 14:26:56 +0000 (14:26 +0000)]
* pt.c (tsubst_copy) [PARM_DECL]: Handle 'this' in NSDMI.

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

12 years ago/cp
paolo [Mon, 26 Sep 2011 13:58:47 +0000 (13:58 +0000)]
/cp
2011-09-26  Paolo Carlini  <paolo.carlini@oracle.com>

* pt.c (convert_nontype_argument): Handle NULLPTR_TYPE.

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

* g++.dg/cpp0x/nullptr25.C: New.

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

12 years ago2011-09-26 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 26 Sep 2011 13:51:52 +0000 (13:51 +0000)]
2011-09-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/26747
* cp-gimplify.c (get_bc_label): Remove obsolete diagnostics.

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

12 years ago2011-09-26 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 26 Sep 2011 12:58:35 +0000 (12:58 +0000)]
2011-09-26  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/50472
* gimple-fold.c (fold_const_aggregate_ref_1): Do not fold
volatile references.

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

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

12 years ago2011-09-26 Bingfeng Mei <bmei@broadcom.com>
meibf [Mon, 26 Sep 2011 12:46:09 +0000 (12:46 +0000)]
2011-09-26  Bingfeng Mei <bmei@broadcom.com>
* doc/tm.texi: Correct documentation for TARGET_ADDR_SPACE_SUBSET_P.
* target.def: (addr_space_subset_p): Likewise.

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

12 years ago2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
vries [Mon, 26 Sep 2011 12:41:17 +0000 (12:41 +0000)]
2011-09-26  Eric Botcazou  <ebotcazou@adacore.com>

* gnat.dg/opt22.adb: New test.
* gnat.dg/opt22_pkg.ad[sb]: New helper.

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

12 years ago2011-09-26 Tom de Vries <tom@codesourcery.com>
vries [Mon, 26 Sep 2011 12:36:56 +0000 (12:36 +0000)]
2011-09-26  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-alias.h (pt_solution_singleton_p): Declare.
* tree-ssa-structalias.c (pt_solution_singleton_p): New function.
* tree-ssa-ccp.c (fold_builtin_alloca_for_var): Set points-to solution
of new var.

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

12 years ago2011-09-26 Tristan Gingold <gingold@adacore.com>
gingold [Mon, 26 Sep 2011 12:12:51 +0000 (12:12 +0000)]
2011-09-26  Tristan Gingold  <gingold@adacore.com>

* inclhack.def (ms_define_can_use_extern_prefix):
(vms_use_pragma_extern_model, vms_disable_decc_string_builtins):
New fixes.
* fixincl.x: Regenerate.
* tests/base/rtldef/string.h: New test.
* tests/base/rtldef/decc$types.h: Likewise.
* tests/base/testing.h: Update

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

12 years ago PR target/50465
gjl [Mon, 26 Sep 2011 11:53:40 +0000 (11:53 +0000)]
PR target/50465
* config/avr/avr-protos.h (output_reload_insisf): Don't pass insn.
* config/avr/avr.md (*reload_insi, *reload_insf): Change call to
output_reload_insisf.
(adjust_len): Set default to "no".
Remove alternative "yes".  Add alternatives: "mov8", "mov16",
"mov32", "ashlqi", "ashrqi", "lshrqi", "ashlhi", "ashrhi",
"lshrhi", "ashlsi, "ashrsi", "lshrsi".
(*movqi, *movhi, *movsi, *ashlqi3, ashlhi3, ashlsi3,
*ashlhi3_const, *ashlsi3_const, ashrqi3, ashrhi3, ashrsi3,
*ashrhi3_const, *ashrsi3_const, *lshrqi3, lshrhi3, *lshrhi3_const,
*lshrsi3_const): Set attribute "adjust_len".
* config/avr/avr.c (output_reload_insisf): Remove parameter "insn".
(output_movsisf): Don't pass insn to output_reload_insisf.
(adjust_insn_length): Handle new alternatives to adjust_len.
Remove handling of ADJUST_LEN_YES.  Clean-up code.

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

12 years agoFix oversight
ebotcazou [Mon, 26 Sep 2011 11:43:08 +0000 (11:43 +0000)]
Fix oversight

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

12 years agoRestore Ada bootstrap on Solaris 8, 9/x86
ro [Mon, 26 Sep 2011 10:54:33 +0000 (10:54 +0000)]
Restore Ada bootstrap on Solaris 8, 9/x86

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

12 years ago * ifcvt.c (noce_try_cmove_arith): Use may_trap_or_fault_p in lieu of
ebotcazou [Mon, 26 Sep 2011 09:49:02 +0000 (09:49 +0000)]
* ifcvt.c (noce_try_cmove_arith): Use may_trap_or_fault_p in lieu of
may_trap_p to detect loads that may trap of fault.

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

12 years ago * gcc-interface/utils2.c (build_allocator): Set TREE_THIS_NOTRAP on the
ebotcazou [Mon, 26 Sep 2011 09:21:01 +0000 (09:21 +0000)]
* gcc-interface/utils2.c (build_allocator): Set TREE_THIS_NOTRAP on the
dereference of the pointer to the storage area.  Remove useless type
conversions and factor out common code.

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

12 years ago * gcc-interface/utils.c (maybe_unconstrained_array): Declare TYPE local
ebotcazou [Mon, 26 Sep 2011 09:03:52 +0000 (09:03 +0000)]
* gcc-interface/utils.c (maybe_unconstrained_array): Declare TYPE local
variable and use it throughout.
<UNCONSTRAINED_ARRAY_TYPE>: Add 'break' at the end.
<RECORD_TYPE>: Do not unconditionally convert to the unpadded type as a
first step.  Also convert to the unpadded type as a last step.

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

12 years ago * gcc-interface/gigi.h (create_subprog_decl): Replace TREE_CHAIN with
ebotcazou [Mon, 26 Sep 2011 08:50:16 +0000 (08:50 +0000)]
* gcc-interface/gigi.h (create_subprog_decl): Replace TREE_CHAIN with
DECL_CHAIN in comment.
* gcc-interface/trans.c (gigi): Likewise.
(Attribute_to_gnu): Likewise.
(build_function_stub): Likewise.
(gnat_to_gnu): Likewise.
* gcc-interface/utils.c (create_subprog_decl): Likewise.
(convert_vms_descriptor64): Likewise.
(convert_vms_descriptor32): Likewise.

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

12 years ago * gcc-interface/trans.c (assoc_to_constructor): Minor tweaks.
ebotcazou [Mon, 26 Sep 2011 08:45:36 +0000 (08:45 +0000)]
* gcc-interface/trans.c (assoc_to_constructor): Minor tweaks.
* gcc-interface/utils2.c (build_simple_component_ref): Fix formatting
issues.  Use COMPLETE_TYPE_P in assertion.  Also set TREE_READONLY if
the type of the record is TYPE_READONLY.

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

12 years ago * sem_ch6.adb (Set_Formal_Mode): Set Can_Never_Be_Null on an IN or IN
ebotcazou [Mon, 26 Sep 2011 08:37:32 +0000 (08:37 +0000)]
* sem_ch6.adb (Set_Formal_Mode): Set Can_Never_Be_Null on an IN or IN
OUT formal parameter which is of an null-exclusion access subtype.

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

12 years ago * gcc-interface/ada-tree.h (DECL_CAN_NEVER_BE_NULL_P): New macro.
ebotcazou [Mon, 26 Sep 2011 08:26:37 +0000 (08:26 +0000)]
* gcc-interface/ada-tree.h (DECL_CAN_NEVER_BE_NULL_P): New macro.
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Set the flag.
(gnat_to_gnu_param): Likewise.
* gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Invoke
maybe_unconstrained_array instead of doing the work manually.
(maybe_unconstrained_array): Propagate the TREE_THIS_NOTRAP flag.
* gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: If operand
is a DECL with the flag, set TREE_THIS_NOTRAP on the reference.
(gnat_stabilize_reference_1): Propagate the TREE_THIS_NOTRAP flag.
(gnat_stabilize_reference): Likewise.

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

12 years ago * config/avr/avr-protos.h (output_reload_inhi): Change prototype.
gjl [Mon, 26 Sep 2011 08:14:25 +0000 (08:14 +0000)]
* config/avr/avr-protos.h (output_reload_inhi): Change prototype.
* config/avr/avr.md (adjust_len): Add "reload_in16" alternative.
(*reload_inhi): Use it.  Adapt call to output_reload_inhi to new
prototype.
(*movhi): Split constraint alternative "r,rL" into "r,r" and "r,L".
* config/avr/avr.c: Rename output_reload_insisf_1 to
output_reload_in_const.
(avr_popcount_each_byte): Handle SFmode, too.
(output_reload_in_const): Change so it can handle HI loads, too.
Use avr_popcount_each_byte to work out if scratch register must be
created on the fly.
(output_reload_inhi): Rewrite using output_reload_in_const and...
(output_movhi): ...use it to print constants' loads.
(adjust_insn_length): New case ADJUST_LEN_RELOAD_IN16. Cleanup code.

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

12 years ago * gcc-interface/ada-tree.h (TYPE_NULL_BOUNDS): New macro.
ebotcazou [Mon, 26 Sep 2011 07:52:58 +0000 (07:52 +0000)]
* gcc-interface/ada-tree.h (TYPE_NULL_BOUNDS): New macro.
(SET_TYPE_NULL_BOUNDS): Likewise.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Set again
TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template.
* gcc-interface/trans.c (Identifier_to_gnu): Return initializers of fat
pointer types.
* gcc-interface/utils.c (create_var_decl_1): If the object is external,
check that the initializer is a valid constant expression for use in
initializing a static variable.  Add missing guard.
(update_pointer_to): Adjust TYPE_NULL_BOUNDS if set.
(convert_to_fat_pointer): In the null fat pointer case, build a valid
pointer for the bounds.
* gcc-interface/utils2.c (compare_fat_pointers): New function.
(build_binary_op) <EQ_EXPR>: Call it to compare fat pointers.

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

12 years ago * parser.c (inject_this_parameter): Split out from
jason [Mon, 26 Sep 2011 03:56:10 +0000 (03:56 +0000)]
* parser.c (inject_this_parameter): Split out from
cp_parser_late_return_type_opt.
(cp_parser_class_specifier_1): Use it for NSDMIs.
* tree.c (bot_replace): Replace NSDMI 'this' with real 'this'.

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

12 years agoDaily bump.
gccadmin [Mon, 26 Sep 2011 00:19:12 +0000 (00:19 +0000)]
Daily bump.

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

12 years agoAdd support for floating-point fused multiply-add on Sparc.
davem [Sun, 25 Sep 2011 21:28:51 +0000 (21:28 +0000)]
Add support for floating-point fused multiply-add on Sparc.

* configure.ac: Add feature check to make sure the assembler
supports the FMAF, HPC, and VIS 3.0 instructions found on
Niagara-3 and later cpus.
* configure: Rebuild.
* config.in: Likewise.
* config/sparc/sparc.opt: New option '-mfmaf'.
* config/sparc/sparc.md: Add float fused multiply-add patterns.
* config/sparc/sparc.h (AS_NIAGARA3_FLAG): New macro.
(ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC): Use it, as needed.
* config/sparc/sol2.h (ASM_CPU32_DEFAULT_SPEC,
ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC): Likewise.
* config/sparc/sparc.c (sparc_option_override): Turn MASK_FMAF on
by default for Niagara-3 and later.  Turn it off if TARGET_FPU is
disabled.
(sparc_rtx_costs): Handle 'FMA'.
* doc/invoke.texi: Document -mfmaf.

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

12 years agoGenerate 'fone' and 'fones' sparc instructions when possible.
davem [Sun, 25 Sep 2011 21:03:53 +0000 (21:03 +0000)]
Generate 'fone' and 'fones' sparc instructions when possible.

* config/sparc/constraints.md (C, P, Z): New constraints for
const_doube, const_int, and const_vector "all ones" values.
Make unused constraint letters comment match reality.
* config/sparc/predicates.md (const_all_ones_operand,
register_or_zero_or_all_ones_operand): New predicates.
* config/sparc/sparc.c (sparc_expand_move): Allow all ones
as well as zero constants when VIS.
(sparc_legitimate_constant_p): Likewise.
* config/sparc/sparc.md (movsi_insn): Add fones alternative.
(movsf_insn): Likewise
(movdi_insn_sp64): Add fone alternative.
(movdf_insn_sp32_v9): Likewise.
(movdf_insn_sp64): Likewise.

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

12 years ago2011-09-25 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sun, 25 Sep 2011 20:58:46 +0000 (20:58 +0000)]
2011-09-25  Paolo Carlini  <paolo.carlini@oracle.com>

Revert (no longer necessary post r179130):

2010-04-27  Fabien ChĂȘne  <fabien.chene@gmail.com>

* testsuite/util/testsuite_error.h: Add empty default constructor
to __gnu_test::test_category and
__gnu_test::test_derived_category.
* src/future.cc: Add empty default constructor to
future_error_category.
* src/system_error.cc: Add default ctor to generic_error_category
and system_error_category.

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

12 years ago * gcc-interface/ada-tree.h (TREE_THIS_NOTRAP): Redefine.
ebotcazou [Sun, 25 Sep 2011 20:40:10 +0000 (20:40 +0000)]
* gcc-interface/ada-tree.h (TREE_THIS_NOTRAP): Redefine.
* gcc-interface/trans.c (Identifier_to_gnu): Factor out common code in
the by-ref case.  Do not set TREE_READONLY on a renamed object.  Set
TREE_THIS_NOTRAP on UNCONSTRAINED_ARRAY_REF nodes.
(Attribute_to_gnu) <Attr_Length>: Expand the use of the parameter cache
to the indirect case.
* gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Preserve
the TREE_THIS_NOTRAP flag.

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

12 years ago * gcc-interface/trans.c (Loop_Statement_to_gnu): In the case of an
ebotcazou [Sun, 25 Sep 2011 20:27:37 +0000 (20:27 +0000)]
* gcc-interface/trans.c (Loop_Statement_to_gnu): In the case of an
iteration scheme, always generate the do-while form if optimization
is enabled.  Use more straightforward test at the end.

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

12 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Subtype>: Use
ebotcazou [Sun, 25 Sep 2011 20:15:10 +0000 (20:15 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Subtype>: Use
XNEW instead of xmalloc.  Do not build useless pointer type.
<E_Anonymous_Access_Subprogram_Type>: Use XNEW instead of xmalloc.
* gcc-interface/trans.c (gnat_to_gnu) <N_Raise_Constraint_Error>: Tidy.
* gcc-interface/utils2.c (build_unary_op): Remove local variable.

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

12 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not promote
ebotcazou [Sun, 25 Sep 2011 15:42:00 +0000 (15:42 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not promote
the alignment if this doesn't prevent BLKmode access to the object.

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

12 years ago * tree-ssa-structalias.c (intra_create_variable_infos): Treat
jakub [Sun, 25 Sep 2011 15:03:56 +0000 (15:03 +0000)]
* tree-ssa-structalias.c (intra_create_variable_infos): Treat
TYPE_RESTRICT REFERENCE_TYPE parameters like restricted
DECL_BY_REFERENCE parameters.

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

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

12 years ago * tree-eh.c (cleanup_empty_eh): Allow a call to __builtin_stack_restore
ebotcazou [Sun, 25 Sep 2011 14:55:12 +0000 (14:55 +0000)]
* tree-eh.c (cleanup_empty_eh): Allow a call to __builtin_stack_restore
if there is no outgoing edge.

* tree-scalar-evolution.c (simple_iv): Accept all kinds of pointer and
integral types.

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

12 years ago * tree-vect-slp.c (vect_slp_analyze_bb_1): Split out core part
irar [Sun, 25 Sep 2011 12:33:03 +0000 (12:33 +0000)]
    * tree-vect-slp.c (vect_slp_analyze_bb_1): Split out core part
        of vect_analyze_bb here.
        (vect_analyze_bb): Loop over vector sizes calling
        vect_analyze_bb_1.

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

12 years ago2011-09-25 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sun, 25 Sep 2011 10:43:00 +0000 (10:43 +0000)]
2011-09-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50280
* g++.dg/template/bitfield1.C: New.

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

12 years ago * tree-data-ref.c (dr_analyze_innermost): Add new argument.
irar [Sun, 25 Sep 2011 09:21:42 +0000 (09:21 +0000)]
    * tree-data-ref.c (dr_analyze_innermost): Add new argument.
        Allow not simple iv if analyzing basic block.
        (create_data_ref): Update call to dr_analyze_innermost.
        (stmt_with_adjacent_zero_store_dr_p, ref_base_address):
        Likewise.
        * tree-loop-distribution.c (generate_memset_zero): Likewise.
        * tree-predcom.c (find_looparound_phi): Likewise.
        * tree-data-ref.h (dr_analyze_innermost): Add new argument.

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

12 years agoTeach sparc backend about %gsr register and add intrinsics to access it.
davem [Sun, 25 Sep 2011 02:29:23 +0000 (02:29 +0000)]
Teach sparc backend about %gsr register and add intrinsics to access it.

* config/sparc/sparc.h (FIRST_PSEUDO_REGISTER): Bump to 103.
(SPARC_GSR_REG): Define.
(FIXED_REGISTERS): Mark GSR as fixed.
(CALL_USED_REGISTERS): Mark GSR as call used.
(HARD_REGNO_NREGS): GSR is always 1 register.
(REG_CLASS_CONTENTS): Add GSR to ALL_REGS.
(REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER): Add GSR to the end.
(REGISTER_NAMES): Add "%gsr".
* config/sparc/sparc.md (UNSPEC_ALIGNADDR, UNSPEC_ALIGNADDRL):
Delete.
(UNSPEC_WRGSR): New unspec.
(GSR_REG): New constant.
(type): Add new insn type 'gsr'.
(fpack16_vis, fpackfix_vis, fpack32_vis,
faligndata<V64I:MODE>_vis)): Add use of GSR_REG.
(wrgsr_vis, *wrgsr_sp64, wrgsr_v8plus, rdgsr_vis, *rdgsr_sp64,
rdgsr_v8plus): New expanders and insns.
(alignaddr<P:mode>_vis, alignaddrl<P:mode>_vis): Reimplement
using patterns which show that this is a plus in addition to a
modification of GSR_REG, instead of an unspec.
* config/sparc/ultra1_2.md: Handle 'gsr'.
* config/sparc/ultra3.md: Likewise.
* config/sparc/niagara.md: Likewise.
* config/sparc/niagara2.md: Likewise.
* config/sparc/sparc.c (leaf_reg_remap, sparc_leaf_regs): Fill out
end of table.
(sparc_option_override): Make -mvis imply -mv8plus.
(hard_32bit_mode_classes, hard_64bit_mode_classes): Add entries
for %gsr.
(sparc_vis_init_builtins): Build __builtin_vis_write_gsr and
__builtin_vis_read_gsr.
(sparc_expand_buildin): Handle builtins that take one argument and
return void.
(sparc_fold_builtin): Never fold writes to %gsr.
* config/sparc/visintrin.h (__vis_write_gsr, __vis_read_gsr): New.
* doc/extend.texi: Document new VIS intrinsics.

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

12 years ago * except.c (expr_noexcept_p): Split out from finish_noexcept_expr.
jason [Sun, 25 Sep 2011 02:26:21 +0000 (02:26 +0000)]
* except.c (expr_noexcept_p): Split out from finish_noexcept_expr.
* cp-tree.h: Declare it.
* method.c (walk_field_subobs): Use it.

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

12 years ago * init.c (perform_member_init): Instantiate NSDMI here.
jason [Sun, 25 Sep 2011 02:26:08 +0000 (02:26 +0000)]
* init.c (perform_member_init): Instantiate NSDMI here.
* pt.c (tsubst_decl) [FIELD_DECL]: Not here.

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

12 years ago Handle deferred parsing of NSDMIs.
jason [Sun, 25 Sep 2011 02:26:01 +0000 (02:26 +0000)]
Handle deferred parsing of NSDMIs.
* parser.h (cp_unparsed_functions_entry): Add nsdmis field.
* parser.c (unparsed_nsdmis, cp_parser_save_nsdmi): New.
(cp_parser_late_parse_one_default_arg): Split out from
cp_parser_late_parsing_default_args.
(cp_parser_late_parsing_nsdmi): New.
(push_unparsed_function_queues): Set it.
(cp_parser_parameter_declaration): Save the '=' token.
(cp_parser_template_parameter): Likewise.
(cp_parser_default_argument): Call cp_parser_initializer
rather than cp_parser_initializer_clause.
(cp_parser_class_specifier_1): Parse unparsed_nsdmis.
(cp_parser_member_declaration): Handle nsdmis.
* decl2.c (grokfield): Handle DEFAULT_ARG for a function.

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