]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
9 years ago * config/spu/spu.c (spu_expand_insv): Avoid undefined behavior.
uweigand [Mon, 21 Sep 2015 14:41:10 +0000 (14:41 +0000)] 
* config/spu/spu.c (spu_expand_insv): Avoid undefined behavior.

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

9 years ago2015-09-21 Richard Biener <rguenther@suse.de>
rguenth [Mon, 21 Sep 2015 14:12:58 +0000 (14:12 +0000)] 
2015-09-21  Richard Biener  <rguenther@suse.de>

* passes.c (rest_of_decl_compilation): Do not call
dwarf2out_early_global_decl for aliases.

* g++.dg/ext/attr-alias-3.C: Add -g.

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

9 years ago2015-09-21 Richard Biener <rguenther@suse.de>
rguenth [Mon, 21 Sep 2015 14:02:27 +0000 (14:02 +0000)] 
2015-09-21  Richard Biener  <rguenther@suse.de>

PR debug/67664
* dwarf2out.c (add_location_or_const_value_attribute): Remove
attribute parameter.  Early exit if either DW_AT_const_value
or DW_AT_location are present already.
(gen_variable_die): Adjust caller.
(dwarf2out_late_global_decl): Likewise.

* g++.dg/debug/dwarf2/pr67764.C: New testcase.

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

9 years agotestsuite/
olegendo [Mon, 21 Sep 2015 13:49:07 +0000 (13:49 +0000)] 
testsuite/
PR target/64345
* gcc.target/sh/pr64345-1.c: Adjust expected insn counts for SH2A.

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

9 years agogcc/
olegendo [Mon, 21 Sep 2015 12:57:31 +0000 (12:57 +0000)] 
gcc/
PR target/67657
* config/sh/sh.c (sh_remove_overlapping_post_inc,
sh_peephole_emit_move_insn): Add new functions.
* config/sh/sh-protos.h (sh_remove_overlapping_post_inc,
sh_peephole_emit_move_insn): Declere them.
* config/sh/sh.md: Use them in various peephole2 patterns.

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

9 years ago2015-09-21 Richard Biener <rguenther@suse.de>
rguenth [Mon, 21 Sep 2015 12:33:23 +0000 (12:33 +0000)] 
2015-09-21  Richard Biener  <rguenther@suse.de>

PR middle-end/67651
* rtlanal.c (nonzero_address_p): SYMBOL_REFs may have zero
address with -fno-delete-null-pointer-checks.

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

9 years agoCatch excess warning in gcc.dg/pragma-diag-5.c
manu [Mon, 21 Sep 2015 12:26:18 +0000 (12:26 +0000)] 
Catch excess warning in gcc.dg/pragma-diag-5.c

We xfail at emitting the correct location, but we still need to catch the
warning.

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

* gcc.dg/pragma-diag-5.c: Catch excess warning.

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

9 years agoFix bootstrap error introduced in r227870
redi [Mon, 21 Sep 2015 11:44:08 +0000 (11:44 +0000)] 
Fix bootstrap error introduced in r227870

PR libstdc++/67647
* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
(basic_string::shrink_to_fit): Fix #endif placement.

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

9 years ago[RS6000] Migrate from reduc_xxx to reduc_xxx_scal optabs
alalaw01 [Mon, 21 Sep 2015 10:38:27 +0000 (10:38 +0000)] 
[RS6000] Migrate from reduc_xxx to reduc_xxx_scal optabs

* config/rs6000/altivec.md (reduc_splus_<mode>): Rename to...
(reduc_plus_scal_<mode>): ...this, add rs6000_expand_vector_extract.
(reduc_uplus_v16qi): Remove.

* config/rs6000/vector.md (VEC_reduc_name): Change "splus" to "plus".
(reduc_<VEC_reduc_name>_v2df): Remove.
(reduc_<VEC_reduc_name>_v4sf): Remove.
(reduc_<VEC_reduc:VEC_reduc_name>_scal_<VEC_F:name>): New.

* config/rs6000/vsx.md (vsx_reduc_<VEC_reduc_name>_v2df): Declare
gen_ function by removing * prefix.
(vsx_reduc_<VEC_reduc_name>_v4sf): Likewise.

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

9 years ago[PR middle-end/60832] Do not convert widest_int to tree just for printing it.
manu [Mon, 21 Sep 2015 10:11:24 +0000 (10:11 +0000)] 
[PR middle-end/60832] Do not convert widest_int to tree just for printing it.

In do_warn_aggressive_loop_optimizations, we convert to a tree just to print a
widest_int. Apart from overly complicated, this results in printing '3u'
instead of just '3'.

Unfortunately, adding a printf-like conversion specifier would require making
pretty-print.c link with wide-int.cc, which will include a lot of new
dependencies into several other programs (gcov-tool for example). It would be
possible to add the conversion specifier to every FE pretty-printer, but this
still would require updating c-format.c, which is far from trivial. A simpler
approach is to convert to a string rather than to a tree.

In addition, "iteration 3 invokes undefined behavior within this loop" seems to
me clearer than "iteration 3 invokes undefined behavior; containing loop".

gcc/testsuite/ChangeLog:

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

PR middle-end/60832
* gcc.dg/pr53265.c: Update.

gcc/ChangeLog:

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

PR middle-end/60832
* tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations):
Print i_bound without converting it to a tree.

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

9 years ago[ARM] Replacing variable swaps that use a temporary variable with a call to std:...
ktkachov [Mon, 21 Sep 2015 10:07:44 +0000 (10:07 +0000)] 
[ARM] Replacing variable swaps that use a temporary variable with a call to std::swap in gcc/config/arm/arm.c

On behalf of <bilyan.borisov@arm.com>

2015-09-21  Bilyan Borisov  <bilyan.borisov@arm.com>

* config/arm/arm.c (thumb_output_move_mem_multiple): Replaced
operands[4] operands[5] swap with std::swap, removed tmp variable.
(arm_evpc_neon_vzip): Replaced in0/in1 and
out0/out1 swaps with std::swap, removed x variable.
(arm_evpc_neon_vtrn): Replaced in0/int1 and
out0/out1 swaos with std::swap, removed x variable.
(arm_expand_vec_perm_const_1): Replaced
d->op0/d->op1 swap with std::swap, removed x variable.
(arm_evpc_neon_vuzp): Replaced in0/in1 and
out0/out1 swaps with std::swap, removed x variable.

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

9 years ago2015-09-21 Jonathan Yong <10walls@gmail.com>
ktietz [Mon, 21 Sep 2015 09:58:44 +0000 (09:58 +0000)] 
2015-09-21  Jonathan Yong  <10walls@gmail.com>

        * config/i386/cygwin.h (STARTFILE_SPEC): Explicitly search
        sysroot/usr/lib/32api for additional win32 libraries,
        fixes failing Cygwin bootstrapping.

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

9 years ago * gcc.target/arm/stack-checking.c: Skip for Thumb1.
ebotcazou [Mon, 21 Sep 2015 08:16:32 +0000 (08:16 +0000)] 
* gcc.target/arm/stack-checking.c: Skip for Thumb1.

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

9 years agogcc/
olegendo [Mon, 21 Sep 2015 07:23:23 +0000 (07:23 +0000)] 
gcc/
* doc/invoke.texi (SH Options): Undocument SH5/SH64 related options.

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

9 years agogcc/testsuite/
olegendo [Mon, 21 Sep 2015 01:43:50 +0000 (01:43 +0000)] 
gcc/testsuite/
PR target/59478
* gcc.target/sh/pr59478.c: New.

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

9 years agogcc/
olegendo [Mon, 21 Sep 2015 00:17:22 +0000 (00:17 +0000)] 
gcc/
PR target/67126
* config/sh/sh.md (*reg_lsb_t): Emit bld insn on SH2A.
(*mov_t_msb_neg): Rewrite negc pattern.

gcc/testsuite/
PR target/67126
* gcc.target/sh/pr51244-12.c: Adjust testcase.
* gcc.target/sh/pr54236-2.c: Likewise.

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

