platform/upstream/linaro-gcc.git
9 years ago * gcc-interface/gigi.h (create_var_decl_1): Rename into...
ebotcazou [Fri, 26 Jun 2015 10:17:00 +0000 (10:17 +0000)]
* gcc-interface/gigi.h (create_var_decl_1): Rename into...
(create_var_decl): ...this.  Add default value for last parameter.
(create_type_stub_decl): Adjust.
(create_type_decl): Likewise.
(create_field_decl): Likewise.
(create_param_decl): Likewise.
(create_label_decl): Likewise.
(create_subprog_decl): Likewise.
* gcc-interface/utils.c (create_var_decl_1): Rename into...
(create_var_decl): ...this.  Rename var_name into name and var_init
into init, move const_decl_allowed_p last and adjust accordingly.
(create_type_stub_decl): Rename type_name into name and adjust.
(create_type_decl): Likewise.
(create_field_decl): Likewise for field_name and field_type.
(create_param_decl): Likewise for param_name and param_type.
(create_label_decl): Likewise for label_name.
(create_subprog_decl): Likewise for subprog_name and subprog_type.
* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust couple of calls
to create_var_decl_1.

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

9 years ago * match.pd ((x | y) & ~(x & y) -> x ^ y,
mpolacek [Fri, 26 Jun 2015 10:13:49 +0000 (10:13 +0000)]
* match.pd ((x | y) & ~(x & y) -> x ^ y,
(x | y) & (~x ^ y) -> x & y): New patterns.

* gcc.dg/fold-and-1.c: New test.
* gcc.dg/fold-and-2.c: New test.

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

9 years agogcc/
rsandifo [Fri, 26 Jun 2015 10:06:56 +0000 (10:06 +0000)]
gcc/
* rtl.h (emit): Add an optional boolean parameter to control
whether barriers are emitted.
* emit-rtl.c (emit): Likewise.
* gensupport.c (get_emit_function): Return null rather than "emit".
* genemit.c (gen_emit_seq): Handle the null return value.
Don't emit barriers after the final instruction in the sequence.
* gentarget-def.c (main): Don't emit barriers after the instruction.

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

9 years ago * cp-array-notation.c (expand_sec_reduce_builtin): Use INDIRECT_REF_P.
mpolacek [Fri, 26 Jun 2015 10:03:35 +0000 (10:03 +0000)]
* cp-array-notation.c (expand_sec_reduce_builtin): Use INDIRECT_REF_P.
* cp-ubsan.c (cp_ubsan_check_member_access_r): Likewise.

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

9 years ago * gcc-interface/trans.c (loop_info_d): Add low_bound, high_bound,
ebotcazou [Fri, 26 Jun 2015 10:03:22 +0000 (10:03 +0000)]
* gcc-interface/trans.c (loop_info_d): Add low_bound, high_bound,
artificial, has_checks and warned_aggressive_loop_optimizations.
(gigi): Set warn_aggressive_loop_optimizations to 0.
(inside_loop_p): New inline predicate.
(push_range_check_info): Rename into...
(find_loop_for): ...this and do not push range_check_info_d object.
(Loop_Statement_to_gnu): Set artificial, low_bound and high_bound
fields of gnu_loop_info.  Adjust detection of checks enabled by
-funswitch-loops and adds one for -faggressive-loop-optimizations.
(gnat_to_gnu) <N_Indexed_Component>: If aggressive loop optimizations
are enabled, warn for loops overrunning an array of size 1 not at the
end of a record.

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

9 years ago[Patch ARM] Fix thinko in use of TARGET_UNIFIED_ASM
ramana [Fri, 26 Jun 2015 09:08:03 +0000 (09:08 +0000)]
[Patch ARM] Fix thinko in use of TARGET_UNIFIED_ASM

While paving the way to turn on unified syntax in ARM state I came
across this use of TARGET_UNIFIED_ASM that really doesn't make sense.

The idea that pop has different encoding sizes is a property of the
Thumb instruction set rather than a property of which form of unified
syntax was used. I still have quite a large patch set for the unified
asm switch but it seems useful to get this one out of the way to catch
any other issues.

Tested with an appropriate set of multilibs on arm-none-eabi /
applied. Bootstrapped on armhf.

Applied to trunk.

2015-06-26  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* config/arm/arm.c (arm_output_multireg_pop): Fix use of
TARGET_UNIFIED_ASM.

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

9 years ago * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
mpolacek [Fri, 26 Jun 2015 08:07:23 +0000 (08:07 +0000)]
* c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.

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

9 years ago2015-06-26 Richard Biener <rguenther@suse.de>
rguenth [Fri, 26 Jun 2015 07:50:12 +0000 (07:50 +0000)]
2015-06-26  Richard Biener  <rguenther@suse.de>

* match.pd: Allow associating FLOAT_TYPE_P when flag_associative_math.

* gfortran.dg/reassoc_3.f90: Adjust.

2015-06-26  Richard Biener  <rguenther@suse.de>

* match.pd: Allow (p +p off1) +p off2 to (p +p (off1 + off2))
irrespective on whether the inner operation has a single use
of both off are constant.

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

9 years ago PR target/66412
uros [Fri, 26 Jun 2015 07:45:07 +0000 (07:45 +0000)]
PR target/66412
* config/i386/i386.md (various splitters): Use shallow_copy_rtx
before doing PUT_MODE or PUT_CODE on operands to avoid
in-place RTX modification.

testsuite/ChangeLog:

PR target/66412
* gcc.target/i386/pr66412.c: New test.

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

9 years agoCast return of strtol to unsigned int
hjl [Fri, 26 Jun 2015 02:35:12 +0000 (02:35 +0000)]
Cast return of strtol to unsigned int

strtol returns long, which is compared against unsigned int.  On 32-bit
hosts, it leads to

gcc/gentarget-def.c: In function void def_target_insn(const char*, const char*):
gcc/gentarget-def.c:88:34: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]

This patch casts return of strtol to unsigned int to avoid the error.

* gentarget-def.c (def_target_insn): Cast return of strtol to
unsigned int.

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

