]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
10 years ago[AArch64] Use atomic load-operate instructions for fetch-update patterns.
mwahab [Tue, 22 Sep 2015 09:35:17 +0000 (09:35 +0000)] 
[AArch64] Use atomic load-operate instructions for fetch-update patterns.

gcc/
2015-09-22  Matthew Wahab  <matthew.wahab@arm.com>

* config/aarch64/aarch64-protos.h
(aarch64_atomic_ldop_supported_p): Declare.
* config/aarch64/aarch64.c (aarch64_atomic_ldop_supported_p): New.
(enum aarch64_atomic_load_op_code): New.
(aarch64_emit_atomic_load_op): New.
(aarch64_gen_atomic_ldop): Update to support load-operate
patterns.
* config/aarch64/atomics.md (atomic_<atomic_optab><mode>): Change
to an expander.
(aarch64_atomic_<atomic_optab><mode>): New.
(aarch64_atomic_<atomic_optab><mode>_lse): New.
(atomic_fetch_<atomic_optab><mode>): Change to an expander.
(aarch64_atomic_fetch_<atomic_optab><mode>): New.
(aarch64_atomic_fetch_<atomic_optab><mode>_lse): New.

gcc/testsuite/
2015-09-22  Matthew Wahab  <matthew.wahab@arm.com>

* gcc.target/aarch64/atomic-inst-ldadd.c: New.
* gcc.target/aarch64/atomic-inst-ldlogic.c: New.

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

10 years ago[AArch64] Add atomic load-operate instructions.
mwahab [Tue, 22 Sep 2015 09:30:51 +0000 (09:30 +0000)] 
[AArch64] Add atomic load-operate instructions.

2015-09-22  Matthew Wahab  <matthew.wahab@arm.com>

* config/aarch64/aarch64/atomics.md (UNSPECV_ATOMIC_LDOP): New.
(UNSPECV_ATOMIC_LDOP_OR): New.
(UNSPECV_ATOMIC_LDOP_BIC): New.
(UNSPECV_ATOMIC_LDOP_XOR): New.
(UNSPECV_ATOMIC_LDOP_PLUS): New.
(ATOMIC_LDOP): New.
(atomic_ldop): New.
(aarch64_atomic_load<atomic_ldop><mode>): New.

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

10 years ago[AArch64] Make BIC, other logical instructions, available.
mwahab [Tue, 22 Sep 2015 09:24:47 +0000 (09:24 +0000)] 
[AArch64] Make BIC, other logical instructions, available.

2015-09-22  Matthew Wahab  <matthew.wahab@arm.com>

* config/aarch64/aarch64.md
(<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Make a named
pattern.

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

10 years ago[AArch64] Use atomic instructions for swap and fetch-update operations.
mwahab [Tue, 22 Sep 2015 09:19:55 +0000 (09:19 +0000)] 
[AArch64] Use atomic instructions for swap and fetch-update operations.

gcc/
2015-09-22  Matthew Wahab  <matthew.wahab@arm.com>

* config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop):
Declare.
* config/aarch64/aarch64.c (aarch64_emit_atomic_swap): New.
(aarch64_gen_atomic_ldop): New.
(aarch64_split_atomic_op): Fix whitespace and add a comment.
* config/aarch64/atomics.md (UNSPECV_ATOMIC_SWP): New.
(aarch64_compare_and_swap<mode>_lse): Fix some whitespace.
(atomic_exchange<mode>): Replace with an expander.
(aarch64_atomic_exchange<mode>): New.
(aarch64_atomic_exchange<mode>_lse): New.
(aarch64_atomic_<atomic_optab><mode>): Fix some whitespace.
(aarch64_atomic_swp<mode>): New.

gcc/testsuite/
2015-09-22  Matthew Wahab  <matthew.wahab@arm.com>

* gcc.target/aarch64/atomic-inst-ops.inc: (TEST_MODEL): New.
(TEST_ONE): New.
        * gcc.target/aarch64/atomic-inst-swap.c: New.

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

10 years ago[PATCH tree-inline] Do not say "called from here" with UNKNOWN_LOCATION
manu [Tue, 22 Sep 2015 09:14:04 +0000 (09:14 +0000)] 
[PATCH tree-inline] Do not say "called from here" with UNKNOWN_LOCATION

In https://sourceware.org/ml/libc-alpha/2014-12/msg00300.html, we give a
"called from here" note without actually having a location, which looks
strange. I haven't been able to generate such a testcase. If this happens,
try to at least point to the current function being called. If that location is
also unknown, skip the extra note.

gcc/ChangeLog:

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

* tree-inline.c (expand_call_inline): Use inform for extra note.
Do not give a note with UNKNOWN_LOCATION.
Replace input_location with gimple_location (stmt).
Use true/false instead of TRUE/FALSE.

gcc/testsuite/ChangeLog:

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

* gcc.target/i386/inline_error.c (int bar): Use dg-message for note.
* gcc.target/i386/pr57756.c (static __inline int caller): Likewise.
* gcc.target/i386/pr59789.c (f1): Likewise.
* gcc.target/i386/intrinsics_5.c (__m128i foo): Likewise.
* gcc.target/i386/intrinsics_6.c: Likewise.
* gcc.dg/winline-5.c (int t): Likewise.
* gcc.dg/winline-9.c (t): Likewise.
* gcc.dg/always_inline2.c (q): Likewise.
* gcc.dg/winline-2.c (inline int t): Likewise.
* gcc.dg/winline-6.c: Likewise.
* gcc.dg/winline-10.c (void g): Likewise.
* gcc.dg/pr49243.c (void parse): Likewise.
* gcc.dg/always_inline3.c (q2): Likewise.
* gcc.dg/winline-3.c: Likewise.
* gcc.dg/winline-7.c (inline void *t): Likewise.

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