9 years agoDaily bump.
gccadmin [Mon, 21 Sep 2015 00:16:13 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago PR middle-end/67619
uros [Sun, 20 Sep 2015 18:07:58 +0000 (18:07 +0000)] 
PR middle-end/67619
* lib/target-supports.exp (check_effective_target_builtin_eh_return):
New procedure.

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

9 years ago2015-09-20 Kai Tietz <ktietz70@googlemail.com>
ktietz [Sun, 20 Sep 2015 17:33:05 +0000 (17:33 +0000)] 
2015-09-20  Kai Tietz  <ktietz70@googlemail.com>

* MAINTAINERS: Update email.

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

9 years ago[AArch64][5/5] Cleanup immediate generation code in aarch64_internal_mov_immediate
jiwang [Sun, 20 Sep 2015 16:46:12 +0000 (16:46 +0000)] 
[AArch64][5/5] Cleanup immediate generation code in aarch64_internal_mov_immediate

2015-09-20  Wilco Dijkstra  <wdijkstr@arm.com>

* config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Cleanup
immediate generation code.

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

9 years ago[AArch64][4/5] Remove redundant code
jiwang [Sun, 20 Sep 2015 16:43:28 +0000 (16:43 +0000)] 
[AArch64][4/5] Remove redundant code

2015-09-20  Wilco Dijkstra  <wdijkstr@arm.com>

* config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Remove
redundant immediate generation code.

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

9 years ago[AArch64][3/5] Remove dead code
jiwang [Sun, 20 Sep 2015 16:41:26 +0000 (16:41 +0000)] 
[AArch64][3/5] Remove dead code

2015-09-20  Wilco Dijkstra  <wdijkstr@arm.com>

* config/aarch64/aarch64.c (aarch64_bitmasks): Remove.
(AARCH64_NUM_BITMASKS): Remove.
(aarch64_bitmasks_cmp): Remove.
(aarch64_build_bitmask_table): Remove.

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

9 years ago[AArch64][2/5] Improve aarch64_internal_mov_immediate by using faster algorithm
jiwang [Sun, 20 Sep 2015 16:37:39 +0000 (16:37 +0000)] 
[AArch64][2/5] Improve aarch64_internal_mov_immediate by using faster algorithm

2015-09-20  Wilco Dijkstra  <wdijkstr@arm.com>

* config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Replace
slow immediate matching loops with a faster algorithm.

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

9 years ago[AArch64][1/5] Reimplement aarch64_bitmask_imm
jiwang [Sun, 20 Sep 2015 16:34:44 +0000 (16:34 +0000)] 
[AArch64][1/5] Reimplement aarch64_bitmask_imm

2015-09-20  Wilco Dijkstra  <wdijkstr@arm.com>

* config/aarch64/aarch64.c (aarch64_bitmask_imm): Reimplement using
faster algorithm.

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

9 years agogcc/testsuite/
olegendo [Sun, 20 Sep 2015 14:36:58 +0000 (14:36 +0000)] 
gcc/testsuite/
* gcc.target/sh/pr43417.c: Move target independent test to ...
* gcc.c-torture/compile/pr43417.c: ... here.

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

9 years agogcc/testsuite/
olegendo [Sun, 20 Sep 2015 14:09:36 +0000 (14:09 +0000)] 
gcc/testsuite/
* gcc.target/sh/sh.exp (check_effective_target_sh4a,
check_effective_target_big_endian, check_effective_target_little_endian,
check_effective_target_any_fpu, check_effective_target_double_fpu,
check_effective_target_use_single_only_fpu,
check_effective_target_default_single_fpu,
check_effective_target_no_fpu, check_effective_target_has_xf_regs,
check_effective_target_has_fsca, check_effective_target_has_fsrra,
check_effective_target_has_fpchg, check_effective_target_has_dyn_shift,
check_effective_target_fmovd_enabled,
check_effective_target_has_privileged, check_effective_target_has_pref,
check_effective_target_banked_r0r7_isr,
check_effective_target_stack_save_isr): New effective target checks.
* gcc.target/sh/pr51244-16.c: Merge into pr51244-15.c.
* gcc.target/sh/pr51244-20-sh2a.c: Merge into pr51244-20.c.
* gcc.target/sh/pr51244-3.c: Merge into pr51244-2.c
* gcc.target/sh/pr54089-5.c: Merge into pr54089-4.c.
* gcc.target/sh/20080410-1.c: Use new effective target checks.
* gcc.target/sh/attr-isr-nosave_low_regs.c: Likewise.
* gcc.target/sh/attr-isr.c: Likewise.
* gcc.target/sh/fpul-usage-1.c: Likewise.
* gcc.target/sh/hiconst.c: Likewise.
* gcc.target/sh/mfmovd.c: Likewise.
* gcc.target/sh/pr21255-3.c: Likewise.
* gcc.target/sh/pr33135-1.c: Likewise.
* gcc.target/sh/pr33135-2.c: Likewise.
* gcc.target/sh/pr33135-3.c: Likewise.
* gcc.target/sh/pr33135-4.c: Likewise.
* gcc.target/sh/pr39423-2.c: Likewise.
* gcc.target/sh/pr49880-4.c: Likewise.
* gcc.target/sh/pr49880-5.c: Likewise.
* gcc.target/sh/pr50749-sf-postinc-1.c: Likewise.
* gcc.target/sh/pr50749-sf-postinc-2.c: Likewise.
* gcc.target/sh/pr50749-sf-postinc-3.c: Likewise.
* gcc.target/sh/pr50749-sf-postinc-4.c: Likewise.
* gcc.target/sh/pr50749-sf-predec-1.c: Likewise.
* gcc.target/sh/pr50749-sf-predec-2.c: Likewise.
* gcc.target/sh/pr50749-sf-predec-3.c: Likewise.
* gcc.target/sh/pr50749-sf-predec-4.c: Likewise.
* gcc.target/sh/pr50751-2.c: Likewise.
* gcc.target/sh/pr50751-3.c: Likewise.
* gcc.target/sh/pr50751-5.c: Likewise.
* gcc.target/sh/pr50751-6.c: Likewise.
* gcc.target/sh/pr50751-8.c: Likewise.
* gcc.target/sh/pr51244-15.c: Likewise.
* gcc.target/sh/pr51244-2.c: Likewise.
* gcc.target/sh/pr51244-20.c: Likewise.
* gcc.target/sh/pr51244-6.c: Likewise.
* gcc.target/sh/pr52483-4.c: Likewise.
* gcc.target/sh/pr53511-1.c: Likewise.
* gcc.target/sh/pr53512-1.c: Likewise.
* gcc.target/sh/pr53512-2.c: Likewise.
* gcc.target/sh/pr53512-3.c: Likewise.
* gcc.target/sh/pr53512-4.c: Likewise.
* gcc.target/sh/pr53513-1.c: Likewise.
* gcc.target/sh/pr54089-2.c: Likewise.
* gcc.target/sh/pr54089-3.c: Likewise.
* gcc.target/sh/pr54089-4.c: Likewise.
* gcc.target/sh/pr54602-2.c: Likewise.
* gcc.target/sh/pr54602-3.c: Likewise.
* gcc.target/sh/pr54602-4.c: Likewise.
* gcc.target/sh/pr54680.c: Likewise.
* gcc.target/sh/pr55303-1.c: Likewise.
* gcc.target/sh/pr55303-2.c: Likewise.
* gcc.target/sh/pr55303-3.c: Likewise.
* gcc.target/sh/pr56547-1.c: Likewise.
* gcc.target/sh/pr56547-2.c: Likewise.
* gcc.target/sh/pr61195.c: Likewise.
* gcc.target/sh/pr61996.c: Likewise.
* gcc.target/sh/pr6526.c: Likewise.
* gcc.target/sh/pragma-isr-nosave_low_regs.c: Likewise.
* gcc.target/sh/pragma-isr-trapa2.c: Likewise.
* gcc.target/sh/prefetch.c: Likewise.
* gcc.target/sh/rte-delay-slot.c: Likewise.
* gcc.target/sh/sh2a-band.c: Likewise.
* gcc.target/sh/sh2a-bclr.c: Likewise.
* gcc.target/sh/sh2a-bclrmem.c: Likewise.
* gcc.target/sh/sh2a-bld.c: Likewise.
* gcc.target/sh/sh2a-bor.c: Likewise.
* gcc.target/sh/sh2a-bset.c: Likewise.
* gcc.target/sh/sh2a-bsetmem.c: Likewise.
* gcc.target/sh/sh2a-bxor.c: Likewise.
* gcc.target/sh/sh2a-jsrn.c: Likewise.
* gcc.target/sh/sh2a-movi20s.c: Likewise.
* gcc.target/sh/sh2a-movrt.c: Likewise.
* gcc.target/sh/sh2a-resbank.c: Likewise.
* gcc.target/sh/sh2a-rtsn.c: Likewise.
* gcc.target/sh/sh2a-tbr-jump.c: Likewise.
* gcc.target/sh/sh4a-bitmovua.c: Likewise.
* gcc.target/sh/sh4a-cosf.c: Likewise.
* gcc.target/sh/sh4a-fsrra.c: Likewise.
* gcc.target/sh/sh4a-memmovua.c: Likewise.
* gcc.target/sh/sh4a-sincosf.c: Likewise.
* gcc.target/sh/sh4a-sinf.c: Likewise.

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

9 years ago[PATCH] Fix 47679 by improving jump threading
law [Sun, 20 Sep 2015 06:37:39 +0000 (06:37 +0000)] 
[PATCH] Fix 47679 by improving jump threading

PR tree-optimization/47679
* tree-ssa-dom.c (record_temporary_equivalences): No longer static.
* tree-ssa-dom.h (record_temporary_equivalences): Add prototype.
* tree-ssa-threadedge.c: Include tree-ssa-dom.h.
(thread_through_normal_block): Use record_temporary_equivalences.

        PR tree-optimization/47679
* g++.dg/warn/Wuninitialized-6.C: New test.

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

9 years agoswitch from gimple to gimple*
tbsaunde [Sun, 20 Sep 2015 00:52:59 +0000 (00:52 +0000)] 
switch from gimple to gimple*

This renames the gimple_statement_base struct to gimple removes the
typedef of gimple_statement_base * to gimple, and then adjusts all of
the places that use the type.

gcc/ChangeLog:

2015-09-19  Trevor Saunders  <tbsaunde@tbsaunde.org>

* coretypes.h (gimple): Change typedef to be a forward
declaration.
* gimple.h (gimple_statement_base): rename to gimple.
* (all functions and types using gimple): Adjust.
* *.[ch]: Likewise.

gcc/cp/ChangeLog:

2015-09-19  Trevor Saunders  <tbsaunde@tbsaunde.org>

* cp-gimplify.c (gimplify_must_not_throw_expr): Adjust.

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

9 years agoDaily bump.
gccadmin [Sun, 20 Sep 2015 00:16:12 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago2015-09-19 Andrew Dixie <andrewd@gentrack.com>
dje [Sat, 19 Sep 2015 22:57:47 +0000 (22:57 +0000)] 
2015-09-19  Andrew Dixie  <andrewd@gentrack.com>
            David Edelsohn  <dje.gcc@gmail.com>

        * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): Delete.
        (ASM_PREFERRED_EH_DATA_FORMAT): Define.
        (EH_FRAME_THROUGH_COLLECT2): Define.
        (EH_TABLES_CAN_BE_READ_ONLY): Define.
        (ASM_OUTPUT_DWARF_PCREL): Define.
        (ASM_OUTPUT_DWARF_DATAREL): Define.

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

9 years ago PR libstdc++/67361
timshen [Sat, 19 Sep 2015 20:56:27 +0000 (20:56 +0000)] 
PR libstdc++/67361
* include/bits/regex_error.h: Add __throw_regex_error that
supports string.
* include/bits/regex_automaton.h: Add more specific exception
messages.
* include/bits/regex_automaton.tcc: Likewise.
* include/bits/regex_compiler.h: Likewise.
* include/bits/regex_compiler.tcc: Likewise.
* include/bits/regex_scanner.h: Likewise.
* include/bits/regex_scanner.tcc: Likewise.

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

9 years ago * config/pa/pa.c (pa_function_ok_for_sibcall): Remove special treatment
danglin [Sat, 19 Sep 2015 18:32:28 +0000 (18:32 +0000)] 
* config/pa/pa.c (pa_function_ok_for_sibcall): Remove special treatment
of TARGET_ELF32.

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

9 years ago/cp
ville [Sat, 19 Sep 2015 04:44:01 +0000 (04:44 +0000)] 
/cp
2015-09-18  Ville Voutilainen  <ville.voutilainen@gmail.com>

Implement nested namespace definitions.
* parser.c (cp_parser_namespace_definition): Grok nested namespace
definitions.

/testsuite
2015-09-18  Ville Voutilainen  <ville.voutilainen@gmail.com>

Implement nested namespace definitions.
* g++.dg/cpp1z/nested-namespace-def1.C: New.
* g++.dg/cpp1z/nested-namespace-def2.C: Likewise.
* g++.dg/cpp1z/nested-namespace-def3.C: Likewise.
* g++.dg/lookup/name-clash5.C: Adjust.
* g++.dg/lookup/name-clash6.C: Likewise.

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

9 years ago[PATCH] avail_expr_stack is no longer file scoped
law [Sat, 19 Sep 2015 02:56:15 +0000 (02:56 +0000)] 
[PATCH] avail_expr_stack is no longer file scoped

       PR tree-optimization/47679
        * tree-ssa-dom.c (avail_exprs_stack): No longer file scoped.  Move
        it here ...
        (dom_opt_dom_walker): New private member holding the avail_exprs_stack
        object.  Update constructor.
        (pass_dominator::execute):  Corresponding chagnes to declaration
        and initialization of avail_exprs_stack.  Update constructor call
        for dom_opt_dom_walker object.
        (lookup_avail_expr, record_cond): Accept additional argument.  Pass
        it down to children as needed.
        (record_equivalences_from_incoming_edge): Likewise.
        (eliminate_redundant_computations): Likewise.
        (record_equivalences_from_stmt): Likewise.
        (simplify_stmt_for_jump_threading): Likewise.
        (record_temporary_equivalences): Likewise.
        (optimize_stmt): Likewise.
        (dom_opt_dom_walker::thread_across_edge): Update access to
        avail_exprs_stack object and pass it to children as needed.
        (dom_opt_dom_walker::before_dom_children): Similarly.
        (dom_opt_dom_walker::after_dom_children): Similarly.
        * tree-ssa-threadedge.c (pfn_simplify): New typedef.
        (record_temporary_equivalences_from_stmts_at_dest): Use new typedef.
        Add avail_expr_stack argument.  Pass it to children as needed.
        (dummy_simplify): Likewise.
        (simplify_control_stmt_condition): Likewise.
        (thread_around_empty_blocks): Likewise.
        (thread_through_normal_block): Likewise.
        (thread_across_edge): Likewise.
        * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
        * tree-vrp.c (simplify_stmt_for_jump_threading): Update.

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

9 years agoDaily bump.
gccadmin [Sat, 19 Sep 2015 00:16:11 +0000 (00:16 +0000)] 
Daily bump.

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

9 years agoMisplaced return in previous commit.
manu [Fri, 18 Sep 2015 22:34:53 +0000 (22:34 +0000)] 
Misplaced return in previous commit.

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

* c-pragma.c (handle_pragma_diagnostic): Fix wrong return.

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

9 years agoUse explicit locations for some warnings in c-pragma.c.
manu [Fri, 18 Sep 2015 19:36:19 +0000 (19:36 +0000)] 
Use explicit locations for some warnings in c-pragma.c.

gcc/cp/ChangeLog:

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

* parser.c (pragma_lex): Add loc argument. Rearrange the code to
make it more similar to the C version.

gcc/c-family/ChangeLog:

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

* c-pragma.c (handle_pragma_diagnostic): Use explicit location
when warning.
* c-pragma.h (pragma_lex): Add optional loc argument.

gcc/c/ChangeLog:

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

* c-parser.c (pragma_lex): Add loc argument.

gcc/testsuite/ChangeLog:

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

* gcc.dg/pragma-diag-5.c: New test.

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

9 years ago[PATCH] const_and_copies is no longer file scoped
law [Fri, 18 Sep 2015 19:33:48 +0000 (19:33 +0000)] 
[PATCH] const_and_copies is no longer file scoped

        PR tree-optimization/47679
* tree-ssa-dom.c (const_and_copies): No longer file scoped.  Move
it here ...
(dom_opt_dom_walker): New private member holding the const_and_copies
object.  Update constructor.
(pass_dominator::execute): Corresponding changes to declaration
and initialization of const_and_copies.  Update constructor call
for the dom_opt_dom_walker object.
(record_temporary_equivalences): Accept const_and_copies argument
pass it down to children as needed.
(record_equality): Likewise.
(record_equivalences_from_incoming_edge): Likewise.
(cprop_into_successor_phis, optimize_stmt): Likewise.
(eliminate_redundant_computations): Likewise.
(dom_opt_dom_walker::thread_across_edge): Update access to
const_and_copies object and pass it to children as needed.
(dom_opt_dom_walker::before_dom_children): Similarly.
(dom_opt_dom_walker::after_dom_children): Similarly.

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

9 years ago[PATCH] avail_exprs is no longer file scoped
law [Fri, 18 Sep 2015 19:12:22 +0000 (19:12 +0000)] 
[PATCH] avail_exprs is no longer file scoped

* tree-ssa-dom.c (avail_exprs): No longer file scoped.  Bury
it into the avail_exprs_stack class.
(pass_dominator::execute): Corresponding changes to declaration
and initialization of avail_exprs.  Pass avail_exprs to
dump_dominator_optimization_stats.
(record_cond): Extract avail_exprs from avail_exprs_stack.
(lookup_avail_expr): Similarly.
(htab_staticstics): Remove unnecessary prototype.  Move to earlier
position in file.
(dump_dominator_optimization_stats): Make static and prototype.
Add argument for the hash table to dump.
(debug_dominator_optimization_stats): Remove.
* tree-ssa-dom.h (dump_dominator_optimization_stats): Remove
prototype.
(debug_dominator_optimization_stats): Similarly.
* tree-ssa-scopedtables.h (class avail_exprs_stack): Add missing
"void" in prototype for pop_to_marker method.  Add accessor method
for the underlying avail_exprs table.

* tree-ssa-threadedge.c: Remove trailing whitespace.

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

9 years ago * config/pa/pa-protos.h (pa_cint_ok_for_move): Change argument type to
danglin [Fri, 18 Sep 2015 18:56:10 +0000 (18:56 +0000)] 
* config/pa/pa-protos.h (pa_cint_ok_for_move): Change argument type to
unsigned.
(pa_ldil_cint_p): Likewise.
* config/pa/pa.c (pa_cint_ok_for_move): likewise.
(pa_ldil_cint_p): Likewise. Change signed casts to unsigned.
Update callers.
* config/pa/pa.md: Likewise.

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

9 years agoMove diagnostic_show_locus and friends out into a new source file
dmalcolm [Fri, 18 Sep 2015 18:27:44 +0000 (18:27 +0000)] 
Move diagnostic_show_locus and friends out into a new source file

gcc/ChangeLog:
* Makefile.in (OBJS-libcommon): Add diagnostic-show-locus.o.
* diagnostic.c (adjust_line): Move to diagnostic-show-locus.c.
(diagnostic_show_locus): Likewise.
(diagnostic_print_caret_line): Likewise.
* diagnostic-show-locus.c: New file.

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

9 years agoUpdate copyright.
dje [Fri, 18 Sep 2015 18:14:45 +0000 (18:14 +0000)] 
Update copyright.

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

9 years ago * dwarf2out.c (switch_to_eh_frame_section): Add ATTRIBUTE_UNUSED to
dje [Fri, 18 Sep 2015 18:03:26 +0000 (18:03 +0000)] 
    * dwarf2out.c (switch_to_eh_frame_section): Add ATTRIBUTE_UNUSED to
        "back" parameter. Declare label in #if block.

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

9 years ago PR middle-end/67619
uros [Fri, 18 Sep 2015 16:27:51 +0000 (16:27 +0000)] 
PR middle-end/67619
* except.c (expand_builtin_eh_return): Use copy_addr_to_reg to copy
the address to a register.

testsuite/ChangeLog:

PR middle-end/67619
* gcc.dg/torture/pr67619.c: New test.

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

9 years ago[PATCH] Break out phi-only cprop into its own file
law [Fri, 18 Sep 2015 15:29:01 +0000 (15:29 +0000)] 
[PATCH] Break out phi-only cprop into its own file

PR tree-optimization/47679
* Makefile.in (OBJS): Add tree-ssa-phionlycprop.o
* tree-ssa-dom.c: Remove unnecessary header includes.
(remove_stmt_or_phi): Moved from here into tree-ssa-phionlycprop.c
(get_rhs_or_phi_arg, get_lhs_or_phi_result): Likewise.
(propagate_rhs_into_lhs, eliminate_const_or_copy): Likewise.
(eliminate_degenerate_phis_1, pass_phi_only_cprop): Likewise.
(pass_phi_only_cprop::execute): Likewise.
(make_pass_phi_only_cprop): Likewise.
* tree-ssa-phionlycprop.c: New file with moved code.  Eliminate
uses of file scoped statics by passing the required objects
as parameters wherever needed.

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

9 years ago * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtdbase.o.
dje [Fri, 18 Sep 2015 14:20:01 +0000 (14:20 +0000)] 
    * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtdbase.o.
        * config/rs6000/rs6000-protos.h (rs6000_asm_output_dwarf_pcrel):
        Declare.
        (rs6000_asm_output_dwarf_datarel): Declare.

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

9 years agolibgcc/
dje [Fri, 18 Sep 2015 14:10:36 +0000 (14:10 +0000)] 
libgcc/
        * config.host (powerpc-ibm-aix*): Add crtdbase.o to extra_parts.
        * config/rs6000/crtdbase.S: New file.
        * config/rs6000/t-aix-cxa: Build crtdbase.o.

gcc/
        * defaults.h (EH_FRAME_SECTION_NAME): Depend on
        EH_FRAME_THROUGH_COLLECT2.
        * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add case for
        DW_EH_PE_datarel.
        * dwarf2out.c (switch_to_eh_frame_section): Use a read-only section
        even if EH_FRAME_SECTION_NAME is undefined.  Restrict special
        collect2 labels to EH_FRAME_THROUGH_COLLECT2.
        * except.c (switch_to_exception_section): Use a read-only section
        even if EH_FRAME_SECTION_NAME is undefined.
        * system.h (EH_FRAME_IN_DATA_SECTION): Poison.
        * collect2.c (write_c_file_stat): Provide dbase on AIX.
        (scan_prog_file): Don't export __dso_handle nor
        __gcc_unwind_dbase.
        * config/rs6000/aix.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
        (EH_TABLES_CAN_BE_READ_ONLY): Define.
        (ASM_OUTPUT_DWARF_PCREL): Define.
        (ASM_OUTPUT_DWARF_DATAREL): Define.
        (EH_FRAME_THROUGH_COLLECT2): Define.
        (EH_FRAME_IN_DATA_SECTION): Delete.
        * config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_pcrel): New.
        (rs6000_aix_asm_output_dwarf_datarel): New.
        (rs6000_xcoff_asm_init_sections): Don't set exception_section.
        * config/spu/spu-elf.h (EH_FRAME_IN_DATA_SECTION): Delete.
        (EH_FRAME_THROUGH_COLLECT2): Define.
        * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Delete.
        (EH_FRAME_THROUGH_COLLECT2): Define.
        (EH_TABLES_CAN_BE_READ_ONLY): Define.
        * doc/tm.texi.in (EH_FRAME_IN_DATA_SECTION): Delete.
        (EH_FRAME_THROUGH_COLLECT2): New.
        (ASM_OUTPUT_DWARF_DATAREL): New.
        * doc/tm.texi: Regenerate.

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