9 years agoDaily bump.
gccadmin [Fri, 26 Jun 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago2015-06-25 Andrew MacLeod <amacleod@redhat.com>
amacleod [Thu, 25 Jun 2015 23:45:50 +0000 (23:45 +0000)]
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* gimple.h (gimple_call_set_fn): Move inline function.
* gimple.c (gimple_call_set_fn): Relocate here.

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

9 years agogcc/
olegendo [Thu, 25 Jun 2015 23:12:07 +0000 (23:12 +0000)]
gcc/
PR target/65979
PR target/66611
* config/sh/sh.md (tstsi_t peephole2): Use insn_invalid_p to check if
the replacement insn will work.

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

9 years agoValidate -pie if PIE is enabled by default
hjl [Thu, 25 Jun 2015 21:31:04 +0000 (21:31 +0000)]
Validate -pie if PIE is enabled by default

When PIE is enabled by default, -pie is treated as nop in driver.  We
should simply validate it, instead of issue an error.

* gcc.c (driver_handle_option): Validate -pie if PIE is enabled
by default.

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

9 years ago2015-06-25 Andrew MacLeod <amacleod@redhat.com>
amacleod [Thu, 25 Jun 2015 18:32:38 +0000 (18:32 +0000)]
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* function.h (ipa_opt_pass, ipa_opt_pass_d): Move forward declarations.
* cgraph.h: Include ipa-ref.h and plugin-api.h.
(ipa_opt_pass, ipa_opt_pass_d)): Relocate forward declarations here.
(symtab_node::address_can_be_compared_p): Move function.
* cgraph.c (symtab_node::address_can_be_compared_p): Relocate function
definition here.
* asan.c: Remove ipa-ref.h and plugin-api.h from include list.
* auto-profile.c: Likewise.
* bb-reorder.c: Likewise.
* builtins.c: Likewise.
* calls.c: Likewise.
* cfgexpand.c: Likewise.
* cgraphbuild.c: Likewise.
* cgraphclones.c: Likewise.
* cgraphunit.c: Likewise.
* combine.c: Likewise.
* coverage.c: Likewise.
* data-streamer-in.c: Likewise.
* data-streamer-out.c: Likewise.
* data-streamer.c: Likewise.
* dbxout.c: Likewise.
* dwarf2out.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* final.c: Likewise.
* fold-const.c: Likewise.
* ggc-page.c: Likewise.
* gimple-fold.c: Likewise.
* gimple-iterator.c: Likewise.
* gimple-pretty-print.c: Likewise.
* gimple-streamer-in.c: Likewise.
* gimple-streamer-out.c: Likewise.
* gimple.c: Likewise.
* gimplify.c: Likewise.
* ipa-chkp.c: Likewise.
* ipa-comdats.c: Likewise.
* ipa-cp.c: Likewise.
* ipa-devirt.c: Likewise.
* ipa-icf-gimple.c: Likewise.
* ipa-icf.c: Likewise.
* ipa-inline-analysis.c: Likewise.
* ipa-inline-transform.c: Likewise.
* ipa-inline.c: Likewise.
* ipa-polymorphic-call.c: Likewise.
* ipa-profile.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-pure-const.c: Likewise.
* ipa-ref.c: Likewise.
* ipa-reference.c: Likewise.
* ipa-split.c: Likewise.
* ipa-utils.c: Likewise.
* ipa-visibility.c: Likewise.
* ipa.c: Likewise.
* langhooks.c: Likewise.
* lto-cgraph.c: Likewise.
* lto-compress.c: Likewise.
* lto-opts.c: Likewise.
* lto-section-in.c: Likewise.
* lto-section-out.c: Likewise.
* lto-streamer-in.c: Likewise.
* lto-streamer-out.c: Likewise.
* lto-streamer.c: Likewise.
* omp-low.c: Likewise.
* opts-global.c: Likewise.
* passes.c: Likewise.
* predict.c: Likewise.
* print-tree.c: Likewise.
* profile.c: Likewise.
* ree.c: Likewise.
* sanopt.c: Likewise.
* stor-layout.c: Likewise.
* symtab.c: Likewise.
* toplev.c: Likewise.
* trans-mem.c: Likewise.
* tree-cfg.c: Likewise.
* tree-chkp.c: Likewise.
* tree-eh.c: Likewise.
* tree-emutls.c: Likewise.
* tree-inline.c: Likewise.
* tree-nested.c: Likewise.
* tree-parloops.c: Likewise.
* tree-pretty-print.c: Likewise.
* tree-profile.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-alias.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-strlen.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-streamer-in.c: Likewise.
* tree-streamer-out.c: Likewise.
* tree-streamer.c: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-tailcall.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vectorizer.c: Likewise.
* tree.c: Likewise.
* tsan.c: Likewise.
* ubsan.c: Likewise.
* value-prof.c: Likewise.
* varasm.c: Likewise.
* varpool.c: Likewise.
* config/arm/arm.c: Likewise.
* config/bfin/bfin.c: Likewise.
* config/c6x/c6x.c: Likewise.
* config/cris/cris.c: Likewise.
* config/darwin-c.c: Likewise.
* config/darwin.c: Likewise.
* config/i386/i386.c: Likewise.
* config/i386/winnt.c: Likewise.
* config/microblaze/microblaze.c: Likewise.
* config/mips/mips.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/rx/rx.c: Likewise.
* config/s390/s390.c: Likewise.
* config/tilegx/mul-tables.c: Likewise.

ada
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* gcc-interface/trans.c: Remove ipa-ref.h and plugin-api.h from include
list.
* gcc-interface/utils.c: Likewise.

c
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* c-decl.c: Remove ipa-ref.h and plugin-api.h from include list.
* c-parser.c: Likewise.

c-family
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
* c-gimplify.c: Likewise.
* c-pragma.c: Likewise.
* c-ubsan.c: Likewise.
* cilk.c: Likewise.

cp
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* call.c: Remove ipa-ref.h and plugin-api.h from include list.
* class.c: Likewise.
* cp-ubsan.c: Likewise.
* decl.c: Likewise.
* decl2.c: Likewise.
* lambda.c: Likewise.
* mangle.c: Likewise.
* method.c: Likewise.
* optimize.c: Likewise.
* parser.c: Likewise.
* semantics.c: Likewise.
* tree.c: Likewise.
* vtable-class-hierarchy.c: Likewise.

fortran
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* f95-lang.c: Remove ipa-ref.h and plugin-api.h from include list.
* trans-decl.c: Likewise.

go
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* go-gcc.cc: Remove ipa-ref.h and plugin-api.h from include list.

java
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* class.c: Remove ipa-ref.h and plugin-api.h from include list.
* decl.c: Likewise.
* jcf-parse.c: Likewise.
* resource.c: Likewise.

jit
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* dummy-frontend.c: Remove ipa-ref.h and plugin-api.h from include list.
* jit-playback.c: Likewise.

lto
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* lto-lang.c: Remove ipa-ref.h and plugin-api.h from include list.
* lto-object.c: Likewise.
* lto-partition.c: Likewise.
* lto-symtab.c: Likewise.
* lto-tree.h: Likewise.
* lto.c: Likewise.

objc
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* objc-act.c: Remove ipa-ref.h and plugin-api.h from include list.

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

