platform/upstream/gcc.git
8 years agoDaily bump.
GCC Administrator [Tue, 25 Aug 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227159

8 years agore PR target/66609 ([sh] Relative address expressions bind at as-time, even if symbol...
Kaz Kojima [Mon, 24 Aug 2015 23:23:00 +0000 (23:23 +0000)]
re PR target/66609 ([sh] Relative address expressions bind at as-time, even if symbol is weak)

PR target/66609
* [SH] Take into account weak symbols for pc relative calls/sibcalls.

From-SVN: r227155

8 years agoSpecify the type of scop->region
Aditya Kumar [Mon, 24 Aug 2015 20:53:51 +0000 (20:53 +0000)]
Specify the type of scop->region

Changing the type of scop::region from void* to sese, as this is
the only type assigned to scop::region for now. No functional changes intended.
Passes regtest and bootstrap.

gcc/ChangeLog:

2015-08-17  Aditya Kumar  <aditya.k7@samsung.com>

        * graphite-poly.c: Change type of region from void* to sese.
        * graphite-poly.h (struct scop): Changing the type of scop::region
from void* to sese. Change accessor macro accordingly.
        * graphite-sese-to-poly.c (extract_affine_chrec): Use accessor macro.

From-SVN: r227151

8 years agoConstrain only on INTEGER_TYPE
Aditya Kumar [Mon, 24 Aug 2015 20:50:12 +0000 (20:50 +0000)]
Constrain only on INTEGER_TYPE

Passes bootstrap, no regressions.

With this patch gcc bootstraps with graphite.
make BOOT_CFLAGS="-g -O2 -fgraphite-identity -floop-interchange -floop-block"

gcc/ChangeLog:

2015-08-12  Aditya Kumar  <hiraditya@msn.com>

        * graphite-scop-detection.c (stmt_simple_for_scop_p):
Constrain only on INTEGER_TYPE

From-SVN: r227150

8 years agoformatter.h (_Debug_msg_id::__msg_irreflexive_ordering): New enum entry.
François Dumont [Mon, 24 Aug 2015 20:21:57 +0000 (20:21 +0000)]
formatter.h (_Debug_msg_id::__msg_irreflexive_ordering): New enum entry.

2015-08-24  François Dumont  <fdumont@gcc.gnu.org>

* include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering):
New enum entry.
* include/debug/functions.h (_Irreflexive_checker): New.
(__is_irreflexive, __is_irreflexive_pred): New.
* include/debug/macros.h
(__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New
macros.
(__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New
macros limited to post-C++11 mode.
* include/debug/debug.h
(__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred):
New macros, use latter.
(__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2):
Likewise.
* include/bits/stl_algo.h
(partial_sort_copy): Add irreflexive debug check.
(partial_sort_copy): Likewise.
(lower_bound): Likewise.
(upper_bound): Likewise.
(equal_range): Likewise.
(binary_search): Likewise.
(inplace_merge): Likewise.
(includes): Likewise.
(next_permutation): Likewise.
(prev_permutation): Likewise.
(is_sorted_until): Likewise.
(minmax_element): Likewise.
(partial_sort): Likewise.
(nth_element): Likewise.
(sort): Likewise.
(merge): Likewise.
(stable_sort): Likewise.
(set_union): Likewise.
(set_intersection): Likewise.
(set_difference): Likewise.
(set_symmetric_difference): Likewise.
(min_element): Likewise.
(max_element): Likewise.
* include/bits/stl_algobase.h
(lower_bound): Likewise.
(lexicographical_compare): Likewise.
* include/bits/stl_heap.h
(push_heap): Likewise.
(pop_heap): Likewise.
(make_heap): Likewise.
(sort_heap): Likewise.
(is_heap_until): Likewise.
* testsuite/25_algorithms/lexicographical_compare/debug/
irreflexive_neg.cc: New.
* testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New.
* testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
New.

From-SVN: r227147

8 years agoconfigure.ac: Set have_mmap to no on spu-*-* targets.
Ulrich Weigand [Mon, 24 Aug 2015 18:48:28 +0000 (18:48 +0000)]
configure.ac: Set have_mmap to no on spu-*-* targets.

* configure.ac: Set have_mmap to no on spu-*-* targets.
* configure: Regenerate.

From-SVN: r227145

8 years agore PR target/67211 (ICE (insn does not satisfy its constraints) on powerpc64le-linux...
Michael Meissner [Mon, 24 Aug 2015 18:43:02 +0000 (18:43 +0000)]
re PR target/67211 (ICE (insn does not satisfy its constraints) on powerpc64le-linux-gnu)

[gcc]
2015-08-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/67211
* config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Set
-mefficient-unaligned-vsx on ISA 2.7.

* config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Convert
option to a masked option.

* config/rs6000/rs6000.c (rs6000_option_override_internal): Rework
logic for -mefficient-unaligned-vsx so that it is set via an arch
ISA option, instead of being set if -mtune=power8 is set. Move
-mefficient-unaligned-vsx and -mallow-movmisalign handling to be
near other default option handling.

[gcc/testsuite]
2015-08-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/67211
* g++.dg/pr67211.C: New test.

From-SVN: r227144

8 years agogenflags.c (gen_macro): Delete.
Richard Sandiford [Mon, 24 Aug 2015 17:59:51 +0000 (17:59 +0000)]
genflags.c (gen_macro): Delete.

gcc/
* genflags.c (gen_macro): Delete.
(gen_proto): Don't create GEN.*CALL.* macros.
* gensupport.h (get_file_location): Declare.
* gensupport.c (rtx_locs): New variable.
(read_md_rtx): Record rtx locations.
(get_file_location): New function.
* target-insns.def (call, call_pop, call_value, call_value_pop)
(sibcall, sibcall_value): New patterns.
* gentarget-def.c (parse_argument): New function.
(def_target_insn): Use it.  Handle optional operands.  Raise an
error if an .md pattern has the wrong number of operands for the
pattern name.  Remove the names of unused operands from the prototype.
* builtins.c (expand_builtin_apply): Use targetm functions
instead of HAVE_call_value and GEN_CALL_VALUE.
* calls.c (emit_call_1): Likewise.  Remove support for sibcall_pop
and sibcall_value_pop.
* config/aarch64/aarch64.md (untyped_call): Use gen_call instead
of GEN_CALL.
* config/alpha/alpha.md (untyped_call): Likewise.
* config/iq2000/iq2000.md (untyped_call): Likewise.
* config/m68k/m68k.md (untyped_call): Likewise.
* config/mips/mips.md (untyped_call): Likewise.
* config/pa/pa.md (untyped_call): Likewise.
* config/rs6000/rs6000.md (untyped_call): Likewise.
* config/sparc/sparc.md (untyped_call): Likewise.
* config/tilegx/tilegx.md (untyped_call): Likewise.
* config/tilepro/tilepro.md (untyped_call): Likewise.
* config/visium/visium.md (untyped_call): Likewise.
* config/alpha/alpha.c (alpha_emit_xfloating_libcall): Use
gen_call_value instead of GEN_CALL_VALUE.
* config/arm/arm.md (untyped_call): Likewise.
* config/cr16/cr16.c (cr16_function_arg): Remove reference to
GEN_CALL.

From-SVN: r227143

8 years agoifcvt.c (HAVE_incscc, [...]): Delete.
Richard Sandiford [Mon, 24 Aug 2015 17:59:31 +0000 (17:59 +0000)]
ifcvt.c (HAVE_incscc, [...]): Delete.

gcc/
* ifcvt.c (HAVE_incscc, HAVE_decscc, HAVE_cbranchcc4): Delete.
(have_cbranchcc4): New variable.
(cc_in_cond, noce_emit_cmove, noce_get_alt_condition)
(noce_get_condition): Use it instead of HAVE_cbranchcc4.
(if_convert): Initialize have_cbranchcc4.

From-SVN: r227142

8 years agobuiltins.c (expand_cmpstrn): Rename to...
Richard Sandiford [Mon, 24 Aug 2015 17:59:19 +0000 (17:59 +0000)]
builtins.c (expand_cmpstrn): Rename to...

gcc/
* builtins.c (expand_cmpstrn): Rename to...
(expand_cmpstrn_or_cmpmem): ...this.
(expand_builtin_strcmp, expand_builtin_strncmp): Update accordingly.
(expand_builtin_memcmp): Use optabs instead of HAVE_cmpmem/gen_cmpmem.
Remove mode argument.
(expand_builtin): Update accordingly.

From-SVN: r227141

8 years agobuiltins.c (expand_cmpstr, [...]): New functions.
Richard Sandiford [Mon, 24 Aug 2015 17:59:07 +0000 (17:59 +0000)]
builtins.c (expand_cmpstr, [...]): New functions.

gcc/
* builtins.c (expand_cmpstr, expand_cmpstrn): New functions.
(expand_builtin_strcmp, expand_builtin_strncmp): Use them.  Remove
references to HAVE_cmpstr{,n}si and CODE_FOR_cmpstr{,n}si.
* config/m32c/blkmov.md (cmpstrsi): Fix predicates of operands 1 and 2.
Add predicates for operands 0 and 3.
* config/rx/rx.md (cmpstrnsi): Remove force_operand for the length
operand.
* config/sh/sh.md (cmpstrnsi): Change the length predicate from
immediate_operand to nonmemory_operand.

From-SVN: r227140

8 years agodf-scan.c (df_insn_info_init_fields): New function, split out from...
Richard Sandiford [Mon, 24 Aug 2015 17:58:42 +0000 (17:58 +0000)]
df-scan.c (df_insn_info_init_fields): New function, split out from...

gcc/
* df-scan.c (df_insn_info_init_fields): New function, split out
from...
(df_insn_create_insn_record): ...here.
(df_insn_info_free_fields): New function, split out from...
(df_insn_info_delete): ...here.
(df_insn_rescan): Use the new functions instead of freeing and
reallocating the df_insn_info.

From-SVN: r227139

8 years ago* doc/install.texi (Binaries): Remove links no longer valid.
Francois-Xavier Coudert [Mon, 24 Aug 2015 17:52:34 +0000 (17:52 +0000)]
* doc/install.texi (Binaries): Remove links no longer valid.

From-SVN: r227138

8 years agolibgomp.map: Add 4.0.2 version.
Nathan Sidwell [Mon, 24 Aug 2015 17:10:06 +0000 (17:10 +0000)]
libgomp.map: Add 4.0.2 version.

libgomp/
* libgomp.map: Add 4.0.2 version.
* target.c (offload_image_descr): Add version field.
(gomp_load_image_to_device): Add version argument.  Adjust plugin
call.  Improve load mismatch diagnostic.
(gomp_unload_image_from_device): Add version argument.  Adjust plugin
call.
(GOMP_offload_regster): Make stub function, move bulk to ...
(GOMP_offload_register_ver): ... here.  Process version argument.
(GOMP_offload_unregister): Make stub function, move bulk to ...
(GOMP_offload_unregister_ver): ... here.  Process version argument.
(gomp_init_device): Process version field.
(gomp_unload_device): Process version field.
(gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
macros.  Check plugin version.
* libgomp.h (gomp_device_descr): Add version function field.  Adjust
loader and unloader types.
* oacc-host.c: Include gomp-constants.h.
(host_version): New.
(host_load_image, host_unload_image): Adjust.
(host_dispatch): Add host_version.
* plugin/plugin-nvptx.c: Include gomp-constants.h.
(GOMP_OFFLOAD_version): New.
(GOMP_OFFLOAD_load_image): Add version arg and check it.
(GOMP_OFFLOAD_unload_image): Likewise.
* plugin/plugin-host.c: Include gomp-constants.h.
(GOMP_OFFLOAD_version): New.
(GOMP_OFFLOAD_load_image): Add version arg.
(GOMP_OFFLOAD_unload_image): Likewise.

liboffloadmic/
* plugin/libgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_version): New.
(GOMP_OFFLOAD_load_image): Add version arg and check it.
(GOMP_OFFLOAD_unload_image): Likewise.

include/
* gomp-constants.h (GOMP_VERSION, GOMP_VERSION_NVIDIA_PTX,
GOMP_VERSION_INTEL_MIC): New.
(GOMP_VERSION_PACK, GOMP_VERSION_LIB, GOMP_VERSION_DEV): New.

gcc/
* config/nvptx/mkoffload.c (process): Replace
GOMP_offload_{,un}register with GOMP_offload_{,un}register_ver.

From-SVN: r227137

8 years agore PR libfortran/57496 (I/O: WRITE(*,*) HUGE(0._10) gives SIGFPE with -ffpe-trap...
Francois-Xavier Coudert [Mon, 24 Aug 2015 16:31:47 +0000 (16:31 +0000)]
re PR libfortran/57496 (I/O: WRITE(*,*) HUGE(0._10) gives SIGFPE with -ffpe-trap=overflow)

PR libfortran/57496
* io/write_float.def: Use built-in type-generic functions defined
by libgfortran.h for isfinite, isnan, and signbit.

From-SVN: r227136

8 years agore PR fortran/62536 (ICE (segfault) for invalid END BLOCK statement)
Louis Krupp [Mon, 24 Aug 2015 16:29:59 +0000 (16:29 +0000)]
re PR fortran/62536 (ICE (segfault) for invalid END BLOCK statement)

PR fortran/62536
PR fortran/66175

* decl.c (gfc_match_end): Clean up nested BLOCKs.
* parse.c (parse_block_construct): Deal gracefully with cleaned-up
BLOCKs.

* gfortran.dg/block_end_error_1.f90: New test.
* gfortran.dg/blocks_nested_incomplete_1.f90: New test.

From-SVN: r227135

8 years agore PR tree-optimization/67284 (libgo fails to build on trunk r227015 / *-linux-gnu)
Marek Polacek [Mon, 24 Aug 2015 16:06:02 +0000 (16:06 +0000)]
re PR tree-optimization/67284 (libgo fails to build on trunk r227015 / *-linux-gnu)

PR tree-optimization/67284
* go-gcc.cc (Gcc_backend::define_builtin): Add NORETURN_P parameter.
Set TREE_THIS_VOLATILE.
(Gcc_backend::Gcc_backend): Mark __builtin_trap as a noreturn call.
Pass false to the rest of define_builtin calls.

From-SVN: r227134

8 years agoAdd a testcase for PR target/66821
H.J. Lu [Mon, 24 Aug 2015 15:31:02 +0000 (15:31 +0000)]
Add a testcase for PR target/66821

PR target/66821
* gcc.target/i386/pr66821.c: New test.

From-SVN: r227133

8 years agoUpdate MOVE_RATIO cost for IA MCU
H.J. Lu [Mon, 24 Aug 2015 15:24:44 +0000 (15:24 +0000)]
Update MOVE_RATIO cost for IA MCU

This patch updates MOVE_RATIO cost for IA MCU from 6 to 9 so that we
can unroll the loop completely for DOM with -mtune=iamcu.

gcc/

PR target/67329
* config/i386/i386.c (iamcu_cost): Set MOVE_RATIO cost to 9.

gcc/testsuite/

PR target/67329
* gcc.target/i386/pr67329.c: New test.

From-SVN: r227132

8 years agoAdd libgomp.oacc-c-c++-common/vector-loop.c
Tom de Vries [Mon, 24 Aug 2015 15:01:44 +0000 (15:01 +0000)]
Add libgomp.oacc-c-c++-common/vector-loop.c

2015-08-24  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/65468
* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.

From-SVN: r227130

8 years ago[PATCH][ARM]Tighten the conditions for arm_movw, arm_movt.
Renlin Li [Mon, 24 Aug 2015 14:59:58 +0000 (14:59 +0000)]
[PATCH][ARM]Tighten the conditions for arm_movw, arm_movt.

gcc/

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

* config/arm/arm-protos.h (arm_valid_symbolic_address_p): Declare.
* config/arm/arm.c (arm_valid_symbolic_address_p): Define.
* config/arm/arm.md (arm_movt): Use arm_valid_symbolic_address_p.
* config/arm/constraints.md ("j"): Add check for high code.

From-SVN: r227129

8 years agopr49551.c: Needs -fdata-sections.
Nathan Sidwell [Mon, 24 Aug 2015 14:06:12 +0000 (14:06 +0000)]
pr49551.c: Needs -fdata-sections.

* gcc/testsuite/gcc.dg/pr49551.c: Needs -fdata-sections.

* gcc/testsuite/gcc.dg/pr64935-2.c: Needs scheduling.

* gcc/testsuite/gcc.dg/torture/pr66101.c: Needs nonlocal goto.
* gcc/testsuite/gcc.dg/torture/pr63738.c: Likewise.
* gcc/testsuite/gcc.dg/torture/pr64728.c: Likewise.
* gcc/testsuite/gcc.dg/pr63748.c: Likewise.
* gcc/testsuite/gcc.dg/20020312-2.c: Likewise.

* gcc/testsuite/gcc.dg/torture/pr66123.c: Needs label_values.

* gcc/testsuite/gcc.dg/torture/pr41261.c: Needs profiling.
* gcc/testsuite/gcc.dg/pr26570.c: Likewise.
* gcc/testsuite/gcc.dg/pr61776.c: Likewise.
* gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-11.c: Likewise.
* gcc/testsuite/gcc.dg/gomp/pr34610.c: Likewise.
* gcc/testsuite/gcc.dg/pr54121.c: Likewise.
* gcc/testsuite/gcc.dg/20050325-1.c: Likewise.
* gcc/testsuite/gcc.dg/pr66899.c: Likewise.
* gcc/testsuite/gcc.dg/pr48770.c: Likewise.
* gcc/testsuite/gcc.dg/pr24225.c: Likewise.

* gcc/testsuite/gcc.dg/pr27531-1.c: Needs io.
* gcc/testsuite/gcc.dg/pr44606.c: Likewise.

* gcc/testsuite/gcc.dg/tree-ssa/nonzero-1.c: Needs weak.

* gcc/testsuite/gcc.dg/pr51990.c: Needs alloca.

* gcc/testsuite/gcc.misc-tests/options.exp: Disable profiling
check for nvptx.

From-SVN: r227128

8 years agore PR libstdc++/65049 (Undefined behaviour with std::char_traits<char>)
Jonathan Wakely [Mon, 24 Aug 2015 13:43:54 +0000 (14:43 +0100)]
re PR libstdc++/65049 (Undefined behaviour with std::char_traits<char>)

PR libstdc++/65049
* include/bits/char_traits.h (char_traits<char>::compare,
char_traits<char>::find, char_traits<char>::move,
char_traits<char>::copy, char_traits<char>::assign): Check for zero
length.
(char_traits<wchar_t>::compare, char_traits<wchar_t>::find,
char_traits<wchar_t>::move, char_traits<wchar_t>::copy,
char_traits<wchar_t>::assign): Likewise.
(char_traits<char16_t>::move, char_traits<char16_t>::copy): Likewise.
(char_traits<char32_t>::move, char_traits<char32_t>::copy): Likewise.
* include/ext/pod_char_traits.h (char_traits<character<>>::move,
char_traits<character<>>::copy): Likewise.
* testsuite/21_strings/char_traits/requirements/char/65049.cc: New.
* testsuite/21_strings/char_traits/requirements/char16_t/65049.cc:
New.
* testsuite/21_strings/char_traits/requirements/char32_t/65049.cc:
New.
* testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc:
New.

From-SVN: r227127

8 years agore PR libstdc++/67309 (Error compiling with -std=c++11 and -fsingle-precision-constant)
Jonathan Wakely [Mon, 24 Aug 2015 13:43:36 +0000 (14:43 +0100)]
re PR libstdc++/67309 (Error compiling with -std=c++11 and -fsingle-precision-constant)

PR libstdc++/67309
* include/bits/random.tcc
(poisson_distribution::param_type::_M_initialize): Use max<double>.
(binomial_distribution::param_type::_M_initialize): Likewise.
* testsuite/17_intro/headers/c++200x/67309.cc: New.
* testsuite/17_intro/headers/c++200x/all_attributes.cc: Remove
redundant header.

From-SVN: r227126

8 years agoMakefile.am (include_src_dir): Set.
Thomas Schwinge [Mon, 24 Aug 2015 13:20:31 +0000 (15:20 +0200)]
Makefile.am (include_src_dir): Set.

* plugin/Makefile.am (include_src_dir): Set.
[PLUGIN_HOST] (libgomp_plugin_intelmic_la_CPPFLAGS): Use it.
* plugin/Makefile.in: Regenerate.
* plugin/libgomp-plugin-intelmic.cpp: Include "gomp-constants.h".

From-SVN: r227125

8 years agoOptimize expand_omp_for_static_chunk for chunk_size one
Tom de Vries [Mon, 24 Aug 2015 13:14:17 +0000 (13:14 +0000)]
Optimize expand_omp_for_static_chunk for chunk_size one

2015-08-24  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/65468
* omp-low.c (expand_omp_for_static_chunk): Remove inner loop if
chunk_size is one.

* gcc.dg/gomp/static-chunk-size-one.c: New test.

* testsuite/libgomp.c/static-chunk-size-one.c: New test.

From-SVN: r227124

8 years agonvptx.c (walk_args_for_param): Revert previous change to nvptx_type_from_mode call.
Nathan Sidwell [Mon, 24 Aug 2015 12:43:54 +0000 (12:43 +0000)]
nvptx.c (walk_args_for_param): Revert previous change to nvptx_type_from_mode call.

* config/nvptx/nvptx.c (walk_args_for_param): Revert previous
change to nvptx_type_from_mode call. Use arg_promotion for both
split and non-split args.

From-SVN: r227123

8 years agotarget-insns.def (movstr): New pattern.
Richard Sandiford [Mon, 24 Aug 2015 11:13:16 +0000 (11:13 +0000)]
target-insns.def (movstr): New pattern.

gcc/
* target-insns.def (movstr): New pattern.
* builtins.c (HAVE_movstr, CODE_FOR_movstr): Delete.
(expand_movstr): Use targetm rather than HAVE_movstr/
CODE_FOR_movstr.

From-SVN: r227121

8 years agomicroblaze.c (microblaze_classify_unspec): Fix cast syntax.
Richard Sandiford [Mon, 24 Aug 2015 11:12:32 +0000 (11:12 +0000)]
microblaze.c (microblaze_classify_unspec): Fix cast syntax.

gcc/
* config/microblaze/microblaze.c (microblaze_classify_unspec): Fix
cast syntax.

From-SVN: r227120

8 years agore PR libgomp/66761 (libgomp: ThreadSanitizer: data race in libgomp)
Joost VandeVondele [Mon, 24 Aug 2015 11:01:25 +0000 (11:01 +0000)]
re PR libgomp/66761 (libgomp: ThreadSanitizer: data race in libgomp)

        PR libgomp/66761
        PR libgomp/67303
        * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
        (gomp_iter_guided_next): Idem.
        * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
        (gomp_iter_ull_guided_next): Idem.
        * config/linux/wait.h (do_spin): Idem.

From-SVN: r227119

8 years agoMissing parts of fixes for in-tree libiconv
Yaakov Selkowitz [Mon, 24 Aug 2015 10:24:52 +0000 (10:24 +0000)]
Missing parts of fixes for in-tree libiconv

(The previous iconv-related commit missed the config/iconv.m4 change.)

Original description:

This is the second in a series of patches to make a build with an
in-tree GNU libiconv work as designed.

Currently GDB is the only toolchain component which actually uses an
in-tree libiconv.  This patch modifies the common AM_ICONV to use an
in-tree libiconv when present and not already provided by libc.
(GDB's workaround uses an in-tree libiconv even when libc provides
iconv(3); I'm not sure when or why that would be desirable.)

config/ChangeLog:
2015-08-24  Yaakov Selkowitz  <yselkowi@redhat.com>

* iconv.m4 (AM_ICONV_LINK): Use in-tree libiconv when present.
---
 config/ChangeLog   |  4 +++
 config/iconv.m4    | 47 +++++++++++++++++++++------
 4 files changed, 112 insertions(+), 36 deletions(-)

diff --git a/config/iconv.m4 b/config/iconv.m4
index c5f3579..5f9304a 100644
--- a/config/iconv.m4
+++ b/config/iconv.m4
@@ -7,6 +7,7 @@ dnl that contains a configuration script generated by Autoconf, under
 dnl the same distribution terms as the rest of that program.

 dnl From Bruno Haible.
+dnl with modifications to support building with in-tree libiconv

 AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
 [
@@ -28,24 +29,51 @@ AC_DEFUN([AM_ICONV_LINK],
   dnl accordingly.
   AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])

-  dnl Add $INCICONV to CPPFLAGS before performing the following checks,
-  dnl because if the user has installed libiconv and not disabled its use
-  dnl via --without-libiconv-prefix, he wants to use it. The first
-  dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
-  am_save_CPPFLAGS="$CPPFLAGS"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
-
   AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
     am_cv_func_iconv="no, consider installing GNU libiconv"
     am_cv_lib_iconv=no
+    dnl Add $INCICONV to CPPFLAGS before performing the first check,
+    dnl because if the user has installed libiconv and not disabled its use
+    dnl via --without-libiconv-prefix, he wants to use it. This first
+    dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
+    am_save_CPPFLAGS="$CPPFLAGS"
+    CPPFLAGS="$CPPFLAGS $INCICONV"
     AC_TRY_LINK([#include <stdlib.h>
 #include <iconv.h>],
       [iconv_t cd = iconv_open("","");
        iconv(cd,NULL,NULL,NULL,NULL);
        iconv_close(cd);],
       am_cv_func_iconv=yes)
+    CPPFLAGS="$am_save_CPPFLAGS"
+
+    if test "$am_cv_func_iconv" != yes && test -d ../libiconv; then
+      for _libs in .libs _libs; do
+        am_save_CPPFLAGS="$CPPFLAGS"
+        am_save_LIBS="$LIBS"
+        CPPFLAGS="$CPPFLAGS -I../libiconv/include"
+        LIBS="$LIBS ../libiconv/lib/$_libs/libiconv.a"
+        AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+          [iconv_t cd = iconv_open("","");
+           iconv(cd,NULL,NULL,NULL,NULL);
+           iconv_close(cd);],
+          INCICONV="-I../libiconv/include"
+          LIBICONV='${top_builddir}'/../libiconv/lib/$_libs/libiconv.a
+          LTLIBICONV='${top_builddir}'/../libiconv/lib/libiconv.la
+          am_cv_lib_iconv=yes
+          am_cv_func_iconv=yes)
+        CPPFLAGS="$am_save_CPPFLAGS"
+        LIBS="$am_save_LIBS"
+        if test "$am_cv_func_iconv" = "yes"; then
+          break
+        fi
+      done
+    fi
+
     if test "$am_cv_func_iconv" != yes; then
+      am_save_CPPFLAGS="$CPPFLAGS"
       am_save_LIBS="$LIBS"
+      CPPFLAGS="$LIBS $INCICONV"
       LIBS="$LIBS $LIBICONV"
       AC_TRY_LINK([#include <stdlib.h>
 #include <iconv.h>],
@@ -54,6 +82,7 @@ AC_DEFUN([AM_ICONV_LINK],
          iconv_close(cd);],
         am_cv_lib_iconv=yes
         am_cv_func_iconv=yes)
+      CPPFLAGS="$am_save_CPPFLAGS"
       LIBS="$am_save_LIBS"
     fi
   ])
@@ -61,12 +90,10 @@ AC_DEFUN([AM_ICONV_LINK],
     AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
   fi
   if test "$am_cv_lib_iconv" = yes; then
+    AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
     AC_MSG_CHECKING([how to link with libiconv])
     AC_MSG_RESULT([$LIBICONV])
   else
-    dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
-    dnl either.
-    CPPFLAGS="$am_save_CPPFLAGS"
     LIBICONV=
     LTLIBICONV=
   fi
--
1.9.3

From-SVN: r227118

8 years agoRemove the hack for AARCH64_EXTRA_TUNE_ALL.
Andrew Pinski [Mon, 24 Aug 2015 09:56:48 +0000 (09:56 +0000)]
Remove the hack for AARCH64_EXTRA_TUNE_ALL.

2015-08-24  Andrew Pinski  <apinski@cavium.com>

        * config/aarch64/aarch64-tuning-flags.def: Remove all index to
        AARCH64_EXTRA_TUNING_OPTION.
        * config/aarch64/aarch64-protos.h (aarch64_extra_tuning_flags_index): New enum.
        (aarch64_extra_tuning_flags): Base the shifted value on the index instead
        of the argument to AARCH64_EXTRA_TUNING_OPTION.
        * config/aarch64/aarch64.c: Remove the last argument to
        AARCH64_EXTRA_TUNING_OPTION.

From-SVN: r227117

8 years agoDaily bump.
GCC Administrator [Mon, 24 Aug 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227110

8 years ago* ChangeLog: fix previous entry.
François-Xavier Coudert [Sun, 23 Aug 2015 21:56:46 +0000 (21:56 +0000)]
* ChangeLog: fix previous entry.

From-SVN: r227107

8 years agore PR libfortran/54572 (Use libbacktrace library)
Francois-Xavier Coudert [Sun, 23 Aug 2015 21:50:30 +0000 (21:50 +0000)]
re PR libfortran/54572 (Use libbacktrace library)

PR libfortran/54572

* Makefile.def: Make libgfortran depend on libbacktrace.
* Makefile.in: Regenerate.

* config-lang.in: Add libbacktrace to target_libs.

* Makefile.am (libgfortran_la_LDFLAGS): Link in libbacktrace.
(AM_CPPFLAGS): Add libbacktrace directories to include paths.
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
* config.h.in: Regenerate.
* configure: Regenerate.
* configure.ac: Remove checks for strtok_r, wait, execve, pipe,
and dup2. Remove call to GCC_CHECK_UNWIND_GETIPINFO.
* libgfortran.h (full_exe_path, find_addr2line, backtrace): Remove
prototypes.
(show_backtrace): Add prototype.
* runtime/backtrace.c: Rework file entirely.
* runtime/compile_options.c (backtrace_handler): Rename backtrace
to show_backtrace.
(maybe_find_addr2line): Remove function.
(set_options): Remove call to maybe_find_addr2line.
* runtime/error.c (sys_abort): Rename backtrace to show_backtrace.
* runtime/main.c (store_exe_path): Empty function body.
(full_exe_path, gfstrtok_r, find_addr2line): Remove functions.
(cleanup): Don't free removed variables.
* runtime/minimal.c (full_exe_path): Remove function.
(set_args): Don't set exe_path.

* gfortran.dg/backtrace_1.f90: New test.

From-SVN: r227106

8 years agore PR libfortran/62296 (EXECUTE_COMMAND_LINE not F2008 conforming)
François-Xavier Coudert [Sun, 23 Aug 2015 21:24:49 +0000 (21:24 +0000)]
re PR libfortran/62296 (EXECUTE_COMMAND_LINE not F2008 conforming)

PR libfortran/62296

* intrinsics/execute_command_line.c (EXEC_INVALIDCOMMAND): New
error code.
(cmdmsg_values): New error message.
(set_cmdstat): Rework runtime error.
(execute_command_line): Handle invalid command line error status.

* gfortran.dg/execute_command_line_2.f90: New test.

From-SVN: r227105

8 years agonvptx.c (walk_args_for_param): Promote arg reg decls.
Nathan Sidwell [Sun, 23 Aug 2015 14:37:09 +0000 (14:37 +0000)]
nvptx.c (walk_args_for_param): Promote arg reg decls.

* config/nvptx/nvptx.c (walk_args_for_param): Promote arg reg
decls.
(nvptx_declare_function_name): Insert formatting tabs for
consistency.

From-SVN: r227104

8 years agoDon't create superfluous parm in expand_omp_taskreg
Tom de Vries [Sun, 23 Aug 2015 09:19:32 +0000 (09:19 +0000)]
Don't create superfluous parm in expand_omp_taskreg

2015-08-23  Tom de Vries  <tom@codesourcery.com>

* omp-low.c (expand_omp_taskreg): If in ssa, set rhs of parcopy stmt to
parm_decl, rather than generating a dummy default def in cfun.
* tree-cfg.c (replace_ssa_name): Assume no default defs.  Make sure
ssa_name from cfun and child_fn do not share a stmt as def stmt.
(move_stmt_op): Handle PARM_DECl.
(gather_ssa_name_hash_map_from): New function.
(move_sese_region_to_fn): Add default defs for function params, and add
them to vars_map.  Release copied ssa names.
* tree-cfg.h (gather_ssa_name_hash_map_from): Declare.

From-SVN: r227103

8 years agoRename vect_no_int_max to vect_no_int_min_max
Tom de Vries [Sun, 23 Aug 2015 08:35:41 +0000 (08:35 +0000)]
Rename vect_no_int_max to vect_no_int_min_max

2015-08-23  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/vect/trapv-vect-reduc-4.c: Use vect_no_int_min_max.
* gcc.dg/vect/costmodel/i386/costmodel-vect-reduc-1char.c: Rename
vect_no_int_max to vect_no_int_min_max.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-reduc-1char.c: Same.
* gcc.dg/vect/costmodel/x86_64/costmodel-vect-reduc-1char.c: Same.
* gcc.dg/vect/no-scevccp-noreassoc-slp-reduc-7.c: Same.
* gcc.dg/vect/slp-reduc-4.c: Same.
* gcc.dg/vect/slp-reduc-5.c: Same.
* gcc.dg/vect/vect-125.c: Same.
* gcc.dg/vect/vect-13.c: Same.
* gcc.dg/vect/vect-double-reduc-3.c: Same.
* gcc.dg/vect/vect-reduc-1.c: Same.
* gcc.dg/vect/vect-reduc-1char-big-array.c: Same.
* gcc.dg/vect/vect-reduc-1char.c:Same.
* gcc.dg/vect/vect-reduc-1short.c: Same.
* gcc.dg/vect/vect-reduc-2.c: Same.
* gcc.dg/vect/wrapv-vect-reduc-2char.c: Same.
* gcc.dg/vect/wrapv-vect-reduc-2short.c: Same.
* lib/target-supports.exp: Same.

* doc/sourcebuild.texi: Rename vect_no_int_max with
vect_no_int_min_max.  Update description.

From-SVN: r227102

8 years agoDaily bump.
GCC Administrator [Sun, 23 Aug 2015 00:16:20 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227101

8 years agore PR c++/63693 (ICE in resolve_typename_type)
Paolo Carlini [Sat, 22 Aug 2015 17:44:46 +0000 (17:44 +0000)]
re PR c++/63693 (ICE in resolve_typename_type)

/cp
2015-08-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/63693
* pt.c (resolve_typename_type): Use CLASSTYPE_PRIMARY_TEMPLATE_TYPE
only on class types.

/testsuite
2015-08-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/63693
* g++.dg/cpp0x/decltype63.C: New.

From-SVN: r227098

8 years agoWsizeof-pointer-memaccess1.c: Require alloca.
Nathan Sidwell [Sat, 22 Aug 2015 15:09:03 +0000 (15:09 +0000)]
Wsizeof-pointer-memaccess1.c: Require alloca.

* c-c++-common/Wsizeof-pointer-memaccess1.c: Require alloca.
* c-c++-common/Wsizeof-pointer-memaccess2.c: Likewise.
* c-c++-common/Wunused-var-8.c: Likewise.
* c-c++-common/gomp/pr61486-2.c: Likewise.
* c-c++-common/Wunused-var-6.c: Likewise.
* c-c++-common/goacc/reduction-1.c: Likewise.
* c-c++-common/goacc/reduction-2.c: Likewise.
* c-c++-common/goacc/reduction-3.c: Likewise.
* c-c++-common/goacc/reduction-4.c: Likewise.
* gcc.dg/builtins-64.c: Likewise.
* gcc.dg/pr59523.c: Likewise.
* gcc.dg/tree-ssa/20080530.c: Likewise.
* gcc.dg/tree-ssa/pr23848-2.c: Likewise.
* gcc.dg/tree-ssa/pr23848-4.c: Likewise.
* gcc.dg/tree-ssa/pr23848-1.c: Likewise.
* gcc.dg/tree-ssa/pr23848-3.c: Likewise.
* gcc.dg/tree-ssa/20030807-2.c: Likewise.
* gcc.dg/pr59011.c: Likewise.
* gcc.dg/uninit-9.c: Likewise.
* gcc.dg/pr61561.c: Likewise.
* gcc.dg/vla-4.c: Likewise.
* gcc.dg/20101010-1.c: Likewise.
* gcc.dg/pr49120.c: Likewise.
* gcc.dg/20030331-2.c: Likewise.
* gcc.dg/compat/struct-by-value-22_main.c: Likewise.
* gcc.dg/pr25682.c: Likewise.
* gcc.dg/guality/guality.c: Likewise.
* gcc.dg/pr27301.c: Likewise.
* gcc.dg/uninit-9-O0.c: Likewise.
* gcc.dg/fold-alloca-1.c: Likewise.
* gcc.dg/pr41470.c: Likewise.
* gcc.dg/pr51491-2.c: Likewise.
* gcc.dg/winline-7.c: Likewise.
* gcc.dg/vla-2.c: Likewise.
* gcc.dg/pr50764.c: Likewise.
* gcc.dg/c99-vla-1.c: Likewise.
* gcc.dg/pr33238.c: Likewise.
* gcc.dg/c99-const-expr-13.c: Likewise.
* gcc.dg/builtin-return-1.c: Likewise.
* gcc.dg/vla-3.c: Likewise.
* gcc.dg/20020415-1.c: Likewise.
* gcc.dg/Wsizeof-pointer-memaccess1.c: Likewise.
* gcc.dg/shrink-wrap-alloca.c: Likewise.
* gcc.dg/Wstrict-aliasing-bogus-vla-1.c: Likewise.
* gcc.dg/torture/calleesave-sse.c: Likewise.
* gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Likewise.
* gcc.dg/gomp/vla-2.c: Likewise.
* gcc.dg/gomp/vla-3.c: Likewise.
* gcc.dg/gomp/vla-4.c: Likewise.
* gcc.dg/gomp/pr30494.c: Likewise.
* gcc.dg/gomp/vla-5.c: Likewise.
* gcc.dg/pr51990-2.c: Likewise.
* gcc.dg/vla-22.c: Likewise.

From-SVN: r227097

8 years agoFix column location in c_lex_with_flags errors
Manuel López-Ibáñez [Sat, 22 Aug 2015 12:44:51 +0000 (12:44 +0000)]
Fix column location in c_lex_with_flags errors

gcc/testsuite/ChangeLog:

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

* gcc.dg/cpp/multiline-2.c: Add column numbers.
* gcc.dg/dollar.c: Likewise.
* gcc.dg/pragma-message.c: Likewise.
* g++.dg/cpp1y/digit-sep-neg.C: Likewise.
* c-c++-common/raw-string-14.c: Likewise.

gcc/c-family/ChangeLog:

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

* c-lex.c (c_lex_with_flags): Use explicit locations.

From-SVN: r227096

8 years agoRemove index from AARCH64_FUSION_PAIR
Andrew Pinski [Sat, 22 Aug 2015 06:49:32 +0000 (06:49 +0000)]
Remove index from AARCH64_FUSION_PAIR

    Instead of doing an explict index in aarch64-fusion-pairs.def, we
    should have an enum which does the index instead.  This allows
    you to add/remove them without worrying about the order being
    correct and having holes or worry about merge conficts.

    OK? Bootstrapped and tested on aarch64-linux-gnu with no regressions.

    ChangeLog:
    * aarch64-fusion-pairs.def: Remove all index to AARCH64_FUSION_PAIR.
    * config/aarch64/aarch64-protos.h (aarch64_fusion_pairs_index): New enum.
    (aarch64_fusion_pairs): Base the shifted value on the index instead
    Rewrite AARCH64_FUSE_ALL to be based on the end index.
    of the argument to AARCH64_FUSION_PAIR.
    * config/aarch64/aarch64.c: Remove the last argument to AARCH64_FUSION_PAIR.

From-SVN: r227094

8 years agoRefactor dominance.c: define dom_info as C++ class
Mikhail Maltsev [Sat, 22 Aug 2015 03:20:13 +0000 (03:20 +0000)]
Refactor dominance.c: define dom_info as C++ class

gcc/
* dominance.c (new_zero_array): Define.
(dom_info): Redefine as class with proper encapsulation.
(dom_info::m_n_basic_blocks, m_reverse, m_start_block, m_end_block):
Add new members.
(dom_info::dom_info, ~dom_info): Define.  Use new/delete for memory
allocations/deallocations.  Pass function as parameter (instead of
using cfun).
(dom_info::get_idom): Define accessor method.
(dom_info::calc_dfs_tree_nonrec, calc_dfs_tree, compress, eval,
link_roots, calc_idoms): Redefine as class members.  Do not use cfun.
(calculate_dominance_info): Adjust to use dom_info class.
(verify_dominators): Likewise.

From-SVN: r227093

8 years agoDaily bump.
GCC Administrator [Sat, 22 Aug 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227092

8 years agoAdjust g++.old-deja/g++.jason/overload.C
Patrick Palka [Fri, 21 Aug 2015 20:25:47 +0000 (20:25 +0000)]
Adjust g++.old-deja/g++.jason/overload.C

gcc/testsuite/ChangeLog:

* g++.old-deja/g++.jason/overload.C: Adjust to preserve original
property that instantiation here is a compile-time error.

From-SVN: r227088

8 years agofix -fdump-unnumbered-links
Alexandre Oliva [Fri, 21 Aug 2015 20:03:33 +0000 (20:03 +0000)]
fix -fdump-unnumbered-links

for  gcc/ChangeLog

* print-rtl.c (print_rtx): Check the correct range for
flag_dump_unnumbered_links to behave as documented.

From-SVN: r227086

8 years agofix sched compare regression
Alexandre Oliva [Fri, 21 Aug 2015 20:03:14 +0000 (20:03 +0000)]
fix sched compare regression

for  gcc/ChangeLog

PR rtl-optimization/64164
PR rtl-optimization/67227
* alias.c (memrefs_conflict_p): Handle VALUEs in PLUS better.
(nonoverlapping_memrefs_p): Test offsets and sizes when given
identical gimple_reg exprs.

From-SVN: r227085

8 years agonvptx.md (allocate_stack): Emit sorry during expansion.
Nathan Sidwell [Fri, 21 Aug 2015 19:34:34 +0000 (19:34 +0000)]
nvptx.md (allocate_stack): Emit sorry during expansion.

* config/nvptx/nvptx.md (allocate_stack): Emit sorry during
expansion.
* config/nvptx/nvptx.c (nvptx_declare_function_name): Look at
crtl->stack_alignment_needed to determine alignment.
(nvptx_get_drap_rtx): New.
(TARGET_GET_DRAP_RTX): Override.
* config/nvptx/nvptx.h (MAX_STACK_ALIGNMENT): Set.

From-SVN: r227084

8 years agore PR c++/67240 ([concepts] Implicit conversion constraints are not respected)
Jason Merrill [Fri, 21 Aug 2015 18:33:07 +0000 (14:33 -0400)]
re PR c++/67240 ([concepts] Implicit conversion constraints are not respected)

PR c++/67240
* constraint.cc (satisfy_implicit_conversion_constraint): Also
check for NULL_TREE.

From-SVN: r227081

8 years ago* config.build: Remove case for m68000-hp-hpux* | m68k-hp-hpux*.
Francois-Xavier Coudert [Fri, 21 Aug 2015 17:44:47 +0000 (17:44 +0000)]
* config.build: Remove case for m68000-hp-hpux* | m68k-hp-hpux*.

From-SVN: r227079

8 years agodecl.c (grokvardecl): Simplify the latter.
Paolo Carlini [Fri, 21 Aug 2015 17:39:48 +0000 (17:39 +0000)]
decl.c (grokvardecl): Simplify the latter.

2015-08-21  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (grokvardecl): Simplify the latter.

From-SVN: r227078

8 years agoconfigure.ac: Remove uwin* cases.
Francois-Xavier Coudert [Fri, 21 Aug 2015 17:38:01 +0000 (17:38 +0000)]
configure.ac: Remove uwin* cases.

* configure.ac: Remove uwin* cases.
* config.build: Remove cases for i370-*-opened*, i370-*-mvs*,
i[34567]86-*-sco3.2v5*, i[34567]86-sequent-ptx4*,
i[34567]86-sequent-sysv4*, i[34567]86-*-sysv4*,
i[34567]86-*-udk*, i[34567]86-*-uwin*, i386-*-vsta.
* config.host: Remove cases for i370-*-opened*, i370-*-mvs*,
i[34567]86-*-uwin*, powerpc-*-beos*.

From-SVN: r227077

8 years agogencodes.c (gencodes): Print the comma for the preceding enum value rather than the...
Richard Sandiford [Fri, 21 Aug 2015 17:23:10 +0000 (17:23 +0000)]
gencodes.c (gencodes): Print the comma for the preceding enum value rather than the current one.

gcc/
* gencodes.c (gencodes): Print the comma for the preceding
enum value rather than the current one.  Use aliased enum values
rather than #defines for compiled-out patterns.
(main): Update accordingly.  Replace LAST_INSN_CODE with
NUM_INSN_CODES.
* lra.c (insn_code_data): Update accordingly.
(finish_insn_code_data_once, get_static_insn_data): Likewise.
* recog.h (target_recog): Likewise.
(preprocess_insn_constraints): Change parameter to unsigned int.
* recog.c (preprocess_insn_constraints): Likewise.
(recog_init): Replace LAST_INSN_CODE with NUM_INSN_CODES.
* tree-vect-stmts.c (vectorizable_operation): Simplify.

From-SVN: r227076

8 years agoFix PR61657 (undefined behavior in loop-iv.c)
Markus Trippelsdorf [Fri, 21 Aug 2015 16:44:30 +0000 (16:44 +0000)]
Fix PR61657 (undefined behavior in loop-iv.c)

bootstrap-ubsan shows:
 loop-iv.c:2626:14: runtime error: signed integer overflow: 9223372036854775806 - -9223372036854775808 cannot be represented in type 'long int'

Fixed by moving the variables in question from signed to unsigned.

PR rtl-optimization/61657
* loop-iv.c (iv_number_of_iterations): Declare up and down as
unsigned. Remove superflous uint64_t cast.

From-SVN: r227075

8 years agodecl.c (grokvardecl): Complete check added for c++/67065.
Paolo Carlini [Fri, 21 Aug 2015 14:44:33 +0000 (14:44 +0000)]
decl.c (grokvardecl): Complete check added for c++/67065.

/cp
2015-08-21  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (grokvardecl): Complete check added for c++/67065.

/testsuite
2015-08-21  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/other/pr67065.C: Extend.

From-SVN: r227061

8 years agovalue-prof.c (interesting_stringop_to_profile_p): Removed FNDECL argument and get...
Felix Yang [Fri, 21 Aug 2015 14:34:52 +0000 (14:34 +0000)]
value-prof.c (interesting_stringop_to_profile_p): Removed FNDECL argument and get builtin function code directly from CALL.

* value-prof.c (interesting_stringop_to_profile_p): Removed FNDECL argument
and get builtin function code directly from CALL.
(gimple_stringop_fixed_value): Modified accordingly.
(gimple_stringops_transform, gimple_stringops_values_to_profile): Modified
accordingly and only accept BUILT_IN_NORMAL string operations.

Co-Authored-By: Jiji Jiang <jiangjiji@huawei.com>
From-SVN: r227060

8 years agonvptx cleanup
Nathan Sidwell [Fri, 21 Aug 2015 13:13:42 +0000 (13:13 +0000)]
nvptx cleanup

nvptx cleanup
* lib/target-supports.exp (check_effective_target_freestanding): nvptx
is freestanding.
(check_effective_target_global_constructor): New.
* lib/gcc.exp (gcc_target_compile): Set SIGNAL_SUPPRESS if needed.
* gcc.dg/debug/debug.exp: Skip  for nvptx.
* gcc.dg/debug/dwarf2/dwarf2.exp: Likewise.

* gcc.c-torture/execute/981019-1.c: Ptx assembler bug.
* gcc.c-torture/compile/limits-externdecl.c: Likewise.
* gcc.c-torture/compile/pr33855.c: Likewise.
* gcc.c-torture/compile/920723-1.c: Likewise.
* gcc.c-torture/compile/pr35468.c: Ptx assembler objects to
writing a const.
* gcc.c-torture/compile/mangle-1.c: Ptx assembler objects to . in
label.
* gcc.c-torture/compile/callind.c: Ptx assembler objects to label
'call'.

* gcc.c-torture/execute/ieee/mul-subnormal-single-1.c: Make main
prototype normal.
* gcc.c-torture/execute/switch-1.c: Likewise.

* gcc.c-torture/execute/pr34456.c: Require not freestanding
* gcc.c-torture/execute/printf-1.c: Likewise.
* gcc.c-torture/execute/printf-chk-1.c: Likewise.
* gcc.c-torture/execute/fprintf-1.c: Likewise.
* gcc.c-torture/execute/fprintf-chk-1.c: Likewise.
* gcc.c-torture/execute/vprintf-1.c: Likewise.
* gcc.c-torture/execute/vprintf-chk-1.c: Likewise.
* gcc.c-torture/execute/vfprintf-1.c: Likewise.
* gcc.c-torture/execute/vfprintf-chk-1.c: Likewise.
* gcc.c-torture/execute/builtins/fputs.x: Likewise.
* gcc.c-torture/execute/gofast.c: Likewise.
* gcc.c-torture/execute/complex-6.c: Likewise.

* gcc.c-torture/execute/builtins/memcpy-chk.x: Require nonlocal goto.
* gcc.c-torture/execute/builtins/memmove-chk.x: Likewise.
* gcc.c-torture/execute/builtins/mempcpy-chk.x: Likewise.
* gcc.c-torture/execute/builtins/memset-chk.x: Likewise.
* gcc.c-torture/execute/builtins/snprintf-chk.x: Likewise.
* gcc.c-torture/execute/builtins/sprintf-chk.x: Likewise.
* gcc.c-torture/execute/builtins/stpcpy-chk.x: Likewise.
* gcc.c-torture/execute/builtins/stpncpy-chk.x: Likewise.
* gcc.c-torture/execute/builtins/strcat-chk.x: Likewise.
* gcc.c-torture/execute/builtins/strcpy-chk.x: Likewise.
* gcc.c-torture/execute/builtins/strncat-chk.x: Likewise.
* gcc.c-torture/execute/builtins/strncpy-chk.x: Likewise.
* gcc.c-torture/execute/builtins/vsnprintf-chk.x: Likewise.
* gcc.c-torture/execute/builtins/vsprintf-chk.x: Likewise.
* gcc.c-torture/execute/builtins/pr23484-chk.x: Likewise.
* gcc.dg/setjmp-1.c: Likewise.
* gcc.dg/cleanup-5.c: Likewise.
* gcc.dg/cleanup-12.c: Likewise.
* gcc.dg/cleanup-13.c: Likewise.

* gcc.dg/constructor-1.c: Require global ctor.

* gcc.dg/fork-instrumentation.c: Require profiling.
* gcc.dg/20030107-1.c: Likewise.
* gcc.dg/20030702-1.c: Likewise.

* gcc.dg/cpp/lexstrng.c: Avoid IO unless debugging.
* gcc.dg/cpp/paste2.c: Likewise.
* gcc.dg/cpp/strify3.c: Likewise.
* gcc.dg/cpp/strify4.c: Likewise.
* gcc.dg/cpp/lexnum.c: Likewise.
* gcc.dg/cpp/digraphs.c: Likewise.
* gcc.dg/cpp/macro1.c: Likewise.

From-SVN: r227059

8 years agos390-builtins.def: Fix value range of vec_load_bndry.
Dominik Vogt [Fri, 21 Aug 2015 12:51:20 +0000 (12:51 +0000)]
s390-builtins.def: Fix value range of vec_load_bndry.

gcc/ChangeLog
2015-08-21  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* config/s390/s390-builtins.def: Fix value range of vec_load_bndry.

gcc/testsuite/ChangeLog
2015-08-21  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* gcc.target/s390/zvector/vec-load_bndry-1.c: New test.

From-SVN: r227058

8 years agogcc-dg.exp: Add extra options for db-final to the command line only once.
Dominik Vogt [Fri, 21 Aug 2015 12:48:08 +0000 (12:48 +0000)]
gcc-dg.exp: Add extra options for db-final to the command line only once.

2015-08-21  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* lib/gcc-dg.exp: Add extra options for db-final to the command line
only once.

From-SVN: r227057

8 years agofold-const.c (fold_binary_loc): Move sqrt(x)*sqrt(x) as x to match.pd.
Naveen H.S [Fri, 21 Aug 2015 10:46:09 +0000 (10:46 +0000)]
fold-const.c (fold_binary_loc): Move sqrt(x)*sqrt(x) as x to match.pd.

2015-08-21  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

* fold-const.c (fold_binary_loc) : Move sqrt(x)*sqrt(x) as x
to match.pd.
Move Optimize pow(x,y)*pow(z,y) as pow(x*z,y)to match.pd.
Move Optimize tan(x)*cos(x) as sin(x) to match.pd.
Move Optimize x*pow(x,c) as pow(x,c+1) to match.pd.
Move Optimize pow(x,c)*x as pow(x,c+1) to match.pd.
Move Optimize sin(x)/cos(x) as tan(x) to match.pd.
Move Optimize cos(x)/sin(x) as 1.0/tan(x) to match.pd.
Move Optimize sin(x)/tan(x) as cos(x) to match.pd.
Move Optimize tan(x)/sin(x) as 1.0/cos(x) to match.pd.
Move Optimize pow(x,c)/x as pow(x,c-1) to match.pd.
Move Optimize x/pow(y,z) into x*pow(y,-z) to match.pd.

* match.pd (SIN ) : New Operator.
(TAN) : New Operator.
(mult (SQRT@1 @0) @1) : New simplifier.
(mult (POW:s @0 @1) (POW:s @2 @1)) : New simplifier.
(mult:c (TAN:s @0) (COS:s @0)) : New simplifier.
(mult:c (TAN:s @0) (COS:s @0)) : New simplifier.
(rdiv (SIN:s @0) (COS:s @0)) : New simplifier.
(rdiv (COS:s @0) (SIN:s @0)) : New simplifier.
(rdiv (SIN:s @0) (TAN:s @0)) : New simplifier.
(rdiv (TAN:s @0) (SIN:s @0)) : New simplifier.
(rdiv (POW:s @0 REAL_CST@1) @0) : New simplifier.
(rdiv @0 (SQRT:s (rdiv:s @1 @2))) : New simplifier.
(rdiv @0 (POW:s @1 @2)) : New simplifier.

From-SVN: r227056

8 years agotree-ssa-loop-niter.c (simplify_using_initial_conditions): Break loop if EXPR is...
Bin Cheng [Fri, 21 Aug 2015 10:09:48 +0000 (10:09 +0000)]
tree-ssa-loop-niter.c (simplify_using_initial_conditions): Break loop if EXPR is simplified to const value.

* tree-ssa-loop-niter.c (simplify_using_initial_conditions): Break
loop if EXPR is simplified to const value.

From-SVN: r227055

8 years agosanitizer.def (BUILT_IN_UBSAN_HANDLE_NONNULL_ARG, [...]): Fix builtin types.
Yury Gribov [Fri, 21 Aug 2015 08:42:57 +0000 (08:42 +0000)]
sanitizer.def (BUILT_IN_UBSAN_HANDLE_NONNULL_ARG, [...]): Fix builtin types.

2015-08-21  Yury Gribov  <y.gribov@samsung.com>

* sanitizer.def (BUILT_IN_UBSAN_HANDLE_NONNULL_ARG,
BUILT_IN_UBSAN_HANDLE_NONNULL_ARG): Fix builtin types.

From-SVN: r227054

8 years agore PR middle-end/67285 (ICE with (rdiv (POW:s @0 REAL_CST@1) @0))
Richard Biener [Fri, 21 Aug 2015 08:06:20 +0000 (08:06 +0000)]
re PR middle-end/67285 (ICE with (rdiv (POW:s @0 REAL_CST@1) @0))

2015-08-21  Richard Biener  <rguenther@suse.de>

PR middle-end/67285
* gimple-fold.c (replace_stmt_with_simplification): Assert
seq is empty when replacing a call with itself but different
arguments.
* gimple-match-head.c (maybe_push_res_to_seq): When pushing
a call require that it is const.

From-SVN: r227053

8 years agoadd default for CONSTANT_ALIGNMENT
Trevor Saunders [Fri, 21 Aug 2015 01:15:33 +0000 (01:15 +0000)]
add default for CONSTANT_ALIGNMENT

gcc/ChangeLog:

2015-08-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* defaults.h (CONSTANT_ALIGNMENT): New macro definition.
* builtins.c (get_object_alignment_2): Adjust.
* varasm.c (align_variable): Likewise.
(get_variable_align): Likewise.
(build_constant_desc): Likewise.
(force_const_mem): Likewise.
* doc/tm.texi.in: Likewise.
* doc/tm.texi: Regenerate.

From-SVN: r227052

8 years agoalways define HAVE_peephole2
Trevor Saunders [Fri, 21 Aug 2015 01:15:15 +0000 (01:15 +0000)]
always define HAVE_peephole2

gcc/ChangeLog:

2015-08-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* genconfig.c (main): Always define HAVE_cc0.
* recog.c (rest_of_handle_peephole2): Adjust.

From-SVN: r227051

8 years agoremove another #if for HAVE_cc0
Trevor Saunders [Fri, 21 Aug 2015 01:14:59 +0000 (01:14 +0000)]
remove another #if for HAVE_cc0

gcc/ChangeLog:

2015-08-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* reorg.c (relax_delay_slots): Don't use #if to check value of
HAVE_cc0.

From-SVN: r227050

8 years agoalways define HAVE_conditional_execution
Trevor Saunders [Fri, 21 Aug 2015 01:14:46 +0000 (01:14 +0000)]
always define HAVE_conditional_execution

gcc/ChangeLog:

2015-08-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* genconfig.c (main): Always define HAVE_CONDITIONAL_EXECUTION.
* targhooks.c (default_have_conditional_execution): Adjust.

From-SVN: r227049

8 years agoDaily bump.
GCC Administrator [Fri, 21 Aug 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227048

8 years ago* name-lookup.c (hidden_name_p): Handle OVERLOAD.
Jason Merrill [Thu, 20 Aug 2015 20:55:15 +0000 (16:55 -0400)]
* name-lookup.c (hidden_name_p): Handle OVERLOAD.

From-SVN: r227044

8 years agolibstdc++/67294 Don't run timed mutex tests on Darwin
Jonathan Wakely [Thu, 20 Aug 2015 20:36:19 +0000 (21:36 +0100)]
libstdc++/67294 Don't run timed mutex tests on Darwin

PR libstdc++/67294
* testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Do not run
on Darwin.
* testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise.

From-SVN: r227043

8 years agoany (__any_caster): Define at namespace scope so the name is visible to name lookup.
Jonathan Wakely [Thu, 20 Aug 2015 20:19:58 +0000 (21:19 +0100)]
any (__any_caster): Define at namespace scope so the name is visible to name lookup.

* include/experimental/any (__any_caster): Define at namespace scope
so the name is visible to name lookup.
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.

From-SVN: r227042

8 years agortl.h (rtvec_all_equal_p): Declare.
Richard Sandiford [Thu, 20 Aug 2015 19:04:34 +0000 (19:04 +0000)]
rtl.h (rtvec_all_equal_p): Declare.

gcc/
* rtl.h (rtvec_all_equal_p): Declare.
(const_vec_duplicate_p, unwrap_const_vec_duplicate): New functions.
* rtl.c (rtvec_all_equal_p): New function.
* expmed.c (expand_mult): Use unwrap_const_vec_duplicate.
* config/aarch64/aarch64.c (aarch64_vect_float_const_representable_p)
(aarch64_simd_dup_constant): Use const_vec_duplicate_p.
* config/arm/arm.c (neon_vdup_constant): Likewise.
* config/s390/s390.c (s390_contiguous_bitmask_vector_p): Likewise.
* config/tilegx/constraints.md (W, Y): Likewise.
* config/tilepro/constraints.md (W, Y): Likewise.
* config/spu/spu.c (spu_legitimate_constant_p): Likewise.
(classify_immediate): Use unwrap_const_vec_duplicate.
* config/tilepro/predicates.md (reg_or_v4s8bit_operand): Likewise.
(reg_or_v2s8bit_operand): Likewise.
* config/tilegx/predicates.md (reg_or_v8s8bit_operand): Likewise.
(reg_or_v4s8bit_operand): Likewise.

From-SVN: r227041

8 years agolibitm: Don't redefine __always_inline in local_atomic.
Gleb Fotengauer-Malinovskiy [Thu, 20 Aug 2015 17:55:24 +0000 (17:55 +0000)]
libitm: Don't redefine __always_inline in local_atomic.

From-SVN: r227040

8 years agocompiler: Don't crash on invalid print call.
Ian Lance Taylor [Thu, 20 Aug 2015 17:43:55 +0000 (17:43 +0000)]
compiler: Don't crash on invalid print call.

    When the print builtins are called with no arguments, the compiler
    issues a warning and crashes when trying to produce the backend
    representation for the arguments.

    Fixes golang/go#11526.

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

From-SVN: r227039

8 years agolibgo/testsuite: another fix for killing the sleep process
Ian Lance Taylor [Thu, 20 Aug 2015 17:10:45 +0000 (17:10 +0000)]
libgo/testsuite: another fix for killing the sleep process

    Avoid ps padding issues.  Make sure we locate and kill just the sleep
    process.

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

From-SVN: r227037

8 years agoaltivec.h (vec_pmsum_be): New #define.
Bill Schmidt [Thu, 20 Aug 2015 17:01:32 +0000 (17:01 +0000)]
altivec.h (vec_pmsum_be): New #define.

[gcc]

2015-08-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/altivec.h (vec_pmsum_be): New #define.
(vec_shasigma_be): New #define.
* config/rs6000/rs6000-builtin.def (VPMSUMB): New BU_P8V_AV2_2.
(VPMSUMH): Likewise.
(VPMSUMW): Likewise.
(VPMSUMD): Likewise.
(VPMSUM): New BU_P8V_OVERLOAD_2.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): New
entries for VEC_MADD and VEC_VPMSUM.

[gcc/testsuite]

2015-08-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/altivec-35.c (foo): Add tests for vec_madd.
* gcc.target/powerpc/p8vector-builtin-8.c (foo): Add tests for
vec_vpmsum_be and vec_shasigma_be.

From-SVN: r227036

8 years agoavr.c (avr_insert_attributes): In diagnostic essage: Multiply argument avr_n_flash...
Georg-Johann Lay [Thu, 20 Aug 2015 14:22:35 +0000 (14:22 +0000)]
avr.c (avr_insert_attributes): In diagnostic essage: Multiply argument avr_n_flash by 64 to match unit of "KiB".

* config/avr/avr.c (avr_insert_attributes): In diagnostic essage:
Multiply argument avr_n_flash by 64 to match unit of "KiB".
(avr_pgm_check_var_decl): Same.

From-SVN: r227035

8 years ago[ARM] Hide existing float16 intrinsics unless we have a scalar __fp16 type
Alan Lawrence [Thu, 20 Aug 2015 12:38:20 +0000 (12:38 +0000)]
[ARM] Hide existing float16 intrinsics unless we have a scalar __fp16 type

gcc/:

* config/arm/arm-builtins.c (arm_init_simd_builtin_types): Move
initialization of HFmode scalar type (float16_t) to...
(arm_init_fp16_builtins): ... Here. Combine with __fp16 initialization
code.

(arm_init_builtins): Call arm_init_fp16_builtins earlier and always.

* config/arm/arm_neon.h (vcvt_f16_f32, vcvt_f32_f16): Condition on
having an -mfp16-format.

gcc/testsuite/:

* lib/target-supports.exp
(check_effective_target_arm_neon_fp16_ok_nocache): Add flag variants
with -mfp16-format=ieee.

From-SVN: r227033

8 years agopredicates.md (vector_all_ones_operand): Use CONSTM1_RTX to simplify definition.
Richard Sandiford [Thu, 20 Aug 2015 11:36:00 +0000 (11:36 +0000)]
predicates.md (vector_all_ones_operand): Use CONSTM1_RTX to simplify definition.

gcc/
* config/i386/predicates.md (vector_all_ones_operand): Use
CONSTM1_RTX to simplify definition.

From-SVN: r227032

8 years agotoplev.c (compile_file): Remove loop calling late_global_decl on all symbols.
Richard Biener [Thu, 20 Aug 2015 11:02:30 +0000 (11:02 +0000)]
toplev.c (compile_file): Remove loop calling late_global_decl on all symbols.

2015-08-20  Richard Biener  <rguenther@suse.de>

* toplev.c (compile_file): Remove loop calling late_global_decl
on all symbols.
* varpool.c (varpool_node::assemble_decl): Call late_global_decl
on decls we assembled.

From-SVN: r227031

8 years agoMakefile.am: Ensure gdb.py is installed for libstdc++ not libstdc++fs.
Jonathan Wakely [Thu, 20 Aug 2015 10:50:02 +0000 (11:50 +0100)]
Makefile.am: Ensure gdb.py is installed for libstdc++ not libstdc++fs.

* python/Makefile.am: Ensure gdb.py is installed for libstdc++ not
libstdc++fs.
* python/Makefile.in: Regenerate.

# Auto-generated commit message above this line, original below.
* python/Makefile.am: Ensure gdb.py is installed for libstdc++ not
libstdc++fs.
* python/Makefile.in: Regenerate.

From-SVN: r227030

8 years ago[AArch64] Break -mcpu tie between the compiler and assembler
James Greenhalgh [Thu, 20 Aug 2015 10:18:54 +0000 (10:18 +0000)]
[AArch64] Break -mcpu tie between the compiler and assembler

gcc/

* common/config/aarch64/aarch64-common.c
(AARCH64_CPU_NAME_LENGTH): Delete.
(aarch64_option_extension): New.
(all_extensions): Likewise.
(processor_name_to_arch): Likewise.
(arch_to_arch_name): Likewise.
(all_cores): New.
(all_architectures): Likewise.
(aarch64_get_extension_string_for_isa_flags): Likewise.
(aarch64_rewrite_selected_cpu): Change to rewrite CPU names to
architecture names.
* config/aarch64/aarch64-protos.h
(aarch64_get_extension_string_for_isa_flags): New.
* config/aarch64/aarch64.c (aarch64_print_extension): Delete.
(aarch64_option_print): Get the string to print from
aarch64_get_extension_string_for_isa_flags.
(aarch64_declare_function_name): Likewise.
* config/aarch64/aarch64.h (BIG_LITTLE_SPEC): Rename to...
(MCPU_TO_MARCH_SPEC): This.
(ASM_CPU_SPEC): Use it.
(BIG_LITTLE_SPEC_FUNCTIONS): Rename to...
(MCPU_TO_MARCH_SPEC_FUNCTIONS): ...This.
(EXTRA_SPEC_FUNCTIONS): Use it.

From-SVN: r227028

8 years agore PR c++/67065 ([DR 1886] Missing diagnostics for ill-formed program with main varia...
Paolo Carlini [Thu, 20 Aug 2015 10:18:03 +0000 (10:18 +0000)]
re PR c++/67065 ([DR 1886] Missing diagnostics for ill-formed program with main variable instead of function)

/cp
2015-08-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/67065
* decl.c (grokvardecl): Reject 'main' as global variable.

/testsuite
2015-08-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/67065
* g++.dg/other/pr67065.C: New.

From-SVN: r227027

8 years agomips.c (mips_expand_block_move): Enable inline memcpy expansion when !ISA_HAS_LWL_LWR.
Simon Dardis [Thu, 20 Aug 2015 09:45:33 +0000 (10:45 +0100)]
mips.c (mips_expand_block_move): Enable inline memcpy expansion when !ISA_HAS_LWL_LWR.

gcc/

   * config/mips/mips.c (mips_expand_block_move): Enable inline memcpy
expansion when !ISA_HAS_LWL_LWR.
(mips_block_move_straight): Update the size of elements copied to
account for alignment when !ISA_HAS_LWL_LWR.
* config/mips/mips.h (MIPS_MIN_MOVE_MEM_ALIGN): New macro.

gcc/testsuite/

* inline-memcpy-1.c: Test for inline expansion of memcpy.
* inline-memcpy-2.c: Ditto.
* inline-memcpy-3.c: Ditto.
* inline-memcpy-4.c: Ditto.
* inline-memcpy-5.c: Ditto.

From-SVN: r227026

8 years ago* MAINTAINERS: fix date.
Simon Dardis [Thu, 20 Aug 2015 09:36:33 +0000 (10:36 +0100)]
* MAINTAINERS: fix date.

From-SVN: r227025

8 years agoMAINTAINERS: Add myself.
Simon Dardis [Thu, 20 Aug 2015 09:12:06 +0000 (10:12 +0100)]
MAINTAINERS: Add myself.

* MAINTAINERS: Add myself.

From-SVN: r227024

8 years agore PR c++/66957 (incorrect "is protected within this context" error)
Jason Merrill [Thu, 20 Aug 2015 01:45:49 +0000 (21:45 -0400)]
re PR c++/66957 (incorrect "is protected within this context" error)

PR c++/66957
* search.c (protected_accessible_p): Remove redundant access_in_type.
Add otype parm instead of walking binfo.
(friend_accessible_p): Check SCOPE itself.  Handle class
templates.  Pass through otype.
(dfs_accessible_post): Handle all accessibility cases.
(dfs_accessible_pre): New.
(accessible_p): Use it.  Don't check protected access here.  Pass
decl and otype to dfs_walk.
(member_declared_in_type, dfs_access_in_type_pre): New.
(access_in_type): Use dfs_access_in_type_pre.
* friend.c (add_friend): Fix multiple friends with the same name.

From-SVN: r227023

8 years ago* lambda.c (current_nonlambda_scope): New.
Jason Merrill [Thu, 20 Aug 2015 01:45:44 +0000 (21:45 -0400)]
* lambda.c (current_nonlambda_scope): New.

From-SVN: r227022

8 years agoDaily bump.
GCC Administrator [Thu, 20 Aug 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227021

8 years ago[Patch][expand] Check gimple statement to improve LSHIFT_EXP expand
Jiong Wang [Wed, 19 Aug 2015 22:55:28 +0000 (22:55 +0000)]
[Patch][expand] Check gimple statement to improve LSHIFT_EXP expand

This patch improves LSHIFT_EXP expand if the shift operand comes from sign
extension and the shift result across word_mode_size boundary. See code
comments for details.

2015-08-19  Jiong.Wang  <jiong.wang@arm.com>

gcc/
  * expr.c (expand_expr_real_2): Check gimple statement during
  LSHIFT_EXPR expand.

gcc/testsuite
  * gcc.dg/wide_shift_64_1.c: New testcase.
  * gcc.dg/wide_shift_128_1.c: Likewise.
  * gcc.target/aarch64/ashlti3_1.c: Likewise.

From-SVN: r227018

8 years agocommon.opt (fstack-protector): Initialize to -1.
Magnus Granberg [Wed, 19 Aug 2015 22:07:06 +0000 (22:07 +0000)]
common.opt (fstack-protector): Initialize to -1.

       * common.opt (fstack-protector): Initialize to -1.
        (fstack-protector-all): Likewise.
        (fstack-protector-strong): Likewise.
        (fstack-protector-explicit): Likewise.
        * configure.ac: Add --enable-default-ssp.
        * defaults.h (DEFAULT_FLAG_SSP): New.  Default SSP to strong.
        * opts.c (finish_options): Update opts->x_flag_stack_protect if it is
        -1.
        * doc/install.texi: Document --enable-default-ssp.
        * config.in: Regenerated.
        * configure: Likewise.

        * lib/target-supports.exp
        (check_effective_target_fstack_protector_enabled): New test.
        * gcc.target/i386/ssp-default.c: New test.

From-SVN: r227017

8 years ago[PR64164] fix regressions reported on m68k and armeb
Alexandre Oliva [Wed, 19 Aug 2015 17:00:32 +0000 (17:00 +0000)]
[PR64164] fix regressions reported on m68k and armeb

Defer stack slot address assignment for all parms that can't live in
pseudos, and accept pseudos assignments in assign_param_setup_block.

for  gcc/ChangeLog

PR rtl-optimization/64164
* cfgexpand.c (parm_maybe_byref_p): Renamed to...
(parm_in_stack_slot_p): ... this.  Disregard mode, what
matters is whether the parm will live in a pseudo or a stack
slot.
(expand_one_ssa_partition): Deal with params without a default
def.  Disregard mode.
* cfgexpand.h: Renamed function declaration.
* tree-ssa-coalesce.c: Adjust.
* function.c (split_complex_args): Allocate stack slot for
unassigned parms before splitting.
(parm_in_unassigned_mem_p): New.  Use it instead of
parm_maybe_byref_p throughout this file.
(assign_parm_setup_block): Use it.  Accept pseudos in the
expand-assigned rtl.
(assign_parm_setup_reg): Drop BLKmode requirement.
(assign_parm_setup_stack): Allocate and fill in the address of
unassigned MEM parms.

From-SVN: r227015

8 years agogenmodes.c (emit_mode_unit_size_inline): New function.
David Sherwood [Wed, 19 Aug 2015 15:23:11 +0000 (15:23 +0000)]
genmodes.c (emit_mode_unit_size_inline): New function.

2015-08-19  David Sherwood  <david.sherwood@arm.com>

    gcc/
* genmodes.c (emit_mode_unit_size_inline): New function.
(emit_mode_unit_precision_inline): New function.
(emit_insn_modes_h): Emit new #define.  Emit new functions.
(emit_mode_unit_size): New function.
(emit_mode_unit_precision): New function.
(emit_mode_adjustments): Add mode_unit_size adjustments.
(emit_insn_modes_c): Emit new arrays.
* machmode.h (GET_MODE_UNIT_SIZE, GET_MODE_UNIT_PRECISION): Update to
use new inline methods.

From-SVN: r227013

8 years ago[AArch64] Use popcount_hwi instead of homebrew version
Kyrylo Tkachov [Wed, 19 Aug 2015 15:09:38 +0000 (15:09 +0000)]
[AArch64] Use popcount_hwi instead of homebrew version

* config/aarch64/aarch64.c (bit_count): Delete prototype
and definition.
(aarch64_print_operand): Use popcount_hwi instead of the above.

From-SVN: r227012

8 years ago[AArch64][obvious] Remove obsolete comment in aarch64-option-extensions.def
Kyrylo Tkachov [Wed, 19 Aug 2015 15:01:21 +0000 (15:01 +0000)]
[AArch64][obvious] Remove obsolete comment in aarch64-option-extensions.def

* config/aarch64/aarch64-option-extensions.def: Delete obsolete
comment.

From-SVN: r227011

8 years agoForward-port test generic_31.f90 from the 5 branch.
Mikael Morin [Wed, 19 Aug 2015 14:47:23 +0000 (14:47 +0000)]
Forward-port test generic_31.f90 from the 5 branch.

gcc/testsuite/
PR fortran/66929
* gfortran.dg/generic_31.f90: New.

From-SVN: r227010

8 years agore PR middle-end/67133 (ICE at -Os and above on x86_64-linux-gnu in gimple_op, at...
Marek Polacek [Wed, 19 Aug 2015 14:22:26 +0000 (14:22 +0000)]
re PR middle-end/67133 (ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274)

PR middle-end/67133
* gimple-ssa-isolate-paths.c
(insert_trap_and_remove_trailing_statements): Rename to ...
(insert_trap): ... this.  Don't remove trailing statements; split
block instead.
(find_explicit_erroneous_behaviour): Don't remove all outgoing edges.

* g++.dg/torture/pr67133.C: New test.

From-SVN: r227009

8 years agoAvoid signed left shift undefined behaviour in sext_hwi
Mikael Morin [Wed, 19 Aug 2015 13:42:36 +0000 (13:42 +0000)]
Avoid signed left shift undefined behaviour in sext_hwi

gcc/
PR other/67042
* hwint.h (sext_hwi): Switch to unsigned for the left shift, and
conditionalize the whole on __GNUC__.  Add fallback code
depending neither on undefined nor implementation-defined behaviour.

From-SVN: r227008