9 years ago2015-09-18 Richard Biener <rguenther@suse.de>
rguenth [Fri, 18 Sep 2015 12:59:32 +0000 (12:59 +0000)] 
2015-09-18  Richard Biener  <rguenther@suse.de>

* dwarf2out.c (append_entry_to_tmpl_value_parm_die_table): Assert
we're in early phase.
(schedule_generic_params_dies_gen): Likewise.
(gen_remaining_tmpl_value_param_die_attribute): Do only as much
work as possible, retaining unhandled cases.
(gen_scheduled_generic_parms_dies): Set early-dwarf flag and
clear out generic_type_instances at the end.
(dwarf2out_finish): Move call to gen_scheduled_generic_parms_dies...
(dwarf2out_early_finish): ... here.  Do most of
gen_remaining_tmpl_value_param_die_attribute here.

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

9 years agoFix errors due to extra includes in extc++.h
redi [Fri, 18 Sep 2015 11:21:05 +0000 (11:21 +0000)] 
Fix errors due to extra includes in extc++.h

* include/precompiled/extc++.h: Fix bootstrap error due to
unconditional inclusion of <ext/enc_filebuf.h>.
* include/ext/random: Check for definition of UINT32_C.

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

9 years agocompletely_scalarize arrays as well as records.
alalaw01 [Fri, 18 Sep 2015 10:55:11 +0000 (10:55 +0000)] 
completely_scalarize arrays as well as records.