9 years ago * include/bits/locale_conv.h (__do_str_codecvt): Set __count.
redi [Thu, 25 Jun 2015 18:23:41 +0000 (18:23 +0000)]
* include/bits/locale_conv.h (__do_str_codecvt): Set __count.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:50:01 +0000 (17:50 +0000)]
gcc/
* config/aarch64/aarch64.c, config/alpha/alpha.c,
config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c,
config/c6x/c6x.c, config/cr16/cr16.c, config/cris/cris.c,
config/fr30/fr30.c, config/frv/frv.c, config/h8300/h8300.c,
config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
config/microblaze/microblaze.c, config/mips/mips.c,
config/mmix/mmix.c, config/mn10300/mn10300.c,
config/moxie/moxie.c, config/msp430/msp430.c,
config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
config/stormy16/stormy16.c, config/tilegx/tilegx.c,
config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
config/visium/visium.c, config/xtensa/xtensa.c: Add comment above
target-def.h include.
* config/ft32/ft32.c: Likewise.  Fix misapplied hunk.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:18:12 +0000 (17:18 +0000)]
gcc/
* Makefile.in (TARGET_DEF): Add target-insns.def.
(.PRECIOUS, simple_rtl_generated_h): Add insn-target-def.h.
(build/gentarget-def.o): New rule.
(genprogrtl): Add target-def.
* target-insns.def, gentarget-def.c: New files.
* target.def: Add targetm.have_* and targetm.gen_* hooks,
based on the contents of target-insns.def.
* defaults.h (HAVE_simple_return, gen_simple_return): Delete.
(HAVE_return, gen_return): Delete.
* target-def.h: Include insn-target-def.h.
* cfgrtl.c (force_nonfallthru_and_redirect): Use targetm interface
instead of direct calls.  Rely on them to do the appropriate assertions.
* function.c (gen_return_pattern): Likewise.  Return an rtx_insn *.
(convert_jumps_to_returns): Use targetm interface instead of
direct calls.
(thread_prologue_and_epilogue_insns): Likewise.
* reorg.c (find_end_label, dbr_schedule): Likewise.
* shrink-wrap.h (SHRINK_WRAPPING_ENABLED): Likewise.
* shrink-wrap.c (convert_to_simple_return): Likewise.
(try_shrink_wrapping): Use SHRINK_WRAPPING_ENABLED.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:18:00 +0000 (17:18 +0000)]
gcc/
* config/aarch64/aarch64.c, config/alpha/alpha.c, config/arm/arm.c,
config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
config/cr16/cr16.c, config/cris/cris.c, config/fr30/fr30.c,
config/frv/frv.c, config/ft32/ft32.c, config/h8300/h8300.c,
config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
config/microblaze/microblaze.c, config/mips/mips.c, config/mmix/mmix.c,
config/mn10300/mn10300.c, config/moxie/moxie.c, config/msp430/msp430.c,
config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
config/stormy16/stormy16.c, config/tilegx/tilegx.c,
config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
config/visium/visium.c, config/xtensa/xtensa.c: Move target-def.h
includes to end.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:17:20 +0000 (17:17 +0000)]
gcc/
* hash-map-traits.h (simple_hashmap_traits::key_type): New typedef.
(unbounded_int_hashmap_traits::key_type): Likewise.
* hash-map.h (hash_map): Get the key type from the traits.
* hash-traits.h (default_hash_traits): By default, inherit from the
template parameter.
* alias.c (alias_set_traits): Delete.
(alias_set_entry_d::children): Use alias_set_hash as the first
template parameter.
(record_alias_subset): Update accordingly.
* except.c (tree_hash_traits): Delete.
(type_to_runtime_map): Use tree_hash as the first template parameter.
(init_eh): Update accordingly.
* genmatch.c (capture_id_map_hasher): Delete.
(cid_map_t): Use nofree_string_hash as first template parameter.
* ipa-icf.h (symbol_compare_hashmap_traits): Delete.
* ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
Use symbol_compare_hash as the first template parameter in
subdivide_hash_map.
* mem-stats.h (mem_usage_pair::mem_alloc_hashmap_traits): Delete.
(mem_usage_pair::mem_map_t): Use mem_location_hash as the first
template parameter.
* passes.c (pass_registry_hasher): Delete.
(name_to_pass_map): Use nofree_string_hash as the first template
parameter.
(register_pass_name): Update accordingly.
* sanopt.c (sanopt_tree_map_traits): Delete.
(sanopt_tree_triplet_map_traits): Delete.
(sanopt_ctx::asan_check_map): Use tree_operand_hash as the first
template parameter.
(sanopt_ctx::vptr_check_map): Use sanopt_tree_triplet_hash as
the first template parameter.
* sese.c (rename_map_hasher): Delete.
(rename_map_type): Use tree_ssa_name_hash as the first template
parameter.
* symbol-summary.h (function_summary::summary_hashmap_traits): Delete.
(function_summary::m_map): Use map_hash as the first template
parameter.
(function_summary::release): Update accordingly.
* tree-if-conv.c (phi_args_hash_traits): Delete.
(predicate_scalar_phi): Use tree_operand_hash as the first template
parameter to phi_arg_map.
* tree-inline.h (dependence_hasher): Delete.
(copy_body_data::dependence_map): Use dependence_hash as the first
template parameter.
* tree-inline.c (remap_dependence_clique): Update accordingly.
* tree-ssa-strlen.c (stridxlist_hash_traits): Delete.
(decl_to_stridxlist_htab): Use tree_decl_hash as the first template
parameter.
(addr_stridxptr): Update accordingly.
* value-prof.c (profile_id_traits): Delete.
(cgraph_node_map): Use profile_id_hash as the first template
parameter.
(init_node_map): Update accordingly.
* config/alpha/alpha.c (string_traits): Delete.
(machine_function::links): Use nofree_string_hash as the first
template parameter.
(alpha_use_linkage, alpha_write_linkage): Update accordingly.
* config/m32c/m32c.c (pragma_traits): Delete.
(pragma_htab): Use nofree_string_hash as the first template parameter.
(m32c_note_pragma_address): Update accordingly.
* config/mep/mep.c (pragma_traits): Delete.
(pragma_htab): Use nofree_string_hash as the first template parameter.
(mep_note_pragma_flag): Update accordingly.
* config/mips/mips.c (mips16_flip_traits): Delete.
(mflip_mips16_htab): Use nofree_string_hash as the first template
parameter.
(mflip_mips16_use_mips16_p): Update accordingly.
(local_alias_traits): Delete.
(mips16_local_aliases): Use nofree_string_hash as the first template
parameter.
(mips16_local_alias): Update accordingly.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:17:10 +0000 (17:17 +0000)]
gcc/
* hash-map-traits.h (default_hashmap_traits): Delete.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:16:59 +0000 (17:16 +0000)]
gcc/
* hash-map-traits.h (unbounded_hashmap_traits): New class.
(unbounded_int_hashmap_traits): Likewise.
* cfgexpand.c (part_traits): Use unbounded_int_hashmap_traits.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:16:51 +0000 (17:16 +0000)]
gcc/
* ipa-icf.h (symbol_compare_hash): New class.
(symbol_compare_hashmap_traits): Use it.
* mem-stats.h (mem_alloc_description::mem_location_hash): New class.
(mem_alloc_description::mem_alloc_hashmap_traits): Use it.
(mem_alloc_description::reverse_mem_map_t): Remove redundant
default_hashmap_traits.
* sanopt.c (sanopt_tree_triplet_hash): New class.
(sanopt_tree_triplet_map_traits): Use it.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:16:44 +0000 (17:16 +0000)]
gcc/
* gengtype-parse.c (require_template_declaration): Allow '+' in
template parameters.  Consolidate cases.
* hash-traits.h (int_hash): New class.
* alias.c (alias_set_hash): New structure.
(alias_set_traits): Use it.
* symbol-summary.h (function_summary::map_hash): New class.
(function_summary::summary_hashmap_traits): Use it.
* tree-inline.h (dependence_hash): New class.
(dependence_hasher): Use it.
* tree-ssa-reassoc.c (oecount_hasher): Use int_hash.
* value-prof.c (profile_id_hash): New class.
(profile_id_traits): Use it.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:16:31 +0000 (17:16 +0000)]
gcc/
* config/mips/mips.c (mips16_flip_traits): Use it.
(local_alias_traits, mips16_local_aliases): Convert from a map of
rtxes to a map of symbol names.
(mips16_local_alias): Update accordingly.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:16:23 +0000 (17:16 +0000)]
gcc/
* hash-traits.h (string_hash, nofree_string_hash): New classes.
* genmatch.c (capture_id_map_hasher): Use nofree_string_hash.
* passes.c (pass_registry_hasher): Likewise.
* config/alpha/alpha.c (string_traits): Likewise.
* config/i386/winnt.c (i386_find_on_wrapper_list): Likewise.
* config/m32c/m32c.c (pragma_traits): Likewise.
* config/mep/mep.c (pragma_traits): Likewise.

gcc/java/
* jcf-io.c (memoized_class_lookups): Use nofree_string_hash.
(find_class): Likewise.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:16:15 +0000 (17:16 +0000)]
gcc/
* tree-hash-traits.h (tree_hash): New class.
* except.c: Include tree-hash-traits.h.
(tree_hash_traits): Use tree_hash.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:16:02 +0000 (17:16 +0000)]
gcc/
* tree-hash-traits.h (tree_ssa_name_hasher): New class.
* sese.c: Include tree-hash-traits.h.
(rename_map_hasher): Use tree_ssa_name_hasher.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:15:54 +0000 (17:15 +0000)]
gcc/
* tree-hash-traits.h (tree_decl_hash): New class.
* tree-ssa-strlen.c: Include tree-hash-traits.h.
(stridxlist_hash_traits): Use tree_decl_hash.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:15:44 +0000 (17:15 +0000)]
gcc/
* tree-hash-traits.h: New file.
(tree_operand_hash): New class.
* sanopt.c: Include tree-hash-traits.h.
(sanopt_tree_map_traits): Use tree_operand_hash.
* tree-if-conv.c: Include tree-hash-traits.h.
(phi_args_hash_traits): Use tree_operand_hash.
* tree-ssa-uncprop.c: Include tree-hash-traits.h.
(val_ssa_equiv_hash_traits): Use tree_operand_hash.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:15:35 +0000 (17:15 +0000)]
gcc/
* hash-map-traits.h: Include hash-traits.h.
(simple_hashmap_traits): New class.
* mem-stats.h (hash_map): Change the default traits to
simple_hashmap_traits<default_hash_traits<Key> >.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:07:34 +0000 (17:07 +0000)]
gcc/
* hash-table.h: Update comments.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:07:26 +0000 (17:07 +0000)]
gcc/
* hash-traits.h (default_hash_traits): New structure.
* hash-set.h (default_hashset_traits): Delete.
(hash_set): Use default_hash_traits<Key> instead of
default_hashset_traits.  Delete hash_entry type and use Key directly.
* ipa-devirt.c (pair_traits): Delete.
(default_hash_traits <type_pair>): Override.
(odr_subtypes_equivalent_p): Remove pair_types template parameter.
(odr_types_equivalent_p, add_type_duplicate): Likewise.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:07:16 +0000 (17:07 +0000)]
gcc/
* hash-traits.h (typed_noop_remove): Don't require a pointer type.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:07:01 +0000 (17:07 +0000)]
gcc/
* hash-table.h (has_is_deleted, is_deleted_helper): Delete.
(has_is_empty, is_empty_helper): Delete.
(has_mark_deleted, mark_deleted_helper): Delete.
(has_mark_empty, mark_empty_helper): Delete.
(hash_table::is_deleted): Call the Descriptor unconditionally.
(hash_table::is_empty): Likewise.
(hash_table::mark_deleted): Likewise.
(hash_table::mark_empty): Likewise.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:06:52 +0000 (17:06 +0000)]
gcc/
* cgraph.h (asmname_hasher): Inherit from ggc_ptr_hash.  Remove
redundant typedefs and members.
* coverage.c (counts_entry): Inherit from pointer_hash.  Remove
redundant typedefs.
* dwarf2out.c (cu_hash_table_entry_hasher): Likewise.
* ipa-devirt.c (odr_name_hasher): Likewise.
(polymorphic_call_target_hasher): Likewise.
* ira-costs.c (cost_classes_hasher): Likewise.
* statistics.c (stats_counter_hasher): Likewise.
* trans-mem.c (log_entry_hasher): Likewise.
* tree-ssa-dom.c (expr_elt_hasher): Likewise.
* tree-ssa-sccvn.c (vn_phi_hasher, vn_reference_hasher): Likewise.
* tree-ssa-tail-merge.c (same_succ_def): Likewise.
* var-tracking.c (variable_hasher): Likewise.
* valtrack.h (dead_debug_hash_descr): Inherit from free_ptr_hash.
Remove redundant typedefs and members.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:06:44 +0000 (17:06 +0000)]
gcc/
* hash-traits.h (ggc_cache_hasher): Rename to...
(ggc_cache_remove): ...this and remove typedefs.
(ggc_cache_ptr_hash): New class.
* hash-table.h: Update commentary.
* emit-rtl.c (const_int_hasher): Inherit from ggc_cache_ptr_hash
rather than ggc_cache_hasher.
(const_wide_int_hasher, reg_attr_hasher): Likewise.
(const_double_hasher, const_fixed_hasher): Likewise.
* function.c (insn_cache_hasher): Likewise.
* trans-mem.c (tm_wrapper_hasher): Likewise.
* tree.h (tree_decl_map_cache_hasher): Likewise.
* tree.c (type_cache_hasher, int_cst_hasher): Likewise.
(cl_option_hasher, tree_vec_map_cache_hasher): Likewise.
* ubsan.c (tree_type_map_cache_hasher): Likewise.
* varasm.c (tm_clone_hasher): Likewise.
* config/i386/i386.c (dllimport_hasher): Likewise.
* config/nvptx/nvptx.c (declared_libfunc_hasher): Likewise.
(tree_hasher): Likewise.