10 years agoHandle single restrict pointer in struct in create_variable_info_for_1
vries [Tue, 22 Sep 2015 08:15:32 +0000 (08:15 +0000)] 
Handle single restrict pointer in struct in create_variable_info_for_1

2015-09-22  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/67666
* tree-ssa-structalias.c (create_variable_info_for_1): Handle struct
with single field non-conservative.

* g++.dg/pr67666.C: New test.

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

10 years ago2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
cltang [Tue, 22 Sep 2015 06:45:22 +0000 (06:45 +0000)] 
2015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>

PR libgomp/67141
* oacc-int.h (goacc_host_init): Add declaration.
* oacc-host.c (goacc_host_init): Remove static and constructor attribute.
* oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.

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

10 years agoRevert LRA SPARC changes for now.
davem [Tue, 22 Sep 2015 03:52:45 +0000 (03:52 +0000)] 
Revert LRA SPARC changes for now.

gcc/

PR/67622
Revert:
2015-09-11  David S. Miller  <davem@davemloft.net>

* config/sparc/constraints.md: Make "U" constraint a real register
constraint.
* config/sparc/sparc.c (TARGET_LRA_P): Define.
(D_MODES, DF_MODES): Add missing cast.
(TF_MODES, TF_MODES_NO_S): Include T_MODE.
(OF_MODES, OF_MODES_NO_S): Include O_MODE.
(sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory
cost to 8.
* config/sparc/sparc.h (PROMOTE_MODE): Define.
* config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not
provide these insn when flag_pic.

2015-09-17  David S. Miller  <davem@davemloft.net>

* 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@227993 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Tue, 22 Sep 2015 00:16:12 +0000 (00:16 +0000)] 
Daily bump.

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

10 years ago[FT32] fixes for the default hardware startup
jamesbowman [Mon, 21 Sep 2015 22:31:53 +0000 (22:31 +0000)] 
[FT32] fixes for the default hardware startup

libgcc/
        * config/ft32/crti-hw.S: Use __PMSIZE to allow configurable
        memory layout. Deal correctly with BSS region larger than 32K.
        Handle a watchdog reset like a power-on reset. Clean up unused
        code.

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

10 years ago2015-09-21 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Mon, 21 Sep 2015 21:40:26 +0000 (21:40 +0000)] 
2015-09-21  Steven G. Kargl  <kargl@gcc.gnu.org>

* resolve.c (nonscalar_typebound_assign): Fix typos in comment.

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

10 years ago2015-09-21 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Mon, 21 Sep 2015 18:09:13 +0000 (18:09 +0000)] 
2015-09-21  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/67615
* resolve.c (gfc_resolve_code): Check for scalar expression in
arithmetic-if.

2015-09-21  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/67615
* gfortran.dg/pr67615.f90: new test.

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

10 years ago[PATCH] Fix undefined behavior in h8300 backend
law [Mon, 21 Sep 2015 17:09:53 +0000 (17:09 +0000)] 
[PATCH] Fix undefined behavior in h8300 backend

* config/h8300/h8300.md (andsi3_ashift_n_lower): Avoid undefined
behavior.

* gcc.target/h8300/andsi3_ashift_n_lower.c: New test.

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

10 years ago/c-family
ville [Mon, 21 Sep 2015 15:50:30 +0000 (15:50 +0000)] 
/c-family
2015-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>

Complete the implementation of N4230, Nested namespace definition.
* c-cppbuiltin.c: Add __cpp_namespace_attributes and
__cpp_nested_namespace_definitions.

/cp
2015-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>

Complete the implementation of N4230, Nested namespace definition.
* parser.c (cp_parser_namespace_definition): Support namespace
attributes both before and after the namespace identifier.

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

Complete the implementation of N4230, Nested namespace definition.
* g++.dg/cpp1y/feat-cxx11-neg.C: Add tests for C++17 namespace
attributes and nested namespace definitions.
* g++.dg/cpp1y/feat-cxx98-neg.C: Likewise.
* g++.dg/cpp1z/feat-cxx1z.C: Likewise.
* g++.dg/cpp1y/feat-cxx14-neg.C: New.
* g++.dg/cpp1z/namespace-attribs.C: Likewise.
* g++.dg/cpp1z/nested-namespace-def1.C: Add tests for attributes
appearing before the namespace identifier.

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

10 years agoHandle lines encoded into several maps in linemap_position_for_loc_and_offset
manu [Mon, 21 Sep 2015 14:52:09 +0000 (14:52 +0000)] 
Handle lines encoded into several maps in linemap_position_for_loc_and_offset

linemap_position_for_loc_and_offset() tries to generate a location_t
encoding a column offset from the current location, for example, point
to a certain character inside a string. This is trivial to do when the
new location "fits within" the map of the original location. However,
it may happen that the (long) line corresponding to the original
location is encoded in several maps, thus the new location should
actually be encoded in a subsequent map from the original location.
This patch detects this case and adjusts the map correspondingly.

(This shows that the line-map representation is quite wasteful in this
case, because line-maps always start at column 0. That is, map[0]
highest location may encode up to line 8 column 80, then
map[1]->start_location starts encoding at line 8 column 0. Thus, there
are two location_t values that point to the same source location.)

libcpp/ChangeLog:

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

PR c/66415
* line-map.c (linemap_position_for_loc_and_offset): Handle the
case of long lines encoded in multiple maps.

gcc/testsuite/ChangeLog:

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

PR c/66415
* gcc.dg/cpp/pr66415-1.c: Test column number.

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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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