gcc/:

PR tree-optimization/67283
* tree-sra.c (type_consists_of_records_p): Rename to...
(scalarizable_type_p): ...this, add case for ARRAY_TYPE.
(completely_scalarize_record): Rename to...
(completely_scalarize): ...this, add ARRAY_TYPE case, move some code to:
(scalarize_elem): New.
(analyze_all_variable_accesses): Follow renamings.

gcc/testsuite/:

* gcc.dg/tree-ssa/sra-15.c: New.
* gcc.dg/tree-ssa/sra-16.c: New.

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

9 years ago2015-09-18 Richard Biener <rguenther@suse.de>
rguenth [Fri, 18 Sep 2015 08:42:34 +0000 (08:42 +0000)] 
2015-09-18  Richard Biener  <rguenther@suse.de>

* dwarf2out.c (add_location_or_const_value_attribute): Do nothing
in early-dwarf.

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

9 years ago2015-09-18 Richard Biener <rguenther@suse.de>
rguenth [Fri, 18 Sep 2015 07:57:00 +0000 (07:57 +0000)] 
2015-09-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66142
* fold-const.c (operand_equal_p): When OEP_ADDRESS_OF
treat MEM[&x] and x the same.
* tree-ssa-sccvn.h (vn_reference_fold_indirect): Remove.
* tree-ssa-sccvn.c (vn_reference_fold_indirect): Return true
when we simplified sth.
(vn_reference_maybe_forwprop_address): Likewise.
(valueize_refs_1): When we simplified through
vn_reference_fold_indirect or vn_reference_maybe_forwprop_address
set valueized_anything to true.
(vn_reference_lookup_3): Use stmt_kills_ref_p to see whether
one ref kills the other instead of just a offset-based test.
* tree-ssa-alias.c (stmt_kills_ref_p): Use OEP_ADDRESS_OF
for the operand_equal_p test to compare bases and also compare
sizes.

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