gcc/ada/
* gcc-interface/decl.c (value_annotation_hasher): Inherit from
ggc_cache_ptr_hash rather than ggc_cache_hasher.
* gcc-interface/utils.c (pad_type_hasher): Likewise.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:06:36 +0000 (17:06 +0000)]
gcc/
* hash-traits.h (ggc_hasher): Rename to...
(ggc_remover): ...this and remove typedefs.
(ggc_cache_hasher): Update accordingly.  Add typedefs.
(ggc_ptr_hash): New class.
* hash-table.h: Update comment.
* cfgloop.h (loop_exit_hasher): Inherit from ggc_ptr_hash rather than
ggc_hasher.
* cgraph.h (section_name_hasher, cgraph_edge_hasher): Likewise.
(tree_descriptor_hasher): Likewise.
* cgraph.c (function_version_hasher): Likewise.
* dwarf2out.c (indirect_string_hasher, dwarf_file_hasher): Likewise.
(decl_die_hasher, block_die_hasher, decl_loc_hasher): Likewise.
(dw_loc_list_hasher, addr_hasher): Likewise.
* function.h (used_type_hasher): Likewise.
* function.c (temp_address_hasher): Likewise.
* gimple-ssa.h (tm_restart_hasher, ssa_name_hasher): Likewise.
* libfuncs.h (libfunc_hasher): Likewise.
* lto-streamer.h (decl_state_hasher): Likewise.
* optabs.c (libfunc_decl_hasher): Likewise.
* tree-scalar-evolution.c (scev_info_hasher): Likewise.
* varasm.c (section_hasher, object_block_hasher): Likewise.
(const_rtx_desc_hasher): Likewise.
* config/darwin.c (indirection_hasher, cfstring_hasher): Likewise.
* config/rs6000/rs6000.c (toc_hasher, builtin_hasher): Likewise.

gcc/c-family/
* c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
ggc_hasher.

gcc/cp/
* constexpr.c (constexpr_fundef_hasher): Inherit from ggc_ptr_hash
rather than ggc_hasher.
(constexpr_call_hasher): Likewise.
* cp-tree.h (cxx_int_tree_map_hasher, named_label_hasher): Likewise.
* decl.c (typename_hasher): Likewise.
* mangle.c (conv_type_hasher): Likewise.
* pt.c (spec_hasher): Likewise.
* tree.c (cplus_array_hasher, list_hasher): Likewise.
* typeck2.c (abstract_type_hasher): Likewise.

gcc/fortran/
* trans-decl.c (module_hasher): Likewise.
* trans.h (module_decl_hasher): Likewise.

gcc/java/
* java-tree.h (treetreehasher): Inherit from ggc_ptr_hash
rather than ggc_hasher.
(ict_hasher, type_assertion_hasher): Likewise.

gcc/objc/
* objc-act.c (objc_string_hasher): Inherit from ggc_ptr_hash
rather than ggc_hasher.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:06:24 +0000 (17:06 +0000)]
gcc/
* hash-traits.h (free_ptr_hash): New class.
* dwarf2out.c (decl_table_entry_hasher): Inherit from free_ptr_hash
rather than typed_free_remove.  Remove redudant typedefs.
(external_ref_hasher): Likewise.
* except.c (action_record_hasher, ttypes_filter_hasher): Likewise.
(ehspec_hasher): Likewise.
* ggc-common.c (saving_hasher): Likewise.
* gimplify.c (gimplify_hasher): Likewise.
* haifa-sched.c (delay_i2_hasher): Likewise.
* loop-invariant.c (invariant_expr_hasher): Likewise.
* loop-iv.c (biv_entry_hasher): Likewise.
* loop-unroll.c (iv_split_hasher, var_expand_hasher): Likewise.
* trans-mem.c (tm_mem_map_hasher, tm_memop_hasher): Likewise.
* tree-cfg.c (locus_discrim_hasher): Likewise.
* tree-eh.c (finally_tree_hasher): Likewise.
* tree-into-ssa.c (var_info_hasher): Likewise.
* tree-parloops.c (reduction_hasher, name_to_copy_hasher): Likewise.
* tree-ssa-loop-ivopts.c (iv_inv_expr_hasher): Likewise.
* tree-ssa-phiopt.c (ssa_names_hasher): Likewise.
* tree-ssa-pre.c (expr_pred_trans_d): Likewise.
* tree-ssa-sccvn.c (vn_constant_hasher): Likewise.
* tree-ssa-structalias.c (equiv_class_hasher): Likewise.
(shared_bitmap_hasher): Likewise.
* tree-ssa-threadupdate.c (redirection_data): Likewise.
* tree-vectorizer.h (peel_info_hasher): Likewise.
* tree-vectorizer.c (simduid_to_vf, simd_array_to_simduid): Likewise.
* config/mips/mips.c (mips_lo_sum_offset_hasher): Likewise.

libcc1/
* plugin.cc (decl_addr_hasher): Inherit from free_ptr_hash
rather than typed_free_remove.  Remove redudant typedefs.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:06:13 +0000 (17:06 +0000)]
gcc/
* hash-table.h: Update comments.
* hash-traits.h (pointer_hash): Don't inherit from typed_noop_remove.
(nofree_ptr_hash): New class.
* asan.c (asan_mem_ref_hasher): Inherit from nofree_ptr_hash rather
than typed_noop_remove.  Remove redudant typedefs.
* attribs.c (attribute_hasher): Likewise.
* cfg.c (bb_copy_hasher): Likewise.
* cselib.c (cselib_hasher): Likewise.
* dse.c (invariant_group_base_hasher): Likewise.
* dwarf2cfi.c (trace_info_hasher): Likewise.
* dwarf2out.c (macinfo_entry_hasher): Likewise.
(comdat_type_hasher, loc_list_hasher): Likewise.
* gcse.c (pre_ldst_expr_hasher): Likewise.
* genmatch.c (id_base): Likewise.
* genrecog.c (test_pattern_hasher): Likewise.
* gimple-ssa-strength-reduction.c (cand_chain_hasher): Likewise.
* haifa-sched.c (delay_i1_hasher): Likewise.
* hard-reg-set.h (simplifiable_subregs_hasher): Likewise.
* ipa-icf.h (congruence_class_group_hash): Likewise.
* ipa-profile.c (histogram_hash): Likewise.
* ira-color.c (allocno_hard_regs_hasher): Likewise.
* lto-streamer.h (string_slot_hasher): Likewise.
* lto-streamer.c (tree_entry_hasher): Likewise.
* plugin.c (event_hasher): Likewise.
* postreload-gcse.c (expr_hasher): Likewise.
* store-motion.c (st_expr_hasher): Likewise.
* tree-sra.c (uid_decl_hasher): Likewise.
* tree-ssa-coalesce.c (coalesce_pair_hasher): Likewise.
(ssa_name_var_hash): Likewise.
* tree-ssa-live.c (tree_int_map_hasher): Likewise.
* tree-ssa-loop-im.c (mem_ref_hasher): Likewise.
* tree-ssa-pre.c (pre_expr_d): Likewise.
* tree-ssa-sccvn.c (vn_nary_op_hasher): Likewise.
* vtable-verify.h (registration_hasher): Likewise.
* vtable-verify.c (vtbl_map_hasher): Likewise.
* config/arm/arm.c (libcall_hasher): Likewise.
* config/i386/winnt.c (wrapped_symbol_hasher): Likewise.
* config/ia64/ia64.c (bundle_state_hasher): Likewise.
* config/sol2.c (comdat_entry_hasher): Likewise.
* fold-const.c (fold): Use nofree_ptr_hash instead of pointer_hash.
(print_fold_checksum, fold_checksum_tree): Likewise.
(debug_fold_checksum, fold_build1_stat_loc): Likewise.
(fold_build2_stat_loc, fold_build3_stat_loc): Likewise.
(fold_build_call_array_loc): Likewise.
* tree-ssa-ccp.c (gimple_htab): Likewise.
* tree-browser.c (tree_upper_hasher): Inherit from nofree_ptr_hash
rather than pointer_type.