9 years agoDaily bump.
gccadmin [Fri, 18 Sep 2015 00:16:14 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago2015-09-17 Catherine Moore <clm@codesourcery.com>
clm [Thu, 17 Sep 2015 23:16:53 +0000 (23:16 +0000)] 
2015-09-17  Catherine Moore  <clm@codesourcery.com>

        * src/c++11/debug.cc: Include <cstdio>.

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

9 years agoInclude <cerrno> in src/c++11/random.cc
redi [Thu, 17 Sep 2015 21:28:00 +0000 (21:28 +0000)] 
Include <cerrno> in src/c++11/random.cc

2015-09-17  Gerald Pfeifer  <gerald@pfeifer.com>

* src/c++11/random.cc: Include <cerrno>.

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

9 years ago2015-09-17 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Thu, 17 Sep 2015 19:43:00 +0000 (19:43 +0000)] 
2015-09-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR sanitizer/64078
        * c-c++-common/ubsan/object-size-9.c (s): Add alignment attribute.
        (f2, f3): Make the function static.
        * c-c++-common/ubsan/object-size-10.c (a, b): Add alignment attribute.

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

9 years ago2015-09-17 François Dumont <fdumont@gcc.gnu.org>
fdumont [Thu, 17 Sep 2015 19:23:26 +0000 (19:23 +0000)] 
2015-09-17  François Dumont  <fdumont@gcc.gnu.org>

* include/debug/formatter.h
(_Error_formatter::_Parameter::_M_print_field): Deprecate.
(_Error_formatter::_Parameter::_M_print_description): Likewise.
(_Error_formatter::_M_format_word): Likewise.
(_Error_formatter::_M_print_word): Likewise.
(_Error_formatter::_M_print_string): Likewise.
(_Error_formatter::_M_get_max_length): Likewise.
(_Error_formatter::_M_max_length): Delete.
(_Error_formatter::_M_indent): Likewise.
(_Error_formatter::_M_column): Likewise.
(_Error_formatter::_M_first_line): Likewise.
(_Error_formatter::_M_wordwrap): Likewise.
* src/c++11/debug.cc: Adapt.

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

9 years ago Implement N4295 fold-expressions.
jason [Thu, 17 Sep 2015 18:26:06 +0000 (18:26 +0000)] 
Implement N4295 fold-expressions.

* cp-tree.def: Add UNARY_LEFT_FOLD_EXPR, UNARY_RIGHT_FOLD_EXPR,
BINARY_LEFT_FOLD_EXPR, BINARY_RIGHT_FOLD_EXPR.
* cp-objcp-common.c (cp_common_init_ts): Handle them.
* cp-tree.h (FOLD_EXPR_CHECK, BINARY_FOLD_EXPR_CHECK, FOLD_EXPR_P)
(FOLD_EXPR_MODIFY_P, FOLD_EXPR_OP, FOLD_EXPR_PACK, FOLD_EXPR_INIT): New.
* parser.c (cp_parser_skip_to_closing_parenthesis): Split out...
(cp_parser_skip_to_closing_parenthesis_1): This function.  Change
or_comma parameter to or_ttype.
(cp_parser_fold_operator, cp_parser_fold_expr_p)
(cp_parser_fold_expression): New.
(cp_parser_primary_expression): Use them.
* pt.c (expand_empty_fold, fold_expression, tsubst_fold_expr_pack)
(tsubst_fold_expr_init, expand_left_fold, tsubst_unary_left_fold)
(tsubst_binary_left_fold, expand_right_fold)
(tsubst_unary_right_fold, tsubst_binary_right_fold): New.
(tsubst_copy): Use them.
(type_dependent_expression_p): Handle fold-expressions.
* semantics.c (finish_unary_fold_expr)
(finish_left_unary_fold_expr, finish_right_unary_fold_expr)
(finish_binary_fold_expr): New.

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

9 years ago2015-09-17 Ian Lance Taylor <iant@google.com>
dje [Thu, 17 Sep 2015 17:08:04 +0000 (17:08 +0000)] 
2015-09-17  Ian Lance Taylor  <iant@google.com>

        * posix.c (backtrace_open): Cast second argument of open() to int.

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

9 years ago2015-09-17 Christian Bruel <christian.bruel@st.com>
chrbr [Thu, 17 Sep 2015 15:57:59 +0000 (15:57 +0000)] 
2015-09-17  Christian Bruel  <christian.bruel@st.com>

* config/arm/arm.md (*call_value_symbol): Fix operand for interworking.

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

9 years ago * gcc-interface/trans.c (emit_check): Do not touch TREE_SIDE_EFFECTS.
ebotcazou [Thu, 17 Sep 2015 15:51:40 +0000 (15:51 +0000)] 
* gcc-interface/trans.c (emit_check): Do not touch TREE_SIDE_EFFECTS.

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

9 years agoHandle alignment in __atomic_is_lock_free
redi [Thu, 17 Sep 2015 15:46:04 +0000 (15:46 +0000)] 
Handle alignment in __atomic_is_lock_free

gcc:

2015-09-17  Richard Henderson  <rth@redhat.com>

PR libstdc++/65913
* builtins.c (fold_builtin_atomic_always_lock_free): Handle fake
pointers that encode the alignment of the object.

libstdc++-v3:

2015-09-17  Jonathan Wakely  <jwakely@redhat.com>

PR libstdc++/65913
* include/bits/atomic_base.h (__atomic_base<_TTp>::is_lock_free(),
__atomic_base<_PTp*>::is_lock_free()): Call the built-in with the
immediate pointer value, not a variable.
* include/std/atomic (atomic<T>::is_lock_free()): Likewise.
* testsuite/29_atomics/atomic/65913.cc: New.

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

9 years ago PR rtl-optimization/66790
ebotcazou [Thu, 17 Sep 2015 15:35:24 +0000 (15:35 +0000)] 
PR rtl-optimization/66790
* df-problems.c (LIVE): Amend documentation.

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

9 years agoRemove non-deterministic part of canonical() test
redi [Thu, 17 Sep 2015 15:33:20 +0000 (15:33 +0000)] 
Remove non-deterministic part of canonical() test

* testsuite/experimental/filesystem/operations/canonical.cc: Remove
non-deterministic part of the test.

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

9 years agoMake std::random_device retry after short reads
redi [Thu, 17 Sep 2015 15:06:42 +0000 (15:06 +0000)] 
Make std::random_device retry after short reads

PR libstdc++/65142
* src/c++11/random.cc (random_device::_M_getval()): Retry after short
reads.

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

9 years agoRemove redundant conditional expressions in <system_error>
redi [Thu, 17 Sep 2015 14:56:50 +0000 (14:56 +0000)] 
Remove redundant conditional expressions in <system_error>

* include/std/system_error (error_code::operator bool(),
error_condition::operator bool()): Remove redundant conditional
expression.

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

9 years agoOnly do shrink_to_fit() when exceptions enabled
redi [Thu, 17 Sep 2015 14:56:46 +0000 (14:56 +0000)] 
Only do shrink_to_fit() when exceptions enabled

* include/bits/allocator.h (__shrink_to_fit_aux<T, true>::_S_do_it):
Do nothing if exceptions are disabled.
* include/bits/basic_string.h (basic_string::shrink_to_fit): Likewise.

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

9 years agoSplit up optabs.[hc]
rsandifo [Thu, 17 Sep 2015 14:28:59 +0000 (14:28 +0000)] 
Split up optabs.[hc]

optabs.[hc] is a bit of a behemoth.  It includes basic functions for querying
what a target can do, related tree- and gimple-level query functions,
related rtl-level query functions, and the functions that actually
generate code.  Some gimple optimisations therefore need:

#include "insn-config.h"
#include "expmed.h"
#include "dojump.h"
#include "explow.h"
#include "emit-rtl.h"
#include "varasm.h"
#include "stmt.h"
#include "expr.h"

purely to query whether the target has support for a particular operation.

This patch splits optabs up as follows:

      - optabs-query.[hc]: IL-independent functions for querying what a target
          can do natively.
      - optabs-tree.[hc]: tree and gimple query functions (an extension of
          optabs-query.[hc]).
      - optabs-libfuncs.[hc]: optabs-specific libfuncs (an extension of
          libfuncs.h)
      - optabs.h: For now includes optabs-query.h and optabs-libfuncs.h.

Only two files outside optabs need to include both optabs.h and
optabs-tree.h: expr.c and function.c.  I think that's expected given
that both are related to expand.

It might be good to split optabs.h further, but this is already quite
a big patch.

I changed can_conditionally_move_p from returning an int to returning
a bool and fixed a few formatting glitches.  There should be no other
changes to the functions themselves.

gcc/
* Makefile.in (OBJS): Add optabs-libfuncs.o, optabs-query.o
and optabs-tree.o.
(GTFILES): Replace optabs.c with optabs-libfunc.c.
* genopinit.c (main): Add an include guard to insn-opinit.h.
Protect the rtx_code parts with NUM_RTX_CODE.
* optabs.h: Split parts out to...
* optabs-libfuncs.h, optabs-query.h, optabs-tree.h: ...these
new files.
* optabs.c: Split parts out to...
* optabs-libfuncs.c, optabs-query.c, optabs-tree.c: ...these
new files.
* cilk-common.c: Include optabs-query.h rather than optabs.h.
* fold-const.c: Likewise.
* target-globals.c: Likewise.
* tree-if-conv.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-math-opts.c: Include optabs-tree.h rather than
optabs.h.  Remove unncessary include files.
* tree-ssa-phiopt.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-generic.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-slp.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vrp.c: Likewise.
* toplev.c: Include optabs-query.h and optabs-libfuncs.h
rather than optabs.h.
* expr.c: Include optabs-tree.h.
* function.c: Likewise.

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

9 years ago compiler: Issue channel type errors earlier.
ian [Thu, 17 Sep 2015 13:57:40 +0000 (13:57 +0000)] 
compiler: Issue channel type errors earlier.

    When asking for the type of a receive operation, the compiler would
    return an error type if the receive operator was being used on an
    invalid channel type and the error would be reported in a later pass.
    There are several ways that the type checking pass would not see
    the original node and fail to issue the error.  This patch modifies
    receive operations to give an error immediately once it is known that
    the channel type is invalid.

    Fixes golang/go#12323.

    Reviewed-on: https://go-review.googlesource.com/13987

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

9 years ago PR middle-end/65958
ebotcazou [Thu, 17 Sep 2015 11:06:57 +0000 (11:06 +0000)] 
PR middle-end/65958
* config/arm/linux-elf.h (STACK_CHECK_STATIC_BUILTIN): Define.
* config/arm/arm-protos.h (output_probe_stack_range): Declare.
* config/arm/arm.c: Include common/common-target.h.
(use_return_insn): Return 0 if the static chain register was saved
above a non-APCS frame.
(arm_compute_static_chain_stack_bytes): Adjust for stack checking.
(struct scratch_reg): New.
(get_scratch_register_on_entry): New function.
(release_scratch_register_on_entry): Likewise.
(arm_emit_probe_stack_range): Likewise.
(output_probe_stack_range): Likewise.
(arm_expand_prologue): Factor out code dealing with the IP register
for nested function and adjust it for stack checking.
Invoke arm_emit_probe_stack_range if static builtin stack checking
is enabled.
(thumb1_expand_prologue): Sorry out if static builtin stack checking
is enabled.
(arm_expand_epilogue): Add the saved static chain register, if any, to
the amount of pre-pushed registers to pop.
(arm_frame_pointer_required): Return true if static stack checking is
enabled and we want to catch the exception with the EABI unwinder.
* config/arm/unspecs.md (UNSPEC_PROBE_STACK): New constant.
(UNSPEC_PROBE_STACK_RANGE): Likewise.
* config/arm/arm.md (probe_stack): New insn.
(probe_stack_range): Likewise.

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

9 years ago2015-09-17 Richard Biener <rguenther@suse.de>
rguenth [Thu, 17 Sep 2015 11:02:11 +0000 (11:02 +0000)] 
2015-09-17  Richard Biener  <rguenther@suse.de>

* genmatch.c (parser::parse_expr): Improve error message
for mis-placed flags.

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

9 years ago2015-09-17 Richard Biener <rguenther@suse.de>
rguenth [Thu, 17 Sep 2015 09:47:43 +0000 (09:47 +0000)] 
2015-09-17  Richard Biener  <rguenther@suse.de>

* passes.c (rest_of_decl_compilation): Always call early_global_decl
debug hook when we created a varpool node.
* dwarf2out.c (dwarf2out_late_global_decl): When in LTO call
dwarf2out_early_global_decl, when not just add location or
value attributes to existing DIEs.

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