gcc/c/
* c-decl.c (detect_field_duplicates_hash): Use nofree_ptr_hash
instead of pointer_hash.
(detect_field_duplicates): Likewise.

gcc/cp/
* class.c (fixed_type_or_null_ref_ht): Inherit from nofree_ptr_hash
rather than pointer_hash.
(fixed_type_or_null): Use nofree_ptr_hash instead of pointer_hash.
* semantics.c (nrv_data): Likewise.
* tree.c (verify_stmt_tree_r, verify_stmt_tree): Likewise.

gcc/java/
* jcf-io.c (charstar_hash): Inherit from nofree_ptr_hash rather
than typed_noop_remove.  Remove redudant typedefs.

gcc/lto/
* lto.c (tree_scc_hasher): Inherit from nofree_ptr_hash rather
than typed_noop_remove.  Remove redudant typedefs.

gcc/objc/
* objc-act.c (decl_name_hash): Inherit from nofree_ptr_hash rather
than typed_noop_remove.  Remove redudant typedefs.

libcc1/
* plugin.cc (string_hasher): Inherit from nofree_ptr_hash rather
than typed_noop_remove.  Remove redudant typedefs.
(plugin_context): Use nofree_ptr_hash rather than pointer_hash.
(plugin_context::mark): Likewise.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:06:02 +0000 (17:06 +0000)]
gcc/
* hash-traits.h (pointer_hash::mark_deleted, pointer_hash::mark_empty)
(pointer_hash::is_deleted, pointer_hash::is_empty): New functions.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:05:55 +0000 (17:05 +0000)]
gcc/
* hash-traits.h (ggc_hasher::remove): Take a reference parameter.
(ggc_hasher::ggc_mx): Likewise.
(ggc_cache_hasher): Inherit from ggc_hasher.  Remove definitions
that duplicate ggc_hasher ones.

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

9 years agogcc/ada/
rsandifo [Thu, 25 Jun 2015 17:05:47 +0000 (17:05 +0000)]
gcc/ada/
* gcc-interface/decl.c (value_annotation_hasher::handle_cache_entry):
Delete.
(value_annotation_hasher::keep_cache_entry): New function.
* gcc-interface/utils.c (pad_type_hasher::handle_cache_entry):
Delete.
(pad_type_hasher::keep_cache_entry): New function.

gcc/
* hash-table.h (hash_table): Add gt_cleare_cache as a friend.
(gt_cleare_cache): Check here for deleted and empty entries.
Replace handle_cache_entry with a call to keep_cache_entry.
* hash-traits.h (ggc_cache_hasher::handle_cache_entry): Delete.
(ggc_cache_hasher::keep_cache_entry): New function.
* trans-mem.c (tm_wrapper_hasher::handle_cache_entry): Delete.
(tm_wrapper_hasher::keep_cache_entry): New function.
* tree.h (tree_decl_map_cache_hasher::handle_cache_entry): Delete.
(tree_vec_map_cache_hasher::keep_cache_entry): New function.
* tree.c (type_cache_hasher::handle_cache_entry): Delete.
(type_cache_hasher::keep_cache_entry): New function.
(tree_vec_map_cache_hasher::handle_cache_entry): Delete.
(tree_vec_map_cache_hasher::keep_cache_entry): New function.
* ubsan.c (tree_type_map_cache_hasher::handle_cache_entry): Delete.
(tree_type_map_cache_hasher::keep_cache_entry): New function.
* varasm.c (tm_clone_hasher::handle_cache_entry): Delete.
(tm_clone_hasher::keep_cache_entry): New function.
* config/i386/i386.c (dllimport_hasher::handle_cache_entry): Delete.
(dllimport_hasher::keep_cache_entry): New function.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 17:05:39 +0000 (17:05 +0000)]
gcc/
* hash-table.h: Include hash-traits.h.
(typed_free_remove, typed_noop_remove, pointer_hash, ggc_hasher)
(ggc_cache_hasher): Move to...
* hash-traits.h: ...this new file.

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

9 years ago2015-06-25 Andrew MacLeod <amacleod@redhat.com>
amacleod [Thu, 25 Jun 2015 17:03:33 +0000 (17:03 +0000)]
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* tree-core.h (struct tree_optimization_option): Make opts a pointer to
struct cl_optimization.
* tree.h (TREE_OPTIMIZATION): Return the pointer, not the address of it.
* tree.c (make_node_stat): Allocate cl_optimization struct.
(copy_node_stat): Allocate and copy cl_optimization struct.

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

9 years ago2015-06-25 Andrew MacLeod <amacleod@redhat.com>
amacleod [Thu, 25 Jun 2015 16:51:35 +0000 (16:51 +0000)]
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* function.h (struct incoming_args): Move struct.
(pass_by_reference, reference_callee_copied): Remove prototypes.
* emit-rtl.h (struct incoming_args): Relocate struct here.
* calls.h (pass_by_reference, reference_callee_copied): Relocate
prototypes here.
* function.c (pass_by_reference, reference_callee_copied): Move.
* calls.c (pass_by_reference, reference_callee_copied): Relocate here.
* cfgloop.h: Don't include tm.h or hard-reg-set.h.
* ipa-chkp.c: Include calls.h.

* ada/gcc-interface/misc.c: Include calls.h not function.h.

* c-family/cilk.c: Move calls.h after tm.h in the include chain.

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

9 years agoFix changelog mistake
amacleod [Thu, 25 Jun 2015 16:45:23 +0000 (16:45 +0000)]
Fix changelog mistake

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

9 years ago * array-notation-common.c: Use VAR_P throughout.
mpolacek [Thu, 25 Jun 2015 16:38:31 +0000 (16:38 +0000)]
* array-notation-common.c: Use VAR_P throughout.
* c-ada-spec.c: Likewise.
* c-common.c: Likewise.
* c-format.c: Likewise.
* c-gimplify.c: Likewise.
* c-omp.c: Likewise.
* c-pragma.c: Likewise.
* c-pretty-print.c: Likewise.
* cilk.c: Likewise.

* c-array-notation.c: Use VAR_P throughout.
* c-decl.c: Likewise.
* c-objc-common.c: Likewise.
* c-parser.c: Likewise.
* c-typeck.c: Likewise.

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

9 years ago2015-06-25 Andrew Macleod <amacleod@redhat.com>
amacleod [Thu, 25 Jun 2015 16:27:12 +0000 (16:27 +0000)]
2015-06-25  Andrew Macleod  <amacleod@redhat.com>

* alias.h (alias_set_type): Move typedef.
* coretypes.h (alias_set_type): Relocate typedef here.
* rtl.h: Don't include alias.h.
* jit/jit-common.h: Likewise

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

9 years ago * cilk.c (extract_free_variables): Use is_global_var.
mpolacek [Thu, 25 Jun 2015 16:26:05 +0000 (16:26 +0000)]
* cilk.c (extract_free_variables): Use is_global_var.

* c-decl.c: Use is_global_var throughout.
* c-parser.c: Likewise.
* c-typeck.c: Likewise.

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

9 years ago2015-06-25 Andrew MacLeod <amacleod@redhat.com>
amacleod [Thu, 25 Jun 2015 16:23:52 +0000 (16:23 +0000)]
2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

* cgraph.h (cgraph_rtl_info): Move to rtl.h
(cgraph_node): Maintain pointer to struct cgraph_rtl_info instead of
and instance.
* rtl.h (struct cgraph_rtl_info): Define when HARD_REG_SET available.
* cgraph.c (cgraph_node::rtl_info): Allocate cgraph_rtl_info if one
doesn't exist.
* calls.c: Include hard-reg-set.h before rtl.h.
* ira.c: Likewise.

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

9 years ago2015-06-25 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
vmakarov [Thu, 25 Jun 2015 15:03:33 +0000 (15:03 +0000)]
2015-06-25  Zhouyi Zhou  <yizhouzhou@ict.ac.cn>
    Vladimir Makarov  <vmakarov@redhat.com>

* ira-color.c (assign_hard_reg): Remove unecessary bitmap check.
Add assert.

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

9 years ago2015-06-25 Richard Biener <rguenther@suse.de>
rguenth [Thu, 25 Jun 2015 14:02:35 +0000 (14:02 +0000)]
2015-06-25  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_binary_loc): Move simplification of
(X <<>> C1) & C2 ...
* match.pd: ... here.

* gcc.dg/tree-ssa/pr52631.c: Disable forwprop.

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

9 years ago * lto-streamer-out.c (DFS::hash_scc): Fix typos & formatting glitches.
ebotcazou [Thu, 25 Jun 2015 13:58:43 +0000 (13:58 +0000)]
* lto-streamer-out.c (DFS::hash_scc): Fix typos & formatting glitches.

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

9 years agogcc/
rsandifo [Thu, 25 Jun 2015 13:25:09 +0000 (13:25 +0000)]
gcc/
* match.pd: Add patterns for vec_conds between 1 and 0.

gcc/testsuite/
* gcc.target/aarch64/vect-add-sub-cond.c: New test.

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

9 years ago2015-06-25 Richard Biener <rguenther@suse.de>
rguenth [Thu, 25 Jun 2015 12:36:12 +0000 (12:36 +0000)]
2015-06-25  Richard Biener  <rguenther@suse.de>

* tree-vect-stmts.c (vectorizable_conversion): Do not set
STMT_VINFO_VEC_STMT for SLP.
(vectorizable_store): Likewise.
(vectorizable_load): Likewise.
(vect_transform_stmt): Catch SLP vectorization clobbering
STMT_VINFO_VEC_STMT.

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

9 years ago2015-06-25 Richard Biener <rguenther@suse.de>
rguenth [Thu, 25 Jun 2015 12:34:46 +0000 (12:34 +0000)]
2015-06-25  Richard Biener  <rguenther@suse.de>

* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Improve debug
dumping.
(vect_create_mask_and_perm): Do not set STMT_VINFO_VEC_STMT and
cleanup resulting dead code and parameters.
(vect_transform_slp_perm_load): Adjust.

* gfortran.dg/vect/vect-9.f90: New testcase.

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

9 years ago * config/bfin/bfin.c (bfin_expand_prologue): Set
nickc [Thu, 25 Jun 2015 12:33:14 +0000 (12:33 +0000)]
 * config/bfin/bfin.c (bfin_expand_prologue): Set
     current_function_static_stack_size if flag_stack_usage_info is
     set.
     * config/ft32/ft32.c (ft32_expand_prologue): Likewise.
     * config/h8300/h8300.c (h8300_expand_prologue): Likewise.
     * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
     * config/m32c/m32c.c (m32c_emit_prologue): Likewise.

test * gcc.dg/stack-usage-1.c: Add SIZE values for V850, MN10300,
     H8300 and M32R targets.

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

9 years agoRemove 'unsigned' in header comment canonicalize_loop_ivs
vries [Thu, 25 Jun 2015 11:17:03 +0000 (11:17 +0000)]
Remove 'unsigned' in header comment canonicalize_loop_ivs

2015-06-25  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-loop-manip.c (canonicalize_loop_ivs): Don't claim in header
comment that the generated IV is unsigned.

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

9 years agoFix PR target/29693
ramana [Thu, 25 Jun 2015 08:18:19 +0000 (08:18 +0000)]
Fix PR target/29693

2015-06-25  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

PR target/29693
* config/arm/arm.c (arm_dbx_register_number): Return
DWARF_FRAME_REGISTERS by default.

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

9 years agoVerify reused dominators info in calculate_dominance_info
vries [Thu, 25 Jun 2015 06:43:14 +0000 (06:43 +0000)]
Verify reused dominators info in calculate_dominance_info

2015-06-25  Tom de Vries  <tom@codesourcery.com>

* dominance.c (calculate_dominance_info): Fix verify_dominators call
argument.  Call verify_dominator when reusing dominator info.

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

9 years agoDaily bump.
gccadmin [Thu, 25 Jun 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

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

9 years agoThe problem is that diagnostic_action_after_output tries to delete the active
manu [Wed, 24 Jun 2015 22:16:42 +0000 (22:16 +0000)]
The problem is that diagnostic_action_after_output tries to delete the active
pretty-printer which tries to delete its output_buffer, which is normally
dynamically allocated via placement-new, but the output_buffer used by the
error_buffer of Fortran is statically allocated. Being statically allocated
simplifies a lot pushing/poping several instances of error_buffer.

The solution is to reset the active output_buffer back to the default one
before calling diagnostic_action_after_output. This is a bit ugly, because this
function does use the output_buffer, however, at the point that Fortran calls
it, both are in an equivalent state, thus there is no visible difference.

gcc/testsuite/ChangeLog:

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

PR fortran/66528
* gfortran.dg/maxerrors.f90: New test.

gcc/fortran/ChangeLog:

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

PR fortran/66528
* error.c (gfc_warning_check): Restore the default output_buffer
before calling diagnostic_action_after_output.
(gfc_error_check): Likewise.
(gfc_diagnostics_init): Add comment.

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

9 years agoPR target/66563
kkojima [Wed, 24 Jun 2015 22:11:04 +0000 (22:11 +0000)]
PR target/66563
* [SH] Add a new operand to GOTaddr2picreg so to avoid CSE.  Modify caller
  of gen_GOTaddr2picreg.

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

9 years ago* gcc.dg/torture/pr66345.c: Fix assumption about size_t type.
dj [Wed, 24 Jun 2015 21:18:02 +0000 (21:18 +0000)]
* gcc.dg/torture/pr66345.c: Fix assumption about size_t type.

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

9 years ago2015-06-24 François Dumont <fdumont@gcc.gnu.org>
fdumont [Wed, 24 Jun 2015 20:12:05 +0000 (20:12 +0000)]
2015-06-24  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/basic_string.h (basic_string<>::front()): Add !empty
debug check.
(basic_string<>::back()): Likewise.
(basic_string<>::pop_back()): Likewise.

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

9 years ago PR c++/66647
jason [Wed, 24 Jun 2015 19:59:28 +0000 (19:59 +0000)]
PR c++/66647
* pt.c (dependent_type_p_r): Check for dependent alias template
specialization sooner.

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

9 years ago[AArch64] Fix another ICE with -mgeneral-regs-only
alalaw01 [Wed, 24 Jun 2015 16:26:38 +0000 (16:26 +0000)]
[AArch64] Fix another ICE with -mgeneral-regs-only

gcc/:

* config/aarch64/aarch64.md (<optab><fcvt_target><GPF:mode>2):
Condition on TARGET_FLOAT.

gcc/testsuite/:

* gcc.target/aarch64/mgeneral-regs_3.c: New.

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

9 years ago[AArch64 Doc] Clarify feature modifiers {no,}{fp,simd,crypto}
alalaw01 [Wed, 24 Jun 2015 16:15:53 +0000 (16:15 +0000)]
[AArch64 Doc] Clarify feature modifiers {no,}{fp,simd,crypto}

gcc:

* doc/invoke.texi: Clarify AArch64 feature modifiers (no)fp, (no)simd
and (no)crypto.

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

9 years ago[AArch64] Fix ICES with -mgeneral-regs-only / -march=...+nofp
alalaw01 [Wed, 24 Jun 2015 16:13:28 +0000 (16:13 +0000)]
[AArch64] Fix ICES with -mgeneral-regs-only / -march=...+nofp

gcc/ChangeLog:

* config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): New.

* config/aarch64/aarch64.md (mov<mode>/GPF, movtf): Use
aarch64_err_no_fpadvsimd.