9 years ago2015-09-17 Paul Thomas <pault@gcc.gnu.org>
pault [Thu, 17 Sep 2015 09:09:34 +0000 (09:09 +0000)] 
2015-09-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
PR fortran/67588
* module.c : Add static no_module_procedures.
(gfc_match_submodule): Correct memory leakage caused during the
freeing of use_lists.
(mio_symbol_attribute): Reset above if module procedure is
encountered.
(gfc_dump_module): Set above and exit without writing smod file
if it reset.
* gfortran.texi : Add section on submodule support.

2015-09-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* gfortran.dg/public_private_module_5.f90: Add module procedure
trigger_smod to ensure that the smod file is written.

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

9 years ago[AArch64] Implement copysign[ds]f3
jgreenhalgh [Thu, 17 Sep 2015 08:23:05 +0000 (08:23 +0000)] 
[AArch64] Implement copysign[ds]f3

gcc/

* config/aarch64/aarch64.md (copysigndf3): New.
(copysignsf3): Likewise.

gcc/testsuite/

* gcc.target/aarch64/copysign_1.c: New.
* gcc.target/aarch64/copysign_2.c: New.

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

9 years agoFix LRA regressions on 64-bit SPARC.
davem [Thu, 17 Sep 2015 07:54:07 +0000 (07:54 +0000)] 
Fix LRA regressions on 64-bit SPARC.

gcc/
* config/sparc/sparc-protos.h (sparc_secondary_memory_needed):
Declare.
* config/sparc/sparc.c (sparc_secondary_memory_needed): New
function.
* config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it.
(HARD_REGNO_CALLER_SAVE_MODE): Define.
* config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44)
(setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi)
(embmedany_losum, embmedany_brsum, embmedany_textuhi)
(embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not
provide when flag_pic.

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

9 years ago2015-09-17 Richard Biener <rguenther@suse.de>
rguenth [Thu, 17 Sep 2015 07:48:09 +0000 (07:48 +0000)] 
2015-09-17  Richard Biener  <rguenther@suse.de>

* cp-tree.h (note_decl_for_pch): Remove.
* class.c (build_clone): Do not call note_decl_for_pch.
* semantics.c (finish_member_declaration): Likewise.
(note_decl_for_pch): Remove.
* decl2.c (c_parse_final_cleanups): Mangle all globals before
writing the PCH.

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

9 years agoFix build failure for SH.
kkojima [Thu, 17 Sep 2015 07:45:41 +0000 (07:45 +0000)] 
Fix build failure for SH.
* config/sh/sh.c (label_ref_list_d_pool): Adjust to object_allocator change.

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

9 years ago PR tree-optimization/66388
amker [Thu, 17 Sep 2015 03:40:18 +0000 (03:40 +0000)] 
PR tree-optimization/66388
* tree-ssa-loop-ivopts.c (struct iv, iv_cand, ivopts_data): New
fields.
(dump_iv): Dump no_overflow information.
(alloc_iv): Initialize new field for struct iv.
(mark_bivs): Count number of no_overflow bivs.
(find_deriving_biv_for_expr, record_biv_for_address_use): New
functions.
(idx_find_step): Call new functions above.
(add_candidate_1, add_candidate): New paramter.
(add_iv_candidate_for_biv): Add sizetype cand for BIV.
(get_computation_aff): Simplify convertion of cand for BIV.
(get_computation_cost_at): Step cand's base if necessary.

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

9 years ago * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): New
amker [Thu, 17 Sep 2015 03:08:41 +0000 (03:08 +0000)] 
* tree-ssa-loop-niter.c (tree_simplify_using_condition_1): New
parameter.
(tree_simplify_using_condition): Ditto.
(simplify_using_initial_conditions): Ditto.
(loop_exits_before_overflow): Pass new argument to function
simplify_using_initial_conditions.  Remove case for type conversions
simplification.
* tree-ssa-loop-niter.h (simplify_using_initial_conditions): New
parameter.
* tree-scalar-evolution.c (simple_iv): Simplify type conversions
in iv base using loop initial conditions.

gcc/testsuite/ChangeLog
* gcc.dg/tree-ssa/loop-bound-2.c: New test.
* gcc.dg/tree-ssa/loop-bound-4.c: New test.
* gcc.dg/tree-ssa/loop-bound-6.c: New test.

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

9 years ago[PATCH] Pass in avail_expr_stack and setup edge_infos earlier
law [Thu, 17 Sep 2015 03:01:03 +0000 (03:01 +0000)] 
[PATCH] Pass in avail_expr_stack and setup edge_infos earlier

PR tree-optimization/47679
* tree-ssa-dom.c (free_edge_info): Factored out of free_all_edge_infos.
(free_all_edge_infos): Use it.
(allocate_edge_info): Free preexisting edge info data.
(pass_dominator::execute): Set up initial edge info structures.
(dom_opt_dom_walker::thread_across_edge): Pass avail_expr_stack to
thread_across_edge.
* tree-ssa-threadedge.c (thread_across_edge): Accept new argument.  If
non-null, then push/pop markers appropriately.
* tree-ssa-threadedge.h (thread_across_edge): Update prototype.
* tree-vrp.c (identify_jump_threads): Pass NULL for new argument to
thread-across_edge.

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

9 years ago[FT32] Fix memory address space predicate.
jamesbowman [Thu, 17 Sep 2015 02:29:25 +0000 (02:29 +0000)] 
[FT32] Fix memory address space predicate.

gcc/

* config/ft32/ft32.c Fix the memory address space predicate.

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

9 years agoDaily bump.
gccadmin [Thu, 17 Sep 2015 00:16:12 +0000 (00:16 +0000)] 
Daily bump.

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

9 years agoPR target/67573
kkojima [Thu, 17 Sep 2015 00:12:57 +0000 (00:12 +0000)] 
PR target/67573
* config/sh/sh.md: Add early clobber to scratch operand of *call_*pcrel
insn_and_split so not to CSE scratch reg.

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

9 years agoImplement filesystem::canonical() without realpath
redi [Wed, 16 Sep 2015 22:50:28 +0000 (22:50 +0000)] 
Implement filesystem::canonical() without realpath

PR libstdc++/67173
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION
and PATH_MAX for _GLIBCXX_USE_REALPATH.
* config.h.in: Regenerate.
* configure: Regenerate.
* src/filesystem/ops.cc: (canonical) [!_GLIBCXX_USE_REALPATH]: Add
alternative implementation.
* testsuite/experimental/filesystem/operations/canonical.cc: New.
* testsuite/experimental/filesystem/operations/exists.cc: Add more
tests.
* testsuite/experimental/filesystem/operations/absolute.cc: Add test
variables.
* testsuite/experimental/filesystem/operations/copy.cc: Likewise.
* testsuite/experimental/filesystem/operations/current_path.cc:
Likewise.
* testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
* testsuite/experimental/filesystem/operations/status.cc: Likewise.
* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
Likewise.

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

9 years agoMove check_global_declaration from toplev.c to cgraphunit.c
manu [Wed, 16 Sep 2015 21:25:28 +0000 (21:25 +0000)] 
Move check_global_declaration from toplev.c to cgraphunit.c

Unfortunately, toplev.c is a kitchen sink of things that do not belong anywhere
in particular. For example, check_global_declarations is only used in
cgraphunit.c. Moving it there allows us to make it static and remove one call
to symtab_node::get.

gcc/ChangeLog:

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

* toplev.h (check_global_declaration): Remove declaration.
* toplev.c (check_global_declaration): Move to ...
* cgraphunit.c: ... here. Make it static and pass a symtab_node *.
(analyze_functions): Update call.

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

9 years ago compiler: Don't crash on erroneous channel reads.
ian [Wed, 16 Sep 2015 18:04:22 +0000 (18:04 +0000)] 
compiler: Don't crash on erroneous channel reads.

    Fixes golang/go#12320.

    Reviewed-on: https://go-review.googlesource.com/13932

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