* config/aarch64/aarch64.c (aarch64_err_no_fpadvsimd): New.
(aarch64_layout_arg, aarch64_init_cumulative_args): Use
aarch64_err_no_fpadvsimd if !TARGET_FLOAT and we need FP regs.
(aarch64_expand_builtin_va_start, aarch64_setup_incoming_varargs):
Turn error into assert, test TARGET_FLOAT.
(aarch64_gimplify_va_arg_expr): Use aarch64_err_no_fpadvsimd, test
TARGET_FLOAT.

gcc/testsuite/ChangeLog:

* gcc.target/aarch64/mgeneral-regs_1.c: New file.
* gcc.target/aarch64/mgeneral-regs_2.c: New file.
* gcc.target/aarch64/nofp_1.c: New file.

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

9 years ago * dwarf2out.c (gen_formal_parameter_die): Remove assert.
aldyh [Wed, 24 Jun 2015 15:58:13 +0000 (15:58 +0000)]
* dwarf2out.c (gen_formal_parameter_die): Remove assert.

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

9 years ago PR c++/66501
jason [Wed, 24 Jun 2015 15:40:08 +0000 (15:40 +0000)]
PR c++/66501
* class.c (type_has_nontrivial_assignment): Remove.
* cp-tree.h: Remove declaration.
* init.c (vec_copy_assign_is_trivial): New.
(build_vec_init): Use it.

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

9 years agocp/
emsr [Wed, 24 Jun 2015 15:27:04 +0000 (15:27 +0000)]
cp/

2015-06-24  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement N3928 - Extending static_assert
* parser.c (cp_parser_static_assert): Support static_assert with
no message string.  Supply an empty string in this case.
* semantics.c (finish_static_assert): Don't try to print a message if
the message strnig is empty.

testsuite/

2015-06-24  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement N3928 - Extending static_assert
* g++.dg/cpp0x/static_assert8.C: Adjust.
* g++.dg/cpp0x/static_assert12.C: New.
* g++.dg/cpp0x/static_assert13.C: New.
* g++.dg/cpp1y/static_assert1.C: New.
* g++.dg/cpp1y/static_assert2.C: New.
* g++.dg/cpp1z/static_assert-nomsg.C: New.

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

9 years ago/cp
paolo [Wed, 24 Jun 2015 15:11:06 +0000 (15:11 +0000)]
/cp
2015-06-24  Adam Butcher  <adam@jessamine.co.uk>

PR c++/65750
* parser.c (cp_parser_simple_type_specifier): Don't synthesize
implicit template parm if 'auto' is a placeholder for trailing
return type.

/testsuite
2015-06-24  Adam Butcher  <adam@jessamine.co.uk>

PR c++/65750
* g++.dg/cpp0x/trailing11.C: New.

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

9 years ago * tree-vect-slp.c (vect_build_slp_tree_1): Init vectype.
ienkovich [Wed, 24 Jun 2015 14:09:46 +0000 (14:09 +0000)]
* tree-vect-slp.c (vect_build_slp_tree_1): Init vectype.

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

9 years agoSkip tests for inappropriate multilibs.
ramana [Wed, 24 Jun 2015 14:08:03 +0000 (14:08 +0000)]
Skip tests for inappropriate multilibs.

2015-06-24  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* gcc.target/arm/fixed_float_conversion.c: Skip for inappropriate
          multilibs.
* gcc.target/arm/memset-inline-10.c: Likewise.
* gcc.target/arm/pr58784.c: Likewise.
* gcc.target/arm/pr59985.C: Likewise.
* gcc.target/arm/vfp-1.c: Likewise and test only for the non fma cases.

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

9 years ago[PATCH][AARCH64]Add ACLE predefined marcos: __ARM_ALIGN_MAX_PWR and
renlin [Wed, 24 Jun 2015 13:36:53 +0000 (13:36 +0000)]
[PATCH][AARCH64]Add ACLE predefined marcos: __ARM_ALIGN_MAX_PWR and
__ARM_ALIGN_MAX_STACK_PWR

gcc/

2015-06-24 Renlin Li <renlin.li@arm.com>

* config/aarch64/aarch64.h(TARGET_CPU_CPP_BUILTINS): Add
__ARM_ALIGN_MAX_PWR, __ARM_ALIGN_MAX_STACK_PWR.

gcc/testsuite/

2015-06-24  Renlin Li  <renlin.li@arm.com>

* gcc.target/aarch64/arm_align_max_pwr.c: New.
* gcc.target/aarch64/arm_align_max_stack_pwr.c: New.

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

9 years ago2015-06-24 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 24 Jun 2015 12:18:29 +0000 (12:18 +0000)]
2015-06-24  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
dg-error line numbers.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Likewise.

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

9 years agoRevert fix for PR c++/30044
ppalka [Wed, 24 Jun 2015 12:10:57 +0000 (12:10 +0000)]
Revert fix for PR c++/30044

gcc/cp/ChangeLog:

Revert:
2015-06-23  Patrick Palka  <ppalka@gcc.gnu.org>

PR c++/30044
* parser.c (cp_parser_template_parameter_list): Update
current_template_parms right after processing a paramater.
* pt.c (template_parms_to_args): Remove obsolete hack for
giving template template arguments the proper level.
(check_default_tmpl_args): Account for tested template
parameter_lists.
(splite_late_return_type): Remove obsolete hack for giving
template template arguments the proper level.

gcc/testsuite/ChangeLog:

Revert:
2015-06-23  Patrick Palka  <ppalka@gcc.gnu.org>

PR c++/30044
* g++.dg/cpp0x/auto45.C: New test.
* g++.dg/template/pr30044.C: New test.
* g++.dg/template/crash83.C: Accept any error string.
* g++.dg/cpp0x/variadic18.C: Adjust to not shadow template
parameters.
* g++.dg/cpp0x/variadic18.C: Likewise
* g++.dg/template/canon-type-13.C: Likewise.
* g++.old-deja/g++.pt/ttp42.C: Likewise.

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

9 years ago2015-06-24 Richard Biener <rguenther@suse.de>
rguenth [Wed, 24 Jun 2015 10:53:53 +0000 (10:53 +0000)]
2015-06-24  Richard Biener  <rguenther@suse.de>

* genmatch.c (enum tree_code): Add VIEW_CONVERT[012].
(main): Likewise.
(lower_opt_convert): Support lowering of conditional view_convert.
(parser::parse_operation): Likewise.
(parser::parse_for): Likewise.

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

9 years ago/cp
paolo [Wed, 24 Jun 2015 09:21:45 +0000 (09:21 +0000)]
/cp
2015-06-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/65811
* decl.c (duplicate_decls): Adjust DECL_COMDAT of newdecl.

/testsuite
2015-06-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/65811
* g++.dg/other/linkage2.C: New.

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

9 years ago[PATCH]Use "unsigned int" to hold alignment in emit_local function.
renlin [Wed, 24 Jun 2015 08:35:20 +0000 (08:35 +0000)]
[PATCH]Use "unsigned int" to hold alignment in emit_local function.

gcc/

2015-06-24  Renlin Li  <renlin.li@arm.com>

* varasm.c (emit_local): Use unsigned int for align variable.

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

9 years agoFix PR target/63408
ramana [Wed, 24 Jun 2015 08:28:08 +0000 (08:28 +0000)]
Fix PR target/63408

The attached patch fixes PR target/63408 and adds a regression test
for the same. The problem is essentially that
vfp3_const_double_for_fract_bits() needs to be aware that negative
values cannot be used in this context.

Tested with a bootstrap and regression test run on armhf. Applied.

2015-06-24  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

PR target/63408
* config/arm/arm.c (vfp3_const_double_for_fract_bits): Disable
for negative numbers.

2015-06-24  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

PR target/63408
* gcc.target/arm/pr63408.c: New test.

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

9 years ago[PATCH][testsuite] Fix TORTURE_OPTIONS overriding
jgreenhalgh [Wed, 24 Jun 2015 08:22:35 +0000 (08:22 +0000)]
[PATCH][testsuite] Fix TORTURE_OPTIONS overriding

gcc/testsuite/

        * lib/c-torture.exp: Don't call check_effective_target_lto
before setting up environment correctly.
        * lib/gcc-dg.exp: Likewise, and protect
gcc_force_conventional_output.

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

9 years agoPR66306: Fix match_dups on swapped operands.
krebbel [Wed, 24 Jun 2015 06:50:53 +0000 (06:50 +0000)]
PR66306: Fix match_dups on swapped operands.

2015-06-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

    PR rtl-optimization/66306
    * reload.c (find_reloads): Swap the match_dup info for
    commutative operands.

2015-06-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

    PR rtl-optimization/66306
    * gcc.target/s390/pr66306.c: New test.

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

9 years agoS/390: Switch mode attribute to bhfgq for vec scatter
krebbel [Wed, 24 Jun 2015 06:47:47 +0000 (06:47 +0000)]
S/390: Switch mode attribute to bhfgq for vec scatter

gcc/ChangeLog:

2015-06-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/vx-builtins.md
("vec_scatter_element<mode>_<non_vec_int>")
("vec_scatter_element<V_HW_64:mode>_SI"): Replace gf mode
attribute with bhfgq.

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

9 years agoS/390: Add proper comments to vpopct builtins for automated testsuite generation.
krebbel [Wed, 24 Jun 2015 06:46:27 +0000 (06:46 +0000)]
S/390: Add proper comments to vpopct builtins for automated testsuite generation.

gcc/ChangeLog:

2015-06-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390-builtins.def: Fix vpopct instruction comments.

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

9 years agoS/390: Make builtin creation conditional.
krebbel [Wed, 24 Jun 2015 06:44:59 +0000 (06:44 +0000)]
S/390: Make builtin creation conditional.

gcc/ChangeLog:

2015-06-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390-builtin-types.def: Add flag to indicate the
options under which the function type is needed.
* config/s390/s390-builtins.def: Add flag to indicate the options
under which the builtin is enabled.
* config/s390/s390-builtins.h: Add flags parameter to macro
definitions.
(bflags_for_builtin): New function.
(flags_for_builtin): Renamed to ...
(opflags_for_builtin): ... this.
* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Rename
flags_for_builtin to bflags_for_builtin and
flags_overloaded_builtin_var to opflags_overloaded_builtin_var.
* config/s390/s390.c: Add initialization of bflags_builtin and
opflags_builtin arrays.
Remove code for flags_builtin.
(s390_init_builtins): Only create builtin function types if one of
their flags is active.
Only create builtins if all of their flags are active.
(s390_expand_builtin): Rename flags_for_builtin to
opflags_for_builtin.

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

9 years agoS/390: Remove internal builtins from vecintrin.h.
krebbel [Wed, 24 Jun 2015 06:42:52 +0000 (06:42 +0000)]
S/390: Remove internal builtins from vecintrin.h.

gcc/ChangeLog:

2015-06-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

    * config/s390/vecintrin.h: Remove internal builtins.

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

9 years agoS/390: Fix s390_secondary_reload register class check.
krebbel [Wed, 24 Jun 2015 06:41:10 +0000 (06:41 +0000)]
S/390: Fix s390_secondary_reload register class check.

gcc/ChangeLog:

2015-06-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

    * config/s390/s390.c (s390_secondary_reload): Fix check for
    GENERAL_REGS register class.

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

9 years agoS/390: Disable effect of support_vector_misalignment
krebbel [Wed, 24 Jun 2015 06:39:55 +0000 (06:39 +0000)]
S/390: Disable effect of support_vector_misalignment

gcc/ChangeLog:

2015-06-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

    * config/s390/s390.c (s390_support_vector_misalignment): Call
    default implementation for !TARGET_VX.

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

9 years agoS/390: Limit legitimate_constant_p changes to TARGET_VX.
krebbel [Wed, 24 Jun 2015 06:38:32 +0000 (06:38 +0000)]
S/390: Limit legitimate_constant_p changes to TARGET_VX.

gcc/ChangeLog:

2015-06-23  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390.c (s390_legitimate_constant_p): Add
TARGET_VX check.

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

9 years agoS/390 Vector ABI GNU Attribute.
krebbel [Wed, 24 Jun 2015 06:36:46 +0000 (06:36 +0000)]
S/390 Vector ABI GNU Attribute.

gcc/
* config/s390/s390.c (s390_vector_abi): New variable definition.
(s390_check_type_for_vector_abi): New function.
(TARGET_ASM_FILE_END): New macro definition.
(s390_asm_file_end): New function.
(s390_function_arg): Call s390_check_type_for_vector_abi.
(s390_gimplify_va_arg): Likewise.
* configure: Regenerate.
* configure.ac: Check for .gnu_attribute Binutils feature.

gcc/testsuite/
* gcc.target/s390/vector/vec-abi-1.c: Add gnu attribute check.
* gcc.target/s390/vector/vec-abi-attr-1.c: New test.
* gcc.target/s390/vector/vec-abi-attr-2.c: New test.
* gcc.target/s390/vector/vec-abi-attr-3.c: New test.
* gcc.target/s390/vector/vec-abi-attr-4.c: New test.
* gcc.target/s390/vector/vec-abi-attr-5.c: New test.
* gcc.target/s390/vector/vec-abi-attr-6.c: New test.

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

9 years ago PR target/65803
law [Wed, 24 Jun 2015 04:22:39 +0000 (04:22 +0000)]
PR target/65803
* config/bfin/bfin.c (hwloop_optimize): Initialize
JUMP_LABEL for newly created jump.

        PR target/65803
* gcc.c-torture/pr65803.c: New test.

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

9 years agoAdd PR information to ChangeLog entries for previous change
ppalka [Wed, 24 Jun 2015 01:27:17 +0000 (01:27 +0000)]
Add PR information to ChangeLog entries for previous change

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

9 years agoDaily bump.
gccadmin [Wed, 24 Jun 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago[PATCH] Fix PR c++/30044
ppalka [Tue, 23 Jun 2015 23:41:51 +0000 (23:41 +0000)]
[PATCH] Fix PR c++/30044

gcc/cp/ChangeLog:

* parser.c (cp_parser_template_parameter_list): Update
current_template_parms right after processing a paramater.
* pt.c (template_parms_to_args): Remove obsolete hack for
giving template template arguments the proper level.
(check_default_tmpl_args): Account for tested template
parameter_lists.
(splite_late_return_type): Remove obsolete hack for giving
template template arguments the proper level.

gcc/testsuite/ChangeLog

* g++.dg/cpp0x/auto45.C: New test.
* g++.dg/template/pr30044.C: New test.
* g++.dg/template/crash83.C: Accept any error string.
* g++.dg/cpp0x/variadic18.C: Adjust to not shadow template
parameters.
* g++.dg/cpp0x/variadic18.C: Likewise
* g++.dg/template/canon-type-13.C: Likewise.
* g++.old-deja/g++.pt/ttp42.C: Likewise.

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

9 years ago * collect-utils.c (collect_wait): Unlink the response file here
ebotcazou [Tue, 23 Jun 2015 20:48:07 +0000 (20:48 +0000)]
* collect-utils.c (collect_wait): Unlink the response file here
instead of...
(do_wait): ...here.
(utils_cleanup): ...and here.

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

9 years ago2015-06-23 François Dumont <fdumont@gcc.gnu.org>
fdumont [Tue, 23 Jun 2015 19:51:02 +0000 (19:51 +0000)]
2015-06-23  François Dumont  <fdumont@gcc.gnu.org>

* include/debug/array: Include <array>. Add version namespace when
specializing tuple interface to array. Add specialization for
__is_tuple_like_impl.
* include/profile/array: Likewise.
* include/std/array: Include <utility>. Add specialization for
__is_tuple_like_impl.
* include/std/tuple
(__is_tuple_like_impl<>, __is_tuple_like_impl<pair>): Move...
* include/std/utility: ... here. Include <type_traits>.
* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
dg-error line number.
* testsuite/23_containers/array/tuple_interface/
tuple_element_debug_neg.cc: Likewise.

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

9 years agogcc/c-family/
rsandifo [Tue, 23 Jun 2015 18:26:49 +0000 (18:26 +0000)]
gcc/c-family/
* c-common.c: Don't include target-def.h.

gcc/
* df-scan.c: Don't include target-def.h.
* targhooks.c: Likewise.
* config/arm/arm-c.c: Likewise.
* config/i386/i386-c.c: Likewise.
* config/nds32/nds32-cost.c: Likewise.
* config/nds32/nds32-fp-as-gp.c: Likewise.
* config/nds32/nds32-intrinsic.c: Likewise.
* config/nds32/nds32-isr.c: Likewise.
* config/nds32/nds32-md-auxiliary.c: Likewise.
* config/nds32/nds32-memory-manipulation.c: Likewise.
* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
* config/nds32/nds32-predicates.c: Likewise.

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