9 years agoFix endianness assumption in LRA.
davem [Wed, 16 Sep 2015 17:46:21 +0000 (17:46 +0000)] 
Fix endianness assumption in LRA.

gcc/
* lra-constraints.c (simplify_operand_subreg): Do not assume that
lowpart of a SUBREG has offset zero.

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

9 years ago2015-09-16 John Marino <gnugcc@marino.st>
kargl [Wed, 16 Sep 2015 17:32:36 +0000 (17:32 +0000)] 
2015-09-16  John Marino  <gnugcc@marino.st>

* gfortran.dg/read_dir.f90: XFAIL this testcase on DragonFly.

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

9 years ago[PATCH] Move code out of tree-ssa-dom into tree-ssa-scopedtables
law [Wed, 16 Sep 2015 17:25:51 +0000 (17:25 +0000)] 
[PATCH] Move code out of tree-ssa-dom into tree-ssa-scopedtables

PR tree-optimization/47679
* tree-ssa-dom.c (enum expr_kind): Moved from here to
tree-ssa-scopedtables.h.
(struct hashable_expr, class expr_hash_elt): Likewise.
(struct expr_elt_hasher, class avail_exprs_stack): Likewise.
Move associated methods into tree-ssa-scopedtables.c.
(avail_expr_hash, initialize_expr_from_cond): Similarly.
(hashable_expr_equal_p, add_expr_commutative): Likewise.
(add_hashable_expr): Likewise.
(record_cond): Delete element directly.
* tree-ssa-scopedtables.h (avail_expr_stack, const_and_copies): Add
private copy ctor and assignment operator methods.
(expr_elt_hasher): Inline trivial methods.
(initialize_expr_from_cond): Prototype.
* tree-ssa-scopedtables.c: Add necessary includes, functions and
methods that were previously in tree-ssa-dom.c.  Improve various
comments.

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

9 years ago compiler: Don't crash on malformed numeric constants.
ian [Wed, 16 Sep 2015 17:21:33 +0000 (17:21 +0000)] 
compiler: Don't crash on malformed numeric constants.

    Fixes golang/go#11548.

    Reviewed-on: https://go-review.googlesource.com/13794

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

9 years ago2015-09-16 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 16 Sep 2015 15:14:39 +0000 (15:14 +0000)] 
2015-09-16  Paolo Carlini  <paolo.carlini@oracle.com>

* doc/invoke.texi ([Wsubobject-linkage]): Extend documentation.

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

9 years agoshrink-wrap: Fix up partitions (PR67587)
segher [Wed, 16 Sep 2015 15:02:32 +0000 (15:02 +0000)] 
shrink-wrap: Fix up partitions (PR67587)

With the new shrink-wrap algorithm, blocks reachable both with and
without prologue are duplicated, and their incoming edges are then
distributed accordingly.  So we need to call fixup_partitions.

2015-09-16  Segher Boessenkool  <segher@kernel.crashing.org>

PR bootstrap/67587
* function.c (rest_of_handle_thread_prologue_and_epilogue): Call
fixup_partitions.

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

9 years ago2015-09-16 Richard Biener <rguenther@suse.de>
rguenth [Wed, 16 Sep 2015 14:27:52 +0000 (14:27 +0000)] 
2015-09-16  Richard Biener  <rguenther@suse.de>

PR middle-end/67253
* cfgexpand.c (expand_gimple_stmt_1): Do not clobber
location of possibly shared trees.

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

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

9 years ago2015-09-16 Richard Biener <rguenther@suse.de>
rguenth [Wed, 16 Sep 2015 14:26:04 +0000 (14:26 +0000)] 
2015-09-16  Richard Biener  <rguenther@suse.de>

PR middle-end/67271
* fold-const.c (native_encode_expr): Bail out on bogus offsets.

* gcc.dg/pr67271.c: New testcase.

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

9 years ago * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Use offset_int for
ebotcazou [Wed, 16 Sep 2015 10:02:21 +0000 (10:02 +0000)] 
* tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Use offset_int for
offset and size computations instead of HOST_WIDE_INT.

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

9 years ago2015-09-16 Richard Biener <rguenther@suse.de>
rguenth [Wed, 16 Sep 2015 07:25:15 +0000 (07:25 +0000)] 
2015-09-16  Richard Biener  <rguenther@suse.de>

PR middle-end/67442
* fold-const.c (extract_muldiv_1): Properly extend multiplication
result before builting a tree via wide_int_to_tree.

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

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

9 years agoShare memory blocks between pool allocators
miyuki [Wed, 16 Sep 2015 00:56:54 +0000 (00:56 +0000)] 
Share memory blocks between pool allocators

gcc/
* Makefile.in: Add memory-block.cc
(pool_allocator::initialize): Use fixed block size.
(pool_allocator::release): Use memory_block_pool.
(pool_allocator::allocate): Likewise.
* asan.c (asan_mem_ref_pool): Adjust to use common block size in all
object pools.
* cfg.c (initialize_original_copy_tables): Likewise.
* cselib.c (elt_list_pool, elt_loc_list_pool,
cselib_val_pool): Likewise.
* df-problems.c (df_chain_alloc): Likewise.
* df-scan.c (df_scan_alloc): Likewise.
* dse.c (cse_store_info_pool, rtx_store_info_pool,
read_info_type_pool, insn_info_type_pool, bb_info_pool,
group_info_pool, deferred_change_pool): Likewise.
* et-forest.c (et_nodes, et_occurrences): Likewise.
* ipa-cp.c (ipcp_cst_values_pool, ipcp_sources_pool,
ipcp_agg_lattice_pool): Likewise.
* ipa-inline-analysis.c (edge_predicate_pool): Likewise.
* ipa-profile.c (histogram_pool): Likewise.
* ipa-prop.c (ipa_refdesc_pool): Likewise.
* ira-build.c (live_range_pool, allocno_pool, object_pool,
initiate_cost_vectors, pref_pool, copy_pool): Likewise.
* ira-color.c (update_cost_record_pool): Likewise.
* lra-lives.c (lra_live_range_pool): Likewise.
* lra.c (lra_insn_reg_pool, lra_copy_pool): Likewise.
* memory-block.cc: New file.
* memory-block.h: New file.
* regcprop.c (queued_debug_insn_change_pool): Use common block size.
* sched-deps.c (sched_deps_init): Likewise.
* sel-sched-ir.c (sched_lists_pool): Likewise.
* stmt.c (expand_case, expand_sjlj_dispatch_table): Likewise.
* tree-sra.c (access_pool): Likewise.
* tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
* tree-ssa-pre.c (pre_expr_pool, bitmap_set_pool): Likewise.
* tree-ssa-reassoc.c (operand_entry_pool): Likewise.
* tree-ssa-sccvn.c (allocate_vn_table): Likewise.
* tree-ssa-strlen.c (strinfo_pool): Likewise.
* tree-ssa-structalias.c (variable_info_pool): Likewise.
* var-tracking.c (attrs_def_pool, var_pool, valvar_pool,
location_chain_pool, shared_hash_pool, loc_exp_dep_pool): Likewise.

gcc/c-family/
* c-format.c (check_format_arg): Adjust to use common block size in all
object pools.

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

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

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

9 years ago compiler: Report init dependency errors with builtin functions.
ian [Tue, 15 Sep 2015 23:12:03 +0000 (23:12 +0000)] 
compiler: Report init dependency errors with builtin functions.

    Fixes golang/go#12319.

    Reviewed-on: https://go-review.googlesource.com/13931

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

9 years ago libgo: If compiler can split-stack and linker can not, use -fno-split-stack.
ian [Tue, 15 Sep 2015 21:15:37 +0000 (21:15 +0000)] 
libgo: If compiler can split-stack and linker can not, use -fno-split-stack.

    If the compiler supports split-stack but we are using a gold linker that
    does not, as happens on PPC with current GCC but old gold, then we need
    to compile the Go code with -fno-split-stack to avoid a linker error
    avoid the inability to call from split-stack code to non-split-stack
    code.

    Reviewed-on: https://go-review.googlesource.com/14